summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <cgf@redhat.com>2000-02-17 19:39:46 +0000
committerChristopher Faylor <cgf@redhat.com>2000-02-17 19:39:46 +0000
commit6d491d8ad9122891d1a48447e8c49702eb678921 (patch)
tree45619a131b9f211ceca9fce7a866328344bf00ec
parentbd592806f45307757c24ec3f75bdefe13abfd51f (diff)
downloadgdb-cvs/SNAPSHOT.tar.gz
import newlib-2000-02-17 snapshotcvs/SNAPSHOT
-rw-r--r--newlib/ChangeLog6797
-rw-r--r--newlib/Makefile.am191
-rw-r--r--newlib/Makefile.in625
-rw-r--r--newlib/NEWS79
-rw-r--r--newlib/README231
-rw-r--r--newlib/acinclude.m4144
-rw-r--r--newlib/aclocal.m4282
-rwxr-xr-xnewlib/configure1865
-rw-r--r--newlib/configure.host457
-rw-r--r--newlib/configure.in64
-rw-r--r--newlib/doc/Makefile.am21
-rw-r--r--newlib/doc/Makefile.in246
-rw-r--r--newlib/doc/aclocal.m4282
-rw-r--r--newlib/doc/ansidecl.h116
-rwxr-xr-xnewlib/doc/configure1714
-rw-r--r--newlib/doc/configure.in41
-rw-r--r--newlib/doc/doc.str178
-rw-r--r--newlib/doc/makedoc.c1469
-rw-r--r--newlib/libc/Makefile.am119
-rw-r--r--newlib/libc/Makefile.in632
-rw-r--r--newlib/libc/aclocal.m4282
-rwxr-xr-xnewlib/libc/configure1887
-rw-r--r--newlib/libc/configure.in70
-rw-r--r--newlib/libc/ctype/Makefile.am57
-rw-r--r--newlib/libc/ctype/Makefile.in332
-rw-r--r--newlib/libc/ctype/_tolower.c9
-rw-r--r--newlib/libc/ctype/_toupper.c9
-rw-r--r--newlib/libc/ctype/ctype.tex68
-rw-r--r--newlib/libc/ctype/ctype_.c62
-rw-r--r--newlib/libc/ctype/isalnum.c46
-rw-r--r--newlib/libc/ctype/isalpha.c44
-rw-r--r--newlib/libc/ctype/isascii.c43
-rw-r--r--newlib/libc/ctype/iscntrl.c48
-rw-r--r--newlib/libc/ctype/isdigit.c43
-rw-r--r--newlib/libc/ctype/islower.c43
-rw-r--r--newlib/libc/ctype/isprint.c60
-rw-r--r--newlib/libc/ctype/ispunct.c46
-rw-r--r--newlib/libc/ctype/isspace.c44
-rw-r--r--newlib/libc/ctype/isupper.c43
-rw-r--r--newlib/libc/ctype/isxdigit.c45
-rw-r--r--newlib/libc/ctype/toascii.c41
-rw-r--r--newlib/libc/ctype/tolower.c55
-rw-r--r--newlib/libc/ctype/toupper.c54
-rw-r--r--newlib/libc/errno/Makefile.am26
-rw-r--r--newlib/libc/errno/Makefile.in297
-rw-r--r--newlib/libc/errno/errno.c16
-rw-r--r--newlib/libc/include/_ansi.h71
-rw-r--r--newlib/libc/include/_syslist.h29
-rw-r--r--newlib/libc/include/ar.h69
-rw-r--r--newlib/libc/include/assert.h29
-rw-r--r--newlib/libc/include/ctype.h73
-rw-r--r--newlib/libc/include/dirent.h7
-rw-r--r--newlib/libc/include/errno.h1
-rw-r--r--newlib/libc/include/fastmath.h13
-rw-r--r--newlib/libc/include/fcntl.h1
-rw-r--r--newlib/libc/include/grp.h85
-rw-r--r--newlib/libc/include/ieeefp.h241
-rw-r--r--newlib/libc/include/locale.h60
-rw-r--r--newlib/libc/include/machine/fastmath.h100
-rw-r--r--newlib/libc/include/machine/ieeefp.h157
-rw-r--r--newlib/libc/include/machine/setjmp-dj.h44
-rw-r--r--newlib/libc/include/machine/setjmp.h168
-rw-r--r--newlib/libc/include/machine/time.h10
-rw-r--r--newlib/libc/include/machine/types.h9
-rw-r--r--newlib/libc/include/malloc.h97
-rw-r--r--newlib/libc/include/math.h273
-rw-r--r--newlib/libc/include/paths.h7
-rw-r--r--newlib/libc/include/process.h60
-rw-r--r--newlib/libc/include/pwd.h76
-rw-r--r--newlib/libc/include/reent.h87
-rw-r--r--newlib/libc/include/regdef.h7
-rw-r--r--newlib/libc/include/setjmp.h22
-rw-r--r--newlib/libc/include/signal.h37
-rw-r--r--newlib/libc/include/stdio.h313
-rw-r--r--newlib/libc/include/stdlib.h142
-rw-r--r--newlib/libc/include/string.h92
-rw-r--r--newlib/libc/include/sys/_types.h15
-rw-r--r--newlib/libc/include/sys/config.h115
-rw-r--r--newlib/libc/include/sys/dirent.h15
-rw-r--r--newlib/libc/include/sys/errno.h154
-rw-r--r--newlib/libc/include/sys/fcntl.h178
-rw-r--r--newlib/libc/include/sys/file.h2
-rw-r--r--newlib/libc/include/sys/param.h18
-rw-r--r--newlib/libc/include/sys/reent.h238
-rw-r--r--newlib/libc/include/sys/resource.h15
-rw-r--r--newlib/libc/include/sys/signal.h182
-rw-r--r--newlib/libc/include/sys/stat-dj.h59
-rw-r--r--newlib/libc/include/sys/stat.h149
-rw-r--r--newlib/libc/include/sys/time.h51
-rw-r--r--newlib/libc/include/sys/timeb.h39
-rw-r--r--newlib/libc/include/sys/times.h27
-rw-r--r--newlib/libc/include/sys/types.h174
-rw-r--r--newlib/libc/include/sys/unistd.h175
-rw-r--r--newlib/libc/include/sys/utime.h22
-rw-r--r--newlib/libc/include/sys/wait.h40
-rw-r--r--newlib/libc/include/termios.h7
-rw-r--r--newlib/libc/include/time.h90
-rw-r--r--newlib/libc/include/unctrl.h46
-rw-r--r--newlib/libc/include/unistd.h6
-rw-r--r--newlib/libc/include/utime.h10
-rw-r--r--newlib/libc/include/utmp.h8
-rw-r--r--newlib/libc/libc.texinfo427
-rw-r--r--newlib/libc/locale/Makefile.am26
-rw-r--r--newlib/libc/locale/Makefile.in297
-rw-r--r--newlib/libc/locale/locale.c198
-rw-r--r--newlib/libc/locale/locale.tex123
-rw-r--r--newlib/libc/machine/Makefile.am23
-rw-r--r--newlib/libc/machine/Makefile.in401
-rw-r--r--newlib/libc/machine/a29k/Makefile.am12
-rw-r--r--newlib/libc/machine/a29k/Makefile.in294
-rw-r--r--newlib/libc/machine/a29k/aclocal.m4282
-rwxr-xr-xnewlib/libc/machine/a29k/configure1687
-rw-r--r--newlib/libc/machine/a29k/configure.in12
-rw-r--r--newlib/libc/machine/aclocal.m4282
-rw-r--r--newlib/libc/machine/arm/Makefile.am12
-rw-r--r--newlib/libc/machine/arm/Makefile.in294
-rw-r--r--newlib/libc/machine/arm/aclocal.m4282
-rwxr-xr-xnewlib/libc/machine/arm/configure1687
-rw-r--r--newlib/libc/machine/arm/configure.in12
-rwxr-xr-xnewlib/libc/machine/configure1802
-rw-r--r--newlib/libc/machine/configure.in18
-rw-r--r--newlib/libc/machine/d10v/Makefile.am12
-rw-r--r--newlib/libc/machine/d10v/Makefile.in297
-rw-r--r--newlib/libc/machine/d10v/aclocal.m4282
-rwxr-xr-xnewlib/libc/machine/d10v/configure1687
-rw-r--r--newlib/libc/machine/d10v/configure.in12
-rw-r--r--newlib/libc/machine/d10v/setjmp.S55
-rw-r--r--newlib/libc/machine/d30v/Makefile.am12
-rw-r--r--newlib/libc/machine/d30v/Makefile.in297
-rw-r--r--newlib/libc/machine/d30v/aclocal.m4282
-rwxr-xr-xnewlib/libc/machine/d30v/configure1687
-rw-r--r--newlib/libc/machine/d30v/configure.in12
-rw-r--r--newlib/libc/machine/d30v/setjmp.S106
-rw-r--r--newlib/libc/machine/fr30/Makefile.am12
-rw-r--r--newlib/libc/machine/fr30/Makefile.in297
-rw-r--r--newlib/libc/machine/fr30/aclocal.m4282
-rwxr-xr-xnewlib/libc/machine/fr30/configure1687
-rw-r--r--newlib/libc/machine/fr30/configure.in12
-rw-r--r--newlib/libc/machine/fr30/setjmp.S64
-rw-r--r--newlib/libc/machine/h8300/Makefile.am13
-rw-r--r--newlib/libc/machine/h8300/Makefile.in299
-rw-r--r--newlib/libc/machine/h8300/aclocal.m4282
-rwxr-xr-xnewlib/libc/machine/h8300/configure1687
-rw-r--r--newlib/libc/machine/h8300/configure.in12
-rw-r--r--newlib/libc/machine/h8300/defines.h86
-rw-r--r--newlib/libc/machine/h8300/memcpy.S48
-rw-r--r--newlib/libc/machine/h8300/memset.S51
-rw-r--r--newlib/libc/machine/h8300/reg_memcpy.S33
-rw-r--r--newlib/libc/machine/h8300/reg_memset.S32
-rw-r--r--newlib/libc/machine/h8300/setjmp.S72
-rw-r--r--newlib/libc/machine/h8300/strcmp.S45
-rw-r--r--newlib/libc/machine/h8500/Makefile.am12
-rw-r--r--newlib/libc/machine/h8500/Makefile.in298
-rw-r--r--newlib/libc/machine/h8500/aclocal.m4282
-rw-r--r--newlib/libc/machine/h8500/cmpsi.c126
-rwxr-xr-xnewlib/libc/machine/h8500/configure1687
-rw-r--r--newlib/libc/machine/h8500/configure.in12
-rw-r--r--newlib/libc/machine/h8500/divhi3.S54
-rw-r--r--newlib/libc/machine/h8500/divsi3.c134
-rw-r--r--newlib/libc/machine/h8500/mulhi3.c21
-rw-r--r--newlib/libc/machine/h8500/mulsi3.c72
-rw-r--r--newlib/libc/machine/h8500/negsi2.c7
-rw-r--r--newlib/libc/machine/h8500/psi.S136
-rw-r--r--newlib/libc/machine/h8500/setjmp.S27
-rw-r--r--newlib/libc/machine/h8500/shifts.c45
-rw-r--r--newlib/libc/machine/hppa/DEFS.h160
-rw-r--r--newlib/libc/machine/hppa/Makefile.am14
-rw-r--r--newlib/libc/machine/hppa/Makefile.in300
-rw-r--r--newlib/libc/machine/hppa/aclocal.m4282
-rwxr-xr-xnewlib/libc/machine/hppa/configure1687
-rw-r--r--newlib/libc/machine/hppa/configure.in12
-rw-r--r--newlib/libc/machine/hppa/memchr.S48
-rw-r--r--newlib/libc/machine/hppa/memcmp.S183
-rw-r--r--newlib/libc/machine/hppa/memcpy.S146
-rw-r--r--newlib/libc/machine/hppa/memset.S85
-rw-r--r--newlib/libc/machine/hppa/pcc_prefix.s389
-rw-r--r--newlib/libc/machine/hppa/setjmp.S139
-rw-r--r--newlib/libc/machine/hppa/strcat.S178
-rw-r--r--newlib/libc/machine/hppa/strcmp.S282
-rw-r--r--newlib/libc/machine/hppa/strcpy.S285
-rw-r--r--newlib/libc/machine/hppa/strlen.S79
-rw-r--r--newlib/libc/machine/hppa/strncat.S238
-rw-r--r--newlib/libc/machine/hppa/strncmp.S189
-rw-r--r--newlib/libc/machine/hppa/strncpy.S256
-rw-r--r--newlib/libc/machine/i386/Makefile.am20
-rw-r--r--newlib/libc/machine/i386/Makefile.in327
-rw-r--r--newlib/libc/machine/i386/aclocal.m4282
-rwxr-xr-xnewlib/libc/machine/i386/configure1699
-rw-r--r--newlib/libc/machine/i386/configure.in14
-rw-r--r--newlib/libc/machine/i386/f_atan2.S32
-rw-r--r--newlib/libc/machine/i386/f_atan2f.S32
-rw-r--r--newlib/libc/machine/i386/f_exp.c45
-rw-r--r--newlib/libc/machine/i386/f_expf.c45
-rw-r--r--newlib/libc/machine/i386/f_frexp.S43
-rw-r--r--newlib/libc/machine/i386/f_frexpf.S43
-rw-r--r--newlib/libc/machine/i386/f_ldexp.S33
-rw-r--r--newlib/libc/machine/i386/f_ldexpf.S33
-rw-r--r--newlib/libc/machine/i386/f_log.S35
-rw-r--r--newlib/libc/machine/i386/f_log10.S35
-rw-r--r--newlib/libc/machine/i386/f_log10f.S35
-rw-r--r--newlib/libc/machine/i386/f_logf.S35
-rw-r--r--newlib/libc/machine/i386/f_math.h29
-rw-r--r--newlib/libc/machine/i386/f_pow.c44
-rw-r--r--newlib/libc/machine/i386/f_powf.c44
-rw-r--r--newlib/libc/machine/i386/f_tan.S32
-rw-r--r--newlib/libc/machine/i386/f_tanf.S32
-rw-r--r--newlib/libc/machine/i386/i386mach.h69
-rw-r--r--newlib/libc/machine/i386/memchr.S41
-rw-r--r--newlib/libc/machine/i386/memcmp.S75
-rw-r--r--newlib/libc/machine/i386/memcpy.S73
-rw-r--r--newlib/libc/machine/i386/memmove.S145
-rw-r--r--newlib/libc/machine/i386/memset.S59
-rw-r--r--newlib/libc/machine/i386/setjmp.S136
-rw-r--r--newlib/libc/machine/i386/strchr.S84
-rw-r--r--newlib/libc/machine/i386/strlen.S34
-rw-r--r--newlib/libc/machine/i960/Makefile.am12
-rw-r--r--newlib/libc/machine/i960/Makefile.in294
-rw-r--r--newlib/libc/machine/i960/aclocal.m4282
-rwxr-xr-xnewlib/libc/machine/i960/configure1687
-rw-r--r--newlib/libc/machine/i960/configure.in12
-rw-r--r--newlib/libc/machine/i960/memccpy.S143
-rw-r--r--newlib/libc/machine/i960/memccpy_ca.S245
-rw-r--r--newlib/libc/machine/i960/memchr.S130
-rw-r--r--newlib/libc/machine/i960/memchr_ca.S153
-rw-r--r--newlib/libc/machine/i960/memcmp.S128
-rw-r--r--newlib/libc/machine/i960/memcmp_ca.S205
-rw-r--r--newlib/libc/machine/i960/memcpy.S160
-rw-r--r--newlib/libc/machine/i960/memcpy_ca.S353
-rw-r--r--newlib/libc/machine/i960/memset.S121
-rw-r--r--newlib/libc/machine/i960/setjmp.S96
-rw-r--r--newlib/libc/machine/i960/strchr.S123
-rw-r--r--newlib/libc/machine/i960/strchr_ca.S152
-rw-r--r--newlib/libc/machine/i960/strcmp.S118
-rw-r--r--newlib/libc/machine/i960/strcmp_ca.S246
-rw-r--r--newlib/libc/machine/i960/strcpy.S177
-rw-r--r--newlib/libc/machine/i960/strcpy_ca.S284
-rw-r--r--newlib/libc/machine/i960/strcspn.S94
-rw-r--r--newlib/libc/machine/i960/strdup.S66
-rw-r--r--newlib/libc/machine/i960/strlen.S117
-rw-r--r--newlib/libc/machine/i960/strlen_ca.S146
-rw-r--r--newlib/libc/machine/i960/strncat.S155
-rw-r--r--newlib/libc/machine/i960/strncat_ca.S300
-rw-r--r--newlib/libc/machine/i960/strncmp.S129
-rw-r--r--newlib/libc/machine/i960/strncmp_ca.S253
-rw-r--r--newlib/libc/machine/i960/strncpy.S154
-rw-r--r--newlib/libc/machine/i960/strncpy_ca.S289
-rw-r--r--newlib/libc/machine/i960/strpbrk.S100
-rw-r--r--newlib/libc/machine/i960/strrchr.S137
-rw-r--r--newlib/libc/machine/m32r/Makefile.am12
-rw-r--r--newlib/libc/machine/m32r/Makefile.in297
-rw-r--r--newlib/libc/machine/m32r/aclocal.m4282
-rwxr-xr-xnewlib/libc/machine/m32r/configure1687
-rw-r--r--newlib/libc/machine/m32r/configure.in12
-rw-r--r--newlib/libc/machine/m32r/setjmp.S52
-rw-r--r--newlib/libc/machine/m68k/Makefile.am12
-rw-r--r--newlib/libc/machine/m68k/Makefile.in297
-rw-r--r--newlib/libc/machine/m68k/aclocal.m4282
-rwxr-xr-xnewlib/libc/machine/m68k/configure1687
-rw-r--r--newlib/libc/machine/m68k/configure.in12
-rw-r--r--newlib/libc/machine/m68k/setjmp.S88
-rw-r--r--newlib/libc/machine/m68k/strcpy.c36
-rw-r--r--newlib/libc/machine/m68k/strlen.c35
-rw-r--r--newlib/libc/machine/m88k/Makefile.am12
-rw-r--r--newlib/libc/machine/m88k/Makefile.in297
-rw-r--r--newlib/libc/machine/m88k/aclocal.m4282
-rwxr-xr-xnewlib/libc/machine/m88k/configure1687
-rw-r--r--newlib/libc/machine/m88k/configure.in12
-rw-r--r--newlib/libc/machine/m88k/setjmp.S48
-rw-r--r--newlib/libc/machine/mips/Makefile.am12
-rw-r--r--newlib/libc/machine/mips/Makefile.in297
-rw-r--r--newlib/libc/machine/mips/aclocal.m4282
-rwxr-xr-xnewlib/libc/machine/mips/configure1687
-rw-r--r--newlib/libc/machine/mips/configure.in12
-rw-r--r--newlib/libc/machine/mips/machine/regdef.h38
-rw-r--r--newlib/libc/machine/mips/setjmp.S65
-rw-r--r--newlib/libc/machine/mn10200/Makefile.am12
-rw-r--r--newlib/libc/machine/mn10200/Makefile.in297
-rw-r--r--newlib/libc/machine/mn10200/aclocal.m4282
-rwxr-xr-xnewlib/libc/machine/mn10200/configure1687
-rw-r--r--newlib/libc/machine/mn10200/configure.in12
-rw-r--r--newlib/libc/machine/mn10200/setjmp.S33
-rw-r--r--newlib/libc/machine/mn10300/Makefile.am13
-rw-r--r--newlib/libc/machine/mn10300/Makefile.in321
-rw-r--r--newlib/libc/machine/mn10300/aclocal.m4282
-rwxr-xr-xnewlib/libc/machine/mn10300/configure1687
-rw-r--r--newlib/libc/machine/mn10300/configure.in12
-rw-r--r--newlib/libc/machine/mn10300/memchr.S76
-rw-r--r--newlib/libc/machine/mn10300/memcmp.S53
-rw-r--r--newlib/libc/machine/mn10300/memcpy.S68
-rw-r--r--newlib/libc/machine/mn10300/memset.S63
-rw-r--r--newlib/libc/machine/mn10300/setjmp.S50
-rw-r--r--newlib/libc/machine/mn10300/strchr.S88
-rw-r--r--newlib/libc/machine/mn10300/strcmp.S54
-rw-r--r--newlib/libc/machine/mn10300/strcpy.S51
-rw-r--r--newlib/libc/machine/mn10300/strlen.S44
-rw-r--r--newlib/libc/machine/necv70/Makefile.am12
-rw-r--r--newlib/libc/machine/necv70/Makefile.in297
-rw-r--r--newlib/libc/machine/necv70/aclocal.m4282
-rwxr-xr-xnewlib/libc/machine/necv70/configure1687
-rw-r--r--newlib/libc/machine/necv70/configure.in12
-rw-r--r--newlib/libc/machine/necv70/fastmath.s251
-rw-r--r--newlib/libc/machine/necv70/machine/registers.h14
-rw-r--r--newlib/libc/machine/necv70/necv70.tex99
-rw-r--r--newlib/libc/machine/necv70/setjmp.s33
-rw-r--r--newlib/libc/machine/powerpc/Makefile.am12
-rw-r--r--newlib/libc/machine/powerpc/Makefile.in297
-rw-r--r--newlib/libc/machine/powerpc/aclocal.m4282
-rwxr-xr-xnewlib/libc/machine/powerpc/configure1687
-rw-r--r--newlib/libc/machine/powerpc/configure.in12
-rw-r--r--newlib/libc/machine/powerpc/setjmp.S118
-rw-r--r--newlib/libc/machine/sh/Makefile.am18
-rw-r--r--newlib/libc/machine/sh/Makefile.in303
-rw-r--r--newlib/libc/machine/sh/aclocal.m4282
-rw-r--r--newlib/libc/machine/sh/asm.h22
-rwxr-xr-xnewlib/libc/machine/sh/configure1687
-rw-r--r--newlib/libc/machine/sh/configure.in12
-rw-r--r--newlib/libc/machine/sh/memcpy.S221
-rw-r--r--newlib/libc/machine/sh/memset.S64
-rw-r--r--newlib/libc/machine/sh/setjmp.S57
-rw-r--r--newlib/libc/machine/sh/strcmp.S66
-rw-r--r--newlib/libc/machine/sh/strcpy.S41
-rw-r--r--newlib/libc/machine/sparc/Makefile.am12
-rw-r--r--newlib/libc/machine/sparc/Makefile.in297
-rw-r--r--newlib/libc/machine/sparc/aclocal.m4282
-rwxr-xr-xnewlib/libc/machine/sparc/configure1687
-rw-r--r--newlib/libc/machine/sparc/configure.in12
-rw-r--r--newlib/libc/machine/sparc/machine/sparclet.h32
-rw-r--r--newlib/libc/machine/sparc/scan.c15
-rw-r--r--newlib/libc/machine/sparc/setjmp.S148
-rw-r--r--newlib/libc/machine/sparc/shuffle.c15
-rw-r--r--newlib/libc/machine/tic80/Makefile.am12
-rw-r--r--newlib/libc/machine/tic80/Makefile.in297
-rw-r--r--newlib/libc/machine/tic80/aclocal.m4282
-rwxr-xr-xnewlib/libc/machine/tic80/configure1687
-rw-r--r--newlib/libc/machine/tic80/configure.in12
-rw-r--r--newlib/libc/machine/tic80/setjmp.S50
-rw-r--r--newlib/libc/machine/v850/Makefile.am12
-rw-r--r--newlib/libc/machine/v850/Makefile.in297
-rw-r--r--newlib/libc/machine/v850/aclocal.m4282
-rwxr-xr-xnewlib/libc/machine/v850/configure1687
-rw-r--r--newlib/libc/machine/v850/configure.in12
-rw-r--r--newlib/libc/machine/v850/setjmp.S42
-rw-r--r--newlib/libc/machine/w65/Makefile.am13
-rw-r--r--newlib/libc/machine/w65/Makefile.in299
-rw-r--r--newlib/libc/machine/w65/aclocal.m4282
-rw-r--r--newlib/libc/machine/w65/cmpsi.c28
-rwxr-xr-xnewlib/libc/machine/w65/configure1687
-rw-r--r--newlib/libc/machine/w65/configure.in12
-rw-r--r--newlib/libc/machine/w65/divsi3.c134
-rw-r--r--newlib/libc/machine/w65/lshrhi.s48
-rw-r--r--newlib/libc/machine/w65/mulsi3.c17
-rw-r--r--newlib/libc/machine/w65/sdivhi3.s35
-rw-r--r--newlib/libc/machine/w65/smulhi3.s20
-rw-r--r--newlib/libc/machine/w65/udivhi3.s30
-rw-r--r--newlib/libc/machine/w65/umodhi3.s7
-rw-r--r--newlib/libc/machine/z8k/Makefile.am12
-rw-r--r--newlib/libc/machine/z8k/Makefile.in297
-rw-r--r--newlib/libc/machine/z8k/aclocal.m4282
-rw-r--r--newlib/libc/machine/z8k/args.h13
-rwxr-xr-xnewlib/libc/machine/z8k/configure1687
-rw-r--r--newlib/libc/machine/z8k/configure.in12
-rw-r--r--newlib/libc/machine/z8k/setjmp.S49
-rw-r--r--newlib/libc/misc/Makefile.am26
-rw-r--r--newlib/libc/misc/Makefile.in297
-rw-r--r--newlib/libc/misc/dprintf.c266
-rw-r--r--newlib/libc/misc/ffs.c42
-rw-r--r--newlib/libc/misc/misc.tex10
-rw-r--r--newlib/libc/misc/unctrl.c146
-rw-r--r--newlib/libc/posix/Makefile.am29
-rw-r--r--newlib/libc/posix/Makefile.in303
-rw-r--r--newlib/libc/posix/closedir.c62
-rw-r--r--newlib/libc/posix/creat.c11
-rw-r--r--newlib/libc/posix/execl.c42
-rw-r--r--newlib/libc/posix/execle.c44
-rw-r--r--newlib/libc/posix/execlp.c42
-rw-r--r--newlib/libc/posix/execv.c15
-rw-r--r--newlib/libc/posix/execve.c10
-rw-r--r--newlib/libc/posix/execvp.c88
-rw-r--r--newlib/libc/posix/isatty.c17
-rw-r--r--newlib/libc/posix/opendir.c84
-rw-r--r--newlib/libc/posix/popen.c170
-rw-r--r--newlib/libc/posix/readdir.c76
-rw-r--r--newlib/libc/posix/rewinddir.c50
-rw-r--r--newlib/libc/posix/scandir.c142
-rw-r--r--newlib/libc/posix/seekdir.c56
-rw-r--r--newlib/libc/posix/telldir.c133
-rw-r--r--newlib/libc/reent/Makefile.am55
-rw-r--r--newlib/libc/reent/Makefile.in329
-rw-r--r--newlib/libc/reent/closer.c58
-rw-r--r--newlib/libc/reent/execr.c144
-rw-r--r--newlib/libc/reent/fstatr.c66
-rw-r--r--newlib/libc/reent/impure.c13
-rw-r--r--newlib/libc/reent/linkr.c102
-rw-r--r--newlib/libc/reent/lseekr.c63
-rw-r--r--newlib/libc/reent/openr.c64
-rw-r--r--newlib/libc/reent/readr.c63
-rw-r--r--newlib/libc/reent/reent.c107
-rw-r--r--newlib/libc/reent/reent.tex108
-rw-r--r--newlib/libc/reent/sbrkr.c66
-rw-r--r--newlib/libc/reent/signalr.c98
-rw-r--r--newlib/libc/reent/statr.c67
-rw-r--r--newlib/libc/reent/timer.c112
-rw-r--r--newlib/libc/reent/writer.c63
-rw-r--r--newlib/libc/saber185
-rw-r--r--newlib/libc/signal/Makefile.am26
-rw-r--r--newlib/libc/signal/Makefile.in297
-rw-r--r--newlib/libc/signal/raise.c80
-rw-r--r--newlib/libc/signal/signal.c269
-rw-r--r--newlib/libc/signal/signal.tex70
-rw-r--r--newlib/libc/stdio/Makefile.am161
-rw-r--r--newlib/libc/stdio/Makefile.in441
-rw-r--r--newlib/libc/stdio/clearerr.c63
-rw-r--r--newlib/libc/stdio/fclose.c82
-rw-r--r--newlib/libc/stdio/fdopen.c116
-rw-r--r--newlib/libc/stdio/feof.c40
-rw-r--r--newlib/libc/stdio/ferror.c67
-rw-r--r--newlib/libc/stdio/fflush.c99
-rw-r--r--newlib/libc/stdio/fgetc.c46
-rw-r--r--newlib/libc/stdio/fgetpos.c61
-rw-r--r--newlib/libc/stdio/fgets.c127
-rw-r--r--newlib/libc/stdio/fileno.c40
-rw-r--r--newlib/libc/stdio/findfp.c153
-rw-r--r--newlib/libc/stdio/fiprintf.c77
-rw-r--r--newlib/libc/stdio/flags.c87
-rw-r--r--newlib/libc/stdio/floatio.h27
-rw-r--r--newlib/libc/stdio/fopen.c165
-rw-r--r--newlib/libc/stdio/fprintf.c56
-rw-r--r--newlib/libc/stdio/fputc.c51
-rw-r--r--newlib/libc/stdio/fputs.c71
-rw-r--r--newlib/libc/stdio/fread.c97
-rw-r--r--newlib/libc/stdio/freopen.c151
-rw-r--r--newlib/libc/stdio/fscanf.c60
-rw-r--r--newlib/libc/stdio/fseek.c310
-rw-r--r--newlib/libc/stdio/fsetpos.c54
-rw-r--r--newlib/libc/stdio/ftell.c126
-rw-r--r--newlib/libc/stdio/fvwrite.c195
-rw-r--r--newlib/libc/stdio/fvwrite.h38
-rw-r--r--newlib/libc/stdio/fwalk.c43
-rw-r--r--newlib/libc/stdio/fwrite.c104
-rw-r--r--newlib/libc/stdio/getc.c80
-rw-r--r--newlib/libc/stdio/getchar.c96
-rw-r--r--newlib/libc/stdio/gets.c102
-rw-r--r--newlib/libc/stdio/iprintf.c118
-rw-r--r--newlib/libc/stdio/local.h90
-rw-r--r--newlib/libc/stdio/makebuf.c96
-rw-r--r--newlib/libc/stdio/mktemp.c219
-rw-r--r--newlib/libc/stdio/perror.c80
-rw-r--r--newlib/libc/stdio/printf.c83
-rw-r--r--newlib/libc/stdio/putc.c84
-rw-r--r--newlib/libc/stdio/putchar.c94
-rw-r--r--newlib/libc/stdio/puts.c101
-rw-r--r--newlib/libc/stdio/refill.c113
-rw-r--r--newlib/libc/stdio/remove.c69
-rw-r--r--newlib/libc/stdio/rename.c86
-rw-r--r--newlib/libc/stdio/rewind.c60
-rw-r--r--newlib/libc/stdio/rget.c43
-rw-r--r--newlib/libc/stdio/scanf.c75
-rw-r--r--newlib/libc/stdio/setbuf.c79
-rw-r--r--newlib/libc/stdio/setvbuf.c190
-rw-r--r--newlib/libc/stdio/siprintf.c70
-rw-r--r--newlib/libc/stdio/snprintf.c95
-rw-r--r--newlib/libc/stdio/sprintf.c360
-rw-r--r--newlib/libc/stdio/sscanf.c386
-rw-r--r--newlib/libc/stdio/stdio.c92
-rw-r--r--newlib/libc/stdio/stdio.tex183
-rw-r--r--newlib/libc/stdio/tmpfile.c77
-rw-r--r--newlib/libc/stdio/tmpnam.c208
-rw-r--r--newlib/libc/stdio/ungetc.c145
-rw-r--r--newlib/libc/stdio/vfieeefp.h205
-rw-r--r--newlib/libc/stdio/vfprintf.c939
-rw-r--r--newlib/libc/stdio/vfscanf.c956
-rw-r--r--newlib/libc/stdio/vprintf.c35
-rw-r--r--newlib/libc/stdio/vsnprintf.c73
-rw-r--r--newlib/libc/stdio/vsprintf.c70
-rw-r--r--newlib/libc/stdio/wbuf.c81
-rw-r--r--newlib/libc/stdio/wsetup.c79
-rw-r--r--newlib/libc/stdlib/Makefile.am166
-rw-r--r--newlib/libc/stdlib/Makefile.in449
-rw-r--r--newlib/libc/stdlib/__adjust.c44
-rw-r--r--newlib/libc/stdlib/__exp10.c29
-rw-r--r--newlib/libc/stdlib/__ten_mu.c23
-rw-r--r--newlib/libc/stdlib/abort.c66
-rw-r--r--newlib/libc/stdlib/abs.c43
-rw-r--r--newlib/libc/stdlib/assert.c62
-rw-r--r--newlib/libc/stdlib/atexit.c80
-rw-r--r--newlib/libc/stdlib/atexit.h13
-rw-r--r--newlib/libc/stdlib/atof.c72
-rw-r--r--newlib/libc/stdlib/atoff.c9
-rw-r--r--newlib/libc/stdlib/atoi.c54
-rw-r--r--newlib/libc/stdlib/atol.c12
-rw-r--r--newlib/libc/stdlib/bsearch.c100
-rw-r--r--newlib/libc/stdlib/calloc.c69
-rw-r--r--newlib/libc/stdlib/div.c132
-rw-r--r--newlib/libc/stdlib/dtoa.c854
-rw-r--r--newlib/libc/stdlib/dtoastub.c23
-rw-r--r--newlib/libc/stdlib/ecvtbuf.c470
-rw-r--r--newlib/libc/stdlib/efgcvt.c202
-rw-r--r--newlib/libc/stdlib/environ.c23
-rw-r--r--newlib/libc/stdlib/envlock.c48
-rw-r--r--newlib/libc/stdlib/envlock.h12
-rw-r--r--newlib/libc/stdlib/eprintf.c26
-rw-r--r--newlib/libc/stdlib/exit.c73
-rw-r--r--newlib/libc/stdlib/getenv.c101
-rw-r--r--newlib/libc/stdlib/getenv_r.c129
-rw-r--r--newlib/libc/stdlib/getopt.c117
-rw-r--r--newlib/libc/stdlib/labs.c49
-rw-r--r--newlib/libc/stdlib/ldiv.c109
-rw-r--r--newlib/libc/stdlib/local.h8
-rw-r--r--newlib/libc/stdlib/malign.c18
-rw-r--r--newlib/libc/stdlib/malloc.c206
-rw-r--r--newlib/libc/stdlib/mallocr.c3646
-rw-r--r--newlib/libc/stdlib/mbctype.h20
-rw-r--r--newlib/libc/stdlib/mblen.c66
-rw-r--r--newlib/libc/stdlib/mblen_r.c66
-rw-r--r--newlib/libc/stdlib/mbstowcs.c80
-rw-r--r--newlib/libc/stdlib/mbstowcs_r.c29
-rw-r--r--newlib/libc/stdlib/mbtowc.c81
-rw-r--r--newlib/libc/stdlib/mbtowc_r.c206
-rw-r--r--newlib/libc/stdlib/mlock.c50
-rw-r--r--newlib/libc/stdlib/mprec.c980
-rw-r--r--newlib/libc/stdlib/mprec.h313
-rw-r--r--newlib/libc/stdlib/msize.c17
-rw-r--r--newlib/libc/stdlib/mstats.c151
-rw-r--r--newlib/libc/stdlib/mtrim.c17
-rw-r--r--newlib/libc/stdlib/putenv.c37
-rw-r--r--newlib/libc/stdlib/putenv_r.c58
-rw-r--r--newlib/libc/stdlib/qsort.c222
-rw-r--r--newlib/libc/stdlib/rand.c86
-rw-r--r--newlib/libc/stdlib/rand_r.c7
-rw-r--r--newlib/libc/stdlib/realloc.c22
-rw-r--r--newlib/libc/stdlib/setenv.c59
-rw-r--r--newlib/libc/stdlib/setenv_r.c139
-rw-r--r--newlib/libc/stdlib/std.h33
-rw-r--r--newlib/libc/stdlib/stdlib.tex130
-rw-r--r--newlib/libc/stdlib/strdup.c13
-rw-r--r--newlib/libc/stdlib/strdup_r.c17
-rw-r--r--newlib/libc/stdlib/strtod.c731
-rw-r--r--newlib/libc/stdlib/strtol.c226
-rw-r--r--newlib/libc/stdlib/strtoul.c206
-rw-r--r--newlib/libc/stdlib/system.c179
-rw-r--r--newlib/libc/stdlib/valloc.c24
-rw-r--r--newlib/libc/stdlib/wcstombs.c80
-rw-r--r--newlib/libc/stdlib/wcstombs_r.c32
-rw-r--r--newlib/libc/stdlib/wctomb.c69
-rw-r--r--newlib/libc/stdlib/wctomb_r.c110
-rw-r--r--newlib/libc/string/Makefile.am66
-rw-r--r--newlib/libc/string/Makefile.in343
-rw-r--r--newlib/libc/string/bcmp.c50
-rw-r--r--newlib/libc/string/bcopy.c38
-rw-r--r--newlib/libc/string/bzero.c42
-rw-r--r--newlib/libc/string/index.c44
-rw-r--r--newlib/libc/string/memchr.c143
-rw-r--r--newlib/libc/string/memcmp.c113
-rw-r--r--newlib/libc/string/memcpy.c111
-rw-r--r--newlib/libc/string/memmove.c143
-rw-r--r--newlib/libc/string/memset.c110
-rw-r--r--newlib/libc/string/rindex.c44
-rw-r--r--newlib/libc/string/strcasecmp.c56
-rw-r--r--newlib/libc/string/strcat.c104
-rw-r--r--newlib/libc/string/strchr.c108
-rw-r--r--newlib/libc/string/strcmp.c106
-rw-r--r--newlib/libc/string/strcoll.c48
-rw-r--r--newlib/libc/string/strcpy.c99
-rw-r--r--newlib/libc/string/strcspn.c54
-rw-r--r--newlib/libc/string/strerror.c650
-rw-r--r--newlib/libc/string/strings.tex133
-rw-r--r--newlib/libc/string/strlen.c88
-rw-r--r--newlib/libc/string/strlwr.c50
-rw-r--r--newlib/libc/string/strncasecmp.c64
-rw-r--r--newlib/libc/string/strncat.c115
-rw-r--r--newlib/libc/string/strncmp.c122
-rw-r--r--newlib/libc/string/strncpy.c125
-rw-r--r--newlib/libc/string/strpbrk.c58
-rw-r--r--newlib/libc/string/strrchr.c61
-rw-r--r--newlib/libc/string/strspn.c59
-rw-r--r--newlib/libc/string/strstr.c73
-rw-r--r--newlib/libc/string/strtok.c76
-rw-r--r--newlib/libc/string/strtok_r.c85
-rw-r--r--newlib/libc/string/strupr.c49
-rw-r--r--newlib/libc/string/strxfrm.c75
-rw-r--r--newlib/libc/string/u_strerr.c8
-rw-r--r--newlib/libc/sys.tex436
-rw-r--r--newlib/libc/sys/Makefile.am33
-rw-r--r--newlib/libc/sys/Makefile.in415
-rw-r--r--newlib/libc/sys/a29khif/Makefile.am48
-rw-r--r--newlib/libc/sys/a29khif/Makefile.in337
-rw-r--r--newlib/libc/sys/a29khif/_alloc.s55
-rw-r--r--newlib/libc/sys/a29khif/_close.s40
-rw-r--r--newlib/libc/sys/a29khif/_cycles.s39
-rw-r--r--newlib/libc/sys/a29khif/_exit.s39
-rw-r--r--newlib/libc/sys/a29khif/_fstat.s79
-rw-r--r--newlib/libc/sys/a29khif/_getpsiz.s38
-rw-r--r--newlib/libc/sys/a29khif/_gettz.s39
-rw-r--r--newlib/libc/sys/a29khif/_ioctl.s39
-rw-r--r--newlib/libc/sys/a29khif/_iostat.s43
-rw-r--r--newlib/libc/sys/a29khif/_iowait.s39
-rw-r--r--newlib/libc/sys/a29khif/_isatty.s22
-rw-r--r--newlib/libc/sys/a29khif/_lseek.s42
-rw-r--r--newlib/libc/sys/a29khif/_open.s39
-rw-r--r--newlib/libc/sys/a29khif/_query.s39
-rw-r--r--newlib/libc/sys/a29khif/_read.s38
-rw-r--r--newlib/libc/sys/a29khif/_sbrk.s30
-rw-r--r--newlib/libc/sys/a29khif/_setim.s39
-rw-r--r--newlib/libc/sys/a29khif/_settrap.s39
-rw-r--r--newlib/libc/sys/a29khif/_setvec.s38
-rw-r--r--newlib/libc/sys/a29khif/_tmpnam.s41
-rw-r--r--newlib/libc/sys/a29khif/_write.s40
-rw-r--r--newlib/libc/sys/a29khif/aclocal.m4282
-rw-r--r--newlib/libc/sys/a29khif/alloc.s64
-rw-r--r--newlib/libc/sys/a29khif/clock.s41
-rwxr-xr-xnewlib/libc/sys/a29khif/configure1687
-rw-r--r--newlib/libc/sys/a29khif/configure.in12
-rw-r--r--newlib/libc/sys/a29khif/crt0.s226
-rw-r--r--newlib/libc/sys/a29khif/getargs.s38
-rw-r--r--newlib/libc/sys/a29khif/getenv.s48
-rw-r--r--newlib/libc/sys/a29khif/getpid.c12
-rw-r--r--newlib/libc/sys/a29khif/kill.c21
-rw-r--r--newlib/libc/sys/a29khif/read.s54
-rw-r--r--newlib/libc/sys/a29khif/remove.s43
-rw-r--r--newlib/libc/sys/a29khif/rename.s41
-rw-r--r--newlib/libc/sys/a29khif/signal.s452
-rw-r--r--newlib/libc/sys/a29khif/stubs.s135
-rw-r--r--newlib/libc/sys/a29khif/sys/cpudef.h270
-rw-r--r--newlib/libc/sys/a29khif/sys/fpsymbol.h2970
-rw-r--r--newlib/libc/sys/a29khif/sys/intrinsi.h457
-rw-r--r--newlib/libc/sys/a29khif/sys/macros.h37
-rw-r--r--newlib/libc/sys/a29khif/sys/proreg.h60
-rw-r--r--newlib/libc/sys/a29khif/sys/romdcl.h392
-rw-r--r--newlib/libc/sys/a29khif/sys/smartmac.h1491
-rw-r--r--newlib/libc/sys/a29khif/sys/sysmac.h165
-rw-r--r--newlib/libc/sys/a29khif/systime.s44
-rw-r--r--newlib/libc/sys/a29khif/vec.s35
-rw-r--r--newlib/libc/sys/aclocal.m4282
-rw-r--r--newlib/libc/sys/arm/Makefile.am14
-rw-r--r--newlib/libc/sys/arm/Makefile.in320
-rw-r--r--newlib/libc/sys/arm/aclocal.m4282
-rwxr-xr-xnewlib/libc/sys/arm/configure1687
-rw-r--r--newlib/libc/sys/arm/configure.in12
-rw-r--r--newlib/libc/sys/arm/crt0.S244
-rw-r--r--newlib/libc/sys/arm/libcfunc.c40
-rw-r--r--newlib/libc/sys/arm/setjmp.S102
-rw-r--r--newlib/libc/sys/arm/swi.h65
-rw-r--r--newlib/libc/sys/arm/sys/param.h10
-rw-r--r--newlib/libc/sys/arm/syscalls.c575
-rw-r--r--newlib/libc/sys/arm/trap.S93
-rwxr-xr-xnewlib/libc/sys/configure1809
-rw-r--r--newlib/libc/sys/configure.in24
-rw-r--r--newlib/libc/sys/cygwin/Makefile.am19
-rw-r--r--newlib/libc/sys/cygwin/Makefile.in311
-rw-r--r--newlib/libc/sys/cygwin/aclocal.m4282
-rwxr-xr-xnewlib/libc/sys/cygwin/configure1687
-rw-r--r--newlib/libc/sys/cygwin/configure.in12
-rw-r--r--newlib/libc/sys/cygwin/crt0.c49
-rw-r--r--newlib/libc/sys/cygwin/sys/dirent.h58
-rw-r--r--newlib/libc/sys/cygwin/sys/param.h43
-rw-r--r--newlib/libc/sys/cygwin/sys/utime.h22
-rw-r--r--newlib/libc/sys/cygwin/sys/utmp.h49
-rw-r--r--newlib/libc/sys/d10v/Makefile.am14
-rw-r--r--newlib/libc/sys/d10v/Makefile.in320
-rw-r--r--newlib/libc/sys/d10v/aclocal.m4282
-rwxr-xr-xnewlib/libc/sys/d10v/configure1687
-rw-r--r--newlib/libc/sys/d10v/configure.in12
-rw-r--r--newlib/libc/sys/d10v/creat.c7
-rw-r--r--newlib/libc/sys/d10v/crt0.S63
-rw-r--r--newlib/libc/sys/d10v/sys/syscall.h38
-rw-r--r--newlib/libc/sys/d10v/syscalls.c216
-rw-r--r--newlib/libc/sys/d10v/trap.S296
-rw-r--r--newlib/libc/sys/decstation/Makefile.am45
-rw-r--r--newlib/libc/sys/decstation/Makefile.in332
-rw-r--r--newlib/libc/sys/decstation/_main.c6
-rw-r--r--newlib/libc/sys/decstation/aclocal.m4282
-rwxr-xr-xnewlib/libc/sys/decstation/configure1687
-rw-r--r--newlib/libc/sys/decstation/configure.in12
-rw-r--r--newlib/libc/sys/decstation/sys/dirent.h46
-rw-r--r--newlib/libc/sys/go32/Makefile.am105
-rw-r--r--newlib/libc/sys/go32/Makefile.in402
-rw-r--r--newlib/libc/sys/go32/_exit.s20
-rw-r--r--newlib/libc/sys/go32/_main.c3
-rw-r--r--newlib/libc/sys/go32/abort.c8
-rw-r--r--newlib/libc/sys/go32/access.c34
-rw-r--r--newlib/libc/sys/go32/aclocal.m4282
-rw-r--r--newlib/libc/sys/go32/bdos.c12
-rw-r--r--newlib/libc/sys/go32/bdosptr.c12
-rw-r--r--newlib/libc/sys/go32/brk.s27
-rw-r--r--newlib/libc/sys/go32/chdir.s27
-rw-r--r--newlib/libc/sys/go32/chmod.c15
-rw-r--r--newlib/libc/sys/go32/chown.c15
-rw-r--r--newlib/libc/sys/go32/clock.S45
-rw-r--r--newlib/libc/sys/go32/close.s27
-rwxr-xr-xnewlib/libc/sys/go32/configure1687
-rw-r--r--newlib/libc/sys/go32/configure.in12
-rw-r--r--newlib/libc/sys/go32/copying.dj63
-rw-r--r--newlib/libc/sys/go32/creat.s19
-rw-r--r--newlib/libc/sys/go32/crlf2nl.c69
-rw-r--r--newlib/libc/sys/go32/crt0.S233
-rw-r--r--newlib/libc/sys/go32/dir.c95
-rw-r--r--newlib/libc/sys/go32/dir.h53
-rw-r--r--newlib/libc/sys/go32/djtime.h42
-rw-r--r--newlib/libc/sys/go32/dos.h107
-rw-r--r--newlib/libc/sys/go32/dosmem.S120
-rw-r--r--newlib/libc/sys/go32/dpmi.c413
-rw-r--r--newlib/libc/sys/go32/dpmi.h151
-rw-r--r--newlib/libc/sys/go32/dup.s28
-rw-r--r--newlib/libc/sys/go32/dup2.s28
-rw-r--r--newlib/libc/sys/go32/exec.c509
-rw-r--r--newlib/libc/sys/go32/fchmod.c18
-rw-r--r--newlib/libc/sys/go32/findfirs.s18
-rw-r--r--newlib/libc/sys/go32/findnext.s16
-rw-r--r--newlib/libc/sys/go32/fixpath.c155
-rw-r--r--newlib/libc/sys/go32/fstat.s19
-rw-r--r--newlib/libc/sys/go32/fsync.s27
-rw-r--r--newlib/libc/sys/go32/ftruncat.c25
-rw-r--r--newlib/libc/sys/go32/gerrno.s33
-rw-r--r--newlib/libc/sys/go32/getcwd.c37
-rw-r--r--newlib/libc/sys/go32/getdate.c11
-rw-r--r--newlib/libc/sys/go32/getdtabl.c18
-rw-r--r--newlib/libc/sys/go32/getgid.c9
-rw-r--r--newlib/libc/sys/go32/getkey.s59
-rw-r--r--newlib/libc/sys/go32/getpages.c18
-rw-r--r--newlib/libc/sys/go32/getpid.c18
-rw-r--r--newlib/libc/sys/go32/getrusag.c35
-rw-r--r--newlib/libc/sys/go32/gettime.c12
-rw-r--r--newlib/libc/sys/go32/gettimeo.c61
-rw-r--r--newlib/libc/sys/go32/gettimeo.s19
-rw-r--r--newlib/libc/sys/go32/getuid.c9
-rw-r--r--newlib/libc/sys/go32/getwd.s31
-rw-r--r--newlib/libc/sys/go32/go32.h70
-rw-r--r--newlib/libc/sys/go32/go32func.c69
-rw-r--r--newlib/libc/sys/go32/infoblk.c4
-rw-r--r--newlib/libc/sys/go32/inportb.s21
-rw-r--r--newlib/libc/sys/go32/inportl.s19
-rw-r--r--newlib/libc/sys/go32/inportsb.s25
-rw-r--r--newlib/libc/sys/go32/inportsl.s24
-rw-r--r--newlib/libc/sys/go32/inportsw.s24
-rw-r--r--newlib/libc/sys/go32/inportw.s21
-rw-r--r--newlib/libc/sys/go32/int86x.s103
-rw-r--r--newlib/libc/sys/go32/intdos.c7
-rw-r--r--newlib/libc/sys/go32/intdosx.c6
-rw-r--r--newlib/libc/sys/go32/isatty.s33
-rw-r--r--newlib/libc/sys/go32/kbhit.s51
-rw-r--r--newlib/libc/sys/go32/kill.c6
-rw-r--r--newlib/libc/sys/go32/link.s28
-rw-r--r--newlib/libc/sys/go32/longjmp.S65
-rw-r--r--newlib/libc/sys/go32/lseek.s36
-rw-r--r--newlib/libc/sys/go32/lstat.s19
-rw-r--r--newlib/libc/sys/go32/mkdir.s27
-rw-r--r--newlib/libc/sys/go32/open.s31
-rw-r--r--newlib/libc/sys/go32/outportb.s21
-rw-r--r--newlib/libc/sys/go32/outportl.s20
-rw-r--r--newlib/libc/sys/go32/outportw.s22
-rw-r--r--newlib/libc/sys/go32/outprtsb.s25
-rw-r--r--newlib/libc/sys/go32/outprtsl.s25
-rw-r--r--newlib/libc/sys/go32/outprtsw.s25
-rw-r--r--newlib/libc/sys/go32/pc.h71
-rw-r--r--newlib/libc/sys/go32/read.s30
-rw-r--r--newlib/libc/sys/go32/readv.c31
-rw-r--r--newlib/libc/sys/go32/rename.s31
-rw-r--r--newlib/libc/sys/go32/rmdir.s27
-rw-r--r--newlib/libc/sys/go32/sbrk.s27
-rw-r--r--newlib/libc/sys/go32/screen.S256
-rw-r--r--newlib/libc/sys/go32/setjmp.S61
-rw-r--r--newlib/libc/sys/go32/setmode.s19
-rw-r--r--newlib/libc/sys/go32/setstack.S70
-rw-r--r--newlib/libc/sys/go32/settimeo.s19
-rw-r--r--newlib/libc/sys/go32/sleep.c27
-rw-r--r--newlib/libc/sys/go32/stat.c151
-rw-r--r--newlib/libc/sys/go32/stat.s19
-rw-r--r--newlib/libc/sys/go32/stat_ast.s21
-rw-r--r--newlib/libc/sys/go32/sys/dir.h33
-rw-r--r--newlib/libc/sys/go32/sys/dirent.h39
-rw-r--r--newlib/libc/sys/go32/sys/dos.h57
-rw-r--r--newlib/libc/sys/go32/sys/dpmi.h151
-rw-r--r--newlib/libc/sys/go32/sys/errno.h73
-rw-r--r--newlib/libc/sys/go32/sys/fcntl.h12
-rw-r--r--newlib/libc/sys/go32/sys/file.h31
-rw-r--r--newlib/libc/sys/go32/sys/go32.h69
-rw-r--r--newlib/libc/sys/go32/sys/param.h22
-rw-r--r--newlib/libc/sys/go32/sys/pc.h56
-rw-r--r--newlib/libc/sys/go32/sys/register.h28
-rw-r--r--newlib/libc/sys/go32/sys/resource.h50
-rw-r--r--newlib/libc/sys/go32/sys/setjmp.h44
-rw-r--r--newlib/libc/sys/go32/sys/stdc.h15
-rw-r--r--newlib/libc/sys/go32/sys/uio.h23
-rw-r--r--newlib/libc/sys/go32/syserr.c38
-rw-r--r--newlib/libc/sys/go32/system.s19
-rw-r--r--newlib/libc/sys/go32/tell.s33
-rw-r--r--newlib/libc/sys/go32/time.c53
-rw-r--r--newlib/libc/sys/go32/truncate.c25
-rw-r--r--newlib/libc/sys/go32/turbo.s30
-rw-r--r--newlib/libc/sys/go32/umask.c4
-rw-r--r--newlib/libc/sys/go32/unlink.s27
-rw-r--r--newlib/libc/sys/go32/utime.c15
-rw-r--r--newlib/libc/sys/go32/utimes.c15
-rw-r--r--newlib/libc/sys/go32/write.s30
-rw-r--r--newlib/libc/sys/go32/writestub.c6
-rw-r--r--newlib/libc/sys/go32/writev.c31
-rw-r--r--newlib/libc/sys/h8300hms/Makefile.am14
-rw-r--r--newlib/libc/sys/h8300hms/Makefile.in299
-rw-r--r--newlib/libc/sys/h8300hms/_exit.c23
-rw-r--r--newlib/libc/sys/h8300hms/aclocal.m4282
-rwxr-xr-xnewlib/libc/sys/h8300hms/configure1687
-rw-r--r--newlib/libc/sys/h8300hms/configure.in12
-rw-r--r--newlib/libc/sys/h8300hms/crt0.S69
-rw-r--r--newlib/libc/sys/h8300hms/crt1.c16
-rw-r--r--newlib/libc/sys/h8300hms/misc.c34
-rw-r--r--newlib/libc/sys/h8300hms/sbrk.c28
-rw-r--r--newlib/libc/sys/h8300hms/sys/file.h30
-rw-r--r--newlib/libc/sys/h8300hms/syscalls.c50
-rw-r--r--newlib/libc/sys/h8300hms/write.c16
-rw-r--r--newlib/libc/sys/h8500hms/Makefile.am14
-rw-r--r--newlib/libc/sys/h8500hms/Makefile.in299
-rw-r--r--newlib/libc/sys/h8500hms/aclocal.m4282
-rwxr-xr-xnewlib/libc/sys/h8500hms/configure1687
-rw-r--r--newlib/libc/sys/h8500hms/configure.in12
-rw-r--r--newlib/libc/sys/h8500hms/crt0.c32
-rw-r--r--newlib/libc/sys/h8500hms/misc.c29
-rw-r--r--newlib/libc/sys/h8500hms/syscalls.c129
-rw-r--r--newlib/libc/sys/m88kbug/Makefile.am14
-rw-r--r--newlib/libc/sys/m88kbug/Makefile.in299
-rw-r--r--newlib/libc/sys/m88kbug/aclocal.m4282
-rwxr-xr-xnewlib/libc/sys/m88kbug/configure1687
-rw-r--r--newlib/libc/sys/m88kbug/configure.in12
-rw-r--r--newlib/libc/sys/m88kbug/crt0.c19
-rw-r--r--newlib/libc/sys/m88kbug/sys/systraps.h9
-rw-r--r--newlib/libc/sys/m88kbug/syscalls.c131
-rw-r--r--newlib/libc/sys/netware/Makefile.am16
-rw-r--r--newlib/libc/sys/netware/Makefile.in301
-rw-r--r--newlib/libc/sys/netware/aclocal.m4282
-rwxr-xr-xnewlib/libc/sys/netware/configure1687
-rw-r--r--newlib/libc/sys/netware/configure.in12
-rw-r--r--newlib/libc/sys/netware/crt0.c4
-rw-r--r--newlib/libc/sys/netware/getpid.c11
-rw-r--r--newlib/libc/sys/netware/link.c17
-rw-r--r--newlib/libc/sys/rtems/Makefile.am14
-rw-r--r--newlib/libc/sys/rtems/Makefile.in299
-rw-r--r--newlib/libc/sys/rtems/aclocal.m4282
-rwxr-xr-xnewlib/libc/sys/rtems/configure1687
-rw-r--r--newlib/libc/sys/rtems/configure.in12
-rw-r--r--newlib/libc/sys/rtems/crt0.c48
-rw-r--r--newlib/libc/sys/rtems/dummysys.c1
-rw-r--r--newlib/libc/sys/rtems/include/limits.h178
-rw-r--r--newlib/libc/sys/rtems/include/signal.h142
-rw-r--r--newlib/libc/sys/rtems/include/time.h218
-rw-r--r--newlib/libc/sys/rtems/sys/dirent.h52
-rw-r--r--newlib/libc/sys/rtems/sys/features.h111
-rw-r--r--newlib/libc/sys/rtems/sys/sched.h56
-rw-r--r--newlib/libc/sys/rtems/sys/siginfo.h176
-rw-r--r--newlib/libc/sys/rtems/sys/signal.h6
-rw-r--r--newlib/libc/sys/rtems/sys/time.h73
-rw-r--r--newlib/libc/sys/rtems/sys/times.h31
-rw-r--r--newlib/libc/sys/rtems/sys/types.h346
-rw-r--r--newlib/libc/sys/sh/Makefile.am14
-rw-r--r--newlib/libc/sys/sh/Makefile.in320
-rw-r--r--newlib/libc/sys/sh/aclocal.m4282
-rwxr-xr-xnewlib/libc/sys/sh/configure1687
-rw-r--r--newlib/libc/sys/sh/configure.in12
-rw-r--r--newlib/libc/sys/sh/creat.c7
-rw-r--r--newlib/libc/sys/sh/crt0.S55
-rw-r--r--newlib/libc/sys/sh/sys/syscall.h31
-rw-r--r--newlib/libc/sys/sh/syscalls.c170
-rw-r--r--newlib/libc/sys/sh/trap.S15
-rw-r--r--newlib/libc/sys/sparc64/Makefile.am119
-rw-r--r--newlib/libc/sys/sparc64/Makefile.in412
-rw-r--r--newlib/libc/sys/sparc64/_exit.S14
-rw-r--r--newlib/libc/sys/sparc64/_main.c6
-rw-r--r--newlib/libc/sys/sparc64/aclocal.m4282
-rw-r--r--newlib/libc/sys/sparc64/cerror.S29
-rw-r--r--newlib/libc/sys/sparc64/closedir.c58
-rwxr-xr-xnewlib/libc/sys/sparc64/configure1687
-rw-r--r--newlib/libc/sys/sparc64/configure.in12
-rw-r--r--newlib/libc/sys/sparc64/creat.c11
-rw-r--r--newlib/libc/sys/sparc64/crt0.S123
-rw-r--r--newlib/libc/sys/sparc64/dup2.S9
-rw-r--r--newlib/libc/sys/sparc64/execve.S27
-rw-r--r--newlib/libc/sys/sparc64/ieee.c115
-rw-r--r--newlib/libc/sys/sparc64/isatty.c17
-rw-r--r--newlib/libc/sys/sparc64/lstat.S5
-rw-r--r--newlib/libc/sys/sparc64/opendir.c80
-rw-r--r--newlib/libc/sys/sparc64/readdir.c72
-rw-r--r--newlib/libc/sys/sparc64/rewinddir.c49
-rw-r--r--newlib/libc/sys/sparc64/sbrk.S78
-rw-r--r--newlib/libc/sys/sparc64/scandir.c138
-rw-r--r--newlib/libc/sys/sparc64/seekdir.c52
-rw-r--r--newlib/libc/sys/sparc64/sigsetjmp.S77
-rw-r--r--newlib/libc/sys/sparc64/stat.S9
-rw-r--r--newlib/libc/sys/sparc64/sys/dirent.h48
-rw-r--r--newlib/libc/sys/sparc64/sys/fcntl.h178
-rw-r--r--newlib/libc/sys/sparc64/sys/file.h3
-rw-r--r--newlib/libc/sys/sparc64/sys/stat.h131
-rw-r--r--newlib/libc/sys/sparc64/sys/syscall.h346
-rw-r--r--newlib/libc/sys/sparc64/sys/syscallasm.h87
-rw-r--r--newlib/libc/sys/sparc64/sys/termios.h122
-rw-r--r--newlib/libc/sys/sparc64/sys/time.h22
-rw-r--r--newlib/libc/sys/sparc64/sys/utime.h13
-rw-r--r--newlib/libc/sys/sparc64/sys/utmp.h43
-rw-r--r--newlib/libc/sys/sparc64/sys/wait.h43
-rw-r--r--newlib/libc/sys/sparc64/telldir.c129
-rw-r--r--newlib/libc/sys/sparc64/template.S14
-rw-r--r--newlib/libc/sys/sparc64/template_r.S26
-rw-r--r--newlib/libc/sys/sparc64/utime.S10
-rw-r--r--newlib/libc/sys/sparc64/utime2.c26
-rw-r--r--newlib/libc/sys/sparc64/wait.S35
-rw-r--r--newlib/libc/sys/sun4/Makefile.am95
-rw-r--r--newlib/libc/sys/sun4/Makefile.in388
-rw-r--r--newlib/libc/sys/sun4/_main.c6
-rw-r--r--newlib/libc/sys/sun4/aclocal.m4282
-rwxr-xr-xnewlib/libc/sys/sun4/configure1687
-rw-r--r--newlib/libc/sys/sun4/configure.in12
-rw-r--r--newlib/libc/sys/sun4/ieee.c115
-rw-r--r--newlib/libc/sys/sun4/sys/dirent.h45
-rw-r--r--newlib/libc/sys/sun4/sys/file.h3
-rw-r--r--newlib/libc/sys/sun4/sys/termios.h122
-rw-r--r--newlib/libc/sys/sun4/sys/utime.h13
-rw-r--r--newlib/libc/sys/sun4/sys/utmp.h43
-rw-r--r--newlib/libc/sys/sun4/sys/wait.h43
-rw-r--r--newlib/libc/sys/sysmec/Makefile.am18
-rw-r--r--newlib/libc/sys/sysmec/Makefile.in306
-rw-r--r--newlib/libc/sys/sysmec/_exit.c34
-rw-r--r--newlib/libc/sys/sysmec/access.c34
-rw-r--r--newlib/libc/sys/sysmec/aclocal.m4282
-rw-r--r--newlib/libc/sys/sysmec/chmod.c16
-rw-r--r--newlib/libc/sys/sysmec/chown.c17
-rw-r--r--newlib/libc/sys/sysmec/close.c16
-rwxr-xr-xnewlib/libc/sys/sysmec/configure1687
-rw-r--r--newlib/libc/sys/sysmec/configure.in12
-rw-r--r--newlib/libc/sys/sysmec/creat.c17
-rw-r--r--newlib/libc/sys/sysmec/crt0.S65
-rw-r--r--newlib/libc/sys/sysmec/crt1.c16
-rw-r--r--newlib/libc/sys/sysmec/execv.c16
-rw-r--r--newlib/libc/sys/sysmec/execve.c16
-rw-r--r--newlib/libc/sys/sysmec/fork.c16
-rw-r--r--newlib/libc/sys/sysmec/fstat.c19
-rw-r--r--newlib/libc/sys/sysmec/getpid.c15
-rw-r--r--newlib/libc/sys/sysmec/gettime.c17
-rw-r--r--newlib/libc/sys/sysmec/isatty.c16
-rw-r--r--newlib/libc/sys/sysmec/kill.c16
-rw-r--r--newlib/libc/sys/sysmec/lseek.c19
-rw-r--r--newlib/libc/sys/sysmec/open.c17
-rw-r--r--newlib/libc/sys/sysmec/pipe.c16
-rw-r--r--newlib/libc/sys/sysmec/read.c17
-rw-r--r--newlib/libc/sys/sysmec/sbrk.c36
-rw-r--r--newlib/libc/sys/sysmec/stat.c17
-rw-r--r--newlib/libc/sys/sysmec/sys/syscall.h35
-rw-r--r--newlib/libc/sys/sysmec/time.c16
-rw-r--r--newlib/libc/sys/sysmec/times.c17
-rw-r--r--newlib/libc/sys/sysmec/trap.S13
-rw-r--r--newlib/libc/sys/sysmec/unlink.c16
-rw-r--r--newlib/libc/sys/sysmec/utime.c18
-rw-r--r--newlib/libc/sys/sysmec/wait.c17
-rw-r--r--newlib/libc/sys/sysmec/write.c18
-rw-r--r--newlib/libc/sys/sysnec810/Makefile.am14
-rw-r--r--newlib/libc/sys/sysnec810/Makefile.in299
-rw-r--r--newlib/libc/sys/sysnec810/aclocal.m4282
-rwxr-xr-xnewlib/libc/sys/sysnec810/configure1687
-rw-r--r--newlib/libc/sys/sysnec810/configure.in12
-rw-r--r--newlib/libc/sys/sysnec810/crt0.s22
-rw-r--r--newlib/libc/sys/sysnec810/io.s41
-rw-r--r--newlib/libc/sys/sysnec810/misc.c40
-rw-r--r--newlib/libc/sys/sysnec810/sbrk.c12
-rw-r--r--newlib/libc/sys/sysnec810/write.c36
-rw-r--r--newlib/libc/sys/sysnecv850/Makefile.am19
-rw-r--r--newlib/libc/sys/sysnecv850/Makefile.in307
-rw-r--r--newlib/libc/sys/sysnecv850/_exit.c34
-rw-r--r--newlib/libc/sys/sysnecv850/access.c34
-rw-r--r--newlib/libc/sys/sysnecv850/aclocal.m4282
-rw-r--r--newlib/libc/sys/sysnecv850/chmod.c16
-rw-r--r--newlib/libc/sys/sysnecv850/chown.c16
-rw-r--r--newlib/libc/sys/sysnecv850/close.c16
-rwxr-xr-xnewlib/libc/sys/sysnecv850/configure1687
-rw-r--r--newlib/libc/sys/sysnecv850/configure.in12
-rw-r--r--newlib/libc/sys/sysnecv850/creat.c17
-rw-r--r--newlib/libc/sys/sysnecv850/crt0.S77
-rw-r--r--newlib/libc/sys/sysnecv850/crt1.c16
-rw-r--r--newlib/libc/sys/sysnecv850/execv.c16
-rw-r--r--newlib/libc/sys/sysnecv850/execve.c16
-rw-r--r--newlib/libc/sys/sysnecv850/fork.c16
-rw-r--r--newlib/libc/sys/sysnecv850/fstat.c18
-rw-r--r--newlib/libc/sys/sysnecv850/getpid.c15
-rw-r--r--newlib/libc/sys/sysnecv850/gettime.c17
-rw-r--r--newlib/libc/sys/sysnecv850/isatty.c16
-rw-r--r--newlib/libc/sys/sysnecv850/kill.c19
-rw-r--r--newlib/libc/sys/sysnecv850/link.c16
-rw-r--r--newlib/libc/sys/sysnecv850/lseek.c18
-rw-r--r--newlib/libc/sys/sysnecv850/open.c17
-rw-r--r--newlib/libc/sys/sysnecv850/pipe.c16
-rw-r--r--newlib/libc/sys/sysnecv850/read.c17
-rw-r--r--newlib/libc/sys/sysnecv850/sbrk.c36
-rw-r--r--newlib/libc/sys/sysnecv850/stat.c17
-rw-r--r--newlib/libc/sys/sysnecv850/sys/syscall.h35
-rw-r--r--newlib/libc/sys/sysnecv850/time.c16
-rw-r--r--newlib/libc/sys/sysnecv850/times.c17
-rw-r--r--newlib/libc/sys/sysnecv850/trap.S10
-rw-r--r--newlib/libc/sys/sysnecv850/unlink.c16
-rw-r--r--newlib/libc/sys/sysnecv850/utime.c18
-rw-r--r--newlib/libc/sys/sysnecv850/wait.c17
-rw-r--r--newlib/libc/sys/sysnecv850/write.c18
-rw-r--r--newlib/libc/sys/sysvi386/Makefile.am23
-rw-r--r--newlib/libc/sys/sysvi386/Makefile.in316
-rw-r--r--newlib/libc/sys/sysvi386/_exit.s6
-rw-r--r--newlib/libc/sys/sysvi386/_longjmp.s31
-rw-r--r--newlib/libc/sys/sysvi386/_setjmp.s24
-rw-r--r--newlib/libc/sys/sysvi386/access.s8
-rw-r--r--newlib/libc/sys/sysvi386/aclocal.m4282
-rw-r--r--newlib/libc/sys/sysvi386/alarm.s5
-rw-r--r--newlib/libc/sys/sysvi386/brk.s8
-rw-r--r--newlib/libc/sys/sysvi386/cerror.s9
-rw-r--r--newlib/libc/sys/sysvi386/chdir.s9
-rw-r--r--newlib/libc/sys/sysvi386/chmod.s9
-rw-r--r--newlib/libc/sys/sysvi386/close.s9
-rw-r--r--newlib/libc/sys/sysvi386/closedir.c58
-rwxr-xr-xnewlib/libc/sys/sysvi386/configure1687
-rw-r--r--newlib/libc/sys/sysvi386/configure.in12
-rw-r--r--newlib/libc/sys/sysvi386/crt0.c127
-rw-r--r--newlib/libc/sys/sysvi386/dup.c6
-rw-r--r--newlib/libc/sys/sysvi386/dup2.c7
-rw-r--r--newlib/libc/sys/sysvi386/exec.c54
-rw-r--r--newlib/libc/sys/sysvi386/execve.s7
-rw-r--r--newlib/libc/sys/sysvi386/fcntl.s9
-rw-r--r--newlib/libc/sys/sysvi386/fork.s12
-rw-r--r--newlib/libc/sys/sysvi386/fpathconf.s6
-rw-r--r--newlib/libc/sys/sysvi386/fps.s18
-rw-r--r--newlib/libc/sys/sysvi386/fpx.c73
-rw-r--r--newlib/libc/sys/sysvi386/fstat.s9
-rw-r--r--newlib/libc/sys/sysvi386/getdents.s6
-rw-r--r--newlib/libc/sys/sysvi386/getegid.s9
-rw-r--r--newlib/libc/sys/sysvi386/geteuid.s9
-rw-r--r--newlib/libc/sys/sysvi386/getgid.s8
-rw-r--r--newlib/libc/sys/sysvi386/getgroups.s8
-rw-r--r--newlib/libc/sys/sysvi386/getpid.s9
-rw-r--r--newlib/libc/sys/sysvi386/getuid.s8
-rw-r--r--newlib/libc/sys/sysvi386/ioctl.s9
-rw-r--r--newlib/libc/sys/sysvi386/isatty.c11
-rw-r--r--newlib/libc/sys/sysvi386/kill.s9
-rw-r--r--newlib/libc/sys/sysvi386/link.s9
-rw-r--r--newlib/libc/sys/sysvi386/lseek.s8
-rw-r--r--newlib/libc/sys/sysvi386/mkdir.s9
-rw-r--r--newlib/libc/sys/sysvi386/open.s9
-rw-r--r--newlib/libc/sys/sysvi386/opendir.c80
-rw-r--r--newlib/libc/sys/sysvi386/pathconf.s6
-rw-r--r--newlib/libc/sys/sysvi386/pause.s6
-rw-r--r--newlib/libc/sys/sysvi386/pipe.s12
-rw-r--r--newlib/libc/sys/sysvi386/read.s8
-rw-r--r--newlib/libc/sys/sysvi386/readdir.c72
-rw-r--r--newlib/libc/sys/sysvi386/rename.s9
-rw-r--r--newlib/libc/sys/sysvi386/rewinddir.c49
-rw-r--r--newlib/libc/sys/sysvi386/rmdir.s9
-rw-r--r--newlib/libc/sys/sysvi386/sbrk.c21
-rw-r--r--newlib/libc/sys/sysvi386/scandir.c134
-rw-r--r--newlib/libc/sys/sysvi386/seekdir.c52
-rw-r--r--newlib/libc/sys/sysvi386/setgid.s9
-rw-r--r--newlib/libc/sys/sysvi386/setuid.s9
-rw-r--r--newlib/libc/sys/sysvi386/sigaction.s20
-rw-r--r--newlib/libc/sys/sysvi386/signal.s16
-rw-r--r--newlib/libc/sys/sysvi386/sigprocmask.s12
-rw-r--r--newlib/libc/sys/sysvi386/sleep.c12
-rw-r--r--newlib/libc/sys/sysvi386/speed.c24
-rw-r--r--newlib/libc/sys/sysvi386/stat.s9
-rw-r--r--newlib/libc/sys/sysvi386/sys/dirent.h36
-rw-r--r--newlib/libc/sys/sysvi386/sys/param.h8
-rw-r--r--newlib/libc/sys/sysvi386/sys/setjmp.h6
-rw-r--r--newlib/libc/sys/sysvi386/sys/termio.h82
-rw-r--r--newlib/libc/sys/sysvi386/sys/termios.h121
-rw-r--r--newlib/libc/sys/sysvi386/sys/utime.h12
-rw-r--r--newlib/libc/sys/sysvi386/sys/utmp.h43
-rw-r--r--newlib/libc/sys/sysvi386/sys/wait.h42
-rw-r--r--newlib/libc/sys/sysvi386/sysconf.s6
-rw-r--r--newlib/libc/sys/sysvi386/tcgetattr.c6
-rw-r--r--newlib/libc/sys/sysvi386/tcline.c84
-rw-r--r--newlib/libc/sys/sysvi386/tcsetattr.c7
-rw-r--r--newlib/libc/sys/sysvi386/telldir.c129
-rw-r--r--newlib/libc/sys/sysvi386/time.s8
-rw-r--r--newlib/libc/sys/sysvi386/times.s8
-rw-r--r--newlib/libc/sys/sysvi386/unlink.s9
-rw-r--r--newlib/libc/sys/sysvi386/utime.s8
-rw-r--r--newlib/libc/sys/sysvi386/wait.s13
-rw-r--r--newlib/libc/sys/sysvi386/waitpid.s18
-rw-r--r--newlib/libc/sys/sysvi386/write.s8
-rw-r--r--newlib/libc/sys/sysvnecv70/Makefile.am15
-rw-r--r--newlib/libc/sys/sysvnecv70/Makefile.in301
-rw-r--r--newlib/libc/sys/sysvnecv70/aclocal.m4282
-rw-r--r--newlib/libc/sys/sysvnecv70/cerror.s9
-rw-r--r--newlib/libc/sys/sysvnecv70/close.s10
-rwxr-xr-xnewlib/libc/sys/sysvnecv70/configure1687
-rw-r--r--newlib/libc/sys/sysvnecv70/configure.in12
-rw-r--r--newlib/libc/sys/sysvnecv70/crt0.s28
-rw-r--r--newlib/libc/sys/sysvnecv70/exit.s7
-rw-r--r--newlib/libc/sys/sysvnecv70/fps.s18
-rw-r--r--newlib/libc/sys/sysvnecv70/fpx.c73
-rw-r--r--newlib/libc/sys/sysvnecv70/fstat.s11
-rw-r--r--newlib/libc/sys/sysvnecv70/ioctl.s9
-rw-r--r--newlib/libc/sys/sysvnecv70/isatty.s19
-rw-r--r--newlib/libc/sys/sysvnecv70/lseek.s9
-rw-r--r--newlib/libc/sys/sysvnecv70/open.s10
-rw-r--r--newlib/libc/sys/sysvnecv70/read.s9
-rw-r--r--newlib/libc/sys/sysvnecv70/sbrk.s34
-rw-r--r--newlib/libc/sys/sysvnecv70/sysv60.s9
-rw-r--r--newlib/libc/sys/sysvnecv70/sysvnecv70.tex129
-rw-r--r--newlib/libc/sys/sysvnecv70/write.s9
-rw-r--r--newlib/libc/sys/tic80/Makefile.am19
-rw-r--r--newlib/libc/sys/tic80/Makefile.in311
-rw-r--r--newlib/libc/sys/tic80/aclocal.m4282
-rwxr-xr-xnewlib/libc/sys/tic80/configure1687
-rw-r--r--newlib/libc/sys/tic80/configure.in12
-rw-r--r--newlib/libc/sys/tic80/crt0.c22
-rw-r--r--newlib/libc/sys/w65/Makefile.am14
-rw-r--r--newlib/libc/sys/w65/Makefile.in299
-rw-r--r--newlib/libc/sys/w65/aclocal.m4282
-rwxr-xr-xnewlib/libc/sys/w65/configure1687
-rw-r--r--newlib/libc/sys/w65/configure.in12
-rw-r--r--newlib/libc/sys/w65/crt0.c16
-rw-r--r--newlib/libc/sys/w65/sys/syscall.h31
-rw-r--r--newlib/libc/sys/w65/syscalls.c191
-rw-r--r--newlib/libc/sys/w65/trap.c15
-rw-r--r--newlib/libc/sys/z8ksim/Makefile.am14
-rw-r--r--newlib/libc/sys/z8ksim/Makefile.in299
-rw-r--r--newlib/libc/sys/z8ksim/aclocal.m4282
-rwxr-xr-xnewlib/libc/sys/z8ksim/configure1687
-rw-r--r--newlib/libc/sys/z8ksim/configure.in12
-rw-r--r--newlib/libc/sys/z8ksim/crt0.c58
-rw-r--r--newlib/libc/sys/z8ksim/glue.c156
-rw-r--r--newlib/libc/sys/z8ksim/sys/syscall.h23
-rw-r--r--newlib/libc/syscalls/Makefile.am44
-rw-r--r--newlib/libc/syscalls/Makefile.in319
-rw-r--r--newlib/libc/syscalls/sysclose.c14
-rw-r--r--newlib/libc/syscalls/sysexecve.c16
-rw-r--r--newlib/libc/syscalls/sysfcntl.c17
-rw-r--r--newlib/libc/syscalls/sysfork.c19
-rw-r--r--newlib/libc/syscalls/sysfstat.c16
-rw-r--r--newlib/libc/syscalls/sysgetpid.c13
-rw-r--r--newlib/libc/syscalls/sysgettod.c20
-rw-r--r--newlib/libc/syscalls/syskill.c15
-rw-r--r--newlib/libc/syscalls/syslink.c15
-rw-r--r--newlib/libc/syscalls/syslseek.c17
-rw-r--r--newlib/libc/syscalls/sysopen.c43
-rw-r--r--newlib/libc/syscalls/sysread.c17
-rw-r--r--newlib/libc/syscalls/syssbrk.c18
-rw-r--r--newlib/libc/syscalls/sysstat.c16
-rw-r--r--newlib/libc/syscalls/systimes.c15
-rw-r--r--newlib/libc/syscalls/sysunlink.c14
-rw-r--r--newlib/libc/syscalls/syswait.c14
-rw-r--r--newlib/libc/syscalls/syswrite.c17
-rw-r--r--newlib/libc/time/Makefile.am48
-rw-r--r--newlib/libc/time/Makefile.in323
-rw-r--r--newlib/libc/time/asctime.c64
-rw-r--r--newlib/libc/time/asctime_r.c27
-rw-r--r--newlib/libc/time/clock.c69
-rw-r--r--newlib/libc/time/ctime.c52
-rw-r--r--newlib/libc/time/ctime_r.c15
-rw-r--r--newlib/libc/time/difftime.c44
-rw-r--r--newlib/libc/time/gmtime.c67
-rw-r--r--newlib/libc/time/gmtime_r.c17
-rw-r--r--newlib/libc/time/lcltime.c57
-rw-r--r--newlib/libc/time/lcltime_r.c104
-rw-r--r--newlib/libc/time/mktime.c204
-rw-r--r--newlib/libc/time/strftime.c444
-rw-r--r--newlib/libc/time/time.c59
-rw-r--r--newlib/libc/time/time.tex86
-rw-r--r--newlib/libc/unix/Makefile.am27
-rw-r--r--newlib/libc/unix/Makefile.in300
-rw-r--r--newlib/libc/unix/getcwd.c265
-rw-r--r--newlib/libc/unix/getlogin.c40
-rw-r--r--newlib/libc/unix/getpass.c94
-rw-r--r--newlib/libc/unix/getpwent.c129
-rw-r--r--newlib/libc/unix/getut.c85
-rw-r--r--newlib/libc/unix/sigset.c61
-rw-r--r--newlib/libc/unix/ttyname.c85
-rw-r--r--newlib/libm/Makefile.am54
-rw-r--r--newlib/libm/Makefile.in556
-rw-r--r--newlib/libm/aclocal.m4282
-rw-r--r--newlib/libm/common/Makefile.am97
-rw-r--r--newlib/libm/common/Makefile.in341
-rw-r--r--newlib/libm/common/common.tex12
-rw-r--r--newlib/libm/common/fdlibm.h261
-rw-r--r--newlib/libm/common/s_cbrt.c123
-rw-r--r--newlib/libm/common/s_copysign.c82
-rw-r--r--newlib/libm/common/s_expm1.c271
-rw-r--r--newlib/libm/common/s_finite.c35
-rw-r--r--newlib/libm/common/s_ilogb.c92
-rw-r--r--newlib/libm/common/s_infinity.c48
-rw-r--r--newlib/libm/common/s_lib_ver.c35
-rw-r--r--newlib/libm/common/s_log1p.c217
-rw-r--r--newlib/libm/common/s_logb.c42
-rw-r--r--newlib/libm/common/s_matherr.c123
-rw-r--r--newlib/libm/common/s_modf.c131
-rw-r--r--newlib/libm/common/s_nan.c47
-rw-r--r--newlib/libm/common/s_nextafter.c121
-rw-r--r--newlib/libm/common/s_rint.c90
-rw-r--r--newlib/libm/common/s_scalbn.c103
-rw-r--r--newlib/libm/common/sf_cbrt.c93
-rw-r--r--newlib/libm/common/sf_copysign.c50
-rw-r--r--newlib/libm/common/sf_expm1.c146
-rw-r--r--newlib/libm/common/sf_finite.c47
-rw-r--r--newlib/libm/common/sf_ilogb.c53
-rw-r--r--newlib/libm/common/sf_infinity.c23
-rw-r--r--newlib/libm/common/sf_log1p.c121
-rw-r--r--newlib/libm/common/sf_logb.c48
-rw-r--r--newlib/libm/common/sf_modf.c73
-rw-r--r--newlib/libm/common/sf_nan.c23
-rw-r--r--newlib/libm/common/sf_nextafter.c79
-rw-r--r--newlib/libm/common/sf_rint.c81
-rw-r--r--newlib/libm/common/sf_scalbn.c79
-rw-r--r--newlib/libm/config.h.in1
-rwxr-xr-xnewlib/libm/configure1713
-rw-r--r--newlib/libm/configure.in21
-rw-r--r--newlib/libm/libm.texinfo161
-rw-r--r--newlib/libm/math/Makefile.am173
-rw-r--r--newlib/libm/math/Makefile.in431
-rw-r--r--newlib/libm/math/e_acos.c111
-rw-r--r--newlib/libm/math/e_acosh.c70
-rw-r--r--newlib/libm/math/e_asin.c120
-rw-r--r--newlib/libm/math/e_atan2.c131
-rw-r--r--newlib/libm/math/e_atanh.c75
-rw-r--r--newlib/libm/math/e_cosh.c93
-rw-r--r--newlib/libm/math/e_exp.c167
-rw-r--r--newlib/libm/math/e_fmod.c140
-rw-r--r--newlib/libm/math/e_hypot.c128
-rw-r--r--newlib/libm/math/e_j0.c487
-rw-r--r--newlib/libm/math/e_j1.c486
-rw-r--r--newlib/libm/math/e_jn.c281
-rw-r--r--newlib/libm/math/e_log.c146
-rw-r--r--newlib/libm/math/e_log10.c98
-rw-r--r--newlib/libm/math/e_pow.c312
-rw-r--r--newlib/libm/math/e_rem_pio2.c185
-rw-r--r--newlib/libm/math/e_remainder.c80
-rw-r--r--newlib/libm/math/e_scalb.c55
-rw-r--r--newlib/libm/math/e_sinh.c86
-rw-r--r--newlib/libm/math/e_sqrt.c452
-rw-r--r--newlib/libm/math/ef_acos.c84
-rw-r--r--newlib/libm/math/ef_acosh.c53
-rw-r--r--newlib/libm/math/ef_asin.c87
-rw-r--r--newlib/libm/math/ef_atan2.c101
-rw-r--r--newlib/libm/math/ef_atanh.c54
-rw-r--r--newlib/libm/math/ef_cosh.c70
-rw-r--r--newlib/libm/math/ef_exp.c102
-rw-r--r--newlib/libm/math/ef_fmod.c108
-rw-r--r--newlib/libm/math/ef_hypot.c82
-rw-r--r--newlib/libm/math/ef_j0.c439
-rw-r--r--newlib/libm/math/ef_j1.c439
-rw-r--r--newlib/libm/math/ef_jn.c207
-rw-r--r--newlib/libm/math/ef_log.c92
-rw-r--r--newlib/libm/math/ef_log10.c62
-rw-r--r--newlib/libm/math/ef_pow.c252
-rw-r--r--newlib/libm/math/ef_rem_pio2.c193
-rw-r--r--newlib/libm/math/ef_remainder.c68
-rw-r--r--newlib/libm/math/ef_scalb.c53
-rw-r--r--newlib/libm/math/ef_sinh.c63
-rw-r--r--newlib/libm/math/ef_sqrt.c92
-rw-r--r--newlib/libm/math/er_gamma.c32
-rw-r--r--newlib/libm/math/er_lgamma.c309
-rw-r--r--newlib/libm/math/erf_gamma.c34
-rw-r--r--newlib/libm/math/erf_lgamma.c244
-rw-r--r--newlib/libm/math/k_cos.c96
-rw-r--r--newlib/libm/math/k_rem_pio2.c320
-rw-r--r--newlib/libm/math/k_sin.c79
-rw-r--r--newlib/libm/math/k_standard.c784
-rw-r--r--newlib/libm/math/k_tan.c132
-rw-r--r--newlib/libm/math/kf_cos.c59
-rw-r--r--newlib/libm/math/kf_rem_pio2.c208
-rw-r--r--newlib/libm/math/kf_sin.c49
-rw-r--r--newlib/libm/math/kf_tan.c96
-rw-r--r--newlib/libm/math/math.tex199
-rw-r--r--newlib/libm/math/s_asinh.c107
-rw-r--r--newlib/libm/math/s_atan.c181
-rw-r--r--newlib/libm/math/s_ceil.c80
-rw-r--r--newlib/libm/math/s_cos.c82
-rw-r--r--newlib/libm/math/s_erf.c373
-rw-r--r--newlib/libm/math/s_fabs.c73
-rw-r--r--newlib/libm/math/s_floor.c134
-rw-r--r--newlib/libm/math/s_frexp.c114
-rw-r--r--newlib/libm/math/s_infconst.c15
-rw-r--r--newlib/libm/math/s_isinf.c26
-rw-r--r--newlib/libm/math/s_isnan.c122
-rw-r--r--newlib/libm/math/s_ldexp.c81
-rw-r--r--newlib/libm/math/s_signif.c34
-rw-r--r--newlib/libm/math/s_sin.c132
-rw-r--r--newlib/libm/math/s_tan.c114
-rw-r--r--newlib/libm/math/s_tanh.c128
-rw-r--r--newlib/libm/math/sf_asinh.c66
-rw-r--r--newlib/libm/math/sf_atan.c129
-rw-r--r--newlib/libm/math/sf_ceil.c69
-rw-r--r--newlib/libm/math/sf_cos.c68
-rw-r--r--newlib/libm/math/sf_erf.c246
-rw-r--r--newlib/libm/math/sf_fabs.c47
-rw-r--r--newlib/libm/math/sf_floor.c79
-rw-r--r--newlib/libm/math/sf_frexp.c61
-rw-r--r--newlib/libm/math/sf_isinf.c35
-rw-r--r--newlib/libm/math/sf_isnan.c49
-rw-r--r--newlib/libm/math/sf_ldexp.c44
-rw-r--r--newlib/libm/math/sf_signif.c40
-rw-r--r--newlib/libm/math/sf_sin.c62
-rw-r--r--newlib/libm/math/sf_tan.c57
-rw-r--r--newlib/libm/math/sf_tanh.c73
-rw-r--r--newlib/libm/math/w_acos.c118
-rw-r--r--newlib/libm/math/w_acosh.c122
-rw-r--r--newlib/libm/math/w_asin.c121
-rw-r--r--newlib/libm/math/w_atan2.c117
-rw-r--r--newlib/libm/math/w_atanh.c140
-rw-r--r--newlib/libm/math/w_cabs.c20
-rw-r--r--newlib/libm/math/w_cosh.c116
-rw-r--r--newlib/libm/math/w_drem.c15
-rw-r--r--newlib/libm/math/w_exp.c136
-rw-r--r--newlib/libm/math/w_fmod.c107
-rw-r--r--newlib/libm/math/w_gamma.c193
-rw-r--r--newlib/libm/math/w_hypot.c109
-rw-r--r--newlib/libm/math/w_j0.c229
-rw-r--r--newlib/libm/math/w_j1.c121
-rw-r--r--newlib/libm/math/w_jn.c141
-rw-r--r--newlib/libm/math/w_lgamma.c89
-rw-r--r--newlib/libm/math/w_log.c115
-rw-r--r--newlib/libm/math/w_log10.c115
-rw-r--r--newlib/libm/math/w_pow.c231
-rw-r--r--newlib/libm/math/w_remainder.c108
-rw-r--r--newlib/libm/math/w_scalb.c94
-rw-r--r--newlib/libm/math/w_sinh.c120
-rw-r--r--newlib/libm/math/w_sqrt.c93
-rw-r--r--newlib/libm/math/wf_acos.c69
-rw-r--r--newlib/libm/math/wf_acosh.c70
-rw-r--r--newlib/libm/math/wf_asin.c71
-rw-r--r--newlib/libm/math/wf_atan2.c71
-rw-r--r--newlib/libm/math/wf_atanh.c83
-rw-r--r--newlib/libm/math/wf_cabs.c20
-rw-r--r--newlib/libm/math/wf_cosh.c78
-rw-r--r--newlib/libm/math/wf_drem.c19
-rw-r--r--newlib/libm/math/wf_exp.c103
-rw-r--r--newlib/libm/math/wf_fmod.c73
-rw-r--r--newlib/libm/math/wf_gamma.c93
-rw-r--r--newlib/libm/math/wf_hypot.c79
-rw-r--r--newlib/libm/math/wf_j0.c137
-rw-r--r--newlib/libm/math/wf_j1.c139
-rw-r--r--newlib/libm/math/wf_jn.c138
-rw-r--r--newlib/libm/math/wf_lgamma.c87
-rw-r--r--newlib/libm/math/wf_log.c85
-rw-r--r--newlib/libm/math/wf_log10.c88
-rw-r--r--newlib/libm/math/wf_pow.c179
-rw-r--r--newlib/libm/math/wf_remainder.c74
-rw-r--r--newlib/libm/math/wf_scalb.c118
-rw-r--r--newlib/libm/math/wf_sinh.c78
-rw-r--r--newlib/libm/math/wf_sqrt.c72
-rw-r--r--newlib/libm/math/wr_gamma.c76
-rw-r--r--newlib/libm/math/wr_lgamma.c77
-rw-r--r--newlib/libm/math/wrf_gamma.c74
-rw-r--r--newlib/libm/math/wrf_lgamma.c75
-rw-r--r--newlib/libm/mathfp/Makefile.am184
-rw-r--r--newlib/libm/mathfp/Makefile.in410
-rw-r--r--newlib/libm/mathfp/e_acosh.c135
-rw-r--r--newlib/libm/mathfp/e_atanh.c139
-rw-r--r--newlib/libm/mathfp/e_hypot.c170
-rw-r--r--newlib/libm/mathfp/e_j0.c487
-rw-r--r--newlib/libm/mathfp/e_j1.c486
-rw-r--r--newlib/libm/mathfp/e_remainder.c113
-rw-r--r--newlib/libm/mathfp/e_scalb.c55
-rw-r--r--newlib/libm/mathfp/ef_acosh.c53
-rw-r--r--newlib/libm/mathfp/ef_atanh.c54
-rw-r--r--newlib/libm/mathfp/ef_hypot.c82
-rw-r--r--newlib/libm/mathfp/ef_j0.c439
-rw-r--r--newlib/libm/mathfp/ef_j1.c439
-rw-r--r--newlib/libm/mathfp/ef_remainder.c68
-rw-r--r--newlib/libm/mathfp/ef_scalb.c53
-rw-r--r--newlib/libm/mathfp/er_gamma.c32
-rw-r--r--newlib/libm/mathfp/er_lgamma.c422
-rw-r--r--newlib/libm/mathfp/erf_gamma.c34
-rw-r--r--newlib/libm/mathfp/erf_lgamma.c244
-rw-r--r--newlib/libm/mathfp/mathfp.tex199
-rw-r--r--newlib/libm/mathfp/s_acos.c93
-rw-r--r--newlib/libm/mathfp/s_asin.c29
-rw-r--r--newlib/libm/mathfp/s_asine.c186
-rw-r--r--newlib/libm/mathfp/s_asinh.c107
-rw-r--r--newlib/libm/mathfp/s_atan.c83
-rw-r--r--newlib/libm/mathfp/s_atan2.c89
-rw-r--r--newlib/libm/mathfp/s_atangent.c213
-rw-r--r--newlib/libm/mathfp/s_ceil.c38
-rw-r--r--newlib/libm/mathfp/s_cos.c29
-rw-r--r--newlib/libm/mathfp/s_cosh.c80
-rw-r--r--newlib/libm/mathfp/s_erf.c373
-rw-r--r--newlib/libm/mathfp/s_exp.c133
-rw-r--r--newlib/libm/mathfp/s_fabs.c80
-rw-r--r--newlib/libm/mathfp/s_floor.c92
-rw-r--r--newlib/libm/mathfp/s_fmod.c187
-rw-r--r--newlib/libm/mathfp/s_frexp.c110
-rw-r--r--newlib/libm/mathfp/s_infconst.c15
-rw-r--r--newlib/libm/mathfp/s_isinf.c37
-rw-r--r--newlib/libm/mathfp/s_isnan.c125
-rw-r--r--newlib/libm/mathfp/s_ispos.c35
-rw-r--r--newlib/libm/mathfp/s_ldexp.c125
-rw-r--r--newlib/libm/mathfp/s_log.c29
-rw-r--r--newlib/libm/mathfp/s_log10.c68
-rw-r--r--newlib/libm/mathfp/s_logarithm.c135
-rw-r--r--newlib/libm/mathfp/s_mathcnst.c24
-rw-r--r--newlib/libm/mathfp/s_numtest.c58
-rw-r--r--newlib/libm/mathfp/s_pow.c146
-rw-r--r--newlib/libm/mathfp/s_signif.c34
-rw-r--r--newlib/libm/mathfp/s_sin.c29
-rw-r--r--newlib/libm/mathfp/s_sine.c166
-rw-r--r--newlib/libm/mathfp/s_sineh.c185
-rw-r--r--newlib/libm/mathfp/s_sinf.c34
-rw-r--r--newlib/libm/mathfp/s_sinh.c29
-rw-r--r--newlib/libm/mathfp/s_sqrt.c129
-rw-r--r--newlib/libm/mathfp/s_tan.c139
-rw-r--r--newlib/libm/mathfp/s_tanh.c117
-rw-r--r--newlib/libm/mathfp/sf_acos.c33
-rw-r--r--newlib/libm/mathfp/sf_asin.c34
-rw-r--r--newlib/libm/mathfp/sf_asine.c105
-rw-r--r--newlib/libm/mathfp/sf_asinh.c66
-rw-r--r--newlib/libm/mathfp/sf_atan.c45
-rw-r--r--newlib/libm/mathfp/sf_atan2.c34
-rw-r--r--newlib/libm/mathfp/sf_atangent.c140
-rw-r--r--newlib/libm/mathfp/sf_ceil.c42
-rw-r--r--newlib/libm/mathfp/sf_cos.c34
-rw-r--r--newlib/libm/mathfp/sf_cosh.c33
-rw-r--r--newlib/libm/mathfp/sf_erf.c246
-rw-r--r--newlib/libm/mathfp/sf_exp.c92
-rw-r--r--newlib/libm/mathfp/sf_fabs.c45
-rw-r--r--newlib/libm/mathfp/sf_floor.c43
-rw-r--r--newlib/libm/mathfp/sf_fmod.c103
-rw-r--r--newlib/libm/mathfp/sf_frexp.c58
-rw-r--r--newlib/libm/mathfp/sf_isinf.c33
-rw-r--r--newlib/libm/mathfp/sf_isnan.c33
-rw-r--r--newlib/libm/mathfp/sf_ispos.c40
-rw-r--r--newlib/libm/mathfp/sf_ldexp.c81
-rw-r--r--newlib/libm/mathfp/sf_log.c34
-rw-r--r--newlib/libm/mathfp/sf_log10.c34
-rw-r--r--newlib/libm/mathfp/sf_logarithm.c72
-rw-r--r--newlib/libm/mathfp/sf_numtest.c63
-rw-r--r--newlib/libm/mathfp/sf_pow.c107
-rw-r--r--newlib/libm/mathfp/sf_signif.c40
-rw-r--r--newlib/libm/mathfp/sf_sin.c34
-rw-r--r--newlib/libm/mathfp/sf_sine.c112
-rw-r--r--newlib/libm/mathfp/sf_sineh.c110
-rw-r--r--newlib/libm/mathfp/sf_sinh.c34
-rw-r--r--newlib/libm/mathfp/sf_sqrt.c100
-rw-r--r--newlib/libm/mathfp/sf_tan.c104
-rw-r--r--newlib/libm/mathfp/sf_tanh.c77
-rw-r--r--newlib/libm/mathfp/w_cabs.c20
-rw-r--r--newlib/libm/mathfp/w_drem.c15
-rw-r--r--newlib/libm/mathfp/w_jn.c248
-rw-r--r--newlib/libm/mathfp/wf_cabs.c20
-rw-r--r--newlib/libm/mathfp/wf_drem.c19
-rw-r--r--newlib/libm/mathfp/wf_jn.c138
-rw-r--r--newlib/libm/mathfp/zmath.h55
-rw-r--r--newlib/libm/test/Makefile.in190
-rw-r--r--newlib/libm/test/acos_vec.c288
-rw-r--r--newlib/libm/test/acosf_vec.c288
-rw-r--r--newlib/libm/test/acosh_vec.c288
-rw-r--r--newlib/libm/test/acoshf_vec.c288
-rw-r--r--newlib/libm/test/asin_vec.c288
-rw-r--r--newlib/libm/test/asinf_vec.c288
-rw-r--r--newlib/libm/test/asinh_vec.c288
-rw-r--r--newlib/libm/test/asinhf_vec.c288
-rw-r--r--newlib/libm/test/atan2_vec.c1604
-rw-r--r--newlib/libm/test/atan2f_vec.c1604
-rw-r--r--newlib/libm/test/atan_vec.c288
-rw-r--r--newlib/libm/test/atanf_vec.c288
-rw-r--r--newlib/libm/test/atanh_vec.c288
-rw-r--r--newlib/libm/test/atanhf_vec.c288
-rw-r--r--newlib/libm/test/ceil_vec.c288
-rw-r--r--newlib/libm/test/ceilf_vec.c288
-rw-r--r--newlib/libm/test/conv_vec.c3640
-rw-r--r--newlib/libm/test/convert.c366
-rw-r--r--newlib/libm/test/cos_vec.c288
-rw-r--r--newlib/libm/test/cosf_vec.c287
-rw-r--r--newlib/libm/test/cosh_vec.c288
-rw-r--r--newlib/libm/test/coshf_vec.c288
-rw-r--r--newlib/libm/test/dcvt.c605
-rw-r--r--newlib/libm/test/dvec.c602
-rw-r--r--newlib/libm/test/erf_vec.c288
-rw-r--r--newlib/libm/test/erfc_vec.c286
-rw-r--r--newlib/libm/test/erfcf_vec.c286
-rw-r--r--newlib/libm/test/erff_vec.c286
-rw-r--r--newlib/libm/test/exp_vec.c288
-rw-r--r--newlib/libm/test/expf_vec.c288
-rw-r--r--newlib/libm/test/fabs_vec.c288
-rw-r--r--newlib/libm/test/fabsf_vec.c288
-rw-r--r--newlib/libm/test/floor_vec.c288
-rw-r--r--newlib/libm/test/floorf_vec.c288
-rw-r--r--newlib/libm/test/fmod_vec.c288
-rw-r--r--newlib/libm/test/fmodf_vec.c288
-rw-r--r--newlib/libm/test/gamma_vec.c288
-rw-r--r--newlib/libm/test/gammaf_vec.c288
-rw-r--r--newlib/libm/test/hypot_vec.c288
-rw-r--r--newlib/libm/test/hypotf_vec.c288
-rw-r--r--newlib/libm/test/iconv_vec.c1159
-rw-r--r--newlib/libm/test/j0_vec.c288
-rw-r--r--newlib/libm/test/j0f_vec.c288
-rw-r--r--newlib/libm/test/j1_vec.c285
-rw-r--r--newlib/libm/test/j1f_vec.c288
-rw-r--r--newlib/libm/test/jn_vec.c204
-rw-r--r--newlib/libm/test/jnf_vec.c204
-rw-r--r--newlib/libm/test/log10_vec.c288
-rw-r--r--newlib/libm/test/log10f_vec.c288
-rw-r--r--newlib/libm/test/log1p_vec.c288
-rw-r--r--newlib/libm/test/log1pf_vec.c288
-rw-r--r--newlib/libm/test/log2_vec.c400
-rw-r--r--newlib/libm/test/log2f_vec.c402
-rw-r--r--newlib/libm/test/log_vec.c288
-rw-r--r--newlib/libm/test/logf_vec.c288
-rw-r--r--newlib/libm/test/math.c472
-rw-r--r--newlib/libm/test/math2.c232
-rw-r--r--newlib/libm/test/sin_vec.c288
-rw-r--r--newlib/libm/test/sinf_vec.c286
-rw-r--r--newlib/libm/test/sinh_vec.c288
-rw-r--r--newlib/libm/test/sinhf_vec.c288
-rw-r--r--newlib/libm/test/sprint_ivec.c5017
-rw-r--r--newlib/libm/test/sprint_vec.c3985
-rw-r--r--newlib/libm/test/sqrt_vec.c288
-rw-r--r--newlib/libm/test/sqrtf_vec.c288
-rw-r--r--newlib/libm/test/string.c556
-rw-r--r--newlib/libm/test/tan_vec.c288
-rw-r--r--newlib/libm/test/tanf_vec.c288
-rw-r--r--newlib/libm/test/tanh_vec.c288
-rw-r--r--newlib/libm/test/tanhf_vec.c288
-rw-r--r--newlib/libm/test/test.c291
-rw-r--r--newlib/libm/test/test.h145
-rw-r--r--newlib/libm/test/test_ieee.c180
-rw-r--r--newlib/libm/test/test_is.c2031
-rw-r--r--newlib/libm/test/y0_vec.c288
-rw-r--r--newlib/libm/test/y0f_vec.c288
-rw-r--r--newlib/libm/test/y1_vec.c288
-rw-r--r--newlib/libm/test/y1f_vec.c288
-rw-r--r--newlib/libm/test/yn_vec.c204
-rw-r--r--newlib/libm/test/ynf_vec.c199
1520 files changed, 282219 insertions, 0 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
new file mode 100644
index 00000000000..0dde3638842
--- /dev/null
+++ b/newlib/ChangeLog
@@ -0,0 +1,6797 @@
+Thu Feb 17 01:42:50 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * libc/stdio/vfscanf.c (limits.h): #include.
+ (MAX_LONG_LEN): #define.
+ (__svfscanf): Handle floating point numbers with arbitrary amounts
+ of leading zeroes.
+
+2000-02-15 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/arm/syscalls.c (_fstat): Initialise all fields to
+ zero. Set the blocksize to 1024/
+
+Thu Jan 20 18:57:00 2000 Fernando Nasser <fnasser@redhat.com>
+
+ * setvbuf.c (setvbuf): Set size to BUFSIZ when passed a zero size
+ with line buffering.
+
+Mon Jan 10 18:43:00 2000 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * acinclude.m4: Changed include directory for winsup headers.
+ * aclocal.m4 configure libc/aclocal.m4
+ libc/configure libc/ctype/Makefile.in libc/errno/Makefile.in
+ libc/locale/Makefile.in libc/machine/aclocal.m4
+ libc/machine/configure libc/machine/a29k/aclocal.m4
+ libc/machine/a29k/configure libc/machine/arm/aclocal.m4
+ libc/machine/arm/configure libc/machine/d10v/aclocal.m4
+ libc/machine/d10v/configure libc/machine/d30v/aclocal.m4
+ libc/machine/d30v/configure libc/machine/fr30/aclocal.m4
+ libc/machine/fr30/configure
+ libc/machine/h8300/aclocal.m4
+ libc/machine/h8300/configure libc/machine/h8500/aclocal.m4
+ libc/machine/h8500/configure libc/machine/hppa/aclocal.m4
+ libc/machine/hppa/configure libc/machine/i386/aclocal.m4
+ libc/machine/i386/configure libc/machine/i960/aclocal.m4
+ libc/machine/i960/configure libc/machine/m32r/aclocal.m4
+ libc/machine/m32r/configure libc/machine/m68k/aclocal.m4
+ libc/machine/m68k/configure libc/machine/m88k/aclocal.m4
+ libc/machine/m88k/configure libc/machine/mips/aclocal.m4
+ libc/machine/mips/configure libc/machine/mn10200/aclocal.m4
+ libc/machine/mn10200/configure libc/machine/mn10300/aclocal.m4
+ libc/machine/mn10300/configure libc/machine/necv70/aclocal.m4
+ libc/machine/necv70/configure libc/machine/powerpc/aclocal.m4
+ libc/machine/powerpc/configure
+ libc/machine/sh/aclocal.m4
+ libc/machine/sh/configure libc/machine/sparc/aclocal.m4
+ libc/machine/sparc/configure
+ libc/machine/tic80/aclocal.m4 libc/machine/tic80/configure
+ libc/machine/v850/aclocal.m4 libc/machine/v850/configure
+ libc/machine/w65/aclocal.m4 libc/machine/w65/configure
+ libc/machine/z8k/aclocal.m4 libc/machine/z8k/configure
+ libc/misc/Makefile.in libc/posix/Makefile.in
+ libc/reent/Makefile.in
+ libc/signal/Makefile.in
+ libc/string/Makefile.in libc/sys/aclocal.m4 libc/sys/configure
+ libc/sys/a29khif/aclocal.m4 libc/sys/a29khif/configure
+ libc/sys/arm/Makefile.in libc/sys/arm/aclocal.m4
+ libc/sys/arm/configure libc/sys/cygwin/aclocal.m4
+ libc/sys/cygwin/configure libc/sys/d10v/Makefile.in
+ libc/sys/d10v/aclocal.m4 libc/sys/d10v/configure
+ libc/sys/decstation/aclocal.m4 libc/sys/decstation/configure
+ libc/sys/go32/aclocal.m4 libc/sys/go32/configure
+ libc/sys/h8300hms/aclocal.m4 libc/sys/h8300hms/configure
+ libc/sys/h8500hms/aclocal.m4 libc/sys/h8500hms/configure
+ libc/sys/m88kbug/aclocal.m4 libc/sys/m88kbug/configure
+ libc/sys/netware/aclocal.m4 libc/sys/netware/configure
+ libc/sys/rtems/aclocal.m4 libc/sys/rtems/configure
+ libc/sys/sh/Makefile.in libc/sys/sh/aclocal.m4
+ libc/sys/sh/configure libc/sys/sparc64/aclocal.m4
+ libc/sys/sparc64/configure libc/sys/sun4/aclocal.m4
+ libc/sys/sun4/configure libc/sys/sysmec/aclocal.m4
+ libc/sys/sysmec/configure libc/sys/sysnec810/aclocal.m4
+ libc/sys/sysnec810/configure libc/sys/sysnecv850/aclocal.m4
+ libc/sys/sysnecv850/configure libc/sys/sysvi386/aclocal.m4
+ libc/sys/sysvi386/configure libc/sys/sysvnecv70/aclocal.m4
+ libc/sys/sysvnecv70/configure libc/sys/tic80/aclocal.m4
+ libc/sys/tic80/configure libc/sys/w65/aclocal.m4
+ libc/sys/w65/configure libc/sys/z8ksim/aclocal.m4
+ libc/sys/z8ksim/configure libc/syscalls/Makefile.in
+ libc/time/Makefile.in libc/unix/Makefile.in libm/aclocal.m4
+ libm/configure: Regenerated.
+
+Mon Jan 10 18:43:46 2000 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/stdlib/putenv_r.c (_putenv_r): New file.
+ * libc/stdlib/strdup_r.c (_strdup_r): New file.
+ * libc/include/string.h: Added _strdup_r.
+ * libc/stdlib/putenv.c: Added call to reentrant version.
+ * libc/stdlib/strdup.c: Ditto.
+ * libc/stdlib/Makefile.am: Added _putenv_r and _unsetenv_r.
+ * libc/include/stdlib.h: Ditto.
+ * libc/stdlib/Makefile.in: Regenerated.
+ * libc/string/Makefile.in: Regenerated.
+ * libc/stdlib/setenv.c: Added reentrant version of unsetenv.
+ * libc/stdlib/setenv_r.c: Added unsetenv_r and changed memory
+ management calls to reentrant versions.
+ * libc/stdlib/wcstombs.c: Added #ifndef _REENT_ONLY wrapper.
+ * libc/stdlib/wctomb.c: Ditto.
+ * libc/stdlib/mblen.c: Ditto.
+ * libc/stdlib/mbstowcs.c: Ditto.
+ * libc/stdlib/mbtowc.c: Ditto.
+ * libc/stdlib/getenv.c: Ditto.
+ * libc/reent/reent.tex: Added references to _putenv_r, _setenv_r,
+ and _strdup_r.
+
+Thu Jan 6 15:33:46 2000 Christopher Faylor <cgf@cygnus.com>
+
+ patch from Corinna Vinschen <corinna@vinschen.de>
+ * libc/sys/cygwin/sys/param.h: Define NGROUP_MAX as 16.
+
+Mon Jan 03 14:36:00 2000 Ranjith Kumaran <ranjith@cygnus.com>
+
+ * libm/mathfp/s_atangent.c: Fix exponent calculation.
+ * libm/mathfp/s_ldexp.c: Ditto.
+ * libm/mathfp/sf_atangent.c: Ditto.
+ * libm/mathfp/sf_ldexp.c: Ditto.
+
+Tue Dec 14 5:42:00 1999 Ranjith Kumaran <ranjith@cygnus.com>
+
+ * libc/machine/i960/setjmp.S: fix typo leaving .link_pix uncommented
+ * libc/include/locale.h: define NULL to be 0.
+
+Tue Dec 7 15:41:45 1999 Jim Wilson <wilson@cygnus.com>
+
+ * libc/sys/sh/syscalls.c (stack_ptr): Move definition before first
+ function.
+
+Wed Dec 1 17:39:29 1999 Jeffrey A Law (law@cygnus.com)
+
+ * libc/machine/mn10300/setjmp.S: Handle am33.
+
+1999-11-26 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/arm/syscalls.c: Add function prototypes.
+ (stack_ptr): Move declaration before function definitions.
+
+Sat Nov 20 17:13:00 1999 Ranjith Kumaran <ranjith@cygnus.com>
+
+ * NEWS: Updated version information.
+ * README: Ditto.
+
+Tue Nov 09 12:19:21 1999 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/machine/i386/strchr.S: Fixed alignment test.
+
+Thu Oct 28 05:30:46 1999 Andrew Cagney <cagney@makita.cygnus.com>
+
+ * libc/sys/d10v/crt0.S (_start): Construct a real stack frame.
+
+Thu Oct 28 15:29:11 1999 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * libc/sys/d10v/crt0.S (_start): Initialize both SPI and SPU
+ ensuring that there is space between the two.
+
+Thu Oct 14 13:39:21 1999 Christopher Faylor <cgf@cygnus.com>
+
+ * libc/stdio/flags.c: Conditionalize check for 't' for cygwin case
+ only.
+
+1999-10-08 Vadim Egorov <egorovv@1c.ru>
+
+ * libc/include/stdlib.h: add ptsname, grantpt, unlockpt to cygwin
+ section
+
+Sat Oct 2 02:02:00 MEST 1999 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * libc/machine/sh/asm.h: Added __SH4_SINGLE__ to DELAYED_BRANCHES
+ * libc/machine/sh/memcpy.S: Fix line wrapping in SL macro
+
+Fri Oct 1 13:17:59 CDT 1999 <joel@OARcorp.com>
+ * libc/include/grp.h: Added getgrnam_r and getgrgid_r prototypes
+ per POSIX 1003.1b.
+ * libc/include/pwd.h: Added getpwnam_r and getpwuid_r prototypes
+ per POSIX 1003.1b.
+
+1999-09-13 DJ Delorie <dj@cygnus.com>
+
+ * libc/stdio/mktemp.c (_gettemp): on cygwin, check for EACCESS
+ also.
+
+Thu Sep 9 15:31:00 1999 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * setvbuf.c (setvbuf): When mallocing a buffer of size BUFSIZ,
+ also note BUFSIZ as its size.
+
+Tue Sep 7 17:15:00 1999 Joel Sherrill <joel@OARcorp.com>
+
+ * configure.host: Corrected feature defines for RTEMS.
+ * libc/include/sys/stat.h: Added protototype for RTEMS mknod.
+ * libc/include/sys/stat.h: mkfifo() should take const path arg.
+ * libc/include/sys/unistd.h: pathconf() should take const path arg.
+ Enabled usleep(), ftruncate(), and truncate() prototypes for RTEMS.
+ Added defines for _POSIX_JOB_CONTROL, _POSIX_SAVED_IDS, and
+ _POSIX_VERSION for RTEMS. Added defines for _PC_ASYNC_IO,
+ _PC_PRIO_IO, and _PC_SYNC_IO.
+ * libc/machine/m68k/Makefile.am: Added strcpy.c and strlen.c.
+ * libc/machine/m68k/Makefile.in: Regenerated.
+ * libc/machine/m68k/strcpy.c: New file.
+ * libc/machine/m68k/strlen.c: New file.
+ * libc/stdio/tmpnam.c: Always make the returned name usable.
+ * libc/sys/rtems/crt0.c: New version that passes all autoconf tests.
+ * libc/sys/rtems/sys/dirent.h: New file.
+ * libc/sys/rtems/sys/types.h: Added dev_t.
+
+Tue Sep 7 17:15:00 1999 Jay Kulpinski <jskulpin@eng01.gdds.com>
+
+ * libc/stdlib/mprec.c: Fixed unitialized variable problem.
+
+Fri Sep 3 12:35:20 1999 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/stdio/ftell.c (ftell): Backing off Joern's fix and
+ my patch.
+
+Thu Sep 2 22:05:20 1999 Christopher Faylor <cgf@cygnus.com>
+
+ patch from Jeff Johnston <jjohnstn@cygnus.com>
+ * libc/stdio/ftell.c (ftell): Avoid using buffer position when the
+ buffer is not in a useful state.
+
+1999-09-01 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/arm/syscalls.c (_link): Add stub.
+
+Fri Aug 27 23:09:09 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * ftell.c (ftell): Use actual position within buffer for text mode.
+ * findfp.c (std): Initialize ptr->_bf._size.
+
+Wed Aug 18 18:48:02 1999 Christopher Faylor <cgf@cygnus.com>
+
+ * libc/include/sys/unistd.h: Add nice() declaration.
+
+1999-08-09 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/arm/crt0.S (change_mode): Rename to __change_mode and
+ declare as a thumb function so that the disassembler will see the
+ mode change.
+
+Thu Aug 5 17:37:00 1999 Ranjith Kumaran <ranjith@cygnus.com>
+
+ * libc/reent/reent.tex: Updated list of reentrant functions.
+
+1999-07-09 Michael Meissner <meissner@cygnus.com>
+
+ * libc/include/stdlib.h (_findenv{,_r}): Add prototypes.
+
+Tue Jul 6 10:46:24 1999 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/stdio/sprintf.c: Moved snprintf and _snprintf_r to
+ separate file.
+ * libc/stdio/snprintf.c: New file.
+ * libc/stdio/vsprintf.c: Moved vsnprintf and _vsnprintf_r to
+ separate file.
+ * libc/stdio/vsnprintf.c: New file.
+ * libc/stdio/Makefile.am: Added snprintf.c and vsnprintf.c.
+ * libc/stdio/Makefile.in: Regenerated.
+
+Mon Jul 5 14:43:24 1999 Christopher Faylor <cgf@cygnus.com>
+
+ Patch submitted by Egor Duda <deo@logos-m.ru>:
+ * libc/include/stdio.h: Add declarations for *nprintf.
+ * libc/stdio/sprintf.c (snprintf): New function.
+ (_snprintf_r): New function.
+ * libc/stdio/vsprintf.c (vsnprintf): New function.
+ (_vnsprintf_r): New function.
+
+Wed Jun 30 16:36:27 1999 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/Makefile.am (stmp-targetdep): Remove extraneous blank.
+ * libm/Makefile.am (stmp-targetdep): Ditto.
+ * libc/Makefile.in: Regenerated.
+ * libm/Makefile.in: Ditto.
+
+Fri Jun 25 10:49:27 1999 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/Makefile.am (stmp-targetdep): Ignore "." in SUBDIRS.
+ * libm/Makefile.am (stmp-targetdep): Ditto.
+ * libc/Makefile.in: Regenerated.
+ * libm/Makefile.in: Ditto.
+
+Thu June 03 16:25:00 1999 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * Makefile.am: Removed dependencies on all-recursive and added "."
+ to the SUBDIRS list to prevent infinite recursion from occurring.
+ Also removed any references to EXTRA_DATA.
+ * libc/Makefile.am: Ditto.
+ * libc/machine/Makefile.am: Ditto.
+ * libc/machine/i386/Makefile.am: Ditto.
+ * libm/Makefile.am: Ditto.
+ * libc/sys/Makefile.am: Ditto.
+ * Makefile.in: Regenerated.
+ * aclocal.m4: Ditto.
+ * configure: Ditto.
+ * doc/Makefile.in: Ditto.
+ * doc/aclocal.m4: Ditto.
+ * doc/configure: Ditto.
+ * libc/Makefile.in: Ditto.
+ * libc/aclocal.m4: Ditto.
+ * libc/configure: Ditto.
+ * libc/machine/Makefile.in: Ditto.
+ * libc/machine/aclocal.m4: Ditto.
+ * libc/machine/configure: Ditto.
+ * libc/machine/mn10300/Makefile.in: Ditto.
+ * libc/machine/mn10300/aclocal.m4: Ditto.
+ * libc/machine/mn10300/configure: Ditto.
+ * libc/sys/Makefile.in: Ditto.
+ * libc/sys/aclocal.m4: Ditto.
+ * libc/sys/configure: Ditto.
+ * libm/Makefile.in: Ditto.
+ * libm/aclocal.m4: Ditto.
+ * libm/configure: Ditto.
+
+Thu June 03 16:20:00 1999 Ranjith Kumaran <ranjith@cygnus.com>
+
+ * libc/include/stdlib/stdlib.tex: Add link to env_lock.
+
+Fri May 28 17:09:00 1999 Ranjith Kumaran <ranjith@cygnus.com>
+
+ * libc/include/stdlib.h: Add reentrant routines.
+ * libc/stdlib/Makefile.am: Add reentrant routines.
+ * libc/stdlib/Makefile.in: Ditto.
+ * libc/stdlib/envlock.c: New file.
+ * libc/stdlib/envlock.h: New file.
+ * libc/stdlib/getenv.c: Modify to call reentrant routine.
+ * libc/stdlib/getenv_r.c: New file.
+ * libc/stdlib/mblen.c: Modify to call reentrant routine.
+ * libc/stdlib/mblen_r.c: New file.
+ * libc/stdlib/setenv.c: Modify to call reentrant routine.
+ * libc/stdlib/setenv_r.c: New file.
+ * libc/stdlib/stdlib.tex: Add reentrant routines.
+
+Mon May 17 22:01:38 1999 Christopher Faylor <cgf@cygnus.com>
+
+ * libc/include/sys/types.h: Define __MS_types__ whenever
+ cygwin or win32.
+
+Sun May 16 16:02:41 1999 Christopher Faylor <cgf@cygnus.com>
+
+ * libc/include/machine/ieeefp.h: Always default to little
+ endian if Windows, regardless of architecture.
+ * libc/include/machine/sethmp.h: Define JBLEN if CYGWIN
+ regardless of architecture.
+
+Mon May 3 11:49:18 1999 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/machine/setjmp.h: Accept CYGWIN define, even if
+ _WIN32 isn't defined.
+
+Mon May 3 11:41:51 1999 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libm/common/s_rint.c (rint): Add volatile qualifier for
+ intermediate value w.
+ * libm/common/sf_rint.c (rintf): Ditto.
+
+Thu Apr 29 20:34:27 1999 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/sys/arm/syscalls.c (remap_handle): Added check to
+ ensure that std streams are initialized before being referenced.
+
+1999-04-27 Jason Molenda (jsm@bugshack.cygnus.com)
+
+ * README: Update reference to newlib@cygnus.com new
+ newlib@sourceware.cygnus.com address.
+
+Mon Apr 26 18:17:33 1999 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/sys/types.h: Define MS_types if CYGWIN is defined.
+ * libc/include/sys/fcntl.h: Define _O_BINARY et al if CYGWIN is
+ defined, even if _WIN32 isn't defined.
+
+Sat Apr 24 19:59:55 1999 Christopher Faylor <cgf@cygnus.com>
+
+ * libc/include/sys/fcntl.h: Correct _O_CREATE to _O_CREAT.
+
+Wed Apr 21 18:01:00 1999 Ranjith Kumaran <ranjith@cygnus.com>
+
+ * libc/include/sys/reent.h: Change Long and ULong to __Long and
+ __ULong.
+ * libc/stdlib/dtoa.c: Ditto.
+ * libc/stdlib/mprec.c: Ditto.
+ * libc/stdlib/mprec.h: Ditto.
+ * libc/stdlib/strtod.c: Ditto.
+
+1999-04-21 Nick Clifton <nickc@cygnus.com>
+
+ * configure.host (mcore): Remove mcore machine directory.
+
+1999-04-18 Nick Clifton <nickc@cygnus.com>
+
+ * libc/include/machine/ieeefp.h: Add support for mcore target.
+ * libc/include/machine/setjmp.h: Add support for mcore target.
+ * configure.host: Add support for mcore target.
+
+1999-04-13 Mark Salter <msalter@cygnus.com>
+
+ * libc/sys/arm/libcfunc.c: Moved isatty to syscall.c
+ * libc/sys/arm/syscalls.c: Added isatty.
+
+Wed Apr 07 16:06:04 1999 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/stdlib/ecvtbuf.c (fcvtbuf): Fixed code to properly
+ insert zeroes after significant digits.
+
+Wed Mar 17 22:06:04 1999 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/stdio/vfprintf.c (cvt): Changed floating point
+ cvt routine to use union used by dtoa to properly determine
+ if the sign bit is on or not.
+ * libc/stdio/vfieeefp.h: New file
+
+Wed Mar 17 17:35:04 1999 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * aclocal.m4: Regenerated.
+ * configure: Regenerated.
+
+Wed Mar 17 16:35:04 1999 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/machine/i386/Makefile.am (lib_a_SOURCES): Added missing
+ f_tanf reference.
+ * libc/machine/i386/Makefile.in: Regenerated.
+
+Tue Mar 16 14:56:36 1999 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * acinclude.m4: Changed to work with new automake.
+ * configure: Regenerated.
+ * libc/machine/i386/aclocal.m4: Regenerated.
+ * libc/machine/i386/configure: Regenerated.
+
+Tue Mar 16 13:55:36 1999 Corinna Vinschen <corinna.vinschen@cityweb.de>
+
+ * libc/sys/cygwin/sys/dirent.h: Add additional prototypes
+ for telldir() and seekdir(). Rename unused structure element
+ for use with these two routines.
+
+Fri Mar 12 19:11:58 1999 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/time/mktime.c (validate_structure): Multiple fixes to
+ code to handle cases where input fields are outside valid ranges.
+ * libc/stdlib/div.c (div): Modified invalid rounding check.
+ * libc/stdlib/ldiv.c (ldiv): Ditto.
+
+Thu Mar 11 21:32:13 1999 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/machine/i386/memcpy.S: Performance rewrite.
+ * libc/machine/i386/memmove.S: Ditto.
+ * libc/machine/i386/i386mach.h: Added more register definitions.
+ * libc/include/math.h: Include <machine/fastmath.h> if -ffast-math
+ option used.
+ * libc/include/machine/fastmath.h: Add definitions for x86
+ fast-math routines.
+
+Wed Mar 10 17:56:00 1999 Ranjith Kumaran <ranjith@cygnus.com>
+
+ * libc/stdlib/strtod.c: Change from unsigned long to ULong.
+
+Tue Mar 9 14:31:58 1999 Geoffrey Noer <noer@cygnus.com>
+
+ Adjust newlib headers for new Cygwin Win32 API header files:
+ * libc/include/sys/time.h: Check _WINSOCK_H rather than
+ _GNU_H_WINDOWS32_SOCKETS.
+ * libc/include/sys/types.h: Ditto.
+
+Tue Mar 09 15:55:00 1999 Ranjith Kumaran <ranjith@cygnus.com>
+
+ *include/sys/reent.h: Add checks for size of Bigint element Long.
+ *libc/dtoa.c: Change routines to use generic Long type.
+ *libc/mprec.c: Change routines to use generic Long type.
+ *libc/mprec.h: Change routines to use generic Long type.
+
+Tue Mar 02 18:07:49 1999 Ranjith Kumaran <ranjith@cygnus.com>
+
+ * libc/Makefile.am: Add .def files.
+ * libc/Makefile.in: Regenerate.
+ * libc/e_acosh.c: Documentation update.
+ * libc/e_atanh.c: Documentation update.
+ * libc/e_hypot.c: Documentation update.
+ * libc/e_remainder.c: Documentation update.
+ * libc/er_lgamma.c: Documentation update.
+ * libc/mathfp.tex: Documentation update.
+ * libc/s_acos.c: Documentation update.
+ * libc/s_atan.c: Documentation update.
+ * libc/s_atan2.c: Documentation update.
+ * libc/s_cosh.c: Documentation update.
+ * libc/s_fmod.c: Documentation update.
+ * libc/s_isnan.c: Documentation update.
+ * libc/s_log10.c: Documentation update.
+ * libc/s_pow.c: Documentation update.
+ * libc/w_jn.c: Documentation update.
+
+Sun Feb 28 23:18:49 1999 Geoffrey Noer <noer@cygnus.com>
+
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+
+Tue Feb 23 13:57:26 1999 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/machine/mn10300/setjmp.S (_longjmp): Fixed longjmp
+ to return 1 if user specified return code is 0.
+ * libc/machine/mn10200/setjmp.S (_longjmp): Ditto.
+
+Thu Feb 18 11:13:28 1999 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/machine/mn10200/setjmp.S (_setjmp/_longjmp): Fixed setjmp
+ to save the return address. Fixed longjmp to return to the original
+ calling address of setjmp and to return the user specified return code
+ rather than default to 1.
+ * libc/machine/mn10300/setjmp.S (_setjmp/_longjmp): Ditto.
+
+Mon Feb 15 17:48:17 1999 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/stdlib/mprec.h (mult): Define mult to be _multiply instead of _mult.
+
+1999-02-10 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/arm/syscalls.c (initialise_monitor_handles): Make block
+ volatile so that its assignments will not be discarded.
+
+Wed Feb 10 17:19:40 1999 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/include/_ansi.h: Corrected _STRICT_ANSI reference to
+ be __STRICT_ANSI__ which is generated by compiler.
+ * libc/include/ctype.h: Ditto.
+ * libc/include/math.h: Ditto.
+ * libc/include/stdio.h: Ditto.
+ * libc/include/stdlib.h: Ditto.
+ * libc/include/string.h: Ditto.
+ * libc/include/sys/signal.h: Ditto.
+
+1999-02-08 Nick Clifton <nickc@cygnus.com>
+
+ * configure.host: Add support for StrongARM target.
+
+Fri Feb 5 11:13:14 1999 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/string/strncpy.c (strncpy): Removed redundant code
+ that was copying bytes if data unaligned.
+
+1999-02-02 Brendan Kehoe <brendan@cygnus.com>
+
+ * libc/stdlib/Makefile.{am,in} (CHEWOUT_FILES): Add mblen.def,
+ mbstowcs.def, and wcstombs.def.
+
+Sat Jan 30 02:36:33 1999 Christopher Faylor <cgf@cygnus.com>
+
+ * libc/include/sys/errno.h: Add Cygwin errno.
+ * libc/stdio/flags.c: Don't default to O_TEXT if no other flag
+ is specified.
+
+1999-01-29 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/arm/syscalls.c: Move C library functions into seperate
+ file.
+
+ * libc/sys/arm/libcfunc.c: New file containing C library functions
+ from syscalls.c
+
+ * libc/sys/arm/Makefile.am (lib_a_SOURCES): Add libcfuncs.c
+ * libc/sys/arm/Makefile.in (lib_a_SOURCES): Regenerate.
+
+
+1999-01-27 Michael Meissner <meissner@cygnus.com>
+
+ * libc/include/machine/setjmp.h (D30V _JBLEN/_JBTYPE): Use double
+ type, and cut size in half so that the jmp_buf array is guaranteed
+ to be aligned on a 64-bit boundary.
+
+Mon Jan 25 12:05:38 1999 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/string/strings.tex: Added information about
+ strcasecmp and strncasecmp.
+ * libc/stdlib/stdlib.tex: Added missing information
+ about mblen, mbstowcs, and wcstombs.
+ * libc/string/strchr.c: Changed how mask is built to use
+ shift operators so register will be used instead of storage.
+
+1999-01-22 DJ Delorie <dj@cygnus.com>
+
+ * libc/include/stdlib.h: don't use dllimport if we're building
+ newlib, since it's inside cygwin.dll
+
+Fri Jan 22 14:57:18 1999 Christopher Faylor <cgf@cygnus.com>
+
+ * libc/ctype/ctype_.c: Need to use __declspec(dllexport) for
+ _ctype_ under cygwin.
+
+Fri Jan 22 09:50:19 1999 Christopher Faylor <cgf@cygnus.com>
+
+ * include/stdlib.h: Fix typo from previous checkin.
+
+Thu Jan 21 22:42:21 1999 Christopher Faylor <cgf@cygnus.com>
+
+ * include/ctype.h: Use __declspec(dllimport) method for exporting
+ variable from cygwin DLL.
+ * include/time.h: Ditto.
+ * sys/errno.h: Ditto.
+ * include/stdlib.h: Export __mb_cur_max from cygwin DLL.
+ * libc/locale/locale.c: Use __declspec(dllexport) method for
+ exporting variable from cygwin DLL.
+
+Sat Jan 16 13:29:54 1999 Christopher Faylor <cgf@cygnus.com>
+
+ * libc/stdio/setvbuf.c: Always clean up when _IONBF or possible
+ access of bogus pointer will result in SIGSEGV.
+
+1999-01-07 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/arm/setjmp.S: Use C macros to cope with the possibility
+ of an underscore prefix to function names.
+
+Fri Jan 8 19:00:07 1999 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/machine/i386/i386mach.h (__REG_PREFIX__): Create new
+ define __REG_PREFIX__ instead of using __REGISTER_PREFIX__.
+
+1998-12-31 Michael Meissner <meissner@cygnus.com>
+
+ * libc/machine/i386/i386mach.h (__REGISTER_PREFIX__): Only define
+ to `%' if not already defined.
+
+1998-12-30 Michael Meissner <meissner@cygnus.com>
+
+ * libc/stdio/tmpnam.c (_tempnam_r): Make directory and prefix
+ arguments const char *, not char *.
+ * libc/include/stdio.h (_tempnam_r): Ditto.
+
+ * libc/include/sys/reent.h (struct _reent): The _sig_func type
+ points to a function taking an integer, not void.
+
+Tue Dec 29 14:35:53 1998 Christopher Faylor <cgf@cygnus.com>
+
+ * configure.host: Add a define for Cygwin builds.
+ * libc/include/ctype.h: Don't use dll imported variables in newlib.
+
+Mon Dec 28 09:19:56 1998 Christopher Faylor <cgf@cygnus.com>
+
+ * libc/include/ctype.h: Define _ctype_ as dll imported variable
+ for use with Cygwin.
+ * libc/include/sys/errno.h: Define _sys_errlist and _sys_nerr as
+ dll imported variables for use with Cygwin.
+ * libc/ctype/ctype_.c: Undefine _ctype_ in case it has been defined
+ as a dll imported variable for Cygwin.
+
+Sat Dec 26 00:13:53 1998 Christopher Faylor <cgf@cygnus.com>
+
+ * libc/include/sys/unistd.h: Add proto for getpass.
+
+Fri Dec 18 19:28:19 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/sys/cygwin/sys/dirent.h: add protos for scandir and
+ alphasort.
+
+Fri Dec 18 16:33:25 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/posix/execvp.c (execvp): call cygwin_posix_path_list_p,
+ not posix_path_list_p.
+
+1998-12-15 Nick Clifton <nickc@cygnus.com>
+
+ * libc/string/memchr.c: Treat 'c' argument as an unsigned byte not
+ a signed int.
+
+1998-12-13 Nick Clifton <nickc@cygnus.com>
+
+ * libc/include/machine/setjmp.h (_JBLEN): Set to 10.
+
+1998-12-12 Nick Clifton <nickc@cygnus.com>
+
+ * libc/machine/fr30/setjmp.S: New file, supplied by Mark Slater
+ <msalter@cygnus.com>
+ * libc/machine/fr30/Makefile.am: Add build of setjmp.S
+ * libc/machine/fr30/Makefile.in: Regenerated.
+
+1998-12-11 Nick Clifton <nickc@cygnus.com>
+
+ * configure.host: Remove use of libc/sys for FR30 port.
+ * libc/sys/fr30: Remove directory (replaced by libgloss).
+
+1998-12-10 Ken Raeburn <raeburn@cygnus.com>
+
+ * libc/string/strcat.c (ALIGNED): Sense of result was reversed.
+ * libc/string/strncat.c (ALIGNED): Ditto.
+
+Wed Dec 9 14:37:57 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/sys/time.h: include sys/types.h
+
+Tue Dec 8 15:53:18 1998 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/machine/i386/memcmp.S (memcmp): Fix for unequal
+ comparison found when checking word at a time.
+
+1998-12-04 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/fr30/crt0.s (_start): Initialise frame pointer.
+
+1998-12-03 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/fr30/syscalls.c (_times): New function stub.
+
+Thu Dec 3 15:59:19 1998 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * configure.host (mach_add_setjmp): Replaced mach_add_objs
+ with mach_add_setjmp flag which indicates if setjmp should
+ be added to the machine directory objects.
+ * acinclude.m4: Removed reference to mach_add_objs.
+ * aclocal.m4: Regenerated.
+ * Makefile.in: Regenerated.
+ * configure: Regenerated.
+ * libc/aclocal.m4: Regenerated.
+ * libc/Makefile.in: Regenerated.
+ * libc/configure: Regenerated.
+ * libc/machine/aclocal.m4: Regenerated.
+ * libc/machine/Makefile.in: Regenerated.
+ * libc/machine/configure: Regenerated.
+ * libc/machine/i386/aclocal.m4: Regenerated.
+ * libc/machine/i386/Makefile.am: Altered to selectively add
+ setjmp.S to the src files list.
+ * libc/machine/i386/Makefile.in: Regenerated.
+ * libc/machine/i386/configure.in: Altered to test mach_add_setjmp.
+ * libc/machine/i386/configure: Regenerated.
+
+1998-12-02 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/fr30/crt0.s (_start): Fix function names.
+
+ * libc/machine/fr30: New directory
+ * libc/machine/fr30/Makefile.am: New file.
+ * libc/machine/fr30/Makefile.in: New generated file.
+ * libc/machine/fr30/configure.in: New file.
+ * libc/machine/fr30/configure: New generated file.
+ * libc/machine/fr30/aclocal.m4: New generated file.
+ * libc/sys/fr30/Makefile.am: New file.
+ * libc/sys/fr30/Makefile.in: New generated file.
+ * libc/sys/fr30/configure.in: New file.
+ * libc/sys/fr30/configure: New generated file.
+ * libc/sys/fr30/syscalls.c: New file.
+
+Tue Dec 1 16:28:56 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/sys/cygwin/sys/utmp.h: new file, moved from winsup/include.
+
+1998-12-01 Ken Raeburn <raeburn@cygnus.com>
+
+ * libc/time/strftime.c (strftime): Also handle %y for years before
+ 1900.
+
+Tue Dec 1 13:26:07 1998 Christopher Faylor <cgf@cygnus.com>
+
+ * libc/string/strcasecmp.c (strcasecmp): Adhere to standard
+ UNIX convention. Perform tolower on characters before comparing
+ them rather than use toupper.
+ * libc/string/strncasecmp.c (strncasecmp): Ditto.
+
+Mon Nov 30 16:24:19 1998 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * configure.host: Added using i386 machine directory
+ for all x86 cross-compiler and configuring
+ which added object files to use via new "mach_add_objs" variable.
+ * configure: Regenerated.
+ * libc/configure: Regenerated.
+ * libc/Makefile.in: Regenerated.
+ * libc/aclocal.m4: Regenerated.
+ * libc/ctype/Makefile.in: Regenerated.
+ * libc/errno/Makefile.in: Regenerated.
+ * libc/locale/Makefile.in: Regenerated.
+ * libc/machine/Makefile.in: Regenerated.
+ * libc/machine/aclocal.m4: Regenerated.
+ * libc/machine/configure: Regenerated.
+ * libc/posix/Makefile.in: Regenerated.
+ * libc/reent/Makefile.in: Regenerated.
+ * libc/signal/Makefile.in: Regenerated.
+ * libc/stdio/Makefile.in: Regenerated.
+ * libc/stdlib/Makefile.in: Regenerated.
+ * libc/string/Makefile.in: Regenerated.
+ * libc/string/memmove.c: Optimized code to use memcpy
+ logic when performing a non-destructive copy.
+ * libc/string/strncmp.c: Altered code to allow building
+ optimized for size or speed.
+ * libc/syscalls/Makefile.in: Regenerated.
+ * libc/time/Makefile.in: Regenerated.
+ * libc/unix/Makefile.in: Regenerated.
+ * libc/machine/i386/Makefile.am: Added new files and reference
+ to "mach_add_objs" to indicate optional object files.
+ * libc/machine/i386/Makefile.in: Regenerated.
+ * libc/machine/i386/aclocal.m4: Regenerated.
+ * libc/machine/i386/configure: Regenerated.
+ * libc/machine/i386/memchr.S: New file that implements
+ function in Intel assembler.
+ * libc/machine/i386/memcmp.S: ditto.
+ * libc/machine/i386/memcpy.S: ditto.
+ * libc/machine/i386/memmove.S: ditto.
+ * libc/machine/i386/memset.S: ditto.
+ * libc/machine/i386/strchr.S: ditto.
+ * libc/machine/i386/strlen.S: ditto.
+ * libc/machine/i386/f_atan2.S: New file that implements
+ fast version of math function to be used by compiler when
+ --ffast_math compile option is used.
+ * libc/machine/i386/f_atan2f.S: ditto.
+ * libc/machine/i386/f_exp.c: ditto.
+ * libc/machine/i386/f_expf.c: ditto.
+ * libc/machine/i386/f_frexp.S: ditto.
+ * libc/machine/i386/f_frexpf.S: ditto.
+ * libc/machine/i386/f_ldexp.S: ditto.
+ * libc/machine/i386/f_ldexpf.S: ditto.
+ * libc/machine/i386/f_log.S: ditto.
+ * libc/machine/i386/f_logf.S: ditto.
+ * libc/machine/i386/f_log10.S: ditto.
+ * libc/machine/i386/f_log10f.S: ditto.
+ * libc/machine/i386/f_math.h: New file.
+ * libc/machine/i386/f_pow.c: ditto.
+ * libc/machine/i386/f_powf.S: ditto.
+ * libc/machine/i386/f_tan.S: ditto.
+ * libc/machine/i386/f_tan.S: ditto.
+ * libc/machine/i386/i386mach.h: New file.
+
+Mon Nov 30 13:02:17 1998 Christopher Faylor <cgf@cygnus.com>
+
+ patch from Mumit Khan <khan@xraylith.wisc.edu>
+ * libc/include/stdio.h (tempnam): Add prototype.
+ * libc/stdio/tmpnam.c (_tempnam_r): Handle NULL prefix.
+ (tempnam): Adhere to prototype.
+
+Thu Nov 26 00:21:32 1998 Christopher Faylor <cgf@cygnus.com>
+
+ * Makefile.am: Add default for AR_FLAGS.
+ * Makefile.in: Regenerate.
+
+Tue Nov 24 18:48:56 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/time.h: move __cplusplus wrapper after includes
+ * libc/include/sys/time.h: ditto. If Cygwin, include
+ sys/select.h.
+ * libc/include/sys/types.h: lose "32" in comment about Cygwin.
+
+1998-11-23 Ken Raeburn <raeburn@cygnus.com>
+
+ * libc/time/strftime.c (strftime): Handle %y after year 2000.
+
+Wed Nov 18 12:22:41 1998 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/fr30/crt0.s (_start): Switch over to using int #9 as
+ abnormnal end-of-crt0 marker.
+
+Tue Nov 17 16:27:58 1998 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/fr30/crt0.s: New file/directory.
+ * libc/include/machine/setjmp.h: Add FR30 target.
+ * libc/include/machine/ieeefp.h: Add FR30 target.
+ * configure.host: Add FR30 target.
+
+Mon Nov 16 23:15:00 1998 Ranjith Kumaran <ranjith@cygnus.com>
+
+ * libm/math: Files that are duplicated in common directory removed.
+ * libm/math/fdlibm.h: Removed.
+ * libm/math/s_cbrt.c: Removed.
+ * libm/math/s_copysign.c: Removed.
+ * libm/math/s_expm1.c: Removed.
+ * libm/math/s_finite.c: Removed.
+ * libm/math/s_ilogb.c: Removed.
+ * libm/math/s_infinity.c: Removed.
+ * libm/math/s_lib_ver.c: Removed.
+ * libm/math/s_log1p.c: Removed.
+ * libm/math/s_logb.c: Removed.
+ * libm/math/s_matherr.c: Removed.
+ * libm/math/s_modf.c: Removed.
+ * libm/math/s_nan.c: Removed.
+ * libm/math/s_nextafter.c: Removed.
+ * libm/math/s_rint.c: Removed.
+ * libm/math/s_scalbn.c: Removed.
+ * libm/math/sf_cbrt.c: Removed.
+ * libm/math/sf_copysign.c: Removed.
+ * libm/math/sf_expm1.c: Removed.
+ * libm/math/sf_finite.c: Removed.
+ * libm/math/sf_ilogb.c: Removed.
+ * libm/math/sf_infinity.c: Removed.
+ * libm/math/sf_log1p.c: Removed.
+ * libm/math/sf_logb.c: Removed.
+ * libm/math/sf_modf.c: Removed.
+ * libm/math/sf_nan.c: Removed.
+ * libm/math/sf_nextafter.c: Removed.
+ * libm/math/sf_rint.c: Removed.
+ * libm/math/sf_scalbn.c: Removed.
+ * libm/math/Makefile.am: Removed references to deleted files (above).
+ * libm/math/Makefile.in: Regenerated.
+ * libm/Makefile.am: Added common directory to math.
+ * libm/Makefile.in: Regenerated.
+
+Mon Nov 2 23:12:00 1998 Ranjith Kumaran <ranjith@cygnus.com>
+
+ * libm/mathfp: Add non-ANSI functions.
+ * libm/mathfp/e_acosh.c acosh(): New file.
+ * libm/mathfp/e_atanh.c atanh(): New file.
+ * libm/mathfp/e_hypot.c hypot(): New file.
+ * libm/mathfp/e_j0.c j0(): New file.
+ * libm/mathfp/e_j1.c j1(): New file.
+ * libm/mathfp/e_remainder.c remainder(): New file.
+ * libm/mathfp/e_scalb.c scalb(): New file.
+ * libm/mathfp/ef_acosh.c acoshf(): New file.
+ * libm/mathfp/ef_atanh.c atanhf(): New file.
+ * libm/mathfp/ef_hypot.c hypotf(): New file.
+ * libm/mathfp/ef_j0.c j0f(): New file.
+ * libm/mathfp/ef_j1.c j1f(): New file.
+ * libm/mathfp/ef_remainder.c remainderf(): New file.
+ * libm/mathfp/ef_scalb.c scalbf(): New file.
+ * libm/mathfp/er_gamma.c gamma_r: New file.
+ * libm/mathfp/er_lgamma.c lgamma_r(): New file.
+ * libm/mathfp/erf_gamma.c gamma_rf(): New file.
+ * libm/mathfp/erf_lgamma.c lgamma_rf(): New file.
+ * libm/mathfp/w_cabs.c cabs(): New file.
+ * libm/mathfp/w_drem.c drem(): New file.
+ * libm/mathfp/w_jn.c jn(): New file.
+ * libm/mathfp/wf_cabs.c cabsf(): New file.
+ * libm/mathfp/wf_drem.c dremf(): New file.
+ * libm/mathfp/wf_jn.c jnf(): New file.
+
+Mon Nov 2 16:43:18 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/sys/cygwin32: remove directory and contents
+ * libc/sys/cygwin: and add back, losing the "32".
+ * configure.host: check for cygwin* instead of cygwin32.
+ * acinclude.m4: ditto.
+ * aclocal.m4: regenerate with aclocal
+ * configure: regenerate with autoconf
+
+Tue Oct 20 17:28:28 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/stdio/tmpnam.c (_tempnam_r): not enough memory allocated
+ for length
+
+Tue Oct 20 18:49:05 1998 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/include/sys/reent.h (struct _reent): Added variables _rand_next, _strtok_last,
+ _asctime_buf, _localtime_buf and _gamma_signgam to struct reent
+ to make rand/srand, strtok, asctime, localtime, w_gamma,
+ w_lgamma, wf_gamma, and wf_lgamma reentrant. Included
+ time.h to bring in struct tm definition.
+ * libc/stdlib/rand.c (rand, srand): Don't emit functions 'rand' and 'srand' if
+ '_REENT_ONLY' is set. Used variable '_rand_next' from struct reent.
+ * libc/stdlib/strtok.c (strtok): Used variable '_strtok_last' from struct reent
+ instead of static variable.
+ * libc/stdlib/asctime.c (asctime): Used variable '_asctime_buf' from
+ struct reent instead of static variable.
+ * libc/stdlib/lcltime.c (localtime): Used variable '_localtime_buf' from
+ struct reent instead of static variable.
+ * libm/math/Makefile.am: Removed s_signgam.o.
+ * libm/math/Makefile.in: Regenerated.
+ * libm/math/w_gamma.c (gamma): Used variable '_gamma_signgam' from
+ struct reent instead of global variable 'signgam'.
+ * libm/math/w_lgamma.c (lgamma): Likewise.
+ * libm/math/wf_gamma.c (gammaf): Likewise.
+ * libm/math/wf_lgamma.c (lgammaf): Likewise.
+ * libm/math/s_signgam.c: Removed.
+ * libc/include/unctrl.h: Defined arrays __unctrl and __unctrllen
+ to be const.
+ * libc/misc/unctrl.c: Defined arrays __unctrl and __unctrllen
+ to be const.
+ * libc/reent/Makefile.am: Added dependence for impure.o on impure.c and
+ libc/include/reent.h.
+ * libc/reent/Makefile.in: Regenerated.
+ * libc/stdio/vfprintf.c (_vfprintf_r): Defined arrays 'blanks' and 'zeroes'
+ to be const.
+ * libc/stdlib/mbtowc_r.c (_mbtowc_r): Defined arrays 'JIS_state_table' and
+ 'JIS_action_table' to be const.
+ * libm/math/s_lib_ver.c: define variable _LIB_VERSION to be const.
+
+Mon Oct 12 00:26:33 1998 Christopher Faylor <cgf@cygnus.com>
+
+ * acinclude.m4: $with_target_subdir should default to '.'
+ or confusion results when configuring in same directory as sources.
+ * Regenerate all aclocal.m4 and configure files.
+
+Fri Oct 9 16:27:36 1998 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/stdlib/mallocr.c: Added 16 byte alignment support which
+ can be set by defining MALLOC_ALIGNMENT=16. Also added support
+ for platforms where sizeof(size_t) < sizeof(long) via
+ SIZE_T_SMALLER_THAN_LONG macro.
+
+Wed Oct 7 14:02:40 1998 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/include/time.h (CLOCKS_PER_SEC): Change CLOCKS_PER_SEC
+ to refer to _CLOCKS_PER_SEC_ and added including <machine/time.h>
+ which sets _CLOCKS_PER_SEC_ for selected machines.
+ * libc/include/machine/time.h: New file.
+
+Tue Oct 6 16:08:05 1998 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/syscalls/sysexecve.c: New file.
+ * libc/syscalls/sysgettod.c: New file.
+ * libc/syscalls/systimes.c: New file.
+ * libc/syscalls/Makefile.am: Added new objects.
+ * libc/syscalls/Makefile.in: Regenerated.
+ * libc/include/_syslist.h (_execve): Moved define in file.
+ * libc/include/reent.h: Added _execve_r declaration.
+ * libc/Makefile.in: Regenerated.
+ * libc/ctype/Makefile.in: Regenerated.
+ * libc/errno/Makefile.in: Regenerated.
+ * libc/locale/Makefile.in: Regenerated.
+ * libc/machine/Makefile.in: Regenerated.
+ * libc/misc/Makefile.in: Regenerated.
+ * libc/posix/Makefile.in: Regenerated.
+ * libc/reent/Makefile.in: Regenerated.
+ * libc/reent/execr.c (_execve_r): Added _execve_r function.
+ * libc/signal/Makefile.in: Regenerated.
+ * libc/stdio/Makefile.in: Regenerated.
+ * libc/time/Makefile.in: Regenerated.
+ * libc/unix/Makefile.in: Regenerated.
+ * libm/mathfp/Makefile.in: Regenerated.
+
+Tue Oct 6 14:14:05 1998 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/string/Makefile.in: Regenerated.
+ * libc/string/memchr.c (memchr): Moved code to reduce object size.
+ * libc/string/memcpy.c (memcpy): Ditto.
+ * libc/string/memcmp.c (memcmp): Ditto.
+ * libc/string/memset.c (memset): Ditto.
+ * libc/string/strchr.c (strchr): Ditto.
+ * libc/string/strcmp.c (strcmp): Ditto.
+ * libc/string/strcpy.c (strcpy): Ditto.
+ * libc/string/strlen.c (strlen): Ditto.
+
+Tue Oct 6 13:58:05 1998 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libm/acinclude.m4: Removed since newlib/acinclude.m4 can be used
+ to generate aclocal.m4.
+ * libm/Makefile.in: Regenerated.
+ * libm/aclocal.m4: Regenerated.
+ * libm/configure: Regenerated.
+ * libm/math/Makefile.in: Regenerated.
+ * libm/mathfp/Makefile.in: Regenerated.
+
+1998-09-25 Mark Salter <msalter@cygnus.com>
+
+ * libc/include/machine/setjmp.h: Fixed test for mn10300 and mn10200
+ by adding leading and trailing underscores to symbol names.
+
+Tue Sep 22 15:33:41 1998 Christopher Faylor <cgf@cygnus.com>
+
+ * Makefile.in: Add default for AR_FLAGS.
+
+Tue Sep 22 15:02:49 1998 Christopher Faylor <cgf@cygnus.com>
+
+ patch from ian@airs.com (Ian Taylor):
+ * acinclude.m4: Run AC_CANONICAL_BUILD explicitly before
+ NEWLIB_CONFIGURE so AC_CANONICAL_HOST will be run before it
+ is needed for detecting the build machine. Required for
+ cygwin native builds.
+
+ * Regenerate all aclocal.m4 and configure files.
+
+Mon Sep 21 14:44:16 1998 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/arm/crt0.S: Prepend a period to all local labels that
+ used to start with LC.
+
+Thu Sep 17 18:18:11 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * libc/machine/sh/setjmp.S (setjmp): Handle __SH4* like __SH3E__ .
+ (longjmp): Likewise.
+
+Thu Sep 17 16:25:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * libc/machine/sh/memset.S (memset): Move copy from r4 to r4 before
+ the test for small number of bytes.
+
+Thu Sep 10 11:40:00 1998 Ranjith Kumaran <ranjith@cygnus.com>
+
+ * Makefile.am: Add --enable-newlib-hw-fp check. This builds the new
+ math library that uses floating point algorithms instead of the old
+ libm.
+ * Makefile.in: Regenerate with automake version 1.3b.
+ * configure: Rebuild.
+ * libm/Makefile.in: Regenerate with automake version 1.3b.
+ * libm/aclocal.m4: Regenerate.
+ * libm/configure: Rebuild.
+ * libm/configure.in: Add newlib_hw_fp definition and mathfp directory.
+ * libm/acinclude.m4: Define macros for configure.in.
+ * libm/config.h.in: Generate.
+ * libm/mathfp/Makefile.am: New file.
+ * libm/mathfp/Makefile.in: Generate.
+ * libm/mathfp/s_acos.c (acos): New file.
+ * libm/mathfp/s_asin.c (asin): New file.
+ * libm/mathfp/s_asine.c (asine): New file.
+ * libm/mathfp/s_atan.c (atan): New file.
+ * libm/mathfp/s_atan2.c (atan2): New file.
+ * libm/mathfp/s_atangent.c (atangent): New file.
+ * libm/mathfp/s_ceil.c (ceil): New file.
+ * libm/mathfp/s_copysign.c (copysign): New file.
+ * libm/mathfp/s_cos.c (cos): New file.
+ * libm/mathfp/s_cosh.c (cosh): New file.
+ * libm/mathfp/s_exp.c (exp): New file.
+ * libm/mathfp/s_fabs.c (fabs): New file.
+ * libm/mathfp/s_finite.c (finite): New file.
+ * libm/mathfp/s_floor.c (floor): New file.
+ * libm/mathfp/s_fmod.c (fmod): New file.
+ * libm/mathfp/s_frexp.c (frexp): New file.
+ * libm/mathfp/s_infconst.c: New file.
+ * libm/mathfp/s_isinf (isinf).c: New file.
+ * libm/mathfp/s_isnan.c (isnan): New file.
+ * libm/mathfp/s_ispos.c (ispos): New file.
+ * libm/mathfp/s_ldexp.c (ldexp): New file.
+ * libm/mathfp/s_log.c (log): New file.
+ * libm/mathfp/s_log10.c (log10): New file.
+ * libm/mathfp/s_logarithm.c (logarithm): New file.
+ * libm/mathfp/s_mathcnst.c: New file.
+ * libm/mathfp/s_modf (modf).c: New file.
+ * libm/mathfp/s_numtest.c (numtest): New file.
+ * libm/mathfp/s_pow.c (pow): New file.
+ * libm/mathfp/s_scalbn.c (scalbn): New file.
+ * libm/mathfp/s_sin (sin).c: New file.
+ * libm/mathfp/s_sine.c (sine): New file.
+ * libm/mathfp/s_sineh.c (sineh): New file.
+ * libm/mathfp/s_sinf.c (sinf): New file.
+ * libm/mathfp/s_sinh.c (sinh): New file.
+ * libm/mathfp/s_sqrt.c (sqrt): New file.
+ * libm/mathfp/s_tan.c (tan): New file.
+ * libm/mathfp/s_tanh.c (tanh): New file.
+ * libm/mathfp/sf_acos.c (acosf): New file.
+ * libm/mathfp/sf_asin.c (asinf): New file.
+ * libm/mathfp/sf_asine.c (asinef): New file.
+ * libm/mathfp/sf_atan.c (atanf): New file.
+ * libm/mathfp/sf_atan2.c (atan2f): New file.
+ * libm/mathfp/sf_atangent.c (atangent): New file.
+ * libm/mathfp/sf_ceil.c (ceilf): New file.
+ * libm/mathfp/sf_copysign.c (copysignf): New file.
+ * libm/mathfp/sf_cos.c (cosf): New file.
+ * libm/mathfp/sf_cosh.c (coshf): New file.
+ * libm/mathfp/sf_exp.c (expf): New file.
+ * libm/mathfp/sf_fabs.c (fabsf): New file.
+ * libm/mathfp/sf_finite.c (finitef): New file.
+ * libm/mathfp/sf_floor.c (floorf): New file.
+ * libm/mathfp/sf_fmod.c (fmodf): New file.
+ * libm/mathfp/sf_frexp.c (frexpf): New file.
+ * libm/mathfp/sf_isinf.c (isinff): New file.
+ * libm/mathfp/sf_isnan.c (isnanf): New file.
+ * libm/mathfp/sf_ispos.c (isposf): New file.
+ * libm/mathfp/sf_ldexp.c (ldexpf): New file.
+ * libm/mathfp/sf_log.c (logf): New file.
+ * libm/mathfp/sf_log10.c (log10f): New file.
+ * libm/mathfp/sf_logarithm.c (logarithmf): New file.
+ * libm/mathfp/sf_modf.c (modff): New file.
+ * libm/mathfp/sf_numtest.c (numtestf): New file.
+ * libm/mathfp/sf_pow.c (powf): New file.
+ * libm/mathfp/sf_scalbn.c (scalbnf): New file.
+ * libm/mathfp/sf_sin.c (sinf): New file.
+ * libm/mathfp/sf_sine.c (sinef): New file.
+ * libm/mathfp/sf_sineh.c (sinehf): New file.
+ * libm/mathfp/sf_sinh.c (sinhf): New file.
+ * libm/mathfp/sf_sqrt.c (sqrtf): New file.
+ * libm/mathfp/sf_tan.c (tanf): New file.
+ * libm/mathfp/sf_tanh.c (tanhf): New file.
+ * libm/mathfp/zmath.h: New file.
+
+Wed Sep 2 02:49:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * libc/machine/sh/strcmp.S (L_char_loop): Re-load r0 at loop
+ exit if it has been overwritten by pre-fetching in delay slot.
+
+1998-09-01 Michael Meissner <meissner@cygnus.com>
+
+ * Makefile.am (tooldir): Add in host_alias, so that multilib
+ libraries are installed in the directory the compiler looks in.
+ * Makefile.in: Regenerate.
+
+ * libc/stdlib/Makefile.in: Regenerate with automake version 1.3b.
+
+Mon Aug 31 11:39:31 1998 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/machine/mn10300/memcpy.S (_memcpy): Move alignment test
+ ahead of test for number of bytes being moved.
+
+Thu Aug 27 14:07:53 1998 Christopher Faylor <cgf@cygnus.com>
+
+ * libc/include/sys/unistd.h: Nothing special needed for
+ _exit under cygwin.
+
+Wed Aug 26 15:05:21 1998 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/arm/syscalls.c (_sbrk): Rename '_end' to 'end' to
+ conform to user label naming conventions.
+
+Mon Aug 24 14:46:19 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/sys/cygwin32/sys/utime.h: variable names in
+ protos should start with two leading underscores
+ * libc/include/string.h: ditto
+ * libc/include/sys/signal.h: ditto
+ * libc/include/sys/stat.h: ditto
+ * libc/include/sys/time.h: ditto
+ * libc/include/sys/unistd.h: ditto
+ * libc/include/ctype.h: ditto
+ * libc/include/stdlib.h: ditto
+ * libc/include/sys/reent.h: struct _atexit function ptr takes a
+ void, same with _sig_func.
+
+Fri Aug 21 14:44:14 1998 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/stdlib/mbtowc_r.c (_mbtowc_r): Added preprocessor checks
+ for MB_CAPABLE to reduce code size when newlib is not configured
+ with --enable-newlib-mb.
+ * libc/stdlib/Makefile.am: Specified -fshort-enums when building
+ mbtowc_r.o to minimize size.
+ * libc/stdlib/Makefile.in: Rebuild.
+
+Wed Aug 19 16:20:13 1998 Jim Wilson <wilson@cygnus.com>
+
+ * libc/sys/sparc64/Makefile.am (.S_r.o, .c_r.o): Change -DREENTRANT
+ to -DREENT.
+ * libc/sys/sparc64/Makefile.in: Rebuild.
+
+Tue Aug 18 22:38:29 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.am (MAKEOVERRIDES): Define.
+ * Makefile.in: Rebuild.
+
+Tue Aug 18 12:38:47 1998 Jim Wilson <wilson@cygnus.com>
+
+ * libc/sys/sparc64/sys/stat.h (stat): Add const.
+
+Mon Aug 17 22:27:06 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * acinclude.m4 (NEWLIB_CONFIGURE): Use top_builddir in
+ newlib_cflags when looking for targ-include.
+ * */aclocal.m4, */configure: Rebuild.
+
+Fri Jul 31 10:57:42 1998 Catherine Moore <clm@cygnus.com>
+
+ * libc/sys/arm/syscalls.c (_sbrk): Change "__end__"
+ to "_end".
+
+Wed Jul 29 00:02:01 1998 Mark Alexander <marka@cygnus.com>
+
+ * libc/include/sys/config.h: Define __IEEE_LITTLE_ENDIAN
+ on SPARCs with little-endian data.
+ * libc/include/machine/ieeefp.h: Ditto.
+
+Wed Jul 22 18:00:10 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * acinclude.m4: Handle a relative srcdir correctly when setting
+ newlib_cflags.
+ * */aclocal.m4, */configure: Rebuild.
+
+Wed Jul 22 17:11:33 1998 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libm/math/wrf_lgamma.c (lgammaf_r): Initialize exc.err to 0 and
+ also set exc.arg1, exc.arg2 appropriately in case matherr is supplied.
+ * libm/math/wrf_gamma.c (gammaf_r): ditto
+ * libm/math/wr_lgamma.c (lgamma_r): ditto
+ * libm/math/wr_gamma.c (gamma_r): ditto
+ * libm/math/wf_sqrt.c (sqrtf): ditto
+ * libm/math/wf_sinh.c (sinhf): ditto
+ * libm/math/wf_scalb.c (scalbf): ditto
+ * libm/math/wf_remainder.c (remainderf): ditto
+ * libm/math/wf_pow.c (powf): ditto
+ * libm/math/wf_log10.c (log10f): ditto
+ * libm/math/wf_log.c (logf): ditto
+ * libm/math/wf_lgamma.c (lgammaf): ditto
+ * libm/math/wf_jn.c (jnf, ynf): ditto
+ * libm/math/wf_j1.c (j1f, y1f): ditto
+ * libm/math/wf_j0.c (j0f, y0f): ditto
+ * libm/math/wf_hypot.c (hypotf): ditto
+ * libm/math/wf_gamma.c (gammaf): ditto
+ * libm/math/wf_fmod.c (fmodf): ditto
+ * libm/math/wf_exp.c (expf): ditto
+ * libm/math/wf_cosh.c (coshf): ditto
+ * libm/math/wf_atanh.c (atanhf): ditto
+ * libm/math/wf_atan2f.c (atan2f): ditto
+ * libm/math/wf_asin.c (asinf): ditto
+ * libm/math/wf_acosh.c (acoshf): ditto
+ * libm/math/wf_acos.c (acosf): ditto
+ * libm/math/w_sqrt.c (sqrt): ditto
+ * libm/math/w_sinh.c (sinh): ditto
+ * libm/math/w_scalb.c (scalb): ditto
+ * libm/math/w_remainder.c (remainder): ditto
+ * libm/math/w_pow.c (pow): ditto
+ * libm/math/w_log10.c (log10): ditto
+ * libm/math/w_log.c (log): ditto
+ * libm/math/w_lgamma.c (lgamma): ditto
+ * libm/math/w_jn.c (jn, yn): ditto
+ * libm/math/w_j1.c (j1, y1): ditto
+ * libm/math/w_j0.c (j0, y0): ditto
+ * libm/math/w_hypot.c (hypot): ditto
+ * libm/math/w_gamma.c (gamma): ditto
+ * libm/math/w_fmod.c (fmod): ditto
+ * libm/math/w_exp.c (exp): ditto
+ * libm/math/w_cosh.c (cosh): ditto
+ * libm/math/w_atanh.c (atanh): ditto
+ * libm/math/w_atan2f.c (atan2): ditto
+ * libm/math/w_asin.c (asin): ditto
+ * libm/math/w_acosh.c (acosh): ditto
+ * libm/math/w_acos.c (acos): ditto
+
+Tue Jul 21 12:34:54 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * libm/math/Makefile.am (src): Add w_cabs.c and w_drem.c.
+ (fsrc): Add wf_cabs.c and wf_drem.c.
+ * libm/math/Makefile.in: Rebuild.
+
+ * Makefile.am (AM_MAKEFLAGS): Add CFLAGS_FOR_BUILD. Remove some
+ unused directory variables. Remove duplicate CFLAGS.
+ * Makefile.in: Rebuild.
+
+ * doc/Makefile.am ($(MKDOC)): Don't use $(CFLAGS) when building
+ with $(CC_FOR_BUILD).
+ (makedoc.o): Likewise.
+ * doc/Makefile.in: Rebuild.
+
+ * libc/sys/cygwin32/Makefile.am (EXTRA_LIBRARIES): Define, to
+ force a definition of COMPILE.
+ (libfoo_a_SOURCES): Define.
+ * libc/sys/cygwin32/Makefile.in: Rebuild.
+ * libc/sys/tic80/Makefile.am (EXTRA_LIBRARIES): Define, to
+ force a definition of COMPILE.
+ (libfoo_a_SOURCES): Define.
+ * libc/sys/tic80/Makefile.in: Rebuild.
+
+Mon Jul 20 20:49:24 1998 Christopher Faylor <cgf@cygnus.com>
+
+ * libc/include/sys/fcntl.h: Add O_NOINHERIT, Win32-specific
+ flag.
+
+Fri Jul 17 16:13:16 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * Build using autoconf and automake. Added many Makefile.am and
+ configure.in files, plus generated files. Old configure.in files
+ and all old Makefile.in files completely replaced. Removed
+ host/any. Added acinclude.m4 and configure.host.
+
+Sat Jul 11 18:14:49 1998 Felix Lee <flee@cygnus.com>
+
+ * libc/stdio/vfprintf.c: enable long long support, sometimes.
+ * configure.in (*-*-cygwin32): add -DWANT_PRINTF_LONG_LONG.
+
+Tue Jul 7 01:51:55 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * libc/machine/sh/strcmp.S, libc/machine/sh/strcpy.S: New files.
+ * libc/machine/sh/Makefile.in: Add rules for new files.
+
+Tue Jul 7 01:40:55 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * libc/machine/sh/asm.h (SL, DELAYED_BRANCHES): Define.
+ * libc/machine/sh/memset.S (memset): Remove uses of dt; shorten code.
+ * libc/machine/sh/memcpy.S (SL, DELAYED_BRANCHES): Don't define.
+
+Thu Jul 2 10:33:16 1998 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/arm/syscalls.c (_exit): Add comment, noting that exit
+ code is ignored.
+
+Wed Jun 24 13:56:54 1998 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/stdio/tmpnam.c (_tmpnam_r): Changed routine to use
+ internal static buffer when s is NULL, as prescribed by ANSI.
+
+1998-06-22 Vladimir N. Makarov <vmakarov@cygnus.com>
+
+ * libc/sys/h8300hms/Makefile.in (OFILES): malloc.o has been
+ removed.
+ * libc/sys/h8300hms/malloc.c: has been removed. Now malloc.c from
+ libc/stdlib will be used for h8300hms.
+
+Thu Jun 18 16:56:05 1998 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/machine/mn10300/strlen.S (_strlen): New optimized assembler
+ version that can be built either for speed or size.
+ * libc/machine/mn10300/memset.S (_memset): ditto
+ * libc/machine/mn10300/memchr.S (_memchr): ditto
+ * libc/machine/mn10300/memcpy.S (_memcpy): ditto
+ * libc/machine/mn10300/memcmp.S (_memcmp): ditto
+ * libc/machine/mn10300/strchr.S (_strchr): ditto
+ * libc/machine/mn10300/strcmp.S (_strcmp): ditto
+ * libc/machine/mn10300/strcpy.S (_strcpy): ditto
+ * libc/machine/mn10300/Makefile.in: Added entries for
+ memchr.o, memcmp.o, memcpy.o, memset.o, strchr.o,
+ strcmp.o, strcpy.o, and strlen.o.
+
+Wed Jun 17 12:50:26 1998 Mark Alexander <marka@cygnus.com>
+
+ * configure.in: Don't use libc/sys/sysmec for MN10200; it's
+ been replaced with libgloss/mn10200.
+
+Fri Jun 12 14:34:39 1998 Michael Meissner <meissner@cygnus.com>
+
+ * libc/string/strchr.c (strchr): Make s a constant pointer to
+ avoid warning.
+
+Tue Jun 9 16:29:30 1998 Jason Molenda (crash@bugshack.cygnus.com)
+
+ * configure.in (target == arm* or thumb*): Define ARM_RDI_MONITOR
+ instead of ARM_RDP_MONITOR (sys/libc/arm/crt0.S to assume Angel
+ board SWIs instead of Demon board SWIs).
+
+Thu Jun 4 12:16:46 1998 Michael Meissner <meissner@cygnus.com>
+
+ * libc/string/strncat.c (strncat): Make -Os act the same as
+ PREFER_SIZE_OVER_SPEED being defined.
+
+Wed Jun 3 17:52:33 1998 Michael Meissner <meissner@cygnus.com>
+
+ * libc/string/memchr.c (memchr): Make -Os act the same as
+ PREFER_SIZE_OVER_SPEED being defined.
+ * libc/string/memcmp.c (memcmp): Ditto.
+ * libc/string/memcpy.c (memcpy): Ditto.
+ * libc/string/memset.c (memset): Ditto.
+ * libc/string/strcat.c (strcat): Ditto.
+ * libc/string/strchr.c (strchr): Ditto.
+ * libc/string/strcmp.c (strcmp): Ditto.
+ * libc/string/strcpy.c (strcpy): Ditto.
+ * libc/string/strlen.c (strlen): Ditto.
+ * libc/string/strncat.c (strncat): Ditto.
+ * libc/string/strncmp.c (strncmp): Ditto.
+ * libc/string/strncpy.c (strncpy): Ditto.
+
+Mon Jun 1 15:25:07 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/sys/itimer.h: remove
+ * libc/include/sys/time.h: itimer stuff should be here
+
+Mon Jun 1 16:31:29 1998 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/stdio/vfprintf.c (cvt): Changed code to look at sign
+ bit instead of comparing to 0 so -0.0 can be printed correctly.
+
+Sat May 30 09:33:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * libc/stdlib/mprec.c (b2d): Inilialize d in non-VAX case too.
+
+Fri May 29 22:25:10 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/sys/unistd.h: fix sync() proto
+ * libc/include/sys/fcntl.h: remove _close which is already
+ defined in unistd.h.
+ * libc/include/sys/time.h: add getitimer proto
+
+Fri May 29 16:10:28 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/string/strchr.c: convert arg to unsigned char
+ * libc/include/stdlib.h: add protos for random, srandom
+ * libc/include/sys/stat.h: add lstat proto
+ * libc/include/sys/time.h: add setitimer proto
+ * libc/include/sys/unistd.h: add readlink, symlink protos
+ * libc/include/process.h: instead of including windows.h and using
+ HANDLEs in sexec protos, just use void *s. Need to include
+ sys/types.h.
+
+Fri May 29 03:04:29 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/sys/fcntl.h: add _close proto for Cygwin32
+
+Thu May 28 16:34:21 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/process.h: add secure exec protos
+
+Wed May 27 13:54:51 1998 Jeffrey A Law (law@cygnus.com)
+
+ * libc/stdlib/dtoa.c (_dtoa_r): Use "double_union" for variables
+ which are accessed as both doubles and integers.
+ * libc/stdlib/mprec.c (ulp, b2d, ratio): Likewise.
+ * libc/stdlib/strtod.c (_strtod_r): Likewise.
+ * libc/stdlib/mprec.h: Add "union double_union" and change
+ word0/word1 macros to use it.
+
+Tue May 26 18:04:21 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/sys/signal.h: add __cplusplus wrapper
+
+Tue May 26 15:10:22 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/sys/utime.h: new generic file that gets replaced by
+ libc/sys/SYSDIR/sys/utime.h on systems that support the utime
+ function.
+ * sys/cygwin32/sys/utime.h: use _EXFUN in utime proto
+ * libc/include/time.h: remove duplicate utime proto
+ * libc/include/utime.h: add comment
+
+Sun May 24 23:56:20 1998 Christopher Faylor <cgf@cygnus.com>
+
+ * libc/include/sys/time.h: Add missing include to
+ allow use of _EXFUN. Remove times function that is
+ already defined in times.h.
+
+Sun May 24 01:32:14 1998 Christopher Faylor <cgf@cygnus.com>
+
+ * libc/include/time.h: Fix typo in tzset.
+
+Fri May 22 17:00:48 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/sys/time.h: add missing Cygwin32 function protos
+ * libc/include/sys/unistd.h: ditto
+ * libc/include/time.h: ditto
+
+Wed May 20 20:35:11 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/sys/cygwin32/sys/param.h: add protected NULL def, remove
+ FIXME.
+ * libc/include/sys/types.h: add a new __MS_types__ section
+ to define vm_offset_t, vm_size_t, int32_t et al, register_t,
+ __BIT_TYPES_DEFINED__.
+
+Wed May 20 18:49:21 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/sys/cygwin32/sys/param.h: move here from winsup/include/sys
+ since it overrides the one in libc/include/sys. Also, start
+ including types.h.
+
+Wed May 20 14:45:40 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libm/math/Makefile.in: add s_signgam.o to obj list
+
+Tue May 19 11:57:11 1998 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/include/sys/reent.h (_REENT_INIT): Initialize current locale to "C".
+
+Mon May 18 22:36:12 1998 Christopher Faylor <cgf@cygnus.com>
+
+ * libc/include/sys/signal.h: cygwin32 exports sig{empty,add}set,
+ so don't use defines.
+
+Mon May 18 19:01:02 1998 Michael Meissner <meissner@cygnus.com>
+
+ * libc/sys/d10v/crt0.S: Use correct stab for 16-bit ints.
+
+Sun May 17 18:40:32 1998 Frank Ch. Eigler <fche@cygnus.com>
+
+ * libc/stdlib/mbtowc_r.c (_mbtowc_r): Accept a NULL
+ _current_locale as default locale.
+
+Sat May 16 21:59:59 1998 Bob Manson <manson@charmed.cygnus.com>
+
+ * libc/stdlib/mallocr.c (mALLOc): Add explicit tests for
+ insufficient space in a chunk.
+
+Tue May 12 14:41:01 1998 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * configure.in (links): Added check for --enable-newlib-mb configure
+ option which defines the MB_CAPABLE macro.
+ * libc/locale/locale.c (_setlocale_r): Added support for setting
+ LC_CTYPE to "C-JIS", "C-SJIS" or "C-EUCJP", when MB_CAPABLE is
+ defined.
+ * libc/stdlib/mbtowc_r.c (_mbtowc_r): New function _mbtowc_r that
+ implements mbtowc() with multibyte support for JIS, SJIS, and EUC-JP.
+ * libc/stdlib/wctomb_r.c (_wctomb_r): New function _wctomb_r that
+ implements wctomb() with multibyte support for JIS, SJIS, and EUC-JP.
+ * libc/stdlib/mbstowcs_r.c (_mbstowcs_r): New function _mbstowcs_r that
+ implements mbstowcs() with multibyte support for JIS, SJIS, and EUC-JP.
+ * libc/stdlib/wcstombs_r.c (_wcstombs_r): New function _wcstomb_r that implements
+ wcstombs() with multibyte support for JIS, SJIS, and EUC-JP.
+ * libc/stdlib/Makefile.in: Added new multibyte
+ routines: _mbtowc_r(), _wctomb_r(), _mbstowcs_r(), and _wcstombs_r().
+ * libc/include/stdlib.h: Added declarations of _mbtowc_r(), _wctomb_r(),
+ _mbstowcs_r(), and _wcstombs_r().
+ * libc/stdlib/mbctype.h: New internal header file that contains macros to test
+ for JIS, SJIS, and EUC-JP characters.
+ * libc/stdlib/mblen.c (mblen): Added code to call _mbtowc_r() if
+ MB_CAPABLE defined.
+ * libc/stdlib/mbtowc.c (mbtowc): Added code to call _mbtowc_r() if
+ MB_CAPABLE defined.
+ * libc/stdlib/wctomb.c (wctomb): Added code to call _wctomb_r() if
+ MB_CAPABLE defined.
+ * libc/stdlib/mbstowcs.c (mbstowcs): Added code to call _mbstowcs_r()
+ if MB_CAPABLE defined.
+ * libc/stdlib/wcstombs.c (wcstombs): Added code to call _wcstombs_r()
+ if MB_CAPABLE defined.
+ * libc/stdio/vfscanf.c (__svfscanf): Added multibyte tolerance
+ to the format string processing when MB_CAPABLE.
+ * libc/stdio/vfprintf.c (_VFPRINTF_R): Changed mbtowc() call to
+ call _mbtowc_r().
+
+Tue May 5 16:07:23 1998 Nick Clifton <nickc@cygnus.com>
+
+ The following modifications are courtesy of Anthony Thompson,
+ athompson@cambridge.arm.com:
+ * libc/sys/arm/syscalls.c: Initialise and track stdin/out/err for
+ boith RDI and RDP monitors.
+ * libc/sys/arm/crt0.S: Call initialise_monitor_handles() for both
+ RDI and RDP monitors.
+
+Wed Apr 29 15:22:15 1998 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * configure.in (links): Added -DHAVE_GETTIMEOFDAY for arm and thumb.
+ * libc/sys/arm/syscalls.c (_gettimeofday _times): Added functions.
+ (_swiopen): Fixed open flags to treat write with append as just append.
+ (_swilseek): Fixed lseek support to properly handle offsets from SEEK_END.
+ * libc/sys/arm/sys/param.h: New file to override param.h for ARM.
+
+Fri Apr 24 18:00:09 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * libc/machine/sh/memcpy.S (L_odddst, big endian version):
+ When needing to transfer an initial 2-byte-word, store as
+ two single bytes.
+
+Wed Apr 22 17:56:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * libc/sys/sh/crt0.S (start): Handle __SH4_SINGLE_ONLY__ like
+ __SH3E__ .
+ * libc/machine/sh/memcpy.S (DELAYED_BRANCHES, SL): Likewise.
+ * libc/include/machine/ieeefp.h (_DOUBLE_IS_32BITS): Likewise.
+
+Wed Apr 22 12:28:03 1998 Michael Meissner <meissner@cygnus.com>
+
+ * configure.in (target_cflags): If --enable-target-optspace, use
+ -Os to compile newlib rather than -O2. Default to using -Os for
+ d10v, d30v and m32r if --{enable,disable}-target-optspace is not
+ used.
+
+Tue Apr 21 23:13:34 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/machine/setjmp.h: change sigsetjmp and
+ siglongjmp definitions to use an array instead of a struct
+ for __CYGWIN32__
+
+Tue Apr 14 11:47:47 1998 Doug Evans <devans@canuck.cygnus.com>
+
+ * libc/reent/impure.c (__ATTRIBUTE_IMPURE_DATA__): Fix spelling.
+
+Mon Apr 6 15:05:08 1998 Jonathan Larmour <jlarmour@cygnus.co.uk>
+
+ * libc/string/strxfrm.c: fix to get correct return value
+
+Wed Apr 1 16:09:05 1998 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/arm/crt0.S: Set top of RAM to be 0x800000 for PE
+ builds. Make mode change labels global so that they will be seen
+ by the debugger.
+
+Wed Mar 18 09:45:10 1998 Nick Clifton <nickc@cygnus.com>
+
+ * configure.in (links): Do not use ARM debiugging protocols for PE
+ builds.
+
+ * libc/sys/arm/syscalls.c (_sbrk): Add "_sbrk: " to error
+ message.
+
+Fri Mar 13 11:24:34 1998 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/stdio/findfp.c (__sinit): Made stdout default to
+ line buffered mode as defined by ANSI.
+
+Tue Mar 10 11:41:26 1997 Bob Manson <manson@charmed.cygnus.com>
+
+ * libc/include/sys/itimer.h: New file.
+
+ * libc/signal/signal.c (__sigtramp_r,__sigtramp): New functions.
+
+Mon Mar 9 14:19:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * libc/machine/sh/memcpy.S: (_memcpy): Fix for execute/memcpy-1.c
+ failure.
+
+Fri Feb 27 13:56:10 1998 Michael Meissner <meissner@cygnus.com>
+
+ * libc/machine/d30v/setjmp.S (longjmp): Fix order of parallel
+ insns.
+
+Wed Feb 25 09:29:54 1998 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/arm/syscalls.c (_open): Add varags to conform to prototype.
+
+Tue Feb 24 18:00:13 1998 Michael Meissner <meissner@cygnus.com>
+
+ * libc/machine/d30v/{setjmp.S,Makefile.in}: New files for D30V
+ support.
+
+ * libc/include/machine/setjmp.h: Add D30V support.
+
+ * configure.in (d30v-*): Add d30v machine directory.
+
+Mon Feb 23 09:32:58 1998 Mark Alexander <marka@cygnus.com>
+
+ * configure.in: Don't use libc/sys/sysmec for MN10300; it's
+ been replaced with libgloss/mn10300.
+
+Sat Feb 21 17:44:43 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/stdlib/mallocr.c: remove __malloc_copy routine now that
+ it is no longer needed.
+
+Thu Feb 19 16:15:10 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/sys/signal.h: add sigpause proto for Cygwin32
+
+Wed Feb 18 23:51:08 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/stdio/fdopen.c (fdopen): Make all writes go to the end of
+ the file when O_APPEND is set, wherever the EOF happens to be at
+ that time.
+
+Wed Feb 18 23:25:02 1998 Geoffrey Noer <noer@cygnus.com>
+
+ patch from cgf@bbc.com (Christopher Faylor):
+ * libc/stdio/freopen.c (freopen): Conform to standard UNIX
+ convention of closing fp prior to attempting to open the file
+ argument. This allows correct operation when reopening
+ stdin/stdout/stderr. Replaces last freopen.c patch.
+
+Wed Feb 18 16:27:40 1998 Geoffrey Noer <noer@cygnus.com>
+
+ patch from cgf@bbc.com (Christopher Faylor):
+ * libc/stdio/freopen.c: freopen was not preserving the fd
+ of the stream being operated on. This confuses programs that
+ expect that the handles for stdout and stderr will be 1 and 2.
+
+Mon Feb 16 23:34:07 1998 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * libc/sys/d10v/crt0.S (_start): Set PSW{SW} - select SPU.
+
+Thu Feb 12 15:09:20 1998 Ranjith Kumaran <ranjith@cygnus.com>
+
+ * libc/sys/go32/longjmp.S: Fix longjmp to not return 0.
+
+Wed Feb 11 17:50:45 1998 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/machine/powerpc/setjmp.S (setjmp, longjmp): Alignment code
+ altered to not use a branch. Also added hint that last
+ bclr in longjmp will likely result in branch.
+
+
+Mon Feb 9 03:44:02 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/sys/cygwin32/crt0.c: add missing args to main() extern
+
+Fri Feb 6 16:32:32 1998 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/sysnecv850/crt0.S (_start): Initialise _ctbp even for
+ v850 builds.
+
+ * configure.in: Add -msmall-sld to target_cflags for v850 builds.
+
+Wed Feb 4 16:56:20 1998 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/machine/powerpc/setjmp.S (longjmp): Fixed code
+ that loads FR14 to specify offset of 8 rather than 4
+ so it loads from offset 96 (where setjmp stored it).
+
+Tue Feb 3 18:08:34 1998 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/machine/sh/memcpy.S: (_memcpy): Update to
+ latest version supplied by customer.
+ * libc/machine/sh/memset.S (_memset): Ditto.
+
+Mon Feb 2 16:20:39 1998 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/sysnecv850/Makefile.in (OFILES): Add link.o (for
+ PR14730).
+
+Mon Feb 2 15:13:26 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/string.h: remove redefinition of ffs
+
+Wed Jan 28 13:30:14 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/sys/signal.h: include _ansi.h so _EXFUN is
+ defined
+
+Wed Jan 28 10:38:34 1998 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * libc/machine/tic80/setjmp.S: Adding _setjmp to allow
+ TI Libraries to link to libc.a
+
+Sat Jan 24 10:15:56 1998 Michael Meissner <meissner@cygnus.com>
+
+ * libc/include/sys/fcntl.h (_open,_fcntl): Add prototypes.
+ * libc/include/sys/stat.h (_{,f}stat): Ditto.
+ * libc/include/sys/wait.h (_wait): Ditto.
+ * libc/include/sys/unistd.h (_close,_fork,_getpid): Ditto.
+ (_link,_lseek,_read,_sbrk,_unlink,_write): Ditto.
+
+Fri Jan 23 11:32:10 1998 Michael Meissner <meissner@cygnus.com>
+
+ * libc/machine/d10v/setjmp.S: Change to new ABI. Add simple
+ minded stabs so function name shows up when running the simulator
+ with -t.
+ * libc/sys/d10v/{crt0,trap}.S: Ditto.
+
+Thu Jan 22 15:57:14 1998 Fred Fish <fnf@cygnus.com>
+
+ * libc/sys/d10v/trap.S: Change syscalls to use trap 15.
+ * libc/sys/d10v/crt0.S: Use R6 where we used to use R2.
+ Use R5 where we used to use R3.
+
+Wed Jan 21 14:22:23 1998 Bill Moyer <billm@cygnus.com>
+
+ * libc/stdlib/getopt.c (getopt): replaced __progname
+ with nargv[0] to improve portability to imbedded systems.
+
+Thu Jan 15 12:32:38 1998 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/arm/syscalls.c (initialise_angel_handles): Applied
+ patch supplied by Tont.Thompson@arm.com to fix the creation of the
+ stdout file.
+
+Wed Jan 14 13:00:19 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * libc/stdio/tmpnam.c (worker): Generate a different file name
+ each time.
+
+ * libc/posix/popen.c (popen): If __CYGWIN32__, and execing /bin/sh
+ fails, try an execlp for sh.
+
+ * host/any (INCLUDES): If target_os is cygwin32, then add a -I
+ option for the winsup include directory.
+
+Wed Jan 7 17:02:58 1998 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/arm/syscalls.c: Applied patches for Angel based remote
+ debugging interface from Tony.Thompson@arm.com.
+
+ * libc/sys/arm/crt0.S (_mainCRTStartup): ditto.
+ * libc/sys/arm/swi.h: ditto.
+
+Tue Jan 6 14:15:10 1998 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/sys/cygwin32/sys/dirent.h: add __d_dirhash field to
+ DIR struct used for readdir hashes.
+
+Thu Jan 1 11:22:22 1998 Jeffrey A Law (law@cygnus.com)
+
+ * libc/string/strchr.c: Use "unsigned chars" as necessary.
+
+Wed Dec 31 04:25:30 1997 Jeffrey A Law (law@cygnus.com)
+
+ * libc/stdlib/mallocr.c (idx2binblock): Don't lose on 16bit
+ integer targets.
+
+Sat Dec 13 15:11:06 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * libc/stdlib/mallocr.c (__malloc_copy): New function, compiled if
+ INTERNAL_NEWLIB and __CYGWIN32__ and DEFINE_MALLOC.
+ * libc/include/malloc.h: Add extern "C" if __cplusplus.
+ (__malloc_copy): Declare.
+
+Wed Dec 10 12:15:54 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * libc/stdlib/mallocr.c: If INTERNAL_NEWLIB, include
+ <sys/config.h>.
+ (POINTER_UINT): Define.
+ (DEFAULT_TRIM_THRESHOLD): Mark constants as long.
+ (MALLOC_ALIGNMENT): Don't define if already defined.
+ (malloc_extend_top): Cast pointers to POINTER_UINT, not unsigned
+ long.
+
+Tue Dec 9 19:23:42 1997 Michael Meissner <meissner@cygnus.com>
+
+ * libc/string/memset.c (memset): Fiddle with code so that the long
+ value being stored is not a stack value. Unroll storing longs 4
+ times.
+
+Tue Dec 9 14:13:18 1997 Jeff Johnston <jjohnstn@cygnus.com>
+
+ * Reduce code size for libm modules.
+ * libm/math/w_sqrt.c (sqrt): Remove call to kernel_standard
+ and simply move code into sqrt.
+ * libm/math/wrf_lgamma.c (lgammaf_r): Likewise.
+ * libm/math/wr_lgamma.c (lgamma_r): Likewise.
+ * libm/math/wrf_gamma.c (gammaf_r): Likewise.
+ * libm/math/wr_gamma.c (gamma_r): Likewise.
+ * libm/math/wf_sinh.c (sinfh): Likewise.
+ * libm/math/w_sinh.c (sinh): Likewise.
+ * libm/math/wf_scalb.c (scalbf): Likewise.
+ * libm/math/w_scalb.c (scalb): Likewise.
+ * libm/math/wf_remainder.c (remainderf): Likewise.
+ * libm/math/w_remainder.c (remainder): Likewise.
+ * libm/math/wf_pow.c (powf): Likewise.
+ * libm/math/w_pow.c (pow): Likewise.
+ * libm/math/wf_log10.c (log10f): Likewise.
+ * libm/math/w_log10.c (log10): Likewise.
+ * libm/math/wf_log.c (logf): Likewise.
+ * libm/math/w_log.c (log): Likewise.
+ * libm/math/w_lgamma.c (lgamma): Likewise.
+ * libm/math/wf_lgamma.c (lgammaf): Likewise.
+ * libm/math/wf_jn.c (jnf): Likewise.
+ * libm/math/w_jn.c (jn): Likewise.
+ * libm/math/wf_j1.c (j1f): Likewise.
+ * libm/math/w_j1.c (j1): Likewise.
+ * libm/math/wf_j0.c (j0f): Likewise.
+ * libm/math/w_j0.c (j0): Likewise.
+ * libm/math/wf_hypot.c (hypotf): Likewise.
+ * libm/math/w_hypot.c (hypot): Likewise.
+ * libm/math/wf_gamma.c (gammaf): Likewise.
+ * libm/math/w_gamma.c (gamma): Likewise.
+ * libm/math/wf_fmod.c (fmodf): Likewise.
+ * libm/math/w_fmod.c (fmod): Likewise.
+ * libm/math/wf_exp.c (expf): Likewise.
+ * libm/math/w_exp.c (exp): Likewise.
+ * libm/math/wf_cosh.c (coshf): Likewise.
+ * libm/math/w_cosh.c (cosh): Likewise.
+ * libm/math/wf_atanh.c (atanhf): Likewise.
+ * libm/math/w_atanh.c (atanh): Likewise.
+ * libm/math/wf_atan2.c (atan2f): Likewise.
+ * libm/math/w_atan2.c (atan2): Likewise.
+ * libm/math/wf_asin.c (asinf): Likewise.
+ * libm/math/w_asin.c (asin): Likewise.
+ * libm/math/wf_acosh.c (acoshf): Likewise.
+ * libm/math/w_acosh.c (acosh): Likewise.
+ * libm/math/wf_acos.c (asocf): Likewise.
+ * libm/math/w_acos.c (acos): Likewise.
+ * libm/math/wf_sqrt.c (sqrtf): Likewise.
+ * libm/math/k_standard.c (_k_standard): Don't require SVID behavior
+ for embedded systems.
+
+Mon Dec 8 12:12:58 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * libc/stdlib/mallocr.c (malloc_extend_top): Add patch from Doug
+ Lea in case of a foreign sbrk.
+
+Fri Dec 5 23:27:28 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ Incorporate Doug Lea's malloc:
+ * libc/stdlib/mallocr.c: Completely replaced.
+ * libc/stdlib/malloc.c: Document malloc_usable_size and memalign.
+ (realloc): Remove.
+ * libc/stdlib/calloc.c (calloc): Just call _calloc_r.
+ * libc/stdlib/mstats.c: Document mallinfo, malloc_stats, and
+ mallopt.
+ (mallinfo, malloc_stats, mallopt): New functions.
+ (_mstats_r): Just call _malloc_stats_r.
+ * libc/stdlib/malign.c: New file.
+ * libc/stdlib/mlock.c: New file.
+ * libc/stdlib/msize.c: New file.
+ * libc/stdlib/mtrim.c: New file.
+ * libc/stdlib/realloc.c: New file.
+ * libc/stdlib/valloc.c: New file.
+ * libc/stdlib/malloc.h: Remove.
+ * libc/stdlib/callocr.c: Remove.
+ * libc/stdlib/Makefile.in (OFILES): Add cfreer.o, freer.o,
+ malign.o, malignr.o, mallinfor.o, malloptr.o, mallstatsr.o,
+ mlock.o, msize.o, msizer.o, mtrim.o, pvallocr.o, realloc.o,
+ reallocr.o, valloc.o, vallocr.o.
+ (CHEWOUT_FILES): Add mlock.def, mstats.def.
+ (MALLOC_CFLAGS): New variable.
+ (mallocr.o): New target, build from mallocr.c.
+ (freer.o, reallocr.o, callocr.o, cfreer.o, malignr.o): Likewise.
+ (vallocr.o, pvallocr.o, mallinfor.o, mallstatsr.o): Likewise.
+ (msizer.o, malloptr.o): Likewise.
+ (malign.o, mlock.o, msize.o, mtrim.o, realloc.o): New targets.
+ (valloc.o): New target.
+ * libc/stdlib/stdlib.tex: Include mlock.def and mstats.def.
+ * libc/include/malloc.h: Declare struct mallinfo, and new
+ routines.
+ * libc/include/stdlib.h (cfree): Correct declaration.
+
+Tue Dec 2 10:12:16 1997 Nick Clifton <nickc@cygnus.com>
+
+ * libc/include/machine/setjmp.h: Add support for Thumb target.
+
+ * libc/include/machine/ieeefp.h: Add support for Thumb target.
+
+ * configure.in (links): Add support for Thumb target.
+
+Wed Nov 26 09:56:17 1997 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/arm/setjmp.S: Updated with version from branch.
+
+Thu Nov 20 01:21:43 1997 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/stdio.h: add POSIX-required define L_ctermid
+ for ctermid
+
+Wed Nov 19 16:11:40 1997 Michael Meissner <meissner@cygnus.com>
+
+ * configure.in (d30v-*-*): Define ABORT_MESSAGE, SMALL_MEMORY, in
+ addition to MISSING_SYSCALL_NAMES.
+
+Mon Nov 17 20:05:05 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * libc/include/sys/config.h: (UINT_MAX, for D10V): Make unsigned.
+
+Mon Nov 10 22:26:55 1997 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/string.h: change strsignal proto to return
+ a char *. This eliminates compile problems in gdb resulting
+ from gdb's definition of strsignal in defs.h.
+
+Mon Nov 10 17:11:08 1997 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/sys/cygwin32/sys/utime.h: new (moved here from
+ winsup/include) so as not to conflict with the one in
+ libc/include.
+ * libc/include/string.h: add protos for strsignal, strtosigno
+
+Mon Nov 10 13:49:54 1997 Michael Meissner <meissner@cygnus.com>
+
+ * libc/include/sys/config.h: Define __IEEE_BIG_ENDIAN if d30v.
+
+ * configure.in (d30v-*-*): Add configuration.
+
+Thu Oct 30 14:01:23 1997 Nick Clifton <nickc@cygnus.com>
+
+ * configure.in (links): Add -DARM_RD[P|I]_MONITOR to target_cflags
+ to select which kind of debug monitor is in use for an ARM target.
+
+ * libc/sys/arm/crt0.S: New version: Supports Thumb startups and
+ Angel and Demon debug monitors. Part of this code was supplied by
+ Tony Thompson at ARM: athompso@arm.com.
+
+Fri Oct 24 18:57:05 1997 Jeffrey A Law (law@cygnus.com)
+
+ * strncat.c (strncat): Don't call strncpy; strncay has the wrong
+ semantics when the count is greater than the length of the second
+ source string.
+
+Thu Oct 23 01:37:41 1997 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/sys/signal.h: reorder CYGWIN32 signal numbers
+ * libc/include/sys/unistd.h: add protos for usleep, truncate,
+ truncate and ftruncate take off_t, not size_t
+
+Tue Oct 21 18:42:00 1997 Jim Wilson <wilson@cygnus.com>
+
+ * libc/string/strcat.c (strcat): Add missing comment end.
+ * libc/string/strncat.c (strncat): Likewise.
+
+Tue Oct 21 17:23:34 1997 Nick Clifton <nickc@cygnus.com>
+
+ * configure.in (links): Define PREFER_SIZE_OVER_SPEED for v850
+ targets.
+ * libc/string/{memchr.c, memcmp.c, memcpy.c}: Add space
+ optimised version which is selected if PREFER_SIZE_OVER_SPEED is
+ defined.
+ * libc/string/{memset.c, strcat.c, strchr.c}: Likewise.
+ * libc/string/{strcmp.c, strcpy.c, strlen.c}: Likewise.
+ * libc/string/{strncat.c, strncmp.c, strncpy.c}: Likewise.
+
+Mon Oct 13 15:12:35 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * libc/include/sys/param.h (BIG_ENDIAN): Define if __i386__.
+ (LITTLE_ENDIAN, BYTE_ORDER): Likewise.
+
+Thu Oct 9 13:54:44 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/machine/i386/setjmp.S: New file.
+ * libc/machine/i386/Makefile.in: Delete COPYOFILES.
+ (OFILES): Add setjmp.o.
+ (setjmp.o): Add rule for.
+ * configure.in: Don't set machine_dir for *-*-{go32,sco*,cygwin32}.
+
+Tue Oct 7 14:01:29 1997 Bill Moyer (billm@cygnus.com)
+ Jeffrey A Law (law@cygnus.com)
+
+ * libc/string/{memchr.c, memcmp.c, memcpy.c}: Reimplement to run faster.
+ * libc/string/{memset.c, strcat.c, strchr.c}: Likewise.
+ * libc/string/{strcmp.c, strcpy.c, strlen.c}: Likewise.
+ * libc/string/{strncat.c, strncmp.c, strncpy.c}: Likewise.
+
+Mon Oct 6 14:07:59 1997 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/sysnecv850/Makefile.in (crt0.o trap.o): Explicit
+ rules.
+
+ * libc/include/sys/config.h: Use __v850 to select v850
+ endianness.
+
+ * libc/include/machine/setjmp.h: Use __v850 to select v850 jump
+ buffer size.
+
+ * libc/include/machine/ieeefp.h: Use __v850 to select v850
+ endianness.
+
+Thu Sep 25 14:11:37 1997 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/stdlib/setenv.c: change unsetenv definition to match
+ style of setenv (with _DEFUN). The string should be a const.
+ * libc/include/stdlib.h: unsetenv proto should return void.
+
+Tue Sep 23 18:17:20 1997 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/stdlib.h: define unsetenv proto for __CYGWIN32__
+
+Thu Sep 18 12:50:15 1997 Angela Marie Thomas (angela@cygnus.com)
+
+ * libc/stdio/glue.h: remove.
+ * libc/stdio/findfp.c, libc/stdio/fwalk.c: remove #include "glue.h"
+ * libc/stdio/Makefile.in: remove glue.h dependencies
+
+Wed Sep 17 17:42:27 1997 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/sysnecv850/crt0.S: Created V850e version.
+
+Tue Sep 9 10:40:57 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * configure.in (target_cpu): Add `arc'.
+
+Tue Sep 9 10:40:42 1997 Joel Sherrill <joel@OARcorp.com>
+
+ * newlib/configure.in (*-*-rtems*): Add -DSIGNAL_PROVIDED and
+ -DREENTRANT_SYSCALLS_PROVIDED to the target_cflags.
+ * newlib/libc/include/sys/errno.h: Add ENOTSUP.
+ * newlib/libc/reent/reent.c: Add _wrapup_reent.
+ * newlib/libc/sys/rtems/sys/types.h: Avoid redefinitions for go32.
+
+Sun Sep 7 16:41:41 1997 Gavin Koch <gavin@cygnus.com>
+
+ * libc/machine/mips/setjmp.S: Handle mips16 builds.
+
+Thu Aug 21 20:05:38 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * libc/include/stdio.h (siprintf): Declare.
+
+Mon Aug 18 11:19:13 1997 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/sysnecv850/Makefile.in (.c.o): Add rule that includes
+ TARGET_CFLAGS and NEWLIB_FLAGS.
+
+Mon Aug 18 11:15:43 1997 Nick Clifton <nickc@cygnus.com>
+
+ * configure.in (links): Add support for v850ea target.
+
+Mon Aug 18 11:15:43 1997 Nick Clifton <nickc@cygnus.com>
+
+ * configure.in (links): Add support for v850e target.
+
+Wed Aug 13 19:16:54 1997 Nick Clifton <nickc@cygnus.com>
+
+ * libc/sys/sysnecv850/crt0.S: Remove initial setting of r0 to 0.
+
+Mon Aug 11 15:49:54 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * configure.in (arc-*-*): Add support for.
+ * libc/include/machine/ieeefp.h (__arc__): Add support for the ARC.
+
+Fri Jul 25 17:37:41 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * libc/sys/sh/crt0.S (start): Add fpscr initialization for SH4.
+
+Thu Jul 24 18:32:17 1997 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/stdlib/bsearch.c (bsearch): remove last unneeded
+ comparison which accesses invalid memory when the key is
+ larger than the last member of the array.
+ * libc/include/machine/setjmp.h: add sigsetjmp, siglongjmp
+ for CYGWIN32
+ * libc/include/sys/unistd.h: add _POSIX defines for CYGWIN32
+
+Tue Jul 22 16:03:06 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * libc/include/stdlib.h (realpath): Declare if __CYGWIN32__ and
+ not _STRICT_ANSI.
+
+Thu Jul 10 15:11:52 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * libm/math/k_standard.c (__kernel_standard): Call fflush(stdout)
+ ifndef _USE_WRITE, instead of ifdef _USE_WRITE.
+
+Thu Jul 10 16:00:09 1997 Mike Meissner <meissner@cygnus.com>
+
+ * libc/machine/tic80/setjmp.S (setjmp,longjmp): Use ld.d and st.d
+ to load/store memory.
+
+Mon Jul 7 17:38:17 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * libc/include/sys/fcntl.h: Define _O_* symbols with leading
+ underscores if _WIN32.
+
+Wed Jul 2 10:07:20 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * libm/math/k_standard.c (__kernel_standard): Delete reentrancy
+ support ifdef _USE_WRITE missed in last change.
+ From Anders Blomdell <anders.blomdell@control.lth.se>.
+
+Wed Jun 25 10:18:49 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/stdio/tmpnam.c (worker): Handle _open_r being stubbed out.
+ (_tmpnam_r, _tempnam_r): Update.
+
+Wed Jun 25 00:16:55 1997 Mark Alexander <marka@cygnus.com>
+
+ * libc/machine/sparc/setjmp.S: New file.
+ * libc/machine/sparc/Makefile.in: Add setjmp.
+ * libc/include/machine/setjmp.h: Increase jmpbuf size for sparc.
+
+Tue Jun 24 23:27:38 1997 Mark Alexander <marka@cygnus.com>
+
+ * libc/include/machine/setjmp.h: Use __TIC80__ instead of __tic80__.
+
+Tue Jun 24 14:53:40 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ From Joel Sherrill <joel@oarcorp.com>.
+ * libc/stdlib/getenv.c (_findenv): Avoid dereferencing null `environ'.
+
+ Add rtems support. From Joel Sherrill <joel@oarcorp.com>.
+ * configure.in: Recognize *-*-rtems*.
+ * libc/sys/rtems/{Makefile.in,crt0.c,dummysys.c}: New files.
+ * libc/sys/rtems/sys/{features.h,sched.h,siginfo.h,signal.h,
+ time.h,times.h,types.h}: New files.
+ * libc/sys/rtems/include/{limits.h,signal.h,time.h}. New files.
+
+Fri Jun 20 11:13:16 1997 Geoffrey Noer <noer@cygnus.com>
+
+ patch from sos@prospect.com.ru (Sergey Okhapkin):
+ * include/sys/wait.h: correct operator precidence bug
+ in WIFSIGNALED
+
+Wed Jun 18 22:08:27 1997 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/stdlib.h: remove unsetenv proto since it conflicts
+ with newlib's unsetenv function
+ * libc/sys/cygwin32/sys: new directory for includes
+ * libc/sys/cygwin32/sys/dirent.h: move cygwin32's dirent.h
+ here from winsup/include/sys
+
+Mon Jun 16 21:02:22 1997 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/sys/unistd.h: _exit should only be
+ labelled noreturn when not __CYGWIN32__
+ * libc/include/stdlib.h: for __CYGWIN32__, add proto for unsetenv
+ * libc/include/sys/signal.h: add SIGIO to _WIN32 list and
+ increment NSIG
+
+Thu Jun 12 18:52:41 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * libc/include/sys/time.h: Only define timeval and timezone if
+ _GNU_H_WINDOWS32_SOCKETS is not defined.
+ * libc/include/sys/stat.h: If _WIN32, define _S_IFMT, etc.
+
+Wed Jun 11 09:46:26 1997 Jeffrey A Law (law@cygnus.com)
+
+ * libc/machine/mn10200/setjmp.S: Implement setjmp/longjmp
+ * libc/machine/mn10300/setjmp.S: Likewise.
+
+ * libc/sys/sysmec/crt0.S: Use "call" instead of "calls" for
+ the mn10300 (more relaxing opportunities).
+
+Tue Jun 10 17:24:45 1997 Mike Meissner <meissner@cygnus.com>
+
+ * configure.in (powerpc*-*-{eabi,elf,linux,rtems,sysv,solaris}):
+ Build libraries with -mstrict-align.
+
+Fri Jun 6 14:07:59 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * libc/string/strlwr.c: New file.
+ * libc/string/strupr.c: New file.
+ * libc/include/string.h: Declare strlwr and strupr.
+ * libc/string/Makefile.in (OFILES): Add strlwr.o and strupr.o.
+ (CHEWOUT_FILES): Add strlwr.def and strupr.def.
+ (strlwr.o, strupr.o): New targets.
+ * libc/string/strings.tex: Include strlwr and strupr docs.
+
+ * libc/include/sys/types.h: Don't define u_char, et. al., if
+ _GNU_H_WINDOWS32_SOCKETS is defined. Likewise for fd_set,
+ et. al. Make FD_SETSIZE default 64 rather than 60. Define
+ _types_fd_set rather than fd_set, and define fd_set as a macro.
+
+ * libc/include/malloc.h: New file.
+
+ * libc/include/string.h: Define strcmpi, stricmp, strncmpi, and
+ strnicmp if they are not already defined.
+
+ * libc/include/time.h: If __CYGWIN32__, declare tzset and define
+ _timezone, _daylight, and _tzname.
+
+Wed Jun 4 12:51:16 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * configure.in: Sort all configuration tables.
+
+ From Joel Sherrill <joel@oarcorp.com>
+ * Makefile.in (stmp-targ-include): Copy $(sys_dir)/include/*.h.
+
+Tue Jun 3 14:47:46 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * libc/include/sys/signal.h: Don't include <sys/types.h>. Just
+ use int when declaring kill.
+
+ * libc/include/sys/timeb.h: New file.
+
+Mon Jun 2 12:06:58 1997 Geoffrey Noer <noer@cirdan.cygnus.com>
+
+ * libc/include/sys/time.h: add itimer support for Cygwin32
+
+Mon May 19 11:56:46 1997 Mike Meissner <meissner@cygnus.com>
+
+ * libc/stdlib/abort.c (abort): If ABORT_MESSAGE is defined, write
+ out a message that abort was called to stderr.
+
+Fri May 16 15:02:59 1997 Bob Manson <manson@charmed.cygnus.com>
+
+ * libc/sys/sysmec/fstat.c (_fstat): Set st_blksize to 4096
+ so that libio doesn't freak.
+
+ * libc/sys/sysmec/sbrk.c (_sbrk): The argument is a size_t, not
+ int.
+
+ * libc/stdlib/mallocr.c (_morecore_r): Use size_t for
+ memory sizes, not int.
+
+Wed May 14 21:16:58 1997 Bob Manson <manson@charmed.cygnus.com>
+
+ * libm/math/ef_hypot.c: Use long constants where
+ appropriate.
+ * libm/math/ef_sqrt.c: Ditto.
+
+ * libc/sys/sysmec/times.c(_times): Change to times.
+
+ * libc/sys/sysmec/read.c(_read): The third argument is
+ size_t.
+ * libc/sys/sysmec/write.c (_write): Ditto.
+
+ * libc/sys/sysmec/lseek.c: Include unistd.h for off_t.
+ (_lseek): It's off_t for the second argument.
+
+Wed May 14 15:23:36 1997 Mike Meissner <meissner@cygnus.com>
+
+ * libc/include/sys/config.h (__IEEE_LITTLE_ENDIAN): Define here,
+ as well as machine/ieeefp.h.
+
+Thu May 8 15:47:25 1997 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/sys/signal.h: add signal protos for winsup
+ functions (when __CYGWIN32__), include types.h
+ * libc/include/sys/types.h: Change __go32_types__ internal
+ define to __MS_types__ since it's used for more than just
+ GO32 configs. Define this if GO32, __MSDOS__, or _WIN32 are
+ defined.
+ * libc/include/sys/unistd.h: add ftruncate proto for
+ winsup functions (when __CYGWIN32__)
+
+Fri Apr 25 10:10:16 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/sys/h8300hms/sbrk.c (stack_ptr): Add definition.
+
+Thu Apr 24 15:46:51 1997 Mike Stump <mrs@cygnus.com>
+
+ * libc/include/machine/setjmp.h: Add tic80 support.
+ * libc/machine/tic80/setjmp.S: Likewise.
+
+Tue Apr 22 16:54:40 1997 Geoffrey Noer <noer@pizza.cygnus.com>
+
+ * libc/sys/cygwin32/crt0.c: Add reference to main() so we can
+ link programs from libraries only (such as in the X11
+ distribution)
+
+Mon Apr 21 15:02:12 1997 Fred Fish <fnf@cygnus.com>
+
+ * libc/sys/arm/syscalls.c (signal): Remove stub, signal()
+ supplied elsewhere in newlib.
+
+Mon Apr 14 16:25:55 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.in (INSTALL): Change install.sh to install-sh.
+
+Fri Apr 11 17:04:02 1997 Jason Molenda (crash@godzilla.cygnus.co.jp)
+
+ * README: update WWW address for on-line documentation.
+
+Wed Apr 9 00:38:13 1997 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/sys/signal.h: for _WIN32, define SIGCONT and
+ increment NSIG
+
+Mon Apr 7 23:54:00 1997 Jeffrey A Law (law@cygnus.com)
+
+ * libc/sys/sysmec/crt0.S: Update for new calling conventions on the
+ mn10300.
+ * libc/sys/sysmec/trap.S: Don't compare a register to itself.
+
+Tue Mar 25 08:47:43 1997 Jeffrey A Law (law@cygnus.com)
+
+ * libc/sys/arm/syscalls.c: Fix/add stack/heap collision detection.
+ * libc/sys/d10v/syscalls.c: Likewise.
+ * libc/sys/h8300hms/sbrk.c: Likewise.
+ * libc/sys/h8500hms/syscalls.c: Likewise.
+ * libc/sys/m88kbug/syscalls.c: Likewise.
+ * libc/sys/sh/syscalls.c: Likewise.
+ * libc/sys/sysmec/sbrk.c: Likewise.
+ * libc/sys/sysnecv850/sbrk.c: Likewise.
+ * libc/sys/w65/syscalls.c: Likewise.
+ * libc/sys.tex: Update sbrk sample code to include stack/heap collision.
+
+Tue Mar 18 14:14:34 1997 Jeffrey A Law (law@cygnus.com)
+
+ * libc/sys/sysmec/trap.S: Use "syscall" to trigger an
+ emulated syscall instead of "trap".
+
+Fri Mar 14 11:26:13 1997 Michael Meissner <meissner@cygnus.com>
+
+ * libc/sys/d10v/trap.S (__trap0): Use trap 15 for system calls,
+ not trap 0.
+
+Sun Mar 9 23:27:04 1997 Doug Evans <dje@seba.cygnus.com>
+
+ * configure.in (m32r-*-*): Add -msdata=sdata to target_cflags.
+
+Sat Mar 8 09:05:01 1997 Fred Fish <fnf@cygnus.com>
+
+ * libc/machine/arm/Makefile.in: Fix comment, is for "arm"
+ not "sh".
+ * libc/machine/m32r/Makefile.in: Fix comment, is for "m32r"
+ not "d10v".
+ * libc/sys/tic80/crt0.c: New file for TIc80.
+ * libc/sys/tic80/Makefile.in: New file for TIc80.
+ * libc/machine/tic80/Makefile.in: New file for TIc80.
+
+Wed Mar 5 11:32:12 1997 J.T. Conklin <jtc@cygnus.com>
+
+ * libc/machine/sh/memcpy.S: New file.
+ * libc/machine/sh/memset.S: New file.
+ * libc/machine/sh/Makefile.in (OFILES): Add memcpy.o and memset.o
+
+Thu Feb 27 16:27:55 1997 Fred Fish <fnf@cygnus.com>
+
+ * libc/include/machine/ieeefp.h (_IEEE_LITTLE_ENDIAN): Define
+ for TIc80.
+
+Wed Feb 26 13:43:39 1997 Jeffrey A Law (law@cygnus.com)
+
+ * libc/sys/sysmec/crt0.S: Handle new calling conventions for
+ the mn10200.
+
+Wed Feb 26 07:11:03 1997 Michael Meissner <meissner@cygnus.com>
+
+ * libc/machine/powerpc/setjmp.S (longjmp): Correct return status
+ (patch from andrew@pogo.WV.TEK.COM).
+
+Fri Feb 14 11:49:28 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/machine/m32r/setjmp.S (setjmp): Save r12.
+ (longjmp): Restore r12. Fix code that handles returning 1 if passed 0.
+
+Mon Feb 10 10:02:34 1997 Fred Fish <fnf@cygnus.com>
+
+ * configure.in: Add cases for "tic80" to set machine_dir,
+ sys_dir, and syscall_dir.
+
+Sun Feb 2 17:57:15 1997 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/sys/cygwin32/crt0.c: initialize floating pt registers
+
+Wed Jan 29 15:57:38 1997 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/math.h: avoid conflicts with ANSI C++ <exception>
+
+Mon Jan 27 12:50:01 1997 Doug Evans <dje@seba.cygnus.com>
+
+ * libc/machine/m32r/setjmp.S: Use proper comment delimiter.
+ Use proper constant prefix.
+
+Fri Jan 24 10:59:04 1997 Jeffrey A Law (law@cygnus.com)
+
+ * libc/sys/sysmec/*.c: Don't cast args to syscall to integers,
+ that loses on the mn10200 where ints and pointers are different
+ sizes.
+
+Tue Jan 14 13:29:55 PST 1997 Jeremy Allison <jra@cygnus.com>
+
+ * configure.in: Added -DSIGNAL_PROVIDED to cygwin32
+ target as signal is provided in winsup.
+
+Tue Jan 14 11:10:13 1997 Jeremy Allison <jra@cygnus.com>
+
+ * libc/include/sys/process.h: Corrected const definitions
+ in spawn functions. Added cwait.
+
+Thu Jan 2 12:22:41 1997 Jeffrey A Law (law@cygnus.com)
+
+ * libc/include/machine/ieeefp.h: mn10200 uses 16bit ints and 32bit
+ doubles.
+ * libc/include/sys/config.h: Similarly.
+
+Tue Dec 31 18:36:14 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * configure.in (sparc-sun-sunos*): Add -DSIGNAL_PROVIDED to the
+ target_cflags.
+ (i[3456]86-*-sco*): Ditto.
+
+ * libc/signal/Makefile.in (OFILES): Add signal.o.
+ (CFILES): Add signal.c.
+
+ * libc/signal/raise.c (_raise_r): Only compile code if
+ SIGNAL_PROVIDED is defined.
+
+ * libc/signal/signal.c: Redo whole file so that it works with
+ current newlib. Use _kill_r if no signal handler provided.
+
+ * libc/sys/{go32,sparc64,sysmec}/Makefile.in: Delete raise and
+ signal stubs.
+ * libc/sys/sysvnecv70/Makefile.in: Ditto.
+ * libc/sys/sysnecv850/Makefile.in: Ditto.
+
+ * libc/sys/{go32,sparc64}/signal.c: Delete, stub no longer used.
+ * libc/sys/sysmec/{raise,signal}.c: Ditto.
+ * libc/sys/sysvnecv70/signal.s: Ditto.
+ * libc/sys/sysnecv850/raise.c: Ditto.
+
+ * libc/sys/sysnecv850/kill.c (_kill): Encode signal # so that
+ simulator and debugger can tell the difference between a signal
+ being raised and an exit system call.
+
+ * NEWS: Document software signals being provided.
+
+Mon Dec 23 11:54:19 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * libc/reent/impure.c (_REENT_ATTR): Delete in favor of
+ __ATTRIBUTE_IMPURE_PTR__. Move PowerPC definition to
+ include/sys/config.h.
+ (impure_data): Use __ATTRIBUTE_IMPURE_DATA__ for attributes.
+ Change from 'inpure_data'.
+ (_impure_ptr): Use __ATTRIBUTE_IMPURE_PTR__ for attributes. Use
+ &impure_data, not &inpure_data.
+
+ * libc/include/sys/config.h (__ATTRIBUTE_IMPURE_PTR__): If PowerPC
+ and and System V ABI, define so that _impure_ptr lives in the
+ .sdata section.
+
+Sun Dec 22 23:33:05 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * libc/include/sys/reent.h (__ATTRIBUTE_IMPURE_PTR__): Define as
+ nothing if not defined.
+ (_impure_ptr): Use __ATTRIBUTRE_IMPURE_PTR__, so a machine can set
+ its attributes.
+
+ * libc/include/sys/config.h (__ATTRIBUTE_IMPURE_PTR__):
+
+Wed Dec 18 10:12:04 1996 Jeffrey A Law (law@cygnus.com)
+
+ * libc/sys/sysmec/crt0.S: Fix mn10200 stuff.
+ * libc/sys/sysmec/trap.s: Handle mn10200 too.
+ * libc/machine/mn10200/setjmp.S: Fix mn10200 stuff.
+
+Mon Dec 16 10:05:36 1996 Jeffrey A Law (law@cygnus.com)
+
+ * libc/sys/sysmec/crt0.S: Handle mn10200 too.
+
+Fri Dec 13 11:05:20 1996 Jeremy Allison <jra@cygnus.com>
+
+ * libc/include/sys/errno.h: Added net errno's.
+
+Wed Dec 11 16:24:25 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * libc/misc/ffs.c: New file to support ffs function for GCC test
+ gcc.c-torture/execute/960909-1.c.
+
+ * libc/misc/Makefile.in ({O,CHEWOUT_}FILES): Add ffs.
+
+Sat Dec 7 10:12:37 1996 Jeffrey A Law (law@cygnus.com)
+
+ * libc/sys/sysmec/crt0.S: Handle underscore prefix.
+ * libc/sys/sysmec/trap.S: Likewise.
+
+Fri Dec 6 15:08:49 1996 Jim Wilson <wilson@cygnus.com>
+
+ * configure.in (mips*vr4300*-*-*): Delete use of sys/vr4300.
+ * libc/sys/vr4300/{Makefile.in,crt0.S,syscalls.c}: Delete.
+
+Wed Dec 4 16:25:27 1996 Jeffrey A Law (law@cygnus.com)
+
+ * libc/sys/sysmec/signal.c: Dummy file.
+ * libc/sys/sysmec/Makefile.in: Build it.
+
+Wed Nov 27 13:10:18 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * libc/machine/mips/machine/regdef.h: Define pc as $pc for
+ mips16.
+
+Mon Nov 25 09:58:28 1996 Jeffrey A Law (law@cygnus.com)
+
+ * libc/sys/sysmec/{crt0.S,trap0.S}: Actually try to implement
+ c-startup and simulator traps.
+
+
+ * libc/sys/sysmec/crt0.S: Remove bogus '_' symbol prefixing
+ * libc/sys/sysmec/trap0.S: Likewise.
+
+Sat Nov 23 09:01:03 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * libc/stdlib/mallocr.c (ROUND_TO): If SMALL_MEMORY, set to 0x7 to
+ round to double word alignment.
+ (_morecore_r): Combine rounding up pointers to both ROUND_TO and 8
+ byte alignment.
+
+ * libc/include/sys/config.h (__IEEE_BIG_ENDIAN): Define if d10v.
+
+ * libc/sys/d10v/syscalls.c (_sbrk): Add better checks for running
+ out of memory.
+
+Mon Nov 18 13:08:26 1996 Jeffrey A Law (law@cygnus.com)
+
+ * configure.in: Handle mn10200 and mn10300.
+ * libc/include/machine/{ieeefp.h,setjmp.h}: Likewise.
+ * libc/include/sys/config.h: Likewise.
+ * libc/sys/sysmec: New directory for mec stuff.
+ * libc/machine/mn10300: New directory for mn10300 stuff.
+ * libc/machine/mn10200: Similarly for mn10200 stuff.
+
+Fri Nov 15 16:41:41 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/sys/arm/crt0.S: Use .text, not .section .text.
+ * libc/sys/arm/syscalls.c: Rewrite to set errno properly.
+
+ * libc/include/sys/types.h (_ST_INT32): New macro, local to file.
+ (nlink_t): Change type from unsigned int to unsigned short.
+ (mode_t): Ensure size is 32 bits even if int is 16.
+ * libc/include/sys/stat.h (st_nlink): Change type to nlink_t.
+ (st_spare[123]): Change type from int to long.
+
+Fri Nov 15 11:41:50 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * libc/sys/d10v/syscalls.c (_sbrk): Align initial heap_end to 8
+ byte boundary.
+
+ * configure.in (d10v*): Define SMALL_MEMORY.
+
+Mon Nov 11 10:30:44 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * configure.in (powerpc*-{eabi,elf,linux,rtem,sysv,solaris}*): Add
+ -mrelocatable-lib and -mno-eabi flags.
+
+Mon Nov 11 09:01:39 1996 Jeffrey A Law (law@cygnus.com)
+
+ * libc/machine/h8300/memcpy.S: Fix comments to reflect reality.
+ Fix handling of mis-aligned source operand when both the
+ destination & length are properly aligned.
+
+Wed Oct 30 09:41:11 1996 Jeffrey A Law (law@cygnus.com)
+
+ * libc/sys/sysnecv850/Makefile.in (OFILES): Add
+ times.o, time.o and gettime.o
+ * libc/sys/sysnecv850/{time.c, times.c, gettime.c}: New files.
+ * libc/sys/sysnecv850/sys/syscall.h: Add SYS_times and
+ SYS_gettimeofday.
+
+Tue Oct 29 13:40:09 1996 Jeffrey A Law (law@cygnus.com)
+
+ * libc/sys/sysnecv850/Makefile.in (OFILES): Add access.o
+ * libc/sys/sysnecv850/access.c: New file.
+
+Mon Oct 21 19:47:02 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * libc/sys/vr4300/Makefile.in (clean): Remove $(OFILES).
+
+ * libc/stdlib/mprec.h (word0, word1): Use __uint32_t, not unsigned
+ long.
+
+Mon Oct 21 14:43:07 1996 Jeffrey A Law (law@cygnus.com)
+
+ * libc/sys/sysnecv850/crt0.S: Initialize ep and gp registers.
+
+Thu Oct 17 11:47:16 1996 Doug Evans <dje@seba.cygnus.com>
+
+ * libc/include/machine/{ieeefp.h,setjmp.h}: Add m32r support.
+ * libc/include/sys/config.h: Add m32r support.
+
+Wed Oct 16 23:08:05 1996 Jeffrey A Law (law@cygnus.com)
+
+ * libc/sys/sysnecv850/v850.ld: Remove. It doesn't belong
+ here.
+
+Wed Oct 16 21:18:07 1996 Mark Alexander <marka@cygnus.com>
+
+ * libc/include/machine/setjmp.h: Add D10v support.
+
+Tue Oct 15 22:28:26 1996 Jeffrey A Law (law@cygnus.com)
+
+ * configure.in: Configure the "libc/syscalls" directory for
+ the v850.
+
+ * libc/sys/sysnecv850/{close.c, execve.c, fork.c}: Add missing '_'.
+ * libc/sys/sysnecv850/{fstat.c, getpid.c, kill.c}: Likewise.
+ * libc/sys/sysnecv850/{lseek.c, open.c, read.c}: Likewise.
+ * libc/sys/sysnecv850/{sbrk.c, stat.c, unlink.c}: Likewise.
+ * libc/sys/sysnecv850/{wait.c, write.c}: Likewise.
+
+Tue Oct 15 16:24:39 1996 Stu Grossman (grossman@critters.cygnus.com)
+
+ * libc/sys/sysnecv850/crt0.S (start): Allocate spill space on
+ stack for args for main and other routines. Zero out args for
+ main.
+
+ * libc/sys/sysnecv850/v850.ld: New. Linker script to layout memory
+ correctly.
+
+Tue Oct 15 11:51:42 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * libc/stdio/findfp.c (std): Remove extraneous ';' after
+ function.
+
+ * libc/sys/d10v/sys/syscall.h (SYS_kill): Add.
+
+ * libc/sys/d10v/{syscalls.c,trap.S} (_kill,_getpid): Make these
+ real system calls now.
+
+ * libc/stdio/setvbuf (setvbuf): Cast pointers to _POINTER_INT
+ before casting them to int.
+ * libc/stdio/tmpnam.c (_tempnam_r): Ditto.
+
+ * libc/stdlib/mallocr.c (_morecore_r): Use _POINTER_INT when
+ aligning pointer.
+ * libc/string/memset.c (memset): Ditto.
+
+ * libc/stdio/vfscanf.c (__svfscanf): When converting to pointer,
+ first convert ints to _POINTER_INT to eliminate GCC warning.
+
+ * libc/stdio/vfprintf.c (_vfprintf_r): Use _POINTER_INT when
+ processing %p.
+
+ * libm/math/ef_scalb.c (__ieee754_scalbf): Cut down range to 32000
+ from 65000 if ints are only 16 bits.
+
+ * libm/math/sf_scalbn.c (scalbnf): Cut down overflow test to 30000
+ from 50000 if ints are only 16 bits.
+
+ * libc/include/sys/config.h (_POINTER_INT): New macro, to give an
+ int type that is the same size as a pointer.
+
+ * libc/misc/dprintf.c (__dprintf): Use _POINTER_INT when
+ processing %p.
+ (get_number): Explicitly cast number to long before shifting by 16
+ or 24, in case ints are short.
+
+ * libc/include/sys/config.h (_POINTER_INT): Define as short.
+
+Wed Oct 9 16:54:32 1996 Jeremy Allison <jra@cygnus.com>
+
+ * libc/string.h: Added ffs, removed swab.
+ * libc/sys/errno.h: Added EOPNOTSUPP.
+ * libc/sys/unistd.h: Added swab.
+
+Thu Oct 3 17:08:50 1996 Jeremy Allison <jra@cygnus.com>
+
+ * libc/include/sys/stat.h: Added fchmod.
+ * libc/include/sys/unistd.h: Added fsync.
+
+Tue Oct 1 17:34:08 1996 Jeremy Allison <jra@cygnus.com>
+
+ * libc/include/sys/errno.h: Added defines for EPFNOSUPPORT (96)
+ and ECONNRESET (104) for cygwin32.
+
+Tue Oct 1 16:24:05 1996 Gavin Koch <gavin@cygnus.com>
+
+ * libc/sys/sysnecv850/_exit.c: added _do_dtors to
+ do the static destructors.
+
+Mon Sep 30 15:59:05 1996 Stu Grossman (grossman@critters.cygnus.com)
+
+ * libc/sys/sysnecv850/trap.S: Change I/O to use trap 31.
+
+Mon Sep 30 12:02:50 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/machine/m32r/{Makefile.in,setjmp.S}: New files.
+ * configure.in: Recognize m32r-*-*.
+
+Mon Sep 30 00:34:41 1996 James G. Smith <jsmith@cygnus.co.uk>
+
+ * libc/sys/arm/trap.S (__rt_stkovf_split_big,
+ __rt_stkovf_split_small): Added default software stack overflow
+ handlers, which just call SWI_Exit.
+ * libc/sys/arm/crt0.S (_mainCRTStartup): Simple software stack
+ limit initialisation.
+
+Fri Sep 27 13:08:03 1996 Mark Alexander <marka@cygnus.com>
+
+ * libc/sys/d10v/{trap.S,sys/syscall.h}: Add time() function.
+
+Fri Sep 27 12:32:00 1996 Jeremy Allison <jra@cygnus.com>
+
+ * libc/include/sys/types.h: Added ssize_t definition.
+
+Wed Sep 25 14:52:18 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * libc/machine/d10v/setjmp.S: Use ';' for comments.
+ * libc/sys/d10v/{crt0.S,trap.S}: Ditto.
+
+ * libc/machine/d10v/setjmp.S (longjmp): Use exef0t || instead of
+ branch around a single ldi instruction.
+
+ * libc/sys/d10v/crt0.S (_start): Use auto-increment to zero bss.
+ Call exit, instead of just issuing a stop instruction.
+
+Sun Sep 22 17:26:55 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * libc/sys/d10v/{trap.S,syscalls.c}: Add -mint32 support.
+
+Fri Sep 20 13:23:12 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * libc/stdlib/mprec.h: Explicitly declare all large constants as
+ longs, and then cast them to __uint32_t.
+
+ * libc/include/sys/config.h: Protect against multiple inclusions.
+
+Tue Sep 17 13:10:33 1996 Mark Alexander <marka@cygnus.com>
+
+ * configure.in (d10v*): Set syscall_dir.
+
+Sun Sep 15 10:41:59 1996 Mark Alexander <marka@cygnus.com>
+
+ * libc/sys/d10v/crt0.S: Set stack pointer.
+
+Thu Sep 12 13:02:38 1996 Mark Alexander <marka@cygnus.com>
+
+ * libc/sys/d10v/{trap.S, syscalls.c}: Rewrite most system calls
+ in assembly for efficiency. Change calling convention to allow
+ long ints to be returned.
+
+Wed Sep 11 10:28:18 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * libc/machine/v850/Makefile.in (setjmp.o): Fix dependency.
+
+Thu Sep 5 19:23:06 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/posix/execvp.c (execvp): Don't search PATH if file has '/'.
+ Handle empty entries in $PATH.
+
+Tue Sep 03 18:15:02 1996 Mark Alexander <marka@cygnus.com>
+
+ * libc/machine/d10v/setjmp.S: Make it really work.
+
+Tue Sep 3 12:16:26 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * libc/sys/sh/crt0.S: If __ELF__, use ELF section attributes for
+ the .stack section.
+
+Tue Sep 3 10:08:45 1996 Jeffrey A Law (law@cygnus.com)
+
+ * sys/sysnecv850/sys/file.h: Remove.
+ * sys/sysnecv850/sys/syscall.h: New file.
+ * sys/sysnecv850/{misc.c,syscalls.c,malloc.c}: Deleted.
+ * sys/sysnecv850/{chmod.c, chown.c, close.c, creat.c} New files.
+ * sys/sysnecv850/{execv.c, execve.c, fork.c, fstat.c} New files.
+ * sys/sysnecv850/{getpid.c, isatty.c, kill.c, lseek.c} New files.
+ * sys/sysnecv850/{open.c, pipe.c, raise.c, read.c} New files.
+ * sys/sysnecv850/{stat.c, unlink.c, utime.c, wait.c} New files.
+ * sys/sysnec850/trap.S: New file.
+ * sys/sysnecv850/{_exit.c, write.c}: Use new TRAP0 mechanism for
+ syscalls.
+ * sys/sysnecv850/crt0.S: Use cmp/bl, not tst/bz.
+ * sys/sysnec850/sbrk.c: New version.
+
+Sun Sep 1 20:08:27 1996 Jeffrey A Law (law@cygnus.com)
+
+ * sys/sysnecv850/crt0.S: Fix order of comparison args. Loop
+ as long as r6 is less than r7.
+
+Sun Sep 1 13:54:19 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.in (mostlyclean): Separate from clean target. Don't
+ remove *.a or targ-include.
+ * libc/machine/sparc/Makefile.in (mostlyclean): New target.
+
+Sun Sep 1 11:35:26 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * libc/include/machine/ieeefp.h (_DOUBLE_IS_32BITS): Define for
+ d10v.
+ (__SMALL_BITFIELDS): Ditto.
+
+ * libc/include/sys/config.h (_DOUBLE_IS_32BITS): Define for d10v.
+
+Sat Aug 31 16:42:36 1996 Jeffrey A Law (law@cygnus.com)
+
+ * libc/sys/sysnecv850/misc.c (raise, getpid, kill): Remove '_'
+ prefix.
+
+ * libc/sys/sysnecv850/sbrk.c (sbrk): Remove '_' prefix.
+ * libc/sys/sysnecv850/syscalls.c (read, lseek, close): Likewise.
+ * libc/sys/sysnecv850/syscalls.c (fstat, open, close): Likewise.
+ * libc/sys/sysnecv850/write.c (write): Likewise.
+
+ * libc/sys/sysnecv850/crt0.S: Don't try to zero out an empty
+ .bss.
+
+Fri Aug 30 11:18:45 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * libc/include/sys/config.h: Define INT_MAX, UINT_MAX
+ appropriately for D10V, depending on -mint16/-mint32.
+
+Thu Aug 29 16:09:37 1996 Mark Alexander <marka@cygnus.com>
+
+ * configure.in: Add cases for D10V.
+
+Thu Aug 29 17:03:23 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * configure.in (i[345]86-*-*): Recognize i686 for pentium pro.
+
+Wed Aug 28 21:05:52 1996 Jeffrey A Law (law@cygnus.com)
+
+ * libc/include/machine/ieeefp.h: Fix typo.
+
+Wed Aug 28 19:47:55 1996 Mark Alexander <marka@cygnus.com>
+
+ * libc/sys/d10v: New directory for D10V stuff.
+ * libc/include/machine/ieeefp.h: Add D10V defines.
+
+Mon Aug 26 13:34:58 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/include/sys/errno.h: Add winsup/include/sys/errno.h values:
+ ELOOP, ENOBUFS, EAFNOSUPPORT, EPROTOTYPE, ENOTSOCK, ENOPROTOOPT,
+ ESHUTDOWN, ECONNREFUSED, EADDRINUSE, ECONNABORTED, EWOULDBLOCK.
+ * libc/string/strerror.c (strerror): Add them.
+
+Thu Aug 22 16:38:19 1996 Jeffrey A Law (law@cygnus.com)
+
+ * libc/sys/sysnecv850: New directory for v850 stuff.
+
+ * libc/machine/v850: New directory for v850 stuff.
+ * libc/machine/v850/setjmp.S: setjmp/longjmp support.
+
+ * configure.in: Add support for the v850.
+
+ * libc/include/machine/ieeefp.h: Add v850 defines.
+ * libc/include/machine/setjmp.h: Likewise.
+ * libc/include/sys/config.h: Add v850 defines.
+
+Sat Aug 17 04:06:36 1996 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/machine/ieeefp.h
+ * libc/include/machine/setjmp.h
+ * libc/include/sys/fcntl.h
+ * libc/include/sys/signal.h
+ * libc/include/sys/types.h
+ * libc/stdlib/system.c:
+ Fix preprocessor defines to match new scheme (_WIN32 for WIN32
+ API availability, __CYGWIN32__ for cygwin32 environment specific).
+
+Thu Aug 15 17:09:21 1996 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/stdlib.h: add multibyte character functions. Add
+ __eprintf for assert.
+
+Thu Aug 15 11:15:40 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * libc/stdlib/malloc.h (MALLOC_ALIGNMENT): Use either pointer
+ arithmetic or __alignof__ to properly get the alignment, instead
+ of hardwiring it to 4.
+
+Wed Aug 14 23:43:28 1996 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/stdio/fseek.c: add fflush call to adjust seek offset
+ on append stream (fix from NetBSD sources), adjust curoff offset
+ for ungetc's benefit.
+ * libc/stdio/ftell.c: adjust curoff offset for ungetc's benefit.
+ * libc/stdio/rewind.c: replace code with up to date NetBSD
+ code to undo hacks made to work around above problem of not
+ having fflush call mentioned above
+
+Fri Aug 2 18:28:07 1996 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/reent/{closer.c, execr.c, fstatr.c, linkr.c, lseekr.c,
+ openr.c, readr.c, sbrkr.c, signalr.c, statr.c, timer.c, writer.c}:
+ Partially revert last changes. The thread specific errno is set
+ iff if the underlying syscall fails and the global errno is not
+ zero.
+
+Fri Jul 19 11:41:52 1996 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/reent/filer.c: Removed files, all functions have split out
+ into their own files.
+ * libc/reent/{closer.c, lseekr.c, openr.c, readr.c, writer.c}:
+ New files containing functions formally in filer.c
+ * libc/reent/Makefile.in: Updated for above change.
+
+ * libc/reent/execr.c (_fork_r, _wait_r): Set errno if underlying
+ syscall fails, not if errno is changed.
+ * libc/reent/filer.c (_open_r, _close_r, _lseek_r, _read_r,
+ _write_r): Likewise.
+ * libc/reent/fstatr.c (_fstat_r): Likewise.
+ * libc/reent/linkr.c (_link_r, _unlink_r): Likewise.
+ * libc/reent/sbrkr.c (_sbrk_r): Likewise.
+ * libc/reent/signalr.c (_kill_r): Likewise.
+ * libc/reent/statr.c (_stat_r): Likewise.
+ * libc/reent/timer.c (_gettimeofday_r): Likewise.
+
+ * libc/reent/{execr.c, filer.c, fstatr.c, linkr.c, sbrkr.c,
+ signalr.c, statr.c, timer.c} (errno): declare extern rather
+ than as a common.
+
+ * libc/stdio/vfprintf.c (__sbprintf): Use the VFPRINTF macro
+ instead of calling vfprintf so that i*printf will not require
+ floating point support code.
+
+Mon Jul 15 16:50:59 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/posix/execvp.c (execvp): Use posix_path_list_p to determine
+ path delimiter.
+ * libc/include/sys/unistd.h (_SC_PATH_RULES): Delete.
+ (_PATH_RULES_{UNKNOWN,WIN32,POSIX}): Delete.
+
+Thu Jul 11 14:34:14 1996 Geoffrey Noer <noer@cygnus.com>
+
+ * libc/include/signal.h: _sig_func_ptr function takes an int
+ * libc/include/sys/signal.h: sa_handler function takes an int
+
+Tue Jul 9 21:22:32 1996 Jeffrey A Law (law@cygnus.com)
+
+ * libc/include/machine/ieeefp.h: Simplify H8/S support.
+ * libc/include/sys/config.h: Add missing H8/S conditional.
+
+Sun Jun 30 12:05:46 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/include/sys/unistd.h (MAXPATHLEN): Add cygwin32 value.
+
+Wed Jun 26 09:57:54 1996 Jeffrey A Law (law@cygnus.com)
+
+ * libc/include/machine/setjmp.h: Handle H8/S.
+ * libc/include/machine/ieeefp.h: Likewise.
+ * libc/include/sys/config.h: Likewise.
+ * libc/machine/h8300/{defines.h, memcpy.S, memset.S}: Likewise.
+ * libc/machine/h8300/{reg_memcpy.S, reg_memset.S}: Likewise.
+ * libc/machine/h8300/{strcmp.S, setjmp.S}: Likewise.
+ * libc/sys/h8300hms/crt0.S: Likewise.
+
+Tue Jun 25 23:15:45 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
+
+ * Makefile.in (datadir): Set to $(prefix)/share.
+ (oldincludedir, docdir): Removed.
+ * doc/Makefile.in (datadir): Set to $(prefix)/share.
+ (oldincludedir, docdir): Removed.
+ * libc/Makefile.in (datadir): Set to $(prefix)/share.
+ (oldincludedir, docdir): Removed.
+ * libm/Makefile.in (datadir): Set to $(prefix)/share.
+ (oldincludedir, docdir): Removed.
+
+Fri Jun 21 19:24:41 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * libc/include/sys/reent.h (_REENT_INIT): Update for change to
+ _reent struct.
+
+Wed Jun 19 14:00:09 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/posix/execvp.c: Delete _WIN32 support. For __CYGWIN32__
+ fetch current path rules with sysconf and handler posix/win32
+ appropriately.
+
+ * libc/include/sys/unistd.h (_PATH_RULES{,_POSIX,_WIN32}): Define.
+
+ * libc/include/process.h: Prepend '_' to P_{WAIT,NOWAIT,OVERLAY}.
+ (WAIT_CHILD): Always define.
+
+Sat Jun 15 17:50:42 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * libc/stdlib/eprintf.c: New file.
+ * libc/stdlib/Makefile.in (OFILES): Add eprintf.o.
+ (eprintf.o): New target.
+
+Thu Jun 13 16:44:32 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/sys/cygwin32/crt0.c (__cygwin_crt0_bp): New global.
+ (mainCRTStartup): Do int3 if __cygwin_crt0_bp non-zero.
+
+Thu Jun 13 17:45:17 1996 Mike Meissner <meissner@rtl.cygnus.com>
+
+ * libc/include/machine/ieeefp.h: Add support for AIX and Windows
+ NT in PowerPC endianess cases.
+
+Tue Jun 11 12:26:28 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * libc/include/machine/ieeefp.h: Clean up PowerPC endianess.
+
+Thu Jun 6 11:34:20 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * libc/string/strtok.c: Fix doc typo.
+
+Mon Jun 3 11:30:00 1996 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/include/sys/reent.h (struct _reent): Removed _asctime,
+ _next, _scanpoint, _signgam fields.
+
+ * libc/include/stdlib.h (rand_r): Added new declaration.
+ (_rand_r, _srand_r): Removed declarations.
+ * libc/stdlib/rand.c (_rand_r, _srand_r): Removed, these functions
+ have been made obsolete by rand_r.
+ * libc/stdlib/rand_r.c: New file, rand_r function as specified
+ by POSIX.1c.
+
+ * libc/string/strtok.c: Update documentation to describe
+ strtok_r().
+
+Sat Jun 1 23:50:39 1996 Michael Meissner <meissner@cygnus.com>
+
+ * libc/include/sys/stat.h (stat structure): Use the expanded stat
+ structure on Solaris, and PowerPC systems even though __svr4__ is
+ defined.
+
+Tue May 28 13:02:42 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/sys/go32/sys/errno.h (ENOSYS,ESPIPE): Keep values <= 255.
+
+Fri May 17 10:34:44 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * host/any: Use ../.. rather than .. to get to the main build
+ directory. This matches the current layout of the build
+ directory.
+
+Wed May 15 15:52:27 1996 Jeffrey A Law (law@cygnus.com)
+
+ * libc/machine/h8300/__main.S: Delete. No longer needed.
+ * libc/machine/h8300/Makefile.in: Corresponding changes.
+ * libc/sys/h8300hms/crt1.c: New file.
+ * libc/sys/h8300hms/Makefile.in: Corresponding changes.
+ * libc/sys/h8300hms/crt0.s: Call __main.
+
+ * libc/sys/h8300hms/crt0.S: Use temporary label names
+ for branch targets.
+
+Mon May 13 14:26:30 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/stdio/fopen.c (_fopen_r): Fix arguments to fseek.
+
+Fri May 3 16:38:23 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * libc/reent/impure.c (_impure_ptr): Force the impure pointer into
+ .sdata on the PowerPC so that we can link newlib with code
+ compiled with -msdata.
+
+Mon Apr 29 21:38:02 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/sys/arm/syscalls.c (_sbrk): Rename end to __end__.
+
+Thu Apr 25 06:38:59 1996 Michael Meissner <meissner@cygnus.com>
+
+ * libc/sys/cygwin32/crt0.c (mainCRTStartup): On PowerPC, set the
+ exception handler to __cygwin_exception_handler.
+
+Tue Apr 23 15:14:20 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * libc/include/machine/setjmp.h: Check _AM29K, not ___AM29K__.
+
+Sun Apr 21 12:11:51 1996 Doug Evans <dje@blues.cygnus.com>
+
+ * libm/math/Makefile.in ({w,wf}_cabs.o,{w,wf}_drem.o): Add rule for
+ SunOS VPATH.
+ * libc/stdlib/Makefile.in (atoff.o,atol.o,mblen.o,mbstowcs.o,
+ wcstombs.o): Likewise.
+
+Thu Apr 18 12:37:01 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/stdlib/environ.c (initial_env): New static local.
+ (environ): Point to `initial_env'.
+
+ * libc/include/machine/setjmp.h: Clean up.
+ (__H8300H__,__PPC__): Define _JBTYPE.
+ (__arm__): Provide entry for.
+ (sigjmp_buf): Delete.
+ (jmp_buf): Use _JBTYPE if defined, otherwise int.
+
+Thu Apr 18 12:10:52 1996 Jeffrey A Law (law@cygnus.com)
+
+ * libc/machine/h8300/strcmp.S: Sign extend the result to
+ 32bits so we don't lose with -mint32.
+
+Sun Apr 14 19:59:52 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/sys/go32/sys/errno.h: New file.
+ * libc/sys/go32/Makefile.in (stat.o): Depend on stat.c.
+ * libc/sys/go32/gerrno.s (syscall_error): Call __errno to get
+ errno's address (make compatible with rest of newlib).
+ * libc/sys/go32/stat.c (fixinode): Set errno upon failure.
+ * libc/string/strerror.c (strerror): Surround each case with #ifdef.
+
+Thu Mar 28 13:44:42 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/machine/sparc/{scan.c,shuffle.c}: New files.
+ * libc/machine/sparc/Makefile.in: Build them.
+ * libc/machine/sparc/machine/sparclet.h: New file.
+
+Mon Mar 25 15:29:14 1996 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/machine/sh/asm.h: New file.
+ * libc/machine/sh/setjmp.S: Only save clobbered registers. Added
+ support for SH3e's FP registers. Use asm.h.
+
+Mon Mar 25 11:59:23 1996 Jeffrey A Law (law@cygnus.com)
+
+ * libc/stdio/vfprintf.c (cvt): Accept a reent structure
+ as first argument. Call _dtoa_r and pass the reent structure
+ instead of calling __dtoa.
+
+Fri Mar 22 13:59:37 1996 Jeffrey A Law (law@cygnus.com)
+
+ * libc/include/sys/config.h: Define DOUBLE_IS_32BITS for
+ the h8300, h8500, and others. Add comments for some rather
+ dubious code.
+
+Thu Mar 14 18:04:43 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.in (check): Check that testsuite exists before cd.
+
+Tue Mar 12 11:46:47 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * libc/include/string.h (strsep): Correct prototype.
+
+Mon Mar 11 09:55:19 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * libc/sys/h8300/_exit.c (_exit,__exit): Set r0 to 0 before `sleep'.
+ * libc/sys/h8300/misc.c (_kill): Set r0 to indicate abort and `sleep'.
+ * libc/sys/h8300/crt0.S (_start): Call exit instead of `sleep'.
+
+Wed Mar 6 11:51:55 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * libc/posix/{creat.c,isatty.c}: New files.
+ * libc/posix/Makefile.in (OFILES): Add creat.o, isatty.o.
+
+ * libc/sys/sparc64/crt0.S (environ): Delete.
+ (.LHaveBias): Renamed from HaveBias.
+
+Thu Feb 15 10:48:37 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * libc/stdlib/mallocr.c (etext): Move decl inside ifdef WARN_VLIMIT.
+ (_morecore_r): Delete SBRK_IS_ALLOC support.
+
+Tue Feb 13 09:44:09 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * libc/sys/cygwin32/Makefile.in (lib.a): Make lib.a with a dummy
+ module rather than touch, so we don't get warning messages when
+ all of the libraries are combined into libc.a.
+
+Tue Feb 13 06:32:07 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * libc/sys/sparclite/{Makefile.in,crt0.s}: Deleted.
+ crt0.s replaced by version in libgloss.
+
+Mon Feb 5 15:17:51 1996 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/reent/Makefile.in (OFILES): Add impure.o.
+ * libc/reent/impure.o: New file, define initial reentrancy struct.
+ * libc/reent/reent.c: Remove above definition.
+
+ * libm/math/sf_asinh.c: Fix typo.
+
+ * Makefile.in (MATHOBJS_IN_LIBC): Removed sr_ldexp.o and
+ srf_ldexp.o.
+
+ * libm/libm.texinfo: Change documentation to reflect changes
+ in reentrancy model.
+ * libm/math/w_gamma.c: Likewise.
+
+Wed Jan 31 18:49:45 1996 Steve Chamberlain <sac@slash.cygnus.com>
+
+ * configure.in (*-*-cygwin32): New.
+ (*-*-win32): Deleted.
+ * libc/sys/win32 renamed libc/sys/cygwin32.
+
+Tue Jan 30 22:09:03 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * libc/include/sys/file.h: New include file.
+
+Fri Jan 26 15:52:54 1996 Steve Chamberlain <sac@slash.cygnus.com>
+
+ * libc/include/machine/setjmp.h: Increase size of PPC jmp_buf.
+
+Tue Jan 23 17:49:16 1996 Steve Chamberlain <sac@slash.cygnus.com>
+
+ * libc/include/sys/wait.h (WIFSIGNALED): Fix.
+
+Tue Jan 16 09:28:10 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * doc/makedoc.c (realloc): Declare at file scope.
+ (catchar): Not here.
+
+Wed Dec 27 15:45:23 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * Makefile.in (VERSION): Update to 1.7.0.
+ * {libc,libm}/Makefile.in (VERSION): Likewise.
+ * configure.in: Minor clean up of multilib stuff.
+
+ From David Johnson <davidj@ICSI.Berkeley.EDU>
+ * {libc,libm}/Makefile.in (lib[cm].a): Delete library first.
+
+ * libc/stdlib/environ.c: New file.
+ * libc/stdlib/Makefile.in (OFILES): Build it.
+ * libc/sys/h8500hms/crt0.c (environ): Deleted.
+ * libc/sys/m88kbug/crt0.c (environ): Deleted.
+ * libc/sys/z8ksim/crt0.c (environ): Deleted.
+ * libc/sys/netware/environ.c: Deleted.
+
+Tue Dec 19 15:24:46 1995 Kim Knuttila <krk@cygnus.com>
+
+ * configure.in (links): set sys_dir, posix_dir, syscall_dir
+
+Wed Dec 13 04:16:25 1995 Michael Meissner <meissner@wogglebug.tiac.net>
+
+ * doc/makedoc.c (init_string_with_size,nextword): Move malloc
+ declaration out to external scope and declare it PTR, not char *.
+
+Mon Dec 11 17:35:12 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * libc/include/sys/unistd.h (getpagesize): New declaration.
+ (_SC_PAGESIZE): New definition.
+ * libc/include/time.h (CLK_TCK): Defined as CLOCKS_PER_SEC.
+ * libc/configure.in (i[345]86-*-win32): Remove -DNO_FORK.
+
+Fri Dec 1 16:48:46 1995 James G. Smith <jsmith@cygnus.co.uk>
+
+ * libc/sys/vr4300/syscalls.c (sbrk): Fixed memory
+ addressing. System call returns size, not (last address + 1).
+
+Thu Nov 30 15:05:26 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libm/math/*.c: Removed _foo_r() reentrancy API.
+ * libc/include/math.h: Removed _foo_r prototypes and macros.
+
+ * libm/math/*.c: On systems with IEEE single precision "doubles"
+ move foo() -> foof() wrapper code from the files that implement
+ the standard IEEE double precision functions to the files that
+ implement IEEE single precision functions. (ie. On those systems
+ sin is moved from s_sin.c to sf_sin.c). There should eventually
+ be use of a C extension (like gcc's alias attribute) so that the
+ wrappers are not needed at all.
+
+ * libc/sys/sysnec810/sbrk.c: Cast &end to char * to get around
+ strict NEC V810 compiler.
+ * libc/misc/dprintf.c (getnumber): Cast char * to unsigned char *
+ for same reason.
+
+Wed Nov 29 14:25:05 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/stdlib/strtol.c (_strtol_r): Replaced with implementation
+ from NetBSD C library.
+ * libc/stdlib/strtoul.c (_strtoul_r): Likewise.
+
+ * libc/stdlib/assert.c (__assert): Renamed from __assertfail
+ and adapted from implementation I wrote for NetBSD C library.
+ The difference is __assert doesn't take a format argument,
+ so that there won't be multiple copies of the same string
+ constant in the executable if assertions are enabled in
+ more than one source module.
+ * libc/include/assert.h (assert): Changed to call __assert.
+
+Tue Nov 28 16:54:26 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/stdlib/strtod.c (_strtod_r): Changed to not assign to
+ word1 on systems with 32 bit doubles.
+ * libc/stdlib/qsort.c (qsort): Cast some void *'s to char *'s
+ so that we can do arithmetic on them.
+ * libc/misc/dprintf.c: Changed to support stdarg.h for ANSI
+ compilers.
+
+Tue Nov 28 16:03:32 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/sys/arm/crt0.S: Zero bss.
+
+Fri Nov 24 16:09:23 1995 Doug Evans <dje@deneb.cygnus.com>
+
+ * libc/include/unctrl.h: New file.
+ * libc/misc/{Makefile.in,dprintf.c,unctrl.c,misc.tex}: New files.
+ * configure.in (subdirs): Add libc/misc.
+ * libc/Makefile.in (SUBDIRS): Add misc.
+ (SUBLIBS): Add misc/lib.a.
+
+ * libc/include/sys/reent.h (struct _reent): Make __sf last member.
+
+Wed Nov 22 19:49:47 1995 Doug Evans <dje@deneb.cygnus.com>
+
+ * libc/stdio/vfprintf.c (__sbprintf): Init fake._data.
+ (_vfprintf_r): Call CHECK_INIT.
+
+Tue Nov 14 02:52:12 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * Makefile.in (MULTITOP): Delete.
+ (MULTISRCTOP, MULTIBUILDTOP): Add.
+ * configure.in: Delete call to cfg-ml-com.in. Call config-ml.in
+ instead of cfg-ml-pos.in.
+
+Wed Nov 8 01:24:08 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk>
+
+ * libc/sys/vr4300/syscalls.c: Added clean version of sbrk().
+ * libc/sys/vr4300/crt0.S: Cleaned up. Added check for FPU
+ presence.
+
+Thu Nov 2 22:25:06 1995 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * libc/string/strtok.c: Include string.h to pick up strtok_r
+ prototype.
+
+Wed Nov 1 18:54:11 1995 Jason Molenda (crash@phydeaux.cygnus.com)
+
+ * libc/string/strtok.c: include <_ansi.h>.
+ * libc/time/asctime_r.c: `reresult' -> `result'.
+
+Wed Nov 1 14:35:52 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/time/{ctime.c, gmtime.c, lcltime.c}: Wrap functions
+ in #ifndef _REENT_ONLY ... #endif conditional.
+
+ * libc/include/string.h (_strtok_r): Remove declaration.
+ * libc/include/time.h (_asctime_r): Remove declaration.
+ * libc/string/strtok.c (_strtok_r): Removed.
+ * libc/time/asctime.c (_asctime_r): Removed.
+
+ * libc/string/Makefile.in (OFILES): Add new object.
+ * libc/string/strtok_r.c: New file. strtok_r function as
+ specified by POSIX.1c, adapted from strtok implementation
+ from NetBSD C library.
+ * libc/string/strtok.c (strtok): Reimplemented in terms of
+ strtok_r.
+
+ * libc/time/Makefile.in (OFILES): Add new objects.
+ * libc/time/{asctime_r.c, ctime_r.c, gmtime_r.c, lcltime_r.c}:
+ New files, reentrant time functions specified by POSIX.1c.
+ * libc/time/{asctime.c, ctime.c, gmtime.c, lcltime.c}: Non-
+ reentrant time functions re-written in terms of reentrant
+ functions.
+ * libc/time/lcltime.c: Renamed from localtime.c
+
+ * libc/include/time.h: Add prototypes for asctime_r, ctime_r,
+ gmtime_r, and localtime_r.
+
+Sat Oct 28 14:34:31 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * libc/sys/win32/crt0.c (mainCRTStartup): Call cygwin_crt0.
+ * libc/include/sys/unistd.h (getlogin): Revert change of
+ Oct 19.
+ * libc/include/sys/signal.h (sigprocmask): Change prototype
+ so it compiles with c++.
+
+Wed Oct 25 15:43:18 1995 Michael Meissner <meissner@cygnus.com>
+
+ * libc/include/machine/setjmp.h (PowerPC _JBLEN): Consider it a
+ PowerPC if __PPC__ is defined. Bump jump_buf length to 62 ints,
+ to give some room in case we need to align the jmp_buf.
+
+ * libc/machine/powerpc/setjmp.S (setjmp, longjmp): Rewrite to use
+ the new ppc-asm.h include file the compiler provides to specify
+ function prologue/epilogue. Eliminate saves of the xer and ctr
+ registers, which are volatile. Before starting to save registers,
+ align to 8 byte boundary.
+
+Mon Oct 23 11:20:51 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk>
+
+ * libc/sys/vr4300/syscalls.c: Added empty kill() function,
+ referenced by standard libraries.
+
+Thu Oct 19 21:39:47 1995 Fred Fish <fnf@cygnus.com>
+
+ * libc/unix/Makefile.in, libc/string/Makefile.in,
+ libc/stdio/Makefile.in, libc/reent/Makefile.in,
+ libc/posix/Makefile.in:
+ Remove tabs from otherwise empty line. Confuses some
+ older non-GNU versions of "make".
+
+Thu Oct 19 16:32:17 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * libc/sys/unistd.h (getlogin): Returns const char *.
+
+Wed Oct 18 12:57:50 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * libc/include/fcntl.h (O_BINARY, O_TEXT): New.
+ * libc/include/errno.h: Moved into and include...
+ * libc/include/sys/errno.h: New file.
+ * libc/include/sys/wait.h: New file.
+ * libc/stdio/rename.c (_rename_r): Use _rename system call if available.
+ * libc/sys/win32/*: Moved out.
+ * libc/sys/win32/crt0.c: Rewritten to cope with shared library.
+ * configure.in (i[345]86-*-win32): HAVE_RENAME
+
+Wed Oct 18 09:58:27 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
+
+ * libc/unix/sigset.c (sigemptyset, sigaddset): Prefix #undef to
+ avoid macro expansion for these two names.
+
+Tue Oct 17 08:45:33 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/machine/h8500/psi.S: r6 renamed to fp.
+
+Sun Oct 15 12:58:10 1995 Michael Meissner <meissner@wogglebug.tiac.net>
+
+ * configure.in (powerpc*): No longer need to define
+ NO_LONGLONG_POINTERS to supress warnings.
+
+Sat Oct 14 12:55:08 1995 Jim Wilson <wilson@chestnut.cygnus.com>
+
+ * libc/reent/reent.c (_reclaim_reent): Call cleanup indirectly
+ through PTR instead of directly.
+
+ * libc/sys/sh/crt0.S: Clean up formatting. Delete unused
+ non-standard constructor support.
+
+Thu Oct 12 11:39:42 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/stdlib/dtoa.c (_dtoa_r): Set result pointer to the
+ address of the Bigint instead of the address of its _x field,
+ as the size the result buffer was calculated accordingly.
+ Fix from Jim Wilson <wilson@chestnut@cygnus.com>.
+
+ * libc/stdlib/{div.c, ldiv.c}: Replaced with implementation
+ from NetBSD C library. No longer special cases division by
+ zero (which needs to be done by the application anyway), but
+ it doesn't need to call abs() (or labs()) four times either.
+
+ * libc/stdlib/qsort.c: Replaced with implementation from
+ NetBSD C library.
+
+Tue Oct 10 14:01:10 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/stdio/vfprintf.c: Replaced with implementation from
+ NetBSD C library (which is derived from the 4.4BSD C library).
+ * libc/stdio/cvt.c: Removed.
+ * libc/stdio/Makefile: Updated.
+
+Tue Oct 10 12:15:23 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * libc/sys/win32/syscalls.c (rename): New.
+ * libc/sys/win32/include/winkernel.h (MoveFileExA): New.
+
+Fri Oct 6 12:18:43 1995 Jim Wilson <wilson@chestnut.cygnus.com>
+
+ * libc/machine/sh/Makefile.in (setjmp.o): Depend on setjmp.S.
+ * libc/machine/sh/setjmp.S: Rename from setjmp.s.
+
+ * libc/sys/sh/Makefile.in (OFILES, all): Delete setjmp.o.
+ (setjmp.o): Delete rule to build setjmp.o.
+ * libc/sys/sh/setjmp.S: Delete file.
+
+Fri Oct 6 11:19:05 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/stdlib/mprec.c (d2b): Added support for _DOUBLE_IS_32BITS.
+ * libc/stdlib/mprec.h: Fixed constants used for IEEE single float
+ format. Added #defines to map d2b, i2b, low0bits, lshift, mult,
+ pow5mult and s2b to identifiers with leading underscores.
+ * libc/stdlib/Makefile.in: Add mprec.h as a dependency to dtoa.o,
+ ecvtbuf.o, mprec.o and strtod.o. Sort dependencies.
+
+Thu Oct 5 17:27:30 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * libc/sys/posix/popen.c (sys/types.h): Include.
+
+Thu Oct 5 16:33:01 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/sys/win32/syscalls.h (fhandler): New struct.
+ (__lookup_fhandler, __lookup_fhandler_hook): Declare.
+ (__fhandler_normal): Declare.
+ (hinfo): New member op_handlers.
+ * libc/sys/win32/syscalls.c (__read): Don't validate fd.
+ (__write): Likewise.
+ (_read, _write, _open, _close, _lseek): Validate fd here.
+ Move file type specific stuff to foo_normal.
+ (read_normal, write_normal, open_normal, close_normal, lseek_normal):
+ New functions.
+ (__lookup_fhandler): New function.
+ (__lookup_fhandler_hook, __fhandler_normal): New variables.
+
+ From anders.blomdell@control.lth.se (Anders Blomdell)
+ * libc/sys/win32/crt0.c (vfork_init): Unset __FD_TABLE__.
+ Don't touch standard handles.
+ * libc/sys/win32/spawn.c (_spawn): Use STARTF_USESTDHANDLES.
+ (_execve): Only create __FD_TABLE__ if necessary.
+ * libc/sys/win32/include/winkernel.h (STARTF_*): Define.
+
+Thu Oct 5 14:25:14 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * libc/sys/win32/sys/termios.h (FLUSHO): New.
+ * libc/sys/win32/include/win*.h: Moved a load of prototypes around.
+ * libc/sys/win32/pipe.c (_fctnl): Ignore F_SETFL without errors.
+ * libc/sys/win32/exception.c (ehandler3): set strace when a signal
+ without a handler is received.
+ * libc/sys/win32/Makefile.in: Remove --nodelete.
+ * libc/sys/win32/resouce.c (gettimeofday): New.
+ * libc/sys/win32/syscalls.c (path_to_real_path): New.
+ * libc/sys/win32/syscalls.h (include/wincon.h): Don't include.
+
+Wed Oct 4 13:10:35 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/sys/win32/dirsearch.c (opendir): stat real path name.
+ Don't append "/*" to search pattern if trailing '/' already there,
+ append "*".
+ * libc/sys/win32/spawn.c (_spawn): CreateProcess doesn't seem to
+ like /'s, convert them to \'s. Handle //<drive>/ path names.
+ Add space for quoted \'s in arg string. Print translated prog name
+ and original prog name.
+ (_execve): Handle parent doing exec a teensy bit better.
+ * libc/sys/win32/syscalls.h (__path_to_real_path): Update prototype.
+ * libc/sys/win32/syscalls.c (__path_to_real_path): Don't assume
+ path needs conversion, handle both cases. Delete `const' from result.
+ (hash_path_name): New function.
+ (_open): Call it.
+ (_stat): Likewise. Fill in more fields for directories.
+ * libc/sys/win32/wait.c (_wait): Explicitly pass -1 to waitpid.
+ (wait_for_any): Fix trace message.
+ (waitpid): Explicitly test for intpid == 0.
+
+ From anders.blomdell@control.lth.se (Anders Blomdell)
+ * libc/sys/win32/spawn.c (__vfork_get_empty_entry): zero fill result
+ so `next' is valid.
+
+Sat Sep 30 15:00:15 1995 Jason Molenda (crash@phyeaux.cygnus.com)
+
+ * libc/sys/win32/spawn.c (_spawn): Make quoting rules more
+ complicated.
+
+Sat Sep 30 10:25:57 1995 Jason Molenda (crash@phydeaux.cygnus.com)
+
+ * libc/include/_ansi.h: set _HAVE_STDC if __STDC__ is defined
+ at all, not just == 1.
+ * libm/math/wf_acos.c (acosf): check for _HAVE_STDC, not __STDC__.
+
+Sat Sep 30 04:30:09 1995 Jason Molenda (crash@phydeaux.cygnus.com)
+
+ * libc/sys/win32/include/winbase.h: include <wintypes.h> and <winnt.h>
+ * libc/sys/win32/include/wintypes.h: include <winnt.h>
+ * libc/sys/win32/include/winnt.h: avoid multiple inclusion of this
+ file.
+
+Fri Sep 29 01:49:17 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * libc/sys/syscalls.c (getcwd): Fix off by one error.
+
+ * libc/sys/signal.c (sleep): Fill it in.
+ * libc/sys/termios.c (tcflush): Use PurgeComm
+ (tcsetattr): Set some more of the bits.
+ * libc/sys/include/winkernel.h: Add PurgeComm and Sleep.
+
+Fri Sep 29 04:33:53 1995 Doug Evans <dje@deneb.cygnus.com>
+
+ * libc/sys/arm/crt0.S (fp): Initialize to 0.
+ Conditionally include .idata$3 stuff ifdef __pe__.
+
+Fri Sep 29 01:49:17 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * libc/sys/win32/crt0.c (hmap_init): Call __init_hinfo.
+ * libc/sys/win32/pipe.c (pipe): Ditto.
+ * libc/sys/win32/syscalls.c (__read): Use new vtime and vmin fields.
+ * libc/sys/win32/syscalls.h (hinfo): vtime, vmin are new.
+ * libc/sys/win32/termios.c (tcsetattr): Init new fields.
+ (tcgetattr): Contents are new.
+ * libc/sys/win32/include/winkernel.h (DCB): New.
+ (GetCommState, SetCommState): New.
+
+Thu Sep 28 16:29:09 1995 Doug Evans <dje@deneb.cygnus.com>
+
+ * libc/sys/arm/crt0.S (_start): Define.
+
+Thu Sep 28 12:26:45 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * libc/sys/arm/crt0.S: Move stack to top of RAM on PIE board.
+ * libc/sys/arm/syscalls.c (_read, _write): Use the SWI properly.
+
+ * libc/sys/win32/sysconf.c: New
+ * libc/sys/win32/sys/winadvapi.h: New
+ * libc/sys/win32/syscalls.h (hinfo): Added timeout_len, w_binary, r_binary.
+ * libc/sys/win32/crt0.c (hmap_init): Initialize new fields.
+ * libc/sys/win32/pipe.c (pipe): Ditto.
+ * libc/sys/win32/signal.c (_raise): New.
+ (_kill): Moved from spawn.c
+ * libc/sys/win32/spawn.c (kill): Moved to signal.c
+ * libc/sys/win32/syscalls.c (__read): Use new fields.
+ (_open): Ditto.
+ * libc/sys/win32/termios.c (tcflush, tcsetattr, tcgetattr): Fill in.
+ * libc/sys/win32/exceptions.c (__stack_trace): Keep going for longer.
+ * libc/include/sys/unistd.h (rmdir): Takes const path.
+ * libc/include/sys/stat.h (mkdir): Takes const path.
+ * libc/include/sys/signal.h (SIGTTOU, SIGTTIN): New for win32.
+
+Thu Sep 28 10:11:27 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/sys/win32/spawn.c (_spawn): Fix quoting.
+
+ Add support for specifying paths as //<drive>/foo/bar.
+ * libc/sys/win32/syscalls.h (__path_needs_conversion_p): Declare.
+ (__path_to_real_path): Declare.
+ (PATH_TO_REAL_PATH): New macro.
+ * libc/sys/win32/syscalls.c (__win32_pid_to_posix_pid): Minor cleanup.
+ (__path_needs_conversion_p, __path_to_real_path): New functions.
+ (_open): Fix test for error return from CreateFileA.
+ Handle new path syntax.
+ (_link, mkdir, rmdir, getcwd, chdir, stat): Handle new path syntax.
+ * libc/sys/win32/dirsearch.c (opendir): Likewise.
+
+Wed Sep 27 16:36:46 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * libc/sys/win32/include/*.h: Reorganized
+ * libc/sys/win32/include/WINREADME: New.
+ * libc/sys/win32/Makefile.in (DLLS): Build version.a.
+ * libc/sys/win32/*.c: Fix for new include scheme.
+ * libc/sys/win32/crt0.c (__this_uinfo_buf, __this_uinfo): New.
+ * libc/sys/win32/getlogin.c (getlogin): Use uinfo.
+ * libc/sys/win32/passwd.c (*): Fix.
+ * libc/sys/win32/syscalls.c (get[e|][g|u]id): Use passwd info.
+ (_stat): Get directory owner and permissions right.
+ * libc/sys/win32/syscalls.h (uinfo): New.
+ * libc/sys/win32/version.def: Remove leading underscores.
+
+Tue Sep 26 18:18:47 1995 Jason Molenda (crash@phydeaux.cygnus.com)
+
+ * libc/sys/win32/key.c: include "include/wincon.h".
+
+Tue Sep 26 07:21:48 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * libc/sys/win32/{key, stubs}.c: New.
+ * libc/sys/win32/Makefile: Adjust to cope.
+ * libc/sys/win32/crt0.c (vfork_init_first): Cope with -ve pids.
+ (environ_init): Change env names to upper case.
+ * libc/sys/win32/dirsearch.c (readdir): Don't fill in inode number.
+ * libc/sys/win32/passwd.c (*): Fill in the functions.
+ * libc/sys/win32/pipe.c (_fcntl): F_GETFL returns O_RDWR.
+ * libc/sys/win32/spawn.c (_spawn): Cope with -ve pids.
+ * libc/sys/win32/syscalls.c (__win32_pid_to_posix_pid): New function.
+ (_open): Initialze hmap->execable_p too.
+ * libc/sys/win32/syscalls.c (getuid, getgid, geteuid, getegid): Return from macros.
+ (_fstat): Fill in permissions.
+ * libc/sys/win32/syscalls.h (hinfo): Add execable_p.
+
+Fri Sep 22 13:47:27 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * configure.in (cfg-ml-com.in invocation): Use ${with_multilib_top}
+ if defined.
+ (cfg-ml-pos.in invocation): Likewise.
+
+Fri Sep 22 11:43:44 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * Makefile.in (MATHOBJS_IN_LIBC): Added s_isinf.o, sf_isinf.o,
+ s_isnan.o and sf_isnan.o.
+
+Wed Sep 20 14:50:19 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * All Makefile.in files: added maintainer-clean target as a
+ synonym for realclean.
+
+Wed Sep 20 11:02:50 1995 Jeff Law (law@snake.cs.utah.edu)
+
+ * libc/include/machine/setjmp.h: Add hppa support.
+ * libc/machine/hppa/setjmp.S: New file with setjmp/longjmp
+ support.
+ * libc/machine/hppa/Makefile.in: Related changes.
+
+Tue Sep 19 12:09:01 1995 J.T. Conklin <jtc@blues.cygnus.com>
+
+ * configure.in (machine_dir): Don't set for v810-*-*.
+
+Fri Sep 15 20:22:08 1995 Jason Molenda (crash@phydeaux.cygnus.com)
+
+ * libc/sys/win32/crt0.c (passover): Change to handle MKS quoting
+ conventions correctly.
+
+Thu Sep 14 13:37:22 1995 J.T. Conklin <jtc@blues.cygnus.com>
+
+ * libc/stdio/puts.c: Update documentation of return value to match
+ ANSI standard.
+
+Thu Sep 14 01:52:37 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ Fix file descriptor inheritance.
+ * libc/sys/win32/syscalls.h (CHILD_P): Define again.
+ (NOT_OPEN_FD): Fix.
+ * libc/sys/win32/spawn.c (vfork0): Only create inheritable handle if
+ close-on-exec flag not set. Initialize child's entire fd table.
+ * libc/sys/win32/syscalls.c (_open): Only create inheritable handle if
+ CHILD_P.
+ * libc/sys/win32/pipe.c (pipe): Only create new handle as inheritable
+ if CHILD_P. Initialize entire hmap entry.
+ (dup): Only create new handle as inheritable if CHILD_P.
+ (dup2): Likewise. Properly initialize hmap entry.
+
+ * libc/sys/win32/spawn.c (_execve): Don't pass _P_SEARCH_PATH to
+ _spawn.
+ (_exit): Use CHILD_P.
+ * libc/sys/win32/syscalls.c (_fstat): Fix call to memset.
+ (_stat): Likewise.
+
+Mon Sep 11 23:09:39 1995 Jason Molenda (crash@phydeaux.cygnus.com)
+
+ * libc/sys/win32/crt0.c (passover): fix up the state table.
+ * libc/posix/popen.c: Added.
+ * libc/posix/Makefile.in: compile popen.c.
+
+Mon Sep 11 11:43:38 1995 J.T. Conklin <jtc@cygnus.com>
+
+ * libc/include/machine/ieeefp.h: On the h8/300, h8/300h and
+ h8/500 define _DOUBLE_IS_32BITS.
+
+Sat Sep 9 17:55:54 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ Get vfork/exec/spawn/cwait/wait working again.
+ * libc/sys/win32/syscalls.h (VFORK_NEWBORN_PSEUDO_PID): Define.
+ (procinfo): New member vfork_level.
+ * libc/sys/win32/crt0.c (__vfork_next_pid): Delete.
+ (vfork_init_first): Use GetCurrentProcessId to get pid.
+ Initialize vfork_level.
+ (vfork_init): Delete __PID__.
+ (environ_init): New function. Undo patch of Aug 19, Posix says
+ environment variables are case sensitive.
+ (mainCRTStartup): Call it.
+ * libc/sys/win32/spawn.c (__vfork_next_pid): Delete.
+ (my_longjump: Make static.
+ (_spawn): New argument `h'. Delete setting of __PID__.
+ Delete local `idx'. Look for chars that need quotes, rather than
+ ones that don't. Set handle of created process in `h'.
+ Result is process id if created task.
+ (allocate_spawn_entry): New function.
+ (spawnvp, spawnv): Call it. Store handle and pid in procinfo entry.
+ (_execve): Set __FD_TABLE__ before spawning child.
+ Scan our fd table when passing fds, not our parent's.
+ Store handle and pid in procinfo entry.
+ (vfork0): Ensure strace message always printed.
+ Set child pid to VFORK_NEWBORN_PSEUDO_PID.
+ (vfork): Don't clobber result of vfork0.
+ * libc/sys/win32/wait.c (cwait): Fix non-error result (is pid).
+ (wait_for_any): Ignore processes in state FORK_STATE_VFORK_0.
+
+ * libc/sys/win32/syscalls.h (procinfo): New members `handle_valid_p'
+ and `exit_code'.
+ * libc/sys/win32/spawn.c (allocate_spawn_entry): Initialize them.
+ (vfork0): Likewise. Distinguish children, grandchildren, etc. by
+ adding vfork level to pseudo-pid.
+ (vfork1): If not root, set state back to FORK_STATE_VFORK_0.
+ (spawnvp, spawnv, _execve): Set handle_valid_p if success.
+ (_exit): If child, set exit code.
+ (__vfork_record_death): Only close process handle if valid.
+ * libc/sys/win32/wait.c (wait_for_single): Watch for children that
+ didn't exec.
+ (wait_for_any): Likewise. Start scan after root entry.
+
+Fri Sep 8 18:48:02 1995 Jason Molenda (crash@phydeaux.cygnus.com)
+
+ * libc/include/sys/types.h (off_t): off_t back to 32 bits.
+ * libc/include/sys/_types.h (_off_t): _off_t back to 32 bits.
+ * libc/sys/win32/syscalls.c (_fstat): st_size is lower 32-bits
+ of actual file length.
+
+ * libc/sys/win32/sys/wait.h: include <sys/types.h>.
+ * libc/include/paths.h: _PATH_BSHELL added.
+ * libc/include/sys/unistd.h: define STDIN_FILENO, STDOUT_FILENO,
+ and STDERR_FILENO.
+
+Thu Sep 7 21:02:22 1995 Jason Molenda (crash@phydeaux.cygnus.com)
+
+ * libc/include/ar.h: Added.
+ * libc/include/sys/types.h: ino_t goes back to 32-bits.
+ * libc/sys/win32/syscalls.h (hinfo): added .namehash field.
+ * libc/sys/win32/syscalls.c (_open): compute .namehash based
+ on filename.
+ (_fstat): use .namehash for inode number of the fd.
+
+Thu Sep 7 12:57:19 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * libc/sys/win32/{console,ioctl,pipe,spawn,syscalls,wait}.? (*):
+ Change hinfo to __this_procinfo.
+ * libc/sys/win32/crt0.c: Remove procinfo_list.
+
+Wed Sep 6 18:38:26 1995 Jason Molenda (crash@phydeaux.cygnus.com)
+
+ * libc/include/sys/types.h (ino_t): Define ino_t correctly for
+ win32 environment.
+
+Wed Sep 6 18:09:29 1995 Jason Molenda (crash@phydeaux.cygnus.com)
+
+ * libc/sys/win32/include/grp.h: Removed.
+ * libc/sys/include/grp.h: Added.
+ * libc/sys/win32/grp.c: Include <grp.h>.
+
+Wed Sep 6 16:52:48 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * libc/include/sys/signal.h (__need_MAX_SIGNALS): Removed.
+ (sigset_t, sigaction, SIG_SETMASK, SIG_BLOCK, SIG_UNBLOCK):
+ Defined for all but strict ANSI.
+ * libc/include/sys/reent.h (__need_MAX_SIGNALS): Removed.
+ * libc/include/machine/setjmp.h: Get win32 _JBLEN right.
+ * libc/signal/signal.c (_signal_r): Changed from using
+ _MAX_SIGNALS to NSIG.
+ * libc/sys/win32/crt0.c (__current_pid, __parent_hmap, __child_hmap,
+ __hmap): Deleted.
+ (__strace, __vfork_next_pid): New.
+ (__exe_suffix): Default to 1.
+ (passover, table): Understand quoted arguments.
+ (vfork_init_first): New.
+ (vfork_init): Initialize new process structure.
+ (mainCRTStartup): Pass environ to main.
+ * exceptions.c (__sig_mask): New
+ (ehandler3): Ignore signals in mask.
+ (really_exit): Remove CHILD_P test.
+ * pipe.c (pipe, dup, dup2): Use new process and file structure.
+ * resource.c (getrusage): Ditto.
+ * signal.c (sigprocmask): New.
+ * spawn.c (*): Rewritten.
+ * syscalls.c (*): Use new process and file structure.
+ (find_unused_handle): New.
+ * syscalls.h (MAX_HANDLES): Deleted.
+ (hinfo): Removed child_created_p.
+ (MAX_CHILDREN): Deleted.
+ (vfork_jmp_info, procinfo): New.
+ * wait.c (*): Mostly new.
+ * sys/strace.h (_STRACE_PARANOID): New.
+ * sys/param.h: New file.
+
+Wed Sep 6 17:03:53 1995 Jason Molenda (crash@phydeaux.cygnus.com)
+
+ * libc/include/sys/stat.h: add S_BLKSIZE.
+ * libc/include/sys/_types.h: _off_t is a 64-bit type under win32.
+ * libc/include/sys/types.h: define off_t and ino_t to be 64 bit
+ types under win32.
+ (mode_t): add a #else to avoid multiple definitons.
+
+ * libc/sys/win32/Makefile.in: add grp.c.
+ * libc/sys/win32/grp.c: include grp.h correctly.
+ * libc/sys/win32/syscalls.c (_fstat): set almost all of the fields
+ of the st structure with real information.
+ * libc/sys/win32 (dirent): d_ino is of type ino_t.
+
+Wed Sep 6 10:41:34 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/include/sys/types.h (mode_t): Correct for svr4 sparc's
+ and (maybe) sparc64.
+ (nlink_t): Provide typedef.
+
+Tue Sep 5 18:46:05 1995 Jason Molenda (crash@phydeaux.cygnus.com)
+
+ * libc/sys/win32/grp.c: New file.
+ * libc/sys/win32/include/grp.h: New file.
+
+Tue Sep 5 13:47:27 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/include/machine/ieeefp.h: Added whitespace to make this
+ file easier to maintain.
+ On the sh, define either __IEEE_BIG_ENDIAN or __IEEE_LITTLE_ENDIAN
+ depending on the value of __LITTLE_ENDIAN__.
+ On the sh3e, define _DOUBLE_IS_32BITS.
+
+Fri Sep 1 15:35:18 1995 James G. Smith <jsmith@beauty.cygnus.com>
+
+ * libc/sys/vr4300/syscalls.c: Added missing support
+ routines. _raise() and getpid().
+
+Fri Sep 1 14:12:48 1995 James G. Smith <jsmith@rtl.cygnus.com>
+
+ * configure.in (mips*vr4300*-*-elf): Fixed silly mistake
+
+Fri Sep 1 08:42:11 1995 James G. Smith <jsmith@beauty.cygnus.com>
+
+ * configure.in (mips*vr4300*-idt-*) Add support for RISQ monitor
+ and VR4300 processor.
+ * libc/sys/vr4300: Add directory.
+ * libc/sys/vr4300/{Makefile.in, crt0.S, syscalls.c}: Add SIM
+ monitor run-time support.
+
+Thu Aug 31 09:16:52 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/stdlib/Makefile.in (CHEWOUT_FILES): Removed atol.def.
+ * libc/stdlib/stdlib.tex: Don't include atol.def.
+
+Wed Aug 30 20:38:28 1995 Jason Molenda (crash@phydeaux.cygnus.com)
+
+ * libc/sys/win32/uname.c (uname): hardcode processor as `i386'.
+
+Wed Aug 30 10:48:08 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * libc/ctype/Makefile.in: Fill in _to* dependencies.
+
+Tue Aug 29 17:14:29 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * libc/sys/win32/{dirsearch.c,sys/dirent.h}: Fix namespace problems.
+ * libc/sys/win32/sys/dirent.h (struct dirent): Added d_ino.
+ * libc/sys/win32/strace.c (__sys_printf): Increase size of buffer.
+ * libc/sys/win32/smallprint.c (__small_vsprintf): Remove debug.
+ * libc/sys/win32/dirsearch.c (readdir): Set d_ino.
+
+Tue Aug 29 19:00:09 1995 Jason Molenda (crash@phydeaux.cygnus.com)
+
+ * libc/stdlib/atol.c (atol): DEFUN -> _DEFUN.
+
+Tue Aug 29 16:08:09 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/stdlib/Makefile.in (OFILES): Added atoff.o and atol.o.
+ * libc/stdlib/atoff.c: New file.
+ * libc/stdlib/atof.c (atoff): Moved to atoff.c.
+ * libc/stdlib/atoi.c (atol): Removed.
+ * libc/stdlib/atol.c: Removed duplicate documentation.
+
+ * libc/include/ctype.h (_tolower, _toupper): Moved inside
+ #ifndef _STRICT_ANSI conditional.
+ * libc/ctype/Makefile.in (OFILES): Added _tolower.o and _toupper.o
+ * libc/ctype/_tolower.c: New file.
+ * libc/ctype/_toupper.c: New file.
+ * libc/ctype/tolower.c (_tolower): Moved to _tolower.c.
+ * libc/ctype/toupper.c (_toupper): Moved to _toupper.c.
+ * libc/ctype/toascii.c (_toascii): Removed.
+
+Tue Aug 29 12:17:32 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/sys/sparc64/sys/types.h: Deleted.
+
+Mon Aug 28 22:06:08 1995 Jason Molenda (crash@phydeaux.cygnus.com)
+
+ * libc/sys/win32/uname.c (uname): change `Windows/NT' to `Windows_NT'
+ and recognize Windows_95 systems.
+
+Mon Aug 28 19:50:54 1995 Jason Molenda (crash@phydeaux.cygnus.com)
+
+ * libc/sys/win32/crt0.c (vfork_init, hmap_init): standard I/O fds
+ and passed fds should be opened in text mode.
+
+Mon Aug 28 18:51:22 1995 Jason Molenda (crash@phydeaux.cygnus.com)
+
+ * libc/sys/win32/crt0.c (vfork_init): mark passed fds as used
+ in __hmap, set to binary mode by default.
+
+Tue Aug 22 14:12:37 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/sys/sh/syscalls.c: Updated all functions to call __trap34.
+ * libc/sys/sh/trap.S (__trap34): Renamed from __trap3. Use trap
+ vector 34.
+
+Sat Aug 19 18:25:37 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * Makefile.in (install): Install all libraries found in the
+ top level. If there's a sys/<type>/include directory,
+ install those headers into include.
+
+ * libc/sys/win32/kernel.def351: Delete
+ * libc/sys/win32/{comctl32.def, comdlg32.def, ctl3d32.def,
+ glaux.def, glu32.def, largeint.def, libc.def, libcmt.def,
+ lz32.def, mgmtapi.def, mpr.def, msacm32.def, msvcrt.def,
+ nddeapi.def, netapi32.def, odbc32.def, odbccp32.def, oldnames.def,
+ ole32.def, oleaut32.def, opengl32.def, rasapi32.def, rpcndr.def,
+ rpcns4.def, rpcrt4.def, scrnsave.def, shell32.def, snmp.def,
+ uuid.def, vdmdbg.def, version.def, vfw32.def, win32spl.def,
+ winmm.def, winspool.def, winstrm.def, wsock32.def}: New.
+
+ * libc/sys/win32/Makefile.in: Update for new files and new dlltool options.
+ * libc/sys/win32/crt0.c: Force all env names to upper case.
+ * libc/sys/win32/sys/win*.h -> libc/sys/win32/include
+ * libc/sys/win32/*.c: Headers have moved.
+ * libs/sys/win32/*.[ch]: Test for open_p rather than BAD_HANDLE,
+ __vfork_child_idx is now __vfork_child_ptr.
+
+ * posix/execvp (execvp): Don't crash if no PATH envname.
+
+Fri Aug 18 12:22:59 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/include/sys/reent.h (_Bigint): Removed _reclaim field.
+ * libc/reent/reent.c (_reclaim_reent): Free Bigint's by going
+ through the _freelist instead of through the _reclaim list.
+ * libc/stdlib/mprec.c (_Balloc): Don't put new node on _reclaim list.
+ * libc/stdlib/mprec.c (_Bcopy): Make like version in master dtoa.c
+ sources.
+
+Thu Aug 17 11:03:27 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/machine/h8500/setjmp.S: New file.
+ * libc/include/machine/setjmp.h: Updated for H8/500.
+
+Wed Aug 16 16:19:11 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * libc/sys/win32/syscalls.c (_open): More stracing.
+ (_stat): Open the file in O_BINARY.
+
+Wed Aug 16 15:49:01 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/machine/h8300/setjmp.S: New file.
+ * libc/include/machine/setjmp.h: Updated for H8/300 and H8/300H.
+
+Tue Aug 15 10:31:09 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/sys/win32/crt0.c (__exe_suffix): New global.
+ (mainCRTStartup): Set __exe_suffix from LIBC_EXE_SUFFIX.
+ * libc/sys/win32/spawn.c (_spawn): Add .exe suffix based on
+ __exe_suffix. Free fd_tab after setting env variable.
+ (spawnv,_execve): Update.
+ * libc/sys/win32/syscalls.h (__exe_suffix): Declare.
+ * libc/sys/win32/smallprint.c (puts,putn): New (static) functions.
+ (__small_vfprintf): New function.
+ * libc/sys/win32/strace.c (__sys_printf): Call __small_vfprintf.
+ * libc/sys/win32/wait.c (cwait): Validate argument.
+
+ * libc/sys/win32/syscalls.c (queue_file_deletion): Add trace message.
+ (process_deletion_queue): Likewise.
+
+ * libc/sys/win32/Makefile.in (lib.a): Don't call $(RANLIB).
+
+Mon Aug 14 10:14:10 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * libc/sys/win32: Copyrights and gratuitous indenting.
+
+Mon Aug 14 01:32:58 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/sys/win32/syscalls.c (queue_file_deletion): Finish.
+ (process_deletion_queue): Likewise.
+ (__close_all_files): New function.
+ (_close): Only queue file deletion if really a file.
+ * libc/sys/win32/spawn.c (_spawn): Only ensure .exe suffix if
+ _P_APPEND_EXE.
+ (_exit): Call __close_all_files.
+
+ * libc/stdlib/system.c: #include <errno.h>.
+ (_system_r): Fix results in -DNO_EXEC case.
+
+ * libc/sys/win32/sys/dirent.h (DIR): New member __d_dirname.
+ Reorganize structure.
+ * libc/sys/win32/dirsearch.c (opendir): Use stat to determine
+ if argument is valid. Save directory name in DIR. malloc space
+ for dirent struct separately.
+ * libc/sys/win32/syscalls.c (stat): Fix test for directory.
+
+ * libc/include/errno.h (ENAMETOOLONG): Define.
+ * libc/string/strerror.c (strerror): Reword ENFILE.
+ Add ENOSYS, ENMFILE, ENOTEMPTY, ENAMETOOLONG.
+
+Sun Aug 13 22:42:25 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/sys/win32/crt0.c (__progname): New global.
+ (mainCRTStartup): Support strace=bitmask,filename.
+ * libc/sys/win32/dirsearch.c (all fns): Add trace messages.
+ * libc/sys/win32/syscalls.c (_write): Print parent trace message
+ if error.
+ (getcwd): Handle len too small. Convert '\\' to '/'.
+ * libc/sys/win32/sys/fcntl.h (O_RDWR): = O_RDONLY|O_WRONLY.
+ Add prototypes for open, creat, fcntl.
+ (O_APPEND): Change value to conform to Microsoft's value.
+ * libc/sys/win32/sys/strace.h (_STRACE): Protect in do/while.
+
+ * libc/stdlib/getopt.c: New file.
+ * libc/stdlib/Makefile.in: Build it.
+
+Sat Aug 12 12:17:14 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/posix/execvp.c (execvp): Watch for DOS drives ifdef _WIN32.
+ Fix scanning of $PATH.
+ * libc/posix/exec*.c: Call _execve, not execve.
+ * libc/posix/execve.c: New file.
+ * libc/posix/Makefile.in (OFILES): Add execve.o.
+
+ * libc/sys/win32/sys/strace.h (_STRACE_ALL, _STRACE_UHOH,
+ _STRACE_STARTUP, _STRACE_SYSCALL): More bit masks of things to trace.
+ (_STRACE): If level==0, always print. Handle new bit mask scheme.
+ * libc/sys/win32/crt0.c: Update _STRACE calls.
+ * libc/sys/win32/{pipe.c,resource.c,spawn.c,syscalls.c,wait.c}: Ditto.
+
+ * libc/sys/win32/smallprint.c (rn): Fix digit list.
+
+ * libc/sys/win32/syscalls.c (__really_exit): Move from here,
+ * libc/sys/win32/exceptions.c (really_exit): to here. Avoid recursion.
+ * libc/sys/win32/spawn.c (spawnvp): Pass `prog' as image name.
+ Print __seterrno trace message first.
+ (_execve): Renamed from execve.
+ (vfork): Update __strace usage.
+ (__vfork_child_pid): Deleted.
+ (__vfork_children, __vfork_child_idx): New globals.
+ (_spawnvp): New function.
+ (spawnvp, spawnv, _execve): Call _spawnvp.
+ (init_child): Record child in __vfork_children.
+ (__vfork_get_entry, __vfork_record_death): New functions.
+ * libc/sys/win32/crt0.c (mainCRTStartup): Initialize __vfork_children.
+ * libc/sys/win32/kernel32.def (WaitForMultipleObjects): Define.
+ * libc/sys/win32/syscalls.h (CHILD_P): New macro. All files updated.
+ (MAX_CHILDREN, CHILD_INTERIM_PID): Define.
+ (children): New typedef.
+ (__vfork_children,__vfork_child_idx): Declare.
+ (__vfork_get_entry,__vfork_record_death): Declare.
+ * libc/sys/win32/wait.c (wait_for_single,wait_for_any): New functions.
+ (waitpid): Handle pid == -1.
+ * libc/sys/win32/sys/wintypes.h (WaitForMultipleObjects): Declare.
+ * configure.in (i386-win32): Add -DNO_FORK.
+ * libc/syscalls/sysfork.c (fork): Don't define for NO_FORK.
+ * libc/reent/execr.c (_fork_r): Likewise.
+ * libc/stdlib/system.c (do_system): New function.
+ If WIN32, try to get shell path from $SH_PATH, use vfork.
+ (_system_r): Return 1 for (s == NULL) if WIN32 or unix,
+ otherwise return 0.
+
+Sat Aug 12 11:08:00 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * libc/stdlib/{mallocr.c, mstats.c}: Move mstats from mallocr to mstats.c.
+ * libc/sys/win32/fcntl.h: Don't include self.
+ * libc/sys/win32/sys/strace.h (_STRACE_WM, _strace_wm): New.
+ * libc/sys/win32/sys/winbase.h: (GetUserName) New.
+ * libc/sys/win32/sys/wincon.h (HANDLER_ROUTINE): Define correctly.
+ * libc/sys/win32/sys/wintypes.h (GetFileType, GetCurrentProcess, CloseHandle,
+ SetFilePointer, CreateFileA, GetFileInformationByHandle, GetStdHandle):
+ Correct prototypes.
+ * libc/sys/win32/strace.c: New file.
+ * libc/sys/win32/smallprint.c: New file.
+ * libc/sys/win32/crt0.c (func): Delete.
+ (mainCRTStartup): Fix alloca usage. Set handles explictly.
+ * libc/sys/win32/dirsearch.c: Clean up handle usage, fix calls to __seterrno.
+ * libc/sys/win32/exceptions.c: Lint.
+ * libc/sys/win32/{ioctl.c, pipe.c, resource.c, spawn.c, cwait.c, syscalls.c}:
+ Clean up handle usage.
+ * libc/sys/win32/syscalls.c (__sys_printf): Moved into strace.c
+ (open.c): Default file type is text.
+ * libc/sys/win32/uname.c (uname): Use __small_sprintf.
+ * libc/sys/win32/advapi32.def: New
+
+Fri Aug 11 17:11:52 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * configure.in (posix_dir, libc_posix_lib): New variables.
+ Define LIBC_POSIX_LIB in makefile to be $libc_posix_lib.
+ (i[345]86-*-win32): Define posix_dir.
+ Delete -DNO_EXEC. Define -DHAVE_OPENDIR.
+ (if unix_dir): Fix typo.
+ * libc/posix/{Makefile.in,closedir,opendir,readdir,rewinddir,
+ scandir,seekdir,telldir}: New files.
+ * libc/posix/{execl.c,execle.c,execlp.c,execv.c,execvp.c}: Move here
+ from libc/unix.
+ * libc/Makefile.in (LIBC_POSIX_LIB): Define.
+ (SUBDIRS): Add posix.
+ (SUBLIBS): Add $(LIBC_POSIX_LIB).
+
+ * libc/include/sys/signal.h (SIGCHLD): Add for _WIN32.
+ (NSIG): Increase to 21.
+ * libc/include/sys/unistd.h (pid_t): Move from here,
+ * libc/include/sys/types.h (pid_t): to here.
+
+ * libc/sys/win32/syscalls.h: #include "sys/strace.h".
+ (__ptrace): Delete.
+ (hinfo): New members close_exec_p, child_created_p.
+ (struct exception_list): Define.
+ (__hmap): Redefine as pointer to table.
+ (__parent_hmap, __child_hmap): New globals.
+ (__set_errno, __really_exit): Declare.
+ (__vfork_child_pid): Declare.
+ * libc/sys/win32/crt0.c (__strace, __trace_file): New global.
+ (__orig_stdin, __orig_stdout, __orig_stderr): New globals.
+ (__parent_hmap, __child_hmap): New globals.
+ (__hmap): Redefine as pointer to active map.
+ (__get_console): New function.
+ (mainCRTStartup): Change leading '=' in environ vars to '!'.
+ (env __FD_TABLE__): Watch for this and initialize our fd/handle
+ mapping table from it if defined.
+ (argv, envp): Dump if __strace >= 4.
+ (main): Call here.
+ * libc/sys/win32/exceptions.c (myp): Redefine.
+ (__syscalls_b): Delete.
+ (__stack_trace): New function.
+ (ehandler3): Update to use _STRACE. Print stack trace.
+ Call __really_exit instead of exit.
+ (init_exceptions): Delete args argc,argv. New arg mine.
+ * libc/sys/win32/kernel32.def (CreatePipe, DuplicateHandle, FindClose,
+ FindFirstFileA, FindNextFileA, GetComputerNameA,
+ GetEnvironmentVariableA, ReadFile, SetEnvironmentVariableA): Define.
+ * libc/sys/win32/signal.c (signal): Validate arg.
+ (alarm, sleep): Define as stubs for now.
+ * libc/sys/win32/syscalls.c (all fns): Update to use _STRACE.
+ (__syscalls_b, errno): Delete.
+ (__vfork_child_pid, __vfork_jmp_buf): New globals.
+ (__seterrno): Handle more errors.
+ (__sys_printf): Renamed from _ptrace.
+ (__really_exit): New function.
+ (queue_file_deletion, process_deletion_queue): New functions.
+ (__resume_parent): New function.
+ (_unlink): Handle trying to delete open file.
+ (__totime_t): Renamed from totime_t.
+ (setsid, __read, __write): New functions.
+ (cwait, spawnvp, R, D, getrusage, _execve, _fork, _wait): Delete.
+ * libc/sys/win32/{dirsearch.c,getlogin.c,misc.c,resource.c,passwd.c,
+ times.c,spawn.c,pipe.c,wait.c,termios.c,ioctl.c,uname.c}: New files.
+ * libc/sys/win32/console.c: Update to new definition of __hmap.
+ * libc/sys/win32/Makefile.in: Build new files.
+ * libc/sys/win32/sys/{dirent.h,winerror.h,wait.h,termios.h}: New files.
+ * libc/sys/win32/sys/{ioctl.h,utsname.h}: New files.
+ * libc/sys/win32/sys/strace.h: Renamed from ptrace.h.
+ * libc/sys/win32/sys/wintypes.h (GetCurrentDirectoryA): Fix prototype.
+
+Thu Aug 10 16:32:52 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/sys/h8500hms/misc.c (kill): Handle SIGABRT.
+
+Thu Aug 10 12:07:38 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/stdlib/{dtoa.c, strtod.c}: Merged assorted changes that
+ have been made to the master dtoa.c sources (from netlib.att.com)
+ since they were integrated into newlib in early 1992. Fixes
+ problems with storage leaks and handling of numbers with very
+ negative exponents.
+
+Wed Aug 9 14:18:39 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * Makefile.in (all): set rootpre and srcrootpre before calling
+ sub-makes.
+
+Tue Aug 8 17:20:45 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * libc/sys/win32/crt0.c: Change __hmap usage.
+ * libc/sys/win32/exceptions.c: Use _ptrace call.
+ * libc/sys/win32/syscalls.c: Use _ptrace call.
+ (read, write): Cope with DOS style CRLF when in TEXT mode.
+ * libc/sys/win32/syscalls.h: Declare hinfo struct.
+ * libc/sys/win32/user32.def: Get DefWindowProc arg list right.
+ * libc/sys/win32/sys/fcntl.h, ptrace.h: New.
+ * libc/sys/win32/sys/windows.h: Fill in rest of messages.
+ * libc/sys/win32/sys/wintypes.h: Fix attribute syntax.
+
+Mon Aug 7 13:04:54 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/include/math.h (cabs, cabsf, drem, dremf): New declarations.
+
+ * libm/math/{w_cabs.c, wf_cabs.c, w_drem.c, wf_drem.c}: New files,
+ wrappers for hypot() and remainder() for BSD libm compatibility.
+ These are public domain implementations written by me for the
+ NetBSD libm some time ago. Note cabs() is required by ucbtest.
+ * libm/math/Makefile.in (obj): Added w_cabs.o and w_drem.o.
+ (fobj): Added wf_cabs.o and wf_drem.o.
+
+Thu Aug 3 08:13:05 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/sys/h8500hms/misc.c: New file.
+ * libc/sys/h8500hms/Makefile.in (OFILES): Add misc.o.
+
+Wed Aug 2 16:46:27 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/time/localtime.c (localtime): Fix problem with leap year
+ handling. Stole algorithm from Arthur David Olson's tz code.
+
+Mon Jul 31 10:21:54 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * configure.in: (z8k-*sim): Renamed z8k-*-coff.
+
+ * libc/sys/z8ksim/glue.c (_getpid, _kill): New
+ (_exit): Use argument.
+
+Fri Jul 28 15:17:04 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/sys/win32/sys/winbase.h (_WINBASE_H): Define.
+
+Wed Jul 26 16:24:19 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * libc/sys/sh/trap.S (perrno): Align correctly. (pr 7532)
+
+Mon Jul 24 13:42:52 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * configure.in (sparc*): Add -DMALLOC_ALIGNMENT=8 to
+ target_cflags.
+
+Mon Jul 24 11:42:07 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * libc/sys/win32/crt0.c (mainCRTStartup): Look for
+ ptrace with case insensitivity
+ * libc/sys/win32/{user32.def, gdi32.def, exceptions.c, screen.c,
+ sys/winbase.h, sys/windows.h, sys/wintypes.h, sys/winuser.h}:
+ New files.
+
+Fri Jul 21 11:22:26 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * Makefile.in: Multilib support moved to ../cfg-ml-{com,pos}.in.
+ (MULTITOP, MULTIDIRS, MULTISUBDIR, MULTIDO, MULTICLEAN): New variables.
+ (all, install, *clean): Use new multilib support.
+ * configure.in: Multilib support moved to ../cfg-ml-{com,pos}.in.
+
+Fri Jul 21 07:11:42 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * libc/include/sys/signal.h (__WIN32__): New.
+
+ * configure.in (i386-*-win32): Remobe SBRK_IS_ALLOC.
+
+ * libc/stdlib/mprec.c (Balloc): Fix trampling problem.
+ (ulp, b2d): Handle 32 bit doubles.
+ * libc/stdlib/mprec.h: Handle 32 bit doubles.
+ * libc/stdlib/strtod.c (_strtod_r): Ditto.
+
+Fri Jul 14 08:24:58 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ from medp@primag.co.uk:
+ * libc/stdio/setvbuf.c (setvbuf): Fix line buffering on
+ dynamically allocated buffers.
+
+Thu Jul 20 10:11:03 1995 Fred Fish <fnf@fishbowl>
+
+ * libc/include/sys/unistd.h (_exit): Add _ATTRIBUTE ((noreturn)).
+ * libc/stdlib/exit.c (unistd.h): Include to pick up _exit() declaration.
+
+Thu Jul 20 10:16:25 1995 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * configure.in (powerpc): Fix previous fix.
+
+Wed Jul 19 14:08:55 1995 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * configure.in (powerpc-*eabiaix*): Update PowerPC multilib
+ directories for this target.
+
+Wed Jul 19 00:34:30 1995 Jeffrey A. Law <law@rtl.cygnus.com>
+
+ * configure.in (hppa): Add machine_dir definition.
+ * libc/machine/hppa: New directory with PA specific implementations
+ of the basic memory/string functions.
+
+Tue Jul 18 21:16:00 1995 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * configure.in: Update current PowerPC multilib directories.
+ Split big and little endian configurations.
+
+Tue Jul 18 11:55:33 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * configure.in: Add --enable-single-float option to configure to
+ control use of MIPS single-float directories. Default to yes.
+
+ * Makefile.in (all): Don't recurse into multilib directory if it
+ does not exist.
+
+Mon Jul 17 15:51:30 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/sys/sh/syscalls.c: Fix typo.
+
+Mon Jul 3 14:38:52 1995 Steve Chamberlain <sac@slash.cygnus.com>
+
+ * Makefile.in, libc/Makefile.in, libc/sys/Makefile.in:
+ Pass down DLLTOOL.
+ * libc/include/process.h: Define WAIT_CHILD.
+ * libc/include/types.h: Get sizes right for win32.
+ * configure.in (i386-*-pe): Becomes i386-win32.
+ * libc/sys/win32/{crt0.c, kernel32.def, longjmp.c, setjmp.c, syscalls.c
+ wintypes.h,sys/file.h,sys/resource.h}: Second pass.
+ * libc/stdlib/mallocr.c: Don't round up memory block if SBRK_IS_ALLOC
+ is defined.
+
+Wed Jun 28 18:34:54 1995 Steve Chamberlain <sac@slash.cygnus.com>
+
+ * configure.in (i[345]86-*-pe): New target (NT).
+ * host/any: DLLTOOL new.
+ * libc/sys/win32/{crt0.c, kernel32.def, longjmp.c, setjmp.c, syscalls.c
+ wintypes.h,sys/file.h,sys/resource.h}: Preliminary support for
+ WIN32 (just enough to cross host the comp-tools).
+
+Thu Jun 22 11:45:18 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/machine/h8300/{cmpsi.S,ucmpsi.S,divhi3.S,mulhi3.S,mulsi3.S}:
+ Deleted. These files live in gcc/config/h8300/lib1funcs.asm now.
+
+Mon Jun 19 11:40:40 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/include/machine/ieeefp.h (arm): Change to always be
+ __IEEE_BIG_ENDIAN (even on little endian ARM's).
+
+Thu Jun 8 14:22:28 1995 Steve Chamberlain <sac@slash.cygnus.com>
+
+ * libc/sys/crt0.S: Initialze sp, and call exit after main.
+ * libc/sys/syscalls.c (abort): New.
+ * configure.in (arm): Define ABORT_PROVIDED.
+
+Wed Jun 7 14:04:35 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * configure.in (powerpc): Define multidirs.
+
+Mon Jun 5 16:10:13 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/sys/arm/crt0.S: Add __USER_LABEL_PREFIX__ support.
+
+Thu Jun 1 10:51:47 1995 Sean Eric Fagan <sef@cygnus.com>
+
+ * configure.in (sparclite): Delete target_cflags. Define multidirs.
+
+Wed May 24 14:23:25 1995 Steve Chamberlain <sac@slash.cygnus.com>
+
+ * configure.in, libc/include/machine/ieeefp.h: Modified
+ for arm:
+ libc/machine/arm/*, libc/sys/arm/*: New
+
+Tue May 23 13:53:07 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libc/include/machine/ieeefp.h: Use __PPC__ instead of
+ __powerpc__ when determining endianness.
+
+Wed May 10 07:55:56 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * configure.in (m68*): Add multidir for the m68332.
+
+ * host/any (CC): Fix typo in last change.
+
+Fri Apr 14 22:20:31 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ * libc/include/sys/config.h: Test __m68k__ instead of __m68000__
+ when determining endianness.
+ * libc/include/machine/ieeefp.h: Ditto.
+ * libc/machine/m68k/setjmp.S: Use '&' instead of '#' for immediate
+ operands.
+
+Fri Apr 14 14:14:29 1995 Doug Evans <dje@chestnut.cygnus.com>
+
+ * libc/include/errno.h (ENOTEMPTY): Define.
+
+Thu Apr 6 12:21:20 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * configure.in (sparc-sun-sunos*): Add -DMALLOC_ALIGNMENT=8 to
+ target_cflags.
+
+ * libc/sys/sun4/Makefile.in (COPYOFILES): Added rem.o, multiply.o,
+ and umultiply.o.
+
+ * libc/stdio/tmpnam.c (worker): Unconditionally increment count
+ instead of only when open succeeds. ANSI requires that multiple
+ calls to tmpnam() result in different files.
+
+ * libc/sys/sun4/Makefile.in (COPYRENAMEOFILES): New macro, list of
+ objects pulled in from /lib/libc.a that must be renamed before
+ being pulled into newlib. /lib/libc.a's div.o conflicted with
+ newlib's file with the same name.
+
+ * libc/stdlib/ldiv.c (ldiv): Call labs() instead of abs().
+
+ * host/any (CC, AS, AR, RANLIB): Changed so that executables in
+ the build tree will only be used if the executables are present
+ (instead of just the Makefiles).
+
+ * libc/include/stdlib.h (mblen, mbtowc, wctomb, mbstowcs,
+ wcstombs): Define.
+ * libc/stdlib/{mblen.c, mbstowcs.c, wcstombs.c}: New files, null
+ versions of these functions that I orignally wrote for the
+ NetBSD C library.
+ * libc/stdlib/{mbtowc.c, wctomb.c}: Replaced functions with
+ versions I wrote for NetBSD.
+
+Wed Mar 29 12:42:42 1995 Kung Hsu <kung@mexican.cygnus.com>
+
+ * libc/sys/sparclite/Makefile.in: add crt0.s and make info.
+ * libc/sys/sparclite/crt0.s: ditto.
+
+Tue Mar 28 20:28:03 1995 Rob Savoye <rob@rtl.cygnus.com>
+
+ * configure.in: Add soft-float for proelf.
+
+Mon Mar 27 12:07:56 1995 Steve Chamberlain <sac@bang.hack.com>
+
+ * libc/stdlib/mprec.h (Bcopy): Copy the right number
+ of bytes.
+
+Mon Mar 27 11:24:22 1995 Doug Evans <dje@chestnut.cygnus.com>
+
+ * Makefile.in (all): Depend on `force'.
+ * configure.in (syscall_dir): Renamed from fake_sys_dir.
+ (libc_syscall_lib): Renamed from libc_fake_sys_lib.
+ (LIBC_SYSCALL_LIB): Renamed from LIBC_FAKE_SYS_LIB.
+ * libc/Makefile.in: Likewise.
+ * libc/include/reent.h: Update syscall references.
+ (_fcntl_r): Add prototype.
+ * libc/syscalls/*.c #include <reent.h>.
+ (*) Call reentrant version if REENTRANT_SYSCALLS_PROVIDED.
+
+Mon Mar 20 16:57:39 1995 Doug Evans <dje@deneb.cygnus.com>
+
+ * libc/include/sys/stat-dj.h (S_ISBLK): Define.
+ (S_ISCHR, S_ISDIR, S_ISFIFO, S_ISREG): Define.
+ * libc/include/sys/stat.h (stat-dj.h): Include ifdef MSDOS.
+ (time.h, sys/types.h): Always include (even if MSDOS).
+ (stat): Fix prototype.
+
+Fri Mar 10 11:30:38 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * configure.in (i[345]86-*-go32): Compile with -DNO_EXEC.
+
+Mon Feb 27 18:00:39 1995 Jim Wilson <wilson@chestnut.cygnus.com>
+
+ * libc/machine/h8500/psi.S (EXTPSIHI_RN_SN): Ifdef out.
+
+Mon Feb 13 16:10:03 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * libc/include/regdef.h: New file.
+ * libc/machine/mips/machine/regdef.h: New file.
+
+Mon Feb 6 15:24:29 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/sys/sparc64/sys/fcntl.h (open): Add ellipsis.
+
+Fri Jan 27 13:52:10 1995 Steve Chamberlain <sac@splat>
+
+ * libc/sys/sh/crt0.S: Pass main's return to exit.
+ * libc/sys/sh/trap.S: Put errno in the right place.
+
+Tue Jan 24 18:57:56 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
+
+ * libm/math/e_rem_pio2.c (__ieee754_rem_pio2): Integrate change
+ from fdlibm 5.2: handle |x| < 3pi/4 more efficiently.
+ * libm/math/ef_rem_pio2.c: Likewise.
+ * libm/math/e_log10.c: Remove unused static one.
+ * libm/math/ef_log10.c: Likewise.
+ * libm/math/s_frexp.c: Likewise.
+ * libm/math/sf_frexp.c: Likewise.
+
+Sun Jan 22 21:26:14 1995 Steve Chamberlain <sac@splat>
+
+ * libc/sys/go32/Makefile.in, clock.S, dir.c, setjmp.S, stat.c,
+ longjmp.S: Upgraded.
+ * libc/sys/go32/sys/setjmp.h: Upgraded.
+ * libc/sys/go32/sys/go32.h, dpmi.h: New files.
+
+Fri Jan 20 18:33:18 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
+
+ * configure.in: Add many entries to multidirs for mips targets.
+
+Wed Jan 18 10:19:25 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * libm/math/e_jn.c (__ieee754_yn): Integrate change from fdlibm
+ 5.2 which fixes bug where jn(-1,x) is three times larger than
+ the actual answer.
+ * libm/math/ef_jn.c (__ieee754_ynf): Likewise.
+
+Sun Jan 15 21:48:58 1995 Steve Chamberlain <sac@splat>
+
+ * libc/sys/w65/sys/syscalls.h: New file
+ * libc/include/machine/ieeefp.h: W65 support.
+ * libc/include/sys/config.h: Ditto.
+ * libc/machine/w65/Makefile.in, cmpsi, divsi3, lshrhi.s, mulsi3.c,
+ sdivhi3.s, smulhi3.s, udivhi3.s, umodhi3.s: New files.
+ * libc/sys/w65/Makefile.in, crt0.c, syscalls.c, trap.c: New files.
+
+Wed Jan 11 15:59:01 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
+
+ * libc/sys/Makefile.in (lib.a, crt0.o): Depend upon subs.
+
+Tue Jan 3 15:57:03 1995 Rob Savoye <rob@darkstar.cygnus.com>
+
+ * Makefile.in, configure.in: Remove any references to the old
+ "stub" dir.
+
+Thu Dec 22 10:42:08 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
+
+ * libc/syscalls/sysopen.c: Write _HAVE_STDC version of open, which
+ uses ... in prototype.
+
+
+Wed Nov 30 08:39:42 1994 Ian Lance Taylor <ian@rtl.cygnus.com>
+
+ * libc/sys/a29khif/sys/libconfig.h: Remove.
+ * libc/sys/go32/sys/libconfig.h: Remove.
+ * libc/sys/sun4/sys/libconfig.h: Remove.
+ * libc/sys/sysvi386/sys/libconfig.h: Remove.
+ * libc/sys/sysvnecv70/sys/libconfig.h: Remove.
+ * libc/sys/sparc64/sys/libconfig.h: Remove.
+
+ * libc/include/_ansi.h (_FLOAT_ARG, _FLOAT_RET): Don't define.
+ * libc/include/sys/config.h (_FLOAT_ARG, _FLOAT_RET): Likewise.
+ * libc/include/math.h: Change all uses of _FLOAT_RET and
+ _FLOAT_ARG to float.
+ * libm/test/math.c: Likewise.
+ * testsuite/libm.sac/math.c: Likewise.
+ * testsuite/libm.sac/working/math.c: Likewise.
+
+Wed Nov 23 22:39:28 1994 Steve Chamberlain (sac@jonny.cygnus.com)
+
+ * libc/sys/sh/trap.s,crt0.s,setjmp.s: Renamed with .S so that
+ gcc calls gas with endian option.
+ * configure.in (sh): Build little endian version too.
+
+Wed Nov 16 18:21:45 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
+
+ * configure.in: Configure big and little endian versions for MIPS
+ targets.
+
+Sat Nov 12 21:12:51 1994 Doug Evans <dje@canuck.cygnus.com>
+
+ * libc/include/limits.h: Deleted.
+ * libc/include/machine/limits.h: Deleted.
+
+Thu Nov 10 15:32:44 1994 Rob Savoye <rob@rtl.cygnus.com>
+
+ * ChangeLog: Remove stub directory. This has all been rewritten
+ and moved to devo/libgloss.
+
+Thu Sep 29 18:31:04 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
+
+ * Makefile.in (dvi): Add to info target, use $@ in sub make.
+ (docs): Merge into info target.
+ * libm/Makefile.in (dvi): Add $(srcdir).
+ * libm/math/Makefile.in (chobjs): Remove underscores from file
+ names. Texinfo doesn't like them.
+ (wacos.def, ...): Add explicit targets for all .def files.
+ * libm/math/math.tex: Remove underscores from @include file names.
+ * doc/Makefile.in (dvi): Add dummy target.
+ * testsuite/Makefile.in (dvi): Add dummy target.
+
+Mon Sep 26 21:17:46 1994 Doug Evans (dje@canuck.cygnus.com)
+
+ * Makefile.in (VERSION): Define. For net newlib releases.
+
+Thu Sep 22 19:01:26 1994 Doug Evans (dje@canuck.cygnus.com)
+
+ * README: New file.
+
+Mon Sep 19 16:35:23 1994 Jim Wilson (wilson@sphagnum.cygnus.com)
+
+ * libc/stdlib/ecvtbuf.c (_gcvt): Undo last change.
+
+Mon Sep 19 11:44:23 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * libc/stdlib/setenv.c (_findenv): Declare.
+
+ * libc/include/sys/fcntl.h: Fix declarations of open, creat, and
+ fcntl to not use _EXFUN, and change string parameters to open and
+ creat to be ``const char *''.
+ * libc/sys/sparc64/sys/fcntl.h: Likewise.
+ * libc/sys/sparc64/creat.c (creat): Make PATH const.
+ * libc/syscalls/sysopen.c: Include <fcntl.h>.
+ (open) Make _FILE const.
+ * libc/sys/z8ksim/glue.c (_open): Make BUF const.
+ (_creat): Make PATH const.
+ * libc/sys/h8300hms/syscalls.c (_open): Make PATH const.
+ * libc/sys/h8500hms/syscalls.c (_open): Likewise.
+ * libc/sys/m88kbug/syscalls.c (open): Likewise.
+ * libc/sys/sh/syscalls.c (_open): Likewise.
+ * stub/shared/glue.c (open): Make BUF const.
+ * stub/ex93x/syscalls.c (open): Make FILENAME const.
+
+Thu Sep 8 16:39:12 1994 Steve Chamberlain (sac@jonny.cygnus.com)
+
+ * libc/include/errno.h: Add ENMFILE
+ * libc/include/sys/config.h: Support Z8000.
+ * libc/include/sys/signal.h: New signals for go32.
+ * libc/machine/h8500/psi.S (__addpsir0r0): New function
+ * libc/machine/h8500/cmpsi.S (__ucmppsi2): New function
+ * libc/machine/sh/sdivsi3.s (__sdivsi3): Rewritten.
+ * libc/stdlib/mallocr.c (_morecore_r): Minimum chunk
+ size is variable, depending upon CHUNK_POWER.
+ * libc/sys/go32/*.c: Upgrade to new go32 stuff.
+
+Sun Sep 4 17:42:43 1994 Jim Wilson (wilson@sphagnum.cygnus.com)
+
+ * libc/stdlib/ecvtbuf.c (_gcvt): Output '-' for negative numbers.
+
+Fri Sep 2 10:56:01 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * libc/include/_ansi.h (_PARAMS): Don't define if already defined.
+
+Wed Aug 24 11:11:03 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * configure.in: Change i[34]86 to i[345]86.
+
+ * libc/include/math.h: Don't define HUGE_VAL if it is already
+ defined.
+
+Wed Aug 17 15:18:02 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * testsuite/libm.sac/test_erfc.c: Correct some result values.
+ * testsuite/libm.sac/test_gammaf.c: Likewise.
+ * testsuite/libm.sac/test_sin.c: Likewise.
+ * testsuite/libm.sac/test_tanh.c: Likewise.
+
+Tue Aug 16 16:12:53 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * libc/include/machine/ieeefp.h: Don't try set endianness if it is
+ already set. Define typedefs __int32_t and __uint32_t.
+ * libc/include/math.h: Include <machine/ieeefp.h>.
+ (union __dmath): Use __uint32_t.
+ * libm/math/fdlibm.h, libm/math/*.c: Use __int32_t and __uint32_t
+ instead of int and unsigned int.
+
+Thu Aug 11 15:16:09 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ Replace the math library with the SunPRO fdlibm package.
+ * libm/math: Completely changed all files.
+ * libm/ieeefp: Remove contents and directory.
+ * libm/Makefile.in (LIBM_FP_LIB): Remove.
+ (SUBDIRS): Just set to math/lib.a.
+ * libm/libm.texinfo: Updated for new library.
+ * libc/include/math.h: Extensive changes for new math library.
+ * libc/include/ieeefp.h (isnanf, isinff, finitef): Change argument
+ from _FLOAT_ARG to float.
+ (maxpowtwo, maxpowtwof): Don't declare.
+ * configure.in (fp_dir): Removed; was always ieeefp anyhow.
+ (libm_fp_lib): Removed.
+ * Makefile.in (MATHOBJS_IN_LIBC): Updated with new file names.
+ * testsuite/libm.paranoia/Makefile.in (check): Correct --srcdir
+ argument to ${RUNTEST}.
+ * testsuite/libm.sac/Makefile.in (LOCAL_CFLAGS): Define.
+ (.c.o): New rule.
+ (RUNTESTFLAGS): Set CC and CFLAGS.
+ (TESTS): Remove test_log2 and test_log2f.
+ (${TESTS}): Pass ${LOCAL_CFLAGS}, not ${CFLAGS}.
+ * testsuite/libm.sac/math.c (run_vector_1): Use float, not
+ _FLOAT_ARG, for single precision argument type.
+ * testsuite/libm.sac/sac.exp: Treat an error in bit 63 as an
+ expected failure. Close the input pipe.
+ * testsuite/libm.sac/test.c (test_sok, test_iok, test_scok):
+ Correct misspelling of inaccurate.
+ (test_mok): Use ``inaccurate'', not ``wrong''.
+ * testsuite/libm.sac/{test_acos.c, test_acosh.c, test_asin.c,
+ test_asinh.c, test_atan.c, test_atanh.c, test_ceil.c,
+ test_ceilf.c, test_cos.c, test_cosh.c, test_erf.c, test_erf.c,
+ test_fabs.c, test_floor.c, test_floorf.c, test_fmod.c,
+ test_fmodf.c, test_gamma.c, test_log1p.c, test_log1pf.c,
+ test_yn.c): Correct many result values. Many are still wrong.
+
+ * libc/stdlib/ecvtbuf.c (print_e): If _dtoa_r sets decpt to 9999,
+ just copy the string.
+ (_gcvt): Always return the buffer.
+
+Tue Aug 9 13:43:23 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
+
+ * bcopy.c: fixed documentation, bcopy was not specified by ANSI.
+
+Wed Aug 3 05:39:41 1994 D. V. Henkel-Wallace (gumby@cygnus.com)
+
+ * libc/include/sys/reent.h: (struct _Bigint): add _reclaim
+ structure.
+ (struct _reent): add _p5s, _cvtlen, _cvtbuf.
+ (_reclaim_reent): declare new entry point.
+ * libc/reent/reent.c (cleanup_glue, _reclaim_reent): new
+ functions.
+
+ * libc/stdlib/mprec.c (Balloc): Keep track of every struct bigint
+ ever allocated, so that we can later reclaim them all.
+ (pow5mult): make reentrant.
+
+ * libc/stdlib/ecvtbuf.c (fcvtbuf, ecvtbuf): extend these functions
+ so that when given NULL as a buffer, return a pointer to static
+ space in the rent structure. This is not documented behaviour;
+ it's only to support ecvt and fcvt, which aren't ANSI anyway.
+ * libc/stdlib/efgcvt.c (fcvt, ecvt) Use new functionality (and
+ therefore become reentrant).
+
+ * libc/stdlib/dtoastub.c: remove spurious inclusion of mprec.h.
+
+Mon Aug 1 16:52:24 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * libc/include/machine/ieeefp.h: Check _AM29K, not ___AM29K__.
+
+Thu Jul 28 15:40:21 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
+
+ * Makefile.in: Make link to libg.a after libc.a; this is needed
+ for the testsuites to build executables when everything comes
+ from the tree.
+
+Mon Jun 27 17:14:29 1994 Bill Cox (bill@rtl.cygnus.com)
+
+ * libc/Makefile.in: Add a VERSION variable so we can keep track.
+ * libm/Makefile.in: Add a VERSION variable so we can keep track.
+
+Wed Jun 22 10:26:00 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * libc/include/stdio.h: Use __VALIST, not va_list.
+
+Tue May 17 15:43:28 1994 Bill Cox (bill@rtl.cygnus.com)
+
+ * testsuite/config/unix-libm.exp, testsuite/lib/libm.exp,
+ testsuite/libm.sac/execute.exp:
+ Replace error proc calls with perror calls.
+
+Wed May 11 09:25:28 1994 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/include/*.h: #include "_ansi.h" instead of <_ansi.h>.
+ * libc/include/time.h: #define NULL as 0L.
+
+Mon May 9 18:41:20 1994 Doug Evans (dje@canuck.cygnus.com)
+
+ * host/any (INCLUDES): Delete -I of gcc/include, gcc -B takes
+ care of it.
+
+Mon May 9 18:39:39 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * libc/include/sys/signal.h: Check for __GO32__, not __i386__ and
+ not __unix__.
+
+Sat May 7 17:07:36 1994 Steve Chamberlain (sac@cygnus.com)
+
+ * configure.in (TARGET_CFLAGS): Set -O2 as default.
+ (z8k-*-*): Use syscalls fake sys dir.
+ * libc/sys/z8k/glue.c: Rename syscalls.
+ * libc/sys/go32/Makefile.in: Use new routines.
+ * libc/machine/Makefile.in: Fix typo in ln stuff.
+
+Thu May 5 13:47:48 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * Makefile.in (libm.a, crt0.o): Use cp if ln fails.
+ * libc/Makefile.in (crt0.o): Likewise.
+ * libc/machine/Makefile.in (lib.a): Likewise.
+ * libc/sys/Makefile.in (lib.a, crt0.o): Likewise.
+
+ All Makefile.in files: Added mostlyclean, realclean and distclean
+ targets.
+
+ * Makefile.in: Don't bother to unexport XTRAFLAGS or
+ XTRAFLAGS_FOR_TARGET, since they are no longer passed down from
+ the top level Makefile.
+
+Tue Apr 26 15:10:34 1994 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/sys/sparc64/sys/stat.h: New file.
+ * libc/sys/sparc64/sys/time.h: New file.
+ * libc/sys/sparc64/sys/types.h: New file.
+
+Fri Apr 22 12:58:24 1994 Stan Shebs (shebs@andros.cygnus.com)
+
+ * stub/ex93x/crt0.s (start): Add code to clear bss.
+
+Wed Apr 13 10:34:58 1994 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/include/sys/types.h (time_t): Properly protect inside
+ #ifndef __time_t_defined.
+
+ * libc/stdio/fileno.c: New file.
+ * libc/stdio/Makefile.in (OFILES, CHEWOUT_FILES): Add fileno.
+ (fileno.o): Add dependency.
+ * libc/include/stdio.h (__sgetc): Rename never to _never.
+ (fileno macro): Disable, needs to do CHECK_INIT first.
+
+Mon Apr 11 17:37:09 1994 Bill Cox (bill@rtl.cygnus.com)
+
+ * testsuite/Makefile.in (EXPECT, RUNTEST): Set these for the check
+ goal.
+
+ * testsuite/Makefile.in (check): Set TCL_LIBRARY for runtest.
+ * testsuite/libm.paranoia/Makefile.in (check): Set TCL_LIBRARY for
+ runtest.
+ * testsuite/libm.sac/Makefile.in (check): Set TCL_LIBRARY for
+ runtest.
+
+Sat Apr 9 16:18:09 1994 Doug Evans (dje@cygnus.com)
+
+ * libc/sys/sparc64/sys/fcntl.h: New file, define solaris versions
+ of the various constants.
+
+Thu Apr 7 21:19:07 1994 Mark Eichin (eichin@cygnus.com)
+
+ * libc/include/math.h: #ifndef __math_68881 around things which
+ conflict with the (gcc-provided) inline functions in
+ gcc/ginclude/math-68881.h.
+
+Thu Apr 7 02:50:43 1994 Doug Evans (dje@cygnus.com)
+
+ * libc/include/_syslist.h (_gettimeofday): Define.
+ (_times): Ditto.
+ * libc/include/reent.h: #include <machine/types.h> to get _CLOCK_T_.
+ (struct tms, timeval, timezone): Declare.
+ (_gettimeofday_r, _times_r): Declare.
+ * libc/include/time.h (_CLOCK_T_): Don't #undef. Remove
+ #ifdef _CLOCK_T_ surrounding definition of clock_t.
+ (time_t): Add multiple definition protection, __time_t_defined.
+ * libc/include/sys/time.h: Don't #include <time.h>.
+ Always define struct timezone (remove #ifndef _TIME_H_).
+ * libc/include/sys/times.h (_CLOCK_T_): Don't #undef. Remove
+ #ifdef _CLOCK_T_ surrounding definition of clock_t.
+ * libc/reent/Makefile.in (OFILES): Add timer.o.
+ (CHEWOUT_FILES): Add timer.def. Add timer.o/timer.c dependence.
+ * libc/reent/timer.c: New file.
+ * libc/time/clock.c: #include <reent.h>.
+ (clock): Call _times_r instead of times.
+ * libc/time/time.c (HAVE_GETTIMEOFDAY): Renamed from
+ HAVE_GET_TIME_OF_DAY.
+ Add comment regarding supporting OS routine(s) required (for docs).
+ #include <reent.h>.
+ (time): Call _gettimeofday_r instead of gettimeofday.
+ * libc/time/asctime.c: Fix comment regarding supporting OS routines.
+ * libc/time/ctime.c: Ditto.
+ * libc/time/strftime.c: Ditto.
+ * libc/sys/sparc64/Makefile.in (TEMPLATE_SFILES): Remove gettimeofday.
+ (TEMPLATE_SFILES_R): Define here. Also define times.
+ Add times_r.o/times.S dependence.
+ (time2.c, junk.c): Deleted.
+ * libc/sys/sparc64/time2.c: Deleted.
+ * configure.in (sparc64-*-*): Define HAVE_GETTIMEOFDAY.
+
+ * libc/stdio/mktemp.c (_getpid_r): Renamed from _getpid.
+ * libc/stdio/tmpnam.c (_getpid_r): Ditto.
+ * libc/sys/sparc64/junk.c: Deleted.
+
+Mon Mar 21 16:51:03 1994 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/sys/sparc64/Makefile.in: Add times syscall.
+ * libc/sys/sparc64/crt0.S: Handle stack bias at run time so we can
+ be used with and without it. Add comment clarifying Medium/Anywhere
+ model requirements.
+ * libc/sys/sparc64/sigsetjmp.S (setjmp, longjmp): Add svr4 support.
+ * libc/sys/sparc64/sys/syscall.h (SYS_times): Define for sunos4
+ even if obsolete.
+
+Sun Mar 20 15:51:47 1994 Doug Evans (dje@cygnus.com)
+
+ * configure.in (target_cflags): Move init.
+ (sparc64-*-*): Define HAVE_BLKSIZE.
+
+Wed Mar 9 10:44:52 1994 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/include/sys/_types.h: New file.
+ * libc/include/reent.h: #include it.
+ Add comment describing REENTRANT_SYSCALLS_PROVIDED and
+ MISSING_SYSCALL_NAMES.
+ Sort syscalls.
+ * libc/include/_syslist.h: Remove _raise.
+ * libc/reent/signalr.c: New file.
+ * libc/reent/Makefile.in: Compile it.
+ * libc/signal/signal.c: Only use ifdef SIMULATED_SIGNALS.
+ Add doc for raise and _raise_r.
+ * libc/signal/raise.c: Only use ifndef SIMULATED_SIGNALS.
+ (raise): Call _raise_r.
+ (_raise_r): Call _getpid_r and _kill_r.
+ * libc/stdlib/abort.c: Remove inclusion of stdio.h and _syslist.h.
+ (abort): Loop forever calling raise and _exit.
+
+Mon Mar 7 14:40:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * configure.in: Remove extraneous echo.
+
+Thu Mar 3 12:14:22 1994 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/sys/sparc64/sys/dirent.h (MAXNAMLEN): #undef to avoid
+ collision with unistd.h, and fix for svr4.
+
+Wed Mar 2 13:55:25 1994 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/stdio/local.h (_llicvt): Declare.
+ (CVT_BUF_SIZE): Define (and buffer size from 512 to 128).
+ * libc/stdio/cvt.c: Include "local.h" to get CVT_BUF_SIZE.
+ (_llicvt): Define.
+ (_sicvt): Fix function header (`value' is short).
+ * libc/stdio/vfprintf.c (_vfprintf_r): Use CVT_BUF_SIZE.
+ Add printing of long long's support.
+ Add printing of 8 byte pointer support.
+
+Fri Feb 11 21:52:11 1994 Steve Chamberlain (sac@sphagnum.cygnus.com)
+
+ * libc/sys/sh/syscalls.c (pipe, execv, wait, fork, utime, chown,
+ stat, chmod): New hooks.
+ (sbrk): Abort if stack and heap collide.
+ * libc/machine/sh/udivsi3, libc/machine/sh/sdivsi3 Modified to
+ shortcut when given small args.
+ * libc/machine/sh/setjmp.s: Rewritten.
+ * libc/machine/sh/strcmp.s (strcmp): New function takes advantage
+ of cmp/str instruction.
+
+Wed Feb 9 15:12:35 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * configure.in: Accept powerpc* as a CPU type, using fp_dir ieeefp
+ and machine_dir powerpc.
+ * libc/include/machine/setjmp.h, libc/include/machine/ieeefp.h:
+ Add cases for __powerpc__.
+ * libc/machine/powerpc/Makefile.in, libc/machine/powerpc/setjmp.S:
+ New files.
+
+ * libc/include/stdio.h (_iprintf_r): Declare correctly.
+
+Thu Jan 27 10:36:27 1994 Steve Chamberlain (sac@cygnus.com)
+
+ * libc/stdlib/callocr.c: New file with _calloc_r in it.
+ * libc/stdlib/calloc.c (calloc_r): Now in callocr.c
+
+Thu Jan 20 15:14:37 1994 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/stdlib/ecvtbuf.c (print_f): Remove local "done".
+ (print_e): More comments to describe args, etc.
+ "type" arg may now be 'g' or 'G' for %g/G format --> remove
+ trailing blanks.
+ (_gcvt): Remove locals decpt, sign, end, p, done.
+ More comments for print_e invocation.
+ Pass "type" to print_e as is (g/G).
+
+Wed Jan 19 16:34:18 1994 Rob Savoye (rob@darkstar.cygnus.com)
+
+ * stub/shared/m68k-crt0.S: Changed so it compiles (and runs) on a
+ stock m68000.
+
+Mon Jan 17 15:41:53 1994 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/stdlib/mallocr.c (_morecore_r): Fix aligning of pointer so it
+ works with any sized pointer, including ones bigger than ints and
+ longs.
+
+Thu Jan 6 14:53:21 1994 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/sys/sparc64/{time2.c,utime.S,utime2.c}: New files.
+
+Sat Dec 11 16:17:20 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * libc/include/stdlib.h (_calloc_r): Add prototype.
+ * libc/machine/h8500/negsi2.c: New file.
+ * libc/machine/h8500/divsi3.c: Prevent overflow when dividing v
+ large unsigned numbers.
+ * libc/machine/h8500/cmpsi.c: Add cmppsi.
+ * libc/stdlib/mallocr.c (morecore_r): Fix aligning pointers so it
+ works when sizeof(size_t) != sizeof(char *).
+ * libc/stdlib/mprec.c (Balloc): Call calloc rather than malloc to
+ get play area
+ * libc/stdlib/mprec.h: Define Just_16 if generating for z8000.
+
+Mon Dec 6 15:59:53 1993 Doug Evans (dje@rtl.cygnus.com)
+
+ * libc/include/assert.h (assert): Handle -traditional.
+
+Tue Nov 16 15:49:24 1993 Mark Eichin (eichin@cygnus.com)
+
+ * Makefile.in: added ; after every "fi" and "done" that wasn't at
+ the end of a line (ie. anything before a backslash continuation)
+ so that bash handles them.
+
+Tue Nov 16 12:31:57 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
+
+ * libc/sys/go32/lstat.s: new file, copied from stat.s and renamed
+ stat to lstat
+
+Mon Nov 15 15:50:43 1993 Steve Chamberlain (sac@jonny.cygnus.com)
+
+ * libc/sys/sh/crt0.s, libc/sys/sh/trap.s,
+ libc/machine/sh/sdivsi3.s, libc/machine/sh/setjmp.s,
+ libc/machine/sh/udivsi3.s: Use new calling convention.
+
+Mon Nov 15 15:25:38 1993 Mark Eichin (eichin@cygnus.com)
+
+ * libc/include/sys/unistd.h, libc/include/sys/stat.h: ANSI-fy
+ chmod, access, chdir, chown by making _path const. Also fix _amode
+ param of access.
+
+Fri Nov 12 20:25:28 1993 Mark Eichin (eichin@cygnus.com)
+
+ * libc/sys/a29khif/_tmpnam.s (_tmpnam): renamed function to
+ _khif_tmpnam, because it doesn't comply with ANSI but may be
+ useful anyway. Real tmpnam was already in libc/stdio, and was
+ colliding with this one (pr 2176.)
+ * libc/sys/a29khif/stubs.s (tmpnam): removed tmpnam. This file is
+ the wrong idea anyhow.
+
+Mon Nov 8 07:50:16 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * configure.in: Remove h8300h, we have multilib now.
+
+Fri Nov 5 12:37:27 1993 Mark Eichin (eichin@cygnus.com)
+
+ * libc/string/strcasecmp.c, libc/string/strncasecmp.c: new
+ functions, to get preference over the ones in libiberty (since we
+ provide correct declarations in <string.h>.
+ * libc/string/Makefile.in: add support for strncasecmp,
+ strcasecmp.
+
+Fri Nov 5 09:05:45 1993 D. V. Henkel-Wallace (gumby@blues.cygnus.com)
+
+ * Change netware config not to look for cpu explicitly.
+
+Thu Nov 4 14:21:25 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/sys/sparc64/{creat.c,junk.c}: New files.
+ * libc/sys/sparc64/Makefile.in: Add dependencies.
+
+Wed Nov 3 10:42:49 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * configure.in: Clean up v9 a bit, new "os" aoutv8.
+
+Tue Nov 2 10:00:44 1993 D. V. Henkel-Wallace (gumby@cygnus.com)
+
+ * libc/include/sys/reent.h: make structure smaller by allocating
+ some stuff when needed.
+ * libc/signal/signal.c: allocate as needed
+ * libc/stdio/findfp.c,stdio/local.h: ditto
+ * libc/stdlib/mprec.c: ditto
+
+ * libc/time/localtime.c: don't return a dangling stack ptr.
+
+Wed Sep 29 20:42:34 1993 Rob Savoye (rob@darkstar.cygnus.com)
+
+ * stub/mvme135/crt0.S, stub/mvme135/glue.c: Moved to stub/generic.
+
+Wed Sep 29 16:27:49 1993 K. Richard Pixley (rich@sendai.cygnus.com)
+
+ * libc/include/stdio.h (__sputc): comment out static inline which
+ confuses coff toolchains.
+
+Thu Sep 2 16:31:36 1993 Mark Eichin (eichin@cygnus.com)
+
+ * libc/sys/a29khif/{_close.s, _fstat.s, _lseek.s, _sbrk.s,
+ _write.s, getpid.c, kill.c, read.s}:
+ * libc/sys/a29khif/stubs.s: eliminated stubs that already go
+ through the syscalls directory.
+
+Fri Oct 29 13:59:58 1993 Jeffrey Wheat (cassidy@cygnus.com)
+
+ * configure.in: fixed double quote gotcha.
+
+Wed Oct 27 15:27:09 1993 Rob Savoye (rob@darkstar.cygnus.com)
+
+ * stub/ex931: stub library for sparclite board.
+ * stub/idp: Renamed from mc68ec. Added contructor table
+ stuff to linker script.
+ * stub/mvme135: Renamed from m68kmvme. Added contructor table
+ stuff to linker script.
+
+Tue Oct 26 17:01:23 1993 K. Richard Pixley (rich@sendai.cygnus.com)
+
+ * configure.in: Configure testsuites only if they exist.
+
+Tue Oct 26 12:37:11 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * configure.in: Don't set machine_dir for i386 until there is
+ something in libc/machine/i386 to compile. For i[34]86-*-netware*
+ use sys/netware, don't use signal, define NO_EXEC, ABORT_PROVIDED,
+ CLOCK_PROVIDED and MALLOC_PROVIDED.
+
+ * libc/sys/netware: New directory. Contains simplistic and
+ probably incorrect stubs for NetWare. Should be enough to load
+ the library.
+ * libc/sys/netware/crt0.c, libc/sys/netware/environ.c,
+ libc/sys/netware/getpid.c, libc/sys/netware/link.c: New NetWare
+ stub files.
+
+ * libc/reent/execr.c: Don't use if NO_EXEC is defined.
+ * libc/reent/sbrkr.c: Don't use if MALLOC_PROVIDED is defined.
+ * libc/stdlib/abort.c: Don't use if ABORT_PROVIDED is defined.
+ * libc/time/clock.c: Don't use if CLOCK_PROVIDED is defined.
+
+Mon Oct 25 16:48:08 1993 Roland H. Pesch (pesch@cygnus.com)
+
+ * testsuite/Makefile.in: add "docs" dummy target for consistency
+ with rest of newlib; turn "info" and "install-info" into dummy
+ targets, since they wouldn't have worked. (Depended on
+ nonexistent "doc" subdir.)
+
+Fri Oct 22 20:37:32 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
+
+ * configure.in: handle mips* instead of mips
+
+Thu Oct 21 08:57:24 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/include/sys/dirent.h: New file. If it is not overridden by
+ a version of libc/sys/*/sys/dirent.h, it includes the next
+ <dirent.h> file in case there is one lurking somewhere.
+
+Fri Oct 15 14:17:40 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * libc/stdlib/strtoul.c (_strtoul_r): Several changes for ANSI
+ compliance, namely: Accept a minus sign. Consider a single 0 with
+ a radix of 0 as being a conversion. Determine overflow correctly.
+ If an overflow occurs, set *ptr to the end of the number, not the
+ middle.
+ * lib/stdlib/strtol.c (_strtol_r): Determine overflow correctly.
+
+Thu Oct 14 21:49:52 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/machine/h8300/divsi3.S (divmodsi4): Fix h8300h case.
+
+Fri Oct 1 17:17:34 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * Makefile.in (INSTALL): Use $srcrootpre.
+ (crt0.o): Replace $< with $(CRT0_DIR)/$(CRT0), Sun make
+ can't handle it.
+ * libc/Makefile.in (crt0.o): Spell out $<, Sun make can't handle
+ it.
+ * libc/sys/Makefile.in (crt0.o, lib.a): Ditto.
+ * stub/Makefile.in (crt0.o, TARGETLIB): Ditto.
+ * libc/sys/sparc64/Makefile.in (isatty.o): Sun VPATH lossage.
+ * libm/math/Makefile.in (matherr.o): Ditto.
+
+Thu Sep 30 11:09:17 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
+
+ * configure.in: Build multidirs for z8k.
+ * libc/include/stdlib.h (_strtoul_r): add prototype.
+ * libc/include/machine/limits.h: Get INT_MIN right for all the z8k family.
+ * libc/include/machine/setjmp.h: Add for z8k.
+ * libc/machine/z8k/{mulsi.o, udivsi3.o, umodsi3.o, modsi3.o} obsolete.
+ * libc/sys/z8ksim/glue.c: tidy up.
+
+Mon Sep 20 14:04:46 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/unix/{execl.c execle.c execlp.c execv.c execvp.c}:
+ New files. Requires execve system call.
+ * libc/unix/Makefile.in: Use them.
+ * libc/sys/sparc64/{execl.c execle.c execlp.c execv.c execvp.c}:
+ Deleted, moved to libc/unix.
+ * libc/sys/sparc64/Makefile.in: Remove them.
+
+Mon Sep 20 10:38:32 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/sys/sparc64/{template.S template_r.S}: New files.
+ * libc/sys/sparc64/Makefile.in: Build source for trivial syscalls
+ from templates.
+ * libc/sys/sparc64/{chdir.S chmod.S close.S dup.S fcntl.S
+ fork.S fstat.S lseek.S link.S mkdir.S open.S pipe.S read.S rmdir.S
+ umask.S unlink.S wait4.S write.S}: Removed, now built from
+ templates.
+
+Sun Sep 19 14:52:57 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/time/time.c: #include <_ansi.h>.
+
+Sun Sep 19 13:43:25 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * configure.in (sparc64-*-*): Remove -D__SIZE_TYPE__.
+
+Mon Sep 13 13:52:16 1993 K. Richard Pixley (rich@sendai.cygnus.com)
+
+ * configure.in: match m8* rather than m88k so that m88110 is
+ recognized as well.
+
+Tue Sep 7 12:19:32 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/sys/h8300hms/{Makefile.in, _exit.c, misc.c}:
+ Renamed exit.c to _exit.c to avoid collision with stdlib/exit.c.
+ misc.c: New file.
+
+ * configure.in: Add multilib support to h8300.
+
+Mon Sep 6 14:07:06 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/stdlib/abort.c (abort): Remove _VOLATILE from return type.
+ * libc/include/_ansi.h (_ATTRIBUTE): New macro for __attribute__.
+ * libc/include/stdlib.h (exit, abort): Add noreturn attribute.
+
+Mon Sep 6 14:24:18 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * configure.in: Corrected multidirs for sparc target.
+
+Mon Aug 30 15:56:44 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ Support for building newlib multiple times with different
+ compilation flags.
+ * configure.in: Only configure doc at top level. Set multidirs
+ when appropriate for target, unless not at top level. If
+ multidirs is set, independently configure each subdirectory.
+ Adjust TOP, MULTIDIRS and MULTISUBDIR appropriately in Makefile.
+ * Makefile.in (MULTIDIRS, MULTISUBDIR): New variables,
+ automagically set by configure.in.
+ (all): If MULTIDIRS is set, build multiple copies of libraries.
+ (install): If MULTIDIRS is set, install multiple copies of
+ libraries. Install in $(tooldir)/lib/$(MULTISUBDIR). If
+ MULTISUBDIR is set, don't bother to install header files.
+ * host/any (INCLUDES, CHEW): Use $(SRCTOP) rather than $(TOP) from
+ ${srcrootpre}.
+ * stub/configure.in: Set MULTISUBDIR appropriately.
+ * stub/Makefile.in (install): Install in
+ $(tooldir)/lib/$(MULTISUBDIR).
+ * All Makefile.in files: Define SRCTOP as well as TOP.
+
+Mon Aug 30 10:34:24 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/machine/h8300/{mulhi3.S, divhi3.S}: Comment out if h8300h.
+ * libc/machine/h8300/{mulsi3.S, divsi3.S}: Add h8300h support.
+
+Thu Aug 26 19:38:12 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/sys/h8300hms/exit.c (_exit): New function.
+
+Wed Aug 25 16:31:48 1993 K. Richard Pixley (rich@sendai.cygnus.com)
+
+ * configure.in: recognize m88110.
+
+Fri Aug 20 16:46:23 1993 K. Richard Pixley (rich@sendai.cygnus.com)
+
+ * libc/sys/m88kbug/crt0.c: pretty up, remove extraneous comments,
+ prototype main and call with args.
+
+Fri Jul 30 16:52:47 1993 K. Richard Pixley (rich@cygnus.com)
+
+ First real try at system traps for m88k-bug.
+ * libc/sys/m88kbug/syscalls.c: many changes. Convert from stubs
+ to real trap calls.
+ * libc/sys/m88kbug/sys/systraps.h: new file.
+
+Tue Jul 27 16:31:16 1993 K. Richard Pixley (rich@sendai.cygnus.com)
+
+ Patches to fix info building when target does not use sys
+ directory.
+ * libc/Makefile.in (targetdep.tex): add sys.tex separately.
+ * libc/sys.tex, libc/sys/sys.tex: moved from libc/sys/sys.tex to
+ libc/sys.tex.
+ * libc/sys/Makefile.in (doc): do nothing.
+
+Mon Jul 26 17:08:11 1993 K. Richard Pixley (rich@sendai.cygnus.com)
+
+ * libc/Makefile.in (CRT0): new macro.
+ (all): depend on $(CRT0) rather than crt0.o.
+
+ * configure.in: fix libc_sys_dir -> libc_sys_lib thinko.
+ do not default crt0, instead, set crt0 and crt0_dir based on
+ sys_dir and stub_dir.
+
+ * Makefile.in (CRT0_DIR): new macro.
+ (all): depend on $(CRT0) rather than crt0.o which may not exist.
+ (crt0.o): depend on $(CRT0_DIR)/$(CRT0) rather than simply
+ $(CRT0).
+ ($(CRT0)): recur by cd'ing into $(CRT0_DIR).
+
+Sun Jul 25 17:51:51 MDT 1993 Jeffrey Wheat (cassidy@cygnus.com)
+
+ * testsuite/lib/libm.exp:
+ added code to support compiling and linking of tests for
+ libm.sac (paranoia to be added next) and processing the
+ pass or failure of the tests.
+
+ * testsuite/config/unix-libm.exp:
+ platform specific proc's for dealing with compiler, linker
+ and the way we execute and process the test results.
+
+ * testsuite/libm.sac/execute.exp:
+ generic framework for the sac tests. the config and lib
+ expect code for specific platforms tie it all together.
+
+ * testsuite/libm.sac/test_is.c:
+ changed the output of the test to be consistant with the
+ other tests. parsing of pass nad fail messages is now fixed.
+
+Fri Jul 23 19:20:07 1993 Per Bothner (bothner@kalessin)
+
+ * libc/include/{assert.h, ctype.h, dirent.h, errno.h, fastmath.h,
+ locale.h, math.h, pwd.h, reent.h, setjmp.h, signal.h, stdio.h,
+ stdlib.h, string.h, termios.h, time.h, utime.h, utmp.h}: For C++:
+ #ifdef __cplusplus, surround by extern ""C { ... }.
+ * libc/include/assert.h: Do *not* protect assert.h against
+ multiple inclusion! Also, #undef it before #define, to allow
+ redefinition.
+ * libc/include/stdio.h (getlogin, cuserid): Removed. These
+ should be only in unistd.h.
+
+ * libc/include/sys/{fcntl.h, reent.h, stat.h, time.h, times.h,
+ unistd.h}: For C++: #ifdef __cplusplus, surround by extern ""C {
+ ... }.
+
+Fri Jul 23 10:15:33 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/machine/sparc/Makefile.in: Must create a library, even
+ if empty.
+
+Wed Jul 21 16:00:37 1993 K. Richard Pixley (rich@sendai.cygnus.com)
+
+ * configure.in: set machine_dir for m88k. edit crt0 definition
+ into makefiles.
+
+ * Makefile.in, libc/Makefile.in (crt0): pull up from lower directories.
+
+ * libc/Makefile.in (all): also build crt0.o.
+
+ * libc/machine/i386/Makefile.in, libc/machine/sparc/Makefile.in,
+ libc/machine/z8k/Makefile.in, libm/Makefile.in (clean): no need
+ to remove CRT0.
+
+ * libc/machine/m88k/Makefile.in (TOP, TARGETLIB): removed.
+ (all): reworked to build in place.
+ (clean): remove lib.a
+ (Makefile): remove redundant ./, call $(SHELL) rather than sh.
+
+ * libc/sys/m88kbug/crt0.c (start): renamed to _start.
+ (_start): key off edata rather than _start_bss.
+
+Wed Jul 21 14:29:47 1993 david d `zoo' zuhn (zoo@cygnus.com)
+
+ * libc/include/sys/unistd.h, libc/include/reent.h,
+ libc/reent/sbrkr.c: change sbrk to return void* instead of char*.
+
+Tue Jul 20 13:19:18 1993 K. Richard Pixley (rich@sendai.cygnus.com)
+
+ * libm/Makefile.in, libc/Makefile.in ($(SUBDIRS)): dollar escape a dollar sign.
+
+ * Makefile.in (libc.a): break into two rules, one for libc.a and
+ one for libc/libc.a. Force subdirs current before rebuilding
+ library.
+ (libm.a): break into two rules, one for libm.a and one for
+ libm/libm.a. Force subdirs current before rebuilding library.
+
+ * libc/Makefile.in (SUBLIBS): fix typo.
+
+ * libc/sys/Makefile.in (all): force descent into subdirs, then
+ rebuild library iff out of of date.
+
+Fri Jul 16 17:47:57 1993 K. Richard Pixley (rich@sendai.cygnus.com)
+
+ Rework so that library is built and then finished rather than
+ being built on each invocation of make.
+
+ * host/any (machine_dir, sys_dir, signal_dir): these are not
+ shared and have been moved to their associated Makefile.in's.
+ (AR_FLAGS): switch to qc which is faster.
+ * configure.in: no longer assign machine_dir for m88k. set
+ stub_dir, stub_lib, & crt0 for m68k*-unknown-{aout,coff}. If
+ stub_dir set, then add to configdirs. add comment about silly
+ configuration.
+ (configdirs): drop stub. It will be added only
+ when needed.
+ (libm_fp_lib, libc_unix_lib, libc_signal_lib, libc_machine_lib,
+ libc_sys_dir, fake_sys_dir, libc_fake_sys_lib, stub_dir,
+ stub_lib, crt0): new variables for tailoring lower level
+ makefiles. Assign accordingly and edit into makefiles.
+ * libm/Makefile.in: updated copyright.
+ (TARGETLIB): removed.
+ (FLAGS_TO_PASS): removed TARGETLIB, machine_dir, sys_dir.
+ (SUBDIRS): removed TARGETDEP_DIRS.
+ (LIBM_FP_LIB, SUBLIBS): new macros.
+ (all): reworked.
+ (force): new target to force rebuilds.
+ (Makefile): call $(SHELL) rather than sh. drop redundant ./
+ * libc/sys/a29khif/Makefile.in, libc/sys/decstation/Makefile.in,
+ libc/sys/go32/Makefile.in, libc/sys/h8300hms/Makefile.in,
+ libc/sys/h8500hms/Makefile.in, libc/sys/m88kbug/Makefile.in,
+ libc/sys/sh/Makefile.in, libc/sys/sparc64/Makefile.in,
+ libc/sys/sun4/Makefile.in, libc/sys/sysvi386/Makefile.in,
+ libc/sys/sysvnecv70/Makefile.in, libc/sys/z8ksim/Makefile.in,
+ stub/m68kmvme/Makefile.in: updated copyright.
+ (TARGETLIB, TARGETCRT0, CRT0): macros removed.
+ (all): reworked. made this the default rule.
+ (clean): also remove lib.a.
+ (Makefile): call $(SHELL) rather than sh. drop redundant ./
+ * stub/Makefile.in: updated copyright.
+ (TARGETLIB, TARGETCRT0, CRT0, TOP): removed.
+ (stub_lib): new macro.
+ (FLAGS_TO_PASS): removed TARGETLIB, stub_dir, TARGETCRT0. Added
+ RANLIB.
+ (all): reworked.
+ (clean, install): assume stub_dir exists.
+ (Makefile): depend on configure.in. call $(SHELL) rather than
+ sh. drop redundant ./
+ * stub/configure.in (stublib): new macro, assign it, edit it into
+ makefiles.
+ * Makefile, libc/Makefile.in, doc/Makefile.in, libc/sys/Makefile.in:
+ updated copyright.
+ (all): reworked.
+ (Makefile): call $(SHELL) rather than sh. drop redundant ./
+ * libc/Makefile.in (TARGETCRT0): removed.
+ (FLAGS_TO_PASS): dropped TARGETLIB, machine_dir, sys_dir,
+ TARGETCRT0.
+ (SUBDIRS): drop TARGETDEP_DIRS.
+ (LIBC_SIGNAL_LIB, LIBC_SYS_LIB, LIBC_MACHINE_LIB, LIBC_UNIX_LIB,
+ LIBC_FAKE_SYS_LIB, SUBLIBS): new macros for configuration.
+ (force): new target to force rebuilds.
+ * libc/sys/Makefile.in (TARGETCRT0, sys_dir): removed.
+ (FLAGS_TO_PASS): TARGETLIB, machine_dir, sys_dir, TARGETCRT0
+ removed.
+ (clean): assume sys_dir always exists.
+ * libm/test/Makefile.in (Makefile): call $(SHELL) rather than sh.
+ drop redundant ./
+ * libc/ctype/Makefile.in, libc/errno/Makefile.in,
+ libc/locale/Makefile.in, libc/machine/Makefile.in,
+ libc/machine/a29k/Makefile.in, libc/machine/h8300/Makefile.in,
+ libc/machine/h8500/Makefile.in, libc/machine/i386/Makefile.in,
+ libc/machine/i960/Makefile.in, libc/machine/m68k/Makefile.in,
+ libc/machine/mips/Makefile.in, libc/machine/necv70/Makefile.in,
+ libc/machine/sh/Makefile.in, libc/machine/sparc/Makefile.in,
+ libc/machine/z8k/Makefile.in, libc/reent/Makefile.in,
+ libc/signal/Makefile.in, libc/stdio/Makefile.in,
+ libc/stdlib/Makefile.in, libc/string/Makefile.in,
+ libc/sys/Makefile.in, libc/syscalls/Makefile.in,
+ libc/time/Makefile.in, libc/unix/Makefile.in,
+ libm/ieeefp/Makefile.in, libm/math/Makefile.in: updated copyright.
+ (TARGETLIB): removed.
+ (all): reworked.
+ (clean): also remove lib.a.
+ (Makefile): call $(SHELL) rather than sh. drop redundant ./
+ * Makefile.in: (machine_dir, sys_dir, stub_dir, stub_lib, CRT0):
+ new macros.
+ (SUBDIRS): moved to follow frag inclusion, change stub to
+ stub_dir.
+ (FLAGS_TO_PASS): removed machine_dir, sys_dir, signal_dir which
+ are now set in the libc Makefile.
+ * libc/machine/Makefile.in (TARGETCRT0, machine_dir): removed.
+ (FLAGS_TO_PASS): removed TARGETLIB, machine_dir, sys_dir,
+ TARGETCRT0.
+ (force): new target to force rebuilds.
+ * stub/configure.in: determine and set stub_lib for for Makefile.
+
+Thu Jul 15 12:01:27 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/sys/h8300hms/Makefile.in: Make `all' the default target.
+ crt0.s renamed to crt0.S.
+ * libc/sys/h8300hms/crt0.S: Add h8/300h support.
+
+ * libc/machine/h8300/Makefile.in: Make `all' the default target.
+ * libc/machine/h8300/{cmpsi.S,ucmpsi.S}: #ifdef out entire file if
+ h8300h.
+ * libc/machine/h8300/defines.h: Add macros to handle pointers for
+ h8300 (16 bits) and h8300h (32 bits).
+ * libc/machine/h8300/{divsi3.S,mulsi3.S,memcpy.S,memset.S,
+ reg_memcpy.S,reg_memset.S,strcmp.S}: Add h8300h support.
+
+Thu Jul 15 10:13:29 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/machine/m88k/setjmp.S, Makefile.in: New files; a simple
+ implementation of setjmp and longjmp for the m88k.
+ * libc/include/machine/setjmp.h: Added __m88000__ case.
+
+Wed Jul 14 10:10:30 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * configure.in: Recognize h8300h as variant of h8300.
+
+Tue Jul 13 12:24:11 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
+
+ * libc/include/sys/unistd.h (read, write): get prototypes right.
+ (sbrk): New prototype.
+ * libc/reent/sbrkr.c (sbrkr): Use correct sbrk prototype.
+ * libc/stdio/local.h: Include unistd.h.
+ * libc/machine/h8300/syscalls.c: Names have changed.
+
+Mon Jul 12 18:08:42 1993 K. Richard Pixley (rich@cygnus.com)
+
+ * configure.in: add sys_dir assignment for m88k-bug.
+
+Thu Jul 8 09:16:21 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/sys/sparc64/sys/syscallasm.h: New macros to handle either
+ a.out or elf.
+ * libc/sys/sparc64: all *.S files: Use new macros.
+ * libc/sys/sparc64/isatty.c: New file.
+ * libc/sys/sparc64/Makefile.in: Stop using /lib/libc.a for
+ functions beyond what newlib provides.
+
+Thu Jul 8 09:11:28 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/include/sys/stat.h: Move st_atime so not doubly defined for
+ svr4.
+
+Thu Jul 8 09:09:16 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/include/machine/ieeefp.h: Add support for h8/300h.
+
+Fri Jul 2 10:11:20 1993 K. Richard Pixley (rich@cygnus.com)
+
+ * configure.in: add m88k.
+ * libc/include/machine/ieeefp.h: add case for m88k. Also add
+ sanity check so no one else need ever chase what I did to find
+ this.
+
+ * libm/math/Makefile.in (FAKEC): added atanf.c log1pf.c scalbnf.c.
+
+Fri Jul 2 09:15:21 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * doc/makedoc.c: Include <ctype.h>.
+
+Wed Jun 30 09:35:06 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/Makefile.in (FLAGS_TO_PASS): Add TARGET_ASFLAGS.
+ * libc/sys/Makefile.in (FLAGS_TO_PASS): Add TARGET_ASFLAGS.
+ * libc/machine/Makefile.in (FLAGS_TO_PASS): Add TARGET_ASFLAGS.
+
+ * libm/test/Makefile.in (all): Link with ../../lib[cm].a.
+
+Sun Jun 27 17:05:20 1993 Doug Evans (dje@sphagnum.cygnus.com)
+
+ * libc/include/errno.h (ENOSYS): Added.
+
+ * libc/unix/getpwd.c (getcwd): Fix typo (_up -> up).
+
+Mon Jun 21 09:03:32 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
+
+ * libc/stdio/fflush.c (fflush): Check for reent struct
+ initialization.
+ * libc/stdio/fdopen.c (fdopen): Avoid namespace conflict.
+
+Fri Jun 18 16:06:05 1993 Mark Eichin (eichin@rtl.cygnus.com)
+
+ * libc/stdlib/dtoastub.c: new file -- move user callable "dtoa"
+ out of dtoa.c so it doesn't pollute the namespace.
+ * libc/include/_syslist.h: new file -- mappings from _function to
+ function, for systems where we can't win (by default, all of them,
+ until we start updating system calls.)
+ * libc/syscalls: new directory -- stubs for exporting _function
+ names as unmodified function names.
+ * libc/configure.in: add MISSING_SYSCALL_NAMES to enable
+ _syslist.h on all platforms by default, but put hooks in for
+ fake_sys_dir so we can include it when we've renamed the system
+ calls.
+ * libc/reent/execr.c libc/reent/filer.c libc/reent/fstatr.c
+ libc/reent/linkr.c libc/reent/sbrkr.c libc/reent/statr.c
+ libc/signal/raise.c libc/signal/signal.c libc/stdio/fdopen.c
+ libc/stdio/mktemp.c libc/stdio/tmpnam.c libc/stdlib/abort.c
+ libc/stdlib/system.c libc/unix/getcwd.c libc/unix/getlogin.c
+ libc/unix/getpass.c libc/unix/getut.c libc/unix/ttyname.c: change
+ non ANSI functions to call _function.
+
+Wed Jun 9 09:48:26 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/stdlib/strtoul.c (_strtoul_r): Handle leading 0 correctly
+ when base 16 is specified. Don't accept non-digits if radix > 10.
+
+Thu Jun 3 10:01:15 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/include/math.h: Rename xxx_r fns to _xxx_r.
+
+Wed Jun 2 16:54:16 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
+
+ * libc/include/sys/stat.h: Surround text after #endif with
+ comments.
+
+Wed Jun 2 12:47:32 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/stdlib/mallocr.c: If MALLOC_PROVIDED is defined, just make
+ _malloc_r, _realloc_r, and free_r call the corresponding
+ non-reentrant functions.
+
+ * libm/math/modf.c (modf): We now take the address of ipart, so
+ don't make it a register variable.
+
+Tue Jun 1 18:25:54 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libm/math/*: Rename all xxx_r fns to _xxx_r.
+
+Wed May 26 22:06:35 1993 Roland H. Pesch (pesch@cygnus.com)
+
+ * libc/libc.texinfo and embedded docn throughout: formatting
+ improvements, minor rephrasing for clarity, and improved
+ reentrancy docn.
+
+Sun May 23 17:29:49 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * libm/ieeefp/infinity.c (maxpowtwof): Fix initialzation bug.
+
+ * libc/stdio/cvt.c (_licvt): Print the right value on machines
+ where sizeof(int) != sizeof(long).
+
+Fri May 21 22:09:32 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
+
+ * libc/reent/execr.c, libc/reent/filer.c, libc/reent/linkr.c,
+ libc/reent/sbrkr.c, libc/reent/statr.c, libc/stdio/tmpnam.c,
+ libc/stdlib/atol.c, libc/stdlib/rand.c, libc/string/strpbrk.c,
+ libc/string/strspn.c, libm/ieeefp/isnan.c, libm/math/bessel.c,
+ libm/math/matherr.c: changes for better docn formatting (info).
+
+ * libc/libc.texinfo, libc/ctype/ctype.tex, libc/locale/locale/tex,
+ libc/reent/reent.tex, libc/signal/signal.tex,
+ libc/stdio/stdio.tex, libc/stdlib/stdlib.tex,
+ libc/string/strings.tex, libc/sys/sys.tex, libc/time/time.tex,
+ libm/libm.texinfo, libm/ieeefp/ieeefp.tex, libm/math/math.tex: use
+ makeinfo node defaulting to get better Info file node structure.
+ (Requires recent sac change to doc/makedoc.c and doc/doc.str.)
+ Also include a few formerly missing sections (subroutines).
+
+ * doc/doc.str: delete fossil expansion for "func"
+
+ * default.menu, no-signal.menu: delete.
+
+ * Makefile.in, libc/Makefile.in, configure.in, host/any: simplify
+ method used to adjust doc for missing "signals" chapter when
+ signal_dir is empty.
+
+Thu May 20 21:38:37 MDT 1993 Jeffrey Wheat (cassidy@cygnus.com)
+
+ * configure.in: added testsuite/libm.sac
+
+Wed May 19 14:52:34 1993 Doug Evans (dje@thepub.cygnus.com)
+
+ * libc/sys/sparc64/crt0.S: Set %g4 to 0 (to test Medium/Anywhere
+ code model).
+
+Tue May 18 13:17:21 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * libm/Makefile.in: Use $(MAKE) rather than make, and define
+ MAKEOVERRIDES to be empty.
+
+Mon May 17 08:42:44 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * configure.in: Don't build mips-*-* with -msoft-float, since that
+ makes it incompatible with hard floating point.
+
+Mon May 17 00:03:35 MDT 1993 Jeffrey Wheat (cassidy@cygnus.com)
+
+ * Makefile.in: added recursive 'make check'
+
+Thu May 13 16:24:18 MDT 1993 Jeffrey Wheat (cassidy@cygnus.com)
+
+ * configure.in: added ./testsuite ./testsuite/libm.paranoia
+ * ./testsuite/Makefile.in: created
+ * ./testsuite/libm.paranoia: paranoia tests added
+
+Thu May 13 10:30:24 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * configure.in: For mips-*-* set machine_dir to mips.
+
+ * libc/machine/mips: New directory.
+ * libc/machine/mips/Makefile.in: New file.
+ * libc/machine/mips/setjmp.S: New file; simplistic MIPS version of
+ setjmp and longjmp.
+ * libc/include/machine/setjmp.h: Added __mips__ case.
+
+ * libc/machine/lmips: Removed unused and useless directory.
+
+Mon May 3 10:22:31 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * configure.in: Accept i486-*-sco* as well as i386-*-sco*.
+
+Thu Apr 15 15:16:44 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/sys/sparc64/crt0.S: Add comment (%g1 contains atexit arg at
+ start up).
+
+Fri Apr 9 13:32:26 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/include/machine/setjmp-dj.h: Use _SETJMP_DJ_H rather than
+ SETJMP_H.
+
+Thu Apr 8 10:07:18 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libm/test/convert.c: structure member errno -> errno_val.
+ Must include <errno.h> to use errno, it's a macro now.
+ * libm/test/math.c: Ditto.
+ * libm/test/math2.c: Include errno.h.
+ * libm/test/string.c: Ditto.
+ * libm/test/test.h: structure member errno -> errno_val.
+ Remove extern int errno decl.
+
+Thu Apr 8 07:56:33 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/stdio/Makefile.in: Added dependencies on local header
+ files.
+ * libc/stdio/std.h, libc/stdio/vfprintf.h: Removed unused header
+ files.
+
+Wed Apr 7 16:19:32 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/include/machine/ieeefp.h: Added __MIPSEB__ case.
+
+Wed Apr 7 10:55:21 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/stdio/siprintf.c libc/stdio/sscanf.c libc/stdio/vsprintf.c:
+ Initialize _data.
+
+ * libc/stdio/vfprintf.c: No need to declare _icvt, _licvt, _sicvt.
+ * libc/stdio/local.h: Add prototype for _licvt.
+
+ * libc/stdio/ungetc.c (__submore): Use _malloc_r,_realloc_r
+ instead of malloc,reealloc.
+
+ * libc/stdlib/local.h: New file.
+ * libc/stdlib/efgcvt.c: #include local.h.
+ (gcvt): Fix call to _gcvt.
+ * libc/stdlib/ecvtbuf.c: #include local.h.
+
+ * libc/stdlib/Makefile.in: new files mallocr.c mstats.c.
+ * libc/stdlib/mallocr.c mstats.c malloc.h: New files.
+ * libc/stdlib/malloc.c: main routines moved to mallocr.c.
+
+ * libc/stdlib/atexit.c: moved global data to struct _reent.
+ * libc/stdlib/exit.c: use struct _atexit in struct _reent.
+
+ * libc/reent/reent.c (inpure_data): _REENT_INIT macro modified.
+
+Wed Apr 7 09:41:50 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/include/sys/reent.h: Stuff required by ANSI headers moved
+ here from ../reent.h.
+
+Tue Apr 6 12:56:01 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * Makefile.in (MATHOBJS_IN_LIBC): List of object files which
+ should be provided in both libc.a and libm.a.
+ (libc.a): Depend on targ-include and libm.a. Copy
+ $(MATHOBJS_IN_LIBC) from libm.a to libc.a.
+ (libm.a): Depend on targ-include.
+ * configure.in (subdirs): Removed libc/math.
+
+Mon Apr 5 10:18:16 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * libm/ieeefp/infinity.c (maxpowtwo): Fix initialization bug.
+
+Sat Apr 3 11:06:07 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/include/{errno.h, math.h, stdio.h, stdlib.h}: Use
+ sys/reent.h instead of reent.h.
+ * libc/include/reent.h: Split into two parts: stuff needed by ANSI
+ headers moved to sys/reent.h.
+ * libc/include/signal.h: _MAX_SIGNALS moved to sys/signal.h.
+ * libc/include/sys/signal.h: Define _MAX_SIGNALS if
+ __need__MAX_SIGNALS defined.
+ * libc/include/stdio.h: struct __sFILE moved to sys/reent.h.
+ std{in,out,err} refer to new _std{in,out,err} members.
+
+Fri Apr 2 11:27:12 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/include/sys/signal.h: #define _SYS_SIGNAL_H for general
+ case.
+
+Fri Apr 2 09:41:10 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/sys/sparc64/execve.S (execve): Insert nop in delay slot,
+ rather than whatever macro seterrno() has.
+
+Thu Apr 1 16:47:08 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/locale/locale.c: Reentrant routines _r_xxx renamed to
+ _xxx_r. struct reent_struct renamed to struct _reent for ANSI.
+
+ * libc/include/machine/fastmath.h: Use _HAVE_STDC instead of
+ __STDC__.
+
+ * libc/reent/{execr.c, filer.c, fstatr.c, linkr.c, reent.c,
+ reent.tex, sbrkr.c, statr.c}: _r_xxx reentrant routines renamed to
+ _xxx_r. struct reent_struct renamed to struct _reent for ANSI.
+
+ * libc/signal/signal.c: Reentrant routines _r_xxx renamed to
+ _xxx_r. struct reent_struct renamed to struct _reent for ANSI.
+
+ * libc/stdio/{fclose.c, fdopen.c, findfp.c, fiprintf.c, flags.c,
+ fopen.c, fprintf.c, freopen.c, fscanf.c, fseek.c, ftell.c,
+ fwalk.c, getchar.c, gets.c, iprintf.c, local.h, makebuf.c,
+ mktemp.c, perror.c, printf.c, putchar.c, puts.c, refill.c,
+ remove.c, rename.c, scanf.c, setvbuf.c, siprintf.c, sprintf.c,
+ sscanf.c, stdio.c, tmpfile.c, tmpnam.c, vfprintf.c, vfprintf.h,
+ vfscanf.c, vprintf.c, vsprintf.c}: Reentrant routines _r_xxx
+ renamed to _xxx_r. struct reent_struct renamed to struct _reent
+ for ANSI. structure members given leading "_" for ANSI. Use
+ _HAVE_STDC instead of __STDC__ and _HAVE_STDARG.
+
+ * libc/stdlib/{__adjust.c, calloc.c, dtoa.c, ecvtbuf.c, malloc.c,
+ mprec.c, mprec.h, rand.c, std.h, strtod.c, strtol.c, strtoul.c,
+ system.c}: Reentrant routines _r_xxx renamed to _xxx_r. struct
+ reent_struct renamed to struct _reent for ANSI.
+ Structure members given leading "_" for ANSI.
+ _CONST --> const in prototypes.
+ Use _HAVE_STDC instead of __STDC__.
+
+ * libc/string/strtok.c: Reentrant routines _r_xxx renamed to
+ _xxx_r.
+ struct reent_struct renamed to struct _reent for ANSI.
+ Structure members given leading "_" for ANSI.
+
+ * libc/time/asctime.c: Reentrant routines _r_xxx renamed to
+ _xxx_r.
+ struct reent_struct renamed to struct _reent for ANSI.
+
+ * libm/math/{acos.h, acosh.h, asin.c, asinh.h, atanh.h, bessel.h,
+ cbrt.h, cosh.h, erf.c, erf.h, error.c, exp.c, fmod.c, frexp.h,
+ gamma.h, hypot.h, ldexp.c, log.h, log10.c, log1p.c log2.c,
+ mathimpl.h, pow.c, remainder.c, sincos.c, sinh.h, sqrt.h, tan.c,
+ tanh.h}: struct reent_struct renamed to struct _reent for ANSI.
+
+ * libc/include/{_ansi.h, ctype.h, math.h, reent.h, locale.h,
+ signal.h, stdio.h, stdlib.h, string.h, time.h}:
+ Use _HAVE_STDC instead of __STDC__ and _HAVE_STDARG.
+ #ifndef _STRICT_ANSI non-ANSI routines.
+ Reentrant routines renamed from _r_xxx to _xxx_r.
+ No need to use _STRICT_ANSI on _xxx_r reentrant routines.
+ Use _STRICT_ANSI instead of __STRICT_ANSI, _ANSI_SOURCE, etc.
+ Clean up namespace (structure members have leading "_").
+ struct reent_struct renamed to struct _reent for ANSI compliance.
+ _CONST --> const in function prototypes.
+
+ * libc/include/string.h: Add NULL and size_t.
+
+ * libc/sys/sparc64/Makefile.in: New syscall routines for link,
+ unlink, wait, wait4. Reentrant syscall routines close, fork,
+ fstat, link, lseek, open, read, sbrk, stat, unlink, wait, wait4,
+ write.
+ * libc/sys/sparc64/cerror.S (cerror_r): New routine.
+ * libc/sys/sparc64/{close.S, fork.S, fstat.S, link.S, lseek.S,
+ open.S, read.S, sbrk.S, stat.S, unlink.S, wait.S, wait4.S,
+ write.S}: Define reentrant versions.
+ * libc/sys/sparc64/sys/syscallasm.h (defsyscall_r): New macro for
+ reentrant syscalls.
+
+ * libc/sys/sparc64/crt0.S (start): Fix initialization of environ.
+
+ * libc/include/stdlib.h (RAND_MAX): Fix value.
+
+Thu Apr 1 12:28:30 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/sys/a29khif/_main.c: Removed unnecessary file.
+ * libc/sys/a29khif/Makefile.in (OFILES): Removed _main.c, moved
+ VPATH support targets after all: target.
+
+ * stub/mvme135/mvme.S: Renamed exceptionhandler to
+ exceptionHandler, which is what mvme135-stub.c expects.
+
+Wed Mar 31 17:42:03 1993 Doug Evans (dje@cygnus.com)
+
+ * libc/stdio/tmpnam.c (worker): Fix test for _r_open() failure.
+
+ * libc/unix/getpass.c (getpass): Use stdin,stderr instead of
+ def_stdin/def_stderr (latter removed from stdio.h to make it ANSI
+ compliant).
+
+Tue Mar 30 09:58:21 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/reent/execr.c (_r_wait): Re-order args to make reent_struct
+ first.
+ libc/reent/filer.c (_r_open, _r_close, _r_lseek, _r_read,
+ _r_write): Ditto.
+ libc/reent/fstatr.c (_r_fstat): Ditto.
+ libc/reent/linkr.c (_r_link, _r_unlink): Ditto.
+ libc/reent/sbrkr.c (_r_sbrk): Ditto.
+ libc/reent/statr.c (_r_stat): Ditto.
+
+ * libc/stdio/fopen.c (_r_fopen): Re-order args to _r_open.
+ * libc/stdio/freopen.c (freopen): Ditto for _r_open, _r_free.
+ * libc/stdio/fseek.c (fseek): Ditto for _r_fseek.
+ * libc/stdio/makebuf.c (__smakebuf): Ditto for _r_fstat.
+ * libc/stdio/mktemp.c (_gettemp): Ditto for _r_stat, _r_open.
+ * libc/stdio/remove.c (_r_remove): Ditto for _r_unlink.
+ * libc/stdio/rename.c (_r_rename): Ditto for _r_link, _r_unlink.
+ * libc/stdio/stdio.c (__sread): Ditto for _r_read.
+ (__swrite): Ditto for _r_lseek, _r_write.
+ (__sseek): Ditto for _r_lseek.
+ (__close): Ditto for _r_close.
+ * libc/stdio/tmpnam.c (worker): Ditto for _r_open, _r_close.
+
+ * libc/stdlib/malloc.c (_r_morecore): Re-order args to _r_sbrk.
+ * libc/stdlib/system.c (_r_system): Ditto for _r_wait.
+
+ * libc/include/reent.h: Re-order arguments to _r_xxx syscall fns
+ to make reent_struct the first argument (and thus consistent with
+ the rest of newlib).
+
+ * stub/mvme135/mvme135-stub.c (initializeRemcomErrorFrame): Remove
+ reference to __STDC__.
+
+Mon Mar 29 12:34:32 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/stdlib/exit.c (exit): Use _REENT->__cleanup instead of
+ global __cleanup.
+
+Wed Mar 24 11:54:35 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * libc/stdio/freopen.c (freopen): Ensure stdio is initialized
+ first.
+ libc/stdio/fclose.c (fclose): Ditto.
+
+Tue Mar 23 01:26:52 1993 Doug Evans (dje@rtl.cygnus.com)
+
+ * Run through indent and rename reentrant routines for ANSI.
+ libc/stdio/{clearerr.c cvt.c fclose.c fdopen.c feof.c ferror.c
+ fflush.c fgetc.c fgetpos.c fgets.c findfp.c fiprintf.c flags.c
+ fopen.c fprintf.c fputc.c fputs.c fread.c freopen.c fscanf.c
+ fseek.c fsetpos.c ftell.c fvwrite.c fwalk.c fwrite.c getc.c
+ getchar.c gets.c iprintf.c makebuf.c mktemp.c perror.c printf.c
+ putc.c putchar.c puts.c refill.c remove.c rename.c rewind.c rget.c
+ scanf.c setbuf.c setvbuf.c siprintf.c sprintf.c sscanf.c stdio.c
+ tmpfile.c tmpnam.c ungetc.c vfprintf.c vfscanf.c vprintf.c
+ vsprintf.c wbuf.c wsetup.c local.h}
+
+ * libc/locale/locale.c: Reformat and rename for ANSI, GNU style.
+
+ * Run through indent and rename xxx_r fns to _r_xxx for ANSI.
+ libc/stdlib/{__adjust.c __exp10.c __ten_mu.c abort.c abs.c
+ assert.c atexit.c atof.c atoi.c atol.c bsearch.c calloc.c div.c
+ dtoa.c ecvtbuf.c efgcvt.c exit.c getenv.c labs.c ldiv.c malloc.c
+ mbtowc.c mprec.c putenv.c qsort.c rand.c setenv.c strdup.c
+ strtod.c strtol.c strtoul.c system.c wctomb.c mprec.h}
+
+ * Run through indent.
+ libc/string/{bcmp.c bcopy.c bzero.c index.c memchr.c memcmp.c
+ memcpy.c memmove.c memset.c rindex.c strcat.c strchr.c strcmp.c
+ strcoll.c strcpy.c strcspn.c strerror.c strlen.c strncat.c
+ strncmp.c strncpy.c strpbrk.c strrchr.c strspn.c strstr.c strtok.c
+ strxfrm.c}
+
+ * libc/time/{asctime.c clock.c ctime.c difftime.c gmtime.c
+ localtime.c mktime.c strftime.c time.c}:
+ Run through indent and rename xxx_r (reentrant) fns to _r_xxx for ANSI.
+
+ * Reformatting + renaming (for ANSI, GNU style, consistency).
+ libc/include/{_ansi.h, assert.h, ctype.h, errno.h, fastmath.h,
+ ieeefp.h, locale.h, math.h, paths.h, pwd.h, reent.h, setjmp.h,
+ signal.h, stdio.h, stdlib.h, string.h, time.h, unistd.h}
+
+Fri Mar 19 11:28:01 1993 Doug Evans (dje@cygnus.com)
+
+ * libc/include/stdio.h (stdin_r): Fix.
+
+Fri Mar 19 09:43:48 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * Makefile.in: Unexport some variables to keep GNU make from
+ putting them in the environment and using up needed ARG_MAX space
+ (a hack is used to let this work with older makes as well).
+
+Tue Mar 16 15:11:08 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * Makefile.in: Use $(MAKE) rather than make.
+ (MAKEOVERRIDES): Define to be empty.
+ (FLAGS_TO_PASS): Don't pass down LD (it's not used).
+ (libc.a, libm.a): Depend on targ-include.
+ * host/any (LD): Don't define.
+ (INCLUDES): Use targ-include.
+ * stub/Makefile.in (MAKEOVERRIDES): Define to be empty.
+ (FLAGS_TO_PASS): Don't pass down LD (it's not used).
+ * libc/Makefile.in: Use $(MAKE) rather than make.
+ (MAKEOVERRIDES): Define to be empty.
+ (FLAGS_TO_PASS): Don't pass LD (it's not used).
+ (all): Rewrote to be slightly smaller.
+ * libc/machine/Makefile.in, libc/sys/Makefile.in (MAKEOVERRIDES):
+ Define to be empty.
+ (FLAGS_TO_PASS): Don't pass LD (it's not used).
+ * libm/Makefile.in (FLAGS_TO_PASS): Don't pass LD (it's not used).
+
+Mon Mar 15 08:45:41 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/sys/go32/gerrno.s: Renamed from errno.s to avoid conflict
+ with errno/errno.c.
+
+Fri Mar 12 09:46:54 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * Changes for reentrancy.
+ libc/stdio/fdopen.c, libc/stdio/freopen.c, libc/stdio/perror.c:
+ Use ptr->_errno, not errno.
+ libc/stdio/mktemp.c (mkstemp_r, mktemp_r): New functions.
+ libc/stdio/remove.c (remove_r): New function.
+ libc/stdio/rename.c (rename_r): New function.
+ libc/stdio/fopen.c, libc/stdio/freopen.c, libc/stdio/fseek.c,
+ libc/stdio/makebuf.c, libc/stdio/mktemp.c, libc/stdio/remove.c,
+ libc/stdio/rename.c, libc/stdio/stdio.c, libc/stdio/tmpnam.c: Use
+ reentrant versions of system calls.
+ libc/stdio/gets.c: Call getchar_f, not nonexistent getchar_r.
+ libc/stdio/scanf.c: Use stdin_r, not nonexistent stdin_n.
+ libc/stdio/tmpfile.c: Use tmpnam_f, not nonexistent tmpnam_r.
+ libc/stdio/findfp.c: Include <string.h>.
+ libc/stdio/fread.c, libc/stdio/rget.c, libc/stdio/scanf.c: Include
+ "local.h".
+ libc/stdio/wbuf.c: Include "fvwrite.h"
+
+ * libc/stdlib/{dtoa.c, ecvtbuf.c, mprec.c, strtod.c}: Include
+ <string.h>.
+ libc/stdlib/malloc.c: Call sbrk_r rather than sbrk.
+ (NULL): Don't define if already defined.
+ libc/stdlib/system.c: Call reentrant versions of system calls.
+ (system_r): New function.
+
+ * Changes for reentrancy.
+ libc/include/_ansi.h (_PARAMS): New macro.
+ libc/include/errno.h: Define errno as a macro that calls __errno.
+ (__errno_r): New macro for reentrant code.
+ libc/include/math.h: Include reent.h. Declare many reentrant
+ functions.
+ (signgam): Now a macro, not a variable.
+ (struct exception): Added err field.
+ libc/include/reent.h: Don't declare __sglue. Added function
+ declarations.
+ (struct reent_struct): Moved errno to beginning. Added _signgam.
+ libc/include/stdio.h, libc/include/stdlib.h: Added function
+ declarations.
+
+ * More reentrancy hacking.
+ libc/errno/errno.c (__errno): New function.
+ libc/reent/execr.c, libc/reent/filer.c, libc/reent/fstatr.c,
+ libc/reent/linkr.c, libc/reent/sbrkr.c, libc/reent/statr.c: New
+ files.
+
+ * Added many new reentrant functions to libm/math/*.
+ libm/math/error.c (__matherror): Added reent_struct pointer
+ argument. Changed all callers.
+ libm/math/gamma.c (signgam): Removed. Set ptr->_signgam, instead.
+ libm/math/exp.h, libm/math/pow.h, libm/math/sincos.h,
+ libm/math/tan.h: Removed obsolete unused header files.
+
+ * libc/sys/a29khif/stubs.s: Use register lr0, not v0.
+
+ * libc/sys/sun/Makefile.in (COPYOFILES): Don't pull in errno.o.
+
+Mon Mar 8 16:43:43 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * libc/sys/a29khif/stubs.s: clobber safe register, and fill all
+ delay slots.
+
+Tue Mar 2 14:47:00 1993 Jeffrey Osier (jeffrey@fowanton.cygnus.com)
+
+ * libc/libc.texinfo: comment out reentrancy chapter (duh)
+
+Tue Mar 2 14:34:16 1993 Jeffrey Osier (jeffrey@fowanton.cygnus.com)
+
+ * libc/reent/reent.tex: New file. (text from
+ newlib/libc/libc.texinfo)
+ * libc/stdio/tmpnam.c: fixed doc typo
+ * libc/stdlib/rand.c: fixed doc typo
+
+Tue Mar 2 14:34:16 1993 Jeffrey Osier (jeffrey@fowanton.cygnus.com)
+
+ * libc/reent/reent.tex: New file. (text from
+ newlib/libc/libc.texinfo)
+
+Fri Feb 26 12:20:54 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ support for reentrancy
+ * libc/reent/reent.c, libc/reent/Makefile.in, libc/reent/reent.c:
+ new files
+ * libc/errno/errno.c, libc/include/ieeefp.h,
+ libc/include/locale.h, libc/include/reent.h,
+ libc/include/signal.h, libc/include/stdio.h,
+ libc/include/stdlib.h, libc/include/string.h, libc/include/time.h,
+ libc/signal/signal.c libc/stdio/cvt.c, libc/stdio/fclose.c,
+ libc/stdio/fdopen.c, libc/stdio/fflush.c, libc/stdio/fgets.c,
+ libc/stdio/findfp.c, libc/stdio/flags.c, libc/stdio/fopen.c,
+ libc/stdio/fputc.c, libc/stdio/freopen.c, libc/stdio/fseek.c,
+ libc/stdio/ftell.c, libc/stdio/fwalk.c, libc/stdio/getchar.c,
+ libc/stdio/gets.c, libc/stdio/glue.h, libc/stdio/iprintf.c,
+ libc/stdio/local.h, libc/stdio/makebuf.c, libc/stdio/perror.c,
+ libc/stdio/printf.c, libc/stdio/putchar.c, libc/stdio/puts.c,
+ libc/stdio/refill.c, libc/stdio/scanf.c, libc/stdio/setvbuf.c,
+ libc/stdio/sprintf.c, libc/stdio/tmpfile.c, libc/stdio/tmpnam.c,
+ libc/stdio/ungetc.c, libc/stdio/vfprintf.c, libc/stdio/vfprintf.h,
+ libc/stdio/vfscanf.c, libc/stdio/vprintf.c, libc/stdio/wsetup.c,
+ libc/stdlib/__adjust.c, libc/stdlib/__exp10.c,
+ libc/stdlib/assert.c, libc/stdlib/atexit.c, libc/stdlib/atol.c,
+ libc/stdlib/dtoa.c, libc/stdlib/ecvtbuf.c, libc/stdlib/malloc.c,
+ libc/stdlib/mprec.c, libc/stdlib/mprec.h, libc/stdlib/rand.c,
+ libc/stdlib/setenv.c, libc/stdlib/std.h, libc/stdlib/strtod.c,
+ libc/stdlib/strtol.c, libc/stdlib/strtoul.c, libc/string/strtok.c,
+ libc/time/asctime.c, libc/time/localtime.c, libc/time/mktime.c,
+ libc/time/strftime.c: modify to provide reentracy.
+
+ new routines:
+ strtok_r, asctime_r, fdopen_r, _cleanup_r, fopen_r, iprintf_r,
+ perror_r, printf_r, putchar_r, puts_r, scanf_r, sprintf_r,
+ tmpfile_r, vfiprintf_r, vfprintf_r, strtod_r, dtoa_r, rand_r,
+ srand_r, strtoul_r,strtol_r, free_r, malloc_r, morecore_r,
+ mstats_r, realloc_r, localeconv_r, setlocale_r
+
+Wed Feb 17 20:17:15 1993 Mark Eichin (eichin@cygnus.com)
+
+ * libc/include/machine/ieeefp.h, libc/include/machine/setjmp.h,
+ libc/include/sys/config.h, libc/include/sys/signal.h,
+ libc/include/sys/stat.h, libc/include/sys/types.h: For compiler
+ provided macros (such as m68000), use the ansi version
+ (__m68000__) so that the library can be used with code compiled
+ -ansi. In particular, m68000, mc68000, _AM29K, i386, MIPSEL, unix,
+ and sparc.
+
+Wed Feb 17 13:01:34 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
+
+ * configure.in (sparc*): Don't set -fsoft-float for sparc
+ configurations. Do set -fsoft-float for sparclite configurations.
+
+Fri Feb 12 16:25:52 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
+
+ * default.menu, no-signal.menu: alternate forms of libc main menu
+ (in newlib rather than newlib/libc due to configuration restrictions)
+
+ * configure.in: select one of the two menus above, link to
+ libc.menu
+
+ * libc/libc.texinfo: include menu from separate file
+
+Fri Feb 12 12:50:06 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * Makefile.in (FLAGS_TO_PASS): Put INSTALL back in.
+ (info): Split long shell command in half.
+ * libc/Makefile.in (info, targetdep.tex): Don't pass everything to
+ sub-makes, just CHEW and TARGETDOC.
+ (targetdep.tex): Removed now special handling of sys and machine
+ subdirectories, made obsolete some time ago.
+ * libc/machine/Makefile.in (doc): Don't pass everything to
+ sub-make, just CHEW and TARGETDOC.
+ (Makefile): New target.
+ * libc/sys/Makefile.in (Makefile): New target.
+
+Thu Feb 11 15:25:15 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * Makefile.in (here and most subdirectories): Only pass down CHEW
+ and TARGETDOC when making info, not for other targets.
+
+ * Makefile.in (here and most subdirectories), host/any: Use $(AR)
+ $(AR_FLAGS) rather than $(ARUPDATE).
+
+Wed Feb 10 11:57:52 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * Try to reduce command line length:
+ * Makefile.in (FLAGS_TO_PASS): don't pass down exec_prefix,
+ CC_FOR_BUILD, CFLAGS_FOR_BUILD, INSTALL or CHEW.
+ (info, docs): pass CC_FOR_BUILD and CFLAGS_FOR_BUILD to doc.
+ (info): Pass CHEW to other subdirs.
+
+Tue Feb 9 14:01:42 1993 Mark Eichin (eichin@cygnus.com)
+
+ * configure.in: add signal_dir, like unix_dir, but by default it
+ is set to "signal" so that a29khif can turn it off (since a29khif
+ has raise() as part of machine-specific signal.s.)
+
+Fri Jan 15 12:09:50 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * libc/sys/config.h, libc/machine/ieeefp.h: add Z8000 support
+ * libc/stdio/Makefile.in: pass CFLAGS so vfiprintf.c gets built
+ correctly.
+ * libc/stdio/fdopen.c, libc/stdio/fgets.c, libc/stdio/fscanf.c,
+ libc/stdio/vfprintf: type lint.
+ * libc/sys/z8ksim/crt0.c (start): Z8001/Z8002 independent
+ initialzation code.
+ * libc/sys/z8ksim/glue.c: Z8001/Z8002 clean system calls.
+
+Tue Dec 29 10:15:33 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * stub/mvme135/mvme135-asm.S: new file.
+ stub/mvme135mvme135-stub.c: moved all assembler routines into
+ mvme135-asm.S.
+ stub/mvme135/Makefile.in: build mvme135-stub.o.
+
+Mon Dec 28 12:40:43 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * Makefile.in: don't pass down $(CPP); use $(CC) -E in
+ sub-Makefiles instead, to try to avoid line length limitations.
+
+Mon Dec 21 18:36:13 1992 Per Bothner (bothner@rtl.cygnus.com)
+
+ * libc/include/unistd.h (read, write): Use void* instead of
+ char*.
+
+Thu Dec 17 13:49:46 1992 Mark Eichin (eichin@cygnus.com)
+
+ * stub/go32/resetpc: sample script to send a reset packet to the
+ stub
+
+ * stub/go32/I386STUB.C: new file, gdb/i386stub.c modified for the
+ DOS environment, which compiles with Turbo C.
+
+ * stub/go32/DSER32.LNK: new file, linker commands for serial
+ remote stub.
+
+ * stub/go32/CONTROL.C: turn off debug_mode, add CYGNUS tag line to
+ start up message to identify version; call set_debug_traps.
+
+ * stub/go32/DEBUG.C: turn off debug_mode (so stub doesn't need any
+ keyboard interaction); call handle_exception() in go_til_stop,
+ rather than return, so that the remote stub gets control.
+
+ * stub/go32/MAKEFILE: fixed to actually use DOS commands (del and
+ rename, rather than mv), set flags that work with current Turbo C,
+ including using the /3 flag; also, add commands to build dser32.
+
+ * stub/go32/DEBUG32.LNK, stub/go32/GO32.LNK: fix paths to match
+ default Turbo C installation (\tc rather than \usr)
+
+ * stub/go32/MONO.C (printf): current Turbo C uses "..." instead of
+ "&..."
+
+Mon Dec 14 09:37:33 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * libc/include/math.h: added _DOUBLE_IS_32BITS checks
+
+Thu Nov 12 22:31:04 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * libc/stdio/cvt.c (licvt): new function to convert ints when
+ sizeof(int) != sizeof(long).
+
+ * libc/include/stdio.h: added prototype for iprintf.
+ * libc/include/machine/limits.h machine/ieeefp.h: z8k stuff
+
+Tue Nov 10 12:18:12 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/machine/m68k/setjmp.S: use __USER_LABEL_PREFIX__ and
+ __REGISTER_PREFIX__.
+
+Mon Nov 2 13:50:14 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/sys/m68kbare: moved into stub directory.
+
+Mon Nov 2 13:40:42 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * configure.in, Makefile.in: created new directory stub, to hold
+ sample code for specific targets.
+
+Wed Oct 28 02:19:55 1992 Mark Eichin (eichin@cygnus.com)
+
+ * restored libc/sys/go32/sys/fcntl.h, to override incorrect values
+ in the unified libc/include/sys/fcntl.h.
+
+Wed Oct 21 13:55:58 1992 Doug Evans (dje@rtl.cygnus.com)
+
+ * libc/stdlib/ecvtbuf.c: (print_f,_gcvt): printf("%f", 0.01)
+ printed .01, not 0.01.
+
+Mon Oct 19 11:05:55 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * configure.in: compile with -m68000 for m68* targets.
+
+Sun Oct 18 05:29:05 1992 Mark Eichin (eichin@cygnus.com)
+
+ * libm/math/remainder.c (remainder): document the svr4 and sunos
+ references used to construct the function.
+
+Sat Oct 17 21:46:16 1992 Mark Eichin (eichin@cygnus.com)
+
+ * libm/math/remainder.c (rint, remainder): fix old typos.
+ * libm/math/Makefile.in: actually build remainder.c (functions
+ rint and remainder, from SysVr4 Programmer's Guide floor(3m) man
+ page.)
+
+Thu Oct 15 07:48:05 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/string/bcopy.c: BSD version works on overlapping strings,
+ so ours should too.
+
+ * libc/stdlib/system.c: always invoke /bin/sh, not getenv
+ ("SHELL").
+
+Wed Oct 14 11:07:11 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * Makefile.in (docs): new target.
+
+Wed Oct 14 07:44:25 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/include/sys/times.h: define clock_t as required by POSIX.
+ libc/include/time.h: protect clock_t from multiple definitions.
+
+Wed Oct 7 11:02:21 1992 Mark Eichin (eichin at tweedledumber.cygnus.com)
+
+ * libm/math/sqrt.h (sqrt): actually, the final version of fp-bit
+ does not need more than the original three iterations to get
+ within 1 ulp. (Paranoia tests for rounding to better than that,
+ but further iterations *don't* help, only more subtle changes
+ can.)
+
+Tue Oct 6 09:22:12 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/sys/vxworks68, libc/sys/vxworks960: removed, since they
+ were doing nothing useful.
+
+Tue Oct 6 08:48:13 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * configure.in: define MALLOC_PROVIDED for vxworks targets;
+ removed sys_dir settings of vxworks68 and vxworks960.
+ host/any: don't pass -nostdinc to gcc, since newlib no longer
+ provides all required header files.
+
+ * libc/stdlib/malloc.c: only compile this file if MALLOC_PROVIDED
+ is not defined; this provides a hook for VxWorks.
+
+Mon Oct 5 03:44:57 1992 Mark Eichin (eichin at tweedledumber.cygnus.com)
+
+ * libc/stdio/setvbuf.c (setvbuf): while ANSI does say to malloc a
+ buffer if buf is NULL, don't do it here -- it is already being
+ done by makebuf elsewhere in stdio.
+
+Fri Oct 2 13:12:07 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/sys/a29khif/Makefile.in: assemble Steve's list of stubs so
+ that C programs can call functions without using initial
+ underscores.
+
+Thu Oct 1 09:37:47 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/stdlib/abort.c (abort): call exit, in case kill returns.
+
+Wed Sep 30 08:22:18 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * configure.in: set TARGET_CFLAGS for certain CPU types to
+ -msoft-float.
+
+Tue Sep 29 21:09:32 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
+
+ * libc/sys/m68kbare/glue.c: use <_ansi.h> instead of <ansidecl.h>
+
+Mon Sep 28 14:58:44 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * configure.in: added sys_dir m68kbare for m68k*-unknown-aout and
+ m68k*-unknown-coff.
+
+Fri Sep 25 08:33:21 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/include/stdio.h: define __need___va_list before including
+ <stdarg.h>, to avoid defining va_arg, et. al.
+
+Tue Sep 22 13:47:00 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/sys/Makefile.in: handle the case of an empty $(sys_dir)
+ (don't cd to the user's home directory).
+
+ * libc/Makefile.in: replaced all instances of $(MAKE) with make.
+ In general this is the wrong thing to do, but I can't get around
+ GNU make's insistence on passing command line arguments any other
+ way.
+
+Tue Sep 22 10:12:44 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * configure.in: always configure the libc/sys directory, since it
+ now provides a required documentation file.
+
+ * Makefile.in: replaced all instances of $(MAKE) with make. In
+ general this is the wrong thing to do, but I can't get around GNU
+ make's insistence on passing command line arguments any other way.
+
+Mon Sep 21 22:42:26 1992 Ian Lance Taylor (ian@tweedledumbest.cygnus.com)
+
+ * libc/stdlib/ecvtbuf.c (_gcvt): string for 0 was not null
+ terminated.
+
+ * libc/stdio/local.h: include <stdarg.h> to define va_list.
+ libc/stdio/vsprintf.c: include <stdarg.h> rather than <varargs.h>.
+
+ * libc/include/float.h, libc/include/stdarg.h,
+ libc/include/stddef.h, libc/include/varargs.h: removed; use gcc
+ versions instead.
+ libc/include/stdio.h: get size_t from <stddef.h>, and va_list from
+ <stdarg.h>, not from <machine/types.h>. Protect definition of
+ NULL.
+ libc/include/time.h: get size_t from stddef.h. Protect definition
+ of NULL.
+ libc/include/machine/limits.h: override gcc <limits.h> by defining
+ _LIMITS_H___. Don't define CLK_TCK. Copied in gcc <limits.h> to
+ get correct INT_MIN and LONG_LONG values.
+ libc/include/machine/types.h: don't define ptrdiff_t, wchar_t,
+ size_t or va_list at all; they're now gotten from stddef.h
+ instead.
+ libc/include/machine/varargs.h: removed; use gcc version instead.
+ libc/include/sys/types.h: explicitly include <machine/types.h>.
+
+ * libm/math/sqrt.h: using the fp-bit routines appears to require
+ more iterations.
+
+ * Makefile.in, host/any: let system include files override machine
+ include files.
+
+Sat Sep 19 21:10:06 1992 Mark Eichin (eichin at tweedledumber.cygnus.com)
+
+ * libc/include/machine/types.h: allow __*_TYPE__ from cpp to
+ override _*_T_ definitions defaulted here.
+
+Tue Sep 15 11:14:46 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * Makefile.in (install): install the include files in
+ $(tooldir)/include, not $(exec_prefix)/include.
+
+Fri Sep 11 15:48:43 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * Makefile.in (install): fixed typo, and changed install to not
+ force rebuild of libc.a and libm.a.
+
+Thu Sep 10 10:46:09 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/sys/a29khif/*: Changed all .include's to include
+ sys/sysmac.h, not plain sysmac.h. The header files live in sys so
+ that they will be installed for the user.
+
+ * Makefile.in (all): create targ-include, a directory holding the
+ machine and system specific header files during the build.
+ (install): fixed installation of machine and system specific
+ header files.
+
+ * Makefile.in: fixed comment.
+ host/any: change .s.o rule to use $(AS) rather than $(CC), so that
+ we can pass $(INCLUDES) to it.
+
+Thu Sep 10 10:13:13 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/include/sys/param.h: new generic file, which may be
+ overridden for specific systems.
+
+ * libc/include/sys/signal.h: define all ANSI signal names, and
+ NSIG (which is not ANSI) for a29k.
+
+Tue Sep 8 09:04:30 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * Makefile.in: don't pass down arguments the lower level makes
+ will not need.
+ * libc/Makefile.in: recurse directly, rather than using subdir_do,
+ in hopes of avoiding argument length limits.
+ * libm/Makefile.in: recurse directly, rather using subdir_do, in
+ hopes of avoiding argument length limits.
+
+Tue Sep 8 08:27:22 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/include/sys/fcntl.h: include <sys/types.h> to ensure that
+ mode_t is defined.
+
+Mon Sep 7 14:02:07 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * Fixed make info and make install-info for newlib, changing most
+ Makefile.in and several *.tex files. Moved doc directory from
+ libc to top level.
+
+ * libc/time/mktime.c (_DAYS_IN_MONTH): actually, not const.
+ Should be rewritten.
+
+ * libc/string/strings.tex: renamed node index to node index
+ function, so that it does not conflict with the top level index
+ node.
+
+ * libc/include/sys/config.h: define __IEEE_BIG_ENDIAN for h8300.
+
+Fri Sep 4 02:34:06 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * Overhauled general configuration for newlib. Eliminated all
+ target dependent Makefile fragments. Create libraries in newlib
+ rather than newlib/libc and newlib/libm. Use CC, et. al., rather
+ than CROSS_CC, et. al. Broke make docs; will fix later.
+
+ * libc/time/localtime.c (_DAYS_IN_MONTH): actually, not const.
+ Should be rewritten.
+
+Tue Sep 1 15:21:14 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/configure.in: cleaned up somewhat; switch on ${target}
+ rather than ${target_alias}.
+ * libm/configure.in: cleaned up somewhat; switch on ${target}
+ rather than ${target_alias}.
+
+ * libc/ctype/ctype_.c: marked _ctype_ array _CONST.
+ * libc/include/ctype.h: marked _ctype_ as _CONST.
+
+ * libc/locale/locale.c (lconv, localeconv): marked static lconv as
+ _CONST.
+
+ * libc/stdio/cvt.c, libc/stdio/findfp.c (__sfmoreglue),
+ libc/stdio/vfscanf.c (__svfscanf): made static variables const.
+ libc/stdio/gets.c (gets): removed non-ANSI warning message.
+ libc/stdio/tmpnam.c (tmpnam): removed unneeded filename variable.
+
+ * libc/stdlib/mprec.h, libc/stdlib/mprec.c (pow5mult, tens,
+ bigtens, tinytens): marked arrays _CONST.
+ libc/stdlib/qsort.c (swap): if __GNUC__, use _builtin_alloca
+ rather than a static variable.
+
+ * libc/time/asctime.c (asctime), libc/time/localtime.c
+ (_DAYS_IN_MONTH), libc/time/mktime.c (_DAYS_IN_MONTH,
+ _DAYS_BEFORE_MONTH), libc/time/strftime.c (dname_len, dname,
+ mname_len, mname): Marked static arrays _CONST.
+
+ * libm/math/gamma.h: made local variables non-static.
+
+ * libm/math/acos.h, libm/math/bessel.c, libm/math/erf.c,
+ libm/math/exp.c, libm/math/gamma.h: marked static arrays as
+ _CONST.
+
+ * libm/math/constants.c: removed file, because the constants it
+ defined were never referenced.
+ libm/math/Makefile.in: removed references to constants.c.
+ libm/math/mathimpl.h: removed declarations of constants.
+
+Wed Aug 26 21:09:06 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/include/machine/varargs.h: only call __builtin_saveregs if
+ it is sensibly defined in libgcc2. Checks preprocessor defines,
+ which is not a good solution.
+
+ * libm/sqrt.c: sqrt(Infinity) should not be a domain error.
+
+ * libm/frexp.c: handle denormalized numbers as arguments.
+
+ * libm/math/Makefile.in: added some dependencies for .c files
+ which include local .h files.
+
+Mon Aug 24 12:57:58 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * libc/configure.in: set target_alias for OSE*. Replace
+ target_makefile_frag if it is blank.
+
+ * libc/Makefile.in: make sure everything is passed to subsidiary
+ makes; create all directories when installing.
+
+ * libm/ieeefp/Makefile.in, libm/math/Makefile.in: use
+ CROSS_ARUPDATE instead of AR.
+
+ * libm/configure.in: set target_alias for OSE*. Replace
+ target_makefile_frag if it is blank.
+
+ * libm/Makefile.in: make sure everything is passed to subsidiary
+ makes; create all directories when installing.
+
+Thu Aug 20 15:11:51 1992 Mark Eichin (eichin@cygnus.com)
+
+ * add following change from libc copy.
+
+Wed Aug 19 18:54:49 1992 Roland H. Pesch (pesch@fowanton.cygnus.com)
+
+ * libc/libc.texinfo: make copyright disclaimers appear on back of
+ title page; make format of same slightly less ugly; avoid using
+ underbars in section headings (avoids nasty texinfo bug in table
+ of contents).
+
+ * libc/ctype/tolower.c, libc/ctype/toupper.c: (doc changes in
+ comments only) avoid using underbars in section headings
+
+ * libc/ieeefp/ieeefp.tex: include doc from fpsticky, infinity,
+ isnan ieeefp/fpmask.c, ieeefp/fpround.c, ieeefp/fpsticky.c (doc
+ changes in comments only): shorten headings ieeefp/infinity.c,
+ ieeefp/isnan.c: (doc, comments only) more informative headings
+
+ * libc/math/bessel.c: (doc, comments only) shorten heading
+
+ * libc/stdlib/efgcvt.c, libc/stdlib/mbtowc.c, libc/stdlib/wctomb.c
+ (doc, comments only) shorten headings
+
+ * libc/time/localtime.c (doc, comments only): shorten headings
+
+ * libm/ieeefp/ieeefp.tex: include doc from fpsticky, infinity,
+ isnan
+ libm/ieeefp/fpmask.c, libm/ieeefp/fpround.c,
+ libm/ieeefp/fpsticky.c (doc changes in comments only): shorten
+ headings
+ libm/ieeefp/infinity.c, libm/ieeefp/isnan.c: (doc, comments
+ only) more informative headings
+ * libm/math/bessel.c: (doc, comments only) shorten heading
+
+Wed Aug 19 07:06:37 1992 Mark Eichin (eichin at tweedledumber.cygnus.com)
+
+ * .../Makefile.in: use CROSS_ARUPDATE consistently.
+ * config/*.mt: define CROSS_AR as well as CROSS_ARUPDATE
+ * config/*.mt: define CROSS_CPP based on CROSS_CC, not /lib/cpp.
+ * .../Makefile.in: get rid of .c.o rule - if TOP is correctly
+ defined, the one from the .mt file will be correct.
+ * libc/include/machine, libc/include/sys: created, and populated
+ with common files from machine/*/machine. ifdefs were used for
+ most, typically by handling exceptions first and then filling in
+ defaults. Files with D.J. Delorie copyright #included rather than
+ copied. Most files in include/sys really were the same in the
+ original.
+ * libc/include/...: cleaned up use of _EXFUN.
+ * libc/stdlib/mprec.c: mprec.h doesn't get installed, so include
+ it with double quotes, not angles.
+
+Mon Aug 10 11:43:20 1992 Ian Lance Taylor (ian@dumbest.cygnus.com)
+
+ * libc/Makefile.in: always create installation directories.
+
+Sun Aug 9 22:45:48 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
+
+ * libc/configure.in: handle host properly (using canonical
+ triples), better error message for the case of target not found
+
+Thu May 28 01:56:37 1992 Michael Tiemann (tiemann@rtl.cygnus.com)
+
+ * libc/Makefile.in (insincdir): Ensure this directory exists
+ before attempting installation.
+
+Fri May 1 18:16:42 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * libc/stdlib/assert.c: now calls abort like it should
+ * libc/sys/a29khif: many many patches for 29khif work
+ * libc/machine/i386: gnulib2 expanded there.
+
+Tue Apr 28 19:08:37 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ Added accurate fp conversion routines to stdlib, moved dcvt from
+ stdio to stdlib and called it ecvtbuf:
+ * libc/stdlib/mprec.c, mprec.h: new files for multiprec arithmetic
+ * libc/stdlib/Makefile.in, efgcvt.c, strtod.c: modified to use new
+ routines
+ * libc/libc.texinfo: Modifed to include the copyright info from
+ the mprec files
+ * libc/stdlib/efgcvt.c: now xref to ecvtbuf in stdlib.
+ * libc/test/ : many vector which tested for the implementation
+ defined returns of strange conversion requests have been updated
+ to relflect the new implementation
+
+Mon Apr 27 13:41:33 1992 Roland H. Pesch (pesch@fowanton.cygnus.com)
+
+ * libc/libc.texinfo: new chapter on variable arg lists
+ (stdarg.h/varargs.h)
+ * libc/libc.texinfo: new title
+ * libc/time/gmtime.c, libc/time/localtime./c, libc/time/mktime.c:
+ (doc only) shorter headings for better formatting.
+
+Fri Apr 24 11:26:48 1992 Roland H. Pesch (pesch@fowanton.cygnus.com)
+
+ * libc/libc.texinfo: three more info menu entries
+ * libc/locale/locale.tex: new chapter
+ * libc/locale/locale.c: new doc for setlocale, localeconv
+ * libc/locale/Makefile.in: use new locale doc
+ * libc/signal/signal.tex: new chapter
+ * libc/signal/raise.c, libc/signal/signal.c: new doc
+ * libc/signal/Makefile.in: use new doc
+ * libc/time/time.tex: new chapter
+ * libc/time/asctime.c libc/time/clock.c libc/time/ctime.c
+ libc/time/difftime.c libc/time/gmtime.c libc/time/localtime.c
+ libc/time/mktime.c libc/time/strftime.c libc/time/time.c: new doc
+ * libc/time/Makefile.in: use new doc
+
+Tue Apr 21 14:48:50 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * libm/math/log1p.c: split to use the new function way of float
+ function definition. math/log1p.h deleted
+ * libm/math/scalb.c: obsolete and deleted
+ * libm/math/scalbn.c: created from part log1p.c
+ * libm/math/Makefile.in: know about log1p and scalbn
+
+Tue Apr 21 12:32:21 1992 Roland H. Pesch (pesch@fowanton.cygnus.com)
+
+ * libc/ctype/isupper.c: revise doc;
+ libc/ctype/ctype.tex: use doc from isupper.c
+
+ * libc/string/bzero.c: new doc
+
+Mon Apr 20 14:19:42 1992 Roland H. Pesch (pesch@fowanton.cygnus.com)
+
+ * libc/stdlib/system.c, libc/stdlib/exit.c, libc/stdlib/abort.c:
+ new doc
+ * libc/stdlib/Makefile.in: extract new doc
+ * libc/stdlib/stdlib.tex: use new doc
+
+ * libc/string/strerror.c: expanded doc.
+
+ * libc/stdio/Makefile.in: extract doc from more files
+ * libc/stdio/fopen.c, libc/stdio/perror.c, libc/stdio/remove.c,
+ libc/stdio/rename.c, libc/stdio/rewind.c, libc/stdio/setbuf.c,
+ libc/stdio/setvbuf.c, libc/stdio/sprintf.c, libc/stdio/tmpfile.c,
+ libc/stdio/tmpnam.c, libc/stdio/vfprintf.c, libc/stdio/vprintf.c,
+ libc/stdio/vsprintf.c: new doc
+ * libc/stdio/stdio.tex: use new doc
+
+Mon Apr 20 09:38:17 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * libc/config/ebmon29k: added CROSS_CPP rule and other fixes
+ * libc/include/ieeefp.h: fixed ansi conflict with isnanf, isinff,
+ finitef functions.
+ * libc/sys/a29khif/sys/*.h: ansidecl.h was renamed to _ansi.h some
+ time ago.
+
+ * libc/stdio/stdio.h: added P_tmpdir for /tmp (SVID thing)
+ * libc/stdio/setbuf.c: added ansi style definition.
+ * libc/stdio/setvbuf.c: added ansi definition, now mallocs own
+ buffer if none provided.
+ * libc/stdio/tmpfile.c: lint
+ * libc/stdio/tmpnam.c (worker): created. (tmpnam): mallocs buffer
+ rather than using static, also make sure file isn't already
+ present. Uses P_tmpdir. (tempnam): rewritten to use new
+ subroutine, and uses P_tmpdir.
+ * libc/stdio/siprintf.c: created
+
+Mon Apr 13 09:12:58 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ Release 1.03 for NEC, major mods. Main differences from release
+ 1.02::
+
+ More tests in test/:
+ * jn_vec.c, jnf_vec.c, yn_vec.c, ynf_vec.c, log2_vec.c,
+ log2f_vec.c, atan2_vec.c, atan2f_vec.c: new test vectors.
+ * test_ieee.c: tests for ieee flags & masks - get/set rounding,
+ get/set mask, get/set sticky and get/set roundtoi. Tests
+ that setting the bits changes the way arithmetic is done.
+ * string.c: added test to make sure memcmp does it with unsigned
+ chars.
+ * test.c: cleaned up and removed lint.
+ * sprint_vec, sprint_ivec.c, convert.c, conv_vec.c, iconf_vec.c,
+ dvec.c: tests for string to value conversions, sprintf, scanf,
+ atof, atoff, strtod, strtodf, atoi, atol, strtol, ecvtbuf, ecvt,
+ ecvtf, fcvtbuf, fcvt, fcvtf, gcvt, gcvtf. Some attention paid to
+ rounding in sprintf too.
+ * test_is.c: tests for isalnum, isalpha, isascii, iscntrl,
+ isdigit, isgraph, islower, isprint, ispunct, isspace, isupper,
+ isxdigit, toascii, tolower, toupper, _tolower, _toupper in macro
+ and function form.
+ * math2.c: test for frexp, frexpf, ldexp, ldexpf, modf modff, pow,
+ powf
+
+ In the library:
+ * libc/stdlib/div.c, libc/stdlib/ldiv.c, libc/stdlib/strtod.c,
+ libc/stdlib/strtol.c, libc/stdlib/stroul.c, libc/stdlib/abs.c,
+ libc/stdlib/bsearch.c, libc/stdlib/calloc.c, libc/stdlib/getenv.c,
+ libc/stdlib/labs.c, libc/stdlib/malloc.c: new documentation
+ * libc/stdlib/efgcvt.c: rewritten to use new _dcvt routines rather
+ than sprintf.
+ * libc/stdio/dcvt.c: rewritten to make more useful elsewhere.
+ * Method of producting float versions of double functions has
+ changed, functions will be modified gradually. So far:
+ libm/math/exp.c, libm/math/pow.c, libm/math/modf.c,
+ libm/math/sincos.c, libm/math/fmod.c, libm/math/tan.c have been
+ altered
+ * libc/string/memcmp.c: now uses unsigned chars
+ * libc/string/bcmp.c, libc/string/strcpy.c,
+ libc/stsring/strxfrm.c: fixed doc
+ * libc/sys/sysvnecv70.tex: fix example of sbrk code
+
+Local Variables:
+version-control: never
+End:
diff --git a/newlib/Makefile.am b/newlib/Makefile.am
new file mode 100644
index 00000000000..38e1d138e6d
--- /dev/null
+++ b/newlib/Makefile.am
@@ -0,0 +1,191 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+# Multilib support variables.
+MULTISRCTOP =
+MULTIBUILDTOP =
+MULTIDIRS =
+MULTISUBDIR =
+MULTIDO = true
+MULTICLEAN = true
+
+# Work around what appears to be a GNU make bug handling MAKEFLAGS
+# values defined in terms of make variables, as is the case for CC and
+# friends when we are called from the top level Makefile.
+AM_MAKEFLAGS = \
+ "AR_FLAGS=$(AR_FLAGS)" \
+ "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
+ "CFLAGS=$(CFLAGS)" \
+ "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
+ "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
+ "INSTALL=$(INSTALL)" \
+ "INSTALL_DATA=$(INSTALL_DATA)" \
+ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
+ "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
+ "LDFLAGS=$(LDFLAGS)" \
+ "LIBCFLAGS=$(LIBCFLAGS)" \
+ "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
+ "MAKE=$(MAKE)" \
+ "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
+ "PICFLAG=$(PICFLAG)" \
+ "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
+ "SHELL=$(SHELL)" \
+ "EXPECT=$(EXPECT)" \
+ "RUNTEST=$(RUNTEST)" \
+ "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
+ "exec_prefix=$(exec_prefix)" \
+ "infodir=$(infodir)" \
+ "libdir=$(libdir)" \
+ "prefix=$(prefix)" \
+ "tooldir=$(tooldir)" \
+ "AR=$(AR)" \
+ "AS=$(AS)" \
+ "CC=$(CC)" \
+ "LD=$(LD)" \
+ "LIBCFLAGS=$(LIBCFLAGS)" \
+ "NM=$(NM)" \
+ "PICFLAG=$(PICFLAG)" \
+ "RANLIB=$(RANLIB)" \
+ "DESTDIR=$(DESTDIR)"
+
+if HAVE_DOC
+DOCDIR = doc
+endif
+
+SUBDIRS = libc libm $(DOCDIR) .
+
+tooldir = $(exec_prefix)/$(host_alias)
+toollibdir = $(tooldir)/lib$(MULTISUBDIR)
+
+AR_FLAGS = rc
+
+toollib_LIBRARIES = libm.a libc.a
+toollib_DATA = $(CRT0)
+noinst_DATA = stmp-targ-include
+
+# The functions ldexp, frexp and modf are traditionally supplied in
+# both libc.a and libm.a. We build them in libm.a and copy them over,
+# along with some required supporting routines.
+MATHOBJS_IN_LIBC = \
+ s_isinf.o sf_isinf.o \
+ s_isnan.o sf_isnan.o \
+ s_ldexp.o sf_ldexp.o \
+ s_frexp.o sf_frexp.o s_modf.o sf_modf.o \
+ s_scalbn.o sf_scalbn.o s_finite.o sf_finite.o \
+ s_copysign.o sf_copysign.o s_infconst.o
+
+libc.a: libc/libc.a libm.a
+ rm -rf libc.a libg.a tmp
+ mkdir tmp
+ cd tmp; \
+ $(AR) x ../libm.a $(MATHOBJS_IN_LIBC) ; \
+ $(AR) x ../libc/libc.a ; \
+ $(AR) $(AR_FLAGS) ../$@ *.o
+ $(RANLIB) libc.a
+ ln libc.a libg.a
+ rm -rf tmp
+
+libc/libc.a: ; @true
+
+libm.a: libm/libm.a
+ rm -f $@
+ ln libm/libm.a $@ >/dev/null 2>/dev/null || cp libm/libm.a $@
+
+libm/libm.a: ; @true
+
+crt0.o: $(CRT0_DIR)/$(CRT0)
+ rm -f $@
+ ln $(CRT0_DIR)/$(CRT0) $@ >/dev/null 2>/dev/null \
+ || cp $(CRT0_DIR)/$(CRT0) $@
+
+$(CRT0_DIR)/$(CRT0): ; @true
+
+all-recursive: stmp-targ-include
+
+# The targ-include directory just holds the includes files for the
+# particular system and machine we have been configured for. It is
+# used while building.
+stmp-targ-include: config.status
+ -rm -rf targ-include stmp-targ-include
+ mkdir targ-include targ-include/sys targ-include/machine
+ -for i in $(srcdir)/libc/machine/$(machine_dir)/machine/*.h; do \
+ if [ -f $$i ]; then \
+ cp $$i targ-include/machine/`basename $$i`; \
+ else true; fi ; \
+ done
+ -for i in $(srcdir)/libc/sys/$(sys_dir)/include/*.h; do \
+ if [ -f $$i ]; then \
+ cp $$i targ-include/`basename $$i`; \
+ else true; fi ; \
+ done
+ -for i in $(srcdir)/libc/sys/$(sys_dir)/sys/*.h; do \
+ if [ -f $$i ]; then \
+ cp $$i targ-include/sys/`basename $$i`; \
+ else true; fi ; \
+ done
+ touch $@
+
+CLEANFILES = targ-include stmp-targ-include
+
+install-data-local: install-toollibLIBRARIES
+ rm -f $(toollibdir)/libg.a
+ ln $(toollibdir)/libc.a $(toollibdir)/libg.a
+ $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
+ -if [ -z "$(MULTISUBDIR)" ]; then \
+ for i in $(srcdir)/libc/include/*.h; do \
+ $(INSTALL_DATA) $$i $(tooldir)/include/`basename $$i`; \
+ done; \
+ for i in $(srcdir)/libc/include/machine/*.h; do \
+ $(INSTALL_DATA) $$i $(tooldir)/include/machine/`basename $$i`; \
+ done; \
+ for i in $(srcdir)/libc/machine/$(machine_dir)/machine/*.h; do \
+ if [ -f $$i ]; then \
+ $(INSTALL_DATA) $$i $(tooldir)/include/machine/`basename $$i`; \
+ else true; fi ; \
+ done; \
+ for i in $(srcdir)/libc/include/sys/*.h; do \
+ $(INSTALL_DATA) $$i $(tooldir)/include/sys/`basename $$i`; \
+ done; \
+ for i in $(srcdir)/libc/sys/$(sys_dir)/sys/*.h; do \
+ if [ -f $$i ]; then \
+ $(INSTALL_DATA) $$i $(tooldir)/include/sys/`basename $$i`; \
+ else true; fi ; \
+ done ; \
+ for i in $(srcdir)/libc/sys/$(sys_dir)/include/*.h; do \
+ if [ -f $$i ]; then \
+ $(INSTALL_DATA) $$i $(tooldir)/include/`basename $$i`; \
+ else true; fi ; \
+ done ; \
+ else true; fi
+
+# Force makedoc to be built before building info files.
+info-recursive: doc/makedoc
+dvi-recursive: doc/makedoc
+doc/makedoc:
+ cd doc && $(MAKE) all
+
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+
+# Multilib support.
+.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
+ maintainer-clean-multi
+
+all-recursive: all-multi
+mostlyclean-recursive: mostlyclean-multi
+clean-recursive: clean-multi
+distclean-recursive: distclean-multi
+maintainer-clean-recursive: maintainer-clean-multi
+
+all-multi:
+ $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
+mostlyclean-multi:
+ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean
+clean-multi:
+ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean
+distclean-multi:
+ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
+maintainer-clean-multi:
+ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
+
+MAKEOVERRIDES=
diff --git a/newlib/Makefile.in b/newlib/Makefile.in
new file mode 100644
index 00000000000..da4fed1f8ee
--- /dev/null
+++ b/newlib/Makefile.in
@@ -0,0 +1,625 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+CRT0 = @CRT0@
+CRT0_DIR = @CRT0_DIR@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+# Multilib support variables.
+MULTISRCTOP =
+MULTIBUILDTOP =
+MULTIDIRS =
+MULTISUBDIR =
+MULTIDO = true
+MULTICLEAN = true
+
+# Work around what appears to be a GNU make bug handling MAKEFLAGS
+# values defined in terms of make variables, as is the case for CC and
+# friends when we are called from the top level Makefile.
+AM_MAKEFLAGS = \
+ "AR_FLAGS=$(AR_FLAGS)" \
+ "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
+ "CFLAGS=$(CFLAGS)" \
+ "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
+ "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
+ "INSTALL=$(INSTALL)" \
+ "INSTALL_DATA=$(INSTALL_DATA)" \
+ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
+ "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
+ "LDFLAGS=$(LDFLAGS)" \
+ "LIBCFLAGS=$(LIBCFLAGS)" \
+ "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
+ "MAKE=$(MAKE)" \
+ "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
+ "PICFLAG=$(PICFLAG)" \
+ "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
+ "SHELL=$(SHELL)" \
+ "EXPECT=$(EXPECT)" \
+ "RUNTEST=$(RUNTEST)" \
+ "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
+ "exec_prefix=$(exec_prefix)" \
+ "infodir=$(infodir)" \
+ "libdir=$(libdir)" \
+ "prefix=$(prefix)" \
+ "tooldir=$(tooldir)" \
+ "AR=$(AR)" \
+ "AS=$(AS)" \
+ "CC=$(CC)" \
+ "LD=$(LD)" \
+ "LIBCFLAGS=$(LIBCFLAGS)" \
+ "NM=$(NM)" \
+ "PICFLAG=$(PICFLAG)" \
+ "RANLIB=$(RANLIB)" \
+ "DESTDIR=$(DESTDIR)"
+
+
+@HAVE_DOC_TRUE@DOCDIR = \
+@HAVE_DOC_TRUE@doc
+
+SUBDIRS = libc libm $(DOCDIR) .
+
+tooldir = $(exec_prefix)/$(host_alias)
+toollibdir = $(tooldir)/lib$(MULTISUBDIR)
+
+AR_FLAGS = rc
+
+toollib_LIBRARIES = libm.a libc.a
+toollib_DATA = $(CRT0)
+noinst_DATA = stmp-targ-include
+
+# The functions ldexp, frexp and modf are traditionally supplied in
+# both libc.a and libm.a. We build them in libm.a and copy them over,
+# along with some required supporting routines.
+MATHOBJS_IN_LIBC = \
+ s_isinf.o sf_isinf.o \
+ s_isnan.o sf_isnan.o \
+ s_ldexp.o sf_ldexp.o \
+ s_frexp.o sf_frexp.o s_modf.o sf_modf.o \
+ s_scalbn.o sf_scalbn.o s_finite.o sf_finite.o \
+ s_copysign.o sf_copysign.o s_infconst.o
+
+
+CLEANFILES = targ-include stmp-targ-include
+
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+
+MAKEOVERRIDES =
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(toollib_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+libm_a_LIBADD =
+libm_a_SOURCES = libm.a.c
+libm_a_OBJECTS = libm.a.o
+libc_a_LIBADD =
+libc_a_SOURCES = libc.a.c
+libc_a_OBJECTS = libc.a.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DATA = $(noinst_DATA) $(toollib_DATA)
+
+DIST_COMMON = README ChangeLog Makefile.am Makefile.in NEWS \
+acinclude.m4 aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+DIST_SUBDIRS = libc libm doc .
+SOURCES = libm.a.c libc.a.c
+OBJECTS = libm.a.o libc.a.o
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in acinclude.m4
+ cd $(srcdir) && $(ACLOCAL)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-toollibLIBRARIES:
+
+clean-toollibLIBRARIES:
+ -test -z "$(toollib_LIBRARIES)" || rm -f $(toollib_LIBRARIES)
+
+distclean-toollibLIBRARIES:
+
+maintainer-clean-toollibLIBRARIES:
+
+install-toollibLIBRARIES: $(toollib_LIBRARIES)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(toollibdir)
+ @list='$(toollib_LIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(toollibdir)/$$p"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(toollibdir)/$$p; \
+ else :; fi; \
+ done
+ @$(POST_INSTALL)
+ @list='$(toollib_LIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ echo " $(RANLIB) $(DESTDIR)$(toollibdir)/$$p"; \
+ $(RANLIB) $(DESTDIR)$(toollibdir)/$$p; \
+ else :; fi; \
+ done
+
+uninstall-toollibLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ list='$(toollib_LIBRARIES)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(toollibdir)/$$p; \
+ done
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+install-toollibDATA: $(toollib_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(toollibdir)
+ @list='$(toollib_DATA)'; for p in $$list; do \
+ if test -f $(srcdir)/$$p; then \
+ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(toollibdir)/$$p"; \
+ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(toollibdir)/$$p; \
+ else if test -f $$p; then \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(toollibdir)/$$p"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(toollibdir)/$$p; \
+ fi; fi; \
+ done
+
+uninstall-toollibDATA:
+ @$(NORMAL_UNINSTALL)
+ list='$(toollib_DATA)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(toollibdir)/$$p; \
+ done
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+
+@SET_MAKE@
+
+all-recursive install-data-recursive install-exec-recursive \
+installdirs-recursive install-recursive uninstall-recursive install-info-recursive \
+check-recursive installcheck-recursive info-recursive dvi-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
+ rev="$$subdir $$rev"; \
+ test "$$subdir" = "." && dot_seen=yes; \
+ done; \
+ test "$$dot_seen" = "no" && rev=". $$rev"; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @banner="$(distdir).tar.gz is ready for distribution"; \
+ dashes=`echo "$$banner" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ echo "$$dashes"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+ for subdir in $(DIST_SUBDIRS); do \
+ if test "$$subdir" = .; then :; else \
+ test -d $(distdir)/$$subdir \
+ || mkdir $(distdir)/$$subdir \
+ || exit 1; \
+ chmod 777 $(distdir)/$$subdir; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
+ || exit 1; \
+ fi; \
+ done
+info-am:
+info: info-recursive
+dvi-am:
+dvi: dvi-recursive
+check-am:
+check: check-recursive
+installcheck-am:
+installcheck: installcheck-recursive
+install-info-am:
+install-info: install-info-recursive
+install-exec-am:
+install-exec: install-exec-recursive
+
+install-data-am: install-toollibLIBRARIES install-toollibDATA \
+ install-data-local
+install-data: install-data-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-recursive
+uninstall-am: uninstall-toollibLIBRARIES uninstall-toollibDATA
+uninstall: uninstall-recursive
+all-am: Makefile $(LIBRARIES) $(DATA)
+all-redirect: all-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs: installdirs-recursive
+installdirs-am:
+ $(mkinstalldirs) $(DESTDIR)$(toollibdir) $(DESTDIR)$(toollibdir)
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-toollibLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-recursive
+
+clean-am: clean-toollibLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean-am
+
+clean: clean-recursive
+
+distclean-am: distclean-toollibLIBRARIES distclean-compile \
+ distclean-tags distclean-generic clean-am
+
+distclean: distclean-recursive
+ -rm -f config.status
+
+maintainer-clean-am: maintainer-clean-toollibLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f config.status
+
+.PHONY: mostlyclean-toollibLIBRARIES distclean-toollibLIBRARIES \
+clean-toollibLIBRARIES maintainer-clean-toollibLIBRARIES \
+uninstall-toollibLIBRARIES install-toollibLIBRARIES mostlyclean-compile \
+distclean-compile clean-compile maintainer-clean-compile \
+uninstall-toollibDATA install-toollibDATA install-data-recursive \
+uninstall-data-recursive install-exec-recursive \
+uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
+all-recursive check-recursive installcheck-recursive info-recursive \
+dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-info-am \
+install-info install-exec-am install-exec install-data-local \
+install-data-am install-data install-am install uninstall-am uninstall \
+all-redirect all-am all installdirs-am installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+libc.a: libc/libc.a libm.a
+ rm -rf libc.a libg.a tmp
+ mkdir tmp
+ cd tmp; \
+ $(AR) x ../libm.a $(MATHOBJS_IN_LIBC) ; \
+ $(AR) x ../libc/libc.a ; \
+ $(AR) $(AR_FLAGS) ../$@ *.o
+ $(RANLIB) libc.a
+ ln libc.a libg.a
+ rm -rf tmp
+
+libc/libc.a: ; @true
+
+libm.a: libm/libm.a
+ rm -f $@
+ ln libm/libm.a $@ >/dev/null 2>/dev/null || cp libm/libm.a $@
+
+libm/libm.a: ; @true
+
+crt0.o: $(CRT0_DIR)/$(CRT0)
+ rm -f $@
+ ln $(CRT0_DIR)/$(CRT0) $@ >/dev/null 2>/dev/null \
+ || cp $(CRT0_DIR)/$(CRT0) $@
+
+$(CRT0_DIR)/$(CRT0): ; @true
+
+all-recursive: stmp-targ-include
+
+# The targ-include directory just holds the includes files for the
+# particular system and machine we have been configured for. It is
+# used while building.
+stmp-targ-include: config.status
+ -rm -rf targ-include stmp-targ-include
+ mkdir targ-include targ-include/sys targ-include/machine
+ -for i in $(srcdir)/libc/machine/$(machine_dir)/machine/*.h; do \
+ if [ -f $$i ]; then \
+ cp $$i targ-include/machine/`basename $$i`; \
+ else true; fi ; \
+ done
+ -for i in $(srcdir)/libc/sys/$(sys_dir)/include/*.h; do \
+ if [ -f $$i ]; then \
+ cp $$i targ-include/`basename $$i`; \
+ else true; fi ; \
+ done
+ -for i in $(srcdir)/libc/sys/$(sys_dir)/sys/*.h; do \
+ if [ -f $$i ]; then \
+ cp $$i targ-include/sys/`basename $$i`; \
+ else true; fi ; \
+ done
+ touch $@
+
+install-data-local: install-toollibLIBRARIES
+ rm -f $(toollibdir)/libg.a
+ ln $(toollibdir)/libc.a $(toollibdir)/libg.a
+ $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
+ -if [ -z "$(MULTISUBDIR)" ]; then \
+ for i in $(srcdir)/libc/include/*.h; do \
+ $(INSTALL_DATA) $$i $(tooldir)/include/`basename $$i`; \
+ done; \
+ for i in $(srcdir)/libc/include/machine/*.h; do \
+ $(INSTALL_DATA) $$i $(tooldir)/include/machine/`basename $$i`; \
+ done; \
+ for i in $(srcdir)/libc/machine/$(machine_dir)/machine/*.h; do \
+ if [ -f $$i ]; then \
+ $(INSTALL_DATA) $$i $(tooldir)/include/machine/`basename $$i`; \
+ else true; fi ; \
+ done; \
+ for i in $(srcdir)/libc/include/sys/*.h; do \
+ $(INSTALL_DATA) $$i $(tooldir)/include/sys/`basename $$i`; \
+ done; \
+ for i in $(srcdir)/libc/sys/$(sys_dir)/sys/*.h; do \
+ if [ -f $$i ]; then \
+ $(INSTALL_DATA) $$i $(tooldir)/include/sys/`basename $$i`; \
+ else true; fi ; \
+ done ; \
+ for i in $(srcdir)/libc/sys/$(sys_dir)/include/*.h; do \
+ if [ -f $$i ]; then \
+ $(INSTALL_DATA) $$i $(tooldir)/include/`basename $$i`; \
+ else true; fi ; \
+ done ; \
+ else true; fi
+
+# Force makedoc to be built before building info files.
+info-recursive: doc/makedoc
+dvi-recursive: doc/makedoc
+doc/makedoc:
+ cd doc && $(MAKE) all
+
+# Multilib support.
+.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
+ maintainer-clean-multi
+
+all-recursive: all-multi
+mostlyclean-recursive: mostlyclean-multi
+clean-recursive: clean-multi
+distclean-recursive: distclean-multi
+maintainer-clean-recursive: maintainer-clean-multi
+
+all-multi:
+ $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
+mostlyclean-multi:
+ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean
+clean-multi:
+ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean
+distclean-multi:
+ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
+maintainer-clean-multi:
+ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/NEWS b/newlib/NEWS
new file mode 100644
index 00000000000..733185d8951
--- /dev/null
+++ b/newlib/NEWS
@@ -0,0 +1,79 @@
+*** Major changes in newlib version 1.8.2:
+
+* RTEMS features and fixes from Joel Sherrill.
+
+* More work on reentrant routines.
+
+* Floating point math library check, --enable-newlib-hw-fp.
+
+*** Major changes in newlib version 1.8.1:
+
+* Added check for --enable-newlib-mb configure option which defines the
+ MB_CAPABLE macro. Multibyte support for JIS, SJIS, and EUC-JP implemented.
+
+* Reduced code size for libm modules.
+
+* Replaced the BSD malloc with Doug Lea's malloc.
+
+*** Major changes in newlib version 1.8.0:
+
+* Added simulated signal handling functions _raise_r, _signal_r, raise, and
+ signal except for sparc-sun-sunos*, i[3456]86-*-sco*, and a29k-*-* systems,
+ which already provide access to signal. The signal functionality provided
+ does not interact with hardware generated signals.
+
+* Added reentrant function rand_r from POSIX.1c.
+
+* Removed _asctime, _next, _scanpoint, and _signgam fields from struct
+ _reent. These are no longer necessary since there are now functions
+ that explictly support multiple threads (asctime_r, ctime_r, gamma_r,
+ gmtime_r, lgamma_r, localtime_r, rand_r, & strtok_r).
+
+
+*** Major changes in newlib version 1.7.0:
+
+* Cross compiler target libraries are now built in a subdir of the top level
+ build directory.
+
+ Old way: build
+ /newlib
+ /m68020
+ /m68881
+ New way:
+ build
+ /m68k-coff
+ /m68020
+ /m68881
+
+ where m68020 and m68881 are multilib subdirectories
+
+* m68k targets support --disable options to avoid building unwanted versions
+ of the libraries.
+
+ --disable-softfloat - don't build libc, libg++, etc. for -msoft-float
+ --disable-m68881 - don't build libc, libg++, etc. for -m68881
+ --disable-m68000 - don't build libc, libg++, etc. for -m68000
+ --disable-m68020 - don't build libc, libg++, etc. for -m68020
+
+ These options have *no* effect on the default libraries, so if the default
+ is -m68020, --disable-m68020 is nilpotent.
+
+* Reentrancy support in libm removed.
+
+* strtok, strtol, strtoul, assert, div, ldiv, qsort, vfprintf
+ replaced with NetBSD versions.
+
+* Support for systems with 32 bit "doubles" added.
+
+* unctrl added.
+
+* dtoa.c updated from master dtoa.c soruces (netlib.att.com)
+
+* Various bug fixes.
+
+*** Major changes in newlib version 1.6.1:
+
+* Added reentrant functions (asctime_r, ctime_r, gmtime_r, localtime_r,
+and strtok_r) from POSIX.1c.
+
+* Removed _asctime_r and _strtok_r functions.
diff --git a/newlib/README b/newlib/README
new file mode 100644
index 00000000000..fdda052d3dd
--- /dev/null
+++ b/newlib/README
@@ -0,0 +1,231 @@
+ README for newlib-1.8.2 release
+ (mostly cribbed from the README in the gdb-4.13 release)
+
+This is `newlib', a simple ANSI C library, math library, and collection
+of board support packages.
+
+The newlib and libgloss subdirectories are a collection of software from
+several sources, each with their own copyright. See the file COPYING.NEWLIB
+for details. The rest of the release tree is under either the GNU GPL or
+LPGL copyright.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+Unpacking and Installation -- quick overview
+==========================
+
+When you unpack the newlib-1.8.2.tar.gz file, you'll find a directory
+called `newlib-1.8.2', which contains:
+
+COPYING config/ install-sh* mpw-configure
+COPYING.LIB config-ml.in libgloss/ mpw-install
+COPYING.NEWLIB config.guess* mkinstalldirs* newlib/
+CYGNUS config.sub* move-if-change* symlink-tree*
+ChangeLog configure* mpw-README texinfo/
+Makefile.in configure.in mpw-build.in
+README etc/ mpw-config.in
+
+To build NEWLIB, you can just do:
+
+ cd newlib-1.8.2
+ ./configure --target=<your target>
+ make all install
+
+This will configure and build all the libraries and crt0 (if one exists).
+If `configure' can't determine your host system type, specify one as its
+argument, e.g., sun4 or sun4sol2. NEWLIB is most often used in cross
+environments.
+
+NOTE THAT YOU MUST HAVE ALREADY BUILT AND INSTALLED GCC and BINUTILS.
+
+
+More Documentation
+==================
+
+ Newlib documentation is available on the net via:
+ http://www.cygnus.com/pubs/gnupro
+
+ All the documentation for NEWLIB comes as part of the machine-readable
+distribution. The documentation is written in Texinfo format, which is
+a documentation system that uses a single source file to produce both
+on-line information and a printed manual. You can use one of the Info
+formatting commands to create the on-line version of the documentation
+and TeX (or `texi2roff') to typeset the printed version.
+
+ If you want to format these Info files yourself, you need one of the
+Info formatting programs, such as `texinfo-format-buffer' or `makeinfo'.
+
+ If you want to typeset and print copies of this manual, you need TeX,
+a program to print its DVI output files, and `texinfo.tex', the Texinfo
+definitions file.
+
+ TeX is a typesetting program; it does not print files directly, but
+produces output files called DVI files. To print a typeset document,
+you need a program to print DVI files. If your system has TeX
+installed, chances are it has such a program. The precise command to
+use depends on your system; `lpr -d' is common; another (for PostScript
+devices) is `dvips'. The DVI print command may require a file name
+without any extension or a `.dvi' extension.
+
+ TeX also requires a macro definitions file called `texinfo.tex'.
+This file tells TeX how to typeset a document written in Texinfo
+format. On its own, TeX cannot read, much less typeset a Texinfo file.
+`texinfo.tex' is distributed with NEWLIB and is located in the
+`newlib-VERSION-NUMBER/texinfo' directory.
+
+
+
+Compiling NEWLIB in another directory
+=====================================
+
+ If you want to run NEWLIB versions for several host or target machines,
+you need a different `newlib' compiled for each combination of host and
+target. `configure' is designed to make this easy by allowing you to
+generate each configuration in a separate subdirectory, rather than in
+the source directory. If your `make' program handles the `VPATH'
+feature correctly (like GNU `make') running `make' in each of these
+directories builds the `newlib' libraries specified there.
+
+ To build `newlib' in a separate directory, run `configure' with the
+`--srcdir' option to specify where to find the source. (You also need
+to specify a path to find `configure' itself from your working
+directory. If the path to `configure' would be the same as the
+argument to `--srcdir', you can leave out the `--srcdir' option; it
+will be assumed.)
+
+ For example, with version 1.8.2, you can build NEWLIB in a separate
+directory for a Sun 4 cross m68k-aout environment like this:
+
+ cd newlib-1.8.2
+ mkdir ../newlib-m68k-aout
+ cd ../newlib-m68k-aout
+ ../newlib-1.8.2/configure --host=sun4 --target=m68k-aout
+ make
+
+ When `configure' builds a configuration using a remote source
+directory, it creates a tree for the binaries with the same structure
+(and using the same names) as the tree under the source directory. In
+the example, you'd find the Sun 4 library `libiberty.a' in the
+directory `newlib-m68k-aout/libiberty', and NEWLIB itself in
+`newlib-m68k-aout/newlib'.
+
+ When you run `make' to build a program or library, you must run it
+in a configured directory--whatever directory you were in when you
+called `configure' (or one of its subdirectories).
+
+ The `Makefile' that `configure' generates in each source directory
+also runs recursively. If you type `make' in a source directory such
+as `newlib-1.8.2' (or in a separate configured directory configured with
+`--srcdir=PATH/newlib-1.8.2'), you will build all the required libraries.
+
+ When you have multiple hosts or targets configured in separate
+directories, you can run `make' on them in parallel (for example, if
+they are NFS-mounted on each of the hosts); they will not interfere
+with each other.
+
+
+Specifying names for hosts and targets
+======================================
+
+ The specifications used for hosts and targets in the `configure'
+script are based on a three-part naming scheme, but some short
+predefined aliases are also supported. The full naming scheme encodes
+three pieces of information in the following pattern:
+
+ ARCHITECTURE-VENDOR-OS
+
+ For example, you can use the alias `sun4' as a HOST argument or in a
+`--target=TARGET' option. The equivalent full name is
+`sparc-sun-sunos4'.
+
+ The `configure' script accompanying NEWLIB does not provide any query
+facility to list all supported host and target names or aliases.
+`configure' calls the Bourne shell script `config.sub' to map
+abbreviations to full names; you can read the script, if you wish, or
+you can use it to test your guesses on abbreviations--for example:
+
+ % sh config.sub sun4
+ sparc-sun-sunos4.1.1
+ % sh config.sub sun3
+ m68k-sun-sunos4.1.1
+ % sh config.sub decstation
+ mips-dec-ultrix4.2
+ % sh config.sub hp300bsd
+ m68k-hp-bsd
+ % sh config.sub i386v
+ i386-pc-sysv
+ % sh config.sub i786v
+ Invalid configuration `i786v': machine `i786v' not recognized
+
+
+`configure' options
+===================
+
+ Here is a summary of the `configure' options and arguments that are
+most often useful for building NEWLIB. `configure' also has several other
+options not listed here.
+
+ configure [--help]
+ [--prefix=DIR]
+ [--srcdir=PATH]
+ [--target=TARGET] HOST
+
+You may introduce options with a single `-' rather than `--' if you
+prefer; but you may abbreviate option names if you use `--'.
+
+`--help'
+ Display a quick summary of how to invoke `configure'.
+
+`--prefix=DIR'
+ Configure the source to install programs and files in directory
+ `DIR'.
+
+`--exec-prefix=DIR'
+ Configure the source to install host-dependent files in directory
+ `DIR'.
+
+`--srcdir=PATH'
+ *Warning: using this option requires GNU `make', or another `make'
+ that compatibly implements the `VPATH' feature.
+ Use this option to make configurations in directories separate
+ from the NEWLIB source directories. Among other things, you can use
+ this to build (or maintain) several configurations simultaneously,
+ in separate directories. `configure' writes configuration
+ specific files in the current directory, but arranges for them to
+ use the source in the directory PATH. `configure' will create
+ directories under the working directory in parallel to the source
+ directories below PATH.
+
+`--norecursion'
+ Configure only the directory level where `configure' is executed;
+ do not propagate configuration to subdirectories.
+
+`--target=TARGET'
+ Configure NEWLIB for running on the specified TARGET.
+
+ There is no convenient way to generate a list of all available
+ targets.
+
+`HOST ...'
+ Configure NEWLIB to be built using a cross compiler running on
+ the specified HOST.
+
+ There is no convenient way to generate a list of all available
+ hosts.
+
+
+Reporting Bugs
+==============
+
+The correct address for reporting bugs found in NEWLIB is
+"newlib@sourceware.cygnus.com". Please email all bug reports to that
+address. Please include the NEWLIB version number (e.g., newlib-1.8.2),
+and how you configured it (e.g., "sun4 host and m68k-aout target").
+Since NEWLIB supports many different configurations, it is important
+that you be precise about this.
+
+Archives of the newlib mailing list are on-line, see
+ http://sourceware.cygnus.com/ml/newlib/
diff --git a/newlib/acinclude.m4 b/newlib/acinclude.m4
new file mode 100644
index 00000000000..d21f67c18c5
--- /dev/null
+++ b/newlib/acinclude.m4
@@ -0,0 +1,144 @@
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
diff --git a/newlib/aclocal.m4 b/newlib/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/configure b/newlib/configure
new file mode 100755
index 00000000000..d9da9417fb0
--- /dev/null
+++ b/newlib/configure
@@ -0,0 +1,1865 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+ac_help="$ac_help
+ --enable-newlib-hw-fp Turn on hardware floating point math"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=libc
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in .. $srcdir/..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in .. $srcdir/.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:580: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:633: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:690: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:723: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 728 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:739: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:756: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 761 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:768: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}."
+ fi
+else
+ newlib_basedir="${srcdir}/."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:842: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:883: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:896: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:909: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:922: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:935: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:960: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:990: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1039: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1048: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1063: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1096: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1117: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1149: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1181: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1213: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1258: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1312: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1346: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/./targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+configdirs="libc libm"
+
+# Check whether --enable-newlib_hw_fp or --disable-newlib_hw_fp was given.
+if test "${enable_newlib_hw_fp+set}" = set; then
+ enableval="$enable_newlib_hw_fp"
+ case "${enableval}" in
+ yes) newlib_hw_fp=true ;;
+ no) newlib_hw_fp=false ;;
+ *) { echo "configure: error: bad value ${enableval} for --enable-newlib-hw-fp" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_hw_fp=false
+fi
+
+
+
+if test x$newlib_hw_fp = xtrue; then
+ NEWLIB_HW_FP_TRUE=
+ NEWLIB_HW_FP_FALSE='#'
+else
+ NEWLIB_HW_FP_TRUE='#'
+ NEWLIB_HW_FP_FALSE=
+fi
+
+if test -z "${with_multisubdir}"; then
+ configdirs="${configdirs} doc"
+ have_doc=yes
+else
+ have_doc=
+fi
+
+
+if test x$have_doc = xyes; then
+ HAVE_DOC_TRUE=
+ HAVE_DOC_FALSE='#'
+else
+ HAVE_DOC_TRUE='#'
+ HAVE_DOC_FALSE=
+fi
+
+subdirs="${configdirs}"
+
+
+CRT0=
+CRT0_DIR=
+if test -n "${sys_dir}"; then
+ CRT0=crt0.o
+ CRT0_DIR=libc
+fi
+
+
+
+
+
+
+if test "${multilib}" = "yes"; then
+ multilib_arg="--enable-multilib"
+else
+ multilib_arg=
+fi
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+s%@NEWLIB_HW_FP_TRUE@%$NEWLIB_HW_FP_TRUE%g
+s%@NEWLIB_HW_FP_FALSE@%$NEWLIB_HW_FP_FALSE%g
+s%@HAVE_DOC_TRUE@%$HAVE_DOC_TRUE%g
+s%@HAVE_DOC_FALSE@%$HAVE_DOC_FALSE%g
+s%@subdirs@%$subdirs%g
+s%@CRT0@%$CRT0%g
+s%@CRT0_DIR@%$CRT0_DIR%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+srcdir=${srcdir}
+host=${host}
+target=${target}
+with_multisubdir=${with_multisubdir}
+ac_configure_args="${multilib_arg} ${ac_configure_args}"
+CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+newlib_basedir=${newlib_basedir}
+CC="${CC}"
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+if test -n "$CONFIG_FILES"; then
+ . ${newlib_basedir}/../config-ml.in
+fi
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
+if test "$no_recursion" != yes; then
+
+ # Remove --cache-file and --srcdir arguments so they do not pile up.
+ ac_sub_configure_args=
+ ac_prev=
+ for ac_arg in $ac_configure_args; do
+ if test -n "$ac_prev"; then
+ ac_prev=
+ continue
+ fi
+ case "$ac_arg" in
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ ;;
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ ;;
+ *) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;;
+ esac
+ done
+
+ for ac_config_dir in ${configdirs}; do
+
+ # Do not complain, so a configure script can configure whichever
+ # parts of a large source tree are present.
+ if test ! -d $srcdir/$ac_config_dir; then
+ continue
+ fi
+
+ echo configuring in $ac_config_dir
+
+ case "$srcdir" in
+ .) ;;
+ *)
+ if test -d ./$ac_config_dir || mkdir ./$ac_config_dir; then :;
+ else
+ { echo "configure: error: can not create `pwd`/$ac_config_dir" 1>&2; exit 1; }
+ fi
+ ;;
+ esac
+
+ ac_popdir=`pwd`
+ cd $ac_config_dir
+
+ # A "../" for each directory in /$ac_config_dir.
+ ac_dots=`echo $ac_config_dir|sed -e 's%^\./%%' -e 's%[^/]$%&/%' -e 's%[^/]*/%../%g'`
+
+ case "$srcdir" in
+ .) # No --srcdir option. We are building in place.
+ ac_sub_srcdir=$srcdir ;;
+ /*) # Absolute path.
+ ac_sub_srcdir=$srcdir/$ac_config_dir ;;
+ *) # Relative path.
+ ac_sub_srcdir=$ac_dots$srcdir/$ac_config_dir ;;
+ esac
+
+ # Check for guested configure; otherwise get Cygnus style configure.
+ if test -f $ac_sub_srcdir/configure; then
+ ac_sub_configure=$ac_sub_srcdir/configure
+ elif test -f $ac_sub_srcdir/configure.in; then
+ ac_sub_configure=$ac_configure
+ else
+ echo "configure: warning: no configuration information is in $ac_config_dir" 1>&2
+ ac_sub_configure=
+ fi
+
+ # The recursion is here.
+ if test -n "$ac_sub_configure"; then
+
+ # Make the cache file name correct relative to the subdirectory.
+ case "$cache_file" in
+ /*) ac_sub_cache_file=$cache_file ;;
+ *) # Relative path.
+ ac_sub_cache_file="$ac_dots$cache_file" ;;
+ esac
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo "running ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir"
+ # The eval makes quoting arguments work.
+ if eval ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir
+ then :
+ else
+ { echo "configure: error: $ac_sub_configure failed for $ac_config_dir" 1>&2; exit 1; }
+ fi
+ fi
+
+ cd $ac_popdir
+ done
+fi
+
diff --git a/newlib/configure.host b/newlib/configure.host
new file mode 100644
index 00000000000..fcfaa5c9a5a
--- /dev/null
+++ b/newlib/configure.host
@@ -0,0 +1,457 @@
+# configure.host
+
+# This shell script handles all host based configuration for newlib.
+# It sets various shell variables based on the the host and the
+# configuration options. You can modify this shell script without
+# needing to rerun autoconf.
+
+# This shell script should be invoked as
+# . configure.host
+# If it encounters an error, it will exit with a message.
+
+# FIXME: This script is too complicated. It does things in too many
+# different ways. This was taken from the old Cygnus configure script
+# with only minor changes. It should be cleaned up.
+
+# FIXME: The general approach of picking and choosing which
+# directories to configure, other than machine_dir and sys_dir, is
+# potentially confusing.
+
+# It uses the following shell variables:
+# host The configuration host
+# host_cpu The configuration host CPU
+# newlib_mb --enable-newlib-mb ("yes", "no")
+# target_optspace --enable-target-optspace ("yes", "no", "")
+
+# It sets the following shell variables:
+# newlib_cflags Special CFLAGS to use when building
+# machine_dir Subdirectory of libc/machine to configure
+# sys_dir Subdirectory of libc/sys to configure
+# posix_dir "posix" to build libc/posix, "" otherwise
+# signal_dir "signal" to build libc/signal, "" otherwise
+# syscall_dir "syscalls" to build libc/syscalls, "" otherwise
+# unix_dir "unix" to build libc/unix, "" otherwise
+
+newlib_cflags=
+machine_dir=
+sys_dir=
+posix_dir=
+signal_dir=signal
+syscall_dir=
+unix_dir=
+mach_add_setjmp=
+
+case "${target_optspace}:${host}" in
+ yes:*)
+ newlib_cflags="${newlib_cflags} -Os"
+ ;;
+ :m32r-* | :d10v-* | :d30v-*)
+ newlib_cflags="${newlib_cflags} -Os"
+ ;;
+ no:* | :*)
+ newlib_cflags="${newlib_cflags} -O2"
+ ;;
+esac
+
+# Get the source directories to use for the CPU type.
+# machine_dir should supply CPU dependent routines, such as setjmp.
+# newlib_cflags is passed to gcc when compiling.
+# THIS TABLE IS ALPHA SORTED. KEEP IT THAT WAY.
+
+case "${host_cpu}" in
+ a29k)
+ machine_dir=a29k
+ ;;
+ arc)
+ machine_dir=
+ ;;
+ arm)
+ machine_dir=arm
+ ;;
+ d10v*)
+ machine_dir=d10v
+ ;;
+ d30v*)
+ machine_dir=d30v
+ ;;
+ fr30)
+ machine_dir=fr30
+ ;;
+ h8300)
+ machine_dir=h8300
+ ;;
+ h8500)
+ machine_dir=h8500
+ ;;
+ hppa*)
+ machine_dir=hppa
+ ;;
+ i960)
+ machine_dir=i960
+ ;;
+ i[3456]86)
+ # Don't use for these since they provide their own setjmp.
+ case ${host} in
+ *-*-go32 | *-*-sco* | *-*-cygwin*)
+ machine_dir=i386
+ ;;
+ *)
+ machine_dir=i386
+ mach_add_setjmp=true
+ ;;
+ esac
+ ;;
+ m32r*)
+ machine_dir=m32r
+ ;;
+ m68*)
+ machine_dir=m68k
+ ;;
+ m88k)
+ machine_dir=m88k
+ newlib_cflags="${newlib_cflags} -m88000"
+ ;;
+ m88110)
+ machine_dir=m88k
+ newlib_cflags="${newlib_cflags} -m88110"
+ ;;
+ mcore)
+ ;;
+ mips*)
+ machine_dir=mips
+ ;;
+ mn10200)
+ machine_dir=mn10200
+ ;;
+ mn10300)
+ machine_dir=mn10300
+ ;;
+ powerpc*)
+ machine_dir=powerpc
+ ;;
+ sh)
+ machine_dir=sh
+ ;;
+ sparc*)
+ machine_dir=sparc
+ # FIXME: Might wish to make MALLOC_ALIGNMENT more generic.
+ newlib_cflags="${newlib_cflags} -DMALLOC_ALIGNMENT=8"
+ ;;
+ strongarm)
+ machine_dir=arm
+ ;;
+ thumb)
+ machine_dir=arm
+ ;;
+ tic80*)
+ machine_dir=tic80
+ ;;
+ v70)
+ ;;
+ v810)
+ ;;
+ v850)
+ machine_dir=v850
+ newlib_cflags="${newlib_cflags} -DPREFER_SIZE_OVER_SPEED -mv850 -mno-app-regs -msmall-sld"
+ ;;
+ v850e)
+ machine_dir=v850
+ newlib_cflags="${newlib_cflags} -DPREFER_SIZE_OVER_SPEED -mv850 -mno-app-regs -msmall-sld"
+ ;;
+ v850ea)
+ machine_dir=v850
+ newlib_cflags="${newlib_cflags} -DPREFER_SIZE_OVER_SPEED -mv850 -mno-app-regs -msmall-sld"
+ ;;
+ w65*)
+ machine_dir=w65
+ ;;
+ z8k)
+ machine_dir=z8k
+ ;;
+ *)
+ echo '***' "Newlib does not support CPU ${host_cpu}" 1>&2
+ exit 1
+ ;;
+esac
+
+# Enable multibyte support if requested.
+
+if [ "${newlib_mb}" = "yes" ] ; then
+ newlib_cflags="${newlib_cflags} -DMB_CAPABLE"
+fi
+
+# Get the source directories to use for the host. unix_dir is set
+# to unix to get some standard Unix routines. posix_dir is set to get some
+# standard Posix routines. sys_dir should supply system dependent routines
+# including crt0.
+# THIS TABLE IS ALPHA SORTED. KEEP IT THAT WAY.
+
+case "${host}" in
+ *-*-cygwin*)
+ sys_dir=cygwin
+ posix_dir=posix
+ ;;
+ *-*-netware*)
+ signal_dir=
+ sys_dir=netware
+ ;;
+ *-*-rtems*) # generic RTEMS support
+ sys_dir=rtems
+ # RTEMS POSIX support is all inside RTEMS
+ ;;
+ a29k-*-*)
+ sys_dir=a29khif
+ signal_dir=
+ ;;
+ arc-*-*)
+ sys_dir=arc
+ ;;
+ arm-*-*)
+ sys_dir=arm
+ ;;
+ d10v*)
+ sys_dir=d10v
+ ;;
+ d30v*)
+ sys_dir=
+ ;;
+ h8300-*-hms*)
+ sys_dir=h8300hms
+ ;;
+ h8300-*-xray*)
+ sys_dir=h8300xray
+ ;;
+ h8500-*-hms*)
+ sys_dir=h8500hms
+ ;;
+ i[3456]86-*-go32)
+ sys_dir=go32
+ ;;
+ i[3456]86-*-sco*)
+ sys_dir=sysvi386
+ unix_dir=unix
+ ;;
+ m68k-sun-sunos*)
+ unix_dir=unix
+ ;;
+ m8*-bug-*)
+ sys_dir=m88kbug
+ ;;
+ mips*-dec-*)
+ sys_dir=decstation
+ ;;
+ powerpcle-*-pe)
+ sys_dir=cygwin
+ posix_dir=posix
+ ;;
+ sh*-*)
+ sys_dir=sh
+ ;;
+ sparc-sun-sunos*)
+ sys_dir=sun4
+ unix_dir=unix
+ ;;
+ sparc64*)
+ sys_dir=sparc64
+ unix_dir=unix
+ ;;
+ strongarm-*-*)
+ sys_dir=arm
+ ;;
+ thumb-*-*)
+ sys_dir=arm
+ ;;
+ tic80*)
+ sys_dir=tic80
+ ;;
+ v70-nec-*)
+ sys_dir=sysvnecv70
+ ;;
+ v810-*-*)
+ sys_dir=sysnec810
+ ;;
+ v850-*-*)
+ sys_dir=sysnecv850
+ ;;
+ v850e-*-*)
+ sys_dir=sysnecv850
+ ;;
+ v850ea-*-*)
+ sys_dir=sysnecv850
+ ;;
+ w65-*-*)
+ sys_dir=w65
+ ;;
+ z8k-*-coff)
+ sys_dir=z8ksim
+ ;;
+esac
+
+# Host specific flag settings -- usually for features that are not
+# general enough or broad enough to be handled above.
+# THIS TABLE IS ALPHA SORTED. KEEP IT THAT WAY.
+
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -DHAVE_OPENDIR -DHAVE_RENAME -DSIGNAL_PROVIDED -DWANT_PRINTF_LONG_LONG -D_COMPILING_NEWLIB"
+ syscall_dir=syscalls
+ ;;
+# RTEMS supplies its own versions of some routines:
+# malloc() (reentrant version)
+# exit() RTEMS has a "global" reent to flush
+# signal()/raise() RTEMS has its own including pthread signals
+# _XYZ_r() RTEMS has its own reentrant routines
+#
+# NOTE: When newlib malloc uses a semaphore, RTEMS will switch to that.
+ *-*-rtems*)
+ newlib_cflags="${newlib_cflags} -DHAVE_GETTIMEOFDAY -DMALLOC_PROVIDED -DEXIT_PROVIDED -DMISSING_SYSCALL_NAMES -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_OPENDIR"
+ ;;
+# VxWorks supplies its own version of malloc, and the newlib one
+# doesn't work because VxWorks does not have sbrk.
+ *-wrs-vxworks*)
+ newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DMISSING_SYSCALL_NAMES"
+ ;;
+# UDI doesn't have exec, so system() should fail the right way
+ a29k-amd-udi)
+ newlib_cflags="${newlib_cflags} -DNO_EXEC"
+ syscall_dir=syscalls
+ ;;
+ arc-*-*)
+ syscall_dir=syscalls
+ ;;
+ arm-*-pe)
+ syscall_dir=syscalls
+ newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
+# Don't use the debugging protocols just yet.
+ ;;
+ arm-*-*)
+ syscall_dir=syscalls
+ newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
+# Select which debug protocol is being used.
+# ARM_RDP_MONITOR selects the Demon monitor.
+# ARM_RDI_MONITOR selects the Angel monitor.
+# If neither are defined, then hard coded defaults will be used
+# to create the program's environment.
+# See also thumb below.
+# newlib_cflags="${newlib_cflags} -DARM_RDP_MONITOR"
+ newlib_cflags="${newlib_cflags} -DARM_RDI_MONITOR"
+ ;;
+ d10v*)
+ newlib_cflags="${newlib_cflags} -DSMALL_MEMORY"
+ syscall_dir=syscalls
+ ;;
+ d30v*)
+ newlib_cflags="${newlib_cflags} -DABORT_MESSAGE -DSMALL_MEMORY -DMISSING_SYSCALL_NAMES"
+ syscall_dir=
+ ;;
+ fr30-*-*)
+ newlib_cflags="${newlib_cflags}"
+ syscall_dir=syscalls
+ ;;
+ h8300*-*-*)
+ syscall_dir=syscalls
+ newlib_cflags="${newlib_cflags} -DSMALL_DTOA -DSMALL_MEMORY"
+ ;;
+ h8500-*-*)
+ syscall_dir=syscalls
+ newlib_cflags="${newlib_cflags} -DSMALL_DTOA -DSMALL_MEMORY"
+ ;;
+ i[3456]86-*-sco*)
+ newlib_cflags="${newlib_cflags} -DSIGNAL_PROVIDED"
+ ;;
+ i[3456]86-*-netware*)
+ newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES -DNO_EXEC -DABORT_PROVIDED -DCLOCK_PROVIDED -DMALLOC_PROVIDED"
+ ;;
+ i[3456]86-*-go32)
+ newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES -DNO_EXEC"
+ ;;
+ m32r-*-*)
+ # Pass -msdata=sdata so _impure_ptr goes in .sdata.
+ # We don't generate sda relocs however for upward compatibility.
+ # FIXME: This is necessary because the default multilib doesn't
+ # use --print-multi-lib.
+ newlib_cflags="${newlib_cflags} -msdata=sdata"
+ syscall_dir=syscalls
+ ;;
+ mcore-*-*)
+ newlib_cflags="${newlib_cflags}"
+ syscall_dir=syscalls
+ ;;
+ mn10?00-*-*)
+ syscall_dir=syscalls
+ ;;
+ powerpc*-*-eabi* | \
+ powerpc*-*-elf* | \
+ powerpc*-*-linux* | \
+ powerpc*-*-rtem* | \
+ powerpc*-*-sysv* | \
+ powerpc*-*-solaris*)
+ newlib_cflags="${newlib_cflags} -mrelocatable-lib -mno-eabi -mstrict-align -DMISSING_SYSCALL_NAMES"
+ ;;
+ powerpcle-*-pe)
+ newlib_cflags="${newlib_cflags} -DHAVE_OPENDIR -DHAVE_RENAME"
+ syscall_dir=syscalls
+ ;;
+ sh*-*-*)
+ syscall_dir=syscalls
+ ;;
+ sparc-sun-sunos*)
+ newlib_cflags="${newlib_cflags} -DSIGNAL_PROVIDED"
+ ;;
+ sparc64-*-*)
+ newlib_cflags="${newlib_cflags} -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_BLKSIZE -DHAVE_GETTIMEOFDAY"
+ # This either belongs elsewhere or nowhere. But I need *something*,
+ # so for now it's here ...
+ case "${host_os}" in
+ aoutv8 | *32p)
+ newlib_cflags="${newlib_cflags} -DTARGET_PTR_SIZE=32" ;;
+ *)
+ newlib_cflags="${newlib_cflags} -DTARGET_PTR_SIZE=64" ;;
+ esac
+ ;;
+ strongarm-*-*)
+ syscall_dir=syscalls
+ newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
+ newlib_cflags="${newlib_cflags} -DARM_RDI_MONITOR"
+ ;;
+ thumb-*-pe)
+ syscall_dir=syscalls
+ newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
+# Don't use the debugging protocols just yet.
+ ;;
+ thumb-*-*)
+ syscall_dir=syscalls
+ newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
+# Select which debug protocol is being used.
+# ARM_RDP_MONITOR selects the Demon monitor.
+# ARM_RDI_MONITOR selects the Angel monitor.
+# If neither are defined, then hard coded defaults will be used
+# to create the program's environment.
+# See also arm and strongarm above.
+# newlib_cflags="${newlib_cflags} -DARM_RDP_MONITOR"
+ newlib_cflags="${newlib_cflags} -DARM_RDI_MONITOR"
+ ;;
+ tic80*)
+ syscall_dir=syscalls
+ ;;
+ v850-*-*)
+ syscall_dir=syscalls
+ ;;
+ v850e-*-*)
+ syscall_dir=syscalls
+ ;;
+ v850ea-*-*)
+ syscall_dir=syscalls
+ ;;
+ w65-*-*)
+ syscall_dir=syscalls
+ newlib_cflags="${newlib_cflags} -DSMALL_DTOA -DSMALL_MEMORY"
+ ;;
+ z8k-*-*)
+ syscall_dir=syscalls
+ ;;
+ *)
+ newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES"
+ syscall_dir=
+ ;;
+esac
diff --git a/newlib/configure.in b/newlib/configure.in
new file mode 100644
index 00000000000..218e69e45a3
--- /dev/null
+++ b/newlib/configure.in
@@ -0,0 +1,64 @@
+dnl This is the newlib configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(libc)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(..)
+
+NEWLIB_CONFIGURE(.)
+
+configdirs="libc libm"
+
+AC_ARG_ENABLE(newlib_hw_fp,
+[ --enable-newlib-hw-fp Turn on hardware floating point math],
+[case "${enableval}" in
+ yes) newlib_hw_fp=true ;;
+ no) newlib_hw_fp=false ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-newlib-hw-fp) ;;
+ esac],[newlib_hw_fp=false])
+AM_CONDITIONAL(NEWLIB_HW_FP, test x$newlib_hw_fp = xtrue)
+
+if test -z "${with_multisubdir}"; then
+ configdirs="${configdirs} doc"
+ have_doc=yes
+else
+ have_doc=
+fi
+AM_CONDITIONAL(HAVE_DOC, test x$have_doc = xyes)
+
+AC_CONFIG_SUBDIRS(${configdirs})
+
+CRT0=
+CRT0_DIR=
+if test -n "${sys_dir}"; then
+ CRT0=crt0.o
+ CRT0_DIR=libc
+fi
+AC_SUBST(CRT0)
+AC_SUBST(CRT0_DIR)
+
+
+
+
+if test "${multilib}" = "yes"; then
+ multilib_arg="--enable-multilib"
+else
+ multilib_arg=
+fi
+
+
+AC_OUTPUT(Makefile,
+[if test -n "$CONFIG_FILES"; then
+ . ${newlib_basedir}/../config-ml.in
+fi],
+srcdir=${srcdir}
+host=${host}
+target=${target}
+with_multisubdir=${with_multisubdir}
+ac_configure_args="${multilib_arg} ${ac_configure_args}"
+CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+newlib_basedir=${newlib_basedir}
+CC="${CC}"
+)
diff --git a/newlib/doc/Makefile.am b/newlib/doc/Makefile.am
new file mode 100644
index 00000000000..de802d61eae
--- /dev/null
+++ b/newlib/doc/Makefile.am
@@ -0,0 +1,21 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+# We can't use noinst_PROGRAMS, because automake will add $(EXEEXT).
+noinst_DATA = makedoc
+
+MKDOC = makedoc$(EXEEXT_FOR_BUILD)
+
+# We don't use CFLAGS with CC_FOR_BUILD because here CFLAGS will
+# actually be CFLAGS_FOR_TARGET, and in some cases that will include
+# -Os, which CC_FOR_BUILD may not recognize.
+
+$(MKDOC): makedoc.o
+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS) -o $(MKDOC) makedoc.o
+
+makedoc.o: makedoc.c
+ $(CC_FOR_BUILD) -g $(CFLAGS_FOR_BUILD) -c $(srcdir)/makedoc.c
+
+ACLOCAL_AMFLAGS = -I ..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/doc/Makefile.in b/newlib/doc/Makefile.in
new file mode 100644
index 00000000000..f93c1fe859f
--- /dev/null
+++ b/newlib/doc/Makefile.in
@@ -0,0 +1,246 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+# We can't use noinst_PROGRAMS, because automake will add $(EXEEXT).
+noinst_DATA = makedoc
+
+MKDOC = makedoc$(EXEEXT_FOR_BUILD)
+
+ACLOCAL_AMFLAGS = -I ..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+DATA = $(noinst_DATA)
+
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+all: all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in ../acinclude.m4 \
+ ../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+tags: TAGS
+TAGS:
+
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @banner="$(distdir).tar.gz is ready for distribution"; \
+ dashes=`echo "$$banner" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ echo "$$dashes"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am:
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-info-am:
+install-info: install-info-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am:
+uninstall: uninstall-am
+all-am: Makefile $(DATA)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-generic mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-generic clean-am
+
+distclean: distclean-am
+ -rm -f config.status
+
+maintainer-clean-am: maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+ -rm -f config.status
+
+.PHONY: tags distdir info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-info-am install-info \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# We don't use CFLAGS with CC_FOR_BUILD because here CFLAGS will
+# actually be CFLAGS_FOR_TARGET, and in some cases that will include
+# -Os, which CC_FOR_BUILD may not recognize.
+
+$(MKDOC): makedoc.o
+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS) -o $(MKDOC) makedoc.o
+
+makedoc.o: makedoc.c
+ $(CC_FOR_BUILD) -g $(CFLAGS_FOR_BUILD) -c $(srcdir)/makedoc.c
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/doc/aclocal.m4 b/newlib/doc/aclocal.m4
new file mode 100644
index 00000000000..6f1442ecb7d
--- /dev/null
+++ b/newlib/doc/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/doc/ansidecl.h b/newlib/doc/ansidecl.h
new file mode 100644
index 00000000000..1c7708fd5b5
--- /dev/null
+++ b/newlib/doc/ansidecl.h
@@ -0,0 +1,116 @@
+/* ANSI and traditional C compatability macros
+ Copyright 1991 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
+
+/* ANSI and traditional C compatibility macros
+
+ Some ANSI environments are "broken" in the sense that __STDC__ cannot be
+ relied upon to have it's intended meaning. Therefore we must use our own
+ concoction: _HAVE_STDC. Always use _HAVE_STDC instead of __STDC__ in newlib
+ sources!
+
+ ANSI C is assumed if _HAVE_STDC is #defined.
+
+ Macro ANSI C definition Traditional C definition
+ ----- ---- - ---------- ----------- - ----------
+ PTR `void *' `char *'
+ LONG_DOUBLE `long double' `double'
+ CONST `const' `'
+ VOLATILE `volatile' `'
+ SIGNED `signed' `'
+ PTRCONST `void *const' `char *'
+
+ DEFUN(name, arglist, args)
+
+ Defines function NAME.
+
+ ARGLIST lists the arguments, separated by commas and enclosed in
+ parentheses. ARGLIST becomes the argument list in traditional C.
+
+ ARGS list the arguments with their types. It becomes a prototype in
+ ANSI C, and the type declarations in traditional C. Arguments should
+ be separated with `AND'. For functions with a variable number of
+ arguments, the last thing listed should be `DOTS'.
+
+ DEFUN_VOID(name)
+
+ Defines a function NAME, which takes no arguments.
+
+ EXFUN(name, prototype)
+
+ Is used in an external function declaration.
+ In ANSI C it is `NAMEPROTOTYPE' (so PROTOTYPE should be enclosed in
+ parentheses). In traditional C it is `NAME()'.
+ For a function that takes no arguments, PROTOTYPE should be `(NOARGS)'.
+
+ For example:
+ extern int EXFUN(printf, (CONST char *format DOTS));
+ int DEFUN(fprintf, (stream, format),
+ FILE *stream AND CONST char *format DOTS) { ... }
+ void DEFUN_VOID(abort) { ... }
+*/
+
+#ifndef _ANSIDECL_H
+
+#define _ANSIDECL_H 1
+
+
+/* Every source file includes this file,
+ so they will all get the switch for lint. */
+/* LINTLIBRARY */
+
+
+#ifdef _HAVE_STDC
+
+#define PTR void *
+#define PTRCONST void *CONST
+#define LONG_DOUBLE long double
+
+#define AND ,
+#define NOARGS void
+#define CONST const
+#define VOLATILE volatile
+#define SIGNED signed
+#define DOTS , ...
+
+#define EXFUN(name, proto) name proto
+#define DEFUN(name, arglist, args) name(args)
+#define DEFUN_VOID(name) name(NOARGS)
+
+#else /* Not ANSI C. */
+
+#define PTR char *
+#define PTRCONST PTR
+#define LONG_DOUBLE double
+
+#define AND ;
+#define NOARGS
+#define CONST
+#define VOLATILE
+#define SIGNED
+#define DOTS
+
+#define const
+
+#define EXFUN(name, proto) name()
+#define DEFUN(name, arglist, args) name arglist args;
+#define DEFUN_VOID(name) name()
+
+#endif /* ANSI C. */
+
+
+#endif /* ansidecl.h */
diff --git a/newlib/doc/configure b/newlib/doc/configure
new file mode 100755
index 00000000000..7955c8df5d5
--- /dev/null
+++ b/newlib/doc/configure
@@ -0,0 +1,1714 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=makedoc.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../.. $srcdir/../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../.. $srcdir/../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:567: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:620: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:677: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:710: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 715 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:726: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:743: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 748 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:755: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}.."
+ fi
+else
+ newlib_basedir="${srcdir}/.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:829: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:870: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:883: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:896: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:909: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:922: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:947: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:977: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1026: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1035: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1050: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1083: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1104: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1136: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1168: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1200: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1245: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1299: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1333: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1343: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+# Put a plausible default for CC_FOR_BUILD in Makefile.
+if test -z "$CC_FOR_BUILD"; then
+ if test "x$cross_compiling" = "xno"; then
+ CC_FOR_BUILD='$(CC)'
+ else
+ CC_FOR_BUILD=gcc
+ fi
+fi
+
+
+# Also set EXEEXT_FOR_BUILD.
+if test "x$cross_compiling" = "xno"; then
+ EXEEXT_FOR_BUILD='$(EXEEXT)'
+else
+ echo $ac_n "checking for build system executable suffix""... $ac_c" 1>&6
+echo "configure:1403: checking for build system executable suffix" >&5
+if eval "test \"`echo '$''{'newlib_cv_build_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > ac_c_test.c << 'EOF'
+int main() {
+/* Nothing needed here */
+}
+EOF
+ ${CC_FOR_BUILD} -o ac_c_test am_c_test.c 1>&5 2>&5
+ newlib_cv_build_exeext=`echo ac_c_test.* | grep -v ac_c_test.c | sed -e s/ac_c_test//`
+ rm -f ac_c_test*
+ test x"${newlib_cv_build_exeext}" = x && newlib_cv_build_exeext=no
+fi
+
+echo "$ac_t""$newlib_cv_build_exeext" 1>&6
+ EXEEXT_FOR_BUILD=""
+ test x"${newlib_cv_build_exeext}" != xno && EXEEXT_FOR_BUILD=${newlib_cv_build_exeext}
+fi
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+s%@CC_FOR_BUILD@%$CC_FOR_BUILD%g
+s%@EXEEXT_FOR_BUILD@%$EXEEXT_FOR_BUILD%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/doc/configure.in b/newlib/doc/configure.in
new file mode 100644
index 00000000000..b116b3538cc
--- /dev/null
+++ b/newlib/doc/configure.in
@@ -0,0 +1,41 @@
+dnl This is the newlib/doc configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(makedoc.c)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../..)
+
+NEWLIB_CONFIGURE(..)
+
+# Put a plausible default for CC_FOR_BUILD in Makefile.
+if test -z "$CC_FOR_BUILD"; then
+ if test "x$cross_compiling" = "xno"; then
+ CC_FOR_BUILD='$(CC)'
+ else
+ CC_FOR_BUILD=gcc
+ fi
+fi
+AC_SUBST(CC_FOR_BUILD)
+
+# Also set EXEEXT_FOR_BUILD.
+if test "x$cross_compiling" = "xno"; then
+ EXEEXT_FOR_BUILD='$(EXEEXT)'
+else
+ AC_CACHE_CHECK([for build system executable suffix], newlib_cv_build_exeext,
+ [cat > ac_c_test.c << 'EOF'
+int main() {
+/* Nothing needed here */
+}
+EOF
+ ${CC_FOR_BUILD} -o ac_c_test am_c_test.c 1>&5 2>&5
+ newlib_cv_build_exeext=`echo ac_c_test.* | grep -v ac_c_test.c | sed -e s/ac_c_test//`
+ rm -f ac_c_test*
+ test x"${newlib_cv_build_exeext}" = x && newlib_cv_build_exeext=no])
+ EXEEXT_FOR_BUILD=""
+ test x"${newlib_cv_build_exeext}" != xno && EXEEXT_FOR_BUILD=${newlib_cv_build_exeext}
+fi
+AC_SUBST(EXEEXT_FOR_BUILD)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/doc/doc.str b/newlib/doc/doc.str
new file mode 100644
index 00000000000..4d557c6f527
--- /dev/null
+++ b/newlib/doc/doc.str
@@ -0,0 +1,178 @@
+: nokill_bogus_lines ;
+
+: ENDDD
+ skip_past_newline
+ ;
+
+: TABLE
+ skip_past_newline
+ "@table @code\n" catstr
+ ;
+
+: ENDTABLE
+ skip_past_newline
+ "@end table\n"
+ catstr
+ ;
+
+: QUICKREF
+ skip_past_newline
+ get_stuff_in_command
+ "&&~&&~&&\cr\tablerule\n"
+ quickref
+ ;
+
+
+: ITEM
+ "@item " catstr ;
+
+: EXAMPLE
+ skip_past_newline
+
+ get_stuff_in_command nokill_bogus_lines translatecomments
+ courierize catstr
+
+ ;
+
+: INODE
+ "@node " catstr skip_past_newline copy_past_newline catstr
+ ;
+
+: CODE_FRAGMENT
+ EXAMPLE
+ ;
+
+: SYNOPSIS
+ skip_past_newline
+ "@strong{Synopsis}\n" catstr
+ "@example\n" catstr
+ get_stuff_in_command
+ do_fancy_stuff
+ nokill_bogus_lines
+ indent
+ catstr
+ "@end example\n" catstr
+
+ ;
+
+
+: ANSI_SYNOPSIS
+ skip_past_newline
+ "@strong{Synopsis}\n" catstr
+ "@example\n" catstr
+ get_stuff_in_command
+ do_fancy_stuff
+ nokill_bogus_lines
+ indent
+ catstr
+ "@end example\n" catstr
+
+ ;
+
+: OLDTRAD_SYNOPSIS
+ skip_past_newline
+ "@strong{Traditional Synopsis}\n" catstr
+ "@example\n" catstr
+ get_stuff_in_command
+ do_fancy_stuff
+ nokill_bogus_lines
+ indent
+ catstr
+ "@end example\n" catstr
+
+ ;
+
+: TRAD_SYNOPSIS
+ skip_past_newline
+
+ ;
+
+: INDEX
+ "@findex " skip_past_newline copy_past_newline catstr catstr
+ ;
+
+: FUNCTION
+ "@node " - a
+ skip_past_newline
+ copy_past_newline
+ dup - a x x
+ get_stuff_in_angle -a x y
+ swap
+ do_fancy_stuff
+ "@section " - a x x b
+ swap
+ remchar
+ "\n" - a x b x c
+ catstr catstr catstr catstr catstr
+ ;
+
+: bodytext
+ get_stuff_in_command
+ bulletize
+ courierize
+ do_fancy_stuff
+ catstr
+ "@*\n" catstr
+ ;
+
+: asection
+ skip_past_newline
+ catstr
+ copy_past_newline
+ do_fancy_stuff catstr
+ bodytext
+ ;
+
+: SECTION
+ "@section " asection ;
+
+: SUBSECTION
+ "@section " asection ;
+
+: SUBSUBSECTION
+ "@subsection " asection ;
+
+: subhead
+ skip_past_newline
+ bodytext
+ ;
+
+
+
+: DESCRIPTION
+ "@strong{Description}@*\n" catstr subhead ;
+
+: RETURNS
+ "@strong{Returns}@*\n" catstr subhead ;
+
+: ERRORS
+ "@strong{Errors}@*\n" catstr subhead ;
+
+
+: PORTABILITY
+ "@strong{Portability}@*\n" catstr subhead ;
+
+
+: WARNINGS
+ "@strong{Warnings}@*\n" catstr subhead ;
+
+
+
+: INTERNAL_FUNCTION
+ func ;
+
+
+: INTERNAL_DEFINITION
+ func ;
+
+
+: INTERNAL
+ func ;
+
+: TYPEDEF
+ FUNCTION ;
+
+
+
+: NEWPAGE
+ "@page\n" catstr subhead ;
diff --git a/newlib/doc/makedoc.c b/newlib/doc/makedoc.c
new file mode 100644
index 00000000000..12dfc90dd79
--- /dev/null
+++ b/newlib/doc/makedoc.c
@@ -0,0 +1,1469 @@
+/* chew
+ Copyright (C) 1990-1992 Free Software Foundation, Inc.
+ Contributed by steve chamberlain @cygnus
+
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
+
+/*
+ Yet another way of extracting documentation from source.
+ No, I haven't finished it yet, but I hope you people like it better
+ that the old way
+
+ sac
+
+Basically, this is a sort of string forth, maybe we should call it
+struth?
+
+You define new words thus:
+: <newword> <oldwords> ;
+There is no
+
+*/
+
+
+
+#include "ansidecl.h"
+#include <stdio.h>
+#include <ctype.h>
+
+extern PTR malloc();
+extern PTR realloc();
+
+#define DEF_SIZE 5000
+#define STACK 50
+
+int internal_wanted;
+int internal_mode;
+
+
+
+/* Here is a string type ... */
+
+typedef struct buffer
+{
+ char *ptr;
+ unsigned int write_idx;
+ unsigned int size;
+} string_type;
+
+
+
+
+
+
+
+static void DEFUN(init_string_with_size,(buffer, size),
+ string_type *buffer AND
+ unsigned int size )
+{
+ buffer->write_idx = 0;
+ buffer->size = size;
+ buffer->ptr = malloc(size);
+}
+
+static void DEFUN(init_string,(buffer),
+ string_type *buffer)
+{
+ init_string_with_size(buffer, DEF_SIZE);
+
+}
+
+static int DEFUN(find, (str, what),
+ string_type *str AND
+ char *what)
+{
+ unsigned int i;
+ char *p;
+ p = what;
+ for (i = 0; i < str->write_idx && *p; i++)
+ {
+ if (*p == str->ptr[i])
+ p++;
+ else
+ p = what;
+ }
+ return (*p == 0);
+
+}
+
+static void DEFUN(write_buffer,(buffer),
+ string_type *buffer)
+{
+ fwrite(buffer->ptr, buffer->write_idx, 1, stdout);
+}
+
+
+static void DEFUN(delete_string,(buffer),
+ string_type *buffer)
+{
+ free(buffer->ptr);
+}
+
+
+static char *DEFUN(addr, (buffer, idx),
+ string_type *buffer AND
+ unsigned int idx)
+{
+ return buffer->ptr + idx;
+}
+
+static char DEFUN(at,(buffer, pos),
+ string_type *buffer AND
+ unsigned int pos)
+{
+ if ( pos >= buffer->write_idx)
+ {
+ return 0;
+ }
+ return buffer->ptr[pos];
+}
+
+static void DEFUN(catchar,(buffer, ch),
+ string_type *buffer AND
+ char ch)
+{
+ if (buffer->write_idx == buffer->size)
+ {
+ buffer->size *=2;
+ buffer->ptr = realloc(buffer->ptr, buffer->size);
+ }
+
+ buffer->ptr[buffer->write_idx ++ ] = ch;
+}
+
+
+static void DEFUN(overwrite_string,(dst, src),
+ string_type *dst AND
+ string_type *src)
+{
+ free(dst->ptr);
+ dst->size = src->size;
+ dst->write_idx = src->write_idx;
+ dst->ptr = src->ptr;
+}
+
+static void DEFUN(catstr,(dst, src),
+ string_type *dst AND
+ string_type *src)
+{
+ unsigned int i;
+ for (i = 0; i < src->write_idx; i++)
+ {
+ catchar(dst, src->ptr[i]);
+ }
+}
+
+
+static void DEFUN(cattext,(buffer, string),
+ string_type *buffer AND
+ char *string)
+{
+
+ while (*string)
+ {
+ catchar(buffer, *string);
+ string++;
+ }
+}
+
+static void DEFUN(catbuf,(buffer, buf, len),
+ string_type *buffer AND
+ char *buf AND
+ unsigned int len)
+{
+
+ while (len--)
+ {
+ catchar(buffer, *buf);
+ buf++;
+ }
+}
+
+
+
+static unsigned int
+DEFUN(skip_white_and_stars,(src, idx),
+ string_type *src AND
+ unsigned int idx)
+{
+ while (isspace(at(src,idx))
+ || (at(src,idx) == '*' && at(src,idx +1) !='/'))
+ idx++;
+ return idx;
+
+
+}
+/***********************************************************************/
+
+
+string_type stack[STACK];
+string_type *tos;
+
+unsigned int idx = 0; /* Pos in input buffer */
+string_type *ptr; /* and the buffer */
+typedef void (*stinst_type)();
+stinst_type *pc;
+stinst_type sstack[STACK];
+stinst_type *ssp = &sstack[0];
+int istack[STACK];
+int *isp = &istack[0];
+
+typedef int *word_type;
+
+
+
+struct dict_struct
+{
+ char *word;
+ struct dict_struct *next;
+ stinst_type *code;
+ int code_length;
+ int code_end;
+ int var;
+
+};
+typedef struct dict_struct dict_type;
+#define WORD(x) static void x()
+
+static void DEFUN(exec,(word),
+ dict_type *word)
+{
+ pc = word->code;
+ while (*pc)
+ {
+ (*pc)();
+ }
+
+}
+WORD(call)
+{
+stinst_type *oldpc = pc;
+ dict_type *e;
+ e = (dict_type *)(pc [1]);
+ exec(e);
+ pc = oldpc + 2;
+
+}
+
+WORD(remchar)
+{
+ tos->write_idx--;
+ pc++;
+
+}
+
+WORD(push_number)
+{
+ isp++;
+ pc++;
+ *isp = (int)(*pc);
+ pc++;
+
+}
+
+
+
+
+WORD(push_text)
+{
+
+ tos++;
+ init_string(tos);
+ pc++;
+ cattext(tos,*((char **)pc));
+ pc++;
+
+}
+
+
+
+/* This function removes everything not inside comments starting on
+ the first char of the line from the string, also when copying
+ comments, removes blank space and leading *'s
+ Blank lines are turned into one blank line
+ */
+
+static void
+DEFUN(remove_noncomments,(src,dst),
+ string_type *src AND
+ string_type *dst)
+{
+ unsigned int idx = 0;
+
+ while (at(src,idx))
+ {
+ /* Now see if we have a comment at the start of the line */
+ if (at(src,idx) == '\n'
+ && at(src,idx+1) == '/'
+ && at(src,idx+2) == '*')
+ {
+ idx+=3;
+
+ idx = skip_white_and_stars(src,idx);
+
+ /* Remove leading dot */
+ if (at(src, idx) == '.')
+ idx++;
+
+ /* Copy to the end of the line, or till the end of the
+ comment */
+ while (at(src, idx))
+ {
+ if (at(src, idx) == '\n')
+ {
+ /* end of line, echo and scrape of leading blanks */
+ if (at(src,idx +1) == '\n')
+ catchar(dst,'\n');
+ catchar(dst,'\n');
+ idx++;
+ idx = skip_white_and_stars(src, idx);
+ }
+ else if (at(src, idx) == '*' && at(src,idx+1) == '/')
+ {
+ idx +=2 ;
+ cattext(dst,"\nENDDD\n");
+ break;
+ }
+ else
+ {
+ catchar(dst, at(src, idx));
+ idx++;
+ }
+ }
+ }
+ else idx++;
+ }
+}
+/* turn foobar name(stuff); into foobar EXFUN(name,(stuff));
+
+ */
+
+static void
+DEFUN_VOID(exfunstuff)
+{
+ unsigned int openp;
+ unsigned int fname;
+ unsigned int idx;
+ string_type out;
+ init_string(&out);
+
+
+ /* make sure that it's not already exfuned */
+ if(find(tos,"EXFUN") || find(tos,"PROTO") || !find(tos,"(")) {
+ catstr(&out,tos);
+ }
+ else
+ {
+
+ /*Find the open paren*/
+ for (openp = 0; at(tos, openp) != '(' && at(tos,openp); openp++)
+ ;
+
+ fname = openp;
+ /* Step back to the fname */
+ fname--;
+ while (fname && isspace(at(tos, fname)))
+ fname --;
+ while (fname && !isspace(at(tos,fname)) && at(tos,fname) != '*')
+ fname--;
+
+ fname++;
+
+ for (idx = 0; idx < fname; idx++)
+ {
+ catchar(&out, at(tos,idx));
+ }
+
+ cattext(&out,"EXFUN(");
+ for (idx = fname; idx < openp; idx++)
+ {
+ catchar(&out, at(tos,idx));
+ }
+ cattext(&out,", ");
+ while (at(tos,idx) && at(tos,idx) !=';')
+ {
+ catchar(&out, at(tos, idx));
+ idx++;
+ }
+ cattext(&out,");\n");
+ }
+ overwrite_string(tos, &out);
+ pc++;
+
+}
+
+
+
+/* turn {*
+ and *} into comments */
+
+WORD(translatecomments)
+{
+ unsigned int idx = 0;
+ string_type out;
+ init_string(&out);
+
+ while (at(tos, idx))
+ {
+ if (at(tos,idx) == '{' && at(tos,idx+1) =='*')
+ {
+ cattext(&out," /*");
+ idx+=2;
+ }
+ else if (at(tos,idx) == '*' && at(tos,idx+1) =='}')
+ {
+ cattext(&out,"*/");
+ idx+=2;
+ }
+ else
+ {
+ catchar(&out, at(tos, idx));
+ idx++;
+ }
+ }
+
+
+ overwrite_string(tos, &out);
+
+ pc++;
+
+}
+
+/* find something like
+ QUICKREF
+ memchar ansi pure
+
+ into
+ merge with words on tos and output them to stderror
+
+*/
+WORD(quickref)
+{
+ string_type *nos = tos-1;
+ unsigned int scan=0;
+ unsigned int nosscan = 0;
+ unsigned int idx = 0;
+
+ while (at(tos, idx))
+ {
+ if (at(tos,idx) == '~')
+ {
+ /* Skip the whitespace */
+ while (at(nos, nosscan) == ' ')
+ nosscan++;
+
+ /* Sub the next word from the nos*/
+ while (at(nos, nosscan) != ' ' &&
+ at(nos, nosscan) != 0)
+ {
+ fprintf(stderr, "%c", at(nos, nosscan));
+ nosscan++;
+ }
+ }
+
+ else
+ {
+ fprintf(stderr,"%c", at(tos, idx));
+
+ }
+ idx++;
+ }
+
+ delete_string(tos);
+ delete_string(nos);
+ tos-=2;
+ pc++;
+
+}
+
+/* turn everything not starting with a . into a comment */
+
+WORD(manglecomments)
+{
+ unsigned int idx = 0;
+ string_type out;
+ init_string(&out);
+
+ while (at(tos, idx))
+ {
+ if (at(tos,idx) == '\n' && at(tos,idx+1) =='*')
+ {
+ cattext(&out," /*");
+ idx+=2;
+ }
+ else if (at(tos,idx) == '*' && at(tos,idx+1) =='}')
+ {
+ cattext(&out,"*/");
+ idx+=2;
+ }
+ else
+ {
+ catchar(&out, at(tos, idx));
+ idx++;
+ }
+ }
+
+
+ overwrite_string(tos, &out);
+
+ pc++;
+
+}
+
+/* Mod tos so that only lines with leading dots remain */
+static void
+DEFUN_VOID(outputdots)
+{
+ unsigned int idx = 0;
+ string_type out;
+ init_string(&out);
+
+ while (at(tos, idx))
+ {
+ if (at(tos, idx) == '\n' && at(tos, idx+1) == '.')
+ {
+ idx += 2;
+
+ while (at(tos, idx) && at(tos, idx)!='\n')
+ {
+ if (at(tos,idx) == '{' && at(tos,idx+1) =='*')
+ {
+ cattext(&out," /*");
+ idx+=2;
+ }
+ else if (at(tos,idx) == '*' && at(tos,idx+1) =='}')
+ {
+ cattext(&out,"*/");
+ idx+=2;
+ }
+ else
+ {
+ catchar(&out, at(tos, idx));
+ idx++;
+ }
+ }
+ catchar(&out,'\n');
+ }
+ else
+ {
+ idx++;
+ }
+ }
+
+ overwrite_string(tos, &out);
+ pc++;
+
+}
+
+/* Find lines starting with . and | and put example around them on tos
+ turn
+ {* into open comment and *} into close comment
+ escape curlies
+
+*/
+WORD(courierize)
+{
+ string_type out;
+ unsigned int idx = 0;
+
+ init_string(&out);
+
+ while (at(tos, idx))
+ {
+ if (at(tos, idx) == '\n'
+ && (at(tos, idx +1 ) == '.'
+ || at(tos,idx+1) == '|'))
+ {
+ cattext(&out,"\n@smallexample\n");
+ do
+ {
+ idx += 2;
+
+ while (at(tos, idx) && at(tos, idx)!='\n')
+ {
+ if (at(tos,idx)=='{' && at(tos,idx+1) =='*')
+ {
+ cattext(&out," /*");
+ idx+=2;
+ }
+ else if (at(tos,idx)=='*' && at(tos,idx+1) =='}')
+ {
+ cattext(&out,"*/");
+ idx+=2;
+ }
+ else if (at(tos,idx) == '{')
+ {
+ cattext(&out,"@{");
+ idx++;
+ }
+ else if (at(tos,idx) == '}')
+ {
+ cattext(&out,"@}");
+ idx++;
+ }
+ else
+ {
+ catchar(&out, at(tos, idx));
+ idx++;
+ }
+
+ }
+ catchar(&out,'\n');
+ }
+ while (at(tos, idx) == '\n'
+ && (at(tos, idx+1) == '.')
+ || (at(tos,idx+1) == '|'));
+ cattext(&out,"@end smallexample");
+ }
+ else
+ {
+ catchar(&out, at(tos, idx));
+ idx++;
+ }
+ }
+
+ overwrite_string(tos, &out);
+ pc++;
+
+
+}
+
+/*
+ O+ emit @itemize @bullet
+ OO emit @item
+ O- emit @end itemize
+
+ o+ emit @table @code
+ oo @item
+ o- emit @end table
+*/
+
+
+WORD(bulletize)
+{
+ unsigned int idx = 0;
+ int on = 0;
+ string_type out;
+ init_string(&out);
+
+ while (at(tos, idx)) {
+ if (at(tos, idx) == '@' &&
+ at(tos, idx+1) == '*')
+ {
+ cattext(&out,"*");
+ idx+=2;
+ }
+
+ else
+ if (at(tos, idx) == '\n' && at(tos, idx+1) == 'o')
+ {
+ if (at(tos,idx+2) == '+') {
+ cattext(&out,"\n@table @code\n");
+ idx+=3;
+ }
+ else if (at(tos,idx+2) == '-') {
+ cattext(&out,"\n@end table\n");
+ idx+=3;
+ }
+ else if (isspace(at(tos,idx+2))) {
+ cattext(&out,"\n@item ");
+ idx+=3;
+ }
+ else {
+ catchar(&out, at(tos, idx));
+ idx++;
+ }
+ }
+
+ else
+ if (at(tos, idx) == '\n' && at(tos, idx+1) == 'O')
+ {
+ if (at(tos,idx+2) == '+') {
+ cattext(&out,"\n@itemize @bullet\n");
+ idx+=3;
+ }
+
+ else if (at(tos,idx+2) == '-') {
+ cattext(&out,"\n@end itemize\n");
+ idx+=3;
+ }
+ else {
+ catchar(&out, at(tos, idx));
+ idx++;
+ }
+ }
+ else
+ {
+ catchar(&out, at(tos, idx));
+ idx++;
+ }
+ }
+
+ delete_string(tos);
+ *tos = out;
+ pc++;
+
+}
+
+/* Turn <<foo>> into @code{foo} in place at TOS
+ Turn <[foo]> into @var{foo} in place at TOS
+ nest them too !
+
+*/
+
+
+WORD(do_fancy_stuff)
+ {
+ unsigned int idx = 0;
+ string_type out;
+ init_string(&out);
+ while (at(tos, idx))
+ {
+ if (at(tos, idx) == '<'
+ && at(tos, idx+1) == '<'
+ && (!isspace(at(tos,idx + 2)) || at(tos,idx+3) == '>'))
+ {
+ /* This qualifies as a << startup */
+ idx +=2;
+ cattext(&out,"@code{");
+ }
+
+ else if (at(tos, idx) == '<'
+ && at(tos, idx+1) == '['
+ && !isspace(at(tos,idx + 2)))
+ {
+ /* This qualifies as a <[ startup */
+ idx +=2;
+ cattext(&out,"@var{");
+ }
+ else if (at(tos, idx) == '>'
+ && at(tos,idx+1) =='>')
+ {
+
+ cattext(&out,"}");
+ idx+=2;
+ }
+ else if (at(tos, idx) == ']'
+ && at(tos,idx+1) =='>')
+ {
+ cattext(&out,"}");
+ idx+=2;
+ }
+ else
+ {
+ catchar(&out, at(tos, idx));
+ idx++;
+ }
+ }
+ delete_string(tos);
+ *tos = out;
+ pc++;
+
+}
+/* A command is all upper case,and alone on a line */
+static int
+DEFUN( iscommand,(ptr, idx),
+ string_type *ptr AND
+ unsigned int idx)
+{
+ unsigned int len = 0;
+ while (at(ptr,idx)) {
+ if (isupper(at(ptr,idx)) || at(ptr,idx) == ' ' ||
+ at(ptr,idx) == '_')
+ {
+ len++;
+ idx++;
+ }
+ else if(at(ptr,idx) == '\n')
+ {
+ if (len >4) return 1;
+ return 0;
+ }
+ else return 0;
+ }
+ return 0;
+
+}
+
+
+DEFUN(copy_past_newline,(ptr, idx, dst),
+ string_type *ptr AND
+ unsigned int idx AND
+ string_type *dst)
+{
+ while (at(ptr, idx) && at(ptr, idx) != '\n')
+ {
+ catchar(dst, at(ptr, idx));
+ idx++;
+
+ }
+ catchar(dst, at(ptr, idx));
+ idx++;
+ return idx;
+
+}
+
+WORD(icopy_past_newline)
+{
+ tos++;
+ init_string(tos);
+ idx = copy_past_newline(ptr, idx, tos);
+ pc++;
+}
+
+
+/* indent
+ Take the string at the top of the stack, do some prettying */
+
+
+
+
+WORD(kill_bogus_lines)
+{
+ int sl ;
+
+ int nl = 0;
+ int idx = 0;
+ int c;
+ int dot = 0 ;
+
+ string_type out;
+ init_string(&out);
+ /* Drop leading nl */
+ while (at(tos,idx) == '\n')
+ {
+ idx++;
+ }
+ c = idx;
+
+ /* Find the last char */
+ while (at(tos,idx))
+ {
+ idx++;
+ }
+
+ /* find the last non white before the nl */
+ idx--;
+
+ while (idx && isspace(at(tos,idx)))
+ idx--;
+ idx++;
+
+ /* Copy buffer upto last char, but blank lines before and after
+ dots don't count */
+ sl = 1;
+
+ while (c < idx)
+ {
+ if (at(tos,c) == '\n'
+ && at(tos,c+1) == '\n'
+ && at(tos,c+2) == '.')
+ {
+ /* Ignore two linelines before a dot*/
+ c++;
+ }
+ else if (at(tos,c) == '.' && sl)
+ {
+ /* remember that this line started with a dot */
+ dot=2;
+ }
+ else if (at(tos,c) == '\n'
+ && at(tos,c+1) == '\n'
+ && dot)
+ {
+ c++;
+ /* Ignore two newlines when last line was dot */
+ }
+
+ catchar(&out, at(tos,c));
+ if (at(tos,c) == '\n')
+ {
+ sl = 1;
+
+ if (dot == 2)dot=1;else dot = 0;
+ }
+
+ c++;
+
+ }
+
+ /* Append nl*/
+ catchar(&out, '\n');
+ pc++;
+ delete_string(tos);
+ *tos = out;
+
+
+}
+
+WORD(indent)
+{
+ string_type out;
+ int tab = 0;
+ int idx = 0;
+ int ol =0;
+ init_string(&out);
+ while (at(tos,idx)) {
+ switch (at(tos,idx))
+ {
+ case '\n':
+ cattext(&out,"\n");
+ idx++;
+ if (tab)
+ {
+ cattext(&out," ");
+ }
+ ol = 0;
+ break;
+ case '(':
+ tab++;
+ if (ol == 0)
+ cattext(&out," ");
+ idx++;
+ cattext(&out,"(");
+ ol = 1;
+ break;
+ case ')':
+ tab--;
+ cattext(&out,")");
+ idx++;
+ ol=1;
+
+ break;
+ default:
+ catchar(&out,at(tos,idx));
+ ol=1;
+
+ idx++;
+ break;
+ }
+ }
+
+ pc++;
+ delete_string(tos);
+ *tos = out;
+
+}
+
+/* Change the TOS so that all that is left is the stuff inside the
+ first <<foo>> .
+*/
+
+WORD(get_stuff_in_angle)
+{
+ unsigned int idx = 0;
+ string_type out;
+ init_string(&out);
+
+ while (at(tos, idx))
+ {
+ if (at(tos,idx) == '<' && at(tos,idx+1) =='<')
+ {
+ idx+=2;
+
+ while (!(at(tos,idx) == '>' && at(tos,idx+1) == '>'))
+ {
+ catchar(&out, at(tos, idx));
+ idx++;
+ }
+ break;
+ }
+ idx++;
+ }
+ catchar(&out,'\n');
+
+ overwrite_string(tos, &out);
+ pc++;
+}
+
+
+WORD(get_stuff_in_command)
+{
+ tos++;
+ init_string(tos);
+
+ while (at(ptr, idx)) {
+ if (iscommand(ptr, idx)) break;
+ idx = copy_past_newline(ptr, idx, tos);
+ }
+ pc++;
+}
+
+WORD(swap)
+{
+ string_type t;
+
+ t = tos[0];
+ tos[0] = tos[-1];
+ tos[-1] =t;
+ pc++;
+
+}
+
+WORD(dup)
+{
+ tos++;
+ init_string(tos);
+ catstr(tos, tos-1);
+ pc++;
+
+}
+
+
+
+WORD(icatstr)
+{
+ catstr(tos-1, tos);
+ delete_string(tos);
+ tos--;
+ pc++;
+
+}
+
+WORD(skip_past_newline)
+{
+ while (at(ptr,idx)
+ && at(ptr,idx) != '\n')
+ idx++;
+ idx++;
+ pc++;
+}
+
+
+WORD(internalmode)
+{
+ internal_mode = *(isp);
+ isp--;
+ pc++;
+}
+
+WORD(maybecatstr)
+{
+ if (internal_wanted == internal_mode)
+ {
+ catstr(tos-1, tos);
+ }
+ delete_string(tos);
+ tos--;
+ pc++;
+
+}
+
+char *
+DEFUN(nextword,(string, word),
+ char *string AND
+ char **word)
+{
+ char *word_start;
+ int idx;
+ char *dst;
+ char *src;
+
+ int length = 0;
+
+ while (isspace(*string) || *string == '-') {
+ if (*string == '-')
+ {
+ while (*string && *string != '\n')
+ string++;
+
+ }
+ else {
+ string++;
+ }
+ }
+ if (!*string) return 0;
+
+ word_start = string;
+ if (*string == '"')
+ {
+ string++;
+ length++;
+
+ while (*string != '"')
+ {
+ string++;
+ length++;
+ }
+ }
+ else
+ {
+
+
+ while (!isspace(*string))
+ {
+ string++;
+ length++;
+ }
+ }
+
+ *word = malloc(length + 1);
+
+ dst = *word;
+ src = word_start;
+
+
+ for (idx= 0; idx < length; idx++)
+ {
+
+ if (src[idx] == '\\' && src[idx+1] == 'n')
+ {
+ *dst++ = '\n';
+ idx++;
+
+ }
+ else *dst++ = src[idx];
+ }
+ *dst++ = 0;
+
+
+
+
+
+ if(*string)
+ return string + 1;
+ else
+ return 0;
+
+}
+dict_type *root;
+dict_type *
+DEFUN(lookup_word,(word),
+ char *word)
+{
+ dict_type *ptr = root;
+ while (ptr) {
+ if (strcmp(ptr->word, word) == 0) return ptr;
+ ptr = ptr->next;
+
+ }
+ fprintf(stderr,"Can't find %s\n",word);
+ return 0;
+
+
+}
+
+static void DEFUN_VOID(perform)
+{
+ tos = stack;
+
+ while (at(ptr, idx)) {
+ /* It's worth looking through the command list */
+ if (iscommand(ptr, idx))
+ {
+ unsigned int i;
+ int found = 0;
+
+ char *next;
+ dict_type *word ;
+
+ (void) nextword(addr(ptr, idx), &next);
+
+
+ word = lookup_word(next);
+
+
+
+
+ if (word)
+ {
+ exec(word);
+ }
+ else
+ {
+ fprintf(stderr,"warning, %s is not recognised\n", next);
+ skip_past_newline();
+ }
+
+ }
+ else skip_past_newline();
+
+ }
+}
+
+dict_type *
+DEFUN(newentry,(word),
+ char *word)
+{
+ dict_type *new = (dict_type *)malloc(sizeof(dict_type));
+ new->word = word;
+ new->next = root;
+ root = new;
+ new->code = (stinst_type *)malloc(sizeof(stinst_type ));
+ new->code_length = 1;
+ new->code_end = 0;
+ return new;
+
+}
+
+
+unsigned int
+DEFUN(add_to_definition,(entry, word),
+ dict_type *entry AND
+ stinst_type word)
+{
+ if (entry->code_end == entry->code_length)
+ {
+ entry->code_length += 2;
+ entry->code =
+ (stinst_type *) realloc((char *)(entry->code),
+ entry->code_length *sizeof(word_type));
+ }
+ entry->code[entry->code_end] = word;
+
+return entry->code_end++;
+}
+
+
+
+
+
+
+
+void
+DEFUN(add_intrinsic,(name, func),
+ char *name AND
+ void (*func)())
+{
+ dict_type *new = newentry(name);
+ add_to_definition(new, func);
+ add_to_definition(new, 0);
+}
+
+WORD(push_addr)
+{
+
+
+}
+
+void
+DEFUN(add_var,(name),
+ char *name)
+{
+ dict_type *new = newentry(name);
+ add_to_definition(new, push_number);
+ add_to_definition(new, (stinst_type)(&(new->var)));
+ add_to_definition(new,0);
+
+}
+
+
+
+
+void
+DEFUN(compile, (string),
+ char *string)
+
+{
+ int jstack[STACK];
+ int *jptr = jstack;
+ /* add words to the dictionary */
+ char *word;
+ string = nextword(string, &word);
+ while (string && *string && word[0])
+ {
+ if (strcmp(word,"var")==0)
+ {
+ string=nextword(string, &word);
+
+ add_var(word);
+ string=nextword(string, &word);
+ }
+else
+
+ if (word[0] == ':')
+ {
+ dict_type *ptr;
+ /* Compile a word and add to dictionary */
+ string = nextword(string, &word);
+
+ ptr = newentry(word);
+ string = nextword(string, &word);
+ while (word[0] != ';' )
+ {
+ switch (word[0])
+ {
+
+
+ case '"':
+ /* got a string, embed magic push string
+ function */
+ add_to_definition(ptr, push_text);
+ add_to_definition(ptr, (stinst_type)(word+1));
+ break;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ /* Got a number, embedd the magic push number
+ function */
+ add_to_definition(ptr, push_number);
+ add_to_definition(ptr, atol(word));
+ break;
+ default:
+ add_to_definition(ptr, call);
+ add_to_definition(ptr, lookup_word(word));
+ }
+
+ string = nextword(string, &word);
+ }
+ add_to_definition(ptr,0);
+ string = nextword(string, &word);
+ }
+ else
+ {
+ fprintf(stderr,"syntax error at %s\n",string-1);
+ }
+ }
+
+}
+
+
+static void DEFUN_VOID(bang)
+{
+*(int *)((isp[0])) = isp[-1];
+isp-=2;
+pc++;
+
+}
+
+WORD(atsign)
+{
+ isp[0] = *(int *)(isp[0]);
+ pc++;
+}
+
+WORD(hello)
+{
+
+ printf("hello\n");
+ pc++;
+}
+
+
+
+static void DEFUN(read_in, (str, file),
+ string_type *str AND
+ FILE *file)
+{
+ char buff[10000];
+ unsigned int r;
+ do
+ {
+ r = fread(buff, 1, sizeof(buff), file);
+ catbuf(str, buff, r);
+ }
+ while (r);
+ buff[0] = 0;
+
+ catbuf(str, buff,1);
+
+}
+
+
+static void DEFUN_VOID(usage)
+{
+ fprintf(stderr,"usage: -[d|i|g] <file >file\n");
+ exit(33);
+}
+
+int DEFUN(main,(ac,av),
+int ac AND
+char *av[])
+{
+ unsigned int i;
+
+
+ string_type buffer;
+ string_type pptr;
+
+
+ init_string(&buffer);
+ init_string(&pptr);
+ init_string(stack+0);
+ tos=stack+1;
+ ptr = &pptr;
+
+ add_intrinsic("push_text", push_text);
+ add_intrinsic("!", bang);
+ add_intrinsic("@", atsign);
+ add_intrinsic("hello",hello);
+ add_intrinsic("skip_past_newline", skip_past_newline );
+ add_intrinsic("catstr", icatstr );
+ add_intrinsic("copy_past_newline", icopy_past_newline );
+ add_intrinsic("dup", dup );
+ add_intrinsic("remchar", remchar );
+ add_intrinsic("get_stuff_in_command", get_stuff_in_command );
+ add_intrinsic("get_stuff_in_angle", get_stuff_in_angle );
+ add_intrinsic("do_fancy_stuff", do_fancy_stuff );
+ add_intrinsic("bulletize", bulletize );
+ add_intrinsic("courierize", courierize );
+ add_intrinsic("swap", swap );
+ add_intrinsic("outputdots", outputdots );
+ add_intrinsic("exfunstuff", exfunstuff );
+ add_intrinsic("maybecatstr", maybecatstr );
+ add_intrinsic("translatecomments", translatecomments );
+ add_intrinsic("kill_bogus_lines", kill_bogus_lines);
+ add_intrinsic("indent", indent);
+ add_intrinsic("quickref", quickref);
+ add_intrinsic("internalmode", internalmode);
+
+ /* Put a nl at the start */
+ catchar(&buffer,'\n');
+
+ read_in(&buffer, stdin);
+ remove_noncomments(&buffer, ptr);
+ for (i= 1; i < ac; i++)
+ {
+ if (av[i][0] == '-')
+ {
+ if (av[i][1] == 'f')
+ {
+ string_type b;
+ FILE *f;
+ init_string(&b);
+
+ f = fopen(av[i+1],"r");
+ if (!f)
+ {
+ fprintf(stderr,"Can't open the input file %s\n",av[i+1]);
+ return 33;
+ }
+
+
+ read_in(&b, f);
+ compile(b.ptr);
+ perform();
+ }
+ else if (av[i][1] == 'i')
+ {
+ internal_wanted = 1;
+ }
+ }
+
+ }
+ write_buffer(stack+0);
+ return 0;
+}
+
+
+
diff --git a/newlib/libc/Makefile.am b/newlib/libc/Makefile.am
new file mode 100644
index 00000000000..b8e410c0c64
--- /dev/null
+++ b/newlib/libc/Makefile.am
@@ -0,0 +1,119 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+if HAVE_POSIX_DIR
+POSIX_SUBDIR = posix
+endif
+
+if HAVE_SIGNAL_DIR
+SIGNAL_SUBDIR = signal
+endif
+
+if HAVE_SYSCALL_DIR
+SYSCALLS_SUBDIR = syscalls
+endif
+
+if HAVE_UNIX_DIR
+UNIX_SUBDIR = unix
+endif
+
+# The order of SUBDIRS is important for the integrated documentation.
+# Do not change the order without considering the doc impact.
+SUBDIRS = stdlib ctype stdio string $(SIGNAL_SUBDIR) time locale sys reent \
+ errno misc machine $(UNIX_SUBDIR) $(POSIX_SUBDIR) $(SYSCALLS_SUBDIR) .
+
+noinst_LIBRARIES = libc.a
+noinst_DATA = $(CRT0)
+
+SUBLIBS = \
+ stdlib/lib.a \
+ ctype/lib.a \
+ stdio/lib.a \
+ string/lib.a \
+ $(LIBC_SIGNAL_LIB) \
+ time/lib.a \
+ locale/lib.a \
+ $(LIBC_SYS_LIB) \
+ reent/lib.a \
+ errno/lib.a \
+ misc/lib.a \
+ $(LIBC_MACHINE_LIB) \
+ $(LIBC_UNIX_LIB) \
+ $(LIBC_POSIX_LIB) \
+ $(LIBC_SYSCALL_LIB)
+
+libc.a: $(SUBLIBS)
+ rm -f $@
+ rm -rf tmp
+ mkdir tmp
+ cd tmp; \
+ for i in $(SUBLIBS); do \
+ $(AR) x ../$$i; \
+ done; \
+ $(AR) $(AR_FLAGS) ../$@ *.o
+ $(RANLIB) $@
+ rm -rf tmp
+
+$(SUBLIBS): ; @true
+
+crt0.o: sys/crt0.o
+ rm -f $@
+ ln sys/crt0.o $@ >/dev/null 2>/dev/null || cp sys/crt0.o $@
+
+sys/crt0.o: ; @true
+
+info_TEXINFOS = libc.texinfo
+
+# This is a list of the stmp-def files in each subdirectory which
+# builds .def files. We don't list subdirectories which don't build
+# .def files; if the list of subdirectories changes, we must change
+# this as well.
+SUBDEFS = \
+ stdlib/stmp-def \
+ ctype/stmp-def \
+ stdio/stmp-def \
+ string/stmp-def \
+ $(LIBC_SIGNAL_DEF) \
+ time/stmp-def \
+ locale/stmp-def \
+ reent/stmp-def \
+ misc/stmp-def
+
+libc.info: sigset.texi targetdep.tex $(SUBDEFS)
+
+stmp-sigset: config.status
+ if test -n "$(LIBC_SIGNAL_LIB)"; then \
+ echo "@set SIGNALS" >tmp.texi; \
+ else \
+ echo "@clear SIGNALS" >tmp.texi; \
+ fi
+ $(SHELL) $(newlib_basedir)/../move-if-change tmp.texi sigset.texi
+ touch $@
+
+sigset.texi: stmp-sigset ; @true
+
+stmp-targetdep: force
+ rm -f tmp.texi
+ targetdoc=`pwd`/tmp.texi; \
+ for d in $(SUBDIRS); do \
+ if test "$$d" != "."; then \
+ (cd $$d && $(MAKE) TARGETDOC=$${targetdoc} doc) || exit 1; \
+ fi; \
+ done
+ cat $(srcdir)/sys.tex >>tmp.texi
+ $(SHELL) $(newlib_basedir)/../move-if-change tmp.texi targetdep.tex
+ touch $@
+
+targetdep.tex: stmp-targetdep ; @true
+
+$(SUBDEFS): stmp-targetdep ; @true
+
+.PHONY: force
+force:
+
+CLEANFILES = crt0.o \
+ sigset.texi stmp-sigset tmp.texi targetdep.tex stmp-targetdep
+
+ACLOCAL_AMFLAGS = -I ..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/Makefile.in b/newlib/libc/Makefile.in
new file mode 100644
index 00000000000..a704b63d6d5
--- /dev/null
+++ b/newlib/libc/Makefile.in
@@ -0,0 +1,632 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+CRT0 = @CRT0@
+EXEEXT = @EXEEXT@
+LIBC_MACHINE_LIB = @LIBC_MACHINE_LIB@
+LIBC_POSIX_LIB = @LIBC_POSIX_LIB@
+LIBC_SIGNAL_DEF = @LIBC_SIGNAL_DEF@
+LIBC_SIGNAL_LIB = @LIBC_SIGNAL_LIB@
+LIBC_SYSCALL_LIB = @LIBC_SYSCALL_LIB@
+LIBC_SYS_LIB = @LIBC_SYS_LIB@
+LIBC_UNIX_LIB = @LIBC_UNIX_LIB@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+@HAVE_POSIX_DIR_TRUE@POSIX_SUBDIR = \
+@HAVE_POSIX_DIR_TRUE@posix
+
+@HAVE_SIGNAL_DIR_TRUE@SIGNAL_SUBDIR = \
+@HAVE_SIGNAL_DIR_TRUE@signal
+
+@HAVE_SYSCALL_DIR_TRUE@SYSCALLS_SUBDIR = \
+@HAVE_SYSCALL_DIR_TRUE@syscalls
+
+@HAVE_UNIX_DIR_TRUE@UNIX_SUBDIR = \
+@HAVE_UNIX_DIR_TRUE@unix
+
+# The order of SUBDIRS is important for the integrated documentation.
+# Do not change the order without considering the doc impact.
+SUBDIRS = stdlib ctype stdio string $(SIGNAL_SUBDIR) time locale sys reent \
+ errno misc machine $(UNIX_SUBDIR) $(POSIX_SUBDIR) $(SYSCALLS_SUBDIR) .
+
+
+noinst_LIBRARIES = libc.a
+noinst_DATA = $(CRT0)
+
+SUBLIBS = \
+ stdlib/lib.a \
+ ctype/lib.a \
+ stdio/lib.a \
+ string/lib.a \
+ $(LIBC_SIGNAL_LIB) \
+ time/lib.a \
+ locale/lib.a \
+ $(LIBC_SYS_LIB) \
+ reent/lib.a \
+ errno/lib.a \
+ misc/lib.a \
+ $(LIBC_MACHINE_LIB) \
+ $(LIBC_UNIX_LIB) \
+ $(LIBC_POSIX_LIB) \
+ $(LIBC_SYSCALL_LIB)
+
+
+info_TEXINFOS = libc.texinfo
+
+# This is a list of the stmp-def files in each subdirectory which
+# builds .def files. We don't list subdirectories which don't build
+# .def files; if the list of subdirectories changes, we must change
+# this as well.
+SUBDEFS = \
+ stdlib/stmp-def \
+ ctype/stmp-def \
+ stdio/stmp-def \
+ string/stmp-def \
+ $(LIBC_SIGNAL_DEF) \
+ time/stmp-def \
+ locale/stmp-def \
+ reent/stmp-def \
+ misc/stmp-def
+
+
+CLEANFILES = crt0.o \
+ sigset.texi stmp-sigset tmp.texi targetdep.tex stmp-targetdep
+
+
+ACLOCAL_AMFLAGS = -I ..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+libc_a_LIBADD =
+libc_a_SOURCES = libc.a.c
+libc_a_OBJECTS = libc.a.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+TEXI2DVI = `if test -f $(top_srcdir)/../texinfo/util/texi2dvi; then echo $(top_srcdir)/../texinfo/util/texi2dvi; else echo texi2dvi; fi`
+TEXINFO_TEX = $(top_srcdir)/../texinfo/texinfo.tex
+INFO_DEPS = libc.info
+DVIS = libc.dvi
+TEXINFOS = libc.texinfo
+DATA = $(noinst_DATA)
+
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+DIST_SUBDIRS = stdlib ctype stdio string signal time locale sys reent \
+errno misc machine unix posix syscalls .
+SOURCES = libc.a.c
+OBJECTS = libc.a.o
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .dvi .info .o .ps .s .texi .texinfo .txi
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in ../acinclude.m4 \
+ ../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+libc.info: libc.texinfo
+libc.dvi: libc.texinfo
+
+
+DVIPS = dvips
+
+.texi.info:
+ @rm -f $@ $@-[0-9] $@-[0-9][0-9]
+ $(MAKEINFO) -I $(srcdir) $<
+
+.texi.dvi:
+ TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \
+ MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
+
+.texi:
+ @rm -f $@ $@-[0-9] $@-[0-9][0-9]
+ $(MAKEINFO) -I $(srcdir) $<
+
+.texinfo.info:
+ @rm -f $@ $@-[0-9] $@-[0-9][0-9]
+ $(MAKEINFO) -I $(srcdir) $<
+
+.texinfo:
+ @rm -f $@ $@-[0-9] $@-[0-9][0-9]
+ $(MAKEINFO) -I $(srcdir) $<
+
+.texinfo.dvi:
+ TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \
+ MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
+
+.txi.info:
+ @rm -f $@ $@-[0-9] $@-[0-9][0-9]
+ $(MAKEINFO) -I $(srcdir) $<
+
+.txi.dvi:
+ TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \
+ MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
+
+.txi:
+ @rm -f $@ $@-[0-9] $@-[0-9][0-9]
+ $(MAKEINFO) -I $(srcdir) $<
+.dvi.ps:
+ $(DVIPS) $< -o $@
+
+install-info-am: $(INFO_DEPS)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(infodir)
+ @list='$(INFO_DEPS)'; \
+ for file in $$list; do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
+ if test -f $$d/$$ifile; then \
+ echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; \
+ $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; \
+ else : ; fi; \
+ done; \
+ done
+ @$(POST_INSTALL)
+ @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
+ list='$(INFO_DEPS)'; \
+ for file in $$list; do \
+ echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\
+ install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;\
+ done; \
+ else : ; fi
+
+uninstall-info:
+ $(PRE_UNINSTALL)
+ @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
+ ii=yes; \
+ else ii=; fi; \
+ list='$(INFO_DEPS)'; \
+ for file in $$list; do \
+ test -z "$ii" \
+ || install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; \
+ done
+ @$(NORMAL_UNINSTALL)
+ list='$(INFO_DEPS)'; \
+ for file in $$list; do \
+ (cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9]); \
+ done
+
+dist-info: $(INFO_DEPS)
+ list='$(INFO_DEPS)'; \
+ for base in $$list; do \
+ if test -f $$base; then d=.; else d=$(srcdir); fi; \
+ for file in `cd $$d && eval echo $$base*`; do \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done; \
+ done
+
+mostlyclean-aminfo:
+ -rm -f libc.aux libc.cp libc.cps libc.dvi libc.fn libc.fns libc.ky \
+ libc.kys libc.ps libc.log libc.pg libc.toc libc.tp libc.tps \
+ libc.vr libc.vrs libc.op libc.tr libc.cv libc.cn
+
+clean-aminfo:
+
+distclean-aminfo:
+
+maintainer-clean-aminfo:
+ for i in $(INFO_DEPS); do \
+ rm -f $$i; \
+ if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \
+ rm -f $$i-[0-9]*; \
+ fi; \
+ done
+clean-info: mostlyclean-aminfo
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+
+@SET_MAKE@
+
+all-recursive install-data-recursive install-exec-recursive \
+installdirs-recursive install-recursive uninstall-recursive install-info-recursive \
+check-recursive installcheck-recursive info-recursive dvi-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
+ rev="$$subdir $$rev"; \
+ test "$$subdir" = "." && dot_seen=yes; \
+ done; \
+ test "$$dot_seen" = "no" && rev=". $$rev"; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @banner="$(distdir).tar.gz is ready for distribution"; \
+ dashes=`echo "$$banner" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ echo "$$dashes"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+ for subdir in $(DIST_SUBDIRS); do \
+ if test "$$subdir" = .; then :; else \
+ test -d $(distdir)/$$subdir \
+ || mkdir $(distdir)/$$subdir \
+ || exit 1; \
+ chmod 777 $(distdir)/$$subdir; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
+ || exit 1; \
+ fi; \
+ done
+ $(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info
+info-am: $(INFO_DEPS)
+info: info-recursive
+dvi-am: $(DVIS)
+dvi: dvi-recursive
+check-am:
+check: check-recursive
+installcheck-am:
+installcheck: installcheck-recursive
+install-info-am:
+install-info: install-info-recursive
+install-exec-am:
+install-exec: install-exec-recursive
+
+install-data-am:
+install-data: install-data-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-recursive
+uninstall-am:
+uninstall: uninstall-recursive
+all-am: Makefile $(LIBRARIES) $(DATA)
+all-redirect: all-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs: installdirs-recursive
+installdirs-am:
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-aminfo mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-recursive
+
+clean-am: clean-noinstLIBRARIES clean-compile clean-aminfo clean-tags \
+ clean-generic mostlyclean-am
+
+clean: clean-recursive
+
+distclean-am: distclean-noinstLIBRARIES distclean-compile \
+ distclean-aminfo distclean-tags distclean-generic \
+ clean-am
+
+distclean: distclean-recursive
+ -rm -f config.status
+
+maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-aminfo \
+ maintainer-clean-tags maintainer-clean-generic \
+ distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile install-info-am uninstall-info \
+mostlyclean-aminfo distclean-aminfo clean-aminfo \
+maintainer-clean-aminfo install-data-recursive uninstall-data-recursive \
+install-exec-recursive uninstall-exec-recursive installdirs-recursive \
+uninstalldirs-recursive all-recursive check-recursive \
+installcheck-recursive info-recursive dvi-recursive \
+mostlyclean-recursive distclean-recursive clean-recursive \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-info-am \
+install-info install-exec-am install-exec install-data-am install-data \
+install-am install uninstall-am uninstall all-redirect all-am all \
+installdirs-am installdirs mostlyclean-generic distclean-generic \
+clean-generic maintainer-clean-generic clean mostlyclean distclean \
+maintainer-clean
+
+
+libc.a: $(SUBLIBS)
+ rm -f $@
+ rm -rf tmp
+ mkdir tmp
+ cd tmp; \
+ for i in $(SUBLIBS); do \
+ $(AR) x ../$$i; \
+ done; \
+ $(AR) $(AR_FLAGS) ../$@ *.o
+ $(RANLIB) $@
+ rm -rf tmp
+
+$(SUBLIBS): ; @true
+
+crt0.o: sys/crt0.o
+ rm -f $@
+ ln sys/crt0.o $@ >/dev/null 2>/dev/null || cp sys/crt0.o $@
+
+sys/crt0.o: ; @true
+
+libc.info: sigset.texi targetdep.tex $(SUBDEFS)
+
+stmp-sigset: config.status
+ if test -n "$(LIBC_SIGNAL_LIB)"; then \
+ echo "@set SIGNALS" >tmp.texi; \
+ else \
+ echo "@clear SIGNALS" >tmp.texi; \
+ fi
+ $(SHELL) $(newlib_basedir)/../move-if-change tmp.texi sigset.texi
+ touch $@
+
+sigset.texi: stmp-sigset ; @true
+
+stmp-targetdep: force
+ rm -f tmp.texi
+ targetdoc=`pwd`/tmp.texi; \
+ for d in $(SUBDIRS); do \
+ if test "$$d" != "."; then \
+ (cd $$d && $(MAKE) TARGETDOC=$${targetdoc} doc) || exit 1; \
+ fi; \
+ done
+ cat $(srcdir)/sys.tex >>tmp.texi
+ $(SHELL) $(newlib_basedir)/../move-if-change tmp.texi targetdep.tex
+ touch $@
+
+targetdep.tex: stmp-targetdep ; @true
+
+$(SUBDEFS): stmp-targetdep ; @true
+
+.PHONY: force
+force:
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/aclocal.m4 b/newlib/libc/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/configure b/newlib/libc/configure
new file mode 100755
index 00000000000..5fe538828c0
--- /dev/null
+++ b/newlib/libc/configure
@@ -0,0 +1,1887 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=sys.tex
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../.. $srcdir/../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../.. $srcdir/../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}.."
+ fi
+else
+ newlib_basedir="${srcdir}/.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+subdirs="machine sys"
+
+
+CRT0=
+if test -n "${sys_dir}"; then
+ CRT0=crt0.o
+fi
+
+
+
+LIBC_POSIX_LIB=
+if test -n "${posix_dir}"; then
+ LIBC_POSIX_LIB=${posix_dir}/lib.a
+fi
+
+
+
+if test x${posix_dir} != x; then
+ HAVE_POSIX_DIR_TRUE=
+ HAVE_POSIX_DIR_FALSE='#'
+else
+ HAVE_POSIX_DIR_TRUE='#'
+ HAVE_POSIX_DIR_FALSE=
+fi
+
+LIBC_SIGNAL_LIB=
+LIBC_SIGNAL_DEF=
+if test -n "${signal_dir}"; then
+ LIBC_SIGNAL_LIB=${signal_dir}/lib.a
+ LIBC_SIGNAL_DEF=${signal_dir}/stmp-def
+fi
+
+
+
+
+if test x${signal_dir} != x; then
+ HAVE_SIGNAL_DIR_TRUE=
+ HAVE_SIGNAL_DIR_FALSE='#'
+else
+ HAVE_SIGNAL_DIR_TRUE='#'
+ HAVE_SIGNAL_DIR_FALSE=
+fi
+
+LIBC_SYSCALL_LIB=
+if test -n "${syscall_dir}"; then
+ LIBC_SYSCALL_LIB=${syscall_dir}/lib.a
+fi
+
+
+
+if test x${syscall_dir} != x; then
+ HAVE_SYSCALL_DIR_TRUE=
+ HAVE_SYSCALL_DIR_FALSE='#'
+else
+ HAVE_SYSCALL_DIR_TRUE='#'
+ HAVE_SYSCALL_DIR_FALSE=
+fi
+
+LIBC_UNIX_LIB=
+if test -n "${unix_dir}"; then
+ LIBC_UNIX_LIB=${unix_dir}/lib.a
+fi
+
+
+
+if test x${unix_dir} != x; then
+ HAVE_UNIX_DIR_TRUE=
+ HAVE_UNIX_DIR_FALSE='#'
+else
+ HAVE_UNIX_DIR_TRUE='#'
+ HAVE_UNIX_DIR_FALSE=
+fi
+
+
+LIBC_SYS_LIB=
+if test -n "${sys_dir}"; then
+ LIBC_SYS_LIB=sys/lib.a
+fi
+
+
+LIBC_MACHINE_LIB=
+if test -n "${machine_dir}"; then
+ LIBC_MACHINE_LIB=machine/lib.a
+fi
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile ctype/Makefile errno/Makefile locale/Makefile misc/Makefile reent/Makefile stdio/Makefile stdlib/Makefile string/Makefile time/Makefile posix/Makefile signal/Makefile syscalls/Makefile unix/Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+s%@subdirs@%$subdirs%g
+s%@CRT0@%$CRT0%g
+s%@LIBC_POSIX_LIB@%$LIBC_POSIX_LIB%g
+s%@HAVE_POSIX_DIR_TRUE@%$HAVE_POSIX_DIR_TRUE%g
+s%@HAVE_POSIX_DIR_FALSE@%$HAVE_POSIX_DIR_FALSE%g
+s%@LIBC_SIGNAL_LIB@%$LIBC_SIGNAL_LIB%g
+s%@LIBC_SIGNAL_DEF@%$LIBC_SIGNAL_DEF%g
+s%@HAVE_SIGNAL_DIR_TRUE@%$HAVE_SIGNAL_DIR_TRUE%g
+s%@HAVE_SIGNAL_DIR_FALSE@%$HAVE_SIGNAL_DIR_FALSE%g
+s%@LIBC_SYSCALL_LIB@%$LIBC_SYSCALL_LIB%g
+s%@HAVE_SYSCALL_DIR_TRUE@%$HAVE_SYSCALL_DIR_TRUE%g
+s%@HAVE_SYSCALL_DIR_FALSE@%$HAVE_SYSCALL_DIR_FALSE%g
+s%@LIBC_UNIX_LIB@%$LIBC_UNIX_LIB%g
+s%@HAVE_UNIX_DIR_TRUE@%$HAVE_UNIX_DIR_TRUE%g
+s%@HAVE_UNIX_DIR_FALSE@%$HAVE_UNIX_DIR_FALSE%g
+s%@LIBC_SYS_LIB@%$LIBC_SYS_LIB%g
+s%@LIBC_MACHINE_LIB@%$LIBC_MACHINE_LIB%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile ctype/Makefile errno/Makefile locale/Makefile misc/Makefile reent/Makefile stdio/Makefile stdlib/Makefile string/Makefile time/Makefile posix/Makefile signal/Makefile syscalls/Makefile unix/Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
+if test "$no_recursion" != yes; then
+
+ # Remove --cache-file and --srcdir arguments so they do not pile up.
+ ac_sub_configure_args=
+ ac_prev=
+ for ac_arg in $ac_configure_args; do
+ if test -n "$ac_prev"; then
+ ac_prev=
+ continue
+ fi
+ case "$ac_arg" in
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ ;;
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ ;;
+ *) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;;
+ esac
+ done
+
+ for ac_config_dir in machine sys; do
+
+ # Do not complain, so a configure script can configure whichever
+ # parts of a large source tree are present.
+ if test ! -d $srcdir/$ac_config_dir; then
+ continue
+ fi
+
+ echo configuring in $ac_config_dir
+
+ case "$srcdir" in
+ .) ;;
+ *)
+ if test -d ./$ac_config_dir || mkdir ./$ac_config_dir; then :;
+ else
+ { echo "configure: error: can not create `pwd`/$ac_config_dir" 1>&2; exit 1; }
+ fi
+ ;;
+ esac
+
+ ac_popdir=`pwd`
+ cd $ac_config_dir
+
+ # A "../" for each directory in /$ac_config_dir.
+ ac_dots=`echo $ac_config_dir|sed -e 's%^\./%%' -e 's%[^/]$%&/%' -e 's%[^/]*/%../%g'`
+
+ case "$srcdir" in
+ .) # No --srcdir option. We are building in place.
+ ac_sub_srcdir=$srcdir ;;
+ /*) # Absolute path.
+ ac_sub_srcdir=$srcdir/$ac_config_dir ;;
+ *) # Relative path.
+ ac_sub_srcdir=$ac_dots$srcdir/$ac_config_dir ;;
+ esac
+
+ # Check for guested configure; otherwise get Cygnus style configure.
+ if test -f $ac_sub_srcdir/configure; then
+ ac_sub_configure=$ac_sub_srcdir/configure
+ elif test -f $ac_sub_srcdir/configure.in; then
+ ac_sub_configure=$ac_configure
+ else
+ echo "configure: warning: no configuration information is in $ac_config_dir" 1>&2
+ ac_sub_configure=
+ fi
+
+ # The recursion is here.
+ if test -n "$ac_sub_configure"; then
+
+ # Make the cache file name correct relative to the subdirectory.
+ case "$cache_file" in
+ /*) ac_sub_cache_file=$cache_file ;;
+ *) # Relative path.
+ ac_sub_cache_file="$ac_dots$cache_file" ;;
+ esac
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo "running ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir"
+ # The eval makes quoting arguments work.
+ if eval ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir
+ then :
+ else
+ { echo "configure: error: $ac_sub_configure failed for $ac_config_dir" 1>&2; exit 1; }
+ fi
+ fi
+
+ cd $ac_popdir
+ done
+fi
+
diff --git a/newlib/libc/configure.in b/newlib/libc/configure.in
new file mode 100644
index 00000000000..19d0f2196dd
--- /dev/null
+++ b/newlib/libc/configure.in
@@ -0,0 +1,70 @@
+dnl This is the newlib/libc configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(sys.tex)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../..)
+
+NEWLIB_CONFIGURE(..)
+
+AC_CONFIG_SUBDIRS(machine sys)
+
+CRT0=
+if test -n "${sys_dir}"; then
+ CRT0=crt0.o
+fi
+AC_SUBST(CRT0)
+
+dnl For each directory which we may or may not want, we define a name
+dnl for the library and an automake conditional for whether we should
+dnl build the library.
+
+LIBC_POSIX_LIB=
+if test -n "${posix_dir}"; then
+ LIBC_POSIX_LIB=${posix_dir}/lib.a
+fi
+AC_SUBST(LIBC_POSIX_LIB)
+AM_CONDITIONAL(HAVE_POSIX_DIR, test x${posix_dir} != x)
+
+LIBC_SIGNAL_LIB=
+LIBC_SIGNAL_DEF=
+if test -n "${signal_dir}"; then
+ LIBC_SIGNAL_LIB=${signal_dir}/lib.a
+ LIBC_SIGNAL_DEF=${signal_dir}/stmp-def
+fi
+AC_SUBST(LIBC_SIGNAL_LIB)
+AC_SUBST(LIBC_SIGNAL_DEF)
+AM_CONDITIONAL(HAVE_SIGNAL_DIR, test x${signal_dir} != x)
+
+LIBC_SYSCALL_LIB=
+if test -n "${syscall_dir}"; then
+ LIBC_SYSCALL_LIB=${syscall_dir}/lib.a
+fi
+AC_SUBST(LIBC_SYSCALL_LIB)
+AM_CONDITIONAL(HAVE_SYSCALL_DIR, test x${syscall_dir} != x)
+
+LIBC_UNIX_LIB=
+if test -n "${unix_dir}"; then
+ LIBC_UNIX_LIB=${unix_dir}/lib.a
+fi
+AC_SUBST(LIBC_UNIX_LIB)
+AM_CONDITIONAL(HAVE_UNIX_DIR, test x${unix_dir} != x)
+
+dnl We always recur into sys and machine, and let them decide what to
+dnl do. However, we do need to know whether they will produce a library.
+
+LIBC_SYS_LIB=
+if test -n "${sys_dir}"; then
+ LIBC_SYS_LIB=sys/lib.a
+fi
+AC_SUBST(LIBC_SYS_LIB)
+
+LIBC_MACHINE_LIB=
+if test -n "${machine_dir}"; then
+ LIBC_MACHINE_LIB=machine/lib.a
+fi
+AC_SUBST(LIBC_MACHINE_LIB)
+
+AC_OUTPUT(Makefile ctype/Makefile errno/Makefile locale/Makefile misc/Makefile reent/Makefile stdio/Makefile stdlib/Makefile string/Makefile time/Makefile posix/Makefile signal/Makefile syscalls/Makefile unix/Makefile)
diff --git a/newlib/libc/ctype/Makefile.am b/newlib/libc/ctype/Makefile.am
new file mode 100644
index 00000000000..4aab995a530
--- /dev/null
+++ b/newlib/libc/ctype/Makefile.am
@@ -0,0 +1,57 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ ctype_.c \
+ isalnum.c \
+ isalpha.c \
+ isascii.c \
+ iscntrl.c \
+ isdigit.c \
+ islower.c \
+ isupper.c \
+ isprint.c \
+ ispunct.c \
+ isspace.c \
+ isxdigit.c \
+ toascii.c \
+ tolower.c \
+ toupper.c \
+ _tolower.c \
+ _toupper.c
+
+CHEWOUT_FILES= \
+ isalnum.def \
+ isalpha.def \
+ isascii.def \
+ iscntrl.def \
+ isdigit.def \
+ islower.def \
+ isprint.def \
+ ispunct.def \
+ isspace.def \
+ isupper.def \
+ isxdigit.def \
+ toascii.def \
+ tolower.def \
+ toupper.def
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+TARGETDOC = ../tmp.texi
+
+doc: $(CHEWOUT_FILES)
+ cat $(srcdir)/ctype.tex >> $(TARGETDOC)
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
diff --git a/newlib/libc/ctype/Makefile.in b/newlib/libc/ctype/Makefile.in
new file mode 100644
index 00000000000..17a4f8d5f6e
--- /dev/null
+++ b/newlib/libc/ctype/Makefile.in
@@ -0,0 +1,332 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+CRT0 = @CRT0@
+EXEEXT = @EXEEXT@
+LIBC_MACHINE_LIB = @LIBC_MACHINE_LIB@
+LIBC_POSIX_LIB = @LIBC_POSIX_LIB@
+LIBC_SIGNAL_DEF = @LIBC_SIGNAL_DEF@
+LIBC_SIGNAL_LIB = @LIBC_SIGNAL_LIB@
+LIBC_SYSCALL_LIB = @LIBC_SYSCALL_LIB@
+LIBC_SYS_LIB = @LIBC_SYS_LIB@
+LIBC_UNIX_LIB = @LIBC_UNIX_LIB@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ ctype_.c \
+ isalnum.c \
+ isalpha.c \
+ isascii.c \
+ iscntrl.c \
+ isdigit.c \
+ islower.c \
+ isupper.c \
+ isprint.c \
+ ispunct.c \
+ isspace.c \
+ isxdigit.c \
+ toascii.c \
+ tolower.c \
+ toupper.c \
+ _tolower.c \
+ _toupper.c
+
+
+CHEWOUT_FILES = \
+ isalnum.def \
+ isalpha.def \
+ isascii.def \
+ iscntrl.def \
+ isdigit.def \
+ islower.def \
+ isprint.def \
+ ispunct.def \
+ isspace.def \
+ isupper.def \
+ isxdigit.def \
+ toascii.def \
+ tolower.def \
+ toupper.def
+
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+TARGETDOC = ../tmp.texi
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = ctype_.o isalnum.o isalpha.o isascii.o iscntrl.o \
+isdigit.o islower.o isupper.o isprint.o ispunct.o isspace.o isxdigit.o \
+toascii.o tolower.o toupper.o _tolower.o _toupper.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .def .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus ctype/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = ctype
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am:
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-info-am:
+install-info: install-info-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am:
+uninstall: uninstall-am
+all-am: Makefile $(LIBRARIES)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-noinstLIBRARIES distclean-compile \
+ distclean-tags distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-info-am install-info \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+doc: $(CHEWOUT_FILES)
+ cat $(srcdir)/ctype.tex >> $(TARGETDOC)
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/ctype/_tolower.c b/newlib/libc/ctype/_tolower.c
new file mode 100644
index 00000000000..968dcf738c9
--- /dev/null
+++ b/newlib/libc/ctype/_tolower.c
@@ -0,0 +1,9 @@
+#include <_ansi.h>
+#include <ctype.h>
+
+#undef _tolower
+int
+_DEFUN(_tolower,(c),int c)
+{
+ return isupper(c) ? (c) - 'A' + 'a' : c;
+}
diff --git a/newlib/libc/ctype/_toupper.c b/newlib/libc/ctype/_toupper.c
new file mode 100644
index 00000000000..db4e00dd04a
--- /dev/null
+++ b/newlib/libc/ctype/_toupper.c
@@ -0,0 +1,9 @@
+#include <_ansi.h>
+#include <ctype.h>
+
+#undef _toupper
+int
+_DEFUN(_toupper,(c),int c)
+{
+ return islower(c) ? c - 'a' + 'A' : c;
+}
diff --git a/newlib/libc/ctype/ctype.tex b/newlib/libc/ctype/ctype.tex
new file mode 100644
index 00000000000..a0971d88c4f
--- /dev/null
+++ b/newlib/libc/ctype/ctype.tex
@@ -0,0 +1,68 @@
+@node Ctype
+@chapter Character Type Macros and Functions (@file{ctype.h})
+This chapter groups macros (which are also available as subroutines)
+to classify characters into several categories (alphabetic,
+numeric, control characters, whitespace, and so on), or to perform
+simple character mappings.
+
+The header file @file{ctype.h} defines the macros.
+@menu
+* isalnum:: Alphanumeric character predicate
+* isalpha:: Alphabetic character predicate
+* isascii:: ASCII character predicate
+* iscntrl:: Control character predicate
+* isdigit:: Decimal digit predicate
+* islower:: Lower-case character predicate
+* isprint:: Printable character predicates (isprint, isgraph)
+* ispunct:: Punctuation character predicate
+* isspace:: Whitespace character predicate
+* isupper:: Uppercase character predicate
+* isxdigit:: Hexadecimal digit predicate
+* toascii:: Force integers to ASCII range
+* tolower:: Translate characters to lower case
+* toupper:: Translate characters to upper case
+@end menu
+
+@page
+@include ctype/isalnum.def
+
+@page
+@include ctype/isalpha.def
+
+@page
+@include ctype/isascii.def
+
+@page
+@include ctype/iscntrl.def
+
+@page
+@include ctype/isdigit.def
+
+@page
+@include ctype/islower.def
+
+@page
+@include ctype/isprint.def
+
+@page
+@include ctype/ispunct.def
+
+@page
+@include ctype/isspace.def
+
+@page
+@include ctype/isupper.def
+
+@page
+@include ctype/isxdigit.def
+
+@page
+@include ctype/toascii.def
+
+@page
+@include ctype/tolower.def
+
+@page
+@include ctype/toupper.def
+
+
diff --git a/newlib/libc/ctype/ctype_.c b/newlib/libc/ctype/ctype_.c
new file mode 100644
index 00000000000..45fcaa7673f
--- /dev/null
+++ b/newlib/libc/ctype/ctype_.c
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 1989 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)ctype_.c 5.6 (Berkeley) 6/1/90";
+#endif /* LIBC_SCCS and not lint */
+
+#include <ctype.h>
+
+#if defined(__CYGWIN__) || defined(__CYGWIN32__)
+_CONST char __declspec(dllexport) _ctype_[1 + 256] = {
+#else
+_CONST char _ctype_[1 + 256] = {
+#endif
+ 0,
+ _C, _C, _C, _C, _C, _C, _C, _C,
+ _C, _C|_S, _C|_S, _C|_S, _C|_S, _C|_S, _C, _C,
+ _C, _C, _C, _C, _C, _C, _C, _C,
+ _C, _C, _C, _C, _C, _C, _C, _C,
+ _S|_B, _P, _P, _P, _P, _P, _P, _P,
+ _P, _P, _P, _P, _P, _P, _P, _P,
+ _N, _N, _N, _N, _N, _N, _N, _N,
+ _N, _N, _P, _P, _P, _P, _P, _P,
+ _P, _U|_X, _U|_X, _U|_X, _U|_X, _U|_X, _U|_X, _U,
+ _U, _U, _U, _U, _U, _U, _U, _U,
+ _U, _U, _U, _U, _U, _U, _U, _U,
+ _U, _U, _U, _P, _P, _P, _P, _P,
+ _P, _L|_X, _L|_X, _L|_X, _L|_X, _L|_X, _L|_X, _L,
+ _L, _L, _L, _L, _L, _L, _L, _L,
+ _L, _L, _L, _L, _L, _L, _L, _L,
+ _L, _L, _L, _P, _P, _P, _P, _C
+};
diff --git a/newlib/libc/ctype/isalnum.c b/newlib/libc/ctype/isalnum.c
new file mode 100644
index 00000000000..7e05bd1a249
--- /dev/null
+++ b/newlib/libc/ctype/isalnum.c
@@ -0,0 +1,46 @@
+/*
+FUNCTION
+ <<isalnum>>---alphanumeric character predicate
+
+INDEX
+ isalnum
+
+ANSI_SYNOPSIS
+ #include <ctype.h>
+ int isalnum(int <[c]>);
+
+TRAD_SYNOPSIS
+ #include <ctype.h>
+ int isalnum(<[c]>);
+
+
+DESCRIPTION
+<<isalnum>> is a macro which classifies ASCII integer values by table
+lookup. It is a predicate returning non-zero for alphabetic or
+numeric ASCII characters, and <<0>> for other arguments. It is defined
+for all integer values.
+
+You can use a compiled subroutine instead of the macro definition by
+undefining the macro using `<<#undef isalnum>>'.
+
+RETURNS
+<<isalnum>> returns non-zero if <[c]> is a letter (<<a>>--<<z>> or
+<<A>>--<<Z>>) or a digit (<<0>>--<<9>>).
+
+PORTABILITY
+<<isalnum>> is ANSI C.
+
+No OS subroutines are required.
+*/
+
+#include <_ansi.h>
+#include <ctype.h>
+
+#undef isalnum
+
+int
+_DEFUN(isalnum,(c),int c)
+{
+ return((_ctype_ + 1)[c] & (_U|_L|_N));
+}
+
diff --git a/newlib/libc/ctype/isalpha.c b/newlib/libc/ctype/isalpha.c
new file mode 100644
index 00000000000..35f14d3969b
--- /dev/null
+++ b/newlib/libc/ctype/isalpha.c
@@ -0,0 +1,44 @@
+/*
+FUNCTION
+ <<isalpha>>---alphabetic character predicate
+
+INDEX
+ isalpha
+
+ANSI_SYNOPSIS
+ #include <ctype.h>
+ int isalpha(int <[c]>);
+
+TRAD_SYNOPSIS
+ #include <ctype.h>
+ int isalpha(<[c]>);
+
+DESCRIPTION
+<<isalpha>> is a macro which classifies ASCII integer values by table
+lookup. It is a predicate returning non-zero when <[c]> represents an
+alphabetic ASCII character, and 0 otherwise. It is defined only when
+<<isascii>>(<[c]>) is true or <[c]> is EOF.
+
+You can use a compiled subroutine instead of the macro definition by
+undefining the macro using `<<#undef isalpha>>'.
+
+RETURNS
+<<isalpha>> returns non-zero if <[c]> is a letter (<<A>>--<<Z>> or
+<<a>>--<<z>>).
+
+PORTABILITY
+<<isalpha>> is ANSI C.
+
+No supporting OS subroutines are required.
+*/
+
+#include <_ansi.h>
+#include <ctype.h>
+
+#undef isalpha
+int
+_DEFUN(isalpha,(c),int c)
+{
+ return((_ctype_ + 1)[c] & (_U|_L));
+}
+
diff --git a/newlib/libc/ctype/isascii.c b/newlib/libc/ctype/isascii.c
new file mode 100644
index 00000000000..109fd3ace7d
--- /dev/null
+++ b/newlib/libc/ctype/isascii.c
@@ -0,0 +1,43 @@
+/*
+FUNCTION
+ <<isascii>>---ASCII character predicate
+
+INDEX
+ isascii
+
+ANSI_SYNOPSIS
+ #include <ctype.h>
+ int isascii(int <[c]>);
+
+TRAD_SYNOPSIS
+ #include <ctype.h>
+ int isascii(<[c]>);
+
+DESCRIPTION
+<<isascii>> is a macro which returns non-zero when <[c]> is an ASCII
+character, and 0 otherwise. It is defined for all integer values.
+
+You can use a compiled subroutine instead of the macro definition by
+undefining the macro using `<<#undef isascii>>'.
+
+RETURNS
+<<isascii>> returns non-zero if the low order byte of <[c]> is in the range
+0 to 127 (<<0x00>>--<<0x7F>>).
+
+PORTABILITY
+<<isascii>> is ANSI C.
+
+No supporting OS subroutines are required.
+*/
+#include <_ansi.h>
+#include <ctype.h>
+
+
+
+#undef isascii
+
+int
+_DEFUN(isascii,(c),int c)
+{
+ return c >= 0 && c< 128;
+}
diff --git a/newlib/libc/ctype/iscntrl.c b/newlib/libc/ctype/iscntrl.c
new file mode 100644
index 00000000000..7b6da349d6f
--- /dev/null
+++ b/newlib/libc/ctype/iscntrl.c
@@ -0,0 +1,48 @@
+
+/*
+FUNCTION
+ <<iscntrl>>---control character predicate
+
+INDEX
+ iscntrl
+
+ANSI_SYNOPSIS
+ #include <ctype.h>
+ int iscntrl(int <[c]>);
+
+TRAD_SYNOPSIS
+ #include <ctype.h>
+ int iscntrl(<[c]>);
+
+DESCRIPTION
+<<iscntrl>> is a macro which classifies ASCII integer values by table
+lookup. It is a predicate returning non-zero for control characters, and 0
+for other characters. It is defined only when <<isascii>>(<[c]>) is
+true or <[c]> is EOF.
+
+You can use a compiled subroutine instead of the macro definition by
+undefining the macro using `<<#undef iscntrl>>'.
+
+RETURNS
+<<iscntrl>> returns non-zero if <[c]> is a delete character or ordinary
+control character (<<0x7F>> or <<0x00>>--<<0x1F>>).
+
+PORTABILITY
+<<iscntrl>> is ANSI C.
+
+No supporting OS subroutines are required.
+*/
+
+#include <_ansi.h>
+#include <ctype.h>
+
+
+
+#undef iscntrl
+int
+_DEFUN(iscntrl,(c),int c)
+{
+ return((_ctype_ + 1)[c] & _C);
+}
+
+
diff --git a/newlib/libc/ctype/isdigit.c b/newlib/libc/ctype/isdigit.c
new file mode 100644
index 00000000000..5c21898e613
--- /dev/null
+++ b/newlib/libc/ctype/isdigit.c
@@ -0,0 +1,43 @@
+/*
+FUNCTION
+<<isdigit>>---decimal digit predicate
+
+INDEX
+isdigit
+
+ANSI_SYNOPSIS
+#include <ctype.h>
+int isdigit(int <[c]>);
+
+TRAD_SYNOPSIS
+#include <ctype.h>
+int isdigit(<[c]>);
+
+DESCRIPTION
+<<isdigit>> is a macro which classifies ASCII integer values by table
+lookup. It is a predicate returning non-zero for decimal digits, and 0 for
+other characters. It is defined only when <<isascii>>(<[c]>) is true
+or <[c]> is EOF.
+
+You can use a compiled subroutine instead of the macro definition by
+undefining the macro using `<<#undef isdigit>>'.
+
+RETURNS
+<<isdigit>> returns non-zero if <[c]> is a decimal digit (<<0>>--<<9>>).
+
+PORTABILITY
+<<isdigit>> is ANSI C.
+
+No supporting OS subroutines are required.
+*/
+
+#include <_ansi.h>
+#include <ctype.h>
+
+
+#undef isdigit
+int
+_DEFUN(isdigit,(c),int c)
+{
+ return((_ctype_ + 1)[c] & _N);
+}
diff --git a/newlib/libc/ctype/islower.c b/newlib/libc/ctype/islower.c
new file mode 100644
index 00000000000..81ad0bb276e
--- /dev/null
+++ b/newlib/libc/ctype/islower.c
@@ -0,0 +1,43 @@
+
+/*
+FUNCTION
+<<islower>>---lower-case character predicate
+
+INDEX
+islower
+
+ANSI_SYNOPSIS
+#include <ctype.h>
+int islower(int <[c]>);
+
+TRAD_SYNOPSIS
+#include <ctype.h>
+int islower(<[c]>);
+
+DESCRIPTION
+<<islower>> is a macro which classifies ASCII integer values by table
+lookup. It is a predicate returning non-zero for minuscules
+(lower-case alphabetic characters), and 0 for other characters.
+It is defined only when <<isascii>>(<[c]>) is true or <[c]> is EOF.
+
+You can use a compiled subroutine instead of the macro definition by
+undefining the macro using `<<#undef islower>>'.
+
+RETURNS
+<<islower>> returns non-zero if <[c]> is a lower case letter (<<a>>--<<z>>).
+
+PORTABILITY
+<<islower>> is ANSI C.
+
+No supporting OS subroutines are required.
+*/
+#include <_ansi.h>
+#include <ctype.h>
+
+#undef islower
+int
+_DEFUN(islower,(c),int c)
+{
+ return((_ctype_ + 1)[c] & _L);
+}
+
diff --git a/newlib/libc/ctype/isprint.c b/newlib/libc/ctype/isprint.c
new file mode 100644
index 00000000000..2ff00f4e30a
--- /dev/null
+++ b/newlib/libc/ctype/isprint.c
@@ -0,0 +1,60 @@
+
+/*
+FUNCTION
+ <<isprint>>, <<isgraph>>---printable character predicates
+
+INDEX
+ isprint
+INDEX
+ isgraph
+
+ANSI_SYNOPSIS
+ #include <ctype.h>
+ int isprint(int <[c]>);
+ int isgraph(int <[c]>);
+
+TRAD_SYNOPSIS
+ #include <ctype.h>
+ int isprint(<[c]>);
+ int isgraph(<[c]>);
+
+
+DESCRIPTION
+<<isprint>> is a macro which classifies ASCII integer values by table
+lookup. It is a predicate returning non-zero for printable
+characters, and 0 for other character arguments.
+It is defined only when <<isascii>>(<[c]>) is true or <[c]> is EOF.
+
+You can use a compiled subroutine instead of the macro definition by
+undefining either macro using `<<#undef isprint>>' or `<<#undef isgraph>>'.
+
+RETURNS
+<<isprint>> returns non-zero if <[c]> is a printing character,
+(<<0x20>>--<<0x7E>>).
+<<isgraph>> behaves identically to <<isprint>>, except that the space
+character (<<0x20>>) is excluded.
+
+PORTABILITY
+<<isprint>> and <<isgraph>> are ANSI C.
+
+No supporting OS subroutines are required.
+*/
+
+#include <_ansi.h>
+#include <ctype.h>
+
+#undef isgraph
+int
+_DEFUN(isgraph,(c),int c)
+{
+ return((_ctype_ + 1)[c] & (_P|_U|_L|_N));
+}
+
+
+#undef isprint
+int
+_DEFUN(isprint,(c),int c)
+{
+ return((_ctype_ + 1)[c] & (_P|_U|_L|_N|_B));
+}
+
diff --git a/newlib/libc/ctype/ispunct.c b/newlib/libc/ctype/ispunct.c
new file mode 100644
index 00000000000..c5679323c78
--- /dev/null
+++ b/newlib/libc/ctype/ispunct.c
@@ -0,0 +1,46 @@
+
+/*
+FUNCTION
+<<ispunct>>---punctuation character predicate
+
+INDEX
+ispunct
+
+ANSI_SYNOPSIS
+#include <ctype.h>
+int ispunct(int <[c]>);
+
+TRAD_SYNOPSIS
+#include <ctype.h>
+int ispunct(<[c]>);
+
+DESCRIPTION
+<<ispunct>> is a macro which classifies ASCII integer values by table
+lookup. It is a predicate returning non-zero for printable
+punctuation characters, and 0 for other characters. It is defined
+only when <<isascii>>(<[c]>) is true or <[c]> is EOF.
+
+You can use a compiled subroutine instead of the macro definition by
+undefining the macro using `<<#undef ispunct>>'.
+
+RETURNS
+<<ispunct>> returns non-zero if <[c]> is a printable punctuation character
+(<<isgraph(<[c]>) && !isalnum(<[c]>)>>).
+
+PORTABILITY
+<<ispunct>> is ANSI C.
+
+No supporting OS subroutines are required.
+*/
+
+#include <_ansi.h>
+#include <ctype.h>
+
+
+#undef ispunct
+int
+_DEFUN(ispunct,(c),int c)
+{
+ return((_ctype_ + 1)[c] & _P);
+}
+
diff --git a/newlib/libc/ctype/isspace.c b/newlib/libc/ctype/isspace.c
new file mode 100644
index 00000000000..1bc0798a2ae
--- /dev/null
+++ b/newlib/libc/ctype/isspace.c
@@ -0,0 +1,44 @@
+
+/*
+FUNCTION
+ <<isspace>>---whitespace character predicate
+
+INDEX
+ isspace
+
+ANSI_SYNOPSIS
+ #include <ctype.h>
+ int isspace(int <[c]>);
+
+TRAD_SYNOPSIS
+ #include <ctype.h>
+ int isspace(<[c]>);
+
+DESCRIPTION
+<<isspace>> is a macro which classifies ASCII integer values by table
+lookup. It is a predicate returning non-zero for whitespace
+characters, and 0 for other characters. It is defined only when <<isascii>>(<[c]>) is true or <[c]> is EOF.
+
+You can use a compiled subroutine instead of the macro definition by
+undefining the macro using `<<#undef isspace>>'.
+
+RETURNS
+<<isspace>> returns non-zero if <[c]> is a space, tab, carriage return, new
+line, vertical tab, or formfeed (<<0x09>>--<<0x0D>>, <<0x20>>).
+
+PORTABILITY
+<<isspace>> is ANSI C.
+
+No supporting OS subroutines are required.
+*/
+#include <_ansi.h>
+#include <ctype.h>
+
+
+#undef isspace
+int
+_DEFUN(isspace,(c),int c)
+{
+ return((_ctype_ + 1)[c] & _S);
+}
+
diff --git a/newlib/libc/ctype/isupper.c b/newlib/libc/ctype/isupper.c
new file mode 100644
index 00000000000..8127e25dabc
--- /dev/null
+++ b/newlib/libc/ctype/isupper.c
@@ -0,0 +1,43 @@
+
+/*
+FUNCTION
+<<isupper>>---uppercase character predicate
+
+INDEX
+isupper
+
+ANSI_SYNOPSIS
+#include <ctype.h>
+int isupper(int <[c]>);
+
+TRAD_SYNOPSIS
+#include <ctype.h>
+int isupper(<[c]>);
+
+DESCRIPTION
+<<isupper>> is a macro which classifies ASCII integer values by table
+lookup. It is a predicate returning non-zero for upper-case letters
+(<<A>>--<<Z>>), and 0 for other characters. It is defined only when
+<<isascii>>(<[c]>) is true or <[c]> is EOF.
+
+You can use a compiled subroutine instead of the macro definition by
+undefining the macro using `<<#undef isupper>>'.
+
+RETURNS
+<<isupper>> returns non-zero if <[c]> is a upper case letter (A-Z).
+
+PORTABILITY
+<<isupper>> is ANSI C.
+
+No supporting OS subroutines are required.
+*/
+#include <_ansi.h>
+#include <ctype.h>
+
+#undef isupper
+int
+_DEFUN(isupper,(c),int c)
+{
+ return((_ctype_ + 1)[c] & _U);
+}
+
diff --git a/newlib/libc/ctype/isxdigit.c b/newlib/libc/ctype/isxdigit.c
new file mode 100644
index 00000000000..f8a035f37f4
--- /dev/null
+++ b/newlib/libc/ctype/isxdigit.c
@@ -0,0 +1,45 @@
+
+/*
+FUNCTION
+<<isxdigit>>---hexadecimal digit predicate
+
+INDEX
+isxdigit
+
+ANSI_SYNOPSIS
+#include <ctype.h>
+int isxdigit(int <[c]>);
+
+TRAD_SYNOPSIS
+#include <ctype.h>
+int isxdigit(int <[c]>);
+
+DESCRIPTION
+<<isxdigit>> is a macro which classifies ASCII integer values by table
+lookup. It is a predicate returning non-zero for hexadecimal digits,
+and <<0>> for other characters. It is defined only when
+<<isascii>>(<[c]>) is true or <[c]> is EOF.
+
+You can use a compiled subroutine instead of the macro definition by
+undefining the macro using `<<#undef isxdigit>>'.
+
+RETURNS
+<<isxdigit>> returns non-zero if <[c]> is a hexadecimal digit
+(<<0>>--<<9>>, <<a>>--<<f>>, or <<A>>--<<F>>).
+
+PORTABILITY
+<<isxdigit>> is ANSI C.
+
+No supporting OS subroutines are required.
+*/
+#include <_ansi.h>
+#include <ctype.h>
+
+
+#undef isxdigit
+int
+_DEFUN(isxdigit,(c),int c)
+{
+ return((_ctype_ + 1)[c] & ((_X)|(_N)));
+}
+
diff --git a/newlib/libc/ctype/toascii.c b/newlib/libc/ctype/toascii.c
new file mode 100644
index 00000000000..4506f355dcb
--- /dev/null
+++ b/newlib/libc/ctype/toascii.c
@@ -0,0 +1,41 @@
+/*
+FUNCTION
+ <<toascii>>---force integers to ASCII range
+
+INDEX
+ toascii
+
+ANSI_SYNOPSIS
+ #include <ctype.h>
+ int toascii(int <[c]>);
+
+TRAD_SYNOPSIS
+ #include <ctype.h>
+ int toascii(<[c]>);
+ int (<[c]>);
+
+DESCRIPTION
+<<toascii>> is a macro which coerces integers to the ASCII range (0--127) by zeroing any higher-order bits.
+
+You can use a compiled subroutine instead of the macro definition by
+undefining this macro using `<<#undef toascii>>'.
+
+RETURNS
+<<toascii>> returns integers between 0 and 127.
+
+PORTABILITY
+<<toascii>> is not ANSI C.
+
+No supporting OS subroutines are required.
+*/
+
+#include <_ansi.h>
+#include <ctype.h>
+#undef toascii
+
+int
+_DEFUN(toascii,(c),int c)
+{
+ return (c)&0177;
+}
+
diff --git a/newlib/libc/ctype/tolower.c b/newlib/libc/ctype/tolower.c
new file mode 100644
index 00000000000..e43fa6c9d1c
--- /dev/null
+++ b/newlib/libc/ctype/tolower.c
@@ -0,0 +1,55 @@
+/*
+FUNCTION
+ <<tolower>>---translate characters to lower case
+
+INDEX
+ tolower
+INDEX
+ _tolower
+
+ANSI_SYNOPSIS
+ #include <ctype.h>
+ int tolower(int <[c]>);
+ int _tolower(int <[c]>);
+
+TRAD_SYNOPSIS
+ #include <ctype.h>
+ int tolower(<[c]>);
+ int _tolower(<[c]>);
+
+
+DESCRIPTION
+<<tolower>> is a macro which converts upper-case characters to lower
+case, leaving all other characters unchanged. It is only defined when
+<[c]> is an integer in the range <<EOF>> to <<255>>.
+
+You can use a compiled subroutine instead of the macro definition by
+undefining this macro using `<<#undef tolower>>'.
+
+<<_tolower>> performs the same conversion as <<tolower>>, but should
+only be used when <[c]> is known to be an uppercase character (<<A>>--<<Z>>).
+
+RETURNS
+<<tolower>> returns the lower-case equivalent of <[c]> when it is a
+character between <<A>> and <<Z>>, and <[c]> otherwise.
+
+<<_tolower>> returns the lower-case equivalent of <[c]> when it is a
+character between <<A>> and <<Z>>. If <[c]> is not one of these
+characters, the behaviour of <<_tolower>> is undefined.
+
+PORTABILITY
+<<tolower>> is ANSI C. <<_tolower>> is not recommended for portable
+programs.
+
+No supporting OS subroutines are required.
+*/
+
+#include <_ansi.h>
+#include <ctype.h>
+
+#undef tolower
+int
+_DEFUN(tolower,(c),int c)
+{
+ return isupper(c) ? (c) - 'A' + 'a' : c;
+}
diff --git a/newlib/libc/ctype/toupper.c b/newlib/libc/ctype/toupper.c
new file mode 100644
index 00000000000..7977beb79d6
--- /dev/null
+++ b/newlib/libc/ctype/toupper.c
@@ -0,0 +1,54 @@
+/*
+FUNCTION
+ <<toupper>>---translate characters to upper case
+
+INDEX
+ toupper
+INDEX
+ _toupper
+
+ANSI_SYNOPSIS
+ #include <ctype.h>
+ int toupper(int <[c]>);
+ int _toupper(int <[c]>);
+
+TRAD_SYNOPSIS
+ #include <ctype.h>
+ int toupper(<[c]>);
+ int _toupper(<[c]>);
+
+
+DESCRIPTION
+<<toupper>> is a macro which converts lower-case characters to upper
+case, leaving all other characters unchanged. It is only defined when
+<[c]> is an integer in the range <<EOF>> to <<255>>.
+
+You can use a compiled subroutine instead of the macro definition by
+undefining this macro using `<<#undef toupper>>'.
+
+<<_toupper>> performs the same conversion as <<toupper>>, but should
+only be used when <[c]> is known to be a lowercase character (<<a>>--<<z>>).
+
+RETURNS
+<<toupper>> returns the upper-case equivalent of <[c]> when it is a
+character between <<a>> and <<z>>, and <[c]> otherwise.
+
+<<_toupper>> returns the upper-case equivalent of <[c]> when it is a
+character between <<a>> and <<z>>. If <[c]> is not one of these
+characters, the behaviour of <<_toupper>> is undefined.
+
+PORTABILITY
+<<toupper>> is ANSI C. <<_toupper>> is not recommended for portable programs.
+
+No supporting OS subroutines are required.
+*/
+
+#include <_ansi.h>
+#include <ctype.h>
+
+#undef toupper
+int
+_DEFUN(toupper,(c),int c)
+{
+ return islower(c) ? c - 'a' + 'A' : c;
+}
diff --git a/newlib/libc/errno/Makefile.am b/newlib/libc/errno/Makefile.am
new file mode 100644
index 00000000000..67038849ad6
--- /dev/null
+++ b/newlib/libc/errno/Makefile.am
@@ -0,0 +1,26 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = errno.c
+
+CHEWOUT_FILES =
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+TARGETDOC = ../tmp.texi
+
+# No doc for errno.
+doc:
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
diff --git a/newlib/libc/errno/Makefile.in b/newlib/libc/errno/Makefile.in
new file mode 100644
index 00000000000..d4073b7d8da
--- /dev/null
+++ b/newlib/libc/errno/Makefile.in
@@ -0,0 +1,297 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+CRT0 = @CRT0@
+EXEEXT = @EXEEXT@
+LIBC_MACHINE_LIB = @LIBC_MACHINE_LIB@
+LIBC_POSIX_LIB = @LIBC_POSIX_LIB@
+LIBC_SIGNAL_DEF = @LIBC_SIGNAL_DEF@
+LIBC_SIGNAL_LIB = @LIBC_SIGNAL_LIB@
+LIBC_SYSCALL_LIB = @LIBC_SYSCALL_LIB@
+LIBC_SYS_LIB = @LIBC_SYS_LIB@
+LIBC_UNIX_LIB = @LIBC_UNIX_LIB@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = errno.c
+
+CHEWOUT_FILES =
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+TARGETDOC = ../tmp.texi
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = errno.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .def .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus errno/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = errno
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am:
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-info-am:
+install-info: install-info-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am:
+uninstall: uninstall-am
+all-am: Makefile $(LIBRARIES)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-noinstLIBRARIES distclean-compile \
+ distclean-tags distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-info-am install-info \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+# No doc for errno.
+doc:
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/errno/errno.c b/newlib/libc/errno/errno.c
new file mode 100644
index 00000000000..fd1743d7362
--- /dev/null
+++ b/newlib/libc/errno/errno.c
@@ -0,0 +1,16 @@
+/* The errno variable is stored in the reentrancy structure. This
+ function returns its address for use by the macro errno defined in
+ errno.h. */
+
+#include <errno.h>
+#include <reent.h>
+
+#ifndef _REENT_ONLY
+
+int *
+__errno ()
+{
+ return &_REENT->_errno;
+}
+
+#endif
diff --git a/newlib/libc/include/_ansi.h b/newlib/libc/include/_ansi.h
new file mode 100644
index 00000000000..b4dc01105a0
--- /dev/null
+++ b/newlib/libc/include/_ansi.h
@@ -0,0 +1,71 @@
+/* Provide support for both ANSI and non-ANSI environments. */
+
+/* Some ANSI environments are "broken" in the sense that __STDC__ cannot be
+ relied upon to have it's intended meaning. Therefore we must use our own
+ concoction: _HAVE_STDC. Always use _HAVE_STDC instead of __STDC__ in newlib
+ sources!
+
+ To get a strict ANSI C environment, define macro __STRICT_ANSI__. This will
+ "comment out" the non-ANSI parts of the ANSI header files (non-ANSI header
+ files aren't affected). */
+
+#ifndef _ANSIDECL_H_
+#define _ANSIDECL_H_
+
+#include <sys/config.h>
+
+/* First try to figure out whether we really are in an ANSI C environment. */
+/* FIXME: This probably needs some work. Perhaps sys/config.h can be
+ prevailed upon to give us a clue. */
+
+#ifdef __STDC__
+#define _HAVE_STDC
+#endif
+
+#ifdef _HAVE_STDC
+#define _PTR void *
+#define _AND ,
+#define _NOARGS void
+#define _CONST const
+#define _VOLATILE volatile
+#define _SIGNED signed
+#define _DOTS , ...
+#define _VOID void
+#define _EXFUN(name, proto) name proto
+#define _DEFUN(name, arglist, args) name(args)
+#define _DEFUN_VOID(name) name(_NOARGS)
+#define _CAST_VOID (void)
+#ifndef _LONG_DOUBLE
+#define _LONG_DOUBLE long double
+#endif
+#ifndef _PARAMS
+#define _PARAMS(paramlist) paramlist
+#endif
+#else
+#define _PTR char *
+#define _AND ;
+#define _NOARGS
+#define _CONST
+#define _VOLATILE
+#define _SIGNED
+#define _DOTS
+#define _VOID void
+#define _EXFUN(name, proto) name()
+#define _DEFUN(name, arglist, args) name arglist args;
+#define _DEFUN_VOID(name) name()
+#define _CAST_VOID
+#define _LONG_DOUBLE double
+#ifndef _PARAMS
+#define _PARAMS(paramlist) ()
+#endif
+#endif
+
+/* Support gcc's __attribute__ facility. */
+
+#ifdef __GNUC__
+#define _ATTRIBUTE(attrs) __attribute__ (attrs)
+#else
+#define _ATTRIBUTE(attrs)
+#endif
+
+#endif /* _ANSIDECL_H_ */
diff --git a/newlib/libc/include/_syslist.h b/newlib/libc/include/_syslist.h
new file mode 100644
index 00000000000..fa552fb606e
--- /dev/null
+++ b/newlib/libc/include/_syslist.h
@@ -0,0 +1,29 @@
+/* internal use only -- mapping of "system calls" for libraries that lose
+ and only provide C names, so that we end up in violation of ANSI */
+#ifndef __SYSLIST_H
+#define __SYSLIST_H
+#ifdef MISSING_SYSCALL_NAMES
+#define _close close
+#define _execve execve
+#define _fcntl fcntl
+#define _fork fork
+#define _fstat fstat
+#define _getpid getpid
+#define _gettimeofday gettimeofday
+#define _kill kill
+#define _link link
+#define _lseek lseek
+#define _open open
+#define _read read
+#define _sbrk sbrk
+#define _stat stat
+#define _times times
+#define _unlink unlink
+#define _wait wait
+#define _write write
+/* functions not yet sysfaked */
+#define _opendir opendir
+#define _readdir readdir
+#define _closedir closedir
+#endif
+#endif
diff --git a/newlib/libc/include/ar.h b/newlib/libc/include/ar.h
new file mode 100644
index 00000000000..ac2e4ca920d
--- /dev/null
+++ b/newlib/libc/include/ar.h
@@ -0,0 +1,69 @@
+/* $NetBSD: ar.h,v 1.4 1994/10/26 00:55:43 cgd Exp $ */
+
+/*-
+ * Copyright (c) 1991, 1993
+ * The Regents of the University of California. All rights reserved.
+ * (c) UNIX System Laboratories, Inc.
+ * All or some portions of this file are derived from material licensed
+ * to the University of California by American Telephone and Telegraph
+ * Co. or Unix System Laboratories, Inc. and are reproduced herein with
+ * the permission of UNIX System Laboratories, Inc.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Hugh Smith at The University of Guelph.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)ar.h 8.2 (Berkeley) 1/21/94
+ */
+
+#ifndef _AR_H_
+#define _AR_H_
+
+/* Pre-4BSD archives had these magic numbers in them. */
+#define OARMAG1 0177555
+#define OARMAG2 0177545
+
+#define ARMAG "!<arch>\n" /* ar "magic number" */
+#define SARMAG 8 /* strlen(ARMAG); */
+
+#define AR_EFMT1 "#1/" /* extended format #1 */
+
+struct ar_hdr {
+ char ar_name[16]; /* name */
+ char ar_date[12]; /* modification time */
+ char ar_uid[6]; /* user id */
+ char ar_gid[6]; /* group id */
+ char ar_mode[8]; /* octal file permissions */
+ char ar_size[10]; /* size in bytes */
+#define ARFMAG "`\n"
+ char ar_fmag[2]; /* consistency check */
+};
+
+#endif /* !_AR_H_ */
diff --git a/newlib/libc/include/assert.h b/newlib/libc/include/assert.h
new file mode 100644
index 00000000000..b681a8518a6
--- /dev/null
+++ b/newlib/libc/include/assert.h
@@ -0,0 +1,29 @@
+/*
+ assert.h
+*/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "_ansi.h"
+
+#undef assert
+
+#ifdef NDEBUG /* required by ANSI standard */
+#define assert(p) ((void)0)
+#else
+
+#ifdef __STDC__
+#define assert(e) ((e) ? (void)0 : __assert(__FILE__, __LINE__, #e))
+#else /* PCC */
+#define assert(e) ((e) ? (void)0 : __assert(__FILE__, __LINE__, "e"))
+#endif
+
+#endif /* NDEBUG */
+
+void _EXFUN(__assert,(const char *, int, const char *));
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/newlib/libc/include/ctype.h b/newlib/libc/include/ctype.h
new file mode 100644
index 00000000000..224b703ad30
--- /dev/null
+++ b/newlib/libc/include/ctype.h
@@ -0,0 +1,73 @@
+#ifndef _CTYPE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+#define _CTYPE_H_
+
+#include "_ansi.h"
+
+int _EXFUN(isalnum, (int __c));
+int _EXFUN(isalpha, (int __c));
+int _EXFUN(iscntrl, (int __c));
+int _EXFUN(isdigit, (int __c));
+int _EXFUN(isgraph, (int __c));
+int _EXFUN(islower, (int __c));
+int _EXFUN(isprint, (int __c));
+int _EXFUN(ispunct, (int __c));
+int _EXFUN(isspace, (int __c));
+int _EXFUN(isupper, (int __c));
+int _EXFUN(isxdigit,(int __c));
+int _EXFUN(tolower, (int __c));
+int _EXFUN(toupper, (int __c));
+
+#ifndef __STRICT_ANSI__
+int _EXFUN(isascii, (int __c));
+int _EXFUN(toascii, (int __c));
+int _EXFUN(_tolower, (int __c));
+int _EXFUN(_toupper, (int __c));
+#endif
+
+#define _U 01
+#define _L 02
+#define _N 04
+#define _S 010
+#define _P 020
+#define _C 040
+#define _X 0100
+#define _B 0200
+
+#if !defined(__CYGWIN32__) || defined(__INSIDE_CYGWIN__) || defined(_COMPILING_NEWLIB)
+extern _CONST char _ctype_[];
+#else
+extern _CONST char _ctype_[] __declspec(dllimport);
+#endif
+
+#define isalpha(c) ((_ctype_+1)[(unsigned)(c)]&(_U|_L))
+#define isupper(c) ((_ctype_+1)[(unsigned)(c)]&_U)
+#define islower(c) ((_ctype_+1)[(unsigned)(c)]&_L)
+#define isdigit(c) ((_ctype_+1)[(unsigned)(c)]&_N)
+#define isxdigit(c) ((_ctype_+1)[(unsigned)(c)]&(_X|_N))
+#define isspace(c) ((_ctype_+1)[(unsigned)(c)]&_S)
+#define ispunct(c) ((_ctype_+1)[(unsigned)(c)]&_P)
+#define isalnum(c) ((_ctype_+1)[(unsigned)(c)]&(_U|_L|_N))
+#define isprint(c) ((_ctype_+1)[(unsigned)(c)]&(_P|_U|_L|_N|_B))
+#define isgraph(c) ((_ctype_+1)[(unsigned)(c)]&(_P|_U|_L|_N))
+#define iscntrl(c) ((_ctype_+1)[(unsigned)(c)]&_C)
+/* Non-gcc versions will get the library versions, and will be
+ slightly slower */
+#ifdef __GNUC__
+# define toupper(c) \
+ ({ int __x = (c); islower(__x) ? (__x - 'a' + 'A') : __x;})
+# define tolower(c) \
+ ({ int __x = (c); isupper(__x) ? (__x - 'A' + 'a') : __x;})
+#endif
+
+#ifndef __STRICT_ANSI__
+#define isascii(c) ((unsigned)(c)<=0177)
+#define toascii(c) ((c)&0177)
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _CTYPE_H_ */
diff --git a/newlib/libc/include/dirent.h b/newlib/libc/include/dirent.h
new file mode 100644
index 00000000000..eaa4c190d22
--- /dev/null
+++ b/newlib/libc/include/dirent.h
@@ -0,0 +1,7 @@
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include <sys/dirent.h>
+#ifdef __cplusplus
+}
+#endif
diff --git a/newlib/libc/include/errno.h b/newlib/libc/include/errno.h
new file mode 100644
index 00000000000..fa8efb7f591
--- /dev/null
+++ b/newlib/libc/include/errno.h
@@ -0,0 +1 @@
+#include <sys/errno.h>
diff --git a/newlib/libc/include/fastmath.h b/newlib/libc/include/fastmath.h
new file mode 100644
index 00000000000..95eea5f3421
--- /dev/null
+++ b/newlib/libc/include/fastmath.h
@@ -0,0 +1,13 @@
+#ifndef _FASTMATH_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+#define _FASTMATH_H_
+
+#include <math.h>
+#include <machine/fastmath.h>
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _FASTMATH_H_ */
diff --git a/newlib/libc/include/fcntl.h b/newlib/libc/include/fcntl.h
new file mode 100644
index 00000000000..86a9167757a
--- /dev/null
+++ b/newlib/libc/include/fcntl.h
@@ -0,0 +1 @@
+#include <sys/fcntl.h>
diff --git a/newlib/libc/include/grp.h b/newlib/libc/include/grp.h
new file mode 100644
index 00000000000..b8680a5d80b
--- /dev/null
+++ b/newlib/libc/include/grp.h
@@ -0,0 +1,85 @@
+/* $NetBSD: grp.h,v 1.7 1995/04/29 05:30:40 cgd Exp $ */
+
+/*-
+ * Copyright (c) 1989, 1993
+ * The Regents of the University of California. All rights reserved.
+ * (c) UNIX System Laboratories, Inc.
+ * All or some portions of this file are derived from material licensed
+ * to the University of California by American Telephone and Telegraph
+ * Co. or Unix System Laboratories, Inc. and are reproduced herein with
+ * the permission of UNIX System Laboratories, Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)grp.h 8.2 (Berkeley) 1/21/94
+ */
+
+#ifndef _GRP_H_
+#define _GRP_H_
+
+#include <sys/types.h>
+
+#if !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE)
+#define _PATH_GROUP "/etc/group"
+#endif
+
+struct group {
+ char *gr_name; /* group name */
+ char *gr_passwd; /* group password */
+ gid_t gr_gid; /* group id */
+ char **gr_mem; /* group members */
+};
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct group *getgrgid (gid_t);
+struct group *getgrnam (const char *);
+int getgrnam_r (const char *, struct group *,
+ char *, size_t, struct group **);
+int getgrgid_r (gid_t, struct group *,
+ char *, size_t, struct group **);
+#ifndef _POSIX_SOURCE
+struct group *getgrent (void);
+void setgrent (void);
+void endgrent (void);
+void setgrfile (const char *);
+#ifndef _XOPEN_SOURCE
+char *group_from_gid (gid_t, int);
+int setgroupent (int);
+#endif /* !_XOPEN_SOURCE */
+#endif /* !_POSIX_SOURCE */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* !_GRP_H_ */
diff --git a/newlib/libc/include/ieeefp.h b/newlib/libc/include/ieeefp.h
new file mode 100644
index 00000000000..78bb5bf62ca
--- /dev/null
+++ b/newlib/libc/include/ieeefp.h
@@ -0,0 +1,241 @@
+#ifndef _IEEE_FP_H_
+#define _IEEE_FP_H_
+
+#include "_ansi.h"
+
+#include <machine/ieeefp.h>
+
+/* FIXME FIXME FIXME:
+ Neither of __ieee_{float,double}_shape_tape seem to be used anywhere
+ except in libm/test. If that is the case, please delete these from here.
+ If that is not the case, please insert documentation here describing why
+ they're needed. */
+
+#ifdef __IEEE_BIG_ENDIAN
+
+typedef union
+{
+ double value;
+ struct
+ {
+ unsigned int sign : 1;
+ unsigned int exponent: 11;
+ unsigned int fraction0:4;
+ unsigned int fraction1:16;
+ unsigned int fraction2:16;
+ unsigned int fraction3:16;
+
+ } number;
+ struct
+ {
+ unsigned int sign : 1;
+ unsigned int exponent: 11;
+ unsigned int quiet:1;
+ unsigned int function0:3;
+ unsigned int function1:16;
+ unsigned int function2:16;
+ unsigned int function3:16;
+ } nan;
+ struct
+ {
+ unsigned long msw;
+ unsigned long lsw;
+ } parts;
+ long aslong[2];
+} __ieee_double_shape_type;
+
+#endif
+
+#ifdef __IEEE_LITTLE_ENDIAN
+
+typedef union
+{
+ double value;
+ struct
+ {
+#ifdef __SMALL_BITFIELDS
+ unsigned int fraction3:16;
+ unsigned int fraction2:16;
+ unsigned int fraction1:16;
+ unsigned int fraction0: 4;
+#else
+ unsigned int fraction1:32;
+ unsigned int fraction0:20;
+#endif
+ unsigned int exponent :11;
+ unsigned int sign : 1;
+ } number;
+ struct
+ {
+#ifdef __SMALL_BITFIELDS
+ unsigned int function3:16;
+ unsigned int function2:16;
+ unsigned int function1:16;
+ unsigned int function0:3;
+#else
+ unsigned int function1:32;
+ unsigned int function0:19;
+#endif
+ unsigned int quiet:1;
+ unsigned int exponent: 11;
+ unsigned int sign : 1;
+ } nan;
+ struct
+ {
+ unsigned long lsw;
+ unsigned long msw;
+ } parts;
+
+ long aslong[2];
+
+} __ieee_double_shape_type;
+
+#endif
+
+#ifdef __IEEE_BIG_ENDIAN
+
+typedef union
+{
+ float value;
+ struct
+ {
+ unsigned int sign : 1;
+ unsigned int exponent: 8;
+ unsigned int fraction0: 7;
+ unsigned int fraction1: 16;
+ } number;
+ struct
+ {
+ unsigned int sign:1;
+ unsigned int exponent:8;
+ unsigned int quiet:1;
+ unsigned int function0:6;
+ unsigned int function1:16;
+ } nan;
+ long p1;
+
+} __ieee_float_shape_type;
+
+#endif
+
+#ifdef __IEEE_LITTLE_ENDIAN
+
+typedef union
+{
+ float value;
+ struct
+ {
+ unsigned int fraction0: 7;
+ unsigned int fraction1: 16;
+ unsigned int exponent: 8;
+ unsigned int sign : 1;
+ } number;
+ struct
+ {
+ unsigned int function1:16;
+ unsigned int function0:6;
+ unsigned int quiet:1;
+ unsigned int exponent:8;
+ unsigned int sign:1;
+ } nan;
+ long p1;
+
+} __ieee_float_shape_type;
+
+#endif
+
+
+
+
+
+/* FLOATING ROUNDING */
+
+typedef int fp_rnd;
+#define FP_RN 0 /* Round to nearest */
+#define FP_RM 1 /* Round down */
+#define FP_RP 2 /* Round up */
+#define FP_RZ 3 /* Round to zero (trunate) */
+
+fp_rnd _EXFUN(fpgetround,(void));
+fp_rnd _EXFUN(fpsetround, (fp_rnd));
+
+/* EXCEPTIONS */
+
+typedef int fp_except;
+#define FP_X_INV 0x10 /* Invalid operation */
+#define FP_X_DX 0x80 /* Divide by zero */
+#define FP_X_OFL 0x04 /* Overflow exception */
+#define FP_X_UFL 0x02 /* Underflow exception */
+#define FP_X_IMP 0x01 /* imprecise exception */
+
+fp_except _EXFUN(fpgetmask,(void));
+fp_except _EXFUN(fpsetmask,(fp_except));
+fp_except _EXFUN(fpgetsticky,(void));
+fp_except _EXFUN(fpsetsticky, (fp_except));
+
+/* INTEGER ROUNDING */
+
+typedef int fp_rdi;
+#define FP_RDI_TOZ 0 /* Round to Zero */
+#define FP_RDI_RD 1 /* Follow float mode */
+
+fp_rdi _EXFUN(fpgetroundtoi,(void));
+fp_rdi _EXFUN(fpsetroundtoi,(fp_rdi));
+
+int _EXFUN(isnan, (double));
+int _EXFUN(isinf, (double));
+int _EXFUN(finite, (double));
+
+
+
+int _EXFUN(isnanf, (float));
+int _EXFUN(isinff, (float));
+int _EXFUN(finitef, (float));
+
+#define __IEEE_DBL_EXPBIAS 1023
+#define __IEEE_FLT_EXPBIAS 127
+
+#define __IEEE_DBL_EXPLEN 11
+#define __IEEE_FLT_EXPLEN 8
+
+
+#define __IEEE_DBL_FRACLEN (64 - (__IEEE_DBL_EXPLEN + 1))
+#define __IEEE_FLT_FRACLEN (32 - (__IEEE_FLT_EXPLEN + 1))
+
+#define __IEEE_DBL_MAXPOWTWO ((double)(1L << 32 - 2) * (1L << (32-11) - 32 + 1))
+#define __IEEE_FLT_MAXPOWTWO ((float)(1L << (32-8) - 1))
+
+#define __IEEE_DBL_NAN_EXP 0x7ff
+#define __IEEE_FLT_NAN_EXP 0xff
+
+
+#define isnanf(x) (((*(long *)&(x) & 0x7f800000L)==0x7f800000L) && \
+ ((*(long *)&(x) & 0x007fffffL)!=0000000000L))
+
+#define isinff(x) (((*(long *)&(x) & 0x7f800000L)==0x7f800000L) && \
+ ((*(long *)&(x) & 0x007fffffL)==0000000000L))
+
+#define finitef(x) (((*(long *)&(x) & 0x7f800000L)!=0x7f800000L))
+
+#ifdef _DOUBLE_IS_32BITS
+#undef __IEEE_DBL_EXPBIAS
+#define __IEEE_DBL_EXPBIAS __IEEE_FLT_EXPBIAS
+
+#undef __IEEE_DBL_EXPLEN
+#define __IEEE_DBL_EXPLEN __IEEE_FLT_EXPLEN
+
+#undef __IEEE_DBL_FRACLEN
+#define __IEEE_DBL_FRACLEN __IEEE_FLT_FRACLEN
+
+#undef __IEEE_DBL_MAXPOWTWO
+#define __IEEE_DBL_MAXPOWTWO __IEEE_FLT_MAXPOWTWO
+
+#undef __IEEE_DBL_NAN_EXP
+#define __IEEE_DBL_NAN_EXP __IEEE_FLT_NAN_EXP
+
+#undef __ieee_double_shape_type
+#define __ieee_double_shape_type __ieee_float_shape_type
+
+#endif /* _DOUBLE_IS_32BITS */
+
+#endif /* _IEEE_FP_H_ */
diff --git a/newlib/libc/include/locale.h b/newlib/libc/include/locale.h
new file mode 100644
index 00000000000..c8d9c081d35
--- /dev/null
+++ b/newlib/libc/include/locale.h
@@ -0,0 +1,60 @@
+/*
+ locale.h
+ Values appropriate for the formatting of monetary and other
+ numberic quantities.
+*/
+
+#ifndef _LOCALE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+#define _LOCALE_H_
+
+#include "_ansi.h"
+
+#ifndef NULL
+#define NULL 0
+#endif
+
+#define LC_ALL 0
+#define LC_COLLATE 1
+#define LC_CTYPE 2
+#define LC_MONETARY 3
+#define LC_NUMERIC 4
+#define LC_TIME 5
+
+struct lconv
+{
+ char *decimal_point;
+ char *thousands_sep;
+ char *grouping;
+ char *int_curr_symbol;
+ char *currency_symbol;
+ char *mon_decimal_point;
+ char *mon_thousands_sep;
+ char *mon_grouping;
+ char *positive_sign;
+ char *negative_sign;
+ char int_frac_digits;
+ char frac_digits;
+ char p_cs_precedes;
+ char p_sep_by_space;
+ char n_cs_precedes;
+ char n_sep_by_space;
+ char p_sign_posn;
+ char n_sign_posn;
+};
+
+#ifndef _REENT_ONLY
+char *_EXFUN(setlocale,(int category, const char *locale));
+struct lconv *_EXFUN(localeconv,(void));
+#endif
+
+struct _reent;
+char *_EXFUN(_setlocale_r,(struct _reent *, int category, const char *locale));
+struct lconv *_EXFUN(_localeconv_r,(struct _reent *));
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _LOCALE_H_ */
diff --git a/newlib/libc/include/machine/fastmath.h b/newlib/libc/include/machine/fastmath.h
new file mode 100644
index 00000000000..b13befa228b
--- /dev/null
+++ b/newlib/libc/include/machine/fastmath.h
@@ -0,0 +1,100 @@
+#ifdef __sysvnecv70_target
+double EXFUN(fast_sin,(double));
+double EXFUN(fast_cos,(double));
+double EXFUN(fast_tan,(double));
+
+double EXFUN(fast_asin,(double));
+double EXFUN(fast_acos,(double));
+double EXFUN(fast_atan,(double));
+
+double EXFUN(fast_sinh,(double));
+double EXFUN(fast_cosh,(double));
+double EXFUN(fast_tanh,(double));
+
+double EXFUN(fast_asinh,(double));
+double EXFUN(fast_acosh,(double));
+double EXFUN(fast_atanh,(double));
+
+double EXFUN(fast_abs,(double));
+double EXFUN(fast_sqrt,(double));
+double EXFUN(fast_exp2,(double));
+double EXFUN(fast_exp10,(double));
+double EXFUN(fast_expe,(double));
+double EXFUN(fast_log10,(double));
+double EXFUN(fast_log2,(double));
+double EXFUN(fast_loge,(double));
+
+
+#define sin(x) fast_sin(x)
+#define cos(x) fast_cos(x)
+#define tan(x) fast_tan(x)
+#define asin(x) fast_asin(x)
+#define acos(x) fast_acos(x)
+#define atan(x) fast_atan(x)
+#define sinh(x) fast_sinh(x)
+#define cosh(x) fast_cosh(x)
+#define tanh(x) fast_tanh(x)
+#define asinh(x) fast_asinh(x)
+#define acosh(x) fast_acosh(x)
+#define atanh(x) fast_atanh(x)
+#define abs(x) fast_abs(x)
+#define sqrt(x) fast_sqrt(x)
+#define exp2(x) fast_exp2(x)
+#define exp10(x) fast_exp10(x)
+#define expe(x) fast_expe(x)
+#define log10(x) fast_log10(x)
+#define log2(x) fast_log2(x)
+#define loge(x) fast_loge(x)
+
+#ifdef _HAVE_STDC
+/* These functions are in assembler, they really do take floats. This
+ can only be used with a real ANSI compiler */
+
+float EXFUN(fast_sinf,(float));
+float EXFUN(fast_cosf,(float));
+float EXFUN(fast_tanf,(float));
+
+float EXFUN(fast_asinf,(float));
+float EXFUN(fast_acosf,(float));
+float EXFUN(fast_atanf,(float));
+
+float EXFUN(fast_sinhf,(float));
+float EXFUN(fast_coshf,(float));
+float EXFUN(fast_tanhf,(float));
+
+float EXFUN(fast_asinhf,(float));
+float EXFUN(fast_acoshf,(float));
+float EXFUN(fast_atanhf,(float));
+
+float EXFUN(fast_absf,(float));
+float EXFUN(fast_sqrtf,(float));
+float EXFUN(fast_exp2f,(float));
+float EXFUN(fast_exp10f,(float));
+float EXFUN(fast_expef,(float));
+float EXFUN(fast_log10f,(float));
+float EXFUN(fast_log2f,(float));
+float EXFUN(fast_logef,(float));
+#define sinf(x) fast_sinf(x)
+#define cosf(x) fast_cosf(x)
+#define tanf(x) fast_tanf(x)
+#define asinf(x) fast_asinf(x)
+#define acosf(x) fast_acosf(x)
+#define atanf(x) fast_atanf(x)
+#define sinhf(x) fast_sinhf(x)
+#define coshf(x) fast_coshf(x)
+#define tanhf(x) fast_tanhf(x)
+#define asinhf(x) fast_asinhf(x)
+#define acoshf(x) fast_acoshf(x)
+#define atanhf(x) fast_atanhf(x)
+#define absf(x) fast_absf(x)
+#define sqrtf(x) fast_sqrtf(x)
+#define exp2f(x) fast_exp2f(x)
+#define exp10f(x) fast_exp10f(x)
+#define expef(x) fast_expef(x)
+#define log10f(x) fast_log10f(x)
+#define log2f(x) fast_log2f(x)
+#define logef(x) fast_logef(x)
+#endif
+/* Override the functions defined in math.h */
+#endif /* __sysvnecv70_target */
+
diff --git a/newlib/libc/include/machine/ieeefp.h b/newlib/libc/include/machine/ieeefp.h
new file mode 100644
index 00000000000..ce8f0ffc58f
--- /dev/null
+++ b/newlib/libc/include/machine/ieeefp.h
@@ -0,0 +1,157 @@
+#ifndef __IEEE_BIG_ENDIAN
+#ifndef __IEEE_LITTLE_ENDIAN
+
+#if defined(__arm__) || defined(__thumb__)
+/* ARM always has big-endian words. Within those words the byte ordering
+ appears to be big or little endian. Newlib doesn't seem to care about
+ the byte ordering within words. */
+#define __IEEE_BIG_ENDIAN
+#endif
+
+#ifdef __hppa__
+#define __IEEE_BIG_ENDIAN
+#endif
+
+#ifdef __sparc__
+#ifdef __LITTLE_ENDIAN_DATA__
+#define __IEEE_LITTLE_ENDIAN
+#else
+#define __IEEE_BIG_ENDIAN
+#endif
+#endif
+
+#if defined(__m68k__) || defined(__mc68000__)
+#define __IEEE_BIG_ENDIAN
+#endif
+
+#if defined (__H8300__) || defined (__H8300H__) || defined (__H8300S__)
+#define __IEEE_BIG_ENDIAN
+#define __SMALL_BITFIELDS
+#define _DOUBLE_IS_32BITS
+#endif
+
+#ifdef __H8500__
+#define __IEEE_BIG_ENDIAN
+#define __SMALL_BITFIELDS
+#define _DOUBLE_IS_32BITS
+#endif
+
+#ifdef __sh__
+#ifdef __LITTLE_ENDIAN__
+#define __IEEE_LITTLE_ENDIAN
+#else
+#define __IEEE_BIG_ENDIAN
+#endif
+#if defined(__SH3E__) || defined(__SH4_SINGLE_ONLY__)
+#define _DOUBLE_IS_32BITS
+#endif
+#endif
+
+#ifdef _AM29K
+#define __IEEE_BIG_ENDIAN
+#endif
+
+#ifdef _WIN32
+#define __IEEE_LITTLE_ENDIAN
+#endif
+
+#ifdef __i386__
+#define __IEEE_LITTLE_ENDIAN
+#endif
+
+#ifdef __i960__
+#define __IEEE_LITTLE_ENDIAN
+#endif
+
+#ifdef __M32R__
+#define __IEEE_BIG_ENDIAN
+#endif
+
+#ifdef __TIC80__
+#define __IEEE_LITTLE_ENDIAN
+#endif
+
+#ifdef __MIPSEL__
+#define __IEEE_LITTLE_ENDIAN
+#endif
+#ifdef __MIPSEB__
+#define __IEEE_BIG_ENDIAN
+#endif
+
+/* necv70 was __IEEE_LITTLE_ENDIAN. */
+
+#ifdef __W65__
+#define __IEEE_LITTLE_ENDIAN
+#define __SMALL_BITFIELDS
+#define _DOUBLE_IS_32BITS
+#endif
+
+#if defined(__Z8001__) || defined(__Z8002__)
+#define __IEEE_BIG_ENDIAN
+#endif
+
+#ifdef __m88k__
+#define __IEEE_BIG_ENDIAN
+#endif
+
+#ifdef __mn10300__
+#define __IEEE_LITTLE_ENDIAN
+#endif
+
+#ifdef __mn10200__
+#define __IEEE_LITTLE_ENDIAN
+#define __SMALL_BITFIELDS
+#define _DOUBLE_IS_32BITS
+#endif
+
+#ifdef __v800
+#define __IEEE_LITTLE_ENDIAN
+#endif
+
+#ifdef __v850
+#define __IEEE_LITTLE_ENDIAN
+#endif
+
+#ifdef __D10V__
+#define __IEEE_BIG_ENDIAN
+#define _DOUBLE_IS_32BITS
+#define __SMALL_BITFIELDS
+#endif
+
+#ifdef __PPC__
+#if (defined(_BIG_ENDIAN) && _BIG_ENDIAN) || (defined(_AIX) && _AIX)
+#define __IEEE_BIG_ENDIAN
+#else
+#if (defined(_LITTLE_ENDIAN) && _LITTLE_ENDIAN) || (defined(__sun__) && __sun__) || (defined(_WIN32) && _WIN32)
+#define __IEEE_LITTLE_ENDIAN
+#endif
+#endif
+#endif
+
+#ifdef __arc__
+#ifdef __big_endian__
+#define __IEEE_BIG_ENDIAN
+#else
+#define __IEEE_LITTLE_ENDIAN
+#endif
+#endif
+
+#ifdef __fr30__
+#define __IEEE_BIG_ENDIAN
+#endif
+
+#ifdef __mcore__
+#define __IEEE_BIG_ENDIAN
+#endif
+
+
+
+#ifndef __IEEE_BIG_ENDIAN
+#ifndef __IEEE_LITTLE_ENDIAN
+#error Endianess not declared!!
+#endif /* not __IEEE_LITTLE_ENDIAN */
+#endif /* not __IEEE_BIG_ENDIAN */
+
+#endif /* not __IEEE_LITTLE_ENDIAN */
+#endif /* not __IEEE_BIG_ENDIAN */
+
diff --git a/newlib/libc/include/machine/setjmp-dj.h b/newlib/libc/include/machine/setjmp-dj.h
new file mode 100644
index 00000000000..0243f7e7608
--- /dev/null
+++ b/newlib/libc/include/machine/setjmp-dj.h
@@ -0,0 +1,44 @@
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+/* Modified to use SETJMP_DJ_H rather than SETJMP_H to avoid
+ conflicting with setjmp.h. Ian Taylor, Cygnus support, April,
+ 1993. */
+
+#ifndef _SETJMP_DJ_H_
+#define _SETJMP_DJ_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct {
+ unsigned long eax;
+ unsigned long ebx;
+ unsigned long ecx;
+ unsigned long edx;
+ unsigned long esi;
+ unsigned long edi;
+ unsigned long ebp;
+ unsigned long esp;
+ unsigned long eip;
+} jmp_buf[1];
+
+extern int setjmp(jmp_buf);
+extern void longjmp(jmp_buf, int);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/newlib/libc/include/machine/setjmp.h b/newlib/libc/include/machine/setjmp.h
new file mode 100644
index 00000000000..4656c0ff1d5
--- /dev/null
+++ b/newlib/libc/include/machine/setjmp.h
@@ -0,0 +1,168 @@
+#if defined(__arm__) || defined(__thumb__)
+/*
+ * All callee preserved registers:
+ * v1 - v7, fp, ip, sp, lr, f4, f5, f6, f7
+ */
+#define _JBLEN 23
+#endif
+
+#ifdef __sparc__
+/*
+ * onsstack,sigmask,sp,pc,npc,psr,g1,o0,wbcnt (sigcontext).
+ * All else recovered by under/over(flow) handling.
+ */
+#define _JBLEN 13
+#endif
+
+/* necv70 was 9 as well. */
+
+#ifdef __mc68000__
+/*
+ * onsstack,sigmask,sp,pc,psl,d2-d7,a2-a6,
+ * fp2-fp7 for 68881.
+ * All else recovered by under/over(flow) handling.
+ */
+#define _JBLEN 34
+#endif
+
+#if defined(__Z8001__) || defined(__Z8002__)
+/* 16 regs + pc */
+#define _JBLEN 20
+#endif
+
+#ifdef _AM29K
+/*
+ * onsstack,sigmask,sp,pc,npc,psr,g1,o0,wbcnt (sigcontext).
+ * All else recovered by under/over(flow) handling.
+ */
+#define _JBLEN 9
+#endif
+
+#if defined(__CYGWIN__) && !defined (_JBLEN)
+#define _JBLEN (13 * 4)
+#elif defined (__i386__)
+#ifdef __unix__
+# define _JBLEN 36
+#else
+#include "setjmp-dj.h"
+#endif
+#endif
+
+#ifdef __i960__
+#define _JBLEN 35
+#endif
+
+#ifdef __M32R__
+/* Only 8 words are currently needed. 10 gives us some slop if we need
+ to expand. */
+#define _JBLEN 10
+#endif
+
+#ifdef __mips__
+#define _JBLEN 11
+#endif
+
+#ifdef __m88000__
+#define _JBLEN 21
+#endif
+
+#ifdef __H8300__
+#define _JBLEN 5
+typedef int jmp_buf[_JBLEN];
+#endif
+
+#ifdef __H8300H__
+/* same as H8/300 but registers are twice as big */
+#define _JBLEN 5
+#define _JBTYPE long
+#endif
+
+#ifdef __H8300S__
+/* same as H8/300 but registers are twice as big */
+#define _JBLEN 5
+#define _JBTYPE long
+#endif
+
+#ifdef __H8500__
+#define _JBLEN 4
+#endif
+
+#ifdef __sh__
+#define _JBLEN 20
+#endif
+
+#ifdef __v800
+#define _JBLEN 28
+#endif
+
+#ifdef __PPC__
+#define _JBLEN 32
+#define _JBTYPE double
+#endif
+
+#ifdef __hppa__
+/* %r30, %r2-%r18, %r27, pad, %fr12-%fr15.
+ Note space exists for the FP registers, but they are not
+ saved. */
+#define _JBLEN 28
+#endif
+
+#if defined(__mn10300__) || defined(__mn10200__)
+/* A guess */
+#define _JBLEN 10
+#endif
+
+#ifdef __v850
+/* I think our setjmp is saving 15 regs at the moment. Gives us one word
+ slop if we need to expand. */
+#define _JBLEN 16
+#endif
+
+#ifdef __TIC80__
+#define _JBLEN 13
+#endif
+
+#ifdef __D10V__
+#define _JBLEN 8
+#endif
+
+#ifdef __D30V__
+#define _JBLEN ((64 /* GPR */ + (2*2) /* ACs */ + 18 /* CRs */) / 2)
+#define _JBTYPE double
+#endif
+
+
+#ifdef __fr30__
+#define _JBLEN 10
+#endif
+
+#ifdef __mcore__
+#define _JBLEN 16
+#endif
+
+#ifdef _JBLEN
+#ifdef _JBTYPE
+typedef _JBTYPE jmp_buf[_JBLEN];
+#else
+typedef int jmp_buf[_JBLEN];
+#endif
+
+#if defined(__CYGWIN32__) || defined(__rtems__)
+#include <signal.h>
+
+/* POSIX sigsetjmp/siglongjmp macros */
+typedef int sigjmp_buf[_JBLEN+2];
+
+#define _SAVEMASK _JBLEN
+#define _SIGMASK (_JBLEN+1)
+
+#define sigsetjmp(env, savemask) (env[_SAVEMASK] = savemask,\
+ sigprocmask (SIG_SETMASK, 0, (sigset_t *) &env[_SIGMASK]),\
+ setjmp (env))
+
+#define siglongjmp(env, val) (((env[_SAVEMASK])?\
+ sigprocmask (SIG_SETMASK, (sigset_t *) &env[_SIGMASK], 0):0),\
+ longjmp (env, val))
+
+#endif /* __CYGWIN32__ or __rtems__ */
+#endif
diff --git a/newlib/libc/include/machine/time.h b/newlib/libc/include/machine/time.h
new file mode 100644
index 00000000000..13857bfdebf
--- /dev/null
+++ b/newlib/libc/include/machine/time.h
@@ -0,0 +1,10 @@
+#ifndef _MACHTIME_H_
+#define _MACHTIME_H_
+
+#if defined(__arm__) || defined(__thumb__)
+#define _CLOCKS_PER_SEC_ 100
+#endif
+
+#endif /* _MACHTIME_H_ */
+
+
diff --git a/newlib/libc/include/machine/types.h b/newlib/libc/include/machine/types.h
new file mode 100644
index 00000000000..b71a67f564f
--- /dev/null
+++ b/newlib/libc/include/machine/types.h
@@ -0,0 +1,9 @@
+#ifndef _MACHTYPES_H_
+#define _MACHTYPES_H_
+
+#define _CLOCK_T_ unsigned long /* clock() */
+#define _TIME_T_ long /* time() */
+
+#endif /* _MACHTYPES_H_ */
+
+
diff --git a/newlib/libc/include/malloc.h b/newlib/libc/include/malloc.h
new file mode 100644
index 00000000000..64abe91cf49
--- /dev/null
+++ b/newlib/libc/include/malloc.h
@@ -0,0 +1,97 @@
+/* malloc.h -- header file for memory routines. */
+
+#ifndef _INCLUDE_MALLOC_H_
+#define _INCLUDE_MALLOC_H_
+
+#include <_ansi.h>
+#include <sys/reent.h>
+
+#define __need_size_t
+#include <stddef.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* This version of struct mallinfo must match the one in
+ libc/stdlib/mallocr.c. */
+
+struct mallinfo {
+ int arena; /* total space allocated from system */
+ int ordblks; /* number of non-inuse chunks */
+ int smblks; /* unused -- always zero */
+ int hblks; /* number of mmapped regions */
+ int hblkhd; /* total space in mmapped regions */
+ int usmblks; /* unused -- always zero */
+ int fsmblks; /* unused -- always zero */
+ int uordblks; /* total allocated space */
+ int fordblks; /* total non-inuse space */
+ int keepcost; /* top-most, releasable (via malloc_trim) space */
+};
+
+/* The routines. */
+
+extern _PTR malloc _PARAMS ((size_t));
+extern _PTR _malloc_r _PARAMS ((struct _reent *, size_t));
+
+extern _VOID free _PARAMS ((_PTR));
+extern _VOID _free_r _PARAMS ((struct _reent *, _PTR));
+
+extern _PTR realloc _PARAMS ((_PTR, size_t));
+extern _PTR _realloc_r _PARAMS ((struct _reent *, _PTR, size_t));
+
+extern _PTR calloc _PARAMS ((size_t, size_t));
+extern _PTR _calloc_r _PARAMS ((struct _reent *, size_t, size_t));
+
+extern _PTR memalign _PARAMS ((size_t, size_t));
+extern _PTR _memalign_r _PARAMS ((struct _reent *, size_t, size_t));
+
+extern struct mallinfo mallinfo _PARAMS ((void));
+extern struct mallinfo _mallinfo_r _PARAMS ((struct _reent *));
+
+extern void malloc_stats _PARAMS ((void));
+extern void _malloc_stats_r _PARAMS ((struct _reent *));
+
+extern int mallopt _PARAMS ((int, int));
+extern int _mallopt_r _PARAMS ((struct _reent *, int, int));
+
+extern size_t malloc_usable_size _PARAMS ((_PTR));
+extern size_t _malloc_usable_size_r _PARAMS ((struct _reent *, _PTR));
+
+/* These aren't too useful on an embedded system, but we define them
+ anyhow. */
+
+extern _PTR valloc _PARAMS ((size_t));
+extern _PTR _valloc_r _PARAMS ((struct _reent *, size_t));
+
+extern _PTR pvalloc _PARAMS ((size_t));
+extern _PTR _pvalloc_r _PARAMS ((struct _reent *, size_t));
+
+extern int malloc_trim _PARAMS ((size_t));
+extern int _malloc_trim_r _PARAMS ((struct _reent *, size_t));
+
+/* Some systems provide this, so do too for compatibility. */
+
+extern void cfree _PARAMS ((_PTR));
+
+/* A compatibility routine for an earlier version of the allocator. */
+
+extern _VOID mstats _PARAMS ((char *));
+extern _VOID _mstats_r _PARAMS ((struct _reent *, char *));
+
+#ifdef __CYGWIN32__
+
+/* Cygwin32 needs to be able to copy all the malloc information from
+ the parent to the child. However, cygwin32 does not normally copy
+ any data in the DLL data section. This routine handles copying
+ that information. */
+
+extern int __malloc_copy _PARAMS ((int (*) (void *, void *, void *, int),
+ void *, int));
+#endif /* __CYGWIN32 */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _INCLUDE_MALLOC_H_ */
diff --git a/newlib/libc/include/math.h b/newlib/libc/include/math.h
new file mode 100644
index 00000000000..d3f2e99ae4d
--- /dev/null
+++ b/newlib/libc/include/math.h
@@ -0,0 +1,273 @@
+/* math.h -- Definitions for the math floating point package. */
+
+#ifndef _MATH_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+#define _MATH_H_
+
+#include <sys/reent.h>
+#include <machine/ieeefp.h>
+#include "_ansi.h"
+
+#ifndef HUGE_VAL
+
+/* Define HUGE_VAL as infinity, unless HUGE_VAL is already defined
+ (which might have been done by something like math-68881.h). */
+
+union __dmath
+{
+ __uint32_t i[2];
+ double d;
+};
+
+extern const union __dmath __infinity;
+
+#define HUGE_VAL (__infinity.d)
+
+#endif /* ! defined (HUGE_VAL) */
+
+/* Reentrant ANSI C functions. */
+
+#ifndef __math_68881
+extern double atan _PARAMS((double));
+extern double cos _PARAMS((double));
+extern double sin _PARAMS((double));
+extern double tan _PARAMS((double));
+extern double tanh _PARAMS((double));
+extern double frexp _PARAMS((double, int *));
+extern double modf _PARAMS((double, double *));
+extern double ceil _PARAMS((double));
+extern double fabs _PARAMS((double));
+extern double floor _PARAMS((double));
+#endif /* ! defined (__math_68881) */
+
+/* Non reentrant ANSI C functions. */
+
+#ifndef _REENT_ONLY
+#ifndef __math_6881
+extern double acos _PARAMS((double));
+extern double asin _PARAMS((double));
+extern double atan2 _PARAMS((double, double));
+extern double cosh _PARAMS((double));
+extern double sinh _PARAMS((double));
+extern double exp _PARAMS((double));
+extern double ldexp _PARAMS((double, int));
+extern double log _PARAMS((double));
+extern double log10 _PARAMS((double));
+extern double pow _PARAMS((double, double));
+extern double sqrt _PARAMS((double));
+extern double fmod _PARAMS((double, double));
+#endif /* ! defined (__math_68881) */
+#endif /* ! defined (_REENT_ONLY) */
+
+#ifndef __STRICT_ANSI__
+
+/* Non ANSI double precision functions. */
+
+extern double infinity _PARAMS((void));
+extern double nan _PARAMS((void));
+extern int isnan _PARAMS((double));
+extern int isinf _PARAMS((double));
+extern int finite _PARAMS((double));
+extern double copysign _PARAMS((double, double));
+extern int ilogb _PARAMS((double));
+
+extern double asinh _PARAMS((double));
+extern double cbrt _PARAMS((double));
+extern double nextafter _PARAMS((double, double));
+extern double rint _PARAMS((double));
+extern double scalbn _PARAMS((double, int));
+
+#ifndef __math_68881
+extern double log1p _PARAMS((double));
+extern double expm1 _PARAMS((double));
+#endif /* ! defined (__math_68881) */
+
+#ifndef _REENT_ONLY
+extern double acosh _PARAMS((double));
+extern double atanh _PARAMS((double));
+extern double remainder _PARAMS((double, double));
+extern double gamma _PARAMS((double));
+extern double gamma_r _PARAMS((double, int *));
+extern double lgamma _PARAMS((double));
+extern double lgamma_r _PARAMS((double, int *));
+extern double erf _PARAMS((double));
+extern double erfc _PARAMS((double));
+extern double y0 _PARAMS((double));
+extern double y1 _PARAMS((double));
+extern double yn _PARAMS((int, double));
+extern double j0 _PARAMS((double));
+extern double j1 _PARAMS((double));
+extern double jn _PARAMS((int, double));
+#define log2(x) (log (x) / M_LOG2_E)
+
+#ifndef __math_68881
+extern double hypot _PARAMS((double, double));
+#endif
+
+extern double cabs();
+extern double drem _PARAMS((double, double));
+
+#endif /* ! defined (_REENT_ONLY) */
+
+/* Single precision versions of ANSI functions. */
+
+extern float atanf _PARAMS((float));
+extern float cosf _PARAMS((float));
+extern float sinf _PARAMS((float));
+extern float tanf _PARAMS((float));
+extern float tanhf _PARAMS((float));
+extern float frexpf _PARAMS((float, int *));
+extern float modff _PARAMS((float, float *));
+extern float ceilf _PARAMS((float));
+extern float fabsf _PARAMS((float));
+extern float floorf _PARAMS((float));
+
+#ifndef _REENT_ONLY
+extern float acosf _PARAMS((float));
+extern float asinf _PARAMS((float));
+extern float atan2f _PARAMS((float, float));
+extern float coshf _PARAMS((float));
+extern float sinhf _PARAMS((float));
+extern float expf _PARAMS((float));
+extern float ldexpf _PARAMS((float, int));
+extern float logf _PARAMS((float));
+extern float log10f _PARAMS((float));
+extern float powf _PARAMS((float, float));
+extern float sqrtf _PARAMS((float));
+extern float fmodf _PARAMS((float, float));
+#endif /* ! defined (_REENT_ONLY) */
+
+/* Other single precision functions. */
+
+extern float infinityf _PARAMS((void));
+extern float nanf _PARAMS((void));
+extern int isnanf _PARAMS((float));
+extern int isinff _PARAMS((float));
+extern int finitef _PARAMS((float));
+extern float copysignf _PARAMS((float, float));
+extern int ilogbf _PARAMS((float));
+
+extern float asinhf _PARAMS((float));
+extern float cbrtf _PARAMS((float));
+extern float nextafterf _PARAMS((float, float));
+extern float rintf _PARAMS((float));
+extern float scalbnf _PARAMS((float, int));
+extern float log1pf _PARAMS((float));
+extern float expm1f _PARAMS((float));
+
+#ifndef _REENT_ONLY
+extern float acoshf _PARAMS((float));
+extern float atanhf _PARAMS((float));
+extern float remainderf _PARAMS((float, float));
+extern float gammaf _PARAMS((float));
+extern float gammaf_r _PARAMS((float, int *));
+extern float lgammaf _PARAMS((float));
+extern float lgammaf_r _PARAMS((float, int *));
+extern float erff _PARAMS((float));
+extern float erfcf _PARAMS((float));
+extern float y0f _PARAMS((float));
+extern float y1f _PARAMS((float));
+extern float ynf _PARAMS((int, float));
+extern float j0f _PARAMS((float));
+extern float j1f _PARAMS((float));
+extern float jnf _PARAMS((int, float));
+#define log2f(x) (logf (x) / (float) M_LOG2_E)
+extern float hypotf _PARAMS((float, float));
+
+extern float cabsf();
+extern float dremf _PARAMS((float, float));
+
+#endif /* ! defined (_REENT_ONLY) */
+
+/* The gamma functions use a global variable, signgam. */
+
+extern int signgam;
+
+/* The exception structure passed to the matherr routine. */
+
+#ifdef __cplusplus
+struct __exception
+#else
+struct exception
+#endif
+{
+ int type;
+ char *name;
+ double arg1;
+ double arg2;
+ double retval;
+ int err;
+};
+
+#ifdef __cplusplus
+extern int matherr _PARAMS((struct __exception *e));
+#else
+extern int matherr _PARAMS((struct exception *e));
+#endif
+
+/* Values for the type field of struct exception. */
+
+#define DOMAIN 1
+#define SING 2
+#define OVERFLOW 3
+#define UNDERFLOW 4
+#define TLOSS 5
+#define PLOSS 6
+
+/* Useful constants. */
+
+#define M_E 2.7182818284590452354
+#define M_LOG2E 1.4426950408889634074
+#define M_LOG10E 0.43429448190325182765
+#define M_LN2 0.69314718055994530942
+#define M_LN10 2.30258509299404568402
+#define M_PI 3.14159265358979323846
+#define M_TWOPI (M_PI * 2.0)
+#define M_PI_2 1.57079632679489661923
+#define M_PI_4 0.78539816339744830962
+#define M_3PI_4 2.3561944901923448370E0
+#define M_SQRTPI 1.77245385090551602792981
+#define M_1_PI 0.31830988618379067154
+#define M_2_PI 0.63661977236758134308
+#define M_2_SQRTPI 1.12837916709551257390
+#define M_SQRT2 1.41421356237309504880
+#define M_SQRT1_2 0.70710678118654752440
+#define M_LN2LO 1.9082149292705877000E-10
+#define M_LN2HI 6.9314718036912381649E-1
+#define M_SQRT3 1.73205080756887719000
+#define M_IVLN10 0.43429448190325182765 /* 1 / log(10) */
+#define M_LOG2_E 0.693147180559945309417
+#define M_INVLN2 1.4426950408889633870E0 /* 1 / log(2) */
+
+/* Global control over fdlibm error handling. */
+
+enum __fdlibm_version
+{
+ __fdlibm_ieee = -1,
+ __fdlibm_svid,
+ __fdlibm_xopen,
+ __fdlibm_posix
+};
+
+#define _LIB_VERSION_TYPE enum __fdlibm_version
+#define _LIB_VERSION __fdlib_version
+
+extern _CONST _LIB_VERSION_TYPE _LIB_VERSION;
+
+#define _IEEE_ __fdlibm_ieee
+#define _SVID_ __fdlibm_svid
+#define _XOPEN_ __fdlibm_xopen
+#define _POSIX_ __fdlibm_posix
+
+#endif /* ! defined (__STRICT_ANSI__) */
+
+#ifdef __FAST_MATH__
+#include <machine/fastmath.h>
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _MATH_H_ */
diff --git a/newlib/libc/include/paths.h b/newlib/libc/include/paths.h
new file mode 100644
index 00000000000..36cf78a9b79
--- /dev/null
+++ b/newlib/libc/include/paths.h
@@ -0,0 +1,7 @@
+#ifndef _PATHS_H_
+#define _PATHS_H_
+
+#define _PATH_DEV "/dev/"
+#define _PATH_BSHELL "/bin/sh"
+
+#endif /* _PATHS_H_ */
diff --git a/newlib/libc/include/process.h b/newlib/libc/include/process.h
new file mode 100644
index 00000000000..ca5b451cec6
--- /dev/null
+++ b/newlib/libc/include/process.h
@@ -0,0 +1,60 @@
+/* process.h. This file comes with MSDOS and WIN32 systems. */
+
+#ifndef __PROCESS_H_
+#define __PROCESS_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+int execl(const char *path, const char *argv0, ...);
+int execle(const char *path, const char *argv0, ... /*, char * const *envp */);
+int execlp(const char *path, const char *argv0, ...);
+int execlpe(const char *path, const char *argv0, ... /*, char * const *envp */);
+
+int execv(const char *path, char * const *argv);
+int execve(const char *path, char * const *argv, char * const *envp);
+int execvp(const char *path, char * const *argv);
+int execvpe(const char *path, char * const *argv, char * const *envp);
+
+int spawnl(int mode, const char *path, const char *argv0, ...);
+int spawnle(int mode, const char *path, const char *argv0, ... /*, char * const *envp */);
+int spawnlp(int mode, const char *path, const char *argv0, ...);
+int spawnlpe(int mode, const char *path, const char *argv0, ... /*, char * const *envp */);
+
+int spawnv(int mode, const char *path, const char * const *argv);
+int spawnve(int mode, const char *path, char * const *argv, const char * const *envp);
+int spawnvp(int mode, const char *path, const char * const *argv);
+int spawnvpe(int mode, const char *path, const char * const *argv, const char * const *envp);
+
+#ifdef __CYGWIN32__
+/* Secure exec() functions family */
+/* The first arg should really be a HANDLE which is a void *. But we
+ can't include windows.h here so... */
+#include <sys/types.h>
+pid_t sexecl(void *, const char *path, const char *argv0, ...);
+pid_t sexecle(void *, const char *path, const char *argv0, ... /*, char * const *envp */);
+pid_t sexeclp(void *, const char *path, const char *argv0, ...);
+pid_t sexeclpe(void *, const char *path, const char *argv0, ... /*, char * const *envp */);
+
+pid_t sexecv(void *, const char *path, const char * const *argv);
+pid_t sexecve(void *, const char *path, const char * const *argv, const char * const *envp);
+pid_t sexecvp(void *, const char *path, const char * const *argv);
+pid_t sexecvpe(void *, const char *path, const char * const *argv, const char * const *envp);
+#endif
+
+int cwait(int *, int, int);
+
+#define _P_WAIT 1
+#define _P_NOWAIT 2 /* always generates error */
+#define _P_OVERLAY 3
+#define _P_NOWAITO 4
+#define _P_DETACH 5
+
+#define WAIT_CHILD 1
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/newlib/libc/include/pwd.h b/newlib/libc/include/pwd.h
new file mode 100644
index 00000000000..59d6ab55556
--- /dev/null
+++ b/newlib/libc/include/pwd.h
@@ -0,0 +1,76 @@
+/*-
+ * Copyright (c) 1989 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)pwd.h 5.13 (Berkeley) 5/28/91
+ */
+
+#ifndef _PWD_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+#define _PWD_H_
+
+#include <sys/types.h>
+
+#ifndef _POSIX_SOURCE
+#define _PATH_PASSWD "/etc/passwd"
+
+#define _PASSWORD_LEN 128 /* max length, not counting NULL */
+#endif
+
+struct passwd {
+ char *pw_name; /* user name */
+ char *pw_passwd; /* encrypted password */
+ int pw_uid; /* user uid */
+ int pw_gid; /* user gid */
+ char *pw_comment; /* comment */
+ char *pw_gecos; /* Honeywell login info */
+ char *pw_dir; /* home directory */
+ char *pw_shell; /* default shell */
+};
+
+struct passwd *getpwuid (uid_t);
+struct passwd *getpwnam (const char *);
+int getpwnam_r (const char *, struct passwd *,
+ char *, size_t , struct passwd **);
+int getpwuid_r (uid_t, struct passwd *, char *,
+ size_t, struct passwd **);
+#ifndef _POSIX_SOURCE
+struct passwd *getpwent (void);
+void setpwent (void);
+void endpwent (void);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _PWD_H_ */
diff --git a/newlib/libc/include/reent.h b/newlib/libc/include/reent.h
new file mode 100644
index 00000000000..56fae91a440
--- /dev/null
+++ b/newlib/libc/include/reent.h
@@ -0,0 +1,87 @@
+/* This header file provides the reentrancy. */
+
+/* The reentrant system calls here serve two purposes:
+
+ 1) Provide reentrant versions of the system calls the ANSI C library
+ requires.
+ 2) Provide these system calls in a namespace clean way.
+
+ It is intended that *all* system calls that the ANSI C library needs
+ be declared here. It documents them all in one place. All library access
+ to the system is via some form of these functions.
+
+ There are three ways a target may provide the needed syscalls.
+
+ 1) Define the reentrant versions of the syscalls directly.
+ (eg: _open_r, _close_r, etc.). Please keep the namespace clean.
+ When you do this, set "syscall_dir" to "syscalls" in configure.in,
+ and add -DREENTRANT_SYSCALLS_PROVIDED to target_cflags in configure.in.
+
+ 2) Define namespace clean versions of the system calls by prefixing
+ them with '_' (eg: _open, _close, etc.). Technically, there won't be
+ true reentrancy at the syscall level, but the library will be namespace
+ clean.
+ When you do this, set "syscall_dir" to "syscalls" in configure.in.
+
+ 3) Define or otherwise provide the regular versions of the syscalls
+ (eg: open, close, etc.). The library won't be reentrant nor namespace
+ clean, but at least it will work.
+ When you do this, add -DMISSING_SYSCALL_NAMES to target_cflags in
+ configure.in.
+
+ Stubs of the reentrant versions of the syscalls exist in the libc/reent
+ source directory and are used if REENTRANT_SYSCALLS_PROVIDED isn't defined.
+ They use the native system calls: _open, _close, etc. if they're available
+ (MISSING_SYSCALL_NAMES is *not* defined), otherwise open, close, etc.
+ (MISSING_SYSCALL_NAMES *is* defined). */
+
+/* WARNING: All identifiers here must begin with an underscore. This file is
+ included by stdio.h and others and we therefore must only use identifiers
+ in the namespace allotted to us. */
+
+#ifndef _REENT_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+#define _REENT_H_
+
+#include <sys/reent.h>
+#include <sys/_types.h>
+#include <machine/types.h>
+
+#define __need_size_t
+#include <stddef.h>
+
+/* FIXME: not namespace clean */
+struct stat;
+struct tms;
+struct timeval;
+struct timezone;
+
+/* Reentrant versions of system calls. */
+
+extern int _close_r _PARAMS ((struct _reent *, int));
+extern int _execve_r _PARAMS ((struct _reent *, char *, char **, char **));
+extern int _fcntl_r _PARAMS ((struct _reent *, int, int, int));
+extern int _fork_r _PARAMS ((struct _reent *));
+extern int _fstat_r _PARAMS ((struct _reent *, int, struct stat *));
+extern int _getpid_r _PARAMS ((struct _reent *));
+extern int _kill_r _PARAMS ((struct _reent *, int, int));
+extern int _link_r _PARAMS ((struct _reent *, const char *, const char *));
+extern _off_t _lseek_r _PARAMS ((struct _reent *, int, _off_t, int));
+extern int _open_r _PARAMS ((struct _reent *, const char *, int, int));
+extern _ssize_t _read_r _PARAMS ((struct _reent *, int, void *, size_t));
+extern void *_sbrk_r _PARAMS ((struct _reent *, size_t));
+extern int _stat_r _PARAMS ((struct _reent *, const char *, struct stat *));
+extern _CLOCK_T_ _times_r _PARAMS ((struct _reent *, struct tms *));
+extern int _unlink_r _PARAMS ((struct _reent *, const char *));
+extern int _wait_r _PARAMS ((struct _reent *, int *));
+extern _ssize_t _write_r _PARAMS ((struct _reent *, int, const void *, size_t));
+
+/* This one is not guaranteed to be available on all targets. */
+extern int _gettimeofday_r _PARAMS ((struct _reent *, struct timeval *tp, struct timezone *tzp));
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _REENT_H_ */
diff --git a/newlib/libc/include/regdef.h b/newlib/libc/include/regdef.h
new file mode 100644
index 00000000000..8cf144b85f3
--- /dev/null
+++ b/newlib/libc/include/regdef.h
@@ -0,0 +1,7 @@
+/* regdef.h -- define register names. */
+
+/* This is a standard include file for MIPS targets. Other target
+ probably don't define it, and attempts to include this file will
+ fail. */
+
+#include <machine/regdef.h>
diff --git a/newlib/libc/include/setjmp.h b/newlib/libc/include/setjmp.h
new file mode 100644
index 00000000000..53d0223fd80
--- /dev/null
+++ b/newlib/libc/include/setjmp.h
@@ -0,0 +1,22 @@
+/*
+ setjmp.h
+ stubs for future use.
+*/
+
+#ifndef _SETJMP_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+#define _SETJMP_H_
+
+#include "_ansi.h"
+#include <machine/setjmp.h>
+
+void _EXFUN(longjmp,(jmp_buf __jmpb, int __retval));
+int _EXFUN(setjmp,(jmp_buf __jmpb));
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _SETJMP_H_ */
+
diff --git a/newlib/libc/include/signal.h b/newlib/libc/include/signal.h
new file mode 100644
index 00000000000..311149146c8
--- /dev/null
+++ b/newlib/libc/include/signal.h
@@ -0,0 +1,37 @@
+#ifndef _SIGNAL_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+#define _SIGNAL_H_
+
+#include "_ansi.h"
+#include <sys/signal.h>
+
+typedef int sig_atomic_t; /* Atomic entity type (ANSI) */
+
+#if defined(__STDC__) || defined(__cplusplus)
+#define SIG_DFL ((void (*)(int))0) /* Default action */
+#define SIG_IGN ((void (*)(int))1) /* Ignore action */
+#define SIG_ERR ((void (*)(int))-1) /* Error return */
+#else
+#define SIG_DFL ((void (*)())0) /* Default action */
+#define SIG_IGN ((void (*)())1) /* Ignore action */
+#define SIG_ERR ((void (*)())-1) /* Error return */
+#endif
+
+typedef void (*_sig_func_ptr) (int);
+
+struct _reent;
+
+_sig_func_ptr _EXFUN(_signal_r, (struct _reent *, int, _sig_func_ptr));
+int _EXFUN(_raise_r, (struct _reent *, int));
+
+#ifndef _REENT_ONLY
+_sig_func_ptr _EXFUN(signal, (int, _sig_func_ptr));
+int _EXFUN(raise, (int));
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _SIGNAL_H_ */
diff --git a/newlib/libc/include/stdio.h b/newlib/libc/include/stdio.h
new file mode 100644
index 00000000000..2c2b46cf207
--- /dev/null
+++ b/newlib/libc/include/stdio.h
@@ -0,0 +1,313 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * @(#)stdio.h 5.3 (Berkeley) 3/15/86
+ */
+
+/*
+ * NB: to fit things in six character monocase externals, the
+ * stdio code uses the prefix `__s' for stdio objects, typically
+ * followed by a three-character attempt at a mnemonic.
+ */
+
+#ifndef _STDIO_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+#define _STDIO_H_
+
+#include "_ansi.h"
+
+#define _FSTDIO /* ``function stdio'' */
+
+#define __need_size_t
+#include <stddef.h>
+
+#define __need___va_list
+#include <stdarg.h>
+
+/*
+ * <sys/reent.h> defines __sFILE, _fpos_t.
+ * They must be defined there because struct _reent needs them (and we don't
+ * want reent.h to include this file.
+ */
+
+#include <sys/reent.h>
+
+typedef _fpos_t fpos_t;
+
+typedef struct __sFILE FILE;
+
+#define __SLBF 0x0001 /* line buffered */
+#define __SNBF 0x0002 /* unbuffered */
+#define __SRD 0x0004 /* OK to read */
+#define __SWR 0x0008 /* OK to write */
+ /* RD and WR are never simultaneously asserted */
+#define __SRW 0x0010 /* open for reading & writing */
+#define __SEOF 0x0020 /* found EOF */
+#define __SERR 0x0040 /* found error */
+#define __SMBF 0x0080 /* _buf is from malloc */
+#define __SAPP 0x0100 /* fdopen()ed in append mode - so must write to end */
+#define __SSTR 0x0200 /* this is an sprintf/snprintf string */
+#define __SOPT 0x0400 /* do fseek() optimisation */
+#define __SNPT 0x0800 /* do not do fseek() optimisation */
+#define __SOFF 0x1000 /* set iff _offset is in fact correct */
+#define __SMOD 0x2000 /* true => fgetline modified _p text */
+
+/*
+ * The following three definitions are for ANSI C, which took them
+ * from System V, which stupidly took internal interface macros and
+ * made them official arguments to setvbuf(), without renaming them.
+ * Hence, these ugly _IOxxx names are *supposed* to appear in user code.
+ *
+ * Although these happen to match their counterparts above, the
+ * implementation does not rely on that (so these could be renumbered).
+ */
+#define _IOFBF 0 /* setvbuf should set fully buffered */
+#define _IOLBF 1 /* setvbuf should set line buffered */
+#define _IONBF 2 /* setvbuf should set unbuffered */
+
+#ifndef NULL
+#define NULL 0
+#endif
+
+#define BUFSIZ 1024
+#define EOF (-1)
+
+#define FOPEN_MAX 20 /* must be <= OPEN_MAX <sys/syslimits.h> */
+#define FILENAME_MAX 1024 /* must be <= PATH_MAX <sys/syslimits.h> */
+#define L_tmpnam 1024 /* XXX must be == PATH_MAX */
+#ifndef __STRICT_ANSI__
+#define P_tmpdir "/tmp"
+#endif
+
+#ifndef SEEK_SET
+#define SEEK_SET 0 /* set file offset to offset */
+#endif
+#ifndef SEEK_CUR
+#define SEEK_CUR 1 /* set file offset to current plus offset */
+#endif
+#ifndef SEEK_END
+#define SEEK_END 2 /* set file offset to EOF plus offset */
+#endif
+
+#define TMP_MAX 26
+
+#define stdin (_impure_ptr->_stdin)
+#define stdout (_impure_ptr->_stdout)
+#define stderr (_impure_ptr->_stderr)
+
+#define _stdin_r(x) ((x)->_stdin)
+#define _stdout_r(x) ((x)->_stdout)
+#define _stderr_r(x) ((x)->_stderr)
+
+/*
+ * Functions defined in ANSI C standard.
+ */
+
+#ifdef __GNUC__
+#define __VALIST __gnuc_va_list
+#else
+#define __VALIST char*
+#endif
+
+#ifndef _REENT_ONLY
+int _EXFUN(remove, (const char *));
+int _EXFUN(rename, (const char *, const char *));
+#endif
+char * _EXFUN(tempnam, (const char *, const char *));
+FILE * _EXFUN(tmpfile, (void));
+char * _EXFUN(tmpnam, (char *));
+int _EXFUN(fclose, (FILE *));
+int _EXFUN(fflush, (FILE *));
+FILE * _EXFUN(freopen, (const char *, const char *, FILE *));
+void _EXFUN(setbuf, (FILE *, char *));
+int _EXFUN(setvbuf, (FILE *, char *, int, size_t));
+int _EXFUN(fprintf, (FILE *, const char *, ...));
+int _EXFUN(fscanf, (FILE *, const char *, ...));
+int _EXFUN(printf, (const char *, ...));
+int _EXFUN(scanf, (const char *, ...));
+int _EXFUN(sscanf, (const char *, const char *, ...));
+int _EXFUN(vfprintf, (FILE *, const char *, __VALIST));
+int _EXFUN(vprintf, (const char *, __VALIST));
+int _EXFUN(vsprintf, (char *, const char *, __VALIST));
+int _EXFUN(vsnprintf, (char *, size_t, const char *, __VALIST));
+int _EXFUN(fgetc, (FILE *));
+char * _EXFUN(fgets, (char *, int, FILE *));
+int _EXFUN(fputc, (int, FILE *));
+int _EXFUN(fputs, (const char *, FILE *));
+int _EXFUN(getc, (FILE *));
+int _EXFUN(getchar, (void));
+char * _EXFUN(gets, (char *));
+int _EXFUN(putc, (int, FILE *));
+int _EXFUN(putchar, (int));
+int _EXFUN(puts, (const char *));
+int _EXFUN(ungetc, (int, FILE *));
+size_t _EXFUN(fread, (_PTR, size_t _size, size_t _n, FILE *));
+size_t _EXFUN(fwrite, (const _PTR , size_t _size, size_t _n, FILE *));
+int _EXFUN(fgetpos, (FILE *, fpos_t *));
+int _EXFUN(fseek, (FILE *, long, int));
+int _EXFUN(fsetpos, (FILE *, const fpos_t *));
+long _EXFUN(ftell, ( FILE *));
+void _EXFUN(rewind, (FILE *));
+void _EXFUN(clearerr, (FILE *));
+int _EXFUN(feof, (FILE *));
+int _EXFUN(ferror, (FILE *));
+void _EXFUN(perror, (const char *));
+#ifndef _REENT_ONLY
+FILE * _EXFUN(fopen, (const char *_name, const char *_type));
+int _EXFUN(sprintf, (char *, const char *, ...));
+int _EXFUN(snprintf, (char *, size_t, const char *, ...));
+#endif
+#ifndef __STRICT_ANSI__
+int _EXFUN(vfiprintf, (FILE *, const char *, __VALIST));
+int _EXFUN(iprintf, (const char *, ...));
+int _EXFUN(fiprintf, (FILE *, const char *, ...));
+int _EXFUN(siprintf, (char *, const char *, ...));
+#endif
+
+/*
+ * Routines in POSIX 1003.1.
+ */
+
+#ifndef __STRICT_ANSI__
+#ifndef _REENT_ONLY
+FILE * _EXFUN(fdopen, (int, const char *));
+#endif
+int _EXFUN(fileno, (FILE *));
+int _EXFUN(getw, (FILE *));
+int _EXFUN(pclose, (FILE *));
+FILE * _EXFUN(popen, (const char *, const char *));
+int _EXFUN(putw, (int, FILE *));
+void _EXFUN(setbuffer, (FILE *, char *, int));
+int _EXFUN(setlinebuf, (FILE *));
+#endif
+
+/*
+ * Recursive versions of the above.
+ */
+
+FILE * _EXFUN(_fdopen_r, (struct _reent *, int, const char *));
+FILE * _EXFUN(_fopen_r, (struct _reent *, const char *, const char *));
+int _EXFUN(_getchar_r, (struct _reent *));
+char * _EXFUN(_gets_r, (struct _reent *, char *));
+int _EXFUN(_iprintf_r, (struct _reent *, const char *, ...));
+int _EXFUN(_mkstemp_r, (struct _reent *, char *));
+char * _EXFUN(_mktemp_r, (struct _reent *, char *));
+void _EXFUN(_perror_r, (struct _reent *, const char *));
+int _EXFUN(_printf_r, (struct _reent *, const char *, ...));
+int _EXFUN(_putchar_r, (struct _reent *, int));
+int _EXFUN(_puts_r, (struct _reent *, const char *));
+int _EXFUN(_remove_r, (struct _reent *, const char *));
+int _EXFUN(_rename_r, (struct _reent *,
+ const char *_old, const char *_new));
+int _EXFUN(_scanf_r, (struct _reent *, const char *, ...));
+int _EXFUN(_sprintf_r, (struct _reent *, char *, const char *, ...));
+int _EXFUN(_snprintf_r, (struct _reent *, char *, size_t, const char *, ...));
+char * _EXFUN(_tempnam_r, (struct _reent *, const char *, const char *));
+FILE * _EXFUN(_tmpfile_r, (struct _reent *));
+char * _EXFUN(_tmpnam_r, (struct _reent *, char *));
+int _EXFUN(_vfprintf_r, (struct _reent *, FILE *, const char *, __VALIST));
+int _EXFUN(_vprintf_r, (struct _reent *, const char *, __VALIST));
+int _EXFUN(_vsprintf_r, (struct _reent *, char *, const char *, __VALIST));
+int _EXFUN(_vsnprintf_r, (struct _reent *, char *, size_t, const char *, __VALIST));
+
+/*
+ * Routines internal to the implementation.
+ */
+
+int _EXFUN(__srget, (FILE *));
+int _EXFUN(__swbuf, (int, FILE *));
+
+/*
+ * Stdio function-access interface.
+ */
+
+#ifndef __STRICT_ANSI__
+FILE *_EXFUN(funopen,(const _PTR _cookie,
+ int (*readfn)(_PTR _cookie, char *_buf, int _n),
+ int (*writefn)(_PTR _cookie, const char *_buf, int _n),
+ fpos_t (*seekfn)(_PTR _cookie, fpos_t _off, int _whence),
+ int (*closefn)(_PTR _cookie)));
+
+#define fropen(cookie, fn) funopen(cookie, fn, (int (*)())0, (fpos_t (*)())0, (int (*)())0)
+#define fwopen(cookie, fn) funopen(cookie, (int (*)())0, fn, (fpos_t (*)())0, (int (*)())0)
+#endif
+
+/*
+ * The __sfoo macros are here so that we can
+ * define function versions in the C library.
+ */
+#define __sgetc(p) (--(p)->_r < 0 ? __srget(p) : (int)(*(p)->_p++))
+#ifdef _never /* __GNUC__ */
+/* If this inline is actually used, then systems using coff debugging
+ info get hopelessly confused. 21sept93 rich@cygnus.com. */
+static __inline int __sputc(int _c, FILE *_p) {
+ if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n'))
+ return (*_p->_p++ = _c);
+ else
+ return (__swbuf(_c, _p));
+}
+#else
+/*
+ * This has been tuned to generate reasonable code on the vax using pcc
+ */
+#define __sputc(c, p) \
+ (--(p)->_w < 0 ? \
+ (p)->_w >= (p)->_lbfsize ? \
+ (*(p)->_p = (c)), *(p)->_p != '\n' ? \
+ (int)*(p)->_p++ : \
+ __swbuf('\n', p) : \
+ __swbuf((int)(c), p) : \
+ (*(p)->_p = (c), (int)*(p)->_p++))
+#endif
+
+#define __sfeof(p) (((p)->_flags & __SEOF) != 0)
+#define __sferror(p) (((p)->_flags & __SERR) != 0)
+#define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF)))
+#define __sfileno(p) ((p)->_file)
+
+#define feof(p) __sfeof(p)
+#define ferror(p) __sferror(p)
+#define clearerr(p) __sclearerr(p)
+
+#if 0 /*ndef __STRICT_ANSI__ - FIXME: must initialize stdio first, use fn */
+#define fileno(p) __sfileno(p)
+#endif
+
+#ifndef lint
+#define getc(fp) __sgetc(fp)
+#define putc(x, fp) __sputc(x, fp)
+#endif /* lint */
+
+#define getchar() getc(stdin)
+#define putchar(x) putc(x, stdout)
+
+#ifndef __STRICT_ANSI__
+/* fast always-buffered version, true iff error */
+#define fast_putc(x,p) (--(p)->_w < 0 ? \
+ __swbuf((int)(x), p) == EOF : (*(p)->_p = (x), (p)->_p++, 0))
+
+#define L_cuserid 9 /* posix says it goes in stdio.h :( */
+#ifdef __CYGWIN32__
+#define L_ctermid 16
+#endif
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _STDIO_H_ */
diff --git a/newlib/libc/include/stdlib.h b/newlib/libc/include/stdlib.h
new file mode 100644
index 00000000000..8c21de64794
--- /dev/null
+++ b/newlib/libc/include/stdlib.h
@@ -0,0 +1,142 @@
+/*
+ * stdlib.h
+ *
+ * Definitions for common types, variables, and functions.
+ */
+
+#ifndef _STDLIB_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+#define _STDLIB_H_
+
+#include "_ansi.h"
+
+#define __need_size_t
+#define __need_wchar_t
+#include <stddef.h>
+
+#include <sys/reent.h>
+
+typedef struct
+{
+ int quot; /* quotient */
+ int rem; /* remainder */
+} div_t;
+
+typedef struct
+{
+ long quot; /* quotient */
+ long rem; /* remainder */
+} ldiv_t;
+
+#ifndef NULL
+#define NULL 0
+#endif
+
+#define EXIT_FAILURE 1
+#define EXIT_SUCCESS 0
+
+#define RAND_MAX 0x7fffffff
+
+#if (defined(__CYGWIN__) || defined(__CYGWIN32__)) && ! defined(_COMPILING_NEWLIB)
+extern __declspec(dllimport) int __mb_cur_max;
+#else
+extern int __mb_cur_max;
+#endif
+
+#define MB_CUR_MAX __mb_cur_max
+
+_VOID _EXFUN(abort,(_VOID) _ATTRIBUTE ((noreturn)));
+int _EXFUN(abs,(int));
+int _EXFUN(atexit,(_VOID (*__func)(_VOID)));
+double _EXFUN(atof,(const char *__nptr));
+#ifndef __STRICT_ANSI__
+float _EXFUN(atoff,(const char *__nptr));
+#endif
+int _EXFUN(atoi,(const char *__nptr));
+long _EXFUN(atol,(const char *__nptr));
+_PTR _EXFUN(bsearch,(const _PTR __key,
+ const _PTR __base,
+ size_t __nmemb,
+ size_t __size,
+ int _EXFUN((*_compar),(const _PTR, const _PTR))));
+_PTR _EXFUN(calloc,(size_t __nmemb, size_t __size));
+div_t _EXFUN(div,(int __numer, int __denom));
+_VOID _EXFUN(exit,(int __status) _ATTRIBUTE ((noreturn)));
+_VOID _EXFUN(free,(_PTR));
+char * _EXFUN(getenv,(const char *__string));
+char * _EXFUN(_getenv_r,(struct _reent *, const char *__string));
+char * _EXFUN(_findenv,(_CONST char *, int *));
+char * _EXFUN(_findenv_r,(struct _reent *, _CONST char *, int *));
+long _EXFUN(labs,(long));
+ldiv_t _EXFUN(ldiv,(long __numer, long __denom));
+_PTR _EXFUN(malloc,(size_t __size));
+int _EXFUN(mblen,(const char *, size_t));
+int _EXFUN(_mblen_r,(struct _reent *, const char *, size_t, int *));
+int _EXFUN(mbtowc,(wchar_t *, const char *, size_t));
+int _EXFUN(_mbtowc_r,(struct _reent *, wchar_t *, const char *, size_t, int *));
+int _EXFUN(wctomb,(char *, wchar_t));
+int _EXFUN(_wctomb_r,(struct _reent *, char *, wchar_t, int *));
+size_t _EXFUN(mbstowcs,(wchar_t *, const char *, size_t));
+size_t _EXFUN(_mbstowcs_r,(struct _reent *, wchar_t *, const char *, size_t, int *));
+size_t _EXFUN(wcstombs,(char *, const wchar_t *, size_t));
+size_t _EXFUN(_wcstombs_r,(struct _reent *, char *, const wchar_t *, size_t, int *));
+_VOID _EXFUN(qsort,(_PTR __base, size_t __nmemb, size_t __size, int(*_compar)(const _PTR, const _PTR)));
+int _EXFUN(rand,(_VOID));
+_PTR _EXFUN(realloc,(_PTR __r, size_t __size));
+_VOID _EXFUN(srand,(unsigned __seed));
+double _EXFUN(strtod,(const char *__n, char **_end_PTR));
+#ifndef __STRICT_ANSI__
+float _EXFUN(strtodf,(const char *__n, char **_end_PTR));
+#endif
+long _EXFUN(strtol,(const char *__n, char **_end_PTR, int __base));
+unsigned long _EXFUN(strtoul,(const char *_n_PTR, char **_end_PTR, int __base));
+unsigned long _EXFUN(_strtoul_r,(struct _reent *,const char *_n_PTR, char **_end_PTR, int __base));
+int _EXFUN(system,(const char *__string));
+
+#ifndef __STRICT_ANSI__
+_VOID _EXFUN(cfree,(_PTR));
+int _EXFUN(putenv,(const char *__string));
+int _EXFUN(_putenv_r,(struct _reent *, const char *__string));
+int _EXFUN(setenv,(const char *__string, const char *__value, int __overwrite));
+int _EXFUN(_setenv_r,(struct _reent *, const char *__string, const char *__value, int __overwrite));
+
+char * _EXFUN(gcvt,(double,int,char *));
+char * _EXFUN(gcvtf,(float,int,char *));
+char * _EXFUN(fcvt,(double,int,int *,int *));
+char * _EXFUN(fcvtf,(float,int,int *,int *));
+char * _EXFUN(ecvt,(double,int,int *,int *));
+char * _EXFUN(ecvtbuf,(double, int, int*, int*, char *));
+char * _EXFUN(fcvtbuf,(double, int, int*, int*, char *));
+char * _EXFUN(ecvtf,(float,int,int *,int *));
+char * _EXFUN(dtoa,(double, int, int, int *, int*, char**));
+int _EXFUN(rand_r,(unsigned *__seed));
+
+#ifdef __CYGWIN32__
+char * _EXFUN(realpath,(const char *, char *));
+void _EXFUN(unsetenv,(const char *__string));
+void _EXFUN(_unsetenv_r,(struct _reent *, const char *__string));
+int _EXFUN(random,(_VOID));
+long _EXFUN(srandom,(unsigned __seed));
+char * _EXFUN(ptsname, (int));
+int _EXFUN(grantpt, (int));
+int _EXFUN(unlockpt,(int));
+#endif
+
+#endif /* ! __STRICT_ANSI__ */
+
+char * _EXFUN(_dtoa_r,(struct _reent *, double, int, int, int *, int*, char**));
+_PTR _EXFUN(_malloc_r,(struct _reent *, size_t));
+_PTR _EXFUN(_calloc_r,(struct _reent *, size_t, size_t));
+_VOID _EXFUN(_free_r,(struct _reent *, _PTR));
+_PTR _EXFUN(_realloc_r,(struct _reent *, _PTR, size_t));
+_VOID _EXFUN(_mstats_r,(struct _reent *, char *));
+int _EXFUN(_system_r,(struct _reent *, const char *));
+
+_VOID _EXFUN(__eprintf,(const char *, const char *, unsigned int, const char *));
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _STDLIB_H_ */
diff --git a/newlib/libc/include/string.h b/newlib/libc/include/string.h
new file mode 100644
index 00000000000..a9494f826b6
--- /dev/null
+++ b/newlib/libc/include/string.h
@@ -0,0 +1,92 @@
+/*
+ * string.h
+ *
+ * Definitions for memory and string functions.
+ */
+
+#ifndef _STRING_H_
+#define _STRING_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "_ansi.h"
+#include <sys/reent.h>
+
+#define __need_size_t
+#include <stddef.h>
+
+#ifndef NULL
+#define NULL 0
+#endif
+
+_PTR _EXFUN(memchr,(const _PTR, int, size_t));
+int _EXFUN(memcmp,(const _PTR, const _PTR, size_t));
+_PTR _EXFUN(memcpy,(_PTR, const _PTR, size_t));
+_PTR _EXFUN(memmove,(_PTR, const _PTR, size_t));
+_PTR _EXFUN(memset,(_PTR, int, size_t));
+char *_EXFUN(strcat,(char *, const char *));
+char *_EXFUN(strchr,(const char *, int));
+int _EXFUN(strcmp,(const char *, const char *));
+int _EXFUN(strcoll,(const char *, const char *));
+char *_EXFUN(strcpy,(char *, const char *));
+size_t _EXFUN(strcspn,(const char *, const char *));
+char *_EXFUN(strerror,(int));
+size_t _EXFUN(strlen,(const char *));
+char *_EXFUN(strncat,(char *, const char *, size_t));
+int _EXFUN(strncmp,(const char *, const char *, size_t));
+char *_EXFUN(strncpy,(char *, const char *, size_t));
+char *_EXFUN(strpbrk,(const char *, const char *));
+char *_EXFUN(strrchr,(const char *, int));
+size_t _EXFUN(strspn,(const char *, const char *));
+char *_EXFUN(strstr,(const char *, const char *));
+
+#ifndef _REENT_ONLY
+char *_EXFUN(strtok,(char *, const char *));
+#endif
+
+size_t _EXFUN(strxfrm,(char *, const char *, size_t));
+
+#ifndef __STRICT_ANSI__
+char *_EXFUN(strtok_r,(char *, const char *, char **));
+
+int _EXFUN(bcmp,(const char *, const char *, size_t));
+void _EXFUN(bcopy,(const char *, char *, size_t));
+void _EXFUN(bzero,(char *, size_t));
+int _EXFUN(ffs,(int));
+char *_EXFUN(index,(const char *, int));
+_PTR _EXFUN(memccpy,(_PTR, const _PTR, int, size_t));
+char *_EXFUN(rindex,(const char *, int));
+int _EXFUN(strcasecmp,(const char *, const char *));
+char *_EXFUN(strdup,(const char *));
+char *_EXFUN(_strdup_r,(struct _reent *, const char *));
+int _EXFUN(strncasecmp,(const char *, const char *, size_t));
+char *_EXFUN(strsep,(char **, const char *));
+char *_EXFUN(strlwr,(char *));
+char *_EXFUN(strupr,(char *));
+#ifdef __CYGWIN32__
+char *_EXFUN(strsignal, (int __signo));
+int _EXFUN(strtosigno, (const char *__name));
+#endif
+
+/* These function names are used on Windows and perhaps other systems. */
+#ifndef strcmpi
+#define strcmpi strcasecmp
+#endif
+#ifndef stricmp
+#define stricmp strcasecmp
+#endif
+#ifndef strncmpi
+#define strncmpi strncasecmp
+#endif
+#ifndef strnicmp
+#define strnicmp strncasecmp
+#endif
+
+#endif /* ! __STRICT_ANSI__ */
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _STRING_H_ */
diff --git a/newlib/libc/include/sys/_types.h b/newlib/libc/include/sys/_types.h
new file mode 100644
index 00000000000..8186f2d9d75
--- /dev/null
+++ b/newlib/libc/include/sys/_types.h
@@ -0,0 +1,15 @@
+/* ANSI C namespace clean utility typedefs */
+
+/* This file defines various typedefs needed by the system calls that support
+ the C library. Basically, they're just the POSIX versions with an '_'
+ prepended. This file lives in the `sys' directory so targets can provide
+ their own if desired (or they can put target dependant conditionals here).
+*/
+
+#ifndef _SYS__TYPES_H
+#define _SYS__TYPES_H
+
+typedef long _off_t;
+typedef long _ssize_t;
+
+#endif /* _SYS__TYPES_H */
diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h
new file mode 100644
index 00000000000..e274119bc80
--- /dev/null
+++ b/newlib/libc/include/sys/config.h
@@ -0,0 +1,115 @@
+#ifndef __SYS_CONFIG_H__
+#define __SYS_CONFIG_H__
+
+/* exceptions first */
+/* ??? Why is much of this stuff duplicated with machine/ieeefp.h? */
+#if defined(__H8300__) || defined(__H8500__) || defined (__H8300H__) || defined(__W65__) || defined (__H8300S__)
+#define _FLOAT_ARG float
+#define __SMALL_BITFIELDS
+#define _DOUBLE_IS_32BITS
+#define __IEEE_BIG_ENDIAN
+/* ??? This conditional is true for the h8500 and the w65, defining H8300
+ in those cases probably isn't the right thing to do. */
+#define H8300 1
+#endif
+
+#ifdef __W65__
+#define _DOUBLE_IS_32BITS
+#define __SMALL_BITFIELDS
+#define __IEEE_BIG_ENDIAN
+#undef INT_MAX
+#undef UINT_MAX
+#define INT_MAX 32767
+#define UINT_MAX 65535
+
+#endif
+
+/* 16 bit integer machines */
+#if defined(__Z8001__) || defined(__Z8002__) || defined(__H8300__) || defined(__H8500__) || defined(__W65__) || defined (__H8300H__) || defined (__H8300S__) || defined (__mn10200__)
+
+#undef INT_MAX
+#undef UINT_MAX
+#define INT_MAX 32767
+#define UINT_MAX 65535
+#endif
+
+#if defined(__D10V__)
+#undef INT_MAX
+#undef UINT_MAX
+#define INT_MAX __INT_MAX__
+#define UINT_MAX (__INT_MAX__ * 2U + 1)
+#define _DOUBLE_IS_32BITS
+#define _POINTER_INT short
+#define __IEEE_BIG_ENDIAN
+#endif
+
+#ifdef ___AM29K__
+#define _FLOAT_RET double
+#endif
+
+#ifdef __i386__
+#ifndef __unix__
+/* in other words, go32 */
+#define _FLOAT_RET double
+#endif
+#endif
+
+#ifdef __M32R__
+#define __IEEE_BIG_ENDIAN
+#endif
+
+#ifdef __m68k__
+/* This is defined in machine/ieeefp.h; need to check is it redundant here? */
+#define __IEEE_BIG_ENDIAN
+#endif
+
+#ifdef __mn10300__
+#define __IEEE_LITTLE_ENDIAN
+#endif
+
+#ifdef __mn10200__
+#define _DOUBLE_IS_32BITS
+#define __SMALL_BITFIELDS
+#define __IEEE_LITTLE_ENDIAN
+#endif
+
+#ifdef __TIC80__
+#define __IEEE_LITTLE_ENDIAN
+#endif
+
+#ifdef __v850
+#define __IEEE_LITTLE_ENDIAN
+#define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__sda__))
+#endif
+
+#ifdef __D30V__
+#define __IEEE_BIG_ENDIAN
+#endif
+
+/* For the PowerPC eabi, force the _impure_ptr to be in .sdata */
+#if defined(__PPC__) && defined(_CALL_SYSV)
+#define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__section__(".sdata")))
+#endif
+
+#ifdef __sparc__
+#ifdef __LITTLE_ENDIAN_DATA__
+#define __IEEE_LITTLE_ENDIAN
+#else
+#define __IEEE_BIG_ENDIAN
+#endif
+#endif
+
+#if INT_MAX == 32767
+typedef long int __int32_t;
+typedef unsigned long int __uint32_t;
+#else
+typedef int __int32_t;
+typedef unsigned int __uint32_t;
+#endif
+
+#ifndef _POINTER_INT
+#define _POINTER_INT long
+#endif
+
+
+#endif /* __SYS_CONFIG_H__ */
diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h
new file mode 100644
index 00000000000..f2f2342d5ca
--- /dev/null
+++ b/newlib/libc/include/sys/dirent.h
@@ -0,0 +1,15 @@
+/* <dirent.h> includes <sys/dirent.h>, which is this file. On a
+ system which supports <dirent.h>, this file is overridden by
+ dirent.h in the libc/sys/.../sys directory. On a system which does
+ not support <dirent.h>, we will get this file which tries to find
+ any other <dirent.h> which may be lurking around. If there isn't
+ one, the user will get an error indicating that there is no
+ <dirent.h>. */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include_next <dirent.h>
+#ifdef __cplusplus
+}
+#endif
diff --git a/newlib/libc/include/sys/errno.h b/newlib/libc/include/sys/errno.h
new file mode 100644
index 00000000000..0247fa232f0
--- /dev/null
+++ b/newlib/libc/include/sys/errno.h
@@ -0,0 +1,154 @@
+/* errno is not a global variable, because that would make using it
+ non-reentrant. Instead, its address is returned by the function
+ __errno. */
+
+#ifndef _SYS_ERRNO_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+#define _SYS_ERRNO_H_
+
+#include <sys/reent.h>
+
+#ifndef _REENT_ONLY
+#define errno (*__errno())
+extern int *__errno _PARAMS ((void));
+#endif
+
+#if !defined(__CYGWIN32__) || defined(__INSIDE_CYGWIN__)
+extern _CONST char * _CONST _sys_errlist[];
+extern int _sys_nerr;
+#else
+extern _CONST char * _CONST _sys_errlist[] __declspec(dllimport);
+extern int _sys_nerr __declspec(dllimport);
+#endif
+
+#define __errno_r(ptr) ((ptr)->_errno)
+
+#define EPERM 1 /* Not super-user */
+#define ENOENT 2 /* No such file or directory */
+#define ESRCH 3 /* No such process */
+#define EINTR 4 /* Interrupted system call */
+#define EIO 5 /* I/O error */
+#define ENXIO 6 /* No such device or address */
+#define E2BIG 7 /* Arg list too long */
+#define ENOEXEC 8 /* Exec format error */
+#define EBADF 9 /* Bad file number */
+#define ECHILD 10 /* No children */
+#define EAGAIN 11 /* No more processes */
+#define ENOMEM 12 /* Not enough core */
+#define EACCES 13 /* Permission denied */
+#define EFAULT 14 /* Bad address */
+#define ENOTBLK 15 /* Block device required */
+#define EBUSY 16 /* Mount device busy */
+#define EEXIST 17 /* File exists */
+#define EXDEV 18 /* Cross-device link */
+#define ENODEV 19 /* No such device */
+#define ENOTDIR 20 /* Not a directory */
+#define EISDIR 21 /* Is a directory */
+#define EINVAL 22 /* Invalid argument */
+#define ENFILE 23 /* Too many open files in system */
+#define EMFILE 24 /* Too many open files */
+#define ENOTTY 25 /* Not a typewriter */
+#define ETXTBSY 26 /* Text file busy */
+#define EFBIG 27 /* File too large */
+#define ENOSPC 28 /* No space left on device */
+#define ESPIPE 29 /* Illegal seek */
+#define EROFS 30 /* Read only file system */
+#define EMLINK 31 /* Too many links */
+#define EPIPE 32 /* Broken pipe */
+#define EDOM 33 /* Math arg out of domain of func */
+#define ERANGE 34 /* Math result not representable */
+#define ENOMSG 35 /* No message of desired type */
+#define EIDRM 36 /* Identifier removed */
+#define ECHRNG 37 /* Channel number out of range */
+#define EL2NSYNC 38 /* Level 2 not synchronized */
+#define EL3HLT 39 /* Level 3 halted */
+#define EL3RST 40 /* Level 3 reset */
+#define ELNRNG 41 /* Link number out of range */
+#define EUNATCH 42 /* Protocol driver not attached */
+#define ENOCSI 43 /* No CSI structure available */
+#define EL2HLT 44 /* Level 2 halted */
+#define EDEADLK 45 /* Deadlock condition */
+#define ENOLCK 46 /* No record locks available */
+#define EBADE 50 /* Invalid exchange */
+#define EBADR 51 /* Invalid request descriptor */
+#define EXFULL 52 /* Exchange full */
+#define ENOANO 53 /* No anode */
+#define EBADRQC 54 /* Invalid request code */
+#define EBADSLT 55 /* Invalid slot */
+#define EDEADLOCK 56 /* File locking deadlock error */
+#define EBFONT 57 /* Bad font file fmt */
+#define ENOSTR 60 /* Device not a stream */
+#define ENODATA 61 /* No data (for no delay io) */
+#define ETIME 62 /* Timer expired */
+#define ENOSR 63 /* Out of streams resources */
+#define ENONET 64 /* Machine is not on the network */
+#define ENOPKG 65 /* Package not installed */
+#define EREMOTE 66 /* The object is remote */
+#define ENOLINK 67 /* The link has been severed */
+#define EADV 68 /* Advertise error */
+#define ESRMNT 69 /* Srmount error */
+#define ECOMM 70 /* Communication error on send */
+#define EPROTO 71 /* Protocol error */
+#define EMULTIHOP 74 /* Multihop attempted */
+#define ELBIN 75 /* Inode is remote (not really error) */
+#define EDOTDOT 76 /* Cross mount point (not really error) */
+#define EBADMSG 77 /* Trying to read unreadable message */
+#define ENOTUNIQ 80 /* Given log. name not unique */
+#define EBADFD 81 /* f.d. invalid for this operation */
+#define EREMCHG 82 /* Remote address changed */
+#define ELIBACC 83 /* Can't access a needed shared lib */
+#define ELIBBAD 84 /* Accessing a corrupted shared lib */
+#define ELIBSCN 85 /* .lib section in a.out corrupted */
+#define ELIBMAX 86 /* Attempting to link in too many libs */
+#define ELIBEXEC 87 /* Attempting to exec a shared library */
+#define ENOSYS 88 /* Function not implemented */
+#define ENMFILE 89 /* No more files */
+#define ENOTEMPTY 90 /* Directory not empty */
+#define ENAMETOOLONG 91 /* File or path name too long */
+#define ELOOP 92 /* Too many symbolic links */
+#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */
+#define EPFNOSUPPORT 96 /* Protocol family not supported */
+#define ECONNRESET 104 /* Connection reset by peer */
+#define ENOBUFS 105 /* No buffer space available */
+#define EAFNOSUPPORT 106
+#define EPROTOTYPE 107
+#define ENOTSOCK 108
+#define ENOPROTOOPT 109
+#define ESHUTDOWN 110
+#define ECONNREFUSED 111 /* Connection refused */
+#define EADDRINUSE 112 /* Address already in use */
+#define ECONNABORTED 113 /* Connection aborted */
+#define ENETUNREACH 114
+#define ENETDOWN 115
+#define ETIMEDOUT 116
+#define EHOSTDOWN 117
+#define EHOSTUNREACH 118
+#define EINPROGRESS 119
+#define EALREADY 120
+#define EDESTADDRREQ 121
+#define EMSGSIZE 122
+#define EPROTONOSUPPORT 123
+#define ESOCKTNOSUPPORT 124
+#define EADDRNOTAVAIL 125
+#define ENETRESET 126
+#define EISCONN 127
+#define ENOTCONN 128
+#define ETOOMANYREFS 129
+#define EPROCLIM 130
+#define EUSERS 131
+#define EDQUOT 132
+#define ESTALE 133
+#define ENOTSUP 134
+#define ENOMEDIUM 135
+
+/* From cygwin32. */
+#define EWOULDBLOCK EAGAIN /* Operation would block */
+
+#define __ELASTERROR 2000 /* Users can add values starting here */
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _SYS_ERRNO_H */
diff --git a/newlib/libc/include/sys/fcntl.h b/newlib/libc/include/sys/fcntl.h
new file mode 100644
index 00000000000..ed32fab9b5f
--- /dev/null
+++ b/newlib/libc/include/sys/fcntl.h
@@ -0,0 +1,178 @@
+
+#ifndef _FCNTL_
+#ifdef __cplusplus
+extern "C" {
+#endif
+#define _FCNTL_
+#include <_ansi.h>
+#define _FOPEN (-1) /* from sys/file.h, kernel use only */
+#define _FREAD 0x0001 /* read enabled */
+#define _FWRITE 0x0002 /* write enabled */
+#define _FNDELAY 0x0004 /* non blocking I/O (4.2 style) */
+#define _FAPPEND 0x0008 /* append (writes guaranteed at the end) */
+#define _FMARK 0x0010 /* internal; mark during gc() */
+#define _FDEFER 0x0020 /* internal; defer for next gc pass */
+#define _FASYNC 0x0040 /* signal pgrp when data ready */
+#define _FSHLOCK 0x0080 /* BSD flock() shared lock present */
+#define _FEXLOCK 0x0100 /* BSD flock() exclusive lock present */
+#define _FCREAT 0x0200 /* open with file create */
+#define _FTRUNC 0x0400 /* open with truncation */
+#define _FEXCL 0x0800 /* error on open if file exists */
+#define _FNBIO 0x1000 /* non blocking I/O (sys5 style) */
+#define _FSYNC 0x2000 /* do all writes synchronously */
+#define _FNONBLOCK 0x4000 /* non blocking I/O (POSIX style) */
+#define _FNOCTTY 0x8000 /* don't assign a ctty on this open */
+
+#define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR)
+
+/*
+ * Flag values for open(2) and fcntl(2)
+ * The kernel adds 1 to the open modes to turn it into some
+ * combination of FREAD and FWRITE.
+ */
+#define O_RDONLY 0 /* +1 == FREAD */
+#define O_WRONLY 1 /* +1 == FWRITE */
+#define O_RDWR 2 /* +1 == FREAD|FWRITE */
+#define O_APPEND _FAPPEND
+#define O_CREAT _FCREAT
+#define O_TRUNC _FTRUNC
+#define O_EXCL _FEXCL
+/* O_SYNC _FSYNC not posix, defined below */
+/* O_NDELAY _FNDELAY set in include/fcntl.h */
+/* O_NDELAY _FNBIO set in 5include/fcntl.h */
+#define O_NONBLOCK _FNONBLOCK
+#define O_NOCTTY _FNOCTTY
+/* For machines which care - */
+#if defined (_WIN32) || defined (__CYGWIN__)
+#define _FBINARY 0x10000
+#define _FTEXT 0x20000
+#define _FNOINHERIT 0x40000
+
+#define O_BINARY _FBINARY
+#define O_TEXT _FTEXT
+#define O_NOINHERIT _FNOINHERIT
+
+/* The windows header files define versions with a leading underscore. */
+#define _O_RDONLY O_RDONLY
+#define _O_WRONLY O_WRONLY
+#define _O_RDWR O_RDWR
+#define _O_APPEND O_APPEND
+#define _O_CREAT O_CREAT
+#define _O_TRUNC O_TRUNC
+#define _O_EXCL O_EXCL
+#define _O_TEXT O_TEXT
+#define _O_BINARY O_BINARY
+#define _O_RAW O_BINARY
+#define _O_NOINHERIT O_NOINHERIT
+#endif
+
+#ifndef _POSIX_SOURCE
+
+#define O_SYNC _FSYNC
+
+/*
+ * Flags that work for fcntl(fd, F_SETFL, FXXXX)
+ */
+#define FAPPEND _FAPPEND
+#define FSYNC _FSYNC
+#define FASYNC _FASYNC
+#define FNBIO _FNBIO
+#define FNONBIO _FNONBLOCK /* XXX fix to be NONBLOCK everywhere */
+#define FNDELAY _FNDELAY
+
+/*
+ * Flags that are disallowed for fcntl's (FCNTLCANT);
+ * used for opens, internal state, or locking.
+ */
+#define FREAD _FREAD
+#define FWRITE _FWRITE
+#define FMARK _FMARK
+#define FDEFER _FDEFER
+#define FSHLOCK _FSHLOCK
+#define FEXLOCK _FEXLOCK
+
+/*
+ * The rest of the flags, used only for opens
+ */
+#define FOPEN _FOPEN
+#define FCREAT _FCREAT
+#define FTRUNC _FTRUNC
+#define FEXCL _FEXCL
+#define FNOCTTY _FNOCTTY
+
+#endif /* !_POSIX_SOURCE */
+
+/* XXX close on exec request; must match UF_EXCLOSE in user.h */
+#define FD_CLOEXEC 1 /* posix */
+
+/* fcntl(2) requests */
+#define F_DUPFD 0 /* Duplicate fildes */
+#define F_GETFD 1 /* Get fildes flags (close on exec) */
+#define F_SETFD 2 /* Set fildes flags (close on exec) */
+#define F_GETFL 3 /* Get file flags */
+#define F_SETFL 4 /* Set file flags */
+#ifndef _POSIX_SOURCE
+#define F_GETOWN 5 /* Get owner - for ASYNC */
+#define F_SETOWN 6 /* Set owner - for ASYNC */
+#endif /* !_POSIX_SOURCE */
+#define F_GETLK 7 /* Get record-locking information */
+#define F_SETLK 8 /* Set or Clear a record-lock (Non-Blocking) */
+#define F_SETLKW 9 /* Set or Clear a record-lock (Blocking) */
+#ifndef _POSIX_SOURCE
+#define F_RGETLK 10 /* Test a remote lock to see if it is blocked */
+#define F_RSETLK 11 /* Set or unlock a remote lock */
+#define F_CNVT 12 /* Convert a fhandle to an open fd */
+#define F_RSETLKW 13 /* Set or Clear remote record-lock(Blocking) */
+#endif /* !_POSIX_SOURCE */
+
+/* fcntl(2) flags (l_type field of flock structure) */
+#define F_RDLCK 1 /* read lock */
+#define F_WRLCK 2 /* write lock */
+#define F_UNLCK 3 /* remove lock(s) */
+#ifndef _POSIX_SOURCE
+#define F_UNLKSYS 4 /* remove remote locks for a given system */
+#endif /* !_POSIX_SOURCE */
+
+/*#include <sys/stdtypes.h>*/
+
+/* file segment locking set data type - information passed to system by user */
+struct flock {
+ short l_type; /* F_RDLCK, F_WRLCK, or F_UNLCK */
+ short l_whence; /* flag to choose starting offset */
+ long l_start; /* relative offset, in bytes */
+ long l_len; /* length, in bytes; 0 means lock to EOF */
+ short l_pid; /* returned with F_GETLK */
+ short l_xxx; /* reserved for future use */
+};
+
+#ifndef _POSIX_SOURCE
+/* extended file segment locking set data type */
+struct eflock {
+ short l_type; /* F_RDLCK, F_WRLCK, or F_UNLCK */
+ short l_whence; /* flag to choose starting offset */
+ long l_start; /* relative offset, in bytes */
+ long l_len; /* length, in bytes; 0 means lock to EOF */
+ short l_pid; /* returned with F_GETLK */
+ short l_xxx; /* reserved for future use */
+ long l_rpid; /* Remote process id wanting this lock */
+ long l_rsys; /* Remote system id wanting this lock */
+};
+#endif /* !_POSIX_SOURCE */
+
+
+#include <sys/types.h>
+#include <sys/stat.h> /* sigh. for the mode bits for open/creat */
+
+extern int open _PARAMS ((const char *, int, ...));
+extern int creat _PARAMS ((const char *, mode_t));
+extern int fcntl _PARAMS ((int, int, ...));
+
+/* Provide _<systemcall> prototypes for functions provided by some versions
+ of newlib. */
+extern int _open _PARAMS ((const char *, int, ...));
+extern int _fcntl _PARAMS ((int, int, ...));
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* !_FCNTL_ */
diff --git a/newlib/libc/include/sys/file.h b/newlib/libc/include/sys/file.h
new file mode 100644
index 00000000000..58d4fac319c
--- /dev/null
+++ b/newlib/libc/include/sys/file.h
@@ -0,0 +1,2 @@
+
+#include <sys/fcntl.h>
diff --git a/newlib/libc/include/sys/param.h b/newlib/libc/include/sys/param.h
new file mode 100644
index 00000000000..3470ef5d0ac
--- /dev/null
+++ b/newlib/libc/include/sys/param.h
@@ -0,0 +1,18 @@
+/* This is a dummy <sys/param.h> file, not customized for any
+ particular system. If there is a param.h in libc/sys/SYSDIR/sys,
+ it will override this one. */
+
+#ifndef _SYS_PARAM_H
+# define _SYS_PARAM_H
+
+# define HZ (60)
+# define NOFILE (60)
+# define PATHSIZE (1024)
+
+#ifdef __i386__
+#define BIG_ENDIAN 4321
+#define LITTLE_ENDIAN 1234
+#define BYTE_ORDER LITTLE_ENDIAN
+#endif
+
+#endif
diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h
new file mode 100644
index 00000000000..11049367507
--- /dev/null
+++ b/newlib/libc/include/sys/reent.h
@@ -0,0 +1,238 @@
+/* This header file provides the reentrancy. */
+
+/* WARNING: All identifiers here must begin with an underscore. This file is
+ included by stdio.h and others and we therefore must only use identifiers
+ in the namespace allotted to us. */
+
+#ifndef _SYS_REENT_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+#define _SYS_REENT_H_
+
+#include <_ansi.h>
+#include <time.h>
+
+#ifndef __Long
+#if __LONG_MAX__ == 2147483647L
+#define __Long long
+typedef unsigned __Long __ULong;
+#elif __INT_MAX__ == 2147483647
+#define __Long int
+typedef unsigned __Long __ULong;
+#endif
+#endif
+
+#ifndef __Long
+#define __Long __int32_t
+typedef __uint32_t __ULong;
+#endif
+
+struct _glue
+{
+ struct _glue *_next;
+ int _niobs;
+ struct __sFILE *_iobs;
+};
+
+struct _Bigint
+{
+ struct _Bigint *_next;
+ int _k, _maxwds, _sign, _wds;
+ __ULong _x[1];
+};
+
+/*
+ * atexit() support
+ */
+
+#define _ATEXIT_SIZE 32 /* must be at least 32 to guarantee ANSI conformance */
+
+struct _atexit {
+ struct _atexit *_next; /* next in list */
+ int _ind; /* next index in this table */
+ void (*_fns[_ATEXIT_SIZE])(void); /* the table itself */
+};
+
+/*
+ * Stdio buffers.
+ *
+ * This and __sFILE are defined here because we need them for struct _reent,
+ * but we don't want stdio.h included when stdlib.h is.
+ */
+
+struct __sbuf {
+ unsigned char *_base;
+ int _size;
+};
+
+/*
+ * We need fpos_t for the following, but it doesn't have a leading "_",
+ * so we use _fpos_t instead.
+ */
+
+typedef long _fpos_t; /* XXX must match off_t in <sys/types.h> */
+ /* (and must be `long' for now) */
+
+/*
+ * Stdio state variables.
+ *
+ * The following always hold:
+ *
+ * if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR),
+ * _lbfsize is -_bf._size, else _lbfsize is 0
+ * if _flags&__SRD, _w is 0
+ * if _flags&__SWR, _r is 0
+ *
+ * This ensures that the getc and putc macros (or inline functions) never
+ * try to write or read from a file that is in `read' or `write' mode.
+ * (Moreover, they can, and do, automatically switch from read mode to
+ * write mode, and back, on "r+" and "w+" files.)
+ *
+ * _lbfsize is used only to make the inline line-buffered output stream
+ * code as compact as possible.
+ *
+ * _ub, _up, and _ur are used when ungetc() pushes back more characters
+ * than fit in the current _bf, or when ungetc() pushes back a character
+ * that does not match the previous one in _bf. When this happens,
+ * _ub._base becomes non-nil (i.e., a stream has ungetc() data iff
+ * _ub._base!=NULL) and _up and _ur save the current values of _p and _r.
+ */
+
+struct __sFILE {
+ unsigned char *_p; /* current position in (some) buffer */
+ int _r; /* read space left for getc() */
+ int _w; /* write space left for putc() */
+ short _flags; /* flags, below; this FILE is free if 0 */
+ short _file; /* fileno, if Unix descriptor, else -1 */
+ struct __sbuf _bf; /* the buffer (at least 1 byte, if !NULL) */
+ int _lbfsize; /* 0 or -_bf._size, for inline putc */
+
+ /* operations */
+ _PTR _cookie; /* cookie passed to io functions */
+
+ int _EXFUN((*_read),(_PTR _cookie, char *_buf, int _n));
+ int _EXFUN((*_write),(_PTR _cookie, const char *_buf, int _n));
+ _fpos_t _EXFUN((*_seek),(_PTR _cookie, _fpos_t _offset, int _whence));
+ int _EXFUN((*_close),(_PTR _cookie));
+
+ /* separate buffer for long sequences of ungetc() */
+ struct __sbuf _ub; /* ungetc buffer */
+ unsigned char *_up; /* saved _p when _p is doing ungetc data */
+ int _ur; /* saved _r when _r is counting ungetc data */
+
+ /* tricks to meet minimum requirements even when malloc() fails */
+ unsigned char _ubuf[3]; /* guarantee an ungetc() buffer */
+ unsigned char _nbuf[1]; /* guarantee a getc() buffer */
+
+ /* separate buffer for fgetline() when line crosses buffer boundary */
+ struct __sbuf _lb; /* buffer for fgetline() */
+
+ /* Unix stdio files get aligned to block boundaries on fseek() */
+ int _blksize; /* stat.st_blksize (may be != _bf._size) */
+ int _offset; /* current lseek offset */
+
+ struct _reent *_data;
+};
+
+/*
+ * struct _reent
+ *
+ * This structure contains *all* globals needed by the library.
+ * It's raison d'etre is to facilitate threads by making all library routines
+ * reentrant. IE: All state information is contained here.
+ */
+
+struct _reent
+{
+ /* local copy of errno */
+ int _errno;
+
+ /* FILE is a big struct and may change over time. To try to achieve binary
+ compatibility with future versions, put stdin,stdout,stderr here.
+ These are pointers into member __sf defined below. */
+ struct __sFILE *_stdin, *_stdout, *_stderr;
+
+ int _inc; /* used by tmpnam */
+ char _emergency[25];
+
+ int _current_category; /* used by setlocale */
+ _CONST char *_current_locale;
+
+ int __sdidinit; /* 1 means stdio has been init'd */
+
+ void _EXFUN((*__cleanup),(struct _reent *));
+
+ /* used by mprec routines */
+ struct _Bigint *_result;
+ int _result_k;
+ struct _Bigint *_p5s;
+ struct _Bigint **_freelist;
+
+ /* used by some fp conversion routines */
+ int _cvtlen; /* should be size_t */
+ char *_cvtbuf;
+
+ union
+ {
+ struct
+ {
+ unsigned int _rand_next;
+ char * _strtok_last;
+ char _asctime_buf[26];
+ struct tm _localtime_buf;
+ int _gamma_signgam;
+ } _reent;
+ /* Two next two fields were once used by malloc. They are no longer
+ used. They are used to preserve the space used before so as to
+ allow addition of new reent fields and keep binary compatibility. */
+ struct
+ {
+#define _N_LISTS 30
+ unsigned char * _nextf[_N_LISTS];
+ unsigned int _nmalloc[_N_LISTS];
+ } _unused;
+ } _new;
+
+ /* atexit stuff */
+ struct _atexit *_atexit; /* points to head of LIFO stack */
+ struct _atexit _atexit0; /* one guaranteed table, required by ANSI */
+
+ /* signal info */
+ void (**(_sig_func))(int);
+
+ /* These are here last so that __sFILE can grow without changing the offsets
+ of the above members (on the off chance that future binary compatibility
+ would be broken otherwise). */
+ struct _glue __sglue; /* root of glue chain */
+ struct __sFILE __sf[3]; /* first three file descriptors */
+};
+
+#define _REENT_INIT(var) \
+ { 0, &var.__sf[0], &var.__sf[1], &var.__sf[2], 0, "", 0, "C", \
+ 0, NULL, NULL, 0, NULL, NULL, 0, NULL, { {1, NULL, "", \
+ { 0,0,0,0,0,0,0,0}, 0 } } }
+
+/*
+ * All references to struct _reent are via this pointer.
+ * Internally, newlib routines that need to reference it should use _REENT.
+ */
+
+#ifndef __ATTRIBUTE_IMPURE_PTR__
+#define __ATTRIBUTE_IMPURE_PTR__
+#endif
+
+extern struct _reent *_impure_ptr __ATTRIBUTE_IMPURE_PTR__;
+
+void _reclaim_reent _PARAMS ((struct _reent *));
+
+/* #define _REENT_ONLY define this to get only reentrant routines */
+
+#ifndef _REENT_ONLY
+#define _REENT _impure_ptr
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _SYS_REENT_H_ */
diff --git a/newlib/libc/include/sys/resource.h b/newlib/libc/include/sys/resource.h
new file mode 100644
index 00000000000..eb827552caf
--- /dev/null
+++ b/newlib/libc/include/sys/resource.h
@@ -0,0 +1,15 @@
+#ifndef _SYS_RESOURCE_H_
+#define _SYS_RESOURCE_H_
+
+#include <sys/time.h>
+
+#define RUSAGE_SELF 0 /* calling process */
+#define RUSAGE_CHILDREN -1 /* terminated child processes */
+
+struct rusage {
+ struct timeval ru_utime; /* user time used */
+ struct timeval ru_stime; /* system time used */
+};
+
+#endif
+
diff --git a/newlib/libc/include/sys/signal.h b/newlib/libc/include/sys/signal.h
new file mode 100644
index 00000000000..00d25ead33d
--- /dev/null
+++ b/newlib/libc/include/sys/signal.h
@@ -0,0 +1,182 @@
+/* sys/signal.h */
+
+#ifndef _SYS_SIGNAL_H
+#define _SYS_SIGNAL_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "_ansi.h"
+
+#ifndef __STRICT_ANSI__
+typedef unsigned long sigset_t;
+struct sigaction
+{
+ void (*sa_handler)(int);
+ sigset_t sa_mask;
+ int sa_flags;
+};
+#define SA_NOCLDSTOP 1 /* only value supported now for sa_flags */
+#define SIG_SETMASK 0 /* set mask with sigprocmask() */
+#define SIG_BLOCK 1 /* set of signals to block */
+#define SIG_UNBLOCK 2 /* set of signals to, well, unblock */
+
+/* These depend upon the type of sigset_t, which right now
+ is always a long.. They're in the POSIX namespace, but
+ are not ANSI. */
+#define sigaddset(what,sig) (*(what) |= (1<<(sig)))
+#define sigemptyset(what) (*(what) = 0)
+
+int sigprocmask (int __how, const sigset_t *__a, sigset_t *__b);
+
+/* protos for functions found in winsup sources */
+#if defined(__CYGWIN32__)
+#undef sigaddset
+#undef sigemptyset
+/* The first argument to kill should be pid_t. Right now
+ <sys/types.h> always defines pid_t to be int. If that ever
+ changes, then we will need to do something else, perhaps along the
+ lines of <machine/types.h>. */
+int _EXFUN(kill, (int, int));
+int _EXFUN(sigaction, (int, const struct sigaction *, struct sigaction *));
+int _EXFUN(sigaddset, (sigset_t *, const int));
+int _EXFUN(sigdelset, (sigset_t *, const int));
+int _EXFUN(sigismember, (const sigset_t *, int));
+int _EXFUN(sigfillset, (sigset_t *));
+int _EXFUN(sigemptyset, (sigset_t *));
+int _EXFUN(sigpending, (sigset_t *));
+int _EXFUN(sigsuspend, (const sigset_t *));
+int _EXFUN(sigpause, (int));
+#endif
+
+#endif /* __STRICT_ANSI__ */
+
+#if defined(___AM29K__)
+/* These all need to be defined for ANSI C, but I don't think they are
+ meaningful. */
+#define SIGABRT 1
+#define SIGFPE 1
+#define SIGILL 1
+#define SIGINT 1
+#define SIGSEGV 1
+#define SIGTERM 1
+/* These need to be defined for POSIX, and some others do too. */
+#define SIGHUP 1
+#define SIGQUIT 1
+#define NSIG 2
+#elif defined(__GO32__)
+#define SIGINT 1
+#define SIGKILL 2
+#define SIGPIPE 3
+#define SIGFPE 4
+#define SIGHUP 5
+#define SIGTERM 6
+#define SIGSEGV 7
+#define SIGTSTP 8
+#define SIGQUIT 9
+#define SIGTRAP 10
+#define SIGILL 11
+#define SIGEMT 12
+#define SIGALRM 13
+#define SIGBUS 14
+#define SIGLOST 15
+#define SIGSTOP 16
+#define SIGABRT 17
+#define SIGUSR1 18
+#define SIGUSR2 19
+#define NSIG 20
+#elif defined(__CYGWIN32__) /* BSD signals symantics */
+#define SIGHUP 1 /* hangup */
+#define SIGINT 2 /* interrupt */
+#define SIGQUIT 3 /* quit */
+#define SIGILL 4 /* illegal instruction (not reset when caught) */
+#define SIGTRAP 5 /* trace trap (not reset when caught) */
+#define SIGABRT 6 /* used by abort */
+#define SIGEMT 7 /* EMT instruction */
+#define SIGFPE 8 /* floating point exception */
+#define SIGKILL 9 /* kill (cannot be caught or ignored) */
+#define SIGBUS 10 /* bus error */
+#define SIGSEGV 11 /* segmentation violation */
+#define SIGSYS 12 /* bad argument to system call */
+#define SIGPIPE 13 /* write on a pipe with no one to read it */
+#define SIGALRM 14 /* alarm clock */
+#define SIGTERM 15 /* software termination signal from kill */
+#define SIGURG 16 /* urgent condition on IO channel */
+#define SIGSTOP 17 /* sendable stop signal not from tty */
+#define SIGTSTP 18 /* stop signal from tty */
+#define SIGCONT 19 /* continue a stopped process */
+#define SIGCHLD 20 /* to parent on child stop or exit */
+#define SIGCLD 20 /* System V name for SIGCHLD */
+#define SIGTTIN 21 /* to readers pgrp upon background tty read */
+#define SIGTTOU 22 /* like TTIN for output if (tp->t_local&LTOSTOP) */
+#define SIGIO 23 /* input/output possible signal */
+#define SIGPOLL SIGIO /* System V name for SIGIO */
+#define SIGXCPU 24 /* exceeded CPU time limit */
+#define SIGXFSZ 25 /* exceeded file size limit */
+#define SIGVTALRM 26 /* virtual time alarm */
+#define SIGPROF 27 /* profiling time alarm */
+#define SIGWINCH 28 /* window changed */
+#define SIGLOST 29 /* resource lost (eg, record-lock lost) */
+#define SIGUSR1 30 /* user defined signal 1 */
+#define SIGUSR2 31 /* user defined signal 2 */
+#define NSIG 32 /* signal 0 implied */
+#else
+#define SIGHUP 1 /* hangup */
+#define SIGINT 2 /* interrupt */
+#define SIGQUIT 3 /* quit */
+#define SIGILL 4 /* illegal instruction (not reset when caught) */
+#define SIGTRAP 5 /* trace trap (not reset when caught) */
+#define SIGIOT 6 /* IOT instruction */
+#define SIGABRT 6 /* used by abort, replace SIGIOT in the future */
+#define SIGEMT 7 /* EMT instruction */
+#define SIGFPE 8 /* floating point exception */
+#define SIGKILL 9 /* kill (cannot be caught or ignored) */
+#define SIGBUS 10 /* bus error */
+#define SIGSEGV 11 /* segmentation violation */
+#define SIGSYS 12 /* bad argument to system call */
+#define SIGPIPE 13 /* write on a pipe with no one to read it */
+#define SIGALRM 14 /* alarm clock */
+#define SIGTERM 15 /* software termination signal from kill */
+
+#if defined(__svr4__)
+/* svr4 specifics. different signals above 15, and sigaction. */
+#define SIGUSR1 16
+#define SIGUSR2 17
+#define SIGCLD 18
+#define SIGPWR 19
+#define SIGWINCH 20
+#define SIGPOLL 22 /* 20 for x.out binaries!!!! */
+#define SIGSTOP 23 /* sendable stop signal not from tty */
+#define SIGTSTP 24 /* stop signal from tty */
+#define SIGCONT 25 /* continue a stopped process */
+#define SIGTTIN 26 /* to readers pgrp upon background tty read */
+#define SIGTTOU 27 /* like TTIN for output if (tp->t_local&LTOSTOP) */
+#define NSIG 28
+#else
+#define SIGURG 16 /* urgent condition on IO channel */
+#define SIGSTOP 17 /* sendable stop signal not from tty */
+#define SIGTSTP 18 /* stop signal from tty */
+#define SIGCONT 19 /* continue a stopped process */
+#define SIGCHLD 20 /* to parent on child stop or exit */
+#define SIGCLD 20 /* System V name for SIGCHLD */
+#define SIGTTIN 21 /* to readers pgrp upon background tty read */
+#define SIGTTOU 22 /* like TTIN for output if (tp->t_local&LTOSTOP) */
+#define SIGIO 23 /* input/output possible signal */
+#define SIGPOLL SIGIO /* System V name for SIGIO */
+#define SIGXCPU 24 /* exceeded CPU time limit */
+#define SIGXFSZ 25 /* exceeded file size limit */
+#define SIGVTALRM 26 /* virtual time alarm */
+#define SIGPROF 27 /* profiling time alarm */
+#define SIGWINCH 28 /* window changed */
+#define SIGLOST 29 /* resource lost (eg, record-lock lost) */
+#define SIGUSR1 30 /* user defined signal 1 */
+#define SIGUSR2 31 /* user defined signal 2 */
+#define NSIG 32 /* signal 0 implied */
+#endif
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _SYS_SIGNAL_H */
diff --git a/newlib/libc/include/sys/stat-dj.h b/newlib/libc/include/sys/stat-dj.h
new file mode 100644
index 00000000000..b533a167ae2
--- /dev/null
+++ b/newlib/libc/include/sys/stat-dj.h
@@ -0,0 +1,59 @@
+/* This is file STAT.H */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#ifndef _STAT_H_
+#define _STAT_H_
+
+struct stat {
+ short st_dev;
+ short st_ino;
+ unsigned short st_mode;
+ short st_nlink;
+ short st_uid;
+ short st_gid;
+ short st_rdev;
+ short st_align_for_word32;
+ long st_size;
+ long st_atime;
+ long st_mtime;
+ long st_ctime;
+ long st_blksize;
+};
+
+#define S_IFMT 0xF000 /* file type mask */
+#define S_IFDIR 0x4000 /* directory */
+#define S_IFIFO 0x1000 /* FIFO special */
+#define S_IFCHR 0x2000 /* character special */
+#define S_IFBLK 0x3000 /* block special */
+#define S_IFREG 0x8000 /* or just 0x0000, regular */
+#define S_IREAD 0x0100 /* owner may read */
+#define S_IWRITE 0x0080 /* owner may write */
+#define S_IEXEC 0x0040 /* owner may execute <directory search> */
+
+#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
+#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
+#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
+#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
+#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+int stat(const char *, struct stat *);
+int fstat(int, struct stat *);
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h
new file mode 100644
index 00000000000..31dfaf49fe7
--- /dev/null
+++ b/newlib/libc/include/sys/stat.h
@@ -0,0 +1,149 @@
+#ifndef _SYS_STAT_H
+#define _SYS_STAT_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <_ansi.h>
+#include <time.h>
+#include <sys/types.h>
+
+#ifdef __i386__
+#ifdef __MSDOS__
+#include "stat-dj.h"
+#endif
+#endif
+
+/* dj's stat defines _STAT_H_ */
+#ifndef _STAT_H_
+
+/* It is intended that the layout of this structure not change when the
+ sizes of any of the basic types change (short, int, long) [via a compile
+ time option]. */
+
+struct stat
+{
+ dev_t st_dev;
+ ino_t st_ino;
+ mode_t st_mode;
+ nlink_t st_nlink;
+ uid_t st_uid;
+ gid_t st_gid;
+ dev_t st_rdev;
+ off_t st_size;
+ /* SysV/sco doesn't have the rest... But Solaris, eabi does. */
+#if defined(__svr4__) && !defined(__PPC__) && !defined(__sun__)
+ time_t st_atime;
+ time_t st_mtime;
+ time_t st_ctime;
+#else
+ time_t st_atime;
+ long st_spare1;
+ time_t st_mtime;
+ long st_spare2;
+ time_t st_ctime;
+ long st_spare3;
+ long st_blksize;
+ long st_blocks;
+ long st_spare4[2];
+#endif
+};
+
+#define _IFMT 0170000 /* type of file */
+#define _IFDIR 0040000 /* directory */
+#define _IFCHR 0020000 /* character special */
+#define _IFBLK 0060000 /* block special */
+#define _IFREG 0100000 /* regular */
+#define _IFLNK 0120000 /* symbolic link */
+#define _IFSOCK 0140000 /* socket */
+#define _IFIFO 0010000 /* fifo */
+
+#define S_BLKSIZE 1024 /* size of a block */
+
+#define S_ISUID 0004000 /* set user id on execution */
+#define S_ISGID 0002000 /* set group id on execution */
+#ifndef _POSIX_SOURCE
+#define S_ISVTX 0001000 /* save swapped text even after use */
+#define S_IREAD 0000400 /* read permission, owner */
+#define S_IWRITE 0000200 /* write permission, owner */
+#define S_IEXEC 0000100 /* execute/search permission, owner */
+
+#define S_ENFMT 0002000 /* enforcement-mode locking */
+
+#define S_IFMT _IFMT
+#define S_IFDIR _IFDIR
+#define S_IFCHR _IFCHR
+#define S_IFBLK _IFBLK
+#define S_IFREG _IFREG
+#define S_IFLNK _IFLNK
+#define S_IFSOCK _IFSOCK
+#define S_IFIFO _IFIFO
+#endif /* !_POSIX_SOURCE */
+
+#ifdef _WIN32
+/* The Windows header files define _S_ forms of these, so we do too
+ for easier portability. */
+#define _S_IFMT _IFMT
+#define _S_IFDIR _IFDIR
+#define _S_IFCHR _IFCHR
+#define _S_IFIFO _IFIFO
+#define _S_IFREG _IFREG
+#define _S_IREAD 0000400
+#define _S_IWRITE 0000200
+#define _S_IEXEC 0000100
+#endif
+
+#define S_IRWXU 0000700 /* rwx, owner */
+#define S_IRUSR 0000400 /* read permission, owner */
+#define S_IWUSR 0000200 /* write permission, owner */
+#define S_IXUSR 0000100 /* execute/search permission, owner */
+#define S_IRWXG 0000070 /* rwx, group */
+#define S_IRGRP 0000040 /* read permission, group */
+#define S_IWGRP 0000020 /* write permission, grougroup */
+#define S_IXGRP 0000010 /* execute/search permission, group */
+#define S_IRWXO 0000007 /* rwx, other */
+#define S_IROTH 0000004 /* read permission, other */
+#define S_IWOTH 0000002 /* write permission, other */
+#define S_IXOTH 0000001 /* execute/search permission, other */
+
+#define S_ISBLK(m) (((m)&_IFMT) == _IFBLK)
+#define S_ISCHR(m) (((m)&_IFMT) == _IFCHR)
+#define S_ISDIR(m) (((m)&_IFMT) == _IFDIR)
+#define S_ISFIFO(m) (((m)&_IFMT) == _IFIFO)
+#define S_ISREG(m) (((m)&_IFMT) == _IFREG)
+#define S_ISLNK(m) (((m)&_IFMT) == _IFLNK)
+#define S_ISSOCK(m) (((m)&_IFMT) == _IFSOCK)
+
+
+int _EXFUN(chmod,( const char *__path, mode_t __mode ));
+int _EXFUN(fchmod,(int __fd, mode_t __mode));
+int _EXFUN(fstat,( int __fd, struct stat *__sbuf ));
+int _EXFUN(mkdir,( const char *_path, mode_t __mode ));
+int _EXFUN(mkfifo,( const char *__path, mode_t __mode ));
+int _EXFUN(stat,( const char *__path, struct stat *__sbuf ));
+mode_t _EXFUN(umask,( mode_t __mask ));
+
+#if defined(__rtems__)
+int _EXFUN(mknod,( const char *_path, mode_t _mode, dev_t dev ));
+#endif
+
+/* Provide prototypes for most of the _<systemcall> names that are
+ provided in newlib for some compilers. */
+int _EXFUN(_fstat,( int __fd, struct stat *__sbuf ));
+int _EXFUN(_stat,( const char *__path, struct stat *__sbuf ));
+
+#ifdef __CYGWIN32__
+int _EXFUN(lstat,( const char *__path, struct stat *__buf ));
+#endif
+
+#if defined(__rtems__)
+int _EXFUN(mknod,( const char *_path, mode_t _mode, dev_t dev ));
+int _EXFUN(lstat,( const char *_path, struct stat *_sbuf ));
+#endif
+
+#endif /* !_STAT_H_ */
+#ifdef __cplusplus
+}
+#endif
+#endif /* _SYS_STAT_H */
diff --git a/newlib/libc/include/sys/time.h b/newlib/libc/include/sys/time.h
new file mode 100644
index 00000000000..bc08820a5d8
--- /dev/null
+++ b/newlib/libc/include/sys/time.h
@@ -0,0 +1,51 @@
+/* time.h -- An implementation of the standard Unix <sys/time.h> file.
+ Written by Geoffrey Noer <noer@cygnus.com>
+ Public domain; no rights reserved. */
+
+#ifndef _SYS_TIME_H_
+#define _SYS_TIME_H_
+
+#include <_ansi.h>
+#include <sys/types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef _WINSOCK_H
+struct timeval {
+ long tv_sec;
+ long tv_usec;
+};
+
+struct timezone {
+ int tz_minuteswest;
+ int tz_dsttime;
+};
+
+#ifdef __CYGWIN32__
+#include <sys/select.h>
+#endif /* __CYGWIN32__ */
+
+#endif /* _WINSOCK_H */
+
+#define ITIMER_REAL 0
+#define ITIMER_VIRTUAL 1
+#define ITIMER_PROF 2
+
+struct itimerval {
+ struct timeval it_interval;
+ struct timeval it_value;
+};
+
+int _EXFUN(gettimeofday, (struct timeval *__p, struct timezone *__z));
+int _EXFUN(settimeofday, (const struct timeval *, const struct timezone *));
+int _EXFUN(utimes, (const char *__path, struct timeval *__tvp));
+int _EXFUN(getitimer, (int __which, struct itimerval *__value));
+int _EXFUN(setitimer, (int __which, const struct itimerval *__value,
+ struct itimerval *__ovalue));
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _SYS_TIME_H_ */
diff --git a/newlib/libc/include/sys/timeb.h b/newlib/libc/include/sys/timeb.h
new file mode 100644
index 00000000000..0a2c3de8bdd
--- /dev/null
+++ b/newlib/libc/include/sys/timeb.h
@@ -0,0 +1,39 @@
+/* timeb.h -- An implementation of the standard Unix <sys/timeb.h> file.
+ Written by Ian Lance Taylor <ian@cygnus.com>
+ Public domain; no rights reserved.
+
+ <sys/timeb.h> declares the structure used by the ftime function, as
+ well as the ftime function itself. Newlib does not provide an
+ implementation of ftime. */
+
+#ifndef _SYS_TIMEB_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define _SYS_TIMEB_H
+
+#include <_ansi.h>
+#include <machine/types.h>
+
+#ifndef __time_t_defined
+typedef _TIME_T_ time_t;
+#define __time_t_defined
+#endif
+
+struct timeb
+{
+ time_t time;
+ unsigned short millitm;
+ short timezone;
+ short dstflag;
+};
+
+extern int ftime _PARAMS ((struct timeb *));
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ! defined (_SYS_TIMEB_H) */
diff --git a/newlib/libc/include/sys/times.h b/newlib/libc/include/sys/times.h
new file mode 100644
index 00000000000..c973ae1b0d6
--- /dev/null
+++ b/newlib/libc/include/sys/times.h
@@ -0,0 +1,27 @@
+#ifndef _SYS_TIMES_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+#define _SYS_TIMES_H
+
+#include <_ansi.h>
+#include <machine/types.h>
+
+#ifndef __clock_t_defined
+typedef _CLOCK_T_ clock_t;
+#define __clock_t_defined
+#endif
+
+struct tms {
+ clock_t tms_utime; /* user time */
+ clock_t tms_stime; /* system time */
+ clock_t tms_cutime; /* user time, children */
+ clock_t tms_cstime; /* system time, children */
+};
+
+clock_t _EXFUN(times,(struct tms *));
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* !_SYS_TIMES_H */
diff --git a/newlib/libc/include/sys/types.h b/newlib/libc/include/sys/types.h
new file mode 100644
index 00000000000..7d2e524616d
--- /dev/null
+++ b/newlib/libc/include/sys/types.h
@@ -0,0 +1,174 @@
+/* unified sys/types.h:
+ start with sef's sysvi386 version.
+ merge go32 version -- a few ifdefs.
+ h8300hms, h8300xray, and sysvnecv70 disagree on the following types:
+
+ typedef int gid_t;
+ typedef int uid_t;
+ typedef int dev_t;
+ typedef int ino_t;
+ typedef int mode_t;
+ typedef int caddr_t;
+
+ however, these aren't "reasonable" values, the sysvi386 ones make far
+ more sense, and should work sufficiently well (in particular, h8300
+ doesn't have a stat, and the necv70 doesn't matter.) -- eichin
+ */
+
+#ifndef _SYS_TYPES_H
+#define _SYS_TYPES_H
+
+#if defined (_WIN32) || defined (__CYGWIN__)
+#define __MS_types__
+#endif
+
+#ifdef __i386__
+#if defined (GO32) || defined (__MSDOS__)
+#define __MS_types__
+#endif
+#endif
+
+# include <stddef.h>
+# include <machine/types.h>
+
+/* To ensure the stat struct's layout doesn't change when sizeof(int), etc.
+ changes, we assume sizeof short and long never change and have all types
+ used to define struct stat use them and not int where possible.
+ Where not possible, _ST_INTxx are used. It would be preferable to not have
+ such assumptions, but until the extra fluff is necessary, it's avoided.
+ No 64 bit targets use stat yet. What to do about them is postponed
+ until necessary. */
+#ifdef __GNUC__
+#define _ST_INT32 __attribute__ ((__mode__ (__SI__)))
+#else
+#define _ST_INT32
+#endif
+
+# ifndef _POSIX_SOURCE
+
+# define physadr physadr_t
+# define quad quad_t
+
+#ifndef _WINSOCK_H
+typedef unsigned char u_char;
+typedef unsigned short u_short;
+typedef unsigned int u_int;
+typedef unsigned long u_long;
+#endif
+
+typedef unsigned short ushort; /* System V compatibility */
+typedef unsigned int uint; /* System V compatibility */
+# endif /*!_POSIX_SOURCE */
+
+#ifndef __time_t_defined
+typedef _TIME_T_ time_t;
+#define __time_t_defined
+#endif
+
+typedef long daddr_t;
+typedef char * caddr_t;
+
+#ifdef __MS_types__
+typedef unsigned long ino_t;
+#else
+#ifdef __sparc__
+typedef unsigned long ino_t;
+#else
+typedef unsigned short ino_t;
+#endif
+#endif
+
+#ifdef __MS_types__
+typedef unsigned long vm_offset_t;
+typedef unsigned long vm_size_t;
+
+#define __BIT_TYPES_DEFINED__
+
+typedef char int8_t;
+typedef unsigned char u_int8_t;
+typedef short int16_t;
+typedef unsigned short u_int16_t;
+typedef int int32_t;
+typedef unsigned int u_int32_t;
+typedef long long int64_t;
+typedef unsigned long long u_int64_t;
+typedef int32_t register_t;
+#endif /* __MS_types__ */
+
+/*
+ * All these should be machine specific - right now they are all broken.
+ * However, for all of Cygnus' embedded targets, we want them to all be
+ * the same. Otherwise things like sizeof (struct stat) might depend on
+ * how the file was compiled (e.g. -mint16 vs -mint32, etc.).
+ */
+
+typedef short dev_t;
+
+typedef long off_t;
+
+typedef unsigned short uid_t;
+typedef unsigned short gid_t;
+typedef int pid_t;
+typedef long key_t;
+typedef long ssize_t;
+
+#ifdef __MS_types__
+typedef char * addr_t;
+typedef int mode_t;
+#else
+#if defined (__sparc__) && !defined (__sparc_v9__)
+#ifdef __svr4__
+typedef unsigned long mode_t;
+#else
+typedef unsigned short mode_t;
+#endif
+#else
+typedef unsigned int mode_t _ST_INT32;
+#endif
+#endif /* ! __MS_types__ */
+
+typedef unsigned short nlink_t;
+
+/* We don't define fd_set and friends if we are compiling POSIX
+ source, or if we have included the Windows Sockets.h header (which
+ defines Windows versions of them). Note that a program which
+ includes the Windows sockets.h header must know what it is doing;
+ it must not call the cygwin32 select function. */
+# if ! defined (_POSIX_SOURCE) && ! defined (_WINSOCK_H)
+
+# define NBBY 8 /* number of bits in a byte */
+/*
+ * Select uses bit masks of file descriptors in longs.
+ * These macros manipulate such bit fields (the filesystem macros use chars).
+ * FD_SETSIZE may be defined by the user, but the default here
+ * should be >= NOFILE (param.h).
+ */
+# ifndef FD_SETSIZE
+# define FD_SETSIZE 64
+# endif
+
+typedef long fd_mask;
+# define NFDBITS (sizeof (fd_mask) * NBBY) /* bits per mask */
+# ifndef howmany
+# define howmany(x,y) (((x)+((y)-1))/(y))
+# endif
+
+/* We use a macro for fd_set so that including Sockets.h afterwards
+ can work. */
+typedef struct _types_fd_set {
+ fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)];
+} _types_fd_set;
+
+#define fd_set _types_fd_set
+
+# define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1L << ((n) % NFDBITS)))
+# define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1L << ((n) % NFDBITS)))
+# define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1L << ((n) % NFDBITS)))
+# define FD_ZERO(p) bzero((caddr_t)(p), sizeof (*(p)))
+
+# endif /* ! defined (_POSIX_SOURCE) && ! defined (_WINSOCK_H) */
+
+#undef __MS_types__
+#undef _ST_INT32
+
+#endif /* _SYS_TYPES_H */
diff --git a/newlib/libc/include/sys/unistd.h b/newlib/libc/include/sys/unistd.h
new file mode 100644
index 00000000000..98d1e1f2a3e
--- /dev/null
+++ b/newlib/libc/include/sys/unistd.h
@@ -0,0 +1,175 @@
+#ifndef _SYS_UNISTD_H
+#define _SYS_UNISTD_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <_ansi.h>
+#include <sys/types.h>
+#define __need_size_t
+#include <stddef.h>
+
+extern char **environ;
+
+void _EXFUN(_exit, (int __status ) _ATTRIBUTE ((noreturn)));
+
+int _EXFUN(access,(const char *__path, int __amode ));
+unsigned _EXFUN(alarm, (unsigned __secs ));
+int _EXFUN(chdir, (const char *__path ));
+int _EXFUN(chmod, (const char *__path, mode_t __mode ));
+int _EXFUN(chown, (const char *__path, uid_t __owner, gid_t __group ));
+int _EXFUN(close, (int __fildes ));
+char _EXFUN(*ctermid, (char *__s ));
+char _EXFUN(*cuserid, (char *__s ));
+int _EXFUN(dup, (int __fildes ));
+int _EXFUN(dup2, (int __fildes, int __fildes2 ));
+int _EXFUN(execl, (const char *__path, const char *, ... ));
+int _EXFUN(execle, (const char *__path, const char *, ... ));
+int _EXFUN(execlp, (const char *__file, const char *, ... ));
+int _EXFUN(execv, (const char *__path, char * const __argv[] ));
+int _EXFUN(execve, (const char *__path, char * const __argv[], char * const __envp[] ));
+int _EXFUN(execvp, (const char *__file, char * const __argv[] ));
+pid_t _EXFUN(fork, (void ));
+long _EXFUN(fpathconf, (int __fd, int __name ));
+int _EXFUN(fsync, (int __fd));
+char _EXFUN(*getcwd, (char *__buf, size_t __size ));
+gid_t _EXFUN(getegid, (void ));
+uid_t _EXFUN(geteuid, (void ));
+gid_t _EXFUN(getgid, (void ));
+int _EXFUN(getgroups, (int __gidsetsize, gid_t __grouplist[] ));
+char _EXFUN(*getlogin, (void ));
+char _EXFUN(*getpass, (__const char *__prompt));
+size_t _EXFUN(getpagesize, (void));
+pid_t _EXFUN(getpgrp, (void ));
+pid_t _EXFUN(getpid, (void ));
+pid_t _EXFUN(getppid, (void ));
+uid_t _EXFUN(getuid, (void ));
+int _EXFUN(isatty, (int __fildes ));
+int _EXFUN(link, (const char *__path1, const char *__path2 ));
+int _EXFUN(nice, (int __nice_value ));
+off_t _EXFUN(lseek, (int __fildes, off_t __offset, int __whence ));
+long _EXFUN(pathconf, (const char *__path, int __name ));
+int _EXFUN(pause, (void ));
+int _EXFUN(pipe, (int __fildes[2] ));
+int _EXFUN(read, (int __fildes, void *__buf, size_t __nbyte ));
+int _EXFUN(rmdir, (const char *__path ));
+void * _EXFUN(sbrk, (size_t __incr));
+int _EXFUN(setgid, (gid_t __gid ));
+int _EXFUN(setpgid, (pid_t __pid, pid_t __pgid ));
+pid_t _EXFUN(setsid, (void ));
+int _EXFUN(setuid, (uid_t __uid ));
+unsigned _EXFUN(sleep, (unsigned int __seconds ));
+void _EXFUN(swab, (const void *, void *, ssize_t));
+long _EXFUN(sysconf, (int __name ));
+pid_t _EXFUN(tcgetpgrp, (int __fildes ));
+int _EXFUN(tcsetpgrp, (int __fildes, pid_t __pgrp_id ));
+char _EXFUN(*ttyname, (int __fildes ));
+int _EXFUN(unlink, (const char *__path ));
+int _EXFUN(write, (int __fildes, const void *__buf, size_t __nbyte ));
+
+/* Provide prototypes for most of the _<systemcall> names that are
+ provided in newlib for some compilers. */
+int _EXFUN(_close, (int __fildes ));
+pid_t _EXFUN(_fork, (void ));
+pid_t _EXFUN(_getpid, (void ));
+int _EXFUN(_link, (const char *__path1, const char *__path2 ));
+off_t _EXFUN(_lseek, (int __fildes, off_t __offset, int __whence ));
+int _EXFUN(_read, (int __fildes, void *__buf, size_t __nbyte ));
+void * _EXFUN(_sbrk, (size_t __incr));
+int _EXFUN(_unlink, (const char *__path ));
+int _EXFUN(_write, (int __fildes, const void *__buf, size_t __nbyte ));
+
+#if defined(__CYGWIN32__) || defined(__rtems__)
+unsigned _EXFUN(usleep, (unsigned int __useconds));
+int _EXFUN(ftruncate, (int __fd, off_t __length));
+int _EXFUN(truncate, (const char *, off_t __length));
+int _EXFUN(gethostname, (char *__name, size_t __len));
+char * _EXFUN(mktemp, (char *));
+int _EXFUN(sync, (void));
+int _EXFUN(readlink, (const char *__path, char *__buf, int __buflen));
+int _EXFUN(symlink, (const char *__name1, const char *__name2));
+#endif
+
+# define F_OK 0
+# define R_OK 4
+# define W_OK 2
+# define X_OK 1
+
+# define SEEK_SET 0
+# define SEEK_CUR 1
+# define SEEK_END 2
+
+/*
+ * RTEMS adheres to a later version of POSIX -- 1003.1b.
+ *
+ * XXX this version string should change.
+ */
+
+#ifdef __rtems__
+#ifndef _POSIX_JOB_CONTROL
+# define _POSIX_JOB_CONTROL 1
+#endif
+#ifndef _POSIX_SAVED_IDS
+# define _POSIX_SAVED_IDS 1
+#endif
+# define _POSIX_VERSION 199009L
+#else
+#ifdef __svr4__
+# define _POSIX_JOB_CONTROL 1
+# define _POSIX_SAVED_IDS 1
+# define _POSIX_VERSION 199009L
+#endif
+#endif
+
+#ifdef __CYGWIN32__
+# define _POSIX_JOB_CONTROL 1
+# define _POSIX_SAVED_IDS 0
+# define _POSIX_VERSION 199009L
+#endif
+
+#define STDIN_FILENO 0 /* standard input file descriptor */
+#define STDOUT_FILENO 1 /* standard output file descriptor */
+#define STDERR_FILENO 2 /* standard error file descriptor */
+
+long _EXFUN(sysconf, (int __name));
+
+# define _SC_ARG_MAX 0
+# define _SC_CHILD_MAX 1
+# define _SC_CLK_TCK 2
+# define _SC_NGROUPS_MAX 3
+# define _SC_OPEN_MAX 4
+/* no _SC_STREAM_MAX */
+# define _SC_JOB_CONTROL 5
+# define _SC_SAVED_IDS 6
+# define _SC_VERSION 7
+# define _SC_PAGESIZE 8
+
+# define _PC_LINK_MAX 0
+# define _PC_MAX_CANON 1
+# define _PC_MAX_INPUT 2
+# define _PC_NAME_MAX 3
+# define _PC_PATH_MAX 4
+# define _PC_PIPE_BUF 5
+# define _PC_CHOWN_RESTRICTED 6
+# define _PC_NO_TRUNC 7
+# define _PC_VDISABLE 8
+# define _PC_ASYNC_IO 9
+# define _PC_PRIO_IO 10
+# define _PC_SYNC_IO 11
+
+# ifndef _POSIX_SOURCE
+# define MAXNAMLEN 1024
+# endif /* _POSIX_SOURCE */
+
+/* FIXME: This is temporary until winsup gets sorted out. */
+#ifdef __CYGWIN32__
+#define MAXPATHLEN (260 - 1 /* NUL */)
+#else
+# define MAXPATHLEN 1024
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _SYS_UNISTD_H */
diff --git a/newlib/libc/include/sys/utime.h b/newlib/libc/include/sys/utime.h
new file mode 100644
index 00000000000..5e937f10384
--- /dev/null
+++ b/newlib/libc/include/sys/utime.h
@@ -0,0 +1,22 @@
+#ifndef _SYS_UTIME_H
+#define _SYS_UTIME_H
+
+/* This is a dummy <sys/utime.h> file, not customized for any
+ particular system. If there is a utime.h in libc/sys/SYSDIR/sys,
+ it will override this one. */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct utimbuf
+{
+ time_t actime;
+ time_t modtime;
+};
+
+#ifdef __cplusplus
+};
+#endif
+
+#endif /* _SYS_UTIME_H */
diff --git a/newlib/libc/include/sys/wait.h b/newlib/libc/include/sys/wait.h
new file mode 100644
index 00000000000..0e4a339454c
--- /dev/null
+++ b/newlib/libc/include/sys/wait.h
@@ -0,0 +1,40 @@
+#ifndef _SYS_WAIT_H
+#define _SYS_WAIT_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <sys/types.h>
+
+#define WNOHANG 1
+#define WUNTRACED 2
+
+/* A status looks like:
+ <2 bytes info> <2 bytes code>
+
+ <code> == 0, child has exited, info is the exit value
+ <code> == 1..7e, child has exited, info is the signal number.
+ <code> == 7f, child has stopped, info was the signal number.
+ <code> == 80, there was a core dump.
+*/
+
+#define WIFEXITED(w) (((w) & 0xff) == 0)
+#define WIFSIGNALED(w) (((w) & 0x7f) > 0 && (((w) & 0x7f) < 0x7f))
+#define WIFSTOPPED(w) (((w) & 0xff) == 0x7f)
+#define WEXITSTATUS(w) (((w) >> 8) & 0xff)
+#define WTERMSIG(w) ((w) & 0x7f)
+#define WSTOPSIG WEXITSTATUS
+
+pid_t wait (int *);
+pid_t waitpid (pid_t, int *, int);
+
+/* Provide prototypes for most of the _<systemcall> names that are
+ provided in newlib for some compilers. */
+pid_t _wait (int *);
+
+#ifdef __cplusplus
+};
+#endif
+
+#endif
diff --git a/newlib/libc/include/termios.h b/newlib/libc/include/termios.h
new file mode 100644
index 00000000000..ee1820ce047
--- /dev/null
+++ b/newlib/libc/include/termios.h
@@ -0,0 +1,7 @@
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include <sys/termios.h>
+#ifdef __cplusplus
+}
+#endif
diff --git a/newlib/libc/include/time.h b/newlib/libc/include/time.h
new file mode 100644
index 00000000000..4a96617790e
--- /dev/null
+++ b/newlib/libc/include/time.h
@@ -0,0 +1,90 @@
+/*
+ * time.h
+ *
+ * Struct and function declarations for dealing with time.
+ */
+
+#ifndef _TIME_H_
+#define _TIME_H_
+
+#include "_ansi.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef NULL
+#define NULL 0
+#endif
+
+/* Get _CLOCKS_PER_SEC_ */
+#include <machine/time.h>
+
+#ifndef _CLOCKS_PER_SEC_
+#define _CLOCKS_PER_SEC_ 1000
+#endif
+
+#define CLOCKS_PER_SEC _CLOCKS_PER_SEC_
+#define CLK_TCK CLOCKS_PER_SEC
+#define __need_size_t
+#include <stddef.h>
+
+/* Get _CLOCK_T_ and _TIME_T_. */
+#include <machine/types.h>
+
+#ifndef __clock_t_defined
+typedef _CLOCK_T_ clock_t;
+#define __clock_t_defined
+#endif
+
+#ifndef __time_t_defined
+typedef _TIME_T_ time_t;
+#define __time_t_defined
+#endif
+
+struct tm
+{
+ int tm_sec;
+ int tm_min;
+ int tm_hour;
+ int tm_mday;
+ int tm_mon;
+ int tm_year;
+ int tm_wday;
+ int tm_yday;
+ int tm_isdst;
+};
+
+clock_t _EXFUN(clock, (void));
+double _EXFUN(difftime, (time_t _time2, time_t _time1));
+time_t _EXFUN(mktime, (struct tm *_timeptr));
+time_t _EXFUN(time, (time_t *_timer));
+#ifndef _REENT_ONLY
+char *_EXFUN(asctime, (const struct tm *_tblock));
+char *_EXFUN(ctime, (const time_t *_time));
+struct tm *_EXFUN(gmtime, (const time_t *_timer));
+struct tm *_EXFUN(localtime,(const time_t *_timer));
+#endif
+size_t _EXFUN(strftime, (char *_s, size_t _maxsize, const char *_fmt, const struct tm *_t));
+
+char *_EXFUN(asctime_r, (const struct tm *, char *));
+char *_EXFUN(ctime_r, (const time_t *, char *));
+struct tm *_EXFUN(gmtime_r, (const time_t *, struct tm *));
+struct tm *_EXFUN(localtime_r, (const time_t *, struct tm *));
+
+#ifdef __CYGWIN32__
+#ifndef __STRICT_ANSI__
+extern time_t _timezone __declspec(dllimport);
+extern int _daylight __declspec(dllimport);
+extern char *_tzname[2] __declspec(dllimport);
+
+char *_EXFUN(timezone, (void));
+void _EXFUN(tzset, (void));
+#endif
+#endif /* __CYGWIN32__ */
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _TIME_H_ */
+
diff --git a/newlib/libc/include/unctrl.h b/newlib/libc/include/unctrl.h
new file mode 100644
index 00000000000..8205ea60e64
--- /dev/null
+++ b/newlib/libc/include/unctrl.h
@@ -0,0 +1,46 @@
+/* From curses.h. */
+/*
+ * Copyright (c) 1981, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef _UNCTRL_H_
+#define _UNCTRL_H_
+
+#include <_ansi.h>
+
+#define unctrl(c) __unctrl[(c) & 0xff]
+#define unctrllen(ch) __unctrllen[(ch) & 0xff]
+
+extern _CONST char * _CONST __unctrl[256]; /* Control strings. */
+extern _CONST char __unctrllen[256]; /* Control strings length. */
+
+#endif /* _UNCTRL_H_ */
diff --git a/newlib/libc/include/unistd.h b/newlib/libc/include/unistd.h
new file mode 100644
index 00000000000..f9fca8476d1
--- /dev/null
+++ b/newlib/libc/include/unistd.h
@@ -0,0 +1,6 @@
+#ifndef _UNISTD_H_
+#define _UNISTD_H_
+
+# include <sys/unistd.h>
+
+#endif /* _UNISTD_H_ */
diff --git a/newlib/libc/include/utime.h b/newlib/libc/include/utime.h
new file mode 100644
index 00000000000..c05e08e9469
--- /dev/null
+++ b/newlib/libc/include/utime.h
@@ -0,0 +1,10 @@
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* The utime function is defined in libc/sys/<arch>/sys if it exists. */
+#include <sys/utime.h>
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/newlib/libc/include/utmp.h b/newlib/libc/include/utmp.h
new file mode 100644
index 00000000000..88cf6f8528f
--- /dev/null
+++ b/newlib/libc/include/utmp.h
@@ -0,0 +1,8 @@
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include <sys/utmp.h>
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/newlib/libc/libc.texinfo b/newlib/libc/libc.texinfo
new file mode 100644
index 00000000000..b1ca8f9e78f
--- /dev/null
+++ b/newlib/libc/libc.texinfo
@@ -0,0 +1,427 @@
+\input texinfo.tex
+@setfilename libc.info
+@tex
+% NOTE LOCAL KLUGE TO AVOID TOO MUCH WHITESPACE FROM "makedoc"
+\global\long\def\example{%
+\begingroup
+\let\aboveenvbreak=\par
+\let\afterenvbreak=\par
+\parskip=0pt
+\lisp}
+\global\long\def\Eexample{%
+\Elisp
+\endgroup
+\vskip -\parskip% to cancel out effect of following \par
+}
+% END LOCAL WHITESPACE KLUGE
+@end tex
+@syncodeindex fn cp
+
+@ifinfo
+@format
+START-INFO-DIR-ENTRY
+* libc:: The ANSI C library.
+END-INFO-DIR-ENTRY
+@end format
+@end ifinfo
+
+@ifinfo
+This file documents the ANSI C library.
+
+Copyright (C) 1992, 1993 Cygnus Support
+
+@file{libc} includes software developed by the
+University of California, Berkeley and its contributors.
+
+libc includes software developed by Martin Jackson, Graham Haley
+and Steve Chamberlain of Tadpole Technology and released to Cygnus.
+
+libc uses floating point converstion software developed at AT&T, which
+includes this copyright information:
+
+ The author of this software is David M. Gay.
+
+ Copyright (c) 1991 by AT&T.
+
+ Permission to use, copy, modify, and distribute this software for any
+ purpose without fee is hereby granted, provided that this entire notice
+ is included in all copies of any software which is or includes a copy
+ or modification of this software and in all copies of the supporting
+ documentation for such software.
+
+ THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+ WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
+ REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
+ OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+@ignore
+Permission is granted to process this file through Tex and print the
+results, provided the printed document carries copying permission
+notice identical to this one except for the removal of this paragraph
+(this paragraph not being relevant to the printed manual).
+
+@end ignore
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, subject to the terms
+of the GNU General Public License, which includes the provision that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions.
+@end ifinfo
+@iftex
+@c @smallbook
+@c @cropmarks
+@finalout
+@setchapternewpage odd
+@settitle Cygnus C Support Library, Full
+@titlepage
+@title The Cygnus C Support Library
+@subtitle Full Configuration
+@sp 1
+@subtitle @code{libc} 1.4
+@subtitle May 1993
+@author {Steve Chamberlain}
+@author {Roland Pesch}
+@author {Cygnus Support}
+@page
+
+@tex
+{\parskip=0pt
+sac@@cygnus.com, pesch@@cygnus.com\hfill {\it The Cygnus C Support Library}\par
+Copyright \copyright{} 1992, 1993 Cygnus Support
+}
+\global\parindent=0pt % Steve likes it this way
+@end tex
+
+@file{libc} includes software developed by the
+University of California, Berkeley and its contributors.
+
+@file{libc} includes software developed by Martin Jackson, Graham Haley
+and Steve Chamberlain of Tadpole Technology and released to Cygnus.
+
+@file{libc} uses floating point converstion software developed at AT&T,
+which includes this copyright information:
+
+@cartouche
+@quotation
+The author of this software is David M. Gay.
+
+Copyright (c) 1991 by AT&T.
+
+Permission to use, copy, modify, and distribute this software for any
+purpose without fee is hereby granted, provided that this entire notice
+is included in all copies of any software which is or includes a copy
+or modification of this software and in all copies of the supporting
+documentation for such software.
+
+THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
+REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
+OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+@end quotation
+@end cartouche
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, subject to the terms
+of the GNU General Public License, which includes the provision that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions.
+@end titlepage
+@end iftex
+
+@ifinfo
+@node Top
+@top The Cygnus C Support Library
+
+@c The menu contents depend on the configuration, so we include them
+@c as a separate file
+
+@c switch to set SIGNALS on or off, according to whether config picks up
+@c signal subdirectory:
+@include sigset.texi
+
+@menu
+* Stdlib::
+* Ctype::
+* Stdio::
+* Strings::
+@ifset SIGNALS
+* Signals::
+@end ifset
+
+* Timefns::
+* Locale::
+* Syscalls::
+* Misc::
+* Arglists::
+* Reentrancy::
+* Library Index::
+@end menu
+@end ifinfo
+
+@include targetdep.tex
+
+@node Arglists
+@chapter Variable Argument Lists
+
+The @code{printf} family of functions is defined to accept a variable
+number of arguments, rather than a fixed argument list. You can define
+your own functions with a variable argument list, by using macro
+definitions from either @file{stdarg.h} (for compatibility with ANSI C)
+or from @file{varargs.h} (for compatibility with a popular convention
+prior to ANSI C).
+
+@menu
+* Stdarg::
+* Varargs::
+@end menu
+
+@node Stdarg
+@section ANSI-standard macros, @file{stdarg.h}
+
+In ANSI C, a function has a variable number of arguments when its
+parameter list ends in an ellipsis (@code{...}). The parameter list
+must also include at least one explicitly named argument; that argument
+is used to initialize the variable list data structure.
+
+ANSI C defines three macros (@code{va_start}, @code{va_arg}, and
+@code{va_end}) to operate on variable argument lists. @file{stdarg.h}
+also defines a special type to represent variable argument lists: this
+type is called @code{va_list}.
+
+@menu
+* va_start::
+* va_arg::
+* va_end::
+@end menu
+
+@page
+@node va_start
+@subsection Initialize variable argument list
+@findex va_start
+@strong{Synopsis}
+@example
+#include <stdarg.h>
+void va_start(va_list @var{ap}, @var{rightmost});
+@end example
+
+@strong{Description}@*
+Use @code{va_start} to initialize the variable argument list @var{ap},
+so that @code{va_arg} can extract values from it. @var{rightmost} is
+the name of the last explicit argument in the parameter list (the
+argument immediately preceding the ellipsis @samp{...} that flags
+variable arguments in an ANSI C function header). You can only use
+@code{va_start} in a function declared using this ellipsis notation
+(not, for example, in one of its subfunctions).
+
+@strong{Returns}@*
+@code{va_start} does not return a result.
+
+@strong{Portability}@*
+ANSI C requires @code{va_start}.
+
+@page
+@node va_arg
+@subsection Extract a value from argument list
+@findex va_arg
+@strong{Synopsis}
+@example
+#include <stdarg.h>
+@var{type} va_arg(va_list @var{ap}, @var{type});
+@end example
+
+@strong{Description}@*
+@code{va_arg} returns the next unprocessed value from a variable
+argument list @var{ap} (which you must previously create with
+@var{va_start}). Specify the type for the value as the second parameter
+to the macro, @var{type}.
+
+You may pass a @code{va_list} object @var{ap} to a subfunction, and use
+@code{va_arg} from the subfunction rather than from the function
+actually declared with an ellipsis in the header; however, in that case
+you may @emph{only} use @code{va_arg} from the subfunction. ANSI C does
+not permit extracting successive values from a single variable-argument
+list from different levels of the calling stack.
+
+There is no mechanism for testing whether there is actually a next
+argument available; you might instead pass an argument count (or some
+other data that implies an argument count) as one of the fixed arguments
+in your function call.
+
+@strong{Returns}@*
+@code{va_arg} returns the next argument, an object of type @var{type}.
+
+@strong{Portability}@*
+ANSI C requires @code{va_arg}.
+
+@page
+@node va_end
+@subsection Abandon a variable argument list
+@findex va_end
+@strong{Synopsis}
+@example
+#include <stdarg.h>
+void va_end(va_list @var{ap});
+@end example
+
+@strong{Description}@*
+Use @code{va_end} to declare that your program will not use the variable
+argument list @var{ap} any further.
+
+@strong{Returns}@*
+@code{va_end} does not return a result.
+
+@strong{Portability}@*
+ANSI C requires @code{va_end}.
+
+@node Varargs
+@section Traditional macros, @file{varargs.h}
+
+If your C compiler predates ANSI C, you may still be able to use
+variable argument lists using the macros from the @file{varargs.h}
+header file. These macros resemble their ANSI counterparts, but have
+important differences in usage. In particular, since traditional C has
+no declaration mechanism for variable argument lists, two additional
+macros are provided simply for the purpose of defining functions with
+variable argument lists.
+
+As with @file{stdarg.h}, the type @code{va_list} is used to hold a data
+structure representing a variable argument list.
+
+@menu
+* va_alist::
+* va_start-trad::
+* va_arg-trad::
+* va_end-trad::
+@end menu
+
+@page
+@node va_alist
+@subsection Declare variable arguments
+@findex va_alist
+@findex va_dcl
+@strong{Synopsis}
+@example
+#include <varargs.h>
+@var{function}(va_alist)
+va_dcl
+@end example
+
+@strong{Description}@*
+To use the @file{varargs.h} version of variable argument lists, you must
+declare your function with a call to the macro @code{va_alist} as its
+argument list, and use @code{va_dcl} as the declaration. @emph{Do not
+use a semicolon after @code{va_dcl}.}
+
+@strong{Returns}@*
+These macros cannot be used in a context where a return is syntactically
+possible.
+
+@strong{Portability}@*
+@var{va_alist} and @var{va_dcl} were the most widespread method of
+declaring variable argument lists prior to ANSI C.
+
+@page
+@node va_start-trad
+@subsection Initialize variable argument list
+@findex va_start
+@strong{Synopsis}
+@example
+#include <varargs.h>
+va_list @var{ap};
+va_start(@var{ap});
+@end example
+
+@strong{Description}@*
+With the @file{varargs.h} macros, use @code{va_start} to initialize a
+data structure @var{ap} to permit manipulating a variable argument list.
+@var{ap} must have the type @var{va_alist}.
+
+@strong{Returns}@*
+@code{va_start} does not return a result.
+
+@strong{Portability}@*
+@code{va_start} is also defined as a macro in ANSI C, but the
+definitions are incompatible; the ANSI version has another parameter
+besides @var{ap}.
+
+@page
+@node va_arg-trad
+@subsection Extract a value from argument list
+@findex va_arg
+@strong{Synopsis}
+@example
+#include <varargs.h>
+@var{type} va_arg(va_list @var{ap}, @var{type});
+@end example
+
+@strong{Description}@*
+@code{va_arg} returns the next unprocessed value from a variable
+argument list @var{ap} (which you must previously create with
+@var{va_start}). Specify the type for the value as the second parameter
+to the macro, @var{type}.
+
+@strong{Returns}@*
+@code{va_arg} returns the next argument, an object of type @var{type}.
+
+@strong{Portability}@*
+The @code{va_arg} defined in @file{varargs.h} has the same syntax and
+usage as the ANSI C version from @file{stdarg.h}.
+
+@page
+@node va_end-trad
+@subsection Abandon a variable argument list
+@findex va_end
+@strong{Synopsis}
+@example
+#include <varargs.h>
+va_end(va_list @var{ap});
+@end example
+
+@strong{Description}@*
+Use @code{va_end} to declare that your program will not use the variable
+argument list @var{ap} any further.
+
+@strong{Returns}@*
+@code{va_end} does not return a result.
+
+@strong{Portability}@*
+The @code{va_end} defined in @file{varargs.h} has the same syntax and
+usage as the ANSI C version from @file{stdarg.h}.
+
+@node Library Index
+@unnumbered Index
+@printindex cp
+
+@tex
+% I think something like @colophon should be in texinfo. In the
+% meantime:
+\long\def\colophon{\hbox to0pt{}\vfill
+\centerline{The body of this manual is set in}
+\centerline{\fontname\tenrm,}
+\centerline{with headings in {\bf\fontname\tenbf}}
+\centerline{and examples in {\tt\fontname\tentt}.}
+\centerline{{\it\fontname\tenit\/} and}
+\centerline{{\sl\fontname\tensl\/}}
+\centerline{are used for emphasis.}\vfill}
+\page\colophon
+% Blame: pesch@cygnus.com, 28mar91.
+@end tex
+
+@contents
+@bye
+
+
diff --git a/newlib/libc/locale/Makefile.am b/newlib/libc/locale/Makefile.am
new file mode 100644
index 00000000000..c007e0f9214
--- /dev/null
+++ b/newlib/libc/locale/Makefile.am
@@ -0,0 +1,26 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = locale.c
+
+CHEWOUT_FILES = locale.def
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+TARGETDOC = ../tmp.texi
+
+doc: $(CHEWOUT_FILES)
+ cat $(srcdir)/locale.tex >> $(TARGETDOC)
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
diff --git a/newlib/libc/locale/Makefile.in b/newlib/libc/locale/Makefile.in
new file mode 100644
index 00000000000..1d951a82c76
--- /dev/null
+++ b/newlib/libc/locale/Makefile.in
@@ -0,0 +1,297 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+CRT0 = @CRT0@
+EXEEXT = @EXEEXT@
+LIBC_MACHINE_LIB = @LIBC_MACHINE_LIB@
+LIBC_POSIX_LIB = @LIBC_POSIX_LIB@
+LIBC_SIGNAL_DEF = @LIBC_SIGNAL_DEF@
+LIBC_SIGNAL_LIB = @LIBC_SIGNAL_LIB@
+LIBC_SYSCALL_LIB = @LIBC_SYSCALL_LIB@
+LIBC_SYS_LIB = @LIBC_SYS_LIB@
+LIBC_UNIX_LIB = @LIBC_UNIX_LIB@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = locale.c
+
+CHEWOUT_FILES = locale.def
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+TARGETDOC = ../tmp.texi
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = locale.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .def .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus locale/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = locale
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am:
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-info-am:
+install-info: install-info-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am:
+uninstall: uninstall-am
+all-am: Makefile $(LIBRARIES)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-noinstLIBRARIES distclean-compile \
+ distclean-tags distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-info-am install-info \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+doc: $(CHEWOUT_FILES)
+ cat $(srcdir)/locale.tex >> $(TARGETDOC)
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c
new file mode 100644
index 00000000000..81d6ae2bc11
--- /dev/null
+++ b/newlib/libc/locale/locale.c
@@ -0,0 +1,198 @@
+/*
+FUNCTION
+<<setlocale>>, <<localeconv>>---select or query locale
+
+INDEX
+ setlocale
+INDEX
+ localeconv
+INDEX
+ _setlocale_r
+INDEX
+ _localeconv_r
+
+ANSI_SYNOPSIS
+ #include <locale.h>
+ char *setlocale(int <[category]>, const char *<[locale]>);
+ lconv *localeconv(void);
+
+ char *_setlocale_r(void *<[reent]>,
+ int <[category]>, const char *<[locale]>);
+ lconv *_localeconv_r(void *<[reent]>);
+
+TRAD_SYNOPSIS
+ #include <locale.h>
+ char *setlocale(<[category]>, <[locale]>)
+ int <[category]>;
+ char *<[locale]>;
+
+ lconv *localeconv();
+
+ char *_setlocale_r(<[reent]>, <[category]>, <[locale]>)
+ char *<[reent]>;
+ int <[category]>;
+ char *<[locale]>;
+
+ lconv *_localeconv_r(<[reent]>);
+ char *<[reent]>;
+
+DESCRIPTION
+<<setlocale>> is the facility defined by ANSI C to condition the
+execution environment for international collating and formatting
+information; <<localeconv>> reports on the settings of the current
+locale.
+
+This is a minimal implementation, supporting only the required <<``C''>>
+value for <[locale]>; strings representing other locales are not
+honored unless MB_CAPABLE is defined in which case three new
+extensions are allowed for LC_CTYPE only: <<''C-JIS''>>, <<''C-EUCJP''>>,
+and <<''C-SJIS''>>. (<<``''>> is also accepted; it represents the default locale
+for an implementation, here equivalent to <<``C''>>.)
+
+If you use <<NULL>> as the <[locale]> argument, <<setlocale>> returns
+a pointer to the string representing the current locale (always
+<<``C''>> in this implementation). The acceptable values for
+<[category]> are defined in `<<locale.h>>' as macros beginning with
+<<"LC_">>, but this implementation does not check the values you pass
+in the <[category]> argument.
+
+<<localeconv>> returns a pointer to a structure (also defined in
+`<<locale.h>>') describing the locale-specific conventions currently
+in effect.
+
+<<_localeconv_r>> and <<_setlocale_r>> are reentrant versions of
+<<localeconv>> and <<setlocale>> respectively. The extra argument
+<[reent]> is a pointer to a reentrancy structure.
+
+RETURNS
+<<setlocale>> returns either a pointer to a string naming the locale
+currently in effect (always <<``C''>> for this implementation, or, if
+the locale request cannot be honored, <<NULL>>.
+
+<<localeconv>> returns a pointer to a structure of type <<lconv>>,
+which describes the formatting and collating conventions in effect (in
+this implementation, always those of the C locale).
+
+PORTABILITY
+ANSI C requires <<setlocale>>, but the only locale required across all
+implementations is the C locale.
+
+No supporting OS subroutines are required.
+*/
+
+/*
+ * setlocale, localeconv : internationalize your locale.
+ * (Only "C" or null supported).
+ */
+
+#include <locale.h>
+#include <string.h>
+#include <limits.h>
+#include <reent.h>
+
+#ifdef __CYGWIN__
+int __declspec(dllexport) __mb_cur_max = 1;
+#else
+int __mb_cur_max = 1;
+#endif
+
+static _CONST struct lconv lconv =
+{
+ ".", "", "", "", "", "", "", "", "", "",
+ CHAR_MAX, CHAR_MAX, CHAR_MAX, CHAR_MAX,
+ CHAR_MAX, CHAR_MAX, CHAR_MAX, CHAR_MAX,
+};
+
+
+char *
+_DEFUN(_setlocale_r, (p, category, locale),
+ struct _reent *p _AND
+ int category _AND
+ _CONST char *locale)
+{
+ static char lc_ctype[8] = "C";
+ static char last_lc_ctype[8] = "C";
+
+#ifndef MB_CAPABLE
+ if (locale)
+ {
+ if (strcmp (locale, "C") && strcmp (locale, ""))
+ return 0;
+ p->_current_category = category;
+ p->_current_locale = locale;
+ }
+ return "C";
+#else
+ if (locale)
+ {
+ if (category != LC_CTYPE)
+ {
+ if (strcmp (locale, "C") && strcmp (locale, ""))
+ return 0;
+ if (category == LC_ALL)
+ {
+ strcpy (last_lc_ctype, lc_ctype);
+ strcpy (lc_ctype, locale);
+ __mb_cur_max = 1;
+ }
+ }
+ else
+ {
+ if (strcmp (locale, "C") && strcmp (locale, "") &&
+ strcmp (locale, "C") && strcmp (locale, "C-JIS") &&
+ strcmp (locale, "C-EUCJP") && strcmp (locale, "C-SJIS"))
+ return 0;
+
+ strcpy (last_lc_ctype, lc_ctype);
+ strcpy (lc_ctype, locale);
+
+ if (!strcmp (locale, "C-JIS"))
+ __mb_cur_max = 8;
+ else if (strlen (locale) > 1)
+ __mb_cur_max = 2;
+ else
+ __mb_cur_max = 1;
+ }
+ p->_current_category = category;
+ p->_current_locale = locale;
+
+ if (category == LC_CTYPE)
+ return last_lc_ctype;
+ }
+ else
+ {
+ if (category == LC_CTYPE)
+ return lc_ctype;
+ }
+
+ return "C";
+#endif
+
+}
+
+
+struct lconv *
+_DEFUN(_localeconv_r, (data),
+ struct _reent *data)
+{
+ return (struct lconv *) &lconv;
+}
+
+#ifndef _REENT_ONLY
+
+char *
+_DEFUN(setlocale, (category, locale),
+ int category _AND
+ _CONST char *locale)
+{
+ return _setlocale_r (_REENT, category, locale);
+}
+
+
+struct lconv *
+_DEFUN_VOID(localeconv)
+{
+ return _localeconv_r (_REENT);
+}
+
+#endif
diff --git a/newlib/libc/locale/locale.tex b/newlib/libc/locale/locale.tex
new file mode 100644
index 00000000000..7958a98a270
--- /dev/null
+++ b/newlib/libc/locale/locale.tex
@@ -0,0 +1,123 @@
+@node Locale
+@chapter Locale (@file{locale.h})
+
+A @dfn{locale} is the name for a collection of parameters (affecting
+collating sequences and formatting conventions) that may be different
+depending on location or culture. The @code{"C"} locale is the only
+one defined in the ANSI C standard.
+
+This is a minimal implementation, supporting only the required @code{``C''}
+value for locale; strings representing other locales are not
+honored. (@code{``''} is also accepted; it represents the default locale
+for an implementation, here equivalent to @code{``C''}.
+
+
+@file{locale.h} defines the structure @code{lconv} to collect the
+information on a locale, with the following fields:
+
+@table @code
+@item char *decimal_point
+The decimal point character used to format ``ordinary'' numbers (all
+numbers except those referring to amounts of money). @code{``.''} in the
+C locale.
+
+@item char *thousands_sep
+The character (if any) used to separate groups of digits, when
+formatting ordinary numbers.
+@code{``''} in the C locale.
+
+@item char *grouping
+Specifications for how many digits to group (if any grouping is done at
+all) when formatting ordinary numbers. The @emph{numeric value} of each
+character in the string represents the number of digits for the next
+group, and a value of @code{0} (that is, the string's trailing
+@code{NULL}) means to continue grouping digits using the last value
+specified. Use @code{CHAR_MAX} to indicate that no further grouping is
+desired. @code{``''} in the C locale.
+
+@item char *int_curr_symbol
+The international currency symbol (first three characters), if any, and
+the character used to separate it from numbers.
+@code{``''} in the C locale.
+
+@item char *currency_symbol
+The local currency symbol, if any.
+@code{``''} in the C locale.
+
+@item char *mon_decimal_point
+The symbol used to delimit fractions in amounts of money.
+@code{``''} in the C locale.
+
+@item char *mon_thousands_sep
+Similar to @code{thousands_sep}, but used for amounts of money.
+@code{``''} in the C locale.
+
+@item char *mon_grouping
+Similar to @code{grouping}, but used for amounts of money.
+@code{``''} in the C locale.
+
+@item char *positive_sign
+A string to flag positive amounts of money when formatting.
+@code{``''} in the C locale.
+
+@item char *negative_sign
+A string to flag negative amounts of money when formatting.
+@code{``''} in the C locale.
+
+@item char int_frac_digits
+The number of digits to display when formatting amounts of money to
+international conventions.
+@code{CHAR_MAX} (the largest number representable as a @code{char}) in
+the C locale.
+
+@item char frac_digits
+The number of digits to display when formatting amounts of money to
+local conventions.
+@code{CHAR_MAX} in the C locale.
+
+@item char p_cs_precedes
+@code{1} indicates the local currency symbol is used before a
+@emph{positive or zero} formatted amount of money; @code{0} indicates
+the currency symbol is placed after the formatted number.
+@code{CHAR_MAX} in the C locale.
+
+@item char p_sep_by_space
+@code{1} indicates the local currency symbol must be separated from
+@emph{positive or zero} numbers by a space; @code{0} indicates that it
+is immediately adjacent to numbers.
+@code{CHAR_MAX} in the C locale.
+
+@item char n_cs_precedes
+@code{1} indicates the local currency symbol is used before a
+@emph{negative} formatted amount of money; @code{0} indicates
+the currency symbol is placed after the formatted number.
+@code{CHAR_MAX} in the C locale.
+
+@item char n_sep_by_space
+@code{1} indicates the local currency symbol must be separated from
+@emph{negative} numbers by a space; @code{0} indicates that it
+is immediately adjacent to numbers.
+@code{CHAR_MAX} in the C locale.
+
+@item char p_sign_posn
+Controls the position of the @emph{positive} sign for
+numbers representing money. @code{0} means parentheses surround the
+number; @code{1} means the sign is placed before both the number and the
+currency symbol; @code{2} means the sign is placed after both the number
+and the currency symbol; @code{3} means the sign is placed just before
+the currency symbol; and @code{4} means the sign is placed just after
+the currency symbol.
+@code{CHAR_MAX} in the C locale.
+
+@item char n_sign_posn
+Controls the position of the @emph{negative} sign for numbers
+representing money, using the same rules as @code{p_sign_posn}.
+@code{CHAR_MAX} in the C locale.
+@end table
+
+@menu
+* setlocale:: Select or query locale
+@end menu
+
+@page
+@include locale/locale.def
diff --git a/newlib/libc/machine/Makefile.am b/newlib/libc/machine/Makefile.am
new file mode 100644
index 00000000000..8157e9aae8c
--- /dev/null
+++ b/newlib/libc/machine/Makefile.am
@@ -0,0 +1,23 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+SUBDIRS = $(machine_dir) .
+
+if HAVE_MACHINE_DIR
+MACHLIB = lib.a
+endif
+
+noinst_LIBRARIES = $(MACHLIB)
+
+lib.a: $(machine_dir)/lib.a
+ rm -f $@
+ ln $(machine_dir)/lib.a $@ >/dev/null 2>/dev/null || \
+ cp $(machine_dir)/lib.a $@
+
+$(machine_dir)/lib.a:
+
+doc:
+
+ACLOCAL_AMFLAGS = -I ../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/Makefile.in b/newlib/libc/machine/Makefile.in
new file mode 100644
index 00000000000..bb99fb981e9
--- /dev/null
+++ b/newlib/libc/machine/Makefile.in
@@ -0,0 +1,401 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+SUBDIRS = $(machine_dir) .
+
+@HAVE_MACHINE_DIR_TRUE@MACHLIB = \
+@HAVE_MACHINE_DIR_TRUE@lib.a
+
+noinst_LIBRARIES = $(MACHLIB)
+
+ACLOCAL_AMFLAGS = -I ../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_SOURCES = lib.a.c
+lib_a_OBJECTS = lib.a.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+SOURCES = lib.a.c
+OBJECTS = lib.a.o
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in ../../acinclude.m4 \
+ ../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+
+@SET_MAKE@
+
+all-recursive install-data-recursive install-exec-recursive \
+installdirs-recursive install-recursive uninstall-recursive install-info-recursive \
+check-recursive installcheck-recursive info-recursive dvi-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
+ rev="$$subdir $$rev"; \
+ test "$$subdir" = "." && dot_seen=yes; \
+ done; \
+ test "$$dot_seen" = "no" && rev=". $$rev"; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @banner="$(distdir).tar.gz is ready for distribution"; \
+ dashes=`echo "$$banner" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ echo "$$dashes"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+ for subdir in $(SUBDIRS); do \
+ if test "$$subdir" = .; then :; else \
+ test -d $(distdir)/$$subdir \
+ || mkdir $(distdir)/$$subdir \
+ || exit 1; \
+ chmod 777 $(distdir)/$$subdir; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
+ || exit 1; \
+ fi; \
+ done
+info-am:
+info: info-recursive
+dvi-am:
+dvi: dvi-recursive
+check-am:
+check: check-recursive
+installcheck-am:
+installcheck: installcheck-recursive
+install-info-am:
+install-info: install-info-recursive
+install-exec-am:
+install-exec: install-exec-recursive
+
+install-data-am:
+install-data: install-data-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-recursive
+uninstall-am:
+uninstall: uninstall-recursive
+all-am: Makefile $(LIBRARIES)
+all-redirect: all-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs: installdirs-recursive
+installdirs-am:
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-recursive
+
+clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean-am
+
+clean: clean-recursive
+
+distclean-am: distclean-noinstLIBRARIES distclean-compile \
+ distclean-tags distclean-generic clean-am
+
+distclean: distclean-recursive
+ -rm -f config.status
+
+maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile install-data-recursive \
+uninstall-data-recursive install-exec-recursive \
+uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
+all-recursive check-recursive installcheck-recursive info-recursive \
+dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-info-am \
+install-info install-exec-am install-exec install-data-am install-data \
+install-am install uninstall-am uninstall all-redirect all-am all \
+installdirs-am installdirs mostlyclean-generic distclean-generic \
+clean-generic maintainer-clean-generic clean mostlyclean distclean \
+maintainer-clean
+
+
+lib.a: $(machine_dir)/lib.a
+ rm -f $@
+ ln $(machine_dir)/lib.a $@ >/dev/null 2>/dev/null || \
+ cp $(machine_dir)/lib.a $@
+
+$(machine_dir)/lib.a:
+
+doc:
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/a29k/Makefile.am b/newlib/libc/machine/a29k/Makefile.am
new file mode 100644
index 00000000000..ec5ca63e2cc
--- /dev/null
+++ b/newlib/libc/machine/a29k/Makefile.am
@@ -0,0 +1,12 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES =
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/a29k/Makefile.in b/newlib/libc/machine/a29k/Makefile.in
new file mode 100644
index 00000000000..69bc22c90dd
--- /dev/null
+++ b/newlib/libc/machine/a29k/Makefile.in
@@ -0,0 +1,294 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES =
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS =
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/a29k/aclocal.m4 b/newlib/libc/machine/a29k/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/a29k/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/a29k/configure b/newlib/libc/machine/a29k/configure
new file mode 100755
index 00000000000..56478833272
--- /dev/null
+++ b/newlib/libc/machine/a29k/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=Makefile.am
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/a29k/configure.in b/newlib/libc/machine/a29k/configure.in
new file mode 100644
index 00000000000..1dffe2144f8
--- /dev/null
+++ b/newlib/libc/machine/a29k/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/machine/a29k configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(Makefile.am)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/aclocal.m4 b/newlib/libc/machine/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/arm/Makefile.am b/newlib/libc/machine/arm/Makefile.am
new file mode 100644
index 00000000000..ec5ca63e2cc
--- /dev/null
+++ b/newlib/libc/machine/arm/Makefile.am
@@ -0,0 +1,12 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES =
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/arm/Makefile.in b/newlib/libc/machine/arm/Makefile.in
new file mode 100644
index 00000000000..69bc22c90dd
--- /dev/null
+++ b/newlib/libc/machine/arm/Makefile.in
@@ -0,0 +1,294 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES =
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS =
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/arm/aclocal.m4 b/newlib/libc/machine/arm/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/arm/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/arm/configure b/newlib/libc/machine/arm/configure
new file mode 100755
index 00000000000..56478833272
--- /dev/null
+++ b/newlib/libc/machine/arm/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=Makefile.am
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/arm/configure.in b/newlib/libc/machine/arm/configure.in
new file mode 100644
index 00000000000..a5384f62ad5
--- /dev/null
+++ b/newlib/libc/machine/arm/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/machine/arm configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(Makefile.am)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/configure b/newlib/libc/machine/configure
new file mode 100755
index 00000000000..ce27db26f4b
--- /dev/null
+++ b/newlib/libc/machine/configure
@@ -0,0 +1,1802 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=d10v
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../.. $srcdir/../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../.. $srcdir/../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+if test -n "${machine_dir}"; then
+ subdirs="${machine_dir}"
+
+fi
+
+
+
+if test x${machine_dir} != x; then
+ HAVE_MACHINE_DIR_TRUE=
+ HAVE_MACHINE_DIR_FALSE='#'
+else
+ HAVE_MACHINE_DIR_TRUE='#'
+ HAVE_MACHINE_DIR_FALSE=
+fi
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+s%@subdirs@%$subdirs%g
+s%@HAVE_MACHINE_DIR_TRUE@%$HAVE_MACHINE_DIR_TRUE%g
+s%@HAVE_MACHINE_DIR_FALSE@%$HAVE_MACHINE_DIR_FALSE%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
+if test "$no_recursion" != yes; then
+
+ # Remove --cache-file and --srcdir arguments so they do not pile up.
+ ac_sub_configure_args=
+ ac_prev=
+ for ac_arg in $ac_configure_args; do
+ if test -n "$ac_prev"; then
+ ac_prev=
+ continue
+ fi
+ case "$ac_arg" in
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ ;;
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ ;;
+ *) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;;
+ esac
+ done
+
+ for ac_config_dir in ${machine_dir}; do
+
+ # Do not complain, so a configure script can configure whichever
+ # parts of a large source tree are present.
+ if test ! -d $srcdir/$ac_config_dir; then
+ continue
+ fi
+
+ echo configuring in $ac_config_dir
+
+ case "$srcdir" in
+ .) ;;
+ *)
+ if test -d ./$ac_config_dir || mkdir ./$ac_config_dir; then :;
+ else
+ { echo "configure: error: can not create `pwd`/$ac_config_dir" 1>&2; exit 1; }
+ fi
+ ;;
+ esac
+
+ ac_popdir=`pwd`
+ cd $ac_config_dir
+
+ # A "../" for each directory in /$ac_config_dir.
+ ac_dots=`echo $ac_config_dir|sed -e 's%^\./%%' -e 's%[^/]$%&/%' -e 's%[^/]*/%../%g'`
+
+ case "$srcdir" in
+ .) # No --srcdir option. We are building in place.
+ ac_sub_srcdir=$srcdir ;;
+ /*) # Absolute path.
+ ac_sub_srcdir=$srcdir/$ac_config_dir ;;
+ *) # Relative path.
+ ac_sub_srcdir=$ac_dots$srcdir/$ac_config_dir ;;
+ esac
+
+ # Check for guested configure; otherwise get Cygnus style configure.
+ if test -f $ac_sub_srcdir/configure; then
+ ac_sub_configure=$ac_sub_srcdir/configure
+ elif test -f $ac_sub_srcdir/configure.in; then
+ ac_sub_configure=$ac_configure
+ else
+ echo "configure: warning: no configuration information is in $ac_config_dir" 1>&2
+ ac_sub_configure=
+ fi
+
+ # The recursion is here.
+ if test -n "$ac_sub_configure"; then
+
+ # Make the cache file name correct relative to the subdirectory.
+ case "$cache_file" in
+ /*) ac_sub_cache_file=$cache_file ;;
+ *) # Relative path.
+ ac_sub_cache_file="$ac_dots$cache_file" ;;
+ esac
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo "running ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir"
+ # The eval makes quoting arguments work.
+ if eval ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir
+ then :
+ else
+ { echo "configure: error: $ac_sub_configure failed for $ac_config_dir" 1>&2; exit 1; }
+ fi
+ fi
+
+ cd $ac_popdir
+ done
+fi
+
diff --git a/newlib/libc/machine/configure.in b/newlib/libc/machine/configure.in
new file mode 100644
index 00000000000..6ac3486c663
--- /dev/null
+++ b/newlib/libc/machine/configure.in
@@ -0,0 +1,18 @@
+dnl This is the newlib/libc/machine configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(d10v)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../..)
+
+NEWLIB_CONFIGURE(../..)
+
+if test -n "${machine_dir}"; then
+ AC_CONFIG_SUBDIRS(${machine_dir})
+fi
+
+AM_CONDITIONAL(HAVE_MACHINE_DIR, test x${machine_dir} != x)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/d10v/Makefile.am b/newlib/libc/machine/d10v/Makefile.am
new file mode 100644
index 00000000000..1c65b9ffe90
--- /dev/null
+++ b/newlib/libc/machine/d10v/Makefile.am
@@ -0,0 +1,12 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/d10v/Makefile.in b/newlib/libc/machine/d10v/Makefile.in
new file mode 100644
index 00000000000..5414b185db9
--- /dev/null
+++ b/newlib/libc/machine/d10v/Makefile.in
@@ -0,0 +1,297 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = setjmp.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/d10v/aclocal.m4 b/newlib/libc/machine/d10v/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/d10v/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/d10v/configure b/newlib/libc/machine/d10v/configure
new file mode 100755
index 00000000000..b39571b6ae7
--- /dev/null
+++ b/newlib/libc/machine/d10v/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=setjmp.S
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/d10v/configure.in b/newlib/libc/machine/d10v/configure.in
new file mode 100644
index 00000000000..fd67e066dcd
--- /dev/null
+++ b/newlib/libc/machine/d10v/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/machine/d10v configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(setjmp.S)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/d10v/setjmp.S b/newlib/libc/machine/d10v/setjmp.S
new file mode 100644
index 00000000000..22287dd1e02
--- /dev/null
+++ b/newlib/libc/machine/d10v/setjmp.S
@@ -0,0 +1,55 @@
+; setjmp/longjmp for D10V. The jmpbuf looks like this:
+;
+; Register jmpbuf offset
+; R6 0x00
+; R7 0x02
+; R8 0x04
+; R9 0x06
+; R10 0x08
+; R11 0x0a
+; R13 (return address) 0x0c
+; R15 (SP) 0x0E
+
+ .text
+ .globl setjmp
+ .type setjmp,@function
+ .stabs "setjmp.S",100,0,0,setjmp
+ .stabs "int:t(0,1)=r(0,1);-65536;65535;",128,0,0,0
+ .stabs "setjmp:F(0,1)",36,0,1,setjmp
+
+setjmp:
+; Address of jmpbuf is passed in R0. Save the appropriate registers.
+ st2w r6, @r0+
+ st2w r8, @r0+
+ st2w r10, @r0+
+ st r13, @r0+
+ st r15, @r0+
+
+; Return 0 to caller
+ ldi r0, 0
+ jmp r13
+.Lsetjmp:
+ .size setjmp,.Lsetjmp-setjmp
+ .stabs "",36,0,0,.Lsetjmp-setjmp
+
+ .globl longjmp
+ .type longjmp,@function
+ .stabs "longjmp:F(0,1)",36,0,1,longjmp
+longjmp:
+; Address of jmpbuf is in R0. Restore the registers.
+ ld2w r6, @r0+
+ ld2w r8, @r0+
+ ld2w r10, @r0+
+ ld r13, @r0+
+ ld r15, @r0+
+
+; Value to return to caller is in R1. If caller attemped to return 0,
+; return 1 instead.
+
+ mv r0, r1
+ cmpeqi r0, 0
+ exef0t || ldi r0,1
+ jmp r13
+.Llongjmp:
+ .size longjmp,.Llongjmp-longjmp
+ .stabs "",36,0,0,.Llongjmp-longjmp
diff --git a/newlib/libc/machine/d30v/Makefile.am b/newlib/libc/machine/d30v/Makefile.am
new file mode 100644
index 00000000000..1c65b9ffe90
--- /dev/null
+++ b/newlib/libc/machine/d30v/Makefile.am
@@ -0,0 +1,12 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/d30v/Makefile.in b/newlib/libc/machine/d30v/Makefile.in
new file mode 100644
index 00000000000..5414b185db9
--- /dev/null
+++ b/newlib/libc/machine/d30v/Makefile.in
@@ -0,0 +1,297 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = setjmp.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/d30v/aclocal.m4 b/newlib/libc/machine/d30v/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/d30v/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/d30v/configure b/newlib/libc/machine/d30v/configure
new file mode 100755
index 00000000000..b39571b6ae7
--- /dev/null
+++ b/newlib/libc/machine/d30v/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=setjmp.S
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/d30v/configure.in b/newlib/libc/machine/d30v/configure.in
new file mode 100644
index 00000000000..604025ecd53
--- /dev/null
+++ b/newlib/libc/machine/d30v/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/machine/d30v configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(setjmp.S)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/d30v/setjmp.S b/newlib/libc/machine/d30v/setjmp.S
new file mode 100644
index 00000000000..c0ca8250b0f
--- /dev/null
+++ b/newlib/libc/machine/d30v/setjmp.S
@@ -0,0 +1,106 @@
+; setjmp/longjmp for D30V.
+
+ .text
+ .globl setjmp
+ .type setjmp,@function
+ .stabs "setjmp.S",100,0,0,setjmp
+ .stabs "int:t(0,1)=r(0,1);-2147483648;2147483647;",128,0,0,0
+ .stabs "setjmp:F(0,1)",36,0,1,setjmp
+
+setjmp:
+; Address of jmpbuf is passed in R2. Save the appropriate registers.
+ st2w r26, @(r2+,r0)
+ st2w r28, @(r2+,r0)
+ st2w r30, @(r2+,r0)
+ st2w r32, @(r2+,r0)
+ st2w r34, @(r2+,r0)
+ st2w r36, @(r2+,r0)
+ st2w r38, @(r2+,r0)
+ st2w r40, @(r2+,r0)
+ st2w r42, @(r2+,r0)
+ st2w r44, @(r2+,r0)
+ st2w r46, @(r2+,r0)
+ st2w r48, @(r2+,r0)
+ st2w r50, @(r2+,r0)
+ st2w r52, @(r2+,r0)
+ st2w r54, @(r2+,r0)
+ st2w r56, @(r2+,r0)
+ st2w r58, @(r2+,r0)
+ st2w r60, @(r2+,r0)
+ st2w r62, @(r2+,r0)
+
+ mvfacc r4, a1, 16
+ mvfacc r5, a1, 0
+ st2w r4, @(r2+,r0)
+
+ mvfsys r4, psw
+ mvfsys r5, rpt_c
+ st2w r4, @(r2+,r0)
+
+ mvfsys r4, rpt_s
+ mvfsys r5, rpt_e
+ st2w r4, @(r2+,r0)
+
+ mvfsys r4, mod_s
+ mvfsys r5, mod_e
+ st2w r4, @(r2+,r0)
+
+; Return 0 to caller
+ add r2, r0, r0
+ jmp link
+.Lsetjmp:
+ .size setjmp,.Lsetjmp-setjmp
+ .stabs "",36,0,0,.Lsetjmp-setjmp
+
+ .globl longjmp
+ .type longjmp,@function
+ .stabs "longjmp:F(0,1)",36,0,1,longjmp
+longjmp:
+; Address of jmpbuf is in R2. Restore the registers.
+ ld2w r26, @(r2+,r0)
+ ld2w r28, @(r2+,r0)
+ ld2w r30, @(r2+,r0)
+ ld2w r32, @(r2+,r0)
+ ld2w r34, @(r2+,r0)
+ ld2w r36, @(r2+,r0)
+ ld2w r38, @(r2+,r0)
+ ld2w r40, @(r2+,r0)
+ ld2w r42, @(r2+,r0)
+ ld2w r44, @(r2+,r0)
+ ld2w r46, @(r2+,r0)
+ ld2w r48, @(r2+,r0)
+ ld2w r50, @(r2+,r0)
+ ld2w r52, @(r2+,r0)
+ ld2w r54, @(r2+,r0)
+ ld2w r56, @(r2+,r0)
+ ld2w r58, @(r2+,r0)
+ ld2w r60, @(r2+,r0)
+ ld2w r62, @(r2+,r0)
+
+ ld2w r4, @(r2+,r0)
+ mvtacc a1, r4, r5
+
+ mvfsys r6, psw
+ ld2w r4, @(r2+,r0) /* psw, rpt_c */
+ and r6, r6, 0xfcff /* set rp, md bits from setjmp, leave */
+ and r4, r4, 0x0300 /* all other psw bits the same */
+ or r4, r4, r6
+ mvtsys psw, r4
+ mvtsys rpt_c, r5
+
+ ld2w r4, @(r2+,r0)
+ mvtsys rpt_s, r4
+ mvtsys rpt_e, r5
+
+ ld2w r4, @(r2+,r0)
+ mvtsys mod_s, r4
+ mvtsys mod_e, r5
+
+; Value to return to caller is in R3. If caller attemped to return 0,
+; return 1 instead.
+
+ cmpeq f0, r3, 0 || add r2, r3, r0
+ jmp link || add/tx r2, r2, 1
+.Llongjmp:
+ .size longjmp,.Llongjmp-longjmp
+ .stabs "",36,0,0,.Llongjmp-longjmp
diff --git a/newlib/libc/machine/fr30/Makefile.am b/newlib/libc/machine/fr30/Makefile.am
new file mode 100644
index 00000000000..1c65b9ffe90
--- /dev/null
+++ b/newlib/libc/machine/fr30/Makefile.am
@@ -0,0 +1,12 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/fr30/Makefile.in b/newlib/libc/machine/fr30/Makefile.in
new file mode 100644
index 00000000000..5688a96e9af
--- /dev/null
+++ b/newlib/libc/machine/fr30/Makefile.in
@@ -0,0 +1,297 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = setjmp.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/fr30/aclocal.m4 b/newlib/libc/machine/fr30/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/fr30/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/fr30/configure b/newlib/libc/machine/fr30/configure
new file mode 100755
index 00000000000..56478833272
--- /dev/null
+++ b/newlib/libc/machine/fr30/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=Makefile.am
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/fr30/configure.in b/newlib/libc/machine/fr30/configure.in
new file mode 100644
index 00000000000..a5384f62ad5
--- /dev/null
+++ b/newlib/libc/machine/fr30/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/machine/arm configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(Makefile.am)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/fr30/setjmp.S b/newlib/libc/machine/fr30/setjmp.S
new file mode 100644
index 00000000000..98ac44d48ae
--- /dev/null
+++ b/newlib/libc/machine/fr30/setjmp.S
@@ -0,0 +1,64 @@
+# setjmp/longjmp for FR30. The jmpbuf looks like this:
+#
+# Register jmpbuf offset
+# R8 0x00
+# R9 0x04
+# R10 0x08
+# R11 0x0c
+# R12 0x10
+# R13 0x14
+# R14 (FP) 0x18
+# R15 (SP) 0x1c
+# RP 0x20
+
+.macro save reg
+ st \reg,@r4
+ add #4,r4
+.endm
+
+.macro restore reg
+ ld @r4,\reg
+ add #4,r4
+.endm
+
+
+ .text
+ .global setjmp
+setjmp:
+ save r8
+ save r9
+ save r10
+ save r11
+ save r12
+ save r13
+ save r14
+ save r15
+ mov RP,r5
+ st r5,@r4
+
+# Return 0 to caller.
+ ldi:8 #0,r4
+ ret
+
+ .global longjmp
+longjmp:
+ restore r8
+ restore r9
+ restore r10
+ restore r11
+ restore r12
+ restore r13
+ restore r14
+ restore r15
+ ld @r4,r4
+ mov r4,RP
+
+# If caller attempted to return 0, return 1 instead.
+
+ mov r5,r4
+ or r4,r4
+ bne 1f
+ ldi:8 #1,r4
+ 1:
+ ret
+ \ No newline at end of file
diff --git a/newlib/libc/machine/h8300/Makefile.am b/newlib/libc/machine/h8300/Makefile.am
new file mode 100644
index 00000000000..2ce8319b4e8
--- /dev/null
+++ b/newlib/libc/machine/h8300/Makefile.am
@@ -0,0 +1,13 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = reg_memcpy.S reg_memset.S strcmp.S memcpy.S memset.S \
+ setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/h8300/Makefile.in b/newlib/libc/machine/h8300/Makefile.in
new file mode 100644
index 00000000000..034b29ace5c
--- /dev/null
+++ b/newlib/libc/machine/h8300/Makefile.in
@@ -0,0 +1,299 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = reg_memcpy.S reg_memset.S strcmp.S memcpy.S memset.S \
+ setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = reg_memcpy.o reg_memset.o strcmp.o memcpy.o memset.o \
+setjmp.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/h8300/aclocal.m4 b/newlib/libc/machine/h8300/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/h8300/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/h8300/configure b/newlib/libc/machine/h8300/configure
new file mode 100755
index 00000000000..34f5f6b8221
--- /dev/null
+++ b/newlib/libc/machine/h8300/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=memcpy.S
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/h8300/configure.in b/newlib/libc/machine/h8300/configure.in
new file mode 100644
index 00000000000..013345e006e
--- /dev/null
+++ b/newlib/libc/machine/h8300/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/machine/h8300 configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(memcpy.S)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/h8300/defines.h b/newlib/libc/machine/h8300/defines.h
new file mode 100644
index 00000000000..c6ae3df10c6
--- /dev/null
+++ b/newlib/libc/machine/h8300/defines.h
@@ -0,0 +1,86 @@
+
+#define A0 r0
+#define A0L r0l
+#define A0H r0h
+
+#define A1 r1
+#define A1L r1l
+#define A1H r1h
+
+#define A2 r2
+#define A2L r2l
+#define A2H r2h
+
+#define A3 r3
+#define A3L r3l
+#define A3H r3h
+
+#define S0 r4
+#define S0L r4l
+#define S0H r4h
+
+#define S1 r5
+#define S1L r5l
+#define S1H r5h
+
+#define S2 r6
+#define S2L r6l
+#define S2H r6h
+
+#ifdef __H8300__
+#define MOVP mov.w /* pointers are 16 bits */
+#define ADDP add.w
+#define CMPP cmp.w
+#define PUSHP push
+#define POPP pop
+
+#define A0P r0
+#define A1P r1
+#define A2P r2
+#define A3P r3
+#define S0P r4
+#define S1P r5
+#define S2P r6
+#endif
+
+#ifdef __H8300H__
+#define MOVP mov.l /* pointers are 32 bits */
+#define ADDP add.l
+#define CMPP cmp.l
+#define PUSHP push.l
+#define POPP pop.l
+
+#define A0P er0
+#define A1P er1
+#define A2P er2
+#define A3P er3
+#define S0P er4
+#define S1P er5
+#define S2P er6
+
+#define A0E e0
+#define A1E e1
+#define A2E e2
+#define A3E e3
+#endif
+
+#ifdef __H8300S__
+#define MOVP mov.l /* pointers are 32 bits */
+#define ADDP add.l
+#define CMPP cmp.l
+#define PUSHP push.l
+#define POPP pop.l
+
+#define A0P er0
+#define A1P er1
+#define A2P er2
+#define A3P er3
+#define S0P er4
+#define S1P er5
+#define S2P er6
+
+#define A0E e0
+#define A1E e1
+#define A2E e2
+#define A3E e3
+#endif
diff --git a/newlib/libc/machine/h8300/memcpy.S b/newlib/libc/machine/h8300/memcpy.S
new file mode 100644
index 00000000000..3465ce55885
--- /dev/null
+++ b/newlib/libc/machine/h8300/memcpy.S
@@ -0,0 +1,48 @@
+#include "defines.h"
+
+#ifdef __H8300H__
+ .h8300h
+#endif
+
+#ifdef __H8300S__
+ .h8300s
+#endif
+
+ .global _memcpy
+_memcpy:
+; MOVP @(2/4,r7),A0P ; dst
+; MOVP @(4/8,r7),A1P ; src
+; MOVP @(6/12,r7),A2P ; len
+
+ MOVP A0P,A3P ; keep copy of final dst
+ ADDP A2P,A0P ; point to end of dst
+ CMPP A0P,A3P ; see if anything to do
+ beq quit
+
+ ADDP A2P,A1P ; point to end of src
+
+ ; lets see if we can do this in words
+ or A0L,A2L ; or in the dst address
+ or A3L,A2L ; or the length
+ or A1L,A2L ; or the src address
+ btst #0,A2L ; see if the lsb is zero
+ bne byteloop
+
+wordloop:
+ subs #2,A1P ; point to word
+ mov.w @A1P,A2 ; get word
+ mov.w A2,@-A0P ; save word
+ CMPP A0P,A3P ; at the front again ?
+ bne wordloop
+ rts
+
+byteloop:
+ subs #1,A1P ; point to byte
+ mov.b @A1P,A2L ; get byte
+ mov.b A2L,@-A0P ; save byte
+ CMPP A0P,A3P ; at the front again ?
+ bne byteloop
+
+ ; return with A0 pointing to dst
+quit: rts
+
diff --git a/newlib/libc/machine/h8300/memset.S b/newlib/libc/machine/h8300/memset.S
new file mode 100644
index 00000000000..c12f17b4e39
--- /dev/null
+++ b/newlib/libc/machine/h8300/memset.S
@@ -0,0 +1,51 @@
+#include "defines.h"
+
+#ifdef __H8300H__
+ .h8300h
+#endif
+
+#ifdef __H8300S__
+ .h8300s
+#endif
+
+
+; A0P pointer to cursor
+; A1P thing to copy
+ .global _memset
+
+_memset:
+
+; MOVP @(2/4,r7),A2P ; dst
+; MOVP @(4/8,r7),A1 ; src thing
+; MOVP @(6/12,r7),A3P ; len
+
+ MOVP A2P,A2P
+ beq quit
+
+ ; A3 points to the end of the area
+ MOVP A0P,A3P
+ ADDP A2P,A3P
+
+ ; see if we can do it in words
+ ; by oring in the start of the buffer to the end address
+
+ or A0L,A2L
+ btst #0,A2L
+ bne byteloop
+
+ ; we can do it a word at a time
+
+ mov.b A1L,A1H
+
+wordloop:
+ mov.w A1,@-A3P
+ CMPP A3P,A0P
+ bne wordloop
+quit: rts
+
+byteloop:
+ mov.b A1L,@-A3P
+ CMPP A3P,A0P
+ bne byteloop
+ rts
+
diff --git a/newlib/libc/machine/h8300/reg_memcpy.S b/newlib/libc/machine/h8300/reg_memcpy.S
new file mode 100644
index 00000000000..772a43c2781
--- /dev/null
+++ b/newlib/libc/machine/h8300/reg_memcpy.S
@@ -0,0 +1,33 @@
+#include "defines.h"
+
+#ifdef __H8300H__
+ .h8300h
+#endif
+
+#ifdef __H8300S__
+ .h8300s
+#endif
+
+
+ ; dst A0
+ ; src A1
+ ; len A2
+ .global ___reg_memcpy
+___reg_memcpy:
+
+ MOVP A0P,A3P ; keep copy of result
+ ADDP A2P,A0P ; point to end of dst
+ ADDP A2P,A1P ; point to end of src
+ CMPP A0P,A3P ; see if anything to do
+ beq quit
+
+
+loop: subs #1,A1P ; point to byte
+ mov.b @A1P,A2L ; get byte
+ mov.b A2L,@-A0P ; save byte
+ CMPP A0P,A3P ; at the front again ?
+ bne loop
+
+ ; return with A0 pointing to dst
+quit: rts
+
diff --git a/newlib/libc/machine/h8300/reg_memset.S b/newlib/libc/machine/h8300/reg_memset.S
new file mode 100644
index 00000000000..8e58c5ee898
--- /dev/null
+++ b/newlib/libc/machine/h8300/reg_memset.S
@@ -0,0 +1,32 @@
+#include "defines.h"
+
+#ifdef __H8300H__
+ .h8300h
+#endif
+
+#ifdef __H8300S__
+ .h8300s
+#endif
+
+
+ ; dst A0
+ ; src A1
+ ; len A2
+
+ .global ___reg_memset
+___reg_memset:
+ MOVP A0P,A3P
+ MOVP A2P,A2P
+ beq noset
+
+memloop:
+ mov.b A1L,@A0P
+ adds #1,A0P
+ subs #1,A2P
+ MOVP A2P,A2P
+ bne memloop
+
+noset:
+ MOVP A3P,A0P
+ rts
+
diff --git a/newlib/libc/machine/h8300/setjmp.S b/newlib/libc/machine/h8300/setjmp.S
new file mode 100644
index 00000000000..9e716409507
--- /dev/null
+++ b/newlib/libc/machine/h8300/setjmp.S
@@ -0,0 +1,72 @@
+ .file "setjmp.S"
+
+#ifdef __H8300H__
+ .h8300h
+#endif
+
+#ifdef __H8300S__
+ .h8300s
+#endif
+
+ .section .text
+ .align 2
+ .global _setjmp
+_setjmp:
+#ifdef __H8300H__
+ mov.l er7,@er0
+ mov.l er6,@(4,er0)
+ mov.l er5,@(8,er0)
+ mov.l er4,@(12,er0)
+ mov.l @sp,er1
+ mov.l er1,@(16,er0)
+#else
+#ifdef __H8300S__
+ mov.l er7,@er0
+ mov.l er6,@(4,er0)
+ mov.l er5,@(8,er0)
+ mov.l er4,@(12,er0)
+ mov.l @sp,er1
+ mov.l er1,@(16,er0)
+#else
+ mov.w r7,@r0
+ mov.w r6,@(2,r0)
+ mov.w r5,@(4,r0)
+ mov.w r4,@(6,r0)
+ mov.w @sp,r1
+ mov.w r1,@(8,r0)
+#endif
+#endif
+ sub.w r0,r0
+ rts
+
+ .global _longjmp
+_longjmp:
+#ifdef __H8300H__
+ mov.l @er0+,er7
+ mov.l @er0+,er6
+ mov.l @er0+,er5
+ mov.l @er0+,er4
+ mov.l @er0,er2
+ mov.l er2,@sp
+#else
+#ifdef __H8300S__
+ mov.l @er0+,er7
+ mov.l @er0+,er6
+ mov.l @er0+,er5
+ mov.l @er0+,er4
+ mov.l @er0,er2
+ mov.l er2,@sp
+#else
+ mov.w @r0+,r7
+ mov.w @r0+,r6
+ mov.w @r0+,r5
+ mov.w @r0+,r4
+ mov.w @r0,r2
+ mov.w r2,@sp
+#endif
+#endif
+ mov.w r1,r0
+ bne .L1
+ mov.w #1,r0
+.L1:
+ rts
diff --git a/newlib/libc/machine/h8300/strcmp.S b/newlib/libc/machine/h8300/strcmp.S
new file mode 100644
index 00000000000..8dec7c0b901
--- /dev/null
+++ b/newlib/libc/machine/h8300/strcmp.S
@@ -0,0 +1,45 @@
+#include "defines.h"
+
+#ifdef __H8300H__
+ .h8300h
+#endif
+
+#ifdef __H8300S__
+ .h8300s
+#endif
+
+ .section .text
+ .align 2
+ .global _strcmp
+_strcmp:
+ MOVP A0P,A2P
+ MOVP A1P,A3P
+.L5:
+ mov.b @A2P+,A1L
+ beq .L3
+ mov.b @A3P+,A0L
+ cmp.b A0L,A1L
+ beq .L5
+ subs #1,A3P
+.L3:
+ mov.b @(-1,A2P),A0L
+ mov.b @A3P,A1L
+ sub.b A1L,A0L
+ ; We have to sign extend the result to 32bits just in case
+ ; we are using 32bit integers.
+#ifdef __H8300H__
+ exts.w r0
+ exts.l er0
+#else
+#ifdef __H8300S__
+ exts.w r0
+ exts.l er0
+#else
+ bld #7,r0l
+ subx r0h,r0h
+ subx r1l,r1l
+ subx r1h,r1h
+#endif
+#endif
+ rts
+ .end
diff --git a/newlib/libc/machine/h8500/Makefile.am b/newlib/libc/machine/h8500/Makefile.am
new file mode 100644
index 00000000000..2d881a69a31
--- /dev/null
+++ b/newlib/libc/machine/h8500/Makefile.am
@@ -0,0 +1,12 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = divsi3.c mulsi3.c divhi3.S shifts.c cmpsi.c psi.S setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/h8500/Makefile.in b/newlib/libc/machine/h8500/Makefile.in
new file mode 100644
index 00000000000..a3956ce3bc6
--- /dev/null
+++ b/newlib/libc/machine/h8500/Makefile.in
@@ -0,0 +1,298 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = divsi3.c mulsi3.c divhi3.S shifts.c cmpsi.c psi.S setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = divsi3.o mulsi3.o divhi3.o shifts.o cmpsi.o psi.o \
+setjmp.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/h8500/aclocal.m4 b/newlib/libc/machine/h8500/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/h8500/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/h8500/cmpsi.c b/newlib/libc/machine/h8500/cmpsi.c
new file mode 100644
index 00000000000..3357343f559
--- /dev/null
+++ b/newlib/libc/machine/h8500/cmpsi.c
@@ -0,0 +1,126 @@
+
+union u
+{
+ struct
+ {
+ short int msw;
+ unsigned short lsw;
+ } w;
+ long l;
+};
+
+union us
+{
+ struct
+ {
+ short int msw;
+ unsigned short lsw;
+ } w;
+ long l;
+};
+
+int
+__cmpsi2(long arga,
+ short int msw_b, unsigned short int lsw_b)
+{
+ union u u;
+ u.l = arga;
+
+ if (u.w.msw != msw_b)
+ {
+ if (u.w.msw < msw_b) return 0;
+ return 2;
+ }
+ if (u.w.lsw != lsw_b)
+ {
+ if (u.w.lsw < lsw_b) return 0;
+ return 2;
+ }
+ return 1;
+}
+
+
+int
+__ucmpsi2(unsigned long arga,
+ unsigned short int msw_b, unsigned short int lsw_b)
+{
+ union us u;
+ u.l = arga;
+
+ if (u.w.msw != msw_b)
+ {
+ if (u.w.msw < msw_b) return 0;
+ return 2;
+ }
+ if (u.w.lsw != lsw_b)
+ {
+ if (u.w.lsw < lsw_b) return 0;
+ return 2;
+ }
+ return 1;
+}
+
+
+union pu
+{
+ struct {
+ char ignore;
+ signed char msb;
+ unsigned short lsw;
+ } w;
+ long l;
+};
+
+union pun
+{
+ struct {
+ char ignore;
+ unsigned char msb;
+ unsigned short lsw;
+ } w;
+ long l;
+};
+
+
+int
+__cmppsi2(long arga, long argb)
+{
+ union pu a;
+ union pu b;
+ a.l = arga;
+ b.l = argb;
+
+ if (a.w.msb != b.w.msb)
+ {
+ if (a.w.msb < b.w.msb) return 0;
+ return 2;
+ }
+ if (a.w.lsw != b.w.lsw)
+ {
+ if (a.w.lsw < b.w.lsw) return 0;
+ return 2;
+ }
+ return 1;
+}
+
+
+int
+__ucmppsi2(long arga, long argb)
+{
+ union pun a;
+ union pun b;
+ a.l = arga;
+ b.l = argb;
+
+ if (a.w.msb != b.w.msb)
+ {
+ if (a.w.msb < b.w.msb) return 0;
+ return 2;
+ }
+ if (a.w.lsw != b.w.lsw)
+ {
+ if (a.w.lsw < b.w.lsw) return 0;
+ return 2;
+ }
+ return 1;
+}
diff --git a/newlib/libc/machine/h8500/configure b/newlib/libc/machine/h8500/configure
new file mode 100755
index 00000000000..d862b224743
--- /dev/null
+++ b/newlib/libc/machine/h8500/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=cmpsi.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/h8500/configure.in b/newlib/libc/machine/h8500/configure.in
new file mode 100644
index 00000000000..e51a5f42461
--- /dev/null
+++ b/newlib/libc/machine/h8500/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/machine/h8500 configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(cmpsi.c)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/h8500/divhi3.S b/newlib/libc/machine/h8500/divhi3.S
new file mode 100644
index 00000000000..ee313511036
--- /dev/null
+++ b/newlib/libc/machine/h8500/divhi3.S
@@ -0,0 +1,54 @@
+ .title "H8/500 DIVIDE"
+!! 2 byte integer Divide code for the H8/500
+!!
+!! Steve Chamberlain
+!! sac@cygnus.com
+!!
+!!
+
+!! args in r1 and r4, result in r0/r1
+
+#if __CODE__==32
+#define RET prts
+#else
+#define RET rts
+#endif
+ .global __divmodhi4
+
+
+__divmodhi4:
+ clr.w r0
+ tst.w r1 ! neg arg1
+ bpl PU
+
+
+ neg.w r1
+NU: tst.w r4
+ bmi NN
+
+NP: divxu.w r4,r0
+ neg.w r0
+ neg.w r1
+ RET
+
+NN: neg.w r4
+ divxu.w r4,r0
+ neg.w r0 ! get rem sign right
+ RET
+
+
+PU:
+ tst.w r4
+ bpl PP
+
+
+PN: neg.w r4
+ divxu.w r4,r0
+ neg.w r1
+ RET
+
+PP: divxu.w r4,r0 ! rem in r0, q in r1
+ RET
+
+
+
diff --git a/newlib/libc/machine/h8500/divsi3.c b/newlib/libc/machine/h8500/divsi3.c
new file mode 100644
index 00000000000..e19855d0a88
--- /dev/null
+++ b/newlib/libc/machine/h8500/divsi3.c
@@ -0,0 +1,134 @@
+
+#define divnorm(num, den, sign) \
+{ \
+ if (num < 0) \
+ { \
+ num = -num; \
+ sign = 1; \
+ } \
+ else \
+ { \
+ sign = 0; \
+ } \
+ \
+ if (den < 0) \
+ { \
+ den = - den; \
+ sign = 1 - sign; \
+ } \
+}
+
+
+
+
+
+unsigned long
+divmodsi4(int modwanted, unsigned long num, unsigned long den)
+{
+ long int bit = 1;
+ long int res = 0;
+ long prevden;
+ while (den < num && bit && !(den & (1L<<31)))
+ {
+ den <<=1;
+ bit <<=1;
+ }
+ while (bit)
+ {
+ if (num >= den)
+ {
+ num -= den;
+ res |= bit;
+ }
+ bit >>=1;
+ den >>=1;
+ }
+ if (modwanted) return num;
+ return res;
+}
+
+
+#define exitdiv(sign, res) if (sign) { res = - res;} return res;
+
+long
+__modsi3 (long numerator, long denominator)
+{
+ int sign = 0;
+ long dividend;
+ long modul;
+
+
+ if (numerator < 0)
+ {
+ numerator = -numerator;
+ sign = 1;
+ }
+ if (denominator < 0)
+ {
+ denominator = -denominator;
+ }
+
+ modul = divmodsi4 (1, numerator, denominator);
+ if (sign)
+ return - modul;
+ return modul;
+}
+
+
+long
+__divsi3 (long numerator, long denominator)
+{
+ int sign;
+ long dividend;
+ long modul;
+ divnorm (numerator, denominator, sign);
+
+ dividend = divmodsi4 (0, numerator, denominator);
+ exitdiv (sign, dividend);
+}
+
+long
+__umodsi3 (unsigned long numerator, unsigned long denominator)
+{
+ long dividend;
+ long modul;
+
+modul= divmodsi4 (1, numerator, denominator);
+ return modul;
+}
+
+long
+__udivsi3 (unsigned long numerator, unsigned long denominator)
+{
+ int sign;
+ long dividend;
+ long modul;
+ dividend = divmodsi4 (0, numerator, denominator);
+ return dividend;
+}
+
+
+
+
+
+
+#ifdef TEST
+
+
+
+main ()
+{
+ long int i, j, k, m;
+ for (i = -10000; i < 10000; i += 8)
+ {
+ for (j = -10000; j < 10000; j += 11)
+ {
+ k = i / j;
+ m = __divsi3 (i, j);
+ if (k != m)
+ printf ("fail %d %d %d %d\n", i, j, k, m);
+ }
+ }
+}
+
+#endif
diff --git a/newlib/libc/machine/h8500/mulhi3.c b/newlib/libc/machine/h8500/mulhi3.c
new file mode 100644
index 00000000000..869e131ea77
--- /dev/null
+++ b/newlib/libc/machine/h8500/mulhi3.c
@@ -0,0 +1,21 @@
+
+
+short
+__mulhi3(short a, short b)
+{
+ int r;
+
+ r = 0;
+ while (a)
+ {
+ if (a & 1)
+ {
+ r += b;
+ a>>=1;
+ b<<=1;
+ }
+ }
+ return r;
+}
+
+
diff --git a/newlib/libc/machine/h8500/mulsi3.c b/newlib/libc/machine/h8500/mulsi3.c
new file mode 100644
index 00000000000..a923e8db5ec
--- /dev/null
+++ b/newlib/libc/machine/h8500/mulsi3.c
@@ -0,0 +1,72 @@
+
+typedef union {
+ struct {
+ unsigned int msw;
+ unsigned int lsw;
+} s;
+ long v;
+} u;
+
+long __mulsi3(u a, u b)
+{
+ int s;
+ long pp1;
+ long pp2;
+ long r;
+
+ if (a.s.msw == 0 &&
+ b.s.msw == 0)
+ {
+ return (long)a.s.lsw * b.s.lsw;
+ }
+
+ s = 0;
+ if (a.v < 0)
+ {
+ s = 1;
+ a.v = - a.v;
+ }
+ if (b.v < 0)
+ {
+ s = 1-s;
+ b.v = - b.v;
+ }
+
+ pp1 = (long)a.s.lsw * b.s.lsw ;
+ pp2 = (long)a.s.lsw * b.s.msw + (long)a.s.msw * b.s.lsw;
+
+ pp1 += pp2 << 16;
+
+ if (s)
+ {
+ pp1 = -pp1;
+ }
+ return pp1;
+}
+long __mulpsi3(long a, long b)
+{
+ return a*b;
+}
+
+
+short
+__mulhi3(short a, short b)
+{
+ int r;
+
+ r = 0;
+ while (a)
+ {
+ if (a & 1)
+ {
+ r += b;
+
+ }
+ b<<=1;
+ a>>=1;
+
+ }
+ return r;
+}
+
+
diff --git a/newlib/libc/machine/h8500/negsi2.c b/newlib/libc/machine/h8500/negsi2.c
new file mode 100644
index 00000000000..c5b31b19dc6
--- /dev/null
+++ b/newlib/libc/machine/h8500/negsi2.c
@@ -0,0 +1,7 @@
+
+
+long
+__negsi2(long x)
+{
+ return ~x+1;
+}
diff --git a/newlib/libc/machine/h8500/psi.S b/newlib/libc/machine/h8500/psi.S
new file mode 100644
index 00000000000..47c8183291e
--- /dev/null
+++ b/newlib/libc/machine/h8500/psi.S
@@ -0,0 +1,136 @@
+/* convert psi to si inplace
+
+Note that `fp' below isn't a segment register.
+It's r6, the frame pointer. */
+
+#if __CODE__==32
+#define RET prts
+#else
+#define RET rts
+#endif
+
+#define EXTPSISI_SN(r_msw,r_lsw,sp) ; \
+ .global __extpsisi##r_msw ; \
+__extpsisi##r_msw: ; \
+ mov r_msw,r_lsw ; \
+ stc sp,r_msw ; \
+ RET
+
+ EXTPSISI_SN(r2,r3,dp)
+ EXTPSISI_SN(r4,r5,ep)
+
+
+#define ADDPSI_AR_RN(sr,an,r_msw,r_lsw) \
+ .global __addpsi##an##r_msw ; \
+__addpsi##an##r_msw: ; \
+ stc sr,@-sp ; \
+ add an,r_lsw ; \
+ addx @sp+,r_msw ; \
+ RET
+
+ ADDPSI_AR_RN(dp,r2,r0,r1)
+ ADDPSI_AR_RN(dp,r2,r3,r4)
+ ADDPSI_AR_RN(ep,r4,r0,r1)
+ ADDPSI_AR_RN(ep,r4,r1,r2)
+ ADDPSI_AR_RN(ep,r4,r3,r4)
+ ADDPSI_AR_RN(ep,r4,r5,fp)
+
+ ADDPSI_AR_RN(tp,fp,r0,r1)
+
+
+#define ADDPSI_RN_AR(r_msw,r_lsw,sr,an,t_msw,t_lsw) \
+ .global __addpsi##r_msw##an ; \
+__addpsi##r_msw##an: ; \
+ mov.w t_msw,@-sp ; \
+ mov.w t_lsw,@-sp ; \
+ stc sr,t_msw ; \
+ mov an,t_lsw ; \
+ add r_lsw,t_lsw ; \
+ addx r_msw,t_msw ; \
+ ldc t_msw,sr ; \
+ mov.w t_lsw,an ; \
+ mov.w @sp+,t_lsw ; \
+ mov.w @sp+,t_msw ; \
+ RET
+
+ ADDPSI_RN_AR(r0,r1,dp,r2,r4,r5)
+ ADDPSI_RN_AR(r0,r1,ep,r4,r2,r3)
+
+
+
+#define EXTPSIHI_RN_RN(rm,r_msw,r_lsw) ; \
+ .global __extpsihi##rm##r_msw ; \
+__extpsihi##rm##r_msw: ; \
+ mov rm,r_lsw ; \
+ clr.w r_msw ; \
+ RET
+
+ EXTPSIHI_RN_RN(r3,r0,r1)
+ EXTPSIHI_RN_RN(r4,r0,r1)
+ EXTPSIHI_RN_RN(r5,r0,r1)
+ EXTPSIHI_RN_RN(r2,r0,r1)
+
+
+
+/* ifdefed out, because gcc doesn't like the # character in the above
+ macro. The macro expands into an assembly languange comment anyways,
+ so it serves no useful purpose. */
+#if 0
+#define EXTPSIHI_RN_SN(rm,r_msw,r_lsw) ; \
+ .global __extpsihi##rm##r_lsw ; \
+__extpsihi##rm##r_lsw: ; \
+ mov rm,r_lsw ; \
+ ldc \#0,r_msw ; \
+ RET
+
+ EXTPSIHI_RN_SN(r0,dp,r2)
+ EXTPSIHI_RN_SN(r0,ep,r4)
+ EXTPSIHI_RN_SN(r1,dp,r2)
+ EXTPSIHI_RN_SN(r1,ep,r4)
+ EXTPSIHI_RN_SN(r3,dp,r2)
+ EXTPSIHI_RN_SN(r3,ep,r4)
+ EXTPSIHI_RN_SN(r5,dp,r2)
+ EXTPSIHI_RN_SN(r5,ep,r4)
+ EXTPSIHI_RN_SN(r2,ep,r4)
+#endif
+
+
+#define EXTPSISI_RN(r_msw,r_lsw) ; \
+ .global __extpsisi##r_msw ; \
+__extpsisi##r_msw: ; \
+ RET
+
+ EXTPSISI_RN(r0,r1)
+
+
+
+#define ADDPSI_SA_SB(sa,ra,sb,rb) ; \
+ .global __addpsi##ra##rb ; \
+__addpsi##ra##rb: ; \
+ mov.w r0,@-sp ; \
+ mov.w r1,@-sp ; \
+ stc sa,r0 ; \
+ stc sb,r1 ; \
+ add.w ra,rb ; \
+ addx r0,r1 ; \
+ ldc r1,sb ; \
+ mov.w @sp+,r1 ; \
+ mov.w @sp+,r0 ; \
+ RET
+
+
+ ADDPSI_SA_SB(dp,r2,ep,r4)
+ ADDPSI_SA_SB(ep,r4,dp,r2)
+ ADDPSI_SA_SB(tp,fp,dp,r2)
+ ADDPSI_SA_SB(tp,fp,ep,r4)
+
+ ADDPSI_SA_SB(dp,r2,dp,r2)
+
+
+
+ .global __addpsir0r0
+__addpsir0r0:
+ add.w r1,r1
+ addx r0,r0
+ RET
+
diff --git a/newlib/libc/machine/h8500/setjmp.S b/newlib/libc/machine/h8500/setjmp.S
new file mode 100644
index 00000000000..4b25fc0c928
--- /dev/null
+++ b/newlib/libc/machine/h8500/setjmp.S
@@ -0,0 +1,27 @@
+!
+ .file "setjmp.S"
+ .section .text
+
+ .global _setjmp
+_setjmp:
+ mov.w r7,@r0+
+ mov.w r6,@r0+
+ mov.w r5,@r0+
+ mov.w @sp,r1
+ mov.w r1,@r0
+ clr.w r0
+ rts
+
+ .global _longjmp
+_longjmp:
+ mov.w @r0+,r7
+ mov.w @r0+,r6
+ mov.w @r0+,r5
+ mov.w @r0,r2
+ mov.w r2,@sp
+ mov.w r1,r0
+ tst.w r0
+ bne .L1
+ mov.w #1,r0
+.L1:
+ rts
diff --git a/newlib/libc/machine/h8500/shifts.c b/newlib/libc/machine/h8500/shifts.c
new file mode 100644
index 00000000000..5b8106931a2
--- /dev/null
+++ b/newlib/libc/machine/h8500/shifts.c
@@ -0,0 +1,45 @@
+
+
+int __ashrhi3(int a,int b)
+{
+ return a>>b;
+}
+
+int __ashlhi3(int a,int b)
+{
+ return a<<b;
+}
+
+unsigned __lshlhi3(unsigned int a,int b)
+{
+ return a<<b;
+}
+
+unsigned __lshrhi3(unsigned int a,int b)
+{
+ return a>>b;
+}
+
+
+
+
+long __ashrsi3(long a, int b)
+{
+ return a>>b;
+}
+
+long __ashlsi3(long a,int b)
+{
+ return a<<b;
+}
+
+unsigned __lshlsi3(unsigned long a,int b)
+{
+ return a<<b;
+}
+
+unsigned __lshrsi3(unsigned long a,int b)
+{
+ return a>>b;
+}
+
diff --git a/newlib/libc/machine/hppa/DEFS.h b/newlib/libc/machine/hppa/DEFS.h
new file mode 100644
index 00000000000..9c0aa1e06b2
--- /dev/null
+++ b/newlib/libc/machine/hppa/DEFS.h
@@ -0,0 +1,160 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include "pcc_prefix.s"
+
+#define BLANK
+#define BANNER(str) BLANK .VERSION str
+#define ENTRY(Name) BLANK M_ENTRY (Name,PROF_/**/Name)
+#define ENTRYC(Name) BLANK M_ENTRYC(Name,PROF_/**/Name)
+#define EXIT(Name) BLANK M_EXIT (Name,PROF_/**/Name)
+#define EXITC(Name) BLANK M_EXITC (Name,PROF_/**/Name)
+
+#ifdef PROF
+
+;
+; All four argument registers are saved into caller save registers
+; and restored after the call to _mcount. This is possible because
+; the mcount routine does not modify them, so we can. Mcount takes
+; 3 arguments; the first argument is the incoming 'rp', the second
+; is the starting address of the profiled routine, and the third is
+; the address of the PROF label (which is where mcount stores the
+; profile data).
+;
+#define M_ENTRY(name,prof) \
+ .SPACE $TEXT$ !\
+ .SUBSPA $CODE$ !\
+ .label name !\
+ .PROC !\
+ .CALLINFO CALLER,SAVE_RP !\
+ .ENTRY !\
+ stw rp,-20(sp) !\
+ ldo 48(sp),sp !\
+ or arg0,r0,r19 !\
+ or arg1,r0,r20 !\
+ or arg2,r0,r21 !\
+ or arg3,r0,r22 !\
+ or rp,r0,arg0 !\
+ ldil L%name,r1 !\
+ ldo R%name(r1),arg1 !\
+ addil L%prof-$global$,dp !\
+ bl _mcount,rp !\
+ ldo R%prof-$global$(r1),arg2 !\
+ ldw -68(sp),rp !\
+ ldo -48(sp),sp !\
+ or r19,r0,arg0 !\
+ or r20,r0,arg1 !\
+ or r21,r0,arg2 !\
+ or r22,r0,arg3 !\
+
+
+#define M_ENTRYC(name,prof) \
+ .SPACE $TEXT$ !\
+ .SUBSPA $CODE$ !\
+ .label name !\
+ .PROC !\
+ .CALLINFO CALLER,SAVE_RP !\
+ .ENTRY !\
+ stw rp,-20(sp) !\
+ ldo 128(sp),sp !\
+ or arg0,r0,r19 !\
+ or arg1,r0,r20 !\
+ or arg2,r0,r21 !\
+ or arg3,r0,r22 !\
+ or rp,r0,arg0 !\
+ ldil L%name,r1 !\
+ ldo R%name(r1),arg1 !\
+ addil L%prof-$global$,dp !\
+ bl _mcount,rp !\
+ ldo R%prof-$global$(r1),arg2 !\
+ ldw -148(sp),rp !\
+ or r19,r0,arg0 !\
+ or r20,r0,arg1 !\
+ or r21,r0,arg2 !\
+ or r22,r0,arg3 !\
+
+;
+; The HPUX profiler uses a word for each entrypoint to store the profiling
+; information. The setup code passes the address to the _mcount routine.
+; The EXIT macro defines a label (PROF_foo), and a word of storage.
+;
+#define M_EXIT(name,prof) \
+ bv,n r0(rp) !\
+ .EXIT !\
+ .PROCEND !\
+ .EXPORT name,ENTRY !\
+ .SPACE $PRIVATE$ !\
+ .SUBSPA $DATA$ !\
+ .label prof !\
+ .WORD 0 !\
+ .IMPORT $global$,DATA !\
+ .IMPORT _mcount,CODE
+
+#define M_EXITC(name,prof) \
+ bv r0(rp) !\
+ ldo -128(sp),sp !\
+ .EXIT !\
+ .PROCEND !\
+ .EXPORT name,ENTRY !\
+ .SPACE $PRIVATE$ !\
+ .SUBSPA $DATA$ !\
+ .label prof !\
+ .WORD 0 !\
+ .IMPORT $global$,DATA !\
+ .IMPORT _mcount,CODE
+
+#else /* NOT profiling */
+
+#define M_ENTRY(name,prof) \
+ .SPACE $TEXT$ !\
+ .SUBSPA $CODE$ !\
+ .label name !\
+ .PROC !\
+ .CALLINFO !\
+ .ENTRY
+
+#define M_ENTRYC(name,prof) \
+ .SPACE $TEXT$ !\
+ .SUBSPA $CODE$ !\
+ .label name !\
+ .PROC !\
+ .CALLINFO CALLER,SAVE_RP !\
+ .ENTRY !\
+ stw rp,-20(sp) !\
+ ldo 128(sp),sp
+
+#define M_EXIT(name,prof) \
+ bv,n r0(rp) !\
+ .EXIT !\
+ .PROCEND !\
+ .EXPORT name,ENTRY
+
+#define M_EXITC(name,prof) \
+ ldw -148(sp),rp !\
+ bv r0(rp) !\
+ ldo -128(sp),sp !\
+ .EXIT !\
+ .PROCEND !\
+ .EXPORT name,ENTRY
+
+#define ENTRY(Name) BLANK M_ENTRY (Name,PROF_/**/Name)
+#define ENTRYC(Name) BLANK M_ENTRYC(Name,PROF_/**/Name)
+#define EXIT(Name) BLANK M_EXIT (Name,PROF_/**/Name)
+#define EXITC(Name) BLANK M_EXITC (Name,PROF_/**/Name)
+
+
+#endif
diff --git a/newlib/libc/machine/hppa/Makefile.am b/newlib/libc/machine/hppa/Makefile.am
new file mode 100644
index 00000000000..413cd722aa8
--- /dev/null
+++ b/newlib/libc/machine/hppa/Makefile.am
@@ -0,0 +1,14 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ memchr.S memcmp.S memcpy.S memset.S setjmp.S strcat.S strcmp.S \
+ strcpy.S strlen.S strncat.S strncmp.S strncpy.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/hppa/Makefile.in b/newlib/libc/machine/hppa/Makefile.in
new file mode 100644
index 00000000000..7fa027195fd
--- /dev/null
+++ b/newlib/libc/machine/hppa/Makefile.in
@@ -0,0 +1,300 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ memchr.S memcmp.S memcpy.S memset.S setjmp.S strcat.S strcmp.S \
+ strcpy.S strlen.S strncat.S strncmp.S strncpy.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = memchr.o memcmp.o memcpy.o memset.o setjmp.o strcat.o \
+strcmp.o strcpy.o strlen.o strncat.o strncmp.o strncpy.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/hppa/aclocal.m4 b/newlib/libc/machine/hppa/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/hppa/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/hppa/configure b/newlib/libc/machine/hppa/configure
new file mode 100755
index 00000000000..5377ef3aa2c
--- /dev/null
+++ b/newlib/libc/machine/hppa/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=memchr.S
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/hppa/configure.in b/newlib/libc/machine/hppa/configure.in
new file mode 100644
index 00000000000..59ec18d3afa
--- /dev/null
+++ b/newlib/libc/machine/hppa/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/machine/hppa configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(memchr.S)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/hppa/memchr.S b/newlib/libc/machine/hppa/memchr.S
new file mode 100644
index 00000000000..1cca3e5e886
--- /dev/null
+++ b/newlib/libc/machine/hppa/memchr.S
@@ -0,0 +1,48 @@
+/*
+ * (c) Copyright 1986 HEWLETT-PACKARD COMPANY
+ *
+ * To anyone who acknowledges that this file is provided "AS IS"
+ * without any express or implied warranty:
+ * permission to use, copy, modify, and distribute this file
+ * for any purpose is hereby granted without fee, provided that
+ * the above copyright notice and this notice appears in all
+ * copies, and that the name of Hewlett-Packard Company not be
+ * used in advertising or publicity pertaining to distribution
+ * of the software without specific, written prior permission.
+ * Hewlett-Packard Company makes no representations about the
+ * suitability of this software for any purpose.
+ */
+
+/* SPECTRUM_ID: @(#)memchr.s 37.4 86/04/23 */
+/*
+ * memchr(s, c, n)
+ *
+ * returns pointer to first occurrence of char c
+ * in first n characters of memory area s,
+ * or null if c does not occur.
+ */
+
+#include "DEFS.h"
+
+#define FROM arg0
+#define CHAR arg1
+#define COUNT arg2
+#define TEMP1 r19
+
+ENTRY(memchr)
+ comb,<= COUNT,r0,memchrexit /* return if count is zero */
+ copy r0,ret0 /* null if c not found in n chars */
+ depi 0,23,24,CHAR /* make char unsigned */
+
+ ldbs,ma 1(FROM),TEMP1
+memchrloop:
+ comb,=,n TEMP1,CHAR,memchrequal
+ addib,<> -1,COUNT,memchrloop
+ ldbs,ma 1(FROM),TEMP1
+ b,n memchrexit
+
+memchrequal:
+ ldo -1(FROM),ret0
+
+memchrexit:
+EXIT(memchr)
diff --git a/newlib/libc/machine/hppa/memcmp.S b/newlib/libc/machine/hppa/memcmp.S
new file mode 100644
index 00000000000..babb2076153
--- /dev/null
+++ b/newlib/libc/machine/hppa/memcmp.S
@@ -0,0 +1,183 @@
+/*
+ * (c) Copyright 1986 HEWLETT-PACKARD COMPANY
+ *
+ * To anyone who acknowledges that this file is provided "AS IS"
+ * without any express or implied warranty:
+ * permission to use, copy, modify, and distribute this file
+ * for any purpose is hereby granted without fee, provided that
+ * the above copyright notice and this notice appears in all
+ * copies, and that the name of Hewlett-Packard Company not be
+ * used in advertising or publicity pertaining to distribution
+ * of the software without specific, written prior permission.
+ * Hewlett-Packard Company makes no representations about the
+ * suitability of this software for any purpose.
+ */
+
+/* memcmp(s1, s2, n) */
+/* returns integer: < 0 iff s1 lexicographically less than s2 */
+/* > 0 iff s1 lexicographically greater than s2 */
+/* = 0 iff s1 lexicographically equal to s2 */
+/* = 0 iff s1 lexicographically equal to s2 */
+/* quit after n charachters */
+#ifndef _NAMESPACE_CLEAN
+#define NOSECDEF /* prevents _memcmp from becoming primary entry */
+#endif
+
+#include "DEFS.h"
+
+#define s1 26
+#define s2 25
+#define tmp1 19
+#define s2word 20
+#define tmp3 21
+#define tmp7 22
+#define s1word 29
+#define save 1
+#define tmp6 23
+#define tmp5 28
+#define count 24
+
+ENTRY(memcmp)
+ combt,<,n r0,count,search /*N <= 0 yields equality */
+ b done /**/
+ copy 0,ret0 /*return 0 (DELAY SLOT) */
+search: combf,=,n s1,s2,findout /*s1 != s2? */
+ b done
+ copy 0,ret0 /*return 0 (delay slot) */
+findout:
+ comibf,=,n 0,s1,checks1 /*s1 == NULL? */
+ ldbs 0(0,s2),ret0 /**/
+ b done /*quit */
+ sub 0,ret0,ret0 /*ret0 <- -*s2 */
+checks1:
+ comibf,=,n 0,s2,checkitout /*s2 == NULL? */
+ b done /* quit */
+ ldbs 0(0,s1),28 /* return *s1 */
+
+checkitout:
+ extru s2,31,2,tmp1 /* Extract the low two bits of the s2. */
+ extru s1,31,2,tmp5 /* Extract the low two bits of the s1 */
+ sub,= tmp5,tmp1,tmp3 /* Are s1 & s2 aligned with each other? */
+ b not_aligned /* It's more complicated (not_aligned) */
+ dep 0,31,2,s1 /* Compute word address of s1 (DELAY SLOT) */
+ dep 0,31,2,s2 /* Compute word address of s2 */
+ ldwm 4(0,s1),s1word /* get next s1 word s1+=4 */
+ combt,= tmp5,r0,skipmask /* skip masking, if we can */
+ ldwm 4(0,s2),s2word /* get next s2 word s2+=4 (DELAY SLOT) */
+ add tmp5,count,count /* bump count by the number of bytes */
+ /* we are going to mask */
+ sh3add tmp5,r0,save /* save now has number of bits to mask */
+ mtctl save,11
+ zvdepi -2,32,save /* load save with proper mask */
+ or save,s1word,s1word /* mask s1word (s1) */
+ or save,s2word,s2word /* mask s2word (s2) */
+
+
+skipmask:
+ combt,=,n s1word,s2word,checkN /* We may be done */
+
+checkbyte:
+ extru s1word,7,8,tmp3 /* get first byte (character) */
+ckbyte2: extru s2word,7,8,tmp7 /* get first byte (character) */
+ combf,= tmp3,tmp7,done /* quit if first byte is not equal */
+ sub tmp3,tmp7,ret0 /* return difference (delay slot) */
+ addibt,<=,n -1,count,done /* have we checked N chars? ret0 == 0 */
+ extru s1word,15,8,tmp3 /* get second byte (character) */
+ extru s2word,15,8,tmp7 /* get second byte (character) */
+ combf,= tmp3,tmp7,done /* quit if second byte is not equal */
+ sub tmp3,tmp7,ret0 /* return difference (delay slot) */
+ addibt,<=,n -1,count,done /* have we checked N chars? */
+ extru s1word,23,8,tmp3 /* get third byte (character) */
+ extru s2word,23,8,tmp7 /* get third byte (character) */
+ combf,= tmp3,tmp7,done /* done if third byte is not equal */
+ sub tmp3,tmp7,ret0 /* return difference (delay slot) */
+ addibt,<=,n -1,count,done /* have we checked N chars? */
+ extru s1word,31,8,tmp3 /* get last byte (character) */
+ extru s2word,31,8,tmp7 /* get last byte (character) */
+ b done /* if we reach this point we know that */
+ sub tmp3,tmp7,ret0 /* the last character in the word is */
+ /* where the difference is, so return */
+ /* the difference and we're outta here */
+
+
+checkN:
+ addibt,<=,n -4,count,zero /* have we checked N chars? */
+ ldwm 4(0,s2),s2word /* get next s2 word s2+=4 */
+ b skipmask /* keep checking */
+ ldwm 4(0,s1),s1word /* get next s1 word s1+=4 */
+
+
+not_aligned:
+ dep r0,31,2,s2 /* Compute word address of s2 */
+ combt,<,n r0,tmp3,shifts1 /* Do we shift s1 or s2 */
+ sh3add tmp3,r0,tmp3 /* eight bits per byte so mul by 8 */
+ ldwm 4(0,s1),s1word /* get first word of s1 */
+ ldwm 4(0,s2),s2word /* get first word or s2 */
+ combt,=,n r0,tmp5,masks2 /* Do we need to mask beginning of s1 */
+ add tmp5,count,count /* bump count by the number of bytes */
+ /* we are going to mask */
+ sh3add tmp5,r0,save /* save now has number of bits to mask */
+ mtctl save,11
+ zvdepi -2,32,save /* load save with proper mask */
+ or save,s1word,s1word /**/
+masks2: sh3add tmp1,r0,save /* save now has number of bits to mask */
+ mtctl save,11
+ zvdepi -2,32,save /* load save with proper mask */
+ or save,s2word,s2word /**/
+ subi 4,tmp1,tmp1 /* tmp1 now has the number of byte that */
+ /* are valid in s2word before the vshd */
+ mtctl tmp3,11 /* Move shift amount to CR11 */
+more: combt,<=,n count,tmp1,chunk1 /* Can we do the vshd? */
+ ldwm 4(0,s2),tmp7 /* load second word to enable us to shift */
+ vshd s2word,tmp7,s2word /**/
+ combf,=,n s1word,s2word,ckbyte2 /**/
+ extru s1word,7,8,tmp3 /* get first byte (DELAY SLOT) */
+ addibt,<=,n -4,count,zero /* have we checked N chars? */
+ copy tmp7,s2word /**/
+ b more /* keep checking */
+ ldwm 4(0,s1),s1word /* get next s1 (DELAY SLOT) */
+
+chunk1:
+ vshd s2word,r0,s2word /* do an arithmetic shift left to position data */
+ b ckbyte2 /**/
+ extru s1word,7,8,tmp3 /**/
+
+
+shifts1:
+ sh3add tmp3,r0,tmp3 /* eight bits per byte so mul by 8 */
+ sub r0,tmp3,tmp3 /* Get negative value for left shift */
+ dep r0,31,2,s2 /* Compute word address of s2 */
+ ldwm 4(0,s2),s2word /* get first word of s2 */
+ ldwm 4(0,s1),s1word /* get first word or s1 */
+ combt,=,n r0,tmp1,masks1 /*Do we need to mask beginning of s2 */
+ add tmp1,count,count /*bump count by the number of bytes */
+ /* we are going to mask */
+ sh3add tmp1,r0,save /*save now has number of bits to mask */
+ mtctl save,11
+ zvdepi -2,32,save /*load save with proper mask */
+ or save,s2word,s2word /**/
+masks1: sh3add tmp5,r0,save /*save now has number of bits to mask */
+ mtctl save,11
+ zvdepi -2,32,save /*load save with proper mask */
+ or save,s1word,s1word /**/
+ subi 4,tmp5,tmp5 /*tmp5 now has the number of byte that */
+ /*are valid in s1word before the vshd */
+ mtctl tmp3,11 /*Move shift amount to CR11 */
+more1: combt,<=,n count,tmp5,chunk2 /*Can we do the vshd? */
+ ldwm 4(0,s1),tmp7 /*load second word to enable us to shift */
+ vshd s1word,tmp7,s1word /**/
+ combf,=,n s2word,s1word,ckbyte2 /**/
+ extru s1word,7,8,tmp3 /*get first byte (DELAY SLOT) */
+ addibt,<=,n -4,count,zero /*have we checked N chars? */
+ copy tmp7,s1word /**/
+ b more1 /*keep checking */
+ ldwm 4(0,s2),s2word /*get next s2 (DELAY SLOT) */
+
+chunk2:
+ vshd s1word,r0,s1word /**/
+ b ckbyte2 /**/
+ extru s1word,7,8,tmp3 /**/
+
+zero: copy r0,ret0
+done:
+EXIT(memcmp)
diff --git a/newlib/libc/machine/hppa/memcpy.S b/newlib/libc/machine/hppa/memcpy.S
new file mode 100644
index 00000000000..713c1c11b41
--- /dev/null
+++ b/newlib/libc/machine/hppa/memcpy.S
@@ -0,0 +1,146 @@
+/*
+ * (c) Copyright 1986 HEWLETT-PACKARD COMPANY
+ *
+ * To anyone who acknowledges that this file is provided "AS IS"
+ * without any express or implied warranty:
+ * permission to use, copy, modify, and distribute this file
+ * for any purpose is hereby granted without fee, provided that
+ * the above copyright notice and this notice appears in all
+ * copies, and that the name of Hewlett-Packard Company not be
+ * used in advertising or publicity pertaining to distribution
+ * of the software without specific, written prior permission.
+ * Hewlett-Packard Company makes no representations about the
+ * suitability of this software for any purpose.
+ */
+
+/* HPUX_ID: @(#) $Revision$ */
+/*
+ * memcpy(s1, s2, n)
+ *
+ * Copy n characters from s2 to s1; returns s1.
+ */
+
+#define d_addr arg0
+#define s_addr arg1
+#define count arg2
+#define tmp5 arg3
+#define tmp1 r19
+#define tmp2 r20
+#define tmp3 r21
+#define tmp4 r22
+#define tmp6 r31
+
+#include "DEFS.h"
+
+ENTRY(memcpy)
+ comib,>= 5,count,byteloop /* If count is <= 6 don't get fancy.*/
+ movb,=,n d_addr,ret0,done /* The return value is defined to be the value of d_addr. DELAY SLOT */
+ /* if d_addr is null then exit */
+ extru s_addr,31,2,tmp1 /* Extract the low two bits of the source address. */
+ extru d_addr,31,2,tmp2 /* Extract the low two bits of the destination address. */
+ add count,tmp2,count /* pre increment the count to adjust for alignment of s1 */
+ comb,<> tmp2,tmp1,not_aligned /* see if s1 is aligned w.r.t. s2. */
+ dep 0,31,2,s_addr /* Compute the word address of the source. DELAY SLOT. */
+
+/* aligned */
+
+/* We will now begin the 16 byte at a time word move if count >= 16 ! */
+/* Else we will branch to the 4 byte-at-a time word move ! */
+
+ addibt,<,n -16,count,chekchunk /* If count < 16 then we can't move 16 byte chunks ! */
+ /* actually we can legally move 13 or more bytes on the first loop. */
+ /* These loads and stores are done so as to prevent processor interlock. */
+chunks:
+ ldwm 16(0,s_addr),tmp1 /* tmp1 = *s_addr s_addr += 16 */
+ ldw -12(0,s_addr),tmp2 /* tmp2 = 2nd word */
+ ldw -8(0,s_addr),tmp3 /* tmp3 = 3rd word */
+ ldw -4(0,s_addr),tmp4 /* tmp4 = 4th word */
+ /* Now store the results ! */
+ stbys,b,m tmp1,4(0,d_addr) /* tmp1 = 1st word stored d_addr += 16 also take care of front porch. */
+ stwm tmp2,4(0,d_addr) /* tmp2 = 2nd word stored. */
+ stwm tmp3,4(0,d_addr) /* tmp3 = 3rd word stored. */
+ addibf,< -16,count,chunks /* If count is still >= 16 do another loop. */
+ stwm tmp4,4(0,d_addr) /* tmp4 = 4th word stored. DELAY SLOT */
+
+chekchunk:
+ addibt,<,n 12,count,back_porch /* since the count is already decremented by -16 we're testing */
+ /* to see if there are at least 4 bytes left ? */
+subchunk:
+ ldws,ma 4(s_addr),tmp1 /* tmp1 = *s_addr++ */
+ addibf,< -4,count,subchunk /* count -= 4 */
+ stbys,b,m tmp1,4(d_addr) /* *d_addr++ = tmp1 */
+
+
+back_porch:
+ addibt,=,n 4,count,done /* if count = 0 we're, of course, done ! */
+ ldws 0(s_addr),tmp1 /* load up the back_porch */
+ add d_addr,count,d_addr/* final store address is +1 too high ! */
+ bv 0(r2) /* return--were done. */
+ stbys,e tmp1,0(d_addr) /* kerplunk! whew ! */
+
+/* Begin non_aligned code. (no refrence to politics) */
+not_aligned:
+ sub,>= tmp2,tmp1,tmp3 /* compute the shift quantity again and skip the load if tmp2 > tmp1. */
+ ldwm 4(0,s_addr),tmp1 /* load up the first word from the source. tmp1 = *s_addr++ */
+ zdep tmp3,28,29,tmp4 /* compute the number of bits to shift based on the number of bytes above. */
+ mtctl tmp4,11 /* load the shift count into cr11 = shift count register. */
+
+ addibt,<,n -16,count,chkchnk2 /* first step in pre adjustment of count for looping. */
+
+chunk2:
+ ldwm 16(0,s_addr),tmp2 /* get either first or second word . tmp2 = *s_addr++ */
+ ldw -12(s_addr),tmp3
+ ldw -8(s_addr),tmp4
+ ldw -4(s_addr),tmp5
+ vshd tmp1,tmp2,tmp6 /* position data ! */
+ stbys,b,m tmp6,4(0,d_addr) /* store ! */
+
+ vshd tmp2,tmp3,tmp6 /* position data ! */
+ stwm tmp6,4(0,d_addr) /* store ! */
+
+ vshd tmp3,tmp4,tmp6 /* position data ! */
+ stwm tmp6,4(0,d_addr) /* store ! */
+
+ vshd tmp4,tmp5,tmp6 /* position data ! */
+ stwm tmp6,4(0,d_addr) /* store the data ! */
+ addibf,< -16,count,chunk2 /* If count is still >= 16 do another loop. */
+ copy tmp5,tmp1
+
+
+chkchnk2:
+ addibt,<,n 12,count,bp_0 /* if we don't have 4 bytes left then do the back porch (bp_0) */
+
+subchnk2:
+ ldwm 4(0,s_addr),tmp2 /* get next word ! */
+ vshd tmp1,tmp2,tmp3 /* position data ! */
+ addibt,< -4,count,bp_1 /* decrement count and when count < 4 goto back_porch (bp_1) */
+ stbys,b,m tmp3,4(0,d_addr) /* store ! */
+
+ ldwm 4(0,s_addr),tmp1 /* get 4th word ! */
+ vshd tmp2,tmp1,tmp3 /* position data ! */
+ addib,>= -4,count,subchnk2 /* decrement count and when count <= 4 go to back porch (bp_2) */
+ stbys,b,m tmp3,4(0,d_addr) /* store the data ! */
+
+bp_0: copy tmp1,tmp2 /* switch registers used in the shift process. */
+bp_1: addibt,<=,n 4,count,done /* if count = -4 this implies that count = 0 -> done */
+ add d_addr,count,d_addr /* bump destination address to be +1 too high ! */
+ mfctl sar,tmp3 /* suppress final ldwm unless result used */
+ extru tmp3,28,2,tmp3 /* convert bitshift to byteshift */
+ sub,<= count,tmp3,r0 /* bytes unused if (count-byteshift <= 0*/
+
+ ldwm 4(0,s_addr),tmp1 /* get final word ! */
+ vshd tmp2,tmp1,tmp3 /* position data ! */
+ bv 0(r2) /* return */
+ stbys,e tmp3,0(0,d_addr) /* store the data ! */
+
+/* here we do ye old byte-at-a-time moves. */
+byteloop:
+ comb,>=,n 0,count,done
+
+encore:
+ ldbs,ma 1(s_addr),tmp1
+ addibf,= -1,count,encore
+ stbs,ma tmp1,1(d_addr)
+
+done:
+EXIT(memcpy)
diff --git a/newlib/libc/machine/hppa/memset.S b/newlib/libc/machine/hppa/memset.S
new file mode 100644
index 00000000000..cea73825143
--- /dev/null
+++ b/newlib/libc/machine/hppa/memset.S
@@ -0,0 +1,85 @@
+/*
+ * (c) Copyright 1986 HEWLETT-PACKARD COMPANY
+ *
+ * To anyone who acknowledges that this file is provided "AS IS"
+ * without any express or implied warranty:
+ * permission to use, copy, modify, and distribute this file
+ * for any purpose is hereby granted without fee, provided that
+ * the above copyright notice and this notice appears in all
+ * copies, and that the name of Hewlett-Packard Company not be
+ * used in advertising or publicity pertaining to distribution
+ * of the software without specific, written prior permission.
+ * Hewlett-Packard Company makes no representations about the
+ * suitability of this software for any purpose.
+ */
+
+/* SPECTRUM_ID: @(#)memset.s 37.4 86/08/25 */
+/*
+ * memset(s, c, n)
+ *
+ * Sets first n chars in memory area s to value of character c.
+ * Returns s.
+ */
+#ifndef _NAMESPACE_CLEAN
+#define NOSECDEF /* prevent _memset from being defined as entry */
+#endif
+
+#include "DEFS.h"
+
+#define TO arg0
+#define FILLCHAR arg1
+#define COUNT arg2
+#define TMP r31
+
+ENTRY(memset)
+ comb,<= COUNT,r0,msexit /* return if count not positive */
+ copy TO,ret0 /* return value is start of copy */
+ comibf,<,n 5,COUNT,msbyteloop /* be straightforward */
+
+ dep FILLCHAR,23,8,FILLCHAR /* dup low byte */
+ dep FILLCHAR,15,16,FILLCHAR /* into high bytes */
+
+ add TO,COUNT,TMP /* TMP points just past fill area */
+ stbys,m FILLCHAR,0(TO) /* fill out first word */
+ /*
+ * If we're pointing to high-order byte, no fill will happen,
+ * but permissions will be checked. We don't want this (we
+ * might be pointing at the beginning of a protected region),
+ * so we branch around stbys if neither low bits are set.
+ */
+ bb,<,n TMP,31,filend /* if low bit is set, stbys */
+ bb,>=,n TMP,30,endfil /* if next lowest bit isn't set */
+ /* (and lowest isn't, either) */
+ /* do not stbys */
+filend:
+ stbys,m,e FILLCHAR,0(TMP) /* fill out the last */
+endfil:
+ addi 4, TO, TO
+ sub TMP,TO,COUNT /* will now divide by 4 */
+ comb,=,n COUNT,r0,msexit /* If count is zero ret. */
+
+ extru,<> COUNT,31,4,r1
+ b msquadloop
+ depi 0,31,4,COUNT /* will now divide by 16 */
+
+
+mswordloop:
+ addib,<> -4,r1,mswordloop
+ stws,ma FILLCHAR,4(TO)
+
+ comb,=,n COUNT,r0,msexit /* If count is zero ret. */
+
+msquadloop:
+ stws,ma FILLCHAR,4(TO)
+ stws,ma FILLCHAR,4(TO)
+ stws,ma FILLCHAR,4(TO)
+ addib,<> -16,COUNT,msquadloop
+ stws,ma FILLCHAR,4(TO)
+ b,n msexit
+
+msbyteloop:
+ addib,<> -1,COUNT,msbyteloop
+ stbs,ma FILLCHAR,1(TO)
+
+msexit:
+EXIT(memset)
diff --git a/newlib/libc/machine/hppa/pcc_prefix.s b/newlib/libc/machine/hppa/pcc_prefix.s
new file mode 100644
index 00000000000..24d5254d95e
--- /dev/null
+++ b/newlib/libc/machine/hppa/pcc_prefix.s
@@ -0,0 +1,389 @@
+;
+; (c) Copyright 1986 HEWLETT-PACKARD COMPANY
+;
+; To anyone who acknowledges that this file is provided "AS IS"
+; without any express or implied warranty:
+; permission to use, copy, modify, and distribute this file
+; for any purpose is hereby granted without fee, provided that
+; the above copyright notice and this notice appears in all
+; copies, and that the name of Hewlett-Packard Company not be
+; used in advertising or publicity pertaining to distribution
+; of the software without specific, written prior permission.
+; Hewlett-Packard Company makes no representations about the
+; suitability of this software for any purpose.
+;
+
+; Standard Hardware Register Definitions for Use with Assembler
+; version A.08.06
+; - fr16-31 added at Utah
+;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+; Hardware General Registers
+r0: .equ 0
+
+r1: .equ 1
+
+r2: .equ 2
+
+r3: .equ 3
+
+r4: .equ 4
+
+r5: .equ 5
+
+r6: .equ 6
+
+r7: .equ 7
+
+r8: .equ 8
+
+r9: .equ 9
+
+r10: .equ 10
+
+r11: .equ 11
+
+r12: .equ 12
+
+r13: .equ 13
+
+r14: .equ 14
+
+r15: .equ 15
+
+r16: .equ 16
+
+r17: .equ 17
+
+r18: .equ 18
+
+r19: .equ 19
+
+r20: .equ 20
+
+r21: .equ 21
+
+r22: .equ 22
+
+r23: .equ 23
+
+r24: .equ 24
+
+r25: .equ 25
+
+r26: .equ 26
+
+r27: .equ 27
+
+r28: .equ 28
+
+r29: .equ 29
+
+r30: .equ 30
+
+r31: .equ 31
+
+; Hardware Space Registers
+sr0: .equ 0
+
+sr1: .equ 1
+
+sr2: .equ 2
+
+sr3: .equ 3
+
+sr4: .equ 4
+
+sr5: .equ 5
+
+sr6: .equ 6
+
+sr7: .equ 7
+
+; Hardware Floating Point Registers
+fr0: .equ 0
+
+fr1: .equ 1
+
+fr2: .equ 2
+
+fr3: .equ 3
+
+fr4: .equ 4
+
+fr5: .equ 5
+
+fr6: .equ 6
+
+fr7: .equ 7
+
+fr8: .equ 8
+
+fr9: .equ 9
+
+fr10: .equ 10
+
+fr11: .equ 11
+
+fr12: .equ 12
+
+fr13: .equ 13
+
+fr14: .equ 14
+
+fr15: .equ 15
+
+fr16: .equ 16
+
+fr17: .equ 17
+
+fr18: .equ 18
+
+fr19: .equ 19
+
+fr20: .equ 20
+
+fr21: .equ 21
+
+fr22: .equ 22
+
+fr23: .equ 23
+
+fr24: .equ 24
+
+fr25: .equ 25
+
+fr26: .equ 26
+
+fr27: .equ 27
+
+fr28: .equ 28
+
+fr29: .equ 29
+
+fr30: .equ 30
+
+fr31: .equ 31
+
+; Hardware Control Registers
+cr0: .equ 0
+
+rctr: .equ 0 ; Recovery Counter Register
+
+
+cr8: .equ 8 ; Protection ID 1
+
+pidr1: .equ 8
+
+
+cr9: .equ 9 ; Protection ID 2
+
+pidr2: .equ 9
+
+
+cr10: .equ 10
+
+ccr: .equ 10 ; Coprocessor Confiquration Register
+
+
+cr11: .equ 11
+
+sar: .equ 11 ; Shift Amount Register
+
+
+cr12: .equ 12
+
+pidr3: .equ 12 ; Protection ID 3
+
+
+cr13: .equ 13
+
+pidr4: .equ 13 ; Protection ID 4
+
+
+cr14: .equ 14
+
+iva: .equ 14 ; Interrupt Vector Address
+
+
+cr15: .equ 15
+
+eiem: .equ 15 ; External Interrupt Enable Mask
+
+
+cr16: .equ 16
+
+itmr: .equ 16 ; Interval Timer
+
+
+cr17: .equ 17
+
+pcsq: .equ 17 ; Program Counter Space queue
+
+
+cr18: .equ 18
+
+pcoq: .equ 18 ; Program Counter Offset queue
+
+
+cr19: .equ 19
+
+iir: .equ 19 ; Interruption Instruction Register
+
+
+cr20: .equ 20
+
+isr: .equ 20 ; Interruption Space Register
+
+
+cr21: .equ 21
+
+ior: .equ 21 ; Interruption Offset Register
+
+
+cr22: .equ 22
+
+ipsw: .equ 22 ; Interrpution Processor Status Word
+
+
+cr23: .equ 23
+
+eirr: .equ 23 ; External Interrupt Request
+
+
+cr24: .equ 24
+
+ppda: .equ 24 ; Physcial Page Directory Address
+
+tr0: .equ 24 ; Temporary register 0
+
+
+cr25: .equ 25
+
+hta: .equ 25 ; Hash Table Address
+
+tr1: .equ 25 ; Temporary register 1
+
+
+cr26: .equ 26
+
+tr2: .equ 26 ; Temporary register 2
+
+
+cr27: .equ 27
+
+tr3: .equ 27 ; Temporary register 3
+
+
+cr28: .equ 28
+
+tr4: .equ 28 ; Temporary register 4
+
+
+cr29: .equ 29
+
+tr5: .equ 29 ; Temporary register 5
+
+
+cr30: .equ 30
+
+tr6: .equ 30 ; Temporary register 6
+
+
+cr31: .equ 31
+
+tr7: .equ 31 ; Temporary register 7
+
+;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+; Procedure Call Convention ~
+; Register Definitions for Use with Assembler ~
+; version A.08.06
+;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+; Software Architecture General Registers
+rp: .equ r2 ; return pointer
+
+mrp: .equ r31 ; millicode return pointer
+
+ret0: .equ r28 ; return value
+
+ret1: .equ r29 ; return value (high part of double)
+
+sl: .equ r29 ; static link
+
+sp: .equ r30 ; stack pointer
+
+dp: .equ r27 ; data pointer
+
+arg0: .equ r26 ; argument
+
+arg1: .equ r25 ; argument or high part of double argument
+
+arg2: .equ r24 ; argument
+
+arg3: .equ r23 ; argument or high part of double argument
+
+;_____________________________________________________________________________
+; Software Architecture Space Registers
+; sr0 ; return link form BLE
+sret: .equ sr1 ; return value
+
+sarg: .equ sr1 ; argument
+
+; sr4 ; PC SPACE tracker
+; sr5 ; process private data
+;_____________________________________________________________________________
+; Software Architecture Pseudo Registers
+previous_sp: .equ 64 ; old stack pointer (locates previous frame)
+
+;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+; Standard space and subspace definitions. version A.08.06
+; These are generally suitable for programs on HP_UX and HPE.
+; Statements commented out are used when building such things as operating
+; system kernels.
+;;;;;;;;;;;;;;;;
+ .SPACE $TEXT$, SPNUM=0,SORT=8
+; .subspa $FIRST$, QUAD=0,ALIGN=2048,ACCESS=0x2c,SORT=4,FIRST
+; .subspa $REAL$, QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=4,FIRST,LOCK
+ .subspa $MILLICODE$, QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=8
+ .subspa $LIT$, QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=16
+ .subspa $CODE$, QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=24
+; .subspa $UNWIND$, QUAD=0,ALIGN=4,ACCESS=0x2c,SORT=64
+; .subspa $RECOVER$, QUAD=0,ALIGN=4,ACCESS=0x2c,SORT=80
+; .subspa $RESERVED$, QUAD=0,ALIGN=8,ACCESS=0x73,SORT=82
+; .subspa $GATE$, QUAD=0,ALIGN=8,ACCESS=0x4c,SORT=84,CODE_ONLY
+; Additional code subspaces should have ALIGN=8 for an interspace BV
+; and should have SORT=24.
+;
+; For an incomplete executable (program bound to shared libraries),
+; sort keys $GLOBAL$ -1 and $GLOBAL$ -2 are reserved for the $DLT$
+; and $PLT$ subspaces respectively.
+;;;;;;;;;;;;;;;
+ .SPACE $PRIVATE$, SPNUM=1,PRIVATE,SORT=16
+ .subspa $GLOBAL$, QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=40
+ .import $global$
+ .subspa $SHORTDATA$, QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=24
+ .subspa $DATA$, QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=16
+ .subspa $PFA_COUNTER$, QUAD=1,ALIGN=4,ACCESS=0x1f,SORT=8
+ .subspa $SHORTBSS$, QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=80,ZERO
+ .subspa $BSS$, QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=82,ZERO
+; .subspa $PCB$, QUAD=1,ALIGN=8,ACCESS=0x10,SORT=82
+; .subspa $STACK$, QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=82
+; .subspa $HEAP$, QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=82
+;;;;;;;;;;;;;;;;
+; .SPACE $PFA$, SPNUM=0,PRIVATE,UNLOADABLE,SORT=64
+; .subspa $PFA_ADDRESS$, ALIGN=4,ACCESS=0x2c,UNLOADABLE
+;;;;;;;;;;;;;;;;
+; .SPACE $DEBUG$, SPNUM=2,PRIVATE,UNLOADABLE,SORT=80
+; .subspa $HEADER$, ALIGN=4,ACCESS=0,UNLOADABLE,FIRST
+; .subspa $GNTT$, ALIGN=4,ACCESS=0,UNLOADABLE
+; .subspa $LNTT$, ALIGN=4,ACCESS=0,UNLOADABLE
+; .subspa $SLT$, ALIGN=4,ACCESS=0,UNLOADABLE
+; .subspa $VT$, ALIGN=4,ACCESS=0,UNLOADABLE
+
+; To satisfy the copyright terms each .o will have a reference
+; the the actual copyright. This will force the actual copyright
+; message to be brought in from libgloss/hp-milli.s
+ .space $PRIVATE$
+ .subspa $DATA$
+ .import ___hp_free_copyright,data
+L$copyright .word ___hp_free_copyright
diff --git a/newlib/libc/machine/hppa/setjmp.S b/newlib/libc/machine/hppa/setjmp.S
new file mode 100644
index 00000000000..6f3668e9245
--- /dev/null
+++ b/newlib/libc/machine/hppa/setjmp.S
@@ -0,0 +1,139 @@
+/* Copyright (c) 1995 Cygnus Support.
+ All rights reserved.
+
+ Redistribution and use in source and binary forms are permitted
+ provided that the above copyright notice and this paragraph are
+ duplicated in all such forms and that any documentation,
+ advertising materials, and other materials related to such
+ distribution and use acknowledge that the software was developed
+ at Cygnus Support, Inc. Cygnus Support, Inc. may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */
+
+/* Note I don't know an easy way to get the FP version into the
+ traditional C library and the non-FP version into the soft-float
+ library. Maybe we'll have to have -msoft-float trigger something
+ like -DSOFT_FLOAT if this issue ever arises. */
+
+ .SPACE $PRIVATE$
+ .SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
+ .SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
+ .SPACE $TEXT$
+ .SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
+ .SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
+ .IMPORT $global$,DATA
+ .IMPORT $$dyncall,MILLICODE
+; gcc_compiled.:
+ .SPACE $TEXT$
+ .SUBSPA $CODE$
+
+ .align 4
+ .EXPORT setjmp,ENTRY,PRIV_LEV=3,ARGW0=GR,RTNVAL=GR
+setjmp
+ .PROC
+ .CALLINFO FRAME=64,NO_CALLS,SAVE_SP,ENTRY_GR=3
+ .ENTRY
+ stwm %r30,4(%r26)
+ stwm %r2,4(%r26)
+ stwm %r3,4(%r26)
+ stwm %r4,4(%r26)
+ stwm %r5,4(%r26)
+ stwm %r6,4(%r26)
+ stwm %r7,4(%r26)
+ stwm %r8,4(%r26)
+ stwm %r9,4(%r26)
+ stwm %r10,4(%r26)
+ stwm %r11,4(%r26)
+ stwm %r12,4(%r26)
+ stwm %r13,4(%r26)
+ stwm %r14,4(%r26)
+ stwm %r15,4(%r26)
+ stwm %r16,4(%r26)
+ stwm %r17,4(%r26)
+ stwm %r18,4(%r26)
+ stwm %r27,4(%r26)
+#ifdef FP
+ ; jmp_buf may only have a 4 byte alignment, so handle FP stores
+ ; very carefully.
+ fstds %fr12,-16(%r30)
+ ldw -16(%r30),%r28
+ stwm %r28,4(%r26)
+ ldw -12(%r30),%r28
+ stwm %r28,4(%r26)
+ fstds %fr13,-16(%r30)
+ ldw -16(%r30),%r28
+ stwm %r28,4(%r26)
+ ldw -12(%r30),%r28
+ stwm %r28,4(%r26)
+ fstds %fr14,-16(%r30)
+ ldw -16(%r30),%r28
+ stwm %r28,4(%r26)
+ ldw -12(%r30),%r28
+ stwm %r28,4(%r26)
+ fstds %fr15,-16(%r30)
+ ldw -16(%r30),%r28
+ stwm %r28,4(%r26)
+ ldw -12(%r30),%r28
+ stwm %r28,4(%r26)
+#endif
+
+ bv 0(%r2)
+ copy %r0,%r28
+ .EXIT
+ .PROCEND
+ .align 4
+ .EXPORT longjmp,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,RTNVAL=GR
+longjmp
+ .PROC
+ .CALLINFO FRAME=64,NO_CALLS,SAVE_SP,ENTRY_GR=3
+ .ENTRY
+ ldwm 4(%r26),%r30
+ ldwm 4(%r26),%r2
+ ldwm 4(%r26),%r3
+ ldwm 4(%r26),%r4
+ ldwm 4(%r26),%r5
+ ldwm 4(%r26),%r6
+ ldwm 4(%r26),%r7
+ ldwm 4(%r26),%r8
+ ldwm 4(%r26),%r9
+ ldwm 4(%r26),%r10
+ ldwm 4(%r26),%r11
+ ldwm 4(%r26),%r12
+ ldwm 4(%r26),%r13
+ ldwm 4(%r26),%r14
+ ldwm 4(%r26),%r15
+ ldwm 4(%r26),%r16
+ ldwm 4(%r26),%r17
+ ldwm 4(%r26),%r18
+ ldwm 4(%r26),%r27
+#ifdef FP
+ ldwm 4(%r26),%r28
+ stw %r28,-16(%r30)
+ ldwm 4(%r26),%r28
+ stw %r28,-12(%r30)
+ fldds -16(%r30),%fr12
+ ldwm 4(%r26),%r28
+ stw %r28,-16(%r30)
+ ldwm 4(%r26),%r28
+ stw %r28,-12(%r30)
+ fldds -16(%r30),%fr13
+ ldwm 4(%r26),%r28
+ stw %r28,-16(%r30)
+ ldwm 4(%r26),%r28
+ stw %r28,-12(%r30)
+ fldds -16(%r30),%fr14
+ ldwm 4(%r26),%r28
+ stw %r28,-16(%r30)
+ ldwm 4(%r26),%r28
+ stw %r28,-12(%r30)
+ fldds -16(%r30),%fr15
+#endif
+ comclr,<> %r0,%r25,%r0
+ ldi 1,%r25
+ bv 0(%r2)
+ copy %r25,%r28
+ .EXIT
+ .PROCEND
diff --git a/newlib/libc/machine/hppa/strcat.S b/newlib/libc/machine/hppa/strcat.S
new file mode 100644
index 00000000000..9fcdd790f48
--- /dev/null
+++ b/newlib/libc/machine/hppa/strcat.S
@@ -0,0 +1,178 @@
+/*
+ * (c) Copyright 1986 HEWLETT-PACKARD COMPANY
+ *
+ * To anyone who acknowledges that this file is provided "AS IS"
+ * without any express or implied warranty:
+ * permission to use, copy, modify, and distribute this file
+ * for any purpose is hereby granted without fee, provided that
+ * the above copyright notice and this notice appears in all
+ * copies, and that the name of Hewlett-Packard Company not be
+ * used in advertising or publicity pertaining to distribution
+ * of the software without specific, written prior permission.
+ * Hewlett-Packard Company makes no representations about the
+ * suitability of this software for any purpose.
+ */
+
+/* HPUX_ID: @(#) $Revision$ */
+/*
+ * strcat(s1, s2)
+ *
+ * Concatenate s2 on the end of s1. S1's space must be large enough.
+ * Return s1.
+ */
+#include "DEFS.h"
+
+#define d_addr r26
+#define s_addr r25
+#define tmp6 r24
+#define tmp1 r19
+#define tmp2 r20
+#define tmp3 r21
+#define tmp4 r22
+#define tmp5 arg3
+#define save r1
+
+
+ENTRY(strcat)
+
+ comb,= r0,s_addr,done /* quit if s2=NULL */
+ copy d_addr,ret0 /* The return value is the value of d_addr. DELAY SLOT*/
+
+/* First look for end of s1 (d_addr) */
+
+ extru d_addr,31,2,tmp1 /* Extract the low two bits of the dest address. */
+ combt,= tmp1,r0,dont_mask
+ dep 0,31,2,d_addr /*set word alignment */
+ ldwm 4(d_addr),tmp2
+ sh3add tmp1,r0,save /* build mask based on tmp1 */
+ mtctl save,11
+ zvdepi -2,32,save
+ or save,tmp2,tmp2
+ uxor,nbz tmp2,r0,save
+search:
+ b,n found_end /* nullified under uxor conditions above and below */
+dont_mask:
+ ldwm 4(d_addr),tmp2
+ comib,tr r0,r0,search
+ uxor,nbz tmp2,r0,save
+
+found_end: /* at this point d_addr points to word */
+ extru,<> save,7,8,r0 /* following word with null */
+ addib,tr,n -4,d_addr,begin_copy /*set d_addr to end of s1 */
+ extru,<> save,15,8,r0
+ addib,tr,n -3,d_addr,begin_copy
+ extru,<> save,23,8,r0
+ addi -1,d_addr,d_addr
+ addi -1,d_addr,d_addr
+
+
+begin_copy:
+
+ extru s_addr,31,2,tmp1 /* Extract the low two bits of the source address. */
+ extru d_addr,31,2,tmp6 /* Extract the low two bits of the destination address. */
+ sub,= tmp6,tmp1,tmp3 /* Compute the shift quantity and don't branch if tmp6=tmp1. */
+ b not_aligned /* Not_aligned says that shifts Will be needed. */
+ dep 0,31,2,s_addr /* Compute the word address of the source. DELAY SLOT. */
+/* aligned */
+
+ combt,= tmp6,r0,skip_mask
+ ldwm 4(0,s_addr),tmp1 /* tmp1 = *s_addr s_addr += 4 (DELAY SLOT) */
+ sh3add tmp6,r0,save
+ mtctl save,r11
+ zvdepi -2,32,save
+ or save,tmp1,tmp1
+ uxor,nbz tmp1,r0,save
+ b,n first_null /* special case: null in first word */
+ b,n skip_mask2
+
+chunks:
+ b,n null_found /* delay slot for uxor below */
+
+skip_mask2:
+ stbys,b,m tmp1,4(d_addr)
+ ldwm 4(s_addr),tmp1
+skip_mask:
+ comib,tr 0,0,chunks
+ uxor,nbz tmp1,r0,save
+
+/* Begin non_aligned code. */
+
+not_aligned:
+ sh3add,>= tmp3,r0,tmp4 /* compute the shift amt.and skip load if tmp6 > tmp1. */
+ ldwm 4(0,s_addr),tmp1 /* load up the first word from the source. tmp1 = *s_addr++ */
+ ldwm 4(0,s_addr),tmp2 /* get either first or second word from source. */
+ combt,= tmp6,r0,chunk2 /* don't mask if whole word is valid */
+ mtctl tmp4,11 /* load the shift count into cr11 = shift count register. */
+ vshd tmp1,tmp2,tmp3 /* position data ! (delay slot) */
+ sh3add tmp6,r0,save /* setup r1 */
+ mtctl save,r11 /* set-up cr11 for mask */
+ zvdepi -2,32,save
+ or save, tmp3, tmp3
+ uxor,nbz tmp3,r0,save
+ b,n first_null2
+ b did_mask
+ mtctl tmp4,11 /* re-load the shift count into cr11 */
+
+chunk2:
+ vshd tmp1,tmp2,tmp3
+ uxor,nbz tmp3, r0, save
+ b,n null_found
+did_mask:
+ stbys,b,m tmp3,4(0,d_addr) /* store ! */
+
+ ldwm 4(0,s_addr),tmp1 /* get next word ! */
+ vshd tmp2,tmp1,tmp3 /* position data ! */
+ uxor,nbz tmp3, r0, save
+ b,n null_found
+ stwm tmp3,4(d_addr)
+ comib,tr 0,0,chunk2
+ ldwm 4(s_addr),tmp2
+
+
+null_found: /* adjust d_addr and store final word */
+
+ extru,<> save,7,8,r0
+ addib,tr,n 1,d_addr,store_final
+ extru,<> save,15,8,r0
+ addib,tr,n 2,d_addr,store_final
+ extru,<> save,23,8,r0
+ addib,tr 3,d_addr,store_final2
+ bv 0(r2)
+ stw save,0(d_addr)
+
+store_final:
+ bv 0(r2)
+store_final2:
+ stbys,e save,0(d_addr) /* delay slot */
+
+first_null: /* null found in first word of aligned (wrt d_addr) */
+ addi -4,s_addr,s_addr
+ ldbx tmp6(s_addr),tmp4
+ add tmp6,s_addr,s_addr
+ comib,= 0,tmp4,done
+ stbs,ma tmp4,1(d_addr)
+ ldbs 1(s_addr),tmp4
+ comib,= 0,tmp4,done
+ stbs,ma tmp4,1(d_addr)
+ bv 0(r2) /* done */
+ stbs 0,0(d_addr)
+
+first_null2: /* null found in first word of non-aligned (wrt d_addr) */
+ addibt,= -1,tmp6,check3 /* check last 3 bytes of word */
+ extru save,15,8,tmp4
+ addibt,=,n -1,tmp6,check2 /* check last 2 bytes */
+ bv 0(r2)
+ stbys,b save, 0(d_addr)
+
+check3:
+ combt,= tmp4,r0,done
+ stbs,ma tmp4,1(d_addr)
+check2:
+ extru,<> save,23,8,tmp4
+ bv 0(r2)
+ stbs,ma tmp4,1(d_addr)
+ bv 0(r2)
+ stbs r0,0(d_addr)
+
+done:
+EXIT(strcat)
diff --git a/newlib/libc/machine/hppa/strcmp.S b/newlib/libc/machine/hppa/strcmp.S
new file mode 100644
index 00000000000..007a648492d
--- /dev/null
+++ b/newlib/libc/machine/hppa/strcmp.S
@@ -0,0 +1,282 @@
+/*
+ * (c) Copyright 1986 HEWLETT-PACKARD COMPANY
+ *
+ * To anyone who acknowledges that this file is provided "AS IS"
+ * without any express or implied warranty:
+ * permission to use, copy, modify, and distribute this file
+ * for any purpose is hereby granted without fee, provided that
+ * the above copyright notice and this notice appears in all
+ * copies, and that the name of Hewlett-Packard Company not be
+ * used in advertising or publicity pertaining to distribution
+ * of the software without specific, written prior permission.
+ * Hewlett-Packard Company makes no representations about the
+ * suitability of this software for any purpose.
+ */
+
+/*
+
+ strcmp
+
+ Jerry Huck
+ Edgar Circenis
+
+*/
+/*
+ * strcmp(s1, s2)
+ *
+ * returns integer: < 0 iff s1 lexicographically less than s2
+ * > 0 iff s1 lexicographically greater than s2
+ * = 0 iff s1 lexicographically equal to s2
+ */
+
+#include "DEFS.h"
+
+#define s1 26
+#define s2 25
+#define tmp1 19
+#define s2word 20
+#define tmp3 21
+#define tmp7 22
+#define s1word 23
+#define save 1
+#define tmp6 24
+#define tmp5 28
+
+ENTRY(strcmp)
+ comb,=,n s1,s2,samestring
+ comib,=,n 0,s1,s1isnull
+ comib,=,n 0,s2,s2isnull
+/* Hope for word alignment. Pick up low two bits of each adress */
+ extru,<> s1,31,2,tmp1
+ ldwm 4(s1),s1word
+ dep,= s2,29,2,tmp1
+ b,n case_analysis
+
+/* Start looping until null is found in s1 or they mis-compare */
+loop:
+ ldwm 4(s2),s2word
+loop_plus:
+ uxor,nbz s1word,r0,r0 /* Null in this? */
+ b,n nullins1
+ comb,=,n s1word,s2word,loop
+ ldwm 4(s1),s1word
+
+/* The words do not compare equal and s1 does not have a null.
+ Need to treat words as unsigned and generate either a positive
+ or negative return value */
+wordcomparereturn:
+ comclr,>> s1word,s2word,ret0 /*Set ret0 to 0 and skip if greater*/
+ ldi -2,ret0 /*Set ret0 to -2 when less */
+ bv r0(rp)
+ addi 1,ret0,ret0 /*Fix return value to be -1 or +1 */
+
+/* s1 has a null. s2 has not been checked. */
+nullins1:
+ /*If s2 has no nulls this is simple, but assume that it might
+ and fix up s1 to allow the word comparision to work by
+ scanning s1 and duplicating all the bytes in s2 below that byte into
+ the remainder of s1. A remainder only exists if the zero byte
+ is found in the upper three bytes */
+ extru,<> s1word,7,8,r0 /*in the first byte? */
+ dep,tr s2word,31,24,s1word /*copy low 3 bytes of *s2 into *s1 */
+ extru,<> s1word,15,8,r0 /*in the second byte? */
+ dep,tr s2word,31,16,s1word /*copy low 2 bytes of *s2 into *s1 */
+ extru,<> s1word,23,8,r0 /*in the third byte? */
+ dep s2word,31,8,s1word /*copy low 1 byte of *s2 into *s1 */
+ /* Do the normal unsigned compare and return */
+ comclr,<> s1word,s2word,ret0 /*Set ret0 to 0 and skip if not equal */
+ bv,n r0(rp)
+ comclr,>> s1word,s2word,ret0 /*Set ret0 to 0 and skip if greater*/
+ ldi -2,ret0 /*Set ret0 to -2 when less */
+ bv r0(rp)
+ addi 1,ret0,ret0 /*Fix return value to be -1 or +1 */
+
+/* s1 and s2 are the same string and therefore equal */
+samestring:
+ bv r0(rp)
+ copy r0,ret0
+/* s1 is null. Treat as string of nulls. Therefore return
+ the negative of s2's first byte. s2 cannot be zero. */
+s1isnull:
+ ldbs 0(0,s2),ret0
+ bv r0(rp)
+ sub 0,ret0,ret0
+/* s2 is null. Treat as string of nulls. Therefore return
+ s1's first byte. s1 cannot be zero. */
+s2isnull:
+ bv r0(rp)
+ ldbs 0(0,s1),ret0
+
+case_analysis:
+ blr tmp1,r0
+ nop
+
+ /*
+ Case statement for non-aligned cases (we've already
+ checked the aligned case.
+ NOTE: for non-aligned cases, the absolute shift value
+ gets loaded into tmp3.
+ */
+
+ /* S2 S1 */
+ nop /* 00 00 can't happen */
+ nop
+ b shifts2 /* 00 01 */
+ ldi 8,tmp3 /* load shift count (delay slot) */
+ b shifts2 /* 00 10 */
+ ldi 16,tmp3 /* load shift count (delay slot) */
+ b shifts2 /* 00 11 */
+ ldi 24,tmp3 /* load shift count (delay slot) */
+ b shifts1_0 /* 01 00 */
+ ldi 8,tmp3 /* load shift count (delay slot) */
+ b eq_align1 /* 01 01 */
+ ldbs,ma 1(s1),s1word
+ b shifts2 /* 01 10 */
+ ldi 8,tmp3 /* load shift count (delay slot) */
+ b shifts2 /* 01 11 */
+ ldi 16,tmp3 /* load shift count (delay slot) */
+ b shifts1_0 /* 10 00 */
+ ldi 16,tmp3 /* load shift count (delay slot) */
+ b shifts1 /* 10 01 */
+ ldi 8,tmp3 /* load shift count (delay slot) */
+ b eq_align2 /* 10 10 */
+ ldhs,ma 2(s1),s1word
+ b shifts2 /* 10 11 */
+ ldi 8,tmp3 /* load shift count (delay slot) */
+ b shifts1_0 /* 11 00 */
+ ldi 24,tmp3 /* load shift count (delay slot) */
+ b shifts1 /* 11 01 */
+ ldi 16,tmp3 /* load shift count (delay slot) */
+ b shifts1 /* 11 10 */
+ ldi 8,tmp3 /* load shift count (delay slot) */
+ ldbs,ma 1(s1),s1word /* 11 11 */
+ ldbs,ma 1(s2),s2word
+ sub,= s1word,s2word,ret0 /* if not equal, we can return now */
+ bv,n r0(rp)
+ comclr,<> s1word,r0,ret0
+ bv,n r0(rp)
+ b loop /* fall into main loop */
+ ldwm 4(s1),s1word
+
+eq_align1:
+ ldbs,ma 1(s2),s2word
+ sub,= s1word,s2word,ret0 /* if not equal, we can return now */
+ bv,n r0(rp)
+ comclr,<> s1word,r0,ret0
+ bv,n r0(rp)
+ /* fall through to half-word aligned case */
+ ldhs,ma 2(s1),s1word /* load next halfword */
+eq_align2:
+ ldhs,ma 2(s2),s2word /* load next halfword */
+ /* form the mask: 0xffff0000 and mask leading nulls in s1word and s2word
+ so that we can fall into the main loop with word aligned data */
+ ldi 16,save
+ mtctl save,r11
+ zvdepi -2,32,save
+ or save,s1word,s1word
+ b loop_plus /* fall into main loop */
+ or save,s2word,s2word
+
+/* s2's alignment is greater than s1's alignment, so we will shift s1 */
+shifts1_0:
+ addi -4,s1,s1 /* fix up s1 due to earlier read */
+shifts1:
+ extru s1,31,2,tmp1
+ extru s2,31,2,tmp5
+ dep r0,31,2,s1 /* Compute word address of s1 */
+ dep r0,31,2,s2 /* Compute word address of s2 */
+ ldwm 4(s1),s1word /* get first word of s1 */
+ ldwm 4(s2),s2word /* get first word of s2 */
+ combt,=,n r0,tmp1,masks2 /* Do we need to mask beginning of s1 */
+ sh3add tmp1,r0,save /* save now has number of bits to mask */
+ mtctl save,r11
+ zvdepi -2,32,save /* load save with proper mask */
+ or save,s1word,s1word
+masks2:
+ sh3add tmp5,r0,save /* save now has number of bits to mask */
+ mtctl save,r11
+ zvdepi -2,32,save /* load save with proper mask */
+ or save,s2word,s2word
+ ldi -1,tmp7 /* load tmp7 with 0xffffffff */
+ mtctl tmp3,r11 /* Move shift amount to CR11 */
+more: uxor,nbz s1word,r0,r0 /* Is there a null in s1? */
+ b ends1
+ vshd tmp7,s1word,save
+ combf,=,n save,s2word,cmps1
+ ldwm 4(s1),tmp7
+ ldwm 4(s2),s2word
+ uxor,nbz tmp7,r0,r0 /* is there a null in s1? */
+ b ends1_0
+ vshd s1word,tmp7,save
+ combf,=,n save,s2word,cmps1
+ ldwm 4(s1),s1word
+ b more
+ ldwm 4(s2),s2word
+
+cmps1: movb,tr save,s1word,wordcomparereturn
+ nop
+
+ends1_0:
+ copy tmp7,s1word /* move tmp7 to s1word */
+ends1:
+ combf,=,n save,s2word,nullins1 /* branch if no match */
+ copy save,s1word /* delay slot */
+/* At this point, we know that we've read a null */
+/* from s1, so we can't read more from s1 */
+ uxor,nbz save,r0,r0 /* are the strings equal? */
+ b,n samestring
+ vshd s1word,r0,s1word
+ b nullins1
+ ldwm 4(s2),s2word
+
+/* s1's alignment is greater than s2's alignment, so we will shift s2 */
+shifts2:
+ extru s1,31,2,tmp1
+ extru s2,31,2,tmp5
+ dep r0,31,2,s1 /* Compute word address of s1 */
+ dep r0,31,2,s2 /* Compute word address of s2 */
+ ldwm 4(s2),s2word /* get first word of s2 */
+ ldwm 4(s1),s1word /* get first word of s1 */
+ combt,=,n r0,tmp5,masks1 /* Do we need to mask beginning of s2 */
+ sh3add tmp5,r0,save /* save now has number of bits to mask */
+ mtctl save,r11
+ zvdepi -2,32,save /* load save with proper mask */
+ or save,s2word,s2word
+masks1:
+ sh3add tmp1,r0,save /* save now has number of bits to mask */
+ mtctl save,r11
+ zvdepi -2,32,save /* load save with proper mask */
+ or save,s1word,s1word
+ ldi -1,tmp7 /* load tmp7 with 0xffffffff */
+ mtctl tmp3,r11 /* Move shift amount to CR11 */
+more1: uxor,nbz s2word,r0,r0 /* is there a null in s2? */
+ b ends2
+ vshd tmp7,s2word,save
+ combf,=,n s1word,save,cmps2
+ ldwm 4(s2),tmp7
+ ldwm 4(s1),s1word
+ uxor,nbz tmp7,r0,r0 /* is there a null in s2? */
+ b ends2_0
+ vshd s2word,tmp7,save
+ combf,=,n s1word,save,cmps2
+ ldwm 4(s2),s2word
+ b more1
+ ldwm 4(s1),s1word
+
+cmps2: movb,tr save,s2word,wordcomparereturn
+ nop
+
+ends2_0:
+ copy tmp7,s2word /* move tmp7 to s2word */
+ends2:
+ combf,=,n s1word,save,nullins1 /* branch if no match */
+ copy save,s2word /* delay slot */
+/* At this point, we know that we've read a null */
+/* from s2, so we can't read more from s2 */
+ uxor,nbz save,r0,r0 /* are the strings equal? */
+ b,n samestring
+ vshd s2word,r0,s2word
+ b nullins1
+ ldwm 4(s1),s1word
+
+EXIT(strcmp)
diff --git a/newlib/libc/machine/hppa/strcpy.S b/newlib/libc/machine/hppa/strcpy.S
new file mode 100644
index 00000000000..3068cd5e1fa
--- /dev/null
+++ b/newlib/libc/machine/hppa/strcpy.S
@@ -0,0 +1,285 @@
+/*
+ * (c) Copyright 1986 HEWLETT-PACKARD COMPANY
+ *
+ * To anyone who acknowledges that this file is provided "AS IS"
+ * without any express or implied warranty:
+ * permission to use, copy, modify, and distribute this file
+ * for any purpose is hereby granted without fee, provided that
+ * the above copyright notice and this notice appears in all
+ * copies, and that the name of Hewlett-Packard Company not be
+ * used in advertising or publicity pertaining to distribution
+ * of the software without specific, written prior permission.
+ * Hewlett-Packard Company makes no representations about the
+ * suitability of this software for any purpose.
+ */
+
+/*
+ A faster strcpy.
+
+ by
+
+ Jerry Huck (aligned case)
+ Daryl Odnert (equal-alignment case)
+ Edgar Circenis (non-aligned case)
+*/
+/*
+ * strcpy(s1, s2)
+ *
+ * Copy string s2 to s1. s1 must be large enough.
+ * return s1
+ */
+
+#include "DEFS.h"
+
+#define d_addr r26
+#define s_addr r25
+#define tmp6 r24
+#define tmp1 r19
+#define evenside r19
+#define tmp2 r20
+#define oddside r20
+#define tmp3 r21
+#define tmp4 r22
+#define tmp5 arg3
+#define save r1
+
+
+ENTRY(strcpy)
+/* Do some quick alignment checking on and fast path both word aligned */
+ extru,<> s_addr,31,2,tmp6 /*Is source word aligned? */
+ ldwm 4(0,s_addr),oddside /*Assume yes and guess that it
+ is double-word aligned. */
+ dep,= d_addr,29,2,tmp6 /*Is target word aligned? */
+ b case_analysis
+ copy d_addr,ret0
+/* Both are aligned. First source word already loaded assuming that
+ source was oddword aligned. Fall through (therefore fastest) code
+ shuffles the registers to join the main loop */
+bothaligned:
+ bb,>= s_addr,29,twoatatime /*Branch if source was odd aligned*/
+ uxor,nbz oddside,r0,save
+
+/* Even aligned source. save holds that operand.
+ Do one iteration of the main copy loop juggling the registers to avoid
+ one copy. */
+ b,n nullfound
+ ldwm 4(s_addr),oddside
+ stwm save,4(d_addr)
+ uxor,nbz oddside,r0,save
+ b,n nullfound
+ ldwm 4(s_addr),evenside
+ stwm oddside,4(d_addr)
+ uxor,nbz evenside,r0,save
+ b,n nullfound
+ ldwm 4(s_addr),oddside
+
+/* Main loop body. Entry expects evenside still to be stored, oddside
+ just loaded. */
+loop:
+ stwm evenside,4(d_addr)
+ uxor,nbz oddside,r0,save
+
+/* mid loop entry */
+twoatatime:
+ b,n nullfound
+ ldwm 4(s_addr),evenside
+ stwm oddside,4(d_addr)
+ uxor,sbz evenside,r0,save
+ b loop
+ ldwm 4(s_addr),oddside
+
+/* fall through when null found in evenside. oddside actually loaded */
+nullfound: /* adjust d_addr and store final word */
+
+ extru,<> save,7,8,r0 /* pick up leftmost byte */
+ addib,tr,n 1,d_addr,store_final
+ extru,<> save,15,8,r0
+ addib,tr,n 2,d_addr,store_final
+ extru,<> save,23,8,r0
+ addib,tr 3,d_addr,store_final2
+ bv 0(rp)
+ stw save,0(d_addr)
+
+store_final:
+ bv 0(rp)
+store_final2:
+ stbys,e save,0(d_addr) /* delay slot */
+
+case_analysis:
+
+ blr tmp6,r0
+ nop
+
+ /* NOTE: the delay slots for the non-aligned cases load a */
+ /* shift quantity which is TGT-SRC into tmp3. */
+ /* Note also, the case for both strings being word aligned */
+ /* is already checked before the BLR is executed, so that */
+ /* case can never occur. */
+
+ /* TGT SRC */
+ nop /* 00 00 can't happen */
+ nop
+ b neg_aligned_copy /* 00 01 */
+ ldi -1,tmp3 /* load shift quantity. delay slot */
+ b neg_aligned_copy /* 00 10 */
+ ldi -2,tmp3 /* load shift quantity. delay slot */
+ b neg_aligned_copy /* 00 11 */
+ ldi -3,tmp3 /* load shift quantity. delay slot */
+ b pos_aligned_copy0 /* 01 00 */
+ ldi 1,tmp3 /* load shift quantity. delay slot */
+ b equal_alignment_1 /* 01 01 */
+ ldbs,ma 1(s_addr),tmp1
+ b neg_aligned_copy /* 01 10 */
+ ldi -1,tmp3 /* load shift quantity. delay slot */
+ b neg_aligned_copy /* 01 11 */
+ ldi -2,tmp3 /* load shift quantity. delay slot */
+ b pos_aligned_copy0 /* 10 00 */
+ ldi 2,tmp3 /* load shift quantity. delay slot */
+ b pos_aligned_copy /* 10 01 */
+ ldi 1,tmp3 /* load shift quantity. delay slot */
+ b equal_alignment_2 /* 10 10 */
+ ldhs,ma 2(s_addr),tmp1
+ b neg_aligned_copy /* 10 11 */
+ ldi -1,tmp3 /* load shift quantity. delay slot */
+ b pos_aligned_copy0 /* 11 00 */
+ ldi 3,tmp3 /* load shift quantity. delay slot */
+ b pos_aligned_copy /* 11 01 */
+ ldi 2,tmp3 /* load shift quantity. delay slot */
+ b pos_aligned_copy /* 11 10 */
+ ldi 1,tmp3 /* load shift quantity. delay slot */
+ ldbs,ma 1(s_addr),tmp1 /* 11 11 */
+ comiclr,<> r0,tmp1,r0
+ bv 0(rp) /* return if 1st byte was null */
+ stbs,ma tmp1,1(d_addr) /* store a byte to dst string */
+ b bothaligned /* can now goto word_aligned */
+ ldwm 4(s_addr),oddside /* load next word of source */
+
+equal_alignment_1:
+ comiclr,<> r0,tmp1,r0 /* nullify next if tmp1 <> 0 */
+ bv 0(rp) /* return if null byte found */
+ stbs,ma tmp1,1(d_addr) /* store a byte to dst string */
+ ldhs,ma 2(s_addr),tmp1 /* load next halfword */
+equal_alignment_2:
+ extru,<> tmp1,23,8,tmp6 /* look at left byte of halfword */
+ bv 0(rp) /* return if 1st byte was null */
+ stbs,ma tmp6,1(d_addr)
+ extru,<> tmp1,31,8,r0
+ bv 0(rp) /* return if 2nd byte was null */
+ stbs,ma tmp1,1(d_addr)
+ b bothaligned
+ ldwm 4(s_addr),oddside /* load next word */
+
+/* source and destination are not aligned, so we do it the hard way. */
+
+/* target alignment is greater than source alignment */
+pos_aligned_copy0:
+ addi -4,s_addr,s_addr
+pos_aligned_copy:
+ extru d_addr,31,2,tmp6 /* Extract low 2 bits of the dest addr */
+ extru s_addr,31,2,tmp1 /* Extract low 2 bits of the src addr */
+ dep r0,31,2,s_addr /* Compute word address of the source. */
+ sh3add tmp3,r0,tmp4 /* compute shift amt */
+ ldwm 4(0,s_addr),tmp2 /* get 1st source word */
+ sh3add tmp1,r0,save /* setup mask shift amount */
+ mtctl save,r11 /* set-up cr11 for mask */
+ zvdepi -2,32,save /* create mask */
+ or save,tmp2,tmp2 /* mask unused bytes in src */
+ ldi -1,tmp1 /* load tmp1 with 0xffffffff */
+ mtctl tmp4,r11 /* shift count -> shift count reg */
+ vshd tmp1,tmp2,tmp3 /* position data ! */
+ uxor,nbz tmp3,r0,save
+ b,n first_null
+ uxor,nbz tmp2,r0,save
+ b nullfound1
+ mtctl tmp4,r11 /* re-load shift cnt (delay slot) */
+ b loop_entry
+ ldwm 4(0,s_addr),tmp1 /* get next word. delay slot */
+
+neg_aligned_copy:
+ extru d_addr,31,2,tmp6 /* Extract low 2 bits of the dest addr */
+ extru s_addr,31,2,tmp2 /* Extract low 2 bits of the src addr */
+ dep r0,31,2,s_addr /* Compute word address of the source. */
+ sh3add tmp3,r0,tmp4 /* compute shift amt */
+ ldwm 4(0,s_addr),tmp1 /* load first word from source. */
+/* check to see if next word can be read safely */
+ sh3add tmp2,r0,save
+ mtctl save,r11 /* shift count -> shift count reg */
+ zvdepi -2,32,save
+ or save, tmp1, tmp1
+ uxor,nbz tmp1,r0,save /* any nulls in first word? */
+ b first_null0
+ mtctl tmp4,r11
+ ldwm 4(0,s_addr),tmp2 /* load second word from source */
+ combt,= tmp6,r0,chunk1 /* don't mask if whole word valid */
+ vshd tmp1,tmp2,tmp3 /* position data ! */
+ sh3add tmp6,r0,save /* setup r1 */
+ mtctl save,r11 /* set-up cr11 for mask */
+ zvdepi -2,32,save
+ or save, tmp3, tmp3
+ uxor,nbz tmp3,r0,save
+ b,n first_null
+ uxor,nbz tmp2,r0,save
+ b nullfound1
+ mtctl tmp4,r11 /* re-load shift cnt (delay slot) */
+ b loop_entry
+ ldwm 4(0,s_addr),tmp1 /* get next word. delay slot */
+
+chunk1:
+ uxor,nbz tmp2,r0,save
+ b nullfound0
+ vshd tmp1,tmp2,tmp3
+did_mask:
+ ldwm 4(0,s_addr),tmp1 /* get next word ! */
+loop_entry:
+ stbys,b,m tmp3,4(0,d_addr) /* store ! */
+
+ uxor,nbz tmp1, r0, save
+ b nullfound2
+ vshd tmp2,tmp1,tmp3 /* position data ! */
+ ldwm 4(s_addr),tmp2
+ stwm tmp3,4(d_addr)
+ uxor,sbz tmp2,r0,save
+ b did_mask
+nullfound0:
+ vshd tmp1,tmp2,tmp3 /* delay slot */
+ uxor,nbz tmp3,r0,save
+ b,n nullfound
+nullfound1:
+ stbys,b,m tmp3,4(0,d_addr)
+ b nullfound
+ vshd tmp2,r0,save /* delay slot */
+
+nullfound2:
+ uxor,nbz tmp3,r0,save
+ b,n nullfound
+ stwm tmp3,4(d_addr)
+ b nullfound
+ /* notice that delay slot is in next routine */
+
+first_null0: /* null found in first word of non-aligned (wrt d_addr) */
+ vshd tmp1,r0,save /* delay slot */
+ combt,= tmp6,r0,check4
+ extru save,7,8,tmp4
+first_null:
+ addibt,= -1,tmp6,check3 /* check last 3 bytes of word */
+ extru save,15,8,tmp4
+ addibt,=,n -1,tmp6,check2 /* check last 2 bytes */
+ bv 0(rp) /* null in last byte--store and exit */
+ stbys,b save, 0(d_addr)
+
+check4:
+ combt,= tmp4,r0,done
+ stbs,ma tmp4,1(d_addr)
+ extru,<> save,15,8,tmp4
+check3:
+ combt,= tmp4,r0,done
+ stbs,ma tmp4,1(d_addr)
+check2:
+ extru,<> save,23,8,tmp4
+ bv 0(rp)
+ stbs,ma tmp4,1(d_addr)
+ bv 0(rp)
+ stbs r0,0(d_addr)
+
+done:
+EXIT(strcpy)
diff --git a/newlib/libc/machine/hppa/strlen.S b/newlib/libc/machine/hppa/strlen.S
new file mode 100644
index 00000000000..12e9ef2a946
--- /dev/null
+++ b/newlib/libc/machine/hppa/strlen.S
@@ -0,0 +1,79 @@
+/*
+ * (c) Copyright 1986 HEWLETT-PACKARD COMPANY
+ *
+ * To anyone who acknowledges that this file is provided "AS IS"
+ * without any express or implied warranty:
+ * permission to use, copy, modify, and distribute this file
+ * for any purpose is hereby granted without fee, provided that
+ * the above copyright notice and this notice appears in all
+ * copies, and that the name of Hewlett-Packard Company not be
+ * used in advertising or publicity pertaining to distribution
+ * of the software without specific, written prior permission.
+ * Hewlett-Packard Company makes no representations about the
+ * suitability of this software for any purpose.
+ */
+
+/* HPUX_ID = "@(#) $Revision$" */
+/* strlen(s): Return length of string s */
+
+#define start arg0
+#define end ret0
+#define tmp1 arg1
+#define tmp2 arg2
+
+#include "DEFS.h"
+
+ENTRY(strlen)
+ movb,=,n start,end,$null_ptr
+ depi 0,31,2,end
+ comb,<> start,end,$not_aligned
+ ldws,ma 4(end),tmp1
+ comib,tr 0,0,$loop /* avoid INDIGO two register interlock */
+ uxor,nbz 0,tmp1,0
+$not_aligned:
+ /*
+ ; Tricky code. The problem is that the value of of the word
+ ; including the start of the string has some garbage bytes that
+ ; may be 0. We don't want them to stop the string scan. So
+ ; we make those bytes non-zero (and any old non-zero value
+ ; will do). Notice that the end pointer has been rounded
+ ; down to a word boundary, and then incremented to the next
+ ; word by the time we get here. Therefore, (start-end) has
+ ; one of the values (-3, -2, or -1). Use uaddcm to do the
+ ; subtraction (instead of sub), and the result will be
+ ; (-4, -3, or -2). Multiply this by 8, and put into the
+ ; shift register (which truncates to the last 5 bits) and
+ ; the value will be (0, 8, or 16). Use this as a bit position,
+ ; and drop a mask down into tmp1. All the garbage bytes will
+ ; have at least 1 bit affected by the vdepi, so all the garbage
+ ; in this first word will be non-zero garbage.
+ */
+ uaddcm start,end,tmp2 /* tmp2 <- { -4, -3, -2 } */
+ sh3add tmp2,0,tmp2 /* tmp2 <- { -32, -24, -16 } */
+ mtsar tmp2 /* sar <- { 0, 8, 16 } */
+ vdepi -1,32,tmp1
+ uxor,nbz 0,tmp1,0
+$loop:
+ b,n $end_loop
+ ldws,ma 4(end),tmp1
+ comib,tr 0,0,$loop /* avoid INDIGO two register interlock */
+ uxor,nbz 0,tmp1,0
+$end_loop:
+ /* adjust the end pointer to one past the end of the string */
+ extru,<> tmp1,7,8,0
+ addib,tr,n -3,end,$out
+ extru,<> tmp1,15,8,0
+ addib,tr,n -2,end,$out
+ extru,<> tmp1,23,8,0
+ addi -1,end,end
+$out:
+ bv 0(rp)
+ /*
+ ; tricky code. the end pointer is just beyond the terminating
+ ; null byte, so the length is (end-start-1). use uaddcm
+ ; to do this in 1 instruction
+ */
+ uaddcm end,start,ret0
+
+$null_ptr:
+EXIT(strlen)
diff --git a/newlib/libc/machine/hppa/strncat.S b/newlib/libc/machine/hppa/strncat.S
new file mode 100644
index 00000000000..04bd156c96c
--- /dev/null
+++ b/newlib/libc/machine/hppa/strncat.S
@@ -0,0 +1,238 @@
+/*
+ * (c) Copyright 1986 HEWLETT-PACKARD COMPANY
+ *
+ * To anyone who acknowledges that this file is provided "AS IS"
+ * without any express or implied warranty:
+ * permission to use, copy, modify, and distribute this file
+ * for any purpose is hereby granted without fee, provided that
+ * the above copyright notice and this notice appears in all
+ * copies, and that the name of Hewlett-Packard Company not be
+ * used in advertising or publicity pertaining to distribution
+ * of the software without specific, written prior permission.
+ * Hewlett-Packard Company makes no representations about the
+ * suitability of this software for any purpose.
+ */
+
+/*HPUX_ID: @(#) $Revision$ */
+/* strncat(s1,s2,n) : concatonate at most n characters from s2 onto s1 */
+
+#include "DEFS.h"
+
+#define d_addr r26
+#define s_addr r25
+#define count r24
+#define tmp1 r19
+#define tmp2 r20
+#define tmp3 r21
+#define tmp4 r22
+#define tmp5 arg3
+#define tmp6 r31
+#define save r1
+#define tmp7 ret1 /* source offset-- reset to orig source addr if not aligned */
+
+
+ENTRY(strncat)
+
+ comb,= r0,s_addr,quit /* quit if s2=NULL */
+ copy d_addr,ret0 /* The return value is the value of d_addr. DELAY SLOT*/
+
+/* First look for end of s1 (d_addr) */
+
+ extru d_addr,31,2,tmp1 /* Extract the low two bits of the dest address. */
+ combt,= tmp1,r0,dont_mask
+ dep 0,31,2,d_addr /*set word alignment */
+ ldwm 4(d_addr),tmp2
+ sh3add tmp1,r0,save /* build mask based on tmp1 */
+ mtctl save,11
+ zvdepi -2,32,save
+ or save,tmp2,tmp2
+ uxor,nbz tmp2,r0,save
+search:
+ b,n found_end /* nullified under uxor conditions above and below */
+dont_mask:
+ ldwm 4(d_addr),tmp2
+ comib,tr r0,r0,search
+ uxor,nbz tmp2,r0,save
+
+found_end: /* at this point d_addr points to word */
+ extru,<> save,7,8,r0 /* following word with null */
+ addib,tr,n -4,d_addr,begin_copy /*set d_addr to end of s1 */
+ extru,<> save,15,8,r0
+ addib,tr,n -3,d_addr,begin_copy
+ extru,<> save,23,8,r0
+ addi -1,d_addr,d_addr
+ addi -1,d_addr,d_addr
+
+
+begin_copy:
+ addibt,<,n -4,count,byteloop /* If count is <= 4 don't get fancy.*/
+
+ extru s_addr,31,2,tmp4 /* Extract the low two bits of the source address.*/
+ extru d_addr,31,2,tmp5 /* Extract the low two bits of the destination address.*/
+ add count,tmp5,count /* pre increment the count by the byte address so that the count is*/
+ copy s_addr,tmp6 /* save original s_addr in case we find null in first word */
+ copy s_addr, tmp7 /* save s_addr in case we find null before first store */
+ comb,<> tmp5,tmp4,not_aligned /* branch if tmp5<>tmp4. */
+ dep 0,31,2,s_addr /* Compute the word address of the source. DELAY SLOT.*/
+/* aligned*/
+ combt,= tmp5,r0,skip_mask
+ ldwm 4(0,s_addr),tmp1 /* tmp1 = *s_addr s_addr += 4 (DELAY SLOT)*/
+ sh3add tmp5,r0,save /* compute mask in save*/
+ mtctl save,11
+ zvdepi -2,32,save
+ or save,tmp1,tmp1 /* or mask with data*/
+ uxor,nbz tmp1,r0,save /* check for null*/
+ b,n null1
+ addibt,< -4,count,back_porch
+ stbys,b,m tmp1,4(0,d_addr) /* store word (delay slot)*/
+
+chunks:
+ ldwm 4(0,s_addr),tmp1 /* get a word*/
+
+skip_mask:
+ uxor,nbz tmp1,r0,save /* check for null*/
+ b,n align_null1
+ addibf,< -4,count,chunks
+ stbys,b,m tmp1,4(0,d_addr) /* store word (delay slot)*/
+
+back_porch: /* last word to store*/
+ addibt,=,n 4,count,done /* if count = 0 we're, of course, done !*/
+ ldws 0(s_addr),tmp1 /* load up the back_porch*/
+ sh3add count,r0, save /* setup right mask based on count*/
+ mtctl save,r11
+ zvdepi -2,32,save /*save now has left-hand mask*/
+ uaddcm r0,save,save /*form right hand mask */
+ or tmp1,save,tmp1 /*and insert data*/
+ uxor,nbz tmp1,r0,save /* check for null*/
+ b,n null2
+ add d_addr,count,d_addr/* final store address is +1 too high !*/
+ b done
+ stbys,e tmp1,0(d_addr) /* done */
+
+/* Begin non_aligned code. */
+not_aligned:
+ sub,>= tmp5,tmp4,tmp6 /* compute the shift amt.and skip load if tmp5 > tmp4.*/
+ ldwm 4(0,s_addr),tmp1 /* load up the first word from the source. tmp1 = *s_addr++*/
+ zdep tmp6,28,29,tmp4 /* compute the number of bits to shift */
+ mtctl tmp4,11 /* load the shift count into cr11 = shift count register.*/
+ addibt,<,n -4,count,chkchnk2 /* first step in pre adjustment of count for looping.*/
+
+ ldwm 4(0,s_addr),tmp2 /* get either first or second word from source. */
+ combt,= tmp5,r0,skip_mask4 /* don't mask if whole word is valid*/
+ vshd tmp1,tmp2,tmp3 /* position data ! (delay slot)*/
+ sh3add tmp5,r0,save /* setup r1*/
+ mtctl save,r11 /* setup mask in save*/
+ zvdepi -2,32,save
+ or save, tmp3, tmp3
+ mtctl tmp4,11 /* re-load the shift count into cr11 */
+
+skip_mask4:
+ uxor,nbz tmp3, r0, save
+ b,n null4 /* special case for first word */
+ copy r0, tmp5 /* zero out tmp5 so we don't try to mask again*/
+ copy r0, tmp7 /* zero out tmp7 so we don't try to use original s_addr anymore */
+ b continue
+ stbys,b,m tmp3,4(0,d_addr) /* store ! */
+
+chunk2:
+ ldwm 4(0,s_addr),tmp2
+ vshd tmp1,tmp2,tmp3
+
+skip_mask2:
+ uxor,nbz tmp3, r0, save
+ b,n null3
+ stbys,b,m tmp3,4(0,d_addr) /* store ! */
+
+continue:
+ ldwm 4(0,s_addr),tmp1 /* get 2nd word ! */
+ vshd tmp2,tmp1,tmp3 /* position data ! */
+ uxor,nbz tmp3, r0, save
+ b,n null3
+
+ addibf,< -8,count,chunk2 /* If count is still >= 8 do another loop.*/
+ stbys,b,m tmp3,4(0,d_addr) /* store !*/
+
+chkchnk2:
+ addibt,<,n 4,count,bp_0 /* if we don't have 4 bytes left then do the back porch (bp_0)*/
+
+subchnk2: /* we have less than 8 chars to copy*/
+
+ ldwm 4(0,s_addr),tmp2 /* get next word !*/
+ combt,= tmp5,r0,skip_mask3
+ vshd tmp1,tmp2,tmp3 /* position data !*/
+ sh3add tmp5,r0,save /* setup r1*/
+ mtctl save,r11 /* setup mask in save*/
+ zvdepi -2,32,save
+ or save, tmp3, tmp3
+ mtctl tmp4,11 /* restore shift value again */
+skip_mask3:
+ uxor,nbz tmp3,r0,save
+ b,n null3
+ copy r0,tmp5 /* zero out tmp5 so null3 does correct alignment */
+ copy r0,tmp7 /* zero out tmp7 so we don't use orignal s_addr since no longer valid */
+ b bp_1 /* we now have less than 4 bytes to move*/
+ stbys,b,m tmp3,4(0,d_addr) /* store !*/
+
+bp_0:
+ copy tmp1,tmp2 /* switch registers for shift process */
+ addibt,<=,n 4,count,done /* if count = -4 this implies that count = 0 -> done */
+
+bp_1:
+ ldwm 4(0,s_addr),tmp1 /* get final word ! */
+ vshd tmp2,tmp1,tmp3 /* position data !*/
+ uxor,nbz tmp3,r0,save /* if no-byte-zero */
+ b,n bp_null /* don't goto no_null-find which null instead */
+no_null:
+ add d_addr,count,d_addr /* set up d_addr for stbys,e */
+ b done /* were done*/
+ stbys,e tmp3,0(0,d_addr) /* store the data !*/
+
+/* here we do ye old byte-at-a-time moves.*/
+align_null1:
+ b byteloop
+ addi -4,s_addr,s_addr
+null1:
+ copy tmp6,s_addr /* restore orig s_addr (aligned only) */
+byteloop:
+ addibt,= 4,count,done
+null2:
+ ldbs,ma 1(s_addr),tmp1
+encore:
+ combt,=,n tmp1,r0, done
+ stbs,ma tmp1,1(d_addr)
+ addibf,=,n -1,count,encore
+ ldbs,ma 1(s_addr),tmp1
+ b,n done
+
+bp_null:
+ addi -4,count,count /* fudge count 'cause byteloop will re-increment */
+
+null3: /* not_aligned case reset s_addr and finish byte-wise */
+ combt,=,n r0,tmp7,null3a /* if tmp7 is not valid address then branch below */
+ b byteloop /* otherwise reset s_addr to tmp7 and finish */
+ copy tmp7, s_addr
+
+null3a: /* right shift target */
+ addibt,<,n 0,tmp6,null3b /* if left shifting */
+ sub r0,tmp6,tmp6 /* do null3b code */
+ addi -4,tmp6,tmp6
+ b byteloop
+ add tmp6,s_addr,s_addr /* reset s_addr by 4 + shift_amt */
+
+null3b:
+ subi -8,tmp6,tmp6
+ add tmp5,tmp6,tmp6 /* adjust by the dest offset if this is our first store */
+ b byteloop
+ add tmp6,s_addr,s_addr /* adjust s_addr by (8-shift_amt-dest_off) */
+
+null4:
+ add,> tmp6,r0,tmp6 /* if left shift */
+ b,n null3 /* then do null3 */
+ b byteloop
+ addi -4,s_addr,s_addr /* adj source only by 4 */
+
+done:
+ bv 0(r2)
+ stbs r0,0(d_addr)
+quit:
+EXIT(strncat)
diff --git a/newlib/libc/machine/hppa/strncmp.S b/newlib/libc/machine/hppa/strncmp.S
new file mode 100644
index 00000000000..222384ee7dd
--- /dev/null
+++ b/newlib/libc/machine/hppa/strncmp.S
@@ -0,0 +1,189 @@
+/*
+ * (c) Copyright 1986 HEWLETT-PACKARD COMPANY
+ *
+ * To anyone who acknowledges that this file is provided "AS IS"
+ * without any express or implied warranty:
+ * permission to use, copy, modify, and distribute this file
+ * for any purpose is hereby granted without fee, provided that
+ * the above copyright notice and this notice appears in all
+ * copies, and that the name of Hewlett-Packard Company not be
+ * used in advertising or publicity pertaining to distribution
+ * of the software without specific, written prior permission.
+ * Hewlett-Packard Company makes no representations about the
+ * suitability of this software for any purpose.
+ */
+
+/* strcmp(s1, s2) */
+/* returns integer: < 0 iff s1 lexicographically less than s2 */
+/* > 0 iff s1 lexicographically greater than s2 */
+/* = 0 iff s1 lexicographically equal to s2 */
+/* = 0 iff s1 lexicographically equal to s2 */
+/* quit after n charachters */
+#include "DEFS.h"
+
+#define s1 26
+#define s2 25
+#define tmp1 19
+#define s2word 20
+#define tmp3 21
+#define tmp7 22
+#define s1word 29
+#define save 1
+#define tmp6 23
+#define tmp5 28
+#define count 24
+
+ENTRY(strncmp)
+ combt,<,n r0,count,search /* N <= 0 yields equality */
+ bv r0(rp) /* */
+ copy 0,ret0 /* return 0 (DELAY SLOT) */
+search: combf,=,n s1,s2,findout /* s1 != s2? */
+ bv r0(rp) /* */
+ copy 0,ret0 /* return 0 (delay slot) */
+findout:
+ comibf,=,n 0,s1,checks1 /* s1 == NULL? */
+ ldbs 0(0,s2),ret0 /* */
+ bv r0(rp) /* */
+ subi 0,ret0,ret0 /* ret0 <- -*s2 */
+checks1:
+ comibf,=,n 0,s2,checkitout /* s2 == NULL? */
+ bv r0(rp) /* */
+ ldbs 0(0,s1),28 /* return *s1 */
+
+checkitout:
+ extru s2,31,2,tmp1 /* Extract the low two bits of the s2. */
+ extru s1,31,2,tmp5 /* Extract the low two bits of the s1 */
+ sub,= tmp5,tmp1,tmp3 /* Are s1 & s2 aligned with each other? */
+ b not_aligned /* It's more complicated (not_aligned) */
+ dep 0,31,2,s1 /* Compute word address of s1 (DELAY SLOT) */
+ dep 0,31,2,s2 /* Compute word address of s2 */
+ ldwm 4(0,s1),s1word /* get next s1 word s1+=4 */
+ combt,= tmp5,r0,skipmask /* skip masking, if we can */
+ ldwm 4(0,s2),s2word /* get next s2 word s2+=4 (DELAY SLOT) */
+ add tmp5,count,count /* bump count by the number of bytes */
+ /* we are going to mask */
+ sh3add tmp5,r0,save /* save now has number of bits to mask */
+ mtctl save,11
+ zvdepi -2,32,save /* load save with proper mask */
+ or save,s1word,s1word /* mask s1word (s1) */
+ or save,s2word,s2word /* mask s2word (s2) */
+
+
+skipmask:
+ combt,=,n s1word,s2word,chknulls /* are these words equal? */
+
+checkbyte:
+ extru s1word,7,8,tmp3 /* get first byte (character) */
+ckbyte2: extru s2word,7,8,tmp7 /* get first byte (character) */
+ combf,= tmp3,tmp7,done /* quit if first byte is not equal */
+ sub tmp3,tmp7,ret0 /* return difference (delay slot) */
+ comibt,=,n 0,tmp3,done /* have we reached the end of string */
+ /* if so done ret0 already has zero */
+ addibt,<=,n -1,count,done /* have we checked N chars? ret0 == 0 */
+ extru s1word,15,8,tmp3 /* get second byte (character) */
+ extru s2word,15,8,tmp7 /* get second byte (character) */
+ combf,= tmp3,tmp7,done /* quit if second byte is not equal */
+ sub tmp3,tmp7,ret0 /* return difference (delay slot) */
+ comibt,=,n 0,tmp3,done /* have we reached the end of string */
+ /* if so done ret0 already has zero */
+ addibt,<=,n -1,count,done /* have we checked N chars? */
+ extru s1word,23,8,tmp3 /* get third byte (character) */
+ extru s2word,23,8,tmp7 /* get third byte (character) */
+ combf,= tmp3,tmp7,done /* done if third byte is not equal */
+ sub tmp3,tmp7,ret0 /* return difference (delay slot) */
+ comibt,=,n 0,tmp3,done /* have we reached the end of string */
+ /* if so done ret0 already has zero */
+ addibt,<=,n -1,count,done /* have we checked N chars? */
+ extru s1word,31,8,tmp3 /* get last byte (character) */
+ extru s2word,31,8,tmp7 /* get last byte (character) */
+ bv r0(rp) /* */
+ sub tmp3,tmp7,ret0 /* the last characters in the word is */
+ /* where the difference is, so return */
+ /* the difference and we're outta here */
+
+
+chknulls:
+ addibt,<=,n -4,count,zero /* have we checked N chars? */
+ uxor,nbz s1word,0,0 /* don't have to check s2 Just quit */
+ bv r0(rp) /* */
+ copy 0,28 /* return 0 */
+ ldwm 4(0,s2),s2word /* get next s2 word s2+=4 */
+ b skipmask /* keep checking */
+ ldwm 4(0,s1),s1word /* get next s1 word s1+=4 */
+
+
+not_aligned:
+ dep r0,31,2,s2 /* Compute word address of s2 */
+ combt,<,n r0,tmp3,shifts1 /* Do we shift s1 or s2 */
+ sh3add tmp3,r0,tmp3 /* eight bits per byte so mul by 8 */
+ ldwm 4(0,s1),s1word /* get first word of s1 */
+ ldwm 4(0,s2),s2word /* get first word or s2 */
+ combt,=,n r0,tmp5,masks2 /* Do we need to mask beginning of s1 */
+ add tmp5,count,count /* bump count by the number of bytes */
+ /* we are going to mask */
+ sh3add tmp5,r0,save /* save now has number of bits to mask */
+ mtctl save,11
+ zvdepi -2,32,save /* load save with proper mask */
+ or save,s1word,s1word /* */
+masks2: sh3add tmp1,r0,save /* save now has number of bits to mask */
+ mtctl save,11
+ zvdepi -2,32,save /* load save with proper mask */
+ or save,s2word,s2word /* */
+ mtctl tmp3,11 /* Move shift amount to CR11 */
+more: uxor,nbz s2word,r0,r0 /* Is there a null in first word */
+ b,n chunk1 /* */
+ ldwm 4(0,s2),tmp7 /* load second word to enable us to shift */
+ vshd s2word,tmp7,s2word /* */
+ combf,=,n s1word,s2word,ckbyte2 /* */
+ extru s1word,7,8,tmp3 /* get first byte (DELAY SLOT) */
+ addibt,<=,n -4,count,zero /* have we checked N chars? */
+ uxor,nbz s1word,0,0 /* even though they're equal we could be done */
+ b,n zero
+ copy tmp7,s2word /* */
+ b more /* keep checking */
+ ldwm 4(0,s1),s1word /* get next s1 (DELAY SLOT) */
+
+chunk1:
+ vshd s2word,r0,s2word /* */
+ b ckbyte2 /* */
+ extru s1word,7,8,tmp3 /* */
+
+
+shifts1:
+ sh3add tmp3,r0,tmp3 /* eight bits per byte so mul by 4 */
+ sub r0,tmp3,tmp3 /* Get negative value for left shift */
+ ldwm 4(0,s2),s2word /* get first word of s2 */
+ ldwm 4(0,s1),s1word /* get first word or s1 */
+ combt,=,n r0,tmp1,masks1 /* Do we need to mask beginning of s2 */
+ add tmp1,count,count /* bump count by the number of bytes */
+ /* we are going to mask */
+ sh3add tmp1,r0,save /* save now has number of bits to mask */
+ mtctl save,11
+ zvdepi -2,32,save /* load save with proper mask */
+ or save,s2word,s2word /* */
+masks1: sh3add tmp5,r0,save /* save now has number of bits to mask */
+ mtctl save,11
+ zvdepi -2,32,save /* load save with proper mask */
+ or save,s1word,s1word /* */
+ mtctl tmp3,11 /* Move shift amount to CR11 */
+more1: uxor,nbz s1word,r0,r0 /* Is there a null in first byte */
+ b,n chunk2 /* */
+ ldwm 4(0,s1),tmp7 /* load second word to enable us to shift */
+ vshd s1word,tmp7,s1word /* */
+ combf,=,n s2word,s1word,ckbyte2 /* */
+ extru s1word,7,8,tmp3 /* get first byte (DELAY SLOT) */
+ addibt,<=,n -4,count,zero /* have we checked N chars? */
+ uxor,nbz s2word,0,0 /* even though they're equal we could be done */
+ b,n zero /* zero ret0 and quit */
+ copy tmp7,s1word /* */
+ b more1 /* keep checking */
+ ldwm 4(0,s2),s2word /* get next s2 (DELAY SLOT) */
+
+chunk2:
+ vshd s1word,r0,s1word /* */
+ b ckbyte2 /* */
+ extru s1word,7,8,tmp3 /* */
+
+zero: copy r0,ret0
+done:
+EXIT(strncmp)
diff --git a/newlib/libc/machine/hppa/strncpy.S b/newlib/libc/machine/hppa/strncpy.S
new file mode 100644
index 00000000000..37ed8323770
--- /dev/null
+++ b/newlib/libc/machine/hppa/strncpy.S
@@ -0,0 +1,256 @@
+/*
+ * (c) Copyright 1986 HEWLETT-PACKARD COMPANY
+ *
+ * To anyone who acknowledges that this file is provided "AS IS"
+ * without any express or implied warranty:
+ * permission to use, copy, modify, and distribute this file
+ * for any purpose is hereby granted without fee, provided that
+ * the above copyright notice and this notice appears in all
+ * copies, and that the name of Hewlett-Packard Company not be
+ * used in advertising or publicity pertaining to distribution
+ * of the software without specific, written prior permission.
+ * Hewlett-Packard Company makes no representations about the
+ * suitability of this software for any purpose.
+ */
+
+/* HPUX_ID: @(#) $Revision$ */
+/*
+ * strncpy(s1, s2, n)
+ *
+ * Copy s2 to s1, truncating or null-padding to always copy n bytes
+ * return s1
+ */
+
+#include "DEFS.h"
+
+#define d_addr r26
+#define s_addr r25
+#define count r24
+#define tmp1 r19
+#define tmp2 r20
+#define tmp3 r21
+#define tmp4 r22
+#define tmp5 arg3
+#define save r1
+
+
+ENTRY(strncpy)
+
+ combt,= s_addr,r0,pad_null_bytes1 /* if s2==NULL then pad nulls and exit */
+ copy d_addr,ret0 /* The return value is defined to be the value of d_addr. DELAY SLOT*/
+ addibt,<,n -4,count,byteloop /* If count is <= 4 don't get fancy.*/
+
+ extru s_addr,31,2,tmp1 /* Extract the low two bits of the source address.*/
+ extru d_addr,31,2,tmp5 /* Extract the low two bits of the destination address.*/
+ add count,tmp5,count /* pre increment the count by the byte address so that the count is*/
+ comb,<> tmp5,tmp1,not_aligned /* branch if tmp5<>tmp1. */
+ dep 0,31,2,s_addr /* Compute the word address of the source. DELAY SLOT.*/
+/* aligned*/
+ combt,= tmp5,r0,skip_mask
+ ldwm 4(0,s_addr),tmp1 /* tmp1 = *s_addr s_addr += 4 (DELAY SLOT)*/
+ sh3add tmp5,r0,save /* compute mask in save*/
+ mtctl save,11
+ zvdepi -2,32,save
+ b skip_mask /* don't reload tmp1*/
+ or save,tmp1,tmp1 /* or mask with data*/
+
+chunks:
+ ldwm 4(0,s_addr),tmp1 /* get a word*/
+
+skip_mask:
+ uxor,nbz tmp1,r0,save /* check for null*/
+ b,n null1
+ addibf,< -4,count,chunks
+ stbys,b,m tmp1,4(0,d_addr) /* store word (delay slot)*/
+
+/* back_porch last word to store*/
+ addibt,=,n 4,count,done /* if count = 0 we're, of course, done !*/
+ ldws 0(s_addr),tmp1 /* load up the back_porch*/
+ add d_addr,count,d_addr/* final store address is +1 too high !*/
+ sh3add count,r0, save /* setup right mask based on count*/
+ mtctl save,r11
+ zvdepi -2,32,save /*save now has left-hand mask*/
+ uaddcm r0,save,save /*form right hand mask */
+ or tmp1,save,tmp1 /*and insert data*/
+ uxor,nbz tmp1,r0,save /* check for null*/
+ b,n null2
+ bv 0(r2)
+ stbys,e tmp1,0(d_addr) /* done */
+
+/* Begin non_aligned code. */
+not_aligned:
+ sub,>= tmp5,tmp1,tmp3 /* compute the shift amt.and skip load if tmp5 > tmp1.*/
+ ldwm 4(0,s_addr),tmp1 /* load up the first word from the source. tmp1 = *s_addr++*/
+ zdep tmp3,28,29,tmp4 /* compute the number of bits to shift */
+ mtctl tmp4,11 /* load the shift count into cr11 = shift count register.*/
+ addibt,<,n -4,count,chkchnk2 /* first step in pre adjustment of count for looping.*/
+
+ ldwm 4(0,s_addr),tmp2 /* get either first or second word from source. */
+ combt,= tmp5,r0,skip_mask2 /* don't mask if whole word is valid*/
+ vshd tmp1,tmp2,tmp3 /* position data ! (delay slot)*/
+ sh3add tmp5,r0,save /* setup r1*/
+ mtctl save,r11 /* setup mask in save*/
+ zvdepi -2,32,save
+ or save, tmp3, tmp3
+ mtctl tmp4,11 /* re-load the shift count into cr11 */
+ b skip_mask2
+ copy r0, tmp5 /* zero out tmp5 so we don't try to mask again*/
+
+chunk2:
+ ldwm 4(0,s_addr),tmp2
+ vshd tmp1,tmp2,tmp3
+
+skip_mask2:
+ uxor,nbz tmp3, r0, save
+ b,n null3
+ stbys,b,m tmp3,4(0,d_addr) /* store ! */
+
+ ldwm 4(0,s_addr),tmp1 /* get 2nd word ! */
+ vshd tmp2,tmp1,tmp3 /* position data ! */
+ uxor,nbz tmp3, r0, save
+ b,n null4
+
+ addibf,< -8,count,chunk2 /* If count is still >= 8 do another loop.*/
+ stbys,b,m tmp3,4(0,d_addr) /* store !*/
+
+chkchnk2:
+ addibt,<,n 4,count,bp_0 /* if we don't have 4 bytes left then do the back porch (bp_0)*/
+
+subchnk2: /* we have less than 8 chars to copy*/
+
+ ldwm 4(0,s_addr),tmp2 /* get next word !*/
+ combt,= tmp5,r0,skip_mask3
+ vshd tmp1,tmp2,tmp3 /* position data !*/
+ sh3add tmp5,r0,save /* setup r1*/
+ mtctl save,r11 /* setup mask in save*/
+ zvdepi -2,32,save
+ or save, tmp3, tmp3
+ mtctl tmp4,11 /* restore shift value again */
+ copy r0, tmp5 /* zero out tmp5 so we don't try to mask again*/
+skip_mask3:
+ uxor,nbz tmp3,r0,save
+ b,n null4
+ b bp_1 /* we now have less than 4 bytes to move*/
+ stbys,b,m tmp3,4(0,d_addr) /* store !*/
+
+bp_0:
+ copy tmp1,tmp2 /* switch registers used in the shift process.*/
+ addibt,<=,n 4,count,done /* if count = -4 this implies that count = 0 -> done */
+
+bp_1:
+ ldwm 4(0,s_addr),tmp1 /* get final word ! */
+ vshd tmp2,tmp1,tmp3 /* position data !*/
+ uxor,sbz tmp3,r0,save /* if some-byte-zero */
+ b no_null /* don't goto no_null-find which null instead */
+ add d_addr,count,d_addr /* get d_addr ready for stbys,e */
+ extru,<> save,7,8,r0
+ b found_null5
+ copy r0, tmp5
+ extru,<> save,15,8,r0
+ b found_null5
+ ldil 0x1FE000,tmp5 /* setup mask (FF000000)*/
+ extru,<> save,23,8,r0
+ b found_null5
+ ldil 0x1FFFE0,tmp5 /* setup mask (FFFF0000)*/
+ ldo -1(r0),tmp5 /* setup mask (FFFFFFFF)*/
+found_null5:
+ and tmp3,tmp5,tmp3 /* zero out tmp5 based on mask in tmp5*/
+no_null:
+ bv 0(r2) /* were done*/
+ stbys,e tmp3,0(0,d_addr) /* store the data !*/
+
+/* here we do ye old byte-at-a-time moves.*/
+byteloop:
+ addibt,=,n 4,count,done
+ comb,= 0,s_addr,done
+ stbs r0,0(d_addr) /* store null in case s_addr == NULL */
+ ldbs,ma 1(s_addr),tmp1
+encore:
+ combt,=,n tmp1,r0, pad_null_bytes1
+ stbs,ma tmp1,1(d_addr)
+ addibf,=,n -1,count,encore
+ ldbs,ma 1(s_addr),tmp1
+ b,n done
+
+pnb_1:
+ addibt,=,n 4,count,done /* if count was already 0 then we're done*/
+
+pad_null_bytes1:
+ combt,=,n count,r0,done /* if count==0 then exit */
+pad_null_bytes2:
+ addibf,= -1,count,pad_null_bytes2
+ stbs,ma r0,1(d_addr)
+ b,n done
+
+pad_nulls:
+ addibf,<=,n -4,count,pad_nulls
+ stwm r0,4(d_addr)
+ b,n pnb_1
+
+
+null1:
+ extru,<> save,7,8,r0
+ b found_null1
+ copy r0, tmp5
+ extru,<> save,15,8,r0
+ b found_null1
+ ldil 0x1FE000,tmp5 /* setup mask (FF000000)*/
+ extru,<> save,23,8,r0
+ b found_null1
+ ldil 0x1FFFE0,tmp5 /* setup mask (FFFF0000)*/
+ ldo -1(r0),tmp5 /* setup mask (FFFFFFFF)*/
+found_null1:
+ and tmp1,tmp5,tmp1 /*zero out tmp1 according to mask*/
+ b pad_nulls /* nullify remaining count bytes*/
+ stbys,b,m tmp1,4(0,d_addr) /* first word (account for alignment)*/
+
+
+null2: /* back porch case. We have less than 4 bytes to go.*/
+ extru,<> save,7,8,r0 /* is null in 1st byte? */
+ b found_null2
+ copy r0, tmp5
+ extru,<> save,15,8,r0 /* is null in 2nd byte? */
+ b found_null2
+ ldil 0x1FE000,tmp5 /* setup mask (FF000000)*/
+ b found_null2 /* null must be in 3rd byte */
+ ldil 0x1FFFE0,tmp5 /* setup mask (FFFF0000)*/
+found_null2:
+ and tmp1,tmp5,tmp1 /*zero out tmp1 according to mask*/
+ bv 0(r2) /* we're done*/
+ stbys,e tmp1,0(0,d_addr) /* last word (back porch)*/
+
+null3: /* not_aligned case where null is found in first of two words--adjust count*/
+ extru,<> save,7,8,r0
+ b found_null3
+ copy r0, tmp5
+ extru,<> save,15,8,r0
+ b found_null3
+ ldil 0x1FE000,tmp5 /* setup mask (FF000000)*/
+ extru,<> save,23,8,r0
+ b found_null3
+ ldil 0x1FFFE0,tmp5 /* setup mask (FFFF0000)*/
+ ldo -1(r0),tmp5 /* setup mask (FFFFFFFF)*/
+found_null3:
+ addi 4,count,count /* fix count since null is in first of two words*/
+ and tmp3,tmp5,tmp3 /*zero out tmp3 according to mask*/
+ b pad_nulls /* nullify remaining count bytes*/
+ stbys,b,m tmp3,4(d_addr)
+
+null4: /* not_aligned case where null is found in second of two words*/
+ extru,<> save,7,8,r0
+ b found_null4
+ copy r0, tmp5
+ extru,<> save,15,8,r0
+ b found_null4
+ ldil 0x1FE000,tmp5 /* setup mask (FF000000)*/
+ extru,<> save,23,8,r0
+ b found_null4
+ ldil 0x1FFFE0,tmp5 /* setup mask (FFFF0000)*/
+ ldo -1(r0),tmp5 /* setup mask (FFFFFFFF)*/
+found_null4:
+ and tmp3,tmp5,tmp3 /*zero out tmp4 according to mask*/
+ b pad_nulls /* nullify remaining count bytes*/
+ stbys,b,m tmp3,4(d_addr)
+
+done:
+EXIT(strncpy)
diff --git a/newlib/libc/machine/i386/Makefile.am b/newlib/libc/machine/i386/Makefile.am
new file mode 100644
index 00000000000..7de099e849e
--- /dev/null
+++ b/newlib/libc/machine/i386/Makefile.am
@@ -0,0 +1,20 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = -I $(newlib_basedir)/libm/common $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+if MACH_ADD_SETJMP
+mach_add_src=setjmp.S
+else
+mach_add_src=
+endif
+
+lib_a_SOURCES = \
+ memchr.S memcmp.S memcpy.S memset.S strchr.S \
+ $(mach_add_src)
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/i386/Makefile.in b/newlib/libc/machine/i386/Makefile.in
new file mode 100644
index 00000000000..4856ba2d15b
--- /dev/null
+++ b/newlib/libc/machine/i386/Makefile.in
@@ -0,0 +1,327 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = -I $(newlib_basedir)/libm/common $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+@MACH_ADD_SETJMP_TRUE@mach_add_src = setjmp.S
+@MACH_ADD_SETJMP_FALSE@mach_add_src =
+
+lib_a_SOURCES = memchr.S memcmp.S memcpy.S memset.S strchr.S \
+ $(mach_add_src)
+
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+@MACH_ADD_SETJMP_TRUE@lib_a_OBJECTS = memchr.o memcmp.o memcpy.o \
+@MACH_ADD_SETJMP_TRUE@memset.o strchr.o \
+@MACH_ADD_SETJMP_TRUE@setjmp.o
+@MACH_ADD_SETJMP_FALSE@lib_a_OBJECTS = memchr.o memcmp.o memcpy.o \
+@MACH_ADD_SETJMP_FALSE@memset.o strchr.o
+
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in \
+ ../../../acinclude.m4 ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @banner="$(distdir).tar.gz is ready for distribution"; \
+ dashes=`echo "$$banner" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ echo "$$dashes"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am:
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-info-am:
+install-info: install-info-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am:
+uninstall: uninstall-am
+all-am: Makefile $(LIBRARIES)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-noinstLIBRARIES distclean-compile \
+ distclean-tags distclean-generic clean-am
+
+distclean: distclean-am
+ -rm -f config.status
+
+maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-info-am install-info \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/i386/aclocal.m4 b/newlib/libc/machine/i386/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/i386/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/i386/configure b/newlib/libc/machine/i386/configure
new file mode 100755
index 00000000000..2c019d92844
--- /dev/null
+++ b/newlib/libc/machine/i386/configure
@@ -0,0 +1,1699 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=setjmp.S
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+
+
+if test "x$mach_add_setjmp" = 'xtrue'; then
+ MACH_ADD_SETJMP_TRUE=
+ MACH_ADD_SETJMP_FALSE='#'
+else
+ MACH_ADD_SETJMP_TRUE='#'
+ MACH_ADD_SETJMP_FALSE=
+fi
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+s%@MACH_ADD_SETJMP_TRUE@%$MACH_ADD_SETJMP_TRUE%g
+s%@MACH_ADD_SETJMP_FALSE@%$MACH_ADD_SETJMP_FALSE%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/i386/configure.in b/newlib/libc/machine/i386/configure.in
new file mode 100644
index 00000000000..63c0804808e
--- /dev/null
+++ b/newlib/libc/machine/i386/configure.in
@@ -0,0 +1,14 @@
+dnl This is the newlib/libc/machine/i386 configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(setjmp.S)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AM_CONDITIONAL(MACH_ADD_SETJMP, test "x$mach_add_setjmp" = 'xtrue')
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/i386/f_atan2.S b/newlib/libc/machine/i386/f_atan2.S
new file mode 100644
index 00000000000..c6f3a7acdbf
--- /dev/null
+++ b/newlib/libc/machine/i386/f_atan2.S
@@ -0,0 +1,32 @@
+/*
+ * ====================================================
+ * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+Fast version of atan2 using Intel float instructions.
+
+ double _f_atan2 (double y, double x);
+
+Function computes arctan ( y / x ).
+There is no error checking or setting of errno.
+*/
+
+ #include "i386mach.h"
+
+ .global SYM (_f_atan2)
+
+SYM (_f_atan2):
+ pushl ebp
+ movl esp,ebp
+ fldl 8(ebp)
+ fldl 16(ebp)
+ fpatan
+
+ leave
+ ret
diff --git a/newlib/libc/machine/i386/f_atan2f.S b/newlib/libc/machine/i386/f_atan2f.S
new file mode 100644
index 00000000000..d56a16709e1
--- /dev/null
+++ b/newlib/libc/machine/i386/f_atan2f.S
@@ -0,0 +1,32 @@
+/*
+ * ====================================================
+ * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+Fast version of atan2f using Intel float instructions.
+
+ float _f_atan2f (float y, float x);
+
+Function computes arctan ( y / x ).
+There is no error checking or setting of errno.
+*/
+
+ #include "i386mach.h"
+
+ .global SYM (_f_atan2f)
+
+SYM (_f_atan2f):
+ pushl ebp
+ movl esp,ebp
+ flds 8(ebp)
+ flds 12(ebp)
+ fpatan
+
+ leave
+ ret
diff --git a/newlib/libc/machine/i386/f_exp.c b/newlib/libc/machine/i386/f_exp.c
new file mode 100644
index 00000000000..a7fb05507f4
--- /dev/null
+++ b/newlib/libc/machine/i386/f_exp.c
@@ -0,0 +1,45 @@
+/*
+ * ====================================================
+ * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+Fast version of exp using Intel float instructions.
+
+ double _f_exp (double x);
+
+Function computes e ** x. The following special cases exist:
+ 1. if x is 0.0 ==> return 1.0
+ 2. if x is infinity ==> return infinity
+ 3. if x is -infinity ==> return 0.0
+ 4. if x is NaN ==> return x
+There is no error checking or setting of errno.
+*/
+
+
+#include <math.h>
+#include <ieeefp.h>
+#include "f_math.h"
+
+double _f_exp (double x)
+{
+ if (check_finite(x))
+ {
+ double result;
+ asm ("fldl2e; fmulp; fld %%st; frndint; fsub %%st,%%st(1); fxch;" \
+ "fchs; f2xm1; fld1; faddp; fxch; fld1; fscale; fstp %%st(1); fmulp" :
+ "=t"(result) : "0"(x));
+ return result;
+ }
+ else if (x == -infinity())
+ return 0.0;
+
+ return x;
+}
+
+
diff --git a/newlib/libc/machine/i386/f_expf.c b/newlib/libc/machine/i386/f_expf.c
new file mode 100644
index 00000000000..43877276459
--- /dev/null
+++ b/newlib/libc/machine/i386/f_expf.c
@@ -0,0 +1,45 @@
+/*
+ * ====================================================
+ * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+Fast version of exp using Intel float instructions.
+
+ float _f_expf (float x);
+
+Function computes e ** x. The following special cases exist:
+ 1. if x is 0.0 ==> return 1.0
+ 2. if x is infinity ==> return infinity
+ 3. if x is -infinity ==> return 0.0
+ 4. if x is NaN ==> return x
+There is no error checking or setting of errno.
+*/
+
+
+#include <math.h>
+#include <ieeefp.h>
+#include "f_math.h"
+
+float _f_expf (float x)
+{
+ if (check_finitef(x))
+ {
+ float result;
+ asm ("fldl2e; fmulp; fld %%st; frndint; fsub %%st,%%st(1); fxch;" \
+ "fchs; f2xm1; fld1; faddp; fxch; fld1; fscale; fstp %%st(1); fmulp" :
+ "=t"(result) : "0"(x));
+ return result;
+ }
+ else if (x == -infinityf())
+ return 0.0;
+
+ return x;
+}
+
+
diff --git a/newlib/libc/machine/i386/f_frexp.S b/newlib/libc/machine/i386/f_frexp.S
new file mode 100644
index 00000000000..8724f524a54
--- /dev/null
+++ b/newlib/libc/machine/i386/f_frexp.S
@@ -0,0 +1,43 @@
+/*
+ * ====================================================
+ * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+Fast version of frexp using Intel float instructions.
+
+ double _f_frexp (double x, int *exp);
+
+Function splits x into y * 2 ** z. It then
+returns the value of y and updates *exp with z.
+There is no error checking or setting of errno.
+*/
+
+ #include "i386mach.h"
+
+ .global SYM (_f_frexp)
+
+SYM (_f_frexp):
+ pushl ebp
+ movl esp,ebp
+ fldl 8(ebp)
+ movl 16(ebp),eax
+
+ fxtract
+ fld1
+ fchs
+ fxch
+ fscale
+ fstp st1
+ fxch
+ fld1
+ faddp
+ fistpl 0(eax)
+
+ leave
+ ret
diff --git a/newlib/libc/machine/i386/f_frexpf.S b/newlib/libc/machine/i386/f_frexpf.S
new file mode 100644
index 00000000000..05f0555d69b
--- /dev/null
+++ b/newlib/libc/machine/i386/f_frexpf.S
@@ -0,0 +1,43 @@
+/*
+ * ====================================================
+ * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+Fast version of frexpf using Intel float instructions.
+
+ float _f_frexpf (float x, int *exp);
+
+Function splits x into y * 2 ** z. It then
+returns the value of y and updates *exp with z.
+There is no error checking or setting of errno.
+*/
+
+ #include "i386mach.h"
+
+ .global SYM (_f_frexpf)
+
+SYM (_f_frexpf):
+ pushl ebp
+ movl esp,ebp
+ flds 8(ebp)
+ movl 12(ebp),eax
+
+ fxtract
+ fld1
+ fchs
+ fxch
+ fscale
+ fstp st1
+ fxch
+ fld1
+ faddp
+ fistpl 0(eax)
+
+ leave
+ ret
diff --git a/newlib/libc/machine/i386/f_ldexp.S b/newlib/libc/machine/i386/f_ldexp.S
new file mode 100644
index 00000000000..8a877193f30
--- /dev/null
+++ b/newlib/libc/machine/i386/f_ldexp.S
@@ -0,0 +1,33 @@
+/*
+ * ====================================================
+ * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+Fast version of ldexp using Intel float instructions.
+
+ double _f_ldexp (double x, int exp);
+
+Function calculates x * 2 ** exp.
+There is no error checking or setting of errno.
+*/
+
+ #include "i386mach.h"
+
+ .global SYM (_f_ldexp)
+
+SYM (_f_ldexp):
+ pushl ebp
+ movl esp,ebp
+ fild 16(ebp)
+ fldl 8(ebp)
+ fscale
+ fstp st1
+
+ leave
+ ret
diff --git a/newlib/libc/machine/i386/f_ldexpf.S b/newlib/libc/machine/i386/f_ldexpf.S
new file mode 100644
index 00000000000..e2bf387b04c
--- /dev/null
+++ b/newlib/libc/machine/i386/f_ldexpf.S
@@ -0,0 +1,33 @@
+/*
+ * ====================================================
+ * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+Fast version of ldexpf using Intel float instructions.
+
+ float _f_ldexpf (float x, int exp);
+
+Function calculates x * 2 ** exp.
+There is no error checking or setting of errno.
+*/
+
+ #include "i386mach.h"
+
+ .global SYM (_f_ldexpf)
+
+SYM (_f_ldexpf):
+ pushl ebp
+ movl esp,ebp
+ fild 12(ebp)
+ flds 8(ebp)
+ fscale
+ fstp st1
+
+ leave
+ ret
diff --git a/newlib/libc/machine/i386/f_log.S b/newlib/libc/machine/i386/f_log.S
new file mode 100644
index 00000000000..8d5ea72993f
--- /dev/null
+++ b/newlib/libc/machine/i386/f_log.S
@@ -0,0 +1,35 @@
+/*
+ * ====================================================
+ * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+Fast version of log using Intel float instructions.
+
+ double _f_log (double x);
+
+Function calculates the log base e of x.
+There is no error checking or setting of errno.
+*/
+
+ #include "i386mach.h"
+
+ .global SYM (_f_log)
+
+SYM (_f_log):
+ pushl ebp
+ movl esp,ebp
+
+ fld1
+ fldl2e
+ fdivrp
+ fldl 8(ebp)
+ fyl2x
+
+ leave
+ ret
diff --git a/newlib/libc/machine/i386/f_log10.S b/newlib/libc/machine/i386/f_log10.S
new file mode 100644
index 00000000000..95ab45bf30c
--- /dev/null
+++ b/newlib/libc/machine/i386/f_log10.S
@@ -0,0 +1,35 @@
+/*
+ * ====================================================
+ * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+Fast version of log10 using Intel float instructions.
+
+ double _f_log10 (double x);
+
+Function calculates the log base 10 of x.
+There is no error checking or setting of errno.
+*/
+
+ #include "i386mach.h"
+
+ .global SYM (_f_log10)
+
+SYM (_f_log10):
+ pushl ebp
+ movl esp,ebp
+
+ fld1
+ fldl2t
+ fdivrp
+ fldl 8(ebp)
+ fyl2x
+
+ leave
+ ret
diff --git a/newlib/libc/machine/i386/f_log10f.S b/newlib/libc/machine/i386/f_log10f.S
new file mode 100644
index 00000000000..cdf321ecc98
--- /dev/null
+++ b/newlib/libc/machine/i386/f_log10f.S
@@ -0,0 +1,35 @@
+/*
+ * ====================================================
+ * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+Fast version of logf using Intel float instructions.
+
+ float _f_log10f (float x);
+
+Function calculates the log base 10 of x.
+There is no error checking or setting of errno.
+*/
+
+ #include "i386mach.h"
+
+ .global SYM (_f_log10f)
+
+SYM (_f_log10f):
+ pushl ebp
+ movl esp,ebp
+
+ fld1
+ fldl2t
+ fdivrp
+ flds 8(ebp)
+ fyl2x
+
+ leave
+ ret
diff --git a/newlib/libc/machine/i386/f_logf.S b/newlib/libc/machine/i386/f_logf.S
new file mode 100644
index 00000000000..cff3b359f94
--- /dev/null
+++ b/newlib/libc/machine/i386/f_logf.S
@@ -0,0 +1,35 @@
+/*
+ * ====================================================
+ * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+Fast version of logf using Intel float instructions.
+
+ float _f_logf (float x);
+
+Function calculates the log base e of x.
+There is no error checking or setting of errno.
+*/
+
+ #include "i386mach.h"
+
+ .global SYM (_f_logf)
+
+SYM (_f_logf):
+ pushl ebp
+ movl esp,ebp
+
+ fld1
+ fldl2e
+ fdivrp
+ flds 8(ebp)
+ fyl2x
+
+ leave
+ ret
diff --git a/newlib/libc/machine/i386/f_math.h b/newlib/libc/machine/i386/f_math.h
new file mode 100644
index 00000000000..bd44b1e92ee
--- /dev/null
+++ b/newlib/libc/machine/i386/f_math.h
@@ -0,0 +1,29 @@
+#ifndef __F_MATH_H__
+#define __F_MATH_H__
+
+#include <_ansi.h>
+#include "fdlibm.h"
+
+__inline__
+static
+int
+_DEFUN (check_finite, (x),
+ double x)
+{
+ __int32_t hx;
+ GET_HIGH_WORD(hx,x);
+ return (int)((__uint32_t)((hx&0x7fffffff)-0x7ff00000)>>31);
+}
+
+__inline__
+static
+int
+_DEFUN (check_finitef, (x),
+ float x)
+{
+ __int32_t ix;
+ GET_FLOAT_WORD(ix,x);
+ return (int)((__uint32_t)((ix&0x7fffffff)-0x7f800000)>>31);
+}
+
+#endif /* __F_MATH_H__ */
diff --git a/newlib/libc/machine/i386/f_pow.c b/newlib/libc/machine/i386/f_pow.c
new file mode 100644
index 00000000000..ac7dcfe263a
--- /dev/null
+++ b/newlib/libc/machine/i386/f_pow.c
@@ -0,0 +1,44 @@
+/*
+ * ====================================================
+ * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+Fast version of pow using Intel float instructions.
+
+ double _f_pow (double x, double y);
+
+Function calculates x to power of y.
+The function optimizes the case where x is >0.0 and y is finite.
+In such a case, there is no error checking or setting of errno.
+All other cases defer to normal pow() function which will
+set errno as normal.
+*/
+
+#include <math.h>
+#include <ieeefp.h>
+#include "f_math.h"
+
+double _f_pow (double x, double y)
+{
+ /* following sequence handles the majority of cases for pow() */
+ if (x > 0.0 && check_finite(y))
+ {
+ double result;
+ /* calculate x ** y as 2 ** (y log2(x)). On Intel, can only
+ raise 2 to an integer or a small fraction, thus, we have
+ to perform two steps 2**integer portion * 2**fraction. */
+ asm ("fldl 8(%%ebp); fyl2x; fld %%st; frndint; fsub %%st,%%st(1);" \
+ "fxch; fchs; f2xm1; fld1; faddp; fxch; fld1; fscale; fstp %%st(1);"\
+ "fmulp" : "=t" (result) : "0" (y));
+ return result;
+ }
+ else /* all other strange cases, defer to normal pow() */
+ return pow (x,y);
+}
+
diff --git a/newlib/libc/machine/i386/f_powf.c b/newlib/libc/machine/i386/f_powf.c
new file mode 100644
index 00000000000..501b6b1f305
--- /dev/null
+++ b/newlib/libc/machine/i386/f_powf.c
@@ -0,0 +1,44 @@
+/*
+ * ====================================================
+ * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+Fast version of pow using Intel float instructions.
+
+ float _f_powf (float x, float y);
+
+Function calculates x to power of y.
+The function optimizes the case where x is >0.0 and y is finite.
+In such a case, there is no error checking or setting of errno.
+All other cases defer to normal powf() function which will
+set errno as normal.
+*/
+
+#include <math.h>
+#include <ieeefp.h>
+#include "f_math.h"
+
+float _f_powf (float x, float y)
+{
+ /* following sequence handles the majority of cases for pow() */
+ if (x > 0.0 && check_finitef(y))
+ {
+ float result;
+ /* calculate x ** y as 2 ** (y log2(x)). On Intel, can only
+ raise 2 to an integer or a small fraction, thus, we have
+ to perform two steps 2**integer portion * 2**fraction. */
+ asm ("flds 8(%%ebp); fyl2x; fld %%st; frndint; fsub %%st,%%st(1);" \
+ "fxch; fchs; f2xm1; fld1; faddp; fxch; fld1; fscale; fstp %%st(1);"\
+ "fmulp" : "=t" (result) : "0" (y));
+ return result;
+ }
+ else /* all other strange cases, defer to normal pow() */
+ return powf (x,y);
+}
+
diff --git a/newlib/libc/machine/i386/f_tan.S b/newlib/libc/machine/i386/f_tan.S
new file mode 100644
index 00000000000..5221d5e1bb9
--- /dev/null
+++ b/newlib/libc/machine/i386/f_tan.S
@@ -0,0 +1,32 @@
+/*
+ * ====================================================
+ * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+Fast version of tan using Intel float instructions.
+
+ double _f_tan (double x);
+
+Function calculates the tangent of x.
+There is no error checking or setting of errno.
+*/
+
+ #include "i386mach.h"
+
+ .global SYM (_f_tan)
+
+SYM (_f_tan):
+ pushl ebp
+ movl esp,ebp
+ fldl 8(ebp)
+ fptan
+ fincstp
+
+ leave
+ ret
diff --git a/newlib/libc/machine/i386/f_tanf.S b/newlib/libc/machine/i386/f_tanf.S
new file mode 100644
index 00000000000..e8251e03cda
--- /dev/null
+++ b/newlib/libc/machine/i386/f_tanf.S
@@ -0,0 +1,32 @@
+/*
+ * ====================================================
+ * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+Fast version of tanf using Intel float instructions.
+
+ float _f_tanf (float x);
+
+Function calculates the tangent of x.
+There is no error checking or setting of errno.
+*/
+
+ #include "i386mach.h"
+
+ .global SYM (_f_tanf)
+
+SYM (_f_tanf):
+ pushl ebp
+ movl esp,ebp
+ flds 8(ebp)
+ fptan
+ fincstp
+
+ leave
+ ret
diff --git a/newlib/libc/machine/i386/i386mach.h b/newlib/libc/machine/i386/i386mach.h
new file mode 100644
index 00000000000..bd6cf22f083
--- /dev/null
+++ b/newlib/libc/machine/i386/i386mach.h
@@ -0,0 +1,69 @@
+/* This file was based on the modified setjmp.S performed by
+ * Joel Sherill (joel@OARcorp.com) which specified the use
+ * of the __USER_LABEL_PREFIX__ and __REGISTER_PREFIX__ macros.
+ **
+ ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+ ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/* These are predefined by new versions of GNU cpp. */
+
+#ifndef __USER_LABEL_PREFIX__
+#define __USER_LABEL_PREFIX__ _
+#endif
+
+#define __REG_PREFIX__ %
+
+/* ANSI concatenation macros. */
+
+#define CONCAT1(a, b) CONCAT2(a, b)
+#define CONCAT2(a, b) a##b
+
+/* Use the right prefix for global labels. */
+
+#define SYM(x) CONCAT1(__USER_LABEL_PREFIX__, x)
+
+/* Use the right prefix for registers. */
+
+#define REG(x) CONCAT1(__REG_PREFIX__, x)
+
+#define eax REG(eax)
+#define ebx REG(ebx)
+#define ecx REG(ecx)
+#define edx REG(edx)
+#define esi REG(esi)
+#define edi REG(edi)
+#define ebp REG(ebp)
+#define esp REG(esp)
+
+#define st0 REG(st)
+#define st1 REG(st(1))
+#define st2 REG(st(2))
+#define st3 REG(st(3))
+#define st4 REG(st(4))
+#define st5 REG(st(5))
+#define st6 REG(st(6))
+#define st7 REG(st(7))
+
+#define ax REG(ax)
+#define bx REG(bx)
+#define cx REG(cx)
+#define dx REG(dx)
+
+#define ah REG(ah)
+#define bh REG(bh)
+#define ch REG(ch)
+#define dh REG(dh)
+
+#define al REG(al)
+#define bl REG(bl)
+#define cl REG(cl)
+#define dl REG(dl)
+
+#define mm1 REG(mm1)
+#define mm2 REG(mm2)
+#define mm3 REG(mm3)
+#define mm4 REG(mm4)
+#define mm5 REG(mm5)
+#define mm6 REG(mm6)
+#define mm7 REG(mm7)
diff --git a/newlib/libc/machine/i386/memchr.S b/newlib/libc/machine/i386/memchr.S
new file mode 100644
index 00000000000..40e29af4f6d
--- /dev/null
+++ b/newlib/libc/machine/i386/memchr.S
@@ -0,0 +1,41 @@
+/*
+ * ====================================================
+ * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+ #include "i386mach.h"
+
+ .global SYM (memchr)
+
+SYM (memchr):
+ pushl ebp
+ movl esp,ebp
+ pushl edi
+ movl 12(ebp),eax
+ movl 16(ebp),ecx
+ movl 8(ebp),edi
+
+ xorl edx,edx
+ testl ecx,ecx
+ jz L1
+
+ cld
+ repnz
+ scasb
+
+ setnz dl
+ decl edi
+ decl edx
+ andl edi,edx
+L1:
+ movl edx,eax
+
+ leal -4(ebp),esp
+ popl edi
+ leave
+ ret
diff --git a/newlib/libc/machine/i386/memcmp.S b/newlib/libc/machine/i386/memcmp.S
new file mode 100644
index 00000000000..23419ddb884
--- /dev/null
+++ b/newlib/libc/machine/i386/memcmp.S
@@ -0,0 +1,75 @@
+/*
+ * ====================================================
+ * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+ #include "i386mach.h"
+
+ .global SYM (memcmp)
+
+SYM (memcmp):
+
+ pushl ebp
+ movl esp,ebp
+ subl $16,esp
+ pushl ebx
+ pushl edi
+ pushl esi
+ movl 8(ebp),edi
+ movl 12(ebp),esi
+ movl 16(ebp),ecx
+ cld
+
+/* check if length is zero in which case just return 0 */
+
+ xorl eax,eax
+ testl ecx,ecx
+ jz L4
+
+#ifndef __OPTIMIZE_SIZE__
+
+/* if aligned on long boundary, compare doublewords at a time first */
+
+ movl edi,eax
+ orl esi,eax
+ testb $3,al
+ jne BYTECMP
+ movl ecx,ebx
+ shrl $2,ecx /* calculate number of long words to compare */
+ repz
+ cmpsl
+ jz L5
+ subl $4,esi
+ subl $4,edi
+ movl $4,ecx
+ jmp BYTECMP
+L5:
+ andl $3,ebx /* calculate number of remaining bytes */
+ movl ebx,ecx
+
+#endif /* not __OPTIMIZE_SIZE__ */
+
+BYTECMP: /* compare any unaligned bytes or remainder bytes */
+ repz
+ cmpsb
+
+/* set output to be < 0 if less than, 0 if equal, or > 0 if greater than */
+L3:
+ xorl edx,edx
+ movb -1(esi),dl
+ xorl eax,eax
+ movb -1(edi),al
+ subl edx,eax
+
+L4:
+ leal -28(ebp),esp
+ popl esi
+ popl edi
+ popl ebx
+ leave
+ ret
diff --git a/newlib/libc/machine/i386/memcpy.S b/newlib/libc/machine/i386/memcpy.S
new file mode 100644
index 00000000000..c0fd8f27e38
--- /dev/null
+++ b/newlib/libc/machine/i386/memcpy.S
@@ -0,0 +1,73 @@
+/*
+ * ====================================================
+ * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+ #include "i386mach.h"
+
+ .global SYM (memcpy)
+
+SYM (memcpy):
+
+ pushl ebp
+ movl esp,ebp
+ pushl esi
+ pushl edi
+ pushl ebx
+ movl 8(ebp),edi
+ movl 16(ebp),ecx
+ movl 12(ebp),esi
+ cld
+
+#ifndef __OPTIMIZE_SIZE__
+
+ cmpl $8,ecx
+ jbe .L3
+
+/* move any preceding bytes until destination address is long word aligned */
+
+ movl edi,edx
+ movl ecx,ebx
+ andl $3,edx
+ jz .L11
+ movl $4,ecx
+ subl edx,ecx
+ andl $3,ecx
+ subl ecx,ebx
+ rep
+ movsb
+
+ mov ebx,ecx
+
+/* move bytes a long word at a time */
+
+.L11:
+ shrl $2,ecx
+ .p2align 2
+ rep
+ movsl
+
+ movl ebx,ecx
+ andl $3,ecx
+
+#endif /* !__OPTIMIZE_SIZE__ */
+
+/* handle any remaining bytes */
+
+.L3:
+ rep
+ movsb
+.L5:
+ movl 8(ebp),eax
+
+ leal -12(ebp),esp
+ popl ebx
+ popl edi
+ popl esi
+ leave
+ ret
diff --git a/newlib/libc/machine/i386/memmove.S b/newlib/libc/machine/i386/memmove.S
new file mode 100644
index 00000000000..a89a296f7e5
--- /dev/null
+++ b/newlib/libc/machine/i386/memmove.S
@@ -0,0 +1,145 @@
+/*
+ * ====================================================
+ * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+ #include "i386mach.h"
+
+ .global SYM (memmove)
+
+SYM (memmove):
+
+ pushl ebp
+ movl esp,ebp
+ pushl esi
+ pushl edi
+ pushl ebx
+ movl 8(ebp),edi
+ movl 16(ebp),ecx
+ movl 12(ebp),esi
+
+/* check for destructive overlap (src < dst && dst < src + length) */
+
+ cld
+ cmpl edi,esi
+ jae .L2
+ leal -1(ecx,esi),ebx
+ cmpl ebx,edi
+ ja .L2
+
+/* IF: destructive overlap, must copy backwards */
+
+ addl ecx,esi
+ addl ecx,edi
+ std
+
+#ifndef __OPTIMIZE_SIZE__
+
+ cmpl $8,ecx
+ jbe .L13
+.L18:
+
+/* move trailing bytes in reverse until destination address is long word aligned */
+
+ movl edi,edx
+ movl ecx,ebx
+ andl $3,edx
+ jz .L21
+
+ movl edx,ecx
+ decl esi
+ decl edi
+ subl ecx,ebx
+ rep
+ movsb
+
+ mov ebx,ecx
+ incl esi
+ incl edi
+
+.L21:
+
+/* move bytes in reverse, a long word at a time */
+
+ shrl $2,ecx
+ subl $4,esi
+ subl $4,edi
+ rep
+ movsl
+
+ addl $4,esi
+ addl $4,edi
+ movl ebx,ecx
+ andl $3,ecx
+
+#endif /* !__OPTIMIZE_SIZE__ */
+
+/* handle any remaining bytes not on a long word boundary */
+
+.L13:
+ decl esi
+ decl edi
+
+.L15:
+ rep
+ movsb
+ jmp .L5
+ .p2align 4,,7
+
+/* ELSE: no destructive overlap so we copy forwards */
+
+.L2:
+
+#ifndef __OPTIMIZE_SIZE__
+
+ cmpl $8,ecx
+ jbe .L3
+
+/* move any preceding bytes until destination address is long word aligned */
+
+ movl edi,edx
+ movl ecx,ebx
+ andl $3,edx
+ jz .L11
+ movl $4,ecx
+ subl edx,ecx
+ andl $3,ecx
+ subl ecx,ebx
+ rep
+ movsb
+
+ mov ebx,ecx
+
+/* move bytes a long word at a time */
+
+.L11:
+ shrl $2,ecx
+ .p2align 2
+ rep
+ movsl
+
+ movl ebx,ecx
+ andl $3,ecx
+
+#endif /* !__OPTIMIZE_SIZE__ */
+
+/* handle any remaining bytes */
+
+.L3:
+ rep
+ movsb
+.L5:
+ movl 8(ebp),eax
+ cld
+
+ leal -12(ebp),esp
+ popl ebx
+ popl edi
+ popl esi
+ leave
+ ret
diff --git a/newlib/libc/machine/i386/memset.S b/newlib/libc/machine/i386/memset.S
new file mode 100644
index 00000000000..12e33e443f4
--- /dev/null
+++ b/newlib/libc/machine/i386/memset.S
@@ -0,0 +1,59 @@
+/*
+ * ====================================================
+ * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+ #include "i386mach.h"
+
+ .global SYM (memset)
+
+SYM (memset):
+
+ pushl ebp
+ movl esp,ebp
+ pushl edi
+ pushl ebx
+ movl 8(ebp),edi
+ movl 12(ebp),eax
+ movl 16(ebp),ecx
+ cld
+
+#ifndef __OPTIMIZE_SIZE__
+ andl $255,eax
+ movl ecx,ebx
+ testl $3,edi
+ jne .L19
+ cmpl $16,ecx
+ jbe .L19
+
+ movl eax,edx
+ sall $8,eax
+ orl edx,eax
+
+ movl eax,edx
+ sall $16,edx
+ orl edx,eax
+
+ shrl $2,ecx
+ andl $3,ebx
+ rep
+ stosl
+ movl ebx,ecx
+#endif /* not __OPTIMIZE_SIZE__ */
+
+.L19:
+ rep
+ stosb
+
+ movl 8(ebp),eax
+
+ leal -8(ebp),esp
+ popl ebx
+ popl edi
+ leave
+ ret
diff --git a/newlib/libc/machine/i386/setjmp.S b/newlib/libc/machine/i386/setjmp.S
new file mode 100644
index 00000000000..0f4b537b96d
--- /dev/null
+++ b/newlib/libc/machine/i386/setjmp.S
@@ -0,0 +1,136 @@
+/* This is file is a merger of SETJMP.S and LONGJMP.S */
+/*
+ * This file was modified to use the __USER_LABEL_PREFIX__ and
+ * __REGISTER_PREFIX__ macros defined by later versions of GNU cpp by
+ * Joel Sherrill (joel@OARcorp.com)
+ *
+ ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+ **
+ ** This file is distributed under the terms listed in the document
+ ** "copying.dj", available from DJ Delorie at the address above.
+ ** A copy of "copying.dj" should accompany this file; if not, a copy
+ ** should be available from where this file was obtained. This file
+ ** may not be distributed without a verbatim copy of "copying.dj".
+ **
+ ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+ ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+ /*
+ ** jmp_buf:
+ ** eax ebx ecx edx esi edi ebp esp eip
+ ** 0 4 8 12 16 20 24 28 32
+ */
+
+/* These are predefined by new versions of GNU cpp. */
+
+#ifndef __USER_LABEL_PREFIX__
+#define __USER_LABEL_PREFIX__ _
+#endif
+
+/***************************** TEMPORARY ******************************
+ *
+ * It appears that the i386-coff configuration of gcc 2.6.2 does not
+ * do the __REGISTER_PREFIX__ correctly. Fix this when it does.
+ **********************************************************************/
+#define __REGISTER_PREFIX__ %
+#ifndef __REGISTER_PREFIX__
+#define __REGISTER_PREFIX__
+#endif
+
+/* ANSI concatenation macros. */
+
+#define CONCAT1(a, b) CONCAT2(a, b)
+#define CONCAT2(a, b) a ## b
+
+/* Use the right prefix for global labels. */
+
+#define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x)
+
+/* Use the right prefix for registers. */
+
+#define REG(x) CONCAT1 (__REGISTER_PREFIX__, x)
+
+#define eax REG (eax)
+#define ebx REG (ebx)
+#define ecx REG (ecx)
+#define edx REG (edx)
+#define esi REG (esi)
+#define edi REG (edi)
+#define ebp REG (ebp)
+#define esp REG (esp)
+
+#define ax REG (ax)
+#define bx REG (bx)
+#define cx REG (cx)
+#define dx REG (dx)
+
+#define ah REG (ah)
+#define bh REG (bh)
+#define ch REG (ch)
+#define dh REG (dh)
+
+#define al REG (al)
+#define bl REG (bl)
+#define cl REG (cl)
+#define dl REG (dl)
+
+ .global SYM (setjmp)
+ .global SYM (longjmp)
+
+SYM (setjmp):
+
+ pushl ebp
+ movl esp,ebp
+
+ pushl edi
+ movl 8 (ebp),edi
+
+ movl eax,0 (edi)
+ movl ebx,4 (edi)
+ movl ecx,8 (edi)
+ movl edx,12 (edi)
+ movl esi,16 (edi)
+
+ movl -4 (ebp),eax
+ movl eax,20 (edi)
+
+ movl 0 (ebp),eax
+ movl eax,24 (edi)
+
+ movl esp,eax
+ addl $12,eax
+ movl eax,28 (edi)
+
+ movl 4 (ebp),eax
+ movl eax,32 (edi)
+
+ popl edi
+ movl $0,eax
+ leave
+ ret
+
+SYM (longjmp):
+ pushl ebp
+ movl esp,ebp
+
+ movl 8(ebp),edi /* get jmp_buf */
+ movl 12(ebp),eax /* store retval in j->eax */
+ movl eax,0(edi)
+
+ movl 24(edi),ebp
+
+ cli
+ movl 28(edi),esp
+
+ pushl 32(edi)
+
+ movl 0(edi),eax
+ movl 4(edi),ebx
+ movl 8(edi),ecx
+ movl 12(edi),edx
+ movl 16(edi),esi
+ movl 20(edi),edi
+ sti
+
+ ret
diff --git a/newlib/libc/machine/i386/strchr.S b/newlib/libc/machine/i386/strchr.S
new file mode 100644
index 00000000000..f224f380ce4
--- /dev/null
+++ b/newlib/libc/machine/i386/strchr.S
@@ -0,0 +1,84 @@
+/*
+ * ====================================================
+ * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+ #include "i386mach.h"
+
+ .global SYM (strchr)
+
+SYM (strchr):
+
+ pushl ebp
+ movl esp,ebp
+ pushl edi
+ pushl ebx
+ xorl ebx,ebx
+ movl 8(ebp),edi
+ movb 12(ebp),bl
+
+#ifndef __OPTIMIZE_SIZE__
+/* check if string is aligned, if not do check one byte at a time */
+ test $3,edi
+ jne L9
+
+/* create 4 byte mask which is just the desired byte repeated 4 times */
+ movl ebx,ecx
+ sall $8,ebx
+ subl $4,edi
+ orl ecx,ebx
+ movl ebx,edx
+ sall $16,ebx
+ orl edx,ebx
+
+/* loop performing 4 byte mask checking for 0 byte or desired byte */
+ .p2align 4,,7
+L10:
+ addl $4,edi
+ movl (edi),ecx
+ leal -16843009(ecx),edx
+ movl ecx,eax
+ notl eax
+ andl eax,edx
+ testl $-2139062144,edx
+ jne L9
+
+ movl ebx,eax
+ xorl ecx,eax
+ leal -16843009(eax),edx
+ notl eax
+ andl eax,edx
+ testl $-2139062144,edx
+ je L10
+#endif /* not __OPTIMIZE_SIZE__ */
+
+/* loop while (*s && *s++ != c) */
+L9:
+ leal -1(edi),eax
+ .p2align 4,,7
+L15:
+ incl eax
+ movb (eax),dl
+ testb dl,dl
+ je L14
+ cmpb bl,dl
+ jne L15
+
+L14:
+/* if (*s == c) return address otherwise return NULL */
+ cmpb bl,(eax)
+ je L19
+ xorl eax,eax
+
+L19:
+ leal -8(ebp),esp
+ popl ebx
+ popl edi
+ leave
+ ret
+
diff --git a/newlib/libc/machine/i386/strlen.S b/newlib/libc/machine/i386/strlen.S
new file mode 100644
index 00000000000..cae390aceda
--- /dev/null
+++ b/newlib/libc/machine/i386/strlen.S
@@ -0,0 +1,34 @@
+/*
+ * ====================================================
+ * Copyright (C) 1998 by Cygnus Solutions. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+ #include "i386mach.h"
+
+ .global SYM (strlen)
+
+SYM (strlen):
+
+ pushl ebp
+ movl esp,ebp
+ pushl edi
+ movl 8(ebp),edx
+
+ cld
+ movl edx,edi
+ movl $4294967295,ecx
+ xor eax,eax
+ repnz
+ scasb
+ subl edx,edi
+ leal -1(edi),eax
+
+ leal -4(ebp),esp
+ popl edi
+ leave
+ ret
diff --git a/newlib/libc/machine/i960/Makefile.am b/newlib/libc/machine/i960/Makefile.am
new file mode 100644
index 00000000000..ec5ca63e2cc
--- /dev/null
+++ b/newlib/libc/machine/i960/Makefile.am
@@ -0,0 +1,12 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES =
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/i960/Makefile.in b/newlib/libc/machine/i960/Makefile.in
new file mode 100644
index 00000000000..3a3f406f76f
--- /dev/null
+++ b/newlib/libc/machine/i960/Makefile.in
@@ -0,0 +1,294 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS =
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/i960/aclocal.m4 b/newlib/libc/machine/i960/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/i960/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/i960/configure b/newlib/libc/machine/i960/configure
new file mode 100755
index 00000000000..159a806064c
--- /dev/null
+++ b/newlib/libc/machine/i960/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=memccpy_ca.S
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/i960/configure.in b/newlib/libc/machine/i960/configure.in
new file mode 100644
index 00000000000..365fe203874
--- /dev/null
+++ b/newlib/libc/machine/i960/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/machine/i960 configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(memccpy_ca.S)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/i960/memccpy.S b/newlib/libc/machine/i960/memccpy.S
new file mode 100644
index 00000000000..df1947228b8
--- /dev/null
+++ b/newlib/libc/machine/i960/memccpy.S
@@ -0,0 +1,143 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "memccpy.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+/*
+ * (c) copyright 1989,1993 Intel Corp., all rights reserved
+ */
+/*
+ procedure memccpy (optimized assembler version for the 80960K series)
+
+ dest_addr = memccpy (dest_addr, src_addr, char, len)
+
+ copy len bytes pointed to by src_addr to the space pointed to by
+ dest_addr, stopping if char is copied. If char is copied,
+ return address of byte after char in dest string; else null.
+
+
+ Undefined behavior will occur if the end of the source array is in
+ the last two words of the program's allocated memory space. This
+ is so because the routine fetches ahead. Disallowing the fetch
+ ahead would impose a severe performance penalty.
+
+ Undefined behavior will also occur if the source and destination
+ strings overlap.
+
+ Strategy:
+
+ Fetch the source array by words and store them by words to the
+ destination array, until there are fewer than three bytes left
+ to copy. Then, using the last word of the source (the one that
+ contains the remaining 0, 1, 2, or 3 bytes to be copied), store
+ a byte at a time until Ldone.
+
+ Tactics:
+
+ 1) Do NOT try to fetch and store the words in a word aligned manner
+ because, in my judgement, the performance degradation experienced due
+ to non-aligned accesses does NOT outweigh the time and complexity added
+ by the preamble and convoluted body that would be necessary to assure
+ alignment. This is supported by the intuition that most source and
+ destination arrays (even more true of most big source arrays) will
+ be word aligned to begin with.
+
+ 2) Rather than decrementing len to zero,
+ I calculate the address of the byte after the last byte of the
+ destination array, and quit when the destination byte pointer passes
+ that.
+
+*/
+
+ .globl _memccpy
+ .leafproc _memccpy, __memccpy
+ .align 2
+_memccpy:
+#ifndef __PIC
+ lda Lrett,g14
+#else
+ lda Lrett-(.+8)(ip),g14
+#endif
+__memccpy:
+ mov g14, g13 # preserve return address
+ cmpibge 0,g3,Lexit_char_not_found
+
+ addo g3,g1,g3 # compute beyond end of src
+ ld (g1), g7 # fetch first word of source
+ lda 0xff,g5 # mask for char
+ and g5,g2,g2 # extract only char
+ shlo 8,g2,g6
+ or g2,g6,g6
+ shlo 16,g6,g4
+ or g6,g4,g6 # word of char
+ b Lwloop_b
+
+Lwloop_a:
+ ld (g1), g7 # fetch ahead next word of source
+ st g4, (g0) # store word to dest
+ addo 4, g0, g0 # post-increment dest pointer
+Lwloop_b: # word copying loop
+ addo 4, g1, g1 # pre-increment src pointer
+ cmpo g3, g1 # is len <= 3 ?
+ mov g7, g4 # keep a copy of the current word
+ bl Lcloop_setup # quit word loop if less than 4 bytes
+ scanbyte g6, g7 # check for char
+ bno Lwloop_a # continue word loop if char not found.
+
+Lcloop_setup:
+ subo 4, g1, g1 # back down src pointer
+ cmpobe g1, g3, Lexit_char_not_found
+
+Lcloop_a: # character copying loop (len < 3)
+ and g5,g4,g7 # check the byte against char
+ cmpo g7,g2
+ stob g7,(g0) # store the byte
+ addo 1, g0, g0
+ be Lexit_char_found
+ addo 1,g1,g1
+ cmpo g1,g3
+ shro 8,g4,g4 # position next byte
+ bne Lcloop_a
+
+Lexit_char_not_found:
+ mov 0, g0
+Lexit_char_found:
+ lda 0,g14
+ bx (g13) # g0 = dest array address; g14 = 0
+Lrett:
+ ret
+
+
+/* end of memccpy */
diff --git a/newlib/libc/machine/i960/memccpy_ca.S b/newlib/libc/machine/i960/memccpy_ca.S
new file mode 100644
index 00000000000..60c197b722f
--- /dev/null
+++ b/newlib/libc/machine/i960/memccpy_ca.S
@@ -0,0 +1,245 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "mccpy_ca.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+/*
+ * (c) copyright 1989,1993 Intel Corp., all rights reserved
+ */
+
+/*
+ procedure memccpy (optimized assembler version for the 80960CA)
+
+ dest_addr = memccpy (dest_addr, src_addr, char, len)
+
+ copy len bytes pointed to by src_addr to the space pointed to by
+ dest_addr, stopping if char is copied. If char is copied,
+ return address of byte after char in dest string; else null.
+
+ Undefined behavior will occur if the end of the source array is in
+ the last two words of the program's allocated memory space. This
+ is so because the routine fetches ahead. Disallowing the fetch
+ ahead would impose a severe performance penalty.
+
+ Undefined behavior will also occur if the source and destination
+ strings overlap.
+
+
+ This program handles five cases:
+
+ 1) both arguments start on a word boundary
+ 2) neither are word aligned, but they are offset by the same amount
+ 3) source is word aligned, destination is not
+ 4) destination is word aligned, source is not
+ 5) neither is word aligned, and they are offset by differing amounts
+
+ At the time of this writing, only g0 thru g7 and g13 are available
+ for use in this leafproc; other registers would have to be saved and
+ restored. These nine registers, plus tricky use of g14 are sufficient
+ to implement the routine.
+*/
+
+#if __i960_BIG_ENDIAN__
+#define MSW g6
+#define LSW g7
+#else
+#define LSW g6
+#define MSW g7
+#endif
+
+ .globl _memccpy
+ .leafproc _memccpy, __memccpy
+ .align 2
+_memccpy:
+#ifndef __PIC
+ lda Lrett,g14
+#else
+ lda Lrett-(.+8)(ip),g14
+#endif
+__memccpy:
+ notand g1,3,g5 # extract word addr of start of src
+ lda (g14),g13 # preserve return address
+ cmpibge.f 0,g3,Lexit_char_not_found # Lexit if # of bytes to move is <= 0
+ cmpo g5,g1 # check alignment of src
+ ld (g5),LSW # fetch word containing at least first byte
+ notand g0,3,g4 # extract word addr of start of dest
+ lda 4(g5),g5 # advance src word addr
+ shlo 24,g2,g2 # reduce char to single byte
+ bne.f Lcase_245 # branch if src is NOT word aligned
+
+Lcase_13:
+ cmpobe.t g0,g4,Lcase_1_setup # branch if dest word aligned
+
+Lcase_3: # src is word aligned; dest is not
+ mov LSW,MSW # make copy of first word of src
+ addo 4,g4,g1 # move dest word ptr to first word boundary
+ lda 32,g14 # initialize shift count to zero
+
+Lcase_25:
+Lcase_3_cloop_at_start: # character copying loop for start of dest str
+ cmpdeci 0,g3,g3 # is max_bytes exhausted?
+#if __i960_BIG_ENDIAN__
+ lda -8(g14),g14 # augment the shift counter
+#else
+ lda 8(g14),g14 # augment the shift counter
+#endif
+ be.f Lexit_char_not_found # Lexit if max_bytes is exhausted
+#if __i960_BIG_ENDIAN__
+ rotate 8,MSW,MSW # move next byte into position for extraction
+#endif
+ shlo 24,MSW,g4
+ stob MSW,(g0) # store the byte in dest
+ cmpo g4,g2
+ lda 1(g0),g0 # post-increment dest ptr
+#if ! __i960_BIG_ENDIAN__
+ shro 8,MSW,MSW # move next byte into position for extraction
+#endif
+ be.f Lexit_char_found # Lexit if char found
+ cmpobne.t g1,g0,Lcase_3_cloop_at_start # branch if reached word boundary
+
+ ld (g5),MSW # fetch msw of operand for double shift
+
+Lcase_4:
+ shro 8,g2,g4
+ or g4,g2,g1
+ shro 16,g1,g4
+ or g4,g1,g4
+
+#if __i960_BIG_ENDIAN__
+ cmpobne 0,g14,Lcase_3_wloop
+
+Lcase_3_wloop2:
+ cmpi g3,4 # less than four bytes to move?
+ lda 4(g5),g5 # post-increment src word addr
+ mov LSW,g1 # extract 4 bytes of src
+ bl.f Lcase_13_cloop_setup # branch if < four bytes left to move
+ scanbyte g4,g1 # branch if word has char in it
+ bo.f Lcase_13_cloop_setup
+ mov MSW,LSW # move msw to lsw
+ ld (g5),MSW # pre-fetch msw of operand for double shift
+ subi 4,g3,g3 # decrease max_byte count by the 4 bytes moved
+ st g1,(g0) # store 4 bytes to dest
+ addo 4,g0,g0 # post-increment dest ptr
+ b Lcase_3_wloop2
+#endif
+
+Lcase_3_wloop:
+ cmpi g3,4 # less than four bytes to move?
+ lda 4(g5),g5 # post-increment src word addr
+ eshro g14,g6,g1 # extract 4 bytes of src
+ bl.f Lcase_13_cloop_setup # branch if < four bytes left to move
+ scanbyte g4,g1 # branch if word has char in it
+ bo.f Lcase_13_cloop_setup
+ mov MSW,LSW # move msw to lsw
+ ld (g5),MSW # pre-fetch msw of operand for double shift
+ subi 4,g3,g3 # decrease max_byte count by the 4 bytes moved
+ st g1,(g0) # store 4 bytes to dest
+ addo 4,g0,g0 # post-increment dest ptr
+ b Lcase_3_wloop
+
+Lcase_1_setup:
+ subo 4,g0,g0 # store is pre-incrementing; back up dest addr
+ shro 8,g2,g4
+ or g4,g2,MSW
+ shro 16,MSW,g4
+ or g4,MSW,g4
+ b Lcase_1
+Lcase_1_wloop: # word copying loop
+ subi 4,g3,g3 # decrease max_byte count by the 4 bytes moved
+ ld (g5),LSW # pre-fetch next word of src
+ addo 4,g5,g5 # post-increment src addr
+ st g1,(g0) # store word in dest string
+Lcase_1: # src and dest are word aligned
+ cmpi g3,4 # check for fewer than four bytes to move
+ addo 4,g0,g0 # pre-increment dest addr
+ lda (LSW),g1 # keep a copy of the src word
+ bl.f Lcase_13_cloop_setup # branch if less than four bytes to copy
+ scanbyte LSW,g4 # branch if char is not in foursome
+ bno.t Lcase_1_wloop
+Lcase_13_cloop_setup:
+ cmpibe.f 0,g3,Lexit_char_not_found # Lexit if max_bytes is exhausted
+
+Lcase_1_cloop:
+#if __i960_BIG_ENDIAN__
+ rotate 8,g1,g1 # move next byte into position for extraction
+#endif
+ shlo 24,g1,g4
+ stob g1,(g0) # store the byte in dest
+ cmpo g4,g2
+ lda 1(g0),g0 # post-increment dest byte addr
+ subi 1,g3,g3
+ be.f Lexit_char_found # Lexit if char reached
+ cmpi 0,g3
+#if ! __i960_BIG_ENDIAN__
+ shro 8,g1,g1 # move next byte into position for extraction
+#endif
+ bne.t Lcase_1_cloop # continue if len not exhausted
+
+Lexit_char_not_found:
+ mov 0,g0
+Lexit_char_found:
+ lda 0,g14
+ bx (g13) # g0 = dest array address; g14 = 0
+Lrett:
+ ret
+
+
+Lcase_245:
+ cmpo g0,g4 # check alignment of dest
+ ld (g5),MSW # pre-fetch second half
+ and 3,g1,g1 # compute shift count
+ shlo 3,g1,g14
+#if __i960_BIG_ENDIAN__
+ subo g14,0,g14 # adjust shift count for big endian
+#endif
+ be.t Lcase_4 # branch if dest is word aligned
+ or g4,g1,g1 # is src earlier in word, later, or sync w/ dst
+ cmpo g0,g1 # < indicates first word of dest has more bytes
+ /* than first word of source. */
+ eshro g14,g6,g4 # extract four bytes
+ lda 4(g0),g1 # move dest word addr to first word boundary
+#if __i960_BIG_ENDIAN__
+ bge.f 1f
+#else
+ bg.f 1f
+#endif
+ mov MSW,LSW
+ lda 4(g5),g5 # move src word addr to second word boundary
+1:
+ notand g1,3,g1
+ mov g4,MSW
+ b Lcase_25
+
+/* end of memccpy */
diff --git a/newlib/libc/machine/i960/memchr.S b/newlib/libc/machine/i960/memchr.S
new file mode 100644
index 00000000000..e9a4e426db4
--- /dev/null
+++ b/newlib/libc/machine/i960/memchr.S
@@ -0,0 +1,130 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "memchr.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+/*
+ * (c) copyright 1988,1993 Intel Corp., all rights reserved
+ */
+
+/*
+ procedure memchr (optimized assembler version for the 80960K series)
+
+ src_addr = memchr (src_addr, char, max_bytes)
+
+ searching from src_addr for a span of max_bytes bytes, return a
+ pointer to the first byte in the source array that contains the
+ indicated char. Return null if the char is not found.
+
+ Undefined behavior will occur if the last byte of the source array
+ is in the last two words of the program's allocated memory space.
+ This is so because memchr fetches ahead. Disallowing the fetch
+ ahead would impose a severe performance penalty.
+
+ Strategy:
+
+ Fetch the source array by words and scanbyte the words for the
+ char until either a word with the byte is found or max_bytes is
+ exhausted. In the former case, move through the word to find the
+ matching byte and return its memory address. In the latter case,
+ return zero (null).
+
+ Tactics:
+
+ 1) Do NOT try to fetch the words in a word aligned manner because,
+ in my judgement, the performance degradation experienced due to
+ non-aligned accesses does NOT outweigh the time and complexity added
+ by the preamble that would be necessary to assure alignment. This
+ is supported by the intuition that most source arrays (even more
+ true of most big source arrays) will be word aligned to begin with.
+
+ 2) Rather than decrementing max_bytes to zero, I calculate the
+ address of the byte after the last byte of the source array, and
+ quit when the source byte pointer passes that. Refining, actually
+ I calculate the address of the fifth byte after the last byte of
+ the source array, because the source byte pointer is ahead of the
+ actual examination point due to fetch ahead.
+*/
+
+ .globl _memchr
+ .globl __memchr
+ .leafproc _memchr, __memchr
+ .align 2
+_memchr:
+#ifndef __PIC
+ lda Lrett,g14
+#else
+ lda Lrett-(.+8)(ip),g14
+#endif
+__memchr:
+
+ mov g14,g13 # preserve return address
+ lda 0xff,g7 # byte extraction mask
+ and g1,g7,g1 # make char an 8-bit ordinal
+ mov 0,g14 # conform to register linkage standard
+ cmpibge 0,g2,Lnot_found # do nothing if max_bytes <= 0
+ addo 4,g0,g6 # post-increment src word pointer
+ addo g2,g6,g2 # compute ending address from start and len
+ ld (g0),g4 # fetch first word
+ shlo 8,g1,g3 # broadcast the char to four bytes
+ or g1,g3,g3
+ shlo 16,g3,g5
+ or g3,g5,g3
+
+Lsearch_for_word_with_char:
+ mov g4,g5 # keep a copy of word
+ scanbyte g3,g5 # check for byte with char
+ ld (g6),g4 # fetch next word of src
+ bo Lsearch_for_char # branch if null found
+ addo 4,g6,g6 # post-increment src word pointer
+ cmpobge g2,g6,Lsearch_for_word_with_char # branch if max_bytes > 3
+
+Lnot_found:
+ mov 0,g0 # char not found. Return null
+ bx (g13) # g0 = addr of char in src (or null); g14 = 0
+Lrett:
+ ret
+
+Lsearch_for_char:
+ cmpobe.f g6,g2,Lnot_found # quit if max_bytes exhausted
+ and g5,g7,g0 # extract byte
+ cmpo g1,g0 # is it char?
+ addo 1,g6,g6 # bump src byte ptr
+ shro 8,g5,g5 # shift word to position next byte
+ bne.t Lsearch_for_char
+ subo 5,g6,g0 # back up the byte pointer
+ bx (g13)
+
+/* end of memchr */
diff --git a/newlib/libc/machine/i960/memchr_ca.S b/newlib/libc/machine/i960/memchr_ca.S
new file mode 100644
index 00000000000..ac80be71c75
--- /dev/null
+++ b/newlib/libc/machine/i960/memchr_ca.S
@@ -0,0 +1,153 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "memchr_ca.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+/*
+ * (c) copyright 1988,1993 Intel Corp., all rights reserved
+ */
+
+/*
+ procedure memchr (optimized assembler version for the CA)
+
+ src_addr = memchr (src_addr, char, max_bytes)
+
+ searching from src_addr for max_bytes bytes, return a pointer to the
+ first byte that contains the indicated byte in the source string.
+ Return null if the byte is not found.
+
+ Undefined behavior will occur if the end of the source string (i.e.
+ the terminating null byte) is in the last two words of the program's
+ allocated memory space. This is so because, in several cases, memchr
+ will fetch ahead. Disallowing the fetch ahead would impose a severe
+ performance penalty.
+
+ This program handles two cases:
+
+ 1) the argument starts on a word boundary
+ 2) the argument doesn't start on a word boundary
+
+ At the time of this writing, only g0 thru g7 and g13 are available
+ for use in this leafproc; other registers would have to be saved and
+ restored. These nine registers, plus tricky use of g14 are sufficient
+ to implement the routine. The registers are used as follows:
+
+ g0 src ptr; upon return it is a pointer to the matching byte, or null
+ g1 char to seek
+ g2 maximum number of bytes to check
+ g3 char to seek, broadcast to all four bytes
+ g4 word of the source string
+ g5 copy of the word
+ g6 mask to avoid unimportant bytes in first word
+ g7 byte extraction mask
+ g13 return address
+ g14
+*/
+
+ .globl _memchr
+ .globl __memchr
+ .leafproc _memchr, __memchr
+ .align 2
+_memchr:
+#ifndef __PIC
+ lda Lrett,g14
+#else
+ lda Lrett-(.+8)(ip),g14
+#endif
+__memchr:
+
+ mov g14,g13 # preserve return address
+ lda 0xff,g7 # byte extraction mask
+ and g1,g7,g1 # make char an 8-bit ordinal
+ lda 0,g14 # conform to register linkage standard
+ cmpibge.f 0,g2,Lnot_found # do nothing if max_bytes <= 0
+ addo g0,g2,g2 # compute ending address from start and len
+ and g0,3,g6 # extract byte offset of src
+ notand g0,3,g0 # extract word addr of start of src
+ shlo 8,g1,g3 # broadcast the char to four bytes
+ ld (g0),g4 # fetch word containing at least first byte
+ or g1,g3,g3
+ shlo 16,g3,g5
+ cmpo g1,g7 # is char being sought 0xff?
+ or g5,g3,g3
+ shlo 3,g6,g6 # get shift count for making mask for first word
+ subi 1,0,g5 # mask initially all ones
+#if __i960_BIG_ENDIAN__
+ shro g6,g5,g5 # get mask for bytes needed from first word
+#else
+ shlo g6,g5,g5 # get mask for bytes needed from first word
+#endif
+ notor g4,g5,g4 # set unneeded bytes to all ones
+ be.f Lsearch_for_0xff # branch if seeking 0xff
+
+Lsearch_for_word_with_char:
+ scanbyte g3,g4 # check for byte with char
+ lda 4(g0),g0 # pre-increment src word pointer
+ mov g4,g5 # keep a copy of word
+ ld (g0),g4 # fetch next word of src
+ bo.f Lsearch_for_char # branch if null found
+ cmpoble.t g0,g2,Lsearch_for_word_with_char # branch if not null
+
+Lnot_found:
+ mov 0,g0 # char not found. Return null
+Lexit_code:
+ bx (g13) # g0 = addr of char in src (or null); g14 = 0
+Lrett:
+ ret
+
+Lsearch_for_char:
+ subo 4,g0,g0 # back up the byte pointer
+Lsearch_for_char.a:
+ cmpobe.f g0,g2,Lnot_found # quit if max_bytes exhausted
+#if __i960_BIG_ENDIAN__
+ rotate 8,g5,g5 # shift word to position next byte
+#endif
+ and g5,g7,g6 # extract byte
+ cmpo g1,g6 # is it char?
+ lda 1(g0),g0 # bump src byte ptr
+#if ! __i960_BIG_ENDIAN__
+ shro 8,g5,g5 # shift word to position next byte
+#endif
+ bne.t Lsearch_for_char.a
+ subo 1,g0,g0 # back up the byte pointer
+ b Lexit_code
+
+Lsearch_for_0xff:
+ lda 0xf0f0f0f0,g6 # make first comparison mask for char=-1 case.
+ or g6,g5,g6
+ and g4,g6,g4 # make unimportant bytes of first word 0x0f
+ b Lsearch_for_word_with_char
+
+/* end of memchr */
diff --git a/newlib/libc/machine/i960/memcmp.S b/newlib/libc/machine/i960/memcmp.S
new file mode 100644
index 00000000000..709eb2bdbb8
--- /dev/null
+++ b/newlib/libc/machine/i960/memcmp.S
@@ -0,0 +1,128 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "memcmp.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+/*
+ * (c) copyright 1988,1993 Intel Corp., all rights reserved
+ */
+/*
+ procedure memcmp (optimized assembler version for the 80960K series)
+
+ result = memcmp (src1_addr, src2_addr, max_bytes)
+
+ compare the byte array pointed to by src1_addr to the byte array
+ pointed to by src2_addr. Return 0 iff the arrays are equal, -1 iff
+ src1_addr is lexicographically less than src2_addr, and 1 iff it is
+ lexicographically greater. Do not compare more than max_bytes bytes.
+
+ Undefined behavior will occur if the end of either source array
+ is in the last two words of the program's allocated memory space.
+ This is so because memcmp fetches ahead. Disallowing the fetch ahead
+ would impose a severe performance penalty.
+
+ Strategy:
+
+ Fetch the source strings by words and compare the words until either
+ a differing word is found or max_bytes is exhausted. In the former
+ case, move through the words to find the differing byte and return
+ plus or minus one, appropriately. In the latter case, return zero
+ (equality).
+
+ Tactics:
+
+ 1) Do NOT try to fetch the words in a word aligned manner because,
+ in my judgement, the performance degradation experienced due to
+ non-aligned accesses does NOT outweigh the time and complexity added
+ by the preamble that would be necessary to assure alignment. This
+ is supported by the intuition that most source arrays (even more
+ true of most big source arrays) will be word aligned to begin with.
+
+ 2) Rather than decrementing max_bytes to zero, I calculate the
+ address of the byte after the last byte of the source_1 array, and
+ quit when the source byte pointer passes that.
+*/
+
+ .globl _memcmp
+ .globl __memcmp
+ .leafproc _memcmp,__memcmp
+ .align 2
+
+_memcmp:
+#ifndef __PIC
+ lda .Lrett,g14
+#else
+ lda .Lrett-(.+8)(ip),g14
+#endif
+__memcmp:
+ mov g14,g13 # preserve return address
+ ldconst 0,g14 # conform to register conventions
+ cmpibge 0,g2,Lequal_exit # quit if max_bytes <= 0
+ addo g0,g2,g2 # calculate byte addr of byte after last in src1
+
+.Lwloop:
+ cmpo g0,g2
+ ld (g0), g5 # fetch word of source_1
+ bge Lequal_exit # quit (equal) if max_bytes exhausted
+ ld (g1), g3 # fetch word of source_2
+ addo 4,g0,g0 # post-increment source_1 byte ptr
+ addo 4,g1,g1 # post-increment source_2 byte ptr
+ cmpobe g5,g3,.Lwloop # branch if source words are equal
+
+ ldconst 0xff,g4 # byte extraction mask
+ subo 4,g0,g0 # back up src1 pointer
+
+.Lcloop: and g4,g5,g7 # extract and compare individual bytes
+ and g4,g3,g6
+ cmpobne g7,g6,.diff # branch if they are different
+ shlo 8,g4,g4 # position mask for next extraction
+ addo 1,g0,g0
+ cmpobl g0,g2,.Lcloop # quit if max_bytes is exhausted
+
+Lequal_exit:
+ mov 0,g0
+ bx (g13)
+.Lrett:
+ ret
+
+.diff: bl .neg # arrays differ at current byte.
+ /* return 1 or -1 appropriately */
+ mov 1,g0
+ bx (g13)
+.neg: subi 1,0,g0
+.Lexit:
+ bx (g13)
+
+/* end or memcmp */
diff --git a/newlib/libc/machine/i960/memcmp_ca.S b/newlib/libc/machine/i960/memcmp_ca.S
new file mode 100644
index 00000000000..317ea89bf4b
--- /dev/null
+++ b/newlib/libc/machine/i960/memcmp_ca.S
@@ -0,0 +1,205 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "memcm_ca.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+/*
+ * (c) copyright 1988,1992,1993 Intel Corp., all rights reserved
+ */
+
+/*
+ procedure memcmp (optimized assembler version for the CA)
+
+ result = memcmp (src1_addr, src2_addr, max_bytes)
+
+ compare the byte array pointed to by src1_addr to the byte array
+ pointed to by src2_addr. Return 0 iff the arrays are equal, -1 if
+ src1_addr is lexicly less than src2_addr, and 1 if it is lexicly
+ greater. Do not compare more than max_bytes bytes.
+
+ Undefined behavior will occur if the end of either source array
+ is in the last word of the program's allocated memory space. This
+ is so because, in several cases, memcmp will fetch ahead one word.
+ Disallowing the fetch ahead would impose a severe performance penalty.
+
+ This program handles five cases:
+
+ 1) both arguments start on a word boundary
+ 2) neither are word aligned, but they are offset by the same amount
+ 3) source1 is word aligned, source2 is not
+ 4) source2 is word aligned, source1 is not
+ 5) neither is word aligned, and they are offset by differing amounts
+
+ At the time of this writing, only g0 thru g7 and g14 are available
+ for use in this leafproc; other registers would have to be saved and
+ restored. These nine registers are sufficient to implement the routine.
+ The registers are used as follows:
+
+ g0 original src1 ptr; extracted word; return result
+ g1 src2 ptr; byt extraction mask
+ g2 maximum number of bytes to compare
+ g3 src2 word ptr
+ Little endian
+ g4 lsw of src1
+ g5 msw of src1
+ g6 src2 word
+ g7 src1 word ptr
+ Big endian
+ g4 msw of src1
+ g5 lsw of src1
+ g6 src1 word ptr
+ g7 src2 word
+ g13 return address
+ g14 shift count
+*/
+
+#if __i960_BIG_ENDIAN__
+#define MSW g4
+#define LSW g5
+#define SRC1 g6
+#define SRC2 g7
+#else
+#define LSW g4
+#define MSW g5
+#define SRC2 g6
+#define SRC1 g7
+#endif
+
+ .globl _memcmp
+ .globl __memcmp
+ .leafproc _memcmp, __memcmp
+ .align 2
+_memcmp:
+#ifndef __PIC
+ lda Lrett,g14
+#else
+ lda Lrett-(.+8)(ip),g14
+#endif
+__memcmp:
+Lrestart:
+#if __i960_BIG_ENDIAN__
+ subo 1,g0,SRC1
+ notand SRC1,3,SRC1 # extract word addr of start of src1
+#else
+ notand g0,3,SRC1 # extract word addr of start of src1
+#endif
+ lda (g14),g13 # preserve return address
+ cmpibge.f 0,g2,Lequal_exit # return equality if number bytes 0
+ notand g1,3,g3 # extract word addr of start of src2
+ ld (SRC1),LSW # fetch word with at least first byte of src1
+ cmpo g3,g1 # check alignment of src2
+ ld 4(SRC1),MSW # fetch second word of src1
+ shlo 3,g0,g14 # compute shift count for src1
+#if __i960_BIG_ENDIAN__
+ subo g14,0,g14 # adjust shift count for big endian.
+#endif
+ ld (g3),SRC2 # fetch word with at least first byte of src2
+ eshro g14,g4,LSW # extract word of src1
+ lda 8(SRC1),SRC1 # advance src1 word addr
+ bne.f Lsrc2_unaligned # branch if src2 is NOT word aligned
+
+ mov LSW,g0 # at least src2 is word aligned
+
+ lda 0xff,g1
+
+Lwloop: # word comparing loop
+ cmpo SRC2,g0 # compare src1 and src2 words
+ lda 4(g3),g3 # pre-increment src2 addr
+ mov MSW,LSW # move msw of src1 to lsw
+ ld (SRC1),MSW # pre-fetch next msw of src1
+ subi 4,g2,g2 # decrement maximum byte count
+ bne.f Lcloop # branch if src1 and src2 unequal
+ cmpi 0,g2
+ ld (g3),SRC2 # pre-fetch next word of src2
+ eshro g14,g4,g0 # extract word of src1
+ lda 4(SRC1),SRC1 # post-increment src1 addr
+ bl.t Lwloop # branch if max_bytes not reached yet
+
+ b Lequal_exit # strings were equal up through max_bytes
+
+Lcloop_setup: # setup for coming from Lsrc2_unaligned
+ mov LSW,g0 # restore extracted src1 word
+ subo 4,g2,g2 # make up for later re-incrementing
+ lda 0xff,g1 # byte extraction mask
+
+Lcloop: # character comparing loop
+#if __i960_BIG_ENDIAN__
+ rotate 24,g1,g1 # shift mask for next byte
+#endif
+ and SRC2,g1,g3 # extract next char of src2
+ and g0,g1,LSW # extract next char of src1
+ cmpobne.f LSW,g3,.diff # check for equality
+#if ! __i960_BIG_ENDIAN__
+ shlo 8,g1,g1 # shift mask for next byte
+#endif
+ subi 1,g2,g2 # decrement character counter
+ b Lcloop # branch if null not reached
+
+
+Lequal_exit: # words are equal up thru null byte
+ mov 0,g14 # conform to register conventions
+ lda 0,g0 # return zero, indicating equality
+ bx (g13) # return
+Lrett:
+ ret
+
+.diff:
+ addo 4,g2,g2 # to make up for extra decrement in loop
+ lda 0,g14
+ bl Lless_than_exit
+Lgreater_than_exit:
+ cmpibge.f 0,g2,Lequal_exit # branch if difference is beyond max_bytes
+ mov 1,g0
+ bx (g13) # g0 = 1 (src1 > src2)
+Lless_than_exit:
+ cmpibge.f 0,g2,Lequal_exit # branch if difference is beyond max_bytes
+ subi 1,0,g0
+ bx (g13) # g0 = -1 (src1 < src2)
+
+Lsrc2_unaligned:
+ notor g1,3,g14 # first step in computing new src1 ptr
+ ld 4(g3),SRC1 # fetch second word of src2
+ shlo 3,g1,MSW # compute shift count for src2
+#if __i960_BIG_ENDIAN__
+ subo MSW,0,MSW
+#endif
+ eshro MSW,g6,SRC2 # extract word of src2
+ cmpo LSW,SRC2 # compare src1 and src2 words
+ lda 4(g3),g1 # set new src2 ptr
+ bne.f Lcloop_setup # first four bytes differ
+ subo g14,g0,g0 # second (final) step in computing new src1 ptr
+ addi g14,g2,g2 # compute new max_bytes too
+ lda (g13),g14 # prepare return pointer for Lrestart
+ b Lrestart # continue with both string fetches shifted
diff --git a/newlib/libc/machine/i960/memcpy.S b/newlib/libc/machine/i960/memcpy.S
new file mode 100644
index 00000000000..8465e474ba5
--- /dev/null
+++ b/newlib/libc/machine/i960/memcpy.S
@@ -0,0 +1,160 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "memcpy.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+/*
+ * (c) copyright 1988,1993 Intel Corp., all rights reserved
+ */
+/*
+ procedure memmove (optimized assembler version for the 80960K series)
+ procedure memcpy (optimized assembler version for the 80960K series)
+
+ dest_addr = memmove (dest_addr, src_addr, len)
+ dest_addr = memcpy (dest_addr, src_addr, len)
+
+ copy len bytes pointed to by src_addr to the space pointed to by
+ dest_addr. Return the original dest_addr.
+
+ These routines will work even if the arrays overlap. The standard
+ requires this of memmove, but memcpy is allowed to fail if overlap
+ is present. Nevertheless, it is implemented the same as memmove
+ because the overhead is trifling.
+
+ Undefined behavior will occur if the end of the source array is in
+ the last two words of the program's allocated memory space. This
+ is so because the routine fetches ahead. Disallowing the fetch
+ ahead would impose a severe performance penalty.
+
+ Strategy:
+
+ Fetch the source array by words and store them by words to the
+ destination array, until there are fewer than three bytes left
+ to copy. Then, using the last word of the source (the one that
+ contains the remaining 0, 1, 2, or 3 bytes to be copied), store
+ a byte at a time until Ldone.
+
+ Tactics:
+
+ 1) Do NOT try to fetch and store the words in a word aligned manner
+ because, in my judgement, the performance degradation experienced due
+ to non-aligned accesses does NOT outweigh the time and complexity added
+ by the preamble and convoluted body that would be necessary to assure
+ alignment. This is supported by the intuition that most source and
+ destination arrays (even more true of most big source arrays) will
+ be word aligned to begin with.
+
+ 2) For non-overlapping arrays, rather than decrementing len to zero,
+ I calculate the address of the byte after the last byte of the
+ destination array, and quit when the destination byte pointer passes
+ that.
+
+ 3) For overlapping arrays where the source starts at a lower address
+ than the destination the move is performed in reverse order.
+
+ 4) Overlapping arrays where the source starts at a higher address
+ are treated like non-overlapping case. Where the two arrays exactly
+ coincide, the routine is short-circuited; no move is Ldone at all.
+ This costs only one cycle.
+*/
+
+ .globl _memcpy, _memmove
+ .globl __memcpy, __memmove
+ .leafproc _memmove, __memmove
+ .leafproc _memcpy, __memcpy
+ .align 2
+_memmove:
+_memcpy:
+#ifndef __PIC
+ lda Lrett,g14
+#else
+ lda Lrett-(.+8)(ip),g14
+#endif
+__memmove:
+__memcpy:
+ mov g14, g13 # preserve return address
+ cmpibge 0,g2,Lexit # exit if number of bytes to move is <= zero.
+ cmpo g0,g1 # does start of dest overlap end of src?
+ addo g2,g1,g3
+ be Lexit # no move necessary if src and dest are same
+ concmpo g3,g0
+ addo g2, g0, g6
+ bg Lbackwards # if overlap, then do move backwards
+
+ ld (g1), g7 # fetch first word of source
+ mov g0, g5
+ b Lwloop_b
+
+Lwloop_a:
+ ld (g1), g7 # fetch ahead next word of source
+ st g4, (g5) # store word to dest
+ addo 4, g5, g5 # post-increment dest pointer
+Lwloop_b: # word copying loop
+ addo 4, g1, g1 # pre-increment src pointer
+ cmpo g3, g1 # is len <= 3 ?
+ mov g7, g4 # keep a copy of the current word
+ bge Lwloop_a # loop if more than 3 bytes to move
+ cmpobe g6, g5, Lexit # quit if no more bytes to move
+
+Lcloop_a: # character copying loop (len < 3)
+ stob g4, (g5) # store a byte
+ shro 8, g4, g4 # position next byte for storing
+ addo 1, g5, g5
+ cmpobne g6, g5, Lcloop_a # quit if no more bytes to move
+
+Lexit:
+ mov 0, g14
+ bx (g13) # g0 = dest array address; g14 = 0
+Lrett:
+ ret
+
+Lwloop.a:
+ subo 4, g6, g6 # pre-decrement dest pointer
+ st g7, (g6) # store word to dest
+Lbackwards: # word copying loop
+ subo 4, g3, g3 # pre-decrement src pointer
+ cmpo g1, g3 # is len <= 3?
+ ld (g3), g7 # fetch ahead next word of source
+ ble Lwloop.a # loop if more than 3 bytes to move
+ cmpobe g6, g0, Lexit # quit if no more bytes to move
+
+Lcloop.a:
+ subo 1, g6, g6
+ rotate 8, g7, g7 # position byte for storing
+ stob g7, (g6) # store byte
+ cmpobne g6, g0, Lcloop.a # quit if no more bytes to move
+ b Lexit
+
+/* end of memmove */
diff --git a/newlib/libc/machine/i960/memcpy_ca.S b/newlib/libc/machine/i960/memcpy_ca.S
new file mode 100644
index 00000000000..eebfa88a1c5
--- /dev/null
+++ b/newlib/libc/machine/i960/memcpy_ca.S
@@ -0,0 +1,353 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "memcp_ca.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+/*
+ * (c) copyright 1988,1992,1993 Intel Corp., all rights reserved
+ */
+
+/*
+ procedure memmove (optimized assembler version for the CA)
+ procedure memcpy (optimized assembler version for the CA)
+
+ dest_addr = memmove (dest_addr, src_addr, len)
+ dest_addr = memcpy (dest_addr, src_addr, len)
+
+ copy len bytes pointed to by src_addr to the space pointed to by
+ dest_addr. Return the original dest_addr.
+
+ Memcpy will fail if the source and destination string overlap
+ (in particular, if the end of the source is overlapped by the
+ beginning of the destination). The behavior is undefined.
+ This is acceptable according to the draft C standard.
+ Memmove will not fail if overlap exists.
+
+ Undefined behavior will also occur if the end of the source string
+ (i.e. the terminating null byte) is in the last word of the program's
+ allocated memory space. This is so because, in several cases, the
+ routine will fetch ahead one word. Disallowing the fetch ahead would
+ impose a severe performance penalty.
+
+ This program handles five cases:
+
+ 1) both arguments start on a word boundary
+ 2) neither are word aligned, but they are offset by the same amount
+ 3) source is word aligned, destination is not
+ 4) destination is word aligned, source is not
+ 5) neither is word aligned, and they are offset by differing amounts
+
+ At the time of this writing, only g0 thru g7 and g13 are available
+ for use in this leafproc; other registers would have to be saved and
+ restored. These nine registers, plus tricky use of g14 are sufficient
+ to implement the routine. The registers are used as follows:
+
+ g0 dest ptr; not modified, so that it may be returned
+ g1 src ptr; shift count
+ g2 len
+ g3 src ptr (word aligned)
+ g4 dest ptr (word aligned)
+ g5 -4 for Lbackwards move
+ Little endian
+ g6 lsw of double word for extraction of 4 bytes
+ g7 msw of double word for extraction of 4 bytes
+ Big endian
+ g6 msw of double word for extraction of 4 bytes
+ g7 lsw of double word for extraction of 4 bytes
+ g13 return address
+ g14 byte extracted.
+*/
+
+#if __i960_BIG_ENDIAN__
+#define MSW g6
+#define LSW g7
+#else
+#define LSW g6
+#define MSW g7
+#endif
+
+ .globl _memmove, _memcpy
+ .globl __memmove, __memcpy
+ .leafproc _memmove, __memmove
+ .leafproc _memcpy, __memcpy
+ .align 2
+_memcpy:
+_memmove:
+#ifndef __PIC
+ lda Lrett,g14
+#else
+ lda Lrett-(.+8)(ip),g14
+#endif
+__memcpy:
+__memmove:
+ cmpibge.f 0,g2,Lquick_exit # Lexit if number of bytes to move is <= zero.
+ cmpo g0,g1 # if dest starts earlier than src ...
+ lda (g14),g13 # preserve return address
+ addo g2,g1,g5 # compute addr of byte after last byte of src
+ be.f Lexit_code # no move necessary if src and dest are same
+ concmpo g5,g0 # ... or if dest starts after end of src ...
+ notand g1,3,g3 # extract word addr of start of src
+ bg.f Lbackwards # ... then drop thru, else do move backwards
+ cmpo g3,g1 # check alignment of src
+ ld (g3),LSW # fetch word containing at least first byte
+ notand g0,3,g4 # extract word addr of start of dest
+ lda 4(g3),g3 # advance src word addr
+ bne.f Lcase_245 # branch if src is NOT word aligned
+
+Lcase_13:
+ cmpo g0,g4 # check alignment of dest
+ subo 4,g4,g4 # store is pre-incrementing; back up dest addr
+ be.t Lcase_1 # branch if dest word aligned
+
+Lcase_3: # src is word aligned; dest is not
+ addo 8,g4,g4 # move dest word ptr to first word boundary
+ lda (g0),g1 # copy dest byte ptr
+ mov LSW,MSW # make copy of first word of src
+ lda 32,g14 # initialize shift count to zero (mod 32)
+
+Lcase_25:
+Lcase_3_cloop_at_start: # character copying loop for start of dest str
+ cmpdeci 0,g2,g2 # is max_bytes exhausted?
+ be.f Lexit_code # Lexit if max_bytes is exhausted
+#if __i960_BIG_ENDIAN__
+ rotate 8,MSW,MSW # move next byte into position for extraction
+ subo 8,g14,g14 # augment the shift counter
+ stob MSW,(g1) # store the byte in dest
+#else
+ addo 8,g14,g14 # augment the shift counter
+ stob MSW,(g1) # store the byte in dest
+ shro 8,MSW,MSW # move next byte into position for extraction
+#endif
+ lda 1(g1),g1 # post-increment dest ptr
+ cmpobne.t g1,g4,Lcase_3_cloop_at_start # branch if reached word boundary
+
+ ld (g3),MSW # fetch msw of operand for double shift
+
+Lcase_4:
+Lcase_3_wloop:
+ cmpi g2,4 # less than four bytes to move?
+ lda 4(g3),g3 # post-increment src word addr
+ eshro g14,g6,g1 # extract 4 bytes of src
+ bl.f Lcase_3_cloop # branch if < four bytes left to move
+ mov MSW,LSW # move msw to lsw
+ ld (g3),MSW # pre-fetch msw of operand for double shift
+ subi 4,g2,g2 # decrease max_byte count by the 4 bytes moved
+ st g1,(g4) # store 4 bytes to dest
+ addo 4,g4,g4 # post-increment dest ptr
+ b Lcase_3_wloop
+
+Lcase_1_wloop: # word copying loop
+ subi 4,g2,g2 # decrease max_byte count by the 4 bytes moved
+ ld (g3),LSW # pre-fetch next word of src
+ addo 4,g3,g3 # post-increment src addr
+ st g1,(g4) # store word in dest string
+Lcase_1: # src and dest are word aligned
+ cmpi g2,4 # check for fewer than four bytes to move
+ addo 4,g4,g4 # pre-increment dest addr
+ lda (LSW),g1 # keep a copy of the src word
+ bge.t Lcase_1_wloop # branch if at least four bytes to copy
+Lcase_3_cloop:
+ cmpibe.f 0,g2,Lexit_code # Lexit if max_bytes is exhausted
+
+Lcase_1_cloop:
+#if __i960_BIG_ENDIAN__
+ rotate 8,g1,g1 # move next byte into position for extraction
+#endif
+ subi 1,g2,g2
+ stob g1,(g4) # store the byte in dest
+ cmpi 0,g2
+ lda 1(g4),g4 # post-increment dest byte addr
+#if ! __i960_BIG_ENDIAN__
+ shro 8,g1,g1 # move next byte into position for extraction
+#endif
+ bne.t Lcase_1_cloop # Lexit if max_bytes is exhausted
+
+Lexit_code:
+ mov 0,g14 # conform to register conventions
+ bx (g13) # g0 = addr of dest; g14 = 0
+Lrett:
+ ret
+
+
+Lcase_245:
+ cmpo g0,g4 # check alignment of dest
+ ld (g3),MSW # pre-fetch second half
+ and 3,g1,g1 # compute shift count
+ shlo 3,g1,g14
+#if __i960_BIG_ENDIAN__
+ subo g14,0,g14 # adjust shift count for big endian
+#endif
+ be.t Lcase_4 # branch if dest is word aligned
+ or g4,g1,g1 # is src earlier in word, later, or sync w/ dst
+ cmpo g0,g1 # < indicates first word of dest has more bytes
+ lda 4(g4),g4 # move dest word addr to first word boundary
+ eshro g14,g6,g5 # extract four bytes
+ lda (g0),g1
+#if __i960_BIG_ENDIAN__
+ bge.f 1f
+#else
+ bg.f 1f
+#endif
+ mov MSW,LSW
+ lda 4(g3),g3 # move src word addr to second word boundary
+1:
+ mov g5,MSW
+ b Lcase_25
+
+
+Lbackwards:
+ notand g5,3,MSW # extract word addr of byte after end of src
+ cmpo MSW,g5 # check alignment of end of src
+ subo 4,MSW,g3 # retreat src word addr
+ addo g2,g0,g1 # compute addr of byte after end of dest
+ notand g1,3,g4 # extract word addr of start of dest
+ bne.f Lcase.245 # branch if src is NOT word aligned
+
+Lcase.13:
+ cmpo g1,g4 # check alignment of dest
+ ld (g3),MSW # fetch last word of src
+ subo 4,g3,g3 # retreat src word addr
+ be.t Lcase.1 # branch if dest word aligned
+
+Lcase.3: # src is word aligned; dest is not
+ mov MSW,LSW # make copy of first word of src
+ lda 32,g14 # initialize shift count to zero (mod 32)
+
+Lcase.25:
+Lcase.3_cloop_at_start: # character copying loop for start of dest str
+ cmpdeci 0,g2,g2 # is max.bytes exhausted?
+ be.f Lexit_code # Lexit if max_bytes is exhausted
+#if ! __i960_BIG_ENDIAN__
+ rotate 8,LSW,LSW # move next byte into position for storing
+#endif
+ lda -1(g1),g1 # pre-decrement dest ptr
+ cmpo g1,g4 # have we reached word boundary in dest yet?
+ stob LSW,(g1) # store the byte in dest
+#if __i960_BIG_ENDIAN__
+ shro 8,LSW,LSW # move next byte into position for storing
+ addo 8,g14,g14 # augment the shift counter
+#else
+ subo 8,g14,g14 # augment the shift counter
+#endif
+ bne.t Lcase.3_cloop_at_start # branch if reached word boundary?
+
+ ld (g3),LSW # fetch lsw of operand for double shift
+
+#if __i960_BIG_ENDIAN__
+ cmpobne 0,g14,Lcase.3_wloop
+Lcase.3_wloop2:
+ cmpi g2,4 # less than four bytes to move?
+ lda -4(g3),g3 # post-decrement src word addr
+ mov MSW,g1 # extract 4 bytes of src
+ lda (LSW),MSW # move lsw to msw
+ subo 4,g4,g4 # pre-decrement dest ptr
+ bl.f Lcase.3_cloop # branch if < four bytes left to move
+ ld (g3),LSW # pre-fetch lsw of operand for double shift
+ subi 4,g2,g2 # decrease max.byte count by the 4 bytes moved
+ st g1,(g4) # store 4 bytes to dest
+ b Lcase.3_wloop2
+#endif
+
+Lcase.4:
+Lcase.3_wloop:
+ cmpi g2,4 # less than four bytes to move?
+ lda -4(g3),g3 # post-decrement src word addr
+ eshro g14,g6,g1 # extract 4 bytes of src
+ lda (LSW),MSW # move lsw to msw
+ subo 4,g4,g4 # pre-decrement dest ptr
+ bl.f Lcase.3_cloop # branch if < four bytes left to move
+ ld (g3),LSW # pre-fetch lsw of operand for double shift
+ subi 4,g2,g2 # decrease max.byte count by the 4 bytes moved
+ st g1,(g4) # store 4 bytes to dest
+ b Lcase.3_wloop
+
+Lcase.1_wloop: # word copying loop
+ subi 4,g2,g2 # decrease max.byte count by the 4 bytes moved
+ ld (g3),MSW # pre-fetch next word of src
+ subo 4,g3,g3 # post-decrement src addr
+ st g1,(g4) # store word in dest string
+Lcase.1: # src and dest are word aligned
+ cmpi g2,4 # check for fewer than four bytes to move
+ subo 4,g4,g4 # pre-decrement dest addr
+ lda (MSW),g1 # keep a copy of the src word
+ bge.t Lcase.1_wloop # branch if at least four bytes to copy
+Lcase.3_cloop:
+ cmpibe.f 0,g2,Lexit_code # Lexit if max_bytes is exhausted
+#if ! __i960_BIG_ENDIAN__
+ rotate 8,g1,g1 # move next byte into position for storing
+#endif
+ lda 4(g4),g4 # pre-decremented dest addr 4 too much
+
+Lcase.1_cloop:
+ subi 1,g4,g4 # pre-decrement dest byte addr
+ cmpi g4,g0 # has dest ptr reached beginning of dest?
+ stob g1,(g4) # store the byte in dest
+#if __i960_BIG_ENDIAN__
+ shro 8,g1,g1 # move next byte into position for storing
+#else
+ rotate 8,g1,g1 # move next byte into position for storing
+#endif
+ bne.t Lcase.1_cloop # Lexit if move is completed
+ b Lexit_code
+
+Lcase.245:
+ cmpo g1,g4 # check alignment of dest
+ ld (MSW),MSW # pre-fetch word with at least last byte
+ and 3,g5,g5 # compute shift count
+ ld (g3),LSW # pre-fetch second to last word
+ shlo 3,g5,g14
+#if __i960_BIG_ENDIAN__
+ subo g14,0,g14 # adjust shift count for big endian
+#endif
+ be.t Lcase.4 # branch if dest is word aligned
+ or g4,g5,g5 # is src earlier in word, later, or sync w/ dst
+ cmpo g1,g5 # < indicates last word of dest has less bytes
+ eshro g14,g6,g5 # extract four bytes
+ bl.t 1f
+ mov LSW,MSW
+#if ! __i960_BIG_ENDIAN__
+ be.t 1f
+#endif
+ subo 4,g3,g3 # move src word addr to second word boundary
+1:
+ mov g5,LSW
+ b Lcase.25
+
+
+Lquick_exit:
+ mov g14,g13
+ b Lexit_code
+
+/* end of memmove */
diff --git a/newlib/libc/machine/i960/memset.S b/newlib/libc/machine/i960/memset.S
new file mode 100644
index 00000000000..9121d452481
--- /dev/null
+++ b/newlib/libc/machine/i960/memset.S
@@ -0,0 +1,121 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "memset.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+/*
+ * (c) copyright 1989,1993 Intel Corp., all rights reserved
+ */
+
+/*
+ procedure memset (optimized assembler version: 80960K series, 80960CA)
+
+ dest_addr = memset (dest_addr, char, len)
+
+ Fill len bytes pointed to by dest_addr with the value of char.
+ Return the original address of dest_addr.
+
+ This program avoids performing unaligned accesses. It stores
+ from zero to seven bytes, and then stores aligned longwords,
+ and then stores from zero to seven bytes, as necessary to
+ store len bytes starting at dest_addr.
+
+ At the time of this writing, only g0 thru g7 and g13 are available
+ for use in this leafproc; other registers would have to be saved and
+ restored. These nine registers, plus tricky use of g14 are sufficient
+ to implement the routine.
+*/
+
+ .globl _memset
+ .globl __memset
+ .leafproc _memset, __memset
+ .align 2
+_memset:
+#ifndef __PIC
+ lda Lrett,g14
+#else
+ lda Lrett-(.+8)(ip),g14
+#endif
+__memset:
+ cmpo 7,g2 # are there fewer than seven characters to move?
+ lda (g14),g13 # save return address
+ notand g0,7,g3 # test for non-aligned dest_ptr
+ lda 0,g14 # conform to register conventions
+ shlo 24,g1,g4 # prepare word of char
+ lda (g0),g6 # preserve dest_ptr for return
+ shro 8,g4,g5
+ bge.f Lcloop_setup
+ cmpo g3,g0 # is dest longword aligned
+ lda 7(g3),g3 # bump dest_ptr to next longword boundary
+ or g4,g5,g4
+ be.t Lwloop_setup
+
+Lbgn_cloop:
+ cmpo g6,g3 # Have we reached longword boundary?
+ stob g1,(g6) # store one byte of char
+ subo 1,g2,g2 # decrement len
+ lda 1(g6),g6 # increment dest_ptr
+ bne.t Lbgn_cloop # loop if more bytes to store before longword
+
+ cmpobge.f 7,g2,Lcloop
+
+Lwloop_setup:
+ shro 16,g4,g5
+ or g4,g5,g4
+ mov g4,g5 # now have a longword of char
+
+Lwloop:
+ cmpo 15,g2 # Do we have to store more longwords?
+ stl g4,(g6) # Store longword of char
+ subo 8,g2,g2 # Decrement len
+ lda 8(g6),g6 # Increment dest_ptr
+ bl.t Lwloop # loop if more longwords to store
+
+Lcloop_setup:
+ cmpobge.t 0,g2,Lexit
+
+Lcloop:
+ cmpo 1,g2 # Is len exhausted?
+ stob g1,(g6) # Store byte
+ subo 1,g2,g2 # Decrement len
+ lda 1(g6),g6 # Increment dest_ptr
+ bne.t Lcloop # loop if more bytes to store
+
+Lexit:
+ bx (g13)
+Lrett:
+ ret
+
+/* end of memset */
diff --git a/newlib/libc/machine/i960/setjmp.S b/newlib/libc/machine/i960/setjmp.S
new file mode 100644
index 00000000000..804df0e0f04
--- /dev/null
+++ b/newlib/libc/machine/i960/setjmp.S
@@ -0,0 +1,96 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+/******************************************************************************/
+/* */
+/* setjmp(), longjmp() */
+/* */
+/******************************************************************************/
+ .file "setjmp.as"
+ .text
+ /* .link_pix */
+
+ .align 4
+ .globl _setjmp
+_setjmp:
+ flushreg
+ andnot 0xf,pfp,g1 /* get pfp, mask out return status bits */
+ st g1, 0x58(g0) /* save fp of caller*/
+ /* save globals not killed by the calling convention */
+ stq g8, 0x40(g0) /* save g8-g11*/
+ st g12, 0x50(g0) /* save g12*/
+ st g14, 0x54(g0) /* save g14*/
+ /* save previous frame local registers */
+ ldq (g1), g4 /* get previous frame pfp, sp, rip, r3 */
+ stq g4, (g0) /* save pfp, sp, rip, r3 */
+ ldq 0x10(g1), g4 /* get previous frame r4-r7 */
+ stq g4, 0x10(g0) /* save r4-r7 */
+ ldq 0x20(g1), g4 /* get previous frame r8-r11 */
+ stq g4, 0x20(g0) /* save r8-r11 */
+ ldq 0x30(g1), g4 /* get previous frame r12-r15 */
+ stq g4, 0x30(g0) /* save r12-r15 */
+
+ mov 0, g0 /* return 0 */
+ ret
+
+ /*
+ * fake a return to the place that called the corresponding _setjmp
+ */
+ .align 4
+ .globl _longjmp
+_longjmp:
+ call 0f /* ensure there is at least one stack frame */
+
+0:
+ flushreg /* do this before swapping stack */
+ ld 0x58(g0), pfp /* get fp of caller of setjmp */
+ /* restore local registers
+ * the following code modifies the frame of the function which originally
+ * called setjmp.
+ */
+ ldq (g0), g4 /* get pfp, sp, rip, r3 */
+ stq g4, (pfp) /* restore pfp, sp, rip, r3 */
+ ldq 0x10(g0), g4 /* get r4-r7 */
+ stq g4, 0x10(pfp) /* restore r4-r7 */
+ ldq 0x20(g0), g4 /* get r8-r11 */
+ stq g4, 0x20(pfp) /* restore r8-r11 */
+ ldq 0x30(g0), g4 /* get r12-r15 */
+ stq g4, 0x30(pfp) /* restore r12-r15 */
+ /* restore global registers */
+ ldq 0x40(g0), g8 /* get old g8-g11 values */
+ ld 0x50(g0), g12 /* get old g12 value */
+ ld 0x54(g0), g14 /* get old g14 value */
+
+ mov g1, g0 /* get return value */
+ cmpo g0, 0 /* make sure it is not zero */
+ bne 0f
+ mov 1, g0 /* return 1 by default */
+0:
+ ret /* return to caller of _setjmp */
diff --git a/newlib/libc/machine/i960/strchr.S b/newlib/libc/machine/i960/strchr.S
new file mode 100644
index 00000000000..bc50c2c41e2
--- /dev/null
+++ b/newlib/libc/machine/i960/strchr.S
@@ -0,0 +1,123 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "strchr.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+/*
+ * (c) copyright 1988,1993 Intel Corp., all rights reserved
+ */
+
+/*
+ procedure strchr (optimized assembler version for the 80960K series)
+
+ src_addr = strchr (src_addr, char)
+
+ return a pointer to the first byte that contains the indicated
+ byte in the source string. Return null if the byte is not found.
+
+ Undefined behavior will occur if the end of the source string (i.e.
+ the terminating null byte) is in the last two words of the program's
+ allocated memory space. This is so because strchr fetches ahead.
+ Disallowing the fetch ahead would impose a severe performance penalty.
+
+ Strategy:
+
+ Fetch the source string by words and scanbyte the words for the
+ char until either a word with the byte is found or the null byte is
+ encountered. In the former case, move through the word to find the
+ matching byte and return its memory address. In the latter case,
+ return zero (null).
+
+ Tactics:
+
+ 1) Do NOT try to fetch the words in a word aligned manner because,
+ in my judgement, the performance degradation experienced due to
+ non-aligned accesses does NOT outweigh the time and complexity added
+ by the preamble that would be necessary to assure alignment. This
+ is supported by the intuition that most source arrays (even more
+ true of most big source arrays) will be word aligned to begin with.
+*/
+
+ .globl _strchr
+ .globl __strchr
+ .leafproc _strchr, __strchr
+ .align 2
+_strchr:
+#ifndef __PIC
+ lda Lrett,g14
+#else
+ lda Lrett-(.+8)(ip),g14
+#endif
+__strchr:
+
+ ld (g0),g4 # fetch first word
+ lda 0xff,g7 # byte extraction mask
+ and g1,g7,g1 # make char an 8-bit ordinal
+ shlo 8,g1,g2 # broadcast the char to four bytes
+ or g1,g2,g2
+ shlo 16,g2,g5
+ or g2,g5,g3
+ mov g14,g13 # preserve return address
+ addo 4,g0,g0 # post-increment src pointer
+ mov 0,g14 # conform to register linkage standard
+
+Lsearch_for_word_with_char_or_null:
+ mov g4,g5 # copy word
+ scanbyte g3,g5 # check for byte with char
+ ld (g0),g4 # fetch next word of src
+ bo Lsearch_for_char # branch if char found
+ scanbyte 0,g5 # check for null byte
+ addo 4,g0,g0 # post-increment src pointer
+ bno Lsearch_for_word_with_char_or_null # branch if not null
+
+Lnot_found:
+ mov 0,g0 # char not found. Return null
+Lexit_code:
+ bx (g13) # g0 = addr of char in src (or null); g14 = 0
+Lrett:
+ ret
+
+Lsearch_for_char:
+ subo 5,g0,g0 # back up the byte pointer
+Lsearch_for_char.a:
+ and g5,g7,g6 # extract byte
+ cmpo g1,g6 # is it char?
+ addo 1,g0,g0 # bump src byte ptr
+ shro 8,g5,g5 # shift word to position next byte
+ be Lexit_code
+ cmpobne 0,g6,Lsearch_for_char.a # quit if null comes before char
+ b Lnot_found
+
+/* end of strchr */
diff --git a/newlib/libc/machine/i960/strchr_ca.S b/newlib/libc/machine/i960/strchr_ca.S
new file mode 100644
index 00000000000..f52eae217f0
--- /dev/null
+++ b/newlib/libc/machine/i960/strchr_ca.S
@@ -0,0 +1,152 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "strch_ca.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+/*
+ * (c) copyright 1988,1993 Intel Corp., all rights reserved
+ */
+
+/*
+ procedure strchr (optimized assembler version for the CA)
+
+ src_addr = strchr (src_addr, char)
+
+ return a pointer to the first byte that contains the indicated
+ byte in the source string. Return null if the byte is not found.
+
+ Undefined behavior will occur if the end of the source string (i.e.
+ the terminating null byte) is in the last two words of the program's
+ allocated memory space. This is so because, in several cases, strchr
+ will fetch ahead. Disallowing the fetch ahead would impose a severe
+ performance penalty.
+
+ This program handles two cases:
+
+ 1) the argument starts on a word boundary
+ 2) the argument doesn't start on a word boundary
+
+ At the time of this writing, only g0 thru g7 and g13 are available
+ for use in this leafproc; other registers would have to be saved and
+ restored. These nine registers, plus tricky use of g14 are sufficient
+ to implement the routine. The registers are used as follows:
+
+ g0 src ptr; upon return it is a pointer to the matching byte, or null
+ g1 char to seek
+ g2 mask to avoid unimportant bytes in first word
+ g3 char to seek, broadcast to all four bytes
+ g4 word of the source string
+ g5 copy of the word
+ g6 extracted character
+ g7 byte extraction mask
+ g13 return address
+ g14
+*/
+
+ .globl _strchr
+ .globl __strchr
+ .leafproc _strchr, __strchr
+ .align 2
+_strchr:
+#ifndef __PIC
+ lda Lrett,g14
+#else
+ lda Lrett-(.+8)(ip),g14
+#endif
+__strchr:
+
+ lda 0xff,g7 # byte extraction mask
+ and g1,g7,g1 # make char an 8-bit ordinal
+ shlo 8,g1,g2 # broadcast the char to four bytes
+ or g1,g2,g2
+ shlo 16,g2,g4
+ cmpo g1,g7 # is char being sought 0xff?
+ or g4,g2,g3
+ lda (g14),g13 # preserve return address
+ notand g0,3,g5 # extract word addr of start of src
+ lda 0,g14 # conform to register linkage standard
+ and g0,3,g6 # extract byte offset of src
+ ld (g5),g4 # fetch word containing at least first byte
+ shlo 3,g6,g6 # get shift count for making mask for first word
+ lda 4(g5),g0 # post-increment src word pointer
+ subi 1,0,g5 # mask initially all ones
+#if __i960_BIG_ENDIAN__
+ shro g6,g5,g5 # get mask for bytes needed from first word
+#else
+ shlo g6,g5,g5 # get mask for bytes needed from first word
+#endif
+ notor g4,g5,g4 # set unneeded bytes to all ones
+ be.f Lsearch_for_0xff # branch if seeking 0xff
+
+Lsearch_for_word_with_char_or_null:
+ scanbyte g3,g4 # check for byte with char
+ lda (g4),g5 # copy word
+ ld (g0),g4 # fetch next word of src
+ bo.f Lsearch_for_char # branch if null found
+ scanbyte 0,g5 # check for null byte
+ lda 4(g0),g0 # post-increment src word pointer
+ bno.t Lsearch_for_word_with_char_or_null # branch if not null
+
+Lnot_found:
+ mov 0,g0 # char not found. Return null
+Lexit_code:
+ bx (g13) # g0 = addr of char in src (or null); g14 = 0
+Lrett:
+ ret
+
+Lsearch_for_char:
+ subo 5,g0,g0 # back up the byte pointer
+Lsearch_for_char.a:
+#if __i960_BIG_ENDIAN__
+ rotate 8,g5,g5 # shift word to position next byte
+#endif
+ and g5,g7,g6 # extract byte
+ cmpo g1,g6 # is it char?
+ lda 1(g0),g0 # bump src byte ptr
+#if ! __i960_BIG_ENDIAN__
+ shro 8,g5,g5 # shift word to position next byte
+#endif
+ be.f Lexit_code
+ cmpobne.t 0,g6,Lsearch_for_char.a # quit if null comes before char
+ b Lnot_found
+
+Lsearch_for_0xff:
+ lda 0xf0f0f0f0,g2 # make first comparison mask for char=-1 case.
+ or g5,g2,g2
+ and g4,g2,g4 # make unimportant bytes of first word 0x0f
+ b Lsearch_for_word_with_char_or_null
+
+/* end of strchr */
+
diff --git a/newlib/libc/machine/i960/strcmp.S b/newlib/libc/machine/i960/strcmp.S
new file mode 100644
index 00000000000..c0cd4bd6f95
--- /dev/null
+++ b/newlib/libc/machine/i960/strcmp.S
@@ -0,0 +1,118 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "strcmp.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+/*
+ * (c) copyright 1988,1993 Intel Corp., all rights reserved
+ */
+/*
+ procedure strcmp (optimized assembler version for the 80960K Series)
+
+ result = strcmp (src1_addr, src2_addr)
+
+ compare the null terminated string pointed to by src1_addr to
+ the string pointed to by src2_addr. Return 0 iff the strings
+ are equal, -1 if src1_addr is lexicographically less than src2_addr,
+ and 1 if it is lexicographically greater.
+
+ Undefined behavior will occur if the end of either source string
+ (i.e. the terminating null byte) is in the last two words of the
+ program's allocated memory space. This is so because strcmp fetches
+ ahead. Disallowing the fetch ahead would impose a severe performance
+ penalty.
+
+ Strategy:
+
+ Fetch the source strings by words and compare the words until either
+ differing words are found or the null byte is encountered. In either
+ case, move through the word until either the differing byte if found,
+ in which case return -1 or 1 appropriately; or the null byte is
+ encountered, in which case, return zero (equality).
+
+ Tactics:
+
+ 1) Do NOT try to fetch the words in a word aligned manner because,
+ in my judgement, the performance degradation experienced due to
+ non-aligned accesses does NOT outweigh the time and complexity added
+ by the preamble and convoluted body that would be necessary to assure
+ alignment. This is supported by the intuition that many source
+ strings will be word aligned to begin with.
+*/
+
+ .globl _strcmp
+ .globl __strcmp
+ .leafproc _strcmp,__strcmp
+ .align 2
+
+_strcmp:
+#ifndef __PIC
+ lda .Lrett,g14
+#else
+ lda .Lrett-(.+8)(ip),g14
+#endif
+__strcmp:
+ ld (g0), g5 # fetch first word of source_1
+ mov g14,g7 # preserve return address
+ ldconst 0,g14 # conform to register conventions
+ ldconst 0xff,g4 # byte extraction mask
+.Lwloop:
+ addo 4,g0,g0 # post-increment source_1 byte ptr
+ ld (g1), g3 # fetch word of source_2
+ scanbyte 0,g5 # does word have a null byte?
+ mov g5,g2 # save a copy of the source_1 word
+ be .Lcloop # branch if null byte encountered
+ cmpo g2,g3 # are the source words the same?
+ addo 4,g1,g1 # post-increment source_2 byte ptr
+ ld (g0), g5 # fetch ahead next word of source_1
+ be .Lwloop # fall thru if words are unequal
+
+.Lcloop: and g4,g2,g5 # extract and compare individual bytes
+ and g4,g3,g6
+ cmpobne g5,g6,.diff # if they differ, go return 1 or -1
+ cmpo 0,g6 # they are the same. Are they null?
+ shlo 8,g4,g4 # position mask for next extraction
+ bne .Lcloop # loop if null not encountered
+
+ mov 0,g0 # return equality
+ bx (g7)
+.Lrett:
+ ret
+.diff: bl .neg
+ mov 1,g0
+ bx (g7)
+.neg: subi 1,0,g0
+.Lexit:
+ bx (g7)
diff --git a/newlib/libc/machine/i960/strcmp_ca.S b/newlib/libc/machine/i960/strcmp_ca.S
new file mode 100644
index 00000000000..0298ffa0d73
--- /dev/null
+++ b/newlib/libc/machine/i960/strcmp_ca.S
@@ -0,0 +1,246 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "strcm_ca.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+/*
+ * (c) copyright 1988,1993 Intel Corp., all rights reserved
+ */
+
+/*
+ procedure strcmp (optimized assembler version for the CA)
+
+ result = strcmp (src1_addr, src2_addr)
+
+ compare the null terminated string pointed to by src1_addr to
+ the string space pointed to by src2_addr. Return 0 iff the strings
+ are equal, -1 if src1_addr is lexicly less than src2_addr, and 1
+ if it is lexicly greater.
+
+ Undefined behavior will occur if the end of either source string
+ (i.e. the terminating null byte) is in the last word of the program's
+ allocated memory space. This is so because, in several cases, strcmp
+ will fetch ahead one word. Disallowing the fetch ahead would impose
+ a severe performance penalty.
+
+ This program handles five cases:
+
+ 1) both arguments start on a word boundary
+ 2) neither are word aligned, but they are offset by the same amount
+ 3) source1 is word aligned, source2 is not
+ 4) source2 is word aligned, source1 is not
+ 5) neither is word aligned, and they are offset by differing amounts
+
+ At the time of this writing, only g0 thru g7 and g14 are available
+ for use in this leafproc; other registers would have to be saved and
+ restored. These nine registers are sufficient to implement the routine.
+ The registers are used as follows:
+
+ g0 original src1 ptr; return result
+ g1 src2 ptr; 0xff -- byte extraction mask
+ g2 src1 word ptr
+ g3 src2 word ptr
+ Little endian:
+ g4 lsw of src1
+ g5 msw of src1
+ g6 src2 word
+ g7 extracted src1
+ Big endian:
+ g4 msw of src1
+ g5 lsw of src1
+ g6 extracted src1
+ g7 src2 word
+ g13 return address
+ g14 shift count
+*/
+
+#if __i960_BIG_ENDIAN__
+#define MSW g4
+#define LSW g5
+#define SRC1 g6
+#define SRC2 g7
+#else
+#define LSW g4
+#define MSW g5
+#define SRC2 g6
+#define SRC1 g7
+#endif
+
+ .globl _strcmp
+ .globl __strcmp
+ .leafproc _strcmp, __strcmp
+ .align 2
+_strcmp:
+#ifndef __PIC
+ lda Lrett,g14
+#else
+ lda Lrett-(.+8)(ip),g14
+#endif
+
+__strcmp:
+Lrestart:
+ notand g0,3,g2 # extract word addr of start of src1
+ lda (g14),g13 # preserve return address
+#if __i960_BIG_ENDIAN__
+ cmpo g0,g2 # check alignment of src1
+#endif
+ ld (g2),LSW # fetch word with at least first byte of src1
+ notand g1,3,g3 # extract word addr of start of src2
+ ld 4(g2),MSW # fetch second word of src1
+#if __i960_BIG_ENDIAN__
+ bne Lsrc1_unaligned # branch if src1 is unaligned
+ cmpo g3,g1 # check alignment of src2
+ ld (g3),SRC2 # fetch word with at least first byte of src2
+ mov LSW,SRC1 # extract word of src1
+ lda 8(g2),g2 # advance src1 word addr
+ bne.f Lsrc2_unaligned # branch if src2 is NOT word aligned
+
+ /* src2 is word aligned */
+
+Lwloop2: # word comparing loop
+ cmpo SRC2,SRC1 # compare src1 and src2 words
+ lda 0xff000000,g1 # byte extraction mask
+ mov MSW,LSW # move msw of src1 to lsw
+ ld (g2),MSW # pre-fetch next msw of src1
+ addo 4,g2,g2 # post-increment src1 addr
+ lda 4(g3),g3 # pre-increment src2 addr
+ bne.f Lcloop # branch if src1 and src2 unequal
+ scanbyte 0,SRC1 # check for null byte in src1 word
+ ld (g3),SRC2 # pre-fetch next word of src2
+ mov LSW,SRC1 # extract word of src1
+ lda 0,g0 # prepare to return zero, indicating equality
+ bno.t Lwloop2 # branch if null byte not encountered
+
+ /* words were equal and contained null byte */
+
+ mov 0,g14 # conform to register conventions
+ bx (g13) # return
+
+
+Lsrc1_unaligned:
+#endif
+ cmpo g3,g1 # check alignment of src2
+ ld (g3),SRC2 # fetch word with at least first byte of src2
+ shlo 3,g0,g14 # compute shift count for src1
+#if __i960_BIG_ENDIAN__
+ subo g14,0,g14 # 32 - shift count for big endian.
+#endif
+ eshro g14,g4,SRC1 # extract word of src1
+ lda 8(g2),g2 # advance src1 word addr
+ bne.f Lsrc2_unaligned # branch if src2 is NOT word aligned
+
+ /* at least src2 is word aligned */
+
+Lwloop: # word comparing loop
+ cmpo SRC2,SRC1 # compare src1 and src2 words
+#if __i960_BIG_ENDIAN__
+ lda 0xff000000,g1 # byte extraction mask
+#else
+ lda 0xff,g1 # byte extraction mask
+#endif
+ mov MSW,LSW # move msw of src1 to lsw
+ ld (g2),MSW # pre-fetch next msw of src1
+ addo 4,g2,g2 # post-increment src1 addr
+ lda 4(g3),g3 # pre-increment src2 addr
+ bne.f Lcloop # branch if src1 and src2 unequal
+ scanbyte 0,SRC1 # check for null byte in src1 word
+ ld (g3),SRC2 # pre-fetch next word of src2
+ eshro g14,g4,SRC1 # extract word of src1
+ lda 0,g0 # prepare to return zero, indicating equality
+ bno.t Lwloop # branch if null byte not encountered
+
+ /* words were equal and contained null byte */
+
+ mov 0,g14 # conform to register conventions
+ bx (g13) # return
+
+Lcloop_setup: # setup for coming from Lsrc2_unaligned
+ mov LSW,SRC1 # restore extracted src1 word
+#if __i960_BIG_ENDIAN__
+ lda 0xff000000,g1 # byte extraction mask
+#else
+ lda 0xff,g1 # byte extraction mask
+#endif
+
+Lcloop: # character comparing loop
+ and SRC2,g1,g3 # extract next char of src2
+ and SRC1,g1,g0 # extract next char of src1
+ cmpobne.f g0,g3,.diff # check for equality
+ cmpo 0,g0 # check for null byte
+#if __i960_BIG_ENDIAN__
+ shro 8,g1,g1 # shift mask for next byte
+#else
+ shlo 8,g1,g1 # shift mask for next byte
+#endif
+ bne.t Lcloop # branch if null not reached
+
+ /* words are equal up thru null byte */
+
+ mov 0,g14
+ bx (g13) # g0 = 0 (src1 == src2)
+Lrett:
+ ret
+
+.diff:
+ mov 0,g14
+ bl Lless_than_exit
+Lgreater_than_exit:
+ mov 1,g0
+ bx (g13) # g0 = 1 (src1 > src2)
+Lless_than_exit:
+ subi 1,0,g0
+ bx (g13) # g0 = -1 (src1 < src2)
+
+Lsrc2_unaligned:
+ mov SRC1,LSW # retain src1 extracted word
+ ld 4(g3),SRC1 # fetch second word of src2
+ shlo 3,g1,MSW # compute shift count for src2
+#if __i960_BIG_ENDIAN__
+ subo MSW,0,MSW # 32 - shift count for big endian.
+#endif
+ eshro MSW,g6,SRC2 # extract word of src2
+ cmpo LSW,SRC2 # compare src1 and src2 words
+ notor g1,3,MSW # first step in computing new src1 ptr
+ lda 4(g3),g1 # set new src2 ptr
+ bne.f Lcloop_setup # first four bytes differ
+ scanbyte 0,LSW # check for null byte
+ lda (g13),g14 # prepare return pointer for Lrestart
+ subo MSW,g0,g0 # second (final) step in computing new src1 ptr
+ bno.t Lrestart # if null byte not encountered, continue
+ /* with both string fetches shifted such that */
+ /* src2 is now word aligned. */
+ mov 0,g14 # conform to register conventions.
+ lda 0,g0 # return indicator of equality.
+ bx (g13)
diff --git a/newlib/libc/machine/i960/strcpy.S b/newlib/libc/machine/i960/strcpy.S
new file mode 100644
index 00000000000..ed8bb72345f
--- /dev/null
+++ b/newlib/libc/machine/i960/strcpy.S
@@ -0,0 +1,177 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "strcpy.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+/*
+ * (c) copyright 1988,1993 Intel Corp., all rights reserved
+ */
+/*
+ procedure strcpy (optimized assembler version for the 80960K series)
+ procedure strcat (optimized assembler version for the 80960K series)
+
+ dest_addr = strcpy (dest_addr, src_addr)
+
+ copy the null terminated string pointed to by src_addr to
+ the string space pointed to by dest_addr. Return the original
+ dest_addr.
+
+ This routine will fail if the source and destination string
+ overlap (in particular, if the end of the source is overlapped
+ by the beginning of the destination). The behavior is undefined.
+ This is acceptable according to the draft C standard.
+
+ Undefined behavior will also occur if the end of the source string
+ (i.e. the terminating null byte) is in the last two words of the
+ program's allocated memory space. This is so because strcpy fetches
+ ahead. Disallowing the fetch ahead would impose a severe performance
+ penalty.
+
+ Strategy:
+
+ Fetch the source string and store the destination string by words
+ until the null byte is encountered. When the word with the null
+ byte is reached, store it by bytes up through the null byte only.
+
+ Tactics:
+
+ 1) Do NOT try to fetch and store the words in a word aligned manner
+ because, in my judgement, the performance degradation experienced due
+ to non-aligned accesses does NOT outweigh the time and complexity added
+ by the preamble and convoluted body that would be necessary to assure
+ alignment. This is supported by the intuition that most source and
+ destination strings will be word aligned to begin with.
+
+
+ procedure strcat
+
+ dest_addr = strcat (dest_addr, src_addr)
+
+ Appends the string pointed to by src_addr to the string pointed
+ to by dest_addr. The first character of the source string is
+ copied to the location initially occupied by the trailing null
+ byte of the destination string. Thereafter, characters are copied
+ from the source to the destination up thru the null byte that
+ trails the source string.
+
+ See the strcpy routine, above, for its caveats, as they apply here too.
+
+ Strategy:
+
+ Skip to the end (null byte) of the destination string, and then drop
+ into the strcpy code.
+
+ Tactics:
+
+ Skipping to the null byte is Ldone by reading the destination string
+ in long-words and scanbyte'ing them, then examining the bytes of the
+ word that contains the null byte, until the address of the null byte is
+ known. Then we drop into the strcpy routine. It is probable (approx.
+ three out of four times) that the destination string as strcpy sees
+ it will NOT be word aligned (i.e. that the null byte won't be the
+ last byte of a word). But it is not worth the complication to that
+ routine to force word aligned memory accesses to be gaurenteed.
+*/
+ .globl _strcpy, _strcat
+ .globl __strcpy, __strcat
+ .leafproc _strcpy,__strcpy
+ .leafproc _strcat,__strcat
+ .align 2
+_strcat:
+#ifndef __PIC
+ lda Lrett,g14
+#else
+ lda Lrett-(.+8)(ip),g14
+#endif
+__strcat:
+ mov g14,g13 # preserve return address
+ ldl (g0),g4 # fetch first two words
+ addo 8,g0,g2 # post-increment src word pointer
+ lda 0xff,g3 # byte extraction mask
+
+Lsearch_for_word_with_null_byte:
+ scanbyte 0,g4 # check for null byte
+ mov g5,g7 # copy second word
+ bo.f Lsearch_for_null # branch if null found
+ scanbyte 0,g7 # check for null byte
+ ldl (g2),g4 # fetch next pair of word of src
+ addo 8,g2,g2 # post-increment src word pointer
+ bno Lsearch_for_word_with_null_byte # branch if null not found yet
+
+ subo 4,g2,g2 # back up the byte pointer
+ mov g7,g4 # move word with null to search word
+Lsearch_for_null:
+ subo 9,g2,g5 # back up the byte pointer
+Lsearch_for_null.a:
+ and g4,g3,g6 # extract byte
+ cmpo 0,g6 # is it null?
+ addo 1,g5,g5 # bump src byte ptr
+ shro 8,g4,g4 # shift word to position next byte
+ bne Lsearch_for_null.a
+ b Lend_of_dest_found
+
+_strcpy:
+#ifndef __PIC
+ lda Lrett,g14
+#else
+ lda Lrett-(.+8)(ip),g14
+#endif
+__strcpy:
+ mov g0, g5
+Lend_of_dest_found:
+ ld (g1), g2 # fetch first word of source
+ mov g14,g6 # preserve return address
+ lda 0xff, g3 # byte extraction mask = 0xff;
+Lwloop: # word copying loop
+ addo 4, g1, g1 # post-increment source ptr
+ scanbyte 0, g2 # does source word contain null byte?
+ mov g2, g4 # save a copy of the source word
+ be Lcloop # branch if null present
+ ld (g1), g2 # pre-fetch next word of source
+ st g4, (g5) # store current word
+ addo 4, g5, g5 # post-increment dest ptr
+ b Lwloop
+
+Lcloop: # character copying loop
+ and g3, g4, g14 # extract next char
+ shro 8, g4, g4 # position word for next byte extraction
+ cmpo 0, g14 # is it null?
+ stob g14, (g5) # store the byte
+ addo 1, g5, g5 # post-increment dest ptr
+ bne Lcloop # quit if null encountered
+
+ bx (g6) # g0 = dest string address; g14 = 0
+Lrett:
+ ret
diff --git a/newlib/libc/machine/i960/strcpy_ca.S b/newlib/libc/machine/i960/strcpy_ca.S
new file mode 100644
index 00000000000..dbb944455a8
--- /dev/null
+++ b/newlib/libc/machine/i960/strcpy_ca.S
@@ -0,0 +1,284 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "strcp_ca.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+/*
+ * (c) copyright 1988,1993 Intel Corp., all rights reserved
+ */
+
+/*
+ procedure strcpy (optimized assembler version for the CA)
+
+ dest_addr = strcpy (dest_addr, src_addr)
+
+ copy the null terminated string pointed to by src_addr to
+ the string space pointed to by dest_addr. Return the original
+ dest_addr.
+
+ This routine will fail if the source and destination string
+ overlap (in particular, if the end of the source is overlapped
+ by the beginning of the destination). The behavior is undefined.
+ This is acceptable according to the draft C standard.
+
+ Undefined behavior will also occur if the end of the source string
+ (i.e. the terminating null byte) is in the last word of the program's
+ allocated memory space. This is so because, in several cases, strcpy
+ will fetch ahead one word. Disallowing the fetch ahead would impose
+ a severe performance penalty.
+
+ This program handles five cases:
+
+ 1) both arguments start on a word boundary
+ 2) neither are word aligned, but they are offset by the same amount
+ 3) source is word aligned, destination is not
+ 4) destination is word aligned, source is not
+ 5) neither is word aligned, and they are offset by differing amounts
+
+ At the time of this writing, only g0 thru g7 and g13 are available
+ for use in this leafproc; other registers would have to be saved and
+ restored. These nine registers, plus tricky use of g14 are sufficient
+ to implement the routine. The registers are used as follows:
+
+ g0 original dest ptr; not modified, so that it may be returned.
+ g1 src ptr; shift count
+ g2 dest ptr; 4 bytes of src
+ g3 src ptr (word aligned)
+ g4 dest ptr (word aligned)
+ g5 0xff -- byte extraction mask
+ g6 lsw of double word for extraction of 4 bytes (little endian)
+ msw of double word for extraction of 4 bytes (big endian)
+ g7 msw of double word for extraction of 4 bytes (little endian)
+ lsw of double word for extraction of 4 bytes (big endian)
+ g13 return address
+ g14 byte extracted. When reaches null byte, which is zero, we will
+ be in conformance with register conventions, and can return to
+ the caller with a clear conscience.
+
+ procedure strcat
+
+ dest_addr = strcat (dest_addr, src_addr)
+
+ Appends the string pointed to by src_addr to the string pointed
+ to by dest_addr. The first character of the source string is
+ copied to the location initially occupied by the trailing null
+ byte of the destination string. Thereafter, characters are copied
+ from the source to the destination up thru the null byte that
+ trails the source string.
+*/
+
+#if __i960_BIG_ENDIAN__
+#define MSW g6
+#define LSW g7
+#else
+#define LSW g6
+#define MSW g7
+#endif
+
+ .globl _strcpy, _strcat
+ .globl __strcpy, __strcat
+ .leafproc _strcpy, __strcpy
+ .leafproc _strcat, __strcat
+ .align 2
+_strcat:
+#ifndef __PIC
+ lda Lrett,g14
+#else
+ lda Lrett-(.+8)(ip),g14
+#endif
+__strcat:
+ notand g0,3,g4 # extract word addr of start of dest
+ lda (g14),g13 # preserve return address
+ and g0,3,LSW # extract byte offset of dest
+ ld (g4),MSW # fetch word containing at least first byte
+ shlo 3,LSW,g14 # get shift count for making mask for first word
+ subi 1,0,LSW # mask initially all ones
+#if __i960_BIG_ENDIAN__
+ shro g14,LSW,LSW # get mask for bytes needed from first word
+ lda 0xff000000,g5 # byte extraction mask
+#else
+ shlo g14,LSW,LSW # get mask for bytes needed from first word
+ lda 0xff,g5 # byte extraction mask
+#endif
+ notor MSW,LSW,MSW # set unneeded bytes to all ones
+Lsearch_for_word_with_null:
+ scanbyte 0,MSW # check for null byte
+ lda 4(g4),g4 # post-increment dest word pointer
+ mov MSW,LSW # keep a copy of current word
+ ld (g4),MSW # fetch next word of dest
+ bno.t Lsearch_for_word_with_null # branch if null not found yet
+ and g5,LSW,g14 # extract byte
+ cmpo 0,g14 # branch if null is first byte of word
+ subo 4,g4,g4 # move dest word ptr back to word with null
+ notand g1,3,g3 # extract word addr of start of src
+ lda (g4),g2 # set dest byte ptr to 1st byte of word w/ null
+ be.f Lcase_14
+Lsearch_for_null:
+#if __i960_BIG_ENDIAN__
+ shro 8,g5,g5 # move mask down to next byte
+#else
+ shlo 8,g5,g5 # move mask up to next byte
+#endif
+ lda 1(g2),g2 # move dest byte ptr to next byte
+ and g5,LSW,g14 # extract byte
+ cmpobne.t 0,g14,Lsearch_for_null # branch if null is not yet found
+ lda 0xff,g5 # byte extraction mask
+ b Lcase_235.a
+
+
+_strcpy:
+#ifndef __PIC
+ lda Lrett,g14
+#else
+ lda Lrett-(.+8)(ip),g14
+#endif
+__strcpy:
+ notand g0,3,g4 # extract word addr of start of dest
+ lda (g14),g13 # preserve return address
+ cmpo g0,g4 # check alignment of dest
+ lda 0xff,g5 # load mask for byte extraction
+ notand g1,3,g3 # extract word addr of start of src
+ bne.f Lcase_235 # branch if dest is NOT word aligned
+
+Lcase_14:
+ cmpo g3,g1 # check alignment of src
+ ld (g3),LSW # fetch word containing at least first byte
+ shlo 3,g1,g1 # compute shift count
+ lda 4(g3),g3 # advance src word addr
+#if __i960_BIG_ENDIAN__
+ lda 0xff,g5 # byte extraction mask
+#endif
+ bne.f Lcase_4 # branch if src is NOT word aligned
+
+Lcase_1: # src and dest are word aligned
+ subo 4,g4,g4 # store is pre-incrementing; back up dest addr
+Lcase_1_wloop: # word copying loop
+ scanbyte 0,LSW # check for null byte in src word
+ lda (LSW),g2 # keep a copy of the src word
+ addo 4,g4,g4 # pre-increment dest addr
+ ld (g3),LSW # pre-fetch next word of src
+ addo 4,g3,g3 # post-increment src addr
+ bo.f Lcase_1_cloop # branch if word contains null byte
+ st g2,(g4) # store word in dest string
+ b Lcase_1_wloop
+
+Lcase_3_cloop:
+Lcase_1_cloop: # character copying loop
+#if __i960_BIG_ENDIAN__
+ rotate 8,g2,g2 # move next byte into position for extraction
+ and g5,g2,g14 # extract next char
+#else
+ and g5,g2,g14 # extract next char
+ shro 8,g2,g2 # move next byte into position for extraction
+#endif
+ cmpo 0,g14 # check for null byte
+ stob g14,(g4) # store the byte in dest
+ lda 1(g4),g4 # post-increment dest byte addr
+ bne.t Lcase_1_cloop # branch if null not reached
+
+Lexit_code:
+ bx (g13) # g0 = addr of dest; g14 = 0
+Lrett:
+ ret
+
+Lcase_3: # src is word aligned; dest is not
+ addo 4,g4,g4 # move dest word ptr to first word boundary
+ mov LSW,MSW # make copy of first word of src
+ lda 0,g1 # initialize shift count to zero
+
+Lcase_25:
+Lcase_3_cloop_at_start: # character copying loop for start of dest str
+#if __i960_BIG_ENDIAN__
+ rotate 8,MSW,MSW # move next byte into position for extraction
+ and g5,MSW,g14 # extract next char
+#else
+ and g5,MSW,g14 # extract next char
+ shro 8,MSW,MSW # move next byte into position for extraction
+#endif
+ cmpo 0,g14 # check for null byte
+ stob g14,(g2) # store the byte in dest
+ lda 1(g2),g2 # post-increment dest ptr
+ be.f Lexit_code # branch if null byte reached
+ cmpo g2,g4 # have we reached word boundary in dest?
+ lda 8(g1),g1 # augment the shift counter
+ bne.t Lcase_3_cloop_at_start
+
+Lcase_4:
+ ld (g3),MSW # fetch msw of operand for double shift
+#if __i960_BIG_ENDIAN__
+ subo g1,0,g1 # Adjust shift count for big endian.
+#endif
+
+Lcase_3_wloop:
+ eshro g1,g6,g2 # extract 4 bytes of src
+ lda 4(g3),g3 # post-increment src word addr
+ scanbyte 0,g2 # check for null byte
+ lda (MSW),LSW # move msw to lsw
+ ld (g3),MSW # pre-fetch msw of operand for double shift
+ bo.f Lcase_3_cloop # branch if word contains null byte
+ st g2,(g4) # store 4 bytes to dest
+ addo 4,g4,g4 # post-increment dest ptr
+ b Lcase_3_wloop
+
+Lcase_235:
+ lda (g0),g2 # copy dest ptr
+Lcase_235.a:
+ cmpo g3,g1 # check alignment of src
+ ld (g3),LSW # fetch word containing at least first byte
+ and 3,g1,g14 # compute shift count
+ lda 4(g3),g3 # advance src word addr
+ shlo 3,g14,g1
+ be.t Lcase_3 # branch if dest is word aligned
+ or g4,g14,g14 # is src earlier in word, later, or sync w/ dst
+ ld (g3),MSW # pre-fetch second half
+ cmpo g2,g14 # < indicates first word of dest has more bytes
+ lda 4(g4),g4 # move dest word addr to first word boundary
+ /* than first word of source. */
+#if __i960_BIG_ENDIAN__
+ subo g1,0,g14 # Adjust shift count for big endian.
+ eshro g14,g6,g14 # extract four bytes
+ bge.f 1f
+#else
+ eshro g1,g6,g14 # extract four bytes
+ bg.f 1f
+#endif
+ mov MSW,LSW
+ lda 4(g3),g3 # move src word addr to second word boundary
+1:
+ mov g14,MSW
+ b Lcase_25
+
+/* end of strcpy */
+
diff --git a/newlib/libc/machine/i960/strcspn.S b/newlib/libc/machine/i960/strcspn.S
new file mode 100644
index 00000000000..cd7b2e694ef
--- /dev/null
+++ b/newlib/libc/machine/i960/strcspn.S
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "strcspn.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+/*
+ * (c) copyright 1989,1993 Intel Corp., all rights reserved
+ */
+
+/*
+ procedure strcspn (optimized assembler version: 80960K series, 80960CA)
+
+ len = strcspn (string, charset)
+
+ Return the number of characters in the maximum leading segment
+ of string which consists solely of characters NOT from charset.
+
+ At the time of this writing, only g0 thru g7 and g13 are available
+ for use in this leafproc; other registers would have to be saved and
+ restored. These nine registers, plus tricky use of g14 are sufficient
+ to implement the routine.
+*/
+
+ .globl _strcspn
+ .globl __strcspn
+ .leafproc _strcspn, __strcspn
+ .align 2
+
+_strcspn:
+#ifndef __PIC
+ lda Lrett,g14
+#else
+ lda Lrett-(.+8)(ip),g14
+#endif
+__strcspn:
+ mov g14,g13 # save return address
+ lda (g0),g3 # copy string pointer
+ mov 0,g14 # conform to register conventions
+
+Lnext_char:
+ ldob (g3),g7 # fetch next character of string
+ addo 1,g1,g2 # g2 will be the charset ptr
+ ldob (g1),g6 # fetch first character of charset
+ cmpobe.f 0,g7,Lexit # quit if at end of string
+Lscan_set:
+ cmpo g6,g7 # is charset char same as string char?
+ ldob (g2),g5 # fetch next charset char
+ addo 1,g2,g2 # bump charset ptr
+ be.f Lexit
+ cmpo g6,0 # is charset exhausted?
+ lda (g5),g6
+ bne.t Lscan_set # check next character of charset
+ addo 1,g3,g3 # check next character of string
+ b Lnext_char
+
+Lexit:
+ subo g0,g3,g0 # compute string length
+ bx (g13)
+Lrett:
+ ret
+
+/* end of strcspn */
diff --git a/newlib/libc/machine/i960/strdup.S b/newlib/libc/machine/i960/strdup.S
new file mode 100644
index 00000000000..7e879ff0f5b
--- /dev/null
+++ b/newlib/libc/machine/i960/strdup.S
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "strdup.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+
+/*
+ * (c) copyright 1989,1993 Intel Corp., all rights reserved
+ */
+
+/*
+ procedure strdup (optimized assembler version: 80960K series, 80960CA)
+
+ dest_addr = strdup (src_addr)
+
+ Allocate memory and copy thereto the string pointed to by src_addr.
+ Return the address of the copy, or null if unable to perform the
+ operation.
+*/
+
+ .text
+ .align 2
+ .globl _strdup
+_strdup:
+ mov g0,r3 # Keep a copy of the original string addr
+ callj _strlen # Determine how much to allocate
+ addo 1,g0,g0 # Add one byte for the null byte at end
+ callj _malloc # Allocate the storage
+ cmpo 0,g0
+ mov r3,g1 # Original string addr is now src for copy
+ bne.t _strcpy # Jump if allocation was successful
+ ret # Return the null ptr otherwise
+
+/* end of strdup */
diff --git a/newlib/libc/machine/i960/strlen.S b/newlib/libc/machine/i960/strlen.S
new file mode 100644
index 00000000000..dfbeec29d59
--- /dev/null
+++ b/newlib/libc/machine/i960/strlen.S
@@ -0,0 +1,117 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "strlen.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+
+/*
+ * (c) copyright 1988,1993 Intel Corp., all rights reserved
+ */
+
+/*
+ procedure strlen (optimized assembler version for the 80960K series)
+
+ src_addr = strlen (src_addr)
+
+ return the number of bytes that precede the null byte in the
+ string pointed to by src_addr.
+
+ Undefined behavior will occur if the end of the source string (i.e.
+ the terminating null byte) is in the last four words of the program's
+ allocated memory space. This is so because strlen fetches ahead
+ several words. Disallowing the fetch ahead would impose a severe
+ performance penalty.
+
+ Strategy:
+
+ Fetch the source array by long-words and scanbyte the words for the
+ null byte until found. Examine the word in which the null byte is
+ found, to determine its actual position, and return the length.
+
+ Tactics:
+
+ 1) Do NOT try to fetch the words in a word aligned manner because,
+ in my judgement, the performance degradation experienced due to
+ non-aligned accesses does NOT outweigh the time and complexity added
+ by the preamble that would be necessary to assure alignment. This
+ is supported by the intuition that many source strings will be word
+ aligned to begin with.
+*/
+
+ .globl _strlen
+ .globl __strlen
+ .leafproc _strlen, __strlen
+ .align 2
+_strlen:
+#ifndef __PIC
+ lda Lrett,g14
+#else
+ lda Lrett-(.+8)(ip),g14
+#endif
+__strlen:
+
+ mov g14,g13 # preserve return address
+ ldl (g0),g4 # fetch first two words
+ addo 8,g0,g2 # post-increment src word pointer
+ lda 0xff,g3 # byte extraction mask
+
+
+Lsearch_for_word_with_null_byte:
+ scanbyte 0,g4 # check for null byte
+ mov g5,g7 # copy second word
+ bo.f Lsearch_for_null # branch if null found
+ scanbyte 0,g7 # check for null byte
+ ldl (g2),g4 # fetch next pair of word of src
+ addo 8,g2,g2 # post-increment src word pointer
+ bno Lsearch_for_word_with_null_byte # branch if null not found yet
+
+ subo 4,g2,g2 # back up the byte pointer
+ mov g7,g4 # move word with null to search word
+Lsearch_for_null:
+ subo 9,g2,g2 # back up the byte pointer
+Lsearch_for_null.a:
+ and g4,g3,g14 # extract byte
+ cmpo 0,g14 # is it null?
+ addo 1,g2,g2 # bump src byte ptr
+ shro 8,g4,g4 # shift word to position next byte
+ bne Lsearch_for_null.a
+
+Lexit_code:
+ subo g0,g2,g0 # calculate string length
+ bx (g13) # g0 = addr of src; g14 = 0
+Lrett:
+ ret
+
+/* end of strlen */
diff --git a/newlib/libc/machine/i960/strlen_ca.S b/newlib/libc/machine/i960/strlen_ca.S
new file mode 100644
index 00000000000..350423bf012
--- /dev/null
+++ b/newlib/libc/machine/i960/strlen_ca.S
@@ -0,0 +1,146 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "strle_ca.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+/*
+ * (c) copyright 1988,1993 Intel Corp., all rights reserved
+ */
+
+/*
+ procedure strlen (optimized assembler version for the CA)
+
+ src_addr = strlen (src_addr)
+
+ return the number of bytes that precede the null byte in the
+ string pointed to by src_addr.
+
+ Undefined behavior will occur if the end of the source string (i.e.
+ the terminating null byte) is in the last four words of the program's
+ allocated memory space. This is so because, in several cases, strlen
+ will fetch ahead several words. Disallowing the fetch ahead would
+ impose a severe performance penalty.
+
+ This program handles two cases:
+
+ 1) the argument starts on a word boundary
+ 2) the argument doesn't start on a word boundary
+
+ At the time of this writing, only g0 thru g7 and g13 are available
+ for use in this leafproc; other registers would have to be saved and
+ restored. These nine registers, plus tricky use of g14 are sufficient
+ to implement the routine. The registers are used as follows:
+
+ g0 original src ptr; upon return it is the byte count.
+ g1
+ g2 src ptr
+ g3 mask
+ g4 even word of the source string
+ g5 odd word of the source string
+ g6 copy of even word, shift count
+ g7 copy of odd word
+ g13 return address
+ g14 byte extracted.
+*/
+
+ .globl _strlen
+ .globl __strlen
+ .leafproc _strlen, __strlen
+ .align 2
+_strlen:
+#ifndef __PIC
+ lda Lrett,g14
+#else
+ lda Lrett-(.+8)(ip),g14
+#endif
+__strlen:
+
+ notand g0,3,g2 # extract word addr of start of src
+ lda (g14),g13 # preserve return address
+ and g0,3,g7 # extract byte offset of src
+ ld (g2),g5 # fetch word containing at least first byte
+ shlo 3,g7,g7 # get shift count for making mask for first word
+ lda 4(g2),g2 # post-increment src word pointer
+ subi 1,0,g3 # mask initially all ones
+ chkbit 2,g2 # are we on an even word boundary or an odd one?
+#if __i960_BIG_ENDIAN__
+ shro g7,g3,g3 # get mask for bytes needed from first word
+ notor g5,g3,g7 # set unneeded bytes to all ones
+ lda 0xff000000,g3 # byte extraction mask
+#else
+ shlo g7,g3,g3 # get mask for bytes needed from first word
+ notor g5,g3,g7 # set unneeded bytes to all ones
+ lda 0xff,g3 # byte extraction mask
+#endif
+ bno.f Lodd_word # branch if first word is odd
+ mov g7,g4 # move first word to copy thereof
+ ld (g2),g5 # load odd word
+ lda 4(g2),g2 # post-increment src word pointer
+
+
+Leven_word:
+ scanbyte 0,g4 # check for null byte
+ movl g4,g6 # copy both words
+Lodd_word: # trickery! if we branch here, following branch
+ /* instruction will fall thru, as we want, */
+ /* effecting the load of g4 and g5 only. */
+ ldl (g2),g4 # fetch next pair of word of src
+ bo.f Lsearch_for_null # branch if null found
+ scanbyte 0,g7 # check for null byte
+ lda 8(g2),g2 # post-increment src word pointer
+ bno.t Leven_word # branch if null not found yet
+
+ subo 4,g2,g2 # back up the byte pointer
+ lda (g7),g6 # move odd word to search word
+Lsearch_for_null:
+ subo 9,g2,g2 # back up the byte pointer
+Lsearch_for_null.a:
+ and g6,g3,g14 # extract byte
+ cmpo 0,g14 # is it null?
+ lda 1(g2),g2 # bump src byte ptr
+#if __i960_BIG_ENDIAN__
+ shlo 8,g6,g6 # shift word to position next byte
+#else
+ shro 8,g6,g6 # shift word to position next byte
+#endif
+ bne.t Lsearch_for_null.a
+
+Lexit_code:
+ subo g0,g2,g0 # calculate string length
+ bx (g13) # g0 = addr of src; g14 = 0
+Lrett:
+ ret
+
+/* end of strlen */
diff --git a/newlib/libc/machine/i960/strncat.S b/newlib/libc/machine/i960/strncat.S
new file mode 100644
index 00000000000..a655824eaad
--- /dev/null
+++ b/newlib/libc/machine/i960/strncat.S
@@ -0,0 +1,155 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "strncat.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+/*
+ * (c) copyright 1988,1993 Intel Corp., all rights reserved
+ */
+/*
+ procedure strncat (optimized assembler version for the 80960K Series)
+
+ dest_addr = strncat (dest_addr, src_addr, max_bytes)
+
+ append the null terminated string pointed to by src_addr to the null
+ terminated string pointed to by dest_addr. Return the original
+ dest_addr. If the source string is longer than max_bytes, then
+ append only max_bytes bytes, and tack on a null byte on the end.
+
+ This routine will fail if the source and destination string
+ overlap (in particular, if the end of the source is overlapped
+ by the beginning of the destination). The behavior is undefined.
+ This is acceptable according to the draft C standard.
+
+ Undefined behavior will also occur if the end of the source string
+ (i.e. the terminating null byte) is in the last two words of the
+ program's allocated memory space. This is so because strncat fetches
+ ahead. Disallowing the fetch ahead would impose a severe performance
+ penalty.
+
+ Strategy:
+
+ First, skip to the null byte in the destination string. Then
+ fetch the source string by words and store them by words to the
+ destination string, until there are fewer than three bytes left
+ to copy. Then, using the last word of the source (the one that
+ contains the remaining 0, 1, 2, or 3 bytes to be copied), store
+ a byte at a time until Ldone.
+
+ If, before exhausting the max_byte count, the null byte is encountered
+ in the source string, then just copy up thru the null byte.
+
+ Tactics:
+
+ 1) Do NOT try to fetch and store the words in a word aligned manner
+ because, in my judgement, the performance degradation experienced due
+ to non-aligned accesses does NOT outweigh the time and complexity added
+ by the preamble and convoluted body that would be necessary to assure
+ alignment.
+*/
+
+ .globl _strncat
+ .globl __strncat
+ .leafproc _strncat,__strncat
+ .align 2
+_strncat:
+#ifndef __PIC
+ lda Lrett,g14
+#else
+ lda Lrett-(.+8)(ip),g14
+#endif
+__strncat:
+ mov g14,g6
+ cmpibge 0, g2, Lno_operation # Lexit early if max_bytes <= 0
+ mov g0, g5
+Lskip_word_loop:
+ ld (g5), g7 # fetch word of dest string
+ addo 4, g5, g5 # post-increment dest ptr
+ scanbyte 0, g7 # does it contain null byte?
+ bno Lskip_word_loop # if not, loop
+ subo 5, g5, g5 # adjust dest ptr
+ lda 0xff, g3 # byte extraction mask = 0xff;
+Lskip_byte_loop:
+ and g7, g3, g14 # extract byte of last word of dest string
+ cmpo 0, g14 # is it null?
+ addo 1, g5, g5 # adjust dest ptr
+ shro 8, g7, g7 # position next byte for extraction
+ bne Lskip_byte_loop # loop if null not found yet
+
+ ld (g1), g7 # fetch first word of source string
+Lwloop: # word copying loop
+ cmpo 4, g2 # max_bytes < 4 ?
+ addo 4, g1, g1 # post-increment source ptr
+ bge Lcloop.a # branch if less than 4 bytes to move
+ scanbyte 0, g7 # is null byte reached yet?
+ mov g7, g4 # keep a copy of the source word
+ be Lcloop # branch if null byte reached
+ ld (g1), g7 # pre-fetch next word of source
+ subo 4, g2, g2 # reduce max_byte counter
+ st g4, (g5) # store current word
+ addo 4, g5, g5 # post-increment destination ptr
+ b Lwloop
+
+Lcloop.b:
+ addo 1, g5, g5 # post-increment destination ptr
+ shro 8, g7, g7 # position next byte for extraction
+Lcloop: # character copying loop (max_byte > 3)
+ and g3, g7, g4 # extract character
+ cmpo 0, g4 # is it null?
+ stob g4, (g5) # store it
+ bne Lcloop.b # loop if null not encountered yet
+
+ bx (g6) # g0 = dest string address; g14 = 0
+Lrett:
+ ret
+
+Lcloop.c:
+ addo 1, g5, g5 # post-increment destination ptr
+ shro 8, g7, g7 # position next byte for extraction
+Lcloop.a: # character copying loop (max_byte <= 3)
+ cmpdeco 0,g2,g2 # max_byte == 0?
+ and g3, g7, g4 # extract character
+ be Ldone # store null and Lexit if max_byte exhausted
+ cmpo 0, g4 # is it null?
+ stob g4, (g5) # store it
+ bne Lcloop.c # loop if null not encountered yet
+
+Ldone: stob g14, (g5) # store trailing null
+ bx (g6) # g0 = dest string address; g14 = 0
+
+Lno_operation: mov 0, g14 # conform to register conventions
+ bx (g6)
+
+/* end of strncat */
diff --git a/newlib/libc/machine/i960/strncat_ca.S b/newlib/libc/machine/i960/strncat_ca.S
new file mode 100644
index 00000000000..45c5e171e90
--- /dev/null
+++ b/newlib/libc/machine/i960/strncat_ca.S
@@ -0,0 +1,300 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "sncat_ca.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+/*
+ * (c) copyright 1988,1993 Intel Corp., all rights reserved
+ */
+
+/*
+ procedure strncat (optimized assembler version for the CA)
+
+ dest_addr = strncat (dest_addr, src_addr, max_bytes)
+
+ append the null terminated string pointed to by src_addr to the null
+ terminated string pointed to by dest_addr. Return the original
+ dest_addr. If the source string is longer than max_bytes, then
+ append only max_bytes bytes, and tack on a null byte on the end
+
+ This routine will fail if the source and destination string
+ overlap (in particular, if the end of the source is overlapped
+ by the beginning of the destination). The behavior is undefined.
+ This is acceptable according to the draft C standard.
+
+ Undefined behavior will also occur if the end of the source string
+ (i.e. the terminating null byte) is in the last word of the program's
+ allocated memory space. This is so because, in several cases, strncat
+ will fetch ahead one word. Disallowing the fetch ahead would impose
+ a severe performance penalty.
+
+ This program handles five cases:
+
+ 1) both arguments start on a word boundary
+ 2) neither are word aligned, but they are offset by the same amount
+ 3) source is word aligned, destination is not
+ 4) destination is word aligned, source is not
+ 5) neither is word aligned, and they are offset by differing amounts
+
+ At the time of this writing, only g0 thru g7 and g13 are available
+ for use in this leafproc; other registers would have to be saved and
+ restored. These nine registers, plus tricky use of g14 are sufficient
+ to implement the routine. The registers are used as follows:
+
+ g0 original dest ptr; not modified, so that it may be returned.
+ g1 src ptr; shift count
+ g2 max_bytes
+ g3 src ptr (word aligned)
+ g4 dest ptr (word aligned)
+ g5 0xff -- byte extraction mask
+ Little endian:
+ g6 lsw of double word for extraction of 4 bytes
+ g7 msw of double word for extraction of 4 bytes
+ Big endian:
+ g6 msw of double word for extraction of 4 bytes
+ g7 lsw of double word for extraction of 4 bytes
+ g13 return address
+ g14 byte extracted.
+*/
+
+#if __i960_BIG_ENDIAN__
+#define MSW g6
+#define LSW g7
+#else
+#define LSW g6
+#define MSW g7
+#endif
+
+ .globl _strncat
+ .globl __strncat
+ .leafproc _strncat, __strncat
+ .align 2
+_strncat:
+#ifndef __PIC
+ lda Lrett,g14
+#else
+ lda Lrett-(.+8)(ip),g14
+#endif
+__strncat:
+ notand g0,3,g4 # extract word addr of start of dest
+ lda (g14),g13 # preserve return address
+ cmpibge.f 0,g2,Lexit_code # Lexit if number of bytes to move is <= zero.
+ and g0,3,LSW # extract byte offset of dest
+ ld (g4),MSW # fetch word containing at least first byte
+ shlo 3,LSW,g14 # get shift count for making mask for first word
+ subi 1,0,LSW # mask initially all ones
+#if __i960_BIG_ENDIAN__
+ shro g14,LSW,LSW # get mask for bytes needed from first word
+#else
+ shlo g14,LSW,LSW # get mask for bytes needed from first word
+#endif
+ notor MSW,LSW,MSW # set unneeded bytes to all ones
+ lda 0xff,g5 # byte extraction mask
+Lsearch_for_word_with_null:
+ scanbyte 0,MSW # check for null byte
+ lda 4(g4),g4 # post-increment dest word pointer
+ mov MSW,LSW # keep a copy of current word
+ ld (g4),MSW # fetch next word of dest
+ bno.t Lsearch_for_word_with_null # branch if null not found yet
+#if __i960_BIG_ENDIAN__
+ shro 24,LSW,g14 # extract byte
+#else
+ and g5,LSW,g14 # extract byte
+#endif
+ cmpo 0,g14 # branch if null is first byte of word
+ subo 4,g4,g4 # move dest word ptr to word with null
+ notand g1,3,g3 # extract word addr of start of src
+ bne.t Lsearch_for_null
+
+Lcase_14:
+ cmpo g1,g3 # check alignment of source
+ ld (g3),LSW # fetch first word of source
+ shlo 3,g1,g14 # compute shift count
+ lda 4(g3),g3 # post-increment src addr
+ bne.f Lcase_4 # branch if source is unaligned
+Lcase_1:
+Lcase_1_wloop: # word copying loop
+ cmpi g2,4 # check for fewer than four bytes to move
+ lda (LSW),g1 # keep a copy of the src word
+ bl.f Lcase_1_cloop # branch if fewer than four bytes to copy
+ scanbyte 0,g1 # check for null byte in src word
+ ld (g3),LSW # pre-fetch next word of src
+ addo 4,g3,g3 # post-increment src addr
+ bo.f Lcase_1_cloop # branch if word contains null byte
+ subi 4,g2,g2 # decrease max_byte count by the 4 bytes moved
+ st g1,(g4) # store word in dest string
+ addo 4,g4,g4 # post-increment dest addr
+ b Lcase_1_wloop
+
+Lcase_3_cloop:
+Lcase_1_cloop: # character copying loop (max_bytes <= 3)
+ cmpdeci 0,g2,g2 # is max_bytes exhausted?
+#if __i960_BIG_ENDIAN__
+ rotate 8,g1,g1 # move next byte into position for extraction
+#endif
+ and g5,g1,g14 # extract next char
+ be.f Lstore_null # if max_bytes is exhausted, store null and quit
+ cmpo 0,g14 # check for null byte
+ stob g14,(g4) # store the byte in dest
+#if ! __i960_BIG_ENDIAN__
+ shro 8,g1,g1 # move next byte into position for extraction
+#endif
+ lda 1(g4),g4 # post-increment dest byte addr
+ bne.t Lcase_1_cloop # branch if null not reached
+ bx (g13) # Lexit (g14 == 0)
+
+Lstore_null:
+ mov 0,g14 # store null, and set g14 to zero
+ stob g14,(g4)
+ bx (g13)
+
+
+Lsearch_for_null:
+#if __i960_BIG_ENDIAN__
+ shlo 8,LSW,LSW # check next byte
+ shro 24,LSW,g14
+#else
+ shlo 8,g5,g5 # move mask up to next byte
+ and g5,LSW,g14 # extract byte
+#endif
+ lda 1(g4),g4 # move dest byte ptr to next byte
+ cmpobne.t 0,g14,Lsearch_for_null # branch if null is not yet found
+
+Lcase_235:
+ cmpo g1,g3 # check alignment of src
+ ld (g3),LSW # pre-fetch word with start of src
+ and 3,g1,g1 # compute shift count
+ lda 0xff,g5 # load mask for byte extraction
+ shlo 3,g1,g14
+ lda 4(g3),g3 # post-increment src word counter
+ be.t Lcase_3 # branch if src is word aligned
+ and g4,3,MSW # extract byte offset for dest string
+ cmpo MSW,g1 # < indicates first word of dest has more bytes
+ /* than first word of source. */
+ ld (g3),MSW # fetch second word of src
+#if __i960_BIG_ENDIAN__
+ subo g14,0,g14 # adjust shift count for big endian
+#endif
+ eshro g14,g6,g5 # extract four bytes
+#if __i960_BIG_ENDIAN__
+ bge.f 1f
+#else
+ bg.f 1f
+#endif
+ mov MSW,LSW
+ lda 4(g3),g3 # move src word addr to second word boundary
+1:
+ mov g5,MSW
+ lda 0xff,g5
+ b Lcase_25
+
+Lcase_3: # src is word aligned; dest is not
+ mov LSW,MSW # make copy of first word of src
+ lda 32,g14 # initialize shift count to zero (mod 32)
+Lcase_25:
+
+Lcase_3_cloop_at_start: # character copying loop for start of dest str
+ cmpdeci 0,g2,g2 # is max_bytes exhausted?
+#if __i960_BIG_ENDIAN__
+ shro 24,MSW,g5 # extract next char
+#else
+ and g5,MSW,g5 # extract next char
+#endif
+ be.f Lstore_null # Lexit if max_bytes is exhausted
+ cmpo 0,g5 # check for null byte
+ stob g5,(g4) # store the byte in dest
+ addo 1,g4,g4 # post-increment dest ptr
+ lda 0xff,g5 # re-initialize byte extraction mask
+ notand g4,3,g1 # extract word address
+ be.t Lexit_code # Lexit if null byte reached
+ cmpo g1,g4 # have we reached word boundary in dest yet?
+#if __i960_BIG_ENDIAN__
+ lda -8(g14),g14 # augment the shift counter
+ rotate 8,MSW,MSW # move next byte into position for extraction
+#else
+ lda 8(g14),g14 # augment the shift counter
+ shro 8,MSW,MSW # move next byte into position for extraction
+#endif
+ bne.t Lcase_3_cloop_at_start # branch if reached word boundary?
+
+#if __i960_BIG_ENDIAN__
+ cmpo 0,g14
+ ld (g3),MSW # fetch msw of operand for double shift
+ bne Lcase_3_wloop # branch if src is still unaligned.
+
+Lcase_3_wloop2:
+ cmpi g2,4 # less than four bytes to move?
+ mov LSW,g1 # extract 4 bytes of src
+ lda 4(g3),g3 # post-increment src word addr
+ bl.f Lcase_3_cloop # branch if < four bytes left to move
+ scanbyte 0,g1 # check for null byte
+ mov MSW,LSW # move msw to lsw
+ ld (g3),MSW # pre-fetch msw of operand for double shift
+ bo.f Lcase_3_cloop # branch if word contains null byte
+ subi 4,g2,g2 # decrease max_byte count by the 4 bytes moved
+ st g1,(g4) # store 4 bytes to dest
+ addo 4,g4,g4 # post-increment dest ptr
+ b Lcase_3_wloop2
+Lcase_4:
+ subo g14,0,g14 # adjust shift count for big endian
+#else
+Lcase_4:
+#endif
+
+ ld (g3),MSW # fetch msw of operand for double shift
+
+Lcase_3_wloop:
+ cmpi g2,4 # less than four bytes to move?
+ eshro g14,g6,g1 # extract 4 bytes of src
+ lda 4(g3),g3 # post-increment src word addr
+ bl.f Lcase_3_cloop # branch if < four bytes left to move
+ scanbyte 0,g1 # check for null byte
+ mov MSW,LSW # move msw to lsw
+ ld (g3),MSW # pre-fetch msw of operand for double shift
+ bo.f Lcase_3_cloop # branch if word contains null byte
+ subi 4,g2,g2 # decrease max_byte count by the 4 bytes moved
+ st g1,(g4) # store 4 bytes to dest
+ addo 4,g4,g4 # post-increment dest ptr
+ b Lcase_3_wloop
+
+
+Lexit_code:
+ mov 0,g14 # conform to register conventions
+ bx (g13) # g0 = addr of dest; g14 = 0
+Lrett:
+ ret
+
+/* end of strncat */
+
diff --git a/newlib/libc/machine/i960/strncmp.S b/newlib/libc/machine/i960/strncmp.S
new file mode 100644
index 00000000000..030b75084af
--- /dev/null
+++ b/newlib/libc/machine/i960/strncmp.S
@@ -0,0 +1,129 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "strncmp.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+/*
+ * (c) copyright 1988,1993 Intel Corp., all rights reserved
+ */
+/*
+ procedure strncmp (optimized assembler version for the 80960K Series)
+
+ result = strncmp (src1_addr, src2_addr, max_bytes)
+
+ compare the null terminated string pointed to by src1_addr to
+ the string pointed to by src2_addr. Return 0 iff the strings
+ are equal, -1 if src1_addr is lexicographically less than src2_addr,
+ and 1 if it is lexicographically greater. Do not compare more than
+ max_bytes bytes.
+
+ Undefined behavior will occur if the end of either source string
+ (i.e. the terminating null byte) is in the last two words of the
+ program's allocated memory space. This is so because strncmp
+ will fetch ahead. Disallowing the fetch ahead would impose
+ a severe performance penalty.
+
+ Strategy:
+
+ Fetch and compare the strings by words and go to a character
+ comparison loop as soon as a pair of words differ. If the
+ words are equal up through either the exhaustion of max_bytes
+ or the presence of the null byte, return 0 (equality). Otherwise,
+ the character comparator will return -1 or 1 for inequality, or
+ 0 if the differing byte is after the null byte or after the
+ exhaustion of max_bytes.
+
+ Tactics:
+
+ 1) Do NOT try to fetch the words in a word aligned manner because,
+ in my judgement, the performance degradation experienced due to
+ non-aligned accesses does NOT outweigh the time and complexity added
+ by the preamble and convoluted body that would be necessary to assure
+ alignment.
+*/
+
+ .globl _strncmp
+ .globl __strncmp
+ .leafproc _strncmp,__strncmp
+ .align 2
+
+_strncmp:
+#ifndef __PIC
+ lda .Lrett,g14
+#else
+ lda .Lrett-(.+8)(ip),g14
+#endif
+__strncmp:
+ mov g14,g13
+ ldconst 0,g14
+ cmpibge 0,g2,Lequal_exit # Lexit early if max_bytes <= 0
+ addo g2,g0,g2
+.Lwloop:
+ cmpo g0,g2 # are max_bytes exhausted?
+ ld (g0), g5 # fetch word of source_1
+ bge Lequal_exit # Lexit (equality) if max_bytes exhausted
+ ld (g1), g3 # fetch word of source_2
+ addo 4,g0,g0 # post-increment source_1 ptr
+ scanbyte 0,g5 # is a null byte present?
+ addo 4,g1,g1 # post-increment source_1 ptr
+ be .Lcloop.a # perform char comparator if null byte found
+ cmpobe g5,g3,.Lwloop # perform char comparator if words are unequal
+
+.Lcloop.a: subo 4,g0,g0 # adjust max_byte counter
+ ldconst 0xff,g4 # byte extraction mask
+
+.Lcloop: and g4,g5,g7 # compare individual bytes
+ and g4,g3,g6
+ cmpobne g7,g6,.diff # if different, return -1 or 1
+ cmpo 0,g6 # they are equal. are they null?
+ shlo 8,g4,g4 # position mask to extract next byte
+ be Lequal_exit # if they are null, Lexit (equality)
+ addo 1,g0,g0 # is max_bytes exhausted?
+ cmpobl g0,g2,.Lcloop # if not, loop. if so, Lexit (equality)
+
+Lequal_exit:
+ mov 0,g0
+ bx (g13)
+.Lrett:
+ ret
+.diff: bl .neg
+ mov 1,g0
+ bx (g13)
+
+.neg: subi 1,0,g0
+.Lexit:
+ bx (g13)
+
+/* end of strncmp */
diff --git a/newlib/libc/machine/i960/strncmp_ca.S b/newlib/libc/machine/i960/strncmp_ca.S
new file mode 100644
index 00000000000..0b1a8ff4b12
--- /dev/null
+++ b/newlib/libc/machine/i960/strncmp_ca.S
@@ -0,0 +1,253 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "sncmp_ca.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+/*
+ * (c) copyright 1988,1993 Intel Corp., all rights reserved
+ */
+
+/*
+ procedure strncmp (optimized assembler version for the CA)
+
+ result = strncmp (src1_addr, src2_addr, max_bytes)
+
+ compare the null terminated string pointed to by src1_addr to
+ the string space pointed to by src2_addr. Return 0 iff the strings
+ are equal, -1 if src1_addr is lexicly less than src2_addr, and 1
+ if it is lexicly greater. Do not compare more than max_bytes bytes.
+
+ Undefined behavior will occur if the end of either source string
+ (i.e. the terminating null byte) is in the last word of the program's
+ allocated memory space. This is so because, in several cases, strncmp
+ will fetch ahead one word. Disallowing the fetch ahead would impose
+ a severe performance penalty.
+
+ This program handles five cases:
+
+ 1) both arguments start on a word boundary
+ 2) neither are word aligned, but they are offset by the same amount
+ 3) source1 is word aligned, source2 is not
+ 4) source2 is word aligned, source1 is not
+ 5) neither is word aligned, and they are offset by differing amounts
+
+ At the time of this writing, only g0 thru g7 and g14 are available
+ for use in this leafproc; other registers would have to be saved and
+ restored. These nine registers are sufficient to implement the routine.
+ The registers are used as follows:
+
+ g0 original src1 ptr; extracted word; return result
+ g1 src2 ptr; 0xff -- byte extraction mask
+ g2 maximum number of bytes to compare
+ g3 src2 word ptr
+ Little endian:
+ g4 lsw of src1
+ g5 msw of src1
+ g6 src2 word
+ g7 src1 word ptr
+ Big endian:
+ g4 msw of src1
+ g5 lsw of src1
+ g6 src1 word ptr
+ g7 src2 word
+ g13 return address
+ g14 shift count
+*/
+
+#if __i960_BIG_ENDIAN__
+#define MSW g4
+#define LSW g5
+#define SRC1 g6
+#define SRC2 g7
+#else
+#define LSW g4
+#define MSW g5
+#define SRC2 g6
+#define SRC1 g7
+#endif
+
+ .globl _strncmp
+ .globl __strncmp
+ .leafproc _strncmp, __strncmp
+ .align 2
+_strncmp:
+#ifndef __PIC
+ lda Lrett,g14
+#else
+ lda Lrett-(.+8)(ip),g14
+#endif
+__strncmp:
+Lrestart:
+ notand g0,3,SRC1 # extract word addr of start of src1
+ lda (g14),g13 # preserve return address
+ cmpibge.f 0,g2,Lequal_exit # return equality if number of bytes to
+ /* compare is none. */
+#if __i960_BIG_ENDIAN__
+ cmpo g0,SRC1 # check alignment of src1
+#endif
+ ld (SRC1),LSW # fetch word with at least first byte of src1
+ notand g1,3,g3 # extract word addr of start of src2
+ ld 4(SRC1),MSW # fetch second word of src1
+#if __i960_BIG_ENDIAN__
+ bne Lsrc1_unaligned # branch if src1 is unaligned
+ cmpo g3,g1 # check alignment of src2
+ ld (g3),SRC2 # fetch word with at least first byte of src2
+ shlo 3,g0,g14 # compute shift count for src1
+ subo g14,0,g14 # adjust shift count for big endian
+ lda 8(SRC1),SRC1 # advance src1 word addr
+ bne.f Lsrc2_unaligned # branch if src2 is NOT word aligned
+
+ /* src2 is word aligned */
+
+ mov LSW,g0
+
+Lwloop2: # word comparing loop
+ cmpo SRC2,g0 # compare src1 and src2 words
+ lda 0xff000000,g1 # byte extraction mask
+ mov MSW,LSW # move msw of src1 to lsw
+ ld (SRC1),MSW # pre-fetch next msw of src1
+ addo 4,SRC1,SRC1 # post-increment src1 addr
+ lda 4(g3),g3 # pre-increment src2 addr
+ bne.f Lcloop # branch if src1 and src2 unequal
+ scanbyte 0,g0 # check for null byte in src1 word
+ ld (g3),SRC2 # pre-fetch next word of src2
+ mov LSW,g0 # extract word of src1
+ subi 4,g2,g2 # decrement maximum byte count
+ bo.f Lequal_exit # branch if null byte encountered
+ cmpibl.t 0,g2,Lwloop2 # branch if max_bytes not reached yet
+
+ b Lequal_exit # strings were equal up through max_bytes
+
+Lsrc1_unaligned:
+#endif
+ cmpo g3,g1 # check alignment of src2
+ ld (g3),SRC2 # fetch word with at least first byte of src2
+ shlo 3,g0,g14 # compute shift count for src1
+#if __i960_BIG_ENDIAN__
+ subo g14,0,g14 # adjust shift count for big endian
+#endif
+ eshro g14,g4,LSW # extract word of src1
+ lda 8(SRC1),SRC1 # advance src1 word addr
+ bne.f Lsrc2_unaligned # branch if src2 is NOT word aligned
+
+ /* at least src2 is word aligned */
+
+ mov LSW,g0
+
+Lwloop: # word comparing loop
+ cmpo SRC2,g0 # compare src1 and src2 words
+#if __i960_BIG_ENDIAN__
+ lda 0xff000000,g1 # byte extraction mask
+#else
+ lda 0xff,g1 # byte extraction mask
+#endif
+ mov MSW,LSW # move msw of src1 to lsw
+ ld (SRC1),MSW # pre-fetch next msw of src1
+ addo 4,SRC1,SRC1 # post-increment src1 addr
+ lda 4(g3),g3 # pre-increment src2 addr
+ bne.f Lcloop # branch if src1 and src2 unequal
+ scanbyte 0,g0 # check for null byte in src1 word
+ ld (g3),SRC2 # pre-fetch next word of src2
+ eshro g14,g4,g0 # extract word of src1
+ subi 4,g2,g2 # decrement maximum byte count
+ bo.f Lequal_exit # branch if null byte encountered
+ cmpibl.t 0,g2,Lwloop # branch if max_bytes not reached yet
+
+ b Lequal_exit # strings were equal up through max_bytes
+
+Lcloop_setup: # setup for coming from Lsrc2_unaligned
+ mov LSW,g0 # restore extracted src1 word
+#if __i960_BIG_ENDIAN__
+ lda 0xff000000,g1 # byte extraction mask
+#else
+ lda 0xff,g1 # byte extraction mask
+#endif
+
+Lcloop: # character comparing loop
+ and SRC2,g1,g3 # extract next char of src2
+ and g0,g1,LSW # extract next char of src1
+ cmpobne.f LSW,g3,.diff # check for equality
+ cmpo 0,LSW # check for null byte
+#if __i960_BIG_ENDIAN__
+ shro 8,g1,g1 # shift mask for next byte
+#else
+ shlo 8,g1,g1 # shift mask for next byte
+#endif
+ subi 1,g2,g2 # decrement character counter
+ bne.t Lcloop # branch if null not reached
+
+ /* words are equal up thru null byte */
+
+Lequal_exit:
+ mov 0,g14 # conform to register conventions
+ lda 0,g0 # return zero, indicating equality
+ bx (g13) # return
+
+Lrett:
+ ret
+
+.diff:
+ mov 0,g14
+ bl Lless_than_exit
+Lgreater_than_exit:
+ cmpibge.f 0,g2,Lequal_exit # branch if difference is beyond max_bytes
+ mov 1,g0
+ bx (g13) # g0 = 1 (src1 > src2)
+Lless_than_exit:
+ cmpibge.f 0,g2,Lequal_exit # branch if difference is beyond max_bytes
+ subi 1,0,g0
+ bx (g13) # g0 = -1 (src1 < src2)
+
+Lsrc2_unaligned:
+ notor g1,3,g14 # first step in computing new src1 ptr
+ ld 4(g3),SRC1 # fetch second word of src2
+ shlo 3,g1,MSW # compute shift count for src2
+#if __i960_BIG_ENDIAN__
+ subo MSW,0,MSW # adjust shift count for big endian
+#endif
+ eshro MSW,g6,SRC2 # extract word of src2
+ cmpo LSW,SRC2 # compare src1 and src2 words
+ lda 4(g3),g1 # set new src2 ptr
+ bne.f Lcloop_setup # first four bytes differ
+ scanbyte 0,LSW # check for null byte
+ subo g14,g0,g0 # second (final) step in computing new src1 ptr
+ addi g14,g2,g2 # compute new max_bytes too
+ lda (g13),g14 # prepare return pointer for Lrestart
+ bno.t Lrestart # if null byte not encountered, continue
+ /* with both string fetches shifted such that*/
+ /* src2 is now word aligned.*/
+ mov 0,g14 # conform to register conventions.
+ lda 0,g0 # return indicator of equality.
+ bx (g13)
diff --git a/newlib/libc/machine/i960/strncpy.S b/newlib/libc/machine/i960/strncpy.S
new file mode 100644
index 00000000000..9f51b607c94
--- /dev/null
+++ b/newlib/libc/machine/i960/strncpy.S
@@ -0,0 +1,154 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "strncpy.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+/*
+ * (c) copyright 1988,1993 Intel Corp., all rights reserved
+ */
+/*
+ procedure strncpy (optimized assembler version for the 80960K Series)
+
+ dest_addr = strncpy (dest_addr, src_addr, max_bytes)
+
+ copy the null terminated string pointed to by src_addr to the
+ string pointed to by dest_addr. Return the original dest_addr.
+ If the source string is shorter than max_bytes, then null-pad
+ the destination string. If it is longer than max_bytes, the
+ copy stops at max_bytes bytes (and no terminating null appears
+ in the destination string).
+
+ This routine will fail if the source and destination string
+ overlap (in particular, if the end of the source is overlapped
+ by the beginning of the destination). The behavior is undefined.
+ This is acceptable according to the draft C standard.
+
+ Undefined behavior will also occur if the end of the source string
+ (i.e. the terminating null byte) is in the last two words of the
+ program's allocated memory space. This is so because strncpy fetches
+ ahead. Disallowing the fetch ahead would impose a severe performance
+ penalty.
+
+ Strategy:
+
+ Fetch and store the strings by words and go to a character move loop
+ as soon as a null byte is encountered. If max_bytes is exhausted
+ first, then terminate after moving only max_bytes (with the last
+ 0, 1, 2, or 3 bytes moved as single bytes, not as a word).
+ Otherwise, the character move loop moves the last bytes or the
+ source string, and then null-pads the destination string until
+ max_bytes is exhausted.
+
+ Tactics:
+
+ 1) Do NOT try to fetch the words in a word aligned manner because,
+ in my judgement, the performance degradation experienced due to
+ non-aligned accesses does NOT outweigh the time and complexity added
+ by the preamble and convoluted body that would be necessary to assure
+ alignment.
+
+ 2) When the null byte is encountered in a source word, null out the
+ higher-numbered bytes in that word, store the word in the destination,
+ and go to the word null-padder, which may eventually go to the byte
+ null-padder.
+*/
+
+ .globl _strncpy
+ .globl __strncpy
+ .leafproc _strncpy,__strncpy
+ .align 2
+_strncpy:
+#ifndef __PIC
+ lda Lrett,g14
+#else
+ lda Lrett-(.+8)(ip),g14
+#endif
+__strncpy:
+ mov g14, g13
+ cmpibge 0,g2,Lexit # quit early if max_bytes <= 0
+ ld (g1), g7 # fetch the first word of the source
+ mov g0, g5
+ lda 0xff, g3 # byte extraction mask
+ addo g1, g2, g6
+ addo g2, g5, g2
+Lwloop: # word copying loop
+ addo 4, g1, g1 # post-increment source ptr
+ cmpo g6, g1 # max_bytes < 4 ?
+ mov g7, g4 # keep a copy of source word
+ bl Lcloop.a # if less than four bytes to go, go to char loop
+ scanbyte 0, g4 # null byte found?
+ ld (g1), g7 # pre-fetch next word of the source
+ be Lcloop.c # go to char loop if null encountered
+ st g4, (g5) # store current word
+ addo 4, g5, g5 # post-increment destination ptr
+ b Lwloop
+
+Lcloop.a: # character copying loop (max_bytes < 3)
+ and g3, g4, g14 # extract byte
+Lcloop.b:
+ cmpo g2, g5 # max_bytes <= 0 ?
+ shro 8, g4, g4 # position word to extract next byte
+ be Lexit # exit if max_bytes exhausted
+ cmpo 0, g14 # is it null?
+ stob g14, (g5) # store it
+ addo 1, g5, g5 # post-increment dest ptr
+ bne Lcloop.a # branch if we are NOT null padding
+ b Lcloop.b # branch if we are null padding
+
+Lexit:
+ mov 0, g14
+ bx (g13) # g0 = dest string address; g14 = 0
+Lrett:
+ ret
+
+Lcloop.c: # character copying loop
+ and g3, g4, g14 # extract byte
+ cmpo 0, g14 # is it null?
+ mov g3, g7 # save mask
+ shlo 8, g3, g3 # shift mask to next byte position
+ bne Lcloop.c # loop until null found
+ subo 1, g7, g3 # mask to null pad after null byte
+ and g3, g4, g4 # null-out stuff after null byte
+ st g4, (g5) # store last part of src and first of null-pad
+ subo 8,g2,g6 # adjust max_byte counter
+
+Lzwloop:
+ cmpo g5, g6 # max_bytes < 4 ?
+ addo 4, g5, g5
+ bg Lcloop.b # if so, goto character loop
+ st g14, (g5) # store four null bytes
+ b Lzwloop
+
+/* end of strncpy */
diff --git a/newlib/libc/machine/i960/strncpy_ca.S b/newlib/libc/machine/i960/strncpy_ca.S
new file mode 100644
index 00000000000..1f90acf1c25
--- /dev/null
+++ b/newlib/libc/machine/i960/strncpy_ca.S
@@ -0,0 +1,289 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "sncpy_ca.s"
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+/*
+ * (c) copyright 1988,1993 Intel Corp., all rights reserved
+ */
+
+/*
+ procedure strncpy (optimized assembler version for the CA)
+
+ dest_addr = strncpy (dest_addr, src_addr, max_bytes)
+
+ copy the null terminated string pointed to by src_addr to
+ the string space pointed to by dest_addr. Return the original
+ dest_addr. If the source string is shorter than max_bytes,
+ then null-pad the destination string.
+
+ This routine will fail if the source and destination string
+ overlap (in particular, if the end of the source is overlapped
+ by the beginning of the destination). The behavior is undefined.
+ This is acceptable according to the draft C standard.
+
+ Undefined behavior will also occur if the end of the source string
+ (i.e. the terminating null byte) is in the last word of the program's
+ allocated memory space. This is so because, in several cases, strcpy
+ will fetch ahead one word. Disallowing the fetch ahead would impose
+ a severe performance penalty.
+
+ This program handles five cases:
+
+ 1) both arguments start on a word boundary
+ 2) neither are word aligned, but they are offset by the same amount
+ 3) source is word aligned, destination is not
+ 4) destination is word aligned, source is not
+ 5) neither is word aligned, and they are offset by differing amounts
+
+ At the time of this writing, only g0 thru g7 and g13 are available
+ for use in this leafproc; other registers would have to be saved and
+ restored. These nine registers, plus tricky use of g14 are sufficient
+ to implement the routine. The registers are used as follows:
+
+ g0 original dest ptr; not modified, so that it may be returned.
+ g1 src ptr; shift count
+ g2 max_bytes
+ g3 src ptr (word aligned)
+ g4 dest ptr (word aligned)
+ g5 0xff -- byte extraction mask
+ Little endian:
+ g6 lsw of double word for extraction of 4 bytes
+ g7 msw of double word for extraction of 4 bytes
+ Big endian:
+ g6 msw of double word for extraction of 4 bytes
+ g7 lsw of double word for extraction of 4 bytes
+ g13 return address
+ g14 byte extracted.
+*/
+
+#if __i960_BIG_ENDIAN__
+#define MSW g6
+#define LSW g7
+#else
+#define LSW g6
+#define MSW g7
+#endif
+
+ .globl _strncpy
+ .globl __strncpy
+ .leafproc _strncpy, __strncpy
+ .align 2
+_strncpy:
+#ifndef __PIC
+ lda Lrett,g14
+#else
+ lda Lrett-(.+8)(ip),g14
+#endif
+__strncpy:
+ notand g1,3,g3 # extract word addr of start of src
+ lda (g14),g13 # preserve return address
+ cmpibge.f 0,g2,Lexit_code # Lexit if number of bytes to move is <= zero.
+ cmpo g3,g1 # check alignment of src
+ ld (g3),LSW # fetch word containing at least first byte
+ notand g0,3,g4 # extract word addr of start of dest
+ lda 4(g3),g3 # advance src word addr
+ bne.f Lcase_245 # branch if src is NOT word aligned
+
+Lcase_13:
+ cmpo g0,g4 # check alignment of dest
+ lda 0xff,g5 # load mask for byte extraction
+ subo 4,g4,g4 # store is pre-incrementing; back up dest addr
+ bne.f Lcase_3 # branch if dest not word aligned
+
+Lcase_1: # src and dest are word aligned
+Lcase_1_wloop: # word copying loop
+ cmpi g2,4 # check for fewer than four bytes to move
+ lda (LSW),g1 # keep a copy of the src word
+ addo 4,g4,g4 # pre-increment dest addr
+ bl.f Lcase_1_cloop.a # branch if fewer than four bytes to copy
+ scanbyte 0,g1 # check for null byte in src word
+ ld (g3),LSW # pre-fetch next word of src
+ subi 4,g2,g2 # decrease max_byte count by the 4 bytes moved
+ bo.f Lcase_1_cloop.c # branch if word contains null byte
+ addo 4,g3,g3 # post-increment src addr
+ st g1,(g4) # store word in dest string
+ b Lcase_1_wloop
+
+Lcase_3_cloop.a:
+Lcase_1_cloop.a: # character copying loop (max_bytes <= 3)
+#if __i960_BIG_ENDIAN__
+ rotate 8,g1,g1 # move next byte into position for extraction
+#endif
+ and g5,g1,g14 # extract next char
+Lcase_1_cloop.b:
+ cmpdeci 0,g2,g2 # is max_bytes exhausted?
+ be.f Lexit_code # Lexit if max_bytes is exhausted
+ cmpo 0,g14 # check for null byte
+ stob g14,(g4) # store the byte in dest
+#if ! __i960_BIG_ENDIAN__
+ shro 8,g1,g1 # move next byte into position for extraction
+#endif
+ lda 1(g4),g4 # post-increment dest byte addr
+ bne.t Lcase_1_cloop.a # branch if null not reached
+ b Lcase_1_cloop.b
+
+Lexit_code:
+ mov 0,g14 # conform to register conventions
+ bx (g13) # g0 = addr of dest; g14 = 0
+Lrett:
+ ret
+
+Lcase_1_cloop.c:
+Lcase_3_cloop.c:
+#if __i960_BIG_ENDIAN__
+ rotate 24,g5,g5 # move mask into position for testing next byte
+#endif
+ and g5,g1,g14 # extract next char
+ cmpo 0,g14 # check for null byte
+#if ! __i960_BIG_ENDIAN__
+ lda (g5),LSW # keep a copy of the current mask
+ shlo 8,g5,g5 # move mask into position for testing next byte
+#endif
+ bne.t Lcase_1_cloop.c # branch if null not reached
+#if __i960_BIG_ENDIAN__
+ subo 1,g5,g5 # null pad.
+ andnot g5,g1,g1 # last bytes to copy, and null pad rest of word
+#else
+ subo 1,LSW,g5 # mask to get last bytes to copy, and null pad
+ and g5,g1,g1 # last bytes to copy, and null pad rest of word
+#endif
+ st g1,(g4)
+
+Lcase_1_zwloop: # zero word loop
+ cmpi g2,4 # check for fewer than four bytes to move
+ addo 4,g4,g4 # pre-increment dest addr
+ bl.f Lcase_1_cloop.b # branch if fewer than four bytes to copy
+ subo 4,g2,g2 # decrease max_byte count by the 4 bytes moved
+ st g14,(g4) # store word in dest string
+ b Lcase_1_zwloop
+
+Lcase_3: # src is word aligned; dest is not
+ addo 8,g4,g4 # move dest word ptr to first word boundary
+ lda (g0),g1 # copy dest byte ptr
+ mov LSW,MSW # make copy of first word of src
+ lda 32,g14 # initialize shift count to zero (mod 32)
+
+Lcase_25:
+Lcase_3_cloop_at_start: # character copying loop for start of dest str
+ cmpdeci 0,g2,g2 # is max_bytes exhausted?
+#if __i960_BIG_ENDIAN__
+ shro 24,MSW,g5 # extract next char
+#else
+ and g5,MSW,g5 # extract next char
+#endif
+ be.f Lexit_code # Lexit if max_bytes is exhausted
+ cmpo 0,g5 # check for null byte
+ stob g5,(g1) # store the byte in dest
+ addo 1,g1,g1 # post-increment dest ptr
+ lda 0xff,g5 # re-initialize byte extraction mask
+ bne.t 1f # drop thru if null byte reached (to pad)
+ movl 0,g6 # blank out remainder of input buffer
+1:
+ cmpo g1,g4 # have we reached word boundary in dest yet?
+#if __i960_BIG_ENDIAN__
+ lda -8(g14),g14 # augment the shift counter
+ rotate 8,MSW,MSW # move next byte into position for extraction
+#else
+ lda 8(g14),g14 # augment the shift counter
+ shro 8,MSW,MSW # move next byte into position for extraction
+#endif
+ bne.t Lcase_3_cloop_at_start # branch if reached word boundary?
+
+ ld (g3),MSW # fetch msw of operand for double shift
+
+Lcase_4:
+
+#if __i960_BIG_ENDIAN__
+ cmpobne 0,g14,Lcase_3_wloop # branch if src is still unaligned.
+
+Lcase_3_wloop2:
+ cmpi g2,4 # less than four bytes to move?
+ lda (LSW),g1 # extract 4 bytes of src
+ lda 4(g3),g3 # post-increment src word addr
+ bl.f Lcase_3_cloop.a # branch if < four bytes left to move
+ scanbyte 0,g1 # check for null byte
+ lda (MSW),LSW # move msw to lsw
+ subi 4,g2,g2 # decrease max_byte count by the 4 bytes moved
+ ld (g3),MSW # pre-fetch msw of operand for double shift
+ bo.f Lcase_3_cloop.c # branch if word contains null byte
+ st g1,(g4) # store 4 bytes to dest
+ addo 4,g4,g4 # post-increment dest ptr
+ b Lcase_3_wloop2
+
+#endif
+
+Lcase_3_wloop:
+ cmpi g2,4 # less than four bytes to move?
+ eshro g14,g6,g1 # extract 4 bytes of src
+ lda 4(g3),g3 # post-increment src word addr
+ bl.f Lcase_3_cloop.a # branch if < four bytes left to move
+ scanbyte 0,g1 # check for null byte
+ lda (MSW),LSW # move msw to lsw
+ subi 4,g2,g2 # decrease max_byte count by the 4 bytes moved
+ ld (g3),MSW # pre-fetch msw of operand for double shift
+ bo.f Lcase_3_cloop.c # branch if word contains null byte
+ st g1,(g4) # store 4 bytes to dest
+ addo 4,g4,g4 # post-increment dest ptr
+ b Lcase_3_wloop
+
+Lcase_245:
+ cmpo g0,g4 # check alignment of dest
+ ld (g3),MSW # pre-fetch second half
+ and 3,g1,g1 # compute shift count
+ lda 0xff,g5 # load mask for byte extraction
+#if __i960_BIG_ENDIAN__
+ subo g1,4,g14 # adjust shift count for big endian.
+ shlo 3,g14,g14
+#else
+ shlo 3,g1,g14
+#endif
+ be.t Lcase_4 # branch if dest is word aligned
+ or g4,g1,g1 # is src earlier in word, later, or sync w/ dst
+ cmpo g0,g1 # < indicates first word of dest has more bytes
+ /* than first word of source. */
+ lda 4(g4),g4 # move dest word addr to first word boundary
+ eshro g14,g6,g5 # extract four bytes
+ lda (g0),g1
+ bg.f 1f
+ mov MSW,LSW
+ lda 4(g3),g3 # move src word addr to second word boundary
+1:
+ mov g5,MSW
+ lda 0xff,g5
+ b Lcase_25
+
+/* end of strncpy */
+
diff --git a/newlib/libc/machine/i960/strpbrk.S b/newlib/libc/machine/i960/strpbrk.S
new file mode 100644
index 00000000000..bae909f20f1
--- /dev/null
+++ b/newlib/libc/machine/i960/strpbrk.S
@@ -0,0 +1,100 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+/*
+ * (c) copyright 1989,1993 Intel Corp., all rights reserved
+ */
+
+/*
+ procedure strpbrk (optimized assembler version: 80960K series, 80960CA)
+
+ char_addr = strpbrk (string, brkset_string)
+
+ Return the address of the first character in string that is NOT
+ in the brkset_string. Return NULL if none exists.
+
+ At the time of this writing, only g0 thru g7 and g13 are available
+ for use in this leafproc; other registers would have to be saved and
+ restored. These nine registers, plus tricky use of g14 are sufficient
+ to implement the routine.
+
+ This routine stays out of g3 and g4 altogether. They may be used by
+ the strtok routine, which calls this routine in an incestuous way.
+*/
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+
+ .file "strprk.s"
+ .globl _strpbrk
+ .globl __strpbrk
+ .leafproc _strpbrk, __strpbrk
+ .align 2
+
+_strpbrk:
+#ifdef __PIC
+ lda Lrett-(.+8)(ip),g14
+ b __strpbrk
+#else
+ lda Lrett,g14
+ b __strpbrk
+#endif
+
+Lrett: ret
+
+__strpbrk:
+
+Lnext_char_strpbrk:
+ addo 1,g1,g2 # g2 will be the brkset ptr
+ ldob (g0),g7 # fetch next character of string
+ ldob (g1),g6 # fetch first character of brkset
+ cmpobe.f 0,g7,Lexit_char_not_found # quit if at end of string
+Lscan_set_strpbrk:
+ cmpo g6,g7 # is brkset char equal to string char?
+ ldob (g2),g5 # fetch next brkset char
+ addo 1,g2,g2 # bump brkset ptr
+ be.f Lexit_char_found
+ cmpo g6,0 # is brkset_string exhausted?
+ lda (g5),g6
+ bne.t Lscan_set_strpbrk # check next character of brkset
+ addo 1,g0,g0 # check next character of string
+ b Lnext_char_strpbrk
+
+Lexit_char_not_found:
+ mov 0,g0 # return null if brkset char not found in string
+Lexit_char_found:
+ mov g14,g13 # save return address
+ lda 0,g14 # conform to register conventions
+ bx (g13)
+
+/* end of strpbrk */
diff --git a/newlib/libc/machine/i960/strrchr.S b/newlib/libc/machine/i960/strrchr.S
new file mode 100644
index 00000000000..96fe5c2690b
--- /dev/null
+++ b/newlib/libc/machine/i960/strrchr.S
@@ -0,0 +1,137 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 1993 Intel Corporation
+ *
+ * Intel hereby grants you permission to copy, modify, and distribute this
+ * software and its documentation. Intel grants this permission provided
+ * that the above copyright notice appears in all copies and that both the
+ * copyright notice and this permission notice appear in supporting
+ * documentation. In addition, Intel grants this permission provided that
+ * you prominently mark as "not part of the original" any modifications
+ * made to this software or documentation, and that the name of Intel
+ * Corporation not be used in advertising or publicity pertaining to
+ * distribution of the software or the documentation without specific,
+ * written prior permission.
+ *
+ * Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+ * IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+ * OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or
+ * representations regarding the use of, or the results of the use of,
+ * the software and documentation in terms of correctness, accuracy,
+ * reliability, currentness, or otherwise; and you rely on the software,
+ * documentation and results solely at your own risk.
+ *
+ * IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+ * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+ * OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+ * PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+ *
+ ******************************************************************************/
+
+ .file "strrchr.s"
+#ifdef __i960_BIG_ENDIAN__
+#error "This does not work in big-endian"
+#endif
+
+#ifdef __PIC
+ .pic
+#endif
+#ifdef __PID
+ .pid
+#endif
+
+/*
+ * (c) copyright 1988,1993 Intel Corp., all rights reserved
+ */
+
+/*
+ procedure strrchr (optimized assembler version for the 80960K series)
+
+ src_addr = strrchr (src_addr, char)
+
+ return a pointer to the last byte that contains the indicated
+ byte in the source string. Return null if the byte is not found.
+
+ Undefined behavior will occur if the end of the source string (i.e.
+ the terminating null byte) is in the last two words of the program's
+ allocated memory space. This is so because strrchr fetches ahead.
+ Disallowing the fetch ahead would impose a severe performance penalty.
+
+ Strategy:
+
+ Fetch the source string by words and scanbyte the words for the
+ char until either a word with the byte is found or the null byte is
+ encountered. In the former case, move through the word to find the
+ matching byte and save its memory address, then continue the search.
+ In the latter case, return the saved address, or zero (null) if none
+ was ever found to save.
+
+ Tactics:
+
+ 1) Do NOT try to fetch the words in a word aligned manner because,
+ in my judgement, the performance degradation experienced due to
+ non-aligned accesses does NOT outweigh the time and complexity added
+ by the preamble that would be necessary to assure alignment. This
+ is supported by the intuition that most source arrays (even more
+ true of most big source arrays) will be word aligned to begin with.
+*/
+
+ .globl _strrchr
+ .globl __strrchr
+ .leafproc _strrchr, __strrchr
+ .align 2
+_strrchr:
+#ifdef __PIC
+ lda Lrett-(.+8)(ip),g14
+#else
+ lda Lrett,g14
+#endif
+__strrchr:
+
+ ld (g0),g4 # fetch first word
+ lda 0xff,g7 # byte extraction mask
+ and g1,g7,g1 # make char an 8-bit ordinal
+ shlo 8,g1,g2 # broadcast the char to four bytes
+ or g1,g2,g2
+ shlo 16,g2,g5
+ or g2,g5,g3
+ mov g14,g13 # preserve return address
+ addo 4,g0,g2 # post-increment src pointer
+ mov 1,g0 # prepare to return null pointer
+ mov g3,g6 # prepare to return null pointer
+
+Lsearch_for_word_with_char_or_null:
+ mov g4,g5 # copy word
+ scanbyte 0,g5 # check for null byte
+ ld (g2),g4 # fetch next word of src
+ bo Lword_has_null # branch if null found
+ scanbyte g3,g5 # check for byte with char
+ addo 4,g2,g2 # post-increment src pointer
+ bno Lsearch_for_word_with_char_or_null # branch if no copy of char
+ mov g5,g6 # save word that has char in it (at least once)
+ subo 4,g2,g0 # save addr of byte after word with char
+ b Lsearch_for_word_with_char_or_null
+
+Lword_has_null:
+ subo 4,g2,g2 # move src pointer back to word with null
+Lfind_null:
+ addo 1,g2,g2 # advance src pointer to byte after current
+ and g7,g5,g14 # extract next byte
+ cmpo g1,g14 # is current byte char?
+ shro 8,g5,g5 # position next byte for extraction
+ bne 1f # skip if not char sought after
+ mov g2,g0 # save addr of byte after char
+ mov g3,g6 # save word of all char to short circuit search
+1: cmpobne 0,g14,Lfind_null # is current byte null?
+
+Lfind_last_char:
+ rotate 8,g6,g6 # position next highest byte
+ and g7,g6,g5 # extract byte
+ subo 1,g0,g0 # move pointer to that byte (or nullify)
+ cmpobne g5,g1,Lfind_last_char # branch if not at char
+
+ bx (g13) # g0 = addr of char in src (or null); g14 = 0
+Lrett:
+ ret
+
+/* end of strrchr */
diff --git a/newlib/libc/machine/m32r/Makefile.am b/newlib/libc/machine/m32r/Makefile.am
new file mode 100644
index 00000000000..1c65b9ffe90
--- /dev/null
+++ b/newlib/libc/machine/m32r/Makefile.am
@@ -0,0 +1,12 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/m32r/Makefile.in b/newlib/libc/machine/m32r/Makefile.in
new file mode 100644
index 00000000000..5414b185db9
--- /dev/null
+++ b/newlib/libc/machine/m32r/Makefile.in
@@ -0,0 +1,297 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = setjmp.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/m32r/aclocal.m4 b/newlib/libc/machine/m32r/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/m32r/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/m32r/configure b/newlib/libc/machine/m32r/configure
new file mode 100755
index 00000000000..b39571b6ae7
--- /dev/null
+++ b/newlib/libc/machine/m32r/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=setjmp.S
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/m32r/configure.in b/newlib/libc/machine/m32r/configure.in
new file mode 100644
index 00000000000..e53227db59e
--- /dev/null
+++ b/newlib/libc/machine/m32r/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/machine/m32r configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(setjmp.S)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/m32r/setjmp.S b/newlib/libc/machine/m32r/setjmp.S
new file mode 100644
index 00000000000..e6938efe34c
--- /dev/null
+++ b/newlib/libc/machine/m32r/setjmp.S
@@ -0,0 +1,52 @@
+# setjmp/longjmp for m32r. The jmpbuf looks like this:
+#
+# Register jmpbuf offset
+# reserved 0x00
+# R8 0x04
+# R9 0x08
+# R10 0x0c
+# R11 0x10
+# R12 0x14
+# R13 (FP) 0x18
+# R14 (LR) 0x1c
+# R15 (SP) 0x20
+# reserved 0x24
+
+ .text
+ .global setjmp
+setjmp:
+ ;addi r0, #-4 ; commented out as first word is reserved
+ ;st r1, @+r0
+ st r8, @+r0
+ st r9, @+r0
+ st r10, @+r0
+ st r11, @+r0
+ st r12, @+r0
+ st r13, @+r0
+ st r14, @+r0
+ st r15, @+r0
+
+# Return 0 to caller.
+ ldi r0, #0
+ jmp lr
+
+ .global longjmp
+longjmp:
+ addi r0, #4 ; first word is reserved
+ ;ld r1, @r0+
+ ld r8, @r0+
+ ld r9, @r0+
+ ld r10, @r0+
+ ld r11, @r0+
+ ld r12, @r0+
+ ld r13, @r0+
+ ld r2, @r0+ ; return address
+ ld r15, @r0+
+
+# If caller attempted to return 0, return 1 instead.
+
+ mv r0, r1
+ bnez r0, .Lnonzero
+ ldi r0, #1
+.Lnonzero:
+ jmp r2
diff --git a/newlib/libc/machine/m68k/Makefile.am b/newlib/libc/machine/m68k/Makefile.am
new file mode 100644
index 00000000000..62a2ef897af
--- /dev/null
+++ b/newlib/libc/machine/m68k/Makefile.am
@@ -0,0 +1,12 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S strcpy.c strlen.c
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/m68k/Makefile.in b/newlib/libc/machine/m68k/Makefile.in
new file mode 100644
index 00000000000..d21c0c733ed
--- /dev/null
+++ b/newlib/libc/machine/m68k/Makefile.in
@@ -0,0 +1,297 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S strcpy.c strlen.c
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = setjmp.o strcpy.o strlen.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/m68k/aclocal.m4 b/newlib/libc/machine/m68k/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/m68k/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/m68k/configure b/newlib/libc/machine/m68k/configure
new file mode 100755
index 00000000000..b39571b6ae7
--- /dev/null
+++ b/newlib/libc/machine/m68k/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=setjmp.S
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/m68k/configure.in b/newlib/libc/machine/m68k/configure.in
new file mode 100644
index 00000000000..628faed4d64
--- /dev/null
+++ b/newlib/libc/machine/m68k/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/machine/m68k configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(setjmp.S)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/m68k/setjmp.S b/newlib/libc/machine/m68k/setjmp.S
new file mode 100644
index 00000000000..02a02c4e1b1
--- /dev/null
+++ b/newlib/libc/machine/m68k/setjmp.S
@@ -0,0 +1,88 @@
+/* These are predefined by new versions of GNU cpp. */
+
+#ifndef __USER_LABEL_PREFIX__
+#define __USER_LABEL_PREFIX__ _
+#endif
+
+#ifndef __REGISTER_PREFIX__
+#define __REGISTER_PREFIX__
+#endif
+
+/* ANSI concatenation macros. */
+
+#define CONCAT1(a, b) CONCAT2(a, b)
+#define CONCAT2(a, b) a ## b
+
+/* Use the right prefix for global labels. */
+
+#define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x)
+
+/* Use the right prefix for registers. */
+
+#define REG(x) CONCAT1 (__REGISTER_PREFIX__, x)
+
+#define d0 REG (d0)
+#define d1 REG (d1)
+#define d2 REG (d2)
+#define d3 REG (d3)
+#define d4 REG (d4)
+#define d5 REG (d5)
+#define d6 REG (d6)
+#define d7 REG (d7)
+#define a0 REG (a0)
+#define a1 REG (a1)
+#define a2 REG (a2)
+#define a3 REG (a3)
+#define a4 REG (a4)
+#define a5 REG (a5)
+#define a6 REG (a6)
+#define fp REG (fp)
+#define sp REG (sp)
+
+.global SYM (setjmp)
+.global SYM (longjmp)
+
+SYM (setjmp):
+ moveal sp@(4),a0
+ movel sp@(0),a0@(12)
+ movel sp,a0@(8)
+ moveml d2-d7/a2-a6,a0@(20)
+ clrl d0
+ rts
+
+SYM (longjmp):
+ moveal sp@(4),a0
+ movel sp@(8),d0
+ bne 1f
+ movel &1,d0
+1:
+ moveml a0@(20),d2-d7/a2-a6
+ moveal a0@(8),sp
+ movel a0@(12),sp@
+ rts
+
+#ifdef M68881
+.global SYM (setjmp_68881)
+.global SYM (longjmp_68881)
+
+SYM (setjmp_68881):
+ moveal sp@(4),a0
+ movel sp@(0),a0@(12)
+ movel sp,a0@(8)
+ moveml d2-d7/a2-a6,a0@(20)
+ fmovemx fp2-fp7,a0@(64)
+ clrl d0
+ rts
+
+SYM (longjmp_68881):
+ moveal sp@(4),a0
+ fmovemx a0@(64),fp2-fp7
+ movel sp@(8),d0
+ bne 1f
+ movel &1,d0
+1:
+ moveml a0@(20),d2-d7/a2-a6
+ moveal a0@(8),sp
+ movel a0@(12),sp@
+ rts
+#endif
diff --git a/newlib/libc/machine/m68k/strcpy.c b/newlib/libc/machine/m68k/strcpy.c
new file mode 100644
index 00000000000..ccc914193d7
--- /dev/null
+++ b/newlib/libc/machine/m68k/strcpy.c
@@ -0,0 +1,36 @@
+/*
+ * C library strcpy routine
+ *
+ * This routine has been optimized for the CPU32+.
+ * It should run on all 68k machines.
+ *
+ * W. Eric Norum
+ * Saskatchewan Accelerator Laboratory
+ * University of Saskatchewan
+ * Saskatoon, Saskatchewan, CANADA
+ * eric@skatter.usask.ca
+ */
+
+#include <string.h>
+
+/*
+ * Copy bytes using CPU32+ loop mode if possible
+ */
+
+char *
+strcpy (char *to, const char *from)
+{
+ char *pto = to;
+ unsigned int n = 0xFFFF;
+
+ asm volatile ("1:\n"
+ "\tmove.b (%0)+,(%1)+\n"
+#if defined(__mcpu32__)
+ "\tdbeq %2,1b\n"
+#endif
+ "\tbne.b 1b\n" :
+ "=a" (from), "=a" (pto), "=d" (n) :
+ "0" (from), "1" (pto), "2" (n) :
+ "cc", "memory");
+ return to;
+}
diff --git a/newlib/libc/machine/m68k/strlen.c b/newlib/libc/machine/m68k/strlen.c
new file mode 100644
index 00000000000..589a697517b
--- /dev/null
+++ b/newlib/libc/machine/m68k/strlen.c
@@ -0,0 +1,35 @@
+/*
+ * C library strlen routine
+ *
+ * This routine has been optimized for the CPU32+.
+ * It should run on all 68k machines.
+ *
+ * W. Eric Norum
+ * Saskatchewan Accelerator Laboratory
+ * University of Saskatchewan
+ * Saskatoon, Saskatchewan, CANADA
+ * eric@skatter.usask.ca
+ */
+
+#include <string.h>
+
+/*
+ * Test bytes using CPU32+ loop mode if possible.
+ */
+size_t
+strlen (const char *str)
+{
+ unsigned int n = ~0;
+ const char *cp = str;
+
+ asm volatile ("1:\n"
+ "\ttst.b (%0)+\n"
+#if defined(__mcpu32__)
+ "\tdbeq %1,1b\n"
+#endif
+ "\tbne.b 1b\n" :
+ "=a" (cp), "=d" (n) :
+ "0" (cp), "1" (n) :
+ "cc");
+ return (cp - str) - 1;
+}
diff --git a/newlib/libc/machine/m88k/Makefile.am b/newlib/libc/machine/m88k/Makefile.am
new file mode 100644
index 00000000000..1c65b9ffe90
--- /dev/null
+++ b/newlib/libc/machine/m88k/Makefile.am
@@ -0,0 +1,12 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/m88k/Makefile.in b/newlib/libc/machine/m88k/Makefile.in
new file mode 100644
index 00000000000..5414b185db9
--- /dev/null
+++ b/newlib/libc/machine/m88k/Makefile.in
@@ -0,0 +1,297 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = setjmp.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/m88k/aclocal.m4 b/newlib/libc/machine/m88k/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/m88k/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/m88k/configure b/newlib/libc/machine/m88k/configure
new file mode 100755
index 00000000000..b39571b6ae7
--- /dev/null
+++ b/newlib/libc/machine/m88k/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=setjmp.S
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/m88k/configure.in b/newlib/libc/machine/m88k/configure.in
new file mode 100644
index 00000000000..d78864a39fc
--- /dev/null
+++ b/newlib/libc/machine/m88k/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/machine/m88k configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(setjmp.S)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/m88k/setjmp.S b/newlib/libc/machine/m88k/setjmp.S
new file mode 100644
index 00000000000..24d44b6b10f
--- /dev/null
+++ b/newlib/libc/machine/m88k/setjmp.S
@@ -0,0 +1,48 @@
+/* This is a simple version of setjmp and longjmp.
+
+ Ian Lance Taylor, Cygnus Support, 15 July 1993. */
+
+/* We need to save the address of the return instruction, which is in
+ r1, as well as general register r14 through r25. If we are
+ compiling for the 88110 with the extended register file, we also
+ need to save registers x22 through x29. The jmp_buf should be 52
+ bytes long in the one case, 84 bytes in the other. */
+
+/* int setjmp (jmp_buf); */
+ globl _setjmp
+_setjmp:
+ st r1,r2,0
+ st.d r14,r2,4
+ st.d r16,r2,12
+ st.d r18,r2,20
+ st.d r20,r2,28
+ st.d r22,r2,36
+ st.d r24,r2,44
+#ifdef __m88110__
+ /* These instructions are just a guess, and gas doesn't
+ support them anyhow. */
+ st.d x22,r2,52
+ st.d x24,r2,60
+ st.d x26,r2,68
+ st.d x28,r2,76
+#endif
+ jmp r1
+
+ global _longjmp
+_longjmp:
+ ld r1,r2,0
+ ld.d r14,r2,4
+ ld.d r16,r2,12
+ ld.d r18,r2,20
+ ld.d r20,r2,28
+ ld.d r22,r2,36
+ ld.d r24,r2,44
+#ifdef __m88110__
+ /* These instructions are just a guess, and gas doesn't
+ support them anyhow. */
+ ld.d x22,r2,52
+ ld.d x24,r2,60
+ ld.d x26,r2,68
+ ld.d x28,r2,76
+#endif
+ jmp r1
diff --git a/newlib/libc/machine/mips/Makefile.am b/newlib/libc/machine/mips/Makefile.am
new file mode 100644
index 00000000000..1c65b9ffe90
--- /dev/null
+++ b/newlib/libc/machine/mips/Makefile.am
@@ -0,0 +1,12 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/mips/Makefile.in b/newlib/libc/machine/mips/Makefile.in
new file mode 100644
index 00000000000..5414b185db9
--- /dev/null
+++ b/newlib/libc/machine/mips/Makefile.in
@@ -0,0 +1,297 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = setjmp.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/mips/aclocal.m4 b/newlib/libc/machine/mips/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/mips/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/mips/configure b/newlib/libc/machine/mips/configure
new file mode 100755
index 00000000000..b39571b6ae7
--- /dev/null
+++ b/newlib/libc/machine/mips/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=setjmp.S
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/mips/configure.in b/newlib/libc/machine/mips/configure.in
new file mode 100644
index 00000000000..64d4855db78
--- /dev/null
+++ b/newlib/libc/machine/mips/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/machine/mips configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(setjmp.S)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/mips/machine/regdef.h b/newlib/libc/machine/mips/machine/regdef.h
new file mode 100644
index 00000000000..3906de6f403
--- /dev/null
+++ b/newlib/libc/machine/mips/machine/regdef.h
@@ -0,0 +1,38 @@
+/* regdef.h -- define MIPS register names. */
+
+#ifndef mips_regdef_h
+
+#define zero $0
+#define v0 $2
+#define v1 $3
+#define a0 $4
+#define a1 $5
+#define a2 $6
+#define a3 $7
+#define t0 $8
+#define t1 $9
+#define t2 $10
+#define t3 $11
+#define t4 $12
+#define t5 $13
+#define t6 $14
+#define t7 $15
+#define s0 $16
+#define s1 $17
+#define s2 $18
+#define s3 $19
+#define s4 $20
+#define s5 $21
+#define s6 $22
+#define s7 $23
+#define t8 $24
+#define t9 $25
+#define k0 $26
+#define k1 $27
+#define gp $gp
+#define sp $sp
+#define s8 $30
+#define ra $31
+#define pc $pc
+
+#endif /* mips_regdef_h */
diff --git a/newlib/libc/machine/mips/setjmp.S b/newlib/libc/machine/mips/setjmp.S
new file mode 100644
index 00000000000..8ffda41a651
--- /dev/null
+++ b/newlib/libc/machine/mips/setjmp.S
@@ -0,0 +1,65 @@
+/* This is a simple version of setjmp and longjmp.
+
+ This version does NOT save the floating point register, which is
+ wrong, but I don't know how to cleanly handle machines without a
+ floating point coprocessor.
+
+ Ian Lance Taylor, Cygnus Support, 13 May 1993. */
+
+#ifdef __mips16
+/* This file contains 32 bit assembly code. */
+ .set nomips16
+#endif
+
+/* int setjmp (jmp_buf); */
+ .globl setjmp
+ .ent setjmp
+setjmp:
+ .frame $sp,0,$31
+
+ sw $16,0($4) /* $s0 */
+ sw $17,4($4) /* $s1 */
+ sw $18,8($4) /* $s2 */
+ sw $19,12($4) /* $s3 */
+ sw $20,16($4) /* $s4 */
+ sw $21,20($4) /* $s5 */
+ sw $22,24($4) /* $s6 */
+ sw $23,28($4) /* $s7 */
+ sw $30,32($4) /* $s8 */
+
+ sw $sp,36($4)
+ sw $31,40($4)
+
+ move $2,$0
+
+ j $31
+
+ .end setjmp
+
+/* volatile void longjmp (jmp_buf, int); */
+ .globl longjmp
+ .ent longjmp
+longjmp:
+ .frame $sp,0,$31
+
+ lw $16,0($4) /* $s0 */
+ lw $17,4($4) /* $s1 */
+ lw $18,8($4) /* $s2 */
+ lw $19,12($4) /* $s3 */
+ lw $20,16($4) /* $s4 */
+ lw $21,20($4) /* $s5 */
+ lw $22,24($4) /* $s6 */
+ lw $23,28($4) /* $s7 */
+ lw $30,32($4) /* $s8 */
+
+ lw $sp,36($4)
+ lw $31,40($4)
+
+ bne $5,$0,1f
+ li $5,1
+1:
+ move $2,$5
+
+ j $31
+
+ .end longjmp
diff --git a/newlib/libc/machine/mn10200/Makefile.am b/newlib/libc/machine/mn10200/Makefile.am
new file mode 100644
index 00000000000..1c65b9ffe90
--- /dev/null
+++ b/newlib/libc/machine/mn10200/Makefile.am
@@ -0,0 +1,12 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/mn10200/Makefile.in b/newlib/libc/machine/mn10200/Makefile.in
new file mode 100644
index 00000000000..5414b185db9
--- /dev/null
+++ b/newlib/libc/machine/mn10200/Makefile.in
@@ -0,0 +1,297 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = setjmp.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/mn10200/aclocal.m4 b/newlib/libc/machine/mn10200/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/mn10200/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/mn10200/configure b/newlib/libc/machine/mn10200/configure
new file mode 100755
index 00000000000..b39571b6ae7
--- /dev/null
+++ b/newlib/libc/machine/mn10200/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=setjmp.S
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/mn10200/configure.in b/newlib/libc/machine/mn10200/configure.in
new file mode 100644
index 00000000000..a6ef29e09fa
--- /dev/null
+++ b/newlib/libc/machine/mn10200/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/machine/mn10200 configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(setjmp.S)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/mn10200/setjmp.S b/newlib/libc/machine/mn10200/setjmp.S
new file mode 100644
index 00000000000..f0036b12017
--- /dev/null
+++ b/newlib/libc/machine/mn10200/setjmp.S
@@ -0,0 +1,33 @@
+ .file "setjmp.S"
+
+ .section .text
+ .align 1
+ .global _setjmp
+_setjmp:
+ mov d0,a0
+ movx d2,(0,a0)
+ movx d3,(4,a0)
+ mov a1,(8,a0)
+ mov a2,(12,a0)
+ mov a3,(16,a0)
+ movx (0,a3),d0
+ movx d0,(20,a0)
+ sub d0,d0
+ rts
+
+ .global _longjmp
+_longjmp:
+ mov d0,a0
+ movx (0,a0),d2
+ movx (4,a0),d3
+ mov (8,a0),a1
+ mov (12,a0),a2
+ mov (16,a0),a3
+ movx (20,a0),d0
+ movx d0,(0,a3)
+ cmp 0,d1
+ bne L1
+ mov 1,d1
+L1:
+ mov d1,d0
+ rts
diff --git a/newlib/libc/machine/mn10300/Makefile.am b/newlib/libc/machine/mn10300/Makefile.am
new file mode 100644
index 00000000000..cf04c3ab98a
--- /dev/null
+++ b/newlib/libc/machine/mn10300/Makefile.am
@@ -0,0 +1,13 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S memchr.S memcmp.S memcpy.S memset.S strchr.S \
+ strcmp.S strcpy.S strlen.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/mn10300/Makefile.in b/newlib/libc/machine/mn10300/Makefile.in
new file mode 100644
index 00000000000..40311b712f7
--- /dev/null
+++ b/newlib/libc/machine/mn10300/Makefile.in
@@ -0,0 +1,321 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S memchr.S memcmp.S memcpy.S memset.S strchr.S \
+ strcmp.S strcpy.S strlen.S
+
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = setjmp.o memchr.o memcmp.o memcpy.o memset.o strchr.o \
+strcmp.o strcpy.o strlen.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in \
+ ../../../acinclude.m4 ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @banner="$(distdir).tar.gz is ready for distribution"; \
+ dashes=`echo "$$banner" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ echo "$$dashes"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am:
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-info-am:
+install-info: install-info-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am:
+uninstall: uninstall-am
+all-am: Makefile $(LIBRARIES)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-noinstLIBRARIES distclean-compile \
+ distclean-tags distclean-generic clean-am
+
+distclean: distclean-am
+ -rm -f config.status
+
+maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-info-am install-info \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/mn10300/aclocal.m4 b/newlib/libc/machine/mn10300/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/mn10300/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/mn10300/configure b/newlib/libc/machine/mn10300/configure
new file mode 100755
index 00000000000..5377ef3aa2c
--- /dev/null
+++ b/newlib/libc/machine/mn10300/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=memchr.S
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/mn10300/configure.in b/newlib/libc/machine/mn10300/configure.in
new file mode 100644
index 00000000000..6db49415803
--- /dev/null
+++ b/newlib/libc/machine/mn10300/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/machine/mn10300 configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(memchr.S)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/mn10300/memchr.S b/newlib/libc/machine/mn10300/memchr.S
new file mode 100644
index 00000000000..4a808f9c656
--- /dev/null
+++ b/newlib/libc/machine/mn10300/memchr.S
@@ -0,0 +1,76 @@
+ .file "memchr.S"
+
+ .section .text
+ .global _memchr
+ .type _memchr,@function
+_memchr:
+ movm [d2,d3,a2,a3],(sp)
+ mov d0,a0
+ mov d1,d2
+ mov (28,sp),a1
+#ifndef __OPTIMIZE_SIZE__
+ cmp 3,a1
+ bls .L44
+ mov a0,d3
+ btst 3,d3
+ bne .L44
+ mov a0,a2
+ mov 0,a3
+ clr d1
+.L29:
+ setlb
+ mov a3,d0
+ asl 8,d0
+ mov d2,a3
+ add d0,a3
+ inc d1
+ cmp 3,d1
+ lls
+ cmp 3,a1
+ bls .L48
+.L33:
+ mov (a2),d0
+ mov a3,d3
+ xor d3,d0
+ mov d0,d1
+ not d1
+ add -16843009,d0
+ and d1,d0
+ btst -2139062144,d0
+ beq .L34
+ mov a2,a0
+ clr d1
+.L38:
+ setlb
+ movbu (a0),d0
+ cmp d2,d0
+ beq .L47
+ inc a0
+ inc d1
+ cmp 3,d1
+ lls
+.L34:
+ add -4,a1
+ inc4 a2
+ cmp 3,a1
+ bhi .L33
+.L48:
+ mov a2,a0
+#endif
+.L44:
+ cmp 0,a1
+ beq .L50
+.L49:
+ setlb
+ movbu (a0),d0
+ cmp d2,d0
+ beq .L47
+ inc a0
+ sub 1,a1
+ lne
+.L50:
+ mov 0,a0
+.L47:
+ ret [d2,d3,a2,a3],16
+.Lfe1:
+ .size _memchr,.Lfe1-_memchr
diff --git a/newlib/libc/machine/mn10300/memcmp.S b/newlib/libc/machine/mn10300/memcmp.S
new file mode 100644
index 00000000000..41774892b3c
--- /dev/null
+++ b/newlib/libc/machine/mn10300/memcmp.S
@@ -0,0 +1,53 @@
+ .file "memcmp.S"
+
+ .section .text
+ .global _memcmp
+ .type _memcmp,@function
+_memcmp:
+ movm [d2,d3,a2,a3],(sp)
+ mov d0,a0
+ mov d1,a1
+ mov (28,sp),a2
+#ifndef __OPTIMIZE_SIZE__
+ cmp 3,a2
+ bls .L22
+ mov a1,d2
+ or d2,d0
+ btst 3,d0
+ bne .L22
+.L17:
+ setlb
+ mov (a0),d1
+ mov (a1),d0
+ cmp d0,d1
+ bne .L22
+ inc4 a0
+ inc4 a1
+ add -4,a2
+ cmp 3,a2
+ lhi
+#endif
+.L22:
+ cmp 0,a2
+ beq .L24
+.L18:
+ setlb
+ movbu (a0),d3
+ movbu (a1),d2
+ cmp d2,d3
+ beq .L23
+ mov d3,d0
+ sub d2,d0
+ jmp .L25
+.L23:
+ inc a0
+ inc a1
+.L26:
+ sub 1,a2
+ lne
+.L24:
+ clr d0
+.L25:
+ ret [d2,d3,a2,a3],16
+.Lfe1:
+ .size _memcmp,.Lfe1-_memcmp
diff --git a/newlib/libc/machine/mn10300/memcpy.S b/newlib/libc/machine/mn10300/memcpy.S
new file mode 100644
index 00000000000..da4a21e3050
--- /dev/null
+++ b/newlib/libc/machine/mn10300/memcpy.S
@@ -0,0 +1,68 @@
+ .file "memcpy.S"
+
+ .section .text
+ .global _memcpy
+ .type _memcpy,@function
+_memcpy:
+ movm [d2,d3,a2,a3],(sp)
+ mov d0,d2
+ mov d1,a0
+ mov d2,a1
+ mov (28,sp),d1
+#ifndef __OPTIMIZE_SIZE__
+ mov a0,d0
+ or d2,d0
+ btst 3,d0
+ bne .L37
+ cmp 15,d1
+ bls .L34
+.L29:
+ setlb
+ mov (a0),d0
+ mov d0,(a1)
+ inc4 a0
+ inc4 a1
+ mov (a0),d0
+ mov d0,(a1)
+ inc4 a0
+ inc4 a1
+ mov (a0),d0
+ mov d0,(a1)
+ inc4 a0
+ inc4 a1
+ mov (a0),d0
+ mov d0,(a1)
+ inc4 a0
+ inc4 a1
+ add -16,d1
+ cmp 15,d1
+ lhi
+.L34:
+ cmp 3,d1
+ bls .L37
+.L33:
+ setlb
+ mov (a0),d0
+ mov d0,(a1)
+ inc4 a0
+ inc4 a1
+ add -4,d1
+ cmp 3,d1
+ lhi
+#endif
+.L37:
+ cmp 0,d1
+ beq .L36
+.L38:
+ setlb
+ movbu (a0),d0
+ movbu d0,(a1)
+ inc a0
+ inc a1
+ sub 1,d1
+ lne
+.L36:
+ mov d2,a0
+ ret [d2,d3,a2,a3],16
+.Lfe1:
+ .size _memcpy,.Lfe1-_memcpy
diff --git a/newlib/libc/machine/mn10300/memset.S b/newlib/libc/machine/mn10300/memset.S
new file mode 100644
index 00000000000..65b2ff53bb3
--- /dev/null
+++ b/newlib/libc/machine/mn10300/memset.S
@@ -0,0 +1,63 @@
+ .file "memset.S"
+
+ .section .text
+ .global _memset
+ .type _memset,@function
+_memset:
+ movm [d2,d3,a2,a3],(sp)
+ mov d0,d3
+ mov d1,d2
+ mov (28,sp),a1
+ mov d3,a0
+#ifndef __OPTIMIZE_SIZE__
+ cmp 3,a1
+ bls .L41
+ btst 3,d3
+ bne .L41
+ extbu d2
+ mov d2,d1
+ asl 8,d1
+ or d2,d1
+ mov d1,d0
+ asl 16,d0
+ or d0,d1
+ cmp 15,a1
+ bls .L36
+.L33:
+ setlb
+ mov d1,(a0)
+ inc4 a0
+ mov d1,(a0)
+ inc4 a0
+ mov d1,(a0)
+ inc4 a0
+ mov d1,(a0)
+ inc4 a0
+ add -16,a1
+ cmp 15,a1
+ lhi
+.L36:
+ cmp 3,a1
+ bls .L41
+.L37:
+ setlb
+ mov d1,(a0)
+ inc4 a0
+ add -4,a1
+ cmp 3,a1
+ lhi
+#endif
+.L41:
+ cmp 0,a1
+ beq .L47
+.L46:
+ setlb
+ movbu d2,(a0)
+ inc a0
+ sub 1,a1
+ lne
+.L47:
+ mov d3,a0
+ ret [d2,d3,a2,a3],16
+.Lfe1:
+ .size _memset,.Lfe1-_memset
diff --git a/newlib/libc/machine/mn10300/setjmp.S b/newlib/libc/machine/mn10300/setjmp.S
new file mode 100644
index 00000000000..006aa3e1cc0
--- /dev/null
+++ b/newlib/libc/machine/mn10300/setjmp.S
@@ -0,0 +1,50 @@
+ .file "setjmp.S"
+
+ .section .text
+ .align 1
+ .global _setjmp
+#ifdef __AM33__
+ .am33
+#endif
+_setjmp:
+ mov d0,a0
+ mov d2,(0,a0)
+ mov d3,(4,a0)
+ mov mdr,d1
+ mov d1,(8,a0)
+ mov a2,(12,a0)
+ mov a3,(16,a0)
+ mov sp,a1
+ mov a1,(20,a0)
+#ifdef __AM33__
+ mov r4,(24,a0)
+ mov r5,(28,a0)
+ mov r6,(32,a0)
+ mov r7,(36,a0)
+#endif
+ sub d0,d0
+ rets
+
+ .global _longjmp
+_longjmp:
+ mov d0,a0
+ mov (8,a0),d2
+ mov d2,mdr
+ mov (0,a0),d2
+ mov (4,a0),d3
+ mov (12,a0),a2
+ mov (16,a0),a3
+ mov (20,a0),a1
+ mov a1,sp
+#ifdef __AM33__
+ mov (24,a0),r4
+ mov (28,a0),r5
+ mov (32,a0),r6
+ mov (36,a0),r7
+#endif
+ cmp 0,d1
+ bne L1
+ mov 1,d1
+L1:
+ mov d1,d0
+ retf [],0
diff --git a/newlib/libc/machine/mn10300/strchr.S b/newlib/libc/machine/mn10300/strchr.S
new file mode 100644
index 00000000000..aa4799091c4
--- /dev/null
+++ b/newlib/libc/machine/mn10300/strchr.S
@@ -0,0 +1,88 @@
+ .file "strchr.S"
+
+ .section .text
+ .global _strchr
+ .type _strchr,@function
+_strchr:
+ movm [d2,d3,a2,a3],(sp)
+ add -12,sp
+ mov d0,a1
+ movbu d1,(7,sp)
+#ifndef __OPTIMIZE_SIZE__
+ btst 3,d0
+ bne .L20
+ clr d0
+.L24:
+ setlb
+ mov sp,a2
+ mov d0,d3
+ add d3,a2
+ mov a2,a0
+ add 12,a0
+ movbu (7,sp),d3
+ movbu d3,(-4,a0)
+ inc d0
+ cmp 3,d0
+ lls
+ mov a1,a0
+ mov -16843009,a1
+ mov (a0),d2
+ mov a1,d1
+ add d2,d1
+ mov d2,d0
+ not d0
+ and d0,d1
+ mov -2139062144,d3
+ mov d3,(0,sp)
+ btst -2139062144,d1
+ bne .L27
+ jmp .L38
+.L28:
+ inc4 a0
+ mov (a0),d2
+ mov a1,d1
+ add d2,d1
+ mov d2,d0
+ not d0
+ and d0,d1
+ mov (0,sp),d3
+ and d3,d1
+ bne .L27
+.L38:
+ mov (8,sp),d0
+ xor d2,d0
+ mov a1,d1
+ add d0,d1
+ not d0
+ and d0,d1
+ and d3,d1
+ beq .L28
+.L27:
+ mov a0,a1
+#endif
+.L20:
+ movbu (a1),d0
+ cmp 0,d0
+ beq .L32
+ movbu (7,sp),d1
+.L35:
+ setlb
+ cmp d1,d0
+ beq .L36
+ inc a1
+ movbu (a1),d0
+ cmp 0,d0
+ lne
+.L32:
+ movbu (7,sp),d0
+ movbu (a1),d3
+ cmp d0,d3
+ beq .L36
+ mov 0,a0
+ jmp .L37
+.L36:
+ mov a1,a0
+.L37:
+ ret [d2,d3,a2,a3],28
+.Lfe1:
+ .size _strchr,.Lfe1-_strchr
diff --git a/newlib/libc/machine/mn10300/strcmp.S b/newlib/libc/machine/mn10300/strcmp.S
new file mode 100644
index 00000000000..8aee9688ae8
--- /dev/null
+++ b/newlib/libc/machine/mn10300/strcmp.S
@@ -0,0 +1,54 @@
+ .file "strcmp.S"
+
+ .section .text
+ .global _strcmp
+ .type _strcmp,@function
+_strcmp:
+ movm [d2,d3,a2,a3],(sp)
+ mov d0,a0
+ mov d1,a1
+#ifndef __OPTIMIZE_SIZE__
+ or d1,d0
+ btst 3,d0
+ bne .L11
+ mov (a0),d1
+ mov (a1),d0
+ cmp d0,d1
+ bne .L11
+ mov -16843009,d3
+.L5:
+ setlb
+ mov (a0),d0
+ mov d3,d1
+ add d0,d1
+ not d0
+ and d0,d1
+ and -2139062144,d1
+ beq .L6
+ clr d0
+ jmp .L13
+.L6:
+ inc4 a0
+ inc4 a1
+ mov (a0),d1
+ mov (a1),d0
+ cmp d0,d1
+ leq
+#endif
+.L11:
+ setlb
+ movbu (a1),d2
+ movbu (a0),d0
+ cmp 0,d0
+ beq .L9
+ cmp d2,d0
+ bne .L9
+ inc a0
+ inc a1
+ lra
+.L9:
+ sub d2,d0
+.L13:
+ ret [d2,d3,a2,a3],16
+.Lfe1:
+ .size _strcmp,.Lfe1-_strcmp
diff --git a/newlib/libc/machine/mn10300/strcpy.S b/newlib/libc/machine/mn10300/strcpy.S
new file mode 100644
index 00000000000..d73d06f33e3
--- /dev/null
+++ b/newlib/libc/machine/mn10300/strcpy.S
@@ -0,0 +1,51 @@
+ .file "strcpy.S"
+
+ .section .text
+ .global _strcpy
+ .type _strcpy,@function
+_strcpy:
+ movm [d2,d3,a2,a3],(sp)
+ mov d0,d3
+ mov d1,a0
+ mov d3,a1
+ mov a0,d0
+#ifndef __OPTIMIZE_SIZE__
+ or d3,d0
+ btst 3,d0
+ bne .L2
+ mov (a0),d0
+ mov -16843009,a2
+ mov a2,d1
+ add d0,d1
+ not d0
+ and d0,d1
+ mov -2139062144,d2
+ btst -2139062144,d1
+ bne .L2
+.L5:
+ setlb
+ mov (a0),d0
+ mov d0,(a1)
+ inc4 a0
+ inc4 a1
+ mov (a0),d0
+ mov a2,d1
+ add d0,d1
+ not d0
+ and d0,d1
+ and d2,d1
+ leq
+#endif
+.L2:
+.L7:
+ setlb
+ movbu (a0),d0
+ movbu d0,(a1)
+ inc a0
+ inc a1
+ cmp 0,d0
+ lne
+ mov d3,a0
+ ret [d2,d3,a2,a3],16
+.Lfe1:
+ .size _strcpy,.Lfe1-_strcpy
diff --git a/newlib/libc/machine/mn10300/strlen.S b/newlib/libc/machine/mn10300/strlen.S
new file mode 100644
index 00000000000..91e88dd7368
--- /dev/null
+++ b/newlib/libc/machine/mn10300/strlen.S
@@ -0,0 +1,44 @@
+ .file "strlen.S"
+
+ .section .text
+ .global _strlen
+ .type _strlen,@function
+_strlen:
+ movm [d2,d3,a2,a3],(sp)
+ mov d0,a0
+ mov a0,a2
+#ifndef __OPTIMIZE_SIZE__
+ btst 3,d0
+ bne .L21
+ mov (a0),d0
+ mov -16843009,a1
+ mov a1,d1
+ add d0,d1
+ not d0
+ and d0,d1
+ mov -2139062144,d2
+ btst -2139062144,d1
+ bne .L21
+.L15:
+ setlb
+ inc4 a0
+ mov (a0),d0
+ mov a1,d1
+ add d0,d1
+ not d0
+ and d0,d1
+ and d2,d1
+ leq
+ jmp .L21
+#endif
+.L19:
+ inc a0
+.L21:
+ movbu (a0),d3
+ cmp 0,d3
+ bne .L19
+ sub a2,a0
+ mov a0,d0
+ ret [d2,d3,a2,a3],16
+.Lfe1:
+ .size _strlen,.Lfe1-_strlen
diff --git a/newlib/libc/machine/necv70/Makefile.am b/newlib/libc/machine/necv70/Makefile.am
new file mode 100644
index 00000000000..18cbcf70650
--- /dev/null
+++ b/newlib/libc/machine/necv70/Makefile.am
@@ -0,0 +1,12 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = fastmath.s setjmp.s
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/necv70/Makefile.in b/newlib/libc/machine/necv70/Makefile.in
new file mode 100644
index 00000000000..6c4cb6d4c4c
--- /dev/null
+++ b/newlib/libc/machine/necv70/Makefile.in
@@ -0,0 +1,297 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = fastmath.s setjmp.s
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = fastmath.o setjmp.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/necv70/aclocal.m4 b/newlib/libc/machine/necv70/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/necv70/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/necv70/configure b/newlib/libc/machine/necv70/configure
new file mode 100755
index 00000000000..7f8474fd1e1
--- /dev/null
+++ b/newlib/libc/machine/necv70/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=fastmath.s
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/necv70/configure.in b/newlib/libc/machine/necv70/configure.in
new file mode 100644
index 00000000000..1374322eebd
--- /dev/null
+++ b/newlib/libc/machine/necv70/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/machine/necv70 configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(fastmath.s)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/necv70/fastmath.s b/newlib/libc/machine/necv70/fastmath.s
new file mode 100644
index 00000000000..bccb20f12cf
--- /dev/null
+++ b/newlib/libc/machine/necv70/fastmath.s
@@ -0,0 +1,251 @@
+ .globl _fast_sin
+_fast_sin:
+ fsin.l [ap],[ap]
+ mov.d [ap],r0
+ ret #0
+
+
+ .globl _fast_sinf
+_fast_sinf:
+ fsin.s [ap],[ap]
+ mov.w [ap],r0
+ ret #0
+
+
+ .globl _fast_cos
+_fast_cos:
+ fcos.l [ap],[ap]
+ mov.d [ap],r0
+ ret #0
+
+
+ .globl _fast_cosf
+_fast_cosf:
+ fcos.s [ap],[ap]
+ mov.w [ap],r0
+ ret #0
+
+
+ .globl _fast_tan
+_fast_tan:
+ ftan.l [ap],[ap]
+ mov.d [ap],r0
+ ret #0
+
+
+ .globl _fast_tanf
+_fast_tanf:
+ ftan.s [ap],[ap]
+ mov.w [ap],r0
+ ret #0
+
+
+
+ .globl _fast_fabs
+_fast_fabs:
+ fabs.l [ap],[ap]
+ mov.d [ap],r0
+ ret #0
+
+
+ .globl _fast_fabsf
+_fast_fabsf:
+ fabs.s [ap],[ap]
+ mov.w [ap],r0
+ ret #0
+
+
+ .globl _fast_sqrt
+_fast_sqrt:
+ fsqrt.l [ap],[ap]
+ mov.d [ap],r0
+ ret #0
+
+
+ .globl _fast_sqrtf
+_fast_sqrtf:
+ fsqrt.s [ap],[ap]
+ mov.w [ap],r0
+ ret #0
+
+
+ .globl _fast_acos
+_fast_acos:
+ facos.l [ap],[ap]
+ mov.d [ap],r0
+ ret #0
+
+
+ .globl _fast_acosf
+_fast_acosf:
+ facos.s [ap],[ap]
+ mov.w [ap],r0
+ ret #0
+
+
+ .globl _fast_asin
+_fast_asin:
+ fasin.l [ap],[ap]
+ mov.d [ap],r0
+ ret #0
+
+
+ .globl _fast_asinf
+_fast_asinf:
+ fasin.s [ap],[ap]
+ mov.w [ap],r0
+ ret #0
+
+
+ .globl _fast_atan
+_fast_atan:
+ fatan.l [ap],[ap]
+ mov.d [ap],r0
+ ret #0
+
+
+ .globl _fast_atanf
+_fast_atanf:
+ fatan.s [ap],[ap]
+ mov.w [ap],r0
+ ret #0
+
+
+ .globl _fast_cosh
+_fast_cosh:
+ fcosh.l [ap],[ap]
+ mov.d [ap],r0
+ ret #0
+
+
+ .globl _fast_coshf
+_fast_coshf:
+ fcosh.s [ap],[ap]
+ mov.w [ap],r0
+ ret #0
+
+
+ .globl _fast_sinh
+_fast_sinh:
+ fsin.l [ap],[ap]
+ mov.d [ap],r0
+ ret #0
+
+
+ .globl _fast_sinhf
+_fast_sinhf:
+ fsin.s [ap],[ap]
+ mov.w [ap],r0
+ ret #0
+
+
+ .globl _fast_tanh
+_fast_tanh:
+ ftanh.l [ap],[ap]
+ mov.d [ap],r0
+ ret #0
+
+
+ .globl _fast_tanhf
+_fast_tanhf:
+ ftanh.s [ap],[ap]
+ mov.w [ap],r0
+ ret #0
+
+
+ .globl _fast_atanh
+_fast_atanh:
+ fatanh.l [ap],[ap]
+ mov.d [ap],r0
+ ret #0
+
+
+ .globl _fast_atanhf
+_fast_atanhf:
+ fatanh.s [ap],[ap]
+ mov.w [ap],r0
+ ret #0
+
+ .globl _fast_exp2
+_fast_exp2:
+ fexp2.l [ap],[ap]
+ mov.d [ap],r0
+ ret #0
+
+
+ .globl _fast_exp2f
+_fast_exp2f:
+ fexp2.s [ap],[ap]
+ mov.w [ap],r0
+ ret #0
+
+
+ .globl _fast_exp10
+_fast_exp10:
+ fexp10.l [ap],[ap]
+ mov.d [ap],r0
+ ret #0
+
+
+ .globl _fast_exp10f
+_fast_exp10f:
+ fexp10.s [ap],[ap]
+ mov.w [ap],r0
+ ret #0
+
+
+ .globl _fast_expe
+_fast_expe:
+ fexpe.l [ap],[ap]
+ mov.d [ap],r0
+ ret #0
+
+
+ .globl _fast_expef
+_fast_expef:
+ fexpe.s [ap],[ap]
+ mov.w [ap],r0
+ ret #0
+
+
+ .globl _fast_log2
+_fast_log2:
+ flog2.l [ap],[ap]
+ mov.d [ap],r0
+ ret #0
+
+
+ .globl _fast_log2f
+_fast_log2f:
+ flog2.s [ap],[ap]
+ mov.w [ap],r0
+ ret #0
+
+ .globl _fast_log10
+_fast_log10:
+ flog10.l [ap],[ap]
+ mov.d [ap],r0
+ ret #0
+
+
+ .globl _fast_log10f
+_fast_log10f:
+ flog10.s [ap],[ap]
+ mov.w [ap],r0
+ ret #0
+
+
+ .globl _fast_loge
+_fast_loge:
+ floge.l [ap],[ap]
+ mov.d [ap],r0
+ ret #0
+
+
+ .globl _fast_logef
+_fast_logef:
+ floge.s [ap],[ap]
+ mov.w [ap],r0
+ ret #0
+
+
diff --git a/newlib/libc/machine/necv70/machine/registers.h b/newlib/libc/machine/necv70/machine/registers.h
new file mode 100644
index 00000000000..9f02ed30c93
--- /dev/null
+++ b/newlib/libc/machine/necv70/machine/registers.h
@@ -0,0 +1,14 @@
+
+
+typedef struct
+{
+ int fp_rounding:2; /* fp rounding control */
+ int integer_rounding:1; /* integer rounding */
+ int rfu:1; /* reserved */
+ int fp_trap:5; /* floating point trap bits */
+ int otm:1;
+ int rfu2:3;
+ int att:3;
+ int rfu3:16;
+} v60_tkcw_type;
+
diff --git a/newlib/libc/machine/necv70/necv70.tex b/newlib/libc/machine/necv70/necv70.tex
new file mode 100644
index 00000000000..be5397f4409
--- /dev/null
+++ b/newlib/libc/machine/necv70/necv70.tex
@@ -0,0 +1,99 @@
+@node machine,,syscalls,Top
+@chapter NEC V70 Specific Functions
+
+The NEC V70 has machine instructions for fast IEEE floating point,
+including operations normally provided by the library.
+
+When you use the @file{/usr/include/fastmath.h} header file, the
+names of several library math functions are redefined to call the
+@code{fastmath} routine (using the corresponding V70 machine instructions)
+whenever possible.
+
+For example,
+@example
+
+#include <fastmath.h>
+
+double sqsin(x)
+double x;
+@{
+ return sin(x*x);
+@}
+
+@end example
+expands into the code
+@example
+
+@dots{}
+double sqsin(x)
+double x;
+@{
+ return fast_sin(x*x);
+@}
+
+@end example
+
+The library has an entry @code{fast_sin} which uses the machine
+instruction @code{fsin.l} to perform the operation. Note that the
+built-in instructions cannot call @code{matherr} or set @code{errno}
+in the same way that the C coded functions do. Refer to a V70
+instruction manual to see how errors are generated and handled.
+
+Also, the library provides true @code{float} entry points. The
+@code{fast_sinf} entry point really performs a @code{fsin.s}
+operation. Because of this, the instructions are only useful when
+using code compiled with an ANSI C compiler. The prototypes
+and definitions for the floating point versions of the math library
+routines are only defined if compiling a module with an ANSI C
+compiler.
+
+@page
+@section Entry points
+The functions provided by @file{fastmath.h} are
+@example
+
+ double fast_sin(double); /* fsin.l */
+ double fast_cos(double); /* fcos.l */
+ double fast_tan(double); /* ftan.l */
+ double fast_asin(double); /* fasin.l */
+ double fast_acos(double); /* facos.l */
+ double fast_atan(double); /* fatan.l */
+ double fast_sinh(double); /* fsinh.l */
+ double fast_cosh(double); /* fcosh.l */
+ double fast_tanh(double); /* ftanh.l */
+ double fast_asinh(double); /* fasinh.l */
+ double fast_acosh(double); /* facosh.l */
+ double fast_atanh(double); /* fatanh.l */
+ double fast_fabs(double); /* fabs.l */
+ double fast_sqrt(double); /* fsqrt.l */
+ double fast_exp2(double); /* fexp2.l */
+ double fast_exp10(double); /* fexp10.l */
+ double fast_expe(double); /* fexpe.l */
+ double fast_log10(double); /* flog10.l */
+ double fast_log2(double); /* flog2.l */
+ double fast_loge(double); /* floge.l */
+
+ float fast_sinf(float); /* fsin.s */
+ float fast_cosf(float); /* fcos.s */
+ float fast_tanf(float); /* ftan.s */
+ float fast_asinf(float); /* fasin.s */
+ float fast_acosf(float); /* facos.s */
+ float fast_atanf(float); /* fatan.s */
+ float fast_sinhf(float); /* fsinh.s */
+ float fast_coshf(float); /* fcosh.s */
+ float fast_tanhf(float); /* ftanh.s */
+ float fast_asinhf(float); /* fasinh.s */
+ float fast_acoshf(float); /* facosh.s */
+ float fast_atanhf(float); /* fatanh.s */
+ float fast_fabsf(float); /* fabs.s */
+ float fast_sqrtf(float); /* fsqrt.s */
+ float fast_exp2f(float); /* fexp2.s */
+ float fast_exp10f(float); /* fexp10.s */
+ float fast_expef(float); /* fexpe.s */
+ float fast_log10f(float); /* flog10.s */
+ float fast_log2f(float); /* flog2.s */
+ float fast_logef(float); /* floge.s */
+
+@end example
+
+
diff --git a/newlib/libc/machine/necv70/setjmp.s b/newlib/libc/machine/necv70/setjmp.s
new file mode 100644
index 00000000000..d8aca1dfbb2
--- /dev/null
+++ b/newlib/libc/machine/necv70/setjmp.s
@@ -0,0 +1,33 @@
+ .globl _setjmp
+_setjmp:
+ mov.w [ap],r0
+ mov.d r15,[r0+]
+ mov.d r17,[r0+]
+ mov.d r19,[r0+]
+ mov.d r21,[r0+]
+ mov.d r23,[r0+]
+ mov.w -0x4[ap],[r0+]
+ mov.w fp,[r0+]
+ mov.w ap,[r0+]
+ mov.w -0x8[ap],[r0]
+ xor.w r0,r0
+ ret #0x0
+
+ .globl _longjmp
+_longjmp:
+ mov.w 0x4[ap],r0
+ mov.w [ap],r1
+ mov.d [r1+],r15
+ mov.d [r1+],r17
+ mov.d [r1+],r19
+ mov.d [r1+],r21
+ mov.d [r1+],r23
+ mov.d [r1+],ap
+ mov.w [r1+],sp
+ test.w r0
+ jne noz
+ mov.w #0x1,r0
+noz: jmp [0x0[r1]]
+
+
+
diff --git a/newlib/libc/machine/powerpc/Makefile.am b/newlib/libc/machine/powerpc/Makefile.am
new file mode 100644
index 00000000000..1c65b9ffe90
--- /dev/null
+++ b/newlib/libc/machine/powerpc/Makefile.am
@@ -0,0 +1,12 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/powerpc/Makefile.in b/newlib/libc/machine/powerpc/Makefile.in
new file mode 100644
index 00000000000..5414b185db9
--- /dev/null
+++ b/newlib/libc/machine/powerpc/Makefile.in
@@ -0,0 +1,297 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = setjmp.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/powerpc/aclocal.m4 b/newlib/libc/machine/powerpc/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/powerpc/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/powerpc/configure b/newlib/libc/machine/powerpc/configure
new file mode 100755
index 00000000000..b39571b6ae7
--- /dev/null
+++ b/newlib/libc/machine/powerpc/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=setjmp.S
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/powerpc/configure.in b/newlib/libc/machine/powerpc/configure.in
new file mode 100644
index 00000000000..47b9eab78a4
--- /dev/null
+++ b/newlib/libc/machine/powerpc/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/machine/powerpc configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(setjmp.S)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/powerpc/setjmp.S b/newlib/libc/machine/powerpc/setjmp.S
new file mode 100644
index 00000000000..c1376912fca
--- /dev/null
+++ b/newlib/libc/machine/powerpc/setjmp.S
@@ -0,0 +1,118 @@
+/* This is a simple version of setjmp and longjmp for the PowerPC.
+ Ian Lance Taylor, Cygnus Support, 9 Feb 1994. */
+
+#include "ppc-asm.h"
+
+FUNC_START(setjmp)
+ addi 3,3,7 # align to 8 byte boundary
+ rlwinm 3,3,0,0,28
+ stw 1,0(3) # offset 0
+ stwu 2,4(3) # offset 4
+ stwu 13,4(3) # offset 8
+ stwu 14,4(3) # offset 12
+ stwu 15,4(3) # offset 16
+ stwu 16,4(3) # offset 20
+ stwu 17,4(3) # offset 24
+ stwu 18,4(3) # offset 28
+ stwu 19,4(3) # offset 32
+ stwu 20,4(3) # offset 36
+ stwu 21,4(3) # offset 40
+ stwu 22,4(3) # offset 44
+ stwu 23,4(3) # offset 48
+ stwu 24,4(3) # offset 52
+ stwu 25,4(3) # offset 56
+ stwu 26,4(3) # offset 60
+ stwu 27,4(3) # offset 64
+ stwu 28,4(3) # offset 68
+ stwu 29,4(3) # offset 72
+ stwu 30,4(3) # offset 76
+ stwu 31,4(3) # offset 80
+ mflr 4
+ stwu 4,4(3) # offset 84
+ mfcr 4
+ stwu 4,4(3) # offset 88
+ # one word pad to get floating point aligned on 8 byte boundary
+#ifndef _SOFT_FLOAT
+ stfdu 14,8(3) # offset 96
+ stfdu 15,8(3) # offset 104
+ stfdu 16,8(3) # offset 112
+ stfdu 17,8(3) # offset 120
+ stfdu 18,8(3) # offset 128
+ stfdu 19,8(3) # offset 136
+ stfdu 20,8(3) # offset 144
+ stfdu 21,8(3) # offset 152
+ stfdu 22,8(3) # offset 160
+ stfdu 23,8(3) # offset 168
+ stfdu 24,8(3) # offset 176
+ stfdu 25,8(3) # offset 184
+ stfdu 26,8(3) # offset 192
+ stfdu 27,8(3) # offset 200
+ stfdu 28,8(3) # offset 208
+ stfdu 29,8(3) # offset 216
+ stfdu 30,8(3) # offset 224
+ stfdu 31,8(3) # offset 232
+#endif
+
+ /* This requires a total of 21 * 4 + 18 * 8 + 4 + 4 + 4
+ bytes == 60 * 4 bytes == 240 bytes. */
+
+ li 3,0
+ blr
+FUNC_END(setjmp)
+
+
+FUNC_START(longjmp)
+ addi 3,3,7 # align to 8 byte boundary
+ rlwinm 3,3,0,0,28
+ lwz 1,0(3) # offset 0
+ lwzu 2,4(3) # offset 4
+ lwzu 13,4(3) # offset 8
+ lwzu 14,4(3) # offset 12
+ lwzu 15,4(3) # offset 16
+ lwzu 16,4(3) # offset 20
+ lwzu 17,4(3) # offset 24
+ lwzu 18,4(3) # offset 28
+ lwzu 19,4(3) # offset 32
+ lwzu 20,4(3) # offset 36
+ lwzu 21,4(3) # offset 40
+ lwzu 22,4(3) # offset 44
+ lwzu 23,4(3) # offset 48
+ lwzu 24,4(3) # offset 52
+ lwzu 25,4(3) # offset 56
+ lwzu 26,4(3) # offset 60
+ lwzu 27,4(3) # offset 64
+ lwzu 28,4(3) # offset 68
+ lwzu 29,4(3) # offset 72
+ lwzu 30,4(3) # offset 76
+ lwzu 31,4(3) # offset 80
+ lwzu 5,4(3) # offset 84
+ mtlr 5
+ lwzu 5,4(3) # offset 88
+ mtcrf 255,5
+ # one word pad to get floating point aligned on 8 byte boundary
+#ifndef _SOFT_FLOAT
+ lfdu 14,8(3) # offset 96
+ lfdu 15,8(3) # offset 104
+ lfdu 16,8(3) # offset 112
+ lfdu 17,8(3) # offset 120
+ lfdu 18,8(3) # offset 128
+ lfdu 19,8(3) # offset 136
+ lfdu 20,8(3) # offset 144
+ lfdu 21,8(3) # offset 152
+ lfdu 22,8(3) # offset 160
+ lfdu 23,8(3) # offset 168
+ lfdu 24,8(3) # offset 176
+ lfdu 25,8(3) # offset 184
+ lfdu 26,8(3) # offset 192
+ lfdu 27,8(3) # offset 200
+ lfdu 28,8(3) # offset 208
+ lfdu 29,8(3) # offset 216
+ lfdu 30,8(3) # offset 224
+ lfdu 31,8(3) # offset 232
+#endif
+
+ mr. 3,4
+ bclr+ 4,2
+ li 3,1
+ blr
+FUNC_END(longjmp)
diff --git a/newlib/libc/machine/sh/Makefile.am b/newlib/libc/machine/sh/Makefile.am
new file mode 100644
index 00000000000..1aab718dd71
--- /dev/null
+++ b/newlib/libc/machine/sh/Makefile.am
@@ -0,0 +1,18 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = memcpy.S memset.S setjmp.S strcpy.S strcmp.S
+
+memcpy.o: asm.h
+memset.o: asm.h
+setjmp.o: asm.h
+strcpy.o: asm.h
+strcmp.o: asm.h
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/sh/Makefile.in b/newlib/libc/machine/sh/Makefile.in
new file mode 100644
index 00000000000..97cf13653b5
--- /dev/null
+++ b/newlib/libc/machine/sh/Makefile.in
@@ -0,0 +1,303 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = memcpy.S memset.S setjmp.S strcpy.S strcmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = memcpy.o memset.o setjmp.o strcpy.o strcmp.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+memcpy.o: asm.h
+memset.o: asm.h
+setjmp.o: asm.h
+strcpy.o: asm.h
+strcmp.o: asm.h
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/sh/aclocal.m4 b/newlib/libc/machine/sh/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/sh/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/sh/asm.h b/newlib/libc/machine/sh/asm.h
new file mode 100644
index 00000000000..ed27fdb1e8c
--- /dev/null
+++ b/newlib/libc/machine/sh/asm.h
@@ -0,0 +1,22 @@
+#ifdef __STDC__
+# define _C_LABEL(x) _ ## x
+#else
+# define _C_LABEL(x) _/**/x
+#endif
+#define _ASM_LABEL(x) x
+
+#define _ENTRY(name) \
+ .text; .align 2; .globl name; name:
+
+#define ENTRY(name) \
+ _ENTRY(_C_LABEL(name))
+
+#if (defined (__sh2__) || defined (__sh3__) || defined (__SH3E__) \
+ || defined (__SH4_SINGLE__) || defined (__SH4__)) || defined(__SH4_SINGLE_ONLY__)
+#define DELAYED_BRANCHES
+#define SL(branch, dest, in_slot, in_slot_arg2) \
+ branch##.s dest; in_slot, in_slot_arg2
+#else
+#define SL(branch, dest, in_slot, in_slot_arg2) \
+ in_slot, in_slot_arg2; branch dest
+#endif
diff --git a/newlib/libc/machine/sh/configure b/newlib/libc/machine/sh/configure
new file mode 100755
index 00000000000..3b8068ab14e
--- /dev/null
+++ b/newlib/libc/machine/sh/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=asm.h
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/sh/configure.in b/newlib/libc/machine/sh/configure.in
new file mode 100644
index 00000000000..ffd27974da1
--- /dev/null
+++ b/newlib/libc/machine/sh/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/machine/sh configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(asm.h)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/sh/memcpy.S b/newlib/libc/machine/sh/memcpy.S
new file mode 100644
index 00000000000..4df72e371c4
--- /dev/null
+++ b/newlib/libc/machine/sh/memcpy.S
@@ -0,0 +1,221 @@
+!
+! Fast SH memcpy
+!
+! by Toshiyasu Morita (tm@netcom.com)
+! hacked by J"orn Rernnecke (amylaar@cygnus.co.uk) ("o for o-umlaut)
+!
+! Entry: r4: destination pointer
+! r5: source pointer
+! r6: byte count
+!
+! Exit: r0: destination pointer
+! r1-r7: trashed
+!
+! Notes: Usually one wants to do small reads and write a longword, but
+! unfortunately it is difficult in some cases to concatanate bytes
+! into a longword on the SH, so this does a longword read and small
+! writes.
+!
+! This implementation makes two assumptions about how it is called:
+!
+! 1.: If the byte count is nonzero, the address of the last byte to be
+! copied is unsigned greater than the address of the first byte to
+! be copied. This could be easily swapped for a signed comparison,
+! but the algorithm used needs some comparison.
+!
+! 2.: When there are two or three bytes in the last word of an 11-or-bore
+! bytes memory chunk to b copied, the rest of the word can be read
+! without size effects.
+! This could be easily changed by increasing the minumum size of
+! a fast memcpy and the amount subtracted from r7 before L_2l_loop be 2,
+! however, this would cost a few extra cyles on average.
+!
+
+#include "asm.h"
+
+ENTRY(memcpy)
+#ifdef __LITTLE_ENDIAN__
+ ! Little endian version copies with increasing addresses.
+ mov r4,r3 ! Save return value
+ mov #11,r0 ! Check if small number of bytes
+ cmp/hs r0,r6
+ ! r6 becomes src end address
+ SL(bf, L_small, add r5,r6)
+ mov #1,r1
+ tst r1,r5 ! check if source even
+ SL(bt, L_even, mov r6,r7)
+ mov.b @r5+,r0 ! no, make it even.
+ mov.b r0,@r4
+ add #1,r4
+L_even: tst r1,r4 ! check if destination is even
+ add #-3,r7
+ SL(bf, L_odddst, mov #2,r1)
+ tst r1,r4 ! check if destination is 4-byte aligned
+ mov r4,r0
+ SL(bt, L_al4dst, sub r5,r0)
+ mov.w @r5+,r2
+ mov.w r2,@r4
+ ! add #2,r4 r4 is dead here.
+L_al4dst:
+ tst r1,r5
+ bt L_al4both
+ mov.w @r5+,r1
+ swap.w r1,r1
+ add #-6,r0
+ add #-6,r7 ! r7 := src end address minus 9.
+ .align 2
+L_2l_loop:
+ mov.l @r5+,r2 ! Read & write two longwords per iteration
+ xtrct r2,r1
+ mov.l r1,@(r0,r5)
+ cmp/hs r7,r5
+ mov.l @r5+,r1
+ xtrct r1,r2
+ mov.l r2,@(r0,r5)
+ bf L_2l_loop
+ add #-2,r5
+ bra L_cleanup
+ add #5,r0
+L_al4both:
+ add #-4,r0
+ .align 2
+L_al4both_loop:
+ mov.l @r5+,r4 ! Read longword, write longword per iteration
+ cmp/hs r7,r5
+ SL(bf, L_al4both_loop, mov.l r4,@(r0,r5))
+
+ bra L_cleanup
+ add #3,r0
+
+L_odddst:
+ tst r1,r5
+ SL(bt, L_al4src, add #-1,r4)
+ mov.w @r5+,r0
+ mov.b r0,@(1,r4)
+ shlr8 r0
+ mov.b r0,@(2,r4)
+ add #2,r4
+L_al4src:
+ .align 2
+L_odd_loop:
+ mov.l @r5+,r0 ! Read longword, write byte, word, byte per iteration
+ cmp/hs r7,r5
+ mov.b r0,@(1,r4)
+ shlr8 r0
+ mov.w r0,@(2,r4)
+ shlr16 r0
+ mov.b r0,@(4,r4)
+ SL(bf, L_odd_loop, add #4,r4)
+ .align 2 ! avoid nop in more frequently executed code.
+L_cleanup2:
+ mov r4,r0
+ sub r5,r0
+L_cleanup:
+ cmp/eq r6,r5
+ bt L_ready
+ .align 2
+L_cleanup_loop:
+ mov.b @r5+,r1
+ cmp/eq r6,r5
+ mov.b r1,@(r0,r5)
+ bf L_cleanup_loop
+L_ready:
+ rts
+ mov r3,r0
+L_small:
+ bra L_cleanup2
+ add #-1,r4
+#else
+ ! Big endian version copies with decreasing addresses.
+ mov r4,r0
+ add r6,r0
+ sub r4,r5
+ mov #11,r1
+ cmp/hs r1,r6
+ SL(bf, L_small, add #-1,r5)
+ mov r5,r3
+ add r0,r3
+ shlr r3
+ SL(bt, L_even,
+ mov r4,r7)
+ mov.b @(r0,r5),r2
+ add #-1,r3
+ mov.b r2,@-r0
+L_even:
+ tst #1,r0
+ add #-1,r5
+ SL(bf, L_odddst, add #8,r7)
+ tst #2,r0
+ bt L_al4dst
+ add #-1,r3
+ mov.w @(r0,r5),r1
+ mov.w r1,@-r0
+L_al4dst:
+ shlr r3
+ bt L_al4both
+ mov.w @(r0,r5),r1
+ swap.w r1,r1
+ add #4,r7
+ add #-4,r5
+ .align 2
+L_2l_loop:
+ mov.l @(r0,r5),r2
+ xtrct r2,r1
+ mov.l r1,@-r0
+ cmp/hs r7,r0
+ mov.l @(r0,r5),r1
+ xtrct r1,r2
+ mov.l r2,@-r0
+ bt L_2l_loop
+ bra L_cleanup
+ add #5,r5
+
+ nop ! avoid nop in executed code.
+L_al4both:
+ add #-2,r5
+ .align 2
+L_al4both_loop:
+ mov.l @(r0,r5),r1
+ cmp/hs r7,r0
+ SL(bt, L_al4both_loop,
+ mov.l r1,@-r0)
+ bra L_cleanup
+ add #3,r5
+
+ nop ! avoid nop in executed code.
+L_odddst:
+ shlr r3
+ bt L_al4src
+ mov.w @(r0,r5),r1
+ mov.b r1,@-r0
+ shlr8 r1
+ mov.b r1,@-r0
+L_al4src:
+ add #-2,r5
+ .align 2
+L_odd_loop:
+ mov.l @(r0,r5),r2
+ cmp/hs r7,r0
+ mov.b r2,@-r0
+ shlr8 r2
+ mov.w r2,@-r0
+ shlr16 r2
+ mov.b r2,@-r0
+ bt L_odd_loop
+
+ add #3,r5
+L_cleanup:
+L_small:
+ cmp/eq r4,r0
+ bt L_ready
+ add #1,r4
+ .align 2
+L_cleanup_loop:
+ mov.b @(r0,r5),r2
+ cmp/eq r4,r0
+ mov.b r2,@-r0
+ bf L_cleanup_loop
+L_ready:
+ rts
+ nop
+#endif
diff --git a/newlib/libc/machine/sh/memset.S b/newlib/libc/machine/sh/memset.S
new file mode 100644
index 00000000000..7352b4141ca
--- /dev/null
+++ b/newlib/libc/machine/sh/memset.S
@@ -0,0 +1,64 @@
+!
+! Fast SH memset
+!
+! by Toshiyasu Morita (tm@netcom.com)
+!
+! Entry: r4: destination pointer
+! r5: fill value
+! r6: byte count
+!
+! Exit: r0-r3: trashed
+!
+
+! This assumes that the first four bytes of the address space (0..3) are
+! reserved - usually by the linker script. Otherwise, we would had to check
+! for the case of objects of the size 12..15 at address 0..3 .
+
+#include "asm.h"
+
+ENTRY(memset)
+ mov #12,r0 ! Check for small number of bytes
+ cmp/gt r6,r0
+ mov r4,r0
+ SL(bt, L_store_byte_loop_check0, add r4,r6)
+
+ tst #3,r0 ! Align destination
+ SL(bt, L_dup_bytes, extu.b r5,r5)
+ .balignw 4,0x0009
+L_align_loop:
+ mov.b r5,@r0
+ add #1,r0
+ tst #3,r0
+ bf L_align_loop
+
+L_dup_bytes:
+ swap.b r5,r2 ! Duplicate bytes across longword
+ or r2,r5
+ swap.w r5,r2
+ or r2,r5
+
+ add #-16,r6
+
+ .balignw 4,0x0009
+L_store_long_loop:
+ mov.l r5,@r0 ! Store double longs to memory
+ cmp/hs r6,r0
+ mov.l r5,@(4,r0)
+ SL(bf, L_store_long_loop, add #8,r0)
+
+ add #16,r6
+
+L_store_byte_loop_check0:
+ cmp/eq r6,r0
+ bt L_exit
+ .balignw 4,0x0009
+L_store_byte_loop:
+ mov.b r5,@r0 ! Store bytes to memory
+ add #1,r0
+ cmp/eq r6,r0
+ bf L_store_byte_loop
+
+L_exit:
+ rts
+ mov r4,r0
+
diff --git a/newlib/libc/machine/sh/setjmp.S b/newlib/libc/machine/sh/setjmp.S
new file mode 100644
index 00000000000..363e8f23ba2
--- /dev/null
+++ b/newlib/libc/machine/sh/setjmp.S
@@ -0,0 +1,57 @@
+#include "asm.h"
+
+ENTRY(setjmp)
+#if defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__)
+ add #(13*4),r4
+#else
+ add #(9*4),r4
+#endif
+
+ sts.l pr,@-r4
+
+#if defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__)
+ fmov.s fr15,@-r4 ! call saved floating point registers
+ fmov.s fr14,@-r4
+ fmov.s fr13,@-r4
+ fmov.s fr12,@-r4
+#endif
+
+ mov.l r15,@-r4 ! call saved integer registers
+ mov.l r14,@-r4
+ mov.l r13,@-r4
+ mov.l r12,@-r4
+
+ mov.l r11,@-r4
+ mov.l r10,@-r4
+ mov.l r9,@-r4
+ mov.l r8,@-r4
+
+ rts
+ mov #0,r0
+
+ENTRY(longjmp)
+ mov.l @r4+,r8
+ mov.l @r4+,r9
+ mov.l @r4+,r10
+ mov.l @r4+,r11
+
+ mov.l @r4+,r12
+ mov.l @r4+,r13
+ mov.l @r4+,r14
+ mov.l @r4+,r15
+
+#if defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__)
+ fmov.s @r4+,fr12 ! call saved floating point registers
+ fmov.s @r4+,fr13
+ fmov.s @r4+,fr14
+ fmov.s @r4+,fr15
+#endif
+
+ lds.l @r4+,pr
+
+ mov r5,r0
+ tst r0,r0
+ bf retr4
+ movt r0
+retr4: rts
+ nop
diff --git a/newlib/libc/machine/sh/strcmp.S b/newlib/libc/machine/sh/strcmp.S
new file mode 100644
index 00000000000..a112b13e00f
--- /dev/null
+++ b/newlib/libc/machine/sh/strcmp.S
@@ -0,0 +1,66 @@
+! Entry: r4: destination
+! r5: source
+! Exit: r0: result
+! r1-r2,r4-r5: clobbered
+
+#include "asm.h"
+
+ENTRY(strcmp)
+ mov r4,r0
+ or r5,r0
+ tst #3,r0
+ bf L_setup_char_loop
+ mov #0,r0
+#ifdef DELAYED_BRANCHES
+ mov.l @r4+,r1
+ .align 2
+Longword_loop:
+ mov.l @r5+,r2
+ cmp/str r0,r1
+ bt Longword_loop_end
+ cmp/eq r1,r2
+ bt.s Longword_loop
+ mov.l @r4+,r1
+ add #-4, r4
+Longword_loop_end:
+ add #-4, r4
+ add #-4, r5
+L_setup_char_loop:
+ mov.b @r4+,r0
+ .align 2
+L_char_loop:
+ mov.b @r5+,r1
+ tst r0,r0
+ bt L_return
+ cmp/eq r0,r1
+ bt.s L_char_loop
+ mov.b @r4+,r0
+ add #-2,r4
+ mov.b @r4,r0
+#else /* ! DELAYED_BRANCHES */
+ .align 2
+Longword_loop:
+ mov.l @r4+,r1
+ mov.l @r5+,r2
+ cmp/str r0,r1
+ bt Longword_loop_end
+ cmp/eq r1,r2
+ bt Longword_loop
+Longword_loop_end:
+ add #-4, r4
+ add #-4, r5
+ .align 2
+L_setup_char_loop:
+L_char_loop:
+ mov.b @r4+,r0
+ mov.b @r5+,r1
+ tst r0,r0
+ bt L_return
+ cmp/eq r0,r1
+ bt L_char_loop
+#endif
+L_return:
+ extu.b r0,r0
+ extu.b r1,r1
+ rts
+ sub r1,r0
diff --git a/newlib/libc/machine/sh/strcpy.S b/newlib/libc/machine/sh/strcpy.S
new file mode 100644
index 00000000000..63aa7e75bff
--- /dev/null
+++ b/newlib/libc/machine/sh/strcpy.S
@@ -0,0 +1,41 @@
+! Entry: r4: destination
+! r5: source
+! Exit: r0: destination
+! r1-r2,r5: clobbered
+
+#include "asm.h"
+
+ENTRY(strcpy)
+ mov r4,r0
+ or r5,r0
+ tst #3,r0
+ SL(bf, L_setup_char_loop, mov r4,r0)
+ mov.l @r5+,r1
+ mov #0,r2
+ cmp/str r2,r1
+ SL(bt, Longword_loop_end, sub r5,r0)
+ .align 2
+Longword_loop:
+ mov.l r1,@(r0,r5)
+ mov.l @r5+,r1
+ cmp/str r2,r1
+ bt Longword_loop_end
+ mov.l r1,@(r0,r5)
+ mov.l @r5+,r1
+ cmp/str r2,r1
+ bf Longword_loop
+Longword_loop_end:
+ add #-4,r5
+ add #3,r0
+ .align 2
+L_char_loop:
+ mov.b @r5+,r1
+L_char_loop_start:
+ tst r1,r1
+ SL(bf, L_char_loop, mov.b r1,@(r0,r5))
+ rts
+ mov r4,r0
+L_setup_char_loop:
+ mov.b @r5+,r1
+ bra L_char_loop_start
+ sub r5,r0
diff --git a/newlib/libc/machine/sparc/Makefile.am b/newlib/libc/machine/sparc/Makefile.am
new file mode 100644
index 00000000000..a019f6558dd
--- /dev/null
+++ b/newlib/libc/machine/sparc/Makefile.am
@@ -0,0 +1,12 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = scan.c shuffle.c setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/sparc/Makefile.in b/newlib/libc/machine/sparc/Makefile.in
new file mode 100644
index 00000000000..1083e457f3e
--- /dev/null
+++ b/newlib/libc/machine/sparc/Makefile.in
@@ -0,0 +1,297 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = scan.c shuffle.c setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = scan.o shuffle.o setjmp.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/sparc/aclocal.m4 b/newlib/libc/machine/sparc/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/sparc/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/sparc/configure b/newlib/libc/machine/sparc/configure
new file mode 100755
index 00000000000..8138057ee05
--- /dev/null
+++ b/newlib/libc/machine/sparc/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=shuffle.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/sparc/configure.in b/newlib/libc/machine/sparc/configure.in
new file mode 100644
index 00000000000..b0e44c2402d
--- /dev/null
+++ b/newlib/libc/machine/sparc/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/machine/sparc configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(shuffle.c)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/sparc/machine/sparclet.h b/newlib/libc/machine/sparc/machine/sparclet.h
new file mode 100644
index 00000000000..34a0e82ff09
--- /dev/null
+++ b/newlib/libc/machine/sparc/machine/sparclet.h
@@ -0,0 +1,32 @@
+/* Various stuff for the sparclet processor.
+
+ This file is in the public domain. */
+
+#ifndef _MACHINE_SPARCLET_H_
+#define _MACHINE_SPARCLET_H_
+
+#ifdef __sparclet__
+
+/* sparclet scan instruction */
+
+extern __inline__ int
+scan (int a, int b)
+{
+ int res;
+ __asm__ ("scan %1,%2,%0" : "=r" (res) : "r" (a), "r" (b));
+ return res;
+}
+
+/* sparclet shuffle instruction */
+
+extern __inline__ int
+shuffle (int a, int b)
+{
+ int res;
+ __asm__ ("shuffle %1,%2,%0" : "=r" (res) : "r" (a), "r" (b));
+ return res;
+}
+
+#endif /* __sparclet__ */
+
+#endif /* _MACHINE_SPARCLET_H_ */
diff --git a/newlib/libc/machine/sparc/scan.c b/newlib/libc/machine/sparc/scan.c
new file mode 100644
index 00000000000..d76c0b95f0c
--- /dev/null
+++ b/newlib/libc/machine/sparc/scan.c
@@ -0,0 +1,15 @@
+/* Cover function to sparclet `scan' instruction.
+
+ This file is in the public domain. */
+
+#ifdef __sparclet__
+
+int
+scan (int a, int b)
+{
+ int res;
+ __asm__ ("scan %1,%2,%0" : "=r" (res) : "r" (a), "r" (b));
+ return res;
+}
+
+#endif
diff --git a/newlib/libc/machine/sparc/setjmp.S b/newlib/libc/machine/sparc/setjmp.S
new file mode 100644
index 00000000000..00d668f91bc
--- /dev/null
+++ b/newlib/libc/machine/sparc/setjmp.S
@@ -0,0 +1,148 @@
+/*
+ * Copyright (c) 1992, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Modified for incorporation into newlib by Joel Sherrill
+ * (joel@OARcorp.com), On-Line Applications Research, 1995.
+ * Did the following:
+ * + merged in DEFS.h
+ * + removed error check since it prevented using this setjmp
+ * to "context switch"
+ * + added the support for the "user label" and "register" prefix
+ *
+ * This software was developed by the Computer Systems Engineering group
+ * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
+ * contributed to Berkeley.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * from: $Header$
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+ .asciz "@(#)_setjmp.s 8.1 (Berkeley) 6/4/93"
+#endif /* LIBC_SCCS and not lint */
+
+/*
+ * Recent versions of GNU cpp define variables which indicate the
+ * need for underscores and percents. If not using GNU cpp or
+ * the version does not support this, then you will obviously
+ * have to define these as appropriate.
+ */
+
+#ifndef __USER_LABEL_PREFIX__
+#define __USER_LABEL_PREFIX__ _
+#endif
+
+#ifndef __REGISTER_PREFIX__
+#define __REGISTER_PREFIX__
+#endif
+
+/* ANSI concatenation macros. */
+
+#define CONCAT1(a, b) CONCAT2(a, b)
+#define CONCAT2(a, b) a ## b
+
+/* Use the right prefix for global labels. */
+
+#define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x)
+
+/*********************************************************************
+ *********************************************************************
+ * Contents of DEFS.h *
+ *********************************************************************
+ *********************************************************************/
+
+#ifdef PROF
+#define ENTRY(x) \
+ .align 4; .globl SYM(x); .proc 1; SYM(x):; .data; .align 4; 1: .long 0; \
+ .text; save %sp,-96,%sp; sethi %hi(1b),%o0; call mcount; \
+ or %lo(1b),%o0,%o0; restore
+#else
+#define ENTRY(x) \
+ .align 4; .globl SYM(x); .proc 1; SYM(x):
+#endif
+
+
+
+/*********************************************************************
+ *********************************************************************
+ * END of DEFS.h *
+ *********************************************************************
+ *********************************************************************/
+
+
+/*
+ * C library -- _setjmp, _longjmp
+ *
+ * _longjmp(a,v)
+ * will generate a "return(v?v:1)" from
+ * the last call to
+ * _setjmp(a)
+ * by unwinding the call stack.
+ * The previous signal state is NOT restored.
+ */
+
+
+/* #include "DEFS.h" */
+
+ENTRY(setjmp)
+ENTRY(_setjmp)
+ st %sp, [%o0] /* caller's stack pointer */
+ st %i7, [%o0+4] /* caller's return pc */
+ st %fp, [%o0+8] /* store caller's frame pointer */
+ st %o7, [%o0+12]
+ retl
+ clr %o0 ! return 0
+
+ENTRY(longjmp)
+ENTRY(_longjmp)
+ ta 0x03 /* flush registers */
+ addcc %o1, %g0, %g6 ! compute v ? v : 1 in a global register
+ be,a 0f
+ mov 1, %g6
+0:
+ ld [%o0], %sp /* caller's stack pointer */
+
+ ldd [%sp], %l0
+ ldd [%sp+8], %l2
+ ldd [%sp+16], %l4
+ ldd [%sp+24], %l6
+
+ ldd [%sp+32], %i0
+ ldd [%sp+40], %i2
+ ldd [%sp+48], %i4
+
+ ld [%o0+4], %i7 /* caller's return pc */
+ ld [%o0+8], %fp /* caller's frame pointer */
+ ld [%o0+12], %o7
+
+ jmp %o7 + 8 ! success, return %g6
+ mov %g6, %o0
+
diff --git a/newlib/libc/machine/sparc/shuffle.c b/newlib/libc/machine/sparc/shuffle.c
new file mode 100644
index 00000000000..2c2ec1cd294
--- /dev/null
+++ b/newlib/libc/machine/sparc/shuffle.c
@@ -0,0 +1,15 @@
+/* Cover function to sparclet `shuffle' instruction.
+
+ This file is in the public domain. */
+
+#ifdef __sparclet__
+
+int
+shuffle (int a, int b)
+{
+ int res;
+ __asm__ ("shuffle %1,%2,%0" : "=r" (res) : "r" (a), "r" (b));
+ return res;
+}
+
+#endif
diff --git a/newlib/libc/machine/tic80/Makefile.am b/newlib/libc/machine/tic80/Makefile.am
new file mode 100644
index 00000000000..1c65b9ffe90
--- /dev/null
+++ b/newlib/libc/machine/tic80/Makefile.am
@@ -0,0 +1,12 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/tic80/Makefile.in b/newlib/libc/machine/tic80/Makefile.in
new file mode 100644
index 00000000000..5414b185db9
--- /dev/null
+++ b/newlib/libc/machine/tic80/Makefile.in
@@ -0,0 +1,297 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = setjmp.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/tic80/aclocal.m4 b/newlib/libc/machine/tic80/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/tic80/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/tic80/configure b/newlib/libc/machine/tic80/configure
new file mode 100755
index 00000000000..b39571b6ae7
--- /dev/null
+++ b/newlib/libc/machine/tic80/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=setjmp.S
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/tic80/configure.in b/newlib/libc/machine/tic80/configure.in
new file mode 100644
index 00000000000..c21c4a791bc
--- /dev/null
+++ b/newlib/libc/machine/tic80/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/machine/tic80 configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(setjmp.S)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/tic80/setjmp.S b/newlib/libc/machine/tic80/setjmp.S
new file mode 100644
index 00000000000..1946344a54b
--- /dev/null
+++ b/newlib/libc/machine/tic80/setjmp.S
@@ -0,0 +1,50 @@
+/* These are predefined by new versions of GNU cpp. */
+
+#ifndef __USER_LABEL_PREFIX__
+#define __USER_LABEL_PREFIX__ _
+#endif
+
+/* ANSI concatenation macros. */
+
+#define CONCAT1(a, b) CONCAT2(a, b)
+#define CONCAT2(a, b) a ## b
+
+/* Use the right prefix for global labels. */
+
+#define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x)
+
+ .global SYM (setjmp)
+ .global SYM (_setjmp)
+ .global SYM (longjmp)
+
+ .section .text,"x"
+ .align 4
+SYM (_setjmp):
+SYM (setjmp):
+ st.d 0(r2),r20
+ st.d 8(r2),r22
+ st.d 16(r2),r24
+ st.d 24(r2),r26
+ st.d 32(r2),r28
+ st.d 40(r2),r30
+ st 48(r2),r1
+ jsr r31(r0),r0
+ addu 0,r0,r2
+
+ .section .text,"x"
+ .align 4
+SYM (longjmp):
+ ld.d 0(r2),r20
+ ld.d 8(r2),r22
+ ld.d 16(r2),r24
+ ld.d 24(r2),r26
+ ld.d 32(r2),r28
+ ld.d 40(r2),r30
+ bcnd L1,r4,ne0.w
+ ld 48(r2),r1
+
+ jsr r31(r0),r0
+ addu 1,r0,r2
+L1:
+ jsr r31(r0),r0
+ addu r4,r0,r2
diff --git a/newlib/libc/machine/v850/Makefile.am b/newlib/libc/machine/v850/Makefile.am
new file mode 100644
index 00000000000..1c65b9ffe90
--- /dev/null
+++ b/newlib/libc/machine/v850/Makefile.am
@@ -0,0 +1,12 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/v850/Makefile.in b/newlib/libc/machine/v850/Makefile.in
new file mode 100644
index 00000000000..5414b185db9
--- /dev/null
+++ b/newlib/libc/machine/v850/Makefile.in
@@ -0,0 +1,297 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = setjmp.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/v850/aclocal.m4 b/newlib/libc/machine/v850/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/v850/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/v850/configure b/newlib/libc/machine/v850/configure
new file mode 100755
index 00000000000..b39571b6ae7
--- /dev/null
+++ b/newlib/libc/machine/v850/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=setjmp.S
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/v850/configure.in b/newlib/libc/machine/v850/configure.in
new file mode 100644
index 00000000000..605320d75ca
--- /dev/null
+++ b/newlib/libc/machine/v850/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/machine/v850 configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(setjmp.S)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/v850/setjmp.S b/newlib/libc/machine/v850/setjmp.S
new file mode 100644
index 00000000000..b0da8e88f57
--- /dev/null
+++ b/newlib/libc/machine/v850/setjmp.S
@@ -0,0 +1,42 @@
+ .file "setjmp.S"
+
+ .section .text
+ .align 1
+ .global _setjmp
+_setjmp:
+ st.w r0,0[r6]
+ st.w r3,4[r6]
+ st.w r4,8[r6]
+ st.w r20,12[r6]
+ st.w r21,16[r6]
+ st.w r22,20[r6]
+ st.w r23,24[r6]
+ st.w r24,28[r6]
+ st.w r25,32[r6]
+ st.w r26,36[r6]
+ st.w r27,40[r6]
+ st.w r28,44[r6]
+ st.w r29,48[r6]
+ st.w r30,52[r6]
+ st.w r31,56[r6]
+ jmp [r31]
+
+ .global _longjmp
+_longjmp:
+ ld.w 0[r6],r0
+ ld.w 4[r6],r3
+ ld.w 8[r6],r4
+ ld.w 12[r6],r20
+ ld.w 16[r6],r21
+ ld.w 20[r6],r22
+ ld.w 24[r6],r23
+ ld.w 28[r6],r24
+ ld.w 32[r6],r25
+ ld.w 36[r6],r26
+ ld.w 40[r6],r27
+ ld.w 44[r6],r28
+ ld.w 48[r6],r29
+ ld.w 52[r6],r30
+ ld.w 56[r6],r31
+ mov 1,r10
+ jmp [r31]
diff --git a/newlib/libc/machine/w65/Makefile.am b/newlib/libc/machine/w65/Makefile.am
new file mode 100644
index 00000000000..dc3b02f97e1
--- /dev/null
+++ b/newlib/libc/machine/w65/Makefile.am
@@ -0,0 +1,13 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = udivhi3.s umodhi3.s smulhi3.s lshrhi.s sdivhi3.s mulsi3.c \
+ divsi3.c cmpsi.c
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/w65/Makefile.in b/newlib/libc/machine/w65/Makefile.in
new file mode 100644
index 00000000000..49ddab90e06
--- /dev/null
+++ b/newlib/libc/machine/w65/Makefile.in
@@ -0,0 +1,299 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = udivhi3.s umodhi3.s smulhi3.s lshrhi.s sdivhi3.s mulsi3.c \
+ divsi3.c cmpsi.c
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = udivhi3.o umodhi3.o smulhi3.o lshrhi.o sdivhi3.o \
+mulsi3.o divsi3.o cmpsi.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/w65/aclocal.m4 b/newlib/libc/machine/w65/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/w65/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/w65/cmpsi.c b/newlib/libc/machine/w65/cmpsi.c
new file mode 100644
index 00000000000..3773c9d2e90
--- /dev/null
+++ b/newlib/libc/machine/w65/cmpsi.c
@@ -0,0 +1,28 @@
+
+union u {
+ struct {
+ short int msw;
+ unsigned short lsw;
+} w;
+long l;
+};
+
+int
+__cmpsi2(long arga,
+ short int msw_b, unsigned short int lsw_b)
+{
+ union u u;
+ u.l = arga;
+
+ if (u.w.msw != msw_b)
+ {
+ if (u.w.msw < msw_b) return 0;
+ return 2;
+ }
+ if (u.w.lsw != lsw_b)
+ {
+ if (u.w.lsw < lsw_b) return 0;
+ return 2;
+ }
+ return 1;
+}
diff --git a/newlib/libc/machine/w65/configure b/newlib/libc/machine/w65/configure
new file mode 100755
index 00000000000..d862b224743
--- /dev/null
+++ b/newlib/libc/machine/w65/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=cmpsi.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/w65/configure.in b/newlib/libc/machine/w65/configure.in
new file mode 100644
index 00000000000..7d3d724d6cd
--- /dev/null
+++ b/newlib/libc/machine/w65/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/machine/w65 configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(cmpsi.c)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/w65/divsi3.c b/newlib/libc/machine/w65/divsi3.c
new file mode 100644
index 00000000000..bf749923ca5
--- /dev/null
+++ b/newlib/libc/machine/w65/divsi3.c
@@ -0,0 +1,134 @@
+
+#define divnorm(num, den, sign) \
+{ \
+ if (num < 0) \
+ { \
+ num = -num; \
+ sign = 1; \
+ } \
+ else \
+ { \
+ sign = 0; \
+ } \
+ \
+ if (den < 0) \
+ { \
+ den = - den; \
+ sign = 1 - sign; \
+ } \
+}
+
+
+
+
+
+static unsigned long
+divmodsi4(int modwanted, unsigned long num, unsigned long den)
+{
+ long int bit = 1;
+ long int res = 0;
+ long prevden;
+ while (den < num && bit && !(den & (1L<<31)))
+ {
+ den <<=1;
+ bit <<=1;
+ }
+ while (bit)
+ {
+ if (num >= den)
+ {
+ num -= den;
+ res |= bit;
+ }
+ bit >>=1;
+ den >>=1;
+ }
+ if (modwanted) return num;
+ return res;
+}
+
+
+#define exitdiv(sign, res) if (sign) { res = - res;} return res;
+
+long
+__modsi3 (long numerator, long denominator)
+{
+ int sign = 0;
+ long dividend;
+ long modul;
+
+
+ if (numerator < 0)
+ {
+ numerator = -numerator;
+ sign = 1;
+ }
+ if (denominator < 0)
+ {
+ denominator = -denominator;
+ }
+
+ modul = divmodsi4 (1, numerator, denominator);
+ if (sign)
+ return - modul;
+ return modul;
+}
+
+
+long
+__divsi3 (long numerator, long denominator)
+{
+ int sign;
+ long dividend;
+ long modul;
+ divnorm (numerator, denominator, sign);
+
+ dividend = divmodsi4 (0, numerator, denominator);
+ exitdiv (sign, dividend);
+}
+
+long
+__umodsi3 (unsigned long numerator, unsigned long denominator)
+{
+ long dividend;
+ long modul;
+
+modul= divmodsi4 (1, numerator, denominator);
+ return modul;
+}
+
+long
+__udivsi3 (unsigned long numerator, unsigned long denominator)
+{
+ int sign;
+ long dividend;
+ long modul;
+ dividend = divmodsi4 (0, numerator, denominator);
+ return dividend;
+}
+
+
+
+
+
+
+#ifdef TEST
+
+
+
+main ()
+{
+ long int i, j, k, m;
+ for (i = -10000; i < 10000; i += 8)
+ {
+ for (j = -10000; j < 10000; j += 11)
+ {
+ k = i / j;
+ m = __divsi3 (i, j);
+ if (k != m)
+ printf ("fail %d %d %d %d\n", i, j, k, m);
+ }
+ }
+}
+
+#endif
diff --git a/newlib/libc/machine/w65/lshrhi.s b/newlib/libc/machine/w65/lshrhi.s
new file mode 100644
index 00000000000..564229f57f5
--- /dev/null
+++ b/newlib/libc/machine/w65/lshrhi.s
@@ -0,0 +1,48 @@
+
+
+ .global ___lshrhi15
+___lshrhi15:
+ lsr a
+
+ .global ___lshrhi14
+___lshrhi14:
+ lsr a
+ .global ___lshrhi13
+___lshrhi13:
+ lsr a
+ .global ___lshrhi12
+___lshrhi12:
+ lsr a
+ .global ___lshrhi11
+___lshrhi11:
+ lsr a
+ .global ___lshrhi10
+___lshrhi10:
+ lsr a
+ .global ___lshrhi9
+___lshrhi9:
+ lsr a
+ .global ___lshrhi8
+___lshrhi8:
+ lsr a
+ .global ___lshrhi7
+___lshrhi7:
+ lsr a
+ .global ___lshrhi6
+___lshrhi6:
+ lsr a
+ .global ___lshrhi5
+___lshrhi5:
+ lsr a
+ .global ___lshrhi4
+___lshrhi4:
+ lsr a
+ .global ___lshrhi3
+___lshrhi3:
+ lsr a
+ .global ___lshrhi2
+___lshrhi2:
+ lsr a
+ lsr a
+ rtl
+
diff --git a/newlib/libc/machine/w65/mulsi3.c b/newlib/libc/machine/w65/mulsi3.c
new file mode 100644
index 00000000000..b48fe97acd1
--- /dev/null
+++ b/newlib/libc/machine/w65/mulsi3.c
@@ -0,0 +1,17 @@
+
+
+long
+__mulsi3(unsigned long a, unsigned long b)
+{
+ long res = 0;
+ while (a)
+ {
+ if (a & 1)
+ {
+ res += b;
+ }
+ b <<= 1;
+ a >>=1;
+ }
+ return res;
+}
diff --git a/newlib/libc/machine/w65/sdivhi3.s b/newlib/libc/machine/w65/sdivhi3.s
new file mode 100644
index 00000000000..7958f11e777
--- /dev/null
+++ b/newlib/libc/machine/w65/sdivhi3.s
@@ -0,0 +1,35 @@
+ .global ___sdivhi3
+
+___sdivhi3:
+ lda <r4
+ ldx <r5
+
+ ldy #0 !flag positive result
+ rol a
+ ror a
+ bpl L10
+
+ iny !flag negative result
+ eor #0xFFFF
+ inc a
+
+L10: pha
+ txa
+ bpl L20
+
+ dey !flag negative/positive result
+ eor #0xFFFF
+ inc a
+ tax
+
+L20: pla
+ phy
+ jsr >udv
+ ply
+ beq Lend !if positive result
+
+ eor #0xFFFF !negate result
+ inc a
+
+Lend: sta <r0
+ rtl
diff --git a/newlib/libc/machine/w65/smulhi3.s b/newlib/libc/machine/w65/smulhi3.s
new file mode 100644
index 00000000000..6ccbfba013e
--- /dev/null
+++ b/newlib/libc/machine/w65/smulhi3.s
@@ -0,0 +1,20 @@
+ .global ___smulhi3
+___smulhi3:
+
+
+
+ lda #0
+mult1: ldx <r4
+ beq done
+ lsr <r4
+ bcc mult2
+ clc
+ adc <r5
+
+mult2: asl <r5
+ bra mult1
+
+done: sta <r0
+ rtl
+
+
diff --git a/newlib/libc/machine/w65/udivhi3.s b/newlib/libc/machine/w65/udivhi3.s
new file mode 100644
index 00000000000..07d091e8045
--- /dev/null
+++ b/newlib/libc/machine/w65/udivhi3.s
@@ -0,0 +1,30 @@
+ .global ___udivhi3
+
+___udivhi3:
+ stz <r0
+ ldy #1
+ ldx <r4
+ lda <r5
+
+div1:
+ asl a
+ bcs div2
+ iny
+ cpy #17
+ bne div1
+
+div2: ror a
+
+div4: pha
+ txa
+ sec
+ sbc 1,s
+ bcc div3
+ tax
+
+div3: rol <r0
+ pla
+ lsr a
+ dey
+ bne div4
+ rtl
diff --git a/newlib/libc/machine/w65/umodhi3.s b/newlib/libc/machine/w65/umodhi3.s
new file mode 100644
index 00000000000..1d12df5241f
--- /dev/null
+++ b/newlib/libc/machine/w65/umodhi3.s
@@ -0,0 +1,7 @@
+ .global ___umodhi3
+
+___umodhi3:
+ jsr >___udivhi3
+ stx <r0
+ rtl
+
diff --git a/newlib/libc/machine/z8k/Makefile.am b/newlib/libc/machine/z8k/Makefile.am
new file mode 100644
index 00000000000..1c65b9ffe90
--- /dev/null
+++ b/newlib/libc/machine/z8k/Makefile.am
@@ -0,0 +1,12 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/z8k/Makefile.in b/newlib/libc/machine/z8k/Makefile.in
new file mode 100644
index 00000000000..5414b185db9
--- /dev/null
+++ b/newlib/libc/machine/z8k/Makefile.in
@@ -0,0 +1,297 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = setjmp.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/machine/z8k/aclocal.m4 b/newlib/libc/machine/z8k/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/machine/z8k/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/machine/z8k/args.h b/newlib/libc/machine/z8k/args.h
new file mode 100644
index 00000000000..3f606248317
--- /dev/null
+++ b/newlib/libc/machine/z8k/args.h
@@ -0,0 +1,13 @@
+#ifdef __Z8001__
+
+segm
+#define PARG_0 rr6
+#else
+unsegm
+#define PARG_0 r7
+#endif
+
+#define LARG_0 rr6
+#define ARG_0 r7
+
+#define LARG_1 rr4
diff --git a/newlib/libc/machine/z8k/configure b/newlib/libc/machine/z8k/configure
new file mode 100755
index 00000000000..610b786b38a
--- /dev/null
+++ b/newlib/libc/machine/z8k/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=args.h
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/machine/z8k/configure.in b/newlib/libc/machine/z8k/configure.in
new file mode 100644
index 00000000000..d8c24dc8a14
--- /dev/null
+++ b/newlib/libc/machine/z8k/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/machine/z8k configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(args.h)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/machine/z8k/setjmp.S b/newlib/libc/machine/z8k/setjmp.S
new file mode 100644
index 00000000000..6a7664112a8
--- /dev/null
+++ b/newlib/libc/machine/z8k/setjmp.S
@@ -0,0 +1,49 @@
+
+#ifdef __Z8001__
+ segm
+
+ .global _setjmp
+_setjmp:
+ ldl rr2,@rr14 ! fetch pc
+ ldl @rr6,rr2 ! save it
+ ldl rr6(4),rr10
+ ldl rr6(8),rr12 ! and the other special regs
+ ldl rr6(12),rr14
+ ldk r2,#0
+ ret t
+
+ .globl _longjmp
+
+_longjmp:
+ ld r2,r5 ! get return value
+ ldl rr4,rr6(0)
+ ldl rr10,rr6(4)
+ ldl rr12,rr6(8)
+ ldl rr14,rr6(12)
+ jp @rr4
+#else
+ unseg
+
+ .global _setjmp
+_setjmp:
+ ld r2,@r15 ! fetch pc
+ ld @r7,r2 ! save it
+ ldl r7(4),rr10
+ ldl r7(8),rr12 ! and the other special regs
+ ldl r7(12),rr14
+ ldk r2,#0
+ ret t
+
+ .globl _longjmp
+
+_longjmp:
+ ld r2,r6 ! get return value
+ ld r4,@r7
+ ldl rr10,rr7(4)
+ ldl rr12,rr7(8)
+ ldl rr14,rr7(12)
+ jp @rr4
+
+#endif
+
+
diff --git a/newlib/libc/misc/Makefile.am b/newlib/libc/misc/Makefile.am
new file mode 100644
index 00000000000..c6788ba0c49
--- /dev/null
+++ b/newlib/libc/misc/Makefile.am
@@ -0,0 +1,26 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = dprintf.c unctrl.c ffs.c
+
+CHEWOUT_FILES = unctrl.def ffs.def
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+TARGETDOC = ../tmp.texi
+
+doc: $(CHEWOUT_FILES)
+ cat $(srcdir)/misc.tex >> $(TARGETDOC)
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
diff --git a/newlib/libc/misc/Makefile.in b/newlib/libc/misc/Makefile.in
new file mode 100644
index 00000000000..0fa2ecf4ff4
--- /dev/null
+++ b/newlib/libc/misc/Makefile.in
@@ -0,0 +1,297 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+CRT0 = @CRT0@
+EXEEXT = @EXEEXT@
+LIBC_MACHINE_LIB = @LIBC_MACHINE_LIB@
+LIBC_POSIX_LIB = @LIBC_POSIX_LIB@
+LIBC_SIGNAL_DEF = @LIBC_SIGNAL_DEF@
+LIBC_SIGNAL_LIB = @LIBC_SIGNAL_LIB@
+LIBC_SYSCALL_LIB = @LIBC_SYSCALL_LIB@
+LIBC_SYS_LIB = @LIBC_SYS_LIB@
+LIBC_UNIX_LIB = @LIBC_UNIX_LIB@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = dprintf.c unctrl.c ffs.c
+
+CHEWOUT_FILES = unctrl.def ffs.def
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+TARGETDOC = ../tmp.texi
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = dprintf.o unctrl.o ffs.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .def .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus misc/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = misc
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am:
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-info-am:
+install-info: install-info-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am:
+uninstall: uninstall-am
+all-am: Makefile $(LIBRARIES)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-noinstLIBRARIES distclean-compile \
+ distclean-tags distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-info-am install-info \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+doc: $(CHEWOUT_FILES)
+ cat $(srcdir)/misc.tex >> $(TARGETDOC)
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/misc/dprintf.c b/newlib/libc/misc/dprintf.c
new file mode 100644
index 00000000000..071d177ca74
--- /dev/null
+++ b/newlib/libc/misc/dprintf.c
@@ -0,0 +1,266 @@
+/* Debugging printf, for debugging the library itself.
+
+ We don't assume stdio is working.
+ We do assume _write_r is working.
+*/
+
+#include "ctype.h"
+#include "reent.h"
+#include "string.h"
+#include "unctrl.h"
+
+#ifdef __STDC__
+#include "stdarg.h"
+#else
+#include "varargs.h"
+#endif
+
+static char *parse_number ();
+static long get_number ();
+static void print_number ();
+static void write_char ();
+static void write_string ();
+
+/* Non-zero for big-endian systems. */
+static int big_endian_p;
+
+/* For now hardcode 2 (stderr) as the console file descriptor.
+ May wish to let the caller pass in a file descriptor or some such but
+ this is only for debugging purposes anyway. */
+#define CONSOLE_FD 2
+
+/* Standalone printf routine.
+
+ The format string has been enhanced so that multiple values can be dumped
+ without having to have a %-field for each one (say if you want to dump
+ 20 words at a certain address). A modifier of `N' says the next argument
+ is a count, and the one after that is a pointer.
+
+ Example: __dprintf (stderr, "%Nx\n", 20, p); /-* print 20 ints at `p' *-/
+
+ Supported formats are: c d u x s p.
+
+ All ints are retrieved a byte at a time so alignment issues are not
+ a problem.
+
+ This routine is used in situations where the only debugging capability
+ is console output and was written to aid debugging newlib itself. We don't
+ use printf ourselves as we may be debugging it. We do assume _write_r is
+ working.
+*/
+
+void
+#ifdef __STDC__
+__dprintf (char *fmt, ...)
+#else
+__dprintf (fmt, va_alist)
+ char *fmt;
+ va_dcl
+#endif
+{
+ va_list args;
+
+ /* Which endian are we? */
+ {
+ short tmp = 1;
+ big_endian_p = *(char *) &tmp == 0;
+ }
+
+#ifdef __STDC__
+ va_start (args, fmt);
+#else
+ va_start (args);
+#endif
+
+ while (*fmt)
+ {
+ char c, *p;
+ int count;
+ long l;
+
+ if (*fmt != '%' || *++fmt == '%')
+ {
+ write_char (*fmt++);
+ continue;
+ }
+
+ if (*fmt == 'N')
+ {
+ count = va_arg (args, int);
+ p = va_arg (args, char *);
+ ++fmt;
+ c = *fmt++;
+
+ while (--count >= 0)
+ {
+ switch (c)
+ {
+ case 'c' :
+ write_string (unctrl (*p++));
+ break;
+ case 'p' :
+ print_number (16, 1, get_number (p, sizeof (char *), 1));
+ p += sizeof (char *);
+ break;
+ case 'd' :
+ case 'u' :
+ case 'x' :
+ print_number (c == 'x' ? 16 : 10, c != 'd',
+ get_number (p, sizeof (int), c != 'd'));
+ p += sizeof (int);
+ break;
+ case 's' :
+ write_string (*(char **) p);
+ p += sizeof (char *);
+ break;
+ }
+ if (count > 0)
+ write_char (' ');
+ }
+ }
+ else
+ {
+ switch (c = *fmt++)
+ {
+ case 'c' :
+ c = va_arg (args, int);
+ write_string (unctrl (c));
+ break;
+ case 'p' :
+ l = (_POINTER_INT) va_arg (args, char *);
+ print_number (16, 1, l);
+ break;
+ case 'd' :
+ case 'u' :
+ case 'x' :
+ l = va_arg (args, int);
+ print_number (c == 'x' ? 16 : 10, c != 'd', l);
+ break;
+ case 's' :
+ p = va_arg (args, char *);
+ write_string (p);
+ break;
+ }
+ }
+ }
+
+ va_end (args);
+}
+
+/* Parse a positive decimal integer at S.
+ FIXME: Was used in earlier version, but not currently used.
+ Keep for now. */
+
+static char *
+parse_number (s, p)
+ char *s;
+ long *p;
+{
+ long x = 0;
+
+ while (isdigit (*s))
+ {
+ x = (x * 10) + (*s - '0');
+ ++s;
+ }
+
+ *p = x;
+ return s;
+}
+
+/* Fetch the number at S of SIZE bytes. */
+
+static long
+get_number (s, size, unsigned_p)
+ char *s;
+ long size;
+ int unsigned_p;
+{
+ long x;
+ unsigned char *p = (unsigned char *) s;
+
+ switch (size)
+ {
+ case 1 :
+ x = *p;
+ if (!unsigned_p)
+ x = (x ^ 0x80) - 0x80;
+ return x;
+ case 2 :
+ if (big_endian_p)
+ x = (p[0] << 8) | p[1];
+ else
+ x = (p[1] << 8) | p[0];
+ if (!unsigned_p)
+ x = (x ^ 0x8000) - 0x8000;
+ return x;
+ case 4 :
+ if (big_endian_p)
+ x = ((long)p[0] << 24) | ((long)p[1] << 16) | (p[2] << 8) | p[3];
+ else
+ x = ((long)p[3] << 24) | ((long)p[2] << 16) | (p[1] << 8) | p[0];
+ if (!unsigned_p)
+ x = (x ^ 0x80000000L) - 0x80000000L;
+ return x;
+#if 0 /* FIXME: Is there a standard mechanism for knowing if
+ long longs exist? */
+ case 8 :
+#endif
+ default :
+ return 0;
+ }
+}
+
+/* Print X in base BASE. */
+
+static void
+print_number (base, unsigned_p, n)
+ int base;
+ int unsigned_p;
+ long n;
+{
+ static char chars[16] = "0123456789abcdef";
+ char *p, buf[32];
+ unsigned long x;
+
+ if (!unsigned_p && n < 0)
+ {
+ write_char ('-');
+ x = -n;
+ }
+ else
+ x = n;
+
+ p = buf + sizeof (buf);
+ *--p = '\0';
+ do
+ {
+ *--p = chars[x % base];
+ x /= base;
+ }
+ while (x != 0);
+
+ write_string (p);
+}
+
+/* Write C to the console.
+ We go through the file descriptor directly because we can't assume
+ stdio is working. */
+
+static void
+write_char (c)
+ char c;
+{
+ _write_r (_REENT, CONSOLE_FD, &c, 1);
+}
+
+/* Write S to the console.
+ We go through the file descriptor directly because we can't assume
+ stdio is working. */
+
+static void
+write_string (s)
+ char *s;
+{
+ _write_r (_REENT, CONSOLE_FD, s, strlen (s));
+}
diff --git a/newlib/libc/misc/ffs.c b/newlib/libc/misc/ffs.c
new file mode 100644
index 00000000000..e4afe7a4172
--- /dev/null
+++ b/newlib/libc/misc/ffs.c
@@ -0,0 +1,42 @@
+/*
+FUNCTION
+ <<ffs>>---find first bit set in a word
+
+INDEX
+ ffs
+
+ANSI_SYNOPSIS
+ int ffs(int <[word]>);
+
+TRAD_SYNOPSIS
+ int ffs(<[word]>);
+
+DESCRIPTION
+
+<<ffs>> returns the first bit set in a word.
+
+RETURNS
+<<ffs>> returns 0 if <[c]> is 0, 1 if <[c]> is odd, 2 if <[c]> is a multiple of
+2, etc.
+
+PORTABILITY
+<<ffs>> is not ANSI C.
+
+No supporting OS subroutines are required. */
+
+int
+ffs (word)
+ int word;
+{
+ int i;
+
+ if (!word)
+ return 0;
+
+ i = 0;
+ for (;;)
+ {
+ if (((1 << i++) & word) != 0)
+ return i;
+ }
+}
diff --git a/newlib/libc/misc/misc.tex b/newlib/libc/misc/misc.tex
new file mode 100644
index 00000000000..ea5599d8323
--- /dev/null
+++ b/newlib/libc/misc/misc.tex
@@ -0,0 +1,10 @@
+@node Misc
+@chapter Miscellaneous Macros and Functions
+This chapter describes miscellaneous routines not covered elsewhere.
+
+@menu
+* unctrl:: Return printable representation of a character
+@end menu
+
+@page
+@include misc/unctrl.def
diff --git a/newlib/libc/misc/unctrl.c b/newlib/libc/misc/unctrl.c
new file mode 100644
index 00000000000..e7350c65749
--- /dev/null
+++ b/newlib/libc/misc/unctrl.c
@@ -0,0 +1,146 @@
+/*
+FUNCTION
+ <<unctrl>>---translate characters to upper case
+
+INDEX
+ unctrl
+INDEX
+ unctrllen
+
+ANSI_SYNOPSIS
+ #include <unctrl.h>
+ char *unctrl(int <[c]>);
+ int unctrllen(int <[c]>);
+
+TRAD_SYNOPSIS
+ #include <unctrl.h>
+ char *unctrl(<[c]>);
+ int unctrllen(<[c]>);
+
+DESCRIPTION
+<<unctrl>> is a macro which returns the printable representation of <[c]>
+as a string.
+<<unctrllen>> is a macro which returns the length of the printable
+representation of <[c]>.
+
+RETURNS
+<<unctrl>> returns a string of the printable representation of <[c]>.
+
+<<unctrllen>> returns the length of the string which is the printable
+representation of <[c]>.
+
+PORTABILITY
+<<unctrl>> and <<unctrllen>> are not ANSI C.
+
+No supporting OS subroutines are required.
+*/
+
+/*
+ * Copyright (c) 1981, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <_ansi.h>
+
+#ifndef lint
+static char sccsid[] = "@(#)unctrl.c 8.1 (Berkeley) 6/4/93";
+#endif /* not lint */
+
+_CONST char * _CONST __unctrl[256] = {
+ "^@", "^A", "^B", "^C", "^D", "^E", "^F", "^G",
+ "^H", "^I", "^J", "^K", "^L", "^M", "^N", "^O",
+ "^P", "^Q", "^R", "^S", "^T", "^U", "^V", "^W",
+ "^X", "^Y", "^Z", "^[", "^\\", "^]", "^~", "^_",
+ " ", "!", "\"", "#", "$", "%", "&", "'",
+ "(", ")", "*", "+", ",", "-", ".", "/",
+ "0", "1", "2", "3", "4", "5", "6", "7",
+ "8", "9", ":", ";", "<", "=", ">", "?",
+ "@", "A", "B", "C", "D", "E", "F", "G",
+ "H", "I", "J", "K", "L", "M", "N", "O",
+ "P", "Q", "R", "S", "T", "U", "V", "W",
+ "X", "Y", "Z", "[", "\\", "]", "^", "_",
+ "`", "a", "b", "c", "d", "e", "f", "g",
+ "h", "i", "j", "k", "l", "m", "n", "o",
+ "p", "q", "r", "s", "t", "u", "v", "w",
+ "x", "y", "z", "{", "|", "}", "~", "^?",
+
+ "0x80", "0x81", "0x82", "0x83", "0x84", "0x85", "0x86", "0x87",
+ "0x88", "0x89", "0x8a", "0x8b", "0x8c", "0x8d", "0x8e", "0x8f",
+ "0x90", "0x91", "0x92", "0x93", "0x94", "0x95", "0x96", "0x97",
+ "0x98", "0x99", "0x9a", "0x9b", "0x9c", "0x9d", "0x9e", "0x9f",
+ "0xa0", "0xa1", "0xa2", "0xa3", "0xa4", "0xa5", "0xa6", "0xa7",
+ "0xa8", "0xa9", "0xaa", "0xab", "0xac", "0xad", "0xae", "0xaf",
+ "0xb0", "0xb1", "0xb2", "0xb3", "0xb4", "0xb5", "0xb6", "0xb7",
+ "0xb8", "0xb9", "0xba", "0xbb", "0xbc", "0xbd", "0xbe", "0xbf",
+ "0xc0", "0xc1", "0xc2", "0xc3", "0xc4", "0xc5", "0xc6", "0xc7",
+ "0xc8", "0xc9", "0xca", "0xcb", "0xcc", "0xcd", "0xce", "0xcf",
+ "0xd0", "0xd1", "0xd2", "0xd3", "0xd4", "0xd5", "0xd6", "0xd7",
+ "0xd8", "0xd9", "0xda", "0xdb", "0xdc", "0xdd", "0xde", "0xdf",
+ "0xe0", "0xe1", "0xe2", "0xe3", "0xe4", "0xe5", "0xe6", "0xe7",
+ "0xe8", "0xe9", "0xea", "0xeb", "0xec", "0xed", "0xee", "0xef",
+ "0xf0", "0xf1", "0xf2", "0xf3", "0xf4", "0xf5", "0xf6", "0xf7",
+ "0xf8", "0xf9", "0xfa", "0xfb", "0xfc", "0xfd", "0xfe", "0xff",
+};
+
+_CONST char __unctrllen[256] = {
+ 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2,
+ 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 2,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4,
+};
diff --git a/newlib/libc/posix/Makefile.am b/newlib/libc/posix/Makefile.am
new file mode 100644
index 00000000000..afb9097623a
--- /dev/null
+++ b/newlib/libc/posix/Makefile.am
@@ -0,0 +1,29 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ closedir.c opendir.c readdir.c rewinddir.c scandir.c seekdir.c \
+ telldir.c execl.c execle.c execlp.c execv.c execve.c execvp.c \
+ popen.c creat.c isatty.c
+
+CHEWOUT_FILES =
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+TARGETDOC = ../tmp.texi
+
+# No doc for posix.
+doc:
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
diff --git a/newlib/libc/posix/Makefile.in b/newlib/libc/posix/Makefile.in
new file mode 100644
index 00000000000..6b41087c757
--- /dev/null
+++ b/newlib/libc/posix/Makefile.in
@@ -0,0 +1,303 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+CRT0 = @CRT0@
+EXEEXT = @EXEEXT@
+LIBC_MACHINE_LIB = @LIBC_MACHINE_LIB@
+LIBC_POSIX_LIB = @LIBC_POSIX_LIB@
+LIBC_SIGNAL_DEF = @LIBC_SIGNAL_DEF@
+LIBC_SIGNAL_LIB = @LIBC_SIGNAL_LIB@
+LIBC_SYSCALL_LIB = @LIBC_SYSCALL_LIB@
+LIBC_SYS_LIB = @LIBC_SYS_LIB@
+LIBC_UNIX_LIB = @LIBC_UNIX_LIB@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ closedir.c opendir.c readdir.c rewinddir.c scandir.c seekdir.c \
+ telldir.c execl.c execle.c execlp.c execv.c execve.c execvp.c \
+ popen.c creat.c isatty.c
+
+
+CHEWOUT_FILES =
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+TARGETDOC = ../tmp.texi
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = closedir.o opendir.o readdir.o rewinddir.o scandir.o \
+seekdir.o telldir.o execl.o execle.o execlp.o execv.o execve.o execvp.o \
+popen.o creat.o isatty.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .def .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus posix/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = posix
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am:
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-info-am:
+install-info: install-info-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am:
+uninstall: uninstall-am
+all-am: Makefile $(LIBRARIES)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-noinstLIBRARIES distclean-compile \
+ distclean-tags distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-info-am install-info \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+# No doc for posix.
+doc:
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/posix/closedir.c b/newlib/libc/posix/closedir.c
new file mode 100644
index 00000000000..4ad6e4c975d
--- /dev/null
+++ b/newlib/libc/posix/closedir.c
@@ -0,0 +1,62 @@
+#ifndef HAVE_OPENDIR
+
+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)closedir.c 5.9 (Berkeley) 2/23/91";
+#endif /* LIBC_SCCS and not lint */
+
+#include <sys/types.h>
+#include <dirent.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+/*
+ * close a directory.
+ */
+int
+closedir(dirp)
+ register DIR *dirp;
+{
+ int fd;
+
+ fd = dirp->dd_fd;
+ dirp->dd_fd = -1;
+ dirp->dd_loc = 0;
+ (void)free((void *)dirp->dd_buf);
+ (void)free((void *)dirp);
+ return(close(fd));
+}
+
+#endif /* ! HAVE_OPENDIR */
diff --git a/newlib/libc/posix/creat.c b/newlib/libc/posix/creat.c
new file mode 100644
index 00000000000..6b111620602
--- /dev/null
+++ b/newlib/libc/posix/creat.c
@@ -0,0 +1,11 @@
+/* creat() "system call" */
+
+/* This is needed by f2c and therefore the SPEC benchmarks. */
+
+#include <fcntl.h>
+
+int
+creat (const char *path, mode_t mode)
+{
+ return open (path, O_WRONLY | O_CREAT | O_TRUNC, mode);
+}
diff --git a/newlib/libc/posix/execl.c b/newlib/libc/posix/execl.c
new file mode 100644
index 00000000000..075df8eba04
--- /dev/null
+++ b/newlib/libc/posix/execl.c
@@ -0,0 +1,42 @@
+/* execl.c */
+
+/* This and the other exec*.c files in this directory require
+ the target to provide the _execve syscall. */
+
+#include <_ansi.h>
+#include <unistd.h>
+
+#ifdef _HAVE_STDC
+
+#include <stdarg.h>
+
+int
+execl (_CONST char *path, _CONST char *arg0, ...)
+
+#else
+
+#include <varargs.h>
+
+int
+execl (path, arg0, va_alist)
+ _CONST char *path;
+ _CONST char *arg0;
+ va_dcl
+
+#endif
+
+{
+ int i;
+ va_list args;
+ _CONST char *argv[256];
+
+ va_start (args, arg0);
+ argv[0] = arg0;
+ i = 1;
+ do
+ argv[i] = va_arg (args, _CONST char *);
+ while (argv[i++] != NULL);
+ va_end (args);
+
+ return _execve (path, (char * _CONST *) argv, environ);
+}
diff --git a/newlib/libc/posix/execle.c b/newlib/libc/posix/execle.c
new file mode 100644
index 00000000000..43943702350
--- /dev/null
+++ b/newlib/libc/posix/execle.c
@@ -0,0 +1,44 @@
+/* execle.c */
+
+/* This and the other exec*.c files in this directory require
+ the target to provide the _execve syscall. */
+
+#include <_ansi.h>
+#include <unistd.h>
+
+#ifdef _HAVE_STDC
+
+#include <stdarg.h>
+
+int
+execle (_CONST char *path, _CONST char *arg0, ...)
+
+#else
+
+#include <varargs.h>
+
+int
+execle (path, arg0, va_alist)
+ _CONST char *path;
+ _CONST char *arg0;
+ va_dcl
+
+#endif
+
+{
+ int i;
+ va_list args;
+ _CONST char * _CONST *envp;
+ _CONST char *argv[256];
+
+ va_start (args, arg0);
+ argv[0] = arg0;
+ i = 1;
+ do
+ argv[i] = va_arg (args, _CONST char *);
+ while (argv[i++] != NULL);
+ envp = va_arg (args, _CONST char * _CONST *);
+ va_end (args);
+
+ return _execve (path, (char * _CONST *) argv, (char * _CONST *) envp);
+}
diff --git a/newlib/libc/posix/execlp.c b/newlib/libc/posix/execlp.c
new file mode 100644
index 00000000000..dd04914bcd6
--- /dev/null
+++ b/newlib/libc/posix/execlp.c
@@ -0,0 +1,42 @@
+/* execlp.c */
+
+/* This and the other exec*.c files in this directory require
+ the target to provide the _execve syscall. */
+
+#include <_ansi.h>
+#include <unistd.h>
+
+#ifdef _HAVE_STDC
+
+#include <stdarg.h>
+
+int
+execlp (_CONST char *path, _CONST char *arg0, ...)
+
+#else
+
+#include <varargs.h>
+
+int
+execlp (path, arg0, va_alist)
+ _CONST char *path;
+ _CONST char *arg0;
+ va_dcl
+
+#endif
+
+{
+ int i;
+ va_list args;
+ _CONST char *argv[256];
+
+ va_start (args, arg0);
+ argv[0] = arg0;
+ i = 1;
+ do
+ argv[i] = va_arg (args, _CONST char *);
+ while (argv[i++] != NULL);
+ va_end (args);
+
+ return execvp (path, (char * _CONST *) argv);
+}
diff --git a/newlib/libc/posix/execv.c b/newlib/libc/posix/execv.c
new file mode 100644
index 00000000000..42a78cb52ac
--- /dev/null
+++ b/newlib/libc/posix/execv.c
@@ -0,0 +1,15 @@
+/* execv.c */
+
+/* This and the other exec*.c files in this directory require
+ the target to provide the _execve syscall. */
+
+#include <_ansi.h>
+#include <unistd.h>
+
+int
+_DEFUN (execv, (path, argv),
+ const char *path _AND
+ char * const argv[])
+{
+ return _execve (path, (char * _CONST *) argv, environ);
+}
diff --git a/newlib/libc/posix/execve.c b/newlib/libc/posix/execve.c
new file mode 100644
index 00000000000..416144e8665
--- /dev/null
+++ b/newlib/libc/posix/execve.c
@@ -0,0 +1,10 @@
+/* execve.c */
+
+/* This and the other exec*.c files in this directory require
+ the target to provide the _execve syscall. */
+
+int
+execve (const char *path, char * const argv[], char * const envp[])
+{
+ return _execve (path, argv, envp);
+}
diff --git a/newlib/libc/posix/execvp.c b/newlib/libc/posix/execvp.c
new file mode 100644
index 00000000000..6957f61b2e3
--- /dev/null
+++ b/newlib/libc/posix/execvp.c
@@ -0,0 +1,88 @@
+/* execvp.c */
+
+/* This and the other exec*.c files in this directory require
+ the target to provide the _execve syscall. */
+
+#include <_ansi.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <errno.h>
+#include <ctype.h>
+
+#ifdef __CYGWIN32__
+static char path_delim;
+#define PATH_DELIM path_delim
+#else
+#define PATH_DELIM ':'
+#endif
+
+/*
+ * Copy string, until c or <nul> is encountered.
+ * NUL-terminate the destination string (s1).
+ */
+
+static char *
+_DEFUN (strccpy, (s1, s2, c),
+ char *s1 _AND
+ char *s2 _AND
+ char c)
+{
+ char *dest = s1;
+
+ while (*s2 && *s2 != c)
+ *s1++ = *s2++;
+ *s1 = 0;
+
+ return dest;
+}
+
+int
+_DEFUN (execvp, (file, argv),
+ _CONST char *file _AND
+ char * _CONST argv[])
+{
+ char *path = getenv ("PATH");
+ char buf[MAXNAMLEN];
+
+ /* If $PATH doesn't exist, just pass FILE on unchanged. */
+ if (!path)
+ return execv (file, argv);
+
+ /* If FILE contains a directory, don't search $PATH. */
+ if (strchr (file, '/')
+#ifdef __CYGWIN32__
+ || strchr (file, '\\')
+#endif
+ )
+ return execv (file, argv);
+
+#ifdef __CYGWIN32__
+ /* If a drive letter is passed, the path is still an absolute one.
+ Technically this isn't true, but Cygwin is currently defined so
+ that it is. */
+ if ((isalpha (file[0]) && file[1] == ':')
+ || file[0] == '\\')
+ return execv (file, argv);
+#endif
+
+#ifdef __CYGWIN32__
+ path_delim = cygwin_posix_path_list_p (path) ? ':' : ';';
+#endif
+
+ while (*path)
+ {
+ strccpy (buf, path, PATH_DELIM);
+ /* An empty entry means the current directory. */
+ if (*buf != 0)
+ strcat (buf, "/");
+ strcat (buf, file);
+ if (execv (buf, argv) == -1 && errno != ENOENT)
+ return -1;
+ while (*path && *path != PATH_DELIM)
+ path++;
+ if (*path == PATH_DELIM)
+ path++; /* skip over delim */
+ }
+
+ return -1;
+}
diff --git a/newlib/libc/posix/isatty.c b/newlib/libc/posix/isatty.c
new file mode 100644
index 00000000000..3c64647a944
--- /dev/null
+++ b/newlib/libc/posix/isatty.c
@@ -0,0 +1,17 @@
+/* isatty.c */
+
+/* Dumb implementation so programs will at least run. */
+
+#include <sys/stat.h>
+
+int
+isatty (int fd)
+{
+ struct stat buf;
+
+ if (fstat (fd, &buf) < 0)
+ return 0;
+ if (S_ISCHR (buf.st_mode))
+ return 1;
+ return 0;
+}
diff --git a/newlib/libc/posix/opendir.c b/newlib/libc/posix/opendir.c
new file mode 100644
index 00000000000..f924c0b5235
--- /dev/null
+++ b/newlib/libc/posix/opendir.c
@@ -0,0 +1,84 @@
+#ifndef HAVE_OPENDIR
+
+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)opendir.c 5.11 (Berkeley) 2/23/91";
+#endif /* LIBC_SCCS and not lint */
+
+#include <dirent.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+/*
+ * open a directory.
+ */
+DIR *
+opendir(name)
+ const char *name;
+{
+ register DIR *dirp;
+ register int fd;
+
+ if ((fd = open(name, 0)) == -1)
+ return NULL;
+ if (fcntl(fd, F_SETFD, 1) == -1 ||
+ (dirp = (DIR *)malloc(sizeof(DIR))) == NULL) {
+ close (fd);
+ return NULL;
+ }
+ /*
+ * If CLSIZE is an exact multiple of DIRBLKSIZ, use a CLSIZE
+ * buffer that it cluster boundary aligned.
+ * Hopefully this can be a big win someday by allowing page trades
+ * to user space to be done by getdirentries()
+ */
+ dirp->dd_buf = malloc (512);
+ dirp->dd_len = 512;
+
+ if (dirp->dd_buf == NULL) {
+ close (fd);
+ return NULL;
+ }
+ dirp->dd_fd = fd;
+ dirp->dd_loc = 0;
+ dirp->dd_seek = 0;
+ /*
+ * Set up seek point for rewinddir.
+ */
+ return dirp;
+}
+
+#endif /* ! HAVE_OPENDIR */
diff --git a/newlib/libc/posix/popen.c b/newlib/libc/posix/popen.c
new file mode 100644
index 00000000000..f6a7421ee7b
--- /dev/null
+++ b/newlib/libc/posix/popen.c
@@ -0,0 +1,170 @@
+/* $NetBSD: popen.c,v 1.11 1995/06/16 07:05:33 jtc Exp $ */
+
+/*
+ * Copyright (c) 1988, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software written by Ken Arnold and
+ * published in UNIX Review, Vol. 6, No. 8.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+#if 0
+static char sccsid[] = "@(#)popen.c 8.1 (Berkeley) 6/4/93";
+#else
+static char rcsid[] = "$NetBSD: popen.c,v 1.11 1995/06/16 07:05:33 jtc Exp $";
+#endif
+#endif /* LIBC_SCCS and not lint */
+
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+
+#include <signal.h>
+#include <errno.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <paths.h>
+
+static struct pid {
+ struct pid *next;
+ FILE *fp;
+ pid_t pid;
+} *pidlist;
+
+FILE *
+popen(program, type)
+ const char *program;
+ const char *type;
+{
+ struct pid *cur;
+ FILE *iop;
+ int pdes[2], pid;
+
+ if (*type != 'r' && *type != 'w' || type[1]) {
+ errno = EINVAL;
+ return (NULL);
+ }
+
+ if ((cur = malloc(sizeof(struct pid))) == NULL)
+ return (NULL);
+
+ if (pipe(pdes) < 0) {
+ free(cur);
+ return (NULL);
+ }
+
+ switch (pid = vfork()) {
+ case -1: /* Error. */
+ (void)close(pdes[0]);
+ (void)close(pdes[1]);
+ free(cur);
+ return (NULL);
+ /* NOTREACHED */
+ case 0: /* Child. */
+ if (*type == 'r') {
+ if (pdes[1] != STDOUT_FILENO) {
+ (void)dup2(pdes[1], STDOUT_FILENO);
+ (void)close(pdes[1]);
+ }
+ (void) close(pdes[0]);
+ } else {
+ if (pdes[0] != STDIN_FILENO) {
+ (void)dup2(pdes[0], STDIN_FILENO);
+ (void)close(pdes[0]);
+ }
+ (void)close(pdes[1]);
+ }
+ execl(_PATH_BSHELL, "sh", "-c", program, NULL);
+#ifdef __CYGWIN32__
+ /* On cygwin32, we may not have /bin/sh. In that
+ case, try to find sh on PATH. */
+ execlp("sh", "sh", "-c", program, NULL);
+#endif
+ _exit(127);
+ /* NOTREACHED */
+ }
+
+ /* Parent; assume fdopen can't fail. */
+ if (*type == 'r') {
+ iop = fdopen(pdes[0], type);
+ (void)close(pdes[1]);
+ } else {
+ iop = fdopen(pdes[1], type);
+ (void)close(pdes[0]);
+ }
+
+ /* Link into list of file descriptors. */
+ cur->fp = iop;
+ cur->pid = pid;
+ cur->next = pidlist;
+ pidlist = cur;
+
+ return (iop);
+}
+
+/*
+ * pclose --
+ * Pclose returns -1 if stream is not associated with a `popened' command,
+ * if already `pclosed', or waitpid returns an error.
+ */
+int
+pclose(iop)
+ FILE *iop;
+{
+ register struct pid *cur, *last;
+ int pstat;
+ pid_t pid;
+
+ (void)fclose(iop);
+
+ /* Find the appropriate file pointer. */
+ for (last = NULL, cur = pidlist; cur; last = cur, cur = cur->next)
+ if (cur->fp == iop)
+ break;
+ if (cur == NULL)
+ return (-1);
+
+ do {
+ pid = waitpid(cur->pid, &pstat, 0);
+ } while (pid == -1 && errno == EINTR);
+
+ /* Remove the entry from the linked list. */
+ if (last == NULL)
+ pidlist = cur->next;
+ else
+ last->next = cur->next;
+ free(cur);
+
+ return (pid == -1 ? -1 : pstat);
+}
diff --git a/newlib/libc/posix/readdir.c b/newlib/libc/posix/readdir.c
new file mode 100644
index 00000000000..308330cb033
--- /dev/null
+++ b/newlib/libc/posix/readdir.c
@@ -0,0 +1,76 @@
+#ifndef HAVE_OPENDIR
+
+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)readdir.c 5.7 (Berkeley) 6/1/90";
+#endif /* LIBC_SCCS and not lint */
+
+#include <dirent.h>
+
+/*
+ * get next entry in a directory.
+ */
+struct dirent *
+readdir(dirp)
+register DIR *dirp; {
+ register struct dirent *dp;
+
+ for (;;) {
+ if (dirp->dd_loc == 0) {
+ dirp->dd_size = getdents (dirp->dd_fd,
+ dirp->dd_buf,
+ dirp->dd_len);
+
+ if (dirp->dd_size <= 0)
+ return NULL;
+ }
+ if (dirp->dd_loc >= dirp->dd_size) {
+ dirp->dd_loc = 0;
+ continue;
+ }
+ dp = (struct dirent *)(dirp->dd_buf + dirp->dd_loc);
+ if ((int)dp & 03) /* bogus pointer check */
+ return NULL;
+ if (dp->d_reclen <= 0 ||
+ dp->d_reclen > dirp->dd_len + 1 - dirp->dd_loc)
+ return NULL;
+ dirp->dd_loc += dp->d_reclen;
+ if (dp->d_ino == 0)
+ continue;
+ return (dp);
+ }
+}
+
+#endif /* ! HAVE_OPENDIR */
diff --git a/newlib/libc/posix/rewinddir.c b/newlib/libc/posix/rewinddir.c
new file mode 100644
index 00000000000..6a3814b559f
--- /dev/null
+++ b/newlib/libc/posix/rewinddir.c
@@ -0,0 +1,50 @@
+#ifndef HAVE_OPENDIR
+
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)rewinddir.c 5.1 (Berkeley) 5/25/90";
+#endif /* LIBC_SCCS and not lint */
+
+#include <sys/types.h>
+#include <dirent.h>
+
+void
+rewinddir(dirp)
+ DIR *dirp;
+{
+ _seekdir((dirp), (off_t)0);
+}
+
+#endif /* ! HAVE_OPENDIR */
diff --git a/newlib/libc/posix/scandir.c b/newlib/libc/posix/scandir.c
new file mode 100644
index 00000000000..895879baccc
--- /dev/null
+++ b/newlib/libc/posix/scandir.c
@@ -0,0 +1,142 @@
+#ifndef HAVE_OPENDIR
+
+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)scandir.c 5.10 (Berkeley) 2/23/91";
+#endif /* LIBC_SCCS and not lint */
+
+/*
+ * Scan the directory dirname calling select to make a list of selected
+ * directory entries then sort using qsort and compare routine dcomp.
+ * Returns the number of entries and a pointer to a list of pointers to
+ * struct dirent (through namelist). Returns -1 if there were any errors.
+ */
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <dirent.h>
+#include <stdlib.h>
+#include <string.h>
+
+/*
+ * The DIRSIZ macro gives the minimum record length which will hold
+ * the directory entry. This requires the amount of space in struct dirent
+ * without the d_name field, plus enough space for the name with a terminating
+ * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary.
+ */
+#undef DIRSIZ
+#define DIRSIZ(dp) \
+ ((sizeof (struct dirent) - (MAXNAMLEN+1)) + (((dp)->d_namlen+1 + 3) &~ 3))
+
+#ifndef __P
+#define __P(args) ()
+#endif
+
+int
+scandir(dirname, namelist, select, dcomp)
+ const char *dirname;
+ struct dirent ***namelist;
+ int (*select) __P((struct dirent *));
+ int (*dcomp) __P((const void *, const void *));
+{
+ register struct dirent *d, *p, **names;
+ register size_t nitems;
+ struct stat stb;
+ long arraysz;
+ DIR *dirp;
+
+ if ((dirp = opendir(dirname)) == NULL)
+ return(-1);
+ if (fstat(dirp->dd_fd, &stb) < 0)
+ return(-1);
+
+ /*
+ * estimate the array size by taking the size of the directory file
+ * and dividing it by a multiple of the minimum size entry.
+ */
+ arraysz = (stb.st_size / 24);
+ names = (struct dirent **)malloc(arraysz * sizeof(struct dirent *));
+ if (names == NULL)
+ return(-1);
+
+ nitems = 0;
+ while ((d = readdir(dirp)) != NULL) {
+ if (select != NULL && !(*select)(d))
+ continue; /* just selected names */
+ /*
+ * Make a minimum size copy of the data
+ */
+ p = (struct dirent *)malloc(DIRSIZ(d));
+ if (p == NULL)
+ return(-1);
+ p->d_ino = d->d_ino;
+ p->d_reclen = d->d_reclen;
+ p->d_namlen = d->d_namlen;
+ bcopy(d->d_name, p->d_name, p->d_namlen + 1);
+ /*
+ * Check to make sure the array has space left and
+ * realloc the maximum size.
+ */
+ if (++nitems >= arraysz) {
+ if (fstat(dirp->dd_fd, &stb) < 0)
+ return(-1); /* just might have grown */
+ arraysz = stb.st_size / 12;
+ names = (struct dirent **)realloc((char *)names,
+ arraysz * sizeof(struct dirent *));
+ if (names == NULL)
+ return(-1);
+ }
+ names[nitems-1] = p;
+ }
+ closedir(dirp);
+ if (nitems && dcomp != NULL)
+ qsort(names, nitems, sizeof(struct dirent *), dcomp);
+ *namelist = names;
+ return(nitems);
+}
+
+/*
+ * Alphabetic order comparison routine for those who want it.
+ */
+int
+alphasort(d1, d2)
+ const void *d1;
+ const void *d2;
+{
+ return(strcmp((*(struct dirent **)d1)->d_name,
+ (*(struct dirent **)d2)->d_name));
+}
+
+#endif /* ! HAVE_OPENDIR */
diff --git a/newlib/libc/posix/seekdir.c b/newlib/libc/posix/seekdir.c
new file mode 100644
index 00000000000..dab3bfb244d
--- /dev/null
+++ b/newlib/libc/posix/seekdir.c
@@ -0,0 +1,56 @@
+#ifndef HAVE_OPENDIR
+
+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)seekdir.c 5.7 (Berkeley) 6/1/90";
+#endif /* LIBC_SCCS and not lint */
+
+#include <sys/param.h>
+#include <dirent.h>
+
+/*
+ * Seek to an entry in a directory.
+ * _seekdir is in telldir.c so that it can share opaque data structures.
+ */
+void
+seekdir(dirp, loc)
+ DIR *dirp;
+ long loc;
+{
+
+ _seekdir(dirp, loc);
+}
+
+#endif /* ! HAVE_OPENDIR */
diff --git a/newlib/libc/posix/telldir.c b/newlib/libc/posix/telldir.c
new file mode 100644
index 00000000000..90b12f99cbd
--- /dev/null
+++ b/newlib/libc/posix/telldir.c
@@ -0,0 +1,133 @@
+#ifndef HAVE_OPENDIR
+
+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)telldir.c 5.9 (Berkeley) 2/23/91";
+#endif /* LIBC_SCCS and not lint */
+
+#include <sys/param.h>
+#include <dirent.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+/*
+ * The option SINGLEUSE may be defined to say that a telldir
+ * cookie may be used only once before it is freed. This option
+ * is used to avoid having memory usage grow without bound.
+ */
+#define SINGLEUSE
+
+/*
+ * One of these structures is malloced to describe the current directory
+ * position each time telldir is called. It records the current magic
+ * cookie returned by getdirentries and the offset within the buffer
+ * associated with that return value.
+ */
+struct ddloc {
+ struct ddloc *loc_next;/* next structure in list */
+ long loc_index; /* key associated with structure */
+ long loc_seek; /* magic cookie returned by getdirentries */
+ long loc_loc; /* offset of entry in buffer */
+};
+
+#define NDIRHASH 32 /* Num of hash lists, must be a power of 2 */
+#define LOCHASH(i) ((i)&(NDIRHASH-1))
+
+static long dd_loccnt; /* Index of entry for sequential readdir's */
+static struct ddloc *dd_hash[NDIRHASH]; /* Hash list heads for ddlocs */
+
+/*
+ * return a pointer into a directory
+ */
+long
+telldir(dirp)
+ const DIR *dirp;
+{
+ register int index;
+ register struct ddloc *lp;
+
+ if ((lp = (struct ddloc *)malloc(sizeof(struct ddloc))) == NULL)
+ return (-1);
+ index = dd_loccnt++;
+ lp->loc_index = index;
+ lp->loc_seek = dirp->dd_seek;
+ lp->loc_loc = dirp->dd_loc;
+ lp->loc_next = dd_hash[LOCHASH(index)];
+ dd_hash[LOCHASH(index)] = lp;
+ return (index);
+}
+
+/*
+ * seek to an entry in a directory.
+ * Only values returned by "telldir" should be passed to seekdir.
+ */
+void
+_seekdir(dirp, loc)
+ register DIR *dirp;
+ long loc;
+{
+ register struct ddloc *lp;
+ register struct ddloc **prevlp;
+ struct dirent *dp;
+ extern long lseek();
+
+ prevlp = &dd_hash[LOCHASH(loc)];
+ lp = *prevlp;
+ while (lp != NULL) {
+ if (lp->loc_index == loc)
+ break;
+ prevlp = &lp->loc_next;
+ lp = lp->loc_next;
+ }
+ if (lp == NULL)
+ return;
+ if (lp->loc_loc == dirp->dd_loc && lp->loc_seek == dirp->dd_seek)
+ goto found;
+ (void) lseek(dirp->dd_fd, lp->loc_seek, 0);
+ dirp->dd_seek = lp->loc_seek;
+ dirp->dd_loc = 0;
+ while (dirp->dd_loc < lp->loc_loc) {
+ dp = readdir(dirp);
+ if (dp == NULL)
+ break;
+ }
+found:
+#ifdef SINGLEUSE
+ *prevlp = lp->loc_next;
+ free((caddr_t)lp);
+#endif
+}
+
+#endif /* ! HAVE_OPENDIR */
diff --git a/newlib/libc/reent/Makefile.am b/newlib/libc/reent/Makefile.am
new file mode 100644
index 00000000000..20baf3f2496
--- /dev/null
+++ b/newlib/libc/reent/Makefile.am
@@ -0,0 +1,55 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ closer.c \
+ reent.c \
+ impure.c \
+ execr.c \
+ fstatr.c \
+ linkr.c \
+ lseekr.c \
+ openr.c \
+ readr.c \
+ signalr.c \
+ sbrkr.c \
+ statr.c \
+ timer.c \
+ writer.c
+
+CHEWOUT_FILES = \
+ closer.def \
+ reent.def \
+ execr.def \
+ fstatr.def \
+ linkr.def \
+ lseekr.def \
+ openr.def \
+ readr.def \
+ signalr.def \
+ sbrkr.def \
+ statr.def \
+ timer.def \
+ writer.def
+
+SUFFIXES = .def .h
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+TARGETDOC = ../tmp.texi
+
+doc: $(CHEWOUT_FILES)
+ cat $(srcdir)/reent.tex >> $(TARGETDOC)
+
+impure.o: $(srcdir)/impure.c $(srcdir)/../include/sys/reent.h
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
diff --git a/newlib/libc/reent/Makefile.in b/newlib/libc/reent/Makefile.in
new file mode 100644
index 00000000000..ad174b18404
--- /dev/null
+++ b/newlib/libc/reent/Makefile.in
@@ -0,0 +1,329 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+CRT0 = @CRT0@
+EXEEXT = @EXEEXT@
+LIBC_MACHINE_LIB = @LIBC_MACHINE_LIB@
+LIBC_POSIX_LIB = @LIBC_POSIX_LIB@
+LIBC_SIGNAL_DEF = @LIBC_SIGNAL_DEF@
+LIBC_SIGNAL_LIB = @LIBC_SIGNAL_LIB@
+LIBC_SYSCALL_LIB = @LIBC_SYSCALL_LIB@
+LIBC_SYS_LIB = @LIBC_SYS_LIB@
+LIBC_UNIX_LIB = @LIBC_UNIX_LIB@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ closer.c \
+ reent.c \
+ impure.c \
+ execr.c \
+ fstatr.c \
+ linkr.c \
+ lseekr.c \
+ openr.c \
+ readr.c \
+ signalr.c \
+ sbrkr.c \
+ statr.c \
+ timer.c \
+ writer.c
+
+
+CHEWOUT_FILES = \
+ closer.def \
+ reent.def \
+ execr.def \
+ fstatr.def \
+ linkr.def \
+ lseekr.def \
+ openr.def \
+ readr.def \
+ signalr.def \
+ sbrkr.def \
+ statr.def \
+ timer.def \
+ writer.def
+
+
+SUFFIXES = .def .h
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+TARGETDOC = ../tmp.texi
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = closer.o reent.o impure.o execr.o fstatr.o linkr.o \
+lseekr.o openr.o readr.o signalr.o sbrkr.o statr.o timer.o writer.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .def .h .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus reent/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = reent
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am:
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-info-am:
+install-info: install-info-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am:
+uninstall: uninstall-am
+all-am: Makefile $(LIBRARIES)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-noinstLIBRARIES distclean-compile \
+ distclean-tags distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-info-am install-info \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+doc: $(CHEWOUT_FILES)
+ cat $(srcdir)/reent.tex >> $(TARGETDOC)
+
+impure.o: $(srcdir)/impure.c $(srcdir)/../include/sys/reent.h
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/reent/closer.c b/newlib/libc/reent/closer.c
new file mode 100644
index 00000000000..aeacebd6cb8
--- /dev/null
+++ b/newlib/libc/reent/closer.c
@@ -0,0 +1,58 @@
+/* Reentrant version of close system call. */
+
+#include <reent.h>
+#include <unistd.h>
+#include <_syslist.h>
+
+/* Some targets provides their own versions of this functions. Those
+ targets should define REENTRANT_SYSCALLS_PROVIDED in TARGET_CFLAGS. */
+
+#ifdef _REENT_ONLY
+#ifndef REENTRANT_SYSCALLS_PROVIDED
+#define REENTRANT_SYSCALLS_PROVIDED
+#endif
+#endif
+
+#ifndef REENTRANT_SYSCALLS_PROVIDED
+
+/* We use the errno variable used by the system dependent layer. */
+#undef errno
+extern int errno;
+
+/*
+FUNCTION
+ <<_close_r>>---Reentrant version of close
+
+INDEX
+ _close_r
+
+ANSI_SYNOPSIS
+ #include <reent.h>
+ int _close_r(struct _reent *<[ptr]>, int <[fd]>);
+
+TRAD_SYNOPSIS
+ #include <reent.h>
+ int _close_r(<[ptr]>, <[fd]>)
+ struct _reent *<[ptr]>;
+ int <[fd]>;
+
+DESCRIPTION
+ This is a reentrant version of <<close>>. It
+ takes a pointer to the global data block, which holds
+ <<errno>>.
+*/
+
+int
+_close_r (ptr, fd)
+ struct _reent *ptr;
+ int fd;
+{
+ int ret;
+
+ errno = 0;
+ if ((ret = _close (fd)) == -1 && errno != 0)
+ ptr->_errno = errno;
+ return ret;
+}
+
+#endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */
diff --git a/newlib/libc/reent/execr.c b/newlib/libc/reent/execr.c
new file mode 100644
index 00000000000..9e8f75a65ff
--- /dev/null
+++ b/newlib/libc/reent/execr.c
@@ -0,0 +1,144 @@
+/* Reentrant versions of execution system calls. These
+ implementations just call the usual system calls. */
+
+#include <reent.h>
+#include <unistd.h>
+#include <_syslist.h>
+
+/* Some targets provides their own versions of these functions. Those
+ targets should define REENTRANT_SYSCALLS_PROVIDED in TARGET_CFLAGS. */
+
+#ifdef _REENT_ONLY
+#ifndef REENTRANT_SYSCALLS_PROVIDED
+#define REENTRANT_SYSCALLS_PROVIDED
+#endif
+#endif
+
+/* If NO_EXEC is defined, we don't need these functions. */
+
+#if defined (REENTRANT_SYSCALLS_PROVIDED) || defined (NO_EXEC)
+
+int _dummy_exec_syscalls = 1;
+
+#else
+
+/* We use the errno variable used by the system dependent layer. */
+#undef errno
+extern int errno;
+
+/*
+FUNCTION
+ <<_execve_r>>---Reentrant version of execve
+INDEX
+ _execve_r
+
+ANSI_SYNOPSIS
+ #include <reent.h>
+ int _execve_r(struct _reent *<[ptr]>, char *<[name]>,
+ char **<[argv]>, char **<[env]>);
+
+TRAD_SYNOPSIS
+ #include <reent.h>
+ int _execve_r(<[ptr]>, <[name]>, <[argv]>, <[env]>)
+ struct _reent *<[ptr]>;
+ char *<[name]>;
+ char **<[argv]>;
+ char **<[env]>;
+
+DESCRIPTION
+ This is a reentrant version of <<execve>>. It
+ takes a pointer to the global data block, which holds
+ <<errno>>.
+*/
+
+int
+_execve_r (ptr, name, argv, env)
+ struct _reent *ptr;
+ char *name;
+ char **argv;
+ char **env;
+{
+ int ret;
+
+ errno = 0;
+ if ((ret = _execve (name, argv, env)) == -1 && errno != 0)
+ ptr->_errno = errno;
+ return ret;
+}
+
+
+/*
+FUNCTION
+ <<_fork_r>>---Reentrant version of fork
+
+INDEX
+ _fork_r
+
+ANSI_SYNOPSIS
+ #include <reent.h>
+ int _fork_r(struct _reent *<[ptr]>);
+
+TRAD_SYNOPSIS
+ #include <reent.h>
+ int _fork_r(<[ptr]>)
+ struct _reent *<[ptr]>;
+
+DESCRIPTION
+ This is a reentrant version of <<fork>>. It
+ takes a pointer to the global data block, which holds
+ <<errno>>.
+*/
+
+#ifndef NO_FORK
+
+int
+_fork_r (ptr)
+ struct _reent *ptr;
+{
+ int ret;
+
+ errno = 0;
+ if ((ret = _fork ()) == -1 && errno != 0)
+ ptr->_errno = errno;
+ return ret;
+}
+
+#endif
+
+/*
+FUNCTION
+ <<_wait_r>>---Reentrant version of wait
+
+INDEX
+ _wait_r
+
+ANSI_SYNOPSIS
+ #include <reent.h>
+ int _wait_r(struct _reent *<[ptr]>, int *<[status]>);
+
+TRAD_SYNOPSIS
+ #include <reent.h>
+ int _wait_r(<[ptr]>, <[status]>)
+ struct _reent *<[ptr]>;
+ int *<[status]>;
+
+DESCRIPTION
+ This is a reentrant version of <<wait>>. It
+ takes a pointer to the global data block, which holds
+ <<errno>>.
+*/
+
+int
+_wait_r (ptr, status)
+ struct _reent *ptr;
+ int *status;
+{
+ int ret;
+
+ errno = 0;
+ if ((ret = _wait (status)) == -1 && errno != 0)
+ ptr->_errno = errno;
+ return ret;
+}
+
+#endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */
diff --git a/newlib/libc/reent/fstatr.c b/newlib/libc/reent/fstatr.c
new file mode 100644
index 00000000000..df132d799cd
--- /dev/null
+++ b/newlib/libc/reent/fstatr.c
@@ -0,0 +1,66 @@
+/* Reentrant versions of fstat system call. This implementation just
+ calls the fstat system call. */
+
+#include <reent.h>
+#include <unistd.h>
+#include <_syslist.h>
+
+/* Some targets provides their own versions of these functions. Those
+ targets should define REENTRANT_SYSCALLS_PROVIDED in TARGET_CFLAGS. */
+
+#ifdef _REENT_ONLY
+#ifndef REENTRANT_SYSCALLS_PROVIDED
+#define REENTRANT_SYSCALLS_PROVIDED
+#endif
+#endif
+
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+
+int _dummy_fstat_syscalls = 1;
+
+#else
+
+/* We use the errno variable used by the system dependent layer. */
+#undef errno
+extern int errno;
+
+/*
+FUNCTION
+ <<_fstat_r>>---Reentrant version of fstat
+
+INDEX
+ _fstat_r
+
+ANSI_SYNOPSIS
+ #include <reent.h>
+ int _fstat_r(struct _reent *<[ptr]>,
+ int <[fd]>, struct stat *<[pstat]>);
+
+TRAD_SYNOPSIS
+ #include <reent.h>
+ int _fstat_r(<[ptr]>, <[fd]>, <[pstat]>)
+ struct _reent *<[ptr]>;
+ int <[fd]>;
+ struct stat *<[pstat]>;
+
+DESCRIPTION
+ This is a reentrant version of <<fstat>>. It
+ takes a pointer to the global data block, which holds
+ <<errno>>.
+*/
+
+int
+_fstat_r (ptr, fd, pstat)
+ struct _reent *ptr;
+ int fd;
+ struct stat *pstat;
+{
+ int ret;
+
+ errno = 0;
+ if ((ret = _fstat (fd, pstat)) == -1 && errno != 0)
+ ptr->_errno = errno;
+ return ret;
+}
+
+#endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */
diff --git a/newlib/libc/reent/impure.c b/newlib/libc/reent/impure.c
new file mode 100644
index 00000000000..a14f5c3cdab
--- /dev/null
+++ b/newlib/libc/reent/impure.c
@@ -0,0 +1,13 @@
+#include <reent.h>
+
+/* Note that there is a copy of this in sys/reent.h. */
+#ifndef __ATTRIBUTE_IMPURE_PTR__
+#define __ATTRIBUTE_IMPURE_PTR__
+#endif
+
+#ifndef __ATTRIBUTE_IMPURE_DATA__
+#define __ATTRIBUTE_IMPURE_DATA__
+#endif
+
+static struct _reent __ATTRIBUTE_IMPURE_DATA__ impure_data = _REENT_INIT (impure_data);
+struct _reent *__ATTRIBUTE_IMPURE_PTR__ _impure_ptr = &impure_data;
diff --git a/newlib/libc/reent/linkr.c b/newlib/libc/reent/linkr.c
new file mode 100644
index 00000000000..a15d2238cd0
--- /dev/null
+++ b/newlib/libc/reent/linkr.c
@@ -0,0 +1,102 @@
+/* Reentrant versions of file system calls. These implementations
+ just call the usual system calls. */
+
+#include <reent.h>
+#include <unistd.h>
+#include <_syslist.h>
+
+/* Some targets provides their own versions of these functions. Those
+ targets should define REENTRANT_SYSCALLS_PROVIDED in TARGET_CFLAGS. */
+
+#ifdef _REENT_ONLY
+#ifndef REENTRANT_SYSCALLS_PROVIDED
+#define REENTRANT_SYSCALLS_PROVIDED
+#endif
+#endif
+
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+
+int _dummy_link_syscalls = 1;
+
+#else
+
+/* We use the errno variable used by the system dependent layer. */
+#undef errno
+extern int errno;
+
+/*
+FUNCTION
+ <<_link_r>>---Reentrant version of link
+
+INDEX
+ _link_r
+
+ANSI_SYNOPSIS
+ #include <reent.h>
+ int _link_r(struct _reent *<[ptr]>,
+ const char *<[old]>, const char *<[new]>);
+
+TRAD_SYNOPSIS
+ #include <reent.h>
+ int _link_r(<[ptr]>, <[old]>, <[new]>)
+ struct _reent *<[ptr]>;
+ char *<[old]>;
+ char *<[new]>;
+
+DESCRIPTION
+ This is a reentrant version of <<link>>. It
+ takes a pointer to the global data block, which holds
+ <<errno>>.
+*/
+
+int
+_link_r (ptr, old, new)
+ struct _reent *ptr;
+ _CONST char *old;
+ _CONST char *new;
+{
+ int ret;
+
+ errno = 0;
+ if ((ret = _link (old, new)) == -1 && errno != 0)
+ ptr->_errno = errno;
+ return ret;
+}
+
+/*
+FUNCTION
+ <<_unlink_r>>---Reentrant version of unlink
+
+INDEX
+ _unlink_r
+
+ANSI_SYNOPSIS
+ #include <reent.h>
+ int _unlink_r(struct _reent *<[ptr]>, const char *<[file]>);
+
+TRAD_SYNOPSIS
+ #include <reent.h>
+ int _unlink_r(<[ptr]>, <[file]>)
+ struct _reent *<[ptr]>;
+ char *<[file]>;
+
+DESCRIPTION
+ This is a reentrant version of <<unlink>>. It
+ takes a pointer to the global data block, which holds
+ <<errno>>.
+*/
+
+int
+_unlink_r (ptr, file)
+ struct _reent *ptr;
+ _CONST char *file;
+{
+ int ret;
+
+ errno = 0;
+ if ((ret = _unlink (file)) == -1 && errno != 0)
+ ptr->_errno = errno;
+ return ret;
+}
+
+#endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */
diff --git a/newlib/libc/reent/lseekr.c b/newlib/libc/reent/lseekr.c
new file mode 100644
index 00000000000..ed8ba13ede1
--- /dev/null
+++ b/newlib/libc/reent/lseekr.c
@@ -0,0 +1,63 @@
+/* Reentrant versions of lseek system call. */
+
+#include <reent.h>
+#include <unistd.h>
+#include <_syslist.h>
+
+/* Some targets provides their own versions of this functions. Those
+ targets should define REENTRANT_SYSCALLS_PROVIDED in TARGET_CFLAGS. */
+
+#ifdef _REENT_ONLY
+#ifndef REENTRANT_SYSCALLS_PROVIDED
+#define REENTRANT_SYSCALLS_PROVIDED
+#endif
+#endif
+
+#ifndef REENTRANT_SYSCALLS_PROVIDED
+
+/* We use the errno variable used by the system dependent layer. */
+#undef errno
+extern int errno;
+
+/*
+FUNCTION
+ <<_lseek_r>>---Reentrant version of lseek
+
+INDEX
+ _lseek_r
+
+ANSI_SYNOPSIS
+ #include <reent.h>
+ off_t _lseek_r(struct _reent *<[ptr]>,
+ int <[fd]>, off_t <[pos]>, int <[whence]>);
+
+TRAD_SYNOPSIS
+ #include <reent.h>
+ off_t _lseek_r(<[ptr]>, <[fd]>, <[pos]>, <[whence]>)
+ struct _reent *<[ptr]>;
+ int <[fd]>;
+ off_t <[pos]>;
+ int <[whence]>;
+
+DESCRIPTION
+ This is a reentrant version of <<lseek>>. It
+ takes a pointer to the global data block, which holds
+ <<errno>>.
+*/
+
+off_t
+_lseek_r (ptr, fd, pos, whence)
+ struct _reent *ptr;
+ int fd;
+ off_t pos;
+ int whence;
+{
+ off_t ret;
+
+ errno = 0;
+ if ((ret = _lseek (fd, pos, whence)) == (off_t) -1 && errno != 0)
+ ptr->_errno = errno;
+ return ret;
+}
+
+#endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */
diff --git a/newlib/libc/reent/openr.c b/newlib/libc/reent/openr.c
new file mode 100644
index 00000000000..2e3b608d706
--- /dev/null
+++ b/newlib/libc/reent/openr.c
@@ -0,0 +1,64 @@
+/* Reentrant versions of open system call. */
+
+#include <reent.h>
+#include <unistd.h>
+#include <_syslist.h>
+
+/* Some targets provides their own versions of this functions. Those
+ targets should define REENTRANT_SYSCALLS_PROVIDED in TARGET_CFLAGS. */
+
+#ifdef _REENT_ONLY
+#ifndef REENTRANT_SYSCALLS_PROVIDED
+#define REENTRANT_SYSCALLS_PROVIDED
+#endif
+#endif
+
+#ifndef REENTRANT_SYSCALLS_PROVIDED
+
+/* We use the errno variable used by the system dependent layer. */
+#undef errno
+extern int errno;
+
+/*
+FUNCTION
+ <<_open_r>>---Reentrant version of open
+
+INDEX
+ _open_r
+
+ANSI_SYNOPSIS
+ #include <reent.h>
+ int _open_r(struct _reent *<[ptr]>,
+ const char *<[file]>, int <[flags]>, int <[mode]>);
+
+TRAD_SYNOPSIS
+ #include <reent.h>
+ int _open_r(<[ptr]>, <[file]>, <[flags]>, <[mode]>)
+ struct _reent *<[ptr]>;
+ char *<[file]>;
+ int <[flags]>;
+ int <[mode]>;
+
+DESCRIPTION
+ This is a reentrant version of <<open>>. It
+ takes a pointer to the global data block, which holds
+ <<errno>>.
+*/
+
+int
+_open_r (ptr, file, flags, mode)
+ struct _reent *ptr;
+ _CONST char *file;
+ int flags;
+ int mode;
+{
+ int ret;
+
+ errno = 0;
+ if ((ret = _open (file, flags, mode)) == -1 && errno != 0)
+ ptr->_errno = errno;
+ return ret;
+}
+
+
+#endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */
diff --git a/newlib/libc/reent/readr.c b/newlib/libc/reent/readr.c
new file mode 100644
index 00000000000..e3deca9a718
--- /dev/null
+++ b/newlib/libc/reent/readr.c
@@ -0,0 +1,63 @@
+/* Reentrant versions of read system call. */
+
+#include <reent.h>
+#include <unistd.h>
+#include <_syslist.h>
+
+/* Some targets provides their own versions of this functions. Those
+ targets should define REENTRANT_SYSCALLS_PROVIDED in TARGET_CFLAGS. */
+
+#ifdef _REENT_ONLY
+#ifndef REENTRANT_SYSCALLS_PROVIDED
+#define REENTRANT_SYSCALLS_PROVIDED
+#endif
+#endif
+
+#ifndef REENTRANT_SYSCALLS_PROVIDED
+
+/* We use the errno variable used by the system dependent layer. */
+#undef errno
+extern int errno;
+
+/*
+FUNCTION
+ <<_read_r>>---Reentrant version of read
+
+INDEX
+ _read_r
+
+ANSI_SYNOPSIS
+ #include <reent.h>
+ long _read_r(struct _reent *<[ptr]>,
+ int <[fd]>, void *<[buf]>, size_t <[cnt]>);
+
+TRAD_SYNOPSIS
+ #include <reent.h>
+ long _read_r(<[ptr]>, <[fd]>, <[buf]>, <[cnt]>)
+ struct _reent *<[ptr]>;
+ int <[fd]>;
+ char *<[buf]>;
+ size_t <[cnt]>;
+
+DESCRIPTION
+ This is a reentrant version of <<read>>. It
+ takes a pointer to the global data block, which holds
+ <<errno>>.
+*/
+
+long
+_read_r (ptr, fd, buf, cnt)
+ struct _reent *ptr;
+ int fd;
+ _PTR buf;
+ size_t cnt;
+{
+ long ret;
+
+ errno = 0;
+ if ((ret = _read (fd, buf, cnt)) == -1 && errno != 0)
+ ptr->_errno = errno;
+ return ret;
+}
+
+#endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */
diff --git a/newlib/libc/reent/reent.c b/newlib/libc/reent/reent.c
new file mode 100644
index 00000000000..93b3e86c8d8
--- /dev/null
+++ b/newlib/libc/reent/reent.c
@@ -0,0 +1,107 @@
+/*
+FUNCTION
+ <<reent>>---definition of impure data.
+
+INDEX
+ reent
+
+DESCRIPTION
+ This module defines the impure data area used by the
+ non-rentrant functions, such as strtok.
+*/
+
+#include <reent.h>
+
+/* Interim cleanup code */
+
+void
+cleanup_glue (ptr, glue)
+ struct _reent *ptr;
+ struct _glue *glue;
+{
+ /* Have to reclaim these in reverse order: */
+ if (glue->_next)
+ cleanup_glue (ptr, glue->_next);
+
+ _free_r (ptr, glue);
+}
+
+void
+_reclaim_reent (ptr)
+ struct _reent *ptr;
+{
+ if (ptr != _impure_ptr)
+ {
+ /* used by mprec routines. */
+ if (ptr->_freelist)
+ {
+ int i;
+ for (i = 0; i < 15 /* _Kmax */; i++)
+ {
+ struct _Bigint *thisone, *nextone;
+
+ nextone = ptr->_freelist[i];
+ while (nextone)
+ {
+ thisone = nextone;
+ nextone = nextone->_next;
+ _free_r (ptr, thisone);
+ }
+ }
+
+ _free_r (ptr, ptr->_freelist);
+ }
+
+ /* atexit stuff */
+ if ((ptr->_atexit) && (ptr->_atexit != &ptr->_atexit0))
+ {
+ struct _atexit *p, *q;
+ for (p = ptr->_atexit; p != &ptr->_atexit0;)
+ {
+ q = p;
+ p = p->_next;
+ _free_r (ptr, q);
+ }
+ }
+
+ if (ptr->_cvtbuf)
+ _free_r (ptr, ptr->_cvtbuf);
+
+ if (ptr->__sdidinit)
+ {
+ /* cleanup won't reclaim memory 'coz usually it's run
+ before the program exits, and who wants to wait for that? */
+ ptr->__cleanup (ptr);
+
+ if (ptr->__sglue._next)
+ cleanup_glue (ptr, ptr->__sglue._next);
+ }
+
+ /* Malloc memory not reclaimed; no good way to return memory anyway. */
+
+ }
+}
+
+/*
+ * Do atexit() processing and cleanup
+ *
+ * NOTE: This is to be executed at task exit. It does not tear anything
+ * down which is used on a global basis.
+ */
+
+void
+_wrapup_reent(struct _reent *ptr)
+{
+ register struct _atexit *p;
+ register int n;
+
+ if (ptr == 0)
+ ptr = _REENT;
+
+ for (p = ptr->_atexit; p; p = p->_next)
+ for (n = p->_ind; --n >= 0;)
+ (*p->_fns[n]) ();
+ if (ptr->__cleanup)
+ (*ptr->__cleanup) (ptr);
+}
+
diff --git a/newlib/libc/reent/reent.tex b/newlib/libc/reent/reent.tex
new file mode 100644
index 00000000000..71a0a0dcdc9
--- /dev/null
+++ b/newlib/libc/reent/reent.tex
@@ -0,0 +1,108 @@
+@node Reentrancy
+@chapter Reentrancy
+
+@cindex reentrancy
+Reentrancy is a characteristic of library functions which allows multiple
+processes to use the same address space with assurance that the values stored
+in those spaces will remain constant between calls. Cygnus's implementation
+of the library functions ensures that
+whenever possible, these library functions are reentrant. However,
+there are some functions that can not be trivially made reentrant.
+Hooks have been provided to allow you to use these functions in a fully
+reentrant fashion.
+
+@findex _reent
+@findex reent.h
+@cindex reentrancy structure
+These hooks use the structure @code{_reent} defined in @file{reent.h}.
+A variable defined as @samp{struct _reent} is called a @dfn{reentrancy
+structure}. All functions which must manipulate global information are
+available in two versions. The first version has the usual name, and
+uses a single global instance of the reentrancy structure. The second
+has a different name, normally formed by prepending @samp{_} and
+appending @samp{_r}, and takes a pointer to the particular reentrancy
+structure to use.
+
+For example, the function @code{fopen} takes two arguments, @var{file}
+and @var{mode}, and uses the global reentrancy structure. The function
+@code{_fopen_r} takes the arguments, @var{struct_reent}, which is a
+pointer to an instance of the reentrancy structure, @var{file}
+and @var{mode}.
+
+@cindex global reentrancy structure
+@findex _impure_ptr
+Each function which uses the global reentrancy structure uses the global
+variable @code{_impure_ptr}, which points to a reentrancy structure.
+
+This means that you have two ways to achieve reentrancy. Both require
+that each thread of execution control initialize a unique global
+variable of type @samp{struct _reent}:
+
+@enumerate
+@item
+@cindex extra argument, reentrant fns
+Use the reentrant versions of the library functions, after initializing
+a global reentrancy structure for each process. Use the pointer to this
+structure as the extra argument for all library functions.
+
+@item
+Ensure that each thread of execution control has a pointer to its own
+unique reentrancy structure in the global variable @code{_impure_ptr},
+and call the standard library subroutines.
+@end enumerate
+
+@cindex list of reentrant functions
+@cindex reentrant function list
+The following functions are provided in both reentrant
+and non-reentrant versions.
+
+@example
+@exdent @emph{Equivalent for errno variable:}
+_errno_r
+
+@exdent @emph{Locale functions:}
+_localeconv_r _setlocale_r
+
+@exdent @emph{Equivalents for stdio variables:}
+_stdin_r _stdout_r _stderr_r
+
+@page
+@exdent @emph{Stdio functions:}
+_fdopen_r _perror_r _tempnam_r
+_fopen_r _putchar_r _tmpnam_r
+_getchar_r _puts_r _tmpfile_r
+_gets_r _remove_r _vfprintf_r
+_iprintf_r _rename_r _vsnprintf_r
+_mkstemp_r _snprintf_r _vsprintf_r
+_mktemp_t _sprintf_r
+
+@exdent @emph{Signal functions:}
+_init_signal_r _signal_r
+_kill_r __sigtramp_r
+_raise_r
+
+@exdent @emph{Stdlib functions:}
+_calloc_r _mblen_r _setenv_r
+_dtoa_r _mbstowcs_r _srand_r
+_free_r _mbtowc_r _strtod_r
+_getenv_r _memalign_r _strtol_r
+_mallinfo_r _mstats_r _strtoul_r
+_malloc_r _putenv_r _system_r
+_malloc_r _rand_r _wcstombs_r
+_malloc_stats_r _realloc_r _wctomb_r
+
+@exdent @emph{String functions:}
+_strdup_r _strtok_r
+
+@exdent @emph{System functions:}
+_close_r _link_r _unlink_r
+_execve_r _lseek_r _wait_r
+_fcntl_r _open_r _write_r
+_fork_r _read_r
+_fstat_r _sbrk_r
+_gettimeofday_r _stat_r
+_getpid_r _times_r
+
+@exdent @emph{Time function:}
+_asctime_r
+@end example
diff --git a/newlib/libc/reent/sbrkr.c b/newlib/libc/reent/sbrkr.c
new file mode 100644
index 00000000000..7f6930ead56
--- /dev/null
+++ b/newlib/libc/reent/sbrkr.c
@@ -0,0 +1,66 @@
+/* Reentrant versions of sbrk system call. This implementation just
+ calls the stat system call. */
+
+#include <reent.h>
+#include <unistd.h>
+#include <_syslist.h>
+
+/* Some targets provides their own versions of these functions. Those
+ targets should define REENTRANT_SYSCALLS_PROVIDED in TARGET_CFLAGS. */
+
+#ifdef _REENT_ONLY
+#ifndef REENTRANT_SYSCALLS_PROVIDED
+#define REENTRANT_SYSCALLS_PROVIDED
+#endif
+#endif
+
+/* If MALLOC_PROVIDED is defined, we don't need this function. */
+
+#if defined (REENTRANT_SYSCALLS_PROVIDED) || defined (MALLOC_PROVIDED)
+
+int _dummy_sbrk_syscalls = 1;
+
+#else
+
+/* We use the errno variable used by the system dependent layer. */
+#undef errno
+int errno;
+
+/*
+FUNCTION
+ <<_sbrk_r>>---Reentrant version of sbrk
+
+INDEX
+ _sbrk_r
+
+ANSI_SYNOPSIS
+ #include <reent.h>
+ void *_sbrk_r(struct _reent *<[ptr]>, size_t <[incr]>);
+
+TRAD_SYNOPSIS
+ #include <reent.h>
+ void *_sbrk_r(<[ptr]>, <[incr]>)
+ struct _reent *<[ptr]>;
+ size_t <[incr]>;
+
+DESCRIPTION
+ This is a reentrant version of <<sbrk>>. It
+ takes a pointer to the global data block, which holds
+ <<errno>>.
+*/
+
+void *
+_sbrk_r (ptr, incr)
+ struct _reent *ptr;
+ size_t incr;
+{
+ char *ret;
+ void *_sbrk(size_t);
+
+ errno = 0;
+ if ((ret = (char *)(_sbrk (incr))) == (void *) -1 && errno != 0)
+ ptr->_errno = errno;
+ return ret;
+}
+
+#endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */
diff --git a/newlib/libc/reent/signalr.c b/newlib/libc/reent/signalr.c
new file mode 100644
index 00000000000..7c85af14231
--- /dev/null
+++ b/newlib/libc/reent/signalr.c
@@ -0,0 +1,98 @@
+/* Reentrant versions of syscalls need to support signal/raise.
+ These implementations just call the usual system calls. */
+
+#include <reent.h>
+#include <_syslist.h>
+
+/* Some targets provides their own versions of these functions. Those
+ targets should define REENTRANT_SYSCALLS_PROVIDED in TARGET_CFLAGS. */
+
+#ifdef _REENT_ONLY
+#ifndef REENTRANT_SYSCALLS_PROVIDED
+#define REENTRANT_SYSCALLS_PROVIDED
+#endif
+#endif
+
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+
+int _dummy_link_syscalls = 1;
+
+#else
+
+/* We use the errno variable used by the system dependent layer. */
+#undef errno
+extern int errno;
+
+/*
+FUNCTION
+ <<_kill_r>>---Reentrant version of kill
+
+INDEX
+ _kill_r
+
+ANSI_SYNOPSIS
+ #include <reent.h>
+ int _kill_r(struct _reent *<[ptr]>, int <[pid]>, int <[sig]>);
+
+TRAD_SYNOPSIS
+ #include <reent.h>
+ int _kill_r(<[ptr]>, <[pid]>, <[sig]>)
+ struct _reent *<[ptr]>;
+ int <[pid]>;
+ int <[sig]>;
+
+DESCRIPTION
+ This is a reentrant version of <<kill>>. It
+ takes a pointer to the global data block, which holds
+ <<errno>>.
+*/
+
+int
+_kill_r (ptr, pid, sig)
+ struct _reent *ptr;
+ int pid;
+ int sig;
+{
+ int ret;
+
+ errno = 0;
+ if ((ret = _kill (pid, sig)) == -1 && errno != 0)
+ ptr->_errno = errno;
+ return ret;
+}
+
+/*
+FUNCTION
+ <<_getpid_r>>---Reentrant version of getpid
+
+INDEX
+ _getpid_r
+
+ANSI_SYNOPSIS
+ #include <reent.h>
+ int _getpid_r(struct _reent *<[ptr]>);
+
+TRAD_SYNOPSIS
+ #include <reent.h>
+ int _getpid_r(<[ptr]>)
+ struct _reent *<[ptr]>;
+
+DESCRIPTION
+ This is a reentrant version of <<getpid>>. It
+ takes a pointer to the global data block, which holds
+ <<errno>>.
+
+ We never need <<errno>>, of course, but for consistency we
+ still must have the reentrant pointer argument.
+*/
+
+int
+_getpid_r (ptr)
+ struct _reent *ptr;
+{
+ int ret;
+ ret = _getpid ();
+ return ret;
+}
+
+#endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */
diff --git a/newlib/libc/reent/statr.c b/newlib/libc/reent/statr.c
new file mode 100644
index 00000000000..55d29bdb8b8
--- /dev/null
+++ b/newlib/libc/reent/statr.c
@@ -0,0 +1,67 @@
+/* Reentrant versions of stat system call. This implementation just
+ calls the stat system call. */
+
+#include <reent.h>
+#include <unistd.h>
+#include <_syslist.h>
+
+/* Some targets provides their own versions of these functions. Those
+ targets should define REENTRANT_SYSCALLS_PROVIDED in
+ TARGET_CFLAGS. */
+
+#ifdef _REENT_ONLY
+#ifndef REENTRANT_SYSCALLS_PROVIDED
+#define REENTRANT_SYSCALLS_PROVIDED
+#endif
+#endif
+
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+
+int _dummy_stat_syscalls = 1;
+
+#else
+
+/* We use the errno variable used by the system dependent layer. */
+#undef errno
+extern int errno;
+
+/*
+FUNCTION
+ <<_stat_r>>---Reentrant version of stat
+
+INDEX
+ _stat_r
+
+ANSI_SYNOPSIS
+ #include <reent.h>
+ int _stat_r(struct _reent *<[ptr]>,
+ const char *<[file]>, struct stat *<[pstat]>);
+
+TRAD_SYNOPSIS
+ #include <reent.h>
+ int _stat_r(<[ptr]>, <[file]>, <[pstat]>)
+ struct _reent *<[ptr]>;
+ char *<[file]>;
+ struct stat *<[pstat]>;
+
+DESCRIPTION
+ This is a reentrant version of <<stat>>. It
+ takes a pointer to the global data block, which holds
+ <<errno>>.
+*/
+
+int
+_stat_r (ptr, file, pstat)
+ struct _reent *ptr;
+ _CONST char *file;
+ struct stat *pstat;
+{
+ int ret;
+
+ errno = 0;
+ if ((ret = _stat (file, pstat)) == -1 && errno != 0)
+ ptr->_errno = errno;
+ return ret;
+}
+
+#endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */
diff --git a/newlib/libc/reent/timer.c b/newlib/libc/reent/timer.c
new file mode 100644
index 00000000000..526b4d1355b
--- /dev/null
+++ b/newlib/libc/reent/timer.c
@@ -0,0 +1,112 @@
+/* Reentrant versions of times and gettimeofday system calls for the
+ clock and time ANSI C routines.
+ This implementation just calls the times/gettimeofday system calls.
+ Gettimeofday may not be available on all targets. It's presence
+ here is dubious. Consider it for internal use only. */
+
+#include <reent.h>
+#include <time.h>
+#include <sys/times.h>
+#include <_syslist.h>
+
+/* Some targets provides their own versions of these functions. Those
+ targets should define REENTRANT_SYSCALLS_PROVIDED in TARGET_CFLAGS. */
+
+#ifdef _REENT_ONLY
+#ifndef REENTRANT_SYSCALLS_PROVIDED
+#define REENTRANT_SYSCALLS_PROVIDED
+#endif
+#endif
+
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+
+int _dummy_time_syscalls = 1;
+
+#else
+
+/* We use the errno variable used by the system dependent layer. */
+#undef errno
+extern int errno;
+
+/*
+FUNCTION
+ <<_times_r>>---Reentrant version of times
+
+INDEX
+ _times_r
+
+ANSI_SYNOPSIS
+ #include <reent.h>
+ #include <sys/times.h>
+ clock_t _times_r(struct _reent *<[ptr]>, struct tms *<[ptms]>);
+
+TRAD_SYNOPSIS
+ #include <reent.h>
+ #include <sys/times.h>
+ clock_t _times_r(<[ptr]>, <[ptms]>)
+ struct _reent *<[ptr]>;
+ struct tms *<[ptms]>;
+
+DESCRIPTION
+ This is a reentrant version of <<times>>. It
+ takes a pointer to the global data block, which holds
+ <<errno>>.
+*/
+
+clock_t
+_times_r (ptr, ptms)
+ struct _reent *ptr;
+ struct tms *ptms;
+{
+ clock_t ret;
+
+ ret = _times (ptms);
+ return ret;
+}
+
+/*
+FUNCTION
+ <<_gettimeofday_r>>---Reentrant version of gettimeofday
+
+INDEX
+ _gettimeofday_r
+
+ANSI_SYNOPSIS
+ #include <reent.h>
+ #include <time.h>
+ int _gettimeofday_r(struct _reent *<[ptr]>,
+ struct timeval *<[ptimeval]>,
+ struct timezone *<[ptimezone]>);
+
+TRAD_SYNOPSIS
+ #include <reent.h>
+ #include <time.h>
+ int _gettimeofday_r(<[ptr]>, <[ptimeval]>, <[ptimezone]>)
+ struct _reent *<[ptr]>;
+ struct timeval *<[ptimeval]>;
+ struct timezone *<[ptimezone]>;
+
+DESCRIPTION
+ This is a reentrant version of <<gettimeofday>>. It
+ takes a pointer to the global data block, which holds
+ <<errno>>.
+
+ This function is only available for a few targets.
+ Check libc.a to see if its available on yours.
+*/
+
+int
+_gettimeofday_r (ptr, ptimeval, ptimezone)
+ struct _reent *ptr;
+ struct timeval *ptimeval;
+ struct timezone *ptimezone;
+{
+ int ret;
+
+ errno = 0;
+ if ((ret = _gettimeofday (ptimeval, ptimezone)) == -1 && errno != 0)
+ ptr->_errno = errno;
+ return ret;
+}
+
+#endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */
diff --git a/newlib/libc/reent/writer.c b/newlib/libc/reent/writer.c
new file mode 100644
index 00000000000..ac10286e8c7
--- /dev/null
+++ b/newlib/libc/reent/writer.c
@@ -0,0 +1,63 @@
+/* Reentrant versions of write system call. */
+
+#include <reent.h>
+#include <unistd.h>
+#include <_syslist.h>
+
+/* Some targets provides their own versions of this functions. Those
+ targets should define REENTRANT_SYSCALLS_PROVIDED in TARGET_CFLAGS. */
+
+#ifdef _REENT_ONLY
+#ifndef REENTRANT_SYSCALLS_PROVIDED
+#define REENTRANT_SYSCALLS_PROVIDED
+#endif
+#endif
+
+#ifndef REENTRANT_SYSCALLS_PROVIDED
+
+/* We use the errno variable used by the system dependent layer. */
+#undef errno
+extern int errno;
+
+/*
+FUNCTION
+ <<_write_r>>---Reentrant version of write
+
+INDEX
+ _write_r
+
+ANSI_SYNOPSIS
+ #include <reent.h>
+ long _write_r(struct _reent *<[ptr]>,
+ int <[fd]>, const void *<[buf]>, size_t <[cnt]>);
+
+TRAD_SYNOPSIS
+ #include <reent.h>
+ long _write_r(<[ptr]>, <[fd]>, <[buf]>, <[cnt]>)
+ struct _reent *<[ptr]>;
+ int <[fd]>;
+ char *<[buf]>;
+ size_t <[cnt]>;
+
+DESCRIPTION
+ This is a reentrant version of <<write>>. It
+ takes a pointer to the global data block, which holds
+ <<errno>>.
+*/
+
+long
+_write_r (ptr, fd, buf, cnt)
+ struct _reent *ptr;
+ int fd;
+ _CONST _PTR buf;
+ size_t cnt;
+{
+ long ret;
+
+ errno = 0;
+ if ((ret = _write (fd, buf, cnt)) == -1 && errno != 0)
+ ptr->_errno = errno;
+ return ret;
+}
+
+#endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */
diff --git a/newlib/libc/saber b/newlib/libc/saber
new file mode 100644
index 00000000000..4f16f976ecc
--- /dev/null
+++ b/newlib/libc/saber
@@ -0,0 +1,185 @@
+setopt sys_load_flags -L/lib -L/usr/lib -I/limbo/unsupported/packages/CenterLine/general/unsupported/sparc
+setopt load_flags -I./include -I./machine/sparc -I./sys/sun4
+
+
+load signal/raise.c
+load signal/signal.c
+load stdio/clearerr.c
+load stdio/cvt.c
+load stdio/dcvt.c
+load stdio/fclose.c
+load stdio/feof.c
+load stdio/ferror.c
+load stdio/fflush.c
+load stdio/fgetc.c
+load stdio/fgetpos.c
+load stdio/fgets.c
+load stdio/findfp.c
+load stdio/flags.c
+load stdio/fopen.c
+
+load stdio/fputc.c
+load stdio/fputs.c
+load stdio/fread.c
+load stdio/freopen.c
+load stdio/fscanf.c
+load stdio/fseek.c
+load stdio/fsetpos.c
+load stdio/ftell.c
+load stdio/fvwrite.c
+load stdio/fwalk.c
+load stdio/fwrite.c
+load stdio/getc.c
+load stdio/getchar.c
+load stdio/gets.c
+load stdio/iprintf.c
+load stdio/makebuf.c
+load stdio/perror.c
+load stdio/printf.c
+load stdio/putc.c
+load stdio/putchar.c
+load stdio/puts.c
+load stdio/refill.c
+load stdio/remove.c
+load stdio/rename.c
+load stdio/rewind.c
+load stdio/rget.c
+load stdio/scanf.c
+load stdio/setbuf.c
+load stdio/setvbuf.c
+load stdio/sprintf.c
+load stdio/sscanf.c
+load stdio/stdio.c
+load stdio/tmpfile.c
+load stdio/tmpnam.c
+load stdio/ungetc.c
+load stdio/vfiprintf.c
+load stdio/vfprintf.c
+load stdio/vfscanf.c
+load stdio/vprintf.c
+load stdio/vsprintf.c
+load stdio/wbuf.c
+load stdio/wsetup.c
+load stdlib/__adjust.c
+load stdlib/__exp10.c
+load stdlib/__ten_mu.c
+load stdlib/abort.c
+load stdlib/abs.c
+load stdlib/assert.c
+load stdlib/atexit.c
+load stdlib/atof.c
+load stdlib/atoi.c
+load stdlib/atol.c
+load stdlib/bsearch.c
+load stdlib/calloc.c
+load stdlib/div.c
+load stdlib/efgcvt.c
+load stdlib/exit.c
+load stdlib/getenv.c
+load stdlib/labs.c
+load stdlib/ldiv.c
+load stdlib/malloc.c
+load stdlib/mbtowc.c
+load stdlib/qsort.c
+load stdlib/rand.c
+load stdlib/strtod.c
+load stdlib/strtol.c
+load stdlib/strtoul.c
+load stdlib/system.c
+load stdlib/wctomb.c
+load string/bcmp.c
+load string/bcopy.c
+load string/bzero.c
+load string/index.c
+load string/memchr.c
+load string/memcmp.c
+load string/memcpy.c
+load string/memmove.c
+load string/memset.c
+load string/rindex.c
+load string/strcat.c
+load string/strchr.c
+load string/strcmp.c
+load string/strcoll.c
+load string/strcpy.c
+load string/strcspn.c
+load string/strerror.c
+load string/strlen.c
+load string/strncat.c
+load string/strncmp.c
+load string/strncpy.c
+load string/strpbrk.c
+load string/strrchr.c
+load string/strspn.c
+load string/strstr.c
+load string/strtok.c
+load string/strxfrm.c
+time/asctime.c
+time/clock.c
+time/ctime.c
+time/difftime.c
+time/gmtime.c
+time/localtime.c
+time/mktime.c
+time/strftime.c
+
+
+load stdio/fiprintf.c
+load stdio/fprintf.c
+load ctype/ctype_.c
+load ctype/isalnum.c
+load ctype/isalpha.c
+load ctype/isascii.c
+load ctype/iscntrl.c
+load ctype/isdigit.c
+load ctype/islower.c
+load ctype/isprint.c
+load ctype/ispunct.c
+load ctype/isspace.c
+load ctype/isupper.c
+load ctype/isxdigit.c
+load ctype/toascii.c
+load ctype/tolower.c
+load ctype/toupper.c
+load errno/errno.c
+/*load ieeefp/fpmask.c
+load ieeefp/fpround.c
+load ieeefp/fpsticky.c
+load ieeefp/infinity.c
+load ieeefp/isnan.c
+load locale/locale.c
+load math/acos.c
+load math/acosh.c
+load math/asin.c
+load math/asinh.c
+load math/atan.c
+load math/atan2.c
+load math/atanh.c
+load math/bessel.c
+load math/copysign.c
+load math/cosh.c
+load math/erf.c
+load math/error.c
+load math/exp.c
+load math/fabs.c
+load math/floor.c
+load math/fmod.c
+load math/frexp.c
+load math/gamma.c
+load math/hypot.c
+load math/ldexp.c
+load math/log.c
+load math/log10.c
+load math/log1p.c
+load math/log2.c
+load math/log__L.c
+load math/matherr.c
+load math/modf.c
+load math/pow.c
+load math/scalb.c
+load math/sincos.c
+load math/sinh.c
+load math/sqrt.c
+load math/tan.c
+load math/tanh.c
+*/
diff --git a/newlib/libc/signal/Makefile.am b/newlib/libc/signal/Makefile.am
new file mode 100644
index 00000000000..038948b6d8e
--- /dev/null
+++ b/newlib/libc/signal/Makefile.am
@@ -0,0 +1,26 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = raise.c signal.c
+
+CHEWOUT_FILES = raise.def signal.def
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+TARGETDOC = ../tmp.texi
+
+doc: $(CHEWOUT_FILES)
+ cat $(srcdir)/signal.tex >> $(TARGETDOC)
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
diff --git a/newlib/libc/signal/Makefile.in b/newlib/libc/signal/Makefile.in
new file mode 100644
index 00000000000..9d2cb1ee556
--- /dev/null
+++ b/newlib/libc/signal/Makefile.in
@@ -0,0 +1,297 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+CRT0 = @CRT0@
+EXEEXT = @EXEEXT@
+LIBC_MACHINE_LIB = @LIBC_MACHINE_LIB@
+LIBC_POSIX_LIB = @LIBC_POSIX_LIB@
+LIBC_SIGNAL_DEF = @LIBC_SIGNAL_DEF@
+LIBC_SIGNAL_LIB = @LIBC_SIGNAL_LIB@
+LIBC_SYSCALL_LIB = @LIBC_SYSCALL_LIB@
+LIBC_SYS_LIB = @LIBC_SYS_LIB@
+LIBC_UNIX_LIB = @LIBC_UNIX_LIB@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = raise.c signal.c
+
+CHEWOUT_FILES = raise.def signal.def
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+TARGETDOC = ../tmp.texi
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = raise.o signal.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .def .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus signal/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = signal
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am:
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-info-am:
+install-info: install-info-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am:
+uninstall: uninstall-am
+all-am: Makefile $(LIBRARIES)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-noinstLIBRARIES distclean-compile \
+ distclean-tags distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-info-am install-info \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+doc: $(CHEWOUT_FILES)
+ cat $(srcdir)/signal.tex >> $(TARGETDOC)
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/signal/raise.c b/newlib/libc/signal/raise.c
new file mode 100644
index 00000000000..bc47864e84e
--- /dev/null
+++ b/newlib/libc/signal/raise.c
@@ -0,0 +1,80 @@
+/* Embedded systems may want the simulated signals if no other form exists,
+ but UNIX versions will want to use the host facilities.
+ Define SIMULATED_SIGNALS when you want to use the simulated versions.
+*/
+
+/*
+FUNCTION
+<<raise>>---send a signal
+
+INDEX
+ raise
+INDEX
+ _raise_r
+
+ANSI_SYNOPSIS
+ #include <signal.h>
+ int raise(int <[sig]>);
+
+ int _raise_r(void *<[reent]>, int <[sig]>);
+
+TRAD_SYNOPSIS
+ #include <signal.h>
+ int raise(<[sig]>)
+ int <[sig]>;
+
+ int _raise_r(<[reent]>, <[sig]>)
+ char *<[reent]>;
+ int <[sig]>;
+
+DESCRIPTION
+Send the signal <[sig]> (one of the macros from `<<sys/signal.h>>').
+This interrupts your program's normal flow of execution, and allows a signal
+handler (if you've defined one, using <<signal>>) to take control.
+
+The alternate function <<_raise_r>> is a reentrant version. The extra
+argument <[reent]> is a pointer to a reentrancy structure.
+
+RETURNS
+The result is <<0>> if <[sig]> was successfully raised, <<1>>
+otherwise. However, the return value (since it depends on the normal
+flow of execution) may not be visible, unless the signal handler for
+<[sig]> terminates with a <<return>> or unless <<SIG_IGN>> is in
+effect for this signal.
+
+PORTABILITY
+ANSI C requires <<raise>>, but allows the full set of signal numbers
+to vary from one implementation to another.
+
+Required OS subroutines: <<getpid>>, <<kill>>.
+*/
+
+#ifndef SIGNAL_PROVIDED
+
+int _dummy_raise;
+
+#else
+
+#include <reent.h>
+#include <signal.h>
+
+#ifndef _REENT_ONLY
+
+int
+_DEFUN (raise, (sig),
+ int sig)
+{
+ return _raise_r (_REENT, sig);
+}
+
+#endif
+
+int
+_DEFUN (_raise_r, (reent, sig),
+ struct _reent *reent _AND
+ int sig)
+{
+ return _kill_r (reent, _getpid_r (reent), sig);
+}
+
+#endif /* SIGNAL_PROVIDED */
diff --git a/newlib/libc/signal/signal.c b/newlib/libc/signal/signal.c
new file mode 100644
index 00000000000..fc52bbab516
--- /dev/null
+++ b/newlib/libc/signal/signal.c
@@ -0,0 +1,269 @@
+/*
+FUNCTION
+<<signal>>---specify handler subroutine for a signal
+
+INDEX
+ signal
+INDEX
+ _signal_r
+INDEX
+ raise
+INDEX
+ _raise_r
+
+ANSI_SYNOPSIS
+ #include <signal.h>
+ void ( * signal(int <[sig]>, void(*<[func]>)(int)) )(int);
+
+ void ( * _signal_r(void *<[reent]>,
+ int <[sig]>, void(*<[func]>)(int)) )(int);
+
+ int raise (int <[sig]>);
+
+ int _raise_r (void *<[reent]>, int <[sig]>);
+
+TRAD_SYNOPSIS
+ #include <signal.h>
+ char ( * signal(<[sig]>, <[func]>) )()
+ int <[sig]>;
+ char ( * <[func]> )();
+
+ char ( * _signal_r(<[reent]>, <[sig]>, <[func]>) )()
+ char *<[reent]>;
+ int <[sig]>;
+ char ( * <[func]> )();
+
+ int raise (<[sig]>)()
+ int <[sig]>;
+
+ int _raise_r (<[reent]>, <[sig]>)()
+ char *<[reent]>;
+ int <[sig]>;
+
+DESCRIPTION
+<<signal, raise>> provide a simple signal/raise implementation for embedded
+targets.
+
+<<signal>> allows you to request changed treatment for a particular
+signal <[sig]>. You can use one of the predefined macros <<SIG_DFL>>
+(select system default handling) or <<SIG_IGN>> (ignore this signal)
+as the value of <[func]>; otherwise, <[func]> is a function pointer
+that identifies a subroutine in your program as the handler for this signal.
+
+Some of the execution environment for signal handlers is
+unpredictable; notably, the only library function required to work
+correctly from within a signal handler is @code{signal} itself, and
+only when used to redefine the handler for the current signal value.
+
+Static storage is likewise unreliable for signal handlers, with one
+exception: if you declare a static storage location as `<<volatile
+sig_atomic_t>>', then you may use that location in a signal handler to
+store signal values.
+
+If your signal handler terminates using <<return>> (or implicit
+return), your program's execution continues at the point
+where it was when the signal was raised (whether by your program
+itself, or by an external event). Signal handlers can also
+use functions such as <<exit>> and <<abort>> to avoid returning.
+
+<<raise>> sends the signal sig to the executing program. It returns zero if
+successful, non-zero if unsuccessful.
+
+The alternate functions <<_signal_r, _raise_r>> are the reentrant versions.
+The extra argument <[reent]> is a pointer to a reentrancy structure.
+
+
+@c FIXME: do we have setjmp.h and assoc fns?
+
+RETURNS
+If your request for a signal handler cannot be honored, the result is
+<<SIG_ERR>>; a specific error number is also recorded in <<errno>>.
+
+Otherwise, the result is the previous handler (a function pointer or
+one of the predefined macros).
+
+PORTABILITY
+ANSI C requires <<raise>>, <<signal>>.
+
+No supporting OS subroutines are required to link with <<signal>>, but
+it will not have any useful effects, except for software generated signals,
+without an operating system that can actually raise exceptions.
+*/
+
+/*
+ * signal.c
+ * Original Author: G. Haley
+ *
+ * signal associates the function pointed to by func with the signal sig. When
+ * a signal occurs, the value of func determines the action taken as follows:
+ * if func is SIG_DFL, the default handling for that signal will occur; if func
+ * is SIG_IGN, the signal will be ignored; otherwise, the default handling for
+ * the signal is restored (SIG_DFL), and the function func is called with sig
+ * as its argument. Returns the value of func for the previous call to signal
+ * for the signal sig, or SIG_ERR if the request fails.
+ */
+
+/* _init_signal initialises the signal handlers for each signal. This function
+ is called by crt0 at program startup. */
+
+#ifdef SIGNAL_PROVIDED
+
+int _dummy_simulated_signal;
+
+#else
+
+#include <errno.h>
+#include <signal.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <reent.h>
+#include <_syslist.h>
+
+int
+_DEFUN (_init_signal_r, (ptr),
+ struct _reent *ptr)
+{
+ int i;
+
+ if (ptr->_sig_func == NULL)
+ {
+ ptr->_sig_func = (_sig_func_ptr *)_malloc_r (ptr, sizeof (_sig_func_ptr) * NSIG);
+ if (ptr->_sig_func == NULL)
+ return -1;
+
+ for (i = 0; i < NSIG; i++)
+ ptr->_sig_func[i] = SIG_DFL;
+ }
+
+ return 0;
+}
+
+_sig_func_ptr
+_DEFUN (_signal_r, (ptr, sig, func),
+ struct _reent *ptr _AND
+ int sig _AND
+ _sig_func_ptr func)
+{
+ _sig_func_ptr old_func, *temp;
+
+ if (sig < 0 || sig >= NSIG)
+ {
+ ptr->_errno = EINVAL;
+ return SIG_ERR;
+ }
+
+ if (ptr->_sig_func == NULL && _init_signal_r (ptr) != 0)
+ return SIG_ERR;
+
+ old_func = ptr->_sig_func[sig];
+ ptr->_sig_func[sig] = func;
+
+ return old_func;
+}
+
+int
+_raise_r (ptr, sig)
+ struct _reent *ptr;
+ int sig;
+{
+ _sig_func_ptr func;
+ int result = 0;
+
+ if (sig < 0 || sig >= NSIG)
+ {
+ ptr->_errno = EINVAL;
+ return -1;
+ }
+
+ if (ptr->_sig_func == NULL && _init_signal_r (ptr) != 0)
+ return -1;
+
+ switch ((_POINTER_INT) ptr->_sig_func[sig])
+ {
+ case SIG_DFL:
+ return _kill_r (ptr, _getpid_r (ptr), sig);
+
+ case SIG_IGN:
+ break;
+
+ case SIG_ERR:
+ ptr->_errno = EINVAL;
+ result = 1;
+ break;
+
+ default:
+ func = ptr->_sig_func[sig];
+ ptr->_sig_func[sig] = SIG_DFL;
+ func (sig);
+ break;
+ }
+
+ return result;
+}
+
+int
+__sigtramp_r (ptr, sig)
+ struct _reent *ptr;
+ int sig;
+{
+ _sig_func_ptr func;
+
+ if (sig < 0 || sig >= NSIG)
+ {
+ return -1;
+ }
+
+ if (ptr->_sig_func == NULL && _init_signal_r (ptr) != 0)
+ return -1;
+
+ switch ((_POINTER_INT) ptr->_sig_func[sig])
+ {
+ case SIG_DFL:
+ return 1;
+
+ case SIG_ERR:
+ return 2;
+
+ case SIG_IGN:
+ return 3;
+
+ default:
+ func = ptr->_sig_func[sig];
+ ptr->_sig_func[sig] = SIG_DFL;
+ func (sig);
+ return 0;
+ }
+}
+
+#ifndef _REENT_ONLY
+
+int
+raise (sig)
+ int sig;
+{
+ return _raise_r (_REENT, sig);
+}
+
+_sig_func_ptr
+_DEFUN (signal, (sig, func),
+ int sig _AND
+ _sig_func_ptr func)
+{
+ return _signal_r (_REENT, sig, func);
+}
+
+int
+_init_signal ()
+{
+ return _init_signal_r (_REENT);
+}
+
+int
+__sigtramp (int sig)
+{
+ return __sigtramp_r (_REENT, sig);
+}
+
+#endif
+
+#endif /* !SIGNAL_PROVIDED */
diff --git a/newlib/libc/signal/signal.tex b/newlib/libc/signal/signal.tex
new file mode 100644
index 00000000000..08c15bed8a1
--- /dev/null
+++ b/newlib/libc/signal/signal.tex
@@ -0,0 +1,70 @@
+@node Signals
+@chapter Signal Handling (@file{signal.h})
+
+A @dfn{signal} is an event that interrupts the normal flow of control
+in your program. Your operating environment normally defines the full
+set of signals available (see @file{sys/signal.h}), as well as the
+default means of dealing with them---typically, either printing an
+error message and aborting your program, or ignoring the signal.
+
+All systems support at least the following signals:
+@table @code
+@item SIGABRT
+Abnormal termination of a program; raised by the <<abort>> function.
+
+@item SIGFPE
+A domain error in arithmetic, such as overflow, or division by zero.
+
+@item SIGILL
+Attempt to execute as a function data that is not executable.
+
+@item SIGINT
+Interrupt; an interactive attention signal.
+
+@item SIGSEGV
+An attempt to access a memory location that is not available.
+
+@item SIGTERM
+A request that your program end execution.
+@end table
+
+Two functions are available for dealing with asynchronous
+signals---one to allow your program to send signals to itself (this is
+called @dfn{raising} a signal), and one to specify subroutines (called
+@dfn{handlers} to handle particular signals that you anticipate may
+occur---whether raised by your own program or the operating environment.
+
+To support these functions, @file{signal.h} defines three macros:
+
+@table @code
+@item SIG_DFL
+Used with the @code{signal} function in place of a pointer to a
+handler subroutine, to select the operating environment's default
+handling of a signal.
+
+@item SIG_IGN
+Used with the @code{signal} function in place of a pointer to a
+handler, to ignore a particular signal.
+
+@item SIG_ERR
+Returned by the @code{signal} function in place of a pointer to a
+handler, to indicate that your request to set up a handler could not
+be honored for some reason.
+@end table
+
+@file{signal.h} also defines an integral type, @code{sig_atomic_t}.
+This type is not used in any function declarations; it exists only to
+allow your signal handlers to declare a static storage location where
+they may store a signal value. (Static storage is not otherwise
+reliable from signal handlers.)
+
+@menu
+* raise:: Send a signal
+* signal:: Specify handler subroutine for a signal
+@end menu
+
+@page
+@include signal/raise.def
+
+@page
+@include signal/signal.def
diff --git a/newlib/libc/stdio/Makefile.am b/newlib/libc/stdio/Makefile.am
new file mode 100644
index 00000000000..234da49b645
--- /dev/null
+++ b/newlib/libc/stdio/Makefile.am
@@ -0,0 +1,161 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ clearerr.c \
+ fclose.c \
+ fdopen.c \
+ feof.c \
+ ferror.c \
+ fflush.c \
+ fgetc.c \
+ fgetpos.c \
+ fgets.c \
+ fileno.c \
+ findfp.c \
+ fiprintf.c \
+ flags.c \
+ fopen.c \
+ fprintf.c \
+ fputc.c \
+ fputs.c \
+ fread.c \
+ freopen.c \
+ fscanf.c \
+ fseek.c \
+ fsetpos.c \
+ ftell.c \
+ fvwrite.c \
+ fwalk.c \
+ fwrite.c \
+ getc.c \
+ getchar.c \
+ gets.c \
+ iprintf.c \
+ makebuf.c \
+ mktemp.c \
+ perror.c \
+ printf.c \
+ putc.c \
+ putchar.c \
+ puts.c \
+ refill.c \
+ remove.c \
+ rename.c \
+ rewind.c \
+ rget.c \
+ scanf.c \
+ setbuf.c \
+ setvbuf.c \
+ siprintf.c \
+ snprintf.c \
+ sprintf.c \
+ sscanf.c \
+ stdio.c \
+ tmpfile.c \
+ tmpnam.c \
+ ungetc.c \
+ vfprintf.c \
+ vfscanf.c \
+ vprintf.c \
+ vsnprintf.c \
+ vsprintf.c \
+ wbuf.c \
+ wsetup.c
+
+lib_a_LIBADD = vfiprintf.o
+
+vfiprintf.o: vfprintf.c
+ $(COMPILE) -DINTEGER_ONLY -c $(srcdir)/vfprintf.c -o $@
+
+CHEWOUT_FILES = \
+ clearerr.def \
+ fclose.def \
+ fdopen.def \
+ feof.def \
+ ferror.def \
+ fflush.def \
+ fgetc.def \
+ fgetpos.def \
+ fgets.def \
+ fileno.def \
+ fiprintf.def \
+ fopen.def \
+ fputc.def \
+ fputs.def \
+ fread.def \
+ freopen.def \
+ fseek.def \
+ fsetpos.def \
+ ftell.def \
+ fwrite.def \
+ getc.def \
+ getchar.def \
+ gets.def \
+ iprintf.def \
+ mktemp.def \
+ perror.def \
+ putc.def \
+ putchar.def \
+ puts.def \
+ remove.def \
+ rename.def \
+ rewind.def \
+ setbuf.def \
+ setvbuf.def \
+ siprintf.def \
+ sprintf.def \
+ sscanf.def \
+ tmpfile.def \
+ tmpnam.def \
+ vfprintf.def
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+TARGETDOC = ../tmp.texi
+
+doc: $(CHEWOUT_FILES)
+ cat $(srcdir)/stdio.tex >> $(TARGETDOC)
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
+
+fclose.o: local.h
+fdopen.o: local.h
+fflush.o: local.h
+findfp.o: local.h
+fopen.o: local.h
+fputs.o: fvwrite.h
+fread.o: local.h
+freopen.o: local.h
+fseek.o: local.h
+ftell.o: local.h
+fvwrite.o: local.h fvwrite.h
+fwalk.o: local.h
+fwrite.o: local.h fvwrite.h
+makebuf.o: local.h
+puts.o: fvwrite.h
+refill.o: local.h
+scanf.o: local.h
+setbuf.o: local.h
+setvbuf.o: local.h
+siprintf.o: local.h
+sprintf.o: local.h
+sscanf.o: local.h
+stdio.o: local.h
+ungetc.o: local.h
+vfiprintf.o: local.h
+vfprintf.o: local.h
+vfscanf.o: local.h floatio.h
+wbuf.o: local.h fvwrite.h
+wsetup.o: local.h
diff --git a/newlib/libc/stdio/Makefile.in b/newlib/libc/stdio/Makefile.in
new file mode 100644
index 00000000000..ff2a838455a
--- /dev/null
+++ b/newlib/libc/stdio/Makefile.in
@@ -0,0 +1,441 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+CRT0 = @CRT0@
+EXEEXT = @EXEEXT@
+LIBC_MACHINE_LIB = @LIBC_MACHINE_LIB@
+LIBC_POSIX_LIB = @LIBC_POSIX_LIB@
+LIBC_SIGNAL_DEF = @LIBC_SIGNAL_DEF@
+LIBC_SIGNAL_LIB = @LIBC_SIGNAL_LIB@
+LIBC_SYSCALL_LIB = @LIBC_SYSCALL_LIB@
+LIBC_SYS_LIB = @LIBC_SYS_LIB@
+LIBC_UNIX_LIB = @LIBC_UNIX_LIB@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ clearerr.c \
+ fclose.c \
+ fdopen.c \
+ feof.c \
+ ferror.c \
+ fflush.c \
+ fgetc.c \
+ fgetpos.c \
+ fgets.c \
+ fileno.c \
+ findfp.c \
+ fiprintf.c \
+ flags.c \
+ fopen.c \
+ fprintf.c \
+ fputc.c \
+ fputs.c \
+ fread.c \
+ freopen.c \
+ fscanf.c \
+ fseek.c \
+ fsetpos.c \
+ ftell.c \
+ fvwrite.c \
+ fwalk.c \
+ fwrite.c \
+ getc.c \
+ getchar.c \
+ gets.c \
+ iprintf.c \
+ makebuf.c \
+ mktemp.c \
+ perror.c \
+ printf.c \
+ putc.c \
+ putchar.c \
+ puts.c \
+ refill.c \
+ remove.c \
+ rename.c \
+ rewind.c \
+ rget.c \
+ scanf.c \
+ setbuf.c \
+ setvbuf.c \
+ siprintf.c \
+ snprintf.c \
+ sprintf.c \
+ sscanf.c \
+ stdio.c \
+ tmpfile.c \
+ tmpnam.c \
+ ungetc.c \
+ vfprintf.c \
+ vfscanf.c \
+ vprintf.c \
+ vsnprintf.c \
+ vsprintf.c \
+ wbuf.c \
+ wsetup.c
+
+
+lib_a_LIBADD = vfiprintf.o
+
+CHEWOUT_FILES = \
+ clearerr.def \
+ fclose.def \
+ fdopen.def \
+ feof.def \
+ ferror.def \
+ fflush.def \
+ fgetc.def \
+ fgetpos.def \
+ fgets.def \
+ fileno.def \
+ fiprintf.def \
+ fopen.def \
+ fputc.def \
+ fputs.def \
+ fread.def \
+ freopen.def \
+ fseek.def \
+ fsetpos.def \
+ ftell.def \
+ fwrite.def \
+ getc.def \
+ getchar.def \
+ gets.def \
+ iprintf.def \
+ mktemp.def \
+ perror.def \
+ putc.def \
+ putchar.def \
+ puts.def \
+ remove.def \
+ rename.def \
+ rewind.def \
+ setbuf.def \
+ setvbuf.def \
+ siprintf.def \
+ sprintf.def \
+ sscanf.def \
+ tmpfile.def \
+ tmpnam.def \
+ vfprintf.def
+
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+TARGETDOC = ../tmp.texi
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_DEPENDENCIES = vfiprintf.o
+lib_a_OBJECTS = clearerr.o fclose.o fdopen.o feof.o ferror.o fflush.o \
+fgetc.o fgetpos.o fgets.o fileno.o findfp.o fiprintf.o flags.o fopen.o \
+fprintf.o fputc.o fputs.o fread.o freopen.o fscanf.o fseek.o fsetpos.o \
+ftell.o fvwrite.o fwalk.o fwrite.o getc.o getchar.o gets.o iprintf.o \
+makebuf.o mktemp.o perror.o printf.o putc.o putchar.o puts.o refill.o \
+remove.o rename.o rewind.o rget.o scanf.o setbuf.o setvbuf.o siprintf.o \
+snprintf.o sprintf.o sscanf.o stdio.o tmpfile.o tmpnam.o ungetc.o \
+vfprintf.o vfscanf.o vprintf.o vsnprintf.o vsprintf.o wbuf.o wsetup.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .def .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus stdio/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = stdio
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am:
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-info-am:
+install-info: install-info-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am:
+uninstall: uninstall-am
+all-am: Makefile $(LIBRARIES)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-noinstLIBRARIES distclean-compile \
+ distclean-tags distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-info-am install-info \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+vfiprintf.o: vfprintf.c
+ $(COMPILE) -DINTEGER_ONLY -c $(srcdir)/vfprintf.c -o $@
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+doc: $(CHEWOUT_FILES)
+ cat $(srcdir)/stdio.tex >> $(TARGETDOC)
+
+fclose.o: local.h
+fdopen.o: local.h
+fflush.o: local.h
+findfp.o: local.h
+fopen.o: local.h
+fputs.o: fvwrite.h
+fread.o: local.h
+freopen.o: local.h
+fseek.o: local.h
+ftell.o: local.h
+fvwrite.o: local.h fvwrite.h
+fwalk.o: local.h
+fwrite.o: local.h fvwrite.h
+makebuf.o: local.h
+puts.o: fvwrite.h
+refill.o: local.h
+scanf.o: local.h
+setbuf.o: local.h
+setvbuf.o: local.h
+siprintf.o: local.h
+sprintf.o: local.h
+sscanf.o: local.h
+stdio.o: local.h
+ungetc.o: local.h
+vfiprintf.o: local.h
+vfprintf.o: local.h
+vfscanf.o: local.h floatio.h
+wbuf.o: local.h fvwrite.h
+wsetup.o: local.h
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/stdio/clearerr.c b/newlib/libc/stdio/clearerr.c
new file mode 100644
index 00000000000..861d9a211ea
--- /dev/null
+++ b/newlib/libc/stdio/clearerr.c
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+FUNCTION
+<<clearerr>>---clear file or stream error indicator
+
+INDEX
+ clearerr
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ void clearerr(FILE *<[fp]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ void clearerr(<[fp]>)
+ FILE *<[fp]>;
+
+DESCRIPTION
+The <<stdio>> functions maintain an error indicator with each file
+pointer <[fp]>, to record whether any read or write errors have
+occurred on the associated file or stream. Similarly, it maintains an
+end-of-file indicator to record whether there is no more data in the
+file.
+
+Use <<clearerr>> to reset both of these indicators.
+
+See <<ferror>> and <<feof>> to query the two indicators.
+
+
+RETURNS
+<<clearerr>> does not return a result.
+
+PORTABILITY
+ANSI C requires <<clearerr>>.
+
+No supporting OS subroutines are required.
+*/
+
+#include <stdio.h>
+#undef clearerr
+
+_VOID
+_DEFUN (clearerr, (fp),
+ FILE * fp)
+{
+ __sclearerr (fp);
+}
diff --git a/newlib/libc/stdio/fclose.c b/newlib/libc/stdio/fclose.c
new file mode 100644
index 00000000000..3266d8a5509
--- /dev/null
+++ b/newlib/libc/stdio/fclose.c
@@ -0,0 +1,82 @@
+/*
+FUNCTION
+<<fclose>>---close a file
+
+INDEX
+ fclose
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ int fclose(FILE *<[fp]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ int fclose(<[fp]>)
+ FILE *<[fp]>;
+
+DESCRIPTION
+If the file or stream identified by <[fp]> is open, <<fclose>> closes
+it, after first ensuring that any pending data is written (by calling
+<<fflush(<[fp]>)>>).
+
+RETURNS
+<<fclose>> returns <<0>> if successful (including when <[fp]> is
+<<NULL>> or not an open file); otherwise, it returns <<EOF>>.
+
+PORTABILITY
+<<fclose>> is required by ANSI C.
+
+Required OS subroutines: <<close>>, <<fstat>>, <<isatty>>, <<lseek>>,
+<<read>>, <<sbrk>>, <<write>>.
+*/
+
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "local.h"
+
+/*
+ * Close a file.
+ */
+
+int
+_DEFUN (fclose, (fp),
+ register FILE * fp)
+{
+ int r;
+
+ if (fp == NULL)
+ return (0); /* on NULL */
+
+ CHECK_INIT (fp);
+
+ if (fp->_flags == 0) /* not open! */
+ return (0);
+ r = fp->_flags & __SWR ? fflush (fp) : 0;
+ if (fp->_close != NULL && (*fp->_close) (fp->_cookie) < 0)
+ r = EOF;
+ if (fp->_flags & __SMBF)
+ _free_r (fp->_data, (char *) fp->_bf._base);
+ if (HASUB (fp))
+ FREEUB (fp);
+ if (HASLB (fp))
+ FREELB (fp);
+ fp->_flags = 0; /* release this FILE for reuse */
+ return (r);
+}
diff --git a/newlib/libc/stdio/fdopen.c b/newlib/libc/stdio/fdopen.c
new file mode 100644
index 00000000000..50698cbf678
--- /dev/null
+++ b/newlib/libc/stdio/fdopen.c
@@ -0,0 +1,116 @@
+/*
+FUNCTION
+<<fdopen>>---turn open file into a stream
+
+INDEX
+ fdopen
+INDEX
+ _fdopen_r
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ FILE *fdopen(int <[fd]>, const char *<[mode]>);
+ FILE *_fdopen_r(void *<[reent]>,
+ int <[fd]>, const char *<[mode]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ FILE *fdopen(<[fd]>, <[mode]>)
+ int <[fd]>;
+ char *<[mode]>;
+
+ FILE *_fdopen_r(<[reent]>, <[fd]>, <[mode]>)
+ char *<[reent]>;
+ int <[fd]>;
+ char *<[mode]>);
+
+DESCRIPTION
+<<fdopen>> produces a file descriptor of type <<FILE *>>, from a
+descriptor for an already-open file (returned, for example, by the
+system subroutine <<open>> rather than by <<fopen>>).
+The <[mode]> argument has the same meanings as in <<fopen>>.
+
+RETURNS
+File pointer or <<NULL>>, as for <<fopen>>.
+
+PORTABILITY
+<<fdopen>> is ANSI.
+*/
+
+#include <sys/types.h>
+#include <sys/fcntl.h>
+
+#include <stdio.h>
+#include <errno.h>
+#include "local.h"
+#include <_syslist.h>
+
+extern int __sflags ();
+
+FILE *
+_DEFUN (_fdopen_r, (ptr, fd, mode),
+ struct _reent *ptr _AND
+ int fd _AND
+ _CONST char *mode)
+{
+ register FILE *fp;
+ int flags, oflags;
+#ifdef F_GETFL
+ int fdflags, fdmode;
+#endif
+
+ if ((flags = __sflags (ptr, mode, &oflags)) == 0)
+ return 0;
+
+ /* make sure the mode the user wants is a subset of the actual mode */
+#ifdef F_GETFL
+ if ((fdflags = _fcntl (fd, F_GETFL, 0)) < 0)
+ return 0;
+ fdmode = fdflags & O_ACCMODE;
+ if (fdmode != O_RDWR && (fdmode != (oflags & O_ACCMODE)))
+ {
+ ptr->_errno = EBADF;
+ return 0;
+ }
+#endif
+
+ if ((fp = __sfp (ptr)) == 0)
+ return 0;
+ fp->_flags = flags;
+ /*
+ * If opened for appending, but underlying descriptor
+ * does not have O_APPEND bit set, assert __SAPP so that
+ * __swrite() will lseek to end before each write.
+ */
+ if ((oflags & O_APPEND)
+#ifdef F_GETFL
+ && !(fdflags & O_APPEND)
+#endif
+ )
+ fp->_flags |= __SAPP;
+ fp->_file = fd;
+ fp->_cookie = (_PTR) fp;
+
+#undef _read
+#undef _write
+#undef _seek
+#undef _close
+
+ fp->_read = __sread;
+ fp->_write = __swrite;
+ fp->_seek = __sseek;
+ fp->_close = __sclose;
+ return fp;
+}
+
+#ifndef _REENT_ONLY
+
+FILE *
+_DEFUN (fdopen, (fd, mode),
+ int fd _AND
+ _CONST char *mode)
+{
+ return _fdopen_r (_REENT, fd, mode);
+}
+
+#endif
diff --git a/newlib/libc/stdio/feof.c b/newlib/libc/stdio/feof.c
new file mode 100644
index 00000000000..55f151bd406
--- /dev/null
+++ b/newlib/libc/stdio/feof.c
@@ -0,0 +1,40 @@
+/*
+FUNCTION
+<<feof>>---test for end of file
+
+INDEX
+ feof
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ int feof(FILE *<[fp]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ int feof(<[fp]>)
+ FILE *<[fp]>;
+
+DESCRIPTION
+<<feof>> tests whether or not the end of the file identified by <[fp]>
+has been reached.
+
+RETURNS
+<<feof>> returns <<0>> if the end of file has not yet been reached; if
+at end of file, the result is nonzero.
+
+PORTABILITY
+<<feof>> is required by ANSI C.
+
+No supporting OS subroutines are required.
+*/
+
+#include <stdio.h>
+
+#undef feof
+
+int
+_DEFUN (feof, (fp),
+ FILE * fp)
+{
+ return __sfeof (fp);
+}
diff --git a/newlib/libc/stdio/ferror.c b/newlib/libc/stdio/ferror.c
new file mode 100644
index 00000000000..19fa78d14eb
--- /dev/null
+++ b/newlib/libc/stdio/ferror.c
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+FUNCTION
+<<ferror>>---test whether read/write error has occurred
+
+INDEX
+ ferror
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ int ferror(FILE *<[fp]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ int ferror(<[fp]>)
+ FILE *<[fp]>;
+
+DESCRIPTION
+The <<stdio>> functions maintain an error indicator with each file
+pointer <[fp]>, to record whether any read or write errors have
+occurred on the associated file or stream.
+Use <<ferror>> to query this indicator.
+
+See <<clearerr>> to reset the error indicator.
+
+RETURNS
+<<ferror>> returns <<0>> if no errors have occurred; it returns a
+nonzero value otherwise.
+
+PORTABILITY
+ANSI C requires <<ferror>>.
+
+No supporting OS subroutines are required.
+*/
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "%W% (Berkeley) %G%";
+#endif /* LIBC_SCCS and not lint */
+
+#include <stdio.h>
+
+/* A subroutine version of the macro ferror. */
+
+#undef ferror
+
+int
+_DEFUN (ferror, (fp),
+ FILE * fp)
+{
+ return __sferror (fp);
+}
diff --git a/newlib/libc/stdio/fflush.c b/newlib/libc/stdio/fflush.c
new file mode 100644
index 00000000000..635e5a7380c
--- /dev/null
+++ b/newlib/libc/stdio/fflush.c
@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+FUNCTION
+<<fflush>>---flush buffered file output
+
+INDEX
+ fflush
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ int fflush(FILE *<[fp]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ int fflush(<[fp]>)
+ FILE *<[fp]>;
+
+DESCRIPTION
+The <<stdio>> output functions can buffer output before delivering it
+to the host system, in order to minimize the overhead of system calls.
+
+Use <<fflush>> to deliver any such pending output (for the file
+or stream identified by <[fp]>) to the host system.
+
+If <[fp]> is <<NULL>>, <<fflush>> delivers pending output from all
+open files.
+
+RETURNS
+<<fflush>> returns <<0>> unless it encounters a write error; in that
+situation, it returns <<EOF>>.
+
+PORTABILITY
+ANSI C requires <<fflush>>.
+
+No supporting OS subroutines are required.
+*/
+
+#include <stdio.h>
+#include "local.h"
+
+/* Flush a single file, or (if fp is NULL) all files. */
+
+int
+_DEFUN (fflush, (fp),
+ register FILE * fp)
+{
+ register unsigned char *p;
+ register int n, t;
+
+
+
+
+ if (fp == NULL)
+ return _fwalk (_REENT, fflush);
+
+ CHECK_INIT (fp);
+
+ t = fp->_flags;
+ if ((t & __SWR) == 0 || (p = fp->_bf._base) == NULL)
+ return 0;
+ n = fp->_p - p; /* write this much */
+
+ /*
+ * Set these immediately to avoid problems with longjmp
+ * and to allow exchange buffering (via setvbuf) in user
+ * write function.
+ */
+ fp->_p = p;
+ fp->_w = t & (__SLBF | __SNBF) ? 0 : fp->_bf._size;
+
+ while (n > 0)
+ {
+ t = (*fp->_write) (fp->_cookie, (char *) p, n);
+ if (t <= 0)
+ {
+ fp->_flags |= __SERR;
+ return EOF;
+ }
+ p += t;
+ n -= t;
+ }
+ return 0;
+}
diff --git a/newlib/libc/stdio/fgetc.c b/newlib/libc/stdio/fgetc.c
new file mode 100644
index 00000000000..3d3d2c4edaa
--- /dev/null
+++ b/newlib/libc/stdio/fgetc.c
@@ -0,0 +1,46 @@
+/*
+FUNCTION
+<<fgetc>>---get a character from a file or stream
+
+INDEX
+ fgetc
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ int fgetc(FILE *<[fp]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ int fgetc(<[fp]>)
+ FILE *<[fp]>;
+
+DESCRIPTION
+Use <<fgetc>> to get the next single character from the file or stream
+identified by <[fp]>. As a side effect, <<fgetc>> advances the file's
+current position indicator.
+
+For a macro version of this function, see <<getc>>.
+
+RETURNS
+The next character (read as an <<unsigned char>>, and cast to
+<<int>>), unless there is no more data, or the host system reports a
+read error; in either of these situations, <<fgetc>> returns <<EOF>>.
+
+You can distinguish the two situations that cause an <<EOF>> result by
+using the <<ferror>> and <<feof>> functions.
+
+PORTABILITY
+ANSI C requires <<fgetc>>.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#include <stdio.h>
+
+int
+_DEFUN (fgetc, (fp),
+ FILE * fp)
+{
+ return __sgetc (fp);
+}
diff --git a/newlib/libc/stdio/fgetpos.c b/newlib/libc/stdio/fgetpos.c
new file mode 100644
index 00000000000..214021a8420
--- /dev/null
+++ b/newlib/libc/stdio/fgetpos.c
@@ -0,0 +1,61 @@
+/*
+FUNCTION
+<<fgetpos>>---record position in a stream or file
+
+INDEX
+ fgetpos
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ int fgetpos(FILE *<[fp]>, fpos_t *<[pos]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ int fgetpos(<[fp]>, <[pos]>)
+ FILE *<[fp]>;
+ fpos_t *<[pos]>;
+
+DESCRIPTION
+Objects of type <<FILE>> can have a ``position'' that records how much
+of the file your program has already read. Many of the <<stdio>> functions
+depend on this position, and many change it as a side effect.
+
+You can use <<fgetpos>> to report on the current position for a file
+identified by <[fp]>; <<fgetpos>> will write a value
+representing that position at <<*<[pos]>>>. Later, you can
+use this value with <<fsetpos>> to return the file to this
+position.
+
+In the current implementation, <<fgetpos>> simply uses a character
+count to represent the file position; this is the same number that
+would be returned by <<ftell>>.
+
+RETURNS
+<<fgetpos>> returns <<0>> when successful. If <<fgetpos>> fails, the
+result is <<1>>. Failure occurs on streams that do not support
+positioning; the global <<errno>> indicates this condition with the
+value <<ESPIPE>>.
+
+PORTABILITY
+<<fgetpos>> is required by the ANSI C standard, but the meaning of the
+value it records is not specified beyond requiring that it be
+acceptable as an argument to <<fsetpos>>. In particular, other
+conforming C implementations may return a different result from
+<<ftell>> than what <<fgetpos>> writes at <<*<[pos]>>>.
+
+No supporting OS subroutines are required.
+*/
+
+#include <stdio.h>
+
+int
+_DEFUN (fgetpos, (fp, pos),
+ FILE * fp _AND
+ fpos_t * pos)
+{
+ *pos = ftell (fp);
+
+ if (*pos != -1)
+ return 0;
+ return 1;
+}
diff --git a/newlib/libc/stdio/fgets.c b/newlib/libc/stdio/fgets.c
new file mode 100644
index 00000000000..abc2bb97c9e
--- /dev/null
+++ b/newlib/libc/stdio/fgets.c
@@ -0,0 +1,127 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+
+FUNCTION
+ <<fgets>>---get character string from a file or stream
+INDEX
+ fgets
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ char *fgets(char *<[buf]>, int <[n]>, FILE *<[fp]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ char *fgets(<[buf]>,<[n]>,<[fp]>)
+ char *<[buf]>;
+ int <[n]>;
+ FILE *<[fp]>;
+
+DESCRIPTION
+ Reads at most <[n-1]> characters from <[fp]> until a newline
+ is found. The characters including to the newline are stored
+ in <[buf]>. The buffer is terminated with a 0.
+
+
+RETURNS
+ <<fgets>> returns the buffer passed to it, with the data
+ filled in. If end of file occurs with some data already
+ accumulated, the data is returned with no other indication. If
+ no data are read, NULL is returned instead.
+
+PORTABILITY
+ <<fgets>> should replace all uses of <<gets>>. Note however
+ that <<fgets>> returns all of the data, while <<gets>> removes
+ the trailing newline (with no indication that it has done so.)
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#include <stdio.h>
+#include <string.h>
+
+extern int __srefill ();
+
+/*
+ * Read at most n-1 characters from the given file.
+ * Stop when a newline has been read, or the count runs out.
+ * Return first argument, or NULL if no characters were read.
+ */
+
+char *
+_DEFUN (fgets, (buf, n, fp),
+ char *buf _AND
+ int n _AND
+ FILE * fp)
+{
+ size_t len;
+ char *s;
+ unsigned char *p, *t;
+
+ if (n < 2) /* sanity check */
+ return 0;
+
+ s = buf;
+ n--; /* leave space for NUL */
+ do
+ {
+ /*
+ * If the buffer is empty, refill it.
+ */
+ if ((len = fp->_r) <= 0)
+ {
+ if (__srefill (fp))
+ {
+ /* EOF: stop with partial or no line */
+ if (s == buf)
+ return 0;
+ break;
+ }
+ len = fp->_r;
+ }
+ p = fp->_p;
+
+ /*
+ * Scan through at most n bytes of the current buffer,
+ * looking for '\n'. If found, copy up to and including
+ * newline, and stop. Otherwise, copy entire chunk
+ * and loop.
+ */
+ if (len > n)
+ len = n;
+ t = (unsigned char *) memchr ((_PTR) p, '\n', len);
+ if (t != 0)
+ {
+ len = ++t - p;
+ fp->_r -= len;
+ fp->_p = t;
+ (void) memcpy ((_PTR) s, (_PTR) p, len);
+ s[len] = 0;
+ return (buf);
+ }
+ fp->_r -= len;
+ fp->_p += len;
+ (void) memcpy ((_PTR) s, (_PTR) p, len);
+ s += len;
+ }
+ while ((n -= len) != 0);
+ *s = 0;
+ return buf;
+}
diff --git a/newlib/libc/stdio/fileno.c b/newlib/libc/stdio/fileno.c
new file mode 100644
index 00000000000..d578c3ede2f
--- /dev/null
+++ b/newlib/libc/stdio/fileno.c
@@ -0,0 +1,40 @@
+/*
+FUNCTION
+<<fileno>>---return file descriptor associated with stream
+
+INDEX
+ fileno
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ int fileno(FILE *<[fp]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ int fileno(<[fp]>)
+ FILE *<[fp]>;
+
+DESCRIPTION
+You can use <<fileno>> to return the file descriptor identified by <[fp]>.
+
+RETURNS
+<<fileno>> returns a non-negative integer when successful.
+If <[fp]> is not an open stream, <<fileno>> returns -1.
+
+PORTABILITY
+<<fileno>> is not part of ANSI C.
+POSIX requires <<fileno>>.
+
+Supporting OS subroutines required: none.
+*/
+
+#include <stdio.h>
+#include "local.h"
+
+int
+_DEFUN (fileno, (f),
+ FILE * f)
+{
+ CHECK_INIT (f);
+ return __sfileno (f);
+}
diff --git a/newlib/libc/stdio/findfp.c b/newlib/libc/stdio/findfp.c
new file mode 100644
index 00000000000..650c638e6a6
--- /dev/null
+++ b/newlib/libc/stdio/findfp.c
@@ -0,0 +1,153 @@
+/* No user fns here. Pesch 15apr92. */
+
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <string.h>
+#include "local.h"
+
+static void
+std (ptr, flags, file, data)
+ FILE *ptr;
+ struct _reent *data;
+{
+ ptr->_p = 0;
+ ptr->_r = 0;
+ ptr->_w = 0;
+ ptr->_flags = flags;
+ ptr->_file = file;
+ ptr->_bf._base = 0;
+ ptr->_bf._size = 0;
+ ptr->_lbfsize = 0;
+ ptr->_cookie = ptr;
+ ptr->_read = __sread;
+ ptr->_write = __swrite;
+ ptr->_seek = __sseek;
+ ptr->_close = __sclose;
+ ptr->_data = data;
+}
+
+struct _glue *
+__sfmoreglue (d, n)
+ struct _reent *d;
+ register int n;
+{
+ struct _glue *g;
+ FILE *p;
+
+ g = (struct _glue *) _malloc_r (d, sizeof (*g) + n * sizeof (FILE));
+ if (g == NULL)
+ return NULL;
+ p = (FILE *) (g + 1);
+ g->_next = NULL;
+ g->_niobs = n;
+ g->_iobs = p;
+ memset (p, 0, n * sizeof (FILE));
+ return g;
+}
+
+/*
+ * Find a free FILE for fopen et al.
+ */
+
+FILE *
+__sfp (d)
+ struct _reent *d;
+{
+ FILE *fp;
+ int n;
+ struct _glue *g;
+
+ if (!d->__sdidinit)
+ __sinit (d);
+ for (g = &d->__sglue;; g = g->_next)
+ {
+ for (fp = g->_iobs, n = g->_niobs; --n >= 0; fp++)
+ if (fp->_flags == 0)
+ goto found;
+ if (g->_next == NULL &&
+ (g->_next = __sfmoreglue (d, NDYNAMIC)) == NULL)
+ break;
+ }
+ d->_errno = ENOMEM;
+ return NULL;
+
+found:
+ fp->_flags = 1; /* reserve this slot; caller sets real flags */
+ fp->_p = NULL; /* no current pointer */
+ fp->_w = 0; /* nothing to read or write */
+ fp->_r = 0;
+ fp->_bf._base = NULL; /* no buffer */
+ fp->_bf._size = 0;
+ fp->_lbfsize = 0; /* not line buffered */
+ fp->_file = -1; /* no file */
+ /* fp->_cookie = <any>; */ /* caller sets cookie, _read/_write etc */
+ fp->_ub._base = NULL; /* no ungetc buffer */
+ fp->_ub._size = 0;
+ fp->_lb._base = NULL; /* no line buffer */
+ fp->_lb._size = 0;
+ fp->_data = d;
+ return fp;
+}
+
+/*
+ * exit() calls _cleanup() through *__cleanup, set whenever we
+ * open or buffer a file. This chicanery is done so that programs
+ * that do not use stdio need not link it all in.
+ *
+ * The name `_cleanup' is, alas, fairly well known outside stdio.
+ */
+
+void
+_cleanup_r (ptr)
+ struct _reent *ptr;
+{
+ /* (void) _fwalk(fclose); */
+ (void) _fwalk (ptr, fflush); /* `cheating' */
+}
+
+#ifndef _REENT_ONLY
+void
+_cleanup ()
+{
+ _cleanup_r (_REENT);
+}
+#endif
+
+/*
+ * __sinit() is called whenever stdio's internal variables must be set up.
+ */
+
+void
+__sinit (s)
+ struct _reent *s;
+{
+ /* make sure we clean up on exit */
+ s->__cleanup = _cleanup_r; /* conservative */
+ s->__sdidinit = 1;
+
+ std (s->__sf + 0, __SRD, 0, s);
+ std (s->__sf + 1, __SWR | __SLBF, 1, s);
+ std (s->__sf + 2, __SWR | __SNBF, 2, s);
+
+ s->__sglue._next = NULL;
+ s->__sglue._niobs = 3;
+ s->__sglue._iobs = &s->__sf[0];
+}
diff --git a/newlib/libc/stdio/fiprintf.c b/newlib/libc/stdio/fiprintf.c
new file mode 100644
index 00000000000..d490ef403f7
--- /dev/null
+++ b/newlib/libc/stdio/fiprintf.c
@@ -0,0 +1,77 @@
+/*
+FUNCTION
+ <<fiprintf>>---format output to file (integer only)
+INDEX
+ fiprintf
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+
+ int fiprintf(FILE *<[fd]>, const char *<[format]>, ...);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+
+ int fiprintf(<[fd]>, <[format]> [, <[arg]>, ...]);
+ FILE *<[fd]>;
+ char *<[format]>;
+
+DESCRIPTION
+<<fiprintf>> is a restricted version of <<fprintf>>: it has the same
+arguments and behavior, save that it cannot perform any floating-point
+formatting---the <<f>>, <<g>>, <<G>>, <<e>>, and <<F>> type specifiers
+are not recognized.
+
+RETURNS
+ <<fiprintf>> returns the number of bytes in the output string,
+ save that the concluding <<NULL>> is not counted.
+ <<fiprintf>> returns when the end of the format string is
+ encountered. If an error occurs, <<fiprintf>>
+ returns <<EOF>>.
+
+PORTABILITY
+<<fiprintf>> is not required by ANSI C.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#include <_ansi.h>
+#include <stdio.h>
+
+#ifdef _HAVE_STDC
+
+#include <stdarg.h>
+
+int
+fiprintf (FILE * fp, const char *fmt,...)
+{
+ int ret;
+ va_list ap;
+
+ va_start (ap, fmt);
+ ret = vfiprintf (fp, fmt, ap);
+ va_end (ap);
+ return ret;
+}
+
+#else
+
+#include <varargs.h>
+
+int
+fiprintf (fp, fmt, va_alist)
+ FILE *fp;
+ char *fmt;
+ va_dcl
+{
+ int ret;
+ va_list ap;
+
+ va_start (ap);
+ ret = vfiprintf (fp, fmt, ap);
+ va_end (ap);
+ return ret;
+}
+
+#endif
diff --git a/newlib/libc/stdio/flags.c b/newlib/libc/stdio/flags.c
new file mode 100644
index 00000000000..6d62bd5bc20
--- /dev/null
+++ b/newlib/libc/stdio/flags.c
@@ -0,0 +1,87 @@
+/* No user fns here. Pesch 15apr92 */
+
+/*
+ * Copyright (c) 1990 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include <stdio.h>
+#include <time.h>
+#include <fcntl.h>
+
+#include <errno.h>
+#include <sys/types.h>
+
+/*
+ * Return the (stdio) flags for a given mode. Store the flags
+ * to be passed to an open() syscall through *optr.
+ * Return 0 on error.
+ */
+
+int
+__sflags (ptr, mode, optr)
+ struct _reent *ptr;
+ register char *mode;
+ int *optr;
+{
+ register int ret, m, o;
+
+ switch (mode[0])
+ {
+ case 'r': /* open for reading */
+ ret = __SRD;
+ m = O_RDONLY;
+ o = 0;
+ break;
+
+ case 'w': /* open for writing */
+ ret = __SWR;
+ m = O_WRONLY;
+ o = O_CREAT | O_TRUNC;
+ break;
+
+ case 'a': /* open for appending */
+ ret = __SWR | __SAPP;
+ m = O_WRONLY;
+ o = O_CREAT | O_APPEND;
+ break;
+ default: /* illegal mode */
+ ptr->_errno = EINVAL;
+ return (0);
+ }
+ if (mode[1] == '+' || mode[2] == '+')
+ {
+ ret = __SRW;
+ m = O_RDWR;
+ }
+ if (mode[1] == 'b' || mode[2] == 'b')
+ {
+#ifdef O_BINARY
+ m |= O_BINARY;
+#endif
+ }
+#ifdef __CYGWIN__
+ else if (mode[1] == 't' || mode[2] == 't')
+#else
+ else
+#endif
+ {
+#ifdef O_TEXT
+ m |= O_TEXT;
+#endif
+ }
+ *optr = m | o;
+ return ret;
+}
diff --git a/newlib/libc/stdio/floatio.h b/newlib/libc/stdio/floatio.h
new file mode 100644
index 00000000000..d9577b2b24f
--- /dev/null
+++ b/newlib/libc/stdio/floatio.h
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * %W% (Berkeley) %G%
+ */
+
+/*
+ * Floating point scanf/printf (input/output) definitions.
+ */
+
+/* 11-bit exponent (VAX G floating point) is 308 decimal digits */
+#define MAXEXP 308
+/* 128 bit fraction takes up 39 decimal digits; max reasonable precision */
+#define MAXFRACT 39
diff --git a/newlib/libc/stdio/fopen.c b/newlib/libc/stdio/fopen.c
new file mode 100644
index 00000000000..30aa54e041c
--- /dev/null
+++ b/newlib/libc/stdio/fopen.c
@@ -0,0 +1,165 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+FUNCTION
+<<fopen>>---open a file
+
+INDEX
+ fopen
+INDEX
+ _fopen_r
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ FILE *fopen(const char *<[file]>, const char *<[mode]>);
+
+ FILE *_fopen_r(void *<[reent]>,
+ const char *<[file]>, const char *<[mode]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ FILE *fopen(<[file]>, <[mode]>)
+ char *<[file]>;
+ char *<[mode]>;
+
+ FILE *_fopen_r(<[reent]>, <[file]>, <[mode]>)
+ char *<[reent]>;
+ char *<[file]>;
+ char *<[mode]>;
+
+DESCRIPTION
+<<fopen>> initializes the data structures needed to read or write a
+file. Specify the file's name as the string at <[file]>, and the kind
+of access you need to the file with the string at <[mode]>.
+
+The alternate function <<_fopen_r>> is a reentrant version.
+The extra argument <[reent]> is a pointer to a reentrancy structure.
+
+Three fundamental kinds of access are available: read, write, and append.
+<<*<[mode]>>> must begin with one of the three characters `<<r>>',
+`<<w>>', or `<<a>>', to select one of these:
+
+o+
+o r
+Open the file for reading; the operation will fail if the file does
+not exist, or if the host system does not permit you to read it.
+
+o w
+Open the file for writing @emph{from the beginning} of the file:
+effectively, this always creates a new file. If the file whose name you
+specified already existed, its old contents are discarded.
+
+o a
+Open the file for appending data, that is writing from the end of
+file. When you open a file this way, all data always goes to the
+current end of file; you cannot change this using <<fseek>>.
+o-
+
+Some host systems distinguish between ``binary'' and ``text'' files.
+Such systems may perform data transformations on data written to, or
+read from, files opened as ``text''.
+If your system is one of these, then you can append a `<<b>>' to any
+of the three modes above, to specify that you are opening the file as
+a binary file (the default is to open the file as a text file).
+
+`<<rb>>', then, means ``read binary''; `<<wb>>', ``write binary''; and
+`<<ab>>', ``append binary''.
+
+To make C programs more portable, the `<<b>>' is accepted on all
+systems, whether or not it makes a difference.
+
+Finally, you might need to both read and write from the same file.
+You can also append a `<<+>>' to any of the three modes, to permit
+this. (If you want to append both `<<b>>' and `<<+>>', you can do it
+in either order: for example, <<"rb+">> means the same thing as
+<<"r+b">> when used as a mode string.)
+
+Use <<"r+">> (or <<"rb+">>) to permit reading and writing anywhere in
+an existing file, without discarding any data; <<"w+">> (or <<"wb+">>)
+to create a new file (or begin by discarding all data from an old one)
+that permits reading and writing anywhere in it; and <<"a+">> (or
+<<"ab+">>) to permit reading anywhere in an existing file, but writing
+only at the end.
+
+RETURNS
+<<fopen>> returns a file pointer which you can use for other file
+operations, unless the file you requested could not be opened; in that
+situation, the result is <<NULL>>. If the reason for failure was an
+invalid string at <[mode]>, <<errno>> is set to <<EINVAL>>.
+
+PORTABILITY
+<<fopen>> is required by ANSI C.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<open>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "%W% (Berkeley) %G%";
+#endif /* LIBC_SCCS and not lint */
+
+#include <stdio.h>
+#include <errno.h>
+#include "local.h"
+
+FILE *
+_DEFUN (_fopen_r, (ptr, file, mode),
+ struct _reent *ptr _AND
+ _CONST char *file _AND
+ _CONST char *mode)
+{
+ register FILE *fp;
+ register int f;
+ int flags, oflags;
+
+ if ((flags = __sflags (ptr, mode, &oflags)) == 0)
+ return NULL;
+ if ((fp = __sfp (ptr)) == NULL)
+ return NULL;
+
+ if ((f = _open_r (fp->_data, file, oflags, 0666)) < 0)
+ {
+ fp->_flags = 0; /* release */
+ return NULL;
+ }
+
+ fp->_file = f;
+ fp->_flags = flags;
+ fp->_cookie = (_PTR) fp;
+ fp->_read = __sread;
+ fp->_write = __swrite;
+ fp->_seek = __sseek;
+ fp->_close = __sclose;
+
+ if (fp->_flags & __SAPP)
+ fseek (fp, 0, SEEK_END);
+
+ return fp;
+}
+
+#ifndef _REENT_ONLY
+
+FILE *
+_DEFUN (fopen, (file, mode),
+ _CONST char *file _AND
+ _CONST char *mode)
+{
+ return _fopen_r (_REENT, file, mode);
+}
+
+#endif
diff --git a/newlib/libc/stdio/fprintf.c b/newlib/libc/stdio/fprintf.c
new file mode 100644
index 00000000000..de036605f11
--- /dev/null
+++ b/newlib/libc/stdio/fprintf.c
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include <_ansi.h>
+#include <stdio.h>
+
+#ifdef _HAVE_STDC
+
+#include <stdarg.h>
+
+int
+fprintf (FILE * fp, const char *fmt,...)
+{
+ int ret;
+ va_list ap;
+
+ va_start (ap, fmt);
+ ret = vfprintf (fp, fmt, ap);
+ va_end (ap);
+ return ret;
+}
+
+#else
+
+#include <varargs.h>
+
+int
+fprintf (fp, fmt, va_alist)
+ FILE *fp;
+ char *fmt;
+ va_dcl
+{
+ int ret;
+ va_list ap;
+
+ va_start (ap);
+ ret = vfprintf (fp, fmt, ap);
+ va_end (ap);
+ return ret;
+}
+
+#endif
diff --git a/newlib/libc/stdio/fputc.c b/newlib/libc/stdio/fputc.c
new file mode 100644
index 00000000000..966a0dbf726
--- /dev/null
+++ b/newlib/libc/stdio/fputc.c
@@ -0,0 +1,51 @@
+/*
+FUNCTION
+<<fputc>>---write a character on a stream or file
+
+INDEX
+ fputc
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ int fputc(int <[ch]>, FILE *<[fp]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ int fputc(<[ch]>, <[fp]>)
+ int <[ch]>;
+ FILE *<[fp]>;
+
+DESCRIPTION
+<<fputc>> converts the argument <[ch]> from an <<int>> to an
+<<unsigned char>>, then writes it to the file or stream identified by
+<[fp]>.
+
+If the file was opened with append mode (or if the stream cannot
+support positioning), then the new character goes at the end of the
+file or stream. Otherwise, the new character is written at the
+current value of the position indicator, and the position indicator
+oadvances by one.
+
+For a macro version of this function, see <<putc>>.
+
+RETURNS
+If successful, <<fputc>> returns its argument <[ch]>. If an error
+intervenes, the result is <<EOF>>. You can use `<<ferror(<[fp]>)>>' to
+query for errors.
+
+PORTABILITY
+<<fputc>> is required by ANSI C.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#include <stdio.h>
+
+int
+_DEFUN (fputc, (ch, file),
+ int ch _AND
+ FILE * file)
+{
+ return putc (ch, file);
+}
diff --git a/newlib/libc/stdio/fputs.c b/newlib/libc/stdio/fputs.c
new file mode 100644
index 00000000000..62ce98fb74e
--- /dev/null
+++ b/newlib/libc/stdio/fputs.c
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+FUNCTION
+<<fputs>>---write a character string in a file or stream
+
+INDEX
+ fputs
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ int fputs(const char *<[s]>, FILE *<[fp]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ int fputs(<[s]>, <[fp]>)
+ char *<[s]>;
+ FILE *<[fp]>;
+
+DESCRIPTION
+<<fputs>> writes the string at <[s]> (but without the trailing null)
+to the file or stream identified by <[fp]>.
+
+RETURNS
+If successful, the result is <<0>>; otherwise, the result is <<EOF>>.
+
+PORTABILITY
+ANSI C requires <<fputs>>, but does not specify that the result on
+success must be <<0>>; any non-negative value is permitted.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#include <stdio.h>
+#include <string.h>
+#include "fvwrite.h"
+
+/*
+ * Write the given string to the given file.
+ */
+
+int
+_DEFUN (fputs, (s, fp),
+ char _CONST * s _AND
+ FILE * fp)
+{
+ struct __suio uio;
+ struct __siov iov;
+
+ iov.iov_base = s;
+ iov.iov_len = uio.uio_resid = strlen (s);
+ uio.uio_iov = &iov;
+ uio.uio_iovcnt = 1;
+ return __sfvwrite (fp, &uio);
+}
diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c
new file mode 100644
index 00000000000..4de7ce29002
--- /dev/null
+++ b/newlib/libc/stdio/fread.c
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+FUNCTION
+<<fread>>---read array elements from a file
+
+INDEX
+ fread
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ size_t fread(void *<[buf]>, size_t <[size]>, size_t <[count]>,
+ FILE *<[fp]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ size_t fread(<[buf]>, <[size]>, <[count]>, <[fp]>)
+ char *<[buf]>;
+ size_t <[size]>;
+ size_t <[count]>;
+ FILE *<[fp]>;
+
+DESCRIPTION
+<<fread>> attempts to copy, from the file or stream identified by
+<[fp]>, <[count]> elements (each of size <[size]>) into memory,
+starting at <[buf]>. <<fread>> may copy fewer elements than
+<[count]> if an error, or end of file, intervenes.
+
+<<fread>> also advances the file position indicator (if any) for
+<[fp]> by the number of @emph{characters} actually read.
+
+RETURNS
+The result of <<fread>> is the number of elements it succeeded in
+reading.
+
+PORTABILITY
+ANSI C requires <<fread>>.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#include <stdio.h>
+#include <string.h>
+#include "local.h"
+
+size_t
+_DEFUN (fread, (buf, size, count, fp),
+ _PTR buf _AND
+ size_t size _AND
+ size_t count _AND
+ FILE * fp)
+{
+ register size_t resid;
+ register char *p;
+ register int r;
+ size_t total;
+
+ if ((resid = count * size) == 0)
+ return 0;
+ if (fp->_r < 0)
+ fp->_r = 0;
+ total = resid;
+ p = buf;
+ while (resid > (r = fp->_r))
+ {
+ (void) memcpy ((void *) p, (void *) fp->_p, (size_t) r);
+ fp->_p += r;
+ /* fp->_r = 0 ... done in __srefill */
+ p += r;
+ resid -= r;
+ if (__srefill (fp))
+ {
+ /* no more input: return partial result */
+ return (total - resid) / size;
+ }
+ }
+ (void) memcpy ((void *) p, (void *) fp->_p, resid);
+ fp->_r -= resid;
+ fp->_p += resid;
+ return count;
+}
diff --git a/newlib/libc/stdio/freopen.c b/newlib/libc/stdio/freopen.c
new file mode 100644
index 00000000000..a4ab965e959
--- /dev/null
+++ b/newlib/libc/stdio/freopen.c
@@ -0,0 +1,151 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+FUNCTION
+<<freopen>>---open a file using an existing file descriptor
+
+INDEX
+ freopen
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ FILE *freopen(const char *<[file]>, const char *<[mode]>,
+ FILE *<[fp]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ FILE *freopen(<[file]>, <[mode]>, <[fp]>)
+ char *<[file]>;
+ char *<[mode]>;
+ FILE *<[fp]>;
+
+DESCRIPTION
+Use this variant of <<fopen>> if you wish to specify a particular file
+descriptor <[fp]> (notably <<stdin>>, <<stdout>>, or <<stderr>>) for
+the file.
+
+If <[fp]> was associated with another file or stream, <<freopen>>
+closes that other file or stream (but ignores any errors while closing
+it).
+
+<[file]> and <[mode]> are used just as in <<fopen>>.
+
+RETURNS
+If successful, the result is the same as the argument <[fp]>. If the
+file cannot be opened as specified, the result is <<NULL>>.
+
+PORTABILITY
+ANSI C requires <<freopen>>.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<open>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#include <time.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include "local.h"
+
+/*
+ * Re-direct an existing, open (probably) file to some other file.
+ */
+
+FILE *
+_DEFUN (freopen, (file, mode, fp),
+ _CONST char *file _AND
+ _CONST char *mode _AND
+ register FILE *fp)
+{
+ register int f;
+ int flags, oflags, e;
+ struct _reent *ptr;
+
+ CHECK_INIT (fp);
+ ptr = fp->_data;
+
+ if ((flags = __sflags (ptr, mode, &oflags)) == 0)
+ {
+ (void) fclose (fp);
+ return NULL;
+ }
+
+ /*
+ * Remember whether the stream was open to begin with, and
+ * which file descriptor (if any) was associated with it.
+ * If it was attached to a descriptor, defer closing it,
+ * so that, e.g., freopen("/dev/stdin", "r", stdin) works.
+ * This is unnecessary if it was not a Unix file.
+ */
+
+ if (fp->_flags == 0)
+ fp->_flags = __SEOF; /* hold on to it */
+ else
+ {
+ if (fp->_flags & __SWR)
+ (void) fflush (fp);
+ /* if close is NULL, closing is a no-op, hence pointless */
+ if (fp->_close != NULL)
+ (void) (*fp->_close) (fp->_cookie);
+ }
+
+ /*
+ * Now get a new descriptor to refer to the new file.
+ */
+
+ f = _open_r (ptr, (char *) file, oflags, 0666);
+ e = ptr->_errno;
+
+ /*
+ * Finish closing fp. Even if the open succeeded above,
+ * we cannot keep fp->_base: it may be the wrong size.
+ * This loses the effect of any setbuffer calls,
+ * but stdio has always done this before.
+ */
+
+ if (fp->_flags & __SMBF)
+ _free_r (ptr, (char *) fp->_bf._base);
+ fp->_w = 0;
+ fp->_r = 0;
+ fp->_p = NULL;
+ fp->_bf._base = NULL;
+ fp->_bf._size = 0;
+ fp->_lbfsize = 0;
+ if (HASUB (fp))
+ FREEUB (fp);
+ fp->_ub._size = 0;
+ if (HASLB (fp))
+ FREELB (fp);
+ fp->_lb._size = 0;
+
+ if (f < 0)
+ { /* did not get it after all */
+ fp->_flags = 0; /* set it free */
+ ptr->_errno = e; /* restore in case _close clobbered */
+ return NULL;
+ }
+
+ fp->_flags = flags;
+ fp->_file = f;
+ fp->_cookie = (_PTR) fp;
+ fp->_read = __sread;
+ fp->_write = __swrite;
+ fp->_seek = __sseek;
+ fp->_close = __sclose;
+ return fp;
+}
diff --git a/newlib/libc/stdio/fscanf.c b/newlib/libc/stdio/fscanf.c
new file mode 100644
index 00000000000..8980410d348
--- /dev/null
+++ b/newlib/libc/stdio/fscanf.c
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include <_ansi.h>
+#include <stdio.h>
+
+#ifdef _HAVE_STDC
+
+#include <stdarg.h>
+
+extern int __svfscanf ();
+
+int
+fscanf (FILE * fp, const char *fmt, ...)
+{
+ int ret;
+ va_list ap;
+
+ va_start (ap, fmt);
+ ret = __svfscanf (fp, fmt, ap);
+ va_end (ap);
+ return ret;
+}
+
+#else
+
+#include <varargs.h>
+
+extern int __svfscanf ();
+
+int
+fscanf (fp, fmt, va_alist)
+ FILE *fp;
+ char *fmt;
+ va_dcl
+{
+ int ret;
+ va_list ap;
+
+ va_start (ap);
+ ret = __svfscanf (fp, fmt, ap);
+ va_end (ap);
+ return ret;
+}
+
+#endif
diff --git a/newlib/libc/stdio/fseek.c b/newlib/libc/stdio/fseek.c
new file mode 100644
index 00000000000..d22292e97e1
--- /dev/null
+++ b/newlib/libc/stdio/fseek.c
@@ -0,0 +1,310 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+FUNCTION
+<<fseek>>---set file position
+
+INDEX
+ fseek
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ int fseek(FILE *<[fp]>, long <[offset]>, int <[whence]>)
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ int fseek(<[fp]>, <[offset]>, <[whence]>)
+ FILE *<[fp]>;
+ long <[offset]>;
+ int <[whence]>;
+
+DESCRIPTION
+Objects of type <<FILE>> can have a ``position'' that records how much
+of the file your program has already read. Many of the <<stdio>> functions
+depend on this position, and many change it as a side effect.
+
+You can use <<fseek>> to set the position for the file identified by
+<[fp]>. The value of <[offset]> determines the new position, in one
+of three ways selected by the value of <[whence]> (defined as macros
+in `<<stdio.h>>'):
+
+<<SEEK_SET>>---<[offset]> is the absolute file position (an offset
+from the beginning of the file) desired. <[offset]> must be positive.
+
+<<SEEK_CUR>>---<[offset]> is relative to the current file position.
+<[offset]> can meaningfully be either positive or negative.
+
+<<SEEK_END>>---<[offset]> is relative to the current end of file.
+<[offset]> can meaningfully be either positive (to increase the size
+of the file) or negative.
+
+See <<ftell>> to determine the current file position.
+
+RETURNS
+<<fseek>> returns <<0>> when successful. If <<fseek>> fails, the
+result is <<EOF>>. The reason for failure is indicated in <<errno>>:
+either <<ESPIPE>> (the stream identified by <[fp]> doesn't support
+repositioning) or <<EINVAL>> (invalid file position).
+
+PORTABILITY
+ANSI C requires <<fseek>>.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#include <stdio.h>
+#include <time.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <sys/stat.h>
+#include "local.h"
+
+#define POS_ERR (-(fpos_t)1)
+
+/*
+ * Seek the given file to the given offset.
+ * `Whence' must be one of the three SEEK_* macros.
+ */
+
+int
+fseek (fp, offset, whence)
+ register FILE *fp;
+ long offset;
+ int whence;
+{
+ struct _reent *ptr;
+ fpos_t _EXFUN ((*seekfn), (void *, fpos_t, int));
+ fpos_t target, curoff;
+ size_t n;
+ struct stat st;
+ int havepos;
+
+ /* Make sure stdio is set up. */
+
+ CHECK_INIT (fp);
+ ptr = fp->_data;
+
+ /* If we've been doing some writing, and we're in append mode
+ then we don't really know where the filepos is. */
+
+ if (fp->_flags & __SAPP && fp->_flags & __SWR)
+ {
+ /* So flush the buffer and seek to the end. */
+ fflush (fp);
+ }
+
+ /* Have to be able to seek. */
+
+ if ((seekfn = fp->_seek) == NULL)
+ {
+ ptr->_errno = ESPIPE; /* ??? */
+ return EOF;
+ }
+
+ /*
+ * Change any SEEK_CUR to SEEK_SET, and check `whence' argument.
+ * After this, whence is either SEEK_SET or SEEK_END.
+ */
+
+ switch (whence)
+ {
+ case SEEK_CUR:
+ /*
+ * In order to seek relative to the current stream offset,
+ * we have to first find the current stream offset a la
+ * ftell (see ftell for details).
+ */
+ fflush(fp); /* may adjust seek offset on append stream */
+ if (fp->_flags & __SOFF)
+ curoff = fp->_offset;
+ else
+ {
+ curoff = (*seekfn) (fp->_cookie, (fpos_t) 0, SEEK_CUR);
+ if (curoff == -1L)
+ return EOF;
+ }
+ if (fp->_flags & __SRD)
+ {
+ curoff -= fp->_r;
+ if (HASUB (fp))
+ curoff -= fp->_ur;
+ }
+ else if (fp->_flags & __SWR && fp->_p != NULL)
+ curoff += fp->_p - fp->_bf._base;
+
+ offset += curoff;
+ whence = SEEK_SET;
+ havepos = 1;
+ break;
+
+ case SEEK_SET:
+ case SEEK_END:
+ havepos = 0;
+ break;
+
+ default:
+ ptr->_errno = EINVAL;
+ return (EOF);
+ }
+
+ /*
+ * Can only optimise if:
+ * reading (and not reading-and-writing);
+ * not unbuffered; and
+ * this is a `regular' Unix file (and hence seekfn==__sseek).
+ * We must check __NBF first, because it is possible to have __NBF
+ * and __SOPT both set.
+ */
+
+ if (fp->_bf._base == NULL)
+ __smakebuf (fp);
+ if (fp->_flags & (__SWR | __SRW | __SNBF | __SNPT))
+ goto dumb;
+ if ((fp->_flags & __SOPT) == 0)
+ {
+ if (seekfn != __sseek
+ || fp->_file < 0
+ || _fstat_r (ptr, fp->_file, &st)
+ || (st.st_mode & S_IFMT) != S_IFREG)
+ {
+ fp->_flags |= __SNPT;
+ goto dumb;
+ }
+#ifdef HAVE_BLKSIZE
+ fp->_blksize = st.st_blksize;
+#else
+ fp->_blksize = 1024;
+#endif
+ fp->_flags |= __SOPT;
+ }
+
+ /*
+ * We are reading; we can try to optimise.
+ * Figure out where we are going and where we are now.
+ */
+
+ if (whence == SEEK_SET)
+ target = offset;
+ else
+ {
+ if (_fstat_r (ptr, fp->_file, &st))
+ goto dumb;
+ target = st.st_size + offset;
+ }
+
+ if (!havepos)
+ {
+ if (fp->_flags & __SOFF)
+ curoff = fp->_offset;
+ else
+ {
+ curoff = (*seekfn) (fp->_cookie, 0L, SEEK_CUR);
+ if (curoff == POS_ERR)
+ goto dumb;
+ }
+ curoff -= fp->_r;
+ if (HASUB (fp))
+ curoff -= fp->_ur;
+ }
+
+ /*
+ * Compute the number of bytes in the input buffer (pretending
+ * that any ungetc() input has been discarded). Adjust current
+ * offset backwards by this count so that it represents the
+ * file offset for the first byte in the current input buffer.
+ */
+
+ if (HASUB (fp))
+ {
+ curoff += fp->_r; /* kill off ungetc */
+ n = fp->_up - fp->_bf._base;
+ curoff -= n;
+ n += fp->_ur;
+ }
+ else
+ {
+ n = fp->_p - fp->_bf._base;
+ curoff -= n;
+ n += fp->_r;
+ }
+
+ /*
+ * If the target offset is within the current buffer,
+ * simply adjust the pointers, clear EOF, undo ungetc(),
+ * and return. (If the buffer was modified, we have to
+ * skip this; see fgetline.c.)
+ */
+
+ if ((fp->_flags & __SMOD) == 0 &&
+ target >= curoff && target < curoff + n)
+ {
+ register int o = target - curoff;
+
+ fp->_p = fp->_bf._base + o;
+ fp->_r = n - o;
+ if (HASUB (fp))
+ FREEUB (fp);
+ fp->_flags &= ~__SEOF;
+ return 0;
+ }
+
+ /*
+ * The place we want to get to is not within the current buffer,
+ * but we can still be kind to the kernel copyout mechanism.
+ * By aligning the file offset to a block boundary, we can let
+ * the kernel use the VM hardware to map pages instead of
+ * copying bytes laboriously. Using a block boundary also
+ * ensures that we only read one block, rather than two.
+ */
+
+ curoff = target & ~(fp->_blksize - 1);
+ if ((*seekfn) (fp->_cookie, curoff, SEEK_SET) == POS_ERR)
+ goto dumb;
+ fp->_r = 0;
+ if (HASUB (fp))
+ FREEUB (fp);
+ fp->_flags &= ~__SEOF;
+ n = target - curoff;
+ if (n)
+ {
+ if (__srefill (fp) || fp->_r < n)
+ goto dumb;
+ fp->_p += n;
+ fp->_r -= n;
+ }
+ return 0;
+
+ /*
+ * We get here if we cannot optimise the seek ... just
+ * do it. Allow the seek function to change fp->_bf._base.
+ */
+
+dumb:
+ if (fflush (fp) || (*seekfn) (fp->_cookie, offset, whence) == POS_ERR)
+ return EOF;
+ /* success: clear EOF indicator and discard ungetc() data */
+ if (HASUB (fp))
+ FREEUB (fp);
+ fp->_p = fp->_bf._base;
+ fp->_r = 0;
+ /* fp->_w = 0; *//* unnecessary (I think...) */
+ fp->_flags &= ~__SEOF;
+ return 0;
+}
diff --git a/newlib/libc/stdio/fsetpos.c b/newlib/libc/stdio/fsetpos.c
new file mode 100644
index 00000000000..28cd69eadb4
--- /dev/null
+++ b/newlib/libc/stdio/fsetpos.c
@@ -0,0 +1,54 @@
+/*
+FUNCTION
+<<fsetpos>>---restore position of a stream or file
+
+INDEX
+ fsetpos
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ int fsetpos(FILE *<[fp]>, const fpos_t *<[pos]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ int fsetpos(<[fp]>, <[pos]>)
+ FILE *<[fp]>;
+ fpos_t *<[pos]>;
+
+DESCRIPTION
+Objects of type <<FILE>> can have a ``position'' that records how much
+of the file your program has already read. Many of the <<stdio>> functions
+depend on this position, and many change it as a side effect.
+
+You can use <<fsetpos>> to return the file identified by <[fp]> to a previous
+position <<*<[pos]>>> (after first recording it with <<fgetpos>>).
+
+See <<fseek>> for a similar facility.
+
+RETURNS
+<<fgetpos>> returns <<0>> when successful. If <<fgetpos>> fails, the
+result is <<1>>. The reason for failure is indicated in <<errno>>:
+either <<ESPIPE>> (the stream identified by <[fp]> doesn't support
+repositioning) or <<EINVAL>> (invalid file position).
+
+PORTABILITY
+ANSI C requires <<fsetpos>>, but does not specify the nature of
+<<*<[pos]>>> beyond identifying it as written by <<fgetpos>>.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#include <stdio.h>
+
+int
+_DEFUN (fsetpos, (iop, pos),
+ FILE * iop _AND
+ _CONST fpos_t * pos)
+{
+ int x = fseek (iop, *pos, SEEK_SET);
+
+ if (x != 0)
+ return 1;
+ return 0;
+}
diff --git a/newlib/libc/stdio/ftell.c b/newlib/libc/stdio/ftell.c
new file mode 100644
index 00000000000..6a80618169a
--- /dev/null
+++ b/newlib/libc/stdio/ftell.c
@@ -0,0 +1,126 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+FUNCTION
+<<ftell>>---return position in a stream or file
+
+INDEX
+ ftell
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ long ftell(FILE *<[fp]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ long ftell(<[fp]>)
+ FILE *<[fp]>;
+
+DESCRIPTION
+Objects of type <<FILE>> can have a ``position'' that records how much
+of the file your program has already read. Many of the <<stdio>> functions
+depend on this position, and many change it as a side effect.
+
+The result of <<ftell>> is the current position for a file
+identified by <[fp]>. If you record this result, you can later
+use it with <<fseek>> to return the file to this
+position.
+
+In the current implementation, <<ftell>> simply uses a character
+count to represent the file position; this is the same number that
+would be recorded by <<fgetpos>>.
+
+RETURNS
+<<ftell>> returns the file position, if possible. If it cannot do
+this, it returns <<-1L>>. Failure occurs on streams that do not support
+positioning; the global <<errno>> indicates this condition with the
+value <<ESPIPE>>.
+
+PORTABILITY
+<<ftell>> is required by the ANSI C standard, but the meaning of its
+result (when successful) is not specified beyond requiring that it be
+acceptable as an argument to <<fseek>>. In particular, other
+conforming C implementations may return a different result from
+<<ftell>> than what <<fgetpos>> records.
+
+No supporting OS subroutines are required.
+*/
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "%W% (Berkeley) %G%";
+#endif /* LIBC_SCCS and not lint */
+
+/*
+ * ftell: return current offset.
+ */
+
+#include <stdio.h>
+#include <errno.h>
+
+#include "local.h"
+
+long
+_DEFUN (ftell, (fp),
+ register FILE * fp)
+{
+ fpos_t pos;
+
+ /* Ensure stdio is set up. */
+
+ CHECK_INIT (fp);
+
+ if (fp->_seek == NULL)
+ {
+ fp->_data->_errno = ESPIPE;
+ return -1L;
+ }
+
+ /* Find offset of underlying I/O object, then
+ adjust for buffered bytes. */
+ fflush(fp); /* may adjust seek offset on append stream */
+ if (fp->_flags & __SOFF)
+ pos = fp->_offset;
+ else
+ {
+ pos = (*fp->_seek) (fp->_cookie, (fpos_t) 0, SEEK_CUR);
+ if (pos == -1L)
+ return pos;
+ }
+ if (fp->_flags & __SRD)
+ {
+ /*
+ * Reading. Any unread characters (including
+ * those from ungetc) cause the position to be
+ * smaller than that in the underlying object.
+ */
+ pos -= fp->_r;
+ if (HASUB (fp))
+ pos -= fp->_ur;
+ }
+ else if (fp->_flags & __SWR && fp->_p != NULL)
+ {
+ /*
+ * Writing. Any buffered characters cause the
+ * position to be greater than that in the
+ * underlying object.
+ */
+ pos += fp->_p - fp->_bf._base;
+ }
+
+ return pos;
+}
diff --git a/newlib/libc/stdio/fvwrite.c b/newlib/libc/stdio/fvwrite.c
new file mode 100644
index 00000000000..00e758a4735
--- /dev/null
+++ b/newlib/libc/stdio/fvwrite.c
@@ -0,0 +1,195 @@
+/* No user fns here. Pesch 15apr92. */
+
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include "local.h"
+#include "fvwrite.h"
+
+#define MIN(a, b) ((a) < (b) ? (a) : (b))
+#define COPY(n) (void) memmove((void *) fp->_p, (void *) p, (size_t) (n))
+
+#define GETIOV(extra_work) \
+ while (len == 0) \
+ { \
+ extra_work; \
+ p = iov->iov_base; \
+ len = iov->iov_len; \
+ iov++; \
+ }
+
+/*
+ * Write some memory regions. Return zero on success, EOF on error.
+ *
+ * This routine is large and unsightly, but most of the ugliness due
+ * to the three different kinds of output buffering is handled here.
+ */
+
+int
+__sfvwrite (fp, uio)
+ register FILE *fp;
+ register struct __suio *uio;
+{
+ register size_t len;
+ register _CONST char *p;
+ register struct __siov *iov;
+ register int w, s;
+ char *nl;
+ int nlknown, nldist;
+
+ if ((len = uio->uio_resid) == 0)
+ return 0;
+
+ /* make sure we can write */
+ if (cantwrite (fp))
+ return EOF;
+
+ iov = uio->uio_iov;
+ len = 0;
+ if (fp->_flags & __SNBF)
+ {
+ /*
+ * Unbuffered: write up to BUFSIZ bytes at a time.
+ */
+ do
+ {
+ GETIOV (;);
+ w = (*fp->_write) (fp->_cookie, p, MIN (len, BUFSIZ));
+ if (w <= 0)
+ goto err;
+ p += w;
+ len -= w;
+ }
+ while ((uio->uio_resid -= w) != 0);
+ }
+ else if ((fp->_flags & __SLBF) == 0)
+ {
+ /*
+ * Fully buffered: fill partially full buffer, if any,
+ * and then flush. If there is no partial buffer, write
+ * one _bf._size byte chunk directly (without copying).
+ *
+ * String output is a special case: write as many bytes
+ * as fit, but pretend we wrote everything. This makes
+ * snprintf() return the number of bytes needed, rather
+ * than the number used, and avoids its write function
+ * (so that the write function can be invalid).
+ */
+ do
+ {
+ GETIOV (;);
+ w = fp->_w;
+ if (fp->_flags & __SSTR)
+ {
+ if (len < w)
+ w = len;
+ COPY (w); /* copy MIN(fp->_w,len), */
+ fp->_w -= w;
+ fp->_p += w;
+ w = len; /* but pretend copied all */
+ }
+ else if (fp->_p > fp->_bf._base && len > w)
+ {
+ /* fill and flush */
+ COPY (w);
+ /* fp->_w -= w; *//* unneeded */
+ fp->_p += w;
+ if (fflush (fp))
+ goto err;
+ }
+ else if (len >= (w = fp->_bf._size))
+ {
+ /* write directly */
+ w = (*fp->_write) (fp->_cookie, p, w);
+ if (w <= 0)
+ goto err;
+ }
+ else
+ {
+ /* fill and done */
+ w = len;
+ COPY (w);
+ fp->_w -= w;
+ fp->_p += w;
+ }
+ p += w;
+ len -= w;
+ }
+ while ((uio->uio_resid -= w) != 0);
+ }
+ else
+ {
+ /*
+ * Line buffered: like fully buffered, but we
+ * must check for newlines. Compute the distance
+ * to the first newline (including the newline),
+ * or `infinity' if there is none, then pretend
+ * that the amount to write is MIN(len,nldist).
+ */
+ nlknown = 0;
+ do
+ {
+ GETIOV (nlknown = 0);
+ if (!nlknown)
+ {
+ nl = memchr ((void *) p, '\n', len);
+ nldist = nl ? nl + 1 - p : len + 1;
+ nlknown = 1;
+ }
+ s = MIN (len, nldist);
+ w = fp->_w + fp->_bf._size;
+ if (fp->_p > fp->_bf._base && s > w)
+ {
+ COPY (w);
+ /* fp->_w -= w; */
+ fp->_p += w;
+ if (fflush (fp))
+ goto err;
+ }
+ else if (s >= (w = fp->_bf._size))
+ {
+ w = (*fp->_write) (fp->_cookie, p, w);
+ if (w <= 0)
+ goto err;
+ }
+ else
+ {
+ w = s;
+ COPY (w);
+ fp->_w -= w;
+ fp->_p += w;
+ }
+ if ((nldist -= w) == 0)
+ {
+ /* copied the newline: flush and forget */
+ if (fflush (fp))
+ goto err;
+ nlknown = 0;
+ }
+ p += w;
+ len -= w;
+ }
+ while ((uio->uio_resid -= w) != 0);
+ }
+ return 0;
+
+err:
+ fp->_flags |= __SERR;
+ return EOF;
+}
diff --git a/newlib/libc/stdio/fvwrite.h b/newlib/libc/stdio/fvwrite.h
new file mode 100644
index 00000000000..f27abdf815b
--- /dev/null
+++ b/newlib/libc/stdio/fvwrite.h
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/* %W% (Berkeley) %G% */
+#include <_ansi.h>
+
+/*
+ * I/O descriptors for __sfvwrite().
+ */
+struct __siov {
+ _CONST _PTR iov_base;
+ size_t iov_len;
+};
+struct __suio {
+ struct __siov *uio_iov;
+ int uio_iovcnt;
+ int uio_resid;
+};
+
+
+extern int _EXFUN(__sfvwrite,(FILE *, struct __suio *));
+extern int _EXFUN(__swsetup,(FILE *));
+
+
diff --git a/newlib/libc/stdio/fwalk.c b/newlib/libc/stdio/fwalk.c
new file mode 100644
index 00000000000..51628346643
--- /dev/null
+++ b/newlib/libc/stdio/fwalk.c
@@ -0,0 +1,43 @@
+/* No user fns here. Pesch 15apr92. */
+
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "%W% (Berkeley) %G%";
+#endif /* LIBC_SCCS and not lint */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include "local.h"
+
+int
+_fwalk (ptr, function)
+ struct _reent *ptr;
+ register int (*function) ();
+{
+ register FILE *fp;
+ register int n, ret = 0;
+ register struct _glue *g;
+
+ for (g = &ptr->__sglue; g != NULL; g = g->_next)
+ for (fp = g->_iobs, n = g->_niobs; --n >= 0; fp++)
+ if (fp->_flags != 0)
+ ret |= (*function) (fp);
+ return ret;
+}
diff --git a/newlib/libc/stdio/fwrite.c b/newlib/libc/stdio/fwrite.c
new file mode 100644
index 00000000000..642fb274fd3
--- /dev/null
+++ b/newlib/libc/stdio/fwrite.c
@@ -0,0 +1,104 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+FUNCTION
+<<fwrite>>---write array elements
+
+INDEX
+ fwrite
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ size_t fwrite(const void *<[buf]>, size_t <[size]>,
+ size_t <[count]>, FILE *<[fp]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ size_t fwrite(<[buf]>, <[size]>, <[count]>, <[fp]>)
+ char *<[buf]>;
+ size_t <[size]>;
+ size_t <[count]>;
+ FILE *<[fp]>;
+
+DESCRIPTION
+<<fwrite>> attempts to copy, starting from the memory location
+<[buf]>, <[count]> elements (each of size <[size]>) into the file or
+stream identified by <[fp]>. <<fwrite>> may copy fewer elements than
+<[count]> if an error intervenes.
+
+<<fwrite>> also advances the file position indicator (if any) for
+<[fp]> by the number of @emph{characters} actually written.
+
+RETURNS
+If <<fwrite>> succeeds in writing all the elements you specify, the
+result is the same as the argument <[count]>. In any event, the
+result is the number of complete elements that <<fwrite>> copied to
+the file.
+
+PORTABILITY
+ANSI C requires <<fwrite>>.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "%W% (Berkeley) %G%";
+#endif /* LIBC_SCCS and not lint */
+
+#include <stdio.h>
+#include <string.h>
+#if 0
+#include <sys/stdc.h>
+#endif
+#include "local.h"
+#if 1
+#include "fvwrite.h"
+#endif
+
+/*
+ * Write `count' objects (each size `size') from memory to the given file.
+ * Return the number of whole objects written.
+ */
+
+size_t
+_DEFUN (fwrite, (buf, size, count, fp),
+ _CONST _PTR buf _AND
+ size_t size _AND
+ size_t count _AND
+ FILE * fp)
+{
+ size_t n;
+ struct __suio uio;
+ struct __siov iov;
+
+ iov.iov_base = buf;
+ uio.uio_resid = iov.iov_len = n = count * size;
+ uio.uio_iov = &iov;
+ uio.uio_iovcnt = 1;
+
+ /*
+ * The usual case is success (__sfvwrite returns 0);
+ * skip the divide if this happens, since divides are
+ * generally slow and since this occurs whenever size==0.
+ */
+
+ if (__sfvwrite (fp, &uio) == 0)
+ return count;
+ return (n - uio.uio_resid) / size;
+}
diff --git a/newlib/libc/stdio/getc.c b/newlib/libc/stdio/getc.c
new file mode 100644
index 00000000000..4b2509737d9
--- /dev/null
+++ b/newlib/libc/stdio/getc.c
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+FUNCTION
+<<getc>>---read a character (macro)
+
+INDEX
+ getc
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ int getc(FILE *<[fp]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ int getc(<[fp]>)
+ FILE *<[fp]>;
+
+DESCRIPTION
+<<getc>> is a macro, defined in <<stdio.h>>. You can use <<getc>>
+to get the next single character from the file or stream
+identified by <[fp]>. As a side effect, <<getc>> advances the file's
+current position indicator.
+
+For a subroutine version of this macro, see <<fgetc>>.
+
+RETURNS
+The next character (read as an <<unsigned char>>, and cast to
+<<int>>), unless there is no more data, or the host system reports a
+read error; in either of these situations, <<getc>> returns <<EOF>>.
+
+You can distinguish the two situations that cause an <<EOF>> result by
+using the <<ferror>> and <<feof>> functions.
+
+PORTABILITY
+ANSI C requires <<getc>>; it suggests, but does not require, that
+<<getc>> be implemented as a macro. The standard explicitly permits
+macro implementations of <<getc>> to use the argument more than once;
+therefore, in a portable program, you should not use an expression
+with side effects as the <<getc>> argument.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "%W% (Berkeley) %G%";
+#endif /* LIBC_SCCS and not lint */
+
+#include <stdio.h>
+
+/*
+ * A subroutine version of the macro getc.
+ */
+
+#undef getc
+
+int
+getc (fp)
+ register FILE *fp;
+{
+ /* CHECK_INIT is called (eventually) by __srefill. */
+
+ return __sgetc (fp);
+}
diff --git a/newlib/libc/stdio/getchar.c b/newlib/libc/stdio/getchar.c
new file mode 100644
index 00000000000..475cd138bca
--- /dev/null
+++ b/newlib/libc/stdio/getchar.c
@@ -0,0 +1,96 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+FUNCTION
+<<getchar>>---read a character (macro)
+
+INDEX
+ getchar
+INDEX
+ _getchar_r
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ int getchar(void);
+
+ int _getchar_r(void *<[reent]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ int getchar();
+
+ int _getchar_r(<[reent]>)
+ char * <[reent]>;
+
+DESCRIPTION
+<<getchar>> is a macro, defined in <<stdio.h>>. You can use <<getchar>>
+to get the next single character from the standard input stream.
+As a side effect, <<getchar>> advances the standard input's
+current position indicator.
+
+The alternate function <<_getchar_r>> is a reentrant version. The
+extra argument <[reent]> is a pointer to a reentrancy structure.
+
+
+RETURNS
+The next character (read as an <<unsigned char>>, and cast to
+<<int>>), unless there is no more data, or the host system reports a
+read error; in either of these situations, <<getchar>> returns <<EOF>>.
+
+You can distinguish the two situations that cause an <<EOF>> result by
+using `<<ferror(stdin)>>' and `<<feof(stdin)>>'.
+
+PORTABILITY
+ANSI C requires <<getchar>>; it suggests, but does not require, that
+<<getchar>> be implemented as a macro.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "%W% (Berkeley) %G%";
+#endif /* LIBC_SCCS and not lint */
+
+/*
+ * A subroutine version of the macro getchar.
+ */
+
+#include <stdio.h>
+#include <reent.h>
+
+#undef getchar
+
+int
+_getchar_r (f)
+ struct _reent *f;
+{
+ return getc (_stdin_r (f));
+}
+
+#ifndef _REENT_ONLY
+
+int
+getchar ()
+{
+ /* CHECK_INIT is called (eventually) by __srefill. */
+
+ return _getchar_r (_REENT);
+}
+
+#endif
diff --git a/newlib/libc/stdio/gets.c b/newlib/libc/stdio/gets.c
new file mode 100644
index 00000000000..796100e321f
--- /dev/null
+++ b/newlib/libc/stdio/gets.c
@@ -0,0 +1,102 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+
+/*
+
+FUNCTION
+ <<gets>>---get character string (obsolete, use <<fgets>> instead)
+INDEX
+ gets
+INDEX
+ _gets_r
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+
+ char *gets(char *<[buf]>);
+
+ char *_gets_r(void *<[reent]>, char *<[buf]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+
+ char *gets(<[buf]>)
+ char *<[buf]>;
+
+ char *_gets_r(<[reent]>, <[buf]>)
+ char *<[reent]>;
+ char *<[buf]>;
+
+DESCRIPTION
+ Reads characters from standard input until a newline is found.
+ The characters up to the newline are stored in <[buf]>. The
+ newline is discarded, and the buffer is terminated with a 0.
+
+ This is a @emph{dangerous} function, as it has no way of checking
+ the amount of space available in <[buf]>. One of the attacks
+ used by the Internet Worm of 1988 used this to overrun a
+ buffer allocated on the stack of the finger daemon and
+ overwrite the return address, causing the daemon to execute
+ code downloaded into it over the connection.
+
+ The alternate function <<_gets_r>> is a reentrant version. The extra
+ argument <[reent]> is a pointer to a reentrancy structure.
+
+
+RETURNS
+ <<gets>> returns the buffer passed to it, with the data filled
+ in. If end of file occurs with some data already accumulated,
+ the data is returned with no other indication. If end of file
+ occurs with no data in the buffer, NULL is returned.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#include <stdio.h>
+
+char *
+_gets_r (ptr, buf)
+ struct _reent *ptr;
+ char *buf;
+{
+ register int c;
+ register char *s = buf;
+
+ while ((c = _getchar_r (ptr)) != '\n')
+ if (c == EOF)
+ if (s == buf)
+ return NULL;
+ else
+ break;
+ else
+ *s++ = c;
+ *s = 0;
+ return buf;
+}
+
+#ifndef _REENT_ONLY
+
+char *
+gets (buf)
+ char *buf;
+{
+ return _gets_r (_REENT, buf);
+}
+
+#endif
diff --git a/newlib/libc/stdio/iprintf.c b/newlib/libc/stdio/iprintf.c
new file mode 100644
index 00000000000..f054043023d
--- /dev/null
+++ b/newlib/libc/stdio/iprintf.c
@@ -0,0 +1,118 @@
+/*
+FUNCTION
+ <<iprintf>>---write formatted output (integer only)
+INDEX
+ iprintf
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+
+ int iprintf(const char *<[format]>, ...);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+
+ int iprintf(<[format]> [, <[arg]>, ...])
+ char *<[format]>;
+
+DESCRIPTION
+<<iprintf>> is a restricted version of <<printf>>: it has the same
+arguments and behavior, save that it cannot perform any floating-point
+formatting: the <<f>>, <<g>>, <<G>>, <<e>>, and <<F>> type specifiers
+are not recognized.
+
+RETURNS
+ <<iprintf>> returns the number of bytes in the output string,
+ save that the concluding <<NULL>> is not counted.
+ <<iprintf>> returns when the end of the format string is
+ encountered. If an error occurs, <<iprintf>>
+ returns <<EOF>>.
+
+PORTABILITY
+<<iprintf>> is not required by ANSI C.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#include <_ansi.h>
+#include <stdio.h>
+
+#ifndef _REENT_ONLY
+
+#ifdef _HAVE_STDC
+
+#include <stdarg.h>
+
+int
+iprintf (const char *fmt,...)
+{
+ int ret;
+ va_list ap;
+
+ va_start (ap, fmt);
+ _stdout_r (_REENT)->_data = _REENT;
+ ret = vfiprintf (stdout, fmt, ap);
+ va_end (ap);
+ return ret;
+}
+
+#else
+
+#include <varargs.h>
+
+int
+iprintf (fmt, va_alist)
+ char *fmt;
+ va_dcl
+{
+ int ret;
+ va_list ap;
+
+ va_start (ap);
+ _stdout_r (_REENT)->_data = _REENT;
+ ret = vfiprintf (stdout, fmt, ap);
+ va_end (ap);
+ return ret;
+}
+
+#endif /* ! _HAVE_STDC */
+#endif /* ! _REENT_ONLY */
+
+#ifdef _HAVE_STDC
+
+#include <stdarg.h>
+
+int
+_iprintf_r (struct _reent *ptr, const char *fmt, ...)
+{
+ int ret;
+ va_list ap;
+
+ va_start (ap, fmt);
+ ret = vfiprintf (_stdout_r (ptr), fmt, ap);
+ va_end (ap);
+ return ret;
+}
+
+#else
+
+#include <varargs.h>
+
+int
+_iprintf_r (data, fmt, va_alist)
+ char *data;
+ char *fmt;
+ va_dcl
+{
+ int ret;
+ struct _reent *ptr = data;
+ va_list ap;
+
+ va_start (ap);
+ ret = vfiprintf (_stdout_r (ptr), fmt, ap);
+ va_end (ap);
+ return ret;
+}
+
+#endif
diff --git a/newlib/libc/stdio/local.h b/newlib/libc/stdio/local.h
new file mode 100644
index 00000000000..71e80cc091c
--- /dev/null
+++ b/newlib/libc/stdio/local.h
@@ -0,0 +1,90 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * %W% (UofMD/Berkeley) %G%
+ */
+
+/*
+ * Information local to this implementation of stdio,
+ * in particular, macros and private variables.
+ */
+
+#include <_ansi.h>
+#include <stdarg.h>
+#include <reent.h>
+#include <unistd.h>
+
+extern int _EXFUN(__svfscanf,(FILE *, _CONST char *,va_list));
+extern FILE *_EXFUN(__sfp,(struct _reent *));
+extern int _EXFUN(__sflags,(struct _reent *,_CONST char*, int*));
+extern int _EXFUN(__srefill,(FILE *));
+extern int _EXFUN(__sread,(void *, char *, int));
+extern int _EXFUN(__swrite,(void *, char const *, int));
+extern fpos_t _EXFUN(__sseek,(void *, fpos_t, int));
+extern int _EXFUN(__sclose,(void *));
+extern void _EXFUN(__sinit,(struct _reent *));
+extern void _EXFUN(_cleanup_r,(struct _reent *));
+extern void _EXFUN(__smakebuf,(FILE *));
+extern int _EXFUN(_fwalk,(struct _reent *, int (*)(FILE *)));
+struct _glue * _EXFUN(__sfmoreglue,(struct _reent *,int n));
+extern int _EXFUN(__srefill,(FILE *fp));
+
+/* Called by the main entry point fns to ensure stdio has been initialized. */
+
+#define CHECK_INIT(fp) \
+ do \
+ { \
+ if ((fp)->_data == 0) \
+ (fp)->_data = _REENT; \
+ if (!(fp)->_data->__sdidinit) \
+ __sinit ((fp)->_data); \
+ } \
+ while (0)
+
+/* Return true iff the given FILE cannot be written now. */
+
+#define cantwrite(fp) \
+ ((((fp)->_flags & __SWR) == 0 || (fp)->_bf._base == NULL) && \
+ __swsetup(fp))
+
+/* Test whether the given stdio file has an active ungetc buffer;
+ release such a buffer, without restoring ordinary unread data. */
+
+#define HASUB(fp) ((fp)->_ub._base != NULL)
+#define FREEUB(fp) { \
+ if ((fp)->_ub._base != (fp)->_ubuf) \
+ _free_r(fp->_data, (char *)(fp)->_ub._base); \
+ (fp)->_ub._base = NULL; \
+}
+
+/* Test for an fgetline() buffer. */
+
+#define HASLB(fp) ((fp)->_lb._base != NULL)
+#define FREELB(fp) { _free_r(fp->_data,(char *)(fp)->_lb._base); (fp)->_lb._base = NULL; }
+
+/* WARNING: _dcvt is defined in the stdlib directory, not here! */
+
+char *_EXFUN(_dcvt,(struct _reent *, char *, double, int, int, char, int));
+char *_EXFUN(_sicvt,(char *, short, char));
+char *_EXFUN(_icvt,(char *, int, char));
+char *_EXFUN(_licvt,(char *, long, char));
+#ifdef __GNUC__
+char *_EXFUN(_llicvt,(char *, long long, char));
+#endif
+
+#define CVT_BUF_SIZE 128
+
+#define NDYNAMIC 4 /* add four more whenever necessary */
diff --git a/newlib/libc/stdio/makebuf.c b/newlib/libc/stdio/makebuf.c
new file mode 100644
index 00000000000..4a09c4d502a
--- /dev/null
+++ b/newlib/libc/stdio/makebuf.c
@@ -0,0 +1,96 @@
+/* No user fns here. Pesch 15apr92. */
+
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <sys/unistd.h>
+
+#include "local.h"
+
+/*
+ * Allocate a file buffer, or switch to unbuffered I/O.
+ * Per the ANSI C standard, ALL tty devices default to line buffered.
+ *
+ * As a side effect, we set __SOPT or __SNPT (en/dis-able fseek
+ * optimization) right after the _fstat() that finds the buffer size.
+ */
+
+void
+__smakebuf (fp)
+ register FILE *fp;
+{
+ register size_t size, couldbetty;
+ register _PTR p;
+ struct stat st;
+
+ if (fp->_flags & __SNBF)
+ {
+ fp->_bf._base = fp->_p = fp->_nbuf;
+ fp->_bf._size = 1;
+ return;
+ }
+ if (fp->_file < 0 || _fstat_r (fp->_data, fp->_file, &st) < 0)
+ {
+ couldbetty = 0;
+ size = BUFSIZ;
+ /* do not try to optimise fseek() */
+ fp->_flags |= __SNPT;
+ }
+ else
+ {
+ couldbetty = (st.st_mode & S_IFMT) == S_IFCHR;
+#ifdef HAVE_BLKSIZE
+ size = st.st_blksize <= 0 ? BUFSIZ : st.st_blksize;
+#else
+ size = BUFSIZ;
+#endif
+ /*
+ * Optimize fseek() only if it is a regular file.
+ * (The test for __sseek is mainly paranoia.)
+ */
+ if ((st.st_mode & S_IFMT) == S_IFREG && fp->_seek == __sseek)
+ {
+ fp->_flags |= __SOPT;
+#ifdef HAVE_BLKSIZE
+ fp->_blksize = st.st_blksize;
+#else
+ fp->_blksize = 1024;
+#endif
+ }
+ else
+ fp->_flags |= __SNPT;
+ }
+ if ((p = _malloc_r (fp->_data, size)) == NULL)
+ {
+ fp->_flags |= __SNBF;
+ fp->_bf._base = fp->_p = fp->_nbuf;
+ fp->_bf._size = 1;
+ }
+ else
+ {
+ fp->_data->__cleanup = _cleanup_r;
+ fp->_flags |= __SMBF;
+ fp->_bf._base = fp->_p = (unsigned char *) p;
+ fp->_bf._size = size;
+ if (couldbetty && isatty (fp->_file))
+ fp->_flags |= __SLBF;
+ }
+}
diff --git a/newlib/libc/stdio/mktemp.c b/newlib/libc/stdio/mktemp.c
new file mode 100644
index 00000000000..f6a6b688f0e
--- /dev/null
+++ b/newlib/libc/stdio/mktemp.c
@@ -0,0 +1,219 @@
+/* This is file MKTEMP.C */
+/* This file may have been modified by DJ Delorie (Jan 1991). If so,
+** these modifications are Coyright (C) 1991 DJ Delorie, 24 Kirsten Ave,
+** Rochester NH, 03867-2954, USA.
+*/
+
+/*
+ * Copyright (c) 1987 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that: (1) source distributions retain this entire copyright
+ * notice and comment, and (2) distributions including binaries display
+ * the following acknowledgement: ``This product includes software
+ * developed by the University of California, Berkeley and its contributors''
+ * in the documentation or other materials provided with the distribution
+ * and in all advertising materials mentioning features or use of this
+ * software. Neither the name of the University nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+FUNCTION
+<<mktemp>>, <<mkstemp>>---generate unused file name
+
+INDEX
+ mktemp
+INDEX
+ mkstemp
+INDEX
+ _mktemp_r
+INDEX
+ _mkstemp_r
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ char *mktemp(char *<[path]>);
+ int mkstemp(char *<[path]>);
+
+ char *_mktemp_r(void *<[reent]>, char *<[path]>);
+ int *_mkstemp_r(void *<[reent]>, char *<[path]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ char *mktemp(<[path]>)
+ char *<[path]>;
+
+ int mkstemp(<[path]>)
+ char *<[path]>;
+
+ char *_mktemp_r(<[reent]>, <[path]>)
+ char *<[reent]>;
+ char *<[path]>;
+
+ int _mkstemp_r(<[reent]>, <[path]>)
+ char *<[reent]>;
+ char *<[path]>;
+
+DESCRIPTION
+<<mktemp>> and <<mkstemp>> attempt to generate a file name that is not
+yet in use for any existing file. <<mkstemp>> creates the file and
+opens it for reading and writing; <<mktemp>> simply generates the file name.
+
+You supply a simple pattern for the generated file name, as the string
+at <[path]>. The pattern should be a valid filename (including path
+information if you wish) ending with some number of `<<X>>'
+characters. The generated filename will match the leading part of the
+name you supply, with the trailing `<<X>>' characters replaced by some
+combination of digits and letters.
+
+The alternate functions <<_mktemp_r>> and <<_mkstemp_r>> are reentrant
+versions. The extra argument <[reent]> is a pointer to a reentrancy
+structure.
+
+RETURNS
+<<mktemp>> returns the pointer <[path]> to the modified string
+representing an unused filename, unless it could not generate one, or
+the pattern you provided is not suitable for a filename; in that case,
+it returns <<NULL>>.
+
+<<mkstemp>> returns a file descriptor to the newly created file,
+unless it could not generate an unused filename, or the pattern you
+provided is not suitable for a filename; in that case, it returns
+<<-1>>.
+
+PORTABILITY
+ANSI C does not require either <<mktemp>> or <<mkstemp>>; the System
+V Interface Definition requires <<mktemp>> as of Issue 2.
+
+Supporting OS subroutines required: <<getpid>>, <<open>>, <<stat>>.
+*/
+
+#include <sys/types.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <stdio.h>
+#include <ctype.h>
+#include <reent.h>
+
+static
+_DEFUN (_gettemp, (ptr, path, doopen),
+ struct _reent *ptr _AND
+ char *path _AND
+ register int *doopen)
+{
+ register char *start, *trv;
+ struct stat sbuf;
+ unsigned int pid;
+
+ pid = _getpid_r (ptr);
+ for (trv = path; *trv; ++trv) /* extra X's get set to 0's */
+ continue;
+ while (*--trv == 'X')
+ {
+ *trv = (pid % 10) + '0';
+ pid /= 10;
+ }
+
+ /*
+ * Check the target directory; if you have six X's and it
+ * doesn't exist this runs for a *very* long time.
+ */
+
+ for (start = trv + 1;; --trv)
+ {
+ if (trv <= path)
+ break;
+ if (*trv == '/')
+ {
+ *trv = '\0';
+ if (_stat_r (ptr, path, &sbuf))
+ return (0);
+ if (!(sbuf.st_mode & S_IFDIR))
+ {
+ ptr->_errno = ENOTDIR;
+ return (0);
+ }
+ *trv = '/';
+ break;
+ }
+ }
+
+ for (;;)
+ {
+ if (doopen)
+ {
+ if ((*doopen = _open_r (ptr, path, O_CREAT | O_EXCL | O_RDWR, 0600))
+ >= 0)
+ return 1;
+#if defined(__CYGWIN32__) || defined(__CYGWIN__)
+ if (ptr->_errno != EEXIST && ptr->_errno != EACCES)
+#else
+ if (ptr->_errno != EEXIST)
+#endif
+ return 0;
+ }
+ else if (_stat_r (ptr, path, &sbuf))
+ return (ptr->_errno == ENOENT ? 1 : 0);
+
+ /* tricky little algorithm for backward compatibility */
+ for (trv = start;;)
+ {
+ if (!*trv)
+ return 0;
+ if (*trv == 'z')
+ *trv++ = 'a';
+ else
+ {
+ if (isdigit (*trv))
+ *trv = 'a';
+ else
+ ++ * trv;
+ break;
+ }
+ }
+ }
+ /*NOTREACHED*/
+}
+
+_DEFUN (_mkstemp_r, (ptr, path),
+ struct _reent *ptr _AND
+ char *path)
+{
+ int fd;
+
+ return (_gettemp (ptr, path, &fd) ? fd : -1);
+}
+
+char *
+_DEFUN (_mktemp_r, (ptr, path),
+ struct _reent *ptr _AND
+ char *path)
+{
+ return (_gettemp (ptr, path, (int *) NULL) ? path : (char *) NULL);
+}
+
+#ifndef _REENT_ONLY
+
+_DEFUN (mkstemp, (path),
+ char *path)
+{
+ int fd;
+
+ return (_gettemp (_REENT, path, &fd) ? fd : -1);
+}
+
+char *
+_DEFUN (mktemp, (path),
+ char *path)
+{
+ return (_gettemp (_REENT, path, (int *) NULL) ? path : (char *) NULL);
+}
+
+#endif /* ! defined (_REENT_ONLY) */
diff --git a/newlib/libc/stdio/perror.c b/newlib/libc/stdio/perror.c
new file mode 100644
index 00000000000..abb595ba934
--- /dev/null
+++ b/newlib/libc/stdio/perror.c
@@ -0,0 +1,80 @@
+/*
+FUNCTION
+<<perror>>---print an error message on standard error
+
+INDEX
+ perror
+INDEX
+ _perror_r
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ void perror(char *<[prefix]>);
+
+ void _perror_r(void *<[reent]>, char *<[prefix]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ void perror(<[prefix]>)
+ char *<[prefix]>;
+
+ void _perror_r(<[reent]>, <[prefix]>)
+ char *<[reent]>;
+ char *<[prefix]>;
+
+DESCRIPTION
+Use <<perror>> to print (on standard error) an error message
+corresponding to the current value of the global variable <<errno>>.
+Unless you use <<NULL>> as the value of the argument <[prefix]>, the
+error message will begin with the string at <[prefix]>, followed by a
+colon and a space (<<: >>). The remainder of the error message is one
+of the strings described for <<strerror>>.
+
+The alternate function <<_perror_r>> is a reentrant version. The
+extra argument <[reent]> is a pointer to a reentrancy structure.
+
+
+RETURNS
+<<perror>> returns no result.
+
+PORTABILITY
+ANSI C requires <<perror>>, but the strings issued vary from one
+implementation to another.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+
+void
+_DEFUN (_perror_r, (ptr, s),
+ struct _reent *ptr _AND
+ _CONST char *s)
+{
+ char *error;
+
+ if (s != NULL && *s != '\0')
+ {
+ fputs (s, _stderr_r (ptr));
+ fputs (": ", _stderr_r (ptr));
+ }
+
+ if ((error = strerror (ptr->_errno)) != NULL)
+ fputs (error, _stderr_r (ptr));
+
+ fputc ('\n', _stderr_r (ptr));
+}
+
+#ifndef _REENT_ONLY
+
+void
+_DEFUN (perror, (s),
+ _CONST char *s)
+{
+ _perror_r (_REENT, s);
+}
+
+#endif
diff --git a/newlib/libc/stdio/printf.c b/newlib/libc/stdio/printf.c
new file mode 100644
index 00000000000..81fb8a2cb08
--- /dev/null
+++ b/newlib/libc/stdio/printf.c
@@ -0,0 +1,83 @@
+
+#include <_ansi.h>
+#include <stdio.h>
+
+#ifdef _HAVE_STDC
+
+#include <stdarg.h>
+
+int
+_printf_r (struct _reent *ptr, const char *fmt, ...)
+{
+ int ret;
+ va_list ap;
+
+ va_start (ap, fmt);
+ ret = _vfprintf_r (ptr, _stdout_r (ptr), fmt, ap);
+ va_end (ap);
+ return ret;
+}
+
+#else
+
+#include <varargs.h>
+
+int
+_printf_r (ptr, fmt, va_alist)
+ struct _reent *ptr;
+ char *fmt;
+ va_dcl
+{
+ int ret;
+ va_list ap;
+
+ va_start (ap);
+ ret = _vfprintf_r (ptr, _stdout_r (ptr), fmt, ap);
+ va_end (ap);
+ return ret;
+}
+
+#endif
+
+
+#ifndef _REENT_ONLY
+
+#ifdef _HAVE_STDC
+
+#include <stdarg.h>
+
+int
+printf (const char *fmt, ...)
+{
+ int ret;
+ va_list ap;
+
+ va_start (ap, fmt);
+ _stdout_r (_REENT)->_data = _REENT;
+ ret = vfprintf (_stdout_r (_REENT), fmt, ap);
+ va_end (ap);
+ return ret;
+}
+
+#else
+
+#include <varargs.h>
+
+int
+printf (fmt, va_alist)
+ char *fmt;
+ va_dcl
+{
+ int ret;
+ va_list ap;
+
+ va_start (ap);
+ _stdout_r (_REENT)->_data = _REENT;
+ ret = vfprintf (_stdout_r (_REENT), fmt, ap);
+ va_end (ap);
+ return ret;
+}
+
+#endif /* ! _HAVE_STDC */
+
+#endif /* ! _REENT_ONLY */
diff --git a/newlib/libc/stdio/putc.c b/newlib/libc/stdio/putc.c
new file mode 100644
index 00000000000..27a7a4280a3
--- /dev/null
+++ b/newlib/libc/stdio/putc.c
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+FUNCTION
+<<putc>>---write a character (macro)
+
+INDEX
+ putc
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ int putc(int <[ch]>, FILE *<[fp]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ int putc(<[ch]>, <[fp]>)
+ int <[ch]>;
+ FILE *<[fp]>;
+
+DESCRIPTION
+<<putc>> is a macro, defined in <<stdio.h>>. <<putc>>
+writes the argument <[ch]> to the file or stream identified by
+<[fp]>, after converting it from an <<int>> to an <<unsigned char>>.
+
+If the file was opened with append mode (or if the stream cannot
+support positioning), then the new character goes at the end of the
+file or stream. Otherwise, the new character is written at the
+current value of the position indicator, and the position indicator
+advances by one.
+
+For a subroutine version of this macro, see <<fputc>>.
+
+RETURNS
+If successful, <<putc>> returns its argument <[ch]>. If an error
+intervenes, the result is <<EOF>>. You can use `<<ferror(<[fp]>)>>' to
+query for errors.
+
+PORTABILITY
+ANSI C requires <<putc>>; it suggests, but does not require, that
+<<putc>> be implemented as a macro. The standard explicitly permits
+macro implementations of <<putc>> to use the <[fp]> argument more than once;
+therefore, in a portable program, you should not use an expression
+with side effects as this argument.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "%W% (Berkeley) %G%";
+#endif /* LIBC_SCCS and not lint */
+
+#include <stdio.h>
+
+/*
+ * A subroutine version of the macro putc.
+ */
+
+#undef putc
+
+int
+putc (c, fp)
+ int c;
+ register FILE *fp;
+{
+ /* CHECK_INIT is (eventually) called by __swbuf. */
+
+ return __sputc (c, fp);
+}
diff --git a/newlib/libc/stdio/putchar.c b/newlib/libc/stdio/putchar.c
new file mode 100644
index 00000000000..7f7c442e40f
--- /dev/null
+++ b/newlib/libc/stdio/putchar.c
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+FUNCTION
+<<putchar>>---write a character (macro)
+
+INDEX
+ putchar
+INDEX
+ _putchar_r
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ int putchar(int <[ch]>);
+
+ int _putchar_r(void *<[reent]>, int <[ch]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ int putchar(<[ch]>)
+ int <[ch]>;
+
+ int _putchar_r(<[reent]>, <[ch]>)
+ char *<[reent]>;
+ int <[ch]>;
+
+DESCRIPTION
+<<putchar>> is a macro, defined in <<stdio.h>>. <<putchar>>
+writes its argument to the standard output stream,
+after converting it from an <<int>> to an <<unsigned char>>.
+
+The alternate function <<_putchar_r>> is a reentrant version. The
+extra argument <[reent]> is a pointer to a reentrancy structure.
+
+RETURNS
+If successful, <<putchar>> returns its argument <[ch]>. If an error
+intervenes, the result is <<EOF>>. You can use `<<ferror(stdin)>>' to
+query for errors.
+
+PORTABILITY
+ANSI C requires <<putchar>>; it suggests, but does not require, that
+<<putchar>> be implemented as a macro.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "%W% (Berkeley) %G%";
+#endif /* LIBC_SCCS and not lint */
+
+/*
+ * A subroutine version of the macro putchar
+ */
+
+#include <stdio.h>
+
+#undef putchar
+
+int
+_putchar_r (ptr, c)
+ struct _reent *ptr;
+ int c;
+{
+ return __sputc (c, _stdout_r (ptr));
+}
+
+#ifndef _REENT_ONLY
+
+int
+putchar (c)
+ int c;
+{
+ /* CHECK_INIT is (eventually) called by __swbuf. */
+
+ _putchar_r (_REENT, c);
+}
+
+#endif
diff --git a/newlib/libc/stdio/puts.c b/newlib/libc/stdio/puts.c
new file mode 100644
index 00000000000..44f17cc919c
--- /dev/null
+++ b/newlib/libc/stdio/puts.c
@@ -0,0 +1,101 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+FUNCTION
+<<puts>>---write a character string
+
+INDEX
+ puts
+INDEX
+ _puts_r
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ int puts(const char *<[s]>);
+
+ int _puts_r(void *<[reent]>, const char *<[s]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ int puts(<[s]>)
+ char *<[s]>;
+
+ int _puts_r(<[reent]>, <[s]>)
+ char *<[reent]>;
+ char *<[s]>;
+
+DESCRIPTION
+<<puts>> writes the string at <[s]> (followed by a newline, instead of
+the trailing null) to the standard output stream.
+
+The alternate function <<_puts_r>> is a reentrant version. The extra
+argument <[reent]> is a pointer to a reentrancy structure.
+
+RETURNS
+If successful, the result is a nonnegative integer; otherwise, the
+result is <<EOF>>.
+
+PORTABILITY
+ANSI C requires <<puts>>, but does not specify that the result on
+success must be <<0>>; any non-negative value is permitted.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>. */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "%W% (Berkeley) %G%";
+#endif /* LIBC_SCCS and not lint */
+
+#include <stdio.h>
+#include <string.h>
+#include "fvwrite.h"
+
+/*
+ * Write the given string to stdout, appending a newline.
+ */
+
+int
+_DEFUN (_puts_r, (ptr, s),
+ struct _reent *ptr _AND
+ _CONST char * s)
+{
+ size_t c = strlen (s);
+ struct __suio uio;
+ struct __siov iov[2];
+
+ iov[0].iov_base = s;
+ iov[0].iov_len = c;
+ iov[1].iov_base = "\n";
+ iov[1].iov_len = 1;
+ uio.uio_resid = c + 1;
+ uio.uio_iov = &iov[0];
+ uio.uio_iovcnt = 2;
+
+ return (__sfvwrite (_stdout_r (ptr), &uio) ? EOF : '\n');
+}
+
+#ifndef _REENT_ONLY
+
+int
+_DEFUN (puts, (s),
+ char _CONST * s)
+{
+ return _puts_r (_REENT, s);
+}
+
+#endif
diff --git a/newlib/libc/stdio/refill.c b/newlib/libc/stdio/refill.c
new file mode 100644
index 00000000000..bc3b83047b7
--- /dev/null
+++ b/newlib/libc/stdio/refill.c
@@ -0,0 +1,113 @@
+/* No user fns here. Pesch 15apr92. */
+
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include <stdio.h>
+#include "local.h"
+#include <stdlib.h>
+
+static int
+lflush (fp)
+ FILE *fp;
+{
+ if ((fp->_flags & (__SLBF | __SWR)) == __SLBF | __SWR)
+ return fflush (fp);
+ return 0;
+}
+
+/*
+ * Refill a stdio buffer.
+ * Return EOF on eof or error, 0 otherwise.
+ */
+
+int
+_DEFUN (__srefill, (fp),
+ register FILE * fp)
+{
+ /* make sure stdio is set up */
+
+ CHECK_INIT (fp);
+
+ fp->_r = 0; /* largely a convenience for callers */
+
+ /* SysV does not make this test; take it out for compatibility */
+ if (fp->_flags & __SEOF)
+ return EOF;
+
+ /* if not already reading, have to be reading and writing */
+ if ((fp->_flags & __SRD) == 0)
+ {
+ if ((fp->_flags & __SRW) == 0)
+ return EOF;
+ /* switch to reading */
+ if (fp->_flags & __SWR)
+ {
+ if (fflush (fp))
+ return EOF;
+ fp->_flags &= ~__SWR;
+ fp->_w = 0;
+ fp->_lbfsize = 0;
+ }
+ fp->_flags |= __SRD;
+ }
+ else
+ {
+ /*
+ * We were reading. If there is an ungetc buffer,
+ * we must have been reading from that. Drop it,
+ * restoring the previous buffer (if any). If there
+ * is anything in that buffer, return.
+ */
+ if (HASUB (fp))
+ {
+ FREEUB (fp);
+ if ((fp->_r = fp->_ur) != 0)
+ {
+ fp->_p = fp->_up;
+ return 0;
+ }
+ }
+ }
+
+ if (fp->_bf._base == NULL)
+ __smakebuf (fp);
+
+ /*
+ * Before reading from a line buffered or unbuffered file,
+ * flush all line buffered output files, per the ANSI C
+ * standard.
+ */
+
+ if (fp->_flags & (__SLBF | __SNBF))
+ (void) _fwalk (fp->_data, lflush);
+ fp->_p = fp->_bf._base;
+ fp->_r = (*fp->_read) (fp->_cookie, (char *) fp->_p, fp->_bf._size);
+ fp->_flags &= ~__SMOD; /* buffer contents are again pristine */
+ if (fp->_r <= 0)
+ {
+ if (fp->_r == 0)
+ fp->_flags |= __SEOF;
+ else
+ {
+ fp->_r = 0;
+ fp->_flags |= __SERR;
+ }
+ return EOF;
+ }
+ return 0;
+}
diff --git a/newlib/libc/stdio/remove.c b/newlib/libc/stdio/remove.c
new file mode 100644
index 00000000000..074dd9ac8a7
--- /dev/null
+++ b/newlib/libc/stdio/remove.c
@@ -0,0 +1,69 @@
+/*
+FUNCTION
+<<remove>>---delete a file's name
+
+INDEX
+ remove
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ int remove(char *<[filename]>);
+
+ int _remove_r(void *<[reent]>, char *<[filename]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ int remove(<[filename]>)
+ char *<[filename]>;
+
+ int _remove_r(<[reent]>, <[filename]>)
+ char *<[reent]>;
+ char *<[filename]>;
+
+DESCRIPTION
+Use <<remove>> to dissolve the association between a particular
+filename (the string at <[filename]>) and the file it represents.
+After calling <<remove>> with a particular filename, you will no
+longer be able to open the file by that name.
+
+In this implementation, you may use <<remove>> on an open file without
+error; existing file descriptors for the file will continue to access
+the file's data until the program using them closes the file.
+
+The alternate function <<_remove_r>> is a reentrant version. The
+extra argument <[reent]> is a pointer to a reentrancy structure.
+
+RETURNS
+<<remove>> returns <<0>> if it succeeds, <<-1>> if it fails.
+
+PORTABILITY
+ANSI C requires <<remove>>, but only specifies that the result on
+failure be nonzero. The behavior of <<remove>> when you call it on an
+open file may vary among implementations.
+
+Supporting OS subroutine required: <<unlink>>.
+*/
+
+#include <stdio.h>
+
+int
+_remove_r (ptr, filename)
+ struct _reent *ptr;
+ _CONST char *filename;
+{
+ if (_unlink_r (ptr, filename) == -1)
+ return -1;
+
+ return 0;
+}
+
+#ifndef _REENT_ONLY
+
+int
+remove (filename)
+ _CONST char *filename;
+{
+ return _remove_r (_REENT, filename);
+}
+
+#endif
diff --git a/newlib/libc/stdio/rename.c b/newlib/libc/stdio/rename.c
new file mode 100644
index 00000000000..19a6afdd387
--- /dev/null
+++ b/newlib/libc/stdio/rename.c
@@ -0,0 +1,86 @@
+/*
+FUNCTION
+<<rename>>---rename a file
+
+INDEX
+ rename
+INDEX
+ _rename_r
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ int rename(const char *<[old]>, const char *<[new]>);
+
+ int _rename_r(void *<[reent]>,
+ const char *<[old]>, const char *<[new]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ int rename(<[old]>, <[new]>)
+ char *<[old]>;
+ char *<[new]>;
+
+ int _rename_r(<[reent]>, <[old]>, <[new]>)
+ char *<[reent]>;
+ char *<[old]>;
+ char *<[new]>;
+
+DESCRIPTION
+Use <<rename>> to establish a new name (the string at <[new]>) for a
+file now known by the string at <[old]>. After a successful
+<<rename>>, the file is no longer accessible by the string at <[old]>.
+
+If <<rename>> fails, the file named <<*<[old]>>> is unaffected. The
+conditions for failure depend on the host operating system.
+
+The alternate function <<_rename_r>> is a reentrant version. The
+extra argument <[reent]> is a pointer to a reentrancy structure.
+
+RETURNS
+The result is either <<0>> (when successful) or <<-1>> (when the file
+could not be renamed).
+
+PORTABILITY
+ANSI C requires <<rename>>, but only specifies that the result on
+failure be nonzero. The effects of using the name of an existing file
+as <<*<[new]>>> may vary from one implementation to another.
+
+Supporting OS subroutines required: <<link>>, <<unlink>>, or <<rename>>.
+*/
+
+#include <stdio.h>
+#include <sys/unistd.h>
+#include <reent.h>
+
+int
+_rename_r (ptr, old, new)
+ struct _reent *ptr;
+ _CONST char *old;
+ _CONST char *new;
+{
+#ifdef HAVE_RENAME
+ return _rename (old,new);
+#else
+ if (_link_r (ptr, old, new) == -1)
+ return -1;
+
+ if (_unlink_r (ptr, old) == -1)
+ {
+ /* ??? Should we unlink new? (rhetorical question) */
+ return -1;
+ }
+#endif
+ return 0;
+}
+
+#ifndef _REENT_ONLY
+
+int
+rename (old, new)
+ _CONST char *old;
+ _CONST char *new;
+{
+ return _rename_r (_REENT, old, new);
+}
+
+#endif
diff --git a/newlib/libc/stdio/rewind.c b/newlib/libc/stdio/rewind.c
new file mode 100644
index 00000000000..905275741ce
--- /dev/null
+++ b/newlib/libc/stdio/rewind.c
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+FUNCTION
+<<rewind>>---reinitialize a file or stream
+
+INDEX
+ rewind
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ void rewind(FILE *<[fp]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ void rewind(<[fp]>)
+ FILE *<[fp]>;
+
+DESCRIPTION
+<<rewind>> returns the file position indicator (if any) for the file
+or stream identified by <[fp]> to the beginning of the file. It also
+clears any error indicator and flushes any pending output.
+
+RETURNS
+<<rewind>> does not return a result.
+
+PORTABILITY
+ANSI C requires <<rewind>>.
+
+No supporting OS subroutines are required.
+*/
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "%W% (Berkeley) %G%";
+#endif /* LIBC_SCCS and not lint */
+
+#include <stdio.h>
+
+void
+_DEFUN (rewind, (fp),
+ register FILE * fp)
+{
+ (void) fseek(fp, 0L, SEEK_SET);
+ clearerr(fp);
+}
diff --git a/newlib/libc/stdio/rget.c b/newlib/libc/stdio/rget.c
new file mode 100644
index 00000000000..ea29c2bce50
--- /dev/null
+++ b/newlib/libc/stdio/rget.c
@@ -0,0 +1,43 @@
+/* No user fns here. Pesch 15apr92. */
+
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "%W% (Berkeley) %G%";
+#endif /* LIBC_SCCS and not lint */
+
+#include <stdio.h>
+#include "local.h"
+
+/*
+ * Handle getc() when the buffer ran out:
+ * Refill, then return the first character
+ * in the newly-filled buffer.
+ */
+
+int
+__srget (fp)
+ register FILE *fp;
+{
+ if (__srefill (fp) == 0)
+ {
+ fp->_r--;
+ return *fp->_p++;
+ }
+ return EOF;
+}
diff --git a/newlib/libc/stdio/scanf.c b/newlib/libc/stdio/scanf.c
new file mode 100644
index 00000000000..0a48189344d
--- /dev/null
+++ b/newlib/libc/stdio/scanf.c
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include <_ansi.h>
+#include <stdio.h>
+#include "local.h"
+
+#ifdef _HAVE_STDC
+#include <stdarg.h>
+#else
+#include <varargs.h>
+#endif
+
+#ifndef _REENT_ONLY
+
+int
+#ifdef _HAVE_STDC
+scanf (const char *fmt, ...)
+#else
+scanf (fmt, va_alist)
+ char *fmt;
+ va_dcl
+#endif
+{
+ int ret;
+ va_list ap;
+
+#ifdef _HAVE_STDC
+ va_start (ap, fmt);
+#else
+ va_start (ap);
+#endif
+ ret = __svfscanf (_stdin_r (_REENT), fmt, ap);
+ va_end (ap);
+ return ret;
+}
+
+#endif
+
+int
+#ifdef _HAVE_STDC
+_scanf_r (struct _reent *ptr, const char *fmt, ...)
+#else
+_scanf_r (ptr, fmt, va_alist)
+ struct _reent *ptr;
+ char *fmt;
+ va_dcl
+#endif
+{
+ int ret;
+ va_list ap;
+
+#ifdef _HAVE_STDC
+ va_start (ap, fmt);
+#else
+ va_start (ap);
+#endif
+ ret = __svfscanf (_stdin_r (ptr), fmt, ap);
+ va_end (ap);
+ return (ret);
+}
diff --git a/newlib/libc/stdio/setbuf.c b/newlib/libc/stdio/setbuf.c
new file mode 100644
index 00000000000..15d09e0f37f
--- /dev/null
+++ b/newlib/libc/stdio/setbuf.c
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+FUNCTION
+<<setbuf>>---specify full buffering for a file or stream
+
+INDEX
+ setbuf
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ void setbuf(FILE *<[fp]>, char *<[buf]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ void setbuf(<[fp]>, <[buf]>)
+ FILE *<[fp]>;
+ char *<[buf]>;
+
+DESCRIPTION
+<<setbuf>> specifies that output to the file or stream identified by <[fp]>
+should be fully buffered. All output for this file will go to a
+buffer (of size <<BUFSIZ>>, specified in `<<stdio.h>>'). Output will
+be passed on to the host system only when the buffer is full, or when
+an input operation intervenes.
+
+You may, if you wish, supply your own buffer by passing a pointer to
+it as the argument <[buf]>. It must have size <<BUFSIZ>>. You can
+also use <<NULL>> as the value of <[buf]>, to signal that the
+<<setbuf>> function is to allocate the buffer.
+
+WARNINGS
+You may only use <<setbuf>> before performing any file operation other
+than opening the file.
+
+If you supply a non-null <[buf]>, you must ensure that the associated
+storage continues to be available until you close the stream
+identified by <[fp]>.
+
+RETURNS
+<<setbuf>> does not return a result.
+
+PORTABILITY
+Both ANSI C and the System V Interface Definition (Issue 2) require
+<<setbuf>>. However, they differ on the meaning of a <<NULL>> buffer
+pointer: the SVID issue 2 specification says that a <<NULL>> buffer
+pointer requests unbuffered output. For maximum portability, avoid
+<<NULL>> buffer pointers.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#include <_ansi.h>
+#include <stdio.h>
+#include "local.h"
+
+void
+_DEFUN (setbuf, (fp, buf),
+ FILE * fp _AND
+ char *buf)
+{
+ (void) setvbuf (fp, buf, buf ? _IOFBF : _IONBF, BUFSIZ);
+}
diff --git a/newlib/libc/stdio/setvbuf.c b/newlib/libc/stdio/setvbuf.c
new file mode 100644
index 00000000000..357ea51428c
--- /dev/null
+++ b/newlib/libc/stdio/setvbuf.c
@@ -0,0 +1,190 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+FUNCTION
+<<setvbuf>>---specify file or stream buffering
+
+INDEX
+ setvbuf
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ int setvbuf(FILE *<[fp]>, char *<[buf]>,
+ int <[mode]>, size_t <[size]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ int setvbuf(<[fp]>, <[buf]>, <[mode]>, <[size]>)
+ FILE *<[fp]>;
+ char *<[buf]>;
+ int <[mode]>;
+ size_t <[size]>;
+
+DESCRIPTION
+Use <<setvbuf>> to specify what kind of buffering you want for the
+file or stream identified by <[fp]>, by using one of the following
+values (from <<stdio.h>>) as the <[mode]> argument:
+
+o+
+o _IONBF
+Do not use a buffer: send output directly to the host system for the
+file or stream identified by <[fp]>.
+
+o _IOFBF
+Use full output buffering: output will be passed on to the host system
+only when the buffer is full, or when an input operation intervenes.
+
+o _IOLBF
+Use line buffering: pass on output to the host system at every
+newline, as well as when the buffer is full, or when an input
+operation intervenes.
+o-
+
+Use the <[size]> argument to specify how large a buffer you wish. You
+can supply the buffer itself, if you wish, by passing a pointer to a
+suitable area of memory as <[buf]>. Otherwise, you may pass <<NULL>>
+as the <[buf]> argument, and <<setvbuf>> will allocate the buffer.
+
+WARNINGS
+You may only use <<setvbuf>> before performing any file operation other
+than opening the file.
+
+If you supply a non-null <[buf]>, you must ensure that the associated
+storage continues to be available until you close the stream
+identified by <[fp]>.
+
+RETURNS
+A <<0>> result indicates success, <<EOF>> failure (invalid <[mode]> or
+<[size]> can cause failure).
+
+PORTABILITY
+Both ANSI C and the System V Interface Definition (Issue 2) require
+<<setvbuf>>. However, they differ on the meaning of a <<NULL>> buffer
+pointer: the SVID issue 2 specification says that a <<NULL>> buffer
+pointer requests unbuffered output. For maximum portability, avoid
+<<NULL>> buffer pointers.
+
+Both specifications describe the result on failure only as a
+nonzero value.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#include <_ansi.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include "local.h"
+
+/*
+ * Set one of the three kinds of buffering, optionally including a buffer.
+ */
+
+int
+_DEFUN (setvbuf, (fp, buf, mode, size),
+ register FILE * fp _AND
+ char *buf _AND
+ register int mode _AND
+ register size_t size)
+{
+ int ret = 0;
+ CHECK_INIT (fp);
+
+ /*
+ * Verify arguments. The `int' limit on `size' is due to this
+ * particular implementation.
+ */
+
+ if ((mode != _IOFBF && mode != _IOLBF && mode != _IONBF) || (int)(_POINTER_INT) size < 0)
+ return (EOF);
+
+ /*
+ * Write current buffer, if any; drop read count, if any.
+ * Make sure putc() will not think fp is line buffered.
+ * Free old buffer if it was from malloc(). Clear line and
+ * non buffer flags, and clear malloc flag.
+ */
+
+ (void) fflush (fp);
+ fp->_r = 0;
+ fp->_lbfsize = 0;
+ if (fp->_flags & __SMBF)
+ _free_r (fp->_data, (void *) fp->_bf._base);
+ fp->_flags &= ~(__SLBF | __SNBF | __SMBF);
+
+ if (mode == _IONBF)
+ goto nbf;
+
+ /*
+ * Allocate buffer if needed. */
+ if (buf == NULL)
+ {
+ /* we need this here because malloc() may return a pointer
+ even if size == 0 */
+ if (!size) size = BUFSIZ;
+ if ((buf = malloc (size)) == NULL)
+ {
+ ret = EOF;
+ /* Try another size... */
+ buf = malloc (BUFSIZ);
+ size = BUFSIZ;
+ }
+ if (buf == NULL)
+ {
+ /* Can't allocate it, let's try another approach */
+nbf:
+ fp->_flags |= __SNBF;
+ fp->_w = 0;
+ fp->_bf._base = fp->_p = fp->_nbuf;
+ fp->_bf._size = 1;
+ return (ret);
+ }
+ fp->_flags |= __SMBF;
+ }
+ /*
+ * Now put back whichever flag is needed, and fix _lbfsize
+ * if line buffered. Ensure output flush on exit if the
+ * stream will be buffered at all.
+ * If buf is NULL then make _lbfsize 0 to force the buffer
+ * to be flushed and hence malloced on first use
+ */
+
+ switch (mode)
+ {
+ case _IOLBF:
+ fp->_flags |= __SLBF;
+ fp->_lbfsize = buf ? -size : 0;
+ /* FALLTHROUGH */
+
+ case _IOFBF:
+ /* no flag */
+ fp->_data->__cleanup = _cleanup_r;
+ fp->_bf._base = fp->_p = (unsigned char *) buf;
+ fp->_bf._size = size;
+ break;
+ }
+
+ /*
+ * Patch up write count if necessary.
+ */
+
+ if (fp->_flags & __SWR)
+ fp->_w = fp->_flags & (__SLBF | __SNBF) ? 0 : size;
+
+ return 0;
+}
diff --git a/newlib/libc/stdio/siprintf.c b/newlib/libc/stdio/siprintf.c
new file mode 100644
index 00000000000..40bd0169683
--- /dev/null
+++ b/newlib/libc/stdio/siprintf.c
@@ -0,0 +1,70 @@
+/*
+FUNCTION
+ <<siprintf>>---write formatted output (integer only)
+INDEX
+ siprintf
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+
+ int siprintf(char *<[str]>, const char *<[format]> [, <[arg]>, ...]);
+
+
+DESCRIPTION
+<<siprintf>> is a restricted version of <<sprintf>>: it has the same
+arguments and behavior, save that it cannot perform any floating-point
+formatting: the <<f>>, <<g>>, <<G>>, <<e>>, and <<F>> type specifiers
+are not recognized.
+
+RETURNS
+ <<siprintf>> returns the number of bytes in the output string,
+ save that the concluding <<NULL>> is not counted.
+ <<siprintf>> returns when the end of the format string is
+ encountered.
+
+PORTABILITY
+<<siprintf>> is not required by ANSI C.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#include <stdio.h>
+#ifdef _HAVE_STDC
+#include <stdarg.h>
+#else
+#include <varargs.h>
+#endif
+#include <limits.h>
+#include <_ansi.h>
+#include <reent.h>
+#include "local.h"
+
+int
+#ifdef _HAVE_STDC
+_DEFUN (siprintf, (str, fmt), char *str _AND _CONST char *fmt _DOTS)
+#else
+siprintf (str, fmt, va_alist)
+ char *str;
+ _CONST char *fmt;
+ va_dcl
+#endif
+{
+ int ret;
+ va_list ap;
+ FILE f;
+
+ f._flags = __SWR | __SSTR;
+ f._bf._base = f._p = (unsigned char *) str;
+ f._bf._size = f._w = INT_MAX;
+ f._data = _REENT;
+#ifdef _HAVE_STDC
+ va_start (ap, fmt);
+#else
+ va_start (ap);
+#endif
+ ret = vfiprintf (&f, fmt, ap);
+ va_end (ap);
+ *f._p = 0;
+ return (ret);
+}
diff --git a/newlib/libc/stdio/snprintf.c b/newlib/libc/stdio/snprintf.c
new file mode 100644
index 00000000000..333e808e4f9
--- /dev/null
+++ b/newlib/libc/stdio/snprintf.c
@@ -0,0 +1,95 @@
+/* doc in sprintf.c */
+
+/* This code created by modifying sprintf.c so copyright inherited. */
+
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include <stdio.h>
+#ifdef _HAVE_STDC
+#include <stdarg.h>
+#else
+#include <varargs.h>
+#endif
+#include <limits.h>
+#include <_ansi.h>
+#include "local.h"
+
+int
+#ifdef _HAVE_STDC
+_DEFUN (_snprintf_r, (ptr, str, size, fmt), struct _reent *ptr _AND char *str _AND size_t size _AND _CONST char *fmt _DOTS)
+#else
+_snprintf_r (ptr, str, size, fmt, va_alist)
+ struct _reent *ptr;
+ char *str;
+ size_t size;
+ _CONST char *fmt;
+ va_dcl
+#endif
+{
+ int ret;
+ va_list ap;
+ FILE f;
+
+ f._flags = __SWR | __SSTR;
+ f._bf._base = f._p = (unsigned char *) str;
+ f._bf._size = f._w = size;
+ f._data = ptr;
+#ifdef _HAVE_STDC
+ va_start (ap, fmt);
+#else
+ va_start (ap);
+#endif
+ ret = vfprintf (&f, fmt, ap);
+ va_end (ap);
+ *f._p = 0;
+ return (ret);
+}
+
+#ifndef _REENT_ONLY
+
+int
+#ifdef _HAVE_STDC
+_DEFUN (snprintf, (str, size, fmt), char *str _AND size_t size _AND _CONST char *fmt _DOTS)
+#else
+snprintf (str, size, fmt, va_alist)
+ char *str;
+ size_t size;
+ _CONST char *fmt;
+ va_dcl
+#endif
+{
+ int ret;
+ va_list ap;
+ FILE f;
+
+ f._flags = __SWR | __SSTR;
+ f._bf._base = f._p = (unsigned char *) str;
+ f._bf._size = f._w = size;
+ f._data = _REENT;
+#ifdef _HAVE_STDC
+ va_start (ap, fmt);
+#else
+ va_start (ap);
+#endif
+ ret = vfprintf (&f, fmt, ap);
+ va_end (ap);
+ *f._p = 0;
+ return (ret);
+}
+
+#endif
diff --git a/newlib/libc/stdio/sprintf.c b/newlib/libc/stdio/sprintf.c
new file mode 100644
index 00000000000..b5376327e3f
--- /dev/null
+++ b/newlib/libc/stdio/sprintf.c
@@ -0,0 +1,360 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+
+FUNCTION
+ <<printf>>, <<fprintf>>, <<sprintf>>, <<snprintf>>---format output
+INDEX
+ fprintf
+INDEX
+ printf
+INDEX
+ sprintf
+INDEX
+ snprintf
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+
+ int printf(const char *<[format]> [, <[arg]>, ...]);
+ int fprintf(FILE *<[fd]>, const char *<[format]> [, <[arg]>, ...]);
+ int sprintf(char *<[str]>, const char *<[format]> [, <[arg]>, ...]);
+ int snprintf(char *<[str]>, size_t <[size]>, const char *<[format]> [, <[arg]>, ...]);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+
+ int printf(<[format]> [, <[arg]>, ...])
+ char *<[format]>;
+
+ int fprintf(<[fd]>, <[format]> [, <[arg]>, ...]);
+ FILE *<[fd]>;
+ char *<[format]>;
+
+ int sprintf(<[str]>, <[format]> [, <[arg]>, ...]);
+ char *<[str]>;
+ char *<[format]>;
+
+ int snprintf(<[str]>, size_t <[size]>, <[format]> [, <[arg]>, ...]);
+ char *<[str]>;
+ size_t <[size]>;
+ char *<[format]>;
+
+DESCRIPTION
+ <<printf>> accepts a series of arguments, applies to each a
+ format specifier from <<*<[format]>>>, and writes the
+ formatted data to <<stdout>>, terminated with a null character.
+ The behavior of <<printf>> is undefined if there are not enough
+ arguments for the format.
+ <<printf>> returns when it reaches the end of the format string.
+ If there are more arguments than the format requires, excess
+ arguments are ignored.
+
+ <<fprintf>>, <<sprintf>> and <<snprintf>> are identical to <<printf>>,
+ other than the destination of the formatted output: <<fprintf>> sends
+ the output to a specified file <[fd]>, while <<sprintf>> stores the
+ output in the specified char array <[str]> and <<snprintf>> limits
+ number of characters written to <[str]> to at most <[size]> (including
+ terminating <<0>>). For <<sprintf>> and <<snprintf>>, the behavior is
+ also undefined if the output <<*<[str]>>> overlaps with one of the
+ arguments. <[format]> is a pointer to a charater string containing
+ two types of objects: ordinary characters (other than <<%>>), which
+ are copied unchanged to the output, and conversion
+ specifications, each of which is introduced by <<%>>.
+ (To include <<%>> in the output, use <<%%>> in the format string.)
+ A conversion specification has the following form:
+
+. %[<[flags]>][<[width]>][.<[prec]>][<[size]>][<[type]>]
+
+ The fields of the conversion specification have the following meanings:
+
+ O+
+ o <[flags]>
+
+ an optional sequence of characters which control
+ output justification, numeric signs, decimal points,
+ trailing zeroes, and octal and hex prefixes.
+ The flag characters are minus (<<->>), plus (<<+>>),
+ space ( ), zero (<<0>>), and sharp (<<#>>). They can
+ appear in any combination.
+
+ o+
+ o -
+ The result of the conversion is left justified, and the right is
+ padded with blanks. If you do not use this flag, the result is right
+ justified, and padded on the left.
+
+ o +
+ The result of a signed conversion (as determined by <[type]>)
+ will always begin with a plus or minus sign. (If you do not use
+ this flag, positive values do not begin with a plus sign.)
+
+ o " " (space)
+ If the first character of a signed conversion specification
+ is not a sign, or if a signed conversion results in no
+ characters, the result will begin with a space. If the
+ space ( ) flag and the plus (<<+>>) flag both appear,
+ the space flag is ignored.
+
+ o 0
+ If the <[type]> character is <<d>>, <<i>>, <<o>>, <<u>>,
+ <<x>>, <<X>>, <<e>>, <<E>>, <<f>>, <<g>>, or <<G>>: leading zeroes,
+ are used to pad the field width (following any indication of sign or
+ base); no spaces are used for padding. If the zero (<<0>>) and
+ minus (<<->>) flags both appear, the zero (<<0>>) flag will
+ be ignored. For <<d>>, <<i>>, <<o>>, <<u>>, <<x>>, and <<X>>
+ conversions, if a precision <[prec]> is specified, the zero (<<0>>)
+ flag is ignored.
+
+ Note that <<0>> is interpreted as a flag, not as the beginning
+ of a field width.
+
+ o #
+ The result is to be converted to an alternative form, according
+ to the next character:
+
+ o+
+ o 0
+ increases precision to force the first digit
+ of the result to be a zero.
+
+ o x
+ a non-zero result will have a <<0x>> prefix.
+
+ o X
+ a non-zero result will have a <<0X>> prefix.
+
+ o e, E or f
+ The result will always contain a decimal point
+ even if no digits follow the point.
+ (Normally, a decimal point appears only if a
+ digit follows it.) Trailing zeroes are removed.
+
+ o g or G
+ same as <<e>> or <<E>>, but trailing zeroes
+ are not removed.
+
+ o all others
+ undefined.
+
+ o-
+ o-
+
+ o <[width]>
+
+ <[width]> is an optional minimum field width. You can either
+ specify it directly as a decimal integer, or indirectly by
+ using instead an asterisk (<<*>>), in which case an <<int>>
+ argument is used as the field width. Negative field widths
+ are not supported; if you attempt to specify a negative field
+ width, it is interpreted as a minus (<<->>) flag followed by a
+ positive field width.
+
+ o <[prec]>
+
+ an optional field; if present, it is introduced with `<<.>>'
+ (a period). This field gives the maximum number of
+ characters to print in a conversion; the minimum number of
+ digits of an integer to print, for conversions with <[type]>
+ <<d>>, <<i>>, <<o>>, <<u>>, <<x>>, and <<X>>; the maximum number of
+ significant digits, for the <<g>> and <<G>> conversions;
+ or the number of digits to print after the decimal
+ point, for <<e>>, <<E>>, and <<f>> conversions. You can specify
+ the precision either directly as a decimal integer or
+ indirectly by using an asterisk (<<*>>), in which case
+ an <<int>> argument is used as the precision. Supplying a negative
+ precision is equivalent to omitting the precision.
+ If only a period is specified the precision is zero.
+ If a precision appears with any other conversion <[type]>
+ than those listed here, the behavior is undefined.
+
+ o <[size]>
+
+ <<h>>, <<l>>, and <<L>> are optional size characters which
+ override the default way that <<printf>> interprets the
+ data type of the corresponding argument. <<h>> forces
+ the following <<d>>, <<i>>, <<o>>, <<u>>, <<x>> or <<X>> conversion
+ <[type]> to apply to a <<short>> or <<unsigned short>>. <<h>> also
+ forces a following <<n>> <[type]> to apply to
+ a pointer to a <<short>>. Similarily, an
+ <<l>> forces the following <<d>>, <<i>>, <<o>>, <<u>>,
+ <<x>> or <<X>> conversion <[type]> to apply to a <<long>> or
+ <<unsigned long>>. <<l>> also forces a following <<n>> <[type]> to
+ apply to a pointer to a <<long>>. If an <<h>>
+ or an <<l>> appears with another conversion
+ specifier, the behavior is undefined. <<L>> forces a
+ following <<e>>, <<E>>, <<f>>, <<g>> or <<G>> conversion <[type]> to
+ apply to a <<long double>> argument. If <<L>> appears with
+ any other conversion <[type]>, the behavior is undefined.
+
+ o <[type]>
+
+ <[type]> specifies what kind of conversion <<printf>> performs.
+ Here is a table of these:
+
+ o+
+ o %
+ prints the percent character (<<%>>)
+
+ o c
+ prints <[arg]> as single character
+
+ o s
+ prints characters until precision is reached or a null terminator
+ is encountered; takes a string pointer
+
+ o d
+ prints a signed decimal integer; takes an <<int>> (same as <<i>>)
+
+ o i
+ prints a signed decimal integer; takes an <<int>> (same as <<d>>)
+
+ o o
+ prints a signed octal integer; takes an <<int>>
+
+ o u
+ prints an unsigned decimal integer; takes an <<int>>
+
+ o x
+ prints an unsigned hexadecimal integer (using <<abcdef>> as
+ digits beyond <<9>>); takes an <<int>>
+
+ o X
+ prints an unsigned hexadecimal integer (using <<ABCDEF>> as
+ digits beyond <<9>>); takes an <<int>>
+
+ o f
+ prints a signed value of the form <<[-]9999.9999>>; takes
+ a floating point number
+
+ o e
+ prints a signed value of the form <<[-]9.9999e[+|-]999>>; takes a
+ floating point number
+
+ o E
+ prints the same way as <<e>>, but using <<E>> to introduce the
+ exponent; takes a floating point number
+
+ o g
+ prints a signed value in either <<f>> or <<e>> form, based on given
+ value and precision---trailing zeros and the decimal point are
+ printed only if necessary; takes a floating point number
+
+ o G
+ prints the same way as <<g>>, but using <<E>> for the exponent if an
+ exponent is needed; takes a floating point number
+
+ o n
+ stores (in the same object) a count of the characters written;
+ takes a pointer to <<int>>
+
+ o p
+ prints a pointer in an implementation-defined format.
+ This implementation treats the pointer as an
+ <<unsigned long>> (same as <<Lu>>).
+ o-
+O-
+
+
+RETURNS
+<<sprintf>> returns the number of bytes in the output string,
+save that the concluding <<NULL>> is not counted.
+<<printf>> and <<fprintf>> return the number of characters transmitted.
+If an error occurs, <<printf>> and <<fprintf>> return <<EOF>>. No
+error returns occur for <<sprintf>>.
+
+PORTABILITY
+ The ANSI C standard specifies that implementations must
+ support at least formatted output of up to 509 characters.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#include <stdio.h>
+#ifdef _HAVE_STDC
+#include <stdarg.h>
+#else
+#include <varargs.h>
+#endif
+#include <limits.h>
+#include <_ansi.h>
+#include "local.h"
+
+int
+#ifdef _HAVE_STDC
+_DEFUN (_sprintf_r, (ptr, str, fmt), struct _reent *ptr _AND char *str _AND _CONST char *fmt _DOTS)
+#else
+_sprintf_r (ptr, str, fmt, va_alist)
+ struct _reent *ptr;
+ char *str;
+ _CONST char *fmt;
+ va_dcl
+#endif
+{
+ int ret;
+ va_list ap;
+ FILE f;
+
+ f._flags = __SWR | __SSTR;
+ f._bf._base = f._p = (unsigned char *) str;
+ f._bf._size = f._w = INT_MAX;
+ f._data = ptr;
+#ifdef _HAVE_STDC
+ va_start (ap, fmt);
+#else
+ va_start (ap);
+#endif
+ ret = vfprintf (&f, fmt, ap);
+ va_end (ap);
+ *f._p = 0;
+ return (ret);
+}
+
+#ifndef _REENT_ONLY
+
+int
+#ifdef _HAVE_STDC
+_DEFUN (sprintf, (str, fmt), char *str _AND _CONST char *fmt _DOTS)
+#else
+sprintf (str, fmt, va_alist)
+ char *str;
+ _CONST char *fmt;
+ va_dcl
+#endif
+{
+ int ret;
+ va_list ap;
+ FILE f;
+
+ f._flags = __SWR | __SSTR;
+ f._bf._base = f._p = (unsigned char *) str;
+ f._bf._size = f._w = INT_MAX;
+ f._data = _REENT;
+#ifdef _HAVE_STDC
+ va_start (ap, fmt);
+#else
+ va_start (ap);
+#endif
+ ret = vfprintf (&f, fmt, ap);
+ va_end (ap);
+ *f._p = 0;
+ return (ret);
+}
+
+#endif
diff --git a/newlib/libc/stdio/sscanf.c b/newlib/libc/stdio/sscanf.c
new file mode 100644
index 00000000000..eb344238db4
--- /dev/null
+++ b/newlib/libc/stdio/sscanf.c
@@ -0,0 +1,386 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+
+FUNCTION
+ <<scanf>>, <<fscanf>>, <<sscanf>>---scan and format input
+
+INDEX
+ scanf
+INDEX
+ fscanf
+INDEX
+ sscanf
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+
+ int scanf(const char *<[format]> [, <[arg]>, ...]);
+ int fscanf(FILE *<[fd]>, const char *<[format]> [, <[arg]>, ...]);
+ int sscanf(const char *<[str]>, const char *<[format]>
+ [, <[arg]>, ...]);
+
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+
+ int scanf(<[format]> [, <[arg]>, ...])
+ char *<[format]>;
+
+ int fscanf(<[fd]>, <[format]> [, <[arg]>, ...]);
+ FILE *<[fd]>;
+ char *<[format]>;
+
+ int sscanf(<[str]>, <[format]> [, <[arg]>, ...]);
+ char *<[str]>;
+ char *<[format]>;
+
+
+DESCRIPTION
+ <<scanf>> scans a series of input fields from standard input,
+ one character at a time. Each field is interpreted according to
+ a format specifier passed to <<scanf>> in the format string at
+ <<*<[format]>>>. <<scanf>> stores the interpreted input from
+ each field at the address passed to it as the corresponding argument
+ following <[format]>. You must supply the same number of
+ format specifiers and address arguments as there are input fields.
+
+ There must be sufficient address arguments for the given format
+ specifiers; if not the results are unpredictable and likely
+ disasterous. Excess address arguments are merely ignored.
+
+ <<scanf>> often produces unexpected results if the input diverges from
+ an expected pattern. Since the combination of <<gets>> or <<fgets>>
+ followed by <<sscanf>> is safe and easy, that is the preferred way
+ to be certain that a program is synchronized with input at the end
+ of a line.
+
+ <<fscanf>> and <<sscanf>> are identical to <<scanf>>, other than the
+ source of input: <<fscanf>> reads from a file, and <<sscanf>>
+ from a string.
+
+ The string at <<*<[format]>>> is a character sequence composed
+ of zero or more directives. Directives are composed of
+ one or more whitespace characters, non-whitespace characters,
+ and format specifications.
+
+ Whitespace characters are blank (<< >>), tab (<<\t>>), or
+ newline (<<\n>>).
+ When <<scanf>> encounters a whitespace character in the format string
+ it will read (but not store) all consecutive whitespace characters
+ up to the next non-whitespace character in the input.
+
+ Non-whitespace characters are all other ASCII characters except the
+ percent sign (<<%>>). When <<scanf>> encounters a non-whitespace
+ character in the format string it will read, but not store
+ a matching non-whitespace character.
+
+ Format specifications tell <<scanf>> to read and convert characters
+ from the input field into specific types of values, and store then
+ in the locations specified by the address arguments.
+
+ Trailing whitespace is left unread unless explicitly
+ matched in the format string.
+
+ The format specifiers must begin with a percent sign (<<%>>)
+ and have the following form:
+
+. %[*][<[width]>][<[size]>]<[type]>
+
+ Each format specification begins with the percent character (<<%>>).
+ The other fields are:
+ o+
+ o *
+ an optional marker; if present, it suppresses interpretation and
+ assignment of this input field.
+
+ o <[width]>
+ an optional maximum field width: a decimal integer,
+ which controls the maximum number of characters that
+ will be read before converting the current input field. If the
+ input field has fewer than <[width]> characters, <<scanf>>
+ reads all the characters in the field, and then
+ proceeds with the next field and its format specification.
+
+ If a whitespace or a non-convertable character occurs
+ before <[width]> character are read, the characters up
+ to that character are read, converted, and stored.
+ Then <<scanf>> proceeds to the next format specification.
+
+ o size
+ <<h>>, <<l>>, and <<L>> are optional size characters which
+ override the default way that <<scanf>> interprets the
+ data type of the corresponding argument.
+
+
+.Modifier Type(s)
+. h d, i, o, u, x convert input to short,
+. store in short object
+.
+. h D, I, O, U, X no effect
+. e, f, c, s, n, p
+.
+. l d, i, o, u, x convert input to long,
+. store in long object
+.
+. l e, f, g convert input to double
+. store in a double object
+.
+. l D, I, O, U, X no effect
+. c, s, n, p
+.
+. L d, i, o, u, x convert to long double,
+. store in long double
+.
+. L all others no effect
+
+
+ o <[type]>
+
+ A character to specify what kind of conversion
+ <<scanf>> performs. Here is a table of the conversion
+ characters:
+
+ o+
+ o %
+ No conversion is done; the percent character (<<%>>) is stored.
+
+ o c
+ Scans one character. Corresponding <[arg]>: <<(char *arg)>>.
+
+ o s
+ Reads a character string into the array supplied.
+ Corresponding <[arg]>: <<(char arg[])>>.
+
+ o [<[pattern]>]
+ Reads a non-empty character string into memory
+ starting at <[arg]>. This area must be large
+ enough to accept the sequence and a
+ terminating null character which will be added
+ automatically. (<[pattern]> is discussed in the paragraph following
+ this table). Corresponding <[arg]>: <<(char *arg)>>.
+
+ o d
+ Reads a decimal integer into the corresponding <[arg]>: <<(int *arg)>>.
+
+ o D
+ Reads a decimal integer into the corresponding
+ <[arg]>: <<(long *arg)>>.
+
+ o o
+ Reads an octal integer into the corresponding <[arg]>: <<(int *arg)>>.
+
+ o O
+ Reads an octal integer into the corresponding <[arg]>: <<(long *arg)>>.
+
+ o u
+ Reads an unsigned decimal integer into the corresponding
+ <[arg]>: <<(unsigned int *arg)>>.
+
+
+ o U
+ Reads an unsigned decimal integer into the corresponding <[arg]>:
+ <<(unsigned long *arg)>>.
+
+ o x,X
+ Read a hexadecimal integer into the corresponding <[arg]>:
+ <<(int *arg)>>.
+
+ o e, f, g
+ Read a floating point number into the corresponding <[arg]>:
+ <<(float *arg)>>.
+
+ o E, F, G
+ Read a floating point number into the corresponding <[arg]>:
+ <<(double *arg)>>.
+
+ o i
+ Reads a decimal, octal or hexadecimal integer into the
+ corresponding <[arg]>: <<(int *arg)>>.
+
+ o I
+ Reads a decimal, octal or hexadecimal integer into the
+ corresponding <[arg]>: <<(long *arg)>>.
+
+ o n
+ Stores the number of characters read in the corresponding
+ <[arg]>: <<(int *arg)>>.
+
+ o p
+ Stores a scanned pointer. ANSI C leaves the details
+ to each implementation; this implementation treats
+ <<%p>> exactly the same as <<%U>>. Corresponding
+ <[arg]>: <<(void **arg)>>.
+ o-
+
+ A <[pattern]> of characters surrounded by square brackets can be used
+ instead of the <<s>> type character. <[pattern]> is a set of
+ characters which define a search set of possible characters making up
+ the <<scanf>> input field. If the first character in the brackets is a
+ caret (<<^>>), the search set is inverted to include all ASCII characters
+ except those between the brackets. There is also a range facility
+ which you can use as a shortcut. <<%[0-9] >> matches all decimal digits.
+ The hyphen must not be the first or last character in the set.
+ The character prior to the hyphen must be lexically less than the
+ character after it.
+
+ Here are some <[pattern]> examples:
+ o+
+ o %[abcd]
+ matches strings containing only <<a>>, <<b>>, <<c>>, and <<d>>.
+
+ o %[^abcd]
+ matches strings containing any characters except <<a>>, <<b>>,
+ <<c>>, or <<d>>
+
+ o %[A-DW-Z]
+ matches strings containing <<A>>, <<B>>, <<C>>, <<D>>, <<W>>,
+ <<X>>, <<Y>>, <<Z>>
+
+ o %[z-a]
+ matches the characters <<z>>, <<->>, and <<a>>
+ o-
+
+ Floating point numbers (for field types <<e>>, <<f>>, <<g>>, <<E>>,
+ <<F>>, <<G>>) must correspond to the following general form:
+
+. [+/-] ddddd[.]ddd [E|e[+|-]ddd]
+
+ where objects inclosed in square brackets are optional, and <<ddd>>
+ represents decimal, octal, or hexadecimal digits.
+ o-
+
+RETURNS
+ <<scanf>> returns the number of input fields successfully
+ scanned, converted and stored; the return value does
+ not include scanned fields which were not stored.
+
+ If <<scanf>> attempts to read at end-of-file, the return
+ value is <<EOF>>.
+
+ If no fields were stored, the return value is <<0>>.
+
+ <<scanf>> might stop scanning a particular field before
+ reaching the normal field end character, or may
+ terminate entirely.
+
+ <<scanf>> stops scanning and storing the current field
+ and moves to the next input field (if any)
+ in any of the following situations:
+
+ O+
+ o The assignment suppressing character (<<*>>) appears
+ after the <<%>> in the format specification; the current
+ input field is scanned but not stored.
+
+ o <[width]> characters have been read (<[width]> is a
+ width specification, a positive decimal integer).
+
+ o The next character read cannot be converted
+ under the the current format (for example,
+ if a <<Z>> is read when the format is decimal).
+
+ o The next character in the input field does not appear
+ in the search set (or does appear in the inverted search set).
+ O-
+
+ When <<scanf>> stops scanning the current input field for one of
+ these reasons, the next character is considered unread and
+ used as the first character of the following input field, or the
+ first character in a subsequent read operation on the input.
+
+ <<scanf>> will terminate under the following circumstances:
+
+ O+
+ o The next character in the input field conflicts
+ with a corresponding non-whitespace character in the
+ format string.
+
+ o The next character in the input field is <<EOF>>.
+
+ o The format string has been exhausted.
+ O-
+
+ When the format string contains a character sequence that is
+ not part of a format specification, the same character
+ sequence must appear in the input; <<scanf>> will
+ scan but not store the matched characters. If a
+ conflict occurs, the first conflicting character remains in the input
+ as if it had never been read.
+
+PORTABILITY
+<<scanf>> is ANSI C.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#include <_ansi.h>
+#include <reent.h>
+#include <stdio.h>
+#include <string.h>
+#ifdef _HAVE_STDC
+#include <stdarg.h>
+#else
+#include <varargs.h>
+#endif
+#include "local.h"
+
+/* | ARGSUSED */
+/*SUPPRESS 590*/
+static
+int
+eofread (cookie, buf, len)
+ _PTR cookie;
+ char *buf;
+ int len;
+{
+ return 0;
+}
+
+#ifdef _HAVE_STDC
+int
+_DEFUN (sscanf, (str, fmt), _CONST char *str _AND _CONST char *fmt _DOTS)
+#else
+int
+sscanf (str, fmt, va_alist)
+ _CONST char *str;
+ _CONST char *fmt;
+ va_dcl
+#endif
+{
+ int ret;
+ va_list ap;
+ FILE f;
+
+ f._flags = __SRD;
+ f._bf._base = f._p = (unsigned char *) str;
+ f._bf._size = f._r = strlen (str);
+ f._read = eofread;
+ f._ub._base = NULL;
+ f._lb._base = NULL;
+ f._data = _REENT;
+#ifdef _HAVE_STDC
+ va_start (ap, fmt);
+#else
+ va_start (ap);
+#endif
+ ret = __svfscanf (&f, fmt, ap);
+ va_end (ap);
+ return ret;
+}
diff --git a/newlib/libc/stdio/stdio.c b/newlib/libc/stdio/stdio.c
new file mode 100644
index 00000000000..c06f51aa076
--- /dev/null
+++ b/newlib/libc/stdio/stdio.c
@@ -0,0 +1,92 @@
+/* No user fns here. Pesch 15apr92. */
+
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <fcntl.h>
+#include <sys/unistd.h>
+#include "local.h"
+
+/*
+ * Small standard I/O/seek/close functions.
+ * These maintain the `known seek offset' for seek optimisation.
+ */
+
+int
+__sread (cookie, buf, n)
+ _PTR cookie;
+ char *buf;
+ int n;
+{
+ register FILE *fp = (FILE *) cookie;
+ register int ret;
+
+ ret = _read_r (fp->_data, fp->_file, buf, n);
+
+ /* If the read succeeded, update the current offset. */
+
+ if (ret >= 0)
+ fp->_offset += ret;
+ else
+ fp->_flags &= ~__SOFF; /* paranoia */
+ return ret;
+}
+
+int
+__swrite (cookie, buf, n)
+ _PTR cookie;
+ char _CONST *buf;
+ int n;
+{
+ register FILE *fp = (FILE *) cookie;
+
+ if (fp->_flags & __SAPP)
+ (void) _lseek_r (fp->_data, fp->_file, (off_t) 0, SEEK_END);
+ fp->_flags &= ~__SOFF; /* in case O_APPEND mode is set */
+ return _write_r (fp->_data, fp->_file, buf, n);
+}
+
+fpos_t
+__sseek (cookie, offset, whence)
+ _PTR cookie;
+ fpos_t offset;
+ int whence;
+{
+ register FILE *fp = (FILE *) cookie;
+ register off_t ret;
+
+ ret = _lseek_r (fp->_data, fp->_file, (off_t) offset, whence);
+ if (ret == -1L)
+ fp->_flags &= ~__SOFF;
+ else
+ {
+ fp->_flags |= __SOFF;
+ fp->_offset = ret;
+ }
+ return ret;
+}
+
+int
+__sclose (cookie)
+ _PTR cookie;
+{
+ FILE *fp = (FILE *) cookie;
+
+ return _close_r (fp->_data, fp->_file);
+}
diff --git a/newlib/libc/stdio/stdio.tex b/newlib/libc/stdio/stdio.tex
new file mode 100644
index 00000000000..466e1f0dbef
--- /dev/null
+++ b/newlib/libc/stdio/stdio.tex
@@ -0,0 +1,183 @@
+@node Stdio
+@chapter Input and Output (@file{stdio.h})
+
+This chapter comprises functions to manage files
+or other input/output streams. Among these functions are subroutines
+to generate or scan strings according to specifications from a format string.
+
+The underlying facilities for input and output depend on the host
+system, but these functions provide a uniform interface.
+
+The corresponding declarations are in @file{stdio.h}.
+
+The reentrant versions of these functions use macros
+
+@example
+_stdin_r(@var{reent})
+_stdout_r(@var{reent})
+_stderr_r(@var{reent})
+@end example
+
+@noindent
+instead of the globals @code{stdin}, @code{stdout}, and
+@code{stderr}. The argument <[reent]> is a pointer to a reentrancy
+structure.
+
+@menu
+* clearerr:: Clear file or stream error indicator
+* fclose:: Close a file
+* feof:: Test for end of file
+* ferror:: Test whether read/write error has occurred
+* fflush:: Flush buffered file output
+* fgetc:: Get a character from a file or stream
+* fgetpos:: Record position in a stream or file
+* fgets:: Get character string from a file or stream
+* fiprintf:: Write formatted output to file (integer only)
+* fopen:: Open a file
+* fdopen:: Turn an open file into a stream
+* fputc:: Write a character on a stream or file
+* fputs:: Write a character string in a file or stream
+* fread:: Read array elements from a file
+* freopen:: Open a file using an existing file descriptor
+* fseek:: Set file position
+* fsetpos:: Restore position of a stream or file
+* ftell:: Return position in a stream or file
+* fwrite:: Write array elements from memory to a file or stream
+* getc:: Get a character from a file or stream (macro)
+* getchar:: Get a character from standard input (macro)
+* gets:: Get character string from standard input (obsolete)
+* iprintf:: Write formatted output (integer only)
+* mktemp:: Generate unused file name
+* perror:: Print an error message on standard error
+* putc:: Write a character on a stream or file (macro)
+* putchar:: Write a character on standard output (macro)
+* puts:: Write a character string on standard output
+* remove:: Delete a file's name
+* rename:: Rename a file
+* rewind:: Reinitialize a file or stream
+* setbuf:: Specify full buffering for a file or stream
+* setvbuf:: Specify buffering for a file or stream
+* siprintf:: Write formatted output (integer only)
+* printf:: Write formatted output
+* scanf:: Scan and format input
+* tmpfile:: Create a temporary file
+* tmpnam:: Generate name for a temporary file
+* vprintf:: Format variable argument list
+@end menu
+
+@page
+@include stdio/clearerr.def
+
+@page
+@include stdio/fclose.def
+
+@page
+@include stdio/feof.def
+
+@page
+@include stdio/ferror.def
+
+@page
+@include stdio/fflush.def
+
+@page
+@include stdio/fgetc.def
+
+@page
+@include stdio/fgetpos.def
+
+@page
+@include stdio/fgets.def
+
+@page
+@include stdio/fiprintf.def
+
+@page
+@include stdio/fopen.def
+
+@page
+@include stdio/fdopen.def
+
+@page
+@include stdio/fputc.def
+
+@page
+@include stdio/fputs.def
+
+@page
+@include stdio/fread.def
+
+@page
+@include stdio/freopen.def
+
+@page
+@include stdio/fseek.def
+
+@page
+@include stdio/fsetpos.def
+
+@page
+@include stdio/ftell.def
+
+@page
+@include stdio/fwrite.def
+
+@page
+@include stdio/getc.def
+
+@page
+@include stdio/getchar.def
+
+@page
+@include stdio/gets.def
+
+@page
+@include stdio/iprintf.def
+
+@page
+@include stdio/mktemp.def
+
+@page
+@include stdio/perror.def
+
+@page
+@include stdio/putc.def
+
+@page
+@include stdio/putchar.def
+
+@page
+@include stdio/puts.def
+
+@page
+@include stdio/remove.def
+
+@page
+@include stdio/rename.def
+
+@page
+@include stdio/rewind.def
+
+@page
+@include stdio/setbuf.def
+
+@page
+@include stdio/setvbuf.def
+
+@page
+@include stdio/siprintf.def
+
+@page
+@include stdio/sprintf.def
+
+@page
+@include stdio/sscanf.def
+
+@page
+@include stdio/tmpfile.def
+
+@page
+@include stdio/tmpnam.def
+
+@page
+@include stdio/vfprintf.def
diff --git a/newlib/libc/stdio/tmpfile.c b/newlib/libc/stdio/tmpfile.c
new file mode 100644
index 00000000000..4b31396e23a
--- /dev/null
+++ b/newlib/libc/stdio/tmpfile.c
@@ -0,0 +1,77 @@
+/*
+FUNCTION
+<<tmpfile>>---create a temporary file
+
+INDEX
+ tmpfile
+INDEX
+ _tmpfile_r
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ FILE *tmpfile(void);
+
+ FILE *_tmpfile_r(void *<[reent]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ FILE *tmpfile();
+
+ FILE *_tmpfile_r(<[reent]>)
+ char *<[reent]>;
+
+DESCRIPTION
+Create a temporary file (a file which will be deleted automatically),
+using a name generated by <<tmpnam>>. The temporary file is opened with
+the mode <<"wb+">>, permitting you to read and write anywhere in it
+as a binary file (without any data transformations the host system may
+perform for text files).
+
+The alternate function <<_tmpfile_r>> is a reentrant version. The
+argument <[reent]> is a pointer to a reentrancy structure.
+
+RETURNS
+<<tmpfile>> normally returns a pointer to the temporary file. If no
+temporary file could be created, the result is NULL, and <<errno>>
+records the reason for failure.
+
+PORTABILITY
+Both ANSI C and the System V Interface Definition (Issue 2) require
+<<tmpfile>>.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<getpid>>,
+<<isatty>>, <<lseek>>, <<open>>, <<read>>, <<sbrk>>, <<write>>.
+
+<<tmpfile>> also requires the global pointer <<environ>>.
+*/
+
+#include <stdio.h>
+#include <errno.h>
+
+FILE *
+_DEFUN (_tmpfile_r, (ptr),
+ struct _reent *ptr)
+{
+ FILE *fp;
+ int e;
+ char *f;
+ char buf[L_tmpnam];
+
+ if ((f = _tmpnam_r (ptr, buf)) == NULL)
+ return NULL;
+ fp = fopen (f, "wb+");
+ e = ptr->_errno;
+ _CAST_VOID remove (f);
+ ptr->_errno = e;
+ return fp;
+}
+
+#ifndef _REENT_ONLY
+
+FILE *
+_DEFUN_VOID (tmpfile)
+{
+ return _tmpfile_r (_REENT);
+}
+
+#endif
diff --git a/newlib/libc/stdio/tmpnam.c b/newlib/libc/stdio/tmpnam.c
new file mode 100644
index 00000000000..28b394f108b
--- /dev/null
+++ b/newlib/libc/stdio/tmpnam.c
@@ -0,0 +1,208 @@
+/*
+ * tmpname.c
+ * Original Author: G. Haley
+ */
+
+/*
+FUNCTION
+<<tmpnam>>, <<tempnam>>---name for a temporary file
+
+INDEX
+ tmpnam
+INDEX
+ tempnam
+INDEX
+ _tmpnam_r
+INDEX
+ _tempnam_r
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ char *tmpnam(char *<[s]>);
+ char *tempnam(char *<[dir]>, char *<[pfx]>);
+ char *_tmpnam_r(void *<[reent]>, char *<[s]>);
+ char *_tempnam_r(void *<[reent]>, char *<[dir]>, char *<[pfx]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ char *tmpnam(<[s]>)
+ char *<[s]>;
+
+ char *tempnam(<[dir]>, <[pfx]>)
+ char *<[dir]>;
+ char *<[pfx]>;
+
+ char *_tmpnam_r(<[reent]>, <[s]>)
+ char *<[reent]>;
+ char *<[s]>;
+
+ char *_tempnam_r(<[reent]>, <[dir]>, <[pfx]>)
+ char *<[reent]>;
+ char *<[dir]>;
+ char *<[pfx]>;
+
+DESCRIPTION
+Use either of these functions to generate a name for a temporary file.
+The generated name is guaranteed to avoid collision with other files
+(for up to <<TMP_MAX>> calls of either function).
+
+<<tmpnam>> generates file names with the value of <<P_tmpdir>>
+(defined in `<<stdio.h>>') as the leading directory component of the path.
+
+You can use the <<tmpnam>> argument <[s]> to specify a suitable area
+of memory for the generated filename; otherwise, you can call
+<<tmpnam(NULL)>> to use an internal static buffer.
+
+<<tempnam>> allows you more control over the generated filename: you
+can use the argument <[dir]> to specify the path to a directory for
+temporary files, and you can use the argument <[pfx]> to specify a
+prefix for the base filename.
+
+If <[dir]> is <<NULL>>, <<tempnam>> will attempt to use the value of
+environment variable <<TMPDIR>> instead; if there is no such value,
+<<tempnam>> uses the value of <<P_tmpdir>> (defined in `<<stdio.h>>').
+
+If you don't need any particular prefix to the basename of temporary
+files, you can pass <<NULL>> as the <[pfx]> argument to <<tempnam>>.
+
+<<_tmpnam_r>> and <<_tempnam_r>> are reentrant versions of <<tmpnam>>
+and <<tempnam>> respectively. The extra argument <[reent]> is a
+pointer to a reentrancy structure.
+
+WARNINGS
+The generated filenames are suitable for temporary files, but do not
+in themselves make files temporary. Files with these names must still
+be explicitly removed when you no longer want them.
+
+If you supply your own data area <[s]> for <<tmpnam>>, you must ensure
+that it has room for at least <<L_tmpnam>> elements of type <<char>>.
+
+RETURNS
+Both <<tmpnam>> and <<tempnam>> return a pointer to the newly
+generated filename.
+
+PORTABILITY
+ANSI C requires <<tmpnam>>, but does not specify the use of
+<<P_tmpdir>>. The System V Interface Definition (Issue 2) requires
+both <<tmpnam>> and <<tempnam>>.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<getpid>>,
+<<isatty>>, <<lseek>>, <<open>>, <<read>>, <<sbrk>>, <<write>>.
+
+The global pointer <<environ>> is also required.
+*/
+
+#include <_ansi.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <fcntl.h>
+#include <reent.h>
+#include <errno.h>
+
+/* Try to open the file specified, if it can't be opened then try
+ another one. Return nonzero if successful, otherwise zero. */
+
+static int
+worker (ptr, result, part1, part2, part3, part4)
+ struct _reent *ptr;
+ char *result;
+ _CONST char *part1;
+ _CONST char *part2;
+ int part3;
+ int *part4;
+{
+ /* Generate the filename and make sure that there isn't one called
+ it already. */
+
+ while (1)
+ {
+ int t;
+ _sprintf_r (ptr, result, "%s/%s%x.%x", part1, part2, part3, *part4);
+ (*part4)++;
+ t = _open_r (ptr, result, O_RDONLY, 0);
+ if (t == -1)
+ {
+ if (ptr->_errno == ENOSYS)
+ {
+ result[0] = '\0';
+ return 0;
+ }
+ break;
+ }
+ _close_r (ptr, t);
+ }
+ return 1;
+}
+
+char *
+_DEFUN (_tmpnam_r, (p, s),
+ struct _reent *p _AND
+ char *s)
+{
+ char *result;
+ int pid;
+
+ if (s == NULL)
+ {
+ /* ANSI states we must use an internal static buffer if s is NULL */
+ result = p->_emergency;
+ }
+ else
+ {
+ result = s;
+ }
+ pid = _getpid_r (p);
+
+ if (worker (p, result, P_tmpdir, "t", pid, &p->_inc))
+ {
+ p->_inc++;
+ return result;
+ }
+
+ return NULL;
+}
+
+char *
+_DEFUN (_tempnam_r, (p, dir, pfx),
+ struct _reent *p _AND
+ _CONST char *dir _AND
+ _CONST char *pfx)
+{
+ char *filename;
+ int length;
+ _CONST char *prefix = (pfx) ? pfx : "";
+ if (dir == NULL && (dir = getenv ("TMPDIR")) == NULL)
+ dir = P_tmpdir;
+
+ /* two 8 digit numbers + . / */
+ length = strlen (dir) + strlen (prefix) + (4 * sizeof (int)) + 2 + 1;
+
+ filename = _malloc_r (p, length);
+ if (filename)
+ {
+ if (! worker (p, filename, dir, prefix,
+ _getpid_r (p) ^ (int) (_POINTER_INT) p, &p->_inc))
+ return NULL;
+ }
+ return filename;
+}
+
+#ifndef _REENT_ONLY
+
+char *
+_DEFUN (tempnam, (dir, pfx),
+ _CONST char *dir _AND
+ _CONST char *pfx)
+{
+ return _tempnam_r (_REENT, dir, pfx);
+}
+
+char *
+_DEFUN (tmpnam, (s),
+ char *s)
+{
+ return _tmpnam_r (_REENT, s);
+}
+
+#endif
diff --git a/newlib/libc/stdio/ungetc.c b/newlib/libc/stdio/ungetc.c
new file mode 100644
index 00000000000..418717e689e
--- /dev/null
+++ b/newlib/libc/stdio/ungetc.c
@@ -0,0 +1,145 @@
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "%W% (Berkeley) %G%";
+#endif /* LIBC_SCCS and not lint */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "local.h"
+
+/*
+ * Expand the ungetc buffer `in place'. That is, adjust fp->_p when
+ * the buffer moves, so that it points the same distance from the end,
+ * and move the bytes in the buffer around as necessary so that they
+ * are all at the end (stack-style).
+ */
+
+/*static*/
+int
+__submore (fp)
+ register FILE *fp;
+{
+ register int i;
+ register unsigned char *p;
+
+ if (fp->_ub._base == fp->_ubuf)
+ {
+ /*
+ * Get a new buffer (rather than expanding the old one).
+ */
+ if ((p = (unsigned char *) _malloc_r (fp->_data, (size_t) BUFSIZ)) == NULL)
+ return EOF;
+ fp->_ub._base = p;
+ fp->_ub._size = BUFSIZ;
+ p += BUFSIZ - sizeof (fp->_ubuf);
+ for (i = sizeof (fp->_ubuf); --i >= 0;)
+ p[i] = fp->_ubuf[i];
+ fp->_p = p;
+ return 0;
+ }
+ i = fp->_ub._size;
+ p = (unsigned char *) _realloc_r (fp->_data, (_PTR) (fp->_ub._base), i << 1);
+ if (p == NULL)
+ return EOF;
+ (void) memcpy ((void *) (p + i), (void *) p, (size_t) i);
+ fp->_p = p + i;
+ fp->_ub._base = p;
+ fp->_ub._size = i << 1;
+ return 0;
+}
+
+int
+ungetc (c, fp)
+ int c;
+ register FILE *fp;
+{
+ if (c == EOF)
+ return (EOF);
+
+ /* Ensure stdio has been initialized.
+ ??? Might be able to remove this as some other stdio routine should
+ have already been called to get the char we are un-getting. */
+
+ CHECK_INIT (fp);
+
+ /* After ungetc, we won't be at eof anymore */
+ fp->_flags &= ~__SEOF;
+
+ if ((fp->_flags & __SRD) == 0)
+ {
+ /*
+ * Not already reading: no good unless reading-and-writing.
+ * Otherwise, flush any current write stuff.
+ */
+ if ((fp->_flags & __SRW) == 0)
+ return EOF;
+ if (fp->_flags & __SWR)
+ {
+ if (fflush (fp))
+ return EOF;
+ fp->_flags &= ~__SWR;
+ fp->_w = 0;
+ fp->_lbfsize = 0;
+ }
+ fp->_flags |= __SRD;
+ }
+ c = (unsigned char) c;
+
+ /*
+ * If we are in the middle of ungetc'ing, just continue.
+ * This may require expanding the current ungetc buffer.
+ */
+
+ if (HASUB (fp))
+ {
+ if (fp->_r >= fp->_ub._size && __submore (fp))
+ return EOF;
+ *--fp->_p = c;
+ fp->_r++;
+ return c;
+ }
+
+ /*
+ * If we can handle this by simply backing up, do so,
+ * but never replace the original character.
+ * (This makes sscanf() work when scanning `const' data.)
+ */
+
+ if (fp->_bf._base != NULL && fp->_p > fp->_bf._base && fp->_p[-1] == c)
+ {
+ fp->_p--;
+ fp->_r++;
+ return c;
+ }
+
+ /*
+ * Create an ungetc buffer.
+ * Initially, we will use the `reserve' buffer.
+ */
+
+ fp->_ur = fp->_r;
+ fp->_up = fp->_p;
+ fp->_ub._base = fp->_ubuf;
+ fp->_ub._size = sizeof (fp->_ubuf);
+ fp->_ubuf[sizeof (fp->_ubuf) - 1] = c;
+ fp->_p = &fp->_ubuf[sizeof (fp->_ubuf) - 1];
+ fp->_r = 1;
+ return c;
+}
diff --git a/newlib/libc/stdio/vfieeefp.h b/newlib/libc/stdio/vfieeefp.h
new file mode 100644
index 00000000000..6843d5f47b0
--- /dev/null
+++ b/newlib/libc/stdio/vfieeefp.h
@@ -0,0 +1,205 @@
+/****************************************************************
+ *
+ * The author of this software is David M. Gay.
+ *
+ * Copyright (c) 1991 by AT&T.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose without fee is hereby granted, provided that this entire notice
+ * is included in all copies of any software which is or includes a copy
+ * or modification of this software and in all copies of the supporting
+ * documentation for such software.
+ *
+ * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+ * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
+ * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
+ * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+ *
+ ***************************************************************/
+
+/* Please send bug reports to
+ David M. Gay
+ AT&T Bell Laboratories, Room 2C-463
+ 600 Mountain Avenue
+ Murray Hill, NJ 07974-2070
+ U.S.A.
+ dmg@research.att.com or research!dmg
+ */
+
+/* This header file is a modification of mprec.h that only contains floating
+ point union code. */
+
+#include <ieeefp.h>
+#include <math.h>
+#include <float.h>
+#include <errno.h>
+#include <sys/config.h>
+
+#ifdef __IEEE_LITTLE_ENDIAN
+#define IEEE_8087
+#endif
+
+#ifdef __IEEE_BIG_ENDIAN
+#define IEEE_MC68k
+#endif
+
+#ifdef __Z8000__
+#define Just_16
+#endif
+
+#ifdef Unsigned_Shifts
+#define Sign_Extend(a,b) if (b < 0) a |= (__uint32_t)0xffff0000;
+#else
+#define Sign_Extend(a,b) /*no-op*/
+#endif
+
+#if defined(IEEE_8087) + defined(IEEE_MC68k) + defined(VAX) + defined(IBM) != 1
+Exactly one of IEEE_8087, IEEE_MC68k, VAX, or IBM should be defined.
+#endif
+
+/* If we are going to examine or modify specific bits in a double using
+ the word0 and/or word1 macros, then we must wrap the double inside
+ a union. This is necessary to avoid undefined behavior according to
+ the ANSI C spec. */
+union double_union
+{
+ double d;
+ __uint32_t i[2];
+};
+
+#ifdef IEEE_8087
+#define word0(x) (x.i[1])
+#define word1(x) (x.i[0])
+#else
+#define word0(x) (x.i[0])
+#define word1(x) (x.i[1])
+#endif
+
+/* #define P DBL_MANT_DIG */
+/* Ten_pmax = floor(P*log(2)/log(5)) */
+/* Bletch = (highest power of 2 < DBL_MAX_10_EXP) / 16 */
+/* Quick_max = floor((P-1)*log(FLT_RADIX)/log(10) - 1) */
+/* Int_max = floor(P*log(FLT_RADIX)/log(10) - 1) */
+
+#if defined(IEEE_8087) + defined(IEEE_MC68k)
+#if defined (_DOUBLE_IS_32BITS)
+#define Exp_shift 23
+#define Exp_shift1 23
+#define Exp_msk1 ((__uint32_t)0x00800000L)
+#define Exp_msk11 ((__uint32_t)0x00800000L)
+#define Exp_mask ((__uint32_t)0x7f800000L)
+#define P 24
+#define Bias 127
+#if 0
+#define IEEE_Arith /* it is, but the code doesn't handle IEEE singles yet */
+#endif
+#define Emin (-126)
+#define Exp_1 ((__uint32_t)0x3f800000L)
+#define Exp_11 ((__uint32_t)0x3f800000L)
+#define Ebits 8
+#define Frac_mask ((__uint32_t)0x007fffffL)
+#define Frac_mask1 ((__uint32_t)0x007fffffL)
+#define Ten_pmax 10
+#define Sign_bit ((__uint32_t)0x80000000L)
+#define Ten_pmax 10
+#define Bletch 2
+#define Bndry_mask ((__uint32_t)0x007fffffL)
+#define Bndry_mask1 ((__uint32_t)0x007fffffL)
+#define LSB 1
+#define Sign_bit ((__uint32_t)0x80000000L)
+#define Log2P 1
+#define Tiny0 0
+#define Tiny1 1
+#define Quick_max 5
+#define Int_max 6
+#define Infinite(x) (word0(x) == ((__uint32_t)0x7f800000L))
+#undef word0
+#undef word1
+
+#define word0(x) (x.i[0])
+#define word1(x) 0
+#else
+
+#define Exp_shift 20
+#define Exp_shift1 20
+#define Exp_msk1 ((__uint32_t)0x100000L)
+#define Exp_msk11 ((__uint32_t)0x100000L)
+#define Exp_mask ((__uint32_t)0x7ff00000L)
+#define P 53
+#define Bias 1023
+#define IEEE_Arith
+#define Emin (-1022)
+#define Exp_1 ((__uint32_t)0x3ff00000L)
+#define Exp_11 ((__uint32_t)0x3ff00000L)
+#define Ebits 11
+#define Frac_mask ((__uint32_t)0xfffffL)
+#define Frac_mask1 ((__uint32_t)0xfffffL)
+#define Ten_pmax 22
+#define Bletch 0x10
+#define Bndry_mask ((__uint32_t)0xfffffL)
+#define Bndry_mask1 ((__uint32_t)0xfffffL)
+#define LSB 1
+#define Sign_bit ((__uint32_t)0x80000000L)
+#define Log2P 1
+#define Tiny0 0
+#define Tiny1 1
+#define Quick_max 14
+#define Int_max 14
+#define Infinite(x) (word0(x) == ((__uint32_t)0x7ff00000L)) /* sufficient test for here */
+#endif
+
+#else
+#undef Sudden_Underflow
+#define Sudden_Underflow
+#ifdef IBM
+#define Exp_shift 24
+#define Exp_shift1 24
+#define Exp_msk1 ((__uint32_t)0x1000000L)
+#define Exp_msk11 ((__uint32_t)0x1000000L)
+#define Exp_mask ((__uint32_t)0x7f000000L)
+#define P 14
+#define Bias 65
+#define Exp_1 ((__uint32_t)0x41000000L)
+#define Exp_11 ((__uint32_t)0x41000000L)
+#define Ebits 8 /* exponent has 7 bits, but 8 is the right value in b2d */
+#define Frac_mask ((__uint32_t)0xffffffL)
+#define Frac_mask1 ((__uint32_t)0xffffffL)
+#define Bletch 4
+#define Ten_pmax 22
+#define Bndry_mask ((__uint32_t)0xefffffL)
+#define Bndry_mask1 ((__uint32_t)0xffffffL)
+#define LSB 1
+#define Sign_bit ((__uint32_t)0x80000000L)
+#define Log2P 4
+#define Tiny0 ((__uint32_t)0x100000L)
+#define Tiny1 0
+#define Quick_max 14
+#define Int_max 15
+#else /* VAX */
+#define Exp_shift 23
+#define Exp_shift1 7
+#define Exp_msk1 0x80
+#define Exp_msk11 ((__uint32_t)0x800000L)
+#define Exp_mask ((__uint32_t)0x7f80L)
+#define P 56
+#define Bias 129
+#define Exp_1 ((__uint32_t)0x40800000L)
+#define Exp_11 ((__uint32_t)0x4080L)
+#define Ebits 8
+#define Frac_mask ((__uint32_t)0x7fffffL)
+#define Frac_mask1 ((__uint32_t)0xffff007fL)
+#define Ten_pmax 24
+#define Bletch 2
+#define Bndry_mask ((__uint32_t)0xffff007fL)
+#define Bndry_mask1 ((__uint32_t)0xffff007fL)
+#define LSB ((__uint32_t)0x10000L)
+#define Sign_bit ((__uint32_t)0x8000L)
+#define Log2P 1
+#define Tiny0 0x80
+#define Tiny1 0
+#define Quick_max 15
+#define Int_max 15
+#endif
+#endif
+
+
diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c
new file mode 100644
index 00000000000..4b2043e4967
--- /dev/null
+++ b/newlib/libc/stdio/vfprintf.c
@@ -0,0 +1,939 @@
+/*
+FUNCTION
+<<vprintf>>, <<vfprintf>>, <<vsprintf>>---format argument list
+
+INDEX
+ vprintf
+INDEX
+ vfprintf
+INDEX
+ vsprintf
+INDEX
+ vsnprintf
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+ #include <stdarg.h>
+ int vprintf(const char *<[fmt]>, va_list <[list]>);
+ int vfprintf(FILE *<[fp]>, const char *<[fmt]>, va_list <[list]>);
+ int vsprintf(char *<[str]>, const char *<[fmt]>, va_list <[list]>);
+ int vsnprintf(char *<[str]>, size_t <[size]>, const char *<[fmt]>, va_list <[list]>);
+
+ int _vprintf_r(void *<[reent]>, const char *<[fmt]>,
+ va_list <[list]>);
+ int _vfprintf_r(void *<[reent]>, FILE *<[fp]>, const char *<[fmt]>,
+ va_list <[list]>);
+ int _vsprintf_r(void *<[reent]>, char *<[str]>, const char *<[fmt]>,
+ va_list <[list]>);
+ int _vsnprintf_r(void *<[reent]>, char *<[str]>, size_t <[size]>, const char *<[fmt]>,
+ va_list <[list]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+ #include <varargs.h>
+ int vprintf( <[fmt]>, <[list]>)
+ char *<[fmt]>;
+ va_list <[list]>;
+
+ int vfprintf(<[fp]>, <[fmt]>, <[list]>)
+ FILE *<[fp]>;
+ char *<[fmt]>;
+ va_list <[list]>;
+
+ int vsprintf(<[str]>, <[fmt]>, <[list]>)
+ char *<[str]>;
+ char *<[fmt]>;
+ va_list <[list]>;
+
+ int vsnprintf(<[str]>, <[size]>, <[fmt]>, <[list]>)
+ char *<[str]>;
+ size_t <[size]>;
+ char *<[fmt]>;
+ va_list <[list]>;
+
+ int _vprintf_r(<[reent]>, <[fmt]>, <[list]>)
+ char *<[reent]>;
+ char *<[fmt]>;
+ va_list <[list]>;
+
+ int _vfprintf_r(<[reent]>, <[fp]>, <[fmt]>, <[list]>)
+ char *<[reent]>;
+ FILE *<[fp]>;
+ char *<[fmt]>;
+ va_list <[list]>;
+
+ int _vsprintf_r(<[reent]>, <[str]>, <[fmt]>, <[list]>)
+ char *<[reent]>;
+ char *<[str]>;
+ char *<[fmt]>;
+ va_list <[list]>;
+
+ int _vsnprintf_r(<[reent]>, <[str]>, <[size]>, <[fmt]>, <[list]>)
+ char *<[reent]>;
+ char *<[str]>;
+ size_t <[size]>;
+ char *<[fmt]>;
+ va_list <[list]>;
+
+DESCRIPTION
+<<vprintf>>, <<vfprintf>>, <<vsprintf>> and <<vsnprintf>> are (respectively)
+variants of <<printf>>, <<fprintf>>, <<sprintf>> and <<snprintf>>. They differ
+only in allowing their caller to pass the variable argument list as a
+<<va_list>> object (initialized by <<va_start>>) rather than directly
+accepting a variable number of arguments.
+
+RETURNS
+The return values are consistent with the corresponding functions:
+<<vsprintf>> returns the number of bytes in the output string,
+save that the concluding <<NULL>> is not counted.
+<<vprintf>> and <<vfprintf>> return the number of characters transmitted.
+If an error occurs, <<vprintf>> and <<vfprintf>> return <<EOF>>. No
+error returns occur for <<vsprintf>>.
+
+PORTABILITY
+ANSI C requires all three functions.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Chris Torek.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+/*static char *sccsid = "from: @(#)vfprintf.c 5.50 (Berkeley) 12/16/92";*/
+static char *rcsid = "$Id$";
+#endif /* LIBC_SCCS and not lint */
+
+/*
+ * Actual printf innards.
+ *
+ * This code is large and complicated...
+ */
+
+#ifdef INTEGER_ONLY
+#define VFPRINTF vfiprintf
+#define _VFPRINTF_R _vfiprintf_r
+#else
+#define VFPRINTF vfprintf
+#define _VFPRINTF_R _vfprintf_r
+#define FLOATING_POINT
+#endif
+
+#define _NO_LONGLONG
+#if defined WANT_PRINTF_LONG_LONG && defined __GNUC__
+# undef _NO_LONGLONG
+#endif
+
+#include <_ansi.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <reent.h>
+
+#ifdef _HAVE_STDC
+#include <stdarg.h>
+#else
+#include <varargs.h>
+#endif
+
+#include "local.h"
+#include "fvwrite.h"
+#include "vfieeefp.h"
+
+/*
+ * Flush out all the vectors defined by the given uio,
+ * then reset it so that it can be reused.
+ */
+static int
+__sprint(fp, uio)
+ FILE *fp;
+ register struct __suio *uio;
+{
+ register int err;
+
+ if (uio->uio_resid == 0) {
+ uio->uio_iovcnt = 0;
+ return (0);
+ }
+ err = __sfvwrite(fp, uio);
+ uio->uio_resid = 0;
+ uio->uio_iovcnt = 0;
+ return (err);
+}
+
+/*
+ * Helper function for `fprintf to unbuffered unix file': creates a
+ * temporary buffer. We only work on write-only files; this avoids
+ * worries about ungetc buffers and so forth.
+ */
+static int
+__sbprintf(fp, fmt, ap)
+ register FILE *fp;
+ const char *fmt;
+ va_list ap;
+{
+ int ret;
+ FILE fake;
+ unsigned char buf[BUFSIZ];
+
+ /* copy the important variables */
+ fake._data = fp->_data;
+ fake._flags = fp->_flags & ~__SNBF;
+ fake._file = fp->_file;
+ fake._cookie = fp->_cookie;
+ fake._write = fp->_write;
+
+ /* set up the buffer */
+ fake._bf._base = fake._p = buf;
+ fake._bf._size = fake._w = sizeof(buf);
+ fake._lbfsize = 0; /* not actually used, but Just In Case */
+
+ /* do the work, then copy any error status */
+ ret = VFPRINTF(&fake, fmt, ap);
+ if (ret >= 0 && fflush(&fake))
+ ret = EOF;
+ if (fake._flags & __SERR)
+ fp->_flags |= __SERR;
+ return (ret);
+}
+
+
+#ifdef FLOATING_POINT
+#include <locale.h>
+#include <math.h>
+#include "floatio.h"
+
+#define BUF (MAXEXP+MAXFRACT+1) /* + decimal point */
+#define DEFPREC 6
+
+static char *cvt _PARAMS((struct _reent *, double, int, int, char *, int *, int, int *));
+static int exponent _PARAMS((char *, int, int));
+
+#else /* no FLOATING_POINT */
+
+#define BUF 40
+
+#endif /* FLOATING_POINT */
+
+
+/*
+ * Macros for converting digits to letters and vice versa
+ */
+#define to_digit(c) ((c) - '0')
+#define is_digit(c) ((unsigned)to_digit(c) <= 9)
+#define to_char(n) ((n) + '0')
+
+/*
+ * Flags used during conversion.
+ */
+#define ALT 0x001 /* alternate form */
+#define HEXPREFIX 0x002 /* add 0x or 0X prefix */
+#define LADJUST 0x004 /* left adjustment */
+#define LONGDBL 0x008 /* long double; unimplemented */
+#define LONGINT 0x010 /* long integer */
+#define QUADINT 0x020 /* quad integer */
+#define SHORTINT 0x040 /* short integer */
+#define ZEROPAD 0x080 /* zero (as opposed to blank) pad */
+#define FPT 0x100 /* Floating point number */
+
+int
+_DEFUN (VFPRINTF, (fp, fmt0, ap),
+ FILE * fp _AND
+ _CONST char *fmt0 _AND
+ va_list ap)
+{
+ return _VFPRINTF_R (fp->_data, fp, fmt0, ap);
+}
+
+int
+_DEFUN (_VFPRINTF_R, (data, fp, fmt0, ap),
+ struct _reent *data _AND
+ FILE * fp _AND
+ _CONST char *fmt0 _AND
+ va_list ap)
+{
+ register char *fmt; /* format string */
+ register int ch; /* character from fmt */
+ register int n, m; /* handy integers (short term usage) */
+ register char *cp; /* handy char pointer (short term usage) */
+ register struct __siov *iovp;/* for PRINT macro */
+ register int flags; /* flags as above */
+ int ret; /* return value accumulator */
+ int width; /* width from format (%8d), or 0 */
+ int prec; /* precision from format (%.3d), or -1 */
+ char sign; /* sign prefix (' ', '+', '-', or \0) */
+ wchar_t wc;
+#ifdef FLOATING_POINT
+ char *decimal_point = localeconv()->decimal_point;
+ char softsign; /* temporary negative sign for floats */
+ double _double; /* double precision arguments %[eEfgG] */
+ int expt; /* integer value of exponent */
+ int expsize; /* character count for expstr */
+ int ndig; /* actual number of digits returned by cvt */
+ char expstr[7]; /* buffer for exponent string */
+#endif
+
+#ifndef _NO_LONGLONG
+#define quad_t long long
+#define u_quad_t unsigned long long
+#endif
+
+#ifndef _NO_LONGLONG
+ u_quad_t _uquad; /* integer arguments %[diouxX] */
+#else
+ u_long _uquad;
+#endif
+ enum { OCT, DEC, HEX } base;/* base for [diouxX] conversion */
+ int dprec; /* a copy of prec if [diouxX], 0 otherwise */
+ int realsz; /* field size expanded by dprec */
+ int size; /* size of converted field or string */
+ char *xdigs; /* digits for [xX] conversion */
+#define NIOV 8
+ struct __suio uio; /* output information: summary */
+ struct __siov iov[NIOV];/* ... and individual io vectors */
+ char buf[BUF]; /* space for %c, %[diouxX], %[eEfgG] */
+ char ox[2]; /* space for 0x hex-prefix */
+ int state = 0; /* mbtowc calls from library must not change state */
+
+ /*
+ * Choose PADSIZE to trade efficiency vs. size. If larger printf
+ * fields occur frequently, increase PADSIZE and make the initialisers
+ * below longer.
+ */
+#define PADSIZE 16 /* pad chunk size */
+ static _CONST char blanks[PADSIZE] =
+ {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '};
+ static _CONST char zeroes[PADSIZE] =
+ {'0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'};
+
+ /*
+ * BEWARE, these `goto error' on error, and PAD uses `n'.
+ */
+#define PRINT(ptr, len) { \
+ iovp->iov_base = (ptr); \
+ iovp->iov_len = (len); \
+ uio.uio_resid += (len); \
+ iovp++; \
+ if (++uio.uio_iovcnt >= NIOV) { \
+ if (__sprint(fp, &uio)) \
+ goto error; \
+ iovp = iov; \
+ } \
+}
+#define PAD(howmany, with) { \
+ if ((n = (howmany)) > 0) { \
+ while (n > PADSIZE) { \
+ PRINT(with, PADSIZE); \
+ n -= PADSIZE; \
+ } \
+ PRINT(with, n); \
+ } \
+}
+#define FLUSH() { \
+ if (uio.uio_resid && __sprint(fp, &uio)) \
+ goto error; \
+ uio.uio_iovcnt = 0; \
+ iovp = iov; \
+}
+
+ /*
+ * To extend shorts properly, we need both signed and unsigned
+ * argument extraction methods.
+ */
+#ifndef _NO_LONGLONG
+#define SARG() \
+ (flags&QUADINT ? va_arg(ap, quad_t) : \
+ flags&LONGINT ? va_arg(ap, long) : \
+ flags&SHORTINT ? (long)(short)va_arg(ap, int) : \
+ (long)va_arg(ap, int))
+#define UARG() \
+ (flags&QUADINT ? va_arg(ap, u_quad_t) : \
+ flags&LONGINT ? va_arg(ap, u_long) : \
+ flags&SHORTINT ? (u_long)(u_short)va_arg(ap, int) : \
+ (u_long)va_arg(ap, u_int))
+#else
+#define SARG() \
+ (flags&LONGINT ? va_arg(ap, long) : \
+ flags&SHORTINT ? (long)(short)va_arg(ap, int) : \
+ (long)va_arg(ap, int))
+#define UARG() \
+ (flags&LONGINT ? va_arg(ap, u_long) : \
+ flags&SHORTINT ? (u_long)(u_short)va_arg(ap, int) : \
+ (u_long)va_arg(ap, u_int))
+#endif
+
+ CHECK_INIT (fp);
+
+ /* sorry, fprintf(read_only_file, "") returns EOF, not 0 */
+ if (cantwrite(fp))
+ return (EOF);
+
+ /* optimise fprintf(stderr) (and other unbuffered Unix files) */
+ if ((fp->_flags & (__SNBF|__SWR|__SRW)) == (__SNBF|__SWR) &&
+ fp->_file >= 0)
+ return (__sbprintf(fp, fmt0, ap));
+
+ fmt = (char *)fmt0;
+ uio.uio_iov = iovp = iov;
+ uio.uio_resid = 0;
+ uio.uio_iovcnt = 0;
+ ret = 0;
+
+ /*
+ * Scan the format for conversions (`%' character).
+ */
+ for (;;) {
+ cp = fmt;
+ while ((n = _mbtowc_r(_REENT, &wc, fmt, MB_CUR_MAX, &state)) > 0) {
+ fmt += n;
+ if (wc == '%') {
+ fmt--;
+ break;
+ }
+ }
+ if ((m = fmt - cp) != 0) {
+ PRINT(cp, m);
+ ret += m;
+ }
+ if (n <= 0)
+ goto done;
+ fmt++; /* skip over '%' */
+
+ flags = 0;
+ dprec = 0;
+ width = 0;
+ prec = -1;
+ sign = '\0';
+
+rflag: ch = *fmt++;
+reswitch: switch (ch) {
+ case ' ':
+ /*
+ * ``If the space and + flags both appear, the space
+ * flag will be ignored.''
+ * -- ANSI X3J11
+ */
+ if (!sign)
+ sign = ' ';
+ goto rflag;
+ case '#':
+ flags |= ALT;
+ goto rflag;
+ case '*':
+ /*
+ * ``A negative field width argument is taken as a
+ * - flag followed by a positive field width.''
+ * -- ANSI X3J11
+ * They don't exclude field widths read from args.
+ */
+ if ((width = va_arg(ap, int)) >= 0)
+ goto rflag;
+ width = -width;
+ /* FALLTHROUGH */
+ case '-':
+ flags |= LADJUST;
+ goto rflag;
+ case '+':
+ sign = '+';
+ goto rflag;
+ case '.':
+ if ((ch = *fmt++) == '*') {
+ n = va_arg(ap, int);
+ prec = n < 0 ? -1 : n;
+ goto rflag;
+ }
+ n = 0;
+ while (is_digit(ch)) {
+ n = 10 * n + to_digit(ch);
+ ch = *fmt++;
+ }
+ prec = n < 0 ? -1 : n;
+ goto reswitch;
+ case '0':
+ /*
+ * ``Note that 0 is taken as a flag, not as the
+ * beginning of a field width.''
+ * -- ANSI X3J11
+ */
+ flags |= ZEROPAD;
+ goto rflag;
+ case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ n = 0;
+ do {
+ n = 10 * n + to_digit(ch);
+ ch = *fmt++;
+ } while (is_digit(ch));
+ width = n;
+ goto reswitch;
+#ifdef FLOATING_POINT
+ case 'L':
+ flags |= LONGDBL;
+ goto rflag;
+#endif
+ case 'h':
+ flags |= SHORTINT;
+ goto rflag;
+ case 'l':
+ if (*fmt == 'l') {
+ fmt++;
+ flags |= QUADINT;
+ } else {
+ flags |= LONGINT;
+ }
+ goto rflag;
+ case 'q':
+ flags |= QUADINT;
+ goto rflag;
+ case 'c':
+ *(cp = buf) = va_arg(ap, int);
+ size = 1;
+ sign = '\0';
+ break;
+ case 'D':
+ flags |= LONGINT;
+ /*FALLTHROUGH*/
+ case 'd':
+ case 'i':
+ _uquad = SARG();
+#ifndef _NO_LONGLONG
+ if ((quad_t)_uquad < 0)
+#else
+ if ((long) _uquad < 0)
+#endif
+ {
+
+ _uquad = -_uquad;
+ sign = '-';
+ }
+ base = DEC;
+ goto number;
+#ifdef FLOATING_POINT
+ case 'e':
+ case 'E':
+ case 'f':
+ case 'g':
+ case 'G':
+ if (prec == -1) {
+ prec = DEFPREC;
+ } else if ((ch == 'g' || ch == 'G') && prec == 0) {
+ prec = 1;
+ }
+
+ if (flags & LONGDBL) {
+ _double = (double) va_arg(ap, long double);
+ } else {
+ _double = va_arg(ap, double);
+ }
+
+ /* do this before tricky precision changes */
+ if (isinf(_double)) {
+ if (_double < 0)
+ sign = '-';
+ cp = "Inf";
+ size = 3;
+ break;
+ }
+ if (isnan(_double)) {
+ cp = "NaN";
+ size = 3;
+ break;
+ }
+
+ flags |= FPT;
+ cp = cvt(data, _double, prec, flags, &softsign,
+ &expt, ch, &ndig);
+ if (ch == 'g' || ch == 'G') {
+ if (expt <= -4 || expt > prec)
+ ch = (ch == 'g') ? 'e' : 'E';
+ else
+ ch = 'g';
+ }
+ if (ch <= 'e') { /* 'e' or 'E' fmt */
+ --expt;
+ expsize = exponent(expstr, expt, ch);
+ size = expsize + ndig;
+ if (ndig > 1 || flags & ALT)
+ ++size;
+ } else if (ch == 'f') { /* f fmt */
+ if (expt > 0) {
+ size = expt;
+ if (prec || flags & ALT)
+ size += prec + 1;
+ } else /* "0.X" */
+ size = prec + 2;
+ } else if (expt >= ndig) { /* fixed g fmt */
+ size = expt;
+ if (flags & ALT)
+ ++size;
+ } else
+ size = ndig + (expt > 0 ?
+ 1 : 2 - expt);
+
+ if (softsign)
+ sign = '-';
+ break;
+#endif /* FLOATING_POINT */
+ case 'n':
+#ifndef _NO_LONGLONG
+ if (flags & QUADINT)
+ *va_arg(ap, quad_t *) = ret;
+ else
+#endif
+ if (flags & LONGINT)
+ *va_arg(ap, long *) = ret;
+ else if (flags & SHORTINT)
+ *va_arg(ap, short *) = ret;
+ else
+ *va_arg(ap, int *) = ret;
+ continue; /* no output */
+ case 'O':
+ flags |= LONGINT;
+ /*FALLTHROUGH*/
+ case 'o':
+ _uquad = UARG();
+ base = OCT;
+ goto nosign;
+ case 'p':
+ /*
+ * ``The argument shall be a pointer to void. The
+ * value of the pointer is converted to a sequence
+ * of printable characters, in an implementation-
+ * defined manner.''
+ * -- ANSI X3J11
+ */
+ /* NOSTRICT */
+ _uquad = (u_long)(unsigned _POINTER_INT)va_arg(ap, void *);
+ base = HEX;
+ xdigs = "0123456789abcdef";
+ flags |= HEXPREFIX;
+ ch = 'x';
+ goto nosign;
+ case 's':
+ if ((cp = va_arg(ap, char *)) == NULL)
+ cp = "(null)";
+ if (prec >= 0) {
+ /*
+ * can't use strlen; can only look for the
+ * NUL in the first `prec' characters, and
+ * strlen() will go further.
+ */
+ char *p = memchr(cp, 0, prec);
+
+ if (p != NULL) {
+ size = p - cp;
+ if (size > prec)
+ size = prec;
+ } else
+ size = prec;
+ } else
+ size = strlen(cp);
+ sign = '\0';
+ break;
+ case 'U':
+ flags |= LONGINT;
+ /*FALLTHROUGH*/
+ case 'u':
+ _uquad = UARG();
+ base = DEC;
+ goto nosign;
+ case 'X':
+ xdigs = "0123456789ABCDEF";
+ goto hex;
+ case 'x':
+ xdigs = "0123456789abcdef";
+hex: _uquad = UARG();
+ base = HEX;
+ /* leading 0x/X only if non-zero */
+ if (flags & ALT && _uquad != 0)
+ flags |= HEXPREFIX;
+
+ /* unsigned conversions */
+nosign: sign = '\0';
+ /*
+ * ``... diouXx conversions ... if a precision is
+ * specified, the 0 flag will be ignored.''
+ * -- ANSI X3J11
+ */
+number: if ((dprec = prec) >= 0)
+ flags &= ~ZEROPAD;
+
+ /*
+ * ``The result of converting a zero value with an
+ * explicit precision of zero is no characters.''
+ * -- ANSI X3J11
+ */
+ cp = buf + BUF;
+ if (_uquad != 0 || prec != 0) {
+ /*
+ * Unsigned mod is hard, and unsigned mod
+ * by a constant is easier than that by
+ * a variable; hence this switch.
+ */
+ switch (base) {
+ case OCT:
+ do {
+ *--cp = to_char(_uquad & 7);
+ _uquad >>= 3;
+ } while (_uquad);
+ /* handle octal leading 0 */
+ if (flags & ALT && *cp != '0')
+ *--cp = '0';
+ break;
+
+ case DEC:
+ /* many numbers are 1 digit */
+ while (_uquad >= 10) {
+ *--cp = to_char(_uquad % 10);
+ _uquad /= 10;
+ }
+ *--cp = to_char(_uquad);
+ break;
+
+ case HEX:
+ do {
+ *--cp = xdigs[_uquad & 15];
+ _uquad >>= 4;
+ } while (_uquad);
+ break;
+
+ default:
+ cp = "bug in vfprintf: bad base";
+ size = strlen(cp);
+ goto skipsize;
+ }
+ }
+ size = buf + BUF - cp;
+ skipsize:
+ break;
+ default: /* "%?" prints ?, unless ? is NUL */
+ if (ch == '\0')
+ goto done;
+ /* pretend it was %c with argument ch */
+ cp = buf;
+ *cp = ch;
+ size = 1;
+ sign = '\0';
+ break;
+ }
+
+ /*
+ * All reasonable formats wind up here. At this point, `cp'
+ * points to a string which (if not flags&LADJUST) should be
+ * padded out to `width' places. If flags&ZEROPAD, it should
+ * first be prefixed by any sign or other prefix; otherwise,
+ * it should be blank padded before the prefix is emitted.
+ * After any left-hand padding and prefixing, emit zeroes
+ * required by a decimal [diouxX] precision, then print the
+ * string proper, then emit zeroes required by any leftover
+ * floating precision; finally, if LADJUST, pad with blanks.
+ *
+ * Compute actual size, so we know how much to pad.
+ * size excludes decimal prec; realsz includes it.
+ */
+ realsz = dprec > size ? dprec : size;
+ if (sign)
+ realsz++;
+ else if (flags & HEXPREFIX)
+ realsz+= 2;
+
+ /* right-adjusting blank padding */
+ if ((flags & (LADJUST|ZEROPAD)) == 0)
+ PAD(width - realsz, blanks);
+
+ /* prefix */
+ if (sign) {
+ PRINT(&sign, 1);
+ } else if (flags & HEXPREFIX) {
+ ox[0] = '0';
+ ox[1] = ch;
+ PRINT(ox, 2);
+ }
+
+ /* right-adjusting zero padding */
+ if ((flags & (LADJUST|ZEROPAD)) == ZEROPAD)
+ PAD(width - realsz, zeroes);
+
+ /* leading zeroes from decimal precision */
+ PAD(dprec - size, zeroes);
+
+ /* the string or number proper */
+#ifdef FLOATING_POINT
+ if ((flags & FPT) == 0) {
+ PRINT(cp, size);
+ } else { /* glue together f_p fragments */
+ if (ch >= 'f') { /* 'f' or 'g' */
+ if (_double == 0) {
+ /* kludge for __dtoa irregularity */
+ PRINT("0", 1);
+ if (expt < ndig || (flags & ALT) != 0) {
+ PRINT(decimal_point, 1);
+ PAD(ndig - 1, zeroes);
+ }
+ } else if (expt <= 0) {
+ PRINT("0", 1);
+ PRINT(decimal_point, 1);
+ PAD(-expt, zeroes);
+ PRINT(cp, ndig);
+ } else if (expt >= ndig) {
+ PRINT(cp, ndig);
+ PAD(expt - ndig, zeroes);
+ if (flags & ALT)
+ PRINT(".", 1);
+ } else {
+ PRINT(cp, expt);
+ cp += expt;
+ PRINT(".", 1);
+ PRINT(cp, ndig-expt);
+ }
+ } else { /* 'e' or 'E' */
+ if (ndig > 1 || flags & ALT) {
+ ox[0] = *cp++;
+ ox[1] = '.';
+ PRINT(ox, 2);
+ if (_double || flags & ALT == 0) {
+ PRINT(cp, ndig-1);
+ } else /* 0.[0..] */
+ /* __dtoa irregularity */
+ PAD(ndig - 1, zeroes);
+ } else /* XeYYY */
+ PRINT(cp, 1);
+ PRINT(expstr, expsize);
+ }
+ }
+#else
+ PRINT(cp, size);
+#endif
+ /* left-adjusting padding (always blank) */
+ if (flags & LADJUST)
+ PAD(width - realsz, blanks);
+
+ /* finally, adjust ret */
+ ret += width > realsz ? width : realsz;
+
+ FLUSH(); /* copy out the I/O vectors */
+ }
+done:
+ FLUSH();
+error:
+ return (__sferror(fp) ? EOF : ret);
+ /* NOTREACHED */
+}
+
+#ifdef FLOATING_POINT
+
+extern char *_dtoa_r _PARAMS((struct _reent *, double, int,
+ int, int *, int *, char **));
+
+static char *
+cvt(data, value, ndigits, flags, sign, decpt, ch, length)
+ struct _reent *data;
+ double value;
+ int ndigits, flags, *decpt, ch, *length;
+ char *sign;
+{
+ int mode, dsgn;
+ char *digits, *bp, *rve;
+ union double_union tmp;
+
+ if (ch == 'f') {
+ mode = 3; /* ndigits after the decimal point */
+ } else {
+ /* To obtain ndigits after the decimal point for the 'e'
+ * and 'E' formats, round to ndigits + 1 significant
+ * figures.
+ */
+ if (ch == 'e' || ch == 'E') {
+ ndigits++;
+ }
+ mode = 2; /* ndigits significant digits */
+ }
+
+ tmp.d = value;
+ if (word0(tmp) & Sign_bit) { /* this will check for < 0 and -0.0 */
+ value = -value;
+ *sign = '-';
+ } else
+ *sign = '\000';
+ digits = _dtoa_r(data, value, mode, ndigits, decpt, &dsgn, &rve);
+ if ((ch != 'g' && ch != 'G') || flags & ALT) { /* Print trailing zeros */
+ bp = digits + ndigits;
+ if (ch == 'f') {
+ if (*digits == '0' && value)
+ *decpt = -ndigits + 1;
+ bp += *decpt;
+ }
+ if (value == 0) /* kludge for __dtoa irregularity */
+ rve = bp;
+ while (rve < bp)
+ *rve++ = '0';
+ }
+ *length = rve - digits;
+ return (digits);
+}
+
+static int
+exponent(p0, exp, fmtch)
+ char *p0;
+ int exp, fmtch;
+{
+ register char *p, *t;
+ char expbuf[MAXEXP];
+
+ p = p0;
+ *p++ = fmtch;
+ if (exp < 0) {
+ exp = -exp;
+ *p++ = '-';
+ }
+ else
+ *p++ = '+';
+ t = expbuf + MAXEXP;
+ if (exp > 9) {
+ do {
+ *--t = to_char(exp % 10);
+ } while ((exp /= 10) > 9);
+ *--t = to_char(exp);
+ for (; t < expbuf + MAXEXP; *p++ = *t++);
+ }
+ else {
+ *p++ = '0';
+ *p++ = to_char(exp);
+ }
+ return (p - p0);
+}
+#endif /* FLOATING_POINT */
diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c
new file mode 100644
index 00000000000..00fd98d7689
--- /dev/null
+++ b/newlib/libc/stdio/vfscanf.c
@@ -0,0 +1,956 @@
+/* No user fns here. Pesch 15apr92. */
+
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include <_ansi.h>
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <limits.h>
+#ifdef _HAVE_STDC
+#include <stdarg.h>
+#else
+#include <varargs.h>
+#endif
+#include "local.h"
+
+#ifndef NO_FLOATING_POINT
+#define FLOATING_POINT
+#endif
+
+#ifdef FLOATING_POINT
+#include "floatio.h"
+#define BUF (MAXEXP+MAXFRACT+3) /* 3 = sign + decimal point + NUL */
+/* An upper bound for how long a long prints in decimal. 4 / 13 approximates
+ log (2). Add one char for roundoff compensation and one for the sign. */
+#define MAX_LONG_LEN ((CHAR_BIT * sizeof (long) - 1) * 4 / 13 + 2)
+#else
+#define BUF 40
+#endif
+
+/*
+ * Flags used during conversion.
+ */
+
+#define LONG 0x01 /* l: long or double */
+#define LONGDBL 0x02 /* L: long double; unimplemented */
+#define SHORT 0x04 /* h: short */
+#define SUPPRESS 0x08 /* suppress assignment */
+#define POINTER 0x10 /* weird %p pointer (`fake hex') */
+#define NOSKIP 0x20 /* do not skip blanks */
+
+/*
+ * The following are used in numeric conversions only:
+ * SIGNOK, NDIGITS, DPTOK, and EXPOK are for floating point;
+ * SIGNOK, NDIGITS, PFXOK, and NZDIGITS are for integral.
+ */
+
+#define SIGNOK 0x40 /* +/- is (still) legal */
+#define NDIGITS 0x80 /* no digits detected */
+
+#define DPTOK 0x100 /* (float) decimal point is still legal */
+#define EXPOK 0x200 /* (float) exponent (e+3, etc) still legal */
+
+#define PFXOK 0x100 /* 0x prefix is (still) legal */
+#define NZDIGITS 0x200 /* no zero digits detected */
+
+/*
+ * Conversion types.
+ */
+
+#define CT_CHAR 0 /* %c conversion */
+#define CT_CCL 1 /* %[...] conversion */
+#define CT_STRING 2 /* %s conversion */
+#define CT_INT 3 /* integer, i.e., strtol or strtoul */
+#define CT_FLOAT 4 /* floating, i.e., strtod */
+
+#if 0
+#define u_char unsigned char
+#endif
+#define u_char char
+#define u_long unsigned long
+
+/*static*/ u_char *__sccl ();
+
+/*
+ * vfscanf
+ */
+
+#define BufferEmpty (fp->_r <= 0 && __srefill(fp))
+
+int
+__svfscanf (fp, fmt0, ap)
+ register FILE *fp;
+ char _CONST *fmt0;
+ va_list ap;
+{
+ register u_char *fmt = (u_char *) fmt0;
+ register int c; /* character from format, or conversion */
+ register size_t width; /* field width, or 0 */
+ register char *p; /* points into all kinds of strings */
+ register int n; /* handy integer */
+ register int flags; /* flags as defined above */
+ register char *p0; /* saves original value of p when necessary */
+ int nassigned; /* number of fields assigned */
+ int nread; /* number of characters consumed from fp */
+ int base = 0; /* base argument to strtol/strtoul */
+ int nbytes = 1; /* number of bytes read from fmt string */
+ wchar_t wc; /* wchar to use to read format string */
+
+ u_long (*ccfn) () = 0; /* conversion function (strtol/strtoul) */
+ char ccltab[256]; /* character class table for %[...] */
+ char buf[BUF]; /* buffer for numeric conversions */
+ char *lptr; /* literal pointer */
+ int state = 0; /* value to keep track of multibyte state */
+
+ short *sp;
+ int *ip;
+ float *flp;
+ _LONG_DOUBLE *ldp;
+ double *dp;
+ long *lp;
+
+ /* `basefix' is used to avoid `if' tests in the integer scanner */
+ static _CONST short basefix[17] =
+ {10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
+
+ nassigned = 0;
+ nread = 0;
+ for (;;)
+ {
+#ifndef MB_CAPABLE
+ wc = *fmt;
+#else
+ nbytes = _mbtowc_r (_REENT, &wc, fmt, MB_CUR_MAX, &state);
+#endif
+ fmt += nbytes;
+ if (wc == 0)
+ return nassigned;
+ if (nbytes == 1 && isspace (wc))
+ {
+ for (;;)
+ {
+ if (BufferEmpty)
+ return nassigned;
+ if (!isspace (*fp->_p))
+ break;
+ nread++, fp->_r--, fp->_p++;
+ }
+ continue;
+ }
+ if (wc != '%')
+ goto literal;
+ width = 0;
+ flags = 0;
+
+ /*
+ * switch on the format. continue if done; break once format
+ * type is derived.
+ */
+
+ again:
+ c = *fmt++;
+
+ switch (c)
+ {
+ case '%':
+ literal:
+ lptr = fmt - nbytes;
+ for (n = 0; n < nbytes; ++n)
+ {
+ if (BufferEmpty)
+ goto input_failure;
+ if (*fp->_p != *lptr)
+ goto match_failure;
+ fp->_r--, fp->_p++;
+ nread++;
+ ++lptr;
+ }
+ continue;
+
+ case '*':
+ flags |= SUPPRESS;
+ goto again;
+ case 'l':
+ flags |= LONG;
+ goto again;
+ case 'L':
+ flags |= LONGDBL;
+ goto again;
+ case 'h':
+ flags |= SHORT;
+ goto again;
+
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ width = width * 10 + c - '0';
+ goto again;
+
+ /*
+ * Conversions. Those marked `compat' are for
+ * 4.[123]BSD compatibility.
+ *
+ * (According to ANSI, E and X formats are supposed to
+ * the same as e and x. Sorry about that.)
+ */
+
+ case 'D': /* compat */
+ flags |= LONG;
+ /* FALLTHROUGH */
+ case 'd':
+ c = CT_INT;
+ ccfn = (u_long (*)())strtol;
+ base = 10;
+ break;
+
+ case 'i':
+ c = CT_INT;
+ ccfn = (u_long (*)())strtol;
+ base = 0;
+ break;
+
+ case 'O': /* compat */
+ flags |= LONG;
+ /* FALLTHROUGH */
+ case 'o':
+ c = CT_INT;
+ ccfn = strtoul;
+ base = 8;
+ break;
+
+ case 'u':
+ c = CT_INT;
+ ccfn = strtoul;
+ base = 10;
+ break;
+
+ case 'X': /* compat XXX */
+ case 'x':
+ flags |= PFXOK; /* enable 0x prefixing */
+ c = CT_INT;
+ ccfn = strtoul;
+ base = 16;
+ break;
+
+#ifdef FLOATING_POINT
+ case 'E': /* compat XXX */
+ case 'G': /* compat XXX */
+/* ANSI says that E,G and X behave the same way as e,g,x */
+ /* FALLTHROUGH */
+ case 'e':
+ case 'f':
+ case 'g':
+ c = CT_FLOAT;
+ break;
+#endif
+
+ case 's':
+ c = CT_STRING;
+ break;
+
+ case '[':
+ fmt = __sccl (ccltab, fmt);
+ flags |= NOSKIP;
+ c = CT_CCL;
+ break;
+
+ case 'c':
+ flags |= NOSKIP;
+ c = CT_CHAR;
+ break;
+
+ case 'p': /* pointer format is like hex */
+ flags |= POINTER | PFXOK;
+ c = CT_INT;
+ ccfn = strtoul;
+ base = 16;
+ break;
+
+ case 'n':
+ if (flags & SUPPRESS) /* ??? */
+ continue;
+ if (flags & SHORT)
+ {
+ sp = va_arg (ap, short *);
+ *sp = nread;
+ }
+ else if (flags & LONG)
+ {
+ lp = va_arg (ap, long *);
+ *lp = nread;
+ }
+ else
+ {
+ ip = va_arg (ap, int *);
+ *ip = nread;
+ }
+ continue;
+
+ /*
+ * Disgusting backwards compatibility hacks. XXX
+ */
+ case '\0': /* compat */
+ return EOF;
+
+ default: /* compat */
+ if (isupper (c))
+ flags |= LONG;
+ c = CT_INT;
+ ccfn = (u_long (*)())strtol;
+ base = 10;
+ break;
+ }
+
+ /*
+ * We have a conversion that requires input.
+ */
+ if (BufferEmpty)
+ goto input_failure;
+
+ /*
+ * Consume leading white space, except for formats that
+ * suppress this.
+ */
+ if ((flags & NOSKIP) == 0)
+ {
+ while (isspace (*fp->_p))
+ {
+ nread++;
+ if (--fp->_r > 0)
+ fp->_p++;
+ else
+#ifndef CYGNUS_NEC
+ if (__srefill (fp))
+#endif
+ goto input_failure;
+ }
+ /*
+ * Note that there is at least one character in the
+ * buffer, so conversions that do not set NOSKIP ca
+ * no longer result in an input failure.
+ */
+ }
+
+ /*
+ * Do the conversion.
+ */
+ switch (c)
+ {
+
+ case CT_CHAR:
+ /* scan arbitrary characters (sets NOSKIP) */
+ if (width == 0)
+ width = 1;
+ if (flags & SUPPRESS)
+ {
+ size_t sum = 0;
+
+ for (;;)
+ {
+ if ((n = fp->_r) < width)
+ {
+ sum += n;
+ width -= n;
+ fp->_p += n;
+#ifndef CYGNUS_NEC
+ if (__srefill (fp))
+ {
+#endif
+ if (sum == 0)
+ goto input_failure;
+ break;
+#ifndef CYGNUS_NEC
+ }
+#endif
+ }
+ else
+ {
+ sum += width;
+ fp->_r -= width;
+ fp->_p += width;
+ break;
+ }
+ }
+ nread += sum;
+ }
+ else
+ {
+#ifdef CYGNUS_NEC
+ /* Kludge city for the moment */
+ char *dest = va_arg (ap, char *);
+ int n = width;
+ if (fp->_r == 0)
+ goto input_failure;
+
+ while (n && fp->_r)
+ {
+ *dest++ = *(fp->_p++);
+ n--;
+ fp->_r--;
+ nread++;
+ }
+#else
+ size_t r = fread ((_PTR) va_arg (ap, char *), 1, width, fp);
+
+ if (r == 0)
+ goto input_failure;
+ nread += r;
+#endif
+ nassigned++;
+ }
+ break;
+
+ case CT_CCL:
+ /* scan a (nonempty) character class (sets NOSKIP) */
+ if (width == 0)
+ width = ~0; /* `infinity' */
+ /* take only those things in the class */
+ if (flags & SUPPRESS)
+ {
+ n = 0;
+ while (ccltab[*fp->_p])
+ {
+ n++, fp->_r--, fp->_p++;
+ if (--width == 0)
+ break;
+ if (BufferEmpty)
+ {
+ if (n == 0)
+ goto input_failure;
+ break;
+ }
+ }
+ if (n == 0)
+ goto match_failure;
+ }
+ else
+ {
+ p0 = p = va_arg (ap, char *);
+ while (ccltab[*fp->_p])
+ {
+ fp->_r--;
+ *p++ = *fp->_p++;
+ if (--width == 0)
+ break;
+ if (BufferEmpty)
+ {
+ if (p == p0)
+ goto input_failure;
+ break;
+ }
+ }
+ n = p - p0;
+ if (n == 0)
+ goto match_failure;
+ *p = 0;
+ nassigned++;
+ }
+ nread += n;
+ break;
+
+ case CT_STRING:
+ /* like CCL, but zero-length string OK, & no NOSKIP */
+ if (width == 0)
+ width = ~0;
+ if (flags & SUPPRESS)
+ {
+ n = 0;
+ while (!isspace (*fp->_p))
+ {
+ n++, fp->_r--, fp->_p++;
+ if (--width == 0)
+ break;
+ if (BufferEmpty)
+ break;
+ }
+ nread += n;
+ }
+ else
+ {
+ p0 = p = va_arg (ap, char *);
+ while (!isspace (*fp->_p))
+ {
+ fp->_r--;
+ *p++ = *fp->_p++;
+ if (--width == 0)
+ break;
+ if (BufferEmpty)
+ break;
+ }
+ *p = 0;
+ nread += p - p0;
+ nassigned++;
+ }
+ continue;
+
+ case CT_INT:
+ /* scan an integer as if by strtol/strtoul */
+#ifdef hardway
+ if (width == 0 || width > sizeof (buf) - 1)
+ width = sizeof (buf) - 1;
+#else
+ /* size_t is unsigned, hence this optimisation */
+ if (--width > sizeof (buf) - 2)
+ width = sizeof (buf) - 2;
+ width++;
+#endif
+ flags |= SIGNOK | NDIGITS | NZDIGITS;
+ for (p = buf; width; width--)
+ {
+ c = *fp->_p;
+ /*
+ * Switch on the character; `goto ok' if we
+ * accept it as a part of number.
+ */
+ switch (c)
+ {
+ /*
+ * The digit 0 is always legal, but is special.
+ * For %i conversions, if no digits (zero or nonzero)
+ * have been scanned (only signs), we will have base==0.
+ * In that case, we should set it to 8 and enable 0x
+ * prefixing. Also, if we have not scanned zero digits
+ * before this, do not turn off prefixing (someone else
+ * will turn it off if we have scanned any nonzero digits).
+ */
+ case '0':
+ if (base == 0)
+ {
+ base = 8;
+ flags |= PFXOK;
+ }
+ if (flags & NZDIGITS)
+ flags &= ~(SIGNOK | NZDIGITS | NDIGITS);
+ else
+ flags &= ~(SIGNOK | PFXOK | NDIGITS);
+ goto ok;
+
+ /* 1 through 7 always legal */
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ base = basefix[base];
+ flags &= ~(SIGNOK | PFXOK | NDIGITS);
+ goto ok;
+
+ /* digits 8 and 9 ok iff decimal or hex */
+ case '8':
+ case '9':
+ base = basefix[base];
+ if (base <= 8)
+ break; /* not legal here */
+ flags &= ~(SIGNOK | PFXOK | NDIGITS);
+ goto ok;
+
+ /* letters ok iff hex */
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ /* no need to fix base here */
+ if (base <= 10)
+ break; /* not legal here */
+ flags &= ~(SIGNOK | PFXOK | NDIGITS);
+ goto ok;
+
+ /* sign ok only as first character */
+ case '+':
+ case '-':
+ if (flags & SIGNOK)
+ {
+ flags &= ~SIGNOK;
+ goto ok;
+ }
+ break;
+
+ /* x ok iff flag still set & 2nd char */
+ case 'x':
+ case 'X':
+ if (flags & PFXOK && p == buf + 1)
+ {
+ base = 16;/* if %i */
+ flags &= ~PFXOK;
+ goto ok;
+ }
+ break;
+ }
+
+ /*
+ * If we got here, c is not a legal character
+ * for a number. Stop accumulating digits.
+ */
+ break;
+ ok:
+ /*
+ * c is legal: store it and look at the next.
+ */
+ *p++ = c;
+ if (--fp->_r > 0)
+ fp->_p++;
+ else
+#ifndef CYGNUS_NEC
+ if (__srefill (fp))
+#endif
+ break; /* EOF */
+ }
+ /*
+ * If we had only a sign, it is no good; push back the sign.
+ * If the number ends in `x', it was [sign] '0' 'x', so push back
+ * the x and treat it as [sign] '0'.
+ */
+ if (flags & NDIGITS)
+ {
+ if (p > buf)
+ _CAST_VOID ungetc (*(u_char *)-- p, fp);
+ goto match_failure;
+ }
+ c = ((u_char *) p)[-1];
+ if (c == 'x' || c == 'X')
+ {
+ --p;
+ /*(void)*/ ungetc (c, fp);
+ }
+ if ((flags & SUPPRESS) == 0)
+ {
+ u_long res;
+
+ *p = 0;
+ res = (*ccfn) (buf, (char **) NULL, base);
+ if (flags & POINTER)
+ *(va_arg (ap, _PTR *)) = (_PTR) (unsigned _POINTER_INT) res;
+ else if (flags & SHORT)
+ {
+ sp = va_arg (ap, short *);
+ *sp = res;
+ }
+ else if (flags & LONG)
+ {
+ lp = va_arg (ap, long *);
+ *lp = res;
+ }
+ else
+ {
+ ip = va_arg (ap, int *);
+ *ip = res;
+ }
+ nassigned++;
+ }
+ nread += p - buf;
+ break;
+
+#ifdef FLOATING_POINT
+ case CT_FLOAT:
+ {
+ /* scan a floating point number as if by strtod */
+ /* This code used to assume that the number of digits is reasonable.
+ However, ANSI / ISO C makes no such stipulation; we have to get
+ exact results even when there is an unreasonable amount of
+ leading zeroes. */
+ long leading_zeroes, zeroes, exp_adjust;
+ char *exp_start;
+#ifdef hardway
+ if (width == 0 || width > sizeof (buf) - 1)
+ width = sizeof (buf) - 1;
+#else
+ /* size_t is unsigned, hence this optimisation */
+ if (--width > sizeof (buf) - 2)
+ width = sizeof (buf) - 2;
+ width++;
+#endif
+ flags |= SIGNOK | NDIGITS | DPTOK | EXPOK;
+ zeroes = 0;
+ exp_adjust = 0;
+ for (p = buf; width; )
+ {
+ c = *fp->_p;
+ /*
+ * This code mimicks the integer conversion
+ * code, but is much simpler.
+ */
+ switch (c)
+ {
+
+ case '0':
+ if (flags & NDIGITS)
+ {
+ flags &= ~SIGNOK;
+ zeroes++;
+ goto fskip;
+ }
+ /* Fall through. */
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ flags &= ~(SIGNOK | NDIGITS);
+ goto fok;
+
+ case '+':
+ case '-':
+ if (flags & SIGNOK)
+ {
+ flags &= ~SIGNOK;
+ goto fok;
+ }
+ break;
+ case '.':
+ if (flags & DPTOK)
+ {
+ flags &= ~(SIGNOK | DPTOK);
+ leading_zeroes = zeroes;
+ goto fok;
+ }
+ break;
+ case 'e':
+ case 'E':
+ /* no exponent without some digits */
+ if ((flags & (NDIGITS | EXPOK)) == EXPOK
+ || ((flags & EXPOK) && zeroes))
+ {
+ if (! (flags & DPTOK))
+ {
+ exp_adjust = zeroes - leading_zeroes;
+ exp_start = p;
+ }
+ flags =
+ (flags & ~(EXPOK | DPTOK)) |
+ SIGNOK | NDIGITS;
+ zeroes = 0;
+ goto fok;
+ }
+ break;
+ }
+ break;
+ fok:
+ *p++ = c;
+ width--;
+ fskip:
+ if (--fp->_r > 0)
+ fp->_p++;
+ else
+#ifndef CYGNUS_NEC
+ if (__srefill (fp))
+#endif
+ break; /* EOF */
+ }
+ if (zeroes)
+ flags &= ~NDIGITS;
+ /*
+ * If no digits, might be missing exponent digits
+ * (just give back the exponent) or might be missing
+ * regular digits, but had sign and/or decimal point.
+ */
+ if (flags & NDIGITS)
+ {
+ if (flags & EXPOK)
+ {
+ /* no digits at all */
+ while (p > buf)
+ ungetc (*(u_char *)-- p, fp);
+ goto match_failure;
+ }
+ /* just a bad exponent (e and maybe sign) */
+ c = *(u_char *)-- p;
+ if (c != 'e' && c != 'E')
+ {
+ _CAST_VOID ungetc (c, fp); /* sign */
+ c = *(u_char *)-- p;
+ }
+ _CAST_VOID ungetc (c, fp);
+ }
+ if ((flags & SUPPRESS) == 0)
+ {
+ double res;
+ long new_exp;
+
+ *p = 0;
+ if ((flags & (DPTOK | EXPOK)) == EXPOK)
+ {
+ exp_adjust = zeroes - leading_zeroes;
+ new_exp = -exp_adjust;
+ exp_start = p;
+ }
+ else if (exp_adjust)
+ new_exp = atol (exp_start + 1) - exp_adjust;
+ if (exp_adjust)
+ {
+
+ /* If there might not be enough space for the new exponent,
+ truncate some trailing digits to make room. */
+ if (exp_start >= buf + sizeof (buf) - MAX_LONG_LEN)
+ exp_start = buf + sizeof (buf) - MAX_LONG_LEN - 1;
+ sprintf (exp_start, "e%d", new_exp);
+ }
+ res = atof (buf);
+ if (flags & LONG)
+ {
+ dp = va_arg (ap, double *);
+ *dp = res;
+ }
+ else if (flags & LONGDBL)
+ {
+ ldp = va_arg (ap, _LONG_DOUBLE *);
+ *ldp = res;
+ }
+ else
+ {
+ flp = va_arg (ap, float *);
+ *flp = res;
+ }
+ nassigned++;
+ }
+ nread += p - buf;
+ break;
+ }
+#endif /* FLOATING_POINT */
+ }
+ }
+input_failure:
+ return nassigned ? nassigned : -1;
+match_failure:
+ return nassigned;
+}
+
+/*
+ * Fill in the given table from the scanset at the given format
+ * (just after `['). Return a pointer to the character past the
+ * closing `]'. The table has a 1 wherever characters should be
+ * considered part of the scanset.
+ */
+
+/*static*/
+u_char *
+__sccl (tab, fmt)
+ register char *tab;
+ register u_char *fmt;
+{
+ register int c, n, v;
+
+ /* first `clear' the whole table */
+ c = *fmt++; /* first char hat => negated scanset */
+ if (c == '^')
+ {
+ v = 1; /* default => accept */
+ c = *fmt++; /* get new first char */
+ }
+ else
+ v = 0; /* default => reject */
+ /* should probably use memset here */
+ for (n = 0; n < 256; n++)
+ tab[n] = v;
+ if (c == 0)
+ return fmt - 1; /* format ended before closing ] */
+
+ /*
+ * Now set the entries corresponding to the actual scanset to the
+ * opposite of the above.
+ *
+ * The first character may be ']' (or '-') without being special; the
+ * last character may be '-'.
+ */
+
+ v = 1 - v;
+ for (;;)
+ {
+ tab[c] = v; /* take character c */
+ doswitch:
+ n = *fmt++; /* and examine the next */
+ switch (n)
+ {
+
+ case 0: /* format ended too soon */
+ return fmt - 1;
+
+ case '-':
+ /*
+ * A scanset of the form [01+-] is defined as `the digit 0, the
+ * digit 1, the character +, the character -', but the effect of a
+ * scanset such as [a-zA-Z0-9] is implementation defined. The V7
+ * Unix scanf treats `a-z' as `the letters a through z', but treats
+ * `a-a' as `the letter a, the character -, and the letter a'.
+ *
+ * For compatibility, the `-' is not considerd to define a range if
+ * the character following it is either a close bracket (required by
+ * ANSI) or is not numerically greater than the character we just
+ * stored in the table (c).
+ */
+ n = *fmt;
+ if (n == ']' || n < c)
+ {
+ c = '-';
+ break; /* resume the for(;;) */
+ }
+ fmt++;
+ do
+ { /* fill in the range */
+ tab[++c] = v;
+ }
+ while (c < n);
+#if 1 /* XXX another disgusting compatibility hack */
+ /*
+ * Alas, the V7 Unix scanf also treats formats such
+ * as [a-c-e] as `the letters a through e'. This too
+ * is permitted by the standard....
+ */
+ goto doswitch;
+#else
+ c = *fmt++;
+ if (c == 0)
+ return fmt - 1;
+ if (c == ']')
+ return fmt;
+#endif
+
+ break;
+
+
+ case ']': /* end of scanset */
+ return fmt;
+
+ default: /* just another character */
+ c = n;
+ break;
+ }
+ }
+ /* NOTREACHED */
+}
diff --git a/newlib/libc/stdio/vprintf.c b/newlib/libc/stdio/vprintf.c
new file mode 100644
index 00000000000..c270141f0e7
--- /dev/null
+++ b/newlib/libc/stdio/vprintf.c
@@ -0,0 +1,35 @@
+/* doc in vfprintf.c */
+
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include <_ansi.h>
+#include <stdio.h>
+
+#ifdef _HAVE_STDC
+#include <stdarg.h>
+#else
+#include <varargs.h>
+#endif
+
+int
+vprintf (fmt, ap)
+ char _CONST *fmt;
+ va_list ap;
+{
+ return vfprintf (stdout, fmt, ap);
+}
diff --git a/newlib/libc/stdio/vsnprintf.c b/newlib/libc/stdio/vsnprintf.c
new file mode 100644
index 00000000000..18df5864aa6
--- /dev/null
+++ b/newlib/libc/stdio/vsnprintf.c
@@ -0,0 +1,73 @@
+/* doc in vfprintf.c */
+
+/* This code created by modifying vsprintf.c so copyright inherited. */
+
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "%W% (Berkeley) %G%";
+#endif /* LIBC_SCCS and not lint */
+
+#include <_ansi.h>
+#include <reent.h>
+#include <stdio.h>
+#include <limits.h>
+#ifdef _HAVE_STDC
+#include <stdarg.h>
+#else
+#include <varargs.h>
+#endif
+
+int
+vsnprintf (str, size, fmt, ap)
+ char *str;
+ size_t size;
+ char _CONST *fmt;
+ va_list ap;
+{
+ int ret;
+ FILE f;
+
+ f._flags = __SWR | __SSTR;
+ f._bf._base = f._p = (unsigned char *) str;
+ f._bf._size = f._w = size;
+ f._data = _REENT;
+ ret = vfprintf (&f, fmt, ap);
+ *f._p = 0;
+ return ret;
+}
+
+int
+vsnprintf_r (ptr, str, size, fmt, ap)
+ struct _reent *ptr;
+ char *str;
+ size_t size;
+ char _CONST *fmt;
+ va_list ap;
+{
+ int ret;
+ FILE f;
+
+ f._flags = __SWR | __SSTR;
+ f._bf._base = f._p = (unsigned char *) str;
+ f._bf._size = f._w = size;
+ f._data = ptr;
+ ret = vfprintf (&f, fmt, ap);
+ *f._p = 0;
+ return ret;
+}
diff --git a/newlib/libc/stdio/vsprintf.c b/newlib/libc/stdio/vsprintf.c
new file mode 100644
index 00000000000..416c184e8aa
--- /dev/null
+++ b/newlib/libc/stdio/vsprintf.c
@@ -0,0 +1,70 @@
+/* doc in vfprintf.c */
+
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "%W% (Berkeley) %G%";
+#endif /* LIBC_SCCS and not lint */
+
+#include <_ansi.h>
+#include <reent.h>
+#include <stdio.h>
+#include <limits.h>
+#ifdef _HAVE_STDC
+#include <stdarg.h>
+#else
+#include <varargs.h>
+#endif
+
+int
+vsprintf (str, fmt, ap)
+ char *str;
+ char _CONST *fmt;
+ va_list ap;
+{
+ int ret;
+ FILE f;
+
+ f._flags = __SWR | __SSTR;
+ f._bf._base = f._p = (unsigned char *) str;
+ f._bf._size = f._w = INT_MAX;
+ f._data = _REENT;
+ ret = vfprintf (&f, fmt, ap);
+ *f._p = 0;
+ return ret;
+}
+
+int
+vsprintf_r (ptr, str, fmt, ap)
+ struct _reent *ptr;
+ char *str;
+ char _CONST *fmt;
+ va_list ap;
+{
+ int ret;
+ FILE f;
+
+ f._flags = __SWR | __SSTR;
+ f._bf._base = f._p = (unsigned char *) str;
+ f._bf._size = f._w = INT_MAX;
+ f._data = ptr;
+ ret = vfprintf (&f, fmt, ap);
+ *f._p = 0;
+ return ret;
+}
+
diff --git a/newlib/libc/stdio/wbuf.c b/newlib/libc/stdio/wbuf.c
new file mode 100644
index 00000000000..1106829713b
--- /dev/null
+++ b/newlib/libc/stdio/wbuf.c
@@ -0,0 +1,81 @@
+/* No user fns here. Pesch 15apr92. */
+
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "%W% (Berkeley) %G%";
+#endif /* LIBC_SCCS and not lint */
+
+#include <stdio.h>
+#include "local.h"
+#include "fvwrite.h"
+
+/*
+ * Write the given character into the (probably full) buffer for
+ * the given file. Flush the buffer out if it is or becomes full,
+ * or if c=='\n' and the file is line buffered.
+ */
+
+int
+__swbuf (c, fp)
+ register int c;
+ register FILE *fp;
+{
+ register int n;
+
+ /* Ensure stdio has been initialized. */
+
+ CHECK_INIT (fp);
+
+ /*
+ * In case we cannot write, or longjmp takes us out early,
+ * make sure _w is 0 (if fully- or un-buffered) or -_bf._size
+ * (if line buffered) so that we will get called again.
+ * If we did not do this, a sufficient number of putc()
+ * calls might wrap _w from negative to positive.
+ */
+
+ fp->_w = fp->_lbfsize;
+ if (cantwrite (fp))
+ return EOF;
+ c = (unsigned char) c;
+
+ /*
+ * If it is completely full, flush it out. Then, in any case,
+ * stuff c into the buffer. If this causes the buffer to fill
+ * completely, or if c is '\n' and the file is line buffered,
+ * flush it (perhaps a second time). The second flush will always
+ * happen on unbuffered streams, where _bf._size==1; fflush()
+ * guarantees that putc() will always call wbuf() by setting _w
+ * to 0, so we need not do anything else.
+ */
+
+ n = fp->_p - fp->_bf._base;
+ if (n >= fp->_bf._size)
+ {
+ if (fflush (fp))
+ return EOF;
+ n = 0;
+ }
+ fp->_w--;
+ *fp->_p++ = c;
+ if (++n == fp->_bf._size || (fp->_flags & __SLBF && c == '\n'))
+ if (fflush (fp))
+ return EOF;
+ return c;
+}
diff --git a/newlib/libc/stdio/wsetup.c b/newlib/libc/stdio/wsetup.c
new file mode 100644
index 00000000000..23b032efef1
--- /dev/null
+++ b/newlib/libc/stdio/wsetup.c
@@ -0,0 +1,79 @@
+/* No user fns here. Pesch 15apr92. */
+
+/*
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "local.h"
+
+/*
+ * Various output routines call wsetup to be sure it is safe to write,
+ * because either _flags does not include __SWR, or _buf is NULL.
+ * _wsetup returns 0 if OK to write, nonzero otherwise.
+ */
+
+int
+_DEFUN (__swsetup, (fp),
+ register FILE * fp)
+{
+ /* Make sure stdio is set up. */
+
+ CHECK_INIT (fp);
+
+ /*
+ * If we are not writing, we had better be reading and writing.
+ */
+
+ if ((fp->_flags & __SWR) == 0)
+ {
+ if ((fp->_flags & __SRW) == 0)
+ return EOF;
+ if (fp->_flags & __SRD)
+ {
+ /* clobber any ungetc data */
+ if (HASUB (fp))
+ FREEUB (fp);
+ fp->_flags &= ~(__SRD | __SEOF);
+ fp->_r = 0;
+ fp->_p = fp->_bf._base;
+ }
+ fp->_flags |= __SWR;
+ }
+
+ /*
+ * Make a buffer if necessary, then set _w.
+ */
+ /* NOT NEEDED FOR CYGNUS SPRINTF ONLY jpg */
+ if (fp->_bf._base == NULL)
+ __smakebuf (fp);
+
+ if (fp->_flags & __SLBF)
+ {
+ /*
+ * It is line buffered, so make _lbfsize be -_bufsize
+ * for the putc() macro. We will change _lbfsize back
+ * to 0 whenever we turn off __SWR.
+ */
+ fp->_w = 0;
+ fp->_lbfsize = -fp->_bf._size;
+ }
+ else
+ fp->_w = fp->_flags & __SNBF ? 0 : fp->_bf._size;
+
+ return 0;
+}
diff --git a/newlib/libc/stdlib/Makefile.am b/newlib/libc/stdlib/Makefile.am
new file mode 100644
index 00000000000..f33550fc703
--- /dev/null
+++ b/newlib/libc/stdlib/Makefile.am
@@ -0,0 +1,166 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ __adjust.c \
+ __exp10.c \
+ __ten_mu.c \
+ abort.c \
+ abs.c \
+ assert.c \
+ atexit.c \
+ atof.c \
+ atoff.c \
+ atoi.c \
+ atol.c \
+ bsearch.c \
+ calloc.c \
+ div.c \
+ dtoa.c \
+ dtoastub.c \
+ ecvtbuf.c \
+ efgcvt.c \
+ environ.c \
+ envlock.c \
+ eprintf.c \
+ exit.c \
+ getenv.c \
+ getenv_r.c \
+ getopt.c \
+ labs.c \
+ ldiv.c \
+ malign.c \
+ malloc.c \
+ mblen.c \
+ mblen_r.c \
+ mbstowcs.c \
+ mbstowcs_r.c \
+ mbtowc.c \
+ mbtowc_r.c \
+ mlock.c \
+ mprec.c \
+ msize.c \
+ mstats.c \
+ mtrim.c \
+ putenv.c \
+ putenv_r.c \
+ qsort.c \
+ rand.c \
+ rand_r.c \
+ realloc.c \
+ setenv.c \
+ setenv_r.c \
+ strdup.c \
+ strdup_r.c \
+ strtod.c \
+ strtol.c \
+ strtoul.c \
+ system.c \
+ valloc.c \
+ wcstombs.c \
+ wcstombs_r.c \
+ wctomb.c \
+ wctomb_r.c
+
+lib_a_LIBADD = mallocr.o freer.o reallocr.o callocr.o cfreer.o malignr.o \
+ vallocr.o pvallocr.o mallinfor.o mallstatsr.o msizer.o malloptr.o
+
+MALLOC_COMPILE = $(COMPILE) -DINTERNAL_NEWLIB
+
+mallocr.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_MALLOC -c $(srcdir)/mallocr.c -o $@
+
+freer.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_FREE -c $(srcdir)/mallocr.c -o $@
+
+reallocr.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_REALLOC -c $(srcdir)/mallocr.c -o $@
+
+callocr.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_CALLOC -c $(srcdir)/mallocr.c -o $@
+
+cfreer.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_CFREE -c $(srcdir)/mallocr.c -o $@
+
+malignr.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_MEMALIGN -c $(srcdir)/mallocr.c -o $@
+
+vallocr.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_VALLOC -c $(srcdir)/mallocr.c -o $@
+
+pvallocr.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_PVALLOC -c $(srcdir)/mallocr.c -o $@
+
+mallinfor.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_MALLINFO -c $(srcdir)/mallocr.c -o $@
+
+mallstatsr.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_MALLOC_STATS -c $(srcdir)/mallocr.c -o $@
+
+msizer.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_MALLOC_USABLE_SIZE -c $(srcdir)/mallocr.c -o $@
+
+malloptr.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_MALLOPT -c $(srcdir)/mallocr.c -o $@
+
+CHEWOUT_FILES= \
+ abort.def \
+ abs.def \
+ assert.def \
+ atexit.def \
+ atof.def \
+ ecvtbuf.def \
+ atoi.def \
+ bsearch.def \
+ calloc.def \
+ div.def \
+ efgcvt.def \
+ envlock.def \
+ exit.def \
+ getenv.def \
+ labs.def \
+ ldiv.def \
+ malloc.def \
+ mallocr.def \
+ mblen.def \
+ mbstowcs.def \
+ mbtowc.def \
+ mlock.def \
+ mstats.def \
+ qsort.def \
+ rand.def \
+ strtod.def \
+ strtol.def \
+ strtoul.def \
+ system.def \
+ wcstombs.def \
+ wctomb.def
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+TARGETDOC = ../tmp.texi
+
+doc: $(CHEWOUT_FILES)
+ cat $(srcdir)/stdlib.tex >> $(TARGETDOC)
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
+
+dtoa.o: dtoa.c mprec.h
+ecvtbuf.o: ecvtbuf.c mprec.h
+mbtowc_r.o: mbtowc_r.c mbctype.h
+ $(COMPILE) -c -fshort-enums $(srcdir)/mbtowc_r.c -o $@
+
+mprec.o: mprec.c mprec.h
+strtod.o: strtod.c mprec.h
+wctomb_r.o: wctomb_r.c mbctype.h
diff --git a/newlib/libc/stdlib/Makefile.in b/newlib/libc/stdlib/Makefile.in
new file mode 100644
index 00000000000..82664b3b647
--- /dev/null
+++ b/newlib/libc/stdlib/Makefile.in
@@ -0,0 +1,449 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+CRT0 = @CRT0@
+EXEEXT = @EXEEXT@
+LIBC_MACHINE_LIB = @LIBC_MACHINE_LIB@
+LIBC_POSIX_LIB = @LIBC_POSIX_LIB@
+LIBC_SIGNAL_DEF = @LIBC_SIGNAL_DEF@
+LIBC_SIGNAL_LIB = @LIBC_SIGNAL_LIB@
+LIBC_SYSCALL_LIB = @LIBC_SYSCALL_LIB@
+LIBC_SYS_LIB = @LIBC_SYS_LIB@
+LIBC_UNIX_LIB = @LIBC_UNIX_LIB@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ __adjust.c \
+ __exp10.c \
+ __ten_mu.c \
+ abort.c \
+ abs.c \
+ assert.c \
+ atexit.c \
+ atof.c \
+ atoff.c \
+ atoi.c \
+ atol.c \
+ bsearch.c \
+ calloc.c \
+ div.c \
+ dtoa.c \
+ dtoastub.c \
+ ecvtbuf.c \
+ efgcvt.c \
+ environ.c \
+ envlock.c \
+ eprintf.c \
+ exit.c \
+ getenv.c \
+ getenv_r.c \
+ getopt.c \
+ labs.c \
+ ldiv.c \
+ malign.c \
+ malloc.c \
+ mblen.c \
+ mblen_r.c \
+ mbstowcs.c \
+ mbstowcs_r.c \
+ mbtowc.c \
+ mbtowc_r.c \
+ mlock.c \
+ mprec.c \
+ msize.c \
+ mstats.c \
+ mtrim.c \
+ putenv.c \
+ putenv_r.c \
+ qsort.c \
+ rand.c \
+ rand_r.c \
+ realloc.c \
+ setenv.c \
+ setenv_r.c \
+ strdup.c \
+ strdup_r.c \
+ strtod.c \
+ strtol.c \
+ strtoul.c \
+ system.c \
+ valloc.c \
+ wcstombs.c \
+ wcstombs_r.c \
+ wctomb.c \
+ wctomb_r.c
+
+
+lib_a_LIBADD = mallocr.o freer.o reallocr.o callocr.o cfreer.o malignr.o \
+ vallocr.o pvallocr.o mallinfor.o mallstatsr.o msizer.o malloptr.o
+
+
+MALLOC_COMPILE = $(COMPILE) -DINTERNAL_NEWLIB
+
+CHEWOUT_FILES = \
+ abort.def \
+ abs.def \
+ assert.def \
+ atexit.def \
+ atof.def \
+ ecvtbuf.def \
+ atoi.def \
+ bsearch.def \
+ calloc.def \
+ div.def \
+ efgcvt.def \
+ envlock.def \
+ exit.def \
+ getenv.def \
+ labs.def \
+ ldiv.def \
+ malloc.def \
+ mallocr.def \
+ mblen.def \
+ mbstowcs.def \
+ mbtowc.def \
+ mlock.def \
+ mstats.def \
+ qsort.def \
+ rand.def \
+ strtod.def \
+ strtol.def \
+ strtoul.def \
+ system.def \
+ wcstombs.def \
+ wctomb.def
+
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+TARGETDOC = ../tmp.texi
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_DEPENDENCIES = mallocr.o freer.o reallocr.o callocr.o cfreer.o \
+malignr.o vallocr.o pvallocr.o mallinfor.o mallstatsr.o msizer.o \
+malloptr.o
+lib_a_OBJECTS = __adjust.o __exp10.o __ten_mu.o abort.o abs.o assert.o \
+atexit.o atof.o atoff.o atoi.o atol.o bsearch.o calloc.o div.o dtoa.o \
+dtoastub.o ecvtbuf.o efgcvt.o environ.o envlock.o eprintf.o exit.o \
+getenv.o getenv_r.o getopt.o labs.o ldiv.o malign.o malloc.o mblen.o \
+mblen_r.o mbstowcs.o mbstowcs_r.o mbtowc.o mbtowc_r.o mlock.o mprec.o \
+msize.o mstats.o mtrim.o putenv.o putenv_r.o qsort.o rand.o rand_r.o \
+realloc.o setenv.o setenv_r.o strdup.o strdup_r.o strtod.o strtol.o \
+strtoul.o system.o valloc.o wcstombs.o wcstombs_r.o wctomb.o wctomb_r.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .def .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus stdlib/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = stdlib
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am:
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-info-am:
+install-info: install-info-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am:
+uninstall: uninstall-am
+all-am: Makefile $(LIBRARIES)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-noinstLIBRARIES distclean-compile \
+ distclean-tags distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-info-am install-info \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+mallocr.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_MALLOC -c $(srcdir)/mallocr.c -o $@
+
+freer.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_FREE -c $(srcdir)/mallocr.c -o $@
+
+reallocr.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_REALLOC -c $(srcdir)/mallocr.c -o $@
+
+callocr.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_CALLOC -c $(srcdir)/mallocr.c -o $@
+
+cfreer.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_CFREE -c $(srcdir)/mallocr.c -o $@
+
+malignr.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_MEMALIGN -c $(srcdir)/mallocr.c -o $@
+
+vallocr.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_VALLOC -c $(srcdir)/mallocr.c -o $@
+
+pvallocr.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_PVALLOC -c $(srcdir)/mallocr.c -o $@
+
+mallinfor.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_MALLINFO -c $(srcdir)/mallocr.c -o $@
+
+mallstatsr.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_MALLOC_STATS -c $(srcdir)/mallocr.c -o $@
+
+msizer.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_MALLOC_USABLE_SIZE -c $(srcdir)/mallocr.c -o $@
+
+malloptr.o: mallocr.c
+ $(MALLOC_COMPILE) -DDEFINE_MALLOPT -c $(srcdir)/mallocr.c -o $@
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+doc: $(CHEWOUT_FILES)
+ cat $(srcdir)/stdlib.tex >> $(TARGETDOC)
+
+dtoa.o: dtoa.c mprec.h
+ecvtbuf.o: ecvtbuf.c mprec.h
+mbtowc_r.o: mbtowc_r.c mbctype.h
+ $(COMPILE) -c -fshort-enums $(srcdir)/mbtowc_r.c -o $@
+
+mprec.o: mprec.c mprec.h
+strtod.o: strtod.c mprec.h
+wctomb_r.o: wctomb_r.c mbctype.h
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/stdlib/__adjust.c b/newlib/libc/stdlib/__adjust.c
new file mode 100644
index 00000000000..d5c70758b1f
--- /dev/null
+++ b/newlib/libc/stdlib/__adjust.c
@@ -0,0 +1,44 @@
+/*
+ * return (*acc) scaled by 10**dexp.
+ */
+
+#include <_ansi.h>
+#include <reent.h>
+#include "std.h"
+
+#define abs(x) (((x) < 0) ? -(x) : (x))
+
+double
+_DEFUN (__adjust, (ptr, acc, dexp, sign),
+ struct _reent *ptr _AND
+ double *acc _AND
+ int dexp _AND
+ int sign)
+ /* *acc the 64 bit accumulator */
+ /* dexp decimal exponent */
+ /* sign sign flag */
+{
+ double r;
+
+ if (dexp > MAXE)
+ {
+ ptr->_errno = ERANGE;
+ return (sign) ? -HUGE_VAL : HUGE_VAL;
+ }
+ else if (dexp < MINE)
+ {
+ ptr->_errno = ERANGE;
+ return 0.0;
+ }
+
+ r = *acc;
+ if (sign)
+ r = -r;
+ if (dexp == 0)
+ return r;
+
+ if (dexp < 0)
+ return r / __exp10 (abs (dexp));
+ else
+ return r * __exp10 (dexp);
+}
diff --git a/newlib/libc/stdlib/__exp10.c b/newlib/libc/stdlib/__exp10.c
new file mode 100644
index 00000000000..967362347e7
--- /dev/null
+++ b/newlib/libc/stdlib/__exp10.c
@@ -0,0 +1,29 @@
+/*
+ * compute 10**x by successive squaring.
+ */
+
+#include <_ansi.h>
+
+double
+_DEFUN (__exp10, (x),
+ unsigned x)
+{
+ static _CONST double powtab[] =
+ {1.0,
+ 10.0,
+ 100.0,
+ 1000.0,
+ 10000.0};
+
+ if (x < (sizeof (powtab) / sizeof (double)))
+ return powtab[x];
+ else if (x & 1)
+ {
+ return 10.0 * __exp10 (x - 1);
+ }
+ else
+ {
+ double n = __exp10 (x / 2);
+ return n * n;
+ }
+}
diff --git a/newlib/libc/stdlib/__ten_mu.c b/newlib/libc/stdlib/__ten_mu.c
new file mode 100644
index 00000000000..439c226e17d
--- /dev/null
+++ b/newlib/libc/stdlib/__ten_mu.c
@@ -0,0 +1,23 @@
+/*
+ * [atw] multiply 64 bit accumulator by 10 and add digit.
+ * The KA/CA way to do this should be to use
+ * a 64-bit integer internally and use "adjust" to
+ * convert it to float at the end of processing.
+ */
+
+#include <_ansi.h>
+
+int
+_DEFUN (__ten_mul, (acc, digit),
+ double *acc _AND
+ int digit)
+{
+ /*
+ * [atw] Crude, but effective (at least on a KB)...
+ */
+
+ *acc *= 10;
+ *acc += digit;
+
+ return 0; /* no overflow */
+}
diff --git a/newlib/libc/stdlib/abort.c b/newlib/libc/stdlib/abort.c
new file mode 100644
index 00000000000..b3d671ed633
--- /dev/null
+++ b/newlib/libc/stdlib/abort.c
@@ -0,0 +1,66 @@
+/* NetWare can not use this implementation of abort. It provides its
+ own version of abort in clib.nlm. If we can not use clib.nlm, then
+ we must write abort in sys/netware. */
+
+#ifdef ABORT_PROVIDED
+
+int _dummy_abort = 1;
+
+#else
+
+/*
+FUNCTION
+<<abort>>---abnormal termination of a program
+
+INDEX
+ abort
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ void abort(void);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ void abort();
+
+DESCRIPTION
+Use <<abort>> to signal that your program has detected a condition it
+cannot deal with. Normally, <<abort>> ends your program's execution.
+
+Before terminating your program, <<abort>> raises the exception <<SIGABRT>>
+(using `<<raise(SIGABRT)>>'). If you have used <<signal>> to register
+an exception handler for this condition, that handler has the
+opportunity to retain control, thereby avoiding program termination.
+
+In this implementation, <<abort>> does not perform any stream- or
+file-related cleanup (the host environment may do so; if not, you can
+arrange for your program to do its own cleanup with a <<SIGABRT>>
+exception handler).
+
+RETURNS
+<<abort>> does not return to its caller.
+
+PORTABILITY
+ANSI C requires <<abort>>.
+
+Supporting OS subroutines required: <<getpid>>, <<kill>>.
+*/
+
+#include <stdlib.h>
+#include <signal.h>
+
+_VOID
+_DEFUN_VOID (abort)
+{
+#ifdef ABORT_MESSAGE
+ write (2, "Abort called\n", sizeof ("Abort called\n")-1);
+#endif
+
+ while (1)
+ {
+ raise (SIGABRT);
+ _exit (1);
+ }
+}
+
+#endif
diff --git a/newlib/libc/stdlib/abs.c b/newlib/libc/stdlib/abs.c
new file mode 100644
index 00000000000..0308b5729e9
--- /dev/null
+++ b/newlib/libc/stdlib/abs.c
@@ -0,0 +1,43 @@
+/*
+FUNCTION
+<<abs>>---integer absolute value (magnitude)
+
+INDEX
+ abs
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ int abs(int <[i]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ int abs(<[i]>)
+ int <[i]>;
+
+DESCRIPTION
+<<abs>> returns
+@tex
+$|x|$,
+@end tex
+the absolute value of <[i]> (also called the magnitude
+of <[i]>). That is, if <[i]> is negative, the result is the opposite
+of <[i]>, but if <[i]> is nonnegative the result is <[i]>.
+
+The similar function <<labs>> uses and returns <<long>> rather than <<int>> values.
+
+RETURNS
+The result is a nonnegative integer.
+
+PORTABILITY
+<<abs>> is ANSI.
+
+No supporting OS subroutines are required.
+*/
+
+#include <stdlib.h>
+
+int
+_DEFUN (abs, (i), int i)
+{
+ return (i < 0) ? -i : i;
+}
diff --git a/newlib/libc/stdlib/assert.c b/newlib/libc/stdlib/assert.c
new file mode 100644
index 00000000000..5b08bbaf429
--- /dev/null
+++ b/newlib/libc/stdlib/assert.c
@@ -0,0 +1,62 @@
+/*
+FUNCTION
+<<assert>>---Macro for Debugging Diagnostics
+
+INDEX
+ assert
+
+ANSI_SYNOPSIS
+ #include <assert.h>
+ void assert(int <[expression]>);
+
+TRAD_SYNOPSIS
+ #include <assert.h>
+ assert(<[expression]>)
+ int <[expression]>;
+
+DESCRIPTION
+ Use this macro to embed debuggging diagnostic statements in
+ your programs. The argument <[expression]> should be an
+ expression which evaluates to true (nonzero) when your program
+ is working as you intended.
+
+ When <[expression]> evaluates to false (zero), <<assert>>
+ calls <<abort>>, after first printing a message showing what
+ failed and where:
+
+. Assertion failed: <[expression]>, file <[filename]>, line <[lineno]>
+
+ The macro is defined to permit you to turn off all uses of
+ <<assert>> at compile time by defining <<NDEBUG>> as a
+ preprocessor variable. If you do this, the <<assert>> macro
+ expands to
+
+. (void(0))
+
+RETURNS
+ <<assert>> does not return a value.
+
+PORTABILITY
+ The <<assert>> macro is required by ANSI, as is the behavior
+ when <<NDEBUG>> is defined.
+
+Supporting OS subroutines required (only if enabled): <<close>>, <<fstat>>,
+<<getpid>>, <<isatty>>, <<kill>>, <<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#include <assert.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+void
+_DEFUN (__assert, (file, line, failedexpr),
+ const char *file _AND
+ int line _AND
+ const char *failedexpr)
+{
+ (void)fiprintf(stderr,
+ "assertion \"%s\" failed: file \"%s\", line %d\n",
+ failedexpr, file, line);
+ abort();
+ /* NOTREACHED */
+}
diff --git a/newlib/libc/stdlib/atexit.c b/newlib/libc/stdlib/atexit.c
new file mode 100644
index 00000000000..88cdd234cd8
--- /dev/null
+++ b/newlib/libc/stdlib/atexit.c
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 1990 Regents of the University of California.
+ * All rights reserved.
+ *
+ * %sccs.include.redist.c%
+ */
+
+/*
+FUNCTION
+<<atexit>>---request execution of functions at program exit
+
+INDEX
+ atexit
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ int atexit (void (*<[function]>)(void));
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ int atexit ((<[function]>)
+ void (*<[function]>)();
+
+DESCRIPTION
+You can use <<atexit>> to enroll functions in a list of functions that
+will be called when your program terminates normally. The argument is
+a pointer to a user-defined function (which must not require arguments and
+must not return a result).
+
+The functions are kept in a LIFO stack; that is, the last function
+enrolled by <<atexit>> will be the first to execute when your program
+exits.
+
+There is no built-in limit to the number of functions you can enroll
+in this list; however, after every group of 32 functions is enrolled,
+<<atexit>> will call <<malloc>> to get space for the next part of the
+list. The initial list of 32 functions is statically allocated, so
+you can always count on at least that many slots available.
+
+RETURNS
+<<atexit>> returns <<0>> if it succeeds in enrolling your function,
+<<-1>> if it fails (possible only if no space was available for
+<<malloc>> to extend the list of functions).
+
+PORTABILITY
+<<atexit>> is required by the ANSI standard, which also specifies that
+implementations must support enrolling at least 32 functions.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#include <stddef.h>
+#include <stdlib.h>
+#include <reent.h>
+
+/*
+ * Register a function to be performed at exit.
+ */
+
+int
+_DEFUN (atexit,
+ (fn),
+ _VOID _EXFUN ((*fn), (_VOID)))
+{
+ register struct _atexit *p;
+
+ if ((p = _REENT->_atexit) == NULL)
+ _REENT->_atexit = p = &_REENT->_atexit0;
+ if (p->_ind >= _ATEXIT_SIZE)
+ {
+ if ((p = (struct _atexit *) malloc (sizeof *p)) == NULL)
+ return -1;
+ p->_ind = 0;
+ p->_next = _REENT->_atexit;
+ _REENT->_atexit = p;
+ }
+ p->_fns[p->_ind++] = fn;
+ return 0;
+}
diff --git a/newlib/libc/stdlib/atexit.h b/newlib/libc/stdlib/atexit.h
new file mode 100644
index 00000000000..44a92812626
--- /dev/null
+++ b/newlib/libc/stdlib/atexit.h
@@ -0,0 +1,13 @@
+/*
+ * %G% (UofMD) %D%
+ */
+
+#define ATEXIT_SIZE 32 /* must be at least 32 to guarantee ANSI conformance */
+
+struct atexit {
+ struct atexit *next; /* next in list */
+ int ind; /* next index in this table */
+ void (*fns[ATEXIT_SIZE])(); /* the table itself */
+};
+
+struct atexit *__atexit; /* points to head of LIFO stack */
diff --git a/newlib/libc/stdlib/atof.c b/newlib/libc/stdlib/atof.c
new file mode 100644
index 00000000000..cf4abdb7142
--- /dev/null
+++ b/newlib/libc/stdlib/atof.c
@@ -0,0 +1,72 @@
+/*
+FUNCTION
+ <<atof>>, <<atoff>>---string to double or float
+
+INDEX
+ atof
+INDEX
+ atoff
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ double atof(const char *<[s]>);
+ float atoff(const char *<[s]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ double atof(<[s]>)
+ char *<[s]>;
+
+ float atoff(<[s]>)
+ char *<[s]>;
+
+DESCRIPTION
+<<atof>> converts the initial portion of a string to a <<double>>.
+<<atoff>> converts the initial portion of a string to a <<float>>.
+
+The functions parse the character string <[s]>,
+locating a substring which can be converted to a floating point
+value. The substring must match the format:
+. [+|-]<[digits]>[.][<[digits]>][(e|E)[+|-]<[digits]>]
+The substring converted is the longest initial
+fragment of <[s]> that has the expected format, beginning with
+the first non-whitespace character. The substring
+is empty if <<str>> is empty, consists entirely
+of whitespace, or if the first non-whitespace character is
+something other than <<+>>, <<->>, <<.>>, or a digit.
+
+<<atof(<[s]>)>> is implemented as <<strtod(<[s]>, NULL)>>.
+<<atoff(<[s]>)>> is implemented as <<strtodf(<[s]>, NULL)>>.
+
+RETURNS
+<<atof>> returns the converted substring value, if any, as a
+<<double>>; or <<0.0>>, if no conversion could be performed.
+If the correct value is out of the range of representable values, plus
+or minus <<HUGE_VAL>> is returned, and <<ERANGE>> is stored in
+<<errno>>.
+If the correct value would cause underflow, <<0.0>> is returned
+and <<ERANGE>> is stored in <<errno>>.
+
+<<atoff>> obeys the same rules as <<atof>>, except that it
+returns a <<float>>.
+
+PORTABILITY
+<<atof>> is ANSI C. <<atof>>, <<atoi>>, and <<atol>> are subsumed by <<strod>>
+and <<strol>>, but are used extensively in existing code. These functions are
+less reliable, but may be faster if the argument is verified to be in a valid
+range.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+
+#include <stdlib.h>
+#include <_ansi.h>
+
+double
+_DEFUN (atof, (s),
+ _CONST char *s)
+{
+ return strtod (s, NULL);
+}
diff --git a/newlib/libc/stdlib/atoff.c b/newlib/libc/stdlib/atoff.c
new file mode 100644
index 00000000000..9c682c47a28
--- /dev/null
+++ b/newlib/libc/stdlib/atoff.c
@@ -0,0 +1,9 @@
+#include <stdlib.h>
+#include <_ansi.h>
+
+float
+_DEFUN (atoff, (s),
+ _CONST char *s)
+{
+ return strtodf (s, NULL);
+}
diff --git a/newlib/libc/stdlib/atoi.c b/newlib/libc/stdlib/atoi.c
new file mode 100644
index 00000000000..c7792a454f8
--- /dev/null
+++ b/newlib/libc/stdlib/atoi.c
@@ -0,0 +1,54 @@
+/*
+FUNCTION
+ <<atoi>>, <<atol>>---string to integer
+
+INDEX
+ atoi
+INDEX
+ atol
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ int atoi(const char *<[s]>);
+ long atol(const char *<[s]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ int atoi(<[s]>)
+ char *<[s]>;
+
+ long atol(<[s]>)
+ char *<[s]>;
+
+
+DESCRIPTION
+ <<atoi>> converts the initial portion of a string to an <<int>>.
+ <<atol>> converts the initial portion of a string to a <<long>>.
+
+ <<atoi(s)>> is implemented as <<(int)strtol(s, NULL, 10).>>
+ <<atol(s)>> is implemented as <<strtol(s, NULL, 10).>>
+
+RETURNS
+ The functions return the converted value, if any. If no conversion was
+ made, <<0>> is returned.
+
+PORTABILITY
+<<atoi>> is ANSI.
+
+No supporting OS subroutines are required.
+*/
+
+/*
+ * Andy Wilson, 2-Oct-89.
+ */
+
+#include <stdlib.h>
+#include <_ansi.h>
+
+int
+_DEFUN (atoi, (s),
+ _CONST char *s)
+{
+ return (int) strtol (s, NULL, 10);
+}
+
diff --git a/newlib/libc/stdlib/atol.c b/newlib/libc/stdlib/atol.c
new file mode 100644
index 00000000000..6b059a8d2ee
--- /dev/null
+++ b/newlib/libc/stdlib/atol.c
@@ -0,0 +1,12 @@
+/*
+ * Andy Wilson, 2-Oct-89.
+ */
+
+#include <stdlib.h>
+#include <_ansi.h>
+
+long
+_DEFUN (atol, (s), _CONST char *s)
+{
+ return strtol (s, NULL, 10);
+}
diff --git a/newlib/libc/stdlib/bsearch.c b/newlib/libc/stdlib/bsearch.c
new file mode 100644
index 00000000000..b9539aa3bf1
--- /dev/null
+++ b/newlib/libc/stdlib/bsearch.c
@@ -0,0 +1,100 @@
+/*
+ * bsearch.c
+ * Original Author: G. Haley
+ * Rewritten by: G. Noer
+ *
+ * Searches an array of nmemb members, the initial member of which is pointed
+ * to by base, for a member that matches the object pointed to by key. The
+ * contents of the array shall be in ascending order according to a comparison
+ * function pointed to by compar. The function shall return an integer less
+ * than, equal to or greater than zero if the first argument is considered to be
+ * respectively less than, equal to or greater than the second. Returns a
+ * pointer to the matching member of the array, or a null pointer if no match
+ * is found.
+ */
+
+/*
+FUNCTION
+<<bsearch>>---binary search
+
+INDEX
+ bsearch
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ void *bsearch(const void *<[key]>, const void *<[base]>,
+ size_t <[nmemb]>, size_t <[size]>,
+ int (*<[compar]>)(const void *, const void *));
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ char *bsearch(<[key]>, <[base]>, <[nmemb]>, <[size]>, <[compar]>)
+ char *<[key]>;
+ char *<[base]>;
+ size_t <[nmemb]>, <[size]>;
+ int (*<[compar]>)();
+
+DESCRIPTION
+<<bsearch>> searches an array beginning at <[base]> for any element
+that matches <[key]>, using binary search. <[nmemb]> is the element
+count of the array; <[size]> is the size of each element.
+
+The array must be sorted in ascending order with respect to the
+comparison function <[compar]> (which you supply as the last argument of
+<<bsearch>>).
+
+You must define the comparison function <<(*<[compar]>)>> to have two
+arguments; its result must be negative if the first argument is
+less than the second, zero if the two arguments match, and
+positive if the first argument is greater than the second (where
+``less than'' and ``greater than'' refer to whatever arbitrary
+ordering is appropriate).
+
+RETURNS
+Returns a pointer to an element of <[array]> that matches <[key]>. If
+more than one matching element is available, the result may point to
+any of them.
+
+PORTABILITY
+<<bsearch>> is ANSI.
+
+No supporting OS subroutines are required.
+*/
+
+#include <stdlib.h>
+
+_PTR
+_DEFUN (bsearch, (key, base, nmemb, size, compar),
+ _CONST _PTR key _AND
+ _CONST _PTR base _AND
+ size_t nmemb _AND
+ size_t size _AND
+ int _EXFUN ((*compar), (const _PTR, const _PTR)))
+{
+ _PTR current;
+ size_t lower = 0;
+ size_t upper = nmemb;
+ size_t index;
+ int result;
+
+ if (nmemb == 0 || size == 0)
+ return NULL;
+
+ while (lower < upper)
+ {
+ index = (lower + upper) / 2;
+ current = (_PTR) (((char *) base) + (index * size));
+
+ result = compar (key, current);
+
+ if (result < 0)
+ upper = index;
+ else if (result > 0)
+ lower = index + 1;
+ else
+ return current;
+ }
+
+ return NULL;
+}
+
diff --git a/newlib/libc/stdlib/calloc.c b/newlib/libc/stdlib/calloc.c
new file mode 100644
index 00000000000..af9a4adc109
--- /dev/null
+++ b/newlib/libc/stdlib/calloc.c
@@ -0,0 +1,69 @@
+#ifdef MALLOC_PROVIDED
+int _dummy_calloc = 1;
+#else
+/*
+FUNCTION
+<<calloc>>---allocate space for arrays
+
+INDEX
+ calloc
+
+INDEX
+ _calloc_r
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ void *calloc(size_t <[n]>, size_t <[s]>);
+ void *calloc_r(void *<[reent]>, size_t <n>, <size_t> <[s]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ char *calloc(<[n]>, <[s]>)
+ size_t <[n]>, <[s]>;
+
+ char *_calloc_r(<[reent]>, <[n]>, <[s]>)
+ char *<[reent]>;
+ size_t <[n]>;
+ size_t <[s]>;
+
+
+
+DESCRIPTION
+Use <<calloc>> to request a block of memory sufficient to hold an
+array of <[n]> elements, each of which has size <[s]>.
+
+The memory allocated by <<calloc>> comes out of the same memory pool
+used by <<malloc>>, but the memory block is initialized to all zero
+bytes. (To avoid the overhead of initializing the space, use
+<<malloc>> instead.)
+
+The alternate function <<_calloc_r>> is reentrant.
+The extra argument <[reent]> is a pointer to a reentrancy structure.
+
+RETURNS
+If successful, a pointer to the newly allocated space.
+
+If unsuccessful, <<NULL>>.
+
+PORTABILITY
+<<calloc>> is ANSI.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#include <string.h>
+#include <stdlib.h>
+
+#ifndef _REENT_ONLY
+
+_PTR
+_DEFUN (calloc, (n, size),
+ size_t n _AND
+ size_t size)
+{
+ return _calloc_r (_REENT, n, size);
+}
+
+#endif
+#endif /* MALLOC_PROVIDED */
diff --git a/newlib/libc/stdlib/div.c b/newlib/libc/stdlib/div.c
new file mode 100644
index 00000000000..2c070dec71c
--- /dev/null
+++ b/newlib/libc/stdlib/div.c
@@ -0,0 +1,132 @@
+/*
+FUNCTION
+<<div>>---divide two integers
+
+INDEX
+ div
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ div_t div(int <[n]>, int <[d]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ div_t div(<[n]>, <[d]>)
+ int <[n]>, <[d]>;
+
+DESCRIPTION
+Divide
+@tex
+$n/d$,
+@end tex
+@ifinfo
+<[n]>/<[d]>,
+@end ifinfo
+returning quotient and remainder as two integers in a structure <<div_t>>.
+
+RETURNS
+The result is represented with the structure
+
+. typedef struct
+. {
+. int quot;
+. int rem;
+. } div_t;
+
+where the <<quot>> field represents the quotient, and <<rem>> the
+remainder. For nonzero <[d]>, if `<<<[r]> = div(<[n]>,<[d]>);>>' then
+<[n]> equals `<<<[r]>.rem + <[d]>*<[r]>.quot>>'.
+
+To divide <<long>> rather than <<int>> values, use the similar
+function <<ldiv>>.
+
+PORTABILITY
+<<div>> is ANSI.
+
+No supporting OS subroutines are required.
+*/
+
+/*
+ * Copyright (c) 1990 Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Chris Torek.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <_ansi.h>
+#include <stdlib.h> /* div_t */
+
+div_t
+_DEFUN (div, (num, denom),
+ int num _AND
+ int denom)
+{
+ div_t r;
+
+ r.quot = num / denom;
+ r.rem = num % denom;
+ /*
+ * The ANSI standard says that |r.quot| <= |n/d|, where
+ * n/d is to be computed in infinite precision. In other
+ * words, we should always truncate the quotient towards
+ * 0, never -infinity or +infinity.
+ *
+ * Machine division and remainer may work either way when
+ * one or both of n or d is negative. If only one is
+ * negative and r.quot has been truncated towards -inf,
+ * r.rem will have the same sign as denom and the opposite
+ * sign of num; if both are negative and r.quot has been
+ * truncated towards -inf, r.rem will be positive (will
+ * have the opposite sign of num). These are considered
+ * `wrong'.
+ *
+ * If both are num and denom are positive, r will always
+ * be positive.
+ *
+ * This all boils down to:
+ * if num >= 0, but r.rem < 0, we got the wrong answer.
+ * In that case, to get the right answer, add 1 to r.quot and
+ * subtract denom from r.rem.
+ * if num < 0, but r.rem > 0, we also have the wrong answer.
+ * In this case, to get the right answer, subtract 1 from r.quot and
+ * add denom to r.rem.
+ */
+ if (num >= 0 && r.rem < 0) {
+ ++r.quot;
+ r.rem -= denom;
+ }
+ else if (num < 0 && r.rem > 0) {
+ --r.quot;
+ r.rem += denom;
+ }
+ return (r);
+}
diff --git a/newlib/libc/stdlib/dtoa.c b/newlib/libc/stdlib/dtoa.c
new file mode 100644
index 00000000000..3911f0e7bf5
--- /dev/null
+++ b/newlib/libc/stdlib/dtoa.c
@@ -0,0 +1,854 @@
+/****************************************************************
+ *
+ * The author of this software is David M. Gay.
+ *
+ * Copyright (c) 1991 by AT&T.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose without fee is hereby granted, provided that this entire notice
+ * is included in all copies of any software which is or includes a copy
+ * or modification of this software and in all copies of the supporting
+ * documentation for such software.
+ *
+ * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+ * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
+ * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
+ * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+ *
+ ***************************************************************/
+
+/* Please send bug reports to
+ David M. Gay
+ AT&T Bell Laboratories, Room 2C-463
+ 600 Mountain Avenue
+ Murray Hill, NJ 07974-2070
+ U.S.A.
+ dmg@research.att.com or research!dmg
+ */
+
+#include <_ansi.h>
+#include <stdlib.h>
+#include <reent.h>
+#include <string.h>
+#include "mprec.h"
+
+static int
+_DEFUN (quorem,
+ (b, S),
+ _Bigint * b _AND _Bigint * S)
+{
+ int n;
+ __Long borrow, y;
+ __ULong carry, q, ys;
+ __ULong *bx, *bxe, *sx, *sxe;
+#ifdef Pack_32
+ __Long z;
+ __ULong si, zs;
+#endif
+
+ n = S->_wds;
+#ifdef DEBUG
+ /*debug*/ if (b->_wds > n)
+ /*debug*/ Bug ("oversize b in quorem");
+#endif
+ if (b->_wds < n)
+ return 0;
+ sx = S->_x;
+ sxe = sx + --n;
+ bx = b->_x;
+ bxe = bx + n;
+ q = *bxe / (*sxe + 1); /* ensure q <= true quotient */
+#ifdef DEBUG
+ /*debug*/ if (q > 9)
+ /*debug*/ Bug ("oversized quotient in quorem");
+#endif
+ if (q)
+ {
+ borrow = 0;
+ carry = 0;
+ do
+ {
+#ifdef Pack_32
+ si = *sx++;
+ ys = (si & 0xffff) * q + carry;
+ zs = (si >> 16) * q + (ys >> 16);
+ carry = zs >> 16;
+ y = (*bx & 0xffff) - (ys & 0xffff) + borrow;
+ borrow = y >> 16;
+ Sign_Extend (borrow, y);
+ z = (*bx >> 16) - (zs & 0xffff) + borrow;
+ borrow = z >> 16;
+ Sign_Extend (borrow, z);
+ Storeinc (bx, z, y);
+#else
+ ys = *sx++ * q + carry;
+ carry = ys >> 16;
+ y = *bx - (ys & 0xffff) + borrow;
+ borrow = y >> 16;
+ Sign_Extend (borrow, y);
+ *bx++ = y & 0xffff;
+#endif
+ }
+ while (sx <= sxe);
+ if (!*bxe)
+ {
+ bx = b->_x;
+ while (--bxe > bx && !*bxe)
+ --n;
+ b->_wds = n;
+ }
+ }
+ if (cmp (b, S) >= 0)
+ {
+ q++;
+ borrow = 0;
+ carry = 0;
+ bx = b->_x;
+ sx = S->_x;
+ do
+ {
+#ifdef Pack_32
+ si = *sx++;
+ ys = (si & 0xffff) + carry;
+ zs = (si >> 16) + (ys >> 16);
+ carry = zs >> 16;
+ y = (*bx & 0xffff) - (ys & 0xffff) + borrow;
+ borrow = y >> 16;
+ Sign_Extend (borrow, y);
+ z = (*bx >> 16) - (zs & 0xffff) + borrow;
+ borrow = z >> 16;
+ Sign_Extend (borrow, z);
+ Storeinc (bx, z, y);
+#else
+ ys = *sx++ + carry;
+ carry = ys >> 16;
+ y = *bx - (ys & 0xffff) + borrow;
+ borrow = y >> 16;
+ Sign_Extend (borrow, y);
+ *bx++ = y & 0xffff;
+#endif
+ }
+ while (sx <= sxe);
+ bx = b->_x;
+ bxe = bx + n;
+ if (!*bxe)
+ {
+ while (--bxe > bx && !*bxe)
+ --n;
+ b->_wds = n;
+ }
+ }
+ return q;
+}
+
+/* dtoa for IEEE arithmetic (dmg): convert double to ASCII string.
+ *
+ * Inspired by "How to Print Floating-Point Numbers Accurately" by
+ * Guy L. Steele, Jr. and Jon L. White [Proc. ACM SIGPLAN '90, pp. 92-101].
+ *
+ * Modifications:
+ * 1. Rather than iterating, we use a simple numeric overestimate
+ * to determine k = floor(log10(d)). We scale relevant
+ * quantities using O(log2(k)) rather than O(k) multiplications.
+ * 2. For some modes > 2 (corresponding to ecvt and fcvt), we don't
+ * try to generate digits strictly left to right. Instead, we
+ * compute with fewer bits and propagate the carry if necessary
+ * when rounding the final digit up. This is often faster.
+ * 3. Under the assumption that input will be rounded nearest,
+ * mode 0 renders 1e23 as 1e23 rather than 9.999999999999999e22.
+ * That is, we allow equality in stopping tests when the
+ * round-nearest rule will give the same floating-point value
+ * as would satisfaction of the stopping test with strict
+ * inequality.
+ * 4. We remove common factors of powers of 2 from relevant
+ * quantities.
+ * 5. When converting floating-point integers less than 1e16,
+ * we use floating-point arithmetic rather than resorting
+ * to multiple-precision integers.
+ * 6. When asked to produce fewer than 15 digits, we first try
+ * to get by with floating-point arithmetic; we resort to
+ * multiple-precision integer arithmetic only if we cannot
+ * guarantee that the floating-point calculation has given
+ * the correctly rounded result. For k requested digits and
+ * "uniformly" distributed input, the probability is
+ * something like 10^(k-15) that we must resort to the long
+ * calculation.
+ */
+
+
+char *
+_DEFUN (_dtoa_r,
+ (ptr, _d, mode, ndigits, decpt, sign, rve),
+ struct _reent *ptr _AND
+ double _d _AND
+ int mode _AND
+ int ndigits _AND
+ int *decpt _AND
+ int *sign _AND
+ char **rve)
+{
+ /* Arguments ndigits, decpt, sign are similar to those
+ of ecvt and fcvt; trailing zeros are suppressed from
+ the returned string. If not null, *rve is set to point
+ to the end of the return value. If d is +-Infinity or NaN,
+ then *decpt is set to 9999.
+
+ mode:
+ 0 ==> shortest string that yields d when read in
+ and rounded to nearest.
+ 1 ==> like 0, but with Steele & White stopping rule;
+ e.g. with IEEE P754 arithmetic , mode 0 gives
+ 1e23 whereas mode 1 gives 9.999999999999999e22.
+ 2 ==> max(1,ndigits) significant digits. This gives a
+ return value similar to that of ecvt, except
+ that trailing zeros are suppressed.
+ 3 ==> through ndigits past the decimal point. This
+ gives a return value similar to that from fcvt,
+ except that trailing zeros are suppressed, and
+ ndigits can be negative.
+ 4-9 should give the same return values as 2-3, i.e.,
+ 4 <= mode <= 9 ==> same return as mode
+ 2 + (mode & 1). These modes are mainly for
+ debugging; often they run slower but sometimes
+ faster than modes 2-3.
+ 4,5,8,9 ==> left-to-right digit generation.
+ 6-9 ==> don't try fast floating-point estimate
+ (if applicable).
+
+ Values of mode other than 0-9 are treated as mode 0.
+
+ Sufficient space is allocated to the return value
+ to hold the suppressed trailing zeros.
+ */
+
+ int bbits, b2, b5, be, dig, i, ieps, ilim, ilim0, ilim1, j, j1, k, k0,
+ k_check, leftright, m2, m5, s2, s5, spec_case, try_quick;
+ union double_union d, d2, eps;
+ __Long L;
+#ifndef Sudden_Underflow
+ int denorm;
+ __ULong x;
+#endif
+ _Bigint *b, *b1, *delta, *mlo, *mhi, *S;
+ double ds;
+ char *s, *s0;
+
+ d.d = _d;
+
+ if (ptr->_result)
+ {
+ ptr->_result->_k = ptr->_result_k;
+ ptr->_result->_maxwds = 1 << ptr->_result_k;
+ Bfree (ptr, ptr->_result);
+ ptr->_result = 0;
+ }
+
+ if (word0 (d) & Sign_bit)
+ {
+ /* set sign for everything, including 0's and NaNs */
+ *sign = 1;
+ word0 (d) &= ~Sign_bit; /* clear sign bit */
+ }
+ else
+ *sign = 0;
+
+#if defined(IEEE_Arith) + defined(VAX)
+#ifdef IEEE_Arith
+ if ((word0 (d) & Exp_mask) == Exp_mask)
+#else
+ if (word0 (d) == 0x8000)
+#endif
+ {
+ /* Infinity or NaN */
+ *decpt = 9999;
+ s =
+#ifdef IEEE_Arith
+ !word1 (d) && !(word0 (d) & 0xfffff) ? "Infinity" :
+#endif
+ "NaN";
+ if (rve)
+ *rve =
+#ifdef IEEE_Arith
+ s[3] ? s + 8 :
+#endif
+ s + 3;
+ return s;
+ }
+#endif
+#ifdef IBM
+ d.d += 0; /* normalize */
+#endif
+ if (!d.d)
+ {
+ *decpt = 1;
+ s = "0";
+ if (rve)
+ *rve = s + 1;
+ return s;
+ }
+
+ b = d2b (ptr, d.d, &be, &bbits);
+#ifdef Sudden_Underflow
+ i = (int) (word0 (d) >> Exp_shift1 & (Exp_mask >> Exp_shift1));
+#else
+ if (i = (int) (word0 (d) >> Exp_shift1 & (Exp_mask >> Exp_shift1)))
+ {
+#endif
+ d2.d = d.d;
+ word0 (d2) &= Frac_mask1;
+ word0 (d2) |= Exp_11;
+#ifdef IBM
+ if (j = 11 - hi0bits (word0 (d2) & Frac_mask))
+ d2.d /= 1 << j;
+#endif
+
+ /* log(x) ~=~ log(1.5) + (x-1.5)/1.5
+ * log10(x) = log(x) / log(10)
+ * ~=~ log(1.5)/log(10) + (x-1.5)/(1.5*log(10))
+ * log10(d) = (i-Bias)*log(2)/log(10) + log10(d2)
+ *
+ * This suggests computing an approximation k to log10(d) by
+ *
+ * k = (i - Bias)*0.301029995663981
+ * + ( (d2-1.5)*0.289529654602168 + 0.176091259055681 );
+ *
+ * We want k to be too large rather than too small.
+ * The error in the first-order Taylor series approximation
+ * is in our favor, so we just round up the constant enough
+ * to compensate for any error in the multiplication of
+ * (i - Bias) by 0.301029995663981; since |i - Bias| <= 1077,
+ * and 1077 * 0.30103 * 2^-52 ~=~ 7.2e-14,
+ * adding 1e-13 to the constant term more than suffices.
+ * Hence we adjust the constant term to 0.1760912590558.
+ * (We could get a more accurate k by invoking log10,
+ * but this is probably not worthwhile.)
+ */
+
+ i -= Bias;
+#ifdef IBM
+ i <<= 2;
+ i += j;
+#endif
+#ifndef Sudden_Underflow
+ denorm = 0;
+ }
+ else
+ {
+ /* d is denormalized */
+
+ i = bbits + be + (Bias + (P - 1) - 1);
+ x = i > 32 ? word0 (d) << 64 - i | word1 (d) >> i - 32
+ : word1 (d) << 32 - i;
+ d2.d = x;
+ word0 (d2) -= 31 * Exp_msk1; /* adjust exponent */
+ i -= (Bias + (P - 1) - 1) + 1;
+ denorm = 1;
+ }
+#endif
+ ds = (d2.d - 1.5) * 0.289529654602168 + 0.1760912590558 + i * 0.301029995663981;
+ k = (int) ds;
+ if (ds < 0. && ds != k)
+ k--; /* want k = floor(ds) */
+ k_check = 1;
+ if (k >= 0 && k <= Ten_pmax)
+ {
+ if (d.d < tens[k])
+ k--;
+ k_check = 0;
+ }
+ j = bbits - i - 1;
+ if (j >= 0)
+ {
+ b2 = 0;
+ s2 = j;
+ }
+ else
+ {
+ b2 = -j;
+ s2 = 0;
+ }
+ if (k >= 0)
+ {
+ b5 = 0;
+ s5 = k;
+ s2 += k;
+ }
+ else
+ {
+ b2 -= k;
+ b5 = -k;
+ s5 = 0;
+ }
+ if (mode < 0 || mode > 9)
+ mode = 0;
+ try_quick = 1;
+ if (mode > 5)
+ {
+ mode -= 4;
+ try_quick = 0;
+ }
+ leftright = 1;
+ switch (mode)
+ {
+ case 0:
+ case 1:
+ ilim = ilim1 = -1;
+ i = 18;
+ ndigits = 0;
+ break;
+ case 2:
+ leftright = 0;
+ /* no break */
+ case 4:
+ if (ndigits <= 0)
+ ndigits = 1;
+ ilim = ilim1 = i = ndigits;
+ break;
+ case 3:
+ leftright = 0;
+ /* no break */
+ case 5:
+ i = ndigits + k + 1;
+ ilim = i;
+ ilim1 = i - 1;
+ if (i <= 0)
+ i = 1;
+ }
+ j = sizeof (__ULong);
+ for (ptr->_result_k = 0; sizeof (_Bigint) - sizeof (__ULong) + j <= i;
+ j <<= 1)
+ ptr->_result_k++;
+ ptr->_result = Balloc (ptr, ptr->_result_k);
+ s = s0 = (char *) ptr->_result;
+
+ if (ilim >= 0 && ilim <= Quick_max && try_quick)
+ {
+ /* Try to get by with floating-point arithmetic. */
+
+ i = 0;
+ d2.d = d.d;
+ k0 = k;
+ ilim0 = ilim;
+ ieps = 2; /* conservative */
+ if (k > 0)
+ {
+ ds = tens[k & 0xf];
+ j = k >> 4;
+ if (j & Bletch)
+ {
+ /* prevent overflows */
+ j &= Bletch - 1;
+ d.d /= bigtens[n_bigtens - 1];
+ ieps++;
+ }
+ for (; j; j >>= 1, i++)
+ if (j & 1)
+ {
+ ieps++;
+ ds *= bigtens[i];
+ }
+ d.d /= ds;
+ }
+ else if (j1 = -k)
+ {
+ d.d *= tens[j1 & 0xf];
+ for (j = j1 >> 4; j; j >>= 1, i++)
+ if (j & 1)
+ {
+ ieps++;
+ d.d *= bigtens[i];
+ }
+ }
+ if (k_check && d.d < 1. && ilim > 0)
+ {
+ if (ilim1 <= 0)
+ goto fast_failed;
+ ilim = ilim1;
+ k--;
+ d.d *= 10.;
+ ieps++;
+ }
+ eps.d = ieps * d.d + 7.;
+ word0 (eps) -= (P - 1) * Exp_msk1;
+ if (ilim == 0)
+ {
+ S = mhi = 0;
+ d.d -= 5.;
+ if (d.d > eps.d)
+ goto one_digit;
+ if (d.d < -eps.d)
+ goto no_digits;
+ goto fast_failed;
+ }
+#ifndef No_leftright
+ if (leftright)
+ {
+ /* Use Steele & White method of only
+ * generating digits needed.
+ */
+ eps.d = 0.5 / tens[ilim - 1] - eps.d;
+ for (i = 0;;)
+ {
+ L = d.d;
+ d.d -= L;
+ *s++ = '0' + (int) L;
+ if (d.d < eps.d)
+ goto ret1;
+ if (1. - d.d < eps.d)
+ goto bump_up;
+ if (++i >= ilim)
+ break;
+ eps.d *= 10.;
+ d.d *= 10.;
+ }
+ }
+ else
+ {
+#endif
+ /* Generate ilim digits, then fix them up. */
+ eps.d *= tens[ilim - 1];
+ for (i = 1;; i++, d.d *= 10.)
+ {
+ L = d.d;
+ d.d -= L;
+ *s++ = '0' + (int) L;
+ if (i == ilim)
+ {
+ if (d.d > 0.5 + eps.d)
+ goto bump_up;
+ else if (d.d < 0.5 - eps.d)
+ {
+ while (*--s == '0');
+ s++;
+ goto ret1;
+ }
+ break;
+ }
+ }
+#ifndef No_leftright
+ }
+#endif
+ fast_failed:
+ s = s0;
+ d.d = d2.d;
+ k = k0;
+ ilim = ilim0;
+ }
+
+ /* Do we have a "small" integer? */
+
+ if (be >= 0 && k <= Int_max)
+ {
+ /* Yes. */
+ ds = tens[k];
+ if (ndigits < 0 && ilim <= 0)
+ {
+ S = mhi = 0;
+ if (ilim < 0 || d.d <= 5 * ds)
+ goto no_digits;
+ goto one_digit;
+ }
+ for (i = 1;; i++)
+ {
+ L = d.d / ds;
+ d.d -= L * ds;
+#ifdef Check_FLT_ROUNDS
+ /* If FLT_ROUNDS == 2, L will usually be high by 1 */
+ if (d.d < 0)
+ {
+ L--;
+ d.d += ds;
+ }
+#endif
+ *s++ = '0' + (int) L;
+ if (i == ilim)
+ {
+ d.d += d.d;
+ if (d.d > ds || d.d == ds && L & 1)
+ {
+ bump_up:
+ while (*--s == '9')
+ if (s == s0)
+ {
+ k++;
+ *s = '0';
+ break;
+ }
+ ++*s++;
+ }
+ break;
+ }
+ if (!(d.d *= 10.))
+ break;
+ }
+ goto ret1;
+ }
+
+ m2 = b2;
+ m5 = b5;
+ mhi = mlo = 0;
+ if (leftright)
+ {
+ if (mode < 2)
+ {
+ i =
+#ifndef Sudden_Underflow
+ denorm ? be + (Bias + (P - 1) - 1 + 1) :
+#endif
+#ifdef IBM
+ 1 + 4 * P - 3 - bbits + ((bbits + be - 1) & 3);
+#else
+ 1 + P - bbits;
+#endif
+ }
+ else
+ {
+ j = ilim - 1;
+ if (m5 >= j)
+ m5 -= j;
+ else
+ {
+ s5 += j -= m5;
+ b5 += j;
+ m5 = 0;
+ }
+ if ((i = ilim) < 0)
+ {
+ m2 -= i;
+ i = 0;
+ }
+ }
+ b2 += i;
+ s2 += i;
+ mhi = i2b (ptr, 1);
+ }
+ if (m2 > 0 && s2 > 0)
+ {
+ i = m2 < s2 ? m2 : s2;
+ b2 -= i;
+ m2 -= i;
+ s2 -= i;
+ }
+ if (b5 > 0)
+ {
+ if (leftright)
+ {
+ if (m5 > 0)
+ {
+ mhi = pow5mult (ptr, mhi, m5);
+ b1 = mult (ptr, mhi, b);
+ Bfree (ptr, b);
+ b = b1;
+ }
+ if (j = b5 - m5)
+ b = pow5mult (ptr, b, j);
+ }
+ else
+ b = pow5mult (ptr, b, b5);
+ }
+ S = i2b (ptr, 1);
+ if (s5 > 0)
+ S = pow5mult (ptr, S, s5);
+
+ /* Check for special case that d is a normalized power of 2. */
+
+ if (mode < 2)
+ {
+ if (!word1 (d) && !(word0 (d) & Bndry_mask)
+#ifndef Sudden_Underflow
+ && word0 (d) & Exp_mask
+#endif
+ )
+ {
+ /* The special case */
+ b2 += Log2P;
+ s2 += Log2P;
+ spec_case = 1;
+ }
+ else
+ spec_case = 0;
+ }
+
+ /* Arrange for convenient computation of quotients:
+ * shift left if necessary so divisor has 4 leading 0 bits.
+ *
+ * Perhaps we should just compute leading 28 bits of S once
+ * and for all and pass them and a shift to quorem, so it
+ * can do shifts and ors to compute the numerator for q.
+ */
+
+#ifdef Pack_32
+ if (i = ((s5 ? 32 - hi0bits (S->_x[S->_wds - 1]) : 1) + s2) & 0x1f)
+ i = 32 - i;
+#else
+ if (i = ((s5 ? 32 - hi0bits (S->_x[S->_wds - 1]) : 1) + s2) & 0xf)
+ i = 16 - i;
+#endif
+ if (i > 4)
+ {
+ i -= 4;
+ b2 += i;
+ m2 += i;
+ s2 += i;
+ }
+ else if (i < 4)
+ {
+ i += 28;
+ b2 += i;
+ m2 += i;
+ s2 += i;
+ }
+ if (b2 > 0)
+ b = lshift (ptr, b, b2);
+ if (s2 > 0)
+ S = lshift (ptr, S, s2);
+ if (k_check)
+ {
+ if (cmp (b, S) < 0)
+ {
+ k--;
+ b = multadd (ptr, b, 10, 0); /* we botched the k estimate */
+ if (leftright)
+ mhi = multadd (ptr, mhi, 10, 0);
+ ilim = ilim1;
+ }
+ }
+ if (ilim <= 0 && mode > 2)
+ {
+ if (ilim < 0 || cmp (b, S = multadd (ptr, S, 5, 0)) <= 0)
+ {
+ /* no digits, fcvt style */
+ no_digits:
+ k = -1 - ndigits;
+ goto ret;
+ }
+ one_digit:
+ *s++ = '1';
+ k++;
+ goto ret;
+ }
+ if (leftright)
+ {
+ if (m2 > 0)
+ mhi = lshift (ptr, mhi, m2);
+
+ /* Compute mlo -- check for special case
+ * that d is a normalized power of 2.
+ */
+
+ mlo = mhi;
+ if (spec_case)
+ {
+ mhi = Balloc (ptr, mhi->_k);
+ Bcopy (mhi, mlo);
+ mhi = lshift (ptr, mhi, Log2P);
+ }
+
+ for (i = 1;; i++)
+ {
+ dig = quorem (b, S) + '0';
+ /* Do we yet have the shortest decimal string
+ * that will round to d?
+ */
+ j = cmp (b, mlo);
+ delta = diff (ptr, S, mhi);
+ j1 = delta->_sign ? 1 : cmp (b, delta);
+ Bfree (ptr, delta);
+#ifndef ROUND_BIASED
+ if (j1 == 0 && !mode && !(word1 (d) & 1))
+ {
+ if (dig == '9')
+ goto round_9_up;
+ if (j > 0)
+ dig++;
+ *s++ = dig;
+ goto ret;
+ }
+#endif
+ if (j < 0 || j == 0 && !mode
+#ifndef ROUND_BIASED
+ && !(word1 (d) & 1)
+#endif
+ )
+ {
+ if (j1 > 0)
+ {
+ b = lshift (ptr, b, 1);
+ j1 = cmp (b, S);
+ if ((j1 > 0 || j1 == 0 && dig & 1)
+ && dig++ == '9')
+ goto round_9_up;
+ }
+ *s++ = dig;
+ goto ret;
+ }
+ if (j1 > 0)
+ {
+ if (dig == '9')
+ { /* possible if i == 1 */
+ round_9_up:
+ *s++ = '9';
+ goto roundoff;
+ }
+ *s++ = dig + 1;
+ goto ret;
+ }
+ *s++ = dig;
+ if (i == ilim)
+ break;
+ b = multadd (ptr, b, 10, 0);
+ if (mlo == mhi)
+ mlo = mhi = multadd (ptr, mhi, 10, 0);
+ else
+ {
+ mlo = multadd (ptr, mlo, 10, 0);
+ mhi = multadd (ptr, mhi, 10, 0);
+ }
+ }
+ }
+ else
+ for (i = 1;; i++)
+ {
+ *s++ = dig = quorem (b, S) + '0';
+ if (i >= ilim)
+ break;
+ b = multadd (ptr, b, 10, 0);
+ }
+
+ /* Round off last digit */
+
+ b = lshift (ptr, b, 1);
+ j = cmp (b, S);
+ if (j > 0 || j == 0 && dig & 1)
+ {
+ roundoff:
+ while (*--s == '9')
+ if (s == s0)
+ {
+ k++;
+ *s++ = '1';
+ goto ret;
+ }
+ ++*s++;
+ }
+ else
+ {
+ while (*--s == '0');
+ s++;
+ }
+ret:
+ Bfree (ptr, S);
+ if (mhi)
+ {
+ if (mlo && mlo != mhi)
+ Bfree (ptr, mlo);
+ Bfree (ptr, mhi);
+ }
+ret1:
+ Bfree (ptr, b);
+ *s = 0;
+ *decpt = k + 1;
+ if (rve)
+ *rve = s;
+ return s0;
+}
diff --git a/newlib/libc/stdlib/dtoastub.c b/newlib/libc/stdlib/dtoastub.c
new file mode 100644
index 00000000000..ff2b087f2b3
--- /dev/null
+++ b/newlib/libc/stdlib/dtoastub.c
@@ -0,0 +1,23 @@
+#include <_ansi.h>
+#include <stdlib.h>
+#include <reent.h>
+#include <string.h>
+
+/* Nothing in newlib actually *calls* dtoa, they all call _dtoa_r, so this
+ is a safe way of providing it to the user. */
+#ifndef NO_REENT
+
+char *
+_DEFUN (__dtoa,
+ (d, mode, ndigits, decpt, sign, rve),
+ double d _AND
+ int mode _AND
+ int ndigits _AND
+ int *decpt _AND
+ int *sign _AND
+ char **rve)
+{
+ return _dtoa_r (_REENT, d, mode, ndigits, decpt, sign, rve);
+}
+
+#endif
diff --git a/newlib/libc/stdlib/ecvtbuf.c b/newlib/libc/stdlib/ecvtbuf.c
new file mode 100644
index 00000000000..146a4febbfd
--- /dev/null
+++ b/newlib/libc/stdlib/ecvtbuf.c
@@ -0,0 +1,470 @@
+/*
+FUNCTION
+<<ecvtbuf>>, <<fcvtbuf>>---double or float to string
+
+INDEX
+ ecvtbuf
+INDEX
+ fcvtbuf
+
+ANSI_SYNOPSIS
+ #include <stdio.h>
+
+ char *ecvtbuf(double <[val]>, int <[chars]>, int *<[decpt]>,
+ int *<[sgn]>, char *<[buf]>);
+
+ char *fcvtbuf(double <[val]>, int <[decimals]>, int *<[decpt]>,
+ int *<[sgn]>, char *<[buf]>);
+
+TRAD_SYNOPSIS
+ #include <stdio.h>
+
+ char *ecvtbuf(<[val]>, <[chars]>, <[decpt]>, <[sgn]>, <[buf]>);
+ double <[val]>;
+ int <[chars]>;
+ int *<[decpt]>;
+ int *<[sgn]>;
+ char *<[buf]>;
+
+ char *fcvtbuf(<[val]>, <[decimals]>, <[decpt]>, <[sgn]>, <[buf]>);
+ double <[val]>;
+ int <[decimals]>;
+ int *<[decpt]>;
+ int *<[sgn]>;
+ char *<[buf]>;
+
+DESCRIPTION
+ <<ecvtbuf>> and <<fcvtbuf>> produce (null-terminated) strings
+ of digits representating the <<double>> number <[val]>.
+
+ The only difference between <<ecvtbuf>> and <<fcvtbuf>> is the
+ interpretation of the second argument (<[chars]> or
+ <[decimals]>). For <<ecvtbuf>>, the second argument <[chars]>
+ specifies the total number of characters to write (which is
+ also the number of significant digits in the formatted string,
+ since these two functions write only digits). For <<fcvtbuf>>,
+ the second argument <[decimals]> specifies the number of
+ characters to write after the decimal point; all digits for
+ the integer part of <[val]> are always included.
+
+ Since <<ecvtbuf>> and <<fcvtbuf>> write only digits in the
+ output string, they record the location of the decimal point
+ in <<*<[decpt]>>>, and the sign of the number in <<*<[sgn]>>>.
+ After formatting a number, <<*<[decpt]>>> contains the number
+ of digits to the left of the decimal point. <<*<[sgn]>>>
+ contains <<0>> if the number is positive, and <<1>> if it is
+ negative. For both functions, you supply a pointer <[buf]> to
+ an area of memory to hold the converted string.
+
+RETURNS
+ Both functions return a pointer to <[buf]>, the string
+ containing a character representation of <[val]>.
+
+PORTABILITY
+ Neither function is ANSI C.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#include <_ansi.h>
+#include <stdlib.h>
+#include <string.h>
+#include <reent.h>
+#include "mprec.h"
+#include "local.h"
+
+static void
+_DEFUN (print_f, (ptr, buf, invalue, ndigit, type, dot, mode),
+ struct _reent *ptr _AND
+ char *buf _AND
+ double invalue _AND
+ int ndigit _AND
+ char type _AND
+ int dot _AND
+ int mode)
+{
+ int decpt;
+ int sign;
+ char *p, *start, *end;
+
+ start = p = _dtoa_r (ptr, invalue, mode, ndigit, &decpt, &sign, &end);
+
+ if (decpt == 9999)
+ {
+ strcpy (buf, p);
+ return;
+ }
+ while (*p && decpt > 0)
+ {
+ *buf++ = *p++;
+ decpt--;
+ }
+ /* Even if not in buffer */
+ while (decpt > 0)
+ {
+ *buf++ = '0';
+ decpt--;
+ }
+
+ if (dot || *p)
+ {
+ if (p == start)
+ *buf++ = '0';
+ *buf++ = '.';
+ while (decpt < 0 && ndigit > 0)
+ {
+ *buf++ = '0';
+ decpt++;
+ ndigit--;
+ }
+
+ /* Print rest of stuff */
+ while (*p && ndigit > 0)
+ {
+ *buf++ = *p++;
+ ndigit--;
+ }
+ /* And trailing zeros */
+ while (ndigit > 0)
+ {
+ *buf++ = '0';
+ ndigit--;
+ }
+ }
+ *buf++ = 0;
+}
+
+/* Print number in e format with width chars after.
+
+ TYPE is one of 'e' or 'E'. It may also be one of 'g' or 'G' indicating
+ that _gcvt is calling us and we should remove trailing zeroes.
+
+ WIDTH is the number of digits of precision after the decimal point. */
+
+static void
+_DEFUN (print_e, (ptr, buf, invalue, width, type, dot),
+ struct _reent *ptr _AND
+ char *buf _AND
+ double invalue _AND
+ int width _AND
+ char type _AND
+ int dot)
+{
+ int dp;
+ int sign;
+ char *end;
+ char *p;
+ int decpt;
+ int top;
+ int ndigit = width;
+
+ p = _dtoa_r (ptr, invalue, 2, width + 1, &decpt, &sign, &end);
+
+ if (decpt == 9999)
+ {
+ strcpy (buf, p);
+ return;
+ }
+
+ *buf++ = *p++;
+ if (dot || ndigit != 0)
+ *buf++ = '.';
+
+ while (*p && ndigit > 0)
+ {
+ *buf++ = *p++;
+ ndigit--;
+ }
+
+ /* Add trailing zeroes to fill out to ndigits unless this is 'g' format.
+ Also, convert g/G to e/E. */
+
+ if (type == 'g')
+ type = 'e';
+ else if (type == 'G')
+ type = 'E';
+ else
+ {
+ while (ndigit > 0)
+ {
+ *buf++ = '0';
+ ndigit--;
+ }
+ }
+
+ /* Add the exponent. */
+
+ *buf++ = type;
+ decpt--;
+ if (decpt < 0)
+ {
+ *buf++ = '-';
+ decpt = -decpt;
+ }
+ else
+ {
+ *buf++ = '+';
+ }
+ if (decpt > 99)
+ {
+ int top = decpt / 100;
+ *buf++ = top + '0';
+ decpt -= top * 100;
+ }
+ top = decpt / 10;
+ *buf++ = top + '0';
+ decpt -= top * 10;
+ *buf++ = decpt + '0';
+
+ *buf++ = 0;
+}
+
+#ifndef _REENT_ONLY
+
+/* Undocumented behaviour: when given NULL as a buffer, return a
+ pointer to static space in the rent structure. This is only to
+ support ecvt and fcvt, which aren't ANSI anyway. */
+
+char *
+_DEFUN (fcvtbuf, (invalue, ndigit, decpt, sign, fcvt_buf),
+ double invalue _AND
+ int ndigit _AND
+ int *decpt _AND
+ int *sign _AND
+ char *fcvt_buf)
+{
+ char *save;
+ char *p;
+ char *end;
+ int done = 0;
+
+ if (fcvt_buf == NULL)
+ {
+ if (_REENT->_cvtlen <= ndigit + 35)
+ {
+ if ((fcvt_buf = (char *) _realloc_r (_REENT, _REENT->_cvtbuf,
+ ndigit + 36)) == NULL)
+ return NULL;
+ _REENT->_cvtlen = ndigit + 36;
+ _REENT->_cvtbuf = fcvt_buf;
+ }
+
+ fcvt_buf = _REENT->_cvtbuf ;
+ }
+
+ save = fcvt_buf;
+
+ if (invalue < 1.0 && invalue > -1.0)
+ {
+ p = _dtoa_r (_REENT, invalue, 2, ndigit, decpt, sign, &end);
+ }
+ else
+ {
+ p = _dtoa_r (_REENT, invalue, 3, ndigit, decpt, sign, &end);
+ }
+
+ /* Now copy */
+
+ done = -*decpt;
+ while (p < end)
+ {
+ *fcvt_buf++ = *p++;
+ done++;
+ }
+ /* And unsuppress the trailing zeroes */
+ while (done < ndigit)
+ {
+ *fcvt_buf++ = '0';
+ done++;
+ }
+ *fcvt_buf++ = 0;
+ return save;
+}
+
+char *
+_DEFUN (ecvtbuf, (invalue, ndigit, decpt, sign, fcvt_buf),
+ double invalue _AND
+ int ndigit _AND
+ int *decpt _AND
+ int *sign _AND
+ char *fcvt_buf)
+{
+ char *save;
+ char *p;
+ char *end;
+ int done = 0;
+
+ if (fcvt_buf == NULL)
+ {
+ if (_REENT->_cvtlen <= ndigit)
+ {
+ if ((fcvt_buf = (char *) _realloc_r (_REENT, _REENT->_cvtbuf,
+ ndigit + 1)) == NULL)
+ return NULL;
+ _REENT->_cvtlen = ndigit + 1;
+ _REENT->_cvtbuf = fcvt_buf;
+ }
+
+ fcvt_buf = _REENT->_cvtbuf ;
+ }
+
+ save = fcvt_buf;
+
+ p = _dtoa_r (_REENT, invalue, 2, ndigit, decpt, sign, &end);
+
+ /* Now copy */
+
+ while (p < end)
+ {
+ *fcvt_buf++ = *p++;
+ done++;
+ }
+ /* And unsuppress the trailing zeroes */
+ while (done < ndigit)
+ {
+ *fcvt_buf++ = '0';
+ done++;
+ }
+ *fcvt_buf++ = 0;
+ return save;
+}
+
+#endif
+
+char *
+_DEFUN (_gcvt, (ptr, invalue, ndigit, buf, type, dot),
+ struct _reent *ptr _AND
+ double invalue _AND
+ int ndigit _AND
+ char *buf _AND
+ char type _AND
+ int dot)
+{
+ char *save = buf;
+
+ if (invalue < 0)
+ {
+ invalue = -invalue;
+ }
+
+ if (invalue == 0)
+ {
+ *buf++ = '0';
+ *buf = '\0';
+ }
+ else
+ /* Which one to print ?
+ ANSI says that anything with more that 4 zeros after the . or more
+ than precision digits before is printed in e with the qualification
+ that trailing zeroes are removed from the fraction portion. */
+
+ if (0.0001 >= invalue || invalue >= _mprec_log10 (ndigit))
+ {
+ /* We subtract 1 from ndigit because in the 'e' format the precision is
+ the number of digits after the . but in 'g' format it is the number
+ of significant digits.
+
+ We defer changing type to e/E so that print_e() can know it's us
+ calling and thus should remove trailing zeroes. */
+
+ print_e (ptr, buf, invalue, ndigit - 1, type, dot);
+ }
+ else
+ {
+ int decpt;
+ int sign;
+ char *end;
+ char *p;
+
+ if (invalue < 1.0)
+ {
+ /* what we want is ndigits after the point */
+ p = _dtoa_r (ptr, invalue, 3, ndigit, &decpt, &sign, &end);
+ }
+ else
+ {
+ p = _dtoa_r (ptr, invalue, 2, ndigit, &decpt, &sign, &end);
+ }
+
+ if (decpt == 9999)
+ {
+ strcpy (buf, p);
+ return save;
+ }
+ while (*p && decpt > 0)
+ {
+ *buf++ = *p++;
+ decpt--;
+ ndigit--;
+ }
+ /* Even if not in buffer */
+ while (decpt > 0 && ndigit > 0)
+ {
+ *buf++ = '0';
+ decpt--;
+ ndigit--;
+ }
+
+ if (dot || *p)
+ {
+ if (buf == save)
+ *buf++ = '0';
+ *buf++ = '.';
+ while (decpt < 0 && ndigit > 0)
+ {
+ *buf++ = '0';
+ decpt++;
+ ndigit--;
+ }
+
+ /* Print rest of stuff */
+ while (*p && ndigit > 0)
+ {
+ *buf++ = *p++;
+ ndigit--;
+ }
+ /* And trailing zeros */
+ if (dot)
+ {
+ while (ndigit > 0)
+ {
+ *buf++ = '0';
+ ndigit--;
+ }
+ }
+ }
+ *buf++ = 0;
+ }
+
+ return save;
+}
+
+char *
+_DEFUN (_dcvt, (ptr, buffer, invalue, precision, width, type, dot),
+ struct _reent *ptr _AND
+ char *buffer _AND
+ double invalue _AND
+ int precision _AND
+ int width _AND
+ char type _AND
+ int dot)
+{
+ switch (type)
+ {
+ case 'f':
+ case 'F':
+ print_f (ptr, buffer, invalue, precision, type, precision == 0 ? dot : 1, 3);
+ break;
+ case 'g':
+ case 'G':
+ if (precision == 0)
+ precision = 1;
+ _gcvt (ptr, invalue, precision, buffer, type, dot);
+ break;
+ case 'e':
+ case 'E':
+ print_e (ptr, buffer, invalue, precision, type, dot);
+ }
+ return buffer;
+}
diff --git a/newlib/libc/stdlib/efgcvt.c b/newlib/libc/stdlib/efgcvt.c
new file mode 100644
index 00000000000..556d224142d
--- /dev/null
+++ b/newlib/libc/stdlib/efgcvt.c
@@ -0,0 +1,202 @@
+/*
+FUNCTION
+<<ecvt>>,<<ecvtf>>,<<fcvt>>,<<fcvtf>>---double or float to string
+
+INDEX
+ ecvt
+INDEX
+ fcvt
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+
+ char *ecvt(double <[val]>, int <[chars]>, int *<[decpt]>, int *<[sgn]>);
+ char *ecvtf(float <[val]>, int <[chars]>, int *<[decpt]>, int *<[sgn]>);
+
+ char *fcvt(double <[val]>, int <[decimals]>,
+ int *<[decpt]>, int *<[sgn]>);
+ char *fcvtf(float <[val]>, int <[decimals]>,
+ int *<[decpt]>, int *<[sgn]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+
+ char *ecvt(<[val]>, <[chars]>, <[decpt]>, <[sgn]>);
+ double <[val]>;
+ int <[chars]>;
+ int *<[decpt]>;
+ int *<[sgn]>;
+ char *ecvtf(<[val]>, <[chars]>, <[decpt]>, <[sgn]>);
+ float <[val]>;
+ int <[chars]>;
+ int *<[decpt]>;
+ int *<[sgn]>;
+
+ char *fcvt(<[val]>, <[decimals]>, <[decpt]>, <[sgn]>);
+ double <[val]>;
+ int <[decimals]>;
+ int *<[decpt]>;
+ int *<[sgn]>;
+ char *fcvtf(<[val]>, <[decimals]>, <[decpt]>, <[sgn]>);
+ float <[val]>;
+ int <[decimals]>;
+ int *<[decpt]>;
+ int *<[sgn]>;
+
+DESCRIPTION
+<<ecvt>> and <<fcvt>> produce (null-terminated) strings of digits
+representating the <<double>> number <[val]>.
+<<ecvtf>> and <<fcvtf>> produce the corresponding character
+representations of <<float>> numbers.
+
+(The <<stdlib>> functions <<ecvtbuf>> and <<fcvtbuf>> are reentrant
+versions of <<ecvt>> and <<fcvt>>.)
+
+The only difference between <<ecvt>> and <<fcvt>> is the
+interpretation of the second argument (<[chars]> or <[decimals]>).
+For <<ecvt>>, the second argument <[chars]> specifies the total number
+of characters to write (which is also the number of significant digits
+in the formatted string, since these two functions write only digits).
+For <<fcvt>>, the second argument <[decimals]> specifies the number of
+characters to write after the decimal point; all digits for the integer
+part of <[val]> are always included.
+
+Since <<ecvt>> and <<fcvt>> write only digits in the output string,
+they record the location of the decimal point in <<*<[decpt]>>>, and
+the sign of the number in <<*<[sgn]>>>. After formatting a number,
+<<*<[decpt]>>> contains the number of digits to the left of the
+decimal point. <<*<[sgn]>>> contains <<0>> if the number is positive,
+and <<1>> if it is negative.
+
+RETURNS
+All four functions return a pointer to the new string containing a
+character representation of <[val]>.
+
+PORTABILITY
+None of these functions are ANSI C.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+
+NEWPAGE
+FUNCTION
+<<gvcvt>>, <<gcvtf>>---format double or float as string
+
+INDEX
+ gcvt
+INDEX
+ gcvtf
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+
+ char *gcvt(double <[val]>, int <[precision]>, char *<[buf]>);
+ char *gcvtf(float <[val]>, int <[precision]>, char *<[buf]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+
+ char *gcvt(<[val]>, <[precision]>, <[buf]>);
+ double <[val]>;
+ int <[precision]>;
+ char *<[buf]>;
+ char *gcvtf(<[val]>, <[precision]>, <[buf]>);
+ float <[val]>;
+ int <[precision]>;
+ char *<[buf]>;
+
+DESCRIPTION
+<<gcvt>> writes a fully formatted number as a null-terminated
+string in the buffer <<*<[buf]>>>. <<gdvtf>> produces corresponding
+character representations of <<float>> numbers.
+
+<<gcvt>> uses the same rules as the <<printf>> format
+`<<%.<[precision]>g>>'---only negative values are signed (with
+`<<->>'), and either exponential or ordinary decimal-fraction format
+is chosen depending on the number of significant digits (specified by
+<[precision]>).
+
+RETURNS
+The result is a pointer to the formatted representation of <[val]>
+(the same as the argument <[buf]>).
+
+PORTABILITY
+Neither function is ANSI C.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+#include <_ansi.h>
+#include <reent.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include "local.h"
+
+char *
+_DEFUN (fcvt, (d, ndigit, decpt, sign),
+ double d _AND
+ int ndigit _AND
+ int *decpt _AND
+ int *sign)
+{
+ return fcvtbuf (d, ndigit, decpt, sign, NULL);
+}
+
+char *
+_DEFUN (fcvtf, (d, ndigit, decpt, sign),
+ float d _AND
+ int ndigit _AND
+ int *decpt _AND
+ int *sign)
+{
+ return fcvt ((float) d, ndigit, decpt, sign);
+}
+
+
+char *
+_DEFUN (gcvtf, (d, ndigit, buf),
+ float d _AND
+ int ndigit _AND
+ char *buf)
+{
+ double asd = d;
+ return gcvt (asd, ndigit, buf);
+}
+
+
+char *
+_DEFUN (ecvt, (d, ndigit, decpt, sign),
+ double d _AND
+ int ndigit _AND
+ int *decpt _AND
+ int *sign)
+{
+ return ecvtbuf (d, ndigit, decpt, sign, NULL);
+}
+
+char *
+_DEFUN (ecvtf, (d, ndigit, decpt, sign),
+ float d _AND
+ int ndigit _AND
+ int *decpt _AND
+ int *sign)
+{
+ return ecvt ((double) d, ndigit, decpt, sign);
+}
+
+
+char *
+_DEFUN (gcvt, (d, ndigit, buf),
+ double d _AND
+ int ndigit _AND
+ char *buf)
+{
+ char *tbuf = buf;
+ if (d < 0) {
+ *buf = '-';
+ buf++;
+ ndigit--;
+ }
+ return (_gcvt (_REENT, d, ndigit, buf, 'g', 0) ? tbuf : 0);
+}
diff --git a/newlib/libc/stdlib/environ.c b/newlib/libc/stdlib/environ.c
new file mode 100644
index 00000000000..4f6ff8b6ad2
--- /dev/null
+++ b/newlib/libc/stdlib/environ.c
@@ -0,0 +1,23 @@
+/* Copyright (c) 1995, 1996 Cygnus Support.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * at Cygnus Support, Inc. Cygnus Support, Inc. may not be used to
+ * endorse or promote products derived from this software without
+ * specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/* Provide a definition of `environ' if crt0.o doesn't. */
+
+static char *initial_env[] = { 0 };
+
+/* Posix says `environ' is a pointer to a null terminated list of pointers.
+ Hence `environ' itself is never NULL. */
+char **environ = &initial_env[0];
diff --git a/newlib/libc/stdlib/envlock.c b/newlib/libc/stdlib/envlock.c
new file mode 100644
index 00000000000..0ef6ec4917a
--- /dev/null
+++ b/newlib/libc/stdlib/envlock.c
@@ -0,0 +1,48 @@
+/*
+FUNCTION
+<<__env_lock>>, <<__env_unlock>>--lock environ variable
+
+INDEX
+ __env_lock
+INDEX
+ __env_unlock
+
+ANSI_SYNOPSIS
+ #include "envlock.h"
+ void __env_lock (void *<[reent]>);
+ void __env_unlock (void *<[reent]>);
+
+TRAD_SYNOPSIS
+ void __env_lock(<[reent]>)
+ char *<[reent]>;
+
+ void __env_unlock(<[reent]>)
+ char *<[reent]>;
+
+DESCRIPTION
+The <<stenv>> family of routines call these functions when they need
+to modify the environ variable. The version of these routines supplied
+in the library does not do anything. If multiple threads of execution
+can call <<setenv>>, or if <<setenv>> can be called reentrantly, then
+you need to define your own versions of these functions in order to
+safely lock the memory pool during a call. If you do not, the memory
+pool may become corrupted.
+
+A call to <<setenv>> may call <<__env_lock>> recursively; that is,
+the sequence of calls may go <<__env_lock>>, <<__env_lock>>,
+<<__env_unlock>>, <<__env_unlock>>. Any implementation of these
+routines must be careful to avoid causing a thread to wait for a lock
+that it already holds.
+*/
+
+void
+__env_lock (ptr)
+ struct _reent *ptr;
+{
+}
+
+void
+__env_unlock (ptr)
+ struct _reent *ptr;
+{
+}
diff --git a/newlib/libc/stdlib/envlock.h b/newlib/libc/stdlib/envlock.h
new file mode 100644
index 00000000000..df3a0ba5854
--- /dev/null
+++ b/newlib/libc/stdlib/envlock.h
@@ -0,0 +1,12 @@
+/* envlock.h -- header file for env routines. */
+
+#ifndef _INCLUDE_ENVLOCK_H_
+#define _INCLUDE_ENVLOCK_H_
+
+#include <_ansi.h>
+#include <sys/reent.h>
+
+#define ENV_LOCK __env_lock(reent_ptr)
+#define ENV_UNLOCK __env_unlock(reent_ptr)
+
+#endif /* _INCLUDE_ENVLOCK_H_ */
diff --git a/newlib/libc/stdlib/eprintf.c b/newlib/libc/stdlib/eprintf.c
new file mode 100644
index 00000000000..46cf8104be2
--- /dev/null
+++ b/newlib/libc/stdlib/eprintf.c
@@ -0,0 +1,26 @@
+/* This is an implementation of the __eprintf function which is
+ compatible with the assert.h which is distributed with gcc.
+
+ This function is provided because in some cases libgcc.a will not
+ provide __eprintf. This will happen if inhibit_libc is defined,
+ which is done because at the time that libgcc2.c is compiled, the
+ correct <stdio.h> may not be available. newlib provides its own
+ copy of assert.h, which calls __assert, not __eprintf. However, in
+ some cases you may accidentally wind up compiling with the gcc
+ assert.h. In such a case, this __eprintf will be used if there
+ does not happen to be one in libgcc2.c. */
+
+#include <stdlib.h>
+#include <stdio.h>
+
+void
+__eprintf (format, file, line, expression)
+ const char *format;
+ const char *file;
+ unsigned int line;
+ const char *expression;
+{
+ (void) fiprintf (stderr, format, file, line, expression);
+ abort ();
+ /*NOTREACHED*/
+}
diff --git a/newlib/libc/stdlib/exit.c b/newlib/libc/stdlib/exit.c
new file mode 100644
index 00000000000..543bd0e303f
--- /dev/null
+++ b/newlib/libc/stdlib/exit.c
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 1990 Regents of the University of California.
+ * All rights reserved.
+ *
+ * %sccs.include.redist.c%
+ */
+
+/*
+FUNCTION
+<<exit>>---end program execution
+
+INDEX
+ exit
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ void exit(int <[code]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ void exit(<[code]>)
+ int <[code]>;
+
+DESCRIPTION
+Use <<exit>> to return control from a program to the host operating
+environment. Use the argument <[code]> to pass an exit status to the
+operating environment: two particular values, <<EXIT_SUCCESS>> and
+<<EXIT_FAILURE>>, are defined in `<<stdlib.h>>' to indicate success or
+failure in a portable fashion.
+
+<<exit>> does two kinds of cleanup before ending execution of your
+program. First, it calls all application-defined cleanup functions
+you have enrolled with <<atexit>>. Second, files and streams are
+cleaned up: any pending output is delivered to the host system, each
+open file or stream is closed, and files created by <<tmpfile>> are
+deleted.
+
+RETURNS
+<<exit>> does not return to its caller.
+
+PORTABILITY
+ANSI C requires <<exit>>, and specifies that <<EXIT_SUCCESS>> and
+<<EXIT_FAILURE>> must be defined.
+
+Supporting OS subroutines required: <<_exit>>.
+*/
+
+#include <stdlib.h>
+#include <unistd.h> /* for _exit() declaration */
+#include <reent.h>
+
+#ifndef _REENT_ONLY
+
+/*
+ * Exit, flushing stdio buffers if necessary.
+ */
+
+void
+_DEFUN (exit, (code),
+ int code)
+{
+ register struct _atexit *p;
+ register int n;
+
+ for (p = _REENT->_atexit; p; p = p->_next)
+ for (n = p->_ind; --n >= 0;)
+ (*p->_fns[n]) ();
+ if (_REENT->__cleanup)
+ (*_REENT->__cleanup) (_REENT);
+ _exit (code);
+}
+
+#endif
diff --git a/newlib/libc/stdlib/getenv.c b/newlib/libc/stdlib/getenv.c
new file mode 100644
index 00000000000..c9f1ecd9684
--- /dev/null
+++ b/newlib/libc/stdlib/getenv.c
@@ -0,0 +1,101 @@
+/*
+FUNCTION
+<<getenv>>---look up environment variable
+
+INDEX
+ getenv
+INDEX
+ environ
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ char *getenv(const char *<[name]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ char *getenv(<[name]>)
+ char *<[name]>;
+
+DESCRIPTION
+<<getenv>> searches the list of environment variable names and values
+(using the global pointer `<<char **environ>>') for a variable whose
+name matches the string at <[name]>. If a variable name matches,
+<<getenv>> returns a pointer to the associated value.
+
+RETURNS
+A pointer to the (string) value of the environment variable, or
+<<NULL>> if there is no such environment variable.
+
+PORTABILITY
+<<getenv>> is ANSI, but the rules for properly forming names of environment
+variables vary from one system to another.
+
+<<getenv>> requires a global pointer <<environ>>.
+*/
+
+/* This file may have been modified by DJ Delorie (Jan 1991). If so,
+** these modifications are Coyright (C) 1991 DJ Delorie, 24 Kirsten Ave,
+** Rochester NH, 03867-2954, USA.
+*/
+
+/*
+ * Copyright (c) 1987 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that: (1) source distributions retain this entire copyright
+ * notice and comment, and (2) distributions including binaries display
+ * the following acknowledgement: ``This product includes software
+ * developed by the University of California, Berkeley and its contributors''
+ * in the documentation or other materials provided with the distribution
+ * and in all advertising materials mentioning features or use of this
+ * software. Neither the name of the University nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#ifndef _REENT_ONLY
+
+#include <stdlib.h>
+#include <stddef.h>
+#include <string.h>
+
+extern char **environ;
+
+/*
+ * _findenv --
+ * Returns pointer to value associated with name, if any, else NULL.
+ * Sets offset to be the offset of the name/value combination in the
+ * environmental array, for use by setenv(3) and unsetenv(3).
+ * Explicitly removes '=' in argument name.
+ *
+ * This routine *should* be a static; don't use it.
+ */
+
+char *
+_DEFUN (_findenv, (name, offset),
+ register _CONST char *name _AND
+ int *offset)
+{
+ return _findenv_r (_REENT, name, offset);
+}
+
+/*
+ * getenv --
+ * Returns ptr to value associated with name, if any, else NULL.
+ */
+
+char *
+_DEFUN (getenv, (name),
+ _CONST char *name)
+{
+ int offset;
+ char *_findenv_r ();
+
+ return _findenv_r (_REENT, name, &offset);
+}
+
+#endif /* !_REENT_ONLY */
diff --git a/newlib/libc/stdlib/getenv_r.c b/newlib/libc/stdlib/getenv_r.c
new file mode 100644
index 00000000000..2ccb89a1790
--- /dev/null
+++ b/newlib/libc/stdlib/getenv_r.c
@@ -0,0 +1,129 @@
+/*
+FUNCTION
+<<_getenv_r>>---look up environment variable
+
+INDEX
+ _getenv_r
+INDEX
+ environ
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ char *_getenv_r(struct _reent *<[reent_ptr]>, const char *<[name]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ char *_getenv_r(<[reent_ptr]>, <[name]>)
+ struct _reent *<[reent_ptr]>;
+ char *<[name]>;
+
+DESCRIPTION
+<<_getenv_r>> searches the list of environment variable names and values
+(using the global pointer `<<char **environ>>') for a variable whose
+name matches the string at <[name]>. If a variable name matches,
+<<_getenv_r>> returns a pointer to the associated value.
+
+RETURNS
+A pointer to the (string) value of the environment variable, or
+<<NULL>> if there is no such environment variable.
+
+PORTABILITY
+<<_getenv_r>> is not ANSI; the rules for properly forming names of environment
+variables vary from one system to another.
+
+<<_getenv_r>> requires a global pointer <<environ>>.
+*/
+
+/* This file may have been modified by DJ Delorie (Jan 1991). If so,
+** these modifications are Coyright (C) 1991 DJ Delorie, 24 Kirsten Ave,
+** Rochester NH, 03867-2954, USA.
+*/
+
+/*
+ * Copyright (c) 1987 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that: (1) source distributions retain this entire copyright
+ * notice and comment, and (2) distributions including binaries display
+ * the following acknowledgement: ``This product includes software
+ * developed by the University of California, Berkeley and its contributors''
+ * in the documentation or other materials provided with the distribution
+ * and in all advertising materials mentioning features or use of this
+ * software. Neither the name of the University nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include <stdlib.h>
+#include <stddef.h>
+#include <string.h>
+#include "envlock.h"
+
+extern char **environ;
+
+/*
+ * _findenv --
+ * Returns pointer to value associated with name, if any, else NULL.
+ * Sets offset to be the offset of the name/value combination in the
+ * environmental array, for use by setenv(3) and unsetenv(3).
+ * Explicitly removes '=' in argument name.
+ *
+ * This routine *should* be a static; don't use it.
+ */
+
+char *
+_DEFUN (_findenv_r, (reent_ptr, name, offset),
+ struct _reent *reent_ptr _AND
+ register _CONST char *name _AND
+ int *offset)
+{
+ register int len;
+ register char **p;
+ _CONST char *c;
+
+ ENV_LOCK;
+
+ /* In some embedded systems, this does not get set. This protects
+ newlib from dereferencing a bad pointer. */
+ if (!environ)
+ return NULL;
+
+ c = name;
+ len = 0;
+ while (*c && *c != '=')
+ {
+ c++;
+ len++;
+ }
+
+ for (p = environ; *p; ++p)
+ if (!strncmp (*p, name, len))
+ if (*(c = *p + len) == '=')
+ {
+ *offset = p - environ;
+ ENV_UNLOCK;
+ return (char *) (++c);
+ }
+ ENV_UNLOCK;
+ return NULL;
+}
+
+/*
+ * _getenv_r --
+ * Returns ptr to value associated with name, if any, else NULL.
+ */
+
+char *
+_DEFUN (_getenv_r, (reent_ptr, name),
+ struct _reent *reent_ptr _AND
+ _CONST char *name)
+{
+ int offset;
+ char *_findenv_r ();
+
+ return _findenv_r (reent_ptr, name, &offset);
+}
diff --git a/newlib/libc/stdlib/getopt.c b/newlib/libc/stdlib/getopt.c
new file mode 100644
index 00000000000..b38938d5fdc
--- /dev/null
+++ b/newlib/libc/stdlib/getopt.c
@@ -0,0 +1,117 @@
+/*
+ * Copyright (c) 1987, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+/* static char sccsid[] = "from: @(#)getopt.c 8.2 (Berkeley) 4/2/94"; */
+static char *rcsid = "$Id$";
+#endif /* LIBC_SCCS and not lint */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+int opterr = 1, /* if error message should be printed */
+ optind = 1, /* index into parent argv vector */
+ optopt, /* character checked for validity */
+ optreset; /* reset getopt */
+char *optarg; /* argument associated with option */
+
+#define BADCH (int)'?'
+#define BADARG (int)':'
+#define EMSG ""
+
+/*
+ * getopt --
+ * Parse argc/argv argument vector.
+ */
+int
+getopt(nargc, nargv, ostr)
+ int nargc;
+ char * const *nargv;
+ const char *ostr;
+{
+ static char *place = EMSG; /* option letter processing */
+ char *oli; /* option letter list index */
+
+ if (optreset || !*place) { /* update scanning pointer */
+ optreset = 0;
+ if (optind >= nargc || *(place = nargv[optind]) != '-') {
+ place = EMSG;
+ return (-1);
+ }
+ if (place[1] && *++place == '-') { /* found "--" */
+ ++optind;
+ place = EMSG;
+ return (-1);
+ }
+ } /* option letter okay? */
+ if ((optopt = (int)*place++) == (int)':' ||
+ !(oli = strchr(ostr, optopt))) {
+ /*
+ * if the user didn't specify '-' as an option,
+ * assume it means -1.
+ */
+ if (optopt == (int)'-')
+ return (-1);
+ if (!*place)
+ ++optind;
+ if (opterr && *ostr != ':')
+ (void)fprintf(stderr,
+ "%s: illegal option -- %c\n", nargv[0], optopt);
+ return (BADCH);
+ }
+ if (*++oli != ':') { /* don't need argument */
+ optarg = NULL;
+ if (!*place)
+ ++optind;
+ }
+ else { /* need an argument */
+ if (*place) /* no white space */
+ optarg = place;
+ else if (nargc <= ++optind) { /* no arg */
+ place = EMSG;
+ if (*ostr == ':')
+ return (BADARG);
+ if (opterr)
+ (void)fprintf(stderr,
+ "%s: option requires an argument -- %c\n",
+ nargv[0], optopt);
+ return (BADCH);
+ }
+ else /* white space */
+ optarg = nargv[optind];
+ place = EMSG;
+ ++optind;
+ }
+ return (optopt); /* dump back option letter */
+}
diff --git a/newlib/libc/stdlib/labs.c b/newlib/libc/stdlib/labs.c
new file mode 100644
index 00000000000..634cf734850
--- /dev/null
+++ b/newlib/libc/stdlib/labs.c
@@ -0,0 +1,49 @@
+/*
+FUNCTION
+<<labs>>---long integer absolute value
+
+INDEX
+ labs
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ long labs(long <[i]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ long labs(<[i]>)
+ long <[i]>;
+
+DESCRIPTION
+<<labs>> returns
+@tex
+$|x|$,
+@end tex
+the absolute value of <[i]> (also called the magnitude
+of <[i]>). That is, if <[i]> is negative, the result is the opposite
+of <[i]>, but if <[i]> is nonnegative the result is <[i]>.
+
+The similar function <<abs>> uses and returns <<int>> rather than
+<<long>> values.
+
+RETURNS
+The result is a nonnegative long integer.
+
+PORTABILITY
+<<labs>> is ANSI.
+
+No supporting OS subroutine calls are required.
+*/
+
+#include <stdlib.h>
+
+long
+_DEFUN (labs, (x),
+ long x)
+{
+ if (x < 0)
+ {
+ x = -x;
+ }
+ return x;
+}
diff --git a/newlib/libc/stdlib/ldiv.c b/newlib/libc/stdlib/ldiv.c
new file mode 100644
index 00000000000..054b33837cf
--- /dev/null
+++ b/newlib/libc/stdlib/ldiv.c
@@ -0,0 +1,109 @@
+/*
+FUNCTION
+<<ldiv>>---divide two long integers
+
+INDEX
+ ldiv
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ ldiv_t ldiv(long <[n]>, long <[d]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ ldiv_t ldiv(<[n]>, <[d]>)
+ long <[n]>, <[d]>;
+
+DESCRIPTION
+Divide
+@tex
+$n/d$,
+@end tex
+@ifinfo
+<[n]>/<[d]>,
+@end ifinfo
+returning quotient and remainder as two long integers in a structure <<ldiv_t>>.
+
+RETURNS
+The result is represented with the structure
+
+. typedef struct
+. {
+. long quot;
+. long rem;
+. } ldiv_t;
+
+where the <<quot>> field represents the quotient, and <<rem>> the
+remainder. For nonzero <[d]>, if `<<<[r]> = ldiv(<[n]>,<[d]>);>>' then
+<[n]> equals `<<<[r]>.rem + <[d]>*<[r]>.quot>>'.
+
+To divide <<int>> rather than <<long>> values, use the similar
+function <<div>>.
+
+PORTABILITY
+<<ldiv>> is ANSI.
+
+No supporting OS subroutines are required.
+*/
+
+
+/*
+ * Copyright (c) 1990 Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Chris Torek.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <_ansi.h>
+#include <stdlib.h> /* ldiv_t */
+
+ldiv_t
+_DEFUN (ldiv, (num, denom),
+ long num _AND
+ long denom)
+{
+ ldiv_t r;
+
+ /* see div.c for comments */
+
+ r.quot = num / denom;
+ r.rem = num % denom;
+ if (num >= 0 && r.rem < 0) {
+ ++r.quot;
+ r.rem -= denom;
+ }
+ else if (num < 0 && r.rem > 0) {
+ --r.quot;
+ r.rem += denom;
+ }
+ return (r);
+}
diff --git a/newlib/libc/stdlib/local.h b/newlib/libc/stdlib/local.h
new file mode 100644
index 00000000000..a274f20a19d
--- /dev/null
+++ b/newlib/libc/stdlib/local.h
@@ -0,0 +1,8 @@
+/* Misc. local definitions for libc/stdlib */
+
+#ifndef _LOCAL_H_
+#define _LOCAL_H_
+
+char * _EXFUN(_gcvt,(struct _reent *, double , int , char *, char, int));
+
+#endif
diff --git a/newlib/libc/stdlib/malign.c b/newlib/libc/stdlib/malign.c
new file mode 100644
index 00000000000..d012d9be20c
--- /dev/null
+++ b/newlib/libc/stdlib/malign.c
@@ -0,0 +1,18 @@
+/* malign.c -- a wrapper for memalign_r. */
+
+#include <_ansi.h>
+#include <reent.h>
+#include <stdlib.h>
+#include <malloc.h>
+
+#ifndef _REENT_ONLY
+
+_PTR
+_DEFUN (memalign, (align, nbytes),
+ size_t align _AND
+ size_t nbytes)
+{
+ return _memalign_r (_REENT, align, nbytes);
+}
+
+#endif
diff --git a/newlib/libc/stdlib/malloc.c b/newlib/libc/stdlib/malloc.c
new file mode 100644
index 00000000000..83453ab8daf
--- /dev/null
+++ b/newlib/libc/stdlib/malloc.c
@@ -0,0 +1,206 @@
+/* VxWorks provides its own version of malloc, and we can't use this
+ one because VxWorks does not provide sbrk. So we have a hook to
+ not compile this code. */
+
+/* The routines here are simple cover fns to the routines that do the real
+ work (the reentrant versions). */
+/* FIXME: Does the warning below (see WARNINGS) about non-reentrancy still
+ apply? A first guess would be "no", but how about reentrancy in the *same*
+ thread? */
+
+#ifdef MALLOC_PROVIDED
+
+int _dummy_malloc = 1;
+
+#else
+
+/*
+FUNCTION
+<<malloc>>, <<realloc>>, <<free>>---manage memory
+
+INDEX
+ malloc
+INDEX
+ realloc
+INDEX
+ free
+INDEX
+ memalign
+INDEX
+ malloc_usable_size
+INDEX
+ _malloc_r
+INDEX
+ _realloc_r
+INDEX
+ _free_r
+INDEX
+ _memalign_r
+INDEX
+ _malloc_usable_size_r
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ void *malloc(size_t <[nbytes]>);
+ void *realloc(void *<[aptr]>, size_t <[nbytes]>);
+ void free(void *<[aptr]>);
+
+ void *memalign(size_t <[align]>, size_t <[nbytes]>);
+
+ size_t malloc_usable_size(void *<[aptr]>);
+
+ void *_malloc_r(void *<[reent]>, size_t <[nbytes]>);
+ void *_realloc_r(void *<[reent]>,
+ void *<[aptr]>, size_t <[nbytes]>);
+ void _free_r(void *<[reent]>, void *<[aptr]>);
+
+ void *_memalign_r(void *<[reent]>,
+ size_t <[align]>, size_t <[nbytes]>);
+
+ size_t _malloc_usable_size_r(void *<[reent]>, void *<[aptr]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ char *malloc(<[nbytes]>)
+ size_t <[nbytes]>;
+
+ char *realloc(<[aptr]>, <[nbytes]>)
+ char *<[aptr]>;
+ size_t <[nbytes]>;
+
+ void free(<[aptr]>)
+ char *<[aptr]>;
+
+ char *memalign(<[align]>, <[nbytes]>)
+ size_t <[align]>;
+ size_t <[nbytes]>;
+
+ size_t malloc_usable_size(<[aptr]>)
+ char *<[aptr]>;
+
+ char *_malloc_r(<[reent]>,<[nbytes]>)
+ char *<[reent]>;
+ size_t <[nbytes]>;
+
+ char *_realloc_r(<[reent]>, <[aptr]>, <[nbytes]>)
+ char *<[reent]>;
+ char *<[aptr]>;
+ size_t <[nbytes]>;
+
+ void _free_r(<[reent]>, <[aptr]>)
+ char *<[reent]>;
+ char *<[aptr]>;
+
+ char *_memalign_r(<[reent]>, <[align]>, <[nbytes]>)
+ char *<[reent]>;
+ size_t <[align]>;
+ size_t <[nbytes]>;
+
+ size_t malloc_usable_size(<[reent]>, <[aptr]>)
+ char *<[reent]>;
+ char *<[aptr]>;
+
+DESCRIPTION
+These functions manage a pool of system memory.
+
+Use <<malloc>> to request allocation of an object with at least
+<[nbytes]> bytes of storage available. If the space is available,
+<<malloc>> returns a pointer to a newly allocated block as its result.
+
+If you already have a block of storage allocated by <<malloc>>, but
+you no longer need all the space allocated to it, you can make it
+smaller by calling <<realloc>> with both the object pointer and the
+new desired size as arguments. <<realloc>> guarantees that the
+contents of the smaller object match the beginning of the original object.
+
+Similarly, if you need more space for an object, use <<realloc>> to
+request the larger size; again, <<realloc>> guarantees that the
+beginning of the new, larger object matches the contents of the
+original object.
+
+When you no longer need an object originally allocated by <<malloc>>
+or <<realloc>> (or the related function <<calloc>>), return it to the
+memory storage pool by calling <<free>> with the address of the object
+as the argument. You can also use <<realloc>> for this purpose by
+calling it with <<0>> as the <[nbytes]> argument.
+
+The <<memalign>> function returns a block of size <[nbytes]> aligned
+to a <[align]> boundary. The <[align]> argument must be a power of
+two.
+
+The <<malloc_usable_size>> function takes a pointer to a block
+allocated by <<malloc>>. It returns the amount of space that is
+available in the block. This may or may not be more than the size
+requested from <<malloc>>, due to alignment or minimum size
+constraints.
+
+The alternate functions <<_malloc_r>>, <<_realloc_r>>, <<_free_r>>,
+<<_memalign_r>>, and <<_malloc_usable_size_r>> are reentrant versions.
+The extra argument <[reent]> is a pointer to a reentrancy structure.
+
+If you have multiple threads of execution which may call any of these
+routines, or if any of these routines may be called reentrantly, then
+you must provide implementations of the <<__malloc_lock>> and
+<<__malloc_unlock>> functions for your system. See the documentation
+for those functions.
+
+These functions operate by calling the function <<_sbrk_r>> or
+<<sbrk>>, which allocates space. You may need to provide one of these
+functions for your system. <<_sbrk_r>> is called with a positive
+value to allocate more space, and with a negative value to release
+previously allocated space if it is no longer required.
+@xref{Stubs}.
+
+RETURNS
+<<malloc>> returns a pointer to the newly allocated space, if
+successful; otherwise it returns <<NULL>>. If your application needs
+to generate empty objects, you may use <<malloc(0)>> for this purpose.
+
+<<realloc>> returns a pointer to the new block of memory, or <<NULL>>
+if a new block could not be allocated. <<NULL>> is also the result
+when you use `<<realloc(<[aptr]>,0)>>' (which has the same effect as
+`<<free(<[aptr]>)>>'). You should always check the result of
+<<realloc>>; successful reallocation is not guaranteed even when
+you request a smaller object.
+
+<<free>> does not return a result.
+
+<<memalign>> returns a pointer to the newly allocated space.
+
+<<malloc_usable_size>> returns the usable size.
+
+PORTABILITY
+<<malloc>>, <<realloc>>, and <<free>> are specified by the ANSI C
+standard, but other conforming implementations of <<malloc>> may
+behave differently when <[nbytes]> is zero.
+
+<<memalign>> is part of SVR4.
+
+<<malloc_usable_size>> is not portable.
+
+Supporting OS subroutines required: <<sbrk>>. */
+
+#include <_ansi.h>
+#include <reent.h>
+#include <stdlib.h>
+#include <malloc.h>
+
+#ifndef _REENT_ONLY
+
+_PTR
+_DEFUN (malloc, (nbytes),
+ size_t nbytes) /* get a block */
+{
+ return _malloc_r (_REENT, nbytes);
+}
+
+void
+_DEFUN (free, (aptr),
+ _PTR aptr)
+{
+ _free_r (_REENT, aptr);
+}
+
+#endif
+
+#endif /* ! defined (MALLOC_PROVIDED) */
diff --git a/newlib/libc/stdlib/mallocr.c b/newlib/libc/stdlib/mallocr.c
new file mode 100644
index 00000000000..797e04656d9
--- /dev/null
+++ b/newlib/libc/stdlib/mallocr.c
@@ -0,0 +1,3646 @@
+#ifdef MALLOC_PROVIDED
+int _dummy_mallocr = 1;
+#else
+/* ---------- To make a malloc.h, start cutting here ------------ */
+
+/*
+ A version of malloc/free/realloc written by Doug Lea and released to the
+ public domain. Send questions/comments/complaints/performance data
+ to dl@cs.oswego.edu
+
+* VERSION 2.6.4 Thu Nov 28 07:54:55 1996 Doug Lea (dl at gee)
+
+ Note: There may be an updated version of this malloc obtainable at
+ ftp://g.oswego.edu/pub/misc/malloc.c
+ Check before installing!
+
+* Why use this malloc?
+
+ This is not the fastest, most space-conserving, most portable, or
+ most tunable malloc ever written. However it is among the fastest
+ while also being among the most space-conserving, portable and tunable.
+ Consistent balance across these factors results in a good general-purpose
+ allocator. For a high-level description, see
+ http://g.oswego.edu/dl/html/malloc.html
+
+* Synopsis of public routines
+
+ (Much fuller descriptions are contained in the program documentation below.)
+
+ malloc(size_t n);
+ Return a pointer to a newly allocated chunk of at least n bytes, or null
+ if no space is available.
+ free(Void_t* p);
+ Release the chunk of memory pointed to by p, or no effect if p is null.
+ realloc(Void_t* p, size_t n);
+ Return a pointer to a chunk of size n that contains the same data
+ as does chunk p up to the minimum of (n, p's size) bytes, or null
+ if no space is available. The returned pointer may or may not be
+ the same as p. If p is null, equivalent to malloc. Unless the
+ #define REALLOC_ZERO_BYTES_FREES below is set, realloc with a
+ size argument of zero (re)allocates a minimum-sized chunk.
+ memalign(size_t alignment, size_t n);
+ Return a pointer to a newly allocated chunk of n bytes, aligned
+ in accord with the alignment argument, which must be a power of
+ two.
+ valloc(size_t n);
+ Equivalent to memalign(pagesize, n), where pagesize is the page
+ size of the system (or as near to this as can be figured out from
+ all the includes/defines below.)
+ pvalloc(size_t n);
+ Equivalent to valloc(minimum-page-that-holds(n)), that is,
+ round up n to nearest pagesize.
+ calloc(size_t unit, size_t quantity);
+ Returns a pointer to quantity * unit bytes, with all locations
+ set to zero.
+ cfree(Void_t* p);
+ Equivalent to free(p).
+ malloc_trim(size_t pad);
+ Release all but pad bytes of freed top-most memory back
+ to the system. Return 1 if successful, else 0.
+ malloc_usable_size(Void_t* p);
+ Report the number usable allocated bytes associated with allocated
+ chunk p. This may or may not report more bytes than were requested,
+ due to alignment and minimum size constraints.
+ malloc_stats();
+ Prints brief summary statistics on stderr.
+ mallinfo()
+ Returns (by copy) a struct containing various summary statistics.
+ mallopt(int parameter_number, int parameter_value)
+ Changes one of the tunable parameters described below. Returns
+ 1 if successful in changing the parameter, else 0.
+
+* Vital statistics:
+
+ Alignment: 8-byte
+ 8 byte alignment is currently hardwired into the design. This
+ seems to suffice for all current machines and C compilers.
+
+ Assumed pointer representation: 4 or 8 bytes
+ Code for 8-byte pointers is untested by me but has worked
+ reliably by Wolfram Gloger, who contributed most of the
+ changes supporting this.
+
+ Assumed size_t representation: 4 or 8 bytes
+ Note that size_t is allowed to be 4 bytes even if pointers are 8.
+
+ Minimum overhead per allocated chunk: 4 or 8 bytes
+ Each malloced chunk has a hidden overhead of 4 bytes holding size
+ and status information.
+
+ Minimum allocated size: 4-byte ptrs: 16 bytes (including 4 overhead)
+ 8-byte ptrs: 24/32 bytes (including, 4/8 overhead)
+
+ When a chunk is freed, 12 (for 4byte ptrs) or 20 (for 8 byte
+ ptrs but 4 byte size) or 24 (for 8/8) additional bytes are
+ needed; 4 (8) for a trailing size field
+ and 8 (16) bytes for free list pointers. Thus, the minimum
+ allocatable size is 16/24/32 bytes.
+
+ Even a request for zero bytes (i.e., malloc(0)) returns a
+ pointer to something of the minimum allocatable size.
+
+ Maximum allocated size: 4-byte size_t: 2^31 - 8 bytes
+ 8-byte size_t: 2^63 - 16 bytes
+
+ It is assumed that (possibly signed) size_t bit values suffice to
+ represent chunk sizes. `Possibly signed' is due to the fact
+ that `size_t' may be defined on a system as either a signed or
+ an unsigned type. To be conservative, values that would appear
+ as negative numbers are avoided.
+ Requests for sizes with a negative sign bit will return a
+ minimum-sized chunk.
+
+ Maximum overhead wastage per allocated chunk: normally 15 bytes
+
+ Alignnment demands, plus the minimum allocatable size restriction
+ make the normal worst-case wastage 15 bytes (i.e., up to 15
+ more bytes will be allocated than were requested in malloc), with
+ two exceptions:
+ 1. Because requests for zero bytes allocate non-zero space,
+ the worst case wastage for a request of zero bytes is 24 bytes.
+ 2. For requests >= mmap_threshold that are serviced via
+ mmap(), the worst case wastage is 8 bytes plus the remainder
+ from a system page (the minimal mmap unit); typically 4096 bytes.
+
+* Limitations
+
+ Here are some features that are NOT currently supported
+
+ * No user-definable hooks for callbacks and the like.
+ * No automated mechanism for fully checking that all accesses
+ to malloced memory stay within their bounds.
+ * No support for compaction.
+
+* Synopsis of compile-time options:
+
+ People have reported using previous versions of this malloc on all
+ versions of Unix, sometimes by tweaking some of the defines
+ below. It has been tested most extensively on Solaris and
+ Linux. It is also reported to work on WIN32 platforms.
+ People have also reported adapting this malloc for use in
+ stand-alone embedded systems.
+
+ The implementation is in straight, hand-tuned ANSI C. Among other
+ consequences, it uses a lot of macros. Because of this, to be at
+ all usable, this code should be compiled using an optimizing compiler
+ (for example gcc -O2) that can simplify expressions and control
+ paths.
+
+ __STD_C (default: derived from C compiler defines)
+ Nonzero if using ANSI-standard C compiler, a C++ compiler, or
+ a C compiler sufficiently close to ANSI to get away with it.
+ DEBUG (default: NOT defined)
+ Define to enable debugging. Adds fairly extensive assertion-based
+ checking to help track down memory errors, but noticeably slows down
+ execution.
+ SEPARATE_OBJECTS (default: NOT defined)
+ Define this to compile into separate .o files. You must then
+ compile malloc.c several times, defining a DEFINE_* macro each
+ time. The list of DEFINE_* macros appears below.
+ MALLOC_LOCK (default: NOT defined)
+ MALLOC_UNLOCK (default: NOT defined)
+ Define these to C expressions which are run to lock and unlock
+ the malloc data structures. Calls may be nested; that is,
+ MALLOC_LOCK may be called more than once before the corresponding
+ MALLOC_UNLOCK calls. MALLOC_LOCK must avoid waiting for a lock
+ that it already holds.
+ MALLOC_ALIGNMENT (default: NOT defined)
+ Define this to 16 if you need 16 byte alignment instead of 8 byte alignment
+ which is the normal default.
+ SIZE_T_SMALLER_THAN_LONG (default: NOT defined)
+ Define this when the platform you are compiling has sizeof(long) > sizeof(size_t).
+ The option causes some extra code to be generated to handle operations
+ that use size_t operands and have long results.
+ REALLOC_ZERO_BYTES_FREES (default: NOT defined)
+ Define this if you think that realloc(p, 0) should be equivalent
+ to free(p). Otherwise, since malloc returns a unique pointer for
+ malloc(0), so does realloc(p, 0).
+ HAVE_MEMCPY (default: defined)
+ Define if you are not otherwise using ANSI STD C, but still
+ have memcpy and memset in your C library and want to use them.
+ Otherwise, simple internal versions are supplied.
+ USE_MEMCPY (default: 1 if HAVE_MEMCPY is defined, 0 otherwise)
+ Define as 1 if you want the C library versions of memset and
+ memcpy called in realloc and calloc (otherwise macro versions are used).
+ At least on some platforms, the simple macro versions usually
+ outperform libc versions.
+ HAVE_MMAP (default: defined as 1)
+ Define to non-zero to optionally make malloc() use mmap() to
+ allocate very large blocks.
+ HAVE_MREMAP (default: defined as 0 unless Linux libc set)
+ Define to non-zero to optionally make realloc() use mremap() to
+ reallocate very large blocks.
+ malloc_getpagesize (default: derived from system #includes)
+ Either a constant or routine call returning the system page size.
+ HAVE_USR_INCLUDE_MALLOC_H (default: NOT defined)
+ Optionally define if you are on a system with a /usr/include/malloc.h
+ that declares struct mallinfo. It is not at all necessary to
+ define this even if you do, but will ensure consistency.
+ INTERNAL_SIZE_T (default: size_t)
+ Define to a 32-bit type (probably `unsigned int') if you are on a
+ 64-bit machine, yet do not want or need to allow malloc requests of
+ greater than 2^31 to be handled. This saves space, especially for
+ very small chunks.
+ INTERNAL_LINUX_C_LIB (default: NOT defined)
+ Defined only when compiled as part of Linux libc.
+ Also note that there is some odd internal name-mangling via defines
+ (for example, internally, `malloc' is named `mALLOc') needed
+ when compiling in this case. These look funny but don't otherwise
+ affect anything.
+ INTERNAL_NEWLIB (default: NOT defined)
+ Defined only when compiled as part of the Cygnus newlib
+ distribution.
+ WIN32 (default: undefined)
+ Define this on MS win (95, nt) platforms to compile in sbrk emulation.
+ LACKS_UNISTD_H (default: undefined)
+ Define this if your system does not have a <unistd.h>.
+ MORECORE (default: sbrk)
+ The name of the routine to call to obtain more memory from the system.
+ MORECORE_FAILURE (default: -1)
+ The value returned upon failure of MORECORE.
+ MORECORE_CLEARS (default 1)
+ True (1) if the routine mapped to MORECORE zeroes out memory (which
+ holds for sbrk).
+ DEFAULT_TRIM_THRESHOLD
+ DEFAULT_TOP_PAD
+ DEFAULT_MMAP_THRESHOLD
+ DEFAULT_MMAP_MAX
+ Default values of tunable parameters (described in detail below)
+ controlling interaction with host system routines (sbrk, mmap, etc).
+ These values may also be changed dynamically via mallopt(). The
+ preset defaults are those that give best performance for typical
+ programs/systems.
+
+
+*/
+
+
+
+
+/* Preliminaries */
+
+#ifndef __STD_C
+#ifdef __STDC__
+#define __STD_C 1
+#else
+#if __cplusplus
+#define __STD_C 1
+#else
+#define __STD_C 0
+#endif /*__cplusplus*/
+#endif /*__STDC__*/
+#endif /*__STD_C*/
+
+#ifndef Void_t
+#if __STD_C
+#define Void_t void
+#else
+#define Void_t char
+#endif
+#endif /*Void_t*/
+
+#if __STD_C
+#include <stddef.h> /* for size_t */
+#else
+#include <sys/types.h>
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdio.h> /* needed for malloc_stats */
+
+
+/*
+ Compile-time options
+*/
+
+
+/*
+
+ Special defines for Cygnus newlib distribution.
+
+ */
+
+#ifdef INTERNAL_NEWLIB
+
+#include <sys/config.h>
+
+/*
+ In newlib, all the publically visible routines take a reentrancy
+ pointer. We don't currently do anything much with it, but we do
+ pass it to the lock routine.
+ */
+
+#include <reent.h>
+
+#define POINTER_UINT unsigned _POINTER_INT
+#define SEPARATE_OBJECTS
+#define HAVE_MMAP 0
+#define MORECORE(size) _sbrk_r(reent_ptr, (size))
+#define MORECORE_CLEARS 0
+#define MALLOC_LOCK __malloc_lock(reent_ptr)
+#define MALLOC_UNLOCK __malloc_unlock(reent_ptr)
+
+#ifndef _WIN32
+#ifdef SMALL_MEMORY
+#define malloc_getpagesize (128)
+#else
+#define malloc_getpagesize (4096)
+#endif
+#endif
+
+#if __STD_C
+extern void __malloc_lock(struct _reent *);
+extern void __malloc_unlock(struct _reent *);
+#else
+extern void __malloc_lock();
+extern void __malloc_unlock();
+#endif
+
+#if __STD_C
+#define RARG struct _reent *reent_ptr,
+#define RONEARG struct _reent *reent_ptr
+#else
+#define RARG reent_ptr
+#define RONEARG reent_ptr
+#define RDECL struct _reent *reent_ptr;
+#endif
+
+#define RCALL reent_ptr,
+#define RONECALL reent_ptr
+
+#else /* ! INTERNAL_NEWLIB */
+
+#define POINTER_UINT unsigned long
+#define RARG
+#define RONEARG
+#define RDECL
+#define RCALL
+#define RONECALL
+
+#endif /* ! INTERNAL_NEWLIB */
+
+/*
+ Debugging:
+
+ Because freed chunks may be overwritten with link fields, this
+ malloc will often die when freed memory is overwritten by user
+ programs. This can be very effective (albeit in an annoying way)
+ in helping track down dangling pointers.
+
+ If you compile with -DDEBUG, a number of assertion checks are
+ enabled that will catch more memory errors. You probably won't be
+ able to make much sense of the actual assertion errors, but they
+ should help you locate incorrectly overwritten memory. The
+ checking is fairly extensive, and will slow down execution
+ noticeably. Calling malloc_stats or mallinfo with DEBUG set will
+ attempt to check every non-mmapped allocated and free chunk in the
+ course of computing the summmaries. (By nature, mmapped regions
+ cannot be checked very much automatically.)
+
+ Setting DEBUG may also be helpful if you are trying to modify
+ this code. The assertions in the check routines spell out in more
+ detail the assumptions and invariants underlying the algorithms.
+
+*/
+
+#if DEBUG
+#include <assert.h>
+#else
+#define assert(x) ((void)0)
+#endif
+
+
+/*
+ SEPARATE_OBJECTS should be defined if you want each function to go
+ into a separate .o file. You must then compile malloc.c once per
+ function, defining the appropriate DEFINE_ macro. See below for the
+ list of macros.
+ */
+
+#ifndef SEPARATE_OBJECTS
+#define DEFINE_MALLOC
+#define DEFINE_FREE
+#define DEFINE_REALLOC
+#define DEFINE_CALLOC
+#define DEFINE_CFREE
+#define DEFINE_MEMALIGN
+#define DEFINE_VALLOC
+#define DEFINE_PVALLOC
+#define DEFINE_MALLINFO
+#define DEFINE_MALLOC_STATS
+#define DEFINE_MALLOC_USABLE_SIZE
+#define DEFINE_MALLOPT
+
+#define STATIC static
+#else
+#define STATIC
+#endif
+
+/*
+ Define MALLOC_LOCK and MALLOC_UNLOCK to C expressions to run to
+ lock and unlock the malloc data structures. MALLOC_LOCK may be
+ called recursively.
+ */
+
+#ifndef MALLOC_LOCK
+#define MALLOC_LOCK
+#endif
+
+#ifndef MALLOC_UNLOCK
+#define MALLOC_UNLOCK
+#endif
+
+/*
+ INTERNAL_SIZE_T is the word-size used for internal bookkeeping
+ of chunk sizes. On a 64-bit machine, you can reduce malloc
+ overhead by defining INTERNAL_SIZE_T to be a 32 bit `unsigned int'
+ at the expense of not being able to handle requests greater than
+ 2^31. This limitation is hardly ever a concern; you are encouraged
+ to set this. However, the default version is the same as size_t.
+*/
+
+#ifndef INTERNAL_SIZE_T
+#define INTERNAL_SIZE_T size_t
+#endif
+
+/*
+ Following is needed on implementations whereby long > size_t.
+ The problem is caused because the code performs subtractions of
+ size_t values and stores the result in long values. In the case
+ where long > size_t and the first value is actually less than
+ the second value, the resultant value is positive. For example,
+ (long)(x - y) where x = 0 and y is 1 ends up being 0x00000000FFFFFFFF
+ which is 2*31 - 1 instead of 0xFFFFFFFFFFFFFFFF. This is due to the
+ fact that assignment from unsigned to signed won't sign extend.
+*/
+
+#ifdef SIZE_T_SMALLER_THAN_LONG
+#define long_sub_size_t(x, y) ( (x < y) ? -((long)(y - x)) : (x - y) );
+#else
+#define long_sub_size_t(x, y) ( (long)(x - y) )
+#endif
+
+/*
+ REALLOC_ZERO_BYTES_FREES should be set if a call to
+ realloc with zero bytes should be the same as a call to free.
+ Some people think it should. Otherwise, since this malloc
+ returns a unique pointer for malloc(0), so does realloc(p, 0).
+*/
+
+
+/* #define REALLOC_ZERO_BYTES_FREES */
+
+
+/*
+ WIN32 causes an emulation of sbrk to be compiled in
+ mmap-based options are not currently supported in WIN32.
+*/
+
+/* #define WIN32 */
+#ifdef WIN32
+#define MORECORE wsbrk
+#define HAVE_MMAP 0
+#endif
+
+
+/*
+ HAVE_MEMCPY should be defined if you are not otherwise using
+ ANSI STD C, but still have memcpy and memset in your C library
+ and want to use them in calloc and realloc. Otherwise simple
+ macro versions are defined here.
+
+ USE_MEMCPY should be defined as 1 if you actually want to
+ have memset and memcpy called. People report that the macro
+ versions are often enough faster than libc versions on many
+ systems that it is better to use them.
+
+*/
+
+#define HAVE_MEMCPY
+
+#ifndef USE_MEMCPY
+#ifdef HAVE_MEMCPY
+#define USE_MEMCPY 1
+#else
+#define USE_MEMCPY 0
+#endif
+#endif
+
+#if (__STD_C || defined(HAVE_MEMCPY))
+
+#if __STD_C
+void* memset(void*, int, size_t);
+void* memcpy(void*, const void*, size_t);
+#else
+Void_t* memset();
+Void_t* memcpy();
+#endif
+#endif
+
+#if USE_MEMCPY
+
+/* The following macros are only invoked with (2n+1)-multiples of
+ INTERNAL_SIZE_T units, with a positive integer n. This is exploited
+ for fast inline execution when n is small. */
+
+#define MALLOC_ZERO(charp, nbytes) \
+do { \
+ INTERNAL_SIZE_T mzsz = (nbytes); \
+ if(mzsz <= 9*sizeof(mzsz)) { \
+ INTERNAL_SIZE_T* mz = (INTERNAL_SIZE_T*) (charp); \
+ if(mzsz >= 5*sizeof(mzsz)) { *mz++ = 0; \
+ *mz++ = 0; \
+ if(mzsz >= 7*sizeof(mzsz)) { *mz++ = 0; \
+ *mz++ = 0; \
+ if(mzsz >= 9*sizeof(mzsz)) { *mz++ = 0; \
+ *mz++ = 0; }}} \
+ *mz++ = 0; \
+ *mz++ = 0; \
+ *mz = 0; \
+ } else memset((charp), 0, mzsz); \
+} while(0)
+
+#define MALLOC_COPY(dest,src,nbytes) \
+do { \
+ INTERNAL_SIZE_T mcsz = (nbytes); \
+ if(mcsz <= 9*sizeof(mcsz)) { \
+ INTERNAL_SIZE_T* mcsrc = (INTERNAL_SIZE_T*) (src); \
+ INTERNAL_SIZE_T* mcdst = (INTERNAL_SIZE_T*) (dest); \
+ if(mcsz >= 5*sizeof(mcsz)) { *mcdst++ = *mcsrc++; \
+ *mcdst++ = *mcsrc++; \
+ if(mcsz >= 7*sizeof(mcsz)) { *mcdst++ = *mcsrc++; \
+ *mcdst++ = *mcsrc++; \
+ if(mcsz >= 9*sizeof(mcsz)) { *mcdst++ = *mcsrc++; \
+ *mcdst++ = *mcsrc++; }}} \
+ *mcdst++ = *mcsrc++; \
+ *mcdst++ = *mcsrc++; \
+ *mcdst = *mcsrc ; \
+ } else memcpy(dest, src, mcsz); \
+} while(0)
+
+#else /* !USE_MEMCPY */
+
+/* Use Duff's device for good zeroing/copying performance. */
+
+#define MALLOC_ZERO(charp, nbytes) \
+do { \
+ INTERNAL_SIZE_T* mzp = (INTERNAL_SIZE_T*)(charp); \
+ long mctmp = (nbytes)/sizeof(INTERNAL_SIZE_T), mcn; \
+ if (mctmp < 8) mcn = 0; else { mcn = (mctmp-1)/8; mctmp %= 8; } \
+ switch (mctmp) { \
+ case 0: for(;;) { *mzp++ = 0; \
+ case 7: *mzp++ = 0; \
+ case 6: *mzp++ = 0; \
+ case 5: *mzp++ = 0; \
+ case 4: *mzp++ = 0; \
+ case 3: *mzp++ = 0; \
+ case 2: *mzp++ = 0; \
+ case 1: *mzp++ = 0; if(mcn <= 0) break; mcn--; } \
+ } \
+} while(0)
+
+#define MALLOC_COPY(dest,src,nbytes) \
+do { \
+ INTERNAL_SIZE_T* mcsrc = (INTERNAL_SIZE_T*) src; \
+ INTERNAL_SIZE_T* mcdst = (INTERNAL_SIZE_T*) dest; \
+ long mctmp = (nbytes)/sizeof(INTERNAL_SIZE_T), mcn; \
+ if (mctmp < 8) mcn = 0; else { mcn = (mctmp-1)/8; mctmp %= 8; } \
+ switch (mctmp) { \
+ case 0: for(;;) { *mcdst++ = *mcsrc++; \
+ case 7: *mcdst++ = *mcsrc++; \
+ case 6: *mcdst++ = *mcsrc++; \
+ case 5: *mcdst++ = *mcsrc++; \
+ case 4: *mcdst++ = *mcsrc++; \
+ case 3: *mcdst++ = *mcsrc++; \
+ case 2: *mcdst++ = *mcsrc++; \
+ case 1: *mcdst++ = *mcsrc++; if(mcn <= 0) break; mcn--; } \
+ } \
+} while(0)
+
+#endif
+
+
+/*
+ Define HAVE_MMAP to optionally make malloc() use mmap() to
+ allocate very large blocks. These will be returned to the
+ operating system immediately after a free().
+*/
+
+#ifndef HAVE_MMAP
+#define HAVE_MMAP 1
+#endif
+
+/*
+ Define HAVE_MREMAP to make realloc() use mremap() to re-allocate
+ large blocks. This is currently only possible on Linux with
+ kernel versions newer than 1.3.77.
+*/
+
+#ifndef HAVE_MREMAP
+#ifdef INTERNAL_LINUX_C_LIB
+#define HAVE_MREMAP 1
+#else
+#define HAVE_MREMAP 0
+#endif
+#endif
+
+#if HAVE_MMAP
+
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/mman.h>
+
+#if !defined(MAP_ANONYMOUS) && defined(MAP_ANON)
+#define MAP_ANONYMOUS MAP_ANON
+#endif
+
+#endif /* HAVE_MMAP */
+
+/*
+ Access to system page size. To the extent possible, this malloc
+ manages memory from the system in page-size units.
+
+ The following mechanics for getpagesize were adapted from
+ bsd/gnu getpagesize.h
+*/
+
+#ifndef LACKS_UNISTD_H
+# include <unistd.h>
+#endif
+
+#ifndef malloc_getpagesize
+# ifdef _SC_PAGESIZE /* some SVR4 systems omit an underscore */
+# ifndef _SC_PAGE_SIZE
+# define _SC_PAGE_SIZE _SC_PAGESIZE
+# endif
+# endif
+# ifdef _SC_PAGE_SIZE
+# define malloc_getpagesize sysconf(_SC_PAGE_SIZE)
+# else
+# if defined(BSD) || defined(DGUX) || defined(HAVE_GETPAGESIZE)
+ extern size_t getpagesize();
+# define malloc_getpagesize getpagesize()
+# else
+# include <sys/param.h>
+# ifdef EXEC_PAGESIZE
+# define malloc_getpagesize EXEC_PAGESIZE
+# else
+# ifdef NBPG
+# ifndef CLSIZE
+# define malloc_getpagesize NBPG
+# else
+# define malloc_getpagesize (NBPG * CLSIZE)
+# endif
+# else
+# ifdef NBPC
+# define malloc_getpagesize NBPC
+# else
+# ifdef PAGESIZE
+# define malloc_getpagesize PAGESIZE
+# else
+# define malloc_getpagesize (4096) /* just guess */
+# endif
+# endif
+# endif
+# endif
+# endif
+# endif
+#endif
+
+
+
+/*
+
+ This version of malloc supports the standard SVID/XPG mallinfo
+ routine that returns a struct containing the same kind of
+ information you can get from malloc_stats. It should work on
+ any SVID/XPG compliant system that has a /usr/include/malloc.h
+ defining struct mallinfo. (If you'd like to install such a thing
+ yourself, cut out the preliminary declarations as described above
+ and below and save them in a malloc.h file. But there's no
+ compelling reason to bother to do this.)
+
+ The main declaration needed is the mallinfo struct that is returned
+ (by-copy) by mallinfo(). The SVID/XPG malloinfo struct contains a
+ bunch of fields, most of which are not even meaningful in this
+ version of malloc. Some of these fields are are instead filled by
+ mallinfo() with other numbers that might possibly be of interest.
+
+ HAVE_USR_INCLUDE_MALLOC_H should be set if you have a
+ /usr/include/malloc.h file that includes a declaration of struct
+ mallinfo. If so, it is included; else an SVID2/XPG2 compliant
+ version is declared below. These must be precisely the same for
+ mallinfo() to work.
+
+*/
+
+/* #define HAVE_USR_INCLUDE_MALLOC_H */
+
+#if HAVE_USR_INCLUDE_MALLOC_H
+#include "/usr/include/malloc.h"
+#else
+
+/* SVID2/XPG mallinfo structure */
+
+struct mallinfo {
+ int arena; /* total space allocated from system */
+ int ordblks; /* number of non-inuse chunks */
+ int smblks; /* unused -- always zero */
+ int hblks; /* number of mmapped regions */
+ int hblkhd; /* total space in mmapped regions */
+ int usmblks; /* unused -- always zero */
+ int fsmblks; /* unused -- always zero */
+ int uordblks; /* total allocated space */
+ int fordblks; /* total non-inuse space */
+ int keepcost; /* top-most, releasable (via malloc_trim) space */
+};
+
+/* SVID2/XPG mallopt options */
+
+#define M_MXFAST 1 /* UNUSED in this malloc */
+#define M_NLBLKS 2 /* UNUSED in this malloc */
+#define M_GRAIN 3 /* UNUSED in this malloc */
+#define M_KEEP 4 /* UNUSED in this malloc */
+
+#endif
+
+/* mallopt options that actually do something */
+
+#define M_TRIM_THRESHOLD -1
+#define M_TOP_PAD -2
+#define M_MMAP_THRESHOLD -3
+#define M_MMAP_MAX -4
+
+
+
+#ifndef DEFAULT_TRIM_THRESHOLD
+#define DEFAULT_TRIM_THRESHOLD (128L * 1024L)
+#endif
+
+/*
+ M_TRIM_THRESHOLD is the maximum amount of unused top-most memory
+ to keep before releasing via malloc_trim in free().
+
+ Automatic trimming is mainly useful in long-lived programs.
+ Because trimming via sbrk can be slow on some systems, and can
+ sometimes be wasteful (in cases where programs immediately
+ afterward allocate more large chunks) the value should be high
+ enough so that your overall system performance would improve by
+ releasing.
+
+ The trim threshold and the mmap control parameters (see below)
+ can be traded off with one another. Trimming and mmapping are
+ two different ways of releasing unused memory back to the
+ system. Between these two, it is often possible to keep
+ system-level demands of a long-lived program down to a bare
+ minimum. For example, in one test suite of sessions measuring
+ the XF86 X server on Linux, using a trim threshold of 128K and a
+ mmap threshold of 192K led to near-minimal long term resource
+ consumption.
+
+ If you are using this malloc in a long-lived program, it should
+ pay to experiment with these values. As a rough guide, you
+ might set to a value close to the average size of a process
+ (program) running on your system. Releasing this much memory
+ would allow such a process to run in memory. Generally, it's
+ worth it to tune for trimming rather tham memory mapping when a
+ program undergoes phases where several large chunks are
+ allocated and released in ways that can reuse each other's
+ storage, perhaps mixed with phases where there are no such
+ chunks at all. And in well-behaved long-lived programs,
+ controlling release of large blocks via trimming versus mapping
+ is usually faster.
+
+ However, in most programs, these parameters serve mainly as
+ protection against the system-level effects of carrying around
+ massive amounts of unneeded memory. Since frequent calls to
+ sbrk, mmap, and munmap otherwise degrade performance, the default
+ parameters are set to relatively high values that serve only as
+ safeguards.
+
+ The default trim value is high enough to cause trimming only in
+ fairly extreme (by current memory consumption standards) cases.
+ It must be greater than page size to have any useful effect. To
+ disable trimming completely, you can set to (unsigned long)(-1);
+
+
+*/
+
+
+#ifndef DEFAULT_TOP_PAD
+#define DEFAULT_TOP_PAD (0)
+#endif
+
+/*
+ M_TOP_PAD is the amount of extra `padding' space to allocate or
+ retain whenever sbrk is called. It is used in two ways internally:
+
+ * When sbrk is called to extend the top of the arena to satisfy
+ a new malloc request, this much padding is added to the sbrk
+ request.
+
+ * When malloc_trim is called automatically from free(),
+ it is used as the `pad' argument.
+
+ In both cases, the actual amount of padding is rounded
+ so that the end of the arena is always a system page boundary.
+
+ The main reason for using padding is to avoid calling sbrk so
+ often. Having even a small pad greatly reduces the likelihood
+ that nearly every malloc request during program start-up (or
+ after trimming) will invoke sbrk, which needlessly wastes
+ time.
+
+ Automatic rounding-up to page-size units is normally sufficient
+ to avoid measurable overhead, so the default is 0. However, in
+ systems where sbrk is relatively slow, it can pay to increase
+ this value, at the expense of carrying around more memory than
+ the program needs.
+
+*/
+
+
+#ifndef DEFAULT_MMAP_THRESHOLD
+#define DEFAULT_MMAP_THRESHOLD (128 * 1024)
+#endif
+
+/*
+
+ M_MMAP_THRESHOLD is the request size threshold for using mmap()
+ to service a request. Requests of at least this size that cannot
+ be allocated using already-existing space will be serviced via mmap.
+ (If enough normal freed space already exists it is used instead.)
+
+ Using mmap segregates relatively large chunks of memory so that
+ they can be individually obtained and released from the host
+ system. A request serviced through mmap is never reused by any
+ other request (at least not directly; the system may just so
+ happen to remap successive requests to the same locations).
+
+ Segregating space in this way has the benefit that mmapped space
+ can ALWAYS be individually released back to the system, which
+ helps keep the system level memory demands of a long-lived
+ program low. Mapped memory can never become `locked' between
+ other chunks, as can happen with normally allocated chunks, which
+ menas that even trimming via malloc_trim would not release them.
+
+ However, it has the disadvantages that:
+
+ 1. The space cannot be reclaimed, consolidated, and then
+ used to service later requests, as happens with normal chunks.
+ 2. It can lead to more wastage because of mmap page alignment
+ requirements
+ 3. It causes malloc performance to be more dependent on host
+ system memory management support routines which may vary in
+ implementation quality and may impose arbitrary
+ limitations. Generally, servicing a request via normal
+ malloc steps is faster than going through a system's mmap.
+
+ All together, these considerations should lead you to use mmap
+ only for relatively large requests.
+
+
+*/
+
+
+
+#ifndef DEFAULT_MMAP_MAX
+#if HAVE_MMAP
+#define DEFAULT_MMAP_MAX (64)
+#else
+#define DEFAULT_MMAP_MAX (0)
+#endif
+#endif
+
+/*
+ M_MMAP_MAX is the maximum number of requests to simultaneously
+ service using mmap. This parameter exists because:
+
+ 1. Some systems have a limited number of internal tables for
+ use by mmap.
+ 2. In most systems, overreliance on mmap can degrade overall
+ performance.
+ 3. If a program allocates many large regions, it is probably
+ better off using normal sbrk-based allocation routines that
+ can reclaim and reallocate normal heap memory. Using a
+ small value allows transition into this mode after the
+ first few allocations.
+
+ Setting to 0 disables all use of mmap. If HAVE_MMAP is not set,
+ the default value is 0, and attempts to set it to non-zero values
+ in mallopt will fail.
+*/
+
+
+
+
+/*
+
+ Special defines for linux libc
+
+ Except when compiled using these special defines for Linux libc
+ using weak aliases, this malloc is NOT designed to work in
+ multithreaded applications. No semaphores or other concurrency
+ control are provided to ensure that multiple malloc or free calls
+ don't run at the same time, which could be disasterous. A single
+ semaphore could be used across malloc, realloc, and free (which is
+ essentially the effect of the linux weak alias approach). It would
+ be hard to obtain finer granularity.
+
+*/
+
+
+#ifdef INTERNAL_LINUX_C_LIB
+
+#if __STD_C
+
+Void_t * __default_morecore_init (ptrdiff_t);
+Void_t *(*__morecore)(ptrdiff_t) = __default_morecore_init;
+
+#else
+
+Void_t * __default_morecore_init ();
+Void_t *(*__morecore)() = __default_morecore_init;
+
+#endif
+
+#define MORECORE (*__morecore)
+#define MORECORE_FAILURE 0
+#define MORECORE_CLEARS 1
+
+#else /* INTERNAL_LINUX_C_LIB */
+
+#ifndef INTERNAL_NEWLIB
+#if __STD_C
+extern Void_t* sbrk(ptrdiff_t);
+#else
+extern Void_t* sbrk();
+#endif
+#endif
+
+#ifndef MORECORE
+#define MORECORE sbrk
+#endif
+
+#ifndef MORECORE_FAILURE
+#define MORECORE_FAILURE -1
+#endif
+
+#ifndef MORECORE_CLEARS
+#define MORECORE_CLEARS 1
+#endif
+
+#endif /* INTERNAL_LINUX_C_LIB */
+
+#if defined(INTERNAL_LINUX_C_LIB) && defined(__ELF__)
+
+#define cALLOc __libc_calloc
+#define fREe __libc_free
+#define mALLOc __libc_malloc
+#define mEMALIGn __libc_memalign
+#define rEALLOc __libc_realloc
+#define vALLOc __libc_valloc
+#define pvALLOc __libc_pvalloc
+#define mALLINFo __libc_mallinfo
+#define mALLOPt __libc_mallopt
+
+#pragma weak calloc = __libc_calloc
+#pragma weak free = __libc_free
+#pragma weak cfree = __libc_free
+#pragma weak malloc = __libc_malloc
+#pragma weak memalign = __libc_memalign
+#pragma weak realloc = __libc_realloc
+#pragma weak valloc = __libc_valloc
+#pragma weak pvalloc = __libc_pvalloc
+#pragma weak mallinfo = __libc_mallinfo
+#pragma weak mallopt = __libc_mallopt
+
+#else
+
+#ifdef INTERNAL_NEWLIB
+
+#define cALLOc _calloc_r
+#define fREe _free_r
+#define mALLOc _malloc_r
+#define mEMALIGn _memalign_r
+#define rEALLOc _realloc_r
+#define vALLOc _valloc_r
+#define pvALLOc _pvalloc_r
+#define mALLINFo _mallinfo_r
+#define mALLOPt _mallopt_r
+
+#define malloc_stats _malloc_stats_r
+#define malloc_trim _malloc_trim_r
+#define malloc_usable_size _malloc_usable_size_r
+
+#define malloc_update_mallinfo __malloc_update_mallinfo
+
+#define malloc_av_ __malloc_av_
+#define malloc_current_mallinfo __malloc_current_mallinfo
+#define malloc_max_sbrked_mem __malloc_max_sbrked_mem
+#define malloc_max_total_mem __malloc_max_total_mem
+#define malloc_sbrk_base __malloc_sbrk_base
+#define malloc_top_pad __malloc_top_pad
+#define malloc_trim_threshold __malloc_trim_threshold
+
+#else /* ! INTERNAL_NEWLIB */
+
+#define cALLOc calloc
+#define fREe free
+#define mALLOc malloc
+#define mEMALIGn memalign
+#define rEALLOc realloc
+#define vALLOc valloc
+#define pvALLOc pvalloc
+#define mALLINFo mallinfo
+#define mALLOPt mallopt
+
+#endif /* ! INTERNAL_NEWLIB */
+#endif
+
+/* Public routines */
+
+#if __STD_C
+
+Void_t* mALLOc(RARG size_t);
+void fREe(RARG Void_t*);
+Void_t* rEALLOc(RARG Void_t*, size_t);
+Void_t* mEMALIGn(RARG size_t, size_t);
+Void_t* vALLOc(RARG size_t);
+Void_t* pvALLOc(RARG size_t);
+Void_t* cALLOc(RARG size_t, size_t);
+void cfree(Void_t*);
+int malloc_trim(RARG size_t);
+size_t malloc_usable_size(RARG Void_t*);
+void malloc_stats(RONEARG);
+int mALLOPt(RARG int, int);
+struct mallinfo mALLINFo(RONEARG);
+#else
+Void_t* mALLOc();
+void fREe();
+Void_t* rEALLOc();
+Void_t* mEMALIGn();
+Void_t* vALLOc();
+Void_t* pvALLOc();
+Void_t* cALLOc();
+void cfree();
+int malloc_trim();
+size_t malloc_usable_size();
+void malloc_stats();
+int mALLOPt();
+struct mallinfo mALLINFo();
+#endif
+
+
+#ifdef __cplusplus
+}; /* end of extern "C" */
+#endif
+
+/* ---------- To make a malloc.h, end cutting here ------------ */
+
+
+/*
+ Emulation of sbrk for WIN32
+ All code within the ifdef WIN32 is untested by me.
+*/
+
+
+#ifdef WIN32
+
+#define AlignPage(add) (((add) + (malloc_getpagesize-1)) &
+~(malloc_getpagesize-1))
+
+/* resrve 64MB to insure large contiguous space */
+#define RESERVED_SIZE (1024*1024*64)
+#define NEXT_SIZE (2048*1024)
+#define TOP_MEMORY ((unsigned long)2*1024*1024*1024)
+
+struct GmListElement;
+typedef struct GmListElement GmListElement;
+
+struct GmListElement
+{
+ GmListElement* next;
+ void* base;
+};
+
+static GmListElement* head = 0;
+static unsigned int gNextAddress = 0;
+static unsigned int gAddressBase = 0;
+static unsigned int gAllocatedSize = 0;
+
+static
+GmListElement* makeGmListElement (void* bas)
+{
+ GmListElement* this;
+ this = (GmListElement*)(void*)LocalAlloc (0, sizeof (GmListElement));
+ ASSERT (this);
+ if (this)
+ {
+ this->base = bas;
+ this->next = head;
+ head = this;
+ }
+ return this;
+}
+
+void gcleanup ()
+{
+ BOOL rval;
+ ASSERT ( (head == NULL) || (head->base == (void*)gAddressBase));
+ if (gAddressBase && (gNextAddress - gAddressBase))
+ {
+ rval = VirtualFree ((void*)gAddressBase,
+ gNextAddress - gAddressBase,
+ MEM_DECOMMIT);
+ ASSERT (rval);
+ }
+ while (head)
+ {
+ GmListElement* next = head->next;
+ rval = VirtualFree (head->base, 0, MEM_RELEASE);
+ ASSERT (rval);
+ LocalFree (head);
+ head = next;
+ }
+}
+
+static
+void* findRegion (void* start_address, unsigned long size)
+{
+ MEMORY_BASIC_INFORMATION info;
+ while ((unsigned long)start_address < TOP_MEMORY)
+ {
+ VirtualQuery (start_address, &info, sizeof (info));
+ if (info.State != MEM_FREE)
+ start_address = (char*)info.BaseAddress + info.RegionSize;
+ else if (info.RegionSize >= size)
+ return start_address;
+ else
+ start_address = (char*)info.BaseAddress + info.RegionSize;
+ }
+ return NULL;
+
+}
+
+
+void* wsbrk (long size)
+{
+ void* tmp;
+ if (size > 0)
+ {
+ if (gAddressBase == 0)
+ {
+ gAllocatedSize = max (RESERVED_SIZE, AlignPage (size));
+ gNextAddress = gAddressBase =
+ (unsigned int)VirtualAlloc (NULL, gAllocatedSize,
+ MEM_RESERVE, PAGE_NOACCESS);
+ } else if (AlignPage (gNextAddress + size) > (gAddressBase +
+gAllocatedSize))
+ {
+ long new_size = max (NEXT_SIZE, AlignPage (size));
+ void* new_address = (void*)(gAddressBase+gAllocatedSize);
+ do
+ {
+ new_address = findRegion (new_address, new_size);
+
+ if (new_address == 0)
+ return (void*)-1;
+
+ gAddressBase = gNextAddress =
+ (unsigned int)VirtualAlloc (new_address, new_size,
+ MEM_RESERVE, PAGE_NOACCESS);
+ // repeat in case of race condition
+ // The region that we found has been snagged
+ // by another thread
+ }
+ while (gAddressBase == 0);
+
+ ASSERT (new_address == (void*)gAddressBase);
+
+ gAllocatedSize = new_size;
+
+ if (!makeGmListElement ((void*)gAddressBase))
+ return (void*)-1;
+ }
+ if ((size + gNextAddress) > AlignPage (gNextAddress))
+ {
+ void* res;
+ res = VirtualAlloc ((void*)AlignPage (gNextAddress),
+ (size + gNextAddress -
+ AlignPage (gNextAddress)),
+ MEM_COMMIT, PAGE_READWRITE);
+ if (res == 0)
+ return (void*)-1;
+ }
+ tmp = (void*)gNextAddress;
+ gNextAddress = (unsigned int)tmp + size;
+ return tmp;
+ }
+ else if (size < 0)
+ {
+ unsigned int alignedGoal = AlignPage (gNextAddress + size);
+ /* Trim by releasing the virtual memory */
+ if (alignedGoal >= gAddressBase)
+ {
+ VirtualFree ((void*)alignedGoal, gNextAddress - alignedGoal,
+ MEM_DECOMMIT);
+ gNextAddress = gNextAddress + size;
+ return (void*)gNextAddress;
+ }
+ else
+ {
+ VirtualFree ((void*)gAddressBase, gNextAddress - gAddressBase,
+ MEM_DECOMMIT);
+ gNextAddress = gAddressBase;
+ return (void*)-1;
+ }
+ }
+ else
+ {
+ return (void*)gNextAddress;
+ }
+}
+
+#endif
+
+
+
+/*
+ Type declarations
+*/
+
+
+struct malloc_chunk
+{
+ INTERNAL_SIZE_T prev_size; /* Size of previous chunk (if free). */
+ INTERNAL_SIZE_T size; /* Size in bytes, including overhead. */
+ struct malloc_chunk* fd; /* double links -- used only if free. */
+ struct malloc_chunk* bk;
+};
+
+typedef struct malloc_chunk* mchunkptr;
+
+/*
+
+ malloc_chunk details:
+
+ (The following includes lightly edited explanations by Colin Plumb.)
+
+ Chunks of memory are maintained using a `boundary tag' method as
+ described in e.g., Knuth or Standish. (See the paper by Paul
+ Wilson ftp://ftp.cs.utexas.edu/pub/garbage/allocsrv.ps for a
+ survey of such techniques.) Sizes of free chunks are stored both
+ in the front of each chunk and at the end. This makes
+ consolidating fragmented chunks into bigger chunks very fast. The
+ size fields also hold bits representing whether chunks are free or
+ in use.
+
+ An allocated chunk looks like this:
+
+
+ chunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Size of previous chunk, if allocated | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Size of chunk, in bytes |P|
+ mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | User data starts here... .
+ . .
+ . (malloc_usable_space() bytes) .
+ . |
+nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Size of chunk |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+
+ Where "chunk" is the front of the chunk for the purpose of most of
+ the malloc code, but "mem" is the pointer that is returned to the
+ user. "Nextchunk" is the beginning of the next contiguous chunk.
+
+ Chunks always begin on even word boundries, so the mem portion
+ (which is returned to the user) is also on an even word boundary, and
+ thus double-word aligned.
+
+ Free chunks are stored in circular doubly-linked lists, and look like this:
+
+ chunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Size of previous chunk |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ `head:' | Size of chunk, in bytes |P|
+ mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Forward pointer to next chunk in list |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Back pointer to previous chunk in list |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Unused space (may be 0 bytes long) .
+ . .
+ . |
+nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ `foot:' | Size of chunk, in bytes |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ The P (PREV_INUSE) bit, stored in the unused low-order bit of the
+ chunk size (which is always a multiple of two words), is an in-use
+ bit for the *previous* chunk. If that bit is *clear*, then the
+ word before the current chunk size contains the previous chunk
+ size, and can be used to find the front of the previous chunk.
+ (The very first chunk allocated always has this bit set,
+ preventing access to non-existent (or non-owned) memory.)
+
+ Note that the `foot' of the current chunk is actually represented
+ as the prev_size of the NEXT chunk. (This makes it easier to
+ deal with alignments etc).
+
+ The two exceptions to all this are
+
+ 1. The special chunk `top', which doesn't bother using the
+ trailing size field since there is no
+ next contiguous chunk that would have to index off it. (After
+ initialization, `top' is forced to always exist. If it would
+ become less than MINSIZE bytes long, it is replenished via
+ malloc_extend_top.)
+
+ 2. Chunks allocated via mmap, which have the second-lowest-order
+ bit (IS_MMAPPED) set in their size fields. Because they are
+ never merged or traversed from any other chunk, they have no
+ foot size or inuse information.
+
+ Available chunks are kept in any of several places (all declared below):
+
+ * `av': An array of chunks serving as bin headers for consolidated
+ chunks. Each bin is doubly linked. The bins are approximately
+ proportionally (log) spaced. There are a lot of these bins
+ (128). This may look excessive, but works very well in
+ practice. All procedures maintain the invariant that no
+ consolidated chunk physically borders another one. Chunks in
+ bins are kept in size order, with ties going to the
+ approximately least recently used chunk.
+
+ The chunks in each bin are maintained in decreasing sorted order by
+ size. This is irrelevant for the small bins, which all contain
+ the same-sized chunks, but facilitates best-fit allocation for
+ larger chunks. (These lists are just sequential. Keeping them in
+ order almost never requires enough traversal to warrant using
+ fancier ordered data structures.) Chunks of the same size are
+ linked with the most recently freed at the front, and allocations
+ are taken from the back. This results in LRU or FIFO allocation
+ order, which tends to give each chunk an equal opportunity to be
+ consolidated with adjacent freed chunks, resulting in larger free
+ chunks and less fragmentation.
+
+ * `top': The top-most available chunk (i.e., the one bordering the
+ end of available memory) is treated specially. It is never
+ included in any bin, is used only if no other chunk is
+ available, and is released back to the system if it is very
+ large (see M_TRIM_THRESHOLD).
+
+ * `last_remainder': A bin holding only the remainder of the
+ most recently split (non-top) chunk. This bin is checked
+ before other non-fitting chunks, so as to provide better
+ locality for runs of sequentially allocated chunks.
+
+ * Implicitly, through the host system's memory mapping tables.
+ If supported, requests greater than a threshold are usually
+ serviced via calls to mmap, and then later released via munmap.
+
+*/
+
+
+
+
+
+
+/* sizes, alignments */
+
+#define SIZE_SZ (sizeof(INTERNAL_SIZE_T))
+#ifndef MALLOC_ALIGNMENT
+#define MALLOC_ALIGN 8
+#define MALLOC_ALIGNMENT (SIZE_SZ + SIZE_SZ)
+#else
+#define MALLOC_ALIGN MALLOC_ALIGNMENT
+#endif
+#define MALLOC_ALIGN_MASK (MALLOC_ALIGNMENT - 1)
+#define MINSIZE (sizeof(struct malloc_chunk))
+
+/* conversion from malloc headers to user pointers, and back */
+
+#define chunk2mem(p) ((Void_t*)((char*)(p) + 2*SIZE_SZ))
+#define mem2chunk(mem) ((mchunkptr)((char*)(mem) - 2*SIZE_SZ))
+
+/* pad request bytes into a usable size */
+
+#define request2size(req) \
+ (((long)((req) + (SIZE_SZ + MALLOC_ALIGN_MASK)) < \
+ (long)(MINSIZE + MALLOC_ALIGN_MASK)) ? ((MINSIZE + MALLOC_ALIGN_MASK) & ~(MALLOC_ALIGN_MASK)) : \
+ (((req) + (SIZE_SZ + MALLOC_ALIGN_MASK)) & ~(MALLOC_ALIGN_MASK)))
+
+/* Check if m has acceptable alignment */
+
+#define aligned_OK(m) (((unsigned long)((m)) & (MALLOC_ALIGN_MASK)) == 0)
+
+
+
+
+/*
+ Physical chunk operations
+*/
+
+
+/* size field is or'ed with PREV_INUSE when previous adjacent chunk in use */
+
+#define PREV_INUSE 0x1
+
+/* size field is or'ed with IS_MMAPPED if the chunk was obtained with mmap() */
+
+#define IS_MMAPPED 0x2
+
+/* Bits to mask off when extracting size */
+
+#define SIZE_BITS (PREV_INUSE|IS_MMAPPED)
+
+
+/* Ptr to next physical malloc_chunk. */
+
+#define next_chunk(p) ((mchunkptr)( ((char*)(p)) + ((p)->size & ~PREV_INUSE) ))
+
+/* Ptr to previous physical malloc_chunk */
+
+#define prev_chunk(p)\
+ ((mchunkptr)( ((char*)(p)) - ((p)->prev_size) ))
+
+
+/* Treat space at ptr + offset as a chunk */
+
+#define chunk_at_offset(p, s) ((mchunkptr)(((char*)(p)) + (s)))
+
+
+
+
+/*
+ Dealing with use bits
+*/
+
+/* extract p's inuse bit */
+
+#define inuse(p)\
+((((mchunkptr)(((char*)(p))+((p)->size & ~PREV_INUSE)))->size) & PREV_INUSE)
+
+/* extract inuse bit of previous chunk */
+
+#define prev_inuse(p) ((p)->size & PREV_INUSE)
+
+/* check for mmap()'ed chunk */
+
+#define chunk_is_mmapped(p) ((p)->size & IS_MMAPPED)
+
+/* set/clear chunk as in use without otherwise disturbing */
+
+#define set_inuse(p)\
+((mchunkptr)(((char*)(p)) + ((p)->size & ~PREV_INUSE)))->size |= PREV_INUSE
+
+#define clear_inuse(p)\
+((mchunkptr)(((char*)(p)) + ((p)->size & ~PREV_INUSE)))->size &= ~(PREV_INUSE)
+
+/* check/set/clear inuse bits in known places */
+
+#define inuse_bit_at_offset(p, s)\
+ (((mchunkptr)(((char*)(p)) + (s)))->size & PREV_INUSE)
+
+#define set_inuse_bit_at_offset(p, s)\
+ (((mchunkptr)(((char*)(p)) + (s)))->size |= PREV_INUSE)
+
+#define clear_inuse_bit_at_offset(p, s)\
+ (((mchunkptr)(((char*)(p)) + (s)))->size &= ~(PREV_INUSE))
+
+
+
+
+/*
+ Dealing with size fields
+*/
+
+/* Get size, ignoring use bits */
+
+#define chunksize(p) ((p)->size & ~(SIZE_BITS))
+
+/* Set size at head, without disturbing its use bit */
+
+#define set_head_size(p, s) ((p)->size = (((p)->size & PREV_INUSE) | (s)))
+
+/* Set size/use ignoring previous bits in header */
+
+#define set_head(p, s) ((p)->size = (s))
+
+/* Set size at footer (only when chunk is not in use) */
+
+#define set_foot(p, s) (((mchunkptr)((char*)(p) + (s)))->prev_size = (s))
+
+
+
+
+
+/*
+ Bins
+
+ The bins, `av_' are an array of pairs of pointers serving as the
+ heads of (initially empty) doubly-linked lists of chunks, laid out
+ in a way so that each pair can be treated as if it were in a
+ malloc_chunk. (This way, the fd/bk offsets for linking bin heads
+ and chunks are the same).
+
+ Bins for sizes < 512 bytes contain chunks of all the same size, spaced
+ 8 bytes apart. Larger bins are approximately logarithmically
+ spaced. (See the table below.) The `av_' array is never mentioned
+ directly in the code, but instead via bin access macros.
+
+ Bin layout:
+
+ 64 bins of size 8
+ 32 bins of size 64
+ 16 bins of size 512
+ 8 bins of size 4096
+ 4 bins of size 32768
+ 2 bins of size 262144
+ 1 bin of size what's left
+
+ There is actually a little bit of slop in the numbers in bin_index
+ for the sake of speed. This makes no difference elsewhere.
+
+ The special chunks `top' and `last_remainder' get their own bins,
+ (this is implemented via yet more trickery with the av_ array),
+ although `top' is never properly linked to its bin since it is
+ always handled specially.
+
+*/
+
+#ifdef SEPARATE_OBJECTS
+#define av_ malloc_av_
+#endif
+
+#define NAV 128 /* number of bins */
+
+typedef struct malloc_chunk* mbinptr;
+
+/* access macros */
+
+#define bin_at(i) ((mbinptr)((char*)&(av_[2*(i) + 2]) - 2*SIZE_SZ))
+#define next_bin(b) ((mbinptr)((char*)(b) + 2 * sizeof(mbinptr)))
+#define prev_bin(b) ((mbinptr)((char*)(b) - 2 * sizeof(mbinptr)))
+
+/*
+ The first 2 bins are never indexed. The corresponding av_ cells are instead
+ used for bookkeeping. This is not to save space, but to simplify
+ indexing, maintain locality, and avoid some initialization tests.
+*/
+
+#define top (bin_at(0)->fd) /* The topmost chunk */
+#define last_remainder (bin_at(1)) /* remainder from last split */
+
+
+/*
+ Because top initially points to its own bin with initial
+ zero size, thus forcing extension on the first malloc request,
+ we avoid having any special code in malloc to check whether
+ it even exists yet. But we still need to in malloc_extend_top.
+*/
+
+#define initial_top ((mchunkptr)(bin_at(0)))
+
+/* Helper macro to initialize bins */
+
+#define IAV(i) bin_at(i), bin_at(i)
+
+#ifdef DEFINE_MALLOC
+STATIC mbinptr av_[NAV * 2 + 2] = {
+ 0, 0,
+ IAV(0), IAV(1), IAV(2), IAV(3), IAV(4), IAV(5), IAV(6), IAV(7),
+ IAV(8), IAV(9), IAV(10), IAV(11), IAV(12), IAV(13), IAV(14), IAV(15),
+ IAV(16), IAV(17), IAV(18), IAV(19), IAV(20), IAV(21), IAV(22), IAV(23),
+ IAV(24), IAV(25), IAV(26), IAV(27), IAV(28), IAV(29), IAV(30), IAV(31),
+ IAV(32), IAV(33), IAV(34), IAV(35), IAV(36), IAV(37), IAV(38), IAV(39),
+ IAV(40), IAV(41), IAV(42), IAV(43), IAV(44), IAV(45), IAV(46), IAV(47),
+ IAV(48), IAV(49), IAV(50), IAV(51), IAV(52), IAV(53), IAV(54), IAV(55),
+ IAV(56), IAV(57), IAV(58), IAV(59), IAV(60), IAV(61), IAV(62), IAV(63),
+ IAV(64), IAV(65), IAV(66), IAV(67), IAV(68), IAV(69), IAV(70), IAV(71),
+ IAV(72), IAV(73), IAV(74), IAV(75), IAV(76), IAV(77), IAV(78), IAV(79),
+ IAV(80), IAV(81), IAV(82), IAV(83), IAV(84), IAV(85), IAV(86), IAV(87),
+ IAV(88), IAV(89), IAV(90), IAV(91), IAV(92), IAV(93), IAV(94), IAV(95),
+ IAV(96), IAV(97), IAV(98), IAV(99), IAV(100), IAV(101), IAV(102), IAV(103),
+ IAV(104), IAV(105), IAV(106), IAV(107), IAV(108), IAV(109), IAV(110), IAV(111),
+ IAV(112), IAV(113), IAV(114), IAV(115), IAV(116), IAV(117), IAV(118), IAV(119),
+ IAV(120), IAV(121), IAV(122), IAV(123), IAV(124), IAV(125), IAV(126), IAV(127)
+};
+#else
+extern mbinptr av_[NAV * 2 + 2];
+#endif
+
+
+
+/* field-extraction macros */
+
+#define first(b) ((b)->fd)
+#define last(b) ((b)->bk)
+
+/*
+ Indexing into bins
+*/
+
+#define bin_index(sz) \
+(((((unsigned long)(sz)) >> 9) == 0) ? (((unsigned long)(sz)) >> 3): \
+ ((((unsigned long)(sz)) >> 9) <= 4) ? 56 + (((unsigned long)(sz)) >> 6): \
+ ((((unsigned long)(sz)) >> 9) <= 20) ? 91 + (((unsigned long)(sz)) >> 9): \
+ ((((unsigned long)(sz)) >> 9) <= 84) ? 110 + (((unsigned long)(sz)) >> 12): \
+ ((((unsigned long)(sz)) >> 9) <= 340) ? 119 + (((unsigned long)(sz)) >> 15): \
+ ((((unsigned long)(sz)) >> 9) <= 1364) ? 124 + (((unsigned long)(sz)) >> 18): \
+ 126)
+/*
+ bins for chunks < 512 are all spaced SMALLBIN_WIDTH bytes apart, and hold
+ identically sized chunks. This is exploited in malloc.
+*/
+
+#define MAX_SMALLBIN_SIZE 512
+#define SMALLBIN_WIDTH 8
+#define SMALLBIN_WIDTH_BITS 3
+#define MAX_SMALLBIN (MAX_SMALLBIN_SIZE / SMALLBIN_WIDTH) - 1
+
+#define smallbin_index(sz) (((unsigned long)(sz)) >> SMALLBIN_WIDTH_BITS)
+
+/*
+ Requests are `small' if both the corresponding and the next bin are small
+*/
+
+#define is_small_request(nb) (nb < MAX_SMALLBIN_SIZE - SMALLBIN_WIDTH)
+
+
+
+/*
+ To help compensate for the large number of bins, a one-level index
+ structure is used for bin-by-bin searching. `binblocks' is a
+ one-word bitvector recording whether groups of BINBLOCKWIDTH bins
+ have any (possibly) non-empty bins, so they can be skipped over
+ all at once during during traversals. The bits are NOT always
+ cleared as soon as all bins in a block are empty, but instead only
+ when all are noticed to be empty during traversal in malloc.
+*/
+
+#define BINBLOCKWIDTH 4 /* bins per block */
+
+#define binblocks (bin_at(0)->size) /* bitvector of nonempty blocks */
+
+/* bin<->block macros */
+
+#define idx2binblock(ix) ((unsigned long)1 << (ix / BINBLOCKWIDTH))
+#define mark_binblock(ii) (binblocks |= idx2binblock(ii))
+#define clear_binblock(ii) (binblocks &= ~(idx2binblock(ii)))
+
+
+
+
+
+/* Other static bookkeeping data */
+
+#ifdef SEPARATE_OBJECTS
+#define trim_threshold malloc_trim_threshold
+#define top_pad malloc_top_pad
+#define n_mmaps_max malloc_n_mmaps_max
+#define mmap_threshold malloc_mmap_threshold
+#define sbrk_base malloc_sbrk_base
+#define max_sbrked_mem malloc_max_sbrked_mem
+#define max_total_mem malloc_max_total_mem
+#define current_mallinfo malloc_current_mallinfo
+#define n_mmaps malloc_n_mmaps
+#define max_n_mmaps malloc_max_n_mmaps
+#define mmapped_mem malloc_mmapped_mem
+#define max_mmapped_mem malloc_max_mmapped_mem
+#endif
+
+/* variables holding tunable values */
+
+#ifdef DEFINE_MALLOC
+
+STATIC unsigned long trim_threshold = DEFAULT_TRIM_THRESHOLD;
+STATIC unsigned long top_pad = DEFAULT_TOP_PAD;
+#if HAVE_MMAP
+STATIC unsigned int n_mmaps_max = DEFAULT_MMAP_MAX;
+STATIC unsigned long mmap_threshold = DEFAULT_MMAP_THRESHOLD;
+#endif
+
+/* The first value returned from sbrk */
+STATIC char* sbrk_base = (char*)(-1);
+
+/* The maximum memory obtained from system via sbrk */
+STATIC unsigned long max_sbrked_mem = 0;
+
+/* The maximum via either sbrk or mmap */
+STATIC unsigned long max_total_mem = 0;
+
+/* internal working copy of mallinfo */
+STATIC struct mallinfo current_mallinfo = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+
+#if HAVE_MMAP
+
+/* Tracking mmaps */
+
+STATIC unsigned int n_mmaps = 0;
+STATIC unsigned int max_n_mmaps = 0;
+STATIC unsigned long mmapped_mem = 0;
+STATIC unsigned long max_mmapped_mem = 0;
+
+#endif
+
+#else /* ! DEFINE_MALLOC */
+
+extern unsigned long trim_threshold;
+extern unsigned long top_pad;
+#if HAVE_MMAP
+extern unsigned int n_mmaps_max;
+extern unsigned long mmap_threshold;
+#endif
+extern char* sbrk_base;
+extern unsigned long max_sbrked_mem;
+extern unsigned long max_total_mem;
+extern struct mallinfo current_mallinfo;
+#if HAVE_MMAP
+extern unsigned int n_mmaps;
+extern unsigned int max_n_mmaps;
+extern unsigned long mmapped_mem;
+extern unsigned long max_mmapped_mem;
+#endif
+
+#endif /* ! DEFINE_MALLOC */
+
+/* The total memory obtained from system via sbrk */
+#define sbrked_mem (current_mallinfo.arena)
+
+
+
+/*
+ Debugging support
+*/
+
+#if DEBUG
+
+
+/*
+ These routines make a number of assertions about the states
+ of data structures that should be true at all times. If any
+ are not true, it's very likely that a user program has somehow
+ trashed memory. (It's also possible that there is a coding error
+ in malloc. In which case, please report it!)
+*/
+
+#if __STD_C
+static void do_check_chunk(mchunkptr p)
+#else
+static void do_check_chunk(p) mchunkptr p;
+#endif
+{
+ INTERNAL_SIZE_T sz = p->size & ~PREV_INUSE;
+
+ /* No checkable chunk is mmapped */
+ assert(!chunk_is_mmapped(p));
+
+ /* Check for legal address ... */
+ assert((char*)p >= sbrk_base);
+ if (p != top)
+ assert((char*)p + sz <= (char*)top);
+ else
+ assert((char*)p + sz <= sbrk_base + sbrked_mem);
+
+}
+
+
+#if __STD_C
+static void do_check_free_chunk(mchunkptr p)
+#else
+static void do_check_free_chunk(p) mchunkptr p;
+#endif
+{
+ INTERNAL_SIZE_T sz = p->size & ~PREV_INUSE;
+ mchunkptr next = chunk_at_offset(p, sz);
+
+ do_check_chunk(p);
+
+ /* Check whether it claims to be free ... */
+ assert(!inuse(p));
+
+ /* Unless a special marker, must have OK fields */
+ if ((long)sz >= (long)MINSIZE)
+ {
+ assert((sz & MALLOC_ALIGN_MASK) == 0);
+ assert(aligned_OK(chunk2mem(p)));
+ /* ... matching footer field */
+ assert(next->prev_size == sz);
+ /* ... and is fully consolidated */
+ assert(prev_inuse(p));
+ assert (next == top || inuse(next));
+
+ /* ... and has minimally sane links */
+ assert(p->fd->bk == p);
+ assert(p->bk->fd == p);
+ }
+ else /* markers are always of size SIZE_SZ */
+ assert(sz == SIZE_SZ);
+}
+
+#if __STD_C
+static void do_check_inuse_chunk(mchunkptr p)
+#else
+static void do_check_inuse_chunk(p) mchunkptr p;
+#endif
+{
+ mchunkptr next = next_chunk(p);
+ do_check_chunk(p);
+
+ /* Check whether it claims to be in use ... */
+ assert(inuse(p));
+
+ /* ... and is surrounded by OK chunks.
+ Since more things can be checked with free chunks than inuse ones,
+ if an inuse chunk borders them and debug is on, it's worth doing them.
+ */
+ if (!prev_inuse(p))
+ {
+ mchunkptr prv = prev_chunk(p);
+ assert(next_chunk(prv) == p);
+ do_check_free_chunk(prv);
+ }
+ if (next == top)
+ {
+ assert(prev_inuse(next));
+ assert(chunksize(next) >= MINSIZE);
+ }
+ else if (!inuse(next))
+ do_check_free_chunk(next);
+
+}
+
+#if __STD_C
+static void do_check_malloced_chunk(mchunkptr p, INTERNAL_SIZE_T s)
+#else
+static void do_check_malloced_chunk(p, s) mchunkptr p; INTERNAL_SIZE_T s;
+#endif
+{
+ INTERNAL_SIZE_T sz = p->size & ~PREV_INUSE;
+ long room = long_sub_size_t(sz, s);
+
+ do_check_inuse_chunk(p);
+
+ /* Legal size ... */
+ assert((long)sz >= (long)MINSIZE);
+ assert((sz & MALLOC_ALIGN_MASK) == 0);
+ assert(room >= 0);
+ assert(room < (long)MINSIZE);
+
+ /* ... and alignment */
+ assert(aligned_OK(chunk2mem(p)));
+
+
+ /* ... and was allocated at front of an available chunk */
+ assert(prev_inuse(p));
+
+}
+
+
+#define check_free_chunk(P) do_check_free_chunk(P)
+#define check_inuse_chunk(P) do_check_inuse_chunk(P)
+#define check_chunk(P) do_check_chunk(P)
+#define check_malloced_chunk(P,N) do_check_malloced_chunk(P,N)
+#else
+#define check_free_chunk(P)
+#define check_inuse_chunk(P)
+#define check_chunk(P)
+#define check_malloced_chunk(P,N)
+#endif
+
+
+
+/*
+ Macro-based internal utilities
+*/
+
+
+/*
+ Linking chunks in bin lists.
+ Call these only with variables, not arbitrary expressions, as arguments.
+*/
+
+/*
+ Place chunk p of size s in its bin, in size order,
+ putting it ahead of others of same size.
+*/
+
+
+#define frontlink(P, S, IDX, BK, FD) \
+{ \
+ if (S < MAX_SMALLBIN_SIZE) \
+ { \
+ IDX = smallbin_index(S); \
+ mark_binblock(IDX); \
+ BK = bin_at(IDX); \
+ FD = BK->fd; \
+ P->bk = BK; \
+ P->fd = FD; \
+ FD->bk = BK->fd = P; \
+ } \
+ else \
+ { \
+ IDX = bin_index(S); \
+ BK = bin_at(IDX); \
+ FD = BK->fd; \
+ if (FD == BK) mark_binblock(IDX); \
+ else \
+ { \
+ while (FD != BK && S < chunksize(FD)) FD = FD->fd; \
+ BK = FD->bk; \
+ } \
+ P->bk = BK; \
+ P->fd = FD; \
+ FD->bk = BK->fd = P; \
+ } \
+}
+
+
+/* take a chunk off a list */
+
+#define unlink(P, BK, FD) \
+{ \
+ BK = P->bk; \
+ FD = P->fd; \
+ FD->bk = BK; \
+ BK->fd = FD; \
+} \
+
+/* Place p as the last remainder */
+
+#define link_last_remainder(P) \
+{ \
+ last_remainder->fd = last_remainder->bk = P; \
+ P->fd = P->bk = last_remainder; \
+}
+
+/* Clear the last_remainder bin */
+
+#define clear_last_remainder \
+ (last_remainder->fd = last_remainder->bk = last_remainder)
+
+
+
+
+
+
+/* Routines dealing with mmap(). */
+
+#if HAVE_MMAP
+
+#ifdef DEFINE_MALLOC
+
+#if __STD_C
+static mchunkptr mmap_chunk(size_t size)
+#else
+static mchunkptr mmap_chunk(size) size_t size;
+#endif
+{
+ size_t page_mask = malloc_getpagesize - 1;
+ mchunkptr p;
+
+#ifndef MAP_ANONYMOUS
+ static int fd = -1;
+#endif
+
+ if(n_mmaps >= n_mmaps_max) return 0; /* too many regions */
+
+ /* For mmapped chunks, the overhead is one SIZE_SZ unit larger, because
+ * there is no following chunk whose prev_size field could be used.
+ */
+ size = (size + SIZE_SZ + page_mask) & ~page_mask;
+
+#ifdef MAP_ANONYMOUS
+ p = (mchunkptr)mmap(0, size, PROT_READ|PROT_WRITE,
+ MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
+#else /* !MAP_ANONYMOUS */
+ if (fd < 0)
+ {
+ fd = open("/dev/zero", O_RDWR);
+ if(fd < 0) return 0;
+ }
+ p = (mchunkptr)mmap(0, size, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0);
+#endif
+
+ if(p == (mchunkptr)-1) return 0;
+
+ n_mmaps++;
+ if (n_mmaps > max_n_mmaps) max_n_mmaps = n_mmaps;
+
+ /* We demand that eight bytes into a page must be 8-byte aligned. */
+ assert(aligned_OK(chunk2mem(p)));
+
+ /* The offset to the start of the mmapped region is stored
+ * in the prev_size field of the chunk; normally it is zero,
+ * but that can be changed in memalign().
+ */
+ p->prev_size = 0;
+ set_head(p, size|IS_MMAPPED);
+
+ mmapped_mem += size;
+ if ((unsigned long)mmapped_mem > (unsigned long)max_mmapped_mem)
+ max_mmapped_mem = mmapped_mem;
+ if ((unsigned long)(mmapped_mem + sbrked_mem) > (unsigned long)max_total_mem)
+ max_total_mem = mmapped_mem + sbrked_mem;
+ return p;
+}
+
+#endif /* DEFINE_MALLOC */
+
+#ifdef SEPARATE_OBJECTS
+#define munmap_chunk malloc_munmap_chunk
+#endif
+
+#ifdef DEFINE_FREE
+
+#if __STD_C
+STATIC void munmap_chunk(mchunkptr p)
+#else
+STATIC void munmap_chunk(p) mchunkptr p;
+#endif
+{
+ INTERNAL_SIZE_T size = chunksize(p);
+ int ret;
+
+ assert (chunk_is_mmapped(p));
+ assert(! ((char*)p >= sbrk_base && (char*)p < sbrk_base + sbrked_mem));
+ assert((n_mmaps > 0));
+ assert(((p->prev_size + size) & (malloc_getpagesize-1)) == 0);
+
+ n_mmaps--;
+ mmapped_mem -= (size + p->prev_size);
+
+ ret = munmap((char *)p - p->prev_size, size + p->prev_size);
+
+ /* munmap returns non-zero on failure */
+ assert(ret == 0);
+}
+
+#else /* ! DEFINE_FREE */
+
+#if __STD_C
+extern void munmap_chunk(mchunkptr);
+#else
+extern void munmap_chunk();
+#endif
+
+#endif /* ! DEFINE_FREE */
+
+#if HAVE_MREMAP
+
+#ifdef DEFINE_REALLOC
+
+#if __STD_C
+static mchunkptr mremap_chunk(mchunkptr p, size_t new_size)
+#else
+static mchunkptr mremap_chunk(p, new_size) mchunkptr p; size_t new_size;
+#endif
+{
+ size_t page_mask = malloc_getpagesize - 1;
+ INTERNAL_SIZE_T offset = p->prev_size;
+ INTERNAL_SIZE_T size = chunksize(p);
+ char *cp;
+
+ assert (chunk_is_mmapped(p));
+ assert(! ((char*)p >= sbrk_base && (char*)p < sbrk_base + sbrked_mem));
+ assert((n_mmaps > 0));
+ assert(((size + offset) & (malloc_getpagesize-1)) == 0);
+
+ /* Note the extra SIZE_SZ overhead as in mmap_chunk(). */
+ new_size = (new_size + offset + SIZE_SZ + page_mask) & ~page_mask;
+
+ cp = (char *)mremap((char *)p - offset, size + offset, new_size, 1);
+
+ if (cp == (char *)-1) return 0;
+
+ p = (mchunkptr)(cp + offset);
+
+ assert(aligned_OK(chunk2mem(p)));
+
+ assert((p->prev_size == offset));
+ set_head(p, (new_size - offset)|IS_MMAPPED);
+
+ mmapped_mem -= size + offset;
+ mmapped_mem += new_size;
+ if ((unsigned long)mmapped_mem > (unsigned long)max_mmapped_mem)
+ max_mmapped_mem = mmapped_mem;
+ if ((unsigned long)(mmapped_mem + sbrked_mem) > (unsigned long)max_total_mem)
+ max_total_mem = mmapped_mem + sbrked_mem;
+ return p;
+}
+
+#endif /* DEFINE_REALLOC */
+
+#endif /* HAVE_MREMAP */
+
+#endif /* HAVE_MMAP */
+
+
+
+
+#ifdef DEFINE_MALLOC
+
+/*
+ Extend the top-most chunk by obtaining memory from system.
+ Main interface to sbrk (but see also malloc_trim).
+*/
+
+#if __STD_C
+static void malloc_extend_top(RARG INTERNAL_SIZE_T nb)
+#else
+static void malloc_extend_top(RARG nb) RDECL INTERNAL_SIZE_T nb;
+#endif
+{
+ char* brk; /* return value from sbrk */
+ INTERNAL_SIZE_T front_misalign; /* unusable bytes at front of sbrked space */
+ INTERNAL_SIZE_T correction; /* bytes for 2nd sbrk call */
+ char* new_brk; /* return of 2nd sbrk call */
+ INTERNAL_SIZE_T top_size; /* new size of top chunk */
+
+ mchunkptr old_top = top; /* Record state of old top */
+ INTERNAL_SIZE_T old_top_size = chunksize(old_top);
+ char* old_end = (char*)(chunk_at_offset(old_top, old_top_size));
+
+ /* Pad request with top_pad plus minimal overhead */
+
+ INTERNAL_SIZE_T sbrk_size = nb + top_pad + MINSIZE;
+ unsigned long pagesz = malloc_getpagesize;
+
+ /* If not the first time through, round to preserve page boundary */
+ /* Otherwise, we need to correct to a page size below anyway. */
+ /* (We also correct below if an intervening foreign sbrk call.) */
+
+ if (sbrk_base != (char*)(-1))
+ sbrk_size = (sbrk_size + (pagesz - 1)) & ~(pagesz - 1);
+
+ brk = (char*)(MORECORE (sbrk_size));
+
+ /* Fail if sbrk failed or if a foreign sbrk call killed our space */
+ if (brk == (char*)(MORECORE_FAILURE) ||
+ (brk < old_end && old_top != initial_top))
+ return;
+
+ sbrked_mem += sbrk_size;
+
+ if (brk == old_end) /* can just add bytes to current top */
+ {
+ top_size = sbrk_size + old_top_size;
+ set_head(top, top_size | PREV_INUSE);
+ }
+ else
+ {
+ if (sbrk_base == (char*)(-1)) /* First time through. Record base */
+ sbrk_base = brk;
+ else /* Someone else called sbrk(). Count those bytes as sbrked_mem. */
+ sbrked_mem += brk - (char*)old_end;
+
+ /* Guarantee alignment of first new chunk made from this space */
+ front_misalign = (POINTER_UINT)chunk2mem(brk) & MALLOC_ALIGN_MASK;
+ if (front_misalign > 0)
+ {
+ correction = (MALLOC_ALIGNMENT) - front_misalign;
+ brk += correction;
+ }
+ else
+ correction = 0;
+
+ /* Guarantee the next brk will be at a page boundary */
+ correction += pagesz - ((POINTER_UINT)(brk + sbrk_size) & (pagesz - 1));
+
+ /* Allocate correction */
+ new_brk = (char*)(MORECORE (correction));
+ if (new_brk == (char*)(MORECORE_FAILURE)) return;
+
+ sbrked_mem += correction;
+
+ top = (mchunkptr)brk;
+ top_size = new_brk - brk + correction;
+ set_head(top, top_size | PREV_INUSE);
+
+ if (old_top != initial_top)
+ {
+
+ /* There must have been an intervening foreign sbrk call. */
+ /* A double fencepost is necessary to prevent consolidation */
+
+ /* If not enough space to do this, then user did something very wrong */
+ if (old_top_size < MINSIZE)
+ {
+ set_head(top, PREV_INUSE); /* will force null return from malloc */
+ return;
+ }
+
+ /* Also keep size a multiple of MALLOC_ALIGNMENT */
+ old_top_size = (old_top_size - 3*SIZE_SZ) & ~MALLOC_ALIGN_MASK;
+ set_head_size(old_top, old_top_size);
+ chunk_at_offset(old_top, old_top_size )->size =
+ SIZE_SZ|PREV_INUSE;
+ chunk_at_offset(old_top, old_top_size + SIZE_SZ)->size =
+ SIZE_SZ|PREV_INUSE;
+ /* If possible, release the rest. */
+ if (old_top_size >= MINSIZE)
+ fREe(RCALL chunk2mem(old_top));
+ }
+ }
+
+ if ((unsigned long)sbrked_mem > (unsigned long)max_sbrked_mem)
+ max_sbrked_mem = sbrked_mem;
+#if HAVE_MMAP
+ if ((unsigned long)(mmapped_mem + sbrked_mem) > (unsigned long)max_total_mem)
+ max_total_mem = mmapped_mem + sbrked_mem;
+#else
+ if ((unsigned long)(sbrked_mem) > (unsigned long)max_total_mem)
+ max_total_mem = sbrked_mem;
+#endif
+
+ /* We always land on a page boundary */
+ assert(((unsigned long)((char*)top + top_size) & (pagesz - 1)) == 0);
+}
+
+#endif /* DEFINE_MALLOC */
+
+
+/* Main public routines */
+
+#ifdef DEFINE_MALLOC
+
+/*
+ Malloc Algorthim:
+
+ The requested size is first converted into a usable form, `nb'.
+ This currently means to add 4 bytes overhead plus possibly more to
+ obtain 8-byte alignment and/or to obtain a size of at least
+ MINSIZE (currently 16 bytes), the smallest allocatable size.
+ (All fits are considered `exact' if they are within MINSIZE bytes.)
+
+ From there, the first successful of the following steps is taken:
+
+ 1. The bin corresponding to the request size is scanned, and if
+ a chunk of exactly the right size is found, it is taken.
+
+ 2. The most recently remaindered chunk is used if it is big
+ enough. This is a form of (roving) first fit, used only in
+ the absence of exact fits. Runs of consecutive requests use
+ the remainder of the chunk used for the previous such request
+ whenever possible. This limited use of a first-fit style
+ allocation strategy tends to give contiguous chunks
+ coextensive lifetimes, which improves locality and can reduce
+ fragmentation in the long run.
+
+ 3. Other bins are scanned in increasing size order, using a
+ chunk big enough to fulfill the request, and splitting off
+ any remainder. This search is strictly by best-fit; i.e.,
+ the smallest (with ties going to approximately the least
+ recently used) chunk that fits is selected.
+
+ 4. If large enough, the chunk bordering the end of memory
+ (`top') is split off. (This use of `top' is in accord with
+ the best-fit search rule. In effect, `top' is treated as
+ larger (and thus less well fitting) than any other available
+ chunk since it can be extended to be as large as necessary
+ (up to system limitations).
+
+ 5. If the request size meets the mmap threshold and the
+ system supports mmap, and there are few enough currently
+ allocated mmapped regions, and a call to mmap succeeds,
+ the request is allocated via direct memory mapping.
+
+ 6. Otherwise, the top of memory is extended by
+ obtaining more space from the system (normally using sbrk,
+ but definable to anything else via the MORECORE macro).
+ Memory is gathered from the system (in system page-sized
+ units) in a way that allows chunks obtained across different
+ sbrk calls to be consolidated, but does not require
+ contiguous memory. Thus, it should be safe to intersperse
+ mallocs with other sbrk calls.
+
+
+ All allocations are made from the the `lowest' part of any found
+ chunk. (The implementation invariant is that prev_inuse is
+ always true of any allocated chunk; i.e., that each allocated
+ chunk borders either a previously allocated and still in-use chunk,
+ or the base of its memory arena.)
+
+*/
+
+#if __STD_C
+Void_t* mALLOc(RARG size_t bytes)
+#else
+Void_t* mALLOc(RARG bytes) RDECL size_t bytes;
+#endif
+{
+#ifdef MALLOC_PROVIDED
+
+ malloc (bytes);
+
+#else
+
+ mchunkptr victim; /* inspected/selected chunk */
+ INTERNAL_SIZE_T victim_size; /* its size */
+ int idx; /* index for bin traversal */
+ mbinptr bin; /* associated bin */
+ mchunkptr remainder; /* remainder from a split */
+ long remainder_size; /* its size */
+ int remainder_index; /* its bin index */
+ unsigned long block; /* block traverser bit */
+ int startidx; /* first bin of a traversed block */
+ mchunkptr fwd; /* misc temp for linking */
+ mchunkptr bck; /* misc temp for linking */
+ mbinptr q; /* misc temp */
+
+ INTERNAL_SIZE_T nb = request2size(bytes); /* padded request size; */
+
+ MALLOC_LOCK;
+
+ /* Check for exact match in a bin */
+
+ if (is_small_request(nb)) /* Faster version for small requests */
+ {
+ idx = smallbin_index(nb);
+
+ /* No traversal or size check necessary for small bins. */
+
+ q = bin_at(idx);
+ victim = last(q);
+
+#if MALLOC_ALIGN != 16
+ /* Also scan the next one, since it would have a remainder < MINSIZE */
+ if (victim == q)
+ {
+ q = next_bin(q);
+ victim = last(q);
+ }
+#endif
+ if (victim != q)
+ {
+ victim_size = chunksize(victim);
+ unlink(victim, bck, fwd);
+ set_inuse_bit_at_offset(victim, victim_size);
+ check_malloced_chunk(victim, nb);
+ MALLOC_UNLOCK;
+ return chunk2mem(victim);
+ }
+
+ idx += 2; /* Set for bin scan below. We've already scanned 2 bins. */
+
+ }
+ else
+ {
+ idx = bin_index(nb);
+ bin = bin_at(idx);
+
+ for (victim = last(bin); victim != bin; victim = victim->bk)
+ {
+ victim_size = chunksize(victim);
+ remainder_size = long_sub_size_t(victim_size, nb);
+
+ if (remainder_size >= (long)MINSIZE) /* too big */
+ {
+ --idx; /* adjust to rescan below after checking last remainder */
+ break;
+ }
+
+ else if (remainder_size >= 0) /* exact fit */
+ {
+ unlink(victim, bck, fwd);
+ set_inuse_bit_at_offset(victim, victim_size);
+ check_malloced_chunk(victim, nb);
+ MALLOC_UNLOCK;
+ return chunk2mem(victim);
+ }
+ }
+
+ ++idx;
+
+ }
+
+ /* Try to use the last split-off remainder */
+
+ if ( (victim = last_remainder->fd) != last_remainder)
+ {
+ victim_size = chunksize(victim);
+ remainder_size = long_sub_size_t(victim_size, nb);
+
+ if (remainder_size >= (long)MINSIZE) /* re-split */
+ {
+ remainder = chunk_at_offset(victim, nb);
+ set_head(victim, nb | PREV_INUSE);
+ link_last_remainder(remainder);
+ set_head(remainder, remainder_size | PREV_INUSE);
+ set_foot(remainder, remainder_size);
+ check_malloced_chunk(victim, nb);
+ MALLOC_UNLOCK;
+ return chunk2mem(victim);
+ }
+
+ clear_last_remainder;
+
+ if (remainder_size >= 0) /* exhaust */
+ {
+ set_inuse_bit_at_offset(victim, victim_size);
+ check_malloced_chunk(victim, nb);
+ MALLOC_UNLOCK;
+ return chunk2mem(victim);
+ }
+
+ /* Else place in bin */
+
+ frontlink(victim, victim_size, remainder_index, bck, fwd);
+ }
+
+ /*
+ If there are any possibly nonempty big-enough blocks,
+ search for best fitting chunk by scanning bins in blockwidth units.
+ */
+
+ if ( (block = idx2binblock(idx)) <= binblocks)
+ {
+
+ /* Get to the first marked block */
+
+ if ( (block & binblocks) == 0)
+ {
+ /* force to an even block boundary */
+ idx = (idx & ~(BINBLOCKWIDTH - 1)) + BINBLOCKWIDTH;
+ block <<= 1;
+ while ((block & binblocks) == 0)
+ {
+ idx += BINBLOCKWIDTH;
+ block <<= 1;
+ }
+ }
+
+ /* For each possibly nonempty block ... */
+ for (;;)
+ {
+ startidx = idx; /* (track incomplete blocks) */
+ q = bin = bin_at(idx);
+
+ /* For each bin in this block ... */
+ do
+ {
+ /* Find and use first big enough chunk ... */
+
+ for (victim = last(bin); victim != bin; victim = victim->bk)
+ {
+ victim_size = chunksize(victim);
+ remainder_size = long_sub_size_t(victim_size, nb);
+
+ if (remainder_size >= (long)MINSIZE) /* split */
+ {
+ remainder = chunk_at_offset(victim, nb);
+ set_head(victim, nb | PREV_INUSE);
+ unlink(victim, bck, fwd);
+ link_last_remainder(remainder);
+ set_head(remainder, remainder_size | PREV_INUSE);
+ set_foot(remainder, remainder_size);
+ check_malloced_chunk(victim, nb);
+ MALLOC_UNLOCK;
+ return chunk2mem(victim);
+ }
+
+ else if (remainder_size >= 0) /* take */
+ {
+ set_inuse_bit_at_offset(victim, victim_size);
+ unlink(victim, bck, fwd);
+ check_malloced_chunk(victim, nb);
+ MALLOC_UNLOCK;
+ return chunk2mem(victim);
+ }
+
+ }
+
+ bin = next_bin(bin);
+
+#if MALLOC_ALIGN == 16
+ if (idx < MAX_SMALLBIN)
+ {
+ bin = next_bin(bin);
+ ++idx;
+ }
+#endif
+ } while ((++idx & (BINBLOCKWIDTH - 1)) != 0);
+
+ /* Clear out the block bit. */
+
+ do /* Possibly backtrack to try to clear a partial block */
+ {
+ if ((startidx & (BINBLOCKWIDTH - 1)) == 0)
+ {
+ binblocks &= ~block;
+ break;
+ }
+ --startidx;
+ q = prev_bin(q);
+ } while (first(q) == q);
+
+ /* Get to the next possibly nonempty block */
+
+ if ( (block <<= 1) <= binblocks && (block != 0) )
+ {
+ while ((block & binblocks) == 0)
+ {
+ idx += BINBLOCKWIDTH;
+ block <<= 1;
+ }
+ }
+ else
+ break;
+ }
+ }
+
+
+ /* Try to use top chunk */
+
+ /* Require that there be a remainder, ensuring top always exists */
+ remainder_size = long_sub_size_t(chunksize(top), nb);
+ if (chunksize(top) < nb || remainder_size < (long)MINSIZE)
+ {
+
+#if HAVE_MMAP
+ /* If big and would otherwise need to extend, try to use mmap instead */
+ if ((unsigned long)nb >= (unsigned long)mmap_threshold &&
+ (victim = mmap_chunk(nb)) != 0)
+ {
+ MALLOC_UNLOCK;
+ return chunk2mem(victim);
+ }
+#endif
+
+ /* Try to extend */
+ malloc_extend_top(RCALL nb);
+ remainder_size = long_sub_size_t(chunksize(top), nb);
+ if (chunksize(top) < nb || remainder_size < (long)MINSIZE)
+ {
+ MALLOC_UNLOCK;
+ return 0; /* propagate failure */
+ }
+ }
+
+ victim = top;
+ set_head(victim, nb | PREV_INUSE);
+ top = chunk_at_offset(victim, nb);
+ set_head(top, remainder_size | PREV_INUSE);
+ check_malloced_chunk(victim, nb);
+ MALLOC_UNLOCK;
+ return chunk2mem(victim);
+
+#endif /* MALLOC_PROVIDED */
+}
+
+#endif /* DEFINE_MALLOC */
+
+#ifdef DEFINE_FREE
+
+/*
+
+ free() algorithm :
+
+ cases:
+
+ 1. free(0) has no effect.
+
+ 2. If the chunk was allocated via mmap, it is release via munmap().
+
+ 3. If a returned chunk borders the current high end of memory,
+ it is consolidated into the top, and if the total unused
+ topmost memory exceeds the trim threshold, malloc_trim is
+ called.
+
+ 4. Other chunks are consolidated as they arrive, and
+ placed in corresponding bins. (This includes the case of
+ consolidating with the current `last_remainder').
+
+*/
+
+
+#if __STD_C
+void fREe(RARG Void_t* mem)
+#else
+void fREe(RARG mem) RDECL Void_t* mem;
+#endif
+{
+#ifdef MALLOC_PROVIDED
+
+ free (mem);
+
+#else
+
+ mchunkptr p; /* chunk corresponding to mem */
+ INTERNAL_SIZE_T hd; /* its head field */
+ INTERNAL_SIZE_T sz; /* its size */
+ int idx; /* its bin index */
+ mchunkptr next; /* next contiguous chunk */
+ INTERNAL_SIZE_T nextsz; /* its size */
+ INTERNAL_SIZE_T prevsz; /* size of previous contiguous chunk */
+ mchunkptr bck; /* misc temp for linking */
+ mchunkptr fwd; /* misc temp for linking */
+ int islr; /* track whether merging with last_remainder */
+
+ if (mem == 0) /* free(0) has no effect */
+ return;
+
+ MALLOC_LOCK;
+
+ p = mem2chunk(mem);
+ hd = p->size;
+
+#if HAVE_MMAP
+ if (hd & IS_MMAPPED) /* release mmapped memory. */
+ {
+ munmap_chunk(p);
+ MALLOC_UNLOCK;
+ return;
+ }
+#endif
+
+ check_inuse_chunk(p);
+
+ sz = hd & ~PREV_INUSE;
+ next = chunk_at_offset(p, sz);
+ nextsz = chunksize(next);
+
+ if (next == top) /* merge with top */
+ {
+ sz += nextsz;
+
+ if (!(hd & PREV_INUSE)) /* consolidate backward */
+ {
+ prevsz = p->prev_size;
+ p = chunk_at_offset(p, -prevsz);
+ sz += prevsz;
+ unlink(p, bck, fwd);
+ }
+
+ set_head(p, sz | PREV_INUSE);
+ top = p;
+ if ((unsigned long)(sz) >= (unsigned long)trim_threshold)
+ malloc_trim(RCALL top_pad);
+ MALLOC_UNLOCK;
+ return;
+ }
+
+ set_head(next, nextsz); /* clear inuse bit */
+
+ islr = 0;
+
+ if (!(hd & PREV_INUSE)) /* consolidate backward */
+ {
+ prevsz = p->prev_size;
+ p = chunk_at_offset(p, -prevsz);
+ sz += prevsz;
+
+ if (p->fd == last_remainder) /* keep as last_remainder */
+ islr = 1;
+ else
+ unlink(p, bck, fwd);
+ }
+
+ if (!(inuse_bit_at_offset(next, nextsz))) /* consolidate forward */
+ {
+ sz += nextsz;
+
+ if (!islr && next->fd == last_remainder) /* re-insert last_remainder */
+ {
+ islr = 1;
+ link_last_remainder(p);
+ }
+ else
+ unlink(next, bck, fwd);
+ }
+
+
+ set_head(p, sz | PREV_INUSE);
+ set_foot(p, sz);
+ if (!islr)
+ frontlink(p, sz, idx, bck, fwd);
+
+ MALLOC_UNLOCK;
+
+#endif /* MALLOC_PROVIDED */
+}
+
+#endif /* DEFINE_FREE */
+
+#ifdef DEFINE_REALLOC
+
+/*
+
+ Realloc algorithm:
+
+ Chunks that were obtained via mmap cannot be extended or shrunk
+ unless HAVE_MREMAP is defined, in which case mremap is used.
+ Otherwise, if their reallocation is for additional space, they are
+ copied. If for less, they are just left alone.
+
+ Otherwise, if the reallocation is for additional space, and the
+ chunk can be extended, it is, else a malloc-copy-free sequence is
+ taken. There are several different ways that a chunk could be
+ extended. All are tried:
+
+ * Extending forward into following adjacent free chunk.
+ * Shifting backwards, joining preceding adjacent space
+ * Both shifting backwards and extending forward.
+ * Extending into newly sbrked space
+
+ Unless the #define REALLOC_ZERO_BYTES_FREES is set, realloc with a
+ size argument of zero (re)allocates a minimum-sized chunk.
+
+ If the reallocation is for less space, and the new request is for
+ a `small' (<512 bytes) size, then the newly unused space is lopped
+ off and freed.
+
+ The old unix realloc convention of allowing the last-free'd chunk
+ to be used as an argument to realloc is no longer supported.
+ I don't know of any programs still relying on this feature,
+ and allowing it would also allow too many other incorrect
+ usages of realloc to be sensible.
+
+
+*/
+
+
+#if __STD_C
+Void_t* rEALLOc(RARG Void_t* oldmem, size_t bytes)
+#else
+Void_t* rEALLOc(RARG oldmem, bytes) RDECL Void_t* oldmem; size_t bytes;
+#endif
+{
+#ifdef MALLOC_PROVIDED
+
+ realloc (oldmem, bytes);
+
+#else
+
+ INTERNAL_SIZE_T nb; /* padded request size */
+
+ mchunkptr oldp; /* chunk corresponding to oldmem */
+ INTERNAL_SIZE_T oldsize; /* its size */
+
+ mchunkptr newp; /* chunk to return */
+ INTERNAL_SIZE_T newsize; /* its size */
+ Void_t* newmem; /* corresponding user mem */
+
+ mchunkptr next; /* next contiguous chunk after oldp */
+ INTERNAL_SIZE_T nextsize; /* its size */
+
+ mchunkptr prev; /* previous contiguous chunk before oldp */
+ INTERNAL_SIZE_T prevsize; /* its size */
+
+ mchunkptr remainder; /* holds split off extra space from newp */
+ INTERNAL_SIZE_T remainder_size; /* its size */
+
+ mchunkptr bck; /* misc temp for linking */
+ mchunkptr fwd; /* misc temp for linking */
+
+#ifdef REALLOC_ZERO_BYTES_FREES
+ if (bytes == 0) { fREe(RCALL oldmem); return 0; }
+#endif
+
+
+ /* realloc of null is supposed to be same as malloc */
+ if (oldmem == 0) return mALLOc(RCALL bytes);
+
+ MALLOC_LOCK;
+
+ newp = oldp = mem2chunk(oldmem);
+ newsize = oldsize = chunksize(oldp);
+
+
+ nb = request2size(bytes);
+
+#if HAVE_MMAP
+ if (chunk_is_mmapped(oldp))
+ {
+#if HAVE_MREMAP
+ newp = mremap_chunk(oldp, nb);
+ if(newp)
+ {
+ MALLOC_UNLOCK;
+ return chunk2mem(newp);
+ }
+#endif
+ /* Note the extra SIZE_SZ overhead. */
+ if(oldsize - SIZE_SZ >= nb)
+ {
+ MALLOC_UNLOCK;
+ return oldmem; /* do nothing */
+ }
+ /* Must alloc, copy, free. */
+ newmem = mALLOc(RCALL bytes);
+ if (newmem == 0)
+ {
+ MALLOC_UNLOCK;
+ return 0; /* propagate failure */
+ }
+ MALLOC_COPY(newmem, oldmem, oldsize - 2*SIZE_SZ);
+ munmap_chunk(oldp);
+ MALLOC_UNLOCK;
+ return newmem;
+ }
+#endif
+
+ check_inuse_chunk(oldp);
+
+ if ((long)(oldsize) < (long)(nb))
+ {
+
+ /* Try expanding forward */
+
+ next = chunk_at_offset(oldp, oldsize);
+ if (next == top || !inuse(next))
+ {
+ nextsize = chunksize(next);
+
+ /* Forward into top only if a remainder */
+ if (next == top)
+ {
+ if ((long)(nextsize + newsize) >= (long)(nb + MINSIZE))
+ {
+ newsize += nextsize;
+ top = chunk_at_offset(oldp, nb);
+ set_head(top, (newsize - nb) | PREV_INUSE);
+ set_head_size(oldp, nb);
+ MALLOC_UNLOCK;
+ return chunk2mem(oldp);
+ }
+ }
+
+ /* Forward into next chunk */
+ else if (((long)(nextsize + newsize) >= (long)(nb)))
+ {
+ unlink(next, bck, fwd);
+ newsize += nextsize;
+ goto split;
+ }
+ }
+ else
+ {
+ next = 0;
+ nextsize = 0;
+ }
+
+ /* Try shifting backwards. */
+
+ if (!prev_inuse(oldp))
+ {
+ prev = prev_chunk(oldp);
+ prevsize = chunksize(prev);
+
+ /* try forward + backward first to save a later consolidation */
+
+ if (next != 0)
+ {
+ /* into top */
+ if (next == top)
+ {
+ if ((long)(nextsize + prevsize + newsize) >= (long)(nb + MINSIZE))
+ {
+ unlink(prev, bck, fwd);
+ newp = prev;
+ newsize += prevsize + nextsize;
+ newmem = chunk2mem(newp);
+ MALLOC_COPY(newmem, oldmem, oldsize - SIZE_SZ);
+ top = chunk_at_offset(newp, nb);
+ set_head(top, (newsize - nb) | PREV_INUSE);
+ set_head_size(newp, nb);
+ MALLOC_UNLOCK;
+ return newmem;
+ }
+ }
+
+ /* into next chunk */
+ else if (((long)(nextsize + prevsize + newsize) >= (long)(nb)))
+ {
+ unlink(next, bck, fwd);
+ unlink(prev, bck, fwd);
+ newp = prev;
+ newsize += nextsize + prevsize;
+ newmem = chunk2mem(newp);
+ MALLOC_COPY(newmem, oldmem, oldsize - SIZE_SZ);
+ goto split;
+ }
+ }
+
+ /* backward only */
+ if (prev != 0 && (long)(prevsize + newsize) >= (long)nb)
+ {
+ unlink(prev, bck, fwd);
+ newp = prev;
+ newsize += prevsize;
+ newmem = chunk2mem(newp);
+ MALLOC_COPY(newmem, oldmem, oldsize - SIZE_SZ);
+ goto split;
+ }
+ }
+
+ /* Must allocate */
+
+ newmem = mALLOc (RCALL bytes);
+
+ if (newmem == 0) /* propagate failure */
+ {
+ MALLOC_UNLOCK;
+ return 0;
+ }
+
+ /* Avoid copy if newp is next chunk after oldp. */
+ /* (This can only happen when new chunk is sbrk'ed.) */
+
+ if ( (newp = mem2chunk(newmem)) == next_chunk(oldp))
+ {
+ newsize += chunksize(newp);
+ newp = oldp;
+ goto split;
+ }
+
+ /* Otherwise copy, free, and exit */
+ MALLOC_COPY(newmem, oldmem, oldsize - SIZE_SZ);
+ fREe(RCALL oldmem);
+ MALLOC_UNLOCK;
+ return newmem;
+ }
+
+
+ split: /* split off extra room in old or expanded chunk */
+
+ remainder_size = long_sub_size_t(newsize, nb);
+
+ if (remainder_size >= (long)MINSIZE) /* split off remainder */
+ {
+ remainder = chunk_at_offset(newp, nb);
+ set_head_size(newp, nb);
+ set_head(remainder, remainder_size | PREV_INUSE);
+ set_inuse_bit_at_offset(remainder, remainder_size);
+ fREe(RCALL chunk2mem(remainder)); /* let free() deal with it */
+ }
+ else
+ {
+ set_head_size(newp, newsize);
+ set_inuse_bit_at_offset(newp, newsize);
+ }
+
+ check_inuse_chunk(newp);
+ MALLOC_UNLOCK;
+ return chunk2mem(newp);
+
+#endif /* MALLOC_PROVIDED */
+}
+
+#endif /* DEFINE_REALLOC */
+
+#ifdef DEFINE_MEMALIGN
+
+/*
+
+ memalign algorithm:
+
+ memalign requests more than enough space from malloc, finds a spot
+ within that chunk that meets the alignment request, and then
+ possibly frees the leading and trailing space.
+
+ The alignment argument must be a power of two. This property is not
+ checked by memalign, so misuse may result in random runtime errors.
+
+ 8-byte alignment is guaranteed by normal malloc calls, so don't
+ bother calling memalign with an argument of 8 or less.
+
+ Overreliance on memalign is a sure way to fragment space.
+
+*/
+
+
+#if __STD_C
+Void_t* mEMALIGn(RARG size_t alignment, size_t bytes)
+#else
+Void_t* mEMALIGn(RARG alignment, bytes) RDECL size_t alignment; size_t bytes;
+#endif
+{
+ INTERNAL_SIZE_T nb; /* padded request size */
+ char* m; /* memory returned by malloc call */
+ mchunkptr p; /* corresponding chunk */
+ char* brk; /* alignment point within p */
+ mchunkptr newp; /* chunk to return */
+ INTERNAL_SIZE_T newsize; /* its size */
+ INTERNAL_SIZE_T leadsize; /* leading space befor alignment point */
+ mchunkptr remainder; /* spare room at end to split off */
+ long remainder_size; /* its size */
+
+ /* If need less alignment than we give anyway, just relay to malloc */
+
+ if (alignment <= MALLOC_ALIGNMENT) return mALLOc(RCALL bytes);
+
+ /* Otherwise, ensure that it is at least a minimum chunk size */
+
+ if (alignment < MINSIZE) alignment = MINSIZE;
+
+ /* Call malloc with worst case padding to hit alignment. */
+
+ nb = request2size(bytes);
+ m = (char*)(mALLOc(RCALL nb + alignment + MINSIZE));
+
+ if (m == 0) return 0; /* propagate failure */
+
+ MALLOC_LOCK;
+
+ p = mem2chunk(m);
+
+ if ((((unsigned long)(m)) % alignment) == 0) /* aligned */
+ {
+#if HAVE_MMAP
+ if(chunk_is_mmapped(p))
+ {
+ MALLOC_UNLOCK;
+ return chunk2mem(p); /* nothing more to do */
+ }
+#endif
+ }
+ else /* misaligned */
+ {
+ /*
+ Find an aligned spot inside chunk.
+ Since we need to give back leading space in a chunk of at
+ least MINSIZE, if the first calculation places us at
+ a spot with less than MINSIZE leader, we can move to the
+ next aligned spot -- we've allocated enough total room so that
+ this is always possible.
+ */
+
+ brk = (char*)mem2chunk(((unsigned long)(m + alignment - 1)) & -alignment);
+ if ((long)(brk - (char*)(p)) < (long)MINSIZE) brk = brk + alignment;
+
+ newp = (mchunkptr)brk;
+ leadsize = brk - (char*)(p);
+ newsize = chunksize(p) - leadsize;
+
+#if HAVE_MMAP
+ if(chunk_is_mmapped(p))
+ {
+ newp->prev_size = p->prev_size + leadsize;
+ set_head(newp, newsize|IS_MMAPPED);
+ MALLOC_UNLOCK;
+ return chunk2mem(newp);
+ }
+#endif
+
+ /* give back leader, use the rest */
+
+ set_head(newp, newsize | PREV_INUSE);
+ set_inuse_bit_at_offset(newp, newsize);
+ set_head_size(p, leadsize);
+ fREe(RCALL chunk2mem(p));
+ p = newp;
+
+ assert (newsize >= nb && (((unsigned long)(chunk2mem(p))) % alignment) == 0);
+ }
+
+ /* Also give back spare room at the end */
+
+ remainder_size = long_sub_size_t(chunksize(p), nb);
+
+ if (remainder_size >= (long)MINSIZE)
+ {
+ remainder = chunk_at_offset(p, nb);
+ set_head(remainder, remainder_size | PREV_INUSE);
+ set_head_size(p, nb);
+ fREe(RCALL chunk2mem(remainder));
+ }
+
+ check_inuse_chunk(p);
+ MALLOC_UNLOCK;
+ return chunk2mem(p);
+
+}
+
+#endif /* DEFINE_MEMALIGN */
+
+#ifdef DEFINE_VALLOC
+
+/*
+ valloc just invokes memalign with alignment argument equal
+ to the page size of the system (or as near to this as can
+ be figured out from all the includes/defines above.)
+*/
+
+#if __STD_C
+Void_t* vALLOc(RARG size_t bytes)
+#else
+Void_t* vALLOc(RARG bytes) RDECL size_t bytes;
+#endif
+{
+ return mEMALIGn (RCALL malloc_getpagesize, bytes);
+}
+
+#endif /* DEFINE_VALLOC */
+
+#ifdef DEFINE_PVALLOC
+
+/*
+ pvalloc just invokes valloc for the nearest pagesize
+ that will accommodate request
+*/
+
+
+#if __STD_C
+Void_t* pvALLOc(RARG size_t bytes)
+#else
+Void_t* pvALLOc(RARG bytes) RDECL size_t bytes;
+#endif
+{
+ size_t pagesize = malloc_getpagesize;
+ return mEMALIGn (RCALL pagesize, (bytes + pagesize - 1) & ~(pagesize - 1));
+}
+
+#endif /* DEFINE_PVALLOC */
+
+#ifdef DEFINE_CALLOC
+
+/*
+
+ calloc calls malloc, then zeroes out the allocated chunk.
+
+*/
+
+#if __STD_C
+Void_t* cALLOc(RARG size_t n, size_t elem_size)
+#else
+Void_t* cALLOc(RARG n, elem_size) RDECL size_t n; size_t elem_size;
+#endif
+{
+ mchunkptr p;
+ INTERNAL_SIZE_T csz;
+
+ INTERNAL_SIZE_T sz = n * elem_size;
+
+#if MORECORE_CLEARS
+ mchunkptr oldtop;
+ INTERNAL_SIZE_T oldtopsize;
+#endif
+ Void_t* mem;
+
+ /* check if expand_top called, in which case don't need to clear */
+#if MORECORE_CLEARS
+ MALLOC_LOCK;
+ oldtop = top;
+ oldtopsize = chunksize(top);
+#endif
+
+ mem = mALLOc (RCALL sz);
+
+ if (mem == 0)
+ {
+#if MORECORE_CLEARS
+ MALLOC_UNLOCK;
+#endif
+ return 0;
+ }
+ else
+ {
+ p = mem2chunk(mem);
+
+ /* Two optional cases in which clearing not necessary */
+
+
+#if HAVE_MMAP
+ if (chunk_is_mmapped(p))
+ {
+#if MORECORE_CLEARS
+ MALLOC_UNLOCK;
+#endif
+ return mem;
+ }
+#endif
+
+ csz = chunksize(p);
+
+#if MORECORE_CLEARS
+ if (p == oldtop && csz > oldtopsize)
+ {
+ /* clear only the bytes from non-freshly-sbrked memory */
+ csz = oldtopsize;
+ }
+ MALLOC_UNLOCK;
+#endif
+
+ MALLOC_ZERO(mem, csz - SIZE_SZ);
+ return mem;
+ }
+}
+
+#endif /* DEFINE_CALLOC */
+
+#ifdef DEFINE_CFREE
+
+/*
+
+ cfree just calls free. It is needed/defined on some systems
+ that pair it with calloc, presumably for odd historical reasons.
+
+*/
+
+#if !defined(INTERNAL_LINUX_C_LIB) || !defined(__ELF__)
+#if !defined(INTERNAL_NEWLIB) || !defined(_REENT_ONLY)
+#if __STD_C
+void cfree(Void_t *mem)
+#else
+void cfree(mem) Void_t *mem;
+#endif
+{
+#ifdef INTERNAL_NEWLIB
+ fREe(_REENT, mem);
+#else
+ fREe(mem);
+#endif
+}
+#endif
+#endif
+
+#endif /* DEFINE_CFREE */
+
+#ifdef DEFINE_FREE
+
+/*
+
+ Malloc_trim gives memory back to the system (via negative
+ arguments to sbrk) if there is unused memory at the `high' end of
+ the malloc pool. You can call this after freeing large blocks of
+ memory to potentially reduce the system-level memory requirements
+ of a program. However, it cannot guarantee to reduce memory. Under
+ some allocation patterns, some large free blocks of memory will be
+ locked between two used chunks, so they cannot be given back to
+ the system.
+
+ The `pad' argument to malloc_trim represents the amount of free
+ trailing space to leave untrimmed. If this argument is zero,
+ only the minimum amount of memory to maintain internal data
+ structures will be left (one page or less). Non-zero arguments
+ can be supplied to maintain enough trailing space to service
+ future expected allocations without having to re-obtain memory
+ from the system.
+
+ Malloc_trim returns 1 if it actually released any memory, else 0.
+
+*/
+
+#if __STD_C
+int malloc_trim(RARG size_t pad)
+#else
+int malloc_trim(RARG pad) RDECL size_t pad;
+#endif
+{
+ long top_size; /* Amount of top-most memory */
+ long extra; /* Amount to release */
+ char* current_brk; /* address returned by pre-check sbrk call */
+ char* new_brk; /* address returned by negative sbrk call */
+
+ unsigned long pagesz = malloc_getpagesize;
+
+ MALLOC_LOCK;
+
+ top_size = chunksize(top);
+ extra = ((top_size - pad - MINSIZE + (pagesz-1)) / pagesz - 1) * pagesz;
+
+ if (extra < (long)pagesz) /* Not enough memory to release */
+ {
+ MALLOC_UNLOCK;
+ return 0;
+ }
+
+ else
+ {
+ /* Test to make sure no one else called sbrk */
+ current_brk = (char*)(MORECORE (0));
+ if (current_brk != (char*)(top) + top_size)
+ {
+ MALLOC_UNLOCK;
+ return 0; /* Apparently we don't own memory; must fail */
+ }
+
+ else
+ {
+ new_brk = (char*)(MORECORE (-extra));
+
+ if (new_brk == (char*)(MORECORE_FAILURE)) /* sbrk failed? */
+ {
+ /* Try to figure out what we have */
+ current_brk = (char*)(MORECORE (0));
+ top_size = current_brk - (char*)top;
+ if (top_size >= (long)MINSIZE) /* if not, we are very very dead! */
+ {
+ sbrked_mem = current_brk - sbrk_base;
+ set_head(top, top_size | PREV_INUSE);
+ }
+ check_chunk(top);
+ MALLOC_UNLOCK;
+ return 0;
+ }
+
+ else
+ {
+ /* Success. Adjust top accordingly. */
+ set_head(top, (top_size - extra) | PREV_INUSE);
+ sbrked_mem -= extra;
+ check_chunk(top);
+ MALLOC_UNLOCK;
+ return 1;
+ }
+ }
+ }
+}
+
+#endif /* DEFINE_FREE */
+
+#ifdef DEFINE_MALLOC_USABLE_SIZE
+
+/*
+ malloc_usable_size:
+
+ This routine tells you how many bytes you can actually use in an
+ allocated chunk, which may be more than you requested (although
+ often not). You can use this many bytes without worrying about
+ overwriting other allocated objects. Not a particularly great
+ programming practice, but still sometimes useful.
+
+*/
+
+#if __STD_C
+size_t malloc_usable_size(RARG Void_t* mem)
+#else
+size_t malloc_usable_size(RARG mem) RDECL Void_t* mem;
+#endif
+{
+ mchunkptr p;
+ if (mem == 0)
+ return 0;
+ else
+ {
+ p = mem2chunk(mem);
+ if(!chunk_is_mmapped(p))
+ {
+ if (!inuse(p)) return 0;
+#if DEBUG
+ MALLOC_LOCK;
+ check_inuse_chunk(p);
+ MALLOC_UNLOCK;
+#endif
+ return chunksize(p) - SIZE_SZ;
+ }
+ return chunksize(p) - 2*SIZE_SZ;
+ }
+}
+
+#endif /* DEFINE_MALLOC_USABLE_SIZE */
+
+#ifdef DEFINE_MALLINFO
+
+/* Utility to update current_mallinfo for malloc_stats and mallinfo() */
+
+STATIC void malloc_update_mallinfo()
+{
+ int i;
+ mbinptr b;
+ mchunkptr p;
+#if DEBUG
+ mchunkptr q;
+#endif
+
+ INTERNAL_SIZE_T avail = chunksize(top);
+ int navail = ((long)(avail) >= (long)MINSIZE)? 1 : 0;
+
+ for (i = 1; i < NAV; ++i)
+ {
+ b = bin_at(i);
+ for (p = last(b); p != b; p = p->bk)
+ {
+#if DEBUG
+ check_free_chunk(p);
+ for (q = next_chunk(p);
+ q < top && inuse(q) && (long)(chunksize(q)) >= (long)MINSIZE;
+ q = next_chunk(q))
+ check_inuse_chunk(q);
+#endif
+ avail += chunksize(p);
+ navail++;
+ }
+ }
+
+ current_mallinfo.ordblks = navail;
+ current_mallinfo.uordblks = sbrked_mem - avail;
+ current_mallinfo.fordblks = avail;
+#if HAVE_MMAP
+ current_mallinfo.hblks = n_mmaps;
+ current_mallinfo.hblkhd = mmapped_mem;
+#endif
+ current_mallinfo.keepcost = chunksize(top);
+
+}
+
+#else /* ! DEFINE_MALLINFO */
+
+#if __STD_C
+extern void malloc_update_mallinfo(void);
+#else
+extern void malloc_update_mallinfo();
+#endif
+
+#endif /* ! DEFINE_MALLINFO */
+
+#ifdef DEFINE_MALLOC_STATS
+
+/*
+
+ malloc_stats:
+
+ Prints on stderr the amount of space obtain from the system (both
+ via sbrk and mmap), the maximum amount (which may be more than
+ current if malloc_trim and/or munmap got called), the maximum
+ number of simultaneous mmap regions used, and the current number
+ of bytes allocated via malloc (or realloc, etc) but not yet
+ freed. (Note that this is the number of bytes allocated, not the
+ number requested. It will be larger than the number requested
+ because of alignment and bookkeeping overhead.)
+
+*/
+
+#if __STD_C
+void malloc_stats(RONEARG)
+#else
+void malloc_stats(RONEARG) RDECL
+#endif
+{
+ unsigned long local_max_total_mem;
+ int local_sbrked_mem;
+ struct mallinfo local_mallinfo;
+#if HAVE_MMAP
+ unsigned long local_mmapped_mem, local_max_n_mmaps;
+#endif
+ FILE *fp;
+
+ MALLOC_LOCK;
+ malloc_update_mallinfo();
+ local_max_total_mem = max_total_mem;
+ local_sbrked_mem = sbrked_mem;
+ local_mallinfo = current_mallinfo;
+#if HAVE_MMAP
+ local_mmapped_mem = mmapped_mem;
+ local_max_n_mmaps = max_n_mmaps;
+#endif
+ MALLOC_UNLOCK;
+
+#ifdef INTERNAL_NEWLIB
+ fp = _stderr_r(reent_ptr);
+#define fprintf fiprintf
+#else
+ fp = stderr;
+#endif
+
+ fprintf(fp, "max system bytes = %10u\n",
+ (unsigned int)(local_max_total_mem));
+#if HAVE_MMAP
+ fprintf(fp, "system bytes = %10u\n",
+ (unsigned int)(local_sbrked_mem + local_mmapped_mem));
+ fprintf(fp, "in use bytes = %10u\n",
+ (unsigned int)(local_mallinfo.uordblks + local_mmapped_mem));
+#else
+ fprintf(fp, "system bytes = %10u\n",
+ (unsigned int)local_sbrked_mem);
+ fprintf(fp, "in use bytes = %10u\n",
+ (unsigned int)local_mallinfo.uordblks);
+#endif
+#if HAVE_MMAP
+ fprintf(fp, "max mmap regions = %10u\n",
+ (unsigned int)local_max_n_mmaps);
+#endif
+}
+
+#endif /* DEFINE_MALLOC_STATS */
+
+#ifdef DEFINE_MALLINFO
+
+/*
+ mallinfo returns a copy of updated current mallinfo.
+*/
+
+#if __STD_C
+struct mallinfo mALLINFo(RONEARG)
+#else
+struct mallinfo mALLINFo(RONEARG) RDECL
+#endif
+{
+ struct mallinfo ret;
+
+ MALLOC_LOCK;
+ malloc_update_mallinfo();
+ ret = current_mallinfo;
+ MALLOC_UNLOCK;
+ return ret;
+}
+
+#endif /* DEFINE_MALLINFO */
+
+#ifdef DEFINE_MALLOPT
+
+/*
+ mallopt:
+
+ mallopt is the general SVID/XPG interface to tunable parameters.
+ The format is to provide a (parameter-number, parameter-value) pair.
+ mallopt then sets the corresponding parameter to the argument
+ value if it can (i.e., so long as the value is meaningful),
+ and returns 1 if successful else 0.
+
+ See descriptions of tunable parameters above.
+
+*/
+
+#if __STD_C
+int mALLOPt(RARG int param_number, int value)
+#else
+int mALLOPt(RARG param_number, value) RDECL int param_number; int value;
+#endif
+{
+ MALLOC_LOCK;
+ switch(param_number)
+ {
+ case M_TRIM_THRESHOLD:
+ trim_threshold = value; MALLOC_UNLOCK; return 1;
+ case M_TOP_PAD:
+ top_pad = value; MALLOC_UNLOCK; return 1;
+ case M_MMAP_THRESHOLD:
+#if HAVE_MMAP
+ mmap_threshold = value;
+#endif
+ MALLOC_UNLOCK;
+ return 1;
+ case M_MMAP_MAX:
+#if HAVE_MMAP
+ n_mmaps_max = value; MALLOC_UNLOCK; return 1;
+#else
+ MALLOC_UNLOCK; return value == 0;
+#endif
+
+ default:
+ MALLOC_UNLOCK;
+ return 0;
+ }
+}
+
+#endif /* DEFINE_MALLOPT */
+
+/*
+
+History:
+
+ V2.6.3 Sun May 19 08:17:58 1996 Doug Lea (dl at gee)
+ * Added pvalloc, as recommended by H.J. Liu
+ * Added 64bit pointer support mainly from Wolfram Gloger
+ * Added anonymously donated WIN32 sbrk emulation
+ * Malloc, calloc, getpagesize: add optimizations from Raymond Nijssen
+ * malloc_extend_top: fix mask error that caused wastage after
+ foreign sbrks
+ * Add linux mremap support code from HJ Liu
+
+ V2.6.2 Tue Dec 5 06:52:55 1995 Doug Lea (dl at gee)
+ * Integrated most documentation with the code.
+ * Add support for mmap, with help from
+ Wolfram Gloger (Gloger@lrz.uni-muenchen.de).
+ * Use last_remainder in more cases.
+ * Pack bins using idea from colin@nyx10.cs.du.edu
+ * Use ordered bins instead of best-fit threshhold
+ * Eliminate block-local decls to simplify tracing and debugging.
+ * Support another case of realloc via move into top
+ * Fix error occuring when initial sbrk_base not word-aligned.
+ * Rely on page size for units instead of SBRK_UNIT to
+ avoid surprises about sbrk alignment conventions.
+ * Add mallinfo, mallopt. Thanks to Raymond Nijssen
+ (raymond@es.ele.tue.nl) for the suggestion.
+ * Add `pad' argument to malloc_trim and top_pad mallopt parameter.
+ * More precautions for cases where other routines call sbrk,
+ courtesy of Wolfram Gloger (Gloger@lrz.uni-muenchen.de).
+ * Added macros etc., allowing use in linux libc from
+ H.J. Lu (hjl@gnu.ai.mit.edu)
+ * Inverted this history list
+
+ V2.6.1 Sat Dec 2 14:10:57 1995 Doug Lea (dl at gee)
+ * Re-tuned and fixed to behave more nicely with V2.6.0 changes.
+ * Removed all preallocation code since under current scheme
+ the work required to undo bad preallocations exceeds
+ the work saved in good cases for most test programs.
+ * No longer use return list or unconsolidated bins since
+ no scheme using them consistently outperforms those that don't
+ given above changes.
+ * Use best fit for very large chunks to prevent some worst-cases.
+ * Added some support for debugging
+
+ V2.6.0 Sat Nov 4 07:05:23 1995 Doug Lea (dl at gee)
+ * Removed footers when chunks are in use. Thanks to
+ Paul Wilson (wilson@cs.texas.edu) for the suggestion.
+
+ V2.5.4 Wed Nov 1 07:54:51 1995 Doug Lea (dl at gee)
+ * Added malloc_trim, with help from Wolfram Gloger
+ (wmglo@Dent.MED.Uni-Muenchen.DE).
+
+ V2.5.3 Tue Apr 26 10:16:01 1994 Doug Lea (dl at g)
+
+ V2.5.2 Tue Apr 5 16:20:40 1994 Doug Lea (dl at g)
+ * realloc: try to expand in both directions
+ * malloc: swap order of clean-bin strategy;
+ * realloc: only conditionally expand backwards
+ * Try not to scavenge used bins
+ * Use bin counts as a guide to preallocation
+ * Occasionally bin return list chunks in first scan
+ * Add a few optimizations from colin@nyx10.cs.du.edu
+
+ V2.5.1 Sat Aug 14 15:40:43 1993 Doug Lea (dl at g)
+ * faster bin computation & slightly different binning
+ * merged all consolidations to one part of malloc proper
+ (eliminating old malloc_find_space & malloc_clean_bin)
+ * Scan 2 returns chunks (not just 1)
+ * Propagate failure in realloc if malloc returns 0
+ * Add stuff to allow compilation on non-ANSI compilers
+ from kpv@research.att.com
+
+ V2.5 Sat Aug 7 07:41:59 1993 Doug Lea (dl at g.oswego.edu)
+ * removed potential for odd address access in prev_chunk
+ * removed dependency on getpagesize.h
+ * misc cosmetics and a bit more internal documentation
+ * anticosmetics: mangled names in macros to evade debugger strangeness
+ * tested on sparc, hp-700, dec-mips, rs6000
+ with gcc & native cc (hp, dec only) allowing
+ Detlefs & Zorn comparison study (in SIGPLAN Notices.)
+
+ Trial version Fri Aug 28 13:14:29 1992 Doug Lea (dl at g.oswego.edu)
+ * Based loosely on libg++-1.2X malloc. (It retains some of the overall
+ structure of old version, but most details differ.)
+
+*/
+#endif
diff --git a/newlib/libc/stdlib/mbctype.h b/newlib/libc/stdlib/mbctype.h
new file mode 100644
index 00000000000..81a6f389572
--- /dev/null
+++ b/newlib/libc/stdlib/mbctype.h
@@ -0,0 +1,20 @@
+#ifndef _MBCTYPE_H_
+
+#define _MBCTYPE_H_
+
+/* escape character used for JIS encoding */
+#define ESC_CHAR 0x1b
+
+/* functions used to support SHIFT_JIS, EUC-JP, and JIS multibyte encodings */
+
+int _EXFUN(_issjis1, (int c));
+int _EXFUN(_issjis2, (int c));
+int _EXFUN(_iseucjp, (int c));
+int _EXFUN(_isjis, (int c));
+
+#define _issjis1(c) ((c) >= 0x81 && (c) <= 0x9f || (c) >= 0xe0 && (c) <= 0xef)
+#define _issjis2(c) ((c) >= 0x40 && (c) <= 0x7e || (c) >= 0x80 && (c) <= 0xfc)
+#define _iseucjp(c) ((c) >= 0xa1 && (c) <= 0xfe)
+#define _isjis(c) ((c) >= 0x21 && (c) <= 0x7e)
+
+#endif /* _MBCTYPE_H_ */
diff --git a/newlib/libc/stdlib/mblen.c b/newlib/libc/stdlib/mblen.c
new file mode 100644
index 00000000000..d9b774e4511
--- /dev/null
+++ b/newlib/libc/stdlib/mblen.c
@@ -0,0 +1,66 @@
+/*
+FUNCTION
+<<mblen>>---minimal multibyte length function
+
+INDEX
+ mblen
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ int mblen(const char *<[s]>, size_t <[n]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ int mblen(<[s]>, <[n]>)
+ const char *<[s]>;
+ size_t <[n]>;
+
+DESCRIPTION
+When MB_CAPABLE is not defined, this is a minimal ANSI-conforming
+implementation of <<mblen>>. In this case, the
+only ``multi-byte character sequences'' recognized are single bytes,
+and thus <<1>> is returned unless <[s]> is the null pointer or
+has a length of 0 or is the empty string.
+
+When MB_CAPABLE is defined, this routine calls <<_mbtowc_r>> to perform
+the conversion, passing a state variable to allow state dependent
+decoding. The result is based on the locale setting which may
+be restricted to a defined set of locales.
+
+RETURNS
+This implementation of <<mblen>> returns <<0>> if
+<[s]> is <<NULL>> or the empty string; it returns <<1>> if not MB_CAPABLE or
+the character is a single-byte character; it returns <<-1>>
+if the multi-byte character is invalid; otherwise it returns
+the number of bytes in the multibyte character.
+
+PORTABILITY
+<<mblen>> is required in the ANSI C standard. However, the precise
+effects vary with the locale.
+
+<<mblen>> requires no supporting OS subroutines.
+*/
+
+#ifndef _REENT_ONLY
+
+#include <stdlib.h>
+
+int
+_DEFUN (mblen, (s, n),
+ const char *s _AND
+ size_t n)
+{
+#ifdef MB_CAPABLE
+ static int state;
+
+ return _mbtowc_r (_REENT, NULL, s, n, &state);
+#else /* not MB_CAPABLE */
+ if (s == NULL || *s == '\0')
+ return 0;
+ if (n == 0)
+ return -1;
+ return 1;
+#endif /* not MB_CAPABLE */
+}
+
+#endif /* !_REENT_ONLY */
diff --git a/newlib/libc/stdlib/mblen_r.c b/newlib/libc/stdlib/mblen_r.c
new file mode 100644
index 00000000000..22d1d40e65c
--- /dev/null
+++ b/newlib/libc/stdlib/mblen_r.c
@@ -0,0 +1,66 @@
+/*
+FUNCTION
+<<_mblen_r>>---reentrant minimal multibyte length function
+
+INDEX
+ _mblen_r
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ int _mblen_r(struct _reent *<[r]>, const char *<[s]>, size_t <[n]>, int *<[state]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ int _mblen_r(<[r]>, <[s]>, <[n]>, <[state]>)
+ struct _reent *<[r]>;
+ const char *<[s]>;
+ size_t <[n]>;
+ int *<[state]>;
+
+DESCRIPTION
+When MB_CAPABLE is not defined, this is a minimal ANSI-conforming
+implementation of <<_mblen_r>>. In this case, the
+only ``multi-byte character sequences'' recognized are single bytes,
+and thus <<1>> is returned unless <[s]> is the null pointer or
+has a length of 0 or is the empty string.
+
+When MB_CAPABLE is defined, this routine calls <<_mbtowc_r>> to perform
+the conversion, passing a state variable to allow state dependent
+decoding. The result is based on the locale setting which may
+be restricted to a defined set of locales.
+
+RETURNS
+This implementation of <<_mblen_r>> returns <<0>> if
+<[s]> is <<NULL>> or the empty string; it returns <<1>> if not MB_CAPABLE or
+the character is a single-byte character; it returns <<-1>>
+if the multi-byte character is invalid; otherwise it returns
+the number of bytes in the multibyte character.
+
+PORTABILITY
+<<_mblen>> is required in the ANSI C standard. However, the precise
+effects vary with the locale.
+
+<<_mblen_r>> requires no supporting OS subroutines.
+*/
+
+#include <stdlib.h>
+
+int
+_DEFUN (_mblen_r, (r, s, n, state),
+ struct _reent *r _AND
+ const char *s _AND
+ size_t n _AND
+ int *state)
+{
+#ifdef MB_CAPABLE
+
+ return _mbtowc_r (r, NULL, s, n, state);
+#else /* not MB_CAPABLE */
+ if (s == NULL || *s == '\0')
+ return 0;
+ if (n == 0)
+ return -1;
+ return 1;
+#endif /* not MB_CAPABLE */
+}
+
diff --git a/newlib/libc/stdlib/mbstowcs.c b/newlib/libc/stdlib/mbstowcs.c
new file mode 100644
index 00000000000..fee621a7760
--- /dev/null
+++ b/newlib/libc/stdlib/mbstowcs.c
@@ -0,0 +1,80 @@
+/*
+FUNCTION
+<<mbstowcs>>---minimal multibyte string to wide char converter
+
+INDEX
+ mbstowcs
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ int mbstowcs(wchar_t *<[pwc]>, const char *<[s]>, size_t <[n]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ int mbstowcs(<[pwc]>, <[s]>, <[n]>)
+ wchar_t *<[pwc]>;
+ const char *<[s]>;
+ size_t <[n]>;
+
+DESCRIPTION
+When MB_CAPABLE is not defined, this is a minimal ANSI-conforming
+implementation of <<mbstowcs>>. In this case, the
+only ``multi-byte character sequences'' recognized are single bytes,
+and they are ``converted'' to wide-char versions simply by byte
+extension.
+
+When MB_CAPABLE is defined, this routine calls <<_mbstowcs_r>> to perform
+the conversion, passing a state variable to allow state dependent
+decoding. The result is based on the locale setting which may
+be restricted to a defined set of locales.
+
+RETURNS
+This implementation of <<mbstowcs>> returns <<0>> if
+<[s]> is <<NULL>> or is the empty string;
+it returns <<-1>> if MB_CAPABLE and one of the
+multi-byte characters is invalid or incomplete;
+otherwise it returns the minimum of: <<n>> or the
+number of multi-byte characters in <<s>> plus 1 (to
+compensate for the nul character).
+If the return value is -1, the state of the <<pwc>> string is
+indeterminate. If the input has a length of 0, the output
+string will be modified to contain a wchar_t nul terminator.
+
+PORTABILITY
+<<mbstowcs>> is required in the ANSI C standard. However, the precise
+effects vary with the locale.
+
+<<mbstowcs>> requires no supporting OS subroutines.
+*/
+
+#ifndef _REENT_ONLY
+
+#include <stdlib.h>
+
+size_t
+_DEFUN (mbstowcs, (pwcs, s, n),
+ wchar_t *pwcs _AND
+ const char *s _AND
+ size_t n)
+{
+#ifdef MB_CAPABLE
+ int state = 0;
+
+ return _mbstowcs_r (_REENT, pwcs, s, n, &state);
+#else /* not MB_CAPABLE */
+
+ int count = 0;
+
+ if (n != 0) {
+ do {
+ if ((*pwcs++ = (wchar_t) *s++) == 0)
+ break;
+ count++;
+ } while (--n != 0);
+ }
+
+ return count;
+#endif /* not MB_CAPABLE */
+}
+
+#endif /* !_REENT_ONLY */
diff --git a/newlib/libc/stdlib/mbstowcs_r.c b/newlib/libc/stdlib/mbstowcs_r.c
new file mode 100644
index 00000000000..5478849bb44
--- /dev/null
+++ b/newlib/libc/stdlib/mbstowcs_r.c
@@ -0,0 +1,29 @@
+#include <stdlib.h>
+
+size_t
+_DEFUN (_mbstowcs_r, (reent, pwcs, s, n, state),
+ struct _reent *r _AND
+ wchar_t *pwcs _AND
+ const char *s _AND
+ size_t n _AND
+ int *state)
+{
+ wchar_t *ptr = pwcs;
+ size_t max = n;
+ char *t = (char *)s;
+ int bytes;
+
+ while (n > 0)
+ {
+ bytes = _mbtowc_r (r, ptr, t, MB_CUR_MAX, state);
+ if (bytes == -1)
+ return -1;
+ else if (bytes == 0)
+ return ptr - pwcs;
+ t += bytes;
+ ++ptr;
+ --n;
+ }
+
+ return max;
+}
diff --git a/newlib/libc/stdlib/mbtowc.c b/newlib/libc/stdlib/mbtowc.c
new file mode 100644
index 00000000000..5e34fe3667d
--- /dev/null
+++ b/newlib/libc/stdlib/mbtowc.c
@@ -0,0 +1,81 @@
+/*
+FUNCTION
+<<mbtowc>>---minimal multibyte to wide char converter
+
+INDEX
+ mbtowc
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ int mbtowc(wchar_t *<[pwc]>, const char *<[s]>, size_t <[n]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ int mbtowc(<[pwc]>, <[s]>, <[n]>)
+ wchar_t *<[pwc]>;
+ const char *<[s]>;
+ size_t <[n]>;
+
+DESCRIPTION
+When MB_CAPABLE is not defined, this is a minimal ANSI-conforming
+implementation of <<mbtowc>>. In this case,
+only ``multi-byte character sequences'' recognized are single bytes,
+and they are ``converted'' to themselves.
+Each call to <<mbtowc>> copies one character from <<*<[s]>>> to
+<<*<[pwc]>>>, unless <[s]> is a null pointer. The argument n
+is ignored.
+
+When MB_CAPABLE is defined, this routine calls <<_mbtowc_r>> to perform
+the conversion, passing a state variable to allow state dependent
+decoding. The result is based on the locale setting which may
+be restricted to a defined set of locales.
+
+RETURNS
+This implementation of <<mbtowc>> returns <<0>> if
+<[s]> is <<NULL>> or is the empty string;
+it returns <<1>> if not MB_CAPABLE or
+the character is a single-byte character; it returns <<-1>>
+if n is <<0>> or the multi-byte character is invalid;
+otherwise it returns the number of bytes in the multibyte character.
+If the return value is -1, no changes are made to the <<pwc>>
+output string. If the input is the empty string, a wchar_t nul
+is placed in the output string and 0 is returned. If the input
+has a length of 0, no changes are made to the <<pwc>> output string.
+
+PORTABILITY
+<<mbtowc>> is required in the ANSI C standard. However, the precise
+effects vary with the locale.
+
+<<mbtowc>> requires no supporting OS subroutines.
+*/
+
+#ifndef _REENT_ONLY
+
+#include <stdlib.h>
+
+int
+_DEFUN (mbtowc, (pwc, s, n),
+ wchar_t *pwc _AND
+ const char *s _AND
+ size_t n)
+{
+#ifdef MB_CAPABLE
+ static int state;
+
+ return _mbtowc_r (_REENT, pwc, s, n, &state);
+#else /* not MB_CAPABLE */
+ if (s == NULL)
+ return 0;
+ if (n == 0)
+ return -1;
+ if (pwc)
+ *pwc = (wchar_t) *s;
+ return (*s != '\0');
+#endif /* not MB_CAPABLE */
+}
+
+#endif /* !_REENT_ONLY */
+
+
+
+
diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c
new file mode 100644
index 00000000000..7d718c8b0c2
--- /dev/null
+++ b/newlib/libc/stdlib/mbtowc_r.c
@@ -0,0 +1,206 @@
+#include <stdlib.h>
+#include <locale.h>
+#include "mbctype.h"
+
+#ifdef MB_CAPABLE
+typedef enum { ESCAPE, DOLLAR, BRACKET, AT, B, J,
+ NUL, JIS_CHAR, OTHER, JIS_C_NUM } JIS_CHAR_TYPE;
+typedef enum { ASCII, A_ESC, A_ESC_DL, JIS, JIS_1, JIS_2, J_ESC, J_ESC_BR,
+ J2_ESC, J2_ESC_BR, DONE, INV, JIS_S_NUM } JIS_STATE;
+typedef enum { COPY_A, COPY_J, COPY_J2, MAKE_A, MAKE_J, NOOP, EMPTY, ERROR } JIS_ACTION;
+
+/**************************************************************************************
+ * state/action tables for processing JIS encoding
+ * Where possible, switches to JIS are grouped with proceding JIS characters and switches
+ * to ASCII are grouped with preceding JIS characters. Thus, maximum returned length
+ * is 2 (switch to JIS) + 2 (JIS characters) + 2 (switch back to ASCII) = 6.
+ *************************************************************************************/
+
+static JIS_STATE JIS_state_table[JIS_S_NUM][JIS_C_NUM] = {
+/* ESCAPE DOLLAR BRACKET AT B J NUL JIS_CHAR OTHER */
+/* ASCII */ { A_ESC, DONE, DONE, DONE, DONE, DONE, DONE, DONE, DONE },
+/* A_ESC */ { DONE, A_ESC_DL, DONE, DONE, DONE, DONE, DONE, DONE, DONE },
+/* A_ESC_DL */{ DONE, DONE, DONE, JIS, JIS, DONE, DONE, DONE, DONE },
+/* JIS */ { J_ESC, JIS_1, JIS_1, JIS_1, JIS_1, JIS_1, INV, JIS_1, INV },
+/* JIS_1 */ { INV, JIS_2, JIS_2, JIS_2, JIS_2, JIS_2, INV, JIS_2, INV },
+/* JIS_2 */ { J2_ESC, DONE, DONE, DONE, DONE, DONE, INV, DONE, DONE },
+/* J_ESC */ { INV, INV, J_ESC_BR, INV, INV, INV, INV, INV, INV },
+/* J_ESC_BR */{ INV, INV, INV, INV, ASCII, ASCII, INV, INV, INV },
+/* J2_ESC */ { INV, INV, J2_ESC_BR,INV, INV, INV, INV, INV, INV },
+/* J2_ESC_BR*/{ INV, INV, INV, INV, DONE, DONE, INV, INV, INV },
+};
+
+static JIS_ACTION JIS_action_table[JIS_S_NUM][JIS_C_NUM] = {
+/* ESCAPE DOLLAR BRACKET AT B J NUL JIS_CHAR OTHER */
+/* ASCII */ { NOOP, COPY_A, COPY_A, COPY_A, COPY_A, COPY_A, EMPTY, COPY_A, COPY_A},
+/* A_ESC */ { COPY_A, NOOP, COPY_A, COPY_A, COPY_A, COPY_A, COPY_A, COPY_A, COPY_A},
+/* A_ESC_DL */{ COPY_A, COPY_A, COPY_A, MAKE_J, MAKE_J, COPY_A, COPY_A, COPY_A, COPY_A},
+/* JIS */ { NOOP, NOOP, NOOP, NOOP, NOOP, NOOP, ERROR, NOOP, ERROR },
+/* JIS_1 */ { ERROR, NOOP, NOOP, NOOP, NOOP, NOOP, ERROR, NOOP, ERROR },
+/* JIS_2 */ { NOOP, COPY_J2, COPY_J2, COPY_J2, COPY_J2, COPY_J2, ERROR, COPY_J2, COPY_J2},
+/* J_ESC */ { ERROR, ERROR, NOOP, ERROR, ERROR, ERROR, ERROR, ERROR, ERROR },
+/* J_ESC_BR */{ ERROR, ERROR, ERROR, ERROR, NOOP, NOOP, ERROR, ERROR, ERROR },
+/* J2_ESC */ { ERROR, ERROR, NOOP, ERROR, ERROR, ERROR, ERROR, ERROR, ERROR },
+/* J2_ESC_BR*/{ ERROR, ERROR, ERROR, ERROR, COPY_J, COPY_J, ERROR, ERROR, ERROR },
+};
+#endif /* MB_CAPABLE */
+
+int
+_DEFUN (_mbtowc_r, (r, pwc, s, n, state),
+ struct _reent *r _AND
+ wchar_t *pwc _AND
+ const char *s _AND
+ size_t n _AND
+ int *state)
+{
+ wchar_t dummy;
+ unsigned char *t = (unsigned char *)s;
+
+ if (pwc == NULL)
+ pwc = &dummy;
+
+ if (s != NULL && n == 0)
+ return -1;
+
+#ifdef MB_CAPABLE
+ if (r->_current_locale == NULL ||
+ (strlen (r->_current_locale) <= 1))
+ { /* fall-through */ }
+ else if (!strcmp (r->_current_locale, "C-SJIS"))
+ {
+ int char1 = *t;
+ if (s == NULL)
+ return 0; /* not state-dependent */
+ if (_issjis1 (char1))
+ {
+ int char2 = t[1];
+ if (n <= 1)
+ return -1;
+ if (_issjis2 (char2))
+ {
+ *pwc = (((wchar_t)*t) << 8) + (wchar_t)(*(t+1));
+ return 2;
+ }
+ else
+ return -1;
+ }
+ }
+ else if (!strcmp (r->_current_locale, "C-EUCJP"))
+ {
+ int char1 = *t;
+ if (s == NULL)
+ return 0; /* not state-dependent */
+ if (_iseucjp (char1))
+ {
+ int char2 = t[1];
+ if (n <= 1)
+ return -1;
+ if (_iseucjp (char2))
+ {
+ *pwc = (((wchar_t)*t) << 8) + (wchar_t)(*(t+1));
+ return 2;
+ }
+ else
+ return -1;
+ }
+ }
+ else if (!strcmp (r->_current_locale, "C-JIS"))
+ {
+ JIS_STATE curr_state;
+ JIS_ACTION action;
+ JIS_CHAR_TYPE ch;
+ unsigned char *ptr;
+ int i, curr_ch;
+
+ if (s == NULL)
+ {
+ *state = 0;
+ return 1; /* state-dependent */
+ }
+
+ curr_state = (*state == 0 ? ASCII : JIS);
+ ptr = t;
+
+ for (i = 0; i < n; ++i)
+ {
+ curr_ch = t[i];
+ switch (curr_ch)
+ {
+ case ESC_CHAR:
+ ch = ESCAPE;
+ break;
+ case '$':
+ ch = DOLLAR;
+ break;
+ case '@':
+ ch = AT;
+ break;
+ case '(':
+ ch = BRACKET;
+ break;
+ case 'B':
+ ch = B;
+ break;
+ case 'J':
+ ch = J;
+ break;
+ case '\0':
+ ch = NUL;
+ break;
+ default:
+ if (_isjis (curr_ch))
+ ch = JIS_CHAR;
+ else
+ ch = OTHER;
+ }
+
+ action = JIS_action_table[curr_state][ch];
+ curr_state = JIS_state_table[curr_state][ch];
+
+ switch (action)
+ {
+ case NOOP:
+ break;
+ case EMPTY:
+ *state = 0;
+ *pwc = (wchar_t)0;
+ return i;
+ case COPY_A:
+ *state = 0;
+ *pwc = (wchar_t)*ptr;
+ return (i + 1);
+ case COPY_J:
+ *state = 0;
+ *pwc = (((wchar_t)*ptr) << 8) + (wchar_t)(*(ptr+1));
+ return (i + 1);
+ case COPY_J2:
+ *state = 1;
+ *pwc = (((wchar_t)*ptr) << 8) + (wchar_t)(*(ptr+1));
+ return (ptr - t) + 2;
+ case MAKE_A:
+ case MAKE_J:
+ ptr = (char *)(t + i + 1);
+ break;
+ case ERROR:
+ default:
+ return -1;
+ }
+
+ }
+
+ return -1; /* n < bytes needed */
+ }
+#endif /* MB_CAPABLE */
+
+ /* otherwise this must be the "C" locale or unknown locale */
+ if (s == NULL)
+ return 0; /* not state-dependent */
+
+ *pwc = (wchar_t)*t;
+
+ if (*t == '\0')
+ return 0;
+
+ return 1;
+}
+
diff --git a/newlib/libc/stdlib/mlock.c b/newlib/libc/stdlib/mlock.c
new file mode 100644
index 00000000000..e7f7242cec1
--- /dev/null
+++ b/newlib/libc/stdlib/mlock.c
@@ -0,0 +1,50 @@
+/*
+FUNCTION
+<<__malloc_lock>>, <<__malloc_unlock>>--lock malloc pool
+
+INDEX
+ __malloc_lock
+INDEX
+ __malloc_unlock
+
+ANSI_SYNOPSIS
+ #include <malloc.h>
+ void __malloc_lock (void *<[reent]>);
+ void __malloc_unlock (void *<[reent]>);
+
+TRAD_SYNOPSIS
+ void __malloc_lock(<[reent]>)
+ char *<[reent]>;
+
+ void __malloc_unlock(<[reent]>)
+ char *<[reent]>;
+
+DESCRIPTION
+The <<malloc>> family of routines call these functions when they need
+to lock the memory pool. The version of these routines supplied in
+the library does not do anything. If multiple threads of execution
+can call <<malloc>>, or if <<malloc>> can be called reentrantly, then
+you need to define your own versions of these functions in order to
+safely lock the memory pool during a call. If you do not, the memory
+pool may become corrupted.
+
+A call to <<malloc>> may call <<__malloc_lock>> recursively; that is,
+the sequence of calls may go <<__malloc_lock>>, <<__malloc_lock>>,
+<<__malloc_unlock>>, <<__malloc_unlock>>. Any implementation of these
+routines must be careful to avoid causing a thread to wait for a lock
+that it already holds.
+*/
+
+#include <malloc.h>
+
+void
+__malloc_lock (ptr)
+ struct _reent *ptr;
+{
+}
+
+void
+__malloc_unlock (ptr)
+ struct _reent *ptr;
+{
+}
diff --git a/newlib/libc/stdlib/mprec.c b/newlib/libc/stdlib/mprec.c
new file mode 100644
index 00000000000..48e10be879e
--- /dev/null
+++ b/newlib/libc/stdlib/mprec.c
@@ -0,0 +1,980 @@
+/****************************************************************
+ *
+ * The author of this software is David M. Gay.
+ *
+ * Copyright (c) 1991 by AT&T.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose without fee is hereby granted, provided that this entire notice
+ * is included in all copies of any software which is or includes a copy
+ * or modification of this software and in all copies of the supporting
+ * documentation for such software.
+ *
+ * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+ * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
+ * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
+ * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+ *
+ ***************************************************************/
+
+/* Please send bug reports to
+ David M. Gay
+ AT&T Bell Laboratories, Room 2C-463
+ 600 Mountain Avenue
+ Murray Hill, NJ 07974-2070
+ U.S.A.
+ dmg@research.att.com or research!dmg
+ */
+
+/* strtod for IEEE-, VAX-, and IBM-arithmetic machines.
+ *
+ * This strtod returns a nearest machine number to the input decimal
+ * string (or sets errno to ERANGE). With IEEE arithmetic, ties are
+ * broken by the IEEE round-even rule. Otherwise ties are broken by
+ * biased rounding (add half and chop).
+ *
+ * Inspired loosely by William D. Clinger's paper "How to Read Floating
+ * Point Numbers Accurately" [Proc. ACM SIGPLAN '90, pp. 92-101].
+ *
+ * Modifications:
+ *
+ * 1. We only require IEEE, IBM, or VAX double-precision
+ * arithmetic (not IEEE double-extended).
+ * 2. We get by with floating-point arithmetic in a case that
+ * Clinger missed -- when we're computing d * 10^n
+ * for a small integer d and the integer n is not too
+ * much larger than 22 (the maximum integer k for which
+ * we can represent 10^k exactly), we may be able to
+ * compute (d*10^k) * 10^(e-k) with just one roundoff.
+ * 3. Rather than a bit-at-a-time adjustment of the binary
+ * result in the hard case, we use floating-point
+ * arithmetic to determine the adjustment to within
+ * one bit; only in really hard cases do we need to
+ * compute a second residual.
+ * 4. Because of 3., we don't need a large table of powers of 10
+ * for ten-to-e (just some small tables, e.g. of 10^k
+ * for 0 <= k <= 22).
+ */
+
+/*
+ * #define IEEE_8087 for IEEE-arithmetic machines where the least
+ * significant byte has the lowest address.
+ * #define IEEE_MC68k for IEEE-arithmetic machines where the most
+ * significant byte has the lowest address.
+ * #define Sudden_Underflow for IEEE-format machines without gradual
+ * underflow (i.e., that flush to zero on underflow).
+ * #define IBM for IBM mainframe-style floating-point arithmetic.
+ * #define VAX for VAX-style floating-point arithmetic.
+ * #define Unsigned_Shifts if >> does treats its left operand as unsigned.
+ * #define No_leftright to omit left-right logic in fast floating-point
+ * computation of dtoa.
+ * #define Check_FLT_ROUNDS if FLT_ROUNDS can assume the values 2 or 3.
+ * #define RND_PRODQUOT to use rnd_prod and rnd_quot (assembly routines
+ * that use extended-precision instructions to compute rounded
+ * products and quotients) with IBM.
+ * #define ROUND_BIASED for IEEE-format with biased rounding.
+ * #define Inaccurate_Divide for IEEE-format with correctly rounded
+ * products but inaccurate quotients, e.g., for Intel i860.
+ * #define Just_16 to store 16 bits per 32-bit long when doing high-precision
+ * integer arithmetic. Whether this speeds things up or slows things
+ * down depends on the machine and the number being converted.
+ */
+
+#include <_ansi.h>
+#include <stdlib.h>
+#include <string.h>
+#include <reent.h>
+#include "mprec.h"
+
+/* reent.c knows this value */
+#define _Kmax 15
+
+_Bigint *
+_DEFUN (Balloc, (ptr, k), struct _reent *ptr _AND int k)
+{
+ int x;
+ _Bigint *rv ;
+
+ if (ptr->_freelist == NULL)
+ {
+ /* Allocate a list of pointers to the mprec objects */
+ ptr->_freelist = (struct _Bigint **) _calloc_r (ptr,
+ sizeof (struct _Bigint *),
+ _Kmax + 1);
+ if (ptr->_freelist == NULL)
+ {
+ return NULL;
+ }
+ }
+
+ if (rv = ptr->_freelist[k])
+ {
+ ptr->_freelist[k] = rv->_next;
+ }
+ else
+ {
+ x = 1 << k;
+ /* Allocate an mprec Bigint and stick in in the freelist */
+ rv = (_Bigint *) _calloc_r (ptr,
+ 1,
+ sizeof (_Bigint) +
+ (x-1) * sizeof(rv->_x));
+ if (rv == NULL) return NULL;
+ rv->_k = k;
+ rv->_maxwds = x;
+ }
+ rv->_sign = rv->_wds = 0;
+ return rv;
+}
+
+void
+_DEFUN (Bfree, (ptr, v), struct _reent *ptr _AND _Bigint * v)
+{
+ if (v)
+ {
+ v->_next = ptr->_freelist[v->_k];
+ ptr->_freelist[v->_k] = v;
+ }
+}
+
+_Bigint *
+_DEFUN (multadd, (ptr, b, m, a),
+ struct _reent *ptr _AND
+ _Bigint * b _AND
+ int m _AND
+ int a)
+{
+ int i, wds;
+ __ULong *x, y;
+#ifdef Pack_32
+ __ULong xi, z;
+#endif
+ _Bigint *b1;
+
+ wds = b->_wds;
+ x = b->_x;
+ i = 0;
+ do
+ {
+#ifdef Pack_32
+ xi = *x;
+ y = (xi & 0xffff) * m + a;
+ z = (xi >> 16) * m + (y >> 16);
+ a = (int) (z >> 16);
+ *x++ = (z << 16) + (y & 0xffff);
+#else
+ y = *x * m + a;
+ a = (int) (y >> 16);
+ *x++ = y & 0xffff;
+#endif
+ }
+ while (++i < wds);
+ if (a)
+ {
+ if (wds >= b->_maxwds)
+ {
+ b1 = Balloc (ptr, b->_k + 1);
+ Bcopy (b1, b);
+ Bfree (ptr, b);
+ b = b1;
+ }
+ b->_x[wds++] = a;
+ b->_wds = wds;
+ }
+ return b;
+}
+
+_Bigint *
+_DEFUN (s2b, (ptr, s, nd0, nd, y9),
+ struct _reent * ptr _AND
+ _CONST char *s _AND
+ int nd0 _AND
+ int nd _AND
+ __ULong y9)
+{
+ _Bigint *b;
+ int i, k;
+ __Long x, y;
+
+ x = (nd + 8) / 9;
+ for (k = 0, y = 1; x > y; y <<= 1, k++);
+#ifdef Pack_32
+ b = Balloc (ptr, k);
+ b->_x[0] = y9;
+ b->_wds = 1;
+#else
+ b = Balloc (ptr, k + 1);
+ b->_x[0] = y9 & 0xffff;
+ b->_wds = (b->_x[1] = y9 >> 16) ? 2 : 1;
+#endif
+
+ i = 9;
+ if (9 < nd0)
+ {
+ s += 9;
+ do
+ b = multadd (ptr, b, 10, *s++ - '0');
+ while (++i < nd0);
+ s++;
+ }
+ else
+ s += 10;
+ for (; i < nd; i++)
+ b = multadd (ptr, b, 10, *s++ - '0');
+ return b;
+}
+
+int
+_DEFUN (hi0bits,
+ (x), register __ULong x)
+{
+ register int k = 0;
+
+ if (!(x & 0xffff0000))
+ {
+ k = 16;
+ x <<= 16;
+ }
+ if (!(x & 0xff000000))
+ {
+ k += 8;
+ x <<= 8;
+ }
+ if (!(x & 0xf0000000))
+ {
+ k += 4;
+ x <<= 4;
+ }
+ if (!(x & 0xc0000000))
+ {
+ k += 2;
+ x <<= 2;
+ }
+ if (!(x & 0x80000000))
+ {
+ k++;
+ if (!(x & 0x40000000))
+ return 32;
+ }
+ return k;
+}
+
+int
+_DEFUN (lo0bits, (y), __ULong *y)
+{
+ register int k;
+ register __ULong x = *y;
+
+ if (x & 7)
+ {
+ if (x & 1)
+ return 0;
+ if (x & 2)
+ {
+ *y = x >> 1;
+ return 1;
+ }
+ *y = x >> 2;
+ return 2;
+ }
+ k = 0;
+ if (!(x & 0xffff))
+ {
+ k = 16;
+ x >>= 16;
+ }
+ if (!(x & 0xff))
+ {
+ k += 8;
+ x >>= 8;
+ }
+ if (!(x & 0xf))
+ {
+ k += 4;
+ x >>= 4;
+ }
+ if (!(x & 0x3))
+ {
+ k += 2;
+ x >>= 2;
+ }
+ if (!(x & 1))
+ {
+ k++;
+ x >>= 1;
+ if (!x & 1)
+ return 32;
+ }
+ *y = x;
+ return k;
+}
+
+_Bigint *
+_DEFUN (i2b, (ptr, i), struct _reent * ptr _AND int i)
+{
+ _Bigint *b;
+
+ b = Balloc (ptr, 1);
+ b->_x[0] = i;
+ b->_wds = 1;
+ return b;
+}
+
+_Bigint *
+_DEFUN (mult, (ptr, a, b), struct _reent * ptr _AND _Bigint * a _AND _Bigint * b)
+{
+ _Bigint *c;
+ int k, wa, wb, wc;
+ __ULong carry, y, z;
+ __ULong *x, *xa, *xae, *xb, *xbe, *xc, *xc0;
+#ifdef Pack_32
+ __ULong z2;
+#endif
+
+ if (a->_wds < b->_wds)
+ {
+ c = a;
+ a = b;
+ b = c;
+ }
+ k = a->_k;
+ wa = a->_wds;
+ wb = b->_wds;
+ wc = wa + wb;
+ if (wc > a->_maxwds)
+ k++;
+ c = Balloc (ptr, k);
+ for (x = c->_x, xa = x + wc; x < xa; x++)
+ *x = 0;
+ xa = a->_x;
+ xae = xa + wa;
+ xb = b->_x;
+ xbe = xb + wb;
+ xc0 = c->_x;
+#ifdef Pack_32
+ for (; xb < xbe; xb++, xc0++)
+ {
+ if (y = *xb & 0xffff)
+ {
+ x = xa;
+ xc = xc0;
+ carry = 0;
+ do
+ {
+ z = (*x & 0xffff) * y + (*xc & 0xffff) + carry;
+ carry = z >> 16;
+ z2 = (*x++ >> 16) * y + (*xc >> 16) + carry;
+ carry = z2 >> 16;
+ Storeinc (xc, z2, z);
+ }
+ while (x < xae);
+ *xc = carry;
+ }
+ if (y = *xb >> 16)
+ {
+ x = xa;
+ xc = xc0;
+ carry = 0;
+ z2 = *xc;
+ do
+ {
+ z = (*x & 0xffff) * y + (*xc >> 16) + carry;
+ carry = z >> 16;
+ Storeinc (xc, z, z2);
+ z2 = (*x++ >> 16) * y + (*xc & 0xffff) + carry;
+ carry = z2 >> 16;
+ }
+ while (x < xae);
+ *xc = z2;
+ }
+ }
+#else
+ for (; xb < xbe; xc0++)
+ {
+ if (y = *xb++)
+ {
+ x = xa;
+ xc = xc0;
+ carry = 0;
+ do
+ {
+ z = *x++ * y + *xc + carry;
+ carry = z >> 16;
+ *xc++ = z & 0xffff;
+ }
+ while (x < xae);
+ *xc = carry;
+ }
+ }
+#endif
+ for (xc0 = c->_x, xc = xc0 + wc; wc > 0 && !*--xc; --wc);
+ c->_wds = wc;
+ return c;
+}
+
+_Bigint *
+_DEFUN (pow5mult,
+ (ptr, b, k), struct _reent * ptr _AND _Bigint * b _AND int k)
+{
+ _Bigint *b1, *p5, *p51;
+ int i;
+ static _CONST int p05[3] = {5, 25, 125};
+
+ if (i = k & 3)
+ b = multadd (ptr, b, p05[i - 1], 0);
+
+ if (!(k >>= 2))
+ return b;
+ if (!(p5 = ptr->_p5s))
+ {
+ /* first time */
+ p5 = ptr->_p5s = i2b (ptr, 625);
+ p5->_next = 0;
+ }
+ for (;;)
+ {
+ if (k & 1)
+ {
+ b1 = mult (ptr, b, p5);
+ Bfree (ptr, b);
+ b = b1;
+ }
+ if (!(k >>= 1))
+ break;
+ if (!(p51 = p5->_next))
+ {
+ p51 = p5->_next = mult (ptr, p5, p5);
+ p51->_next = 0;
+ }
+ p5 = p51;
+ }
+ return b;
+}
+
+_Bigint *
+_DEFUN (lshift, (ptr, b, k), struct _reent * ptr _AND _Bigint * b _AND int k)
+{
+ int i, k1, n, n1;
+ _Bigint *b1;
+ __ULong *x, *x1, *xe, z;
+
+#ifdef Pack_32
+ n = k >> 5;
+#else
+ n = k >> 4;
+#endif
+ k1 = b->_k;
+ n1 = n + b->_wds + 1;
+ for (i = b->_maxwds; n1 > i; i <<= 1)
+ k1++;
+ b1 = Balloc (ptr, k1);
+ x1 = b1->_x;
+ for (i = 0; i < n; i++)
+ *x1++ = 0;
+ x = b->_x;
+ xe = x + b->_wds;
+#ifdef Pack_32
+ if (k &= 0x1f)
+ {
+ k1 = 32 - k;
+ z = 0;
+ do
+ {
+ *x1++ = *x << k | z;
+ z = *x++ >> k1;
+ }
+ while (x < xe);
+ if (*x1 = z)
+ ++n1;
+ }
+#else
+ if (k &= 0xf)
+ {
+ k1 = 16 - k;
+ z = 0;
+ do
+ {
+ *x1++ = *x << k & 0xffff | z;
+ z = *x++ >> k1;
+ }
+ while (x < xe);
+ if (*x1 = z)
+ ++n1;
+ }
+#endif
+ else
+ do
+ *x1++ = *x++;
+ while (x < xe);
+ b1->_wds = n1 - 1;
+ Bfree (ptr, b);
+ return b1;
+}
+
+int
+_DEFUN (cmp, (a, b), _Bigint * a _AND _Bigint * b)
+{
+ __ULong *xa, *xa0, *xb, *xb0;
+ int i, j;
+
+ i = a->_wds;
+ j = b->_wds;
+#ifdef DEBUG
+ if (i > 1 && !a->_x[i - 1])
+ Bug ("cmp called with a->_x[a->_wds-1] == 0");
+ if (j > 1 && !b->_x[j - 1])
+ Bug ("cmp called with b->_x[b->_wds-1] == 0");
+#endif
+ if (i -= j)
+ return i;
+ xa0 = a->_x;
+ xa = xa0 + j;
+ xb0 = b->_x;
+ xb = xb0 + j;
+ for (;;)
+ {
+ if (*--xa != *--xb)
+ return *xa < *xb ? -1 : 1;
+ if (xa <= xa0)
+ break;
+ }
+ return 0;
+}
+
+_Bigint *
+_DEFUN (diff, (ptr, a, b), struct _reent * ptr _AND
+ _Bigint * a _AND _Bigint * b)
+{
+ _Bigint *c;
+ int i, wa, wb;
+ __Long borrow, y; /* We need signed shifts here. */
+ __ULong *xa, *xae, *xb, *xbe, *xc;
+#ifdef Pack_32
+ __Long z;
+#endif
+
+ i = cmp (a, b);
+ if (!i)
+ {
+ c = Balloc (ptr, 0);
+ c->_wds = 1;
+ c->_x[0] = 0;
+ return c;
+ }
+ if (i < 0)
+ {
+ c = a;
+ a = b;
+ b = c;
+ i = 1;
+ }
+ else
+ i = 0;
+ c = Balloc (ptr, a->_k);
+ c->_sign = i;
+ wa = a->_wds;
+ xa = a->_x;
+ xae = xa + wa;
+ wb = b->_wds;
+ xb = b->_x;
+ xbe = xb + wb;
+ xc = c->_x;
+ borrow = 0;
+#ifdef Pack_32
+ do
+ {
+ y = (*xa & 0xffff) - (*xb & 0xffff) + borrow;
+ borrow = y >> 16;
+ Sign_Extend (borrow, y);
+ z = (*xa++ >> 16) - (*xb++ >> 16) + borrow;
+ borrow = z >> 16;
+ Sign_Extend (borrow, z);
+ Storeinc (xc, z, y);
+ }
+ while (xb < xbe);
+ while (xa < xae)
+ {
+ y = (*xa & 0xffff) + borrow;
+ borrow = y >> 16;
+ Sign_Extend (borrow, y);
+ z = (*xa++ >> 16) + borrow;
+ borrow = z >> 16;
+ Sign_Extend (borrow, z);
+ Storeinc (xc, z, y);
+ }
+#else
+ do
+ {
+ y = *xa++ - *xb++ + borrow;
+ borrow = y >> 16;
+ Sign_Extend (borrow, y);
+ *xc++ = y & 0xffff;
+ }
+ while (xb < xbe);
+ while (xa < xae)
+ {
+ y = *xa++ + borrow;
+ borrow = y >> 16;
+ Sign_Extend (borrow, y);
+ *xc++ = y & 0xffff;
+ }
+#endif
+ while (!*--xc)
+ wa--;
+ c->_wds = wa;
+ return c;
+}
+
+double
+_DEFUN (ulp, (_x), double _x)
+{
+ union double_union x, a;
+ register __Long L;
+
+ x.d = _x;
+
+ L = (word0 (x) & Exp_mask) - (P - 1) * Exp_msk1;
+#ifndef Sudden_Underflow
+ if (L > 0)
+ {
+#endif
+#ifdef IBM
+ L |= Exp_msk1 >> 4;
+#endif
+ word0 (a) = L;
+#ifndef _DOUBLE_IS_32BITS
+ word1 (a) = 0;
+#endif
+
+#ifndef Sudden_Underflow
+ }
+ else
+ {
+ L = -L >> Exp_shift;
+ if (L < Exp_shift)
+ {
+ word0 (a) = 0x80000 >> L;
+#ifndef _DOUBLE_IS_32BITS
+ word1 (a) = 0;
+#endif
+ }
+ else
+ {
+ word0 (a) = 0;
+ L -= Exp_shift;
+#ifndef _DOUBLE_IS_32BITS
+ word1 (a) = L >= 31 ? 1 : 1 << 31 - L;
+#endif
+ }
+ }
+#endif
+ return a.d;
+}
+
+double
+_DEFUN (b2d, (a, e),
+ _Bigint * a _AND int *e)
+{
+ __ULong *xa, *xa0, w, y, z;
+ int k;
+ union double_union d;
+#ifdef VAX
+ __ULong d0, d1;
+#else
+#define d0 word0(d)
+#define d1 word1(d)
+#endif
+
+ xa0 = a->_x;
+ xa = xa0 + a->_wds;
+ y = *--xa;
+#ifdef DEBUG
+ if (!y)
+ Bug ("zero y in b2d");
+#endif
+ k = hi0bits (y);
+ *e = 32 - k;
+#ifdef Pack_32
+ if (k < Ebits)
+ {
+ d0 = Exp_1 | y >> Ebits - k;
+ w = xa > xa0 ? *--xa : 0;
+#ifndef _DOUBLE_IS_32BITS
+ d1 = y << (32 - Ebits) + k | w >> Ebits - k;
+#endif
+ goto ret_d;
+ }
+ z = xa > xa0 ? *--xa : 0;
+ if (k -= Ebits)
+ {
+ d0 = Exp_1 | y << k | z >> 32 - k;
+ y = xa > xa0 ? *--xa : 0;
+#ifndef _DOUBLE_IS_32BITS
+ d1 = z << k | y >> 32 - k;
+#endif
+ }
+ else
+ {
+ d0 = Exp_1 | y;
+#ifndef _DOUBLE_IS_32BITS
+ d1 = z;
+#endif
+ }
+#else
+ if (k < Ebits + 16)
+ {
+ z = xa > xa0 ? *--xa : 0;
+ d0 = Exp_1 | y << k - Ebits | z >> Ebits + 16 - k;
+ w = xa > xa0 ? *--xa : 0;
+ y = xa > xa0 ? *--xa : 0;
+ d1 = z << k + 16 - Ebits | w << k - Ebits | y >> 16 + Ebits - k;
+ goto ret_d;
+ }
+ z = xa > xa0 ? *--xa : 0;
+ w = xa > xa0 ? *--xa : 0;
+ k -= Ebits + 16;
+ d0 = Exp_1 | y << k + 16 | z << k | w >> 16 - k;
+ y = xa > xa0 ? *--xa : 0;
+ d1 = w << k + 16 | y << k;
+#endif
+ret_d:
+#ifdef VAX
+ word0 (d) = d0 >> 16 | d0 << 16;
+ word1 (d) = d1 >> 16 | d1 << 16;
+#else
+#undef d0
+#undef d1
+#endif
+ return d.d;
+}
+
+_Bigint *
+_DEFUN (d2b,
+ (ptr, _d, e, bits),
+ struct _reent * ptr _AND
+ double _d _AND
+ int *e _AND
+ int *bits)
+
+{
+ union double_union d;
+ _Bigint *b;
+ int de, i, k;
+ __ULong *x, y, z;
+#ifdef VAX
+ __ULong d0, d1;
+#endif
+ d.d = _d;
+#ifdef VAX
+ d0 = word0 (d) >> 16 | word0 (d) << 16;
+ d1 = word1 (d) >> 16 | word1 (d) << 16;
+#else
+#define d0 word0(d)
+#define d1 word1(d)
+ d.d = _d;
+#endif
+
+#ifdef Pack_32
+ b = Balloc (ptr, 1);
+#else
+ b = Balloc (ptr, 2);
+#endif
+ x = b->_x;
+
+ z = d0 & Frac_mask;
+ d0 &= 0x7fffffff; /* clear sign bit, which we ignore */
+#ifdef Sudden_Underflow
+ de = (int) (d0 >> Exp_shift);
+#ifndef IBM
+ z |= Exp_msk11;
+#endif
+#else
+ if (de = (int) (d0 >> Exp_shift))
+ z |= Exp_msk1;
+#endif
+#ifdef Pack_32
+#ifndef _DOUBLE_IS_32BITS
+ if (y = d1)
+ {
+ if (k = lo0bits (&y))
+ {
+ x[0] = y | z << 32 - k;
+ z >>= k;
+ }
+ else
+ x[0] = y;
+ i = b->_wds = (x[1] = z) ? 2 : 1;
+ }
+ else
+#endif
+ {
+#ifdef DEBUG
+ if (!z)
+ Bug ("Zero passed to d2b");
+#endif
+ k = lo0bits (&z);
+ x[0] = z;
+ i = b->_wds = 1;
+#ifndef _DOUBLE_IS_32BITS
+ k += 32;
+#endif
+ }
+#else
+ if (y = d1)
+ {
+ if (k = lo0bits (&y))
+ if (k >= 16)
+ {
+ x[0] = y | z << 32 - k & 0xffff;
+ x[1] = z >> k - 16 & 0xffff;
+ x[2] = z >> k;
+ i = 2;
+ }
+ else
+ {
+ x[0] = y & 0xffff;
+ x[1] = y >> 16 | z << 16 - k & 0xffff;
+ x[2] = z >> k & 0xffff;
+ x[3] = z >> k + 16;
+ i = 3;
+ }
+ else
+ {
+ x[0] = y & 0xffff;
+ x[1] = y >> 16;
+ x[2] = z & 0xffff;
+ x[3] = z >> 16;
+ i = 3;
+ }
+ }
+ else
+ {
+#ifdef DEBUG
+ if (!z)
+ Bug ("Zero passed to d2b");
+#endif
+ k = lo0bits (&z);
+ if (k >= 16)
+ {
+ x[0] = z;
+ i = 0;
+ }
+ else
+ {
+ x[0] = z & 0xffff;
+ x[1] = z >> 16;
+ i = 1;
+ }
+ k += 32;
+ }
+ while (!x[i])
+ --i;
+ b->_wds = i + 1;
+#endif
+#ifndef Sudden_Underflow
+ if (de)
+ {
+#endif
+#ifdef IBM
+ *e = (de - Bias - (P - 1) << 2) + k;
+ *bits = 4 * P + 8 - k - hi0bits (word0 (d) & Frac_mask);
+#else
+ *e = de - Bias - (P - 1) + k;
+ *bits = P - k;
+#endif
+#ifndef Sudden_Underflow
+ }
+ else
+ {
+ *e = de - Bias - (P - 1) + 1 + k;
+#ifdef Pack_32
+ *bits = 32 * i - hi0bits (x[i - 1]);
+#else
+ *bits = (i + 2) * 16 - hi0bits (x[i]);
+#endif
+ }
+#endif
+ return b;
+}
+#undef d0
+#undef d1
+
+double
+_DEFUN (ratio, (a, b), _Bigint * a _AND _Bigint * b)
+
+{
+ union double_union da, db;
+ int k, ka, kb;
+
+ da.d = b2d (a, &ka);
+ db.d = b2d (b, &kb);
+#ifdef Pack_32
+ k = ka - kb + 32 * (a->_wds - b->_wds);
+#else
+ k = ka - kb + 16 * (a->_wds - b->_wds);
+#endif
+#ifdef IBM
+ if (k > 0)
+ {
+ word0 (da) += (k >> 2) * Exp_msk1;
+ if (k &= 3)
+ da.d *= 1 << k;
+ }
+ else
+ {
+ k = -k;
+ word0 (db) += (k >> 2) * Exp_msk1;
+ if (k &= 3)
+ db.d *= 1 << k;
+ }
+#else
+ if (k > 0)
+ word0 (da) += k * Exp_msk1;
+ else
+ {
+ k = -k;
+ word0 (db) += k * Exp_msk1;
+ }
+#endif
+ return da.d / db.d;
+}
+
+
+_CONST double
+ tens[] =
+{
+ 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9,
+ 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19,
+ 1e20, 1e21, 1e22, 1e23, 1e24
+
+};
+
+#if !defined(_DOUBLE_IS_32BITS) && !defined(__v800)
+_CONST double bigtens[] =
+{1e16, 1e32, 1e64, 1e128, 1e256};
+
+_CONST double tinytens[] =
+{1e-16, 1e-32, 1e-64, 1e-128, 1e-256};
+#else
+_CONST double bigtens[] =
+{1e16, 1e32};
+
+_CONST double tinytens[] =
+{1e-16, 1e-32};
+#endif
+
+
+double
+_DEFUN (_mprec_log10, (dig),
+ int dig)
+{
+ double v = 1.0;
+ if (dig < 24)
+ return tens[dig];
+ while (dig > 0)
+ {
+ v *= 10;
+ dig--;
+ }
+ return v;
+}
diff --git a/newlib/libc/stdlib/mprec.h b/newlib/libc/stdlib/mprec.h
new file mode 100644
index 00000000000..001f0c28430
--- /dev/null
+++ b/newlib/libc/stdlib/mprec.h
@@ -0,0 +1,313 @@
+/****************************************************************
+ *
+ * The author of this software is David M. Gay.
+ *
+ * Copyright (c) 1991 by AT&T.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose without fee is hereby granted, provided that this entire notice
+ * is included in all copies of any software which is or includes a copy
+ * or modification of this software and in all copies of the supporting
+ * documentation for such software.
+ *
+ * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+ * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
+ * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
+ * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+ *
+ ***************************************************************/
+
+/* Please send bug reports to
+ David M. Gay
+ AT&T Bell Laboratories, Room 2C-463
+ 600 Mountain Avenue
+ Murray Hill, NJ 07974-2070
+ U.S.A.
+ dmg@research.att.com or research!dmg
+ */
+
+#include <ieeefp.h>
+#include <math.h>
+#include <float.h>
+#include <errno.h>
+#include <sys/config.h>
+
+#ifdef __IEEE_LITTLE_ENDIAN
+#define IEEE_8087
+#endif
+
+#ifdef __IEEE_BIG_ENDIAN
+#define IEEE_MC68k
+#endif
+
+#ifdef __Z8000__
+#define Just_16
+#endif
+
+#ifdef DEBUG
+#include "stdio.h"
+#define Bug(x) {fprintf(stderr, "%s\n", x); exit(1);}
+#endif
+
+#ifdef Unsigned_Shifts
+#define Sign_Extend(a,b) if (b < 0) a |= (__uint32_t)0xffff0000;
+#else
+#define Sign_Extend(a,b) /*no-op*/
+#endif
+
+#if defined(IEEE_8087) + defined(IEEE_MC68k) + defined(VAX) + defined(IBM) != 1
+Exactly one of IEEE_8087, IEEE_MC68k, VAX, or IBM should be defined.
+#endif
+
+/* If we are going to examine or modify specific bits in a double using
+ the word0 and/or word1 macros, then we must wrap the double inside
+ a union. This is necessary to avoid undefined behavior according to
+ the ANSI C spec. */
+union double_union
+{
+ double d;
+ __uint32_t i[2];
+};
+
+#ifdef IEEE_8087
+#define word0(x) (x.i[1])
+#define word1(x) (x.i[0])
+#else
+#define word0(x) (x.i[0])
+#define word1(x) (x.i[1])
+#endif
+
+/* The following definition of Storeinc is appropriate for MIPS processors.
+ * An alternative that might be better on some machines is
+ * #define Storeinc(a,b,c) (*a++ = b << 16 | c & 0xffff)
+ */
+#if defined(IEEE_8087) + defined(VAX)
+#define Storeinc(a,b,c) (((unsigned short *)a)[1] = (unsigned short)b, \
+((unsigned short *)a)[0] = (unsigned short)c, a++)
+#else
+#define Storeinc(a,b,c) (((unsigned short *)a)[0] = (unsigned short)b, \
+((unsigned short *)a)[1] = (unsigned short)c, a++)
+#endif
+
+/* #define P DBL_MANT_DIG */
+/* Ten_pmax = floor(P*log(2)/log(5)) */
+/* Bletch = (highest power of 2 < DBL_MAX_10_EXP) / 16 */
+/* Quick_max = floor((P-1)*log(FLT_RADIX)/log(10) - 1) */
+/* Int_max = floor(P*log(FLT_RADIX)/log(10) - 1) */
+
+#if defined(IEEE_8087) + defined(IEEE_MC68k)
+#if defined (_DOUBLE_IS_32BITS)
+#define Exp_shift 23
+#define Exp_shift1 23
+#define Exp_msk1 ((__uint32_t)0x00800000L)
+#define Exp_msk11 ((__uint32_t)0x00800000L)
+#define Exp_mask ((__uint32_t)0x7f800000L)
+#define P 24
+#define Bias 127
+#if 0
+#define IEEE_Arith /* it is, but the code doesn't handle IEEE singles yet */
+#endif
+#define Emin (-126)
+#define Exp_1 ((__uint32_t)0x3f800000L)
+#define Exp_11 ((__uint32_t)0x3f800000L)
+#define Ebits 8
+#define Frac_mask ((__uint32_t)0x007fffffL)
+#define Frac_mask1 ((__uint32_t)0x007fffffL)
+#define Ten_pmax 10
+#define Sign_bit ((__uint32_t)0x80000000L)
+#define Ten_pmax 10
+#define Bletch 2
+#define Bndry_mask ((__uint32_t)0x007fffffL)
+#define Bndry_mask1 ((__uint32_t)0x007fffffL)
+#define LSB 1
+#define Sign_bit ((__uint32_t)0x80000000L)
+#define Log2P 1
+#define Tiny0 0
+#define Tiny1 1
+#define Quick_max 5
+#define Int_max 6
+#define Infinite(x) (word0(x) == ((__uint32_t)0x7f800000L))
+#undef word0
+#undef word1
+
+#define word0(x) (x.i[0])
+#define word1(x) 0
+#else
+
+#define Exp_shift 20
+#define Exp_shift1 20
+#define Exp_msk1 ((__uint32_t)0x100000L)
+#define Exp_msk11 ((__uint32_t)0x100000L)
+#define Exp_mask ((__uint32_t)0x7ff00000L)
+#define P 53
+#define Bias 1023
+#define IEEE_Arith
+#define Emin (-1022)
+#define Exp_1 ((__uint32_t)0x3ff00000L)
+#define Exp_11 ((__uint32_t)0x3ff00000L)
+#define Ebits 11
+#define Frac_mask ((__uint32_t)0xfffffL)
+#define Frac_mask1 ((__uint32_t)0xfffffL)
+#define Ten_pmax 22
+#define Bletch 0x10
+#define Bndry_mask ((__uint32_t)0xfffffL)
+#define Bndry_mask1 ((__uint32_t)0xfffffL)
+#define LSB 1
+#define Sign_bit ((__uint32_t)0x80000000L)
+#define Log2P 1
+#define Tiny0 0
+#define Tiny1 1
+#define Quick_max 14
+#define Int_max 14
+#define Infinite(x) (word0(x) == ((__uint32_t)0x7ff00000L)) /* sufficient test for here */
+#endif
+
+#else
+#undef Sudden_Underflow
+#define Sudden_Underflow
+#ifdef IBM
+#define Exp_shift 24
+#define Exp_shift1 24
+#define Exp_msk1 ((__uint32_t)0x1000000L)
+#define Exp_msk11 ((__uint32_t)0x1000000L)
+#define Exp_mask ((__uint32_t)0x7f000000L)
+#define P 14
+#define Bias 65
+#define Exp_1 ((__uint32_t)0x41000000L)
+#define Exp_11 ((__uint32_t)0x41000000L)
+#define Ebits 8 /* exponent has 7 bits, but 8 is the right value in b2d */
+#define Frac_mask ((__uint32_t)0xffffffL)
+#define Frac_mask1 ((__uint32_t)0xffffffL)
+#define Bletch 4
+#define Ten_pmax 22
+#define Bndry_mask ((__uint32_t)0xefffffL)
+#define Bndry_mask1 ((__uint32_t)0xffffffL)
+#define LSB 1
+#define Sign_bit ((__uint32_t)0x80000000L)
+#define Log2P 4
+#define Tiny0 ((__uint32_t)0x100000L)
+#define Tiny1 0
+#define Quick_max 14
+#define Int_max 15
+#else /* VAX */
+#define Exp_shift 23
+#define Exp_shift1 7
+#define Exp_msk1 0x80
+#define Exp_msk11 ((__uint32_t)0x800000L)
+#define Exp_mask ((__uint32_t)0x7f80L)
+#define P 56
+#define Bias 129
+#define Exp_1 ((__uint32_t)0x40800000L)
+#define Exp_11 ((__uint32_t)0x4080L)
+#define Ebits 8
+#define Frac_mask ((__uint32_t)0x7fffffL)
+#define Frac_mask1 ((__uint32_t)0xffff007fL)
+#define Ten_pmax 24
+#define Bletch 2
+#define Bndry_mask ((__uint32_t)0xffff007fL)
+#define Bndry_mask1 ((__uint32_t)0xffff007fL)
+#define LSB ((__uint32_t)0x10000L)
+#define Sign_bit ((__uint32_t)0x8000L)
+#define Log2P 1
+#define Tiny0 0x80
+#define Tiny1 0
+#define Quick_max 15
+#define Int_max 15
+#endif
+#endif
+
+#ifndef IEEE_Arith
+#define ROUND_BIASED
+#endif
+
+#ifdef RND_PRODQUOT
+#define rounded_product(a,b) a = rnd_prod(a, b)
+#define rounded_quotient(a,b) a = rnd_quot(a, b)
+#ifdef KR_headers
+extern double rnd_prod(), rnd_quot();
+#else
+extern double rnd_prod(double, double), rnd_quot(double, double);
+#endif
+#else
+#define rounded_product(a,b) a *= b
+#define rounded_quotient(a,b) a /= b
+#endif
+
+#define Big0 (Frac_mask1 | Exp_msk1*(DBL_MAX_EXP+Bias-1))
+#define Big1 ((__uint32_t)0xffffffffL)
+
+#ifndef Just_16
+/* When Pack_32 is not defined, we store 16 bits per 32-bit long.
+ * This makes some inner loops simpler and sometimes saves work
+ * during multiplications, but it often seems to make things slightly
+ * slower. Hence the default is now to store 32 bits per long.
+ */
+
+#ifndef Pack_32
+#define Pack_32
+#endif
+#endif
+
+
+#ifdef __cplusplus
+extern "C" double strtod(const char *s00, char **se);
+extern "C" char *dtoa(double d, int mode, int ndigits,
+ int *decpt, int *sign, char **rve);
+#endif
+
+
+typedef struct _Bigint _Bigint;
+
+#define Balloc _Balloc
+#define Bfree _Bfree
+#define multadd _multadd
+#define s2b _s2b
+#define lo0bits _lo0bits
+#define hi0bits _hi0bits
+#define i2b _i2b
+#define mult _multiply
+#define pow5mult _pow5mult
+#define lshift _lshift
+#define cmp __mcmp
+#define diff __mdiff
+#define ulp _ulp
+#define b2d _b2d
+#define d2b _d2b
+#define ratio _ratio
+
+#define tens __mprec_tens
+#define bigtens __mprec_bigtens
+#define tinytens __mprec_tinytens
+
+struct _reent ;
+double _EXFUN(ulp,(double x));
+double _EXFUN(b2d,(_Bigint *a , int *e));
+_Bigint * _EXFUN(Balloc,(struct _reent *p, int k));
+void _EXFUN(Bfree,(struct _reent *p, _Bigint *v));
+_Bigint * _EXFUN(multadd,(struct _reent *p, _Bigint *, int, int));
+_Bigint * _EXFUN(s2b,(struct _reent *, const char*, int, int, __ULong));
+_Bigint * _EXFUN(i2b,(struct _reent *,int));
+_Bigint * _EXFUN(mult, (struct _reent *, _Bigint *, _Bigint *));
+_Bigint * _EXFUN(pow5mult, (struct _reent *, _Bigint *, int k));
+int _EXFUN(hi0bits,(__ULong));
+int _EXFUN(lo0bits,(__ULong *));
+_Bigint * _EXFUN(d2b,(struct _reent *p, double d, int *e, int *bits));
+_Bigint * _EXFUN(lshift,(struct _reent *p, _Bigint *b, int k));
+_Bigint * _EXFUN(diff,(struct _reent *p, _Bigint *a, _Bigint *b));
+int _EXFUN(cmp,(_Bigint *a, _Bigint *b));
+
+double _EXFUN(ratio,(_Bigint *a, _Bigint *b));
+#define Bcopy(x,y) memcpy((char *)&x->_sign, (char *)&y->_sign, y->_wds*sizeof(__Long) + 2*sizeof(int))
+
+#if defined(_DOUBLE_IS_32BITS) && defined(__v800)
+#define n_bigtens 2
+#else
+#define n_bigtens 5
+#endif
+
+extern _CONST double tinytens[];
+extern _CONST double bigtens[];
+extern _CONST double tens[];
+
+
+double _EXFUN(_mprec_log10,(int));
diff --git a/newlib/libc/stdlib/msize.c b/newlib/libc/stdlib/msize.c
new file mode 100644
index 00000000000..e910c44ec1c
--- /dev/null
+++ b/newlib/libc/stdlib/msize.c
@@ -0,0 +1,17 @@
+/* msize.c -- a wrapper for malloc_usable_size. */
+
+#include <_ansi.h>
+#include <reent.h>
+#include <stdlib.h>
+#include <malloc.h>
+
+#ifndef _REENT_ONLY
+
+size_t
+_DEFUN (malloc_usable_size, (ptr),
+ _PTR ptr)
+{
+ return _malloc_usable_size_r (_REENT, ptr);
+}
+
+#endif
diff --git a/newlib/libc/stdlib/mstats.c b/newlib/libc/stdlib/mstats.c
new file mode 100644
index 00000000000..c1628957a54
--- /dev/null
+++ b/newlib/libc/stdlib/mstats.c
@@ -0,0 +1,151 @@
+/* VxWorks provides its own version of malloc, and we can't use this
+ one because VxWorks does not provide sbrk. So we have a hook to
+ not compile this code. */
+
+#ifdef MALLOC_PROVIDED
+
+int _dummy_mstats = 1;
+
+#else
+
+/*
+FUNCTION
+<<mallinfo>>, <<malloc_stats>>, <<mallopt>>--malloc support
+
+INDEX
+ mallinfo
+INDEX
+ malloc_stats
+INDEX
+ mallopt
+INDEX
+ _mallinfo_r
+INDEX
+ _malloc_stats_r
+INDEX
+ _mallopt_r
+
+ANSI_SYNOPSIS
+ #include <malloc.h>
+ struct mallinfo mallinfo(void);
+ void malloc_stats(void);
+ int mallopt(int <[parameter]>, <[value]>);
+
+ struct mallinfo _mallinfo_r(void *<[reent]>);
+ void _malloc_stats_r(void *<[reent]>);
+ int _mallopt_r(void *<[reent]>, int <[parameter]>, <[value]>);
+
+TRAD_SYNOPSIS
+ #include <malloc.h>
+ struct mallinfo mallinfo();
+
+ void malloc_stats();
+
+ int mallopt(<[parameter]>, <[value]>)
+ int <[parameter]>;
+ int <[value]>;
+
+ struct mallinfo _mallinfo_r(<[reent]>);
+ char *<[reent]>;
+
+ void _malloc_stats_r(<[reent]>);
+ char *<[reent]>;
+
+ int _mallopt_r(<[reent]>, <[parameter]>, <[value]>)
+ char *<[reent]>;
+ int <[parameter]>;
+ int <[value]>;
+
+DESCRIPTION
+<<mallinfo>> returns a structure describing the current state of
+memory allocation. The structure is defined in malloc.h. The
+following fields are defined: <<arena>> is the total amount of space
+in the heap; <<ordblks>> is the number of chunks which are not in use;
+<<uordblks>> is the total amount of space allocated by <<malloc>>;
+<<fordblks>> is the total amount of space not in use; <<keepcost>> is
+the size of the top most memory block.
+
+<<malloc_stats>> print some statistics about memory allocation on
+standard error.
+
+<<mallopt>> takes a parameter and a value. The parameters are defined
+in malloc.h, and may be one of the following: <<M_TRIM_THRESHOLD>>
+sets the maximum amount of unused space in the top most block before
+releasing it back to the system in <<free>> (the space is released by
+calling <<_sbrk_r>> with a negative argument); <<M_TOP_PAD>> is the
+amount of padding to allocate whenever <<_sbrk_r>> is called to
+allocate more space.
+
+The alternate functions <<_mallinfo_r>>, <<_malloc_stats_r>>, and
+<<_mallopt_r>> are reentrant versions. The extra argument <[reent]>
+is a pointer to a reentrancy structure.
+
+RETURNS
+<<mallinfo>> returns a mallinfo structure. The structure is defined
+in malloc.h.
+
+<<malloc_stats>> does not return a result.
+
+<<mallopt>> returns zero if the parameter could not be set, or
+non-zero if it could be set.
+
+PORTABILITY
+<<mallinfo>> and <<mallopt>> are provided by SVR4, but <<mallopt>>
+takes different parameters on different systems. <<malloc_stats>> is
+not portable.
+
+*/
+
+#include <_ansi.h>
+#include <reent.h>
+#include <stdlib.h>
+#include <malloc.h>
+#include <stdio.h>
+
+#ifndef _REENT_ONLY
+
+struct mallinfo
+_DEFUN_VOID (mallinfo)
+{
+ return _mallinfo_r (_REENT);
+}
+
+void
+_DEFUN_VOID (malloc_stats)
+{
+ _malloc_stats_r (_REENT);
+}
+
+int
+_DEFUN (mallopt, (p, v),
+ int p _AND
+ int v)
+{
+ return _mallopt_r (_REENT, p, v);
+}
+
+#endif
+
+/* mstats is now compatibility code. It used to be real, for a
+ previous version of the malloc routines. It now just calls
+ malloc_stats. */
+
+void
+_DEFUN (_mstats_r, (ptr, s),
+ struct _reent *ptr _AND
+ char *s)
+{
+ fiprintf (_stderr_r (ptr), "Memory allocation statistics %s\n", s);
+ _malloc_stats_r (ptr);
+}
+
+#ifndef _REENT_ONLY
+void
+_DEFUN (mstats, (s),
+ char *s)
+{
+ _mstats_r (_REENT, s);
+}
+
+#endif
+#endif /* ! defined (MALLOC_PROVIDED) */
diff --git a/newlib/libc/stdlib/mtrim.c b/newlib/libc/stdlib/mtrim.c
new file mode 100644
index 00000000000..f5e0401c078
--- /dev/null
+++ b/newlib/libc/stdlib/mtrim.c
@@ -0,0 +1,17 @@
+/* mtrim.c -- a wrapper for malloc_trim. */
+
+#include <_ansi.h>
+#include <reent.h>
+#include <stdlib.h>
+#include <malloc.h>
+
+#ifndef _REENT_ONLY
+
+int
+_DEFUN (malloc_trim, (pad),
+ size_t pad)
+{
+ return _malloc_trim_r (_REENT, pad);
+}
+
+#endif
diff --git a/newlib/libc/stdlib/putenv.c b/newlib/libc/stdlib/putenv.c
new file mode 100644
index 00000000000..8942d2d3fad
--- /dev/null
+++ b/newlib/libc/stdlib/putenv.c
@@ -0,0 +1,37 @@
+/* This file may have been modified by DJ Delorie (Jan 1991). If so,
+** these modifications are Coyright (C) 1991 DJ Delorie, 24 Kirsten Ave,
+** Rochester NH, 03867-2954, USA.
+*/
+
+/*-
+ * Copyright (c) 1988 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that: (1) source distributions retain this entire copyright
+ * notice and comment, and (2) distributions including binaries display
+ * the following acknowledgement: ``This product includes software
+ * developed by the University of California, Berkeley and its contributors''
+ * in the documentation or other materials provided with the distribution
+ * and in all advertising materials mentioning features or use of this
+ * software. Neither the name of the University nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#ifndef _REENT_ONLY
+
+#include <stdlib.h>
+#include <string.h>
+
+int
+_DEFUN (putenv, (str),
+ _CONST char *str)
+{
+ return _putenv_r (_REENT, str);
+}
+
+#endif /* !_REENT_ONLY */
diff --git a/newlib/libc/stdlib/putenv_r.c b/newlib/libc/stdlib/putenv_r.c
new file mode 100644
index 00000000000..f3c368a2115
--- /dev/null
+++ b/newlib/libc/stdlib/putenv_r.c
@@ -0,0 +1,58 @@
+/* This file may have been modified by DJ Delorie (Jan 1991). If so,
+** these modifications are Coyright (C) 1991 DJ Delorie, 24 Kirsten Ave,
+** Rochester NH, 03867-2954, USA.
+*/
+
+/*-
+ * Copyright (c) 1988 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that: (1) source distributions retain this entire copyright
+ * notice and comment, and (2) distributions including binaries display
+ * the following acknowledgement: ``This product includes software
+ * developed by the University of California, Berkeley and its contributors''
+ * in the documentation or other materials provided with the distribution
+ * and in all advertising materials mentioning features or use of this
+ * software. Neither the name of the University nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include <reent.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "envlock.h"
+
+/* _putenv_r - reentrant version of putenv that either adds
+ or replaces the environment variable "name"
+ with "value" which is specified by str as "name=value". */
+int
+_DEFUN (_putenv_r, (reent_ptr, str),
+ struct _reent *reent_ptr _AND
+ _CONST char *str)
+{
+ register char *p, *equal;
+ int rval;
+
+ p = _strdup_r (reent_ptr, str);
+
+ if (!p)
+ return 1;
+
+ if (!(equal = index (p, '=')))
+ {
+ (void) _free_r (reent_ptr, p);
+ return 1;
+ }
+
+ *equal = '\0';
+ rval = _setenv_r (reent_ptr, p, equal + 1, 1);
+ (void) _free_r (reent_ptr, p);
+
+ return rval;
+}
diff --git a/newlib/libc/stdlib/qsort.c b/newlib/libc/stdlib/qsort.c
new file mode 100644
index 00000000000..d47f4709999
--- /dev/null
+++ b/newlib/libc/stdlib/qsort.c
@@ -0,0 +1,222 @@
+/*
+FUNCTION
+<<qsort>>---sort an array
+
+INDEX
+ qsort
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ void qsort(void *<[base]>, size_t <[nmemb]>, size_t <[size]>,
+ int (*<[compar]>)(const void *, const void *) );
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ qsort(<[base]>, <[nmemb]>, <[size]>, <[compar]> )
+ char *<[base]>;
+ size_t <[nmemb]>;
+ size_t <[size]>;
+ int (*<[compar]>)();
+
+DESCRIPTION
+<<qsort>> sorts an array (beginning at <[base]>) of <[nmemb]> objects.
+<[size]> describes the size of each element of the array.
+
+You must supply a pointer to a comparison function, using the argument
+shown as <[compar]>. (This permits sorting objects of unknown
+properties.) Define the comparison function to accept two arguments,
+each a pointer to an element of the array starting at <[base]>. The
+result of <<(*<[compar]>)>> must be negative if the first argument is
+less than the second, zero if the two arguments match, and positive if
+the first argument is greater than the second (where ``less than'' and
+``greater than'' refer to whatever arbitrary ordering is appropriate).
+
+The array is sorted in place; that is, when <<qsort>> returns, the
+array elements beginning at <[base]> have been reordered.
+
+RETURNS
+<<qsort>> does not return a result.
+
+PORTABILITY
+<<qsort>> is required by ANSI (without specifying the sorting algorithm).
+*/
+
+/*-
+ * Copyright (c) 1992, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <_ansi.h>
+#include <stdlib.h>
+
+#ifndef __GNUC__
+#define inline
+#endif
+
+static inline char *med3 _PARAMS((char *, char *, char *, int (*)()));
+static inline void swapfunc _PARAMS((char *, char *, int, int));
+
+#define min(a, b) (a) < (b) ? a : b
+
+/*
+ * Qsort routine from Bentley & McIlroy's "Engineering a Sort Function".
+ */
+#define swapcode(TYPE, parmi, parmj, n) { \
+ long i = (n) / sizeof (TYPE); \
+ register TYPE *pi = (TYPE *) (parmi); \
+ register TYPE *pj = (TYPE *) (parmj); \
+ do { \
+ register TYPE t = *pi; \
+ *pi++ = *pj; \
+ *pj++ = t; \
+ } while (--i > 0); \
+}
+
+#define SWAPINIT(a, es) swaptype = ((char *)a - (char *)0) % sizeof(long) || \
+ es % sizeof(long) ? 2 : es == sizeof(long)? 0 : 1;
+
+static inline void
+_DEFUN(swapfunc, (a, b, n, swaptype),
+ char *a _AND
+ char *b _AND
+ int n _AND
+ int swaptype)
+{
+ if(swaptype <= 1)
+ swapcode(long, a, b, n)
+ else
+ swapcode(char, a, b, n)
+}
+
+#define swap(a, b) \
+ if (swaptype == 0) { \
+ long t = *(long *)(a); \
+ *(long *)(a) = *(long *)(b); \
+ *(long *)(b) = t; \
+ } else \
+ swapfunc(a, b, es, swaptype)
+
+#define vecswap(a, b, n) if ((n) > 0) swapfunc(a, b, n, swaptype)
+
+static inline char *
+_DEFUN(med3, (a, b, c, cmp),
+ char *a _AND
+ char *b _AND
+ char *c _AND
+ int (*cmp)())
+{
+ return cmp(a, b) < 0 ?
+ (cmp(b, c) < 0 ? b : (cmp(a, c) < 0 ? c : a ))
+ :(cmp(b, c) > 0 ? b : (cmp(a, c) < 0 ? a : c ));
+}
+
+void
+_DEFUN(qsort, (a, n, es, cmp),
+ void *a _AND
+ size_t n _AND
+ size_t es _AND
+ int (*cmp)())
+{
+ char *pa, *pb, *pc, *pd, *pl, *pm, *pn;
+ int d, r, swaptype, swap_cnt;
+
+loop: SWAPINIT(a, es);
+ swap_cnt = 0;
+ if (n < 7) {
+ for (pm = (char *) a + es; pm < (char *) a + n * es; pm += es)
+ for (pl = pm; pl > (char *) a && cmp(pl - es, pl) > 0;
+ pl -= es)
+ swap(pl, pl - es);
+ return;
+ }
+ pm = (char *) a + (n / 2) * es;
+ if (n > 7) {
+ pl = a;
+ pn = (char *) a + (n - 1) * es;
+ if (n > 40) {
+ d = (n / 8) * es;
+ pl = med3(pl, pl + d, pl + 2 * d, cmp);
+ pm = med3(pm - d, pm, pm + d, cmp);
+ pn = med3(pn - 2 * d, pn - d, pn, cmp);
+ }
+ pm = med3(pl, pm, pn, cmp);
+ }
+ swap(a, pm);
+ pa = pb = (char *) a + es;
+
+ pc = pd = (char *) a + (n - 1) * es;
+ for (;;) {
+ while (pb <= pc && (r = cmp(pb, a)) <= 0) {
+ if (r == 0) {
+ swap_cnt = 1;
+ swap(pa, pb);
+ pa += es;
+ }
+ pb += es;
+ }
+ while (pb <= pc && (r = cmp(pc, a)) >= 0) {
+ if (r == 0) {
+ swap_cnt = 1;
+ swap(pc, pd);
+ pd -= es;
+ }
+ pc -= es;
+ }
+ if (pb > pc)
+ break;
+ swap(pb, pc);
+ swap_cnt = 1;
+ pb += es;
+ pc -= es;
+ }
+ if (swap_cnt == 0) { /* Switch to insertion sort */
+ for (pm = (char *) a + es; pm < (char *) a + n * es; pm += es)
+ for (pl = pm; pl > (char *) a && cmp(pl - es, pl) > 0;
+ pl -= es)
+ swap(pl, pl - es);
+ return;
+ }
+
+ pn = (char *) a + n * es;
+ r = min(pa - (char *)a, pb - pa);
+ vecswap(a, pb - r, r);
+ r = min(pd - pc, pn - pd - es);
+ vecswap(pb, pn - r, r);
+ if ((r = pb - pa) > es)
+ qsort(a, r / es, es, cmp);
+ if ((r = pd - pc) > es) {
+ /* Iterate rather than recurse to save stack space */
+ a = pn - r;
+ n = r / es;
+ goto loop;
+ }
+/* qsort(pn - r, r / es, es, cmp);*/
+}
diff --git a/newlib/libc/stdlib/rand.c b/newlib/libc/stdlib/rand.c
new file mode 100644
index 00000000000..3d739efbcff
--- /dev/null
+++ b/newlib/libc/stdlib/rand.c
@@ -0,0 +1,86 @@
+/*
+FUNCTION
+<<rand>>, <<srand>>---pseudo-random numbers
+
+INDEX
+ rand
+INDEX
+ srand
+INDEX
+ rand_r
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ int rand(void);
+ void srand(unsigned int <[seed]>);
+ int rand_r(unsigned int *<[seed]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ int rand();
+
+ void srand(<[seed]>)
+ unsigned int <[seed]>;
+
+ void rand_r(<[seed]>)
+ unsigned int *<[seed]>;
+
+
+DESCRIPTION
+<<rand>> returns a different integer each time it is called; each
+integer is chosen by an algorithm designed to be unpredictable, so
+that you can use <<rand>> when you require a random number.
+The algorithm depends on a static variable called the ``random seed'';
+starting with a given value of the random seed always produces the
+same sequence of numbers in successive calls to <<rand>>.
+
+You can set the random seed using <<srand>>; it does nothing beyond
+storing its argument in the static variable used by <<rand>>. You can
+exploit this to make the pseudo-random sequence less predictable, if
+you wish, by using some other unpredictable value (often the least
+significant parts of a time-varying value) as the random seed before
+beginning a sequence of calls to <<rand>>; or, if you wish to ensure
+(for example, while debugging) that successive runs of your program
+use the same ``random'' numbers, you can use <<srand>> to set the same
+random seed at the outset.
+
+RETURNS
+<<rand>> returns the next pseudo-random integer in sequence; it is a
+number between <<0>> and <<RAND_MAX>> (inclusive).
+
+<<srand>> does not return a result.
+
+NOTES
+<<rand>> and <<srand>> are unsafe for multi-thread applications.
+<<rand_r>> is MT-Safe and should be used instead.
+
+
+PORTABILITY
+<<rand>> is required by ANSI, but the algorithm for pseudo-random
+number generation is not specified; therefore, even if you use
+the same random seed, you cannot expect the same sequence of results
+on two different systems.
+
+<<rand>> requires no supporting OS subroutines.
+*/
+
+#ifndef _REENT_ONLY
+
+#include <stdlib.h>
+#include <reent.h>
+
+void
+_DEFUN (srand, (seed), unsigned int seed)
+{
+ _REENT->_new._reent._rand_next = seed;
+}
+
+int
+_DEFUN_VOID (rand)
+{
+ return ((_REENT->_new._reent._rand_next =
+ _REENT->_new._reent._rand_next * 1103515245 + 12345 )
+ & RAND_MAX );
+}
+
+#endif /* _REENT_ONLY */
diff --git a/newlib/libc/stdlib/rand_r.c b/newlib/libc/stdlib/rand_r.c
new file mode 100644
index 00000000000..25307275fa2
--- /dev/null
+++ b/newlib/libc/stdlib/rand_r.c
@@ -0,0 +1,7 @@
+#include <stdlib.h>
+
+int
+_DEFUN (rand_r, (seed), unsigned int *seed)
+{
+ return (((*seed) = (*seed) * 1103515245 + 12345) & RAND_MAX);
+}
diff --git a/newlib/libc/stdlib/realloc.c b/newlib/libc/stdlib/realloc.c
new file mode 100644
index 00000000000..2caa6e4d248
--- /dev/null
+++ b/newlib/libc/stdlib/realloc.c
@@ -0,0 +1,22 @@
+#ifdef MALLOC_PROVIDED
+int _dummy_calloc = 1;
+#else
+/* realloc.c -- a wrapper for realloc_r. */
+
+#include <_ansi.h>
+#include <reent.h>
+#include <stdlib.h>
+#include <malloc.h>
+
+#ifndef _REENT_ONLY
+
+_PTR
+_DEFUN (realloc, (ap, nbytes),
+ _PTR ap _AND
+ size_t nbytes)
+{
+ return _realloc_r (_REENT, ap, nbytes);
+}
+
+#endif
+#endif /* MALLOC_PROVIDED */
diff --git a/newlib/libc/stdlib/setenv.c b/newlib/libc/stdlib/setenv.c
new file mode 100644
index 00000000000..49969817b7b
--- /dev/null
+++ b/newlib/libc/stdlib/setenv.c
@@ -0,0 +1,59 @@
+/* This file may have been modified by DJ Delorie (Jan 1991). If so,
+** these modifications are Coyright (C) 1991 DJ Delorie, 24 Kirsten Ave,
+** Rochester NH, 03867-2954, USA.
+*/
+
+/*
+ * Copyright (c) 1987 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that: (1) source distributions retain this entire copyright
+ * notice and comment, and (2) distributions including binaries display
+ * the following acknowledgement: ``This product includes software
+ * developed by the University of California, Berkeley and its contributors''
+ * in the documentation or other materials provided with the distribution
+ * and in all advertising materials mentioning features or use of this
+ * software. Neither the name of the University nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#ifndef _REENT_ONLY
+
+#include <stddef.h>
+#include <stdlib.h>
+#include <string.h>
+
+extern void _unsetenv_r _PARAMS ((struct _reent *, const char *));
+
+/*
+ * setenv --
+ * Set the value of the environmental variable "name" to be
+ * "value". If rewrite is set, replace any current value.
+ */
+
+int
+_DEFUN (setenv, (name, value, rewrite),
+ _CONST char *name _AND
+ _CONST char *value _AND
+ int rewrite)
+{
+ return _setenv_r (_REENT, name, value, rewrite);
+}
+
+/*
+ * unsetenv(name) --
+ * Delete environmental variable "name".
+ */
+void
+_DEFUN (unsetenv, (name),
+ _CONST char *name)
+{
+ _unsetenv_r (_REENT, name);
+}
+
+#endif /* !_REENT_ONLY */
diff --git a/newlib/libc/stdlib/setenv_r.c b/newlib/libc/stdlib/setenv_r.c
new file mode 100644
index 00000000000..2d3c3f4e58c
--- /dev/null
+++ b/newlib/libc/stdlib/setenv_r.c
@@ -0,0 +1,139 @@
+/* This file may have been modified by DJ Delorie (Jan 1991). If so,
+** these modifications are Coyright (C) 1991 DJ Delorie, 24 Kirsten Ave,
+** Rochester NH, 03867-2954, USA.
+*/
+
+/*
+ * Copyright (c) 1987 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that: (1) source distributions retain this entire copyright
+ * notice and comment, and (2) distributions including binaries display
+ * the following acknowledgement: ``This product includes software
+ * developed by the University of California, Berkeley and its contributors''
+ * in the documentation or other materials provided with the distribution
+ * and in all advertising materials mentioning features or use of this
+ * software. Neither the name of the University nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include <reent.h>
+
+#include <stddef.h>
+#include <stdlib.h>
+#include <string.h>
+#include "envlock.h"
+
+/* _findenv_r is defined in getenv_r.c. */
+extern char *_findenv_r _PARAMS ((struct _reent *, const char *, int *));
+
+/*
+ * _setenv_r --
+ * Set the value of the environmental variable "name" to be
+ * "value". If rewrite is set, replace any current value.
+ */
+
+int
+_DEFUN (_setenv_r, (reent_ptr, name, value, rewrite),
+ struct _reent *reent_ptr _AND
+ _CONST char *name _AND
+ _CONST char *value _AND
+ int rewrite)
+{
+ extern char **environ;
+ static int alloced; /* if allocated space before */
+ register char *C;
+ int l_value, offset;
+
+ ENV_LOCK;
+
+ if (*value == '=') /* no `=' in value */
+ ++value;
+ l_value = strlen (value);
+ if ((C = _findenv_r (reent_ptr, name, &offset)))
+ { /* find if already exists */
+ if (!rewrite)
+ {
+ ENV_UNLOCK;
+ return 0;
+ }
+ if (strlen (C) >= l_value)
+ { /* old larger; copy over */
+ while (*C++ = *value++);
+ ENV_UNLOCK;
+ return 0;
+ }
+ }
+ else
+ { /* create new slot */
+ register int cnt;
+ register char **P;
+
+ for (P = environ, cnt = 0; *P; ++P, ++cnt);
+ if (alloced)
+ { /* just increase size */
+ environ = (char **) _realloc_r (reent_ptr, (char *) environ,
+ (size_t) (sizeof (char *) * (cnt + 2)));
+ if (!environ)
+ {
+ ENV_UNLOCK;
+ return -1;
+ }
+ }
+ else
+ { /* get new space */
+ alloced = 1; /* copy old entries into it */
+ P = (char **) _malloc_r (reent_ptr, (size_t) (sizeof (char *) * (cnt + 2)));
+ if (!P)
+ {
+ ENV_UNLOCK;
+ return (-1);
+ }
+ bcopy ((char *) environ, (char *) P, cnt * sizeof (char *));
+ environ = P;
+ }
+ environ[cnt + 1] = NULL;
+ offset = cnt;
+ }
+ for (C = (char *) name; *C && *C != '='; ++C); /* no `=' in name */
+ if (!(environ[offset] = /* name + `=' + value */
+ _malloc_r (reent_ptr, (size_t) ((int) (C - name) + l_value + 2))))
+ {
+ ENV_UNLOCK;
+ return -1;
+ }
+ for (C = environ[offset]; (*C = *name++) && *C != '='; ++C);
+ for (*C++ = '='; *C++ = *value++;);
+
+ ENV_UNLOCK;
+
+ return 0;
+}
+
+/*
+ * _unsetenv_r(name) --
+ * Delete environmental variable "name".
+ */
+void
+_DEFUN (_unsetenv_r, (reent_ptr, name),
+ struct _reent *reent_ptr _AND
+ _CONST char *name)
+{
+ extern char **environ;
+ register char **P;
+ int offset;
+
+ ENV_LOCK;
+
+ while (_findenv_r (reent_ptr, name, &offset)) /* if set multiple times */
+ for (P = &environ[offset];; ++P)
+ if (!(*P = *(P + 1)))
+ break;
+
+ ENV_UNLOCK;
+}
diff --git a/newlib/libc/stdlib/std.h b/newlib/libc/stdlib/std.h
new file mode 100644
index 00000000000..287503eac7f
--- /dev/null
+++ b/newlib/libc/stdlib/std.h
@@ -0,0 +1,33 @@
+#include <stdlib.h>
+#include <stdio.h>
+#include <errno.h>
+#include <limits.h>
+#include <math.h>
+#ifndef CYGNUS_NEC
+#include <ctype.h>
+#endif
+
+#define Ise(c) ((c == 'e') || (c == 'E') || (c == 'd') || (c == 'D'))
+#define Isdigit(c) ((c <= '9') && (c >= '0'))
+#define Isspace(c) ((c == ' ') || (c == '\t') || (c=='\n') || (c=='\v') \
+ || (c == '\r') || (c == '\f'))
+#define Issign(c) ((c == '-') || (c == '+'))
+#define Val(c) ((c - '0'))
+
+#define MAXE 308
+#define MINE (-308)
+
+/* flags */
+#define SIGN 0x01
+#define ESIGN 0x02
+#define DECP 0x04
+
+#ifdef _HAVE_STDC
+int __ten_mul(double *acc, int digit);
+double __adjust(struct _reent *ptr, double *acc, int dexp, int sign);
+const double __exp10(unsigned x);
+#else
+int __ten_mul();
+double __adjust();
+double __exp10();
+#endif
diff --git a/newlib/libc/stdlib/stdlib.tex b/newlib/libc/stdlib/stdlib.tex
new file mode 100644
index 00000000000..7a0d723d33f
--- /dev/null
+++ b/newlib/libc/stdlib/stdlib.tex
@@ -0,0 +1,130 @@
+@node Stdlib
+@chapter Standard Utility Functions (@file{stdlib.h})
+
+This chapter groups utility functions useful in a variety of programs.
+The corresponding declarations are in the header file @file{stdlib.h}.
+
+@menu
+* abort:: Abnormal termination of a program
+* abs:: Integer absolute value (magnitude)
+* assert:: Macro for Debugging Diagnostics
+* atexit:: Request execution of functions at program exit
+* atof:: String to double or float
+* atoi:: String to integer
+* bsearch:: Binary search
+* calloc:: Allocate space for arrays
+* div:: Divide two integers
+* ecvtbuf:: Double or float to string of digits
+* ecvt:: Double or float to string of digits (malloc result)
+* __env_lock:: Lock environment list for getenv and setenv
+* gvcvt:: Format double or float as string
+* exit:: End program execution
+* getenv:: Look up environment variable
+* labs:: Long integer absolute value (magnitude)
+* ldiv:: Divide two long integers
+* malloc:: Allocate and manage memory (malloc, realloc, free)
+* mallinfo:: Get information about allocated memory
+* __malloc_lock:: Lock memory pool for malloc and free
+* mbstowcs:: Minimal multibyte string to wide string converter
+* mblen:: Minimal multibyte length
+* mbtowc:: Minimal multibyte to wide character converter
+* qsort:: Sort an array
+* rand:: Pseudo-random numbers
+* strtod:: String to double or float
+* strtol:: String to long
+* strtoul:: String to unsigned long
+* system:: Execute command string
+* wcstombs:: Minimal wide string to multibyte string converter
+* wctomb:: Minimal wide character to multibyte converter
+@end menu
+
+@page
+@include stdlib/abort.def
+
+@page
+@include stdlib/abs.def
+
+@page
+@include stdlib/assert.def
+
+@page
+@include stdlib/atexit.def
+
+@page
+@include stdlib/atof.def
+
+@page
+@include stdlib/atoi.def
+
+@page
+@include stdlib/bsearch.def
+
+@page
+@include stdlib/calloc.def
+
+@page
+@include stdlib/div.def
+
+@page
+@include stdlib/efgcvt.def
+
+@page
+@include stdlib/ecvtbuf.def
+
+@page
+@include stdlib/envlock.def
+
+@page
+@include stdlib/exit.def
+
+@page
+@include stdlib/getenv.def
+
+@page
+@include stdlib/labs.def
+
+@page
+@include stdlib/ldiv.def
+
+@page
+@include stdlib/malloc.def
+
+@page
+@include stdlib/mstats.def
+
+@page
+@include stdlib/mlock.def
+
+@page
+@include stdlib/mblen.def
+
+@page
+@include stdlib/mbstowcs.def
+
+@page
+@include stdlib/mbtowc.def
+
+@page
+@include stdlib/qsort.def
+
+@page
+@include stdlib/rand.def
+
+@page
+@include stdlib/strtod.def
+
+@page
+@include stdlib/strtol.def
+
+@page
+@include stdlib/strtoul.def
+
+@page
+@include stdlib/system.def
+
+@page
+@include stdlib/wcstombs.def
+
+@page
+@include stdlib/wctomb.def
+
diff --git a/newlib/libc/stdlib/strdup.c b/newlib/libc/stdlib/strdup.c
new file mode 100644
index 00000000000..dbb06926427
--- /dev/null
+++ b/newlib/libc/stdlib/strdup.c
@@ -0,0 +1,13 @@
+#ifndef _REENT_ONLY
+
+#include <reent.h>
+#include <stdlib.h>
+#include <string.h>
+
+char *
+_DEFUN (strdup, (str), _CONST char *str)
+{
+ return _strdup_r (_REENT, str);
+}
+
+#endif /* !_REENT_ONLY */
diff --git a/newlib/libc/stdlib/strdup_r.c b/newlib/libc/stdlib/strdup_r.c
new file mode 100644
index 00000000000..ef77a58eb9c
--- /dev/null
+++ b/newlib/libc/stdlib/strdup_r.c
@@ -0,0 +1,17 @@
+#include <reent.h>
+#include <stdlib.h>
+#include <string.h>
+
+char *
+_DEFUN (_strdup_r, (reent_ptr, str),
+ struct _reent *reent_ptr _AND
+ _CONST char *str)
+{
+ size_t len = strlen (str) + 1;
+ char *copy = _malloc_r (reent_ptr, len);
+ if (copy)
+ {
+ memcpy (copy, str, len);
+ }
+ return copy;
+}
diff --git a/newlib/libc/stdlib/strtod.c b/newlib/libc/stdlib/strtod.c
new file mode 100644
index 00000000000..77a17a135b0
--- /dev/null
+++ b/newlib/libc/stdlib/strtod.c
@@ -0,0 +1,731 @@
+/*
+FUNCTION
+ <<strtod>>, <<strtodf>>---string to double or float
+
+INDEX
+ strtod
+INDEX
+ _strtod_r
+INDEX
+ strtodf
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ double strtod(const char *<[str]>, char **<[tail]>);
+ float strtodf(const char *<[str]>, char **<[tail]>);
+
+ double _strtod_r(void *<[reent]>,
+ const char *<[str]>, char **<[tail]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ double strtod(<[str]>,<[tail]>)
+ char *<[str]>;
+ char **<[tail]>;
+
+ float strtodf(<[str]>,<[tail]>)
+ char *<[str]>;
+ char **<[tail]>;
+
+ double _strtod_r(<[reent]>,<[str]>,<[tail]>)
+ char *<[reent]>;
+ char *<[str]>;
+ char **<[tail]>;
+
+DESCRIPTION
+ The function <<strtod>> parses the character string <[str]>,
+ producing a substring which can be converted to a double
+ value. The substring converted is the longest initial
+ subsequence of <[str]>, beginning with the first
+ non-whitespace character, that has the format:
+ .[+|-]<[digits]>[.][<[digits]>][(e|E)[+|-]<[digits]>]
+ The substring contains no characters if <[str]> is empty, consists
+ entirely of whitespace, or if the first non-whitespace
+ character is something other than <<+>>, <<->>, <<.>>, or a
+ digit. If the substring is empty, no conversion is done, and
+ the value of <[str]> is stored in <<*<[tail]>>>. Otherwise,
+ the substring is converted, and a pointer to the final string
+ (which will contain at least the terminating null character of
+ <[str]>) is stored in <<*<[tail]>>>. If you want no
+ assignment to <<*<[tail]>>>, pass a null pointer as <[tail]>.
+ <<strtodf>> is identical to <<strtod>> except for its return type.
+
+ This implementation returns the nearest machine number to the
+ input decimal string. Ties are broken by using the IEEE
+ round-even rule.
+
+ The alternate function <<_strtod_r>> is a reentrant version.
+ The extra argument <[reent]> is a pointer to a reentrancy structure.
+
+RETURNS
+ <<strtod>> returns the converted substring value, if any. If
+ no conversion could be performed, 0 is returned. If the
+ correct value is out of the range of representable values,
+ plus or minus <<HUGE_VAL>> is returned, and <<ERANGE>> is
+ stored in errno. If the correct value would cause underflow, 0
+ is returned and <<ERANGE>> is stored in errno.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+/****************************************************************
+ *
+ * The author of this software is David M. Gay.
+ *
+ * Copyright (c) 1991 by AT&T.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose without fee is hereby granted, provided that this entire notice
+ * is included in all copies of any software which is or includes a copy
+ * or modification of this software and in all copies of the supporting
+ * documentation for such software.
+ *
+ * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+ * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
+ * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
+ * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+ *
+ ***************************************************************/
+
+/* Please send bug reports to
+ David M. Gay
+ AT&T Bell Laboratories, Room 2C-463
+ 600 Mountain Avenue
+ Murray Hill, NJ 07974-2070
+ U.S.A.
+ dmg@research.att.com or research!dmg
+ */
+
+#include <_ansi.h>
+#include <reent.h>
+#include <string.h>
+#include "mprec.h"
+
+double
+_DEFUN (_strtod_r, (ptr, s00, se),
+ struct _reent *ptr _AND
+ _CONST char *s00 _AND
+ char **se)
+{
+ int bb2, bb5, bbe, bd2, bd5, bbbits, bs2, c, dsign, e1, esign, i, j,
+ k, nd, nd0, nf, nz, nz0, sign;
+ long e;
+ _CONST char *s, *s0, *s1;
+ double aadj, aadj1, adj;
+ long L;
+ unsigned long z;
+ __ULong y;
+ union double_union rv, rv0;
+
+ _Bigint *bb, *bb1, *bd, *bd0, *bs, *delta;
+ sign = nz0 = nz = 0;
+ rv.d = 0.;
+ for (s = s00;; s++)
+ switch (*s)
+ {
+ case '-':
+ sign = 1;
+ /* no break */
+ case '+':
+ if (*++s)
+ goto break2;
+ /* no break */
+ case 0:
+ s = s00;
+ goto ret;
+ case '\t':
+ case '\n':
+ case '\v':
+ case '\f':
+ case '\r':
+ case ' ':
+ continue;
+ default:
+ goto break2;
+ }
+break2:
+ if (*s == '0')
+ {
+ nz0 = 1;
+ while (*++s == '0');
+ if (!*s)
+ goto ret;
+ }
+ s0 = s;
+ y = z = 0;
+ for (nd = nf = 0; (c = *s) >= '0' && c <= '9'; nd++, s++)
+ if (nd < 9)
+ y = 10 * y + c - '0';
+ else if (nd < 16)
+ z = 10 * z + c - '0';
+ nd0 = nd;
+ if (c == '.')
+ {
+ c = *++s;
+ if (!nd)
+ {
+ for (; c == '0'; c = *++s)
+ nz++;
+ if (c > '0' && c <= '9')
+ {
+ s0 = s;
+ nf += nz;
+ nz = 0;
+ goto have_dig;
+ }
+ goto dig_done;
+ }
+ for (; c >= '0' && c <= '9'; c = *++s)
+ {
+ have_dig:
+ nz++;
+ if (c -= '0')
+ {
+ nf += nz;
+ for (i = 1; i < nz; i++)
+ if (nd++ < 9)
+ y *= 10;
+ else if (nd <= DBL_DIG + 1)
+ z *= 10;
+ if (nd++ < 9)
+ y = 10 * y + c;
+ else if (nd <= DBL_DIG + 1)
+ z = 10 * z + c;
+ nz = 0;
+ }
+ }
+ }
+dig_done:
+ e = 0;
+ if (c == 'e' || c == 'E')
+ {
+ if (!nd && !nz && !nz0)
+ {
+ s = s00;
+ goto ret;
+ }
+ s00 = s;
+ esign = 0;
+ switch (c = *++s)
+ {
+ case '-':
+ esign = 1;
+ case '+':
+ c = *++s;
+ }
+ if (c >= '0' && c <= '9')
+ {
+ while (c == '0')
+ c = *++s;
+ if (c > '0' && c <= '9')
+ {
+ e = c - '0';
+ s1 = s;
+ while ((c = *++s) >= '0' && c <= '9')
+ e = 10 * e + c - '0';
+ if (s - s1 > 8)
+ /* Avoid confusion from exponents
+ * so large that e might overflow.
+ */
+ e = 9999999L;
+ if (esign)
+ e = -e;
+ }
+ else
+ e = 0;
+ }
+ else
+ s = s00;
+ }
+ if (!nd)
+ {
+ if (!nz && !nz0)
+ s = s00;
+ goto ret;
+ }
+ e1 = e -= nf;
+
+ /* Now we have nd0 digits, starting at s0, followed by a
+ * decimal point, followed by nd-nd0 digits. The number we're
+ * after is the integer represented by those digits times
+ * 10**e */
+
+ if (!nd0)
+ nd0 = nd;
+ k = nd < DBL_DIG + 1 ? nd : DBL_DIG + 1;
+ rv.d = y;
+ if (k > 9)
+ rv.d = tens[k - 9] * rv.d + z;
+ bd0 = 0;
+ if (nd <= DBL_DIG
+#ifndef RND_PRODQUOT
+ && FLT_ROUNDS == 1
+#endif
+ )
+ {
+ if (!e)
+ goto ret;
+ if (e > 0)
+ {
+ if (e <= Ten_pmax)
+ {
+#ifdef VAX
+ goto vax_ovfl_check;
+#else
+ /* rv.d = */ rounded_product (rv.d, tens[e]);
+ goto ret;
+#endif
+ }
+ i = DBL_DIG - nd;
+ if (e <= Ten_pmax + i)
+ {
+ /* A fancier test would sometimes let us do
+ * this for larger i values.
+ */
+ e -= i;
+ rv.d *= tens[i];
+#ifdef VAX
+ /* VAX exponent range is so narrow we must
+ * worry about overflow here...
+ */
+ vax_ovfl_check:
+ word0 (rv) -= P * Exp_msk1;
+ /* rv.d = */ rounded_product (rv.d, tens[e]);
+ if ((word0 (rv) & Exp_mask)
+ > Exp_msk1 * (DBL_MAX_EXP + Bias - 1 - P))
+ goto ovfl;
+ word0 (rv) += P * Exp_msk1;
+#else
+ /* rv.d = */ rounded_product (rv.d, tens[e]);
+#endif
+ goto ret;
+ }
+ }
+#ifndef Inaccurate_Divide
+ else if (e >= -Ten_pmax)
+ {
+ /* rv.d = */ rounded_quotient (rv.d, tens[-e]);
+ goto ret;
+ }
+#endif
+ }
+ e1 += nd - k;
+
+ /* Get starting approximation = rv.d * 10**e1 */
+
+ if (e1 > 0)
+ {
+ if (i = e1 & 15)
+ rv.d *= tens[i];
+ if (e1 &= ~15)
+ {
+ if (e1 > DBL_MAX_10_EXP)
+ {
+ ovfl:
+ ptr->_errno = ERANGE;
+#ifdef _HAVE_STDC
+ rv.d = HUGE_VAL;
+#else
+ /* Can't trust HUGE_VAL */
+#ifdef IEEE_Arith
+ word0 (rv) = Exp_mask;
+#ifndef _DOUBLE_IS_32BITS
+ word1 (rv) = 0;
+#endif
+#else
+ word0 (rv) = Big0;
+#ifndef _DOUBLE_IS_32BITS
+ word1 (rv) = Big1;
+#endif
+#endif
+#endif
+ if (bd0)
+ goto retfree;
+ goto ret;
+ }
+ if (e1 >>= 4)
+ {
+ for (j = 0; e1 > 1; j++, e1 >>= 1)
+ if (e1 & 1)
+ rv.d *= bigtens[j];
+ /* The last multiplication could overflow. */
+ word0 (rv) -= P * Exp_msk1;
+ rv.d *= bigtens[j];
+ if ((z = word0 (rv) & Exp_mask)
+ > Exp_msk1 * (DBL_MAX_EXP + Bias - P))
+ goto ovfl;
+ if (z > Exp_msk1 * (DBL_MAX_EXP + Bias - 1 - P))
+ {
+ /* set to largest number */
+ /* (Can't trust DBL_MAX) */
+ word0 (rv) = Big0;
+#ifndef _DOUBLE_IS_32BITS
+ word1 (rv) = Big1;
+#endif
+ }
+ else
+ word0 (rv) += P * Exp_msk1;
+ }
+
+ }
+ }
+ else if (e1 < 0)
+ {
+ e1 = -e1;
+ if (i = e1 & 15)
+ rv.d /= tens[i];
+ if (e1 &= ~15)
+ {
+ e1 >>= 4;
+ if (e1 >= 1 << n_bigtens)
+ goto undfl;
+ for (j = 0; e1 > 1; j++, e1 >>= 1)
+ if (e1 & 1)
+ rv.d *= tinytens[j];
+ /* The last multiplication could underflow. */
+ rv0.d = rv.d;
+ rv.d *= tinytens[j];
+ if (!rv.d)
+ {
+ rv.d = 2. * rv0.d;
+ rv.d *= tinytens[j];
+ if (!rv.d)
+ {
+ undfl:
+ rv.d = 0.;
+ ptr->_errno = ERANGE;
+ if (bd0)
+ goto retfree;
+ goto ret;
+ }
+#ifndef _DOUBLE_IS_32BITS
+ word0 (rv) = Tiny0;
+ word1 (rv) = Tiny1;
+#else
+ word0 (rv) = Tiny1;
+#endif
+ /* The refinement below will clean
+ * this approximation up.
+ */
+ }
+ }
+ }
+
+ /* Now the hard part -- adjusting rv to the correct value.*/
+
+ /* Put digits into bd: true value = bd * 10^e */
+
+ bd0 = s2b (ptr, s0, nd0, nd, y);
+
+ for (;;)
+ {
+ bd = Balloc (ptr, bd0->_k);
+ Bcopy (bd, bd0);
+ bb = d2b (ptr, rv.d, &bbe, &bbbits); /* rv.d = bb * 2^bbe */
+ bs = i2b (ptr, 1);
+
+ if (e >= 0)
+ {
+ bb2 = bb5 = 0;
+ bd2 = bd5 = e;
+ }
+ else
+ {
+ bb2 = bb5 = -e;
+ bd2 = bd5 = 0;
+ }
+ if (bbe >= 0)
+ bb2 += bbe;
+ else
+ bd2 -= bbe;
+ bs2 = bb2;
+#ifdef Sudden_Underflow
+#ifdef IBM
+ j = 1 + 4 * P - 3 - bbbits + ((bbe + bbbits - 1) & 3);
+#else
+ j = P + 1 - bbbits;
+#endif
+#else
+ i = bbe + bbbits - 1; /* logb(rv.d) */
+ if (i < Emin) /* denormal */
+ j = bbe + (P - Emin);
+ else
+ j = P + 1 - bbbits;
+#endif
+ bb2 += j;
+ bd2 += j;
+ i = bb2 < bd2 ? bb2 : bd2;
+ if (i > bs2)
+ i = bs2;
+ if (i > 0)
+ {
+ bb2 -= i;
+ bd2 -= i;
+ bs2 -= i;
+ }
+ if (bb5 > 0)
+ {
+ bs = pow5mult (ptr, bs, bb5);
+ bb1 = mult (ptr, bs, bb);
+ Bfree (ptr, bb);
+ bb = bb1;
+ }
+ if (bb2 > 0)
+ bb = lshift (ptr, bb, bb2);
+ if (bd5 > 0)
+ bd = pow5mult (ptr, bd, bd5);
+ if (bd2 > 0)
+ bd = lshift (ptr, bd, bd2);
+ if (bs2 > 0)
+ bs = lshift (ptr, bs, bs2);
+ delta = diff (ptr, bb, bd);
+ dsign = delta->_sign;
+ delta->_sign = 0;
+ i = cmp (delta, bs);
+ if (i < 0)
+ {
+ /* Error is less than half an ulp -- check for
+ * special case of mantissa a power of two.
+ */
+ if (dsign || word1 (rv) || word0 (rv) & Bndry_mask)
+ break;
+ delta = lshift (ptr, delta, Log2P);
+ if (cmp (delta, bs) > 0)
+ goto drop_down;
+ break;
+ }
+ if (i == 0)
+ {
+ /* exactly half-way between */
+ if (dsign)
+ {
+ if ((word0 (rv) & Bndry_mask1) == Bndry_mask1
+ && word1 (rv) == 0xffffffff)
+ {
+ /*boundary case -- increment exponent*/
+ word0 (rv) = (word0 (rv) & Exp_mask)
+ + Exp_msk1
+#ifdef IBM
+ | Exp_msk1 >> 4
+#endif
+ ;
+#ifndef _DOUBLE_IS_32BITS
+ word1 (rv) = 0;
+#endif
+ break;
+ }
+ }
+ else if (!(word0 (rv) & Bndry_mask) && !word1 (rv))
+ {
+ drop_down:
+ /* boundary case -- decrement exponent */
+#ifdef Sudden_Underflow
+ L = word0 (rv) & Exp_mask;
+#ifdef IBM
+ if (L < Exp_msk1)
+#else
+ if (L <= Exp_msk1)
+#endif
+ goto undfl;
+ L -= Exp_msk1;
+#else
+ L = (word0 (rv) & Exp_mask) - Exp_msk1;
+#endif
+ word0 (rv) = L | Bndry_mask1;
+#ifndef _DOUBLE_IS_32BITS
+ word1 (rv) = 0xffffffff;
+#endif
+#ifdef IBM
+ goto cont;
+#else
+ break;
+#endif
+ }
+#ifndef ROUND_BIASED
+ if (!(word1 (rv) & LSB))
+ break;
+#endif
+ if (dsign)
+ rv.d += ulp (rv.d);
+#ifndef ROUND_BIASED
+ else
+ {
+ rv.d -= ulp (rv.d);
+#ifndef Sudden_Underflow
+ if (!rv.d)
+ goto undfl;
+#endif
+ }
+#endif
+ break;
+ }
+ if ((aadj = ratio (delta, bs)) <= 2.)
+ {
+ if (dsign)
+ aadj = aadj1 = 1.;
+ else if (word1 (rv) || word0 (rv) & Bndry_mask)
+ {
+#ifndef Sudden_Underflow
+ if (word1 (rv) == Tiny1 && !word0 (rv))
+ goto undfl;
+#endif
+ aadj = 1.;
+ aadj1 = -1.;
+ }
+ else
+ {
+ /* special case -- power of FLT_RADIX to be */
+ /* rounded down... */
+
+ if (aadj < 2. / FLT_RADIX)
+ aadj = 1. / FLT_RADIX;
+ else
+ aadj *= 0.5;
+ aadj1 = -aadj;
+ }
+ }
+ else
+ {
+ aadj *= 0.5;
+ aadj1 = dsign ? aadj : -aadj;
+#ifdef Check_FLT_ROUNDS
+ switch (FLT_ROUNDS)
+ {
+ case 2: /* towards +infinity */
+ aadj1 -= 0.5;
+ break;
+ case 0: /* towards 0 */
+ case 3: /* towards -infinity */
+ aadj1 += 0.5;
+ }
+#else
+ if (FLT_ROUNDS == 0)
+ aadj1 += 0.5;
+#endif
+ }
+ y = word0 (rv) & Exp_mask;
+
+ /* Check for overflow */
+
+ if (y == Exp_msk1 * (DBL_MAX_EXP + Bias - 1))
+ {
+ rv0.d = rv.d;
+ word0 (rv) -= P * Exp_msk1;
+ adj = aadj1 * ulp (rv.d);
+ rv.d += adj;
+ if ((word0 (rv) & Exp_mask) >=
+ Exp_msk1 * (DBL_MAX_EXP + Bias - P))
+ {
+ if (word0 (rv0) == Big0 && word1 (rv0) == Big1)
+ goto ovfl;
+#ifdef _DOUBLE_IS_32BITS
+ word0 (rv) = Big1;
+#else
+ word0 (rv) = Big0;
+ word1 (rv) = Big1;
+#endif
+ goto cont;
+ }
+ else
+ word0 (rv) += P * Exp_msk1;
+ }
+ else
+ {
+#ifdef Sudden_Underflow
+ if ((word0 (rv) & Exp_mask) <= P * Exp_msk1)
+ {
+ rv0.d = rv.d;
+ word0 (rv) += P * Exp_msk1;
+ adj = aadj1 * ulp (rv.d);
+ rv.d += adj;
+#ifdef IBM
+ if ((word0 (rv) & Exp_mask) < P * Exp_msk1)
+#else
+ if ((word0 (rv) & Exp_mask) <= P * Exp_msk1)
+#endif
+ {
+ if (word0 (rv0) == Tiny0
+ && word1 (rv0) == Tiny1)
+ goto undfl;
+ word0 (rv) = Tiny0;
+ word1 (rv) = Tiny1;
+ goto cont;
+ }
+ else
+ word0 (rv) -= P * Exp_msk1;
+ }
+ else
+ {
+ adj = aadj1 * ulp (rv.d);
+ rv.d += adj;
+ }
+#else
+ /* Compute adj so that the IEEE rounding rules will
+ * correctly round rv.d + adj in some half-way cases.
+ * If rv.d * ulp(rv.d) is denormalized (i.e.,
+ * y <= (P-1)*Exp_msk1), we must adjust aadj to avoid
+ * trouble from bits lost to denormalization;
+ * example: 1.2e-307 .
+ */
+ if (y <= (P - 1) * Exp_msk1 && aadj >= 1.)
+ {
+ aadj1 = (double) (int) (aadj + 0.5);
+ if (!dsign)
+ aadj1 = -aadj1;
+ }
+ adj = aadj1 * ulp (rv.d);
+ rv.d += adj;
+#endif
+ }
+ z = word0 (rv) & Exp_mask;
+ if (y == z)
+ {
+ /* Can we stop now? */
+ L = aadj;
+ aadj -= L;
+ /* The tolerances below are conservative. */
+ if (dsign || word1 (rv) || word0 (rv) & Bndry_mask)
+ {
+ if (aadj < .4999999 || aadj > .5000001)
+ break;
+ }
+ else if (aadj < .4999999 / FLT_RADIX)
+ break;
+ }
+ cont:
+ Bfree (ptr, bb);
+ Bfree (ptr, bd);
+ Bfree (ptr, bs);
+ Bfree (ptr, delta);
+ }
+retfree:
+ Bfree (ptr, bb);
+ Bfree (ptr, bd);
+ Bfree (ptr, bs);
+ Bfree (ptr, bd0);
+ Bfree (ptr, delta);
+ret:
+ if (se)
+ *se = (char *) s;
+ return sign ? -rv.d : rv.d;
+}
+
+#ifndef NO_REENT
+
+double
+_DEFUN (strtod, (s00, se),
+ _CONST char *s00 _AND char **se)
+{
+ return _strtod_r (_REENT, s00, se);
+}
+
+float
+_DEFUN (strtodf, (s00, se),
+ _CONST char *s00 _AND
+ char **se)
+{
+ return strtod (s00, se);
+}
+
+#endif
diff --git a/newlib/libc/stdlib/strtol.c b/newlib/libc/stdlib/strtol.c
new file mode 100644
index 00000000000..6d355d563ed
--- /dev/null
+++ b/newlib/libc/stdlib/strtol.c
@@ -0,0 +1,226 @@
+/*
+FUNCTION
+ <<strtol>>---string to long
+
+INDEX
+ strtol
+INDEX
+ _strtol_r
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ long strtol(const char *<[s]>, char **<[ptr]>,int <[base]>);
+
+ long _strtol_r(void *<[reent]>,
+ const char *<[s]>, char **<[ptr]>,int <[base]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ long strtol (<[s]>, <[ptr]>, <[base]>)
+ char *<[s]>;
+ char **<[ptr]>;
+ int <[base]>;
+
+ long _strtol_r (<[reent]>, <[s]>, <[ptr]>, <[base]>)
+ char *<[reent]>;
+ char *<[s]>;
+ char **<[ptr]>;
+ int <[base]>;
+
+DESCRIPTION
+The function <<strtol>> converts the string <<*<[s]>>> to
+a <<long>>. First, it breaks down the string into three parts:
+leading whitespace, which is ignored; a subject string consisting
+of characters resembling an integer in the radix specified by <[base]>;
+and a trailing portion consisting of zero or more unparseable characters,
+and always including the terminating null character. Then, it attempts
+to convert the subject string into a <<long>> and returns the
+result.
+
+If the value of <[base]> is 0, the subject string is expected to look
+like a normal C integer constant: an optional sign, a possible `<<0x>>'
+indicating a hexadecimal base, and a number. If <[base]> is between
+2 and 36, the expected form of the subject is a sequence of letters
+and digits representing an integer in the radix specified by <[base]>,
+with an optional plus or minus sign. The letters <<a>>--<<z>> (or,
+equivalently, <<A>>--<<Z>>) are used to signify values from 10 to 35;
+only letters whose ascribed values are less than <[base]> are
+permitted. If <[base]> is 16, a leading <<0x>> is permitted.
+
+The subject sequence is the longest initial sequence of the input
+string that has the expected form, starting with the first
+non-whitespace character. If the string is empty or consists entirely
+of whitespace, or if the first non-whitespace character is not a
+permissible letter or digit, the subject string is empty.
+
+If the subject string is acceptable, and the value of <[base]> is zero,
+<<strtol>> attempts to determine the radix from the input string. A
+string with a leading <<0x>> is treated as a hexadecimal value; a string with
+a leading 0 and no <<x>> is treated as octal; all other strings are
+treated as decimal. If <[base]> is between 2 and 36, it is used as the
+conversion radix, as described above. If the subject string begins with
+a minus sign, the value is negated. Finally, a pointer to the first
+character past the converted subject string is stored in <[ptr]>, if
+<[ptr]> is not <<NULL>>.
+
+If the subject string is empty (or not in acceptable form), no conversion
+is performed and the value of <[s]> is stored in <[ptr]> (if <[ptr]> is
+not <<NULL>>).
+
+The alternate function <<_strtol_r>> is a reentrant version. The
+extra argument <[reent]> is a pointer to a reentrancy structure.
+
+RETURNS
+<<strtol>> returns the converted value, if any. If no conversion was
+made, 0 is returned.
+
+<<strtol>> returns <<LONG_MAX>> or <<LONG_MIN>> if the magnitude of
+the converted value is too large, and sets <<errno>> to <<ERANGE>>.
+
+PORTABILITY
+<<strtol>> is ANSI.
+
+No supporting OS subroutines are required.
+*/
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+
+#include <_ansi.h>
+#include <limits.h>
+#include <ctype.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <reent.h>
+
+/*
+ * Convert a string to a long integer.
+ *
+ * Ignores `locale' stuff. Assumes that the upper and lower case
+ * alphabets and digits are each contiguous.
+ */
+long
+_DEFUN (_strtol_r, (rptr, nptr, endptr, base),
+ struct _reent *rptr _AND
+ _CONST char *nptr _AND
+ char **endptr _AND
+ int base)
+{
+ register const char *s = nptr;
+ register unsigned long acc;
+ register int c;
+ register unsigned long cutoff;
+ register int neg = 0, any, cutlim;
+
+ /*
+ * Skip white space and pick up leading +/- sign if any.
+ * If base is 0, allow 0x for hex and 0 for octal, else
+ * assume decimal; if base is already 16, allow 0x.
+ */
+ do {
+ c = *s++;
+ } while (isspace(c));
+ if (c == '-') {
+ neg = 1;
+ c = *s++;
+ } else if (c == '+')
+ c = *s++;
+ if ((base == 0 || base == 16) &&
+ c == '0' && (*s == 'x' || *s == 'X')) {
+ c = s[1];
+ s += 2;
+ base = 16;
+ }
+ if (base == 0)
+ base = c == '0' ? 8 : 10;
+
+ /*
+ * Compute the cutoff value between legal numbers and illegal
+ * numbers. That is the largest legal value, divided by the
+ * base. An input number that is greater than this value, if
+ * followed by a legal input character, is too big. One that
+ * is equal to this value may be valid or not; the limit
+ * between valid and invalid numbers is then based on the last
+ * digit. For instance, if the range for longs is
+ * [-2147483648..2147483647] and the input base is 10,
+ * cutoff will be set to 214748364 and cutlim to either
+ * 7 (neg==0) or 8 (neg==1), meaning that if we have accumulated
+ * a value > 214748364, or equal but the next digit is > 7 (or 8),
+ * the number is too big, and we will return a range error.
+ *
+ * Set any if any `digits' consumed; make it negative to indicate
+ * overflow.
+ */
+ cutoff = neg ? -(unsigned long)LONG_MIN : LONG_MAX;
+ cutlim = cutoff % (unsigned long)base;
+ cutoff /= (unsigned long)base;
+ for (acc = 0, any = 0;; c = *s++) {
+ if (isdigit(c))
+ c -= '0';
+ else if (isalpha(c))
+ c -= isupper(c) ? 'A' - 10 : 'a' - 10;
+ else
+ break;
+ if (c >= base)
+ break;
+ if (any < 0 || acc > cutoff || acc == cutoff && c > cutlim)
+ any = -1;
+ else {
+ any = 1;
+ acc *= base;
+ acc += c;
+ }
+ }
+ if (any < 0) {
+ acc = neg ? LONG_MIN : LONG_MAX;
+ rptr->_errno = ERANGE;
+ } else if (neg)
+ acc = -acc;
+ if (endptr != 0)
+ *endptr = (char *) (any ? s - 1 : nptr);
+ return (acc);
+}
+
+#ifndef _REENT_ONLY
+
+long
+_DEFUN (strtol, (s, ptr, base),
+ _CONST char *s _AND
+ char **ptr _AND
+ int base)
+{
+ return _strtol_r (_REENT, s, ptr, base);
+}
+
+#endif
diff --git a/newlib/libc/stdlib/strtoul.c b/newlib/libc/stdlib/strtoul.c
new file mode 100644
index 00000000000..f62c2f8f864
--- /dev/null
+++ b/newlib/libc/stdlib/strtoul.c
@@ -0,0 +1,206 @@
+/*
+FUNCTION
+ <<strtoul>>---string to unsigned long
+
+INDEX
+ strtoul
+INDEX
+ _strtoul_r
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ unsigned long strtoul(const char *<[s]>, char **<[ptr]>,
+ int <[base]>);
+
+ unsigned long _strtoul_r(void *<[reent]>, const char *<[s]>,
+ char **<[ptr]>, int <[base]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ unsigned long strtoul(<[s]>, <[ptr]>, <[base]>)
+ char *<[s]>;
+ char **<[ptr]>;
+ int <[base]>;
+
+ unsigned long _strtoul_r(<[reent]>, <[s]>, <[ptr]>, <[base]>)
+ char *<[reent]>;
+ char *<[s]>;
+ char **<[ptr]>;
+ int <[base]>;
+
+DESCRIPTION
+The function <<strtoul>> converts the string <<*<[s]>>> to
+an <<unsigned long>>. First, it breaks down the string into three parts:
+leading whitespace, which is ignored; a subject string consisting
+of the digits meaningful in the radix specified by <[base]>
+(for example, <<0>> through <<7>> if the value of <[base]> is 8);
+and a trailing portion consisting of one or more unparseable characters,
+which always includes the terminating null character. Then, it attempts
+to convert the subject string into an unsigned long integer, and returns the
+result.
+
+If the value of <[base]> is zero, the subject string is expected to look
+like a normal C integer constant (save that no optional sign is permitted):
+a possible <<0x>> indicating hexadecimal radix, and a number.
+If <[base]> is between 2 and 36, the expected form of the subject is a
+sequence of digits (which may include letters, depending on the
+base) representing an integer in the radix specified by <[base]>.
+The letters <<a>>--<<z>> (or <<A>>--<<Z>>) are used as digits valued from
+10 to 35. If <[base]> is 16, a leading <<0x>> is permitted.
+
+The subject sequence is the longest initial sequence of the input
+string that has the expected form, starting with the first
+non-whitespace character. If the string is empty or consists entirely
+of whitespace, or if the first non-whitespace character is not a
+permissible digit, the subject string is empty.
+
+If the subject string is acceptable, and the value of <[base]> is zero,
+<<strtoul>> attempts to determine the radix from the input string. A
+string with a leading <<0x>> is treated as a hexadecimal value; a string with
+a leading <<0>> and no <<x>> is treated as octal; all other strings are
+treated as decimal. If <[base]> is between 2 and 36, it is used as the
+conversion radix, as described above. Finally, a pointer to the first
+character past the converted subject string is stored in <[ptr]>, if
+<[ptr]> is not <<NULL>>.
+
+If the subject string is empty (that is, if <<*>><[s]> does not start
+with a substring in acceptable form), no conversion
+is performed and the value of <[s]> is stored in <[ptr]> (if <[ptr]> is
+not <<NULL>>).
+
+The alternate function <<_strtoul_r>> is a reentrant version. The
+extra argument <[reent]> is a pointer to a reentrancy structure.
+
+
+RETURNS
+<<strtoul>> returns the converted value, if any. If no conversion was
+made, <<0>> is returned.
+
+<<strtoul>> returns <<ULONG_MAX>> if the magnitude of the converted
+value is too large, and sets <<errno>> to <<ERANGE>>.
+
+PORTABILITY
+<<strtoul>> is ANSI.
+
+<<strtoul>> requires no supporting OS subroutines.
+*/
+
+/*
+ * Copyright (c) 1990 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <_ansi.h>
+#include <limits.h>
+#include <ctype.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <reent.h>
+
+/*
+ * Convert a string to an unsigned long integer.
+ *
+ * Ignores `locale' stuff. Assumes that the upper and lower case
+ * alphabets and digits are each contiguous.
+ */
+unsigned long
+_DEFUN (_strtoul_r, (rptr, nptr, endptr, base),
+ struct _reent *rptr _AND
+ _CONST char *nptr _AND
+ char **endptr _AND
+ int base)
+{
+ register const char *s = nptr;
+ register unsigned long acc;
+ register int c;
+ register unsigned long cutoff;
+ register int neg = 0, any, cutlim;
+
+ /*
+ * See strtol for comments as to the logic used.
+ */
+ do {
+ c = *s++;
+ } while (isspace(c));
+ if (c == '-') {
+ neg = 1;
+ c = *s++;
+ } else if (c == '+')
+ c = *s++;
+ if ((base == 0 || base == 16) &&
+ c == '0' && (*s == 'x' || *s == 'X')) {
+ c = s[1];
+ s += 2;
+ base = 16;
+ }
+ if (base == 0)
+ base = c == '0' ? 8 : 10;
+ cutoff = (unsigned long)ULONG_MAX / (unsigned long)base;
+ cutlim = (unsigned long)ULONG_MAX % (unsigned long)base;
+ for (acc = 0, any = 0;; c = *s++) {
+ if (isdigit(c))
+ c -= '0';
+ else if (isalpha(c))
+ c -= isupper(c) ? 'A' - 10 : 'a' - 10;
+ else
+ break;
+ if (c >= base)
+ break;
+ if (any < 0 || acc > cutoff || acc == cutoff && c > cutlim)
+ any = -1;
+ else {
+ any = 1;
+ acc *= base;
+ acc += c;
+ }
+ }
+ if (any < 0) {
+ acc = ULONG_MAX;
+ rptr->_errno = ERANGE;
+ } else if (neg)
+ acc = -acc;
+ if (endptr != 0)
+ *endptr = (char *) (any ? s - 1 : nptr);
+ return (acc);
+}
+
+#ifndef _REENT_ONLY
+
+unsigned long
+_DEFUN (strtoul, (s, ptr, base),
+ _CONST char *s _AND
+ char **ptr _AND
+ int base)
+{
+ return _strtoul_r (_REENT, s, ptr, base);
+}
+
+#endif
diff --git a/newlib/libc/stdlib/system.c b/newlib/libc/stdlib/system.c
new file mode 100644
index 00000000000..4584ae180d4
--- /dev/null
+++ b/newlib/libc/stdlib/system.c
@@ -0,0 +1,179 @@
+/*
+FUNCTION
+<<system>>---execute command string
+
+INDEX
+ system
+INDEX
+ _system_r
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ int system(char *<[s]>);
+
+ int _system_r(void *<[reent]>, char *<[s]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ int system(<[s]>)
+ char *<[s]>;
+
+ int _system_r(<[reent]>, <[s]>)
+ char *<[reent]>;
+ char *<[s]>;
+
+DESCRIPTION
+
+Use <<system>> to pass a command string <<*<[s]>>> to <</bin/sh>> on
+your system, and wait for it to finish executing.
+
+Use `<<system(NULL)>>' to test whether your system has <</bin/sh>>
+available.
+
+The alternate function <<_system_r>> is a reentrant version. The
+extra argument <[reent]> is a pointer to a reentrancy structure.
+
+RETURNS
+<<system(NULL)>> returns a non-zero value if <</bin/sh>> is available, and
+<<0>> if it is not.
+
+With a command argument, the result of <<system>> is the exit status
+returned by <</bin/sh>>.
+
+PORTABILITY
+ANSI C requires <<system>>, but leaves the nature and effects of a
+command processor undefined. ANSI C does, however, specify that
+<<system(NULL)>> return zero or nonzero to report on the existence of
+a command processor.
+
+POSIX.2 requires <<system>>, and requires that it invoke a <<sh>>.
+Where <<sh>> is found is left unspecified.
+
+Supporting OS subroutines required: <<_exit>>, <<_execve>>, <<_fork_r>>,
+<<_wait_r>>.
+*/
+
+#include <errno.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <_syslist.h>
+
+#if defined (unix) || defined (__CYGWIN32__)
+static int do_system ();
+#endif
+
+int
+_system_r (ptr, s)
+ struct _reent *ptr;
+ _CONST char *s;
+{
+#ifdef NO_EXEC
+ if (s == NULL)
+ return 0;
+ errno = ENOSYS;
+ return -1;
+#else
+
+ /* ??? How to handle (s == NULL) here is not exactly clear.
+ If _fork_r fails, that's not really a justification for returning 0.
+ For now we always return 0 and leave it to each target to explicitly
+ handle otherwise (this can always be relaxed in the future). */
+
+#if defined (unix) || defined (__CYGWIN32__)
+ if (s == NULL)
+ return 1;
+ return do_system (ptr, s);
+#else
+ if (s == NULL)
+ return 0;
+ errno = ENOSYS;
+ return -1;
+#endif
+
+#endif
+}
+
+#ifndef _REENT_ONLY
+
+int
+system (s)
+ _CONST char *s;
+{
+ return _system_r (_REENT, s);
+}
+
+#endif
+
+#if defined (unix) && !defined (__CYGWIN32__)
+static int
+do_system (ptr, s)
+ struct _reent *ptr;
+ _CONST char *s;
+{
+ char *argv[4];
+ int pid, status;
+ extern char *environ[];
+
+ argv[0] = "sh";
+ argv[1] = "-c";
+ argv[2] = (char *) s;
+ argv[3] = NULL;
+
+ if ((pid = _fork_r (ptr)) == 0)
+ {
+ _execve ("/bin/sh", argv, environ);
+ exit (100);
+ }
+ else if (pid == -1)
+ return -1;
+ else
+ {
+ int rc = _wait_r (ptr, &status);
+ if (rc == -1)
+ return -1;
+ status = (status >> 8) & 0xff;
+ return status;
+ }
+}
+#endif
+
+#if defined (__CYGWIN32__)
+static int
+do_system (ptr, s)
+ struct _reent *ptr;
+ _CONST char *s;
+{
+ char *argv[4];
+ int pid, status;
+ extern char *environ[];
+
+ argv[0] = "sh";
+ argv[1] = "-c";
+ argv[2] = (char *) s;
+ argv[3] = NULL;
+
+ if ((pid = vfork ()) == 0)
+ {
+ /* ??? It's not clear what's the right path to take (pun intended :-).
+ There won't be an "sh" in any fixed location so we need each user
+ to be able to say where to find "sh". That suggests using an
+ environment variable, but after a few more such situations we may
+ have too many of them. */
+ char *sh = getenv ("SH_PATH");
+ if (sh == NULL)
+ sh = "/bin/sh";
+ _execve (sh, argv, environ);
+ exit (100);
+ }
+ else if (pid == -1)
+ return -1;
+ else
+ {
+ int rc = _wait (&status);
+ if (rc == -1)
+ return -1;
+ status = (status >> 8) & 0xff;
+ return status;
+ }
+}
+#endif
diff --git a/newlib/libc/stdlib/valloc.c b/newlib/libc/stdlib/valloc.c
new file mode 100644
index 00000000000..42c09a054c6
--- /dev/null
+++ b/newlib/libc/stdlib/valloc.c
@@ -0,0 +1,24 @@
+/* valloc.c -- a wrapper for valloc_r and pvalloc_r. */
+
+#include <_ansi.h>
+#include <reent.h>
+#include <stdlib.h>
+#include <malloc.h>
+
+#ifndef _REENT_ONLY
+
+_PTR
+_DEFUN (valloc, (nbytes),
+ size_t nbytes)
+{
+ return _valloc_r (_REENT, nbytes);
+}
+
+_PTR
+_DEFUN (pvalloc, (nbytes),
+ size_t nbytes)
+{
+ return _pvalloc_r (_REENT, nbytes);
+}
+
+#endif
diff --git a/newlib/libc/stdlib/wcstombs.c b/newlib/libc/stdlib/wcstombs.c
new file mode 100644
index 00000000000..ca99f2ea1d3
--- /dev/null
+++ b/newlib/libc/stdlib/wcstombs.c
@@ -0,0 +1,80 @@
+/*
+FUNCTION
+<<wcstombs>>---minimal wide char string to multibyte string converter
+
+INDEX
+ wcstombs
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ int wcstombs(const char *<[s]>, wchar_t *<[pwc]>, size_t <[n]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ int wcstombs(<[s]>, <[pwc]>, <[n]>)
+ const char *<[s]>;
+ wchar_t *<[pwc]>;
+ size_t <[n]>;
+
+DESCRIPTION
+When MB_CAPABLE is not defined, this is a minimal ANSI-conforming
+implementation of <<wcstombs>>. In this case,
+all wide-characters are expected to represent single bytes and so
+are converted simply by casting to char.
+
+When MB_CAPABLE is defined, this routine calls <<_wcstombs_r>> to perform
+the conversion, passing a state variable to allow state dependent
+decoding. The result is based on the locale setting which may
+be restricted to a defined set of locales.
+
+RETURNS
+This implementation of <<wcstombs>> returns <<0>> if
+<[s]> is <<NULL>> or is the empty string;
+it returns <<-1>> if MB_CAPABLE and one of the
+wide-char characters does not represent a valid multi-byte character;
+otherwise it returns the minimum of: <<n>> or the
+number of bytes that are transferred to <<s>>, not including the
+nul terminator.
+
+If the return value is -1, the state of the <<pwc>> string is
+indeterminate. If the input has a length of 0, the output
+string will be modified to contain a wchar_t nul terminator if
+<<n>> > 0.
+
+PORTABILITY
+<<wcstombs>> is required in the ANSI C standard. However, the precise
+effects vary with the locale.
+
+<<wcstombs>> requires no supporting OS subroutines.
+*/
+
+#ifndef _REENT_ONLY
+
+#include <stdlib.h>
+
+size_t
+_DEFUN (wcstombs, (s, pwcs, n),
+ char *s _AND
+ const wchar_t *pwcs _AND
+ size_t n)
+{
+#ifdef MB_CAPABLE
+ int state = 0;
+
+ return _wcstombs_r (_REENT, s, pwcs, n, &state);
+#else /* not MB_CAPABLE */
+ int count = 0;
+
+ if (n != 0) {
+ do {
+ if ((*s++ = (char) *pwcs++) == 0)
+ break;
+ count++;
+ } while (--n != 0);
+ }
+
+ return count;
+#endif /* not MB_CAPABLE */
+}
+
+#endif /* !_REENT_ONLY */
diff --git a/newlib/libc/stdlib/wcstombs_r.c b/newlib/libc/stdlib/wcstombs_r.c
new file mode 100644
index 00000000000..69c82d411d4
--- /dev/null
+++ b/newlib/libc/stdlib/wcstombs_r.c
@@ -0,0 +1,32 @@
+#include <stdlib.h>
+
+size_t
+_DEFUN (_wcstombs_r, (reent, s, pwcs, n, state),
+ struct _reent *r _AND
+ char *s _AND
+ const wchar_t *pwcs _AND
+ size_t n _AND
+ int *state)
+{
+ char *ptr = s;
+ size_t max = n;
+ char buff[8];
+ int i, num_to_copy;
+
+ while (n > 0)
+ {
+ int bytes = _wctomb_r (r, buff, *pwcs, state);
+ if (bytes == -1)
+ return -1;
+ num_to_copy = (n > bytes ? bytes : (int)n);
+ for (i = 0; i < num_to_copy; ++i)
+ *ptr++ = buff[i];
+
+ if (*pwcs == 0x00)
+ return ptr - s - (n >= bytes);
+ ++pwcs;
+ n -= num_to_copy;
+ }
+
+ return max;
+}
diff --git a/newlib/libc/stdlib/wctomb.c b/newlib/libc/stdlib/wctomb.c
new file mode 100644
index 00000000000..a6812508f27
--- /dev/null
+++ b/newlib/libc/stdlib/wctomb.c
@@ -0,0 +1,69 @@
+/*
+FUNCTION
+<<wctomb>>---minimal wide char to multibyte converter
+
+INDEX
+ wctomb
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ int wctomb(char *<[s]>, wchar_t <[wchar]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ int wctomb(<[s]>, <[wchar]>)
+ char *<[s]>;
+ wchar_t <[wchar]>;
+
+DESCRIPTION
+When MB_CAPABLE is not defined, this is a minimal ANSI-conforming
+implementation of <<wctomb>>. The
+only ``wide characters'' recognized are single bytes,
+and they are ``converted'' to themselves.
+
+When MB_CAPABLE is defined, this routine calls <<_wctomb_r>> to perform
+the conversion, passing a state variable to allow state dependent
+decoding. The result is based on the locale setting which may
+be restricted to a defined set of locales.
+
+Each call to <<wctomb>> modifies <<*<[s]>>> unless <[s]> is a null
+pointer or MB_CAPABLE is defined and <[wchar]> is invalid.
+
+RETURNS
+This implementation of <<wctomb>> returns <<0>> if
+<[s]> is <<NULL>>; it returns <<-1>> if MB_CAPABLE is enabled
+and the wchar is not a valid multi-byte character, it returns <<1>>
+if MB_CAPABLE is not defined or the wchar is in reality a single
+byte character, otherwise it returns the number of bytes in the
+multi-byte character.
+
+PORTABILITY
+<<wctomb>> is required in the ANSI C standard. However, the precise
+effects vary with the locale.
+
+<<wctomb>> requires no supporting OS subroutines.
+*/
+
+#ifndef _REENT_ONLY
+
+#include <stdlib.h>
+
+int
+_DEFUN (wctomb, (s, wchar),
+ char *s _AND
+ wchar_t wchar)
+{
+#ifdef MB_CAPABLE
+ static int state;
+
+ return _wctomb_r (_REENT, s, wchar, &state);
+#else /* not MB_CAPABLE */
+ if (s == NULL)
+ return 0;
+
+ *s = (char) wchar;
+ return 1;
+#endif /* not MB_CAPABLE */
+}
+
+#endif /* !_REENT_ONLY */
diff --git a/newlib/libc/stdlib/wctomb_r.c b/newlib/libc/stdlib/wctomb_r.c
new file mode 100644
index 00000000000..8fa6e16db63
--- /dev/null
+++ b/newlib/libc/stdlib/wctomb_r.c
@@ -0,0 +1,110 @@
+#include <stdlib.h>
+#include <locale.h>
+#include "mbctype.h"
+
+int
+_DEFUN (_wctomb_r, (r, s, wchar, state),
+ struct _reent *r _AND
+ char *s _AND
+ wchar_t wchar _AND
+ int *state)
+{
+ if (strlen (r->_current_locale) <= 1)
+ { /* fall-through */ }
+ else if (!strcmp (r->_current_locale, "C-SJIS"))
+ {
+ unsigned char char2 = (unsigned char)wchar;
+ unsigned char char1 = (unsigned char)(wchar >> 8);
+
+ if (s == NULL)
+ return 0; /* not state-dependent */
+
+ if (char1 != 0x00)
+ {
+ /* first byte is non-zero..validate multi-byte char */
+ if (_issjis1(char1) && _issjis2(char2))
+ {
+ *s++ = (char)char1;
+ *s = (char)char2;
+ return 2;
+ }
+ else
+ return -1;
+ }
+ }
+ else if (!strcmp (r->_current_locale, "C-EUCJP"))
+ {
+ unsigned char char2 = (unsigned char)wchar;
+ unsigned char char1 = (unsigned char)(wchar >> 8);
+
+ if (s == NULL)
+ return 0; /* not state-dependent */
+
+ if (char1 != 0x00)
+ {
+ /* first byte is non-zero..validate multi-byte char */
+ if (_iseucjp (char1) && _iseucjp (char2))
+ {
+ *s++ = (char)char1;
+ *s = (char)char2;
+ return 2;
+ }
+ else
+ return -1;
+ }
+ }
+ else if (!strcmp (r->_current_locale, "C-JIS"))
+ {
+ int cnt = 0;
+ unsigned char char2 = (unsigned char)wchar;
+ unsigned char char1 = (unsigned char)(wchar >> 8);
+
+ if (s == NULL)
+ return 1; /* state-dependent */
+
+ if (char1 != 0x00)
+ {
+ /* first byte is non-zero..validate multi-byte char */
+ if (_isjis (char1) && _isjis (char2))
+ {
+ if (*state == 0)
+ {
+ /* must switch from ASCII to JIS state */
+ *state = 1;
+ *s++ = ESC_CHAR;
+ *s++ = '$';
+ *s++ = 'B';
+ cnt = 3;
+ }
+ *s++ = (char)char1;
+ *s = (char)char2;
+ return cnt + 2;
+ }
+ else
+ return -1;
+ }
+ else
+ {
+ if (*state != 0)
+ {
+ /* must switch from JIS to ASCII state */
+ *state = 0;
+ *s++ = ESC_CHAR;
+ *s++ = '(';
+ *s++ = 'B';
+ cnt = 3;
+ }
+ *s = (char)char2;
+ return cnt + 1;
+ }
+ }
+
+ if (s == NULL)
+ return 0;
+
+ /* otherwise we are dealing with a single byte character */
+ *s = (char) wchar;
+ return 1;
+}
+
+
diff --git a/newlib/libc/string/Makefile.am b/newlib/libc/string/Makefile.am
new file mode 100644
index 00000000000..26d4b89525c
--- /dev/null
+++ b/newlib/libc/string/Makefile.am
@@ -0,0 +1,66 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ bcmp.c \
+ bcopy.c \
+ bzero.c \
+ index.c \
+ memchr.c \
+ memcmp.c \
+ memcpy.c \
+ memmove.c \
+ memset.c \
+ rindex.c \
+ strcat.c \
+ strchr.c \
+ strcmp.c \
+ strcasecmp.c \
+ strcoll.c \
+ strcpy.c \
+ strcspn.c \
+ strerror.c \
+ strlen.c \
+ strlwr.c \
+ strncat.c \
+ strncmp.c \
+ strncasecmp.c \
+ strncpy.c \
+ strpbrk.c \
+ strrchr.c \
+ strspn.c \
+ strtok.c \
+ strtok_r.c \
+ strupr.c \
+ strxfrm.c \
+ strstr.c \
+ u_strerr.c
+
+CHEWOUT_FILES=\
+bcmp.def memcpy.def strcmp.def strncat.def strstr.def \
+bcopy.def memmove.def strcoll.def strncmp.def strtok.def \
+bzero.def memset.def strcpy.def strncpy.def strxfrm.def \
+index.def rindex.def strcspn.def strpbrk.def \
+memchr.def strcat.def strerror.def strrchr.def \
+memcmp.def strchr.def strlen.def strspn.def \
+strcasecmp.def strncasecmp.def strlwr.def strupr.def
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+TARGETDOC = ../tmp.texi
+
+doc: $(CHEWOUT_FILES)
+ cat $(srcdir)/strings.tex >> $(TARGETDOC)
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
diff --git a/newlib/libc/string/Makefile.in b/newlib/libc/string/Makefile.in
new file mode 100644
index 00000000000..29a413c0dc4
--- /dev/null
+++ b/newlib/libc/string/Makefile.in
@@ -0,0 +1,343 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+CRT0 = @CRT0@
+EXEEXT = @EXEEXT@
+LIBC_MACHINE_LIB = @LIBC_MACHINE_LIB@
+LIBC_POSIX_LIB = @LIBC_POSIX_LIB@
+LIBC_SIGNAL_DEF = @LIBC_SIGNAL_DEF@
+LIBC_SIGNAL_LIB = @LIBC_SIGNAL_LIB@
+LIBC_SYSCALL_LIB = @LIBC_SYSCALL_LIB@
+LIBC_SYS_LIB = @LIBC_SYS_LIB@
+LIBC_UNIX_LIB = @LIBC_UNIX_LIB@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ bcmp.c \
+ bcopy.c \
+ bzero.c \
+ index.c \
+ memchr.c \
+ memcmp.c \
+ memcpy.c \
+ memmove.c \
+ memset.c \
+ rindex.c \
+ strcat.c \
+ strchr.c \
+ strcmp.c \
+ strcasecmp.c \
+ strcoll.c \
+ strcpy.c \
+ strcspn.c \
+ strerror.c \
+ strlen.c \
+ strlwr.c \
+ strncat.c \
+ strncmp.c \
+ strncasecmp.c \
+ strncpy.c \
+ strpbrk.c \
+ strrchr.c \
+ strspn.c \
+ strtok.c \
+ strtok_r.c \
+ strupr.c \
+ strxfrm.c \
+ strstr.c \
+ u_strerr.c
+
+
+CHEWOUT_FILES = \
+bcmp.def memcpy.def strcmp.def strncat.def strstr.def \
+bcopy.def memmove.def strcoll.def strncmp.def strtok.def \
+bzero.def memset.def strcpy.def strncpy.def strxfrm.def \
+index.def rindex.def strcspn.def strpbrk.def \
+memchr.def strcat.def strerror.def strrchr.def \
+memcmp.def strchr.def strlen.def strspn.def \
+strcasecmp.def strncasecmp.def strlwr.def strupr.def
+
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+TARGETDOC = ../tmp.texi
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = bcmp.o bcopy.o bzero.o index.o memchr.o memcmp.o \
+memcpy.o memmove.o memset.o rindex.o strcat.o strchr.o strcmp.o \
+strcasecmp.o strcoll.o strcpy.o strcspn.o strerror.o strlen.o strlwr.o \
+strncat.o strncmp.o strncasecmp.o strncpy.o strpbrk.o strrchr.o \
+strspn.o strtok.o strtok_r.o strupr.o strxfrm.o strstr.o u_strerr.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .def .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus string/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = string
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am:
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-info-am:
+install-info: install-info-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am:
+uninstall: uninstall-am
+all-am: Makefile $(LIBRARIES)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-noinstLIBRARIES distclean-compile \
+ distclean-tags distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-info-am install-info \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+doc: $(CHEWOUT_FILES)
+ cat $(srcdir)/strings.tex >> $(TARGETDOC)
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/string/bcmp.c b/newlib/libc/string/bcmp.c
new file mode 100644
index 00000000000..b6a4d52985a
--- /dev/null
+++ b/newlib/libc/string/bcmp.c
@@ -0,0 +1,50 @@
+/*
+FUNCTION
+ <<bcmp>>---compare two memory areas
+
+INDEX
+ bcmp
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ int bcmp(const char *<[s1]>, const char *<[s2]>, size_t <[n]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ int bcmp(<[s1]>, <[s2]>, <[n]>)
+ char *<[s1]>;
+ char *<[s2]>;
+ size_t <[n]>;
+
+DESCRIPTION
+ This function compares not more than <[n]> characters of the
+ object pointed to by <[s1]> with the object pointed to by <[s2]>.
+
+ This function is identical to <<memcmp>>.
+
+
+
+RETURNS
+ The function returns an integer greater than, equal to or
+ less than zero according to whether the object pointed to by
+ <[s1]> is greater than, equal to or less than the object
+ pointed to by <[s2]>.
+
+PORTABILITY
+<<bcmp>> requires no supporting OS subroutines.
+
+QUICKREF
+ bcmp ansi pure
+*/
+
+#include <string.h>
+
+int
+_DEFUN (bcmp, (m1, m2, n),
+ _CONST char *m1 _AND
+ _CONST char *m2 _AND
+ size_t n)
+
+{
+ return memcmp (m1, m2, n);
+}
diff --git a/newlib/libc/string/bcopy.c b/newlib/libc/string/bcopy.c
new file mode 100644
index 00000000000..733840b831d
--- /dev/null
+++ b/newlib/libc/string/bcopy.c
@@ -0,0 +1,38 @@
+/*
+FUNCTION
+ <<bcopy>>---copy memory regions
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ void bcopy(const char *<[in]>, char *<[out]>, size_t <[n]>);
+
+TRAD_SYNOPSIS
+ void bcopy(<[in]>, <[out]>, <[n]>
+ char *<[in]>;
+ char *<[out]>;
+ size_t <[n]>;
+
+DESCRIPTION
+ This function copies <[n]> bytes from the memory region
+ pointed to by <[in]> to the memory region pointed to by
+ <[out]>.
+
+ This function is implemented in term of <<memmove>>.
+
+PORTABILITY
+<<bcopy>> requires no supporting OS subroutines.
+
+QUICKREF
+ bcopy - pure
+*/
+
+#include <string.h>
+
+void
+_DEFUN (bcopy, (b1, b2, length),
+ _CONST char *b1 _AND
+ char *b2 _AND
+ size_t length)
+{
+ memmove ((_PTR) b2, (_PTR) b1, length);
+}
diff --git a/newlib/libc/string/bzero.c b/newlib/libc/string/bzero.c
new file mode 100644
index 00000000000..e9e78c93887
--- /dev/null
+++ b/newlib/libc/string/bzero.c
@@ -0,0 +1,42 @@
+/*
+FUNCTION
+<<bzero>>---initialize memory to zero
+
+INDEX
+ bzero
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ void bzero(char *<[b]>, size_t <[length]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ void bzero(<[b]>, <[length]>)
+ char *<[b]>;
+ size_t <[length]>;
+
+DESCRIPTION
+<<bzero>> initializes <[length]> bytes of memory, starting at address
+<[b]>, to zero.
+
+RETURNS
+<<bzero>> does not return a result.
+
+PORTABILITY
+<<bzero>> is in the Berkeley Software Distribution.
+Neither ANSI C nor the System V Interface Definition (Issue 2) require
+<<bzero>>.
+
+<<bzero>> requires no supporting OS subroutines.
+*/
+
+#include <string.h>
+
+_VOID
+_DEFUN (bzero, (b, length),
+ char *b _AND
+ size_t length)
+{
+ while (length--)
+ *b++ = 0;
+}
diff --git a/newlib/libc/string/index.c b/newlib/libc/string/index.c
new file mode 100644
index 00000000000..6c165f95296
--- /dev/null
+++ b/newlib/libc/string/index.c
@@ -0,0 +1,44 @@
+/*
+FUNCTION
+ <<index>>---search for character in string
+
+INDEX
+ index
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ char * index(const char *<[string]>, int <[c]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ char * index(<[string]>, <[c]>);
+ char *<[string]>;
+ int *<[c]>;
+
+DESCRIPTION
+ This function finds the first occurence of <[c]> (converted to
+ a char) in the string pointed to by <[string]> (including the
+ terminating null character).
+
+ This function is identical to <<strchr>>.
+
+RETURNS
+ Returns a pointer to the located character, or a null pointer
+ if <[c]> does not occur in <[string]>.
+
+PORTABILITY
+<<index>> requires no supporting OS subroutines.
+
+QUICKREF
+ index - pure
+*/
+
+#include <string.h>
+
+char *
+_DEFUN (index, (s, c),
+ _CONST char *s _AND
+ int c)
+{
+ return strchr (s, c);
+}
diff --git a/newlib/libc/string/memchr.c b/newlib/libc/string/memchr.c
new file mode 100644
index 00000000000..2fd3c861d49
--- /dev/null
+++ b/newlib/libc/string/memchr.c
@@ -0,0 +1,143 @@
+/*
+FUNCTION
+ <<memchr>>---find character in memory
+
+INDEX
+ memchr
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ void *memchr(const void *<[src]>, int <[c]>, size_t <[length]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ void *memchr(<[src]>, <[c]>, <[length]>)
+ void *<[src]>;
+ void *<[c]>;
+ size_t <[length]>;
+
+DESCRIPTION
+ This function searches memory starting at <<*<[src]>>> for the
+ character <[c]>. The search only ends with the first
+ occurrence of <[c]>, or after <[length]> characters; in
+ particular, <<NULL>> does not terminate the search.
+
+RETURNS
+ If the character <[c]> is found within <[length]> characters
+ of <<*<[src]>>>, a pointer to the character is returned. If
+ <[c]> is not found, then <<NULL>> is returned.
+
+PORTABILITY
+<<memchr>>> is ANSI C.
+
+<<memchr>> requires no supporting OS subroutines.
+
+QUICKREF
+ memchr ansi pure
+*/
+
+#include <_ansi.h>
+#include <string.h>
+#include <limits.h>
+
+/* Nonzero if either X or Y is not aligned on a "long" boundary. */
+#define UNALIGNED(X) ((long)X & (sizeof (long) - 1))
+
+/* How many bytes are loaded each iteration of the word copy loop. */
+#define LBLOCKSIZE (sizeof (long))
+
+/* Threshhold for punting to the bytewise iterator. */
+#define TOO_SMALL(LEN) ((LEN) < LBLOCKSIZE)
+
+#if LONG_MAX == 2147483647L
+#define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080)
+#else
+#if LONG_MAX == 9223372036854775807L
+/* Nonzero if X (a long int) contains a NULL byte. */
+#define DETECTNULL(X) (((X) - 0x0101010101010101) & ~(X) & 0x8080808080808080)
+#else
+#error long int is not a 32bit or 64bit type.
+#endif
+#endif
+
+#ifndef DETECTNULL
+#error long int is not a 32bit or 64bit byte
+#endif
+
+
+_PTR
+_DEFUN (memchr, (src_void, c, length),
+ _CONST _PTR src_void _AND
+ int c _AND
+ size_t length)
+{
+#if defined(PREFER_SIZE_OVER_SPEED) || defined(__OPTIMIZE_SIZE__)
+ _CONST unsigned char *src = (_CONST unsigned char *) src_void;
+
+ c &= 0xff;
+
+ while (length--)
+ {
+ if (*src == c)
+ return (char *) src;
+ src++;
+ }
+ return NULL;
+#else
+ _CONST unsigned char *src = (_CONST unsigned char *) src_void;
+ unsigned long *asrc;
+ unsigned long buffer;
+ unsigned long mask;
+ int i, j;
+
+ c &= 0xff;
+
+ /* If the size is small, or src is unaligned, then
+ use the bytewise loop. We can hope this is rare. */
+ if (!TOO_SMALL (length) && !UNALIGNED (src))
+ {
+ /* The fast code reads the ASCII one word at a time and only
+ performs the bytewise search on word-sized segments if they
+ contain the search character, which is detected by XORing
+ the word-sized segment with a word-sized block of the search
+ character and then detecting for the presence of NULL in the
+ result. */
+ asrc = (unsigned long*) src;
+ mask = 0;
+ for (i = 0; i < LBLOCKSIZE; i++)
+ mask = (mask << 8) + c;
+
+ while (length >= LBLOCKSIZE)
+ {
+ buffer = *asrc;
+ buffer ^= mask;
+ if (DETECTNULL (buffer))
+ {
+ src = (unsigned char*) asrc;
+ for ( j = 0; j < LBLOCKSIZE; j++ )
+ {
+ if (*src == c)
+ return (char*) src;
+ src++;
+ }
+ }
+ length -= LBLOCKSIZE;
+ asrc++;
+ }
+
+ /* If there are fewer than LBLOCKSIZE characters left,
+ then we resort to the bytewise loop. */
+
+ src = (unsigned char*) asrc;
+ }
+
+ while (length--)
+ {
+ if (*src == c)
+ return (char*) src;
+ src++;
+ }
+
+ return NULL;
+#endif /* not PREFER_SIZE_OVER_SPEED */
+}
diff --git a/newlib/libc/string/memcmp.c b/newlib/libc/string/memcmp.c
new file mode 100644
index 00000000000..ac7a194a6af
--- /dev/null
+++ b/newlib/libc/string/memcmp.c
@@ -0,0 +1,113 @@
+/*
+FUNCTION
+ <<memcmp>>---compare two memory areas
+
+INDEX
+ memcmp
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ int memcmp(const void *<[s1]>, const void *<[s2]>, size_t <[n]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ int memcmp(<[s1]>, <[s2]>, <[n]>)
+ void *<[s1]>;
+ void *<[s2]>;
+ size_t <[n]>;
+
+DESCRIPTION
+ This function compares not more than <[n]> characters of the
+ object pointed to by <[s1]> with the object pointed to by <[s2]>.
+
+
+RETURNS
+ The function returns an integer greater than, equal to or
+ less than zero according to whether the object pointed to by
+ <[s1]> is greater than, equal to or less than the object
+ pointed to by <[s2]>.
+
+PORTABILITY
+<<memcmp>> is ANSI C.
+
+<<memcmp>> requires no supporting OS subroutines.
+
+QUICKREF
+ memcmp ansi pure
+*/
+
+#include <string.h>
+
+
+/* Nonzero if either X or Y is not aligned on a "long" boundary. */
+#define UNALIGNED(X, Y) \
+ (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1)))
+
+/* How many bytes are copied each iteration of the word copy loop. */
+#define LBLOCKSIZE (sizeof (long))
+
+/* Threshhold for punting to the byte copier. */
+#define TOO_SMALL(LEN) ((LEN) < LBLOCKSIZE)
+
+int
+_DEFUN (memcmp, (m1, m2, n),
+ _CONST _PTR m1 _AND
+ _CONST _PTR m2 _AND
+ size_t n)
+{
+#if defined(PREFER_SIZE_OVER_SPEED) || defined(__OPTIMIZE_SIZE__)
+ unsigned char *s1 = (unsigned char *) m1;
+ unsigned char *s2 = (unsigned char *) m2;
+
+ while (n--)
+ {
+ if (*s1 != *s2)
+ {
+ return *s1 - *s2;
+ }
+ s1++;
+ s2++;
+ }
+ return 0;
+#else
+ unsigned char *s1 = (unsigned char *) m1;
+ unsigned char *s2 = (unsigned char *) m2;
+ unsigned long *a1;
+ unsigned long *a2;
+
+ /* If the size is too small, or either pointer is unaligned,
+ then we punt to the byte compare loop. Hopefully this will
+ not turn up in inner loops. */
+ if (!TOO_SMALL(n) && !UNALIGNED(s1,s2))
+ {
+ /* Otherwise, load and compare the blocks of memory one
+ word at a time. */
+ a1 = (unsigned long*) s1;
+ a2 = (unsigned long*) s2;
+ while (n >= LBLOCKSIZE)
+ {
+ if (*a1 != *a2)
+ break;
+ a1++;
+ a2++;
+ n -= LBLOCKSIZE;
+ }
+
+ /* check m mod LBLOCKSIZE remaining characters */
+
+ s1 = (char*)a1;
+ s2 = (char*)a2;
+ }
+
+ while (n--)
+ {
+ if (*s1 != *s2)
+ return *s1 - *s2;
+ s1++;
+ s2++;
+ }
+
+ return 0;
+#endif /* not PREFER_SIZE_OVER_SPEED */
+}
+
diff --git a/newlib/libc/string/memcpy.c b/newlib/libc/string/memcpy.c
new file mode 100644
index 00000000000..5336f25a914
--- /dev/null
+++ b/newlib/libc/string/memcpy.c
@@ -0,0 +1,111 @@
+/*
+FUNCTION
+ <<memcpy>>---copy memory regions
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ void* memcpy(void *<[out]>, const void *<[in]>, size_t <[n]>);
+
+TRAD_SYNOPSIS
+ void *memcpy(<[out]>, <[in]>, <[n]>
+ void *<[out]>;
+ void *<[in]>;
+ size_t <[n]>;
+
+DESCRIPTION
+ This function copies <[n]> bytes from the memory region
+ pointed to by <[in]> to the memory region pointed to by
+ <[out]>.
+
+ If the regions overlap, the behavior is undefined.
+
+RETURNS
+ <<memcpy>> returns a pointer to the first byte of the <[out]>
+ region.
+
+PORTABILITY
+<<memcpy>> is ANSI C.
+
+<<memcpy>> requires no supporting OS subroutines.
+
+QUICKREF
+ memcpy ansi pure
+ */
+
+#include <_ansi.h>
+#include <stddef.h>
+#include <limits.h>
+
+/* Nonzero if either X or Y is not aligned on a "long" boundary. */
+#define UNALIGNED(X, Y) \
+ (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1)))
+
+/* How many bytes are copied each iteration of the 4X unrolled loop. */
+#define BIGBLOCKSIZE (sizeof (long) << 2)
+
+/* How many bytes are copied each iteration of the word copy loop. */
+#define LITTLEBLOCKSIZE (sizeof (long))
+
+/* Threshhold for punting to the byte copier. */
+#define TOO_SMALL(LEN) ((LEN) < BIGBLOCKSIZE)
+
+_PTR
+_DEFUN (memcpy, (dst0, src0, len0),
+ _PTR dst0 _AND
+ _CONST _PTR src0 _AND
+ size_t len0)
+{
+#if defined(PREFER_SIZE_OVER_SPEED) || defined(__OPTIMIZE_SIZE__)
+ char *dst = (char *) dst0;
+ char *src = (char *) src0;
+
+ _PTR save = dst0;
+
+ while (len0--)
+ {
+ *dst++ = *src++;
+ }
+
+ return save;
+#else
+ char *dst = dst0;
+ _CONST char *src = src0;
+ long *aligned_dst;
+ _CONST long *aligned_src;
+ int len = len0;
+
+ /* If the size is small, or either SRC or DST is unaligned,
+ then punt into the byte copy loop. This should be rare. */
+ if (!TOO_SMALL(len) && !UNALIGNED (src, dst))
+ {
+ aligned_dst = (long*)dst;
+ aligned_src = (long*)src;
+
+ /* Copy 4X long words at a time if possible. */
+ while (len >= BIGBLOCKSIZE)
+ {
+ *aligned_dst++ = *aligned_src++;
+ *aligned_dst++ = *aligned_src++;
+ *aligned_dst++ = *aligned_src++;
+ *aligned_dst++ = *aligned_src++;
+ len -= BIGBLOCKSIZE;
+ }
+
+ /* Copy one long word at a time if possible. */
+ while (len >= LITTLEBLOCKSIZE)
+ {
+ *aligned_dst++ = *aligned_src++;
+ len -= LITTLEBLOCKSIZE;
+ }
+
+ /* Pick up any residual with a byte copier. */
+ dst = (char*)aligned_dst;
+ src = (char*)aligned_src;
+ }
+
+ while (len--)
+ *dst++ = *src++;
+
+ return dst0;
+#endif /* not PREFER_SIZE_OVER_SPEED */
+}
diff --git a/newlib/libc/string/memmove.c b/newlib/libc/string/memmove.c
new file mode 100644
index 00000000000..2528e27d40f
--- /dev/null
+++ b/newlib/libc/string/memmove.c
@@ -0,0 +1,143 @@
+/*
+FUNCTION
+ <<memmove>>---move possibly overlapping memory
+
+INDEX
+ memmove
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ void *memmove(void *<[dst]>, const void *<[src]>, size_t <[length]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ void *memmove(<[dst]>, <[src]>, <[length]>)
+ void *<[dst]>;
+ void *<[src]>;
+ size_t <[length]>;
+
+DESCRIPTION
+ This function moves <[length]> characters from the block of
+ memory starting at <<*<[src]>>> to the memory starting at
+ <<*<[dst]>>>. <<memmove>> reproduces the characters correctly
+ at <<*<[dst]>>> even if the two areas overlap.
+
+
+RETURNS
+ The function returns <[dst]> as passed.
+
+PORTABILITY
+<<memmove>> is ANSI C.
+
+<<memmove>> requires no supporting OS subroutines.
+
+QUICKREF
+ memmove ansi pure
+*/
+
+#include <string.h>
+#include <_ansi.h>
+#include <stddef.h>
+#include <limits.h>
+
+/* Nonzero if either X or Y is not aligned on a "long" boundary. */
+#define UNALIGNED(X, Y) \
+ (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1)))
+
+/* How many bytes are copied each iteration of the 4X unrolled loop. */
+#define BIGBLOCKSIZE (sizeof (long) << 2)
+
+/* How many bytes are copied each iteration of the word copy loop. */
+#define LITTLEBLOCKSIZE (sizeof (long))
+
+/* Threshhold for punting to the byte copier. */
+#define TOO_SMALL(LEN) ((LEN) < BIGBLOCKSIZE)
+
+/*SUPPRESS 20*/
+_PTR
+_DEFUN (memmove, (dst_void, src_void, length),
+ _PTR dst_void _AND
+ _CONST _PTR src_void _AND
+ size_t length)
+{
+#if defined(PREFER_SIZE_OVER_SPEED) || defined(__OPTIMIZE_SIZE__)
+ char *dst = dst_void;
+ _CONST char *src = src_void;
+
+ if (src < dst && dst < src + length)
+ {
+ /* Have to copy backwards */
+ src += length;
+ dst += length;
+ while (length--)
+ {
+ *--dst = *--src;
+ }
+ }
+ else
+ {
+ while (length--)
+ {
+ *dst++ = *src++;
+ }
+ }
+
+ return dst_void;
+#else
+ char *dst = dst_void;
+ _CONST char *src = src_void;
+ long *aligned_dst;
+ _CONST long *aligned_src;
+ int len = length;
+
+ if (src < dst && dst < src + len)
+ {
+ /* Destructive overlap...have to copy backwards */
+ src += len;
+ dst += len;
+ while (len--)
+ {
+ *--dst = *--src;
+ }
+ }
+ else
+ {
+ /* Use optimizing algorithm for a non-destructive copy to closely
+ match memcpy. If the size is small or either SRC or DST is unaligned,
+ then punt into the byte copy loop. This should be rare. */
+ if (!TOO_SMALL(len) && !UNALIGNED (src, dst))
+ {
+ aligned_dst = (long*)dst;
+ aligned_src = (long*)src;
+
+ /* Copy 4X long words at a time if possible. */
+ while (len >= BIGBLOCKSIZE)
+ {
+ *aligned_dst++ = *aligned_src++;
+ *aligned_dst++ = *aligned_src++;
+ *aligned_dst++ = *aligned_src++;
+ *aligned_dst++ = *aligned_src++;
+ len -= BIGBLOCKSIZE;
+ }
+
+ /* Copy one long word at a time if possible. */
+ while (len >= LITTLEBLOCKSIZE)
+ {
+ *aligned_dst++ = *aligned_src++;
+ len -= LITTLEBLOCKSIZE;
+ }
+
+ /* Pick up any residual with a byte copier. */
+ dst = (char*)aligned_dst;
+ src = (char*)aligned_src;
+ }
+
+ while (len--)
+ {
+ *dst++ = *src++;
+ }
+ }
+
+ return dst_void;
+#endif /* not PREFER_SIZE_OVER_SPEED */
+}
diff --git a/newlib/libc/string/memset.c b/newlib/libc/string/memset.c
new file mode 100644
index 00000000000..f6ec46b9ab7
--- /dev/null
+++ b/newlib/libc/string/memset.c
@@ -0,0 +1,110 @@
+/*
+FUNCTION
+ <<memset>>---set an area of memory
+
+INDEX
+ memset
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ void *memset(const void *<[dst]>, int <[c]>, size_t <[length]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ void *memset(<[dst]>, <[c]>, <[length]>)
+ void *<[dst]>;
+ int <[c]>;
+ size_t <[length]>;
+
+DESCRIPTION
+ This function converts the argument <[c]> into an unsigned
+ char and fills the first <[length]> characters of the array
+ pointed to by <[dst]> to the value.
+
+RETURNS
+ <<memset>> returns the value of <[m]>.
+
+PORTABILITY
+<<memset>> is ANSI C.
+
+ <<memset>> requires no supporting OS subroutines.
+
+QUICKREF
+ memset ansi pure
+*/
+
+#include <string.h>
+
+#define LBLOCKSIZE (sizeof(long))
+#define UNALIGNED(X) ((long)X & (LBLOCKSIZE - 1))
+#define TOO_SMALL(LEN) ((LEN) < LBLOCKSIZE)
+
+_PTR
+_DEFUN (memset, (m, c, n),
+ _PTR m _AND
+ int c _AND
+ size_t n)
+{
+#if defined(PREFER_SIZE_OVER_SPEED) || defined(__OPTIMIZE_SIZE__)
+ char *s = (char *) m;
+
+ while (n-- != 0)
+ {
+ *s++ = (char) c;
+ }
+
+ return m;
+#else
+ char *s = (char *) m;
+ int count, i;
+ unsigned long buffer;
+ unsigned long *aligned_addr;
+ unsigned char *unaligned_addr;
+
+ if (!TOO_SMALL (n) && !UNALIGNED (m))
+ {
+ /* If we get this far, we know that n is large and m is word-aligned. */
+
+ aligned_addr = (unsigned long*)m;
+
+ /* Store C into each char sized location in BUFFER so that
+ we can set large blocks quickly. */
+ c &= 0xff;
+ if (LBLOCKSIZE == 4)
+ {
+ buffer = (c << 8) | c;
+ buffer |= (buffer << 16);
+ }
+ else
+ {
+ buffer = 0;
+ for (i = 0; i < LBLOCKSIZE; i++)
+ buffer = (buffer << 8) | c;
+ }
+
+ while (n >= LBLOCKSIZE*4)
+ {
+ *aligned_addr++ = buffer;
+ *aligned_addr++ = buffer;
+ *aligned_addr++ = buffer;
+ *aligned_addr++ = buffer;
+ n -= 4*LBLOCKSIZE;
+ }
+
+ while (n >= LBLOCKSIZE)
+ {
+ *aligned_addr++ = buffer;
+ n -= LBLOCKSIZE;
+ }
+ /* Pick up the remainder with a bytewise loop. */
+ s = (char*)aligned_addr;
+ }
+
+ while (n--)
+ {
+ *s++ = (char)c;
+ }
+
+ return m;
+#endif /* not PREFER_SIZE_OVER_SPEED */
+}
diff --git a/newlib/libc/string/rindex.c b/newlib/libc/string/rindex.c
new file mode 100644
index 00000000000..3c6dff909f5
--- /dev/null
+++ b/newlib/libc/string/rindex.c
@@ -0,0 +1,44 @@
+/*
+FUNCTION
+ <<rindex>>---reverse search for character in string
+
+INDEX
+ rindex
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ char * rindex(const char *<[string]>, int <[c]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ char * rindex(<[string]>, <[c]>);
+ char *<[string]>;
+ int *<[c]>;
+
+DESCRIPTION
+ This function finds the last occurence of <[c]> (converted to
+ a char) in the string pointed to by <[string]> (including the
+ terminating null character).
+
+ This function is identical to <<strrchr>>.
+
+RETURNS
+ Returns a pointer to the located character, or a null pointer
+ if <[c]> does not occur in <[string]>.
+
+PORTABILITY
+<<rindex>> requires no supporting OS subroutines.
+
+QUICKREF
+ rindex - pure
+*/
+
+#include <string.h>
+
+char *
+_DEFUN (rindex, (s, c),
+ _CONST char *s _AND
+ int c)
+{
+ return strrchr (s, c);
+}
diff --git a/newlib/libc/string/strcasecmp.c b/newlib/libc/string/strcasecmp.c
new file mode 100644
index 00000000000..4dcfc784a9e
--- /dev/null
+++ b/newlib/libc/string/strcasecmp.c
@@ -0,0 +1,56 @@
+/*
+FUNCTION
+ <<strcasecmp>>---case insensitive character string compare
+
+INDEX
+ strcasecmp
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ int strcasecmp(const char *<[a]>, const char *<[b]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ int strcasecmp(<[a]>, <[b]>)
+ char *<[a]>;
+ char *<[b]>;
+
+DESCRIPTION
+ <<strcasecmp>> compares the string at <[a]> to
+ the string at <[b]> in a case-insensitive manner.
+
+RETURNS
+
+ If <<*<[a]>>> sorts lexicographically after <<*<[b]>>> (after
+ both are converted to upper case), <<strcasecmp>> returns a
+ number greater than zero. If the two strings match,
+ <<strcasecmp>> returns zero. If <<*<[a]>>> sorts
+ lexicographically before <<*<[b]>>>, <<strcasecmp>> returns a
+ number less than zero.
+
+PORTABILITY
+<<strcasecmp>> is in the Berkeley Software Distribution.
+
+<<strcasecmp>> requires no supporting OS subroutines. It uses
+tolower() from elsewhere in this library.
+
+QUICKREF
+ strcasecmp
+*/
+
+#include <string.h>
+#include <ctype.h>
+
+int
+_DEFUN (strcasecmp, (s1, s2),
+ _CONST char *s1 _AND
+ _CONST char *s2)
+{
+ while (*s1 != '\0' && tolower(*s1) == tolower(*s2))
+ {
+ s1++;
+ s2++;
+ }
+
+ return tolower(*(unsigned char *) s1) - tolower(*(unsigned char *) s2);
+}
diff --git a/newlib/libc/string/strcat.c b/newlib/libc/string/strcat.c
new file mode 100644
index 00000000000..411eadb85a1
--- /dev/null
+++ b/newlib/libc/string/strcat.c
@@ -0,0 +1,104 @@
+/*
+FUNCTION
+ <<strcat>>---concatenate strings
+
+INDEX
+ strcat
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ char *strcat(char *<[dst]>, const char *<[src]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ char *strcat(<[dst]>, <[src]>)
+ char *<[dst]>;
+ char *<[src]>;
+
+DESCRIPTION
+ <<strcat>> appends a copy of the string pointed to by <[src]>
+ (including the terminating null character) to the end of the
+ string pointed to by <[dst]>. The initial character of
+ <[src]> overwrites the null character at the end of <[dst]>.
+
+RETURNS
+ This function returns the initial value of <[dst]>
+
+PORTABILITY
+<<strcat>> is ANSI C.
+
+<<strcat>> requires no supporting OS subroutines.
+
+QUICKREF
+ strcat ansi pure
+*/
+
+#include <string.h>
+#include <limits.h>
+
+/* Nonzero if X is aligned on a "long" boundary. */
+#define ALIGNED(X) \
+ (((long)X & (sizeof (long) - 1)) == 0)
+
+#if LONG_MAX == 2147483647L
+#define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080)
+#else
+#if LONG_MAX == 9223372036854775807L
+/* Nonzero if X (a long int) contains a NULL byte. */
+#define DETECTNULL(X) (((X) - 0x0101010101010101) & ~(X) & 0x8080808080808080)
+#else
+#error long int is not a 32bit or 64bit type.
+#endif
+#endif
+
+#ifndef DETECTNULL
+#error long int is not a 32bit or 64bit byte
+#endif
+
+
+/*SUPPRESS 560*/
+/*SUPPRESS 530*/
+
+char *
+_DEFUN (strcat, (s1, s2),
+ char *s1 _AND
+ _CONST char *s2)
+{
+#if defined(PREFER_SIZE_OVER_SPEED) || defined(__OPTIMIZE_SIZE__)
+ char *s = s1;
+
+ while (*s1)
+ s1++;
+
+ while (*s1++ = *s2++)
+ ;
+ return s;
+#else
+ char *s = s1;
+
+
+ /* Skip over the data in s1 as quickly as possible. */
+ if (ALIGNED (s1))
+ {
+ unsigned long *aligned_s1 = (unsigned long *)s1;
+ while (!DETECTNULL (*aligned_s1))
+ aligned_s1++;
+
+ s1 = (char *)aligned_s1;
+ }
+
+ while (*s1)
+ s1++;
+
+ /* s1 now points to the its trailing null character, we can
+ just use strcpy to do the work for us now.
+
+ ?!? We might want to just include strcpy here.
+ Also, this will cause many more unaligned string copies because
+ s1 is much less likely to be aligned. I don't know if its worth
+ tweaking strcpy to handle this better. */
+ strcpy (s1, s2);
+
+ return s;
+#endif /* not PREFER_SIZE_OVER_SPEED */
+}
diff --git a/newlib/libc/string/strchr.c b/newlib/libc/string/strchr.c
new file mode 100644
index 00000000000..de4585f758a
--- /dev/null
+++ b/newlib/libc/string/strchr.c
@@ -0,0 +1,108 @@
+/*
+FUNCTION
+ <<strchr>>---search for character in string
+
+INDEX
+ strchr
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ char * strchr(const char *<[string]>, int <[c]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ char * strchr(<[string]>, <[c]>);
+ char *<[string]>;
+ int *<[c]>;
+
+DESCRIPTION
+ This function finds the first occurence of <[c]> (converted to
+ a char) in the string pointed to by <[string]> (including the
+ terminating null character).
+
+RETURNS
+ Returns a pointer to the located character, or a null pointer
+ if <[c]> does not occur in <[string]>.
+
+PORTABILITY
+<<strchr>> is ANSI C.
+
+<<strchr>> requires no supporting OS subroutines.
+
+QUICKREF
+ strchr ansi pure
+*/
+
+#include <string.h>
+#include <limits.h>
+
+/* Nonzero if X is not aligned on a "long" boundary. */
+#define UNALIGNED(X) ((long)X & (sizeof (long) - 1))
+
+/* How many bytes are loaded each iteration of the word copy loop. */
+#define LBLOCKSIZE (sizeof (long))
+
+#if LONG_MAX == 2147483647L
+#define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080)
+#else
+#if LONG_MAX == 9223372036854775807L
+/* Nonzero if X (a long int) contains a NULL byte. */
+#define DETECTNULL(X) (((X) - 0x0101010101010101) & ~(X) & 0x8080808080808080)
+#else
+#error long int is not a 32bit or 64bit type.
+#endif
+#endif
+
+/* DETECTCHAR returns nonzero if (long)X contains the byte used
+ to fill (long)MASK. */
+#define DETECTCHAR(X,MASK) (DETECTNULL(X ^ MASK))
+
+char *
+_DEFUN (strchr, (s1, i),
+ _CONST char *s1 _AND
+ int i)
+{
+ _CONST unsigned char *s = (_CONST unsigned char *)s1;
+#if defined(PREFER_SIZE_OVER_SPEED) || defined(__OPTIMIZE_SIZE__)
+ unsigned char c = (unsigned int)i;
+
+ while (*s && *s != c)
+ {
+ s++;
+ }
+
+ if (*s != c)
+ {
+ s = NULL;
+ }
+
+ return (char *) s;
+#else
+ unsigned char c = (unsigned char)i;
+ unsigned long mask,j;
+ unsigned long *aligned_addr;
+
+ if (!UNALIGNED (s))
+ {
+ mask = 0;
+ for (j = 0; j < LBLOCKSIZE; j++)
+ mask = (mask << 8) | c;
+
+ aligned_addr = (unsigned long*)s;
+ while (!DETECTNULL (*aligned_addr) && !DETECTCHAR (*aligned_addr, mask))
+ aligned_addr++;
+
+ /* The block of bytes currently pointed to by aligned_addr
+ contains either a null or the target char, or both. We
+ catch it using the bytewise search. */
+
+ s = (unsigned char*)aligned_addr;
+ }
+
+ while (*s && *s != c)
+ s++;
+ if (*s == c)
+ return (char *)s;
+ return NULL;
+#endif /* not PREFER_SIZE_OVER_SPEED */
+}
diff --git a/newlib/libc/string/strcmp.c b/newlib/libc/string/strcmp.c
new file mode 100644
index 00000000000..81d65272ec7
--- /dev/null
+++ b/newlib/libc/string/strcmp.c
@@ -0,0 +1,106 @@
+/*
+FUNCTION
+ <<strcmp>>---character string compare
+
+INDEX
+ strcmp
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ int strcmp(const char *<[a]>, const char *<[b]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ int strcmp(<[a]>, <[b]>)
+ char *<[a]>;
+ char *<[b]>;
+
+DESCRIPTION
+ <<strcmp>> compares the string at <[a]> to
+ the string at <[b]>.
+
+RETURNS
+ If <<*<[a]>>> sorts lexicographically after <<*<[b]>>>,
+ <<strcmp>> returns a number greater than zero. If the two
+ strings match, <<strcmp>> returns zero. If <<*<[a]>>>
+ sorts lexicographically before <<*<[b]>>>, <<strcmp>> returns a
+ number less than zero.
+
+PORTABILITY
+<<strcmp>> is ANSI C.
+
+<<strcmp>> requires no supporting OS subroutines.
+
+QUICKREF
+ strcmp ansi pure
+*/
+
+#include <string.h>
+#include <limits.h>
+
+/* Nonzero if either X or Y is not aligned on a "long" boundary. */
+#define UNALIGNED(X, Y) \
+ (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1)))
+
+/* DETECTNULL returns nonzero if (long)X contains a NULL byte. */
+#if LONG_MAX == 2147483647L
+#define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080)
+#else
+#if LONG_MAX == 9223372036854775807L
+#define DETECTNULL(X) (((X) - 0x0101010101010101) & ~(X) & 0x8080808080808080)
+#else
+#error long int is not a 32bit or 64bit type.
+#endif
+#endif
+
+#ifndef DETECTNULL
+#error long int is not a 32bit or 64bit byte
+#endif
+
+int
+_DEFUN (strcmp, (s1, s2),
+ _CONST char *s1 _AND
+ _CONST char *s2)
+{
+#if defined(PREFER_SIZE_OVER_SPEED) || defined(__OPTIMIZE_SIZE__)
+ while (*s1 != '\0' && *s1 == *s2)
+ {
+ s1++;
+ s2++;
+ }
+
+ return (*(unsigned char *) s1) - (*(unsigned char *) s2);
+#else
+ unsigned long *a1;
+ unsigned long *a2;
+
+ /* If s1 or s2 are unaligned, then compare bytes. */
+ if (!UNALIGNED (s1, s2))
+ {
+ /* If s1 and s2 are word-aligned, compare them a word at a time. */
+ a1 = (unsigned long*)s1;
+ a2 = (unsigned long*)s2;
+ while (*a1 == *a2)
+ {
+ /* To get here, *a1 == *a2, thus if we find a null in *a1,
+ then the strings must be equal, so return zero. */
+ if (DETECTNULL (*a1))
+ return 0;
+
+ a1++;
+ a2++;
+ }
+
+ /* A difference was detected in last few bytes of s1, so search bytewise */
+ s1 = (char*)a1;
+ s2 = (char*)a2;
+ }
+
+ while (*s1 != '\0' && *s1 == *s2)
+ {
+ s1++;
+ s2++;
+ }
+ return (*(unsigned char *) s1) - (*(unsigned char *) s2);
+#endif /* not PREFER_SIZE_OVER_SPEED */
+}
diff --git a/newlib/libc/string/strcoll.c b/newlib/libc/string/strcoll.c
new file mode 100644
index 00000000000..8760b2217b4
--- /dev/null
+++ b/newlib/libc/string/strcoll.c
@@ -0,0 +1,48 @@
+/*
+FUNCTION
+ <<strcoll>>---locale specific character string compare
+
+INDEX
+ strcoll
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ int strcoll(const char *<[stra]>, const char * <[strb]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ int strcoll(<[stra]>, <[strb]>)
+ char *<[stra]>;
+ char *<[strb]>;
+
+DESCRIPTION
+ <<strcoll>> compares the string pointed to by <[stra]> to
+ the string pointed to by <[strb]>, using an interpretation
+ appropriate to the current <<LC_COLLATE>> state.
+
+RETURNS
+ If the first string is greater than the second string,
+ <<strcoll>> returns a number greater than zero. If the two
+ strings are equivalent, <<strcoll>> returns zero. If the first
+ string is less than the second string, <<strcoll>> returns a
+ number less than zero.
+
+PORTABILITY
+<<strcoll>> is ANSI C.
+
+<<strcoll>> requires no supporting OS subroutines.
+
+QUICKREF
+ strcoll ansi pure
+*/
+
+#include <string.h>
+
+int
+_DEFUN (strcoll, (a, b),
+ _CONST char *a _AND
+ _CONST char *b)
+
+{
+ return strcmp (a, b);
+}
diff --git a/newlib/libc/string/strcpy.c b/newlib/libc/string/strcpy.c
new file mode 100644
index 00000000000..905b2541c5b
--- /dev/null
+++ b/newlib/libc/string/strcpy.c
@@ -0,0 +1,99 @@
+/*
+FUNCTION
+ <<strcpy>>---copy string
+
+INDEX
+ strcpy
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ char *strcpy(char *<[dst]>, const char *<[src]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ char *strcpy(<[dst]>, <[src]>)
+ char *<[dst]>;
+ char *<[src]>;
+
+DESCRIPTION
+ <<strcpy>> copies the string pointed to by <[src]>
+ (including the terminating null character) to the array
+ pointed to by <[dst]>.
+
+RETURNS
+ This function returns the initial value of <[dst]>.
+
+PORTABILITY
+<<strcpy>> is ANSI C.
+
+<<strcpy>> requires no supporting OS subroutines.
+
+QUICKREF
+ strcpy ansi pure
+*/
+
+#include <string.h>
+#include <limits.h>
+
+/*SUPPRESS 560*/
+/*SUPPRESS 530*/
+
+/* Nonzero if either X or Y is not aligned on a "long" boundary. */
+#define UNALIGNED(X, Y) \
+ (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1)))
+
+#if LONG_MAX == 2147483647L
+#define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080)
+#else
+#if LONG_MAX == 9223372036854775807L
+/* Nonzero if X (a long int) contains a NULL byte. */
+#define DETECTNULL(X) (((X) - 0x0101010101010101) & ~(X) & 0x8080808080808080)
+#else
+#error long int is not a 32bit or 64bit type.
+#endif
+#endif
+
+#ifndef DETECTNULL
+#error long int is not a 32bit or 64bit byte
+#endif
+
+char*
+_DEFUN (strcpy, (dst0, src0),
+ char *dst0 _AND
+ _CONST char *src0)
+{
+#if defined(PREFER_SIZE_OVER_SPEED) || defined(__OPTIMIZE_SIZE__)
+ char *s = dst0;
+
+ while (*dst0++ = *src0++)
+ ;
+
+ return s;
+#else
+ char *dst = dst0;
+ _CONST char *src = src0;
+ long *aligned_dst;
+ _CONST long *aligned_src;
+
+ /* If SRC or DEST is unaligned, then copy bytes. */
+ if (!UNALIGNED (src, dst))
+ {
+ aligned_dst = (long*)dst;
+ aligned_src = (long*)src;
+
+ /* SRC and DEST are both "long int" aligned, try to do "long int"
+ sized copies. */
+ while (!DETECTNULL(*aligned_src))
+ {
+ *aligned_dst++ = *aligned_src++;
+ }
+
+ dst = (char*)aligned_dst;
+ src = (char*)aligned_src;
+ }
+
+ while (*dst++ = *src++)
+ ;
+ return dst0;
+#endif /* not PREFER_SIZE_OVER_SPEED */
+}
diff --git a/newlib/libc/string/strcspn.c b/newlib/libc/string/strcspn.c
new file mode 100644
index 00000000000..fe68b8f517d
--- /dev/null
+++ b/newlib/libc/string/strcspn.c
@@ -0,0 +1,54 @@
+/*
+FUNCTION
+ <<strcspn>>---count chars not in string
+
+INDEX
+ strcspn
+
+ANSI_SYNOPSIS
+ size_t strcspn(const char *<[s1]>, const char *<[s2]>);
+
+TRAD_SYNOPSIS
+ size_t strcspn(<[s1]>, <[s2]>)
+ char *<[s1]>;
+ char *<[s2]>;
+
+DESCRIPTION
+ This function computes the length of the initial part of
+ the string pointed to by <[s1]> which consists entirely of
+ characters <[NOT]> from the string pointed to by <[s2]>
+ (excluding the terminating null character).
+
+RETURNS
+ <<strcspn>> returns the length of the substring found.
+
+PORTABILITY
+<<strcspn>> is ANSI C.
+
+<<strcspn>> requires no supporting OS subroutines.
+ */
+
+#include <string.h>
+
+size_t
+_DEFUN (strcspn, (s1, s2),
+ _CONST char *s1 _AND
+ _CONST char *s2)
+{
+ _CONST char *s = s1;
+ _CONST char *c;
+
+ while (*s1)
+ {
+ for (c = s2; *c; c++)
+ {
+ if (*s1 == *c)
+ break;
+ }
+ if (*c)
+ break;
+ s1++;
+ }
+
+ return s1 - s;
+}
diff --git a/newlib/libc/string/strerror.c b/newlib/libc/string/strerror.c
new file mode 100644
index 00000000000..78336595dca
--- /dev/null
+++ b/newlib/libc/string/strerror.c
@@ -0,0 +1,650 @@
+/***
+**** CAUTION!!! KEEP DOC CONSISTENT---if you change text of a message
+**** here, change two places:
+**** 1) the leading doc section (alphabetized by macro)
+**** 2) the real text inside switch(errnum)
+***/
+
+/*
+FUNCTION
+ <<strerror>>---convert error number to string
+
+INDEX
+ strerror
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ char *strerror(int <[errnum]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ char *strerror(<[errnum]>)
+ int <[errnum]>;
+
+DESCRIPTION
+<<strerror>> converts the error number <[errnum]> into a
+string. The value of <[errnum]> is usually a copy of <<errno>>.
+If <<errnum>> is not a known error number, the result points to an
+empty string.
+
+This implementation of <<strerror>> prints out the following strings
+for each of the values defined in `<<errno.h>>':
+
+o+
+o E2BIG
+Arg list too long
+
+o EACCES
+Permission denied
+
+o EADV
+Advertise error
+
+o EAGAIN
+No more processes
+
+o EBADF
+Bad file number
+
+o EBADMSG
+Bad message
+
+o EBUSY
+Device or resource busy
+
+o ECHILD
+No children
+
+o ECOMM
+Communication error
+
+o EDEADLK
+Deadlock
+
+o EEXIST
+File exists
+
+o EDOM
+Math argument
+
+o EFAULT
+Bad address
+
+o EFBIG
+File too large
+
+o EIDRM
+Identifier removed
+
+o EINTR
+Interrupted system call
+
+o EINVAL
+Invalid argument
+
+o EIO
+I/O error
+
+o EISDIR
+Is a directory
+
+o ELIBACC
+Cannot access a needed shared library
+
+o ELIBBAD
+Accessing a corrupted shared library
+
+o ELIBEXEC
+Cannot exec a shared library directly
+
+o ELIBMAX
+Attempting to link in more shared libraries than system limit
+
+o ELIBSCN
+<<.lib>> section in a.out corrupted
+
+o EMFILE
+Too many open files
+
+o EMLINK
+Too many links
+
+o EMULTIHOP
+Multihop attempted
+
+o ENAMETOOLONG
+File or path name too long
+
+o ENFILE
+Too many open files in system
+
+o ENODEV
+No such device
+
+o ENOENT
+No such file or directory
+
+o ENOEXEC
+Exec format error
+
+o ENOLCK
+No lock
+
+o ENOLINK
+Virtual circuit is gone
+
+o ENOMEM
+Not enough space
+
+o ENOMSG
+No message of desired type
+
+o ENONET
+Machine is not on the network
+
+o ENOPKG
+No package
+
+o ENOSPC
+No space left on device
+
+o ENOSR
+No stream resources
+
+o ENOSTR
+Not a stream
+
+o ENOSYS
+Function not implemented
+
+o ENOTBLK
+Block device required
+
+o ENOTDIR
+Not a directory
+
+o ENOTEMPTY
+Directory not empty
+
+o ENOTTY
+Not a character device
+
+o ENXIO
+No such device or address
+
+o EPERM
+Not owner
+
+o EPIPE
+Broken pipe
+
+o EPROTO
+Protocol error
+
+o ERANGE
+Result too large
+
+o EREMOTE
+Resource is remote
+
+o EROFS
+Read-only file system
+
+o ESPIPE
+Illegal seek
+
+o ESRCH
+No such process
+
+o ESRMNT
+Srmount error
+
+o ETIME
+Stream ioctl timeout
+
+o ETXTBSY
+Text file busy
+
+o EXDEV
+Cross-device link
+
+o-
+
+RETURNS
+This function returns a pointer to a string. Your application must
+not modify that string.
+
+PORTABILITY
+ANSI C requires <<strerror>>, but does not specify the strings used
+for each error number.
+
+Although this implementation of <<strerror>> is reentrant, ANSI C
+declares that subsequent calls to <<strerror>> may overwrite the
+result string; therefore portable code cannot depend on the reentrancy
+of this subroutine.
+
+This implementation of <<strerror>> provides for user-defined
+extensibility. <<errno.h>> defines <[__ELASTERROR]>, which can be
+used as a base for user-defined error values. If the user supplies a
+routine named <<_user_strerror>>, and <[errnum]> passed to
+<<strerror>> does not match any of the supported values,
+<<_user_strerror>> is called with <[errnum]> as its argument.
+
+<<_user_strerror>> takes one argument of type <[int]>, and returns a
+character pointer. If <[errnum]> is unknown to <<_user_strerror>>,
+<<_user_strerror>> returns <[NULL]>. The default <<_user_strerror>>
+returns <[NULL]> for all input values.
+
+<<strerror>> requires no supporting OS subroutines.
+
+QUICKREF
+ strerror ansi pure
+*/
+
+#include <errno.h>
+#include <string.h>
+
+char *
+_DEFUN (strerror, (errnum),
+ int errnum)
+{
+ char *error;
+ extern char *_user_strerror _PARAMS ((int));
+
+ switch (errnum)
+ {
+/* go32 defines EPERM as EACCES */
+#if defined (EPERM) && (!defined (EACCES) || (EPERM != EACCES))
+ case EPERM:
+ error = "Not owner";
+ break;
+#endif
+#ifdef ENOENT
+ case ENOENT:
+ error = "No such file or directory";
+ break;
+#endif
+#ifdef ESRCH
+ case ESRCH:
+ error = "No such process";
+ break;
+#endif
+#ifdef EINTR
+ case EINTR:
+ error = "Interrupted system call";
+ break;
+#endif
+#ifdef EIO
+ case EIO:
+ error = "I/O error";
+ break;
+#endif
+/* go32 defines ENXIO as ENODEV */
+#if defined (ENXIO) && (!defined (ENODEV) || (ENXIO != ENODEV))
+ case ENXIO:
+ error = "No such device or address";
+ break;
+#endif
+#ifdef E2BIG
+ case E2BIG:
+ error = "Arg list too long";
+ break;
+#endif
+#ifdef ENOEXEC
+ case ENOEXEC:
+ error = "Exec format error";
+ break;
+#endif
+#ifdef EBADF
+ case EBADF:
+ error = "Bad file number";
+ break;
+#endif
+#ifdef ECHILD
+ case ECHILD:
+ error = "No children";
+ break;
+#endif
+#ifdef EAGAIN
+ case EAGAIN:
+ error = "No more processes";
+ break;
+#endif
+#ifdef ENOMEM
+ case ENOMEM:
+ error = "Not enough space";
+ break;
+#endif
+#ifdef EACCES
+ case EACCES:
+ error = "Permission denied";
+ break;
+#endif
+#ifdef EFAULT
+ case EFAULT:
+ error = "Bad address";
+ break;
+#endif
+#ifdef ENOTBLK
+ case ENOTBLK:
+ error = "Block device required";
+ break;
+#endif
+#ifdef EBUSY
+ case EBUSY:
+ error = "Device or resource busy";
+ break;
+#endif
+#ifdef EEXIST
+ case EEXIST:
+ error = "File exists";
+ break;
+#endif
+#ifdef EXDEV
+ case EXDEV:
+ error = "Cross-device link";
+ break;
+#endif
+#ifdef ENODEV
+ case ENODEV:
+ error = "No such device";
+ break;
+#endif
+#ifdef ENOTDIR
+ case ENOTDIR:
+ error = "Not a directory";
+ break;
+#endif
+#ifdef EISDIR
+ case EISDIR:
+ error = "Is a directory";
+ break;
+#endif
+#ifdef EINVAL
+ case EINVAL:
+ error = "Invalid argument";
+ break;
+#endif
+#ifdef ENFILE
+ case ENFILE:
+ error = "Too many open files in system";
+ break;
+#endif
+#ifdef EMFILE
+ case EMFILE:
+ error = "Too many open files";
+ break;
+#endif
+#ifdef ENOTTY
+ case ENOTTY:
+ error = "Not a character device";
+ break;
+#endif
+#ifdef ETXTBSY
+ case ETXTBSY:
+ error = "Text file busy";
+ break;
+#endif
+#ifdef EFBIG
+ case EFBIG:
+ error = "File too large";
+ break;
+#endif
+#ifdef ENOSPC
+ case ENOSPC:
+ error = "No space left on device";
+ break;
+#endif
+#ifdef ESPIPE
+ case ESPIPE:
+ error = "Illegal seek";
+ break;
+#endif
+#ifdef EROFS
+ case EROFS:
+ error = "Read-only file system";
+ break;
+#endif
+#ifdef EMLINK
+ case EMLINK:
+ error = "Too many links";
+ break;
+#endif
+#ifdef EPIPE
+ case EPIPE:
+ error = "Broken pipe";
+ break;
+#endif
+#ifdef EDOM
+ case EDOM:
+ error = "Math argument";
+ break;
+#endif
+#ifdef ERANGE
+ case ERANGE:
+ error = "Result too large";
+ break;
+#endif
+#ifdef ENOMSG
+ case ENOMSG:
+ error = "No message of desired type";
+ break;
+#endif
+#ifdef EIDRM
+ case EIDRM:
+ error = "Identifier removed";
+ break;
+#endif
+#ifdef EDEADLK
+ case EDEADLK:
+ error = "Deadlock";
+ break;
+#endif
+#ifdef ENOLCK
+ case ENOLCK:
+ error = "No lock";
+ break;
+#endif
+#ifdef ENOSTR
+ case ENOSTR:
+ error = "Not a stream";
+ break;
+#endif
+#ifdef ETIME
+ case ETIME:
+ error = "Stream ioctl timeout";
+ break;
+#endif
+#ifdef ENOSR
+ case ENOSR:
+ error = "No stream resources";
+ break;
+#endif
+#ifdef ENONET
+ case ENONET:
+ error = "Machine is not on the network";
+ break;
+#endif
+#ifdef ENOPKG
+ case ENOPKG:
+ error = "No package";
+ break;
+#endif
+#ifdef EREMOTE
+ case EREMOTE:
+ error = "Resource is remote";
+ break;
+#endif
+#ifdef ENOLINK
+ case ENOLINK:
+ error = "Virtual circuit is gone";
+ break;
+#endif
+#ifdef EADV
+ case EADV:
+ error = "Advertise error";
+ break;
+#endif
+#ifdef ESRMNT
+ case ESRMNT:
+ error = "Srmount error";
+ break;
+#endif
+#ifdef ECOMM
+ case ECOMM:
+ error = "Communication error";
+ break;
+#endif
+#ifdef EPROTO
+ case EPROTO:
+ error = "Protocol error";
+ break;
+#endif
+#ifdef EMULTIHOP
+ case EMULTIHOP:
+ error = "Multihop attempted";
+ break;
+#endif
+#ifdef EBADMSG
+ case EBADMSG:
+ error = "Bad message";
+ break;
+#endif
+#ifdef ELIBACC
+ case ELIBACC:
+ error = "Cannot access a needed shared library";
+ break;
+#endif
+#ifdef ELIBBAD
+ case ELIBBAD:
+ error = "Accessing a corrupted shared library";
+ break;
+#endif
+#ifdef ELIBSCN
+ case ELIBSCN:
+ error = ".lib section in a.out corrupted";
+ break;
+#endif
+#ifdef ELIBMAX
+ case ELIBMAX:
+ error = "Attempting to link in more shared libraries than system limit";
+ break;
+#endif
+#ifdef ELIBEXEC
+ case ELIBEXEC:
+ error = "Cannot exec a shared library directly";
+ break;
+#endif
+#ifdef ENOSYS
+ case ENOSYS:
+ error = "Function not implemented";
+ break;
+#endif
+#ifdef ENMFILE
+ case ENMFILE:
+ error = "No more files";
+ break;
+#endif
+#ifdef ENOTEMPTY
+ case ENOTEMPTY:
+ error = "Directory not empty";
+ break;
+#endif
+#ifdef ENAMETOOLONG
+ case ENAMETOOLONG:
+ error = "File or path name too long";
+ break;
+#endif
+#ifdef ELOOP
+ case ELOOP:
+ error = "Too many symbolic links";
+ break;
+#endif
+#ifdef ENOBUFS
+ case ENOBUFS:
+ error = "No buffer space available";
+ break;
+#endif
+#ifdef EAFNOSUPPORT
+ case EAFNOSUPPORT:
+ error = "Address family not supported by protocol family";
+ break;
+#endif
+#ifdef EPROTOTYPE
+ case EPROTOTYPE:
+ error = "Protocol wrong type for socket";
+ break;
+#endif
+#ifdef ENOTSOCK
+ case ENOTSOCK:
+ error = "Socket operation on non-socket";
+ break;
+#endif
+#ifdef ENOPROTOOPT
+ case ENOPROTOOPT:
+ error = "Protocol not available";
+ break;
+#endif
+#ifdef ESHUTDOWN
+ case ESHUTDOWN:
+ error = "Can't send after socket shutdown";
+ break;
+#endif
+#ifdef ECONNREFUSED
+ case ECONNREFUSED:
+ error = "Connection refused";
+ break;
+#endif
+#ifdef EADDRINUSE
+ case EADDRINUSE:
+ error = "Address already in use";
+ break;
+#endif
+#ifdef ECONNABORTED
+ case ECONNABORTED:
+ error = "Software caused connection abort";
+ break;
+#endif
+#if (defined(EWOULDBLOCK) && (!defined (EAGAIN) || (EWOULDBLOCK != EAGAIN)))
+ case EWOULDBLOCK:
+ error = "Operation would block";
+ break;
+#endif
+#ifdef ENOTCONN
+ case ENOTCONN:
+ error = "Socket is not connected";
+ break;
+#endif
+#ifdef ESOCKTNOSUPPORT
+ case ESOCKTNOSUPPORT:
+ error = "Socket type not supported";
+ break;
+#endif
+#ifdef EISCONN
+ case EISCONN:
+ error = "Socket is already connected";
+ break;
+#endif
+#ifdef EOPNOTSUPP
+ case EOPNOTSUPP:
+ error = "Operation not supported on socket";
+ break;
+#endif
+#ifdef EMSGSIZE
+ case EMSGSIZE:
+ error = "Message too long";
+ break;
+#endif
+#ifdef ETIMEDOUT
+ case ETIMEDOUT:
+ error = "Connection timed out";
+ break;
+#endif
+ default:
+ if ((error = _user_strerror (errnum)) == 0)
+ error = "";
+ break;
+ }
+
+ return error;
+}
diff --git a/newlib/libc/string/strings.tex b/newlib/libc/string/strings.tex
new file mode 100644
index 00000000000..2d17d1c6f97
--- /dev/null
+++ b/newlib/libc/string/strings.tex
@@ -0,0 +1,133 @@
+@node Strings
+@chapter Strings and Memory (@file{string.h})
+
+This chapter describes string-handling functions and functions for
+managing areas of memory. The corresponding declarations are in
+@file{string.h}.
+
+@menu
+* bcmp:: Compare two memory areas
+* bcopy:: Copy memory regions
+* bzero:: Initialize memory to zero
+* index:: Search for character in string
+* memchr:: Find character in memory
+* memcmp:: Compare two memory areas
+* memcpy:: Copy memory regions
+* memmove:: Move possibly overlapping memory
+* memset:: Set an area of memory
+* rindex:: Reverse search for character in string
+* strcasecmp:: Compare strings ignoring case
+* strcat:: Concatenate strings
+* strchr:: Search for character in string
+* strcmp:: Character string compare
+* strcoll:: Locale specific character string compare
+* strcpy:: Copy string
+* strcspn:: Count chars not in string
+* strerror:: Convert error number to string
+* strlen:: Character string length
+* strlwr:: Convert string to lower case
+* strncasecmp:: Compare strings ignoring case
+* strncat:: Concatenate strings
+* strncmp:: Character string compare
+* strncpy:: Counted copy string
+* strpbrk:: Find chars in string
+* strrchr:: Reverse search for character in string
+* strspn:: Find initial match
+* strstr:: Find string segment
+* strtok:: Get next token from a string
+* strupr:: Convert string to upper case
+* strxfrm:: Transform string
+@end menu
+
+@page
+@include string/bcmp.def
+
+@page
+@include string/bcopy.def
+
+@page
+@include string/bzero.def
+
+@page
+@include string/index.def
+
+@page
+@include string/memchr.def
+
+@page
+@include string/memcmp.def
+
+@page
+@include string/memcpy.def
+
+@page
+@include string/memmove.def
+
+@page
+@include string/memset.def
+
+@page
+@include string/rindex.def
+
+@page
+@include string/strcasecmp.def
+
+@page
+@include string/strcat.def
+
+@page
+@include string/strchr.def
+
+@page
+@include string/strcmp.def
+
+@page
+@include string/strcoll.def
+
+@page
+@include string/strcpy.def
+
+@page
+@include string/strcspn.def
+
+@page
+@include string/strerror.def
+
+@page
+@include string/strlen.def
+
+@page
+@include string/strlwr.def
+
+@page
+@include string/strncasecmp.def
+
+@page
+@include string/strncat.def
+
+@page
+@include string/strncmp.def
+
+@page
+@include string/strncpy.def
+
+@page
+@include string/strpbrk.def
+
+@page
+@include string/strrchr.def
+
+@page
+@include string/strspn.def
+
+@page
+@include string/strstr.def
+
+@page
+@include string/strtok.def
+
+@page
+@include string/strupr.def
+
+@page
+@include string/strxfrm.def
diff --git a/newlib/libc/string/strlen.c b/newlib/libc/string/strlen.c
new file mode 100644
index 00000000000..4249e14c785
--- /dev/null
+++ b/newlib/libc/string/strlen.c
@@ -0,0 +1,88 @@
+/*
+FUNCTION
+ <<strlen>>---character string length
+
+INDEX
+ strlen
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ size_t strlen(const char *<[str]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ size_t strlen(<[str]>)
+ char *<[src]>;
+
+DESCRIPTION
+ The <<strlen>> function works out the length of the string
+ starting at <<*<[str]>>> by counting chararacters until it
+ reaches a <<NULL>> character.
+
+RETURNS
+ <<strlen>> returns the character count.
+
+PORTABILITY
+<<strlen>> is ANSI C.
+
+<<strlen>> requires no supporting OS subroutines.
+
+QUICKREF
+ strlen ansi pure
+*/
+
+#include <_ansi.h>
+#include <string.h>
+#include <limits.h>
+
+#define LBLOCKSIZE (sizeof (long))
+#define UNALIGNED(X) ((long)X & (LBLOCKSIZE - 1))
+
+#if LONG_MAX == 2147483647L
+#define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080)
+#else
+#if LONG_MAX == 9223372036854775807L
+/* Nonzero if X (a long int) contains a NULL byte. */
+#define DETECTNULL(X) (((X) - 0x0101010101010101) & ~(X) & 0x8080808080808080)
+#else
+#error long int is not a 32bit or 64bit type.
+#endif
+#endif
+
+#ifndef DETECTNULL
+#error long int is not a 32bit or 64bit byte
+#endif
+
+size_t
+_DEFUN (strlen, (str),
+ _CONST char *str)
+{
+#if defined(PREFER_SIZE_OVER_SPEED) || defined(__OPTIMIZE_SIZE__)
+ _CONST char *start = str;
+
+ while (*str)
+ str++;
+
+ return str - start;
+#else
+ _CONST char *start = str;
+ unsigned long *aligned_addr;
+
+ if (!UNALIGNED (str))
+ {
+ /* If the string is word-aligned, we can check for the presence of
+ a null in each word-sized block. */
+ aligned_addr = (unsigned long*)str;
+ while (!DETECTNULL (*aligned_addr))
+ aligned_addr++;
+
+ /* Once a null is detected, we check each byte in that block for a
+ precise position of the null. */
+ str = (char*)aligned_addr;
+ }
+
+ while (*str)
+ str++;
+ return str - start;
+#endif /* not PREFER_SIZE_OVER_SPEED */
+}
diff --git a/newlib/libc/string/strlwr.c b/newlib/libc/string/strlwr.c
new file mode 100644
index 00000000000..cf0d45f7150
--- /dev/null
+++ b/newlib/libc/string/strlwr.c
@@ -0,0 +1,50 @@
+/*
+FUNCTION
+ <<strlwr>>---force string to lower case
+
+INDEX
+ strlwr
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ char *strlwr(char *<[a]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ char *strlwr(<[a]>)
+ char *<[a]>;
+
+DESCRIPTION
+ <<strlwr>> converts each characters in the string at <[a]> to
+ lower case.
+
+RETURNS
+ <<strlwr>> returns its argument, <[a]>.
+
+PORTABILITY
+<<strlwr>> is not widely portable.
+
+<<strlwr>> requires no supporting OS subroutines.
+
+QUICKREF
+ strlwr
+*/
+
+#include <string.h>
+#include <ctype.h>
+
+char *
+strlwr (a)
+ char *a;
+{
+ char *ret = a;
+
+ while (*a != '\0')
+ {
+ if (isupper (*a))
+ *a = tolower (*a);
+ ++a;
+ }
+
+ return ret;
+}
diff --git a/newlib/libc/string/strncasecmp.c b/newlib/libc/string/strncasecmp.c
new file mode 100644
index 00000000000..28c6cc44f13
--- /dev/null
+++ b/newlib/libc/string/strncasecmp.c
@@ -0,0 +1,64 @@
+/*
+FUNCTION
+ <<strncasecmp>>---case insensitive character string compare
+
+INDEX
+ strncasecmp
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ int strncasecmp(const char *<[a]>, const char * <[b]>, size_t <[length]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ int strncasecmp(<[a]>, <[b]>, <[length]>)
+ char *<[a]>;
+ char *<[b]>;
+ size_t <[length]>
+
+DESCRIPTION
+ <<strncasecmp>> compares up to <[length]> characters
+ from the string at <[a]> to the string at <[b]> in a
+ case-insensitive manner.
+
+RETURNS
+
+ If <<*<[a]>>> sorts lexicographically after <<*<[b]>>> (after
+ both are converted to upper case), <<strncasecmp>> returns a
+ number greater than zero. If the two strings are equivalent,
+ <<strncasecmp>> returns zero. If <<*<[a]>>> sorts
+ lexicographically before <<*<[b]>>>, <<strncasecmp>> returns a
+ number less than zero.
+
+PORTABILITY
+<<strncasecmp>> is in the Berkeley Software Distribution.
+
+<<strncasecmp>> requires no supporting OS subroutines. It uses
+tolower() from elsewhere in this library.
+
+QUICKREF
+ strncasecmp
+*/
+
+#include <string.h>
+#include <ctype.h>
+
+int
+_DEFUN (strncasecmp, (s1, s2, n),
+ _CONST char *s1 _AND
+ _CONST char *s2 _AND
+ size_t n)
+{
+ if (n == 0)
+ return 0;
+
+ while (n-- != 0 && tolower(*s1) == tolower(*s2))
+ {
+ if (n == 0 || *s1 == '\0' || *s2 == '\0')
+ break;
+ s1++;
+ s2++;
+ }
+
+ return tolower(*(unsigned char *) s1) - tolower(*(unsigned char *) s2);
+}
diff --git a/newlib/libc/string/strncat.c b/newlib/libc/string/strncat.c
new file mode 100644
index 00000000000..57ca068eb1a
--- /dev/null
+++ b/newlib/libc/string/strncat.c
@@ -0,0 +1,115 @@
+/*
+FUNCTION
+ <<strncat>>---concatenate strings
+
+INDEX
+ strncat
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ char *strncat(char *<[dst]>, const char *<[src]>, size_t <[length]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ char *strncat(<[dst]>, <[src]>, <[length]>)
+ char *<[dst]>;
+ char *<[src]>;
+ size_t <[length]>;
+
+DESCRIPTION
+ <<strncat>> appends not more than <[length]> characters from
+ the string pointed to by <[src]> (including the terminating
+ null character) to the end of the string pointed to by
+ <[dst]>. The initial character of <[src]> overwrites the null
+ character at the end of <[dst]>. A terminating null character
+ is always appended to the result
+
+WARNINGS
+ Note that a null is always appended, so that if the copy is
+ limited by the <[length]> argument, the number of characters
+ appended to <[dst]> is <<n + 1>>.
+
+
+RETURNS
+ This function returns the initial value of <[dst]>
+
+PORTABILITY
+<<strncat>> is ANSI C.
+
+<<strncat>> requires no supporting OS subroutines.
+
+QUICKREF
+ strncat ansi pure
+*/
+
+#include <string.h>
+#include <limits.h>
+
+/* Nonzero if X is aligned on a "long" boundary. */
+#define ALIGNED(X) \
+ (((long)X & (sizeof (long) - 1)) == 0)
+
+#if LONG_MAX == 2147483647L
+#define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080)
+#else
+#if LONG_MAX == 9223372036854775807L
+/* Nonzero if X (a long int) contains a NULL byte. */
+#define DETECTNULL(X) (((X) - 0x0101010101010101) & ~(X) & 0x8080808080808080)
+#else
+#error long int is not a 32bit or 64bit type.
+#endif
+#endif
+
+#ifndef DETECTNULL
+#error long int is not a 32bit or 64bit byte
+#endif
+
+char *
+_DEFUN (strncat, (s1, s2, n),
+ char *s1 _AND
+ _CONST char *s2 _AND
+ size_t n)
+{
+#if defined(PREFER_SIZE_OVER_SPEED) || defined(__OPTIMIZE_SIZE__)
+ char *s = s1;
+
+ while (*s1)
+ s1++;
+ while (n-- != 0 && (*s1++ = *s2++))
+ {
+ if (n == 0)
+ *s1 = '\0';
+ }
+
+ return s;
+#else
+ char *s = s1;
+
+ /* Skip over the data in s1 as quickly as possible. */
+ if (ALIGNED (s1))
+ {
+ unsigned long *aligned_s1 = (unsigned long *)s1;
+ while (!DETECTNULL (*aligned_s1))
+ aligned_s1++;
+
+ s1 = (char *)aligned_s1;
+ }
+
+ while (*s1)
+ s1++;
+
+ /* s1 now points to the its trailing null character, now copy
+ up to N bytes from S2 into S1 stopping if a NULL is encountered
+ in S2.
+
+ It is not safe to use strncpy here since it copies EXACTLY N
+ characters, NULL padding if necessary. */
+ while (n-- != 0 && (*s1++ = *s2++))
+ {
+ if (n == 0)
+ *s1 = '\0';
+ }
+
+ return s;
+#endif /* not PREFER_SIZE_OVER_SPEED */
+}
diff --git a/newlib/libc/string/strncmp.c b/newlib/libc/string/strncmp.c
new file mode 100644
index 00000000000..9801b7d9248
--- /dev/null
+++ b/newlib/libc/string/strncmp.c
@@ -0,0 +1,122 @@
+/*
+FUNCTION
+ <<strncmp>>---character string compare
+
+INDEX
+ strncmp
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ int strncmp(const char *<[a]>, const char * <[b]>, size_t <[length]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ int strncmp(<[a]>, <[b]>, <[length]>)
+ char *<[a]>;
+ char *<[b]>;
+ size_t <[length]>
+
+DESCRIPTION
+ <<strncmp>> compares up to <[length]> characters
+ from the string at <[a]> to the string at <[b]>.
+
+RETURNS
+ If <<*<[a]>>> sorts lexicographically after <<*<[b]>>>,
+ <<strncmp>> returns a number greater than zero. If the two
+ strings are equivalent, <<strncmp>> returns zero. If <<*<[a]>>>
+ sorts lexicographically before <<*<[b]>>>, <<strncmp>> returns a
+ number less than zero.
+
+PORTABILITY
+<<strncmp>> is ANSI C.
+
+<<strncmp>> requires no supporting OS subroutines.
+
+QUICKREF
+ strncmp ansi pure
+*/
+
+#include <string.h>
+#include <limits.h>
+
+/* Nonzero if either X or Y is not aligned on a "long" boundary. */
+#define UNALIGNED(X, Y) \
+ (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1)))
+
+/* DETECTNULL returns nonzero if (long)X contains a NULL byte. */
+#if LONG_MAX == 2147483647L
+#define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080)
+#else
+#if LONG_MAX == 9223372036854775807L
+#define DETECTNULL(X) (((X) - 0x0101010101010101) & ~(X) & 0x8080808080808080)
+#else
+#error long int is not a 32bit or 64bit type.
+#endif
+#endif
+
+#ifndef DETECTNULL
+#error long int is not a 32bit or 64bit byte
+#endif
+
+int
+_DEFUN (strncmp, (s1, s2, n),
+ _CONST char *s1 _AND
+ _CONST char *s2 _AND
+ size_t n)
+{
+#if defined(PREFER_SIZE_OVER_SPEED) || defined(__OPTIMIZE_SIZE__)
+ if (n == 0)
+ return 0;
+
+ while (n-- != 0 && *s1 == *s2)
+ {
+ if (n == 0 || *s1 == '\0')
+ break;
+ s1++;
+ s2++;
+ }
+
+ return (*(unsigned char *) s1) - (*(unsigned char *) s2);
+#else
+ unsigned long *a1;
+ unsigned long *a2;
+
+ if (n == 0)
+ return 0;
+
+ /* If s1 or s2 are unaligned, then compare bytes. */
+ if (!UNALIGNED (s1, s2))
+ {
+ /* If s1 and s2 are word-aligned, compare them a word at a time. */
+ a1 = (unsigned long*)s1;
+ a2 = (unsigned long*)s2;
+ while (n >= sizeof (long) && *a1 == *a2)
+ {
+ n -= sizeof (long);
+
+ /* If we've run out of bytes or hit a null, return zero
+ since we already know *a1 == *a2. */
+ if (n == 0 || DETECTNULL (*a1))
+ return 0;
+
+ a1++;
+ a2++;
+ }
+
+ /* A difference was detected in last few bytes of s1, so search bytewise */
+ s1 = (char*)a1;
+ s2 = (char*)a2;
+ }
+
+ while (n-- > 0 && *s1 == *s2)
+ {
+ /* If we've run out of bytes or hit a null, return zero
+ since we already know *s1 == *s2. */
+ if (n == 0 || *s1 == '\0')
+ return 0;
+ s1++;
+ s2++;
+ }
+ return (*(unsigned char *) s1) - (*(unsigned char *) s2);
+#endif /* not PREFER_SIZE_OVER_SPEED */
+}
diff --git a/newlib/libc/string/strncpy.c b/newlib/libc/string/strncpy.c
new file mode 100644
index 00000000000..7c1973ba668
--- /dev/null
+++ b/newlib/libc/string/strncpy.c
@@ -0,0 +1,125 @@
+/*
+FUNCTION
+ <<strncpy>>---counted copy string
+
+INDEX
+ strncpy
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ char *strncpy(char *<[dst]>, const char *<[src]>, size_t <[length]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ char *strncpy(<[dst]>, <[src]>, <[length]>)
+ char *<[dst]>;
+ char *<[src]>;
+ size_t <[length]>;
+
+DESCRIPTION
+ <<strncpy>> copies not more than <[length]> characters from the
+ the string pointed to by <[src]> (including the terminating
+ null character) to the array pointed to by <[dst]>. If the
+ string pointed to by <[src]> is shorter than <[length]>
+ characters, null characters are appended to the destination
+ array until a total of <[length]> characters have been
+ written.
+
+RETURNS
+ This function returns the initial value of <[dst]>.
+
+PORTABILITY
+<<strncpy>> is ANSI C.
+
+<<strncpy>> requires no supporting OS subroutines.
+
+QUICKREF
+ strncpy ansi pure
+*/
+
+#include <string.h>
+#include <limits.h>
+
+/*SUPPRESS 560*/
+/*SUPPRESS 530*/
+
+/* Nonzero if either X or Y is not aligned on a "long" boundary. */
+#define UNALIGNED(X, Y) \
+ (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1)))
+
+#if LONG_MAX == 2147483647L
+#define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080)
+#else
+#if LONG_MAX == 9223372036854775807L
+/* Nonzero if X (a long int) contains a NULL byte. */
+#define DETECTNULL(X) (((X) - 0x0101010101010101) & ~(X) & 0x8080808080808080)
+#else
+#error long int is not a 32bit or 64bit type.
+#endif
+#endif
+
+#ifndef DETECTNULL
+#error long int is not a 32bit or 64bit byte
+#endif
+
+#define TOO_SMALL(LEN) ((LEN) < sizeof (long))
+
+char *
+_DEFUN (strncpy, (dst0, src0),
+ char *dst0 _AND
+ _CONST char *src0 _AND
+ size_t count)
+{
+#if defined(PREFER_SIZE_OVER_SPEED) || defined(__OPTIMIZE_SIZE__)
+ char *dscan;
+ _CONST char *sscan;
+
+ dscan = dst0;
+ sscan = src0;
+ while (count > 0)
+ {
+ --count;
+ if ((*dscan++ = *sscan++) == '\0')
+ break;
+ }
+ while (count-- > 0)
+ *dscan++ = '\0';
+
+ return dst0;
+#else
+ char *dst = dst0;
+ _CONST char *src = src0;
+ long *aligned_dst;
+ _CONST long *aligned_src;
+
+ /* If SRC and DEST is aligned and count large enough, then copy words. */
+ if (!UNALIGNED (src, dst) && !TOO_SMALL (count))
+ {
+ aligned_dst = (long*)dst;
+ aligned_src = (long*)src;
+
+ /* SRC and DEST are both "long int" aligned, try to do "long int"
+ sized copies. */
+ while (count >= sizeof (long int) && !DETECTNULL(*aligned_src))
+ {
+ count -= sizeof (long int);
+ *aligned_dst++ = *aligned_src++;
+ }
+
+ dst = (char*)aligned_dst;
+ src = (char*)aligned_src;
+ }
+
+ while (count > 0)
+ {
+ --count;
+ if ((*dst++ = *src++) == '\0')
+ break;
+ }
+
+ while (count-- > 0)
+ *dst++ = '\0';
+
+ return dst0;
+#endif /* not PREFER_SIZE_OVER_SPEED */
+}
diff --git a/newlib/libc/string/strpbrk.c b/newlib/libc/string/strpbrk.c
new file mode 100644
index 00000000000..e7f2dd2b6ee
--- /dev/null
+++ b/newlib/libc/string/strpbrk.c
@@ -0,0 +1,58 @@
+/*
+FUNCTION
+ <<strpbrk>>---find chars in string
+
+INDEX
+ strpbrk
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ char *strpbrk(const char *<[s1]>, const char *<[s2]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ char *strpbrk(<[s1]>, <[s2]>)
+ char *<[s1]>;
+ char *<[s2]>;
+
+DESCRIPTION
+ This function locates the first occurence in the string
+ pointed to by <[s1]> of any character in string pointed to by
+ <[s2]> (excluding the terminating null character).
+
+RETURNS
+ <<strpbrk>> returns a pointer to the character found in <[s1]>, or a
+ null pointer if no character from <[s2]> occurs in <[s1]>.
+
+PORTABILITY
+<<strpbrk>> requires no supporting OS subroutines.
+*/
+
+#include <string.h>
+
+char *
+_DEFUN (strpbrk, (s1, s2),
+ _CONST char *s1 _AND
+ _CONST char *s2)
+{
+ _CONST char *c = s2;
+ if (!*s1)
+ return (char *) NULL;
+
+ while (*s1)
+ {
+ for (c = s2; *c; c++)
+ {
+ if (*s1 == *c)
+ break;
+ }
+ if (*c)
+ break;
+ s1++;
+ }
+
+ if (*c == '\0')
+ s1 = NULL;
+
+ return (char *) s1;
+}
diff --git a/newlib/libc/string/strrchr.c b/newlib/libc/string/strrchr.c
new file mode 100644
index 00000000000..65160f55eed
--- /dev/null
+++ b/newlib/libc/string/strrchr.c
@@ -0,0 +1,61 @@
+/*
+FUNCTION
+ <<strrchr>>---reverse search for character in string
+
+INDEX
+ strrchr
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ char * strrchr(const char *<[string]>, int <[c]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ char * strrchr(<[string]>, <[c]>);
+ char *<[string]>;
+ int *<[c]>;
+
+DESCRIPTION
+ This function finds the last occurence of <[c]> (converted to
+ a char) in the string pointed to by <[string]> (including the
+ terminating null character).
+
+RETURNS
+ Returns a pointer to the located character, or a null pointer
+ if <[c]> does not occur in <[string]>.
+
+PORTABILITY
+<<strrchr>> is ANSI C.
+
+<<strrchr>> requires no supporting OS subroutines.
+
+QUICKREF
+ strrchr ansi pure
+*/
+
+#include <string.h>
+
+char *
+_DEFUN (strrchr, (s, i),
+ _CONST char *s _AND
+ int i)
+{
+ _CONST char *last = NULL;
+ char c = i;
+
+ while (*s)
+ {
+ if (*s == c)
+ {
+ last = s;
+ }
+ s++;
+ }
+
+ if (*s == c)
+ {
+ last = s;
+ }
+
+ return (char *) last;
+}
diff --git a/newlib/libc/string/strspn.c b/newlib/libc/string/strspn.c
new file mode 100644
index 00000000000..32b921b109f
--- /dev/null
+++ b/newlib/libc/string/strspn.c
@@ -0,0 +1,59 @@
+/*
+FUNCTION
+ <<strspn>>---find initial match
+
+INDEX
+ strspn
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ size_t strspn(const char *<[s1]>, const char *<[s2]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ size_t strspn(<[s1]>, <[s2]>)
+ char *<[s1]>;
+ char *<[s2]>;
+
+DESCRIPTION
+ This function computes the length of the initial segment of
+ the string pointed to by <[s1]> which consists entirely of
+ characters from the string pointed to by <[s2]> (excluding the
+ terminating null character).
+
+RETURNS
+ <<strspn>> returns the length of the segment found.
+
+PORTABILITY
+<<strspn>> is ANSI C.
+
+<<strspn>> requires no supporting OS subroutines.
+
+QUICKREF
+ strspn ansi pure
+*/
+
+#include <string.h>
+
+size_t
+_DEFUN (strspn, (s1, s2),
+ _CONST char *s1 _AND
+ _CONST char *s2)
+{
+ _CONST char *s = s1;
+ _CONST char *c;
+
+ while (*s1)
+ {
+ for (c = s2; *c; c++)
+ {
+ if (*s1 == *c)
+ break;
+ }
+ if (*c == '\0')
+ break;
+ s1++;
+ }
+
+ return s1 - s;
+}
diff --git a/newlib/libc/string/strstr.c b/newlib/libc/string/strstr.c
new file mode 100644
index 00000000000..dddced3b2ec
--- /dev/null
+++ b/newlib/libc/string/strstr.c
@@ -0,0 +1,73 @@
+/*
+FUNCTION
+ <<strstr>>---find string segment
+
+INDEX
+ strstr
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ char *strstr(const char *<[s1]>, const char *<[s2]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ char *strstr(<[s1]>, <[s2]>)
+ char *<[s1]>;
+ char *<[s2]>;
+
+DESCRIPTION
+ Locates the first occurence in the string pointed to by <[s1]> of
+ the sequence of characters in the string pointed to by <[s2]>
+ (excluding the terminating null character).
+
+RETURNS
+ Returns a pointer to the located string segment, or a null
+ pointer if the string <[s2]> is not found. If <[s2]> points to
+ a string with zero length, the <[s1]> is returned.
+
+PORTABILITY
+<<strstr>> is ANSI C.
+
+<<strstr>> requires no supporting OS subroutines.
+
+QUICKREF
+ strstr ansi pure
+*/
+
+#include <string.h>
+
+char *
+_DEFUN (strstr, (searchee, lookfor),
+ _CONST char *searchee _AND
+ _CONST char *lookfor)
+{
+ if (*searchee == 0)
+ {
+ if (*lookfor)
+ return (char *) NULL;
+ return (char *) searchee;
+ }
+
+ while (*searchee)
+ {
+ size_t i;
+ i = 0;
+
+ while (1)
+ {
+ if (lookfor[i] == 0)
+ {
+ return (char *) searchee;
+ }
+
+ if (lookfor[i] != searchee[i])
+ {
+ break;
+ }
+ i++;
+ }
+ searchee++;
+ }
+
+ return (char *) NULL;
+}
diff --git a/newlib/libc/string/strtok.c b/newlib/libc/string/strtok.c
new file mode 100644
index 00000000000..bc11f0df779
--- /dev/null
+++ b/newlib/libc/string/strtok.c
@@ -0,0 +1,76 @@
+/*
+FUNCTION
+ <<strtok>>---get next token from a string
+
+INDEX
+ strtok
+
+INDEX
+ strtok_r
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ char *strtok(char *<[source]>, const char *<[delimiters]>)
+ char *strtok_r(char *<[source]>, const char *<[delimiters]>,
+ char **<[lasts]>)
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ char *strtok(<[source]>, <[delimiters]>)
+ char *<[source]>;
+ char *<[delimiters]>;
+
+ char *strtok_r(<[source]>, <[delimiters]>, <[lasts]>)
+ char *<[source]>;
+ char *<[delimiters]>;
+ char **<[lasts]>;
+
+DESCRIPTION
+ The <<strtok>> function is used to isolate sequential tokens in a
+ null-terminated string, <<*<[source]>>>. These tokens are delimited
+ in the string by at least one of the characters in <<*<[delimiters]>>>.
+ The first time that <<strtok>> is called, <<*<[source]>>> should be
+ specified; subsequent calls, wishing to obtain further tokens from
+ the same string, should pass a null pointer instead. The separator
+ string, <<*<[delimiters]>>>, must be supplied each time, and may
+ change between calls.
+
+ The <<strtok>> function returns a pointer to the beginning of each
+ subsequent token in the string, after replacing the separator
+ character itself with a NUL character. When no more tokens remain,
+ a null pointer is returned.
+
+ The <<strtok_r>> function has the same behavior as <<strtok>>, except
+ a pointer to placeholder <<*[lasts]>> must be supplied by the caller.
+
+RETURNS
+ <<strtok>> returns a pointer to the next token, or <<NULL>> if
+ no more tokens can be found.
+
+NOTES
+ <<strtok>> is unsafe for multi-thread applications. <<strtok_r>>
+ is MT-Safe and should be used instead.
+
+PORTABILITY
+<<strtok>> is ANSI C.
+
+<<strtok>> requires no supporting OS subroutines.
+
+QUICKREF
+ strtok ansi impure
+*/
+
+#include <string.h>
+#include <_ansi.h>
+#include <reent.h>
+
+#ifndef _REENT_ONLY
+
+char *
+_DEFUN (strtok, (s, delim),
+ register char *s _AND
+ register const char *delim)
+{
+ return strtok_r (s, delim, &(_REENT->_new._reent._strtok_last));
+}
+#endif
diff --git a/newlib/libc/string/strtok_r.c b/newlib/libc/string/strtok_r.c
new file mode 100644
index 00000000000..ed323369e79
--- /dev/null
+++ b/newlib/libc/string/strtok_r.c
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 1988 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <string.h>
+
+char *
+_DEFUN (strtok_r, (s, delim, lasts),
+ register char *s _AND
+ register const char *delim _AND
+ char **lasts)
+{
+ register char *spanp;
+ register int c, sc;
+ char *tok;
+
+
+ if (s == NULL && (s = *lasts) == NULL)
+ return (NULL);
+
+ /*
+ * Skip (span) leading delimiters (s += strspn(s, delim), sort of).
+ */
+cont:
+ c = *s++;
+ for (spanp = (char *)delim; (sc = *spanp++) != 0;) {
+ if (c == sc)
+ goto cont;
+ }
+
+ if (c == 0) { /* no non-delimiter characters */
+ *lasts = NULL;
+ return (NULL);
+ }
+ tok = s - 1;
+
+ /*
+ * Scan token (scan for delimiters: s += strcspn(s, delim), sort of).
+ * Note that delim must have one NUL; we stop if we see that, too.
+ */
+ for (;;) {
+ c = *s++;
+ spanp = (char *)delim;
+ do {
+ if ((sc = *spanp++) == c) {
+ if (c == 0)
+ s = NULL;
+ else
+ s[-1] = 0;
+ *lasts = s;
+ return (tok);
+ }
+ } while (sc != 0);
+ }
+ /* NOTREACHED */
+}
diff --git a/newlib/libc/string/strupr.c b/newlib/libc/string/strupr.c
new file mode 100644
index 00000000000..d7f7c129d55
--- /dev/null
+++ b/newlib/libc/string/strupr.c
@@ -0,0 +1,49 @@
+/*
+FUNCTION
+ <<strupr>>---force string to uppercase
+
+INDEX
+ strupr
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ char *strupr(char *<[a]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ char *strupr(<[a]>)
+ char *<[a]>;
+
+DESCRIPTION
+ <<strupr>> converts each characters in the string at <[a]> to
+ upper case.
+
+RETURNS
+ <<strupr>> returns its argument, <[a]>.
+
+PORTABILITY
+<<strupr>> is not widely portable.
+
+<<strupr>> requires no supporting OS subroutines.
+
+QUICKREF
+ strupr */
+
+#include <string.h>
+#include <ctype.h>
+
+char *
+strupr (a)
+ char *a;
+{
+ char *ret = a;
+
+ while (*a != '\0')
+ {
+ if (islower (*a))
+ *a = toupper (*a);
+ ++a;
+ }
+
+ return ret;
+}
diff --git a/newlib/libc/string/strxfrm.c b/newlib/libc/string/strxfrm.c
new file mode 100644
index 00000000000..65ed4f1b120
--- /dev/null
+++ b/newlib/libc/string/strxfrm.c
@@ -0,0 +1,75 @@
+/*
+FUNCTION
+ <<strxfrm>>---transform string
+
+INDEX
+ strxfrm
+
+ANSI_SYNOPSIS
+ #include <string.h>
+ size_t strxfrm(char *<[s1]>, const char *<[s2]>, size_t <[n]>);
+
+TRAD_SYNOPSIS
+ #include <string.h>
+ size_t strxfrm(<[s1]>, <[s2]>, <[n]>);
+ char *<[s1]>;
+ char *<[s2]>;
+ size_t <[n]>;
+
+DESCRIPTION
+ This function transforms the string pointed to by <[s2]> and
+ places the resulting string into the array pointed to by
+ <[s1]>. The transformation is such that if the <<strcmp>>
+ function is applied to the two transformed strings, it returns
+ a value greater than, equal to, or less than zero,
+ correspoinding to the result of a <<strcoll>> function applied
+ to the same two original strings.
+
+ No more than <[n]> characters are placed into the resulting
+ array pointed to by <[s1]>, including the terminating null
+ character. If <[n]> is zero, <[s1]> may be a null pointer. If
+ copying takes place between objects that overlap, the behavior
+ is undefined.
+
+ With a C locale, this function just copies.
+
+RETURNS
+ The <<strxfrm>> function returns the length of the transformed string
+ (not including the terminating null character). If the value returned
+ is <[n]> or more, the contents of the array pointed to by
+ <[s1]> are indeterminate.
+
+PORTABILITY
+<<strxfrm>> is ANSI C.
+
+<<strxfrm>> requires no supporting OS subroutines.
+
+QUICKREF
+ strxfrm ansi pure
+*/
+
+#include <string.h>
+
+size_t
+_DEFUN (strxfrm, (s1, s2, n),
+ char *s1 _AND
+ _CONST char *s2 _AND
+ size_t n)
+{
+ size_t res;
+ res = 0;
+ while (n-- > 0)
+ {
+ if ((*s1++ = *s2++) != '\0')
+ ++res;
+ else
+ return res;
+ }
+ while (*s2)
+ {
+ ++s2;
+ ++res;
+ }
+
+ return res;
+}
diff --git a/newlib/libc/string/u_strerr.c b/newlib/libc/string/u_strerr.c
new file mode 100644
index 00000000000..fa4605c8b8d
--- /dev/null
+++ b/newlib/libc/string/u_strerr.c
@@ -0,0 +1,8 @@
+#include <_ansi.h>
+
+char *
+_DEFUN(_user_strerror, (errnum),
+ int errnum)
+{
+ return 0;
+}
diff --git a/newlib/libc/sys.tex b/newlib/libc/sys.tex
new file mode 100644
index 00000000000..44b608b9cd8
--- /dev/null
+++ b/newlib/libc/sys.tex
@@ -0,0 +1,436 @@
+@c -*- Texinfo -*-
+@node Syscalls
+@chapter System Calls
+
+@cindex linking the C library
+The C subroutine library depends on a handful of subroutine calls for
+operating system services. If you use the C library on a system that
+complies with the POSIX.1 standard (also known as IEEE 1003.1), most of
+these subroutines are supplied with your operating system.
+
+If some of these subroutines are not provided with your system---in
+the extreme case, if you are developing software for a ``bare board''
+system, without an OS---you will at least need to provide do-nothing
+stubs (or subroutines with minimal functionality) to allow your
+programs to link with the subroutines in @code{libc.a}.
+
+@menu
+* Stubs:: Definitions for OS interface
+* Reentrant Syscalls:: Reentrant covers for OS subroutines
+@end menu
+
+@node Stubs
+@section Definitions for OS interface
+@cindex stubs
+
+@cindex subroutines for OS interface
+@cindex OS interface subroutines
+This is the complete set of system definitions (primarily subroutines)
+required; the examples shown implement the minimal functionality
+required to allow @code{libc} to link, and fail gracefully where OS
+services are not available.
+
+Graceful failure is permitted by returning an error code. A minor
+complication arises here: the C library must be compatible with
+development environments that supply fully functional versions of these
+subroutines. Such environments usually return error codes in a global
+@code{errno}. However, the Cygnus C library provides a @emph{macro}
+definition for @code{errno} in the header file @file{errno.h}, as part
+of its support for reentrant routines (@pxref{Reentrancy,,Reentrancy}).
+
+@cindex @code{errno} global vs macro
+The bridge between these two interpretations of @code{errno} is
+straightforward: the C library routines with OS interface calls
+capture the @code{errno} values returned globally, and record them in
+the appropriate field of the reentrancy structure (so that you can query
+them using the @code{errno} macro from @file{errno.h}).
+
+This mechanism becomes visible when you write stub routines for OS
+interfaces. You must include @file{errno.h}, then disable the macro,
+like this:
+
+@example
+#include <errno.h>
+#undef errno
+extern int errno;
+@end example
+
+@noindent
+The examples in this chapter include this treatment of @code{errno}.
+
+@ftable @code
+@item _exit
+Exit a program without cleaning up files. If your system doesn't
+provide this, it is best to avoid linking with subroutines that require
+it (@code{exit}, @code{system}).
+
+@item close
+Close a file. Minimal implementation:
+
+@example
+int close(int file)@{
+ return -1;
+@}
+@end example
+
+@item environ
+A pointer to a list of environment variables and their values. For a
+minimal environment, this empty list is adequate:
+
+@example
+char *__env[1] = @{ 0 @};
+char **environ = __env;
+@end example
+
+@item execve
+Transfer control to a new process. Minimal implementation (for a system
+without processes):
+
+@example
+#include <errno.h>
+#undef errno
+extern int errno;
+int execve(char *name, char **argv, char **env)@{
+ errno=ENOMEM;
+ return -1;
+@}
+@end example
+
+@item fork
+Create a new process. Minimal implementation (for a system without processes):
+
+@example
+#include <errno.h>
+#undef errno
+extern int errno;
+int fork() @{
+ errno=EAGAIN;
+ return -1;
+@}
+@end example
+
+@item fstat
+Status of an open file. For consistency with other minimal
+implementations in these examples, all files are regarded as character
+special devices. The @file{sys/stat.h} header file required is
+distributed in the @file{include} subdirectory for this C library.
+
+@example
+#include <sys/stat.h>
+int fstat(int file, struct stat *st) @{
+ st->st_mode = S_IFCHR;
+ return 0;
+@}
+@end example
+
+@item getpid
+Process-ID; this is sometimes used to generate strings unlikely to
+conflict with other processes. Minimal implementation, for a system
+without processes:
+
+@example
+int getpid() @{
+ return 1;
+@}
+@end example
+
+@item isatty
+Query whether output stream is a terminal. For consistency with the
+other minimal implementations, which only support output to
+@code{stdout}, this minimal implementation is suggested:
+
+@example
+int isatty(int file)@{
+ return 1;
+@}
+@end example
+
+@item kill
+Send a signal. Minimal implementation:
+
+@example
+#include <errno.h>
+#undef errno
+extern int errno;
+int kill(int pid, int sig)@{
+ errno=EINVAL;
+ return(-1);
+@}
+@end example
+
+@item link
+Establish a new name for an existing file. Minimal implementation:
+
+@example
+#include <errno.h>
+#undef errno
+extern int errno;
+int link(char *old, char *new)@{
+ errno=EMLINK;
+ return -1;
+@}
+@end example
+
+@item lseek
+Set position in a file. Minimal implementation:
+
+@example
+int lseek(int file, int ptr, int dir)@{
+ return 0;
+@}
+@end example
+
+@c FIXME! Why no stub for open?
+
+@item read
+Read from a file. Minimal implementation:
+
+@example
+int read(int file, char *ptr, int len)@{
+ return 0;
+@}
+@end example
+
+@item sbrk
+Increase program data space. As @code{malloc} and related functions
+depend on this, it is useful to have a working implementation. The
+following suffices for a standalone system; it exploits the symbol
+@code{end} automatically defined by the GNU linker.
+
+@example
+@group
+caddr_t sbrk(int incr)@{
+ extern char end; /* @r{Defined by the linker} */
+ static char *heap_end;
+ char *prev_heap_end;
+
+ if (heap_end == 0) @{
+ heap_end = &end;
+ @}
+ prev_heap_end = heap_end;
+ if (heap_end + incr > stack_ptr)
+ @{
+ _write (1, "Heap and stack collision\n", 25);
+ abort ();
+ @}
+
+ heap_end += incr;
+ return (caddr_t) prev_heap_end;
+@}
+@end group
+@end example
+
+@item stat
+Status of a file (by name). Minimal implementation:
+
+@example
+int stat(char *file, struct stat *st) @{
+ st->st_mode = S_IFCHR;
+ return 0;
+@}
+@end example
+
+@item times
+Timing information for current process. Minimal implementation:
+
+@example
+int times(struct tms *buf)@{
+ return -1;
+@}
+@end example
+
+@item unlink
+Remove a file's directory entry. Minimal implementation:
+
+@example
+#include <errno.h>
+#undef errno
+extern int errno;
+int unlink(char *name)@{
+ errno=ENOENT;
+ return -1;
+@}
+@end example
+
+@item wait
+Wait for a child process. Minimal implementation:
+@example
+#include <errno.h>
+#undef errno
+extern int errno;
+int wait(int *status) @{
+ errno=ECHILD;
+ return -1;
+@}
+@end example
+
+@item write
+Write a character to a file. @file{libc} subroutines will use this
+system routine for output to all files, @emph{including}
+@code{stdout}---so if you need to generate any output, for example to a
+serial port for debugging, you should make your minimal @code{write}
+capable of doing this. The following minimal implementation is an
+incomplete example; it relies on a @code{writechar} subroutine (not
+shown; typically, you must write this in assembler from examples
+provided by your hardware manufacturer) to actually perform the output.
+
+@example
+@group
+int write(int file, char *ptr, int len)@{
+ int todo;
+
+ for (todo = 0; todo < len; todo++) @{
+ writechar(*ptr++);
+ @}
+ return len;
+@}
+@end group
+@end example
+
+@end ftable
+
+@page
+@node Reentrant Syscalls
+@section Reentrant covers for OS subroutines
+
+Since the system subroutines are used by other library routines that
+require reentrancy, @file{libc.a} provides cover routines (for example,
+the reentrant version of @code{fork} is @code{_fork_r}). These cover
+routines are consistent with the other reentrant subroutines in this
+library, and achieve reentrancy by using a reserved global data block
+(@pxref{Reentrancy,,Reentrancy}).
+
+@c FIXME!!! The following ignored text specifies how this section ought
+@c to work; however, both standalone info and Emacs info mode fail when
+@c confronted with nodes beginning `_' as of 24may93. Restore when Info
+@c readers fixed!
+@ignore
+@menu
+* _open_r:: Reentrant version of open
+* _close_r:: Reentrant version of close
+* _lseek_r:: Reentrant version of lseek
+* _read_r:: Reentrant version of read
+* _write_r:: Reentrant version of write
+* _link_r:: Reentrant version of link
+* _unlink_r:: Reentrant version of unlink
+* _stat_r:: Reentrant version of stat
+* _fstat_r:: Reentrant version of fstat
+* _sbrk_r:: Reentrant version of sbrk
+* _fork_r:: Reentrant version of fork
+* _wait_r:: Reentrant version of wait
+@end menu
+
+@down
+@include reent/filer.def
+@include reent/execr.def
+@include reent/statr.def
+@include reent/fstatr.def
+@include reent/linkr.def
+@include reent/sbrkr.def
+@up
+@end ignore
+
+@ftable @code
+@item _open_r
+A reentrant version of @code{open}. It takes a pointer
+to the global data block, which holds @code{errno}.
+
+@example
+int _open_r(void *@var{reent},
+ const char *@var{file}, int @var{flags}, int @var{mode});
+@end example
+
+@item _close_r
+A reentrant version of @code{close}. It takes a pointer to the global
+data block, which holds @code{errno}.
+
+@example
+int _close_r(void *@var{reent}, int @var{fd});
+@end example
+
+@item _lseek_r
+A reentrant version of @code{lseek}. It takes a pointer to the global
+data block, which holds @code{errno}.
+
+@example
+off_t _lseek_r(void *@var{reent},
+ int @var{fd}, off_t @var{pos}, int @var{whence});
+@end example
+
+@item _read_r
+A reentrant version of @code{read}. It takes a pointer to the global
+data block, which holds @code{errno}.
+
+@example
+long _read_r(void *@var{reent},
+ int @var{fd}, void *@var{buf}, size_t @var{cnt});
+@end example
+
+@item _write_r
+A reentrant version of @code{write}. It takes a pointer to the global
+data block, which holds @code{errno}.
+
+@example
+long _write_r(void *@var{reent},
+ int @var{fd}, const void *@var{buf}, size_t @var{cnt});
+@end example
+
+@item _fork_r
+A reentrant version of @code{fork}. It takes a pointer to the global
+data block, which holds @code{errno}.
+
+@example
+int _fork_r(void *@var{reent});
+@end example
+
+@item _wait_r
+A reentrant version of @code{wait}. It takes a pointer to the global
+data block, which holds @code{errno}.
+
+@example
+int _wait_r(void *@var{reent}, int *@var{status});
+@end example
+
+@item _stat_r
+A reentrant version of @code{stat}. It takes a pointer to the global
+data block, which holds @code{errno}.
+
+@example
+int _stat_r(void *@var{reent},
+ const char *@var{file}, struct stat *@var{pstat});
+@end example
+
+@item _fstat_r
+A reentrant version of @code{fstat}. It takes a pointer to the global
+data block, which holds @code{errno}.
+
+@example
+int _fstat_r(void *@var{reent},
+ int @var{fd}, struct stat *@var{pstat});
+@end example
+
+@item _link_r
+A reentrant version of @code{link}. It takes a pointer to the global
+data block, which holds @code{errno}.
+
+@example
+int _link_r(void *@var{reent},
+ const char *@var{old}, const char *@var{new});
+@end example
+
+@item _unlink_r
+A reentrant version of @code{unlink}. It takes a pointer to the global
+data block, which holds @code{errno}.
+
+@example
+int _unlink_r(void *@var{reent}, const char *@var{file});
+@end example
+
+@item _sbrk_r
+A reentrant version of @code{sbrk}. It takes a pointer to the global
+data block, which holds @code{errno}.
+
+@example
+char *_sbrk_r(void *@var{reent}, size_t @var{incr});
+@end example
+@end ftable
diff --git a/newlib/libc/sys/Makefile.am b/newlib/libc/sys/Makefile.am
new file mode 100644
index 00000000000..a3c57d1018c
--- /dev/null
+++ b/newlib/libc/sys/Makefile.am
@@ -0,0 +1,33 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+SUBDIRS = $(sys_dir) .
+
+if HAVE_SYS_DIR
+SYSLIB = lib.a
+endif
+
+noinst_LIBRARIES = $(SYSLIB)
+noinst_DATA = $(CRT0)
+
+lib.a: $(sys_dir)/lib.a
+ rm -f $@
+ ln $(sys_dir)/lib.a $@ >/dev/null 2>/dev/null \
+ || cp $(sys_dir)/lib.a $@
+
+$(sys_dir)/lib.a: ; @true
+
+crt0.o: $(sys_dir)/crt0.o
+ rm -f $@
+ ln $(sys_dir)/crt0.o $@ >/dev/null 2>/dev/null \
+ || cp $(sys_dir)/crt0.o $@
+
+$(sys_dir)/crt0.o: ; @true
+
+CLEANFILES = crt0.o
+
+doc:
+
+ACLOCAL_AMFLAGS = -I ../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/Makefile.in b/newlib/libc/sys/Makefile.in
new file mode 100644
index 00000000000..122b208b14f
--- /dev/null
+++ b/newlib/libc/sys/Makefile.in
@@ -0,0 +1,415 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+CRT0 = @CRT0@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+SUBDIRS = $(sys_dir) .
+
+@HAVE_SYS_DIR_TRUE@SYSLIB = \
+@HAVE_SYS_DIR_TRUE@lib.a
+
+noinst_LIBRARIES = $(SYSLIB)
+noinst_DATA = $(CRT0)
+
+CLEANFILES = crt0.o
+
+ACLOCAL_AMFLAGS = -I ../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_SOURCES = lib.a.c
+lib_a_OBJECTS = lib.a.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DATA = $(noinst_DATA)
+
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+SOURCES = lib.a.c
+OBJECTS = lib.a.o
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in ../../acinclude.m4 \
+ ../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+
+@SET_MAKE@
+
+all-recursive install-data-recursive install-exec-recursive \
+installdirs-recursive install-recursive uninstall-recursive install-info-recursive \
+check-recursive installcheck-recursive info-recursive dvi-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
+ rev="$$subdir $$rev"; \
+ test "$$subdir" = "." && dot_seen=yes; \
+ done; \
+ test "$$dot_seen" = "no" && rev=". $$rev"; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @banner="$(distdir).tar.gz is ready for distribution"; \
+ dashes=`echo "$$banner" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ echo "$$dashes"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+ for subdir in $(SUBDIRS); do \
+ if test "$$subdir" = .; then :; else \
+ test -d $(distdir)/$$subdir \
+ || mkdir $(distdir)/$$subdir \
+ || exit 1; \
+ chmod 777 $(distdir)/$$subdir; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
+ || exit 1; \
+ fi; \
+ done
+info-am:
+info: info-recursive
+dvi-am:
+dvi: dvi-recursive
+check-am:
+check: check-recursive
+installcheck-am:
+installcheck: installcheck-recursive
+install-info-am:
+install-info: install-info-recursive
+install-exec-am:
+install-exec: install-exec-recursive
+
+install-data-am:
+install-data: install-data-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-recursive
+uninstall-am:
+uninstall: uninstall-recursive
+all-am: Makefile $(LIBRARIES) $(DATA)
+all-redirect: all-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs: installdirs-recursive
+installdirs-am:
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-recursive
+
+clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean-am
+
+clean: clean-recursive
+
+distclean-am: distclean-noinstLIBRARIES distclean-compile \
+ distclean-tags distclean-generic clean-am
+
+distclean: distclean-recursive
+ -rm -f config.status
+
+maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile install-data-recursive \
+uninstall-data-recursive install-exec-recursive \
+uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
+all-recursive check-recursive installcheck-recursive info-recursive \
+dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-info-am \
+install-info install-exec-am install-exec install-data-am install-data \
+install-am install uninstall-am uninstall all-redirect all-am all \
+installdirs-am installdirs mostlyclean-generic distclean-generic \
+clean-generic maintainer-clean-generic clean mostlyclean distclean \
+maintainer-clean
+
+
+lib.a: $(sys_dir)/lib.a
+ rm -f $@
+ ln $(sys_dir)/lib.a $@ >/dev/null 2>/dev/null \
+ || cp $(sys_dir)/lib.a $@
+
+$(sys_dir)/lib.a: ; @true
+
+crt0.o: $(sys_dir)/crt0.o
+ rm -f $@
+ ln $(sys_dir)/crt0.o $@ >/dev/null 2>/dev/null \
+ || cp $(sys_dir)/crt0.o $@
+
+$(sys_dir)/crt0.o: ; @true
+
+doc:
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/sys/a29khif/Makefile.am b/newlib/libc/sys/a29khif/Makefile.am
new file mode 100644
index 00000000000..48f389695ae
--- /dev/null
+++ b/newlib/libc/sys/a29khif/Makefile.am
@@ -0,0 +1,48 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ _alloc.s \
+ _close.s \
+ _cycles.s \
+ _exit.s \
+ _getpsiz.s \
+ _gettz.s \
+ _ioctl.s \
+ _iostat.s \
+ _iowait.s \
+ _lseek.s \
+ _open.s \
+ _query.s \
+ _read.s \
+ _setim.s \
+ _settrap.s \
+ _setvec.s \
+ _tmpnam.s \
+ _write.s \
+ alloc.s \
+ clock.s \
+ getargs.s \
+ getenv.s \
+ read.s \
+ remove.s \
+ rename.s \
+ signal.s \
+ _sbrk.s \
+ _fstat.s \
+ _isatty.s \
+ systime.s \
+ vec.s \
+ kill.c \
+ getpid.c \
+ stubs.s
+
+all: crt0.o
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/a29khif/Makefile.in b/newlib/libc/sys/a29khif/Makefile.in
new file mode 100644
index 00000000000..027a83098d2
--- /dev/null
+++ b/newlib/libc/sys/a29khif/Makefile.in
@@ -0,0 +1,337 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ _alloc.s \
+ _close.s \
+ _cycles.s \
+ _exit.s \
+ _getpsiz.s \
+ _gettz.s \
+ _ioctl.s \
+ _iostat.s \
+ _iowait.s \
+ _lseek.s \
+ _open.s \
+ _query.s \
+ _read.s \
+ _setim.s \
+ _settrap.s \
+ _setvec.s \
+ _tmpnam.s \
+ _write.s \
+ alloc.s \
+ clock.s \
+ getargs.s \
+ getenv.s \
+ read.s \
+ remove.s \
+ rename.s \
+ signal.s \
+ _sbrk.s \
+ _fstat.s \
+ _isatty.s \
+ systime.s \
+ vec.s \
+ kill.c \
+ getpid.c \
+ stubs.s
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = _alloc.o _close.o _cycles.o _exit.o _getpsiz.o _gettz.o \
+_ioctl.o _iostat.o _iowait.o _lseek.o _open.o _query.o _read.o _setim.o \
+_settrap.o _setvec.o _tmpnam.o _write.o alloc.o clock.o getargs.o \
+getenv.o read.o remove.o rename.o signal.o _sbrk.o _fstat.o _isatty.o \
+systime.o vec.o kill.o getpid.o stubs.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+all: crt0.o
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/sys/a29khif/_alloc.s b/newlib/libc/sys/a29khif/_alloc.s
new file mode 100644
index 00000000000..ecdd1ddb126
--- /dev/null
+++ b/newlib/libc/sys/a29khif/_alloc.s
@@ -0,0 +1,55 @@
+; @(#)_alloc.s 1.4 90/10/14 21:57:19, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1989, 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;
+; 07/06/89 (JS) Replaced call to const tav,HIF_macro @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1 to syscall macro,
+; and deleted call to reterr macro as a NULL needs to be
+; returned on failure.
+; _alloc.s
+; void *vp = _sysalloc( int size );
+;
+ .file "_alloc.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00030000 ; Debugger tag word
+ .global __sysalloc
+__sysalloc:
+ const tav,HIF_alloc @ asneq V_SYSCALL,gr1,gr1
+ jmpti tav, lr0
+ const tpc, _errno
+ consth tpc, _errno
+ store 0, 0, tav, tpc
+ jmpi lr0
+ const v0, 0 ; return NULL on error.
+
+;
+; int errret = _sysfree( void *addr, int size );
+;
+ .global __sysfree
+__sysfree:
+ const tav,HIF_free @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+
+ .end
diff --git a/newlib/libc/sys/a29khif/_close.s b/newlib/libc/sys/a29khif/_close.s
new file mode 100644
index 00000000000..04f52ae00de
--- /dev/null
+++ b/newlib/libc/sys/a29khif/_close.s
@@ -0,0 +1,40 @@
+; @(#)_close.s 1.4 90/10/14 21:57:20, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; _close.s
+; int cc = _close( int fd );
+;
+ .file "_close.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00030000 ; Debugger tag word
+ .global __close
+;; syscalls used now -- .global _close
+
+__close:
+;; syscalls used now -- _close:
+ const tav,HIF_close @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+
+ .end
diff --git a/newlib/libc/sys/a29khif/_cycles.s b/newlib/libc/sys/a29khif/_cycles.s
new file mode 100644
index 00000000000..94f9df3b4a1
--- /dev/null
+++ b/newlib/libc/sys/a29khif/_cycles.s
@@ -0,0 +1,39 @@
+; @(#)_cycles.s 1.2 90/10/14 21:57:21, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; _cycles.s
+; struct { unsigned long low_ticks, long hi_ticks } = _cycles( );
+;
+ .file "_cycles.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00020000 ; Debugger tag word
+ .global __cycles
+
+__cycles:
+ const tav,HIF_cycles @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+
+ .end
diff --git a/newlib/libc/sys/a29khif/_exit.s b/newlib/libc/sys/a29khif/_exit.s
new file mode 100644
index 00000000000..65b9b83e3e6
--- /dev/null
+++ b/newlib/libc/sys/a29khif/_exit.s
@@ -0,0 +1,39 @@
+; @(#)_exit.s 1.2 90/10/14 21:57:22, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; _exit.s
+; _exit( int rc );
+;
+ .file "_exit.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00030000 ; Debugger tag word
+ .global __exit
+
+__exit:
+ const tav,HIF_exit @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+
+ .end
diff --git a/newlib/libc/sys/a29khif/_fstat.s b/newlib/libc/sys/a29khif/_fstat.s
new file mode 100644
index 00000000000..0144d76d936
--- /dev/null
+++ b/newlib/libc/sys/a29khif/_fstat.s
@@ -0,0 +1,79 @@
+ .file "_fstat.c"
+ .sect .lit,lit
+gcc2_compiled.:
+ .text
+ .align 4
+ .global __fstat
+;; syscalls used now -- .global _fstat
+ .word 0x40000
+__fstat:
+;; syscalls used now -- _fstat:
+ sub gr1,gr1,32
+ asgeu V_SPILL,gr1,gr126
+ add lr1,gr1,48
+ sll lr5,lr10,0
+ const gr116,__iostat
+ consth gr116,__iostat
+ calli lr0,gr116
+ sll lr2,lr5,0
+ sll lr10,gr96,0
+ jmpt lr10,L8
+ sll gr116,lr10,30
+ jmpf gr116,L3
+ add gr116,lr11,12
+ add gr117,lr11,12
+ const gr116,4096
+ store 0,0,gr116,gr117
+ add gr117,lr11,4
+ const gr116,1
+ jmp L4
+ store 0,0,gr116,gr117
+L3:
+ const gr117,8192
+ store 0,0,gr117,gr116
+ add gr116,lr11,4
+ store 0,0,gr117,gr116
+L4:
+ add gr117,lr11,20
+ const gr116,0
+ store 0,0,gr116,gr117
+ store 0,0,gr116,lr11
+ const gr116,_time
+ consth gr116,_time
+ calli lr0,gr116
+ const lr2,0
+ add gr116,lr11,16
+ store 0,0,gr96,gr116
+ sll lr2,lr5,0
+ const lr3,0
+ const lr7,__lseek
+ consth lr7,__lseek
+ calli lr0,lr7
+ const lr4,1
+ sll lr10,gr96,0
+ constn lr6,65535
+ cpneq gr116,lr10,lr6
+ jmpf gr116,L7
+ sll lr2,lr5,0
+ const lr3,0
+ calli lr0,lr7
+ const lr4,2
+ add gr116,lr11,8
+ store 0,0,gr96,gr116
+ cpneq gr96,gr96,lr6
+ jmpf gr96,L7
+ sll lr2,lr5,0
+ sll lr3,lr10,0
+ calli lr0,lr7
+ const lr4,0
+ cpneq gr96,gr96,lr6
+ jmpt gr96,L8
+ const gr96,0
+L7:
+ constn gr96,65535
+L8:
+ add gr1,gr1,32
+ nop
+ jmpi lr0
+ asleu V_FILL,lr1,gr127
+
diff --git a/newlib/libc/sys/a29khif/_getpsiz.s b/newlib/libc/sys/a29khif/_getpsiz.s
new file mode 100644
index 00000000000..b9949a003fe
--- /dev/null
+++ b/newlib/libc/sys/a29khif/_getpsiz.s
@@ -0,0 +1,38 @@
+; @(#)_getpsiz.s 1.2 90/10/14 21:57:23, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; _getpsiz.s
+; int size = _getpsiz( );
+;
+ .file "_getpsiz.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00020000 ; Debugger tag word
+ .global __getpsiz
+
+__getpsiz:
+ const tav,HIF_getpagesize @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+ .end
diff --git a/newlib/libc/sys/a29khif/_gettz.s b/newlib/libc/sys/a29khif/_gettz.s
new file mode 100644
index 00000000000..36cf1c70276
--- /dev/null
+++ b/newlib/libc/sys/a29khif/_gettz.s
@@ -0,0 +1,39 @@
+; @(#)_gettz.s 2.2 90/10/14 21:57:24, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; _gettz.s
+; _gettz( void );
+;
+ .file "_gettz.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00020000 ; Debugger tag word
+ .global __gettz
+
+__gettz:
+ const tav,HIF_gettz @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+
+ .end
diff --git a/newlib/libc/sys/a29khif/_ioctl.s b/newlib/libc/sys/a29khif/_ioctl.s
new file mode 100644
index 00000000000..0ca51c50455
--- /dev/null
+++ b/newlib/libc/sys/a29khif/_ioctl.s
@@ -0,0 +1,39 @@
+; @(#)_ioctl.s 1.2 90/10/14 21:57:25, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; _ioctl.s
+; _ioctl( int fd );
+;
+ .file "_ioctl.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00030000 ; Debugger tag word
+ .global __ioctl
+
+__ioctl:
+ const tav,HIF_ioctl @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+
+ .end
diff --git a/newlib/libc/sys/a29khif/_iostat.s b/newlib/libc/sys/a29khif/_iostat.s
new file mode 100644
index 00000000000..ae97c5de5fb
--- /dev/null
+++ b/newlib/libc/sys/a29khif/_iostat.s
@@ -0,0 +1,43 @@
+;----------------------------------------------------------------------------
+;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; _iostat.s
+; _iostat( int fd );
+;
+ .file "_iostat.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00030000 ; Debugger tag word
+ .global __iostat
+ .global _iostat
+
+__iostat:
+_iostat:
+ const tav,HIF_iostat @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+
+ .end
+
diff --git a/newlib/libc/sys/a29khif/_iowait.s b/newlib/libc/sys/a29khif/_iowait.s
new file mode 100644
index 00000000000..3e2ad61cd4a
--- /dev/null
+++ b/newlib/libc/sys/a29khif/_iowait.s
@@ -0,0 +1,39 @@
+; @(#)_iowait.s 1.3 90/10/14 21:57:27, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; _iowait.s
+; _iowait( int fd );
+;
+ .file "_iowait.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00030000 ; Debugger tag word
+ .global __iowait
+
+__iowait:
+ const tav,HIF_iowait @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+
+ .end
diff --git a/newlib/libc/sys/a29khif/_isatty.s b/newlib/libc/sys/a29khif/_isatty.s
new file mode 100644
index 00000000000..55110e2fcac
--- /dev/null
+++ b/newlib/libc/sys/a29khif/_isatty.s
@@ -0,0 +1,22 @@
+ .file "isatty.c"
+ .sect .lit,lit
+gcc2_compiled.:
+ .text
+ .align 4
+ .global __isatty
+ .global _isatty
+ .word 0x30000
+__isatty:
+_isatty:
+ sub gr1,gr1,16
+ asgeu V_SPILL,gr1,gr126
+ add lr1,gr1,28
+ const gr116,__iostat
+ consth gr116,__iostat
+ calli lr0,gr116
+ sll lr2,lr6,0
+ sll gr96,gr96,30
+ add gr1,gr1,16
+ srl gr96,gr96,31
+ jmpi lr0
+ asleu V_FILL,lr1,gr127
diff --git a/newlib/libc/sys/a29khif/_lseek.s b/newlib/libc/sys/a29khif/_lseek.s
new file mode 100644
index 00000000000..56a7fc6c91c
--- /dev/null
+++ b/newlib/libc/sys/a29khif/_lseek.s
@@ -0,0 +1,42 @@
+; @(#)_lseek.s 1.4 90/10/14 21:57:28, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; _lseek.s
+; int cc = _lseek( int fd, long offset, int whence );
+;
+ .file "_lseek.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00050000 ; Debugger tag word
+ .global __lseek
+;; syscalls used now -- .global _lseek
+
+
+__lseek:
+;; syscalls used now -- _lseek:
+ const tav,HIF_lseek @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+
+ .end
diff --git a/newlib/libc/sys/a29khif/_open.s b/newlib/libc/sys/a29khif/_open.s
new file mode 100644
index 00000000000..3a9ed7e61b2
--- /dev/null
+++ b/newlib/libc/sys/a29khif/_open.s
@@ -0,0 +1,39 @@
+; @(#)_open.s 1.4 90/10/14 21:57:30, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; _open.s
+; int fd = _open( char *path, int oflag [, int mode ] );
+;
+ .file "_open.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00050000 ; Debugger tag word
+ .global __open
+
+__open:
+ const tav,HIF_open @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+
+ .end
diff --git a/newlib/libc/sys/a29khif/_query.s b/newlib/libc/sys/a29khif/_query.s
new file mode 100644
index 00000000000..6887bea935e
--- /dev/null
+++ b/newlib/libc/sys/a29khif/_query.s
@@ -0,0 +1,39 @@
+; @(#)_query.s 2.2 90/10/14 21:57:31, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; _query.s
+; _query( query_code );
+;
+ .file "_query.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00030000 ; Debugger tag word
+ .global __query
+
+__query:
+ const tav,HIF_query @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+
+ .end
diff --git a/newlib/libc/sys/a29khif/_read.s b/newlib/libc/sys/a29khif/_read.s
new file mode 100644
index 00000000000..23ebbe73294
--- /dev/null
+++ b/newlib/libc/sys/a29khif/_read.s
@@ -0,0 +1,38 @@
+; @(#)_read.s 1.4 90/10/14 21:57:32, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; _read.s
+; int nread = _read( int fd, char *buf, int count );
+;
+ .file "_read.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00050000 ; Debugger tag word
+ .global __read
+
+__read:
+ const tav,HIF_read @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+ .end
diff --git a/newlib/libc/sys/a29khif/_sbrk.s b/newlib/libc/sys/a29khif/_sbrk.s
new file mode 100644
index 00000000000..33c1269cdfe
--- /dev/null
+++ b/newlib/libc/sys/a29khif/_sbrk.s
@@ -0,0 +1,30 @@
+ .file "sbrk.c"
+ .sect .lit,lit
+gcc2_compiled.:
+ .text
+ .align 4
+ .global __sbrk
+ .word 0x30000
+__sbrk:
+ sub gr1,gr1,16
+ asgeu V_SPILL,gr1,gr126
+ add lr1,gr1,28
+ sll lr2,lr6,0
+ jmpt lr2,L4
+ constn gr96,65535
+ const gr116,__sysalloc
+ consth gr116,__sysalloc
+ calli lr0,gr116
+ nop
+ sll gr117,gr96,0
+ cpneq gr116,gr117,0
+ jmpf gr116,L4
+ constn gr96,65535
+ sll gr96,gr117,0
+L4:
+ add gr1,gr1,16
+ nop
+ jmpi lr0
+ asleu V_FILL,lr1,gr127
+
+
diff --git a/newlib/libc/sys/a29khif/_setim.s b/newlib/libc/sys/a29khif/_setim.s
new file mode 100644
index 00000000000..0cf86aeda8c
--- /dev/null
+++ b/newlib/libc/sys/a29khif/_setim.s
@@ -0,0 +1,39 @@
+; @(#)_setim.s 2.2 90/10/14 21:57:33, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; _setim.s
+; _setim( im, di );
+;
+ .file "_setim.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00040000 ; Debugger tag word
+ .global __setim
+
+__setim:
+ const tav,HIF_setim @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+
+ .end
diff --git a/newlib/libc/sys/a29khif/_settrap.s b/newlib/libc/sys/a29khif/_settrap.s
new file mode 100644
index 00000000000..259097288be
--- /dev/null
+++ b/newlib/libc/sys/a29khif/_settrap.s
@@ -0,0 +1,39 @@
+; @(#)_settrap.s 2.2 90/10/14 21:57:34, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; _settrap.s
+; void *prevaddr = _settrap( int trapno, void *trapaddr );
+;
+ .file "_settrap.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00040000 ; Debugger tag word
+ .global __settrap
+
+__settrap:
+ const tav,HIF_settrap @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+
+ .end
diff --git a/newlib/libc/sys/a29khif/_setvec.s b/newlib/libc/sys/a29khif/_setvec.s
new file mode 100644
index 00000000000..09d4076f541
--- /dev/null
+++ b/newlib/libc/sys/a29khif/_setvec.s
@@ -0,0 +1,38 @@
+; @(#)_setvec.s 1.2 90/10/14 21:57:35, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; _setvec.s
+; int success = _setvec( int trap_no, void (*handler)( void ) );
+;
+ .file "_setvec.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00040000 ; Debugger tag word
+ .global __setvec
+
+__setvec:
+ const tav,HIF_setvec @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+ .end
diff --git a/newlib/libc/sys/a29khif/_tmpnam.s b/newlib/libc/sys/a29khif/_tmpnam.s
new file mode 100644
index 00000000000..c7795e27a87
--- /dev/null
+++ b/newlib/libc/sys/a29khif/_tmpnam.s
@@ -0,0 +1,41 @@
+; @(#)_tmpnam.s 1.2 90/10/14 21:57:36, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; _tmpnam.s
+; char *cp = _khif_tmpnam( char *bufr );
+; /* same as ANSI tmpnam(), but NULL arg is not allowed */
+; NOTE - Will not work on BSD (no tmpnam sys call)
+;
+ .file "_tmpnam.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00030000 ; Debugger tag word
+ .global __khif_tmpnam
+
+__khif_tmpnam:
+ const tav,HIF_tmpnam @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+
+ .end
diff --git a/newlib/libc/sys/a29khif/_write.s b/newlib/libc/sys/a29khif/_write.s
new file mode 100644
index 00000000000..21c0e581543
--- /dev/null
+++ b/newlib/libc/sys/a29khif/_write.s
@@ -0,0 +1,40 @@
+; @(#)_write.s 1.4 90/10/14 21:57:37, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; _write.s
+; int written = _write( int fd, char *buf, int count );
+;
+ .file "_write.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00050000 ; Debugger tag word
+ .global __write
+;; syscalls used now -- .global _write
+
+__write:
+;; syscalls used now -- _write:
+ const tav,HIF_write @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+ .end
diff --git a/newlib/libc/sys/a29khif/aclocal.m4 b/newlib/libc/sys/a29khif/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/sys/a29khif/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/sys/a29khif/alloc.s b/newlib/libc/sys/a29khif/alloc.s
new file mode 100644
index 00000000000..cd90022a5b9
--- /dev/null
+++ b/newlib/libc/sys/a29khif/alloc.s
@@ -0,0 +1,64 @@
+;
+;(#)_alloc.s 1.4 90/10/14 21:57:19, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1989, 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;
+; 07/06/89 (JS) Replaced call to const tav,HIF_macro
+; and deleted call to reterr macro as a NULL needs to be
+; returned on failure.
+; _alloc.s
+; void *vp = _sysalloc( int size );
+;
+ .file "_alloc.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00030000 ; Debugger tag word
+ .global __sysalloc
+__sysalloc:
+ const tav,HIF_alloc
+ asneq V_SYSCALL,gr1,gr1
+ jmpti tav, lr0
+ const tpc, _errno
+ consth tpc, _errno
+ store 0, 0, tav, tpc
+ jmpi lr0
+ const v0, 0 ; return NULL on error.
+
+;
+; int errret = _sysfree( void *addr, int size );
+;
+ .global __sysfree
+__sysfree:
+ const tav,HIF_free
+ asneq V_SYSCALL,gr1,gr1
+ jmpti tav,lr0
+ const tpc,_errno
+ consth tpc,_errno
+ store 0,0,tav,tpc
+ jmpi lr0
+ constn v0,-1
+
+ .end
diff --git a/newlib/libc/sys/a29khif/clock.s b/newlib/libc/sys/a29khif/clock.s
new file mode 100644
index 00000000000..5cb26dff060
--- /dev/null
+++ b/newlib/libc/sys/a29khif/clock.s
@@ -0,0 +1,41 @@
+; @(#)clock.s 1.3 90/10/14 21:57:43, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; clock.s
+; long ticks = clock( );
+;
+ .file "clock.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00020000 ; Debugger tag word
+ .global _clock
+ .global __clock
+
+_clock:
+__clock:
+ const tav,HIF_clock @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+
+ .end
diff --git a/newlib/libc/sys/a29khif/configure b/newlib/libc/sys/a29khif/configure
new file mode 100755
index 00000000000..0279884f66b
--- /dev/null
+++ b/newlib/libc/sys/a29khif/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=_alloc.s
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/sys/a29khif/configure.in b/newlib/libc/sys/a29khif/configure.in
new file mode 100644
index 00000000000..de247d3d350
--- /dev/null
+++ b/newlib/libc/sys/a29khif/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/sys/a29khif configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(_alloc.s)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/sys/a29khif/crt0.s b/newlib/libc/sys/a29khif/crt0.s
new file mode 100644
index 00000000000..8ae79f89835
--- /dev/null
+++ b/newlib/libc/sys/a29khif/crt0.s
@@ -0,0 +1,226 @@
+; @(#)crt0.s 2.7 90/10/15 13:17:57, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1988, 1989, 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ .file "crt0.s"
+; crt0.s version 2.1-7
+;
+; This module gets control from the OS.
+; It saves away the Am29027 Mode register settings and
+; then sets up the pointers to the resident spill and fill
+; trap handlers. It then establishes argv and argc for passing
+; to main. It then calls _main. If main returns, it calls _exit.
+;
+; void = start( );
+; NOTE - not C callable (no lead underscore)
+;
+ .include "sys/sysmac.h"
+;
+;
+ .extern V_SPILL, V_FILL
+ .comm __29027Mode, 8 ; A shadow of the mode register
+ .comm __LibInit, 4
+ .comm __environ, 4 ; Environment variables, currently none.
+ .text
+ .extern _main, _exit
+ .extern _memset
+
+ .word 0 ; Terminating tag word
+ .global start
+start:
+ sub gr1, gr1, 6 * 4
+ asgeu V_SPILL, gr1, rab ; better not ever happen
+ add lr1, gr1, 6 * 4
+;
+; Initialize the .bss section to zero by using the memset library function.
+; The .bss initialization section below has been commented out as it breaks
+; XRAY29K that has been released. The operators sizeof and startof create
+; new sections that are not recognized by XRAY29k, but will be implemented
+; in the next release (2.0).
+;
+; const lr4, $sizeof(.bss) ; get size of .bss section to zero out
+; consth lr4, $sizeof(.bss)
+; const lr2, $startof(.bss) ; Get start address of .bss section
+; consth lr2, $startof(.bss)
+; const lr0, _memset ; address of memset function
+; consth lr0, _memset
+; calli lr0, lr0 ; call memset function
+; const lr3, 0
+
+; Save the initial value of the Am29027's Mode register
+; If your const tav,HIF_does @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1 not enter crt0 with value for Am29027's Mode register
+; in gr96 and gr97, and also if the coprocessor is active uncomment the
+; next 4 lines.
+; const gr96, 0xfc00820
+; consth gr96, 0xfc00820
+; const gr97, 0x1375
+; store 1, 3, gr96, gr97
+;
+ const gr98, __29027Mode
+ consth gr98, __29027Mode
+ store 0, 0, gr96, gr98
+ add gr98, gr98, 4
+ store 0, 0, gr97, gr98
+;
+; Now call the const tav,HIF_to @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1 setup the spill and fill trap handlers
+;
+ const lr3, spill
+ consth lr3, spill
+ const lr2, V_SPILL
+ const tav,HIF_setvec @ asneq V_SYSCALL,gr1,gr1
+ const lr3, fill
+ consth lr3, fill
+ const lr2, V_FILL
+ const tav,HIF_setvec @ asneq V_SYSCALL,gr1,gr1
+;
+; Set up dividu handler, since native one don't work?!
+; Set it up by hand (FIXME) since HIF_settrap doesn't work either!
+;
+; const lr3,Edividu
+; consth lr3,Edividu
+;
+; const lr2,35
+; const tav,HIF_settrap @ asneq V_SYSCALL,gr1,gr1
+; asge 0x50,gr121,0 ; check whether it failed
+; const lr2,0x8000008c ; abs addr of dividu trap handler on EB
+; consth lr2,0x8000008c
+; store 0,0,lr3,lr2 ; Clobber vector FIXME
+
+;
+; Get the argv base address and calculate argc.
+;
+ const tav,HIF_getargs @ asneq V_SYSCALL,gr1,gr1
+ add lr3, v0, 0 ; argv
+ add lr4, v0, 0
+ constn lr2, -1
+argcloop: ; scan for NULL terminator
+ load 0, 0, gr97, lr4
+ add lr4, lr4, 4
+ cpeq gr97, gr97, 0
+ jmpf gr97, argcloop
+ add lr2, lr2, 1
+;
+; Now call LibInit, if there is one. To aid runtime libraries
+; that need to do some startup initialization, we have created
+; a bss variable called LibInit. If the library doesn't need
+; any run-time initialization, the variable is still 0. If the
+; library does need run-time initialization, the library will
+; contain a definition like
+; void (*_LibInit)(void) = LibInitFunction;
+; The linker will match up our bss LibInit with this data LibInit
+; and the variable will not be 0.
+;
+ const lr0, __LibInit
+ consth lr0, __LibInit
+ load 0, 0, lr0, lr0
+ cpeq gr96, lr0, 0
+ jmpt gr96, NoLibInit
+ nop
+ calli lr0, lr0
+ nop
+NoLibInit:
+;
+; call main, passing it 2 arguments. main( argc, argv )
+;
+ const lr0, _main
+ consth lr0, _main
+ calli lr0, lr0
+ nop
+;
+; call exit
+;
+ const lr0, _exit
+ consth lr0, _exit
+ calli lr0, lr0
+ add lr2, gr96, 0
+;
+; Should never get here, but just in case
+;
+loop:
+ const tav,HIF_exit @ asneq V_SYSCALL,gr1,gr1
+ jmp loop
+ nop
+ .sbttl "Spill and Fill trap handlers"
+ .eject
+;
+; SPILL, FILL trap handlers
+;
+; Note that these Spill and Fill trap handlers allow the OS to
+; assume that the only registers of use are between gr1 and rfb.
+; Therefore, if the OS desires to, it may simply preserve from
+; lr0 for (rfb-gr1)/4 registers when doing a context save.
+;
+;
+; Here is the spill handler
+;
+; spill registers from [*gr1..*rab)
+; and move rab downto where gr1 points
+;
+; rab must change before rfb for signals to work
+;
+; On entry: rfb - rab = windowsize, gr1 < rab
+; Near the end: rfb - rab > windowsize, gr1 == rab
+; On exit: rfb - rab = windowsize, gr1 == rab
+;
+ .global spill
+spill:
+ sub tav, rab, gr1 ; tav = number of bytes to spill
+ srl tav, tav, 2 ; change byte count to word count
+ sub tav, tav, 1 ; make count zero based
+ mtsr cr, tav ; set Count Remaining register
+ sub tav, rab, gr1
+ sub tav, rfb, tav ; pull down free bound and save it in rab
+ add rab, gr1, 0 ; first pull down allocate bound
+ storem 0, 0, lr0, tav ; store lr0..lr(tav) into rfb
+ jmpi tpc ; return...
+ add rfb, tav, 0
+;
+; Here is the fill handler
+;
+; fill registers from [*rfb..*lr1)
+; and move rfb upto where lr1 points.
+;
+; rab must change before rfb for signals to work
+;
+; On entry: rfb - rab = windowsize, lr1 > rfb
+; Near the end: rfb - rab < windowsize, lr1 == rab + windowsize
+; On exit: rfb - rab = windowsize, lr1 == rfb
+;
+ .global fill
+fill:
+ const tav, 0x80 << 2
+ or tav, tav, rfb ; tav = ((rfb>>2) | 0x80)<<2 == [rfb]<<2
+ mtsr ipa, tav ; ipa = [rfb]<<2 == 1st reg to fill
+ ; gr0 is now the first reg to spill
+ sub tav, lr1, rfb ; tav = number of bytes to spill
+ add rab, rab, tav ; push up allocate bound
+ srl tav, tav, 2 ; change byte count to word count
+ sub tav, tav, 1 ; make count zero based
+ mtsr cr, tav ; set Count Remaining register
+ loadm 0, 0, gr0, rfb ; load registers
+ jmpi tpc ; return...
+ add rfb, lr1, 0 ; ... first pushing up free bound
+
+ .end
diff --git a/newlib/libc/sys/a29khif/getargs.s b/newlib/libc/sys/a29khif/getargs.s
new file mode 100644
index 00000000000..aa1f9c4425a
--- /dev/null
+++ b/newlib/libc/sys/a29khif/getargs.s
@@ -0,0 +1,38 @@
+; @(#)getargs.s 1.2 90/10/14 21:57:44, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; _getargs.s
+; void _getargs( void );
+;
+ .file "_getargs.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00020000 ; Debugger tag word
+ .global __getargs
+
+__getargs:
+ const tav,HIF_getargs @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+ .end
diff --git a/newlib/libc/sys/a29khif/getenv.s b/newlib/libc/sys/a29khif/getenv.s
new file mode 100644
index 00000000000..4351849a071
--- /dev/null
+++ b/newlib/libc/sys/a29khif/getenv.s
@@ -0,0 +1,48 @@
+; @(#)getenv.s 1.4 90/10/14 21:57:45, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; getenv.s
+; char *value = getenv( const char *name );
+;
+ .file "getenv.s"
+
+ .include "sys/sysmac.h"
+
+ .text
+ .word 0x00030000 ; Debugger tag word
+ .global _getenv
+ .global __getenv
+_getenv:
+__getenv:
+ const tav,HIF_getenv @ asneq V_SYSCALL,gr1,gr1 ; HIF service trap
+ jmpti tav, lr0 ; If tav is true, were finished, return.
+ const tpc, _errno
+ consth tpc, _errno ; Otherwise,
+ store 0, 0, tav, tpc ; store error code in _errno,
+ jmpi lr0 ; then return
+ const v0, 0 ; with a value of 0 (NULL pointer).
+
+ .end
diff --git a/newlib/libc/sys/a29khif/getpid.c b/newlib/libc/sys/a29khif/getpid.c
new file mode 100644
index 00000000000..99d88bd39f4
--- /dev/null
+++ b/newlib/libc/sys/a29khif/getpid.c
@@ -0,0 +1,12 @@
+/* Stub for getpid. */
+
+#include <_ansi.h>
+
+/* This should really return pid_t, but that doesn't seem to be in
+ <sys/types.h>. */
+
+int
+_DEFUN_VOID (_getpid)
+{
+ return 1;
+}
diff --git a/newlib/libc/sys/a29khif/kill.c b/newlib/libc/sys/a29khif/kill.c
new file mode 100644
index 00000000000..ff9fe5428a7
--- /dev/null
+++ b/newlib/libc/sys/a29khif/kill.c
@@ -0,0 +1,21 @@
+/* Stub for kill. */
+
+#include <_ansi.h>
+#include <errno.h>
+
+/* The pid argument should be of type pid_t. */
+
+int
+_DEFUN (_kill, (pid, sig),
+ int pid _AND
+ int sig)
+{
+ if (pid == 1 || pid < 0)
+ {
+ if (sig == 0)
+ return 0;
+ return raise (sig);
+ }
+ errno = EINVAL;
+ return -1;
+}
diff --git a/newlib/libc/sys/a29khif/read.s b/newlib/libc/sys/a29khif/read.s
new file mode 100644
index 00000000000..1a5daf30135
--- /dev/null
+++ b/newlib/libc/sys/a29khif/read.s
@@ -0,0 +1,54 @@
+; @(#)_read.s 1.4 90/10/14 21:57:32, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; _read.s
+; int nread = _read( int fd, char *buf, int count );
+;
+ .file "_read.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00050000 ; Debugger tag word
+ .global __read
+;; syscalls used now -- .global _read
+
+__read:
+;; syscalls used now -- _read:
+ .ifdef _BSD_OS
+; BSD version - uses readv const tav,HIF_call @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+ sub msp, msp, 8
+ store 0, 0, lr3, msp
+ add tav, msp, 4
+ add lr3, msp, 0
+ store 0, 0, lr4, tav
+ const lr4, 1
+ const tav,HIF_readv @ asneq V_SYSCALL,gr1,gr1
+ jmpti tav, lr0
+ add msp, msp, 8
+ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+ .else
+ const tav,HIF_read @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+ .endif
+ .end
diff --git a/newlib/libc/sys/a29khif/remove.s b/newlib/libc/sys/a29khif/remove.s
new file mode 100644
index 00000000000..948be04c2f2
--- /dev/null
+++ b/newlib/libc/sys/a29khif/remove.s
@@ -0,0 +1,43 @@
+; @(#)remove.s 1.3 90/10/14 21:57:53, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; remove.s
+; int cc = remove( char *path );
+;
+ .file "remove.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00030000 ; Debugger tag word
+ .global _remove
+ .global __remove
+ .global __unlink
+
+_remove:
+__remove:
+__unlink:
+ const tav,HIF_remove @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+
+ .end
diff --git a/newlib/libc/sys/a29khif/rename.s b/newlib/libc/sys/a29khif/rename.s
new file mode 100644
index 00000000000..31da614e361
--- /dev/null
+++ b/newlib/libc/sys/a29khif/rename.s
@@ -0,0 +1,41 @@
+; @(#)rename.s 1.3 90/10/14 21:57:54, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; rename.s
+; int cc = rename( char *from, char *to );
+;
+ .file "rename.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00040000 ; Debugger tag word
+ .global _rename
+ .global __rename
+
+_rename:
+__rename:
+ const tav,HIF_rename @ asneq V_SYSCALL,gr1,gr1 @ jmpti tav,lr0 @ const tpc,_errno @ consth tpc,_errno @ store 0,0,tav,tpc @ jmpi lr0 @ constn v0,-1
+
+ .end
diff --git a/newlib/libc/sys/a29khif/signal.s b/newlib/libc/sys/a29khif/signal.s
new file mode 100644
index 00000000000..29273a0d30a
--- /dev/null
+++ b/newlib/libc/sys/a29khif/signal.s
@@ -0,0 +1,452 @@
+;@(#)signal.s 2.15 90/10/14 21:57:55, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ .file "signal.s"
+
+; SigEntry is the address of an array of C-level user code signal handlers.
+; They must return to the top-level before doing a sigret() return function.
+; Nested signals are supported.
+
+ .extern V_SPILL, V_FILL
+ .extern fill ; In crt0.s
+
+ .align 4
+ .comm WindowSize, 4
+ .data
+SigEntry:
+ .word 0 ; reserved
+ .word 0 ; adds. of #2 SIGINT handler
+ .word 0 ; reserved
+ .word 0 ; reserved
+ .word 0 ; reserved
+ .word 0 ; reserved
+ .word 0 ; reserved
+ .word 0 ; adds. of #8 SIGFPE handler
+
+ .text
+
+ .reg v0, gr96
+ .reg v1, gr97
+ .reg v2, gr98
+ .reg v3, gr99
+
+ .reg tav, gr121
+ .reg tpc, gr122
+ .reg lrp, gr123
+ .reg slp, gr124
+ .reg msp, gr125
+ .reg rab, gr126
+ .reg rfb, gr127
+
+;=================================================================== setjmp()
+; int
+; setjmp(label_t jmpbuf)
+; {
+; *jmpbuf = {gr1, msp, lr0, lr1};
+; return 0;
+; }
+;
+ .global _setjmp
+_setjmp:
+ store 0, 0, gr1, lr2
+ add lr2, lr2, 4
+ store 0, 0, msp, lr2
+ add lr2, lr2, 4
+ store 0, 0, lr0, lr2
+ add lr2, lr2, 4
+ store 0, 0, lr1, lr2
+ jmpi lr0
+ const v0, 0
+;
+;==================================================================== longjmp()
+; int
+; longjmp(label_t jmpbuf, int value)
+; {
+; /* BUG: check for this
+; if (msp > jmpbuf->msp || gr1 > jmpbuf->gr1)
+; longjmperror();
+; */
+;
+; gr1 = jmpbuf->gr1;
+; lr2addr = jmpbuf->gr1 + 8;
+; msp = jmpbuf->msp;
+;
+; /* saved lr1 is invalid if saved lr2addr > rfb */
+; if (lr2addr > rfb) {
+; /*
+; * None of the registers are useful.
+; * Set rfb to lr2addr - 512 & rab to rfb - 512.
+; * the FILL assert will take care of filling
+; */
+; lr1 = jmpbuf->lr1;
+; rab = lr2addr - windowsize;
+; rfb = lr2addr;
+; }
+;
+; lr0 = jmpbuf->lr0;
+; if (rfb < lr1)
+; raise V_FILL;
+; return value;
+; }
+;
+ .global _longjmp
+_longjmp:
+ load 0, 0, tav, lr2 ; copy in gr1
+ add v1, lr2, 4 ; v1 points to msp
+ ; make sure we return a non-zero value
+ cpeq v0, lr3, 0
+ srl v0, v0, 31
+ or v0, lr3, v0
+
+ add gr1, tav, 0 ; now update gr1
+ add tav, tav, 8 ; calculate lr2addr
+ load 0, 0, msp, v1 ; update msp from jmpbuf
+ cpleu v3, tav, rfb ; if (lr2addr > rfb)
+ jmpt v3, $1 ; {
+ add v1, v1, 4 ; v1 points to lr0
+ add v2, v1, 4 ; v2 points to lr1
+ load 0, 0, lr1, v2 ; lr1 = value from jmpbuf
+ sub v3, rfb, rab ;
+ sub rab, tav, v3 ; rab = lr2addr - windowsize
+ add rfb, tav, 0 ; rfb = lr2addr
+$1: ; }
+ load 0, 0, lr0, v1
+ jmpi lr0
+ asgeu V_FILL, rfb, lr1 ; may fill from rfb to lr1
+;
+;================================================================== sigcode
+; About to deliver a signal to a user mode signal handler.
+; msp+(15*4) = signal_number
+; msp+(14*4) = gr1
+; msp+(13*4) = rab
+; msp+(12*4) = PC0
+; msp+(11*4) = PC1
+; msp+(10*4) = PC2
+; msp+( 9*4) = CHA
+; msp+( 8*4) = CHD
+; msp+( 7*4) = CHC
+; msp+( 6*4) = ALU
+; msp+( 5*4) = OPS
+; msp+( 4*4) = gr121
+; msp+( 3*4) = gr99
+; msp+( 2*4) = gr98
+; msp+( 1*4) = gr97
+; msp = gr96
+; The state of all the registers (except for msp, chc and rab)
+; is the same as when the process was interrupted.
+;
+; We must make the stack and window consistent before calling the handler
+; The orignal rab value is on the stack. The interrupt handler placed
+; rfb-Windowsize in rab. This is required to support nested interrupts.
+;
+; Note that the window becomes incosistent only during certain
+; critical sections in spill, fill, longjmp and sigcode.
+; rfb - rab > windowsize => we are in spill
+; rfb - rab < windowsize => we are in fill
+; gr1 + 8 > rfb => we are in long-longjmp case
+; In case of spill, fill and lonjmp; rab is modified first,
+; so if we are in one of these critical sections,
+; we set rab to rfb - WINDOWSIZE.
+;
+ .equ SIGCTX_SIZE, (16)*4
+ .equ SIGCTX_SIGNUMB, (15)*4
+ .equ SIGCTX_GR1_OFFSET, (14)*4
+ .equ SIGCTX_RAB_OFFSET, (13)*4
+ .equ SIGCTX_PC0_OFFSET, (12)*4
+ .equ SIGCTX_PC1_OFFSET, (11)*4
+ .equ SIGCTX_PC2_OFFSET, (10)*4
+ .equ SIGCTX_CHC_OFFSET, (7)*4
+ .equ SIGCTX_OPS_OFFSET, (5)*4
+ .equ SIGCTX_TAV_OFFSET, (4)*4
+ .global sigcode
+sigcode:
+; -------------------------------------------------------- R-Stack fixup
+ const v0, WindowSize ; get register cache size
+ consth v0, WindowSize
+ load 0, 0, v0, v0
+ add v2, msp, SIGCTX_RAB_OFFSET
+ load 0, 0, v2, v2 ; get interrupted rab value
+ sub v1, rfb, v2 ; determine if rfb-rab <= WINDOW_SIZE
+ cpgeu v1, v1, v0 ;
+ jmpt v1, nfill ; jmp if spill or 'normal' interrupt
+ add v1, gr1, 8
+ cpgt v1, v1, rfb ; interrupted longjmp can look like fill
+ jmpf v1, nfill ; test for long-longjmp interruption
+ nop ; jmp if gr1+8 <= rfb
+; Fixup signal stack to re-start interrupted fill
+; backup pc1 -- this is needed for the partial fill case.
+; Clear chc so an interrupted load/store does not restart.
+; Reset rab to a window distance below rfb, rab shall be
+; decremented again on re-starting the interrupted fill.
+; The interrupt handler set rab=rfb-WindowSize.
+;
+ add v0, msp, SIGCTX_RAB_OFFSET
+ store 0, 0, rab, v0 ; re-store (rfb-WindowSize) for rab
+ const v2, fill
+ consth v2, fill
+ add v0, msp, SIGCTX_PC1_OFFSET
+ store 0, 0, v2, v0
+ sub v2, v2, 4 ; determine pc0
+ add v0, msp, SIGCTX_PC0_OFFSET
+ store 0, 0, v2, v0
+ const v2, 0 ; clear chc
+ add v0, msp, SIGCTX_CHC_OFFSET
+ store 0, 0, v2, v0
+
+nfill:
+ cpgt v0, gr1, rfb ; if gr1 > rfb then gr1 = rfb
+ jmpt v0, lower
+ cplt v0, gr1, rab ; if gr1 < rab then gr1 = rab
+ jmpt v0, raise
+ nop
+; -------------------------------------------------------- save_regs
+sig1: sub msp, msp, (4+2+25)*4 ; reserve space for regs
+ mfsr gr96, ipc
+ mfsr gr97, ipa
+ mfsr gr98, ipb
+ mfsr gr99, q
+ mtsrim cr, 4-1
+ storem 0, 0, gr96, msp
+; "push" registers stack support
+ add gr96, lr1, 0
+ add gr97, rfb, 0
+ mtsrim cr, 2-1
+ add gr99, msp, 2*4
+ storem 0, 0, gr96, gr99
+; "push" remaining global registers
+ mtsrim cr, 25-1 ; gr100-gr124
+ add gr96, msp, (4+2)*4
+ storem 0, 0, gr100, gr96
+;
+; -------------------------------------------------------- Dummy Call
+ .equ RALLOC, 4*4 ; make space for function calls
+ add v0, rfb, 0 ; store original rfb
+ sub gr1, gr1, RALLOC
+ asgeu V_SPILL, gr1, rab
+ add lr1, v0, 0 ; set lr1 = original rfb
+ add v1, msp, (4+2+25)*4 + SIGCTX_SIGNUMB
+ load 0, 0, lr2, v1 ; restore signal number
+ sub v1, lr2, 1 ; get handler index
+ sll v1, v1, 2 ; point to addresses
+;
+; -------------------------------------------------------- call C-level
+; Handler must not use HIF services other than the _sigret() type.
+ const v0, SigEntry
+ consth v0, SigEntry
+ add v0, v0, v1
+ load 0, 0, v0, v0 ; determine if handler registered
+ cpeq v1, v0, 0
+ jmpt v1, NoHandler
+ nop
+ calli lr0, v0 ; call C-level signal handler
+ nop
+;
+; -------------------------------------------------------- default return
+NoHandler:
+ jmp __sigdfl
+ nop
+
+; -------------------------------------------------------- support bits
+lower: sll gr1, rfb, 0
+ jmp sig1
+ nop
+raise: sll gr1, rab, 0
+ jmp sig1
+ nop
+/*
+; -------------------------------------------------------- repair_regs
+ mtsrim cr, 4-1
+ loadm 0, 0, gr96, msp
+ mtsr ipc, gr96
+ mtsr ipa, gr97
+ mtsr ipb, gr98
+ mtsr Q, gr99
+; "pop" registers stack support
+ mtsrim cr, 2-1
+ add gr99, msp, 2*4
+ loadm 0, 0, gr96, gr99
+ add lr1, gr96, 0
+ add rfb, gr97, 0
+; "pop" remaining global registers
+ mtsrim cr, 25-1 ; gr100-gr124
+ add gr96, msp, (4+2)*4
+ loadm 0, 0, gr100, gr96
+ add msp, msp, (4+2+25)*4 ; repair msp to save_regs entry value
+; -------------------------------------------------------- end repair
+*/
+
+; ======================================================== _sigret()
+ .global __sigret
+__sigret:
+; repair_regs
+; -------------------------------------------------------- repair_regs
+ mtsrim cr, 4-1
+ loadm 0, 0, gr96, msp
+ mtsr ipc, gr96
+ mtsr ipa, gr97
+ mtsr ipb, gr98
+ mtsr q, gr99
+; "pop" registers stack support
+ mtsrim cr, 2-1
+ add gr99, msp, 2*4
+ loadm 0, 0, gr96, gr99
+ add lr1, gr96, 0
+ add rfb, gr97, 0
+; "pop" remaining global registers
+ mtsrim cr, 25-1 ; gr100-gr124
+ add gr96, msp, (4+2)*4
+ loadm 0, 0, gr100, gr96
+ add msp, msp, (4+2+25)*4 ; repair msp to save_regs entry value
+; -------------------------------------------------------- end repair
+ const tav, 323 ; HIF _sigret
+ asneq 69, gr1,gr1
+ halt ; commit suicide if returns
+
+; ======================================================== _sigdfl()
+ .global __sigdfl
+__sigdfl:
+; repair_regs
+; -------------------------------------------------------- repair_regs
+ mtsrim cr, 4-1
+ loadm 0, 0, gr96, msp
+ mtsr ipc, gr96
+ mtsr ipa, gr97
+ mtsr ipb, gr98
+ mtsr q, gr99
+; "pop" registers stack support
+ mtsrim cr, 2-1
+ add gr99, msp, 2*4
+ loadm 0, 0, gr96, gr99
+ add lr1, gr96, 0
+ add rfb, gr97, 0
+; "pop" remaining global registers
+ mtsrim cr, 25-1 ; gr100-gr124
+ add gr96, msp, (4+2)*4
+ loadm 0, 0, gr100, gr96
+ add msp, msp, (4+2+25)*4 ; repair msp to save_regs entry value
+; -------------------------------------------------------- end repair
+ const tav, 322 ; HIF _sigdfl
+ asneq 69, gr1,gr1
+ halt ; commit suicide if returns
+
+; ======================================================== _sigrep()
+__sigrep:
+ .global __sigrep
+; repair_regs
+; -------------------------------------------------------- repair_regs
+ mtsrim cr, 4-1
+ loadm 0, 0, gr96, msp
+ mtsr ipc, gr96
+ mtsr ipa, gr97
+ mtsr ipb, gr98
+ mtsr q, gr99
+; "pop" registers stack support
+ mtsrim cr, 2-1
+ add gr99, msp, 2*4
+ loadm 0, 0, gr96, gr99
+ add lr1, gr96, 0
+ add rfb, gr97, 0
+; "pop" remaining global registers
+ mtsrim cr, 25-1 ; gr100-gr124
+ add gr96, msp, (4+2)*4
+ loadm 0, 0, gr100, gr96
+ add msp, msp, (4+2+25)*4 ; repair msp to save_regs entry value
+; -------------------------------------------------------- end repair
+ const tav, 324 ; HIF _sigrep
+ asneq 69, gr1,gr1
+ halt ; commit suicide if returns
+
+; ======================================================== _sigskp()
+ .global __sigskp
+__sigskp:
+; repair_regs
+; -------------------------------------------------------- repair_regs
+ mtsrim cr, 4-1
+ loadm 0, 0, gr96, msp
+ mtsr ipc, gr96
+ mtsr ipa, gr97
+ mtsr ipb, gr98
+ mtsr q, gr99
+; "pop" registers stack support
+ mtsrim cr, 2-1
+ add gr99, msp, 2*4
+ loadm 0, 0, gr96, gr99
+ add lr1, gr96, 0
+ add rfb, gr97, 0
+; "pop" remaining global registers
+ mtsrim cr, 25-1 ; gr100-gr124
+ add gr96, msp, (4+2)*4
+ loadm 0, 0, gr100, gr96
+ add msp, msp, (4+2+25)*4 ; repair msp to save_regs entry value
+; -------------------------------------------------------- end repair
+ const tav, 325 ; HIF _sigskp
+ asneq 69, gr1,gr1
+ halt ; commit suicide if returns
+
+; ======================================================== _sendsig()
+; lr2 = signal number
+ .global _raise
+ .global __sendsig
+_raise:
+__sendsig:
+ const tav, 326 ; HIF sendsig
+ asneq 69, gr1,gr1
+ jmpi lr0
+ nop
+
+;
+; ======================================================== signal()
+; lr2 = signal number
+; lr3 = handler address
+ .global _signal
+_signal:
+; the memory variable WindowSize must be initalised at the
+; start when rfb and rab are a window size apart.
+ const v0, WindowSize ; get register cache size
+ consth v0, WindowSize
+ load 0, 0, v1, v0
+ cpeq v1, v1, 0
+ jmpf v1, WindowSizeOK
+ sub v1, rfb, rab ; rfb-rab = WINDOW_SIZE
+ store 0, 0, v1, v0
+WindowSizeOK:
+ const v1, SigEntry
+ consth v1, SigEntry
+ sub v3, lr2, 1 ; get handler index
+ sll v3, v3, 2 ; pointer to addresses
+ add v1, v1, v3
+ store 0,0, lr3, v1 ; save new handler
+
+ const lr2, sigcode
+ consth lr2, sigcode
+ ;Fall through to __signal
+; ======================================================== _signal()
+ .global __signal
+__signal:
+ const tav, 321 ; HIF signal
+ asneq 69, gr1,gr1
+ jmpi lr0
+ nop
diff --git a/newlib/libc/sys/a29khif/stubs.s b/newlib/libc/sys/a29khif/stubs.s
new file mode 100644
index 00000000000..e0b29bc7776
--- /dev/null
+++ b/newlib/libc/sys/a29khif/stubs.s
@@ -0,0 +1,135 @@
+;
+;
+; File of stubs so that unix applications can link into a HIF monitor
+;
+; sac@cygnus.com
+
+ .text
+
+ .global _sysalloc
+_sysalloc:
+ const gr121,__sysalloc
+ consth gr121,__sysalloc
+ jmpi gr121
+
+ .global _sysfree
+_sysfree:
+ const gr121,__sysfree
+ consth gr121,__sysfree
+ jmpi gr121
+
+
+ .global _cycles
+_cycles:
+ const gr121,__cycles
+ consth gr121,__cycles
+ jmpi gr121
+
+; .global _exit
+;_exit:
+; const gr121,__exit
+; consth gr121,__exit
+; jmpi gr121
+
+ .global _getpsiz
+_getpsiz:
+ const gr121,__getpsiz
+ consth gr121,__getpsiz
+ jmpi gr121
+
+ .global _gettz
+_gettz:
+ const gr121,__gettz
+ consth gr121,__gettz
+ jmpi gr121
+
+ .global _ioctl
+_ioctl:
+ const gr121,__ioctl
+ consth gr121,__ioctl
+ jmpi gr121
+
+
+ .global _iowait
+_iowait:
+ const gr121,__iowait
+ consth gr121,__iowait
+ jmpi gr121
+
+
+;; syscalls used now -- .global _open
+;; syscalls used now -- _open:
+;; syscalls used now -- const gr121,__open
+;; syscalls used now -- consth gr121,__open
+;; syscalls used now -- jmpi gr121
+
+ .global _query
+_query:
+ const gr121,__query
+ consth gr121,__query
+ jmpi gr121
+
+
+ .global _setim
+_setim:
+ const gr121,__setim
+ consth gr121,__setim
+ jmpi gr121
+
+ .global _settrap
+_settrap:
+ const gr121,__settrap
+ consth gr121,__settrap
+ jmpi gr121
+
+ .global _setvec
+_setvec:
+ const gr121,__setvec
+ consth gr121,__setvec
+ jmpi gr121
+
+ .global _getargs
+_getargs:
+ const gr121,__getargs
+ consth gr121,__getargs
+ jmpi gr121
+
+;; syscalls used now -- .global _unlink
+;; syscalls used now -- _unlink:
+;; syscalls used now -- const gr121,__unlink
+;; syscalls used now -- consth gr121,__unlink
+;; syscalls used now -- jmpi gr121
+
+ .global _sigret
+_sigret:
+ const gr121,__sigret
+ consth gr121,__sigret
+ jmpi gr121
+
+ .global _sigdfl
+_sigdfl:
+ const gr121,__sigdfl
+ consth gr121,__sigdfl
+ jmpi gr121
+
+ .global _sigrep
+_sigrep:
+ const gr121,__sigrep
+ consth gr121,__sigrep
+ jmpi gr121
+
+ .global _sigskp
+_sigskp:
+ const gr121,__sigskp
+ consth gr121,__sigskp
+ jmpi gr121
+
+ .global _sendsig
+_sendsig:
+ const gr121,__sendsig
+ consth gr121,__sendsig
+ jmpi gr121
+
+ ; fill this jmpi delay slot
+ ; the others are not done since they do not matter
+ constn lr0,-1
diff --git a/newlib/libc/sys/a29khif/sys/cpudef.h b/newlib/libc/sys/a29khif/sys/cpudef.h
new file mode 100644
index 00000000000..4ec6ed39c15
--- /dev/null
+++ b/newlib/libc/sys/a29khif/sys/cpudef.h
@@ -0,0 +1,270 @@
+; @(#)cpudef.h 2.3 90/10/14 20:55:56, Copyright 1989, 1990 AMD
+;-----------------------------------------------------------------------
+; Useful equates
+;-----------------------------------------------------------------------
+;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1989, 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+ ; Processor status registers OPS (sr1) and CPS (sr2)
+ .equ CA,0x8000 ; Coprocessor active
+ .equ IP,0x4000 ; Interrupt pending
+ .equ TE,0x2000 ; Trace enable
+ .equ TP,0x1000 ; Trace pending
+ .equ TU,0x0800 ; Trap unaligned access
+ .equ FZ,0x0400 ; Freeze
+ .equ LK,0x0200 ; Lock
+ .equ RE,0x0100 ; ROM enable
+ .equ WM,0x0080 ; Wait mode
+ .equ PD,0x0040 ; No translation for Data
+ .equ PI,0x0020 ; No translation for Instr
+ .equ SM,0x0010 ; Supervisor mode
+ .equ IM,0x000C ; Interrupt mask
+ .equ IM1,0x0100 ; enable INTR0-1
+ .equ IM2,0x1000 ; enable INTR0-2
+ .equ IM3,0x1100 ; enable INTR0-3
+ .equ DI,0x0002 ; Disable ints
+ .equ DA,0x0001 ; Disable ints and traps
+
+ ; Configuration register CFG (sr3)
+ .equ PRL,0xFF000000 ; Processor release level
+ .equ VF,0x10 ; Vector fetch
+ .equ RV,0x08 ; ROM Vector area
+ .equ BO,0x04 ; Byte order
+ .equ CP,0x02 ; Coprocessor present
+ .equ CD,0x01 ; BTC disable
+
+ ; Channel control register CHC (sr6)
+ .equ LS,0x8000 ; Load store
+ .equ ML,0x4000 ; Multiple operation
+ .equ ST,0x2000 ; Set
+ .equ LA,0x1000 ; Lock active
+ .equ TF,0x0400 ; Transaction faulted
+ .equ TR,0x03FC ; Target register
+ .equ NN,0x0002 ; Not needed
+ .equ CV,0x0001 ; Contents valid
+
+ ; Timer reload register TMR (sr9)
+ .equ IE,0x01000000 ; timer int enable
+ .equ IN,0x02000000 ; timer int pending
+ .equ OV,0x04000000 ; timer Overflow
+
+ ; MMU configuration register MMU (sr13)
+ .equ PS,0x300 ; Page size
+ .equ PID,0xFF ; Process identifier
+
+ ; ALU status register ALU (sr132)
+ .equ DF,0x800 ; Divide flag
+ .equ V,0x400 ; Overflow
+ .equ N,0x200 ; Negative
+ .equ Z,0x100 ; Zero
+ .equ C,0x080 ; Carry
+
+ ; TLB entry
+ .equ VTAG,0xFFFF8000 ; Virtual tag
+ .equ VE,0x4000 ; Valid entry
+ .equ SR,0x2000 ; Supervisor read
+ .equ SW,0x1000 ; Supervisor write
+ .equ SE,0x0800 ; Supervisor execute
+ .equ UR,0x0400 ; User read
+ .equ UW,0x0200 ; User write
+ .equ UE,0x0100 ; User execute
+ .equ TID,0x00FF ; Task identifier
+ .equ RPN,0xFFFFFC00 ; Real page number
+ .equ PGM,0x00C0 ; User programmable
+ .equ U,0x0002 ; Usage
+ .equ F,0x0001 ; Flag
+
+;-----------------------------------------------------------------------
+;Global registers
+;-----------------------------------------------------------------------
+
+ .reg rsp, gr1 ; local register stack pointer
+
+ ; System-wide statics
+ .reg s0, gr64
+ .reg spillreg, s0 ; pointer to user spill handler
+ .reg s1, gr65
+ .reg fillreg, s1 ; pointer to user fill handler
+ .reg s2, gr66
+ .reg heapptr, s2 ; pointer to heap area
+ .reg s3, gr67
+ .reg s4, gr68
+ .reg s5, gr69
+ .reg s6, gr70
+ .reg s7, gr71
+ .reg s8, gr72
+ .reg s9, gr73
+ .reg s10, gr74
+ .reg s11, gr75
+ .reg s12, gr76
+ .reg s13, gr77
+ .reg s14, gr78
+ .reg s15, gr79
+
+ ; Interrupt handler temporaries
+ .reg i0, gr80
+ .reg i1, gr81
+ .reg i2, gr82
+ .reg i3, gr83
+ .reg i4, gr84
+ .reg i5, gr85
+ .reg i6, gr86
+ .reg i7, gr87
+ .reg i8, gr88
+ .reg i9, gr89
+ .reg i10, gr90
+ .reg i11, gr91
+ .reg i12, gr92
+ .reg i13, gr93
+ .reg i14, gr94
+ .reg i15, gr95
+
+ ; Subroutine/function temporaries
+ ; also used for function return values
+ .reg t0, gr96
+ .reg rtn, t0
+ .reg t1, gr97
+ .reg t2, gr98
+ .reg t3, gr99
+ .reg t4, gr100
+ .reg t5, gr101
+ .reg t6, gr102
+ .reg t7, gr103
+ .reg t8, gr104
+ .reg t9, gr105
+ .reg t10, gr106
+ .reg t11, gr107
+ .reg t12, gr108
+ .reg t13, gr109
+ .reg t14, gr110
+ .reg t15, gr111
+
+ ; User process statics
+ .reg u0, gr112
+ .reg u1, gr113
+ .reg u2, gr114
+ .reg u3, gr115
+
+ ; More subroutine/function temporaries
+ .reg t16, gr116
+ .reg t17, gr117
+ .reg t18, gr118
+ .reg t19, gr119
+ .reg t20, gr120
+
+ ; Older names for the same registers
+ .reg tmp0, gr116
+ .reg tmp1, gr117
+ .reg tmp2, gr118
+ .reg tmp3, gr119
+ .reg tmp4, gr120
+
+ ; Trap handler temporaries
+ .reg tav, gr121 ; arg/temp
+ .reg tpc, gr122 ; rtn/temp
+
+ ; Linkage pointers
+ .reg lrp, gr123 ; large rtn ptr
+ .reg slp, gr124 ; static link ptr
+ .reg msp, gr125 ; memory stack ptr
+ .reg rab, gr126 ; register allocate bound
+ .reg rfb, gr127 ; register free bound
+
+;-----------------------------------------------------------------------
+;Local compiler registers
+; (only valid if frame has been established)
+;-----------------------------------------------------------------------
+
+ .reg p15, lr17 ; outgoing arg 16
+ .reg p14, lr16 ; outgoing arg 15
+ .reg p13, lr15 ; outgoing arg 14
+ .reg p12, lr14 ; outgoing arg 13
+ .reg p11, lr13 ; outgoing arg 12
+ .reg p10, lr12 ; outgoing arg 11
+ .reg p9, lr11 ; outgoing arg 10
+ .reg p8, lr10 ; outgoing arg 9
+ .reg p7, lr9 ; outgoing arg 8
+ .reg p6, lr8 ; outgoing arg 7
+ .reg p5, lr7 ; outgoing arg 6
+ .reg p4, lr6 ; outgoing arg 5
+ .reg p3, lr5 ; outgoing arg 4
+ .reg p2, lr4 ; outgoing arg 3
+ .reg p1, lr3 ; outgoing arg 2
+ .reg p0, lr2 ; outgoing arg 1
+ .reg fp, lr1 ; frame pointer
+ .reg raddr, lr0 ; return address
+
+;-----------------------------------------------------------------------
+; Vectors
+;-----------------------------------------------------------------------
+
+ .equ V_ILLEG, 0 ; Illegal opcode
+ .equ V_ALIGN, 1 ; Unaligned access
+ .equ V_RANGE, 2 ; Out of range
+ .equ V_COPRE, 3 ; Coprocessor not present
+ .equ V_COEXC, 4 ; Coprocessor exception
+ .equ V_PROT, 5 ; Protection violation
+ .equ V_INSTR, 6 ; Instruction access exception
+ .equ V_DATA, 7 ; Data access exception
+ .equ V_UITLB, 8 ; User-mode instruction TLB miss
+ .equ V_UDTLB, 9 ; User-mode data TLB miss
+ .equ V_SITLB, 10 ; Supervisor-mode instr TLB miss
+ .equ V_SDTLB, 11 ; Supervisor-mode data TLB miss
+ .equ V_ITLB, 12 ; Instruction TLB violation
+ .equ V_DTLB, 13 ; Data TLB violation
+ .equ V_TIMER, 14 ; Timer
+ .equ V_TRACE, 15 ; Trace
+ .equ V_INTR0, 16 ; Interrupt 0
+ .equ V_INTR1, 17 ; Interrupt 1
+ .equ V_INTR2, 18 ; Interrupt 2
+ .equ V_INTR3, 19 ; Interrupt 3
+ .equ V_TRAP0, 20 ; Trap 0
+ .equ V_TRAP1, 21 ; Trap 1
+
+;-----------------------------------------------------------------------
+;constants for LOAD and STORE operations
+;-----------------------------------------------------------------------
+
+; CE operand values
+ .equ CE, 0b1 ;coprocessor enable
+ .equ ME, 0b0 ; memory enable
+
+; CNTL operand values
+ .equ IO, 0b1000000 ;set for I/O
+ .equ PA, 0b0100000 ;force physical addr
+ .equ SB, 0b0010000 ;set for set BP
+ .equ UA, 0b0001000 ;force user mode access
+ .equ ROM, 0b0000100 ;ROM access
+ .equ HWORD, 0b0000010 ;Half word access
+ .equ BYTE, 0b0000001 ;Byte access
+ .equ WORD, 0b0000000 ;Word access
+
+;-----------------------------------------------------------------------
+; stack alignment value
+;-----------------------------------------------------------------------
+ .equ STKALIGN, 8 ; double word align
+
diff --git a/newlib/libc/sys/a29khif/sys/fpsymbol.h b/newlib/libc/sys/a29khif/sys/fpsymbol.h
new file mode 100644
index 00000000000..3fc6ac88bbe
--- /dev/null
+++ b/newlib/libc/sys/a29khif/sys/fpsymbol.h
@@ -0,0 +1,2970 @@
+; @(#)fpsymbol.h 1.4 90/10/14 20:55:59, Copyright 1989, 1990 AMD
+; start of fpsymbol.h file
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1989, 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;
+; ______________________________________________________________________
+;|______________________________________________________________________|
+;| |
+;| SYMBOLS FOR DEFINING THE INSTRUCTION WORD |
+;| |
+;|______________________________________________________________________|
+;|______________________________________________________________________|
+;
+;
+; Revision Information:
+;------------------------------------------------------------------------
+; Date: March 31, 1989
+; Author: Roy Carlson per Bob Perlman and Richard Relph
+;
+; The symbols section describing transactions was modified to contain
+; several new symbol values. The reason for the change was to force the
+; CA bit to be set--and remain set--once code accesses the coprocessor.
+;
+; Future operating systems will use the Coprocessor Active (CA) bit in
+; the Old Processor Status Register to determine whether or not to save
+; coprocessor state, etc.. This means that the instruction control field
+; Set Coprocessor Active (SA) bit should be used as follows:
+;
+; (1) any coprocessor STORE must have its SA bit set to 1,
+; so as to set CA,
+;
+; and (2) any coprocessor LOAD must have its SA bit set to 0,
+; so as to prevent clearing CA.
+;------------------------------------------------------------------------
+; Date: 89/01/30 12:32:13; author: jim; lines added/del: 5/4
+; Corrected CP_IEEE_GRADUAL_UFLOW_MODE and CP_RMS_MASK.
+; Added CP_EXCPS_POSITION, the ls bit of the CP_XXX_EXCP ensemble.
+; fixed a few typos in comments.
+;------------------------------------------------------------------------
+; Date: 89/01/23 18:00:26; author: jim; lines added/del: 488/468
+; Richard O. Parker
+; January 5, 1989
+;
+; 1) The _cp_prec_field in the "cp_build_inst", "cp_build_inst_h"
+; and "cp_build_inst_l" macros was not being defined in the case
+; of Am29K-supported floating-point instructions (e.g., FADD, FSUB,
+; DADD, etc.).
+;
+; 2) The multiplexor select codes in the opcode table entries
+; associated with the "cp_build_inst", "cp_build_inst_h" and
+; "cp_build_inst_l" macros, pertaining to the CONVERT_F_TO_D
+; and CONVERT_D_TO_F instructions were incorrect.
+;------------------------------------------------------------------------
+; Date: 88/12/20 14:28:26; author: jim; lines added/del: 1/1
+; Larry Westerman corrected definition of CP_MOVE_P.
+; Version required for Release 1.1 of the Intrinsics shipped 12/12/88.
+;------------------------------------------------------------------------
+; Date: 88/11/18 15:44:45; author: law;
+; Initial revision
+;
+;
+;========================================================================
+;
+; The following mnemonics are used to specify the 14 LSBs of the
+; instruction word (fields SIP, SIQ, SIT, SIF, IF, and CO).
+;
+;========================================================================
+;
+; floating point operation codes.
+;
+ .equ CP_PASS_P, 0x00000000 ; pass P
+ .equ CP_MINUSP, 0x00000040 ; -P
+ .equ CP_ABSP, 0x00000080 ; |P|
+ .equ CP_SIGNT_TIMES_ABSP, 0x00000C00 ; SIGN(T) * |P|
+;
+ .equ CP_P_PLUS_T, 0x00000001 ; P + T
+ .equ CP_P_MINUS_T, 0x00000101 ; P - T
+ .equ CP_MINUSP_PLUS_T, 0x00001001 ; -P + T
+ .equ CP_MINUSP_MINUS_T, 0x00001101 ; -P - T
+ .equ CP_ABS_P_PLUS_T, 0x00000081 ; |P + T|
+ .equ CP_ABS_P_MINUS_T, 0x00000181 ; |P - T|
+ .equ CP_ABSP_PLUS_ABST, 0x00002201 ; |P| + |T|
+ .equ CP_ABSP_MINUS_ABST, 0x00002301 ; |P| - |T|
+ .equ CP_ABS_ABSP_MINUS_ABST, 0x00002381 ; ||P| - |T||
+;
+ .equ CP_P_TIMES_Q, 0x00000002 ; P * Q
+ .equ CP_MINUSP_TIMES_Q, 0x00001002 ; -P * Q
+ .equ CP_ABS_P_TIMES_Q, 0x00000082 ; |P * Q|
+;
+ .equ CP_COMPARE_P_AND_T, 0x00000103 ; compare P and T
+;
+ .equ CP_MAX_P_AND_T, 0x00000104 ; max P,T
+ .equ CP_MAX_ABSP_AND_ABST, 0x00002304 ; max |P|, |T|
+;
+ .equ CP_MIN_P_AND_T, 0x00001005 ; min P,T
+ .equ CP_MIN_ABSP_AND_ABST, 0x00003205 ; min |P|,|T|
+ .equ CP_LIMIT_P_TO_MAGT, 0x00003A05 ; limit P to magnitude of T
+;
+ .equ CP_CONVERT_T_TO_INT, 0x00000006 ; convert T to integer
+;
+ .equ CP_SCALE_T_TO_INT_BY_Q, 0x00000007 ; scale T to integer by Q
+;
+ .equ CP_PQ_PLUS_T, 0x00000008 ; (P * Q) + T
+ .equ CP_MINUSPQ_PLUS_T, 0x00001008 ; (-P * Q) + T
+ .equ CP_PQ_MINUS_T, 0x00000108 ; (P * Q) - T
+ .equ CP_MINUSPQ_MINUS_T, 0x00001108 ; (-P * Q) - T
+ .equ CP_ABSPQ_PLUS_ABST, 0x00002A08 ; |(P * Q)| + T
+ .equ CP_MINUSABSPQ_PLUS_ABST, 0x00003A08 ;-|(P * Q)| + T
+ .equ CP_ABSPQ_MINUS_ABST, 0x00002B08 ; |(P * Q)| - |T|
+;
+ .equ CP_ROUND_T_TO_INT, 0x00000009 ; round T to integral value
+;
+ .equ CP_RECIPROCAL_OF_P, 0x0000000A ; reciprocal of P
+;
+ .equ CP_CONVERT_T_TO_ALT, 0x0000000B ; convert T to alt. f.p. format
+ .equ CP_CONVERT_T_FROM_ALT, 0x0000000C ; convert T to alt. f.p. format
+;
+;
+; integer operation codes.
+;
+ .equ CP_I_PASS_P, 0x00000020 ; integer pass P
+ .equ CP_I_MINUSP, 0x00000060 ; integer -P
+ .equ CP_I_ABSP, 0x000000A0 ; integer |P|
+ .equ CP_I_SIGNT_TIMES_ABSP, 0x00000C20 ; integer SIGN(T) * |P|
+;
+ .equ CP_I_P_PLUS_T, 0x00000021 ; integer P + T
+ .equ CP_I_P_MINUS_T, 0x00000121 ; integer P - T
+ .equ CP_I_MINUSP_PLUS_T, 0x00001021 ; integer -P + T
+ .equ CP_I_ABS_P_PLUS_T, 0x000000A1 ; integer |P + T|
+ .equ CP_I_ABS_P_MINUS_T, 0x000001A1 ; integer |P - T|
+;
+ .equ CP_I_P_TIMES_Q, 0x00000022 ; integer P * Q
+;
+ .equ CP_I_COMPARE_P_AND_T, 0x00000123 ; integer compare P and T
+;
+ .equ CP_I_MAX_P_AND_T, 0x00000124 ; integer max P,T
+;
+ .equ CP_I_MIN_P_AND_T, 0x00001025 ; integer min P,T
+;
+ .equ CP_I_CONVERT_T_TO_FLOAT, 0x00000026 ; integer convert T to f.p.
+;
+ .equ CP_I_SCALE_T_TO_FLOAT_BY_Q, 0x00000027 ; integer scale T to f.p. by Q
+;
+ .equ CP_I_P_OR_T, 0x00000030 ; integer P OR T
+;
+ .equ CP_I_P_AND_T, 0x00000031 ; integer P AND T
+;
+ .equ CP_I_P_XOR_T, 0x00000032 ; integer P XOR T
+;
+ .equ CP_I_NOT_T, 0x00000032 ; integer NOT T
+;
+ .equ CP_I_LSHIFT_P_BY_Q, 0x00000033 ; integer logical shift P by Q
+; places
+;
+ .equ CP_I_ASHIFT_P_BY_Q, 0x00000034 ; integer arith. shift P by Q
+; places
+;
+ .equ CP_I_FSHIFT_PT_BY_Q, 0x00000035 ; integer funnel shift PT by Q
+; places
+;
+;
+; move instruction (f.p. or integer)
+;
+ .equ CP_MOVE_P, 0x00000018 ; move operand P
+;
+;
+;========================================================================
+;
+; precision codes for the the operands in registers R and S, and for
+; the result (instruction word fields IPR, RPR).
+;
+;========================================================================
+;
+;
+ .equ CP_D_S, 0x00008000 ;Double result, single input(s)
+ .equ CP_S_D, 0x00004000 ;Single result, double input(s)
+ .equ CP_D_D, 0x00000000 ;Double result, double input(s)
+ .equ CP_S_S, 0x0000C000 ;Single result, single input(s)
+;
+;========================================================================
+;
+; The following mnemonics are used to specify the 16 LSBs of an Am29027
+; instruction word for floating-point instructions supported by the
+; Am29000 instruction set.
+;
+;========================================================================
+;
+ .equ CP_FADD, 0x0000C001
+ .equ CP_DADD, 0x00000001
+ .equ CP_FSUB, 0x0000C101
+ .equ CP_DSUB, 0x00000101
+ .equ CP_FMUL, 0x0000C002
+ .equ CP_DMUL, 0x00000002
+ .equ CP_FEQ, 0x0000C103
+ .equ CP_DEQ, 0x00000103
+ .equ CP_FGE, 0x0000C103
+ .equ CP_DGE, 0x00000103
+ .equ CP_FGT, 0x0000C103
+ .equ CP_DGT, 0x00000103
+ .equ CP_CONVERT_I_TO_F, 0x0000C026 ; CONVERT (int -> s.p.)
+ .equ CP_CONVERT_I_TO_D, 0x00008026 ; CONVERT (int -> d.p.)
+ .equ CP_CONVERT_F_TO_I, 0x0000C006 ; CONVERT (s.p.-> int)
+ .equ CP_CONVERT_D_TO_I, 0x00004006 ; CONVERT (d.p.-> int)
+ .equ CP_CONVERT_F_TO_D, 0x00008000 ; CONVERT (s.p.-> d.p.)
+ .equ CP_CONVERT_D_TO_F, 0x00004000 ; CONVERT (d.p.-> s.p.)
+;
+;
+;========================================================================
+;
+; operand select codes (instruction word fields PMS, QMS, TMS).
+;
+;========================================================================
+;
+;
+ .equ CP_P_EQ_R, 0x00000000
+ .equ CP_P_EQ_S, 0x01000000
+ .equ CP_P_EQ_0, 0x02000000
+ .equ CP_P_EQ_ONE_HALF, 0x03000000
+ .equ CP_P_EQ_IMINUS1, 0x03000000
+ .equ CP_P_EQ_1, 0x04000000
+ .equ CP_P_EQ_2, 0x05000000
+ .equ CP_P_EQ_3, 0x06000000
+ .equ CP_P_EQ_PI, 0x07000000
+ .equ CP_P_EQ_IMINUSMAX, 0x07000000
+ .equ CP_P_EQ_RF0, 0x08000000
+ .equ CP_P_EQ_RF1, 0x09000000
+ .equ CP_P_EQ_RF2, 0x0A000000
+ .equ CP_P_EQ_RF3, 0x0B000000
+ .equ CP_P_EQ_RF4, 0x0C000000
+ .equ CP_P_EQ_RF5, 0x0D000000
+ .equ CP_P_EQ_RF6, 0x0E000000
+ .equ CP_P_EQ_RF7, 0x0F000000
+;
+ .equ CP_Q_EQ_R, 0x00000000
+ .equ CP_Q_EQ_S, 0x00100000
+ .equ CP_Q_EQ_0, 0x00200000
+ .equ CP_Q_EQ_ONE_HALF, 0x00300000
+ .equ CP_Q_EQ_IMINUS1, 0x00300000
+ .equ CP_Q_EQ_1, 0x00400000
+ .equ CP_Q_EQ_2, 0x00500000
+ .equ CP_Q_EQ_3, 0x00600000
+ .equ CP_Q_EQ_PI, 0x00700000
+ .equ CP_Q_EQ_IMINUSMAX, 0x00700000
+ .equ CP_Q_EQ_RF0, 0x00800000
+ .equ CP_Q_EQ_RF1, 0x00900000
+ .equ CP_Q_EQ_RF2, 0x00A00000
+ .equ CP_Q_EQ_RF3, 0x00B00000
+ .equ CP_Q_EQ_RF4, 0x00C00000
+ .equ CP_Q_EQ_RF5, 0x00D00000
+ .equ CP_Q_EQ_RF6, 0x00E00000
+ .equ CP_Q_EQ_RF7, 0x00F00000
+;
+ .equ CP_T_EQ_R, 0x00000000
+ .equ CP_T_EQ_S, 0x00010000
+ .equ CP_T_EQ_0, 0x00020000
+ .equ CP_T_EQ_ONE_HALF, 0x00030000
+ .equ CP_T_EQ_IMINUS1, 0x00030000
+ .equ CP_T_EQ_1, 0x00040000
+ .equ CP_T_EQ_2, 0x00050000
+ .equ CP_T_EQ_3, 0x00060000
+ .equ CP_T_EQ_PI, 0x00070000
+ .equ CP_T_EQ_IMINUSMAX, 0x00070000
+ .equ CP_T_EQ_RF0, 0x00080000
+ .equ CP_T_EQ_RF1, 0x00090000
+ .equ CP_T_EQ_RF2, 0x000A0000
+ .equ CP_T_EQ_RF3, 0x000B0000
+ .equ CP_T_EQ_RF4, 0x000C0000
+ .equ CP_T_EQ_RF5, 0x000D0000
+ .equ CP_T_EQ_RF6, 0x000E0000
+ .equ CP_T_EQ_RF7, 0x000F0000
+;
+;
+;========================================================================
+;
+; destination select codes (instruction word fields RF, RFS)
+;
+;========================================================================
+;
+;
+ .equ CP_DEST_EQ_GP, 0x00000000
+ .equ CP_DEST_EQ_RF0, 0x80000000
+ .equ CP_DEST_EQ_RF1, 0x90000000
+ .equ CP_DEST_EQ_RF2, 0xA0000000
+ .equ CP_DEST_EQ_RF3, 0xB0000000
+ .equ CP_DEST_EQ_RF4, 0xC0000000
+ .equ CP_DEST_EQ_RF5, 0xD0000000
+ .equ CP_DEST_EQ_RF6, 0xE0000000
+ .equ CP_DEST_EQ_RF7, 0xF0000000
+;
+;
+; ______________________________________________________________________
+;|______________________________________________________________________|
+;| |
+;| SYMBOLS FOR DEFINING THE MODE REGISTER DOUBLE WORD |
+;| |
+;|______________________________________________________________________|
+;|______________________________________________________________________|
+;
+;
+;
+ .equ CP_PFF_MASK, 0x00000003 ; primary f.p. format mask
+ .equ CP_PFF_EQ_IEEE, 0x00000000 ; primary f.p. format = IEEE
+ .equ CP_PFF_EQ_DECD, 0x00000001 ; primary f.p. format = DEC D
+ .equ CP_PFF_EQ_DECG, 0x00000002 ; primary f.p. format = DEC G
+ .equ CP_PFF_EQ_IBM, 0x00000003 ; primary f.p. format = IBM
+ .equ CP_PFF_POSITION, 0
+;
+ .equ CP_AFF_MASK, 0x0000000C ; alternate f.p. format mask
+ .equ CP_AFF_EQ_IEEE, 0x00000000 ; alternate f.p. format = IEEE
+ .equ CP_AFF_EQ_DECD, 0x00000004 ; alternate f.p. format = DEC D
+ .equ CP_AFF_EQ_DECG, 0x00000008 ; alternate f.p. format = DEC G
+ .equ CP_AFF_EQ_IBM, 0x0000000C ; alternate f.p. format = IBM
+ .equ CP_AFF_POSITION, 2
+;
+ .equ CP_SAT_MASK, 0x00000010 ; saturate mode (SAT) mask
+ .equ CP_SATURATE_MODE, 0x00000010 ; enable saturate mode (SAT=1)
+ .equ CP_SAT_POSITION, 4
+;
+ .equ CP_AP_MASK, 0x00000020 ; affine/proj. mode (AP) mask
+ .equ CP_AFFINE_MODE, 0x00000020 ; enable affine mode (AP=1)
+ .equ CP_PROJECTIVE_MODE, 0x00000000 ; enable projective mode (AP=0)
+ .equ CP_AP_POSITION, 5
+;
+ .equ CP_TRP_MASK, 0x00000040 ; IEEE trap mode (TRP) mask
+ .equ CP_IEEE_TRAPS_ENABLED, 0x00000040 ; IEEE trap mode enabled (TRP=1)
+ .equ CP_IEEE_TRAPS_DISABLED, 0x00000000 ; IEEE trap mode disabled (TRP=0)
+ .equ CP_TRP_POSITION, 6
+;
+ .equ CP_SU_MASK, 0x00000080 ; IEEE sud. uflow (SU) mask
+ .equ CP_IEEE_SUDDEN_UFLOW_MODE, 0x00000080 ; IEEE sud. uflow mode (SU=1)
+ .equ CP_IEEE_GRADUAL_UFLOW_MODE,0x00000000 ; IEEE grad uflow mode (SU=0)
+ .equ CP_SU_POSITION, 7
+;
+ .equ CP_BS_MASK, 0x00000100 ; IBM sig. mask (BS)
+ .equ CP_BS_POSITION, 8
+;
+ .equ CP_BU_MASK, 0x00000200 ; IBM underflow mask (BU)
+ .equ CP_BU_POSITION, 9
+;
+ .equ CP_MS_MASK, 0x00000800 ; signed int. mpy (MS) mask
+ .equ CP_SIGNED_INT_MPY_MODE, 0x00000800 ; signed int. mpy mode (MS=1)
+ .equ CP_UNSIGNED_INT_MPY_MODE, 0x00000000 ; unsigned int. mpy mode (MS=0)
+ .equ CP_MS_POSITION, 11
+;
+ .equ CP_MF_MASK, 0x00003000 ; int. mult. fmt. mode (MF) mask
+ .equ CP_MF_EQ_LSBS, 0x00000000 ; int. mult. fmt. = LSBs
+ .equ CP_MF_EQ_LSBSFA, 0x00001000 ; int. mult. fmt. = LSBs,fmt. adj.
+ .equ CP_MF_EQ_MSBS, 0x00002000 ; int. mult. fmt. = MSBs
+ .equ CP_MF_EQ_MSBSFA, 0x00003000 ; int. mult. fmt. = MSBs,fmt. adj.
+ .equ CP_MF_POSITION, 12
+;
+ .equ CP_RMS_MASK, 0x0001C000 ; round mode (RMS) mask
+ .equ CP_RMS_EQ_NEAREST, 0x00000000 ; round mode = to nearest
+ .equ CP_RMS_EQ_MINUS_INF, 0x00004000 ; round mode = toward -oo
+ .equ CP_RMS_EQ_PLUS_INF, 0x00008000 ; round mode = toward +oo
+ .equ CP_RMS_EQ_ZERO, 0x0000C000 ; round mode = toward zero
+ .equ CP_RMS_POSITION, 14
+;
+ .equ CP_PL_MASK, 0x00100000 ; pipeline mode (PL) mask
+ .equ CP_FLOWTHROUGH_MODE, 0x00000000 ; select flow-through mode
+ .equ CP_PIPELINE_MODE, 0x00100000 ; select pipeline mode
+ .equ CP_PL_POSITION, 20
+;
+ .equ CP_INVALID_OP_EXCP_MASK, 0x00400000 ; invalid operation excp. mask(IM)
+ .equ CP_RESERVED_OP_EXCP_MASK,0x00800000 ; reserved operand excp. mask(RM)
+ .equ CP_OVERFLOW_EXCP_MASK, 0x01000000 ; overflow exception mask (VM)
+ .equ CP_UNDERFLOW_EXCP_MASK, 0x02000000 ; underflow exception mask(UM)
+ .equ CP_INEXACT_EXCP_MASK, 0x04000000 ; inexact result excp. mask(XM)
+ .equ CP_ZERO_EXCP_MASK, 0x08000000 ; zero result exception mask (ZM)
+ .equ CP_EXCPS_POSITION, 22
+;
+ .equ CP_PLTC_MASK, 0x0000000F ; pipeline timer count (PLTC) mask
+ .equ CP_PLTC_EQ_2, 0x00000002 ; pipeline timer count = 2
+ .equ CP_PLTC_EQ_3, 0x00000003 ; pipeline timer count = 3
+ .equ CP_PLTC_EQ_4, 0x00000004 ; pipeline timer count = 4
+ .equ CP_PLTC_EQ_5, 0x00000005 ; pipeline timer count = 5
+ .equ CP_PLTC_EQ_6, 0x00000006 ; pipeline timer count = 6
+ .equ CP_PLTC_EQ_7, 0x00000007 ; pipeline timer count = 7
+ .equ CP_PLTC_EQ_8, 0x00000008 ; pipeline timer count = 8
+ .equ CP_PLTC_EQ_9, 0x00000009 ; pipeline timer count = 9
+ .equ CP_PLTC_EQ_10, 0x0000000A ; pipeline timer count = 10
+ .equ CP_PLTC_EQ_11, 0x0000000B ; pipeline timer count = 11
+ .equ CP_PLTC_EQ_12, 0x0000000C ; pipeline timer count = 12
+ .equ CP_PLTC_EQ_13, 0x0000000D ; pipeline timer count = 13
+ .equ CP_PLTC_EQ_14, 0x0000000E ; pipeline timer count = 14
+ .equ CP_PLTC_EQ_15, 0x0000000F ; pipeline timer count = 15
+ .equ CP_PLTC_POSITION, 0
+;
+ .equ CP_MATC_MASK, 0x000000F0 ; mpy-acc timer count (MATC) mask
+ .equ CP_MATC_EQ_2, 0x00000020 ; mpy-acc timer count = 2
+ .equ CP_MATC_EQ_3, 0x00000030 ; mpy-acc timer count = 3
+ .equ CP_MATC_EQ_4, 0x00000040 ; mpy-acc timer count = 4
+ .equ CP_MATC_EQ_5, 0x00000050 ; mpy-acc timer count = 5
+ .equ CP_MATC_EQ_6, 0x00000060 ; mpy-acc timer count = 6
+ .equ CP_MATC_EQ_7, 0x00000070 ; mpy-acc timer count = 7
+ .equ CP_MATC_EQ_8, 0x00000080 ; mpy-acc timer count = 8
+ .equ CP_MATC_EQ_9, 0x00000090 ; mpy-acc timer count = 9
+ .equ CP_MATC_EQ_10, 0x000000A0 ; mpy-acc timer count = 10
+ .equ CP_MATC_EQ_11, 0x000000B0 ; mpy-acc timer count = 11
+ .equ CP_MATC_EQ_12, 0x000000C0 ; mpy-acc timer count = 12
+ .equ CP_MATC_EQ_13, 0x000000D0 ; mpy-acc timer count = 13
+ .equ CP_MATC_EQ_14, 0x000000E0 ; mpy-acc timer count = 14
+ .equ CP_MATC_EQ_15, 0x000000F0 ; mpy-acc timer count = 15
+ .equ CP_MATC_POSITION, 4
+;
+ .equ CP_MVTC_MASK, 0x00000F00 ; MOVE P timer count (MVTC) mask
+ .equ CP_MVTC_EQ_2, 0x00000200 ; MOVE P timer count = 2
+ .equ CP_MVTC_EQ_3, 0x00000300 ; MOVE P timer count = 3
+ .equ CP_MVTC_EQ_4, 0x00000400 ; MOVE P timer count = 4
+ .equ CP_MVTC_EQ_5, 0x00000500 ; MOVE P timer count = 5
+ .equ CP_MVTC_EQ_6, 0x00000600 ; MOVE P timer count = 6
+ .equ CP_MVTC_EQ_7, 0x00000700 ; MOVE P timer count = 7
+ .equ CP_MVTC_EQ_8, 0x00000800 ; MOVE P timer count = 8
+ .equ CP_MVTC_EQ_9, 0x00000900 ; MOVE P timer count = 9
+ .equ CP_MVTC_EQ_10, 0x00000A00 ; MOVE P timer count = 10
+ .equ CP_MVTC_EQ_11, 0x00000B00 ; MOVE P timer count = 11
+ .equ CP_MVTC_EQ_12, 0x00000C00 ; MOVE P timer count = 12
+ .equ CP_MVTC_EQ_13, 0x00000D00 ; MOVE P timer count = 13
+ .equ CP_MVTC_EQ_14, 0x00000E00 ; MOVE P timer count = 14
+ .equ CP_MVTC_EQ_15, 0x00000F00 ; MOVE P timer count = 15
+ .equ CP_MVTC_POSITION, 8
+;
+ .equ CP_AD_MASK, 0x00001000 ;
+ .equ CP_ADVANCE_DRDY_MODE, 0x00001000 ;
+ .equ CP_NORMAL_DRDY_MODE, 0x00000000 ;
+ .equ CP_AD_POSITION, 12
+;
+ .equ CP_HE_MASK, 0x00002000 ; Halt-on-error mask (HE)
+ .equ CP_HALT_ON_ERROR_ENABLED, 0x00002000 ; Halt-on-error enabled (HE=1)
+ .equ CP_HALT_ON_ERROR_DISABLED,0x00000000 ; Halt-on-error disabled (HE=0)
+ .equ CP_HE_POSITION, 13
+;
+ .equ CP_EX_MASK, 0x00004000 ; EXCP enable mask (EX)
+ .equ CP_EXCP_ENABLED, 0x00004000 ; EXCP enabled (EX=1)
+ .equ CP_EXCP_DISABLED, 0x00000000 ; EXCP disabled (EX=0)
+ .equ CP_EX_POSITION, 14
+;
+;
+;
+; ______________________________________________________________________
+;|______________________________________________________________________|
+;| |
+;| SYMBOLS FOR DEFINING THE STATUS REGISTER WORD |
+;| |
+;|______________________________________________________________________|
+;|______________________________________________________________________|
+;
+;
+ .equ CP_INVALID_OP_EXCP, 0x00000001
+ .equ CP_INVALID_OP_EXCP_POSITION, 0
+;
+ .equ CP_RESERVED_OP_EXCP, 0x00000002
+ .equ CP_RESERVED_OP_EXCP_POSITION, 1
+;
+ .equ CP_OVERFLOW_EXCP, 0x00000004
+ .equ CP_OVERFLOW_EXCP_POSITION, 2
+;
+ .equ CP_UNDERFLOW_EXCP, 0x00000008
+ .equ CP_UNDERFLOW_EXCP_POSITION, 3
+;
+ .equ CP_INEXACT_EXCP, 0x00000010
+ .equ CP_INEXACT_EXCP_POSITION, 4
+;
+ .equ CP_ZERO_EXCP, 0x00000020
+ .equ CP_ZERO_EXCP_POSITION, 5
+;
+ .equ CP_EXCP_STATUS_MASK, 0x00000040
+ .equ CP_EXCP_STATUS_FLAG_POSITION, 6
+;
+ .equ CP_R_TEMP_VALID_MASK, 0x00000080
+ .equ R_TEMP_VALID_POSITION, 7
+;
+ .equ CP_S_TEMP_VALID_MASK, 0x00000100
+ .equ CP_S_TEMP_VALID_POSITION, 8
+;
+ .equ CP_I_TEMP_VALID_FLAG, 0x00000200
+ .equ CP_I_TEMP_VALID_POSITION, 9
+;
+ .equ CP_OPERATION_PENDING_MASK, 0x00000400
+ .equ CP_OPERATION_PENDING_POSITION,10
+;
+;
+; ______________________________________________________________________
+;|______________________________________________________________________|
+;| |
+;| SYMBOLS FOR DEFINING THE FLAG REGISTER WORD |
+;| |
+;|______________________________________________________________________|
+;|______________________________________________________________________|
+;
+;
+ .equ CP_INVALID_OP_FLAG, 0x00000001
+ .equ CP_INVALID_OP_FLAG_POSITION, 0
+;
+ .equ CP_CARRY_FLAG, 0x00000001
+ .equ CP_CARRY_FLAG_POSITION, 0
+;
+ .equ CP_RESERVED_OP_FLAG, 0x00000002
+ .equ CP_RESERVED_OP_FLAG_POSITION, 1
+;
+ .equ CP_OVERFLOW_FLAG, 0x00000004
+ .equ CP_OVERFLOW_FLAG_POSITION, 2
+;
+ .equ CP_UNORDERED_FLAG, 0x00000004
+ .equ CP_UNORDERED_FLAG_POSITION, 2
+;
+ .equ CP_UNDERFLOW_FLAG, 0x00000008
+ .equ CP_UNDERFLOW_FLAG_POSITION, 3
+;
+ .equ CP_LESS_THAN_FLAG, 0x00000008
+ .equ CP_LESS_THAN_POSITION, 3
+;
+ .equ CP_WINNER_FLAG, 0x00000008
+ .equ CP_WINNER_FLAG_POSITION, 3
+;
+ .equ CP_INEXACT_FLAG, 0x00000010
+ .equ CP_INEXACT_FLAG_POSITION, 4
+;
+ .equ CP_GREATER_THAN_FLAG, 0x00000010
+ .equ CP_GREATER_THAN_FLAG_POSITION,4
+;
+ .equ CP_ZERO_FLAG, 0x00000020
+ .equ CP_ZERO_FLAG_POSITION, 5
+;
+ .equ CP_EQUAL_FLAG, 0x00000020
+ .equ CP_EQUAL_FLAG_POSITION, 5
+;
+ .equ CP_SIGN_FLAG, 0x00000040
+ .equ CP_SIGN_FLAG_POSITION, 6
+;
+;
+; ______________________________________________________________________
+;|______________________________________________________________________|
+;| |
+;| SYMBOLS FOR TRANSACTION REQUEST TYPES |
+;| |
+;|______________________________________________________________________|
+;|______________________________________________________________________|
+;
+;
+; write requests
+;
+; Note: Each WRITE_* transaction request, plus ADV_TEMPS sets the CA
+; (Coprocessor Active) bit in the 29000 Current Processor Status Register.
+;
+ .equ CP_WRITE_R, 0x20 ;write sing or doub to R register
+ .equ CP_WRITE_S, 0x21 ;write sing or doub to S register
+ .equ CP_WRITE_RS, 0x22 ;write sing operands to R and S
+ .equ CP_WRITE_MODE, 0x23 ;write mode double word to 29027
+ .equ CP_WRITE_STATUS, 0x24 ;write status word to 29027
+ .equ CP_WRITE_PREC, 0x25 ;write reg. file precision word
+ ; to 29027
+ .equ CP_WRITE_INST, 0x26 ;write instruction to 29027
+ .equ CP_ADV_TEMPS, 0x27 ;move R-Temp, S-Temp into R,S
+;
+; read requests
+;
+ .equ CP_READ_MSBS, 0x00 ;read sing result or MSB of doub
+ .equ CP_READ_LSBS, 0x01 ;read LSB of doub result
+ .equ CP_READ_FLAGS, 0x02 ;read 29027 flag register
+ .equ CP_READ_STATUS, 0x03 ;read 29027 status register
+ .equ CP_SAVE_STATE, 0x04 ;read one word of 29027 state
+;
+; "start operation" symbol; this is "OR"ed with a WRITE_R, WRITE_S,
+; WRITE_RS, or WRITE_INST symbol.
+;
+
+ .equ CP_START, 0b1000000 ;bit to start 29027 operation
+;
+; "suppress exceptions reporting" symbol; this is "OR"ed with a ed
+;
+;
+
+ .equ CP_NO_ERR, 0b1000000 ;suppress exception reporting
+; ; during load.
+; cp_write_r - transfers 32- or 64-bit operand to Am29027
+; register R
+; cp_write_s - transfers 32- or 64-bit operand to Am29027
+; register S
+; cp_write_rs - transfers two 32-bit floating-point operands to
+; Am29027 registers R and S
+; cp_write_prec - transfers a word to the Am29027 precision register
+; cp_write_status - transfers a word to the Am29027 status register
+; cp_write_inst - transfers an instruction to the Am29027
+; instruction register
+; cp_advance_temps - transfers the contents of the Am29027 temporary
+; registers to the corresponding working registers
+; cp_write_mode - transfers a mode specification the the Am29027
+; mode register
+; cp_read_dp - read a double-precision floating-point result
+; from the Am29027
+; cp_read_sp - read a single-precision floating-point result
+; from the Am29027
+; cp_read_int - read an integer result from the Am29027
+; cp_read_flags - read the contents of the Am29027 flag register
+; cp_read_status - read the contents of the Am29027 status register
+; cp_read_state_wd - read a single Am29027 state word
+; cp_save_state - save Am29027 state
+; cp_restore_state - restore Am29027 state
+; cp_build_inst - build an Am29027 instruction
+; cp_build_inst_h - build 16 MSBs of an Am29027 instruction
+; cp_build_inst_l - build 16 LSBs of an Am29027 instruction
+;
+;
+;
+;============================================================================
+; MACRO NAME: cp_write_r
+;
+; WRITTEN BY: Bob Perlman
+;
+; MOST RECENT UPDATE: April 16, 1988
+;
+; FUNCTION: Transfers a 32- or 64-bit operand to Am29027 input register R
+;
+; PARAMETERS:
+; reg - the Am29000 g.p. register containing the 32-bit operand to be
+; transferred, or the 32 MSBs of the 64-bit operand to be
+; transferred.
+;
+; LSB_reg - the Am29000 g.p. register containing the 32 LSBs of the
+; 64-bit operand to be transferred
+;
+; INT - indicates that the operand to be transferred is a 32-bit
+; integer
+;
+; START - indicates that a new Am29027 operation is to be started
+; once the operand has been transferred
+;
+;
+; USAGE:
+;
+; cp_write_r reg [,LSB_reg] [,START] for floating-point operands
+; or cp_write_r reg, INT [,START] for integer operands
+;
+; Transferring double-precision floating-point operands - Either of
+; two forms is acceptable:
+;
+; cp_write_r reg
+; or cp_write_r reg, LSB_reg
+;
+; If LSB_reg is omitted, the LSBs are taken from the next g.p.
+; register.
+;
+; Ex: cp_write_r lr2 Transfers the contents of lr2 to
+; the most-significant half of Am29027
+; register R, and the contents of lr3
+; to the least-significant half.
+;
+; cp_write_r lr2,lr5 Transfers the contents of lr2 to
+; the most-significant half of Am29027
+; register R, and the contents of lr5
+; to the least-significant half.
+;
+;
+; Transferring single-precision floating-point operands - Use the
+; form:
+;
+; cp_write_r reg
+;
+;
+; Ex: cp_write_r lr2 Transfers the contents of lr2 to
+; the most-significant half of Am29027
+; register R, (the contents of lr3
+; will be transferred to the least-
+; significant half of register R, but
+; these bits are don't cares).
+;
+;
+; Transferring integer operands - Use the form:
+;
+; cp_write_r reg,INT
+;
+;
+; Ex: cp_write_r lr2,INT Transfers the contents of lr2 to
+; the least-significant half of Am29027
+; register R, (the contents of lr2
+; will also be transferred to the most-
+; significant half of register R, but
+; these bits are don't cares).
+;
+;
+; Starting an Am29027 operation - Any of the forms above may be
+; appended with parameter START, e.g.:
+;
+; cp_write_r lr2,START
+;
+; cp_write_r lr2,lr5,START
+;
+; cp_write_r lr2,INT,START
+;
+;
+;============================================================================
+;
+ .macro cp_write_r,p1,p2,p3
+;
+ .if $narg==0
+ .err
+ .print "cp_WRITE_R: missing parameter(s)"
+ .endif
+;
+;
+ .if $narg==1
+ store 1,CP_WRITE_R,p1,%%((&p1)+1)
+ .exitm
+ .endif
+;
+;
+ .if $narg==2
+;
+ .ifeqs "@p2@","INT"
+ store 1,CP_WRITE_R,p1,p1
+ .exitm
+ .endif
+;
+ .ifeqs "@p2@","START"
+ store 1,CP_WRITE_R|CP_START,p1,%%((&p1)+1)
+ .exitm
+ .endif
+;
+ store 1,CP_WRITE_R,p1,p2
+ .exitm
+;
+ .endif
+;
+;
+ .if $narg==3
+;
+ .ifeqs "@p2@","START"
+ .ifeqs "@p3@","INT"
+ store 1,CP_WRITE_R|CP_START,p1,p1
+ .else
+ .err
+ .print "cp_write_r: bad parameter list"
+ .endif
+ .exitm
+ .endif
+;
+ .ifeqs "@p2@","INT"
+ .ifeqs "@p3@","START"
+ store 1,CP_WRITE_R|CP_START,p1,p1
+ .else
+ .err
+ .print "cp_write_r: bad parameter list"
+ .endif
+ .exitm
+ .endif
+;
+ .ifeqs "@p3@","START"
+ store 1,CP_WRITE_R|CP_START,p1,p2
+ .else
+ .err
+ .print "cp_write_r: bad parameter list"
+ .endif
+ .exitm
+;
+ .endif
+;
+;
+ .if $narg>=4
+ .err
+ .print "cp_write_r: too many parameters"
+ .endif
+;
+ .endm
+;
+;
+;
+;
+;
+;============================================================================
+; MACRO NAME: cp_write_s
+;
+; WRITTEN BY: Bob Perlman
+;
+; MOST RECENT UPDATE: April 16, 1988
+;
+; FUNCTION: Transfers a 32- or 64-bit operand to Am29027 input register S
+;
+; PARAMETERS:
+; reg - the Am29000 g.p. register containing the 32-bit operand to be
+; transferred, or the 32 MSBs of the 64-bit operand to be
+; transferred.
+;
+; LSB_reg - the Am29000 g.p. register containing the 32 LSBs of the
+; 64-bit operand to be transferred
+;
+; INT - indicates that the operand to be transferred is a 32-bit
+; integer
+;
+; START - indicates that a new Am29027 operation is to be started
+; once the operand has been transferred
+;
+;
+; USAGE:
+;
+; cp_write_s reg [,LSB_reg] [,START] for floating-point operands
+; or cp_write_s reg, INT [,START] for integer operands
+;
+; Transferring double-precision floating-point operands - Either of
+; two forms is acceptable:
+;
+; cp_write_s reg
+; or cp_write_s reg, LSB_reg
+;
+; If LSB_reg is omitted, the LSBs are taken from the next g.p.
+; register.
+;
+; Ex: cp_write_s lr2 Transfers the contents of lr2 to
+; the most-significant half of Am29027
+; register S, and the contents of lr3
+; to the least-significant half.
+;
+; cp_write_s lr2,lr5 Transfers the contents of lr2 to
+; the most-significant half of Am29027
+; register S, and the contents of lr5
+; to the least-significant half.
+;
+;
+; Transferring single-precision floating-point operands - Use the
+; form:
+;
+; cp_write_s reg
+;
+;
+; Ex: cp_write_s lr2 Transfers the contents of lr2 to
+; the most-significant half of Am29027
+; register S, (the contents of lr3
+; will be transferred to the least-
+; significant half of register S, but
+; these bits are don't cares).
+;
+;
+; Transferring integer operands - Use the form:
+;
+; cp_write_s reg,INT
+;
+;
+; Ex: cp_write_s lr2,INT Transfers the contents of lr2 to
+; the least-significant half of Am29027
+; register S, (the contents of lr2
+; will also be transferred to the most-
+; significant half of register S, but
+; these bits are don't cares).
+;
+;
+; Starting an Am29027 operation - Any of the forms above may be
+; appended with parameter START, e.g.:
+;
+; cp_write_s lr2,START
+;
+; cp_write_s lr2,lr5,START
+;
+; cp_write_s lr2,INT,START
+;
+;
+;============================================================================
+;
+ .macro cp_write_s,p1,p2,p3
+;
+ .if $narg==0
+ .err
+ .print "cp_write_s: missing parameter(s)"
+ .endif
+;
+;
+ .if $narg==1
+ store 1,CP_WRITE_S,p1,%%((&p1)+1)
+ .exitm
+ .endif
+;
+;
+ .if $narg==2
+;
+ .ifeqs "@p2@","INT"
+ store 1,CP_WRITE_S,p1,p1
+ .exitm
+ .endif
+;
+ .ifeqs "@p2@","START"
+ store 1,CP_WRITE_S|CP_START,p1,%%((&p1)+1)
+ .exitm
+ .endif
+;
+ store 1,CP_WRITE_S,p1,p2
+ .exitm
+;
+ .endif
+;
+;
+ .if $narg==3
+;
+ .ifeqs "@p2@","START"
+ .ifeqs "@p3@","INT"
+ store 1,CP_WRITE_S|CP_START,p1,p1
+ .else
+ .err
+ .print "cp_write_s: bad parameter list"
+ .endif
+ .exitm
+ .endif
+;
+ .ifeqs "@p2@","INT"
+ .ifeqs "@p3@","START"
+ store 1,CP_WRITE_S|CP_START,p1,p1
+ .else
+ .err
+ .print "cp_write_s: bad parameter list"
+ .endif
+ .exitm
+ .endif
+;
+ .ifeqs "@p3@","START"
+ store 1,CP_WRITE_S|CP_START,p1,p2
+ .else
+ .err
+ .print "cp_write_s: bad parameter list"
+ .endif
+ .exitm
+;
+ .endif
+;
+;
+ .if $narg>=4
+ .err
+ .print "cp_write_s: too many parameters"
+ .endif
+;
+ .endm
+;
+;
+;
+;
+;============================================================================
+; MACRO NAME: cp_write_rs
+;
+; WRITTEN BY: Bob Perlman
+;
+; MOST RECENT UPDATE: April 16, 1988
+;
+; FUNCTION: Transfers two 32-bit floating-point operands to Am29027
+; input registers R and S
+;
+; PARAMETERS:
+; reg1 - the Am29000 g.p. register containing the 32-bit operand to be
+; transferred to register R
+;
+; reg2 - the Am29000 g.p. register containing the 32-bit operand to be
+; transferred to register S
+;
+; START - indicates that a new Am29027 operation is to be started
+; once the operands have been transferred
+;
+;
+; USAGE:
+;
+; cp_write_rs reg1, reg2 [,START]
+;
+; Ex: cp_write_rs lr2,lr5 Transfers the contents of lr2 to
+; the most-significant half of Am29027
+; register R, and the contents of lr5
+; to the most-significant half of Am29027
+; register S.
+;
+; cp_write_rs lr2,lr5,START Transfers the contents of lr2 to
+; the most-significant half of Am29027
+; register R, and the contents of lr5
+; to the most-significant half of Am29027
+; register S; a new operation is started
+; once the transfer is complete.
+;
+;
+;
+;============================================================================
+;
+ .macro cp_write_rs,p1,p2,p3
+;
+;
+ .if $narg<=1
+ .err
+ .print "cp_write_rs: missing parameter(s)"
+ .exitm
+ .endif
+;
+;
+ .if $narg==2
+ .ifeqs "@p2@","START"
+ .err
+ .print "cp_write_rs: bad parameter list"
+ .else
+ store 1,CP_WRITE_RS,p1,p2
+ .endif
+ .exitm
+ .endif
+;
+;
+ .if $narg==3
+ .ifeqs "@p3@","START"
+ store 1,CP_WRITE_RS|CP_START,p1,p2
+ .else
+ .err
+ .print "cp_write_rs: bad parameter list"
+ .endif
+ .exitm
+ .endif
+;
+;
+ .if $narg>=4
+ .err
+ .print "cp_write_rs: too many parameters"
+ .exitm
+ .endif
+;
+ .endm
+;
+;
+;
+;
+;
+;
+;============================================================================
+; MACRO NAME: cp_write_prec
+;
+; WRITTEN BY: Bob Perlman
+;
+; MOST RECENT UPDATE: April 16, 1988
+;
+; FUNCTION: Transfers a word to the Am29027 precision register
+;
+; PARAMETERS:
+; reg - the Am29000 g.p. register containing the word to be
+; transferred to the Am29027 precision register
+;
+; USAGE:
+;
+; cp_write_prec reg
+;
+; Ex: cp_write_prec lr2 Transfers the contents of lr2 to
+; the Am29027 precision register.
+;
+;
+;============================================================================
+;
+ .macro cp_write_prec,p1
+;
+;
+ .if $narg!=1
+ .err
+ .print "cp_write_prec: bad parameter list"
+ .else
+ store 1,CP_WRITE_PREC,p1,0
+ .endif
+;
+ .endm
+;
+;
+;
+;
+;
+;
+;============================================================================
+; MACRO NAME: cp_write_status
+;
+; WRITTEN BY: Bob Perlman
+;
+; MOST RECENT UPDATE: April 16, 1988
+;
+; FUNCTION: Transfers a word to the Am29027 precision register
+;
+; PARAMETERS:
+; reg - the Am29000 g.p. register containing the word to be
+; transferred to the Am29027 status register
+;
+; RESTORE - indicates that this is the last step of a state restoration
+; sequence (flow-through mode only)
+;
+; INVALIDATE - indicates that the current contents of the ALU pipeline
+; register are to be invalidated (pipeline mode only)
+;
+; USAGE:
+;
+; cp_write_status reg [,RESTORE|INVALIDATE]
+;
+; Ex: cp_write_status lr2 Transfers the contents of lr2 to
+; the Am29027 status register.
+;
+;
+; cp_write_status lr2,RESTORE Transfers the contents of lr2 to
+; the Am29027 status register, and
+; completes the state restore
+; sequence
+;
+; cp_write_status lr2,INVALIDATE Transfers the contents of lr2 to
+; the Am29027 status register, and
+; invalidates the contents of the
+; ALU pipeline.
+;
+;
+;============================================================================
+;
+ .macro cp_write_status,p1,p2
+;
+ .if $narg==0
+ .err
+ .print "cp_write_status: missing parameter(s)"
+ .endif
+;
+;
+ .if $narg==1
+ store 1,CP_WRITE_STATUS,p1,0
+ .exitm
+ .endif
+;
+;
+ .if $narg==2
+;
+ .ifeqs "@p2@","RESTORE"
+ store 1,CP_WRITE_STATUS|CP_START,p1,0
+ .exitm
+ .endif
+;
+ .ifeqs "@p2@","INVALIDATE"
+ store 1,CP_WRITE_STATUS|CP_START,p1,0
+ .exitm
+ .endif
+;
+ .err
+ .print "cp_write_status: bad parameter list"
+ .exitm
+;
+ .endif
+;
+;
+ .if $narg >=3
+ .err
+ .print "cp_write_status: too many parameters"
+ .exitm
+ .endif
+;
+ .endm
+;
+;
+;
+;
+;
+;============================================================================
+; MACRO NAME: cp_write_inst
+;
+; WRITTEN BY: Bob Perlman
+;
+; MOST RECENT UPDATE: April 16, 1988
+;
+; FUNCTION: Transfers an instruction word to the Am29027 instruction
+; register
+;
+; PARAMETERS:
+; reg - the Am29000 g.p. register containing the word to be
+; transferred to the Am29027 instruction register
+;
+; START - indicates that a new Am29027 operation is to be started
+; once the instruction word has been transferred
+;
+; USAGE:
+;
+; cp_write_inst reg [,START]
+;
+; Ex: cp_write_inst lr2 Transfers the contents of lr2 to
+; the Am29027 instruction register.
+;
+;
+; cp_write_inst lr2,START Transfers the contents of lr2 to
+; the Am29027 status register; a
+; new operation is started once the
+; transfer is complete.
+;
+;
+;============================================================================
+;
+ .macro cp_write_inst,p1,p2
+;
+ .if $narg==0
+ .err
+ .print "cp_write_inst: missing parameter(s)"
+ .endif
+;
+;
+ .if $narg==1
+ store 1,CP_WRITE_INST,p1,p1
+ .exitm
+ .endif
+;
+;
+ .if $narg==2
+;
+ .ifeqs "@p2@","START"
+ store 1,CP_WRITE_INST|CP_START,p1,p1
+ .else
+ .err
+ .print "cp_write_inst: bad parameter list"
+ .endif
+ .exitm
+;
+ .endif
+;
+;
+ .if $narg >=3
+ .err
+ .print "cp_write_inst: too many parameters"
+ .exitm
+ .endif
+;
+ .endm
+;
+;
+;
+;
+;
+;
+;============================================================================
+; MACRO NAME: cp_advance_temps
+;
+; WRITTEN BY: Bob Perlman
+;
+; MOST RECENT UPDATE: April 17, 1988
+;
+; FUNCTION: Transfers the contents of Am29027 registers R-Temp, S-Temp,
+; and I-Temp to register R, register S, and the instruction
+; register, respectively.
+;
+; PARAMETERS: none
+;
+; USAGE:
+;
+; cp_advance_temps
+;
+;
+;
+;============================================================================
+;
+ .macro cp_advance_temps
+;
+;
+ .if $narg!=0
+ .err
+ .print "cp_advance_temp: takes no parameters"
+ .else
+ store 1,CP_ADV_TEMPS,gr1,0 ; use gr1 because it's never protected
+ .endif
+;
+ .endm
+;
+;
+;
+;
+;============================================================================
+; MACRO NAME: cp_write_mode
+;
+; WRITTEN BY: Bob Perlman
+;
+; MOST RECENT UPDATE: April 17, 1988
+;
+; FUNCTION: Transfers a 64-bit mode specification to the Am29027 mode
+; register
+;
+; PARAMETERS:
+; reg - the Am29000 g.p. register containing the 32 MSBs of the
+; 64-bit mode specification to be transferred.
+;
+; LSB_reg - the Am29000 g.p. register containing the 32 LSBs of the
+; 64-bit mode specification to be transferred.
+;
+; USAGE:
+;
+; cp_write_mode reg [,LSB_reg]
+;
+; Either of two forms is acceptable:
+;
+; cp_write_mode reg
+; or cp_write_mode reg, LSB_reg
+;
+; If LSB_reg is omitted, the LSBs are taken from the next g.p.
+; register.
+;
+; Ex: cp_write_mode lr2 Transfers the contents of lr2 to
+; the most-significant half of the Am29027
+; mode register, and the contents of lr3
+; to the least-significant half.
+;
+; cp_write_mode lr2,lr5 Transfers the contents of lr2 to
+; the most-significant half of the Am29027
+; mode register, and the contents of lr5
+; to the least-significant half.
+;
+;
+;
+;============================================================================
+;
+ .macro cp_write_mode,p1,p2
+;
+ .if $narg==0
+ .err
+ .print "cp_write_mode: missing parameter(s)"
+ .endif
+;
+;
+ .if $narg==1
+ store 1,CP_WRITE_MODE,%%((&p1)+1),p1
+ .exitm
+ .endif
+;
+;
+ .if $narg==2
+ store 1,CP_WRITE_MODE,p2,p1
+ .exitm
+ .endif
+;
+;
+ .if $narg>=3
+ .err
+ .print "cp_write_mode: too many parameters"
+ .endif
+;
+ .endm
+;
+;
+;
+;============================================================================
+; MACRO NAME: cp_read_dp
+;
+; WRITTEN BY: Bob Perlman
+;
+; MOST RECENT UPDATE: April 17, 1988
+;
+; FUNCTION: Transfers the current Am29027 double-precison floating-point
+; result to the Am29000
+;
+; PARAMETERS:
+; reg - the Am29000 g.p. register into which the 32 MSBs of the
+; current Am29027 result are to be written.
+;
+; LSB_reg - the Am29000 g.p. register into which the 32 LSBs of the
+; current Am29027 result are to be written.
+;
+; NO_ERR - indicates that exception reporting is to be suppressed for this
+; transfer.
+;
+; USAGE:
+;
+; cp_read_dp reg [,LSB_reg] [,START]
+;
+; Either of two forms is acceptable:
+;
+; cp_read_dp reg
+; or cp_read_dp reg, LSB_reg
+;
+; If LSB_reg is omitted, the LSBs are written to the next g.p. register.
+;
+; Ex: cp_read_dp lr2 Transfers the 32 MSBs of the current
+; Am29027 result to lr2, and the 32 LSBs
+; to lr3.
+;
+; cp_read_dp lr2,lr5 Transfers the 32 MSBs of the current
+; Am29027 result to lr2, and the 32 LSBs
+; to lr5.
+;
+; Exception reporting can be suppressed by appending NO_ERR to either
+; of the above, e.g.:
+;
+; cp_read_dp lr2,NO_ERR
+; cp_read_dp lr2,lr5,NO_ERR
+;
+;
+;============================================================================
+;
+ .macro cp_read_dp,p1,p2,p3
+;
+ .if $narg==0
+ .err
+ .print "cp_read_dp: missing parameter(s)"
+ .endif
+;
+;
+ .if $narg==1
+ load 1,CP_READ_LSBS,%%((&p1)+1),0
+ load 1,CP_READ_MSBS,p1,0
+ .exitm
+ .endif
+;
+;
+ .if $narg==2
+;
+ .ifeqs "@p2@","NO_ERR"
+ load 1,CP_READ_LSBS|CP_NO_ERR,%%((&p1)+1),0
+ load 1,CP_READ_MSBS|CP_NO_ERR,p1,0
+ .exitm
+ .endif
+;
+ load 1,CP_READ_LSBS,p2,0
+ load 1,CP_READ_MSBS,p1,0
+ .exitm
+;
+ .endif
+;
+;
+ .if $narg==3
+;
+ .ifeqs "@p3@","NO_ERR"
+ load 1,CP_READ_LSBS|CP_NO_ERR,p2,0
+ load 1,CP_READ_MSBS|CP_NO_ERR,p1,0
+ .else
+ .err
+ .print "cp_read_dp: bad parameter list"
+ .endif
+ .exitm
+;
+ .endif
+;
+;
+ .if $narg>=4
+ .err
+ .print "cp_read_dp: too many parameters"
+ .endif
+;
+ .endm
+;
+;
+;
+;============================================================================
+; MACRO NAME: cp_read_sp
+;
+; WRITTEN BY: Bob Perlman
+;
+; MOST RECENT UPDATE: April 17, 1988
+;
+; FUNCTION: Transfers the current Am29027 single-precison floating-point
+; result to the Am29000
+;
+; PARAMETERS:
+; reg - the Am29000 g.p. register into which the current Am29027
+; result is to be written.
+;
+; NO_ERR - indicates that exception reporting is to be suppressed for this
+; transfer.
+;
+; USAGE:
+;
+; cp_read_sp reg [,START]
+;
+; Ex: cp_read_sp lr2 Transfers the current Am29027 result
+; to lr2.
+;
+; cp_read_sp lr2,NO_ERR Transfers the current Am29027 result
+; to lr2, and suppresses exception
+; reporting for this transfer.
+;
+;
+;============================================================================
+;
+ .macro cp_read_sp,p1,p2
+;
+ .if $narg==0
+ .err
+ .print "cp_read_sp: missing parameter(s)"
+ .endif
+;
+;
+ .if $narg==1
+ load 1,CP_READ_MSBS,p1,0
+ .exitm
+ .endif
+;
+;
+ .if $narg==2
+;
+ .ifeqs "@p2@","NO_ERR"
+ load 1,CP_READ_MSBS|CP_NO_ERR,p1,0
+ .else
+ .err
+ .print "cp_read_sp: bad parameter list"
+ .endif
+ .exitm
+;
+ .endif
+;
+;
+ .if $narg>=3
+ .err
+ .print "cp_read_sp: too many parameters"
+ .endif
+;
+ .endm
+;
+;
+;
+;============================================================================
+; MACRO NAME: cp_read_int
+;
+; WRITTEN BY: Bob Perlman
+;
+; MOST RECENT UPDATE: April 17, 1988
+;
+; FUNCTION: Transfers the current Am29027 integer result to the Am29000
+;
+; PARAMETERS:
+; reg - the Am29000 g.p. register into which the current Am29027
+; result is to be written.
+;
+; NO_ERR - indicates that exception reporting is to be suppressed for this
+; transfer.
+;
+; USAGE:
+;
+; cp_read_int reg [,START]
+;
+; Ex: cp_read_int lr2 Transfers the current Am29027 result
+; to lr2.
+;
+; cp_read_int lr2,NO_ERR Transfers the current Am29027 result
+; to lr2, and suppresses exception
+; reporting for this transfer.
+;
+;
+;============================================================================
+;
+ .macro cp_read_int,p1,p2
+;
+ .if $narg==0
+ .err
+ .print "cp_read_int: missing parameter(s)"
+ .endif
+;
+;
+ .if $narg==1
+ load 1,CP_READ_LSBS,p1,0
+ nop ; leave a cycle for the MSBs to come out
+ .exitm
+ .endif
+;
+;
+ .if $narg==2
+;
+ .ifeqs "@p2@","NO_ERR"
+ load 1,CP_READ_LSBS|CP_NO_ERR,p1,0
+ nop ; leave a cycle for the MSBs to come out
+ .else
+ .err
+ .print "cp_read_int: bad parameter list"
+ .endif
+ .exitm
+;
+ .endif
+;
+;
+ .if $narg>=3
+ .err
+ .print "cp_read_int: too many parameters"
+ .endif
+;
+ .endm
+;
+;
+;
+;============================================================================
+; MACRO NAME: cp_read_flags
+;
+; WRITTEN BY: Bob Perlman
+;
+; MOST RECENT UPDATE: April 17, 1988
+;
+; FUNCTION: Transfers the contents of the Am29027 flag register
+; to the Am29000
+;
+; PARAMETERS:
+; reg - the Am29000 g.p. register into which the current Am29027
+; flag register contents are to be written.
+;
+; NO_ERR - indicates that exception reporting is to be suppressed for this
+; transfer.
+;
+; USAGE:
+;
+; cp_read_flags reg [,START]
+;
+; Ex: cp_read_flags lr2 Transfers the Am29027 flag register
+; contents to lr2.
+;
+; cp_read_flags lr2,NO_ERR Transfers the Am29027 flag register
+; contents to lr2, and suppresses
+; exception reporting for this
+; transfer.
+;
+;
+;============================================================================
+;
+ .macro cp_read_flags,p1,p2
+;
+ .if $narg==0
+ .err
+ .print "cp_read_flags: missing parameter(s)"
+ .endif
+;
+;
+ .if $narg==1
+ load 1,CP_READ_FLAGS,p1,0
+ .exitm
+ .endif
+;
+;
+ .if $narg==2
+;
+ .ifeqs "@p2@","NO_ERR"
+ load 1,CP_READ_FLAGS|CP_NO_ERR,p1,0
+ .else
+ .err
+ .print "cp_read_flags: bad parameter list"
+ .endif
+ .exitm
+;
+ .endif
+;
+;
+ .if $narg>=3
+ .err
+ .print "cp_read_flags: too many parameters"
+ .endif
+;
+ .endm
+;
+;
+;
+;============================================================================
+; MACRO NAME: cp_read_status
+;
+; WRITTEN BY: Bob Perlman
+;
+; MOST RECENT UPDATE: April 18, 1988
+;
+; FUNCTION: Transfers the contents of the Am29027 status register
+; to the Am29000
+;
+; PARAMETERS:
+; reg - the Am29000 g.p. register into which the current Am29027
+; status register contents are to be written.
+;
+; NO_ERR - indicates that exception reporting is to be suppressed for this
+; transfer.
+;
+; USAGE:
+;
+; cp_read_status reg [,START]
+;
+; Ex: cp_read_status lr2 Transfers the Am29027 status register
+; contents to lr2.
+;
+; cp_read_status lr2,NO_ERR Transfers the Am29027 status register
+; contents to lr2, and suppresses
+; exception reporting for this
+; transfer.
+;
+;
+;============================================================================
+;
+ .macro cp_read_status,p1,p2
+;
+ .if $narg==0
+ .err
+ .print "cp_read_status: missing parameter(s)"
+ .endif
+;
+;
+ .if $narg==1
+ load 1,CP_READ_STATUS,p1,0
+ .exitm
+ .endif
+;
+;
+ .if $narg==2
+;
+ .ifeqs "@p2@","NO_ERR"
+ load 1,CP_READ_STATUS|CP_NO_ERR,p1,0
+ .else
+ .err
+ .print "cp_read_status: bad parameter list"
+ .endif
+ .exitm
+;
+ .endif
+;
+;
+ .if $narg>=3
+ .err
+ .print "cp_read_status: too many parameters"
+ .endif
+;
+ .endm
+;
+;
+;
+;============================================================================
+; MACRO NAME: cp_read_state_wd
+;
+; WRITTEN BY: Bob Perlman
+;
+; MOST RECENT UPDATE: April 18, 1988
+;
+; FUNCTION: Transfers the next Am29027 state word to the Am29000
+;
+; PARAMETERS:
+; reg - the Am29000 g.p. register into which the next Am29027
+; state word contents are to be written.
+;
+; USAGE:
+;
+; cp_read_state_wd reg
+;
+; Ex: cp_read_state_wd lr2 Transfers the next Am29027 state word
+; to lr2.
+;
+;============================================================================
+;
+ .macro cp_read_state_wd,p1
+;
+ .if $narg==0
+ .err
+ .print "cp_read_state_wd: missing parameter"
+ .endif
+;
+;
+ .if $narg==1
+ load 1,CP_SAVE_STATE,p1,0
+ .exitm
+ .endif
+;
+;
+ .if $narg>=2
+ .err
+ .print "cp_read_state_wd: too many parameters"
+ .endif
+;
+ .endm
+;
+;
+;
+;============================================================================
+; MACRO NAME: cp_save_state
+;
+; WRITTEN BY: Bob Perlman
+;
+; MOST RECENT UPDATE: April 18, 1988
+;
+; FUNCTION: Transfers the current Am29027 state to the Am29000
+;
+; PARAMETERS:
+; reg - the first of 30 Am29000 g.p. registers in which Am29027 state
+; is saved.
+;
+; USAGE:
+;
+; cp_save_state reg
+;
+; This macro transfers the current Am29027 state to a block of 30 Am29000
+; registers. State is stored in the following order:
+;
+; reg instruction register
+; reg+1 I-Temp
+; reg+2 R MSBs
+; reg+3 R LSBs
+; reg+4 S MSBs
+; reg+5 S LSBs
+; reg+6 R-Temp MSBs
+; reg+7 R-Temp LSBs
+; reg+8 S-Temp MSBs
+; reg+9 S-Temp LSBs
+; reg+10 status
+; reg+11 precision
+; reg+12 RF0 MSBs
+; reg+13 RF0 LSBs
+; . .
+; . .
+; . .
+; reg+26 RF7 MSBs
+; reg+27 RF7 LSBs
+; reg+28 mode MSBs
+; reg+29 mode LSBs
+;
+;
+; Ex: cp_save_state lr2 Transfers the current Am29027 state to
+; the Am29000, starting at lr2.
+;
+; NOTES:
+; 1) This macro stores all 64-bit quantities in "big-endian" order,
+; i.e. MSBs first. For example, the 32 MSBs of register R are
+; stored in reg+2, and the 32 LSBs are stored in reg+3. The Am29027
+; transfers these quantites in "little-endian" order; the macro
+; is responsible for swapping MS and LS words.
+;
+;============================================================================
+;
+ .macro cp_save_state,p1
+;
+ .if $narg==0
+ .err
+ .print "cp_save_state: missing parameter"
+ .endif
+;
+;
+ .if $narg==1
+ cp_read_sp p1,NO_ERR
+ ;guarantee that we're at beginning of
+ ; save state sequence
+ cp_read_state_wd %%((&p1)+ 0) ; instruction
+ cp_read_state_wd %%((&p1)+ 1) ; I-Temp
+ cp_read_state_wd %%((&p1)+ 3) ; R MSBs
+ cp_read_state_wd %%((&p1)+ 2) ; R LSBs
+ cp_read_state_wd %%((&p1)+ 5) ; S MSBs
+ cp_read_state_wd %%((&p1)+ 4) ; S LSBs
+ cp_read_state_wd %%((&p1)+ 7) ; R-Temp MSBs
+ cp_read_state_wd %%((&p1)+ 6) ; R-Temp LSBs
+ cp_read_state_wd %%((&p1)+ 9) ; S-Temp MSBs
+ cp_read_state_wd %%((&p1)+ 8) ; S-Temp LSBs
+ cp_read_state_wd %%((&p1)+10) ; status
+ cp_read_state_wd %%((&p1)+11) ; precision
+ cp_read_state_wd %%((&p1)+13) ; RF0 MSBs
+ cp_read_state_wd %%((&p1)+12) ; RF0 LSBs
+ cp_read_state_wd %%((&p1)+15) ; RF1 MSBs
+ cp_read_state_wd %%((&p1)+14) ; RF1 LSBs
+ cp_read_state_wd %%((&p1)+17) ; RF2 MSBs
+ cp_read_state_wd %%((&p1)+16) ; RF2 LSBs
+ cp_read_state_wd %%((&p1)+19) ; RF3 MSBs
+ cp_read_state_wd %%((&p1)+18) ; RF3 LSBs
+ cp_read_state_wd %%((&p1)+21) ; RF4 MSBs
+ cp_read_state_wd %%((&p1)+20) ; RF4 LSBs
+ cp_read_state_wd %%((&p1)+23) ; RF5 MSBs
+ cp_read_state_wd %%((&p1)+22) ; RF5 LSBs
+ cp_read_state_wd %%((&p1)+25) ; RF6 MSBs
+ cp_read_state_wd %%((&p1)+24) ; RF6 LSBs
+ cp_read_state_wd %%((&p1)+27) ; RF7 MSBs
+ cp_read_state_wd %%((&p1)+26) ; RF7 LSBs
+ cp_read_state_wd %%((&p1)+29) ; mode MSBs
+ cp_read_state_wd %%((&p1)+28) ; mode LSBs
+ .exitm
+ .endif
+;
+;
+ .if $narg>=2
+ .err
+ .print "cp_save_state: too many parameters"
+ .endif
+;
+ .endm
+;
+;
+;
+;
+;
+;============================================================================
+; MACRO NAME: cp_restore_state
+;
+; WRITTEN BY: Bob Perlman
+;
+; MOST RECENT UPDATE: April 18, 1988
+;
+; FUNCTION: Restores Am29027 state
+;
+; PARAMETERS:
+; reg - the first of 30 Am29000 g.p. registers containing Am29027
+; state.
+;
+; temp - a scratch register used by cp_restore_state
+;
+; USAGE:
+;
+; cp_restore_state reg,temp
+;
+; This macro restores Am29027 state by transferring 30 words to the
+; Am29027; these words are taken from a block of Am29000 g.p. registers
+; starting at "reg." The words are assumed to be stored in the following
+; order:
+;
+; reg instruction register
+; reg+1 I-Temp
+; reg+2 R MSBs
+; reg+3 R LSBs
+; reg+4 S MSBs
+; reg+5 S LSBs
+; reg+6 R-Temp MSBs
+; reg+7 R-Temp LSBs
+; reg+8 S-Temp MSBs
+; reg+9 S-Temp LSBs
+; reg+10 status
+; reg+11 precision
+; reg+12 RF0 MSBs
+; reg+13 RF0 LSBs
+; . .
+; . .
+; . .
+; reg+26 RF7 MSBs
+; reg+27 RF7 LSBs
+; reg+28 mode MSBs
+; reg+29 mode LSBs
+;
+;
+; Ex: cp_restore_state lr2,gr70 Restores Am29027 state by
+; transferring a block of 30 words
+; that begins at lr2. Register gr70
+; is used as scratch storage by this
+; macro.
+;
+;
+;============================================================================
+;
+ .macro cp_restore_state,p1,p2
+;
+ .if $narg<=1
+ .err
+ .print "cp_restore_state: missing parameter(s)"
+ .endif
+;
+;
+ .if $narg==2
+
+ const p2,0 ;clear the status register
+ cp_write_status p2
+;
+ cp_write_mode %%((&p1)+28) ;restore the mode register
+;
+ const p2,0x80000018 ; restore RF0
+ consth p2,0x80000018
+ cp_write_inst p2
+ cp_write_r %%((&p1)+12),START
+;
+ consth p2,0x90000018 ; restore RF1
+ cp_write_inst p2
+ cp_write_r %%((&p1)+14),START
+;
+ consth p2,0xA0000018 ; restore RF2
+ cp_write_inst p2
+ cp_write_r %%((&p1)+16),START
+;
+ consth p2,0xB0000018 ; restore RF3
+ cp_write_inst p2
+ cp_write_r %%((&p1)+18),START
+;
+ consth p2,0xC0000018 ; restore RF4
+ cp_write_inst p2
+ cp_write_r %%((&p1)+20),START
+;
+ consth p2,0xD0000018 ; restore RF5
+ cp_write_inst p2
+ cp_write_r %%((&p1)+22),START
+;
+ consth p2,0xE0000018 ; restore RF6
+ cp_write_inst p2
+ cp_write_r %%((&p1)+24),START
+;
+ consth p2,0xF0000018 ; restore RF7
+ cp_write_inst p2
+ cp_write_r %%((&p1)+26),START
+;
+ cp_read_sp p2 ; do a dummy read, to guarantee that
+ ; the last operation is complete
+;
+ cp_write_prec %%((&p1)+11) ; restore precision
+;
+ cp_write_r %%((&p1)+2) ; restore R
+ cp_write_s %%((&p1)+4) ; restore S
+ cp_write_inst %%((&p1)+0) ; restore instruction
+ cp_advance_temps ; move R,S, and inst. to working registers
+;
+ cp_write_r %%((&p1)+6) ; restore R-Temp
+ cp_write_s %%((&p1)+8) ; restore S-Temp
+ cp_write_inst %%((&p1)+1) ; restore I-Temp
+;
+; restore the status register, retime last operation
+;
+ cp_write_status %%((&p1)+10),RESTORE
+;
+ .exitm
+ .endif
+;
+;
+ .if $narg>=3
+ .err
+ .print "cp_restore_state: too many parameters"
+ .endif
+;
+ .endm
+;
+;
+;
+;============================================================================
+; MACRO NAME: cp_build_inst
+;
+; WRITTEN BY: Bob Perlman
+;
+; MOST RECENT UPDATE: April 24, 1988
+; : January 4, 1989 Rich Parker
+;
+; FUNCTION: Builds a 32-bit Am29027 instruction in an Am29000 g.p.
+; register.
+;
+; PARAMETERS:
+; reg - the Am29000 g.p. register into which the instruction word
+; is to be written
+;
+; op_code - mnemonic specifying the operation to be performed
+; (e.g. FADD, P_TIMES_Q)
+;
+; precision - precision specification for destination, source operands:
+; D_S - double-prec. result, single-prec. input(s)
+; D_D - double-prec. result, double-prec. input(s)
+; S_S - single-prec. result, single-prec. input(s)
+; S_D - single-prec. result, double-prec. input(s)
+;
+; dest - destination for the operation result:
+; RF0 - store result in Am29027 register file location RF0
+; RF1 - store result in Am29027 register file location RF1
+; RF2 - store result in Am29027 register file location RF2
+; RF3 - store result in Am29027 register file location RF3
+; RF4 - store result in Am29027 register file location RF4
+; RF5 - store result in Am29027 register file location RF5
+; RF6 - store result in Am29027 register file location RF6
+; RF7 - store result in Am29027 register file location RF7
+; GP - result is to be stored in an Am29000 g.p. register
+; with a read_dp, read_sp, or read_int macro.
+;
+; source1,
+; source2,
+; source3 - source operand specifications:
+; R - take source from Am29027 register R
+; S - take source from Am29027 register S
+; RF0 - take source from Am29027 register file location RF0
+; RF1 - take source from Am29027 register file location RF1
+; RF2 - take source from Am29027 register file location RF2
+; RF3 - take source from Am29027 register file location RF3
+; RF4 - take source from Am29027 register file location RF4
+; RF5 - take source from Am29027 register file location RF5
+; RF6 - take source from Am29027 register file location RF6
+; RF7 - take source from Am29027 register file location RF7
+; 0 - source is 0
+; ONE_HALF - source is constant .5 (f.p. operations only)
+; IMINUS1 - source is constant -1 (integer operations only)
+; 1 - source is constant 1
+; 2 - source is constant 2
+; 3 - source is constant 3
+; PI - source is constant pi (f.p. operations only)
+; IMINUSMAX - source is -(2**63) (integer operations only)
+;
+;
+; USAGE:
+;
+; cp_build_inst reg,op_code,[precision,]dest,source1[,source2][,source3]
+;
+; Op-codes fall into two categories: those that correspond to Am29000
+; floating-point op-codes, and for which the precision is implicit (e.g.
+; FADD, DMUL); and those that correspond to Am29027 base operations
+; (e.g. P_PLUS_T, P_TIMES_Q), and which require an explicit precision
+; specification.
+;
+; Every operation specified must have a destination; if the operation
+; does not write a result to the Am29027 register file, destination GP
+; must be specified. The number of source operands specified must agree
+; with the number of source operands required by the operation specified.
+;
+; Ex:
+;
+; cp_build_inst lr2,FADD,RF7,R,S
+; Builds an instruction word to
+; perform the operation:
+; RF7 <- R + S
+; where R, S, and RF7 are single-
+; precision f.p. operands. The
+; instruction word is placed in lr2.
+;
+; cp_build_inst gr119,DMUL,GP,R,ONE_HALF
+; Builds an instruction word to
+; perform the operation:
+; R * .5
+; where R, .5, and the result
+; are double-precision f.p. operands.
+; The result is not written to the
+; Am29027 register file. The
+; instruction word is written to
+; gr119.
+;
+;
+; cp_build_inst lr3,MIN_P_AND_T,S_D,RF7,R,S
+; Builds an instruction word to
+; perform the operation:
+; RF7 <- smaller of(R,S)
+; where R and S are double-precision
+; f.p. operands, and RF7 is a single-
+; precison f.p. operand. The
+; instruction word is written to
+; lr3.
+;
+;
+; cp_build_inst gr97,I_P_TIMES_Q,S_S,GP,R,2
+; Builds an instruction word to
+; perform the operation:
+; R * 2
+; where R, .5, and the result
+; are single-precision integer operands.
+; The result is not written to the
+; Am29027 register file. The
+; instruction word is written to
+; gr97
+;
+;
+; cp_build_inst lr7,ABS_P,D_D,RF6,S
+; Builds an instruction word to
+; perform the operation:
+; RF6 <- |S|
+; where S and RF7 are double-precision
+; f.p. operands. The instruction
+; word is written to gr7.
+;
+;
+; cp_build_inst gr127,PQ_PLUS_T,D_D,RF6,R,S,RF6
+; Builds an instruction word to
+; perform the operation:
+; RF6 <- (R * S) + RF6
+; where R, S and the result are
+; double-precision f.p. operands.
+; The instruction word is written
+; to gr127.
+;
+;
+;
+;============================================================================
+;
+ .macro cp_build_inst,p1,p2,p3,p4,p5,p6,p7
+;
+ .if $narg<=3
+ .err
+ .print "cp_build_inst: missing parameter(s)"
+ .exitm
+ .endif
+;
+; classify operation type
+;
+ .set _cp_op_type,255
+
+ _cp_set_op_params p2,FADD,1,5,4,0,5
+ _cp_set_op_params p2,DADD,1,5,4,0,5
+ _cp_set_op_params p2,FSUB,1,5,4,0,5
+ _cp_set_op_params p2,DSUB,1,5,4,0,5
+ _cp_set_op_params p2,FMUL,1,5,4,5,0
+ _cp_set_op_params p2,DMUL,1,5,4,5,0
+ _cp_set_op_params p2,FEQ,1,5,4,0,5
+ _cp_set_op_params p2,DEQ,1,5,4,0,5
+ _cp_set_op_params p2,FGE,1,5,4,0,5
+ _cp_set_op_params p2,DGE,1,5,4,0,5
+ _cp_set_op_params p2,FGT,1,5,4,0,5
+ _cp_set_op_params p2,DGT,1,5,4,0,5
+ _cp_set_op_params p2,CONVERT_I_TO_F,1,4,0,0,4
+ _cp_set_op_params p2,CONVERT_I_TO_D,1,4,0,0,4
+ _cp_set_op_params p2,CONVERT_F_TO_I,1,4,0,0,4
+ _cp_set_op_params p2,CONVERT_D_TO_I,1,4,0,0,4
+;
+; The next two lines were corrected on 1-4-89, Rich Parker
+;
+ _cp_set_op_params p2,CONVERT_F_TO_D,1,4,4,0,0
+ _cp_set_op_params p2,CONVERT_D_TO_F,1,4,4,0,0
+;
+ _cp_set_op_params p2,PASS_P,0,5,5,0,0
+ _cp_set_op_params p2,MINUSP,0,5,5,0,0
+ _cp_set_op_params p2,ABSP,0,5,5,0,0
+ _cp_set_op_params p2,SIGNT_TIMES_ABSP,0,6,6,0,5
+ _cp_set_op_params p2,P_PLUS_T,0,6,5,0,6
+ _cp_set_op_params p2,P_MINUS_T,0,6,5,0,6
+ _cp_set_op_params p2,MINUSP_PLUS_T,0,6,5,0,6
+ _cp_set_op_params p2,MINUSP_MINUS_T,0,6,5,0,6
+ _cp_set_op_params p2,ABS_P_PLUS_T,0,6,5,0,6
+ _cp_set_op_params p2,ABS_P_MINUS_T,0,6,5,0,6
+ _cp_set_op_params p2,ABSP_PLUS_ABST,0,6,5,0,6
+ _cp_set_op_params p2,ABSP_MINUS_ABST,0,6,5,0,6
+ _cp_set_op_params p2,ABS_ABSP_MINUS_ABST,0,6,5,0,6
+ _cp_set_op_params p2,P_TIMES_Q,0,6,5,6,0
+ _cp_set_op_params p2,MINUSP_TIMES_Q,0,6,5,6,0
+ _cp_set_op_params p2,ABS_P_TIMES_Q,0,6,5,6,0
+ _cp_set_op_params p2,COMPARE_P_AND_T,0,6,5,0,6
+ _cp_set_op_params p2,MAX_P_AND_T,0,6,5,0,6
+ _cp_set_op_params p2,MAX_ABSP_AND_ABST,0,6,5,0,6
+ _cp_set_op_params p2,MIN_P_AND_T,0,6,5,0,6
+ _cp_set_op_params p2,MIN_ABSP_AND_ABST,0,6,5,0,6
+ _cp_set_op_params p2,LIMIT_P_TO_MAGT,0,6,5,0,6
+ _cp_set_op_params p2,CONVERT_T_TO_INT,0,5,0,0,5
+ _cp_set_op_params p2,SCALE_T_TO_INT_BY_Q,0,6,0,6,5
+ _cp_set_op_params p2,PQ_PLUS_T,0,7,5,6,7
+ _cp_set_op_params p2,MINUSPQ_PLUS_T,0,7,5,6,7
+ _cp_set_op_params p2,PQ_MINUS_T,0,7,5,6,7
+ _cp_set_op_params p2,MINUSPQ_MINUS_T,0,7,5,6,7
+ _cp_set_op_params p2,ABSPQ_PLUS_ABST,0,7,5,6,7
+ _cp_set_op_params p2,MINUSABSPQ_PLUS_ABST,0,7,5,6,7
+ _cp_set_op_params p2,ABSPQ_MINUS_ABST,0,7,5,6,7
+ _cp_set_op_params p2,ROUND_T_TO_INT,0,5,0,0,5
+ _cp_set_op_params p2,RECIPROCAL_OF_P,0,5,5,0,0
+ _cp_set_op_params p2,CONVERT_T_TO_ALT,0,5,0,0,5
+ _cp_set_op_params p2,CONVERT_T_FROM_ALT,0,5,0,0,5
+ _cp_set_op_params p2,I_PASS_P,0,5,5,0,0
+ _cp_set_op_params p2,I_MINUSP,0,5,5,0,0
+ _cp_set_op_params p2,I_ABSP,0,5,5,0,0
+ _cp_set_op_params p2,I_SIGNT_TIMES_ABSP,0,6,6,0,5
+ _cp_set_op_params p2,I_P_PLUS_T,0,6,5,0,6
+ _cp_set_op_params p2,I_P_MINUS_T,0,6,5,0,6
+ _cp_set_op_params p2,I_MINUSP_PLUS_T,0,6,5,0,6
+ _cp_set_op_params p2,I_ABS_P_PLUS_T,0,6,5,0,6
+ _cp_set_op_params p2,I_ABS_P_MINUS_T,0,6,5,0,6
+ _cp_set_op_params p2,I_P_TIMES_Q,0,6,5,6,0
+ _cp_set_op_params p2,I_COMPARE_P_AND_T,0,6,5,0,6
+ _cp_set_op_params p2,I_MAX_P_AND_T,0,6,5,0,6
+ _cp_set_op_params p2,I_MIN_P_AND_T,0,6,5,0,6
+ _cp_set_op_params p2,I_CONVERT_T_TO_FLOAT,0,5,0,0,5
+ _cp_set_op_params p2,I_SCALE_T_TO_FLOAT_BY_Q,0,6,0,6,5
+ _cp_set_op_params p2,I_P_OR_T,0,6,5,0,6
+ _cp_set_op_params p2,I_P_AND_T,0,6,5,0,6
+ _cp_set_op_params p2,I_P_XOR_T,0,6,5,0,6
+ _cp_set_op_params p2,I_NOT_T,0,5,0,0,5
+ _cp_set_op_params p2,I_LSHIFT_P_BY_Q,0,6,5,6,0
+ _cp_set_op_params p2,I_ASHIFT_P_BY_Q,0,6,5,6,0
+ _cp_set_op_params p2,I_FSHIFT_PT_BY_Q,0,7,5,7,6
+ _cp_set_op_params p2,MOVE_P,0,5,5,0,0
+;
+;
+; if we couldn't find the op_code, flag an error
+;
+ .if _cp_op_type>=2
+ .err
+ .print "cp_build_inst: invalid Am29027 instruction mnemonic"
+ .exitm
+ .endif
+;
+; if number of parameters is incorrect, flag error
+;
+ .if $narg!=_cp_no_params
+ .err
+ .print "cp_build_inst: incorrect number of parameters"
+ .exitm
+ .endif
+;
+; find correct value for precision field, if appropriate
+;
+ .set _cp_prec_field,0 ; ** CORRECTION (1/4/89 ROP)
+ .if _cp_op_type==0 ; need to look for precision
+ .set _cp_found_precision,0
+ .ifeqs "@p3@","D_D"
+ .set _cp_prec_field,CP_@p3
+ .set _cp_found_precision,1
+ .endif
+ .ifeqs "@p3@","D_S"
+ .set _cp_prec_field,CP_@p3
+ .set _cp_found_precision,1
+ .endif
+ .ifeqs "@p3@","S_D"
+ .set _cp_prec_field,CP_@p3
+ .set _cp_found_precision,1
+ .endif
+ .ifeqs "@p3@","S_S"
+ .set _cp_prec_field,CP_@p3
+ .set _cp_found_precision,1
+ .endif
+ .if _cp_found_precision==0
+ .err
+ .print "cp_build_inst: missing precision field"
+ .exitm
+ .endif
+ .endif
+;
+; find value for destination field
+;
+ .if _cp_op_type==0
+ .set _cp_dest_field_val,CP_DEST_EQ_@p4
+ .else
+ .set _cp_dest_field_val,CP_DEST_EQ_@p3
+ .endif
+;
+; find correct value for p select field
+;
+ .if _cp_p_paramno==0
+ .set _cp_p_field_val,0x00000000
+ .endif
+ .if _cp_p_paramno==4
+ .set _cp_p_field_val,CP_P_EQ_@p4
+ .endif
+ .if _cp_p_paramno==5
+ .set _cp_p_field_val,CP_P_EQ_@p5
+ .endif
+ .if _cp_p_paramno==6
+ .set _cp_p_field_val,CP_P_EQ_@p6
+ .endif
+ .if _cp_p_paramno==7
+ .set _cp_p_field_val,CP_P_EQ_@p7
+ .endif
+ .ifeqs "@p2@","I_NOT_T"
+ .set _cp_p_field_val,CP_P_EQ_IMINUS1
+ .endif
+;
+; find correct value for q select field
+;
+ .if _cp_q_paramno==0
+ .set _cp_q_field_val,0x00000000
+ .endif
+ .if _cp_q_paramno==4
+ .set _cp_q_field_val,CP_Q_EQ_@p4
+ .endif
+ .if _cp_q_paramno==5
+ .set _cp_q_field_val,CP_Q_EQ_@p5
+ .endif
+ .if _cp_q_paramno==6
+ .set _cp_q_field_val,CP_Q_EQ_@p6
+ .endif
+ .if _cp_q_paramno==7
+ .set _cp_q_field_val,CP_Q_EQ_@p7
+ .endif
+;
+; find correct value for t select field
+;
+ .if _cp_t_paramno==0
+ .set _cp_t_field_val,0x00000000
+ .endif
+ .if _cp_t_paramno==4
+ .set _cp_t_field_val,CP_T_EQ_@p4
+ .endif
+ .if _cp_t_paramno==5
+ .set _cp_t_field_val,CP_T_EQ_@p5
+ .endif
+ .if _cp_t_paramno==6
+ .set _cp_t_field_val,CP_T_EQ_@p6
+ .endif
+ .if _cp_t_paramno==7
+ .set _cp_t_field_val,CP_T_EQ_@p7
+ .endif
+;
+;
+ .set _cp_inst_word,CP_@p2@|_cp_prec_field|_cp_dest_field_val
+ .set _cp_inst_word,_cp_inst_word|_cp_p_field_val
+ .set _cp_inst_word,_cp_inst_word|_cp_q_field_val
+ .set _cp_inst_word,_cp_inst_word|_cp_t_field_val
+
+ const p1,_cp_inst_word
+ consth p1,_cp_inst_word
+;
+ .endm
+;
+;
+;
+ .macro _cp_set_op_params,par1,par2,par3,par4,par5,par6,par7
+ .ifeqs "@par1@","@par2@"
+ .set _cp_op_type,par3
+ .set _cp_no_params,par4
+ .set _cp_p_paramno,par5
+ .set _cp_q_paramno,par6
+ .set _cp_t_paramno,par7
+ .endif
+ .endm
+;
+;
+;
+;============================================================================
+; MACRO NAME: cp_build_inst_h
+;
+; WRITTEN BY: Bob Perlman
+;
+; MOST RECENT UPDATE: April 24, 1988
+; : January 4, 1989 Rich Parker
+;
+; FUNCTION: Builds a 16 MSBs of a 32-bit Am29027 instruction in an
+; Am29000 g.p. register.
+;
+; PARAMETERS:
+; reg - the Am29000 g.p. register into which the instruction word
+; is to be written
+;
+; op_code - mnemonic specifying the operation to be performed
+; (e.g. FADD, P_TIMES_Q)
+;
+; precision - precision specification for destination, source operands:
+; D_S - double-prec. result, single-prec. input(s)
+; D_D - double-prec. result, double-prec. input(s)
+; S_S - single-prec. result, single-prec. input(s)
+; S_D - single-prec. result, double-prec. input(s)
+;
+; dest - destination for the operation result:
+; RF0 - store result in Am29027 register file location RF0
+; RF1 - store result in Am29027 register file location RF1
+; RF2 - store result in Am29027 register file location RF2
+; RF3 - store result in Am29027 register file location RF3
+; RF4 - store result in Am29027 register file location RF4
+; RF5 - store result in Am29027 register file location RF5
+; RF6 - store result in Am29027 register file location RF6
+; RF7 - store result in Am29027 register file location RF7
+; GP - result is to be stored in an Am29000 g.p. register
+; with a read_dp, read_sp, or read_int macro.
+;
+; source1,
+; source2,
+; source3 - source operand specifications:
+; R - take source from Am29027 register R
+; S - take source from Am29027 register S
+; RF0 - take source from Am29027 register file location RF0
+; RF1 - take source from Am29027 register file location RF1
+; RF2 - take source from Am29027 register file location RF2
+; RF3 - take source from Am29027 register file location RF3
+; RF4 - take source from Am29027 register file location RF4
+; RF5 - take source from Am29027 register file location RF5
+; RF6 - take source from Am29027 register file location RF6
+; RF7 - take source from Am29027 register file location RF7
+; 0 - source is 0
+; ONE_HALF - source is constant .5 (f.p. operations only)
+; IMINUS1 - source is constant -1 (integer operations only)
+; 1 - source is constant 1
+; 2 - source is constant 2
+; 3 - source is constant 3
+; PI - source is constant pi (f.p. operations only)
+; IMINUSMAX - source is -(2**63) (integer operations only)
+;
+;
+; USAGE:
+;
+; cp_build_inst_h reg,op_code,[precision,]dest,source1[,source2][,source3]
+;
+; This macro is similar to cp_build_inst, but creates only the 16 MSBs
+; of the 32-bit Am29027 instruction word. This macro is useful in cases
+; where the 16 LSBs of instruction word, which specify the operation
+; to be performed, already exist in an Am29000 g.p. register, but where
+; the 16 MSBs, which specify operand sources and destination, must be
+; changed. In such cases, one Am29000 instruction can be saved by using
+; cp_build_inst_h instead of cp_build_inst.
+;
+; Syntax and usage are identical to that of cp_build_inst.
+;
+; NOTE: This macro references macro _cp_set_op_params, which appears
+; in the assembly listing for macro _cp_build_inst.
+;
+;
+;
+;
+;============================================================================
+;
+ .macro cp_build_inst_h,p1,p2,p3,p4,p5,p6,p7
+;
+ .if $narg<=3
+ .err
+ .print "cp_build_inst_h: missing parameter(s)"
+ .exitm
+ .endif
+;
+; classify operation type
+;
+ .set _cp_op_type,255
+
+ _cp_set_op_params p2,FADD,1,5,4,0,5
+ _cp_set_op_params p2,DADD,1,5,4,0,5
+ _cp_set_op_params p2,FSUB,1,5,4,0,5
+ _cp_set_op_params p2,DSUB,1,5,4,0,5
+ _cp_set_op_params p2,FMUL,1,5,4,5,0
+ _cp_set_op_params p2,DMUL,1,5,4,5,0
+ _cp_set_op_params p2,FEQ,1,5,4,0,5
+ _cp_set_op_params p2,DEQ,1,5,4,0,5
+ _cp_set_op_params p2,FGE,1,5,4,0,5
+ _cp_set_op_params p2,DGE,1,5,4,0,5
+ _cp_set_op_params p2,FGT,1,5,4,0,5
+ _cp_set_op_params p2,DGT,1,5,4,0,5
+ _cp_set_op_params p2,CONVERT_I_TO_F,1,4,0,0,4
+ _cp_set_op_params p2,CONVERT_I_TO_D,1,4,0,0,4
+ _cp_set_op_params p2,CONVERT_F_TO_I,1,4,0,0,4
+ _cp_set_op_params p2,CONVERT_D_TO_I,1,4,0,0,4
+;
+; The next two lines were corrected on 1-4-89, Rich Parker
+;
+ _cp_set_op_params p2,CONVERT_F_TO_D,1,4,4,0,0
+ _cp_set_op_params p2,CONVERT_D_TO_F,1,4,4,0,0
+;
+ _cp_set_op_params p2,PASS_P,0,5,5,0,0
+ _cp_set_op_params p2,MINUSP,0,5,5,0,0
+ _cp_set_op_params p2,ABSP,0,5,5,0,0
+ _cp_set_op_params p2,SIGNT_TIMES_ABSP,0,6,6,0,5
+ _cp_set_op_params p2,P_PLUS_T,0,6,5,0,6
+ _cp_set_op_params p2,P_MINUS_T,0,6,5,0,6
+ _cp_set_op_params p2,MINUSP_PLUS_T,0,6,5,0,6
+ _cp_set_op_params p2,MINUSP_MINUS_T,0,6,5,0,6
+ _cp_set_op_params p2,ABS_P_PLUS_T,0,6,5,0,6
+ _cp_set_op_params p2,ABS_P_MINUS_T,0,6,5,0,6
+ _cp_set_op_params p2,ABSP_PLUS_ABST,0,6,5,0,6
+ _cp_set_op_params p2,ABSP_MINUS_ABST,0,6,5,0,6
+ _cp_set_op_params p2,ABS_ABSP_MINUS_ABST,0,6,5,0,6
+ _cp_set_op_params p2,P_TIMES_Q,0,6,5,6,0
+ _cp_set_op_params p2,MINUSP_TIMES_Q,0,6,5,6,0
+ _cp_set_op_params p2,ABS_P_TIMES_Q,0,6,5,6,0
+ _cp_set_op_params p2,COMPARE_P_AND_T,0,6,5,0,6
+ _cp_set_op_params p2,MAX_P_AND_T,0,6,5,0,6
+ _cp_set_op_params p2,MAX_ABSP_AND_ABST,0,6,5,0,6
+ _cp_set_op_params p2,MIN_P_AND_T,0,6,5,0,6
+ _cp_set_op_params p2,MIN_ABSP_AND_ABST,0,6,5,0,6
+ _cp_set_op_params p2,LIMIT_P_TO_MAGT,0,6,5,0,6
+ _cp_set_op_params p2,CONVERT_T_TO_INT,0,5,0,0,5
+ _cp_set_op_params p2,SCALE_T_TO_INT_BY_Q,0,6,0,6,5
+ _cp_set_op_params p2,PQ_PLUS_T,0,7,5,6,7
+ _cp_set_op_params p2,MINUSPQ_PLUS_T,0,7,5,6,7
+ _cp_set_op_params p2,PQ_MINUS_T,0,7,5,6,7
+ _cp_set_op_params p2,MINUSPQ_MINUS_T,0,7,5,6,7
+ _cp_set_op_params p2,ABSPQ_PLUS_ABST,0,7,5,6,7
+ _cp_set_op_params p2,MINUSABSPQ_PLUS_ABST,0,7,5,6,7
+ _cp_set_op_params p2,ABSPQ_MINUS_ABST,0,7,5,6,7
+ _cp_set_op_params p2,ROUND_T_TO_INT,0,5,0,0,5
+ _cp_set_op_params p2,RECIPROCAL_OF_P,0,5,5,0,0
+ _cp_set_op_params p2,CONVERT_T_TO_ALT,0,5,0,0,5
+ _cp_set_op_params p2,CONVERT_T_FROM_ALT,0,5,0,0,5
+ _cp_set_op_params p2,I_PASS_P,0,5,5,0,0
+ _cp_set_op_params p2,I_MINUSP,0,5,5,0,0
+ _cp_set_op_params p2,I_ABSP,0,5,5,0,0
+ _cp_set_op_params p2,I_SIGNT_TIMES_ABSP,0,6,6,0,5
+ _cp_set_op_params p2,I_P_PLUS_T,0,6,5,0,6
+ _cp_set_op_params p2,I_P_MINUS_T,0,6,5,0,6
+ _cp_set_op_params p2,I_MINUSP_PLUS_T,0,6,5,0,6
+ _cp_set_op_params p2,I_ABS_P_PLUS_T,0,6,5,0,6
+ _cp_set_op_params p2,I_ABS_P_MINUS_T,0,6,5,0,6
+ _cp_set_op_params p2,I_P_TIMES_Q,0,6,5,6,0
+ _cp_set_op_params p2,I_COMPARE_P_AND_T,0,6,5,0,6
+ _cp_set_op_params p2,I_MAX_P_AND_T,0,6,5,0,6
+ _cp_set_op_params p2,I_MIN_P_AND_T,0,6,5,0,6
+ _cp_set_op_params p2,I_CONVERT_T_TO_FLOAT,0,5,0,0,5
+ _cp_set_op_params p2,I_SCALE_T_TO_FLOAT_BY_Q,0,6,0,6,5
+ _cp_set_op_params p2,I_P_OR_T,0,6,5,0,6
+ _cp_set_op_params p2,I_P_AND_T,0,6,5,0,6
+ _cp_set_op_params p2,I_P_XOR_T,0,6,5,0,6
+ _cp_set_op_params p2,I_NOT_T,0,5,0,0,5
+ _cp_set_op_params p2,I_LSHIFT_P_BY_Q,0,6,5,6,0
+ _cp_set_op_params p2,I_ASHIFT_P_BY_Q,0,6,5,6,0
+ _cp_set_op_params p2,I_FSHIFT_PT_BY_Q,0,7,5,7,6
+ _cp_set_op_params p2,MOVE_P,0,5,5,0,0
+;
+;
+; if we couldn't find the op_code, flag an error
+;
+ .if _cp_op_type>=2
+ .err
+ .print "cp_build_inst_h: invalid Am29027 instruction mnemonic"
+ .exitm
+ .endif
+;
+; if number of parameters is incorrect, flag error
+;
+ .if $narg!=_cp_no_params
+ .err
+ .print "cp_build_inst_h: incorrect number of parameters"
+ .exitm
+ .endif
+;
+; find correct value for precision field, if appropriate
+;
+ .set _cp_prec_field,0 ; ** CORRECTION (1-4-89 Rich Parker)
+ .if _cp_op_type==0 ; need to look for precision
+ .set _cp_found_precision,0
+ .ifeqs "@p3@","D_D"
+ .set _cp_prec_field,CP_@p3
+ .set _cp_found_precision,1
+ .endif
+ .ifeqs "@p3@","D_S"
+ .set _cp_prec_field,CP_@p3
+ .set _cp_found_precision,1
+ .endif
+ .ifeqs "@p3@","S_D"
+ .set _cp_prec_field,CP_@p3
+ .set _cp_found_precision,1
+ .endif
+ .ifeqs "@p3@","S_S"
+ .set _cp_prec_field,CP_@p3
+ .set _cp_found_precision,1
+ .endif
+ .if _cp_found_precision==0
+ .err
+ .print "cp_build_inst_h: missing precision field"
+ .exitm
+ .endif
+ .endif
+;
+; find value for destination field
+;
+ .if _cp_op_type==0
+ .set _cp_dest_field_val,CP_DEST_EQ_@p4
+ .else
+ .set _cp_dest_field_val,CP_DEST_EQ_@p3
+ .endif
+;
+; find correct value for p select field
+;
+ .if _cp_p_paramno==0
+ .set _cp_p_field_val,0x00000000
+ .endif
+ .if _cp_p_paramno==4
+ .set _cp_p_field_val,CP_P_EQ_@p4
+ .endif
+ .if _cp_p_paramno==5
+ .set _cp_p_field_val,CP_P_EQ_@p5
+ .endif
+ .if _cp_p_paramno==6
+ .set _cp_p_field_val,CP_P_EQ_@p6
+ .endif
+ .if _cp_p_paramno==7
+ .set _cp_p_field_val,CP_P_EQ_@p7
+ .endif
+ .ifeqs "@p2@","I_NOT_T"
+ .set _cp_p_field_val,CP_P_EQ_IMINUS1
+ .endif
+;
+; find correct value for q select field
+;
+ .if _cp_q_paramno==0
+ .set _cp_q_field_val,0x00000000
+ .endif
+ .if _cp_q_paramno==4
+ .set _cp_q_field_val,CP_Q_EQ_@p4
+ .endif
+ .if _cp_q_paramno==5
+ .set _cp_q_field_val,CP_Q_EQ_@p5
+ .endif
+ .if _cp_q_paramno==6
+ .set _cp_q_field_val,CP_Q_EQ_@p6
+ .endif
+ .if _cp_q_paramno==7
+ .set _cp_q_field_val,CP_Q_EQ_@p7
+ .endif
+;
+; find correct value for t select field
+;
+ .if _cp_t_paramno==0
+ .set _cp_t_field_val,0x00000000
+ .endif
+ .if _cp_t_paramno==4
+ .set _cp_t_field_val,CP_T_EQ_@p4
+ .endif
+ .if _cp_t_paramno==5
+ .set _cp_t_field_val,CP_T_EQ_@p5
+ .endif
+ .if _cp_t_paramno==6
+ .set _cp_t_field_val,CP_T_EQ_@p6
+ .endif
+ .if _cp_t_paramno==7
+ .set _cp_t_field_val,CP_T_EQ_@p7
+ .endif
+;
+;
+ .set _cp_inst_word,CP_@p2@|_cp_prec_field|_cp_dest_field_val
+ .set _cp_inst_word,_cp_inst_word|_cp_p_field_val
+ .set _cp_inst_word,_cp_inst_word|_cp_q_field_val
+ .set _cp_inst_word,_cp_inst_word|_cp_t_field_val
+;
+ consth p1,_cp_inst_word
+;
+ .endm
+;
+;
+;
+;
+;============================================================================
+; MACRO NAME: cp_build_inst_l
+;
+; WRITTEN BY: Bob Perlman
+;
+; MOST RECENT UPDATE: April 24, 1988
+; : January 4, 1989 Rich Parker
+;
+; FUNCTION: Builds a 16 LSBs of a 32-bit Am29027 instruction in an
+; Am29000 g.p. register; the 16 MSBs of the register are
+; set to 0..
+;
+; PARAMETERS:
+; reg - the Am29000 g.p. register into which the instruction word
+; is to be written
+;
+; op_code - mnemonic specifying the operation to be performed
+; (e.g. FADD, P_TIMES_Q)
+;
+; precision - precision specification for destination, source operands:
+; D_S - double-prec. result, single-prec. input(s)
+; D_D - double-prec. result, double-prec. input(s)
+; S_S - single-prec. result, single-prec. input(s)
+; S_D - single-prec. result, double-prec. input(s)
+;
+; dest - destination for the operation result:
+; RF0 - store result in Am29027 register file location RF0
+; RF1 - store result in Am29027 register file location RF1
+; RF2 - store result in Am29027 register file location RF2
+; RF3 - store result in Am29027 register file location RF3
+; RF4 - store result in Am29027 register file location RF4
+; RF5 - store result in Am29027 register file location RF5
+; RF6 - store result in Am29027 register file location RF6
+; RF7 - store result in Am29027 register file location RF7
+; GP - result is to be stored in an Am29000 g.p. register
+; with a read_dp, read_sp, or read_int macro.
+;
+; source1,
+; source2,
+; source3 - source operand specifications:
+; R - take source from Am29027 register R
+; S - take source from Am29027 register S
+; RF0 - take source from Am29027 register file location RF0
+; RF1 - take source from Am29027 register file location RF1
+; RF2 - take source from Am29027 register file location RF2
+; RF3 - take source from Am29027 register file location RF3
+; RF4 - take source from Am29027 register file location RF4
+; RF5 - take source from Am29027 register file location RF5
+; RF6 - take source from Am29027 register file location RF6
+; RF7 - take source from Am29027 register file location RF7
+; 0 - source is 0
+; ONE_HALF - source is constant .5 (f.p. operations only)
+; IMINUS1 - source is constant -1 (integer operations only)
+; 1 - source is constant 1
+; 2 - source is constant 2
+; 3 - source is constant 3
+; PI - source is constant pi (f.p. operations only)
+; IMINUSMAX - source is -(2**63) (integer operations only)
+;
+;
+; USAGE:
+;
+; cp_build_inst_l reg,op_code,[precision,]dest,source1[,source2][,source3]
+;
+; This macro is similar to cp_build_inst, but creates only the 16 LSBs
+; of the 32-bit Am29027 instruction word; the 16 MSBs of the target
+; register are set to 0. This macro is useful in cases
+; where it is helpful to specify instruction LSBs and MSBs separately,
+; to improve instruction scheduling.
+;
+; Syntax and usage are identical to that of cp_build_inst.
+;
+; NOTE: This macro references macro _cp_set_op_params, which appears
+; in the assembly listing for macro _cp_build_inst.
+;
+;
+;============================================================================
+;
+ .macro cp_build_inst_l,p1,p2,p3,p4,p5,p6,p7
+;
+ .if $narg<=3
+ .err
+ .print "cp_build_inst_h: missing parameter(s)"
+ .exitm
+ .endif
+;
+; classify operation type
+;
+ .set _cp_op_type,255
+
+ _cp_set_op_params p2,FADD,1,5,4,0,5
+ _cp_set_op_params p2,DADD,1,5,4,0,5
+ _cp_set_op_params p2,FSUB,1,5,4,0,5
+ _cp_set_op_params p2,DSUB,1,5,4,0,5
+ _cp_set_op_params p2,FMUL,1,5,4,5,0
+ _cp_set_op_params p2,DMUL,1,5,4,5,0
+ _cp_set_op_params p2,FEQ,1,5,4,0,5
+ _cp_set_op_params p2,DEQ,1,5,4,0,5
+ _cp_set_op_params p2,FGE,1,5,4,0,5
+ _cp_set_op_params p2,DGE,1,5,4,0,5
+ _cp_set_op_params p2,FGT,1,5,4,0,5
+ _cp_set_op_params p2,DGT,1,5,4,0,5
+ _cp_set_op_params p2,CONVERT_I_TO_F,1,4,0,0,4
+ _cp_set_op_params p2,CONVERT_I_TO_D,1,4,0,0,4
+ _cp_set_op_params p2,CONVERT_F_TO_I,1,4,0,0,4
+ _cp_set_op_params p2,CONVERT_D_TO_I,1,4,0,0,4
+;
+; The next two lines were corrected on 1-4-89, Rich Parker
+;
+ _cp_set_op_params p2,CONVERT_F_TO_D,1,4,4,0,0
+ _cp_set_op_params p2,CONVERT_D_TO_F,1,4,4,0,0
+;
+ _cp_set_op_params p2,PASS_P,0,5,5,0,0
+ _cp_set_op_params p2,MINUSP,0,5,5,0,0
+ _cp_set_op_params p2,ABSP,0,5,5,0,0
+ _cp_set_op_params p2,SIGNT_TIMES_ABSP,0,6,6,0,5
+ _cp_set_op_params p2,P_PLUS_T,0,6,5,0,6
+ _cp_set_op_params p2,P_MINUS_T,0,6,5,0,6
+ _cp_set_op_params p2,MINUSP_PLUS_T,0,6,5,0,6
+ _cp_set_op_params p2,MINUSP_MINUS_T,0,6,5,0,6
+ _cp_set_op_params p2,ABS_P_PLUS_T,0,6,5,0,6
+ _cp_set_op_params p2,ABS_P_MINUS_T,0,6,5,0,6
+ _cp_set_op_params p2,ABSP_PLUS_ABST,0,6,5,0,6
+ _cp_set_op_params p2,ABSP_MINUS_ABST,0,6,5,0,6
+ _cp_set_op_params p2,ABS_ABSP_MINUS_ABST,0,6,5,0,6
+ _cp_set_op_params p2,P_TIMES_Q,0,6,5,6,0
+ _cp_set_op_params p2,MINUSP_TIMES_Q,0,6,5,6,0
+ _cp_set_op_params p2,ABS_P_TIMES_Q,0,6,5,6,0
+ _cp_set_op_params p2,COMPARE_P_AND_T,0,6,5,0,6
+ _cp_set_op_params p2,MAX_P_AND_T,0,6,5,0,6
+ _cp_set_op_params p2,MAX_ABSP_AND_ABST,0,6,5,0,6
+ _cp_set_op_params p2,MIN_P_AND_T,0,6,5,0,6
+ _cp_set_op_params p2,MIN_ABSP_AND_ABST,0,6,5,0,6
+ _cp_set_op_params p2,LIMIT_P_TO_MAGT,0,6,5,0,6
+ _cp_set_op_params p2,CONVERT_T_TO_INT,0,5,0,0,5
+ _cp_set_op_params p2,SCALE_T_TO_INT_BY_Q,0,6,0,6,5
+ _cp_set_op_params p2,PQ_PLUS_T,0,7,5,6,7
+ _cp_set_op_params p2,MINUSPQ_PLUS_T,0,7,5,6,7
+ _cp_set_op_params p2,PQ_MINUS_T,0,7,5,6,7
+ _cp_set_op_params p2,MINUSPQ_MINUS_T,0,7,5,6,7
+ _cp_set_op_params p2,ABSPQ_PLUS_ABST,0,7,5,6,7
+ _cp_set_op_params p2,MINUSABSPQ_PLUS_ABST,0,7,5,6,7
+ _cp_set_op_params p2,ABSPQ_MINUS_ABST,0,7,5,6,7
+ _cp_set_op_params p2,ROUND_T_TO_INT,0,5,0,0,5
+ _cp_set_op_params p2,RECIPROCAL_OF_P,0,5,5,0,0
+ _cp_set_op_params p2,CONVERT_T_TO_ALT,0,5,0,0,5
+ _cp_set_op_params p2,CONVERT_T_FROM_ALT,0,5,0,0,5
+ _cp_set_op_params p2,I_PASS_P,0,5,5,0,0
+ _cp_set_op_params p2,I_MINUSP,0,5,5,0,0
+ _cp_set_op_params p2,I_ABSP,0,5,5,0,0
+ _cp_set_op_params p2,I_SIGNT_TIMES_ABSP,0,6,6,0,5
+ _cp_set_op_params p2,I_P_PLUS_T,0,6,5,0,6
+ _cp_set_op_params p2,I_P_MINUS_T,0,6,5,0,6
+ _cp_set_op_params p2,I_MINUSP_PLUS_T,0,6,5,0,6
+ _cp_set_op_params p2,I_ABS_P_PLUS_T,0,6,5,0,6
+ _cp_set_op_params p2,I_ABS_P_MINUS_T,0,6,5,0,6
+ _cp_set_op_params p2,I_P_TIMES_Q,0,6,5,6,0
+ _cp_set_op_params p2,I_COMPARE_P_AND_T,0,6,5,0,6
+ _cp_set_op_params p2,I_MAX_P_AND_T,0,6,5,0,6
+ _cp_set_op_params p2,I_MIN_P_AND_T,0,6,5,0,6
+ _cp_set_op_params p2,I_CONVERT_T_TO_FLOAT,0,5,0,0,5
+ _cp_set_op_params p2,I_SCALE_T_TO_FLOAT_BY_Q,0,6,0,6,5
+ _cp_set_op_params p2,I_P_OR_T,0,6,5,0,6
+ _cp_set_op_params p2,I_P_AND_T,0,6,5,0,6
+ _cp_set_op_params p2,I_P_XOR_T,0,6,5,0,6
+ _cp_set_op_params p2,I_NOT_T,0,5,0,0,5
+ _cp_set_op_params p2,I_LSHIFT_P_BY_Q,0,6,5,6,0
+ _cp_set_op_params p2,I_ASHIFT_P_BY_Q,0,6,5,6,0
+ _cp_set_op_params p2,I_FSHIFT_PT_BY_Q,0,7,5,7,6
+ _cp_set_op_params p2,MOVE_P,0,5,5,0,0
+;
+;
+; if we couldn't find the op_code, flag an error
+;
+ .if _cp_op_type>=2
+ .err
+ .print "cp_build_inst_h: invalid Am29027 instruction mnemonic"
+ .exitm
+ .endif
+;
+; if number of parameters is incorrect, flag error
+;
+ .if $narg!=_cp_no_params
+ .err
+ .print "cp_build_inst_h: incorrect number of parameters"
+ .exitm
+ .endif
+;
+; find correct value for precision field, if appropriate
+;
+ .set _cp_prec_field,0 ; CORRECTION (1-4-89 Rich Parker)
+ .if _cp_op_type==0 ; need to look for precision
+ .set _cp_found_precision,0
+ .ifeqs "@p3@","D_D"
+ .set _cp_prec_field,CP_@p3
+ .set _cp_found_precision,1
+ .endif
+ .ifeqs "@p3@","D_S"
+ .set _cp_prec_field,CP_@p3
+ .set _cp_found_precision,1
+ .endif
+ .ifeqs "@p3@","S_D"
+ .set _cp_prec_field,CP_@p3
+ .set _cp_found_precision,1
+ .endif
+ .ifeqs "@p3@","S_S"
+ .set _cp_prec_field,CP_@p3
+ .set _cp_found_precision,1
+ .endif
+ .if _cp_found_precision==0
+ .err
+ .print "cp_build_inst_h: missing precision field"
+ .exitm
+ .endif
+ .endif
+;
+; find value for destination field
+;
+ .if _cp_op_type==0
+ .set _cp_dest_field_val,CP_DEST_EQ_@p4
+ .else
+ .set _cp_dest_field_val,CP_DEST_EQ_@p3
+ .endif
+;
+; find correct value for p select field
+;
+ .if _cp_p_paramno==0
+ .set _cp_p_field_val,0x00000000
+ .endif
+ .if _cp_p_paramno==4
+ .set _cp_p_field_val,CP_P_EQ_@p4
+ .endif
+ .if _cp_p_paramno==5
+ .set _cp_p_field_val,CP_P_EQ_@p5
+ .endif
+ .if _cp_p_paramno==6
+ .set _cp_p_field_val,CP_P_EQ_@p6
+ .endif
+ .if _cp_p_paramno==7
+ .set _cp_p_field_val,CP_P_EQ_@p7
+ .endif
+ .ifeqs "@p2@","I_NOT_T"
+ .set _cp_p_field_val,CP_P_EQ_IMINUS1
+ .endif
+;
+; find correct value for q select field
+;
+ .if _cp_q_paramno==0
+ .set _cp_q_field_val,0x00000000
+ .endif
+ .if _cp_q_paramno==4
+ .set _cp_q_field_val,CP_Q_EQ_@p4
+ .endif
+ .if _cp_q_paramno==5
+ .set _cp_q_field_val,CP_Q_EQ_@p5
+ .endif
+ .if _cp_q_paramno==6
+ .set _cp_q_field_val,CP_Q_EQ_@p6
+ .endif
+ .if _cp_q_paramno==7
+ .set _cp_q_field_val,CP_Q_EQ_@p7
+ .endif
+;
+; find correct value for t select field
+;
+ .if _cp_t_paramno==0
+ .set _cp_t_field_val,0x00000000
+ .endif
+ .if _cp_t_paramno==4
+ .set _cp_t_field_val,CP_T_EQ_@p4
+ .endif
+ .if _cp_t_paramno==5
+ .set _cp_t_field_val,CP_T_EQ_@p5
+ .endif
+ .if _cp_t_paramno==6
+ .set _cp_t_field_val,CP_T_EQ_@p6
+ .endif
+ .if _cp_t_paramno==7
+ .set _cp_t_field_val,CP_T_EQ_@p7
+ .endif
+;
+;
+ .set _cp_inst_word,CP_@p2@|_cp_prec_field|_cp_dest_field_val
+ .set _cp_inst_word,_cp_inst_word|_cp_p_field_val
+ .set _cp_inst_word,_cp_inst_word|_cp_q_field_val
+ .set _cp_inst_word,_cp_inst_word|_cp_t_field_val
+;
+ const p1,_cp_inst_word
+;
+ .endm
+;
+; end of file fpsymbol.h
diff --git a/newlib/libc/sys/a29khif/sys/intrinsi.h b/newlib/libc/sys/a29khif/sys/intrinsi.h
new file mode 100644
index 00000000000..1ae3a8b5c28
--- /dev/null
+++ b/newlib/libc/sys/a29khif/sys/intrinsi.h
@@ -0,0 +1,457 @@
+; @(#)intrinsi.h 1.4 90/10/14 20:56:06, Copyright 1988, 1989, 1990 AMD
+; start of file intrinsi.h
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;
+;
+ .title "QTC Intrinsics Header file"
+;
+; Floating point library package for AMD 29000 family
+;
+; Copyright 1988 Advanced Micro Devices, Inc.
+;
+; All rights reserved
+;
+; Developed for AMD by Quantitative Technology Corporation
+; 8700 SW Creekside Place Suite D
+; Beaverton OR 97005
+; (503) 626-3081
+;
+; Version information :
+;
+; Revision 1.6 89/06/29 16:08:51 jimh
+; Fixed two bugs regarding compatiblility with the fpsymbol file. The
+; definitions of ROUND_TO_PLUS/MINUS_INFINITY were reversed. Set_Rounding
+; _Mode was fixed to set the local copy (29000 resident) of rounding mode
+; in 29027 mode.
+;
+;
+; Revision 1.5 89/04/17 11:20:49 jim
+; replaced emfsr and emtsr macro calls with mfsr and mtsr instructions.
+;
+; Revision 1.4 89/02/24 15:18:04 jimh
+; Added the definitions of FP_ENV_MODE_1_DEFAULT, FP_ENV_MODE_2_DEFAULT,
+; FP_FLAGS_DEFAULT.
+; Added macro clear_Flags.
+; Changed the operation of set_Invalid_Op_flag, set_Reserved_Op_flag.
+;
+; Revision 1.3 89/02/01 18:30:12 jimh
+; Changed the way set_Rounding_Mode, extract_Rounding_Mode, set_Invalid_Op_flag
+; and set_Reserved_Op_flag are done. Changed save_FP_regs.
+;
+; Revision 1.2 89/01/31 10:01:54 jimh
+; Updated to the new standard. This includes moving in register
+; definitions, changing old symbols to reflect those in fpsymbol.h,
+; and changing the include file to smartmac.h.
+;
+;
+ .include "../traps/fpenv.h" ; RPD 8/21/89
+ .include "sys/smartmac.h"
+
+ .equ DOUBLE_EXP_WIDTH, 11
+ .equ DOUBLE_EXTENDED_WIDTH, 56
+
+ .equ SIGNED, 0
+ .equ UNSIGNED, 1
+
+ .equ ROUND_TO_NEAREST, 0
+ .equ ROUND_TO_MINUS_INFINITY, 1
+ .equ ROUND_TO_PLUS_INFINITY, 2
+ .equ ROUND_TO_ZERO, 3
+ .equ ROUNDING_MODE_POSITION, 14
+
+ .equ FORMAT_INTEGER, 0
+ .equ FORMAT_SINGLE, 1
+ .equ FORMAT_DOUBLE, 2
+
+ .equ DOUBLE_MSB_MASK,0x00080000
+;
+; The following are definitions used in the smart macro package, defining
+; the 29000 shadow registers for the floating-point register file, and
+; some temporary registers used during the library routines
+;
+ .reg FP0, gr96
+ .reg FP1, gr98
+ .reg FP2, gr100
+ .reg FP3, gr102
+ .reg FP4, gr104
+ .reg FP5, gr106
+ .reg FP6, gr108
+ .reg FP7, gr110
+;
+; GR60 through GR6F are used to return the value of a function
+;
+ .reg rtn0, gr96
+ .reg rtn1, gr97
+ .reg rtn2, gr98
+ .reg rtn3, gr99
+ .reg rtn4, gr100
+ .reg rtn5, gr101
+ .reg rtn6, gr102
+ .reg rtn7, gr103
+ .reg rtn8, gr104
+ .reg rtn9, gr105
+ .reg rtn10, gr106
+ .reg rtn11, gr107
+ .reg rtn12, gr108
+ .reg rtn13, gr109
+ .reg rtn14, gr110
+ .reg rtn15, gr111
+;
+; GR74..GR78 (116-120) - temporaries
+;
+ .reg t0, gr116
+ .reg t1, gr117
+ .reg t2, gr118
+ .reg t3, gr119
+ .reg t4, gr120
+;
+; FP_ENV_MODE_1 and FP_ENV_MODE_2 are based on 64-bit 29027 Mode register,
+; and thus the fpsymbol.h CP_ constants may be used directly.
+;
+; FP_ENV_MODE_1 (Bits 0-31)
+;
+; 0-3 - floating-point format select, always 0
+; 4 - Saturate enable
+; 5 - IEEE Affine/Projective mode (ignored by traps code)
+; 6 - IEEE Trap enable
+; 7 - IEEE Sudden underflow / FP Environment Fast Float Select
+; 8-10 - ignored
+; 11 - Integer multiplication signed/unsigned select
+; 12-13 - Integer multiplication format adjust
+; 14-16 - Rounding mode select
+; 17-19 - ignored
+; 20 - Pipeline mode select
+; 21 - ignored
+; 22 - Invalid operation mask bit
+; 23 - Reserved operand mask bit
+; 24 - Overflow mask bit
+; 25 - Underflow mask bit
+; 26 - Inexact result mask bit
+; 27 - Zero mask bit
+; 28-31 - ignored
+;
+; FP_ENV_MODE_2 (Bits 32-63) [Hardware configuration register, rarely modified]
+;
+; 32-35 - Pipeline timer count
+; 36-39 - Timer count for multiply-accumulate operation
+; 40-43 - Timer count for save state transaction request
+; 44-63 - ignored
+;
+; FP_ENV_MODE_1 definitions
+;
+ .set FP_ENV_MODE_1_DEFAULT, CP_PFF_EQ_IEEE
+ .set FP_ENV_MODE_1_DEFAULT,FP_ENV_MODE_1_DEFAULT|CP_AFF_EQ_IEEE
+ .set FP_ENV_MODE_1_DEFAULT,FP_ENV_MODE_1_DEFAULT|CP_AFFINE_MODE
+ .set FP_ENV_MODE_1_DEFAULT,FP_ENV_MODE_1_DEFAULT|CP_IEEE_TRAPS_DISABLED
+ .set FP_ENV_MODE_1_DEFAULT,FP_ENV_MODE_1_DEFAULT|CP_IEEE_GRADUAL_UFLOW_MODE
+ .set FP_ENV_MODE_1_DEFAULT,FP_ENV_MODE_1_DEFAULT|CP_UNSIGNED_INT_MPY_MODE
+ .set FP_ENV_MODE_1_DEFAULT,FP_ENV_MODE_1_DEFAULT|CP_MF_EQ_LSBS
+ .set FP_ENV_MODE_1_DEFAULT,FP_ENV_MODE_1_DEFAULT|CP_RMS_EQ_NEAREST
+ .set FP_ENV_MODE_1_DEFAULT,FP_ENV_MODE_1_DEFAULT|CP_FLOWTHROUGH_MODE
+ .set FP_ENV_MODE_1_DEFAULT,FP_ENV_MODE_1_DEFAULT|CP_INVALID_OP_EXCP_MASK
+ .set FP_ENV_MODE_1_DEFAULT,FP_ENV_MODE_1_DEFAULT|CP_RESERVED_OP_EXCP_MASK
+ .set FP_ENV_MODE_1_DEFAULT,FP_ENV_MODE_1_DEFAULT|CP_OVERFLOW_EXCP_MASK
+ .set FP_ENV_MODE_1_DEFAULT,FP_ENV_MODE_1_DEFAULT|CP_UNDERFLOW_EXCP_MASK
+ .set FP_ENV_MODE_1_DEFAULT,FP_ENV_MODE_1_DEFAULT|CP_INEXACT_EXCP_MASK
+ .set FP_ENV_MODE_1_DEFAULT,FP_ENV_MODE_1_DEFAULT|CP_ZERO_EXCP_MASK
+;
+; FP_ENV_MODE_2 definitions
+;
+ .set FP_ENV_MODE_2_DEFAULT, CP_PLTC_EQ_6
+ .set FP_ENV_MODE_2_DEFAULT,FP_ENV_MODE_2_DEFAULT|CP_MATC_EQ_9
+ .set FP_ENV_MODE_2_DEFAULT,FP_ENV_MODE_2_DEFAULT|CP_MVTC_EQ_3
+ .set FP_ENV_MODE_2_DEFAULT,FP_ENV_MODE_2_DEFAULT|CP_NORMAL_DRDY_MODE
+ .set FP_ENV_MODE_2_DEFAULT,FP_ENV_MODE_2_DEFAULT|CP_HALT_ON_ERROR_DISABLED
+ .set FP_ENV_MODE_2_DEFAULT,FP_ENV_MODE_2_DEFAULT|CP_EXCP_DISABLED
+;
+; FP_FLAGS_DEFAULT definitions
+;
+ .equ FP_FLAGS_DEFAULT, 0x00000000 ; No flags set
+;
+; The following macros are used by transcendentals to access the environment.
+;
+; MACRO NAME: clear_Flags
+;
+; FUNCTION: to clear the flags on entry to a transcendental routine.
+;
+; INPUT PARAMETERS: reg - temporary working register
+; reg2 - temporary working register
+;
+ .macro clear_Flags,reg,reg2
+ .endm
+;
+; MACRO NAME: set_Invalid_Op_flag
+;
+; FUNCTION: to set the Invalid operation flag in the floating-point status
+; register
+;
+; INPUT PARAMETERS: reg - temporary working register
+; reg2 - 2nd temporary working register
+;
+ .macro set_Invalid_Op_flag,reg,reg2
+ .endm
+
+;
+; MACRO NAME: set_Reserved_Op_flag
+;
+; FUNCTION: to set the Reserved Op flag in the floating-point status register
+;
+; INPUT PARAMETERS: reg - temporary working register
+; reg2 - 2nd temporary working register
+;
+ .macro set_Reserved_Op_flag,reg,reg2
+ .endm
+
+;
+; MACRO NAME: extract_Rounding_Mode
+;
+; FUNCTION: to extract the Rounding Mode portion of the floating-point
+; invironment mode register, shift the value to the range of
+; 0-7, and leave it in a register
+;
+; INPUT PARAMETERS: reg - destination for the mode
+;
+ .macro extract_Rounding_Mode,reg
+ .ifdef _29027_MODE
+ .extern __29027Mode
+ const reg,__29027Mode
+ consth reg,__29027Mode
+ load 0,0,reg,reg
+ srl reg,reg,CP_RMS_POSITION
+ and reg,reg,CP_RMS_MASK >> CP_RMS_POSITION
+ .else
+ mfsr reg,FPE
+ and reg,reg,FPE_FPRND_MASK
+ srl reg,reg,FPE_FPRND_POSITION
+ .endif
+ .endm
+
+;
+; MACRO NAME: set_Rounding_Mode
+;
+; FUNCTION: to set the 29027 Rounding Mode to a given value
+;
+; INPUT PARAMETERS: reg - working register
+; reg2 - second working register
+; rounding_mode - value of the rounding mode
+; 0 - round to nearest
+; 1 - round to minus infinity
+; 2 - round to plus infinity
+; 3 - round to zero
+;
+; NOTES: rounding_mode value is not checked
+; 29027 Mode register is NOT written by this macro
+;
+ .macro set_Rounding_Mode,reg,reg2,mode
+ .ifdef _29027_MODE
+ .extern __29027Mode
+ const reg2,__29027Mode
+ consth reg2,__29027Mode
+ load 0,0,reg,reg2
+ const reg2,CP_RMS_MASK
+ consth reg2,CP_RMS_MASK
+ andn reg,reg,reg2
+ const reg2,mode
+ sll reg2,reg2,CP_RMS_POSITION
+ or reg,reg,reg2
+ const reg2,__29027Mode
+ consth reg2,__29027Mode
+ store 0,0,reg,reg2
+ add reg2,reg2,4
+ load 0,0,reg2,reg2
+ cp_write_mode reg2,reg
+ .else
+ mfsr reg,FPE
+ andn reg,reg,FPE_FPRND_MASK
+ const reg2,mode
+ sll reg2,reg2,FPE_FPRND_POSITION
+ or reg,reg,reg2
+ mtsr FPE,reg
+ .endif
+ .endm
+;
+;
+; NOTE: The 29027 is the floating point coprocessor for the 29000.
+; It contains 8 floating point registers FP0 to FP7. Three of
+; these, FP0, FP1, and FP2, are currently designated as scratch,
+; that is, they will not be preserved across calls. The other
+; five contain values that must be saved whenever they are used
+; in code, and restored before the exit of the routine. The 29027
+; registers are tagged with a single bit indicating the precision
+; of the current value. When numbers are read into the 29027,
+; they are always stored in double precision, so that single
+; precision values are converted on input. Only the MOVE instruction
+; fails to do this automatic widening. If the result from calculations
+; in the 29027 ALU (determined by the result precision bit in the
+; instruction word) is to be single precision and the result saved in
+; an FP reg, the result precision bit from the instruction gets copied
+; into the precision bit for the register. If a single precision
+; SNaN is saved from the 29027, it will be converted to a double
+; precision QNaN. Along the way it will cause an unmasked exception
+; when read off the chip and cause changes to the status register.
+; So the preservation routine will need to modify the mode register to
+; mask off the exceptions, save the state of the status register before
+; saving the FP regs, and restore the status and mode registers to their
+; original settings when the save is complete.
+;
+; REFERENCE: The instructions to drive the Am29027 are described in the
+; Am29027 manual beginning on page 17. Table 4 describes the
+; operation codes and table 3 the multiplexer codes. Communication
+; with the 29000 is described on pages 11 and 12 of the Am29027
+; manual and chapters 6 and 8 of the Am29000 User's Manual
+;
+; MACRO NAME: save_FP_regs
+;
+; FUNCTION: to save the AMD 29027 floating point register values in the
+; 29000 general purpose registers
+;
+; INPUT PARAMETERS: fp_register, one of the 29027 registers FP3 - FP7
+;
+; REGISTER USAGE: the following registers are used in save_FP_regs
+;
+; rtn0 this register is used in setting the mode and status registers
+; rtn1 this register is used in setting the mode and status registers
+; rtn6 this register is used to store the MSW when FP3 is saved
+; rtn7 this register is used to store the LSW when FP3 is saved
+; rtn8 this register is used to store the MSW when FP4 is saved
+; rtn9 this register is used to store the LSW when FP4 is saved
+;
+
+ .macro save_FP_regs,fp_register
+ .ifdef _29027_MODE
+ ;
+ ; For 29027 mode, expand the macro into 29027 code to preserve FP register
+ ;
+ .ifeqs "@fp_register@","FP3"
+ const rtn6,__29027Mode ; Load the address of FP mode
+ consth rtn6,__29027Mode
+ load 0,0,rtn0,rtn6 ; Load MSW of FP mode into rtn0
+ add rtn6,rtn6,4 ; Increment rtn6 + 4
+ load 0,0,rtn1,rtn6 ; Load LSW of FP mode into rtn1
+ const rtn6,CP_RESERVED_OP_EXCP_MASK ; Load mask to disable exception
+ consth rtn6,CP_RESERVED_OP_EXCP_MASK
+ or rtn0,rtn0,rtn6 ; OR in disable of exception mask
+ cp_write_mode rtn1, rtn0 ; Reset mode w/exception disabled
+ cp_read_status rtn0 ; Read status and save in rtn1
+ const rtn6,CP_PASS_P | CP_P_EQ_RF3 ; Instruction is PASS_P from RF3
+ consth rtn6,CP_PASS_P | CP_P_EQ_RF3
+ ; Load & execute the instruction
+ ;
+ store 1,CP_WRITE_INST | CP_START,rtn6,rtn6
+ load 1,CP_READ_MSBS,rtn6,rtn6 ; Read the MSW to first register
+ load 1,CP_READ_LSBS,rtn7,rtn7 ; Read the LSW to second register
+ cp_write_status rtn0 ; Restore the original status
+ const rtn1,__29027Mode ; Load the address of FP mode
+ consth rtn1,__29027Mode
+ load 0,0,rtn0,rtn1 ; Load MSW of FP mode into rtn0
+ add rtn1,rtn1,4 ; Increment rtn6 to __29027Mode+4
+ load 0,0,rtn1,rtn1 ; Load LSW of FP mode into rtn1
+ cp_write_mode rtn1, rtn0 ; Restore the original write mode
+ .endif
+ .ifeqs "@fp_register@","FP4"
+ const rtn8,__29027Mode ; Load the address of FP mode
+ consth rtn8,__29027Mode
+ load 0,0,rtn0,rtn8 ; Load MSW of FP mode into rtn0
+ add rtn8,rtn8,4 ; Increment rtn6 + 4
+ load 0,0,rtn1,rtn8 ; Load LSW of FP mode into rtn1
+ const rtn8,CP_RESERVED_OP_EXCP_MASK ; Load mask to disable exception
+ consth rtn8,CP_RESERVED_OP_EXCP_MASK
+ or rtn0,rtn0,rtn8 ; OR in disable of exception mask
+ cp_write_mode rtn1, rtn0 ; Reset mode w/exception disabled
+ cp_read_status rtn0 ; Read status and save in rtn1
+ const rtn8,CP_PASS_P | CP_P_EQ_RF4 ; Instruction is PASS_P from RF4
+ consth rtn8,CP_PASS_P | CP_P_EQ_RF4
+ ; Load & execute the instruction
+ ;
+ store 1,CP_WRITE_INST | CP_START,rtn8,rtn8
+ load 1,CP_READ_MSBS,rtn8,rtn8 ; Read the MSW to first register
+ load 1,CP_READ_LSBS,rtn9,rtn9 ; Read the LSW to second register
+ cp_write_status rtn0 ; Restore the original status
+ const rtn1,__29027Mode ; Load the address of FP mode
+ consth rtn1,__29027Mode
+ load 0,0,rtn0,rtn1 ; Load MSW of FP mode into rtn0
+ add rtn1,rtn1,4 ; Increment rtn6 + 4
+ load 0,0,rtn1,rtn1 ; Load LSW of FP mode into rtn1
+ cp_write_mode rtn1, rtn0 ; Restore the original write mode
+ .endif
+ .else
+ ;
+ ; For 29000 mode, do nothing
+ ;
+ .endif
+ .endm
+;
+; MACRO NAME: restore_FP_regs
+;
+; FUNCTION: to restore the AMD 29027 floating point register values from the
+; 29000 general purpose registers
+;
+; INPUT PARAMETERS: fp_register, one of the 29027 registers FP3 - FP7
+;
+; REGISTER USAGE: the following registers are used in restore_FP_regs
+;
+; rtn0 this register is used in setting the mode and status registers
+; rtn6 the value in this register is stored as the MSW of FP3
+; rtn7 the value in this register is stored as the LSW of FP3
+; rtn8 the value in this register is stored as the MSW of FP4
+; rtn9 the value in this register is stored as the LSW of FP4
+;
+ .macro restore_FP_regs,fp_register
+ .ifdef _29027_MODE
+ ;
+ ; For 29027 mode, move data from return registers to the correct FP register
+ ;
+ .ifeqs "@fp_register@","FP3"
+ store 1,CP_WRITE_R ,rtn6,rtn7 ; Move the data to the R register
+ ; Then create the instruction
+ ;
+ const rtn0,CP_MOVE_P|CP_D_D|CP_P_EQ_R|CP_DEST_EQ_RF3
+ consth rtn0,CP_MOVE_P|CP_D_D|CP_P_EQ_R|CP_DEST_EQ_RF3
+ ;
+ ; Perform the write
+ ;
+ store 1,(CP_WRITE_INST | CP_START),rtn0,0
+ .endif
+ .ifeqs "@fp_register@","FP4"
+ store 1,CP_WRITE_R ,rtn8,rtn9 ; Move the data to the R register
+ ; Then create the instruction
+ ;
+ const rtn0,CP_MOVE_P|CP_D_D|CP_P_EQ_R|CP_DEST_EQ_RF4
+ consth rtn0,CP_MOVE_P|CP_D_D|CP_P_EQ_R|CP_DEST_EQ_RF4
+ ;
+ ; Perform the write
+ ;
+ store 1,(CP_WRITE_INST | CP_START),rtn0,0
+ .endif
+ .else
+ ;
+ ; For 29000 mode, do nothing.
+ ;
+ .endif
+ .endm
+;
+; end of file intrinsi.h
diff --git a/newlib/libc/sys/a29khif/sys/macros.h b/newlib/libc/sys/a29khif/sys/macros.h
new file mode 100644
index 00000000000..3c832f0336b
--- /dev/null
+++ b/newlib/libc/sys/a29khif/sys/macros.h
@@ -0,0 +1,37 @@
+; @(#)macros.h 1.3 90/10/14 20:56:10, Copyright 1989, 1990 AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1989, 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;
+; macros.h
+; Short macros of general utility
+
+ .macro mov, dest,src
+ add dest, src, 0
+ .endm
+
+ .macro not, dest,src
+ nand dest, src, src
+ .endm
diff --git a/newlib/libc/sys/a29khif/sys/proreg.h b/newlib/libc/sys/a29khif/sys/proreg.h
new file mode 100644
index 00000000000..ca16b708c26
--- /dev/null
+++ b/newlib/libc/sys/a29khif/sys/proreg.h
@@ -0,0 +1,60 @@
+; @(#)proreg.h 1.3 90/10/14 20:56:11, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1989, 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;
+; proreg.h
+;
+ ; 16 function value return regs
+ .reg v0, gr96
+ .reg v1, gr97
+ .reg v2, gr98
+ .reg v3, gr99
+ .reg v4, gr100
+ .reg v5, gr101
+ .reg v6, gr102
+ .reg v7, gr103
+ .reg v8, gr104
+ .reg v9, gr105
+ .reg v10, gr106
+ .reg v11, gr107
+ .reg v12, gr108
+ .reg v13, gr109
+ .reg v14, gr110
+ .reg v15, gr111
+;
+ .reg rsp, gr1 ; Register Stack Pointer
+ .reg ret, gr96 ; First word of return value
+ .reg rp0, gr112 ; Reserved for Programmer, #0
+ .reg rp1, gr113 ; Reserved for Programmer, #1
+ .reg rp2, gr114 ; Reserved for Programmer, #2
+ .reg rp3, gr115 ; Reserved for Programmer, #3
+ .reg tav, gr121 ; Temporary, Argument for Trap Handlers
+ .reg tpc, gr122 ; Temporary, Return PC for Trap Handlers
+ .reg lrp, gr123 ; Large Return Pointer
+ .reg slp, gr124 ; Static Link Pointer
+ .reg msp, gr125 ; Memory Stack Pointer
+ .reg rab, gr126 ; Register Allocate Bound
+ .reg rfb, gr127 ; Register Free Bound
diff --git a/newlib/libc/sys/a29khif/sys/romdcl.h b/newlib/libc/sys/a29khif/sys/romdcl.h
new file mode 100644
index 00000000000..d52ca05980f
--- /dev/null
+++ b/newlib/libc/sys/a29khif/sys/romdcl.h
@@ -0,0 +1,392 @@
+; @(#)romdcl.h 1.4 90/10/14 20:56:12, Copyright 1988, 1989, 1990 AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+ .sbttl "Register, Constant and Macro Declarations - v1.4"
+
+; Copyright 1988, Advanced Micro Devices
+; Written by Gibbons and Associates, Inc.
+
+;v1.4 JG correct FUNCTION macro - fault in register padding to even
+
+;-----------------------------------------------------------------------
+;Global registers
+;-----------------------------------------------------------------------
+ .reg rsp, gr1 ;local reg. var. stack pointer
+
+ .equ SYS_TEMP, 64 ;system temp registers
+
+ .reg st0, gr64
+ .reg st1, gr65
+ .reg st2, gr66
+ .reg st3, gr67
+ .reg st4, gr68
+ .reg st5, gr69
+ .reg st6, gr70
+ .reg st7, gr71
+ .reg st8, gr72
+ .reg st9, gr73
+ .reg st10, gr74
+ .reg st11, gr75
+ .reg st12, gr76
+ .reg st13, gr77
+ .reg st14, gr78
+ .reg st15, gr79
+
+ .equ SYS_STAT, 80 ;system static registers
+
+ .reg ss0, gr80
+ .reg ss1, gr81
+ .reg ss2, gr82
+ .reg ss3, gr83
+ .reg ss4, gr84
+ .reg ss5, gr85
+ .reg ss6, gr86
+ .reg ss7, gr87
+ .reg ss8, gr88
+ .reg ss9, gr89
+ .reg ss10, gr90
+ .reg ss11, gr91
+ .reg ss12, gr92
+ .reg ss13, gr93
+ .reg ss14, gr94
+ .reg ss15, gr95
+
+ .equ RET_VAL, 96 ;return registers
+
+ .reg v0, gr96
+ .reg v1, gr97
+ .reg v2, gr98
+ .reg v3, gr99
+ .reg v4, gr100
+ .reg v5, gr101
+ .reg v6, gr102
+ .reg v7, gr103
+ .reg v8, gr104
+ .reg v9, gr105
+ .reg v10, gr106
+ .reg v11, gr107
+ .reg v12, gr108
+ .reg v13, gr109
+ .reg v14, gr110
+ .reg v15, gr111
+
+ .equ TEMP_REG, 96 ;temp registers
+
+ .reg t0, gr96
+ .reg t1, gr97
+ .reg t2, gr98
+ .reg t3, gr99
+ .reg t4, gr100
+ .reg t5, gr101
+ .reg t6, gr102
+ .reg t7, gr103
+ .reg t8, gr104
+ .reg t9, gr105
+ .reg t10, gr106
+ .reg t11, gr107
+ .reg t12, gr108
+ .reg t13, gr109
+ .reg t14, gr110
+ .reg t15, gr111
+
+ .equ RES_REG, 112 ;reserved (for user)
+
+ .reg r0, gr112
+ .reg r1, gr113
+ .reg r2, gr114
+ .reg r3, gr115
+
+ .equ TEMP_EXT, 116 ;temp extension (and shared)
+
+ .reg x0, gr116
+ .reg x1, gr117
+ .reg x2, gr118
+ .reg x3, gr119
+ .reg x4, gr120
+ .reg x5, gr121
+ .reg x6, gr122
+ .reg x7, gr123
+ .reg x8, gr124
+
+;-----------------------------------------------------------------------
+;Global registers with special calling convention uses
+;-----------------------------------------------------------------------
+
+ .reg tav, gr121 ;trap handler argument (also x6)
+ .reg tpc, gr122 ;trap handler return (also x7)
+ .reg lsrp, gr123 ;large return pointer (also x8)
+ .reg slp, gr124 ;static link pointer (also x9)
+ .reg msp, gr125 ;memory stack pointer
+ .reg rab, gr126 ;register alloc bound
+ .reg rfb, gr127 ;register frame bound
+
+;-----------------------------------------------------------------------
+;Local compiler registers - output parameters, etc.
+; (only valid if frame has been established)
+;-----------------------------------------------------------------------
+
+ .reg p15, lr17 ;parameter registers
+ .reg p14, lr16
+ .reg p13, lr15
+ .reg p12, lr14
+ .reg p11, lr13
+ .reg p10, lr12
+ .reg p9, lr11
+ .reg p8, lr10
+ .reg p7, lr9
+ .reg p6, lr8
+ .reg p5, lr7
+ .reg p4, lr6
+ .reg p3, lr5
+ .reg p2, lr4
+ .reg p1, lr3
+ .reg p0, lr2
+
+
+;-----------------------------------------------------------------------
+;TLB register count
+;-----------------------------------------------------------------------
+
+ .equ TLB_CNT, 128
+
+ .eject
+
+;-----------------------------------------------------------------------
+;constants for general use
+;-----------------------------------------------------------------------
+ .equ WRD_SIZ, 4 ;word size
+ .equ TRUE, 0x80000000 ;logical true -- bit 31
+ .equ FALSE, 0x00000000 ;logical false -- 0
+ .equ CHKPAT_a5, 0xa5a5a5a5 ;check pattern
+
+;-----------------------------------------------------------------------
+;constants for data access control
+;-----------------------------------------------------------------------
+ .equ CE, 0b1 ;coprocessor enable
+ .equ CD, 0b0 ;coprocessor disable
+
+ .equ AS, 0b1000000 ;set for I/O
+ .equ PA, 0b0100000 ;set for physical ad
+ .equ SB, 0b0010000 ;set for set BP
+ .equ UA, 0b0001000 ;set for user access
+
+ .equ ROM_OPT, 0b100 ;OPT values for acc
+ .equ DATA_OPT, 0b000
+ .equ INST_OPT, 0b000
+
+ .equ ROM_CTL, (PA + ROM_OPT) ;control field
+ .equ DATA_CTL, (PA + DATA_OPT)
+ .equ INST_CTL, (PA + INST_OPT)
+ .equ IO_CTL, (AS + PA + DATA_OPT)
+
+
+ .eject
+
+;-----------------------------------------------------------------------
+;defined vectors
+;-----------------------------------------------------------------------
+
+ .equ V_IllegalOp, 0
+ .equ V_Unaligned, 1
+ .equ V_OutOfRange, 2
+ .equ V_NoCoProc, 3
+ .equ V_CoProcExcept, 4
+ .equ V_ProtViol, 5
+ .equ V_InstAccExcept, 6
+ .equ V_DataAccExcept, 7
+ .equ V_UserInstTLB, 8
+ .equ V_UserDataTLB, 9
+ .equ V_SupInstTLB, 10
+ .equ V_SupDataTLB, 11
+ .equ V_InstTLBProt, 12
+ .equ V_DataTLBProt, 13
+ .equ V_Timer, 14
+ .equ V_Trace, 15
+ .equ V_INTR0, 16
+ .equ V_INTR1, 17
+ .equ V_INTR2, 18
+ .equ V_INTR3, 19
+ .equ V_TRAP0, 20
+ .equ V_TRAP1, 21
+
+ ; 22 - 31 reserved
+
+ .equ V_MULTIPLY, 32
+ .equ V_DIVIDE, 33
+ .equ V_MULTIPLU, 34
+ .equ V_DIVIDU, 35
+ .equ V_CONVERT, 36
+
+ ; 37 - 41 reserved
+
+ .equ V_FEQ, 42
+ .equ V_DEQ, 43
+ .equ V_FGT, 44
+ .equ V_DGT, 45
+ .equ V_FGE, 46
+ .equ V_DGE, 47
+ .equ V_FADD, 48
+ .equ V_DADD, 49
+ .equ V_FSUB, 50
+ .equ V_DSUB, 51
+ .equ V_FMUL, 52
+ .equ V_DMUL, 53
+ .equ V_FDIV, 54
+ .equ V_DDIV, 55
+
+ ; 56 - 63 reserved
+
+ .equ V_SPILL, 64
+ .equ V_FILL, 65
+ .equ V_BSDCALL, 66
+ .equ V_SYSVCALL, 67
+ .equ V_BRKPNT, 68
+ .equ V_EPI_OS, 69
+
+ .eject
+
+ .macro R_LEFT,REGVAR
+
+ ;Rotate left
+ ;
+ ; Parameters: REGVAR register to rotate
+
+ add REGVAR, REGVAR, REGVAR ;shift left by 1 bit, C = MSB
+ addc REGVAR, REGVAR, 0 ;add C to LSB
+
+ .endm
+;----------------------------------------------------------------------
+
+
+ .macro FUNCTION,NAME,INCNT,LOCCNT,OUTCNT
+
+ ;Introduces a non-leaf routine.
+ ;
+ ;This macro defines the standard tag word before the function,
+ ;then establishes the statement label with the function's name
+ ;and finally allocates a register stack frame. It may not be used
+ ;if a memory stack frame is required.
+ ;
+ ;Note also that the size of the register stack frame is limited.
+ ;Neither this nor the lack of a memory frame is considered to be
+ ;a severe restriction in an assembly language environment. The
+ ;assembler will report errors if the requested frame is too large
+ ;for this macro.
+ ;
+ ;It may be good practice to allocate an even number of both output
+ ;registers and local registers. This will help in maintaining
+ ;double word alignment within these groups. The macro will assure
+ ;double word alignment of the stack frame as a whole as required
+ ;for correct linkage.
+ ;
+ ; Paramters: NAME the function name
+ ; INCNT input parameter count
+ ; LOCCNT local register count
+ ; OUTCNT output parameter count
+
+ .set ALLOC_CNT, ((2 + OUTCNT + LOCCNT) << 2)
+ .set PAD_CNT, (ALLOC_CNT & 4)
+ .set ALLOC_CNT, (ALLOC_CNT + PAD_CNT)
+ .set REG_PAD, (PAD_CNT >> 2)
+ .if (INCNT)
+ .set IN_PRM, (4 + OUTCNT + REG_PAD + LOCCNT + 0x80)
+ .endif
+ .if (LOCCNT)
+ .set LOC_REG, (2 + OUTCNT + REG_PAD + 0x80)
+ .endif
+ .if (OUTCNT)
+ .set OUT_PRM, (2 + 0x80)
+ .endif
+
+ .word ((2 + OUTCNT + LOCCNT) << 16)
+NAME:
+ sub rsp, rsp, ALLOC_CNT
+ asgeu V_SPILL, rsp, rab
+ add lr1, rsp, ((4 + OUTCNT + LOCCNT + REG_PAD + INCNT) << 2)
+
+ .endm
+;----------------------------------------------------------------------
+
+
+ .macro LEAF,NAME,INCNT
+
+ ;Introduces a leaf routine
+ ;
+ ;This macro defines the standard tag word before the function,
+ ;then establishes the statement label with the function's name.
+ ;
+ ; Paramters: NAME the function name
+ ; INCNT input parameter count
+
+ .if (INCNT)
+ .set IN_PRM, (2 + 0x80)
+ .endif
+ .set ALLOC_CNT, 0
+
+ .word 0
+NAME:
+
+ .endm
+;----------------------------------------------------------------------
+
+
+ .macro EPILOGUE
+
+ ;De-allocates register stack frame (only and only if necessary).
+
+ .if (ALLOC_CNT)
+
+ add rsp, rsp, ALLOC_CNT
+ nop
+ jmpi lr0
+ asleu V_FILL, lr1, rfb
+
+ .else
+
+ jmpi lr0
+ nop
+
+ .endif
+
+ .set IN_PRM, (1024) ;illegal, to cause err on ref
+ .set LOC_REG, (1024) ;illegal, to cause err on ref
+ .set OUT_PRM, (1024) ;illegal, to cause err on ref
+ .set ALLOC_CNT, (1024) ;illegal, to cause err on ref
+
+ .endm
+;----------------------------------------------------------------------
+
+
+;Initial values for macro set variables to guard against misuse
+
+ .set IN_PRM, (1024) ;illegal, to cause err on ref
+ .set LOC_REG, (1024) ;illegal, to cause err on ref
+ .set OUT_PRM, (1024) ;illegal, to cause err on ref
+ .set ALLOC_CNT, (1024) ;illegal, to cause err on ref
+
+;......................................................................
+; end of romdcl.h
diff --git a/newlib/libc/sys/a29khif/sys/smartmac.h b/newlib/libc/sys/a29khif/sys/smartmac.h
new file mode 100644
index 00000000000..2c870fa2a1e
--- /dev/null
+++ b/newlib/libc/sys/a29khif/sys/smartmac.h
@@ -0,0 +1,1491 @@
+; @(#)smartmac.h 1.2 90/10/14 20:56:14, AMD
+; start of smartmac.h file
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1988, 1989, 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;
+;
+ .title "AM29000 Smart Macro Package"
+;
+; Floating point package for AMD 29000 family
+;
+; Copyright 1988 Advanced Micro Devices, Inc.
+;
+; All rights reserved
+;
+; Developed for AMD by Quantitative Technology Corporation
+; 8700 SW Creekside Place Suite D
+; Beaverton OR 97005
+; (503) 626-3081
+;
+; Version information :
+;
+; Version 1.0 - 1 June 1988 - Larry Westerman (smart_macros.h)
+;
+; Revision 1.4 89/02/01 18:26:03 jimh
+; Changed to relect the new symbols from Bob Perlman, and the new include file.s
+;
+; Revision 1.3 89/01/31 10:13:34 jimh
+; Updated to use symbols from Bob Perlmans fpsymbol.h file. This is
+; an extensive change.
+;
+; Revision 1.2 89/01/26 09:23:50 jimh
+; This version checked in previous to substituting Bob Perlman's floating
+; point symbols.
+;
+; Revision 1.1 89/01/24 13:23:29 jim
+; Initial revision
+; Replaces smart_macros.h ver 1.11.
+;
+;
+;
+;
+; NOTES:
+;
+; This package makes the following assumptions about the use of these
+; smart macros:
+;
+; 1. These macros will be after the entry code for a transcendental
+; routine. This entry code will move the original function arguments
+; (by value, if the target language is FORTRAN) into the global
+; registers t0/t1 and t2/t3 (t0 and t2 for single precision
+; routines).
+; 2. The sources of all operands will be one register from the
+; following list:
+; t0 or t2 - the source is one of the original input operands
+; rtn0 - the source is rtn0, which should be used as the
+; source for all constant values to be sent to the
+; AM29027 (when used)
+; FP0 - FP7 - the source is one of the fp registers
+; 3. The destination of all operations will be a register from the
+; following list:
+; rtn0 - the destination is the function return value
+; FP0 - FP7 - the destination is one of the fp registers
+; 4. The additional registers available for temporary use are
+; t4, lrp, and slp.
+;
+; These register definitions are all taken from the file "proregs.a"
+; which was supplied by AMD. NOTE that the FP0-FP7 registers, for the
+; Am29000 version of the file, overlap with the rtn0-rtn15 registers, so
+; that FP0 corresponds to rtn0/rtn1, FP1 to rtn2/rtn3, and so forth.
+;
+ .equ ERROR,0
+ .equ NO_ERROR,1
+
+ .equ DOUBLE_FUNCTION,0
+ .equ SINGLE_FUNCTION,1
+
+ .equ T_OPERATION,0
+ .equ Q_OPERATION,1
+
+ .equ R_SOURCE_29000,0
+ .equ R_SOURCE_29027,1
+
+ .equ S_SOURCE_29000,0
+ .equ S_SOURCE_29027,1
+
+ .equ DESTINATION_29000, 0
+ .equ DESTINATION_29027, 1
+
+;
+; SMART MACRO : mfadd
+;
+; FUNCTION : single-precision floating point addition
+;
+; Required arguments : destination - one of possible destinations
+; operand1 - one of possible sources
+; operand2 - one of possible sources
+;
+ .macro mfadd,destination,operand1,operand2
+
+ .if $narg!=3
+ .err
+ .print "mfadd: missing parameter(s)"
+ .exitm
+ .endif
+
+ .ifdef _29027_MODE
+ ;
+ ; For 29027 mode, perform full suite of checking
+ ;
+ initialize_previous_instruction
+ .set CURRENT_INSTRUCTION, CP_S_S | CP_P_PLUS_T
+ .set OPERATION_TYPE, T_OPERATION
+ perform_single_operation destination,operand1,operand2
+ read_single_result destination
+ ;
+ ; Save the instruction for the next macro invocation
+ ;
+ .set PREVIOUS_INSTRUCTION, CURRENT_INSTRUCTION
+
+ .else
+ ;
+ ; For 29000 mode, simply produce equivalent trap-inducing instruction
+ ;
+ fadd destination,operand1,operand2
+
+ .endif
+
+ .endm ; end of mfadd macro definition
+
+;
+; SMART MACRO : mfsub
+;
+; FUNCTION : single-precision floating point subtraction
+;
+; Required arguments : destination - one of possible destinations
+; operand1 - one of possible sources
+; operand2 - one of possible sources
+;
+ .macro mfsub,destination,operand1,operand2
+
+ .if $narg!=3
+ .err
+ .print "mfsub: missing parameter(s)"
+ .exitm
+ .endif
+
+ .ifdef _29027_MODE
+ ;
+ ; For 29027 mode, perform full suite of checking
+ ;
+ initialize_previous_instruction
+ .set CURRENT_INSTRUCTION, CP_S_S | CP_P_MINUS_T
+ .set OPERATION_TYPE, T_OPERATION
+ perform_single_operation destination,operand1,operand2
+ read_single_result destination
+ ;
+ ; Save the instruction for the next macro invocation
+ ;
+ .set PREVIOUS_INSTRUCTION, CURRENT_INSTRUCTION
+
+ .else
+ ;
+ ; For 29000 mode, simply produce equivalent trap-inducing instruction
+ ;
+ fsub destination,operand1,operand2
+
+ .endif
+
+ .endm ; end of mfsub macro definition
+
+;
+; SMART MACRO : mfmul
+;
+; FUNCTION : single-precision floating point multiplication
+;
+; Required arguments : destination - one of possible destinations
+; operand1 - one of possible sources
+; operand2 - one of possible sources
+;
+ .macro mfmul,destination,operand1,operand2
+
+ .if $narg!=3
+ .err
+ .print "mfmul: missing parameter(s)"
+ .exitm
+ .endif
+
+ .ifdef _29027_MODE
+ ;
+ ; For 29027 mode, perform full suite of checking
+ ;
+ initialize_previous_instruction
+ .set CURRENT_INSTRUCTION, CP_S_S | CP_P_TIMES_Q
+ .set OPERATION_TYPE, Q_OPERATION
+ perform_single_operation destination,operand1,operand2
+ read_single_result destination
+ ;
+ ; Save the instruction for the next macro invocation
+ ;
+ .set PREVIOUS_INSTRUCTION, CURRENT_INSTRUCTION
+
+ .else
+ ;
+ ; For 29000 mode, simply produce equivalent trap-inducing instruction
+ ;
+ fmul destination,operand1,operand2
+
+ .endif
+
+ .endm ; end of mfmul macro definition
+
+;
+; SMART MACRO : mfdiv
+;
+; FUNCTION : single-precision floating point divide
+;
+; Required arguments : destination - one of possible destinations
+; operand1 - one of possible sources
+; operand2 - one of possible sources
+;
+ .macro mfdiv,destination,operand1,operand2
+
+ .if $narg!=3
+ .err
+ .print "mfdiv: missing parameter(s)"
+ .exitm
+ .endif
+
+ ;
+ ; Generate the trap instruction in all cases
+ ;
+ fdiv destination, operand1, operand2
+
+ .endm ; end of mfdiv macro definition
+
+
+;
+; SMART MACRO : mdadd
+;
+; FUNCTION : double-precision floating point addition
+;
+; Required arguments : destination - one of possible destinations
+; operand1 - one of possible sources
+; operand2 - one of possible sources
+;
+ .macro mdadd,destination,operand1,operand2
+
+ .if $narg!=3
+ .err
+ .print "mdadd: missing parameter(s)"
+ .exitm
+ .endif
+
+ .ifdef _29027_MODE
+ ;
+ ; For 29027 mode, perform full suite of checking
+ ;
+ initialize_previous_instruction
+ .set CURRENT_INSTRUCTION, CP_D_D | CP_P_PLUS_T
+ .set OPERATION_TYPE, T_OPERATION
+ perform_double_operation destination,operand1,operand2
+ read_double_result destination
+ ;
+ ; Save the instruction for the next macro invocation
+ ;
+ .set PREVIOUS_INSTRUCTION, CURRENT_INSTRUCTION
+
+ .else
+ ;
+ ; For 29000 mode, simply produce equivalent trap-inducing instruction
+ ;
+ dadd destination,operand1,operand2
+
+ .endif
+
+ .endm ; end of mdadd macro definition
+
+;
+; SMART MACRO : mdsub
+;
+; FUNCTION : double-precision floating point subtraction
+;
+; Required arguments : destination - one of possible destinations
+; operand1 - one of possible sources
+; operand2 - one of possible sources
+;
+ .macro mdsub,destination,operand1,operand2
+
+ .if $narg!=3
+ .err
+ .print "mdsub: missing parameter(s)"
+ .exitm
+ .endif
+
+ .ifdef _29027_MODE
+ ;
+ ; For 29027 mode, perform full suite of checking
+ ;
+ initialize_previous_instruction
+ .set CURRENT_INSTRUCTION, CP_D_D | CP_P_MINUS_T
+ .set OPERATION_TYPE, T_OPERATION
+ perform_double_operation destination,operand1,operand2
+ read_double_result destination
+ ;
+ ; Save the instruction for the next macro invocation
+ ;
+ .set PREVIOUS_INSTRUCTION, CURRENT_INSTRUCTION
+
+ .else
+ ;
+ ; For 29000 mode, simply produce equivalent trap-inducing instruction
+ ;
+ dsub destination,operand1,operand2
+
+ .endif
+
+ .endm ; end of mdsub macro definition
+
+;
+; SMART MACRO : mdmul
+;
+; FUNCTION : double-precision floating point multiplication
+;
+; Required arguments : destination - one of possible destinations
+; operand1 - one of possible sources
+; operand2 - one of possible sources
+;
+ .macro mdmul,destination,operand1,operand2
+
+ .if $narg!=3
+ .err
+ .print "mdmul: missing parameter(s)"
+ .exitm
+ .endif
+
+ .ifdef _29027_MODE
+ ;
+ ; For 29027 mode, perform full suite of checking
+ ;
+ initialize_previous_instruction
+ .set CURRENT_INSTRUCTION, CP_D_D | CP_P_TIMES_Q
+ .set OPERATION_TYPE, Q_OPERATION
+ perform_double_operation destination,operand1,operand2
+ read_double_result destination
+ ;
+ ; Save the instruction for the next macro invocation
+ ;
+ .set PREVIOUS_INSTRUCTION, CURRENT_INSTRUCTION
+
+ .else
+ ;
+ ; For 29000 mode, simply produce equivalent trap-inducing instruction
+ ;
+ dmul destination,operand1,operand2
+
+ .endif
+
+ .endm ; end of mdmul macro definition
+
+;
+; SMART MACRO : mddiv
+;
+; FUNCTION : double-precision floating point divide
+;
+; Required arguments : destination - one of possible destinations
+; operand1 - one of possible sources
+; operand2 - one of possible sources
+;
+ .macro mddiv,destination,operand1,operand2
+
+ .if $narg!=3
+ .err
+ .print "mddiv: missing parameter(s)"
+ .exitm
+ .endif
+
+ ;
+ ; Generate the trap instruction in all cases
+ ;
+ ddiv destination, operand1, operand2
+
+ .endm ; end of mfdiv macro definition
+
+;
+; SMART MACRO: mconvert
+;
+; FUNCTION: Floating point/integer conversion
+;
+; PARAMETERS: destination - one of the possible destinations
+; source - one of the possible sources
+; sign_flag - one of SIGNED or UNSIGNED
+; rounding_mode - one of ROUND_TO_NEAREST, ROUND_TO_PLUS,
+; ROUND_TO_MINUS, ROUND_TO_ZERO
+; destination_precision - one of FORMAT_INTEGER, FORMAT_DOUBLE,
+; or FORMAT_SINGLE
+; source_precision - one of FORMAT_INTEGER, FORMAT_DOUBLE,
+; or FORMAT_SINGLE
+;
+ .macro mconvert, destination, source, sign_flag, rounding_mode, destination_precision, source_precision
+
+ .if $narg!=6
+ .err
+ .print "mconvert: missing parameter(s)"
+ .exitm
+ .endif
+
+ .ifdef _29027_MODE
+ ;
+ ; Generate in line 29027 code
+ ;
+ initialize_previous_instruction
+ .if ( destination_precision == FORMAT_INTEGER )
+ .set CURRENT_INSTRUCTION, CP_CONVERT_T_TO_INT
+ select_T_operand source
+ .if ( source_precision == FORMAT_DOUBLE )
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_S_D
+ .else
+ .if ( source_precision == FORMAT_SINGLE )
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_S_S
+ .else
+ .err
+ .print "mconvert: invalid source type"
+ .exitm
+ .endif
+ .endif
+ .else
+ .if ( destination_precision == FORMAT_DOUBLE )
+ .if ( source_precision == FORMAT_SINGLE )
+ .set CURRENT_INSTRUCTION, CP_PASS_P | CP_P_EQ_R | CP_D_S
+ select_P_operand source
+ .else
+ .if ( source_precision == FORMAT_INTEGER )
+ .set CURRENT_INSTRUCTION, CP_I_CONVERT_T_TO_FLOAT | CP_D_S
+ select_T_operand source
+ .else
+ .err
+ .print "mconvert: invalid source type"
+ .exitm
+ .endif
+ .endif
+ .else
+ .if ( destination_precision == FORMAT_SINGLE )
+ .if ( source_precision == FORMAT_DOUBLE )
+ .set CURRENT_INSTRUCTION, CP_PASS_P | CP_P_EQ_R | CP_S_D
+ select_P_operand source
+ .else
+ .if ( source_precision == FORMAT_INTEGER )
+ .set CURRENT_INSTRUCTION, CP_I_CONVERT_T_TO_FLOAT | CP_S_S
+ select_T_operand source
+ .else
+ .err
+ .print "mconvert: invalid source type"
+ .exitm
+ .endif
+ .endif
+ .else
+ .err
+ .print "mconvert: invalid destination type "
+ .exitm
+ .endif
+ .endif
+ .endif
+ ;
+ ; Perform the operation, using a 29027 dummy register as the second
+ ; source operand, to avoid writing any data inappropriately to the
+ ; 29027
+ ;
+ select_destination destination
+ .set S_SOURCE, S_SOURCE_29027
+ .if ( source_precision == FORMAT_DOUBLE )
+ write_and_execute_double_operation source, FP0
+ .else
+ write_and_execute_single_operation source, FP0
+ .endif
+ .if ( destination_precision == FORMAT_DOUBLE )
+ read_double_result destination
+ .else
+ .if ( destination_precision == FORMAT_SINGLE )
+ read_single_result destination
+ .else
+ read_integer_result destination
+ .endif
+ .endif
+ .else
+ ;
+ ; For 29000 mode (the default) just invoke the trap-inducing instruction
+ ;
+ convert destination,source,sign_flag,rounding_mode,destination_precision,source_precision
+
+ .endif
+
+ .endm ; end of mfeq macro definition
+
+;
+; SMART MACRO: mfeq
+;
+; FUNCTION: Single precision, floating point compare
+;
+; PARAMETERS: destination - one of the possible destinations
+; operand1 - one of the possible sources
+; operand2 - one of the possible sources
+;
+ .macro mfeq, destination, operand1, operand2
+
+ .if $narg!=3
+ .err
+ .print "mfeq: missing parameter(s)"
+ .exitm
+ .endif
+
+ .ifdef _29027_MODE
+ ;
+ ; Generate in line 29027 code
+ ;
+ initialize_previous_instruction
+ .set CURRENT_INSTRUCTION, CP_S_S | CP_COMPARE_P_AND_T
+ .set OPERATION_TYPE, T_OPERATION
+ select_destination destination
+ ;
+ ; 29027 registers are not valid destinations for compare operations
+ ; If the destination is a 29000 register, write the appropriate
+ ; Boolean value to that register.
+ ;
+ .if ( DESTINATION == DESTINATION_29027 )
+ .err
+ .print "29027 destinations invalid for compares - @destination@"
+ .exitm
+ .else
+ perform_single_operation destination, operand1, operand2
+ cp_read_flags destination
+ srl destination, destination, CP_EQUAL_FLAG_POSITION
+ sll destination, destination, 31
+ .endif
+
+ .else
+ ;
+ ; For 29000 mode (the default) just invoke the trap-inducing instruction
+ ;
+ feq destination,operand1,operand2
+
+ .endif
+
+ .endm ; end of mfeq macro definition
+
+;
+; SMART MACRO: mfge
+;
+; FUNCTION: Single precision, floating point compare
+;
+; PARAMETERS: destination - one of the possible destinations
+; operand1 - one of the possible sources
+; operand2 - one of the possible sources
+;
+ .macro mfge, destination, operand1, operand2
+
+ .if $narg!=3
+ .err
+ .print "mfge: missing parameter(s)"
+ .exitm
+ .endif
+
+ .ifdef _29027_MODE
+ ;
+ ; Generate in line 29027 code
+ ;
+ initialize_previous_instruction
+ .set CURRENT_INSTRUCTION, CP_S_S | CP_COMPARE_P_AND_T
+ .set OPERATION_TYPE, T_OPERATION
+ select_destination destination
+ ;
+ ; 29027 registers are not valid destinations for compare operations
+ ; If the destination is a 29000 register, write the appropriate
+ ; Boolean value to that register.
+ ;
+ .if ( DESTINATION == DESTINATION_29027 )
+ .err
+ .print "29027 destinations invalid for compares - @destination@"
+ .exitm
+ .else
+ perform_single_operation destination, operand1, operand2
+ cp_read_flags destination
+ and destination, destination, CP_EQUAL_FLAG | CP_GREATER_THAN_FLAG
+ cpneq destination, destination, 0x0
+ .endif
+
+ .else
+ ;
+ ; For 29000 mode (the default) just invoke the trap-inducing instruction
+ ;
+ fge destination,operand1,operand2
+
+ .endif
+
+ .endm ; end of mfge macro definition
+
+;
+; SMART MACRO: mfgt
+;
+; FUNCTION: Single precision, floating point compare
+;
+; PARAMETERS: destination - one of the possible destinations
+; operand1 - one of the possible sources
+; operand2 - one of the possible sources
+;
+ .macro mfgt, destination, operand1, operand2
+
+ .if $narg!=3
+ .err
+ .print "mfgt: missing parameter(s)"
+ .exitm
+ .endif
+
+ .ifdef _29027_MODE
+ ;
+ ; Generate in line 29027 code
+ ;
+ initialize_previous_instruction
+ .set CURRENT_INSTRUCTION, CP_S_S | CP_COMPARE_P_AND_T
+ .set OPERATION_TYPE, T_OPERATION
+ select_destination destination
+ ;
+ ; 29027 registers are not valid destinations for compare operations
+ ; If the destination is a 29000 register, write the appropriate
+ ; Boolean value to that register.
+ ;
+ .if ( DESTINATION == DESTINATION_29027 )
+ .err
+ .print "29027 destinations invalid for compares - @destination@"
+ .exitm
+ .else
+ perform_single_operation destination, operand1, operand2
+ cp_read_flags destination
+ srl destination, destination, CP_GREATER_THAN_FLAG_POSITION
+ sll destination, destination, 31
+ .endif
+
+ .else
+ ;
+ ; For 29000 mode (the default) just invoke the trap-inducing instruction
+ ;
+ fgt destination,operand1,operand2
+
+ .endif
+
+ .endm ; end of mfgt macro definition
+
+;
+; SMART MACRO: mdeq
+;
+; FUNCTION: Double precision, floating point compare
+;
+; PARAMETERS: destination - one of the possible destinations
+; operand1 - one of the possible sources
+; operand2 - one of the possible sources
+;
+ .macro mdeq, destination, operand1, operand2
+
+ .if $narg!=3
+ .err
+ .print "mdeq: missing parameter(s)"
+ .exitm
+ .endif
+
+
+ .ifdef _29027_MODE
+ ;
+ ; Generate in line 29027 code
+ ;
+ initialize_previous_instruction
+ .set CURRENT_INSTRUCTION, CP_D_D | CP_COMPARE_P_AND_T
+ .set OPERATION_TYPE, T_OPERATION
+ select_destination destination
+ ;
+ ; 29027 registers are not valid destinations for compare operations
+ ; If the destination is a 29000 register, write the appropriate
+ ; Boolean value to that register.
+ ;
+ .if ( DESTINATION == DESTINATION_29027 )
+ .err
+ .print "29027 destinations invalid for compare - @destination@"
+ .exitm
+ .else
+ perform_double_operation destination, operand1, operand2
+ cp_read_flags destination
+ srl destination, destination, CP_EQUAL_FLAG_POSITION
+ sll destination, destination, 31
+ .endif
+ .else
+ ;
+ ; For 29000 mode (the default) just invoke the trap-inducing instruction
+ ;
+ deq destination,operand1,operand2
+
+ .endif
+
+ .endm ; end of mdeq macro definition
+
+;
+; SMART MACRO: mdge
+;
+; FUNCTION: Double precision, floating point compare
+;
+; PARAMETERS: destination - one of the possible destinations
+; operand1 - one of the possible sources
+; operand2 - one of the possible sources
+;
+ .macro mdge, destination, operand1, operand2
+
+ .if $narg!=3
+ .err
+ .print "mdge: missing parameter(s)"
+ .exitm
+ .endif
+
+
+ .ifdef _29027_MODE
+ ;
+ ; Generate in line 29027 code
+ ;
+ initialize_previous_instruction
+ .set CURRENT_INSTRUCTION, CP_D_D | CP_COMPARE_P_AND_T
+ .set OPERATION_TYPE, T_OPERATION
+ select_destination destination
+ ;
+ ; 29027 registers are not valid destinations for compare operations
+ ; If the destination is a 29000 register, write the appropriate
+ ; Boolean value to that register.
+ ;
+ .if ( DESTINATION == DESTINATION_29027 )
+ .err
+ .print "29027 destinations invalid for compare - @destination@"
+ .exitm
+ .else
+ perform_double_operation destination, operand1, operand2
+ cp_read_flags destination
+ and destination, destination, CP_EQUAL_FLAG | CP_GREATER_THAN_FLAG
+ cpneq destination, destination, 0x0
+ .endif
+ .else
+ ;
+ ; For 29000 mode (the default) just invoke the trap-inducing instruction
+ ;
+ dge destination,operand1,operand2
+
+ .endif
+
+ .endm ; end of mdge macro definition
+
+;
+; SMART MACRO: mdgt
+;
+; FUNCTION: Double precision, floating point compare
+;
+; PARAMETERS: destination - one of the possible destinations
+; operand1 - one of the possible sources
+; operand2 - one of the possible sources
+;
+ .macro mdgt, destination, operand1, operand2
+
+ .if $narg!=3
+ .err
+ .print "mdgt: missing parameter(s)"
+ .exitm
+ .endif
+
+
+ .ifdef _29027_MODE
+ ;
+ ; Generate in line 29027 code
+ ;
+ initialize_previous_instruction
+ .set CURRENT_INSTRUCTION, CP_D_D | CP_COMPARE_P_AND_T
+ .set OPERATION_TYPE, T_OPERATION
+ select_destination destination
+ ;
+ ; 29027 registers are not valid destinations for compare operations
+ ; If the destination is a 29000 register, write the appropriate
+ ; Boolean value to that register.
+ ;
+ .if ( DESTINATION == DESTINATION_29027 )
+ .err
+ .print "29027 destinations invalid for compare - @destination@"
+ .exitm
+ .else
+ perform_double_operation destination, operand1, operand2
+ cp_read_flags destination
+ srl destination, destination, CP_GREATER_THAN_FLAG_POSITION
+ sll destination, destination, 31
+ .endif
+ .else
+ ;
+ ; For 29000 mode (the default) just invoke the trap-inducing instruction
+ ;
+ dgt destination,operand1,operand2
+
+ .endif
+
+ .endm ; end of mdgt macro definition
+
+;
+; MACRO NAME : perform_double_operation
+;
+; FUNCTION : After the instruction base is set up, do the appropriate checking
+; to send the instruction if necessary, send the double-precision
+; operands if necessary, and start the operation
+;
+; PARAMETERS : destination - one of possible destination operands
+; operand1 - one of possible source operands
+; operand2 - one of possible source operands
+;
+ .macro perform_double_operation,destination,operand1,operand2
+
+ .if $narg!=3
+ .err
+ .print "perform_double_operation: missing parameter(s)"
+ .exitm
+ .endif
+
+ ;
+ ; Start defining the instruction
+ ;
+ select_destination destination
+ select_P_operand operand1
+ select_S_operand operand2
+
+ write_and_execute_double_operation operand1, operand2
+
+ .endm ; End of perform_double_operation macro definition
+
+;
+; MACRO NAME : perform_single_operation
+;
+; FUNCTION : After the instruction base is set up, do the appropriate checking
+; to send the instruction if necessary, send the single-precision
+; operands if necessary and start the operation
+;
+; PARAMETERS : destination - one of possible destination operands
+; operand1 - one of possible source operands
+; operand2 - one of possible source operands
+;
+ .macro perform_single_operation,destination,operand1,operand2
+
+ ;
+ ; Start defining the instruction
+ ;
+ select_destination destination
+ select_P_operand operand1
+ select_S_operand operand2
+ write_and_execute_single_operation operand1,operand2
+
+ .endm ; End of perform_single_operation macro definition
+
+;
+; MACRO NAME : write_and_execute_double_operation
+;
+; FUNCTION : Write the instruction and operands for a double-precision
+; operation, and start the operation
+;
+; PARAMETER : operand1 - first operand of double-precision operation
+; operand2 - second operand of operation
+;
+ .macro write_and_execute_double_operation,operand1,operand2
+ .if ( ( R_SOURCE == R_SOURCE_29027 ) && ( S_SOURCE == S_SOURCE_29027 ) )
+ ;
+ ; If both sources are within the 29027, write the instruction
+ ; and start the operation
+ ;
+ const t4, CURRENT_INSTRUCTION
+ consth t4, CURRENT_INSTRUCTION
+ cp_write_inst t4, START
+ .else
+ ;
+ ; One or both of the sources must be written first, so check the
+ ; previous instruction
+ ;
+ const t4, CURRENT_INSTRUCTION
+ consth t4, CURRENT_INSTRUCTION
+ cp_write_inst t4
+ .if ( R_SOURCE == R_SOURCE_29000 ) && ( S_SOURCE == S_SOURCE_29027 )
+ .ifeqs "@operand1@","t0"
+ cp_write_r t0, t1, START
+ .else
+ .ifeqs "@operand1@","t2"
+ cp_write_r t2, t3, START
+ .else
+ .ifeqs "@operand1@","rtn0"
+ cp_write_r rtn0, rtn1, START
+ .else
+ .err
+ .print "Invalid source for double operation - @operand1@"
+ .exitm
+ .endif
+ .endif
+ .endif
+ .endif
+ .if ( R_SOURCE == R_SOURCE_29027 ) && ( S_SOURCE == S_SOURCE_29000 )
+ .ifeqs "@operand2@","t0"
+ cp_write_s t0, t1, START
+ .else
+ .ifeqs "@operand2@","t2"
+ cp_write_s t2, t3, START
+ .else
+ .ifeqs "@operand2@","rtn0"
+ cp_write_s rtn0, rtn1, START
+ .else
+ .err
+ .print "Invalid source for double operation - @operand1@"
+ .exitm
+ .endif
+ .endif
+ .endif
+ .endif
+ .if ( R_SOURCE == R_SOURCE_29000 ) && ( S_SOURCE == S_SOURCE_29000 )
+ .ifeqs "@operand1@","t0"
+ cp_write_r t0, t1
+ .else
+ .ifeqs "@operand1@","t2"
+ cp_write_r t2, t3
+ .else
+ .ifeqs "@operand1@","rtn0"
+ cp_write_r rtn0, rtn1
+ .else
+ .err
+ .print "Invalid source for double operation - @operand1@"
+ .exitm
+ .endif
+ .endif
+ .endif
+ .ifeqs "@operand2@","t0"
+ cp_write_s t0, t1, START
+ .else
+ .ifeqs "@operand2@","t2"
+ cp_write_s t2, t3, START
+ .else
+ .ifeqs "@operand2@","rtn0"
+ cp_write_s rtn0, rtn1, START
+ .else
+ .err
+ .print "Invalid source for double operation - @operand1@"
+ .exitm
+ .endif
+ .endif
+ .endif
+ .endif
+ .endif
+
+ .endm ; end of write_and_execute_double_operation macro definition
+
+;
+; MACRO NAME : write_and_execute_single_operation
+;
+; FUNCTION : If necessary, read the result from the 29027 into a
+; register on the 29000
+;
+; PARAMETER : operand1 - first source for single-precision operation
+; operand2 - second source for operation
+;
+ .macro write_and_execute_single_operation,operand1,operand2
+
+ .if ( ( R_SOURCE == R_SOURCE_29027 ) && ( S_SOURCE == S_SOURCE_29027 ) )
+ ;
+ ; If both sources are within the 29027, write the instruction
+ ; and start the operation
+ ;
+ const t4, CURRENT_INSTRUCTION
+ consth t4, CURRENT_INSTRUCTION
+ cp_write_inst t4, START
+ .else
+ ;
+ ; One or both of the sources must be written first, so check the
+ ; previous instruction
+ ;
+ const t4,CURRENT_INSTRUCTION
+ consth t4,CURRENT_INSTRUCTION
+ cp_write_inst t4, START
+ .if ( R_SOURCE == R_SOURCE_29000 ) && ( S_SOURCE == S_SOURCE_29027 )
+ cp_write_r operand1, operand1, START
+ .endif
+ .if ( R_SOURCE == R_SOURCE_29027 ) && ( S_SOURCE == S_SOURCE_29000 )
+ cp_write_s operand2, operand2, START
+ .endif
+ .if ( R_SOURCE == R_SOURCE_29000 ) && ( S_SOURCE == S_SOURCE_29000 )
+ cp_write_rs operand1, operand2, START
+ .endif
+ .endif
+
+ .endm ; End of write_and_execute_single_operation macro definition
+
+;
+; MACRO NAME : read_double_result
+;
+; FUNCTION : If necessary, read the result from the 29027 into a
+; register on the 29000
+;
+; PARAMETER : destination - one of the possible destination registers
+;
+ .macro read_double_result,destination
+ .if ( DESTINATION == DESTINATION_29000 )
+ ;
+ ; If the destination is not within the 29027 register file, read
+ ; the result and store it into the correct register in the 29000
+ ;
+ .ifeqs "@destination@","rtn0"
+ cp_read_dp rtn0, rtn1
+ .else
+ .err
+ .print "Invalid destination for double result - @destination@"
+ .exitm
+ .endif
+ .endif
+
+ .endm ; End of read_double_result macro definition
+
+;
+; MACRO NAME : read_single_result
+;
+; FUNCTION : If necessary, read the result from the 29027 into a
+; register on the 29000
+;
+; PARAMETER : destination
+;
+ .macro read_single_result,destination
+
+ .if ( DESTINATION == DESTINATION_29000 )
+ ;
+ ; If the destination is not within the 29027 register file, read
+ ; the result and store it into the correct register in the 29000
+ ;
+ .ifeqs "@destination@","rtn0"
+ cp_read_sp rtn0
+ .else
+ .err
+ .print "Invalid destination for single result - @destination@"
+ .exitm
+ .endif
+ .endif
+
+ .endm ; End of read_single_result macro definition
+
+;
+; MACRO NAME : read_integer_result
+;
+; FUNCTION : If necessary, read the result from the 29027 into a
+; register on the 29000
+;
+; PARAMETER : destination
+;
+ .macro read_integer_result,destination
+
+ .if ( DESTINATION == DESTINATION_29000 )
+ ;
+ ; If the destination is not within the 29027 register file, read
+ ; the result and store it into the correct register in the 29000
+ ;
+ .ifeqs "@destination@","rtn0"
+ cp_read_int rtn0
+ .else
+ .err
+ .print "Invalid destination for single result - @destination@"
+ .exitm
+ .endif
+ .endif
+
+ .endm ; End of read_integer_result macro definition
+
+;
+; MACRO NAME : select_P_operand
+;
+; FUNCTION : Given an operand, determine if the operand is from the
+; register file, and if so, set the appropriate bits in
+; the current instruction word. In addition, set the
+; variable R_SOURCE to 0 for local register file, or 1 for
+; floating-point register file.
+;
+; PARAMETER : operand1 - one of the possible source operands
+;
+ .macro select_P_operand,operand1
+ .ifeqs "@operand1@","t0"
+ .set R_SOURCE,R_SOURCE_29000
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_P_EQ_R
+ .exitm
+ .endif
+ .ifeqs "@operand1@","t2"
+ .set R_SOURCE,R_SOURCE_29000
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_P_EQ_R
+ .exitm
+ .endif
+ .ifeqs "@operand1@","rtn0"
+ .set R_SOURCE,R_SOURCE_29000
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_P_EQ_R
+ .exitm
+ .endif
+ .ifeqs "@operand1@","FP0"
+ .set R_SOURCE,R_SOURCE_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_P_EQ_RF0
+ .exitm
+ .endif
+ .ifeqs "@operand1@","FP1"
+ .set R_SOURCE,R_SOURCE_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_P_EQ_RF1
+ .exitm
+ .endif
+ .ifeqs "@operand1@","FP2"
+ .set R_SOURCE,R_SOURCE_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_P_EQ_RF2
+ .exitm
+ .endif
+ .ifeqs "@operand1@","FP3"
+ .set R_SOURCE,R_SOURCE_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_P_EQ_RF3
+ .exitm
+ .endif
+ .ifeqs "@operand1@","FP4"
+ .set R_SOURCE,R_SOURCE_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_P_EQ_RF4
+ .exitm
+ .endif
+ .ifeqs "@operand1@","FP5"
+ .set R_SOURCE,R_SOURCE_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_P_EQ_RF5
+ .exitm
+ .endif
+ .ifeqs "@operand1@","FP6"
+ .set R_SOURCE,R_SOURCE_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_P_EQ_RF6
+ .exitm
+ .endif
+ .ifeqs "@operand1@","FP7"
+ .set R_SOURCE,R_SOURCE_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_P_EQ_RF7
+ .exitm
+ .endif
+ .err
+ .print "@operand1@ - Invalid operand"
+
+ .endm ; end of select_P_operand macro definition
+
+;
+; MACRO NAME : select_S_operand
+;
+; FUNCTION : Given an operand, determine if the operand is from the
+; register file, and if so, set the appropriate bits in
+; the current instruction word. In addition, set the
+; variable S_SOURCE to S_SOURCE_29000 or S_SOURCE_29027
+; as appropriate
+;
+; PARAMETER : operand2 - one of the possible source operands
+;
+ .macro select_S_operand,operand2
+ .ifeqs "@operand2@","t0"
+ .set S_SOURCE,S_SOURCE_29000
+ .if ( OPERATION_TYPE == T_OPERATION )
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_T_EQ_S
+ .else
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_Q_EQ_S
+ .endif
+ .exitm
+ .endif
+ .ifeqs "@operand2@","t2"
+ .set S_SOURCE,S_SOURCE_29000
+ .if ( OPERATION_TYPE == T_OPERATION )
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_T_EQ_S
+ .else
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_Q_EQ_S
+ .endif
+ .exitm
+ .endif
+ .ifeqs "@operand2@","rtn0"
+ .set S_SOURCE,S_SOURCE_29000
+ .if ( OPERATION_TYPE == T_OPERATION )
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_T_EQ_S
+ .else
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_Q_EQ_S
+ .endif
+ .exitm
+ .endif
+ .ifeqs "@operand2@","FP0"
+ .set S_SOURCE,S_SOURCE_29027
+ .if ( OPERATION_TYPE == T_OPERATION )
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_T_EQ_RF0
+ .else
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_Q_EQ_RF0
+ .endif
+ .exitm
+ .endif
+ .ifeqs "@operand2@","FP1"
+ .set S_SOURCE,S_SOURCE_29027
+ .if ( OPERATION_TYPE == T_OPERATION )
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_T_EQ_RF1
+ .else
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_Q_EQ_RF1
+ .endif
+ .exitm
+ .endif
+ .ifeqs "@operand2@","FP2"
+ .set S_SOURCE,S_SOURCE_29027
+ .if ( OPERATION_TYPE == T_OPERATION )
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_T_EQ_RF2
+ .else
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_Q_EQ_RF2
+ .endif
+ .exitm
+ .endif
+ .ifeqs "@operand2@","FP3"
+ .set S_SOURCE,S_SOURCE_29027
+ .if ( OPERATION_TYPE == T_OPERATION )
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_T_EQ_RF3
+ .else
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_Q_EQ_RF3
+ .endif
+ .exitm
+ .endif
+ .ifeqs "@operand2@","FP4"
+ .set S_SOURCE,S_SOURCE_29027
+ .if ( OPERATION_TYPE == T_OPERATION )
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_T_EQ_RF4
+ .else
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_Q_EQ_RF4
+ .endif
+ .exitm
+ .endif
+ .ifeqs "@operand2@","FP5"
+ .set S_SOURCE,S_SOURCE_29027
+ .if ( OPERATION_TYPE == T_OPERATION )
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_T_EQ_RF5
+ .else
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_Q_EQ_RF5
+ .endif
+ .exitm
+ .endif
+ .ifeqs "@operand2@","FP6"
+ .set S_SOURCE,S_SOURCE_29027
+ .if ( OPERATION_TYPE == T_OPERATION )
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_T_EQ_RF6
+ .else
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_Q_EQ_RF6
+ .endif
+ .exitm
+ .endif
+ .ifeqs "@operand2@","FP7"
+ .set S_SOURCE,S_SOURCE_29027
+ .if ( OPERATION_TYPE == T_OPERATION )
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_T_EQ_RF7
+ .else
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_Q_EQ_RF7
+ .endif
+ .exitm
+ .endif
+ .err
+ .print "@operand2@ - Invalid operand"
+
+ .endm ; end of select_S_operand macro definition
+
+;
+; MACRO NAME : select_T_operand
+;
+; FUNCTION : Given an operand, determine if the operand is from the
+; register file, and if so, set the appropriate bits in
+; the current instruction word, to read the corresponding
+; source into the T operand. In addition, set the
+; variable R_SOURCE to 0 for local register file, or 1 for
+; floating-point register file.
+;
+; PARAMETER : operand1 - one of the possible source operands
+;
+ .macro select_T_operand,operand1
+ .ifeqs "@operand1@","t0"
+ .set R_SOURCE,R_SOURCE_29000
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_T_EQ_R
+ .exitm
+ .endif
+ .ifeqs "@operand1@","t2"
+ .set R_SOURCE,R_SOURCE_29000
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_T_EQ_R
+ .exitm
+ .endif
+ .ifeqs "@operand1@","rtn0"
+ .set R_SOURCE,R_SOURCE_29000
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_T_EQ_R
+ .exitm
+ .endif
+ .ifeqs "@operand1@","FP0"
+ .set R_SOURCE,R_SOURCE_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_T_EQ_RF0
+ .exitm
+ .endif
+ .ifeqs "@operand1@","FP1"
+ .set R_SOURCE,R_SOURCE_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_T_EQ_RF1
+ .exitm
+ .endif
+ .ifeqs "@operand1@","FP2"
+ .set R_SOURCE,R_SOURCE_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_T_EQ_RF2
+ .exitm
+ .endif
+ .ifeqs "@operand1@","FP3"
+ .set R_SOURCE,R_SOURCE_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_T_EQ_RF3
+ .exitm
+ .endif
+ .ifeqs "@operand1@","FP4"
+ .set R_SOURCE,R_SOURCE_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_T_EQ_RF4
+ .exitm
+ .endif
+ .ifeqs "@operand1@","FP5"
+ .set R_SOURCE,R_SOURCE_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_T_EQ_RF5
+ .exitm
+ .endif
+ .ifeqs "@operand1@","FP6"
+ .set R_SOURCE,R_SOURCE_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_T_EQ_RF6
+ .exitm
+ .endif
+ .ifeqs "@operand1@","FP7"
+ .set R_SOURCE,R_SOURCE_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_T_EQ_RF7
+ .exitm
+ .endif
+ .err
+ .print "@operand1@ - Invalid operand"
+
+ .endm ; end of select_T_operand macro definition
+
+;
+; MACRO NAME : select_destination
+;
+; FUNCTION : Given a destination, determine if the operand is from the
+; register file, and if so, set the appropriate bits in
+; the current instruction word. In addition, set the
+; variable DESTINATION to DESTINATION_29000 or
+; DESTINATION_29027 as appropriate
+;
+; PARAMETER : destination - one of the possible destination operands
+;
+ .macro select_destination,destination
+ .ifeqs "@destination@","rtn0"
+ .set DESTINATION,DESTINATION_29000
+ .exitm
+ .endif
+ .ifeqs "@destination@","FP0"
+ .set DESTINATION,DESTINATION_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_DEST_EQ_RF0
+ .exitm
+ .endif
+ .ifeqs "@destination@","FP1"
+ .set DESTINATION,DESTINATION_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_DEST_EQ_RF1
+ .exitm
+ .endif
+ .ifeqs "@destination@","FP2"
+ .set DESTINATION,DESTINATION_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_DEST_EQ_RF2
+ .exitm
+ .endif
+ .ifeqs "@destination@","FP3"
+ .set DESTINATION,DESTINATION_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_DEST_EQ_RF3
+ .exitm
+ .endif
+ .ifeqs "@destination@","FP4"
+ .set DESTINATION,DESTINATION_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_DEST_EQ_RF4
+ .exitm
+ .endif
+ .ifeqs "@destination@","FP5"
+ .set DESTINATION,DESTINATION_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_DEST_EQ_RF5
+ .exitm
+ .endif
+ .ifeqs "@destination@","FP6"
+ .set DESTINATION,DESTINATION_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_DEST_EQ_RF6
+ .exitm
+ .endif
+ .ifeqs "@destination@","FP7"
+ .set DESTINATION,DESTINATION_29027
+ .set CURRENT_INSTRUCTION, CURRENT_INSTRUCTION | CP_DEST_EQ_RF7
+ .exitm
+ .endif
+ .err
+ .print "@destination@ - Invalid operand"
+
+ .endm ; end of select_destination macro definition
+
+; MACRO NAME : initialize_previous_instruction
+;
+; FUNCTION : Make sure the previous instruction is defined and set to zero
+;
+ .macro initialize_previous_instruction
+
+ .ifndef PREVIOUS_INSTRUCTION
+ ;
+ ; Make sure that the previous instruction variable is initialized
+ ;
+ .set PREVIOUS_INSTRUCTION,0
+ .endif
+
+ .endm ; end of initialize_previous_instruction macro definition
+
+
+; MACRO NAME : prepare_function_parameters
+;
+; FUNCTION : To place the input parameters into the correct position for
+; use by the function body. When the target language is
+; FORTRAN, the values of the input arguments are read from the
+; supplied addresses and moved to the t0-t3 temporary area.
+; When the target language is C or Pascal, the values of the
+; input arguments are simply moved to the t0-t3 temporary area.
+;
+ .macro prepare_function_parameters,arg1,arg2
+
+ .if $narg==0
+ .err
+ .print "Missing function argument(s)"
+ .exitm
+ .endif
+
+ .if $narg>2
+ .err
+ .print "Too many function arguments
+ .exitm
+ .endif
+
+ .if $narg>=1
+ .if $isreg(@arg1)
+ .ifdef FORTRAN
+ load 0,0,t0,arg1
+ .if ( FUNCTION_TYPE == DOUBLE_FUNCTION )
+ add t1,arg1,4
+ load 0,0,t1,t1
+ .endif
+ .else
+ add t0,arg1,0
+ .if ( FUNCTION_TYPE == DOUBLE_FUNCTION )
+ add t1,%%(&arg1+1),0
+ .endif
+ .endif
+ .else
+ .err
+ .print "Function argument not register - @arg1@"
+ .endif
+ .endif
+ .if $narg==2
+ .if $isreg (@arg2)
+ .ifdef FORTRAN
+ load 0,0,t2,arg2
+ .if ( FUNCTION_TYPE == DOUBLE_FUNCTION )
+ add t3,arg2,4
+ load 0,0,t3,t3
+ .endif
+ .else
+ add t2,arg2,0
+ .if ( FUNCTION_TYPE == DOUBLE_FUNCTION )
+ add t3,%%(&arg2+1),0
+ .endif
+ .endif
+ .else
+ .err
+ .print "Function argument not register - @arg2@"
+ .endif
+ .endif
+
+ .endm ; end of prepare_function_parameters macro definition
+
+; end of smartmac.h file
diff --git a/newlib/libc/sys/a29khif/sys/sysmac.h b/newlib/libc/sys/a29khif/sys/sysmac.h
new file mode 100644
index 00000000000..01ff9eec21f
--- /dev/null
+++ b/newlib/libc/sys/a29khif/sys/sysmac.h
@@ -0,0 +1,165 @@
+; @(#)sysmac.h 1.7 90/10/14 20:56:17, Copyright 1988, 1989, 1990 AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1988, 1989, 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;
+; sysmac.h
+;
+ .include "sys/proreg.h"
+
+; Supported system call function numbers - BSD emulation
+
+ .equ BSD_exit, 1
+ .equ BSD_open, 5
+ .equ BSD_close, 6
+ .equ BSD_remove, 10
+ .equ BSD_lseek, 19
+ .equ BSD_sbrk, 69
+ .equ BSD_readv, 120
+ .equ BSD_writev, 121
+ .equ BSD_rename, 128
+; Functions above 0x100 are handled by Am29000 code
+ .equ BSD_alloc, 0x101
+ .equ BSD_free, 0x102
+ .equ BSD_getpagesize, 0x103
+
+ .equ BSD_clock, 0x111
+
+; Supported system call function numbers - HIF version 2.0
+
+ .equ HIF_exit, 0x01
+
+ .equ HIF_open, 0x11
+ .equ HIF_close, 0x12
+ .equ HIF_read, 0x13
+ .equ HIF_write, 0x14
+ .equ HIF_lseek, 0x15
+ .equ HIF_remove, 0x16
+ .equ HIF_rename, 0x17
+ .equ HIF_ioctl, 0x18
+ .equ HIF_iowait, 0x19
+ .equ HIF_iostat, 0x1a
+
+ .equ HIF_tmpnam, 0x21
+
+ .equ HIF_time, 0x31
+
+ .equ HIF_getenv, 0x41
+ .equ HIF_gettz, 0x43
+
+ .equ HIF_sysalloc, 0x101
+ .equ HIF_alloc, HIF_sysalloc ;Synonym.
+ .equ HIF_sysfree, 0x102
+ .equ HIF_free, HIF_sysfree ;Synonym.
+ .equ HIF_getpsize, 0x103
+ .equ HIF_getpagesize,HIF_getpsize ;Synonym.
+ .equ HIF_getargs, 0x104
+
+ .equ HIF_clock, 0x111
+ .equ HIF_cycles, 0x112
+
+ .equ HIF_setvec, 0x121
+ .equ HIF_settrap, 0x122
+ .equ HIF_setim, 0x123
+
+ .equ HIF_query, 0x131
+
+ .equ HIF_signal, 0x141
+ .equ HIF_sigdfl, 0x142
+ .equ HIF_sigret, 0x143
+ .equ HIF_sigrep, 0x144
+ .equ HIF_sigskp, 0x145
+ .equ HIF_sendsig, 0x146
+
+;Maintain compatibility with HIF 1.0 code.
+
+ .equ EPI_exit, HIF_exit
+
+ .equ EPI_open, HIF_open
+ .equ EPI_close, HIF_close
+ .equ EPI_read, HIF_read
+ .equ EPI_write, HIF_write
+ .equ EPI_lseek, HIF_lseek
+ .equ EPI_remove, HIF_remove
+ .equ EPI_rename, HIF_rename
+
+ .equ EPI_tmpnam, HIF_tmpnam
+
+ .equ EPI_time, HIF_time
+
+ .equ EPI_getenv, HIF_getenv
+ .equ EPI_gettz, HIF_gettz
+ .equ EPI_alloc, HIF_sysalloc
+ .equ EPI_free, HIF_sysfree
+ .equ EPI_getpagesize, HIF_getpsize
+ .equ EPI_getargs, HIF_getargs
+
+ .equ EPI_clock, HIF_clock
+ .equ EPI_cycles, HIF_cycles
+
+ .equ EPI_setvec, HIF_setvec
+
+ .equ V_SYSCALL, 69
+
+; System call macros
+/* Now that source files have been sed'd to avoid these macros, they
+ are just commented out. -- gnu@cygnus.com Oct 90
+
+ .ifdef _BSD_OS
+ .equ V_SYSCALL, 66
+ .else
+ .equ V_SYSCALL, 69
+ .endif
+
+ .macro syscall, name
+ .ifdef _BSD_OS
+ const tav, SYS_@name
+ .else
+ const tav, HIF_@name
+ .endif
+ asneq V_SYSCALL, gr1, gr1
+ .endm
+
+; error return
+; set errno to the error value in tav.
+; return -1
+;
+ .macro returnerr
+;; .extern _errno ; rather have undef'd sym than multiple def's
+ const tpc, _errno
+ consth tpc, _errno
+ store 0, 0, tav, tpc
+ jmpi lr0
+ constn v0, -1
+ .endm
+
+; package the most common case in one macro
+;
+ .macro system, name
+ syscall name
+ jmpti tav, lr0
+ returnerr
+ .endm
+ */
diff --git a/newlib/libc/sys/a29khif/systime.s b/newlib/libc/sys/a29khif/systime.s
new file mode 100644
index 00000000000..95b193360fe
--- /dev/null
+++ b/newlib/libc/sys/a29khif/systime.s
@@ -0,0 +1,44 @@
+; @(#)systime.s 1.2 90/10/14 21:57:59, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; _time.s
+; time_t secs = time( time_t *secs );
+;
+; NOTE - Will not work on BSD (no time sys call)
+;
+ .file "systime.s"
+ .include "sys/sysmac.h"
+ .text
+ .word 0x00030000 ; Debugger tag word
+ .global _time
+_time:
+ const tav,HIF_time @ asneq V_SYSCALL,gr1,gr1
+ cpeq gr97, lr2, 0
+ jmpti gr97, lr0
+ nop
+ jmpi lr0
+ store 0, 0, gr96, lr2
+ .end
diff --git a/newlib/libc/sys/a29khif/vec.s b/newlib/libc/sys/a29khif/vec.s
new file mode 100644
index 00000000000..5a7083a3c9b
--- /dev/null
+++ b/newlib/libc/sys/a29khif/vec.s
@@ -0,0 +1,35 @@
+; @(#)vec.s 1.2 90/10/14 21:58:01, AMD
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Copyright 1990 Advanced Micro Devices, Inc.
+;
+; This software is the property of Advanced Micro Devices, Inc (AMD) which
+; specifically grants the user the right to modify, use and distribute this
+; software provided this notice is not removed or altered. All other rights
+; are reserved by AMD.
+;
+; AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+; SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+; DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+; USE OF THIS SOFTWARE.
+;
+; So that all may benefit from your experience, please report any problems
+; or suggestions about this software to the 29K Technical Support Center at
+; 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or
+; 0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118.
+;
+; Advanced Micro Devices, Inc.
+; 29K Support Products
+; Mail Stop 573
+; 5900 E. Ben White Blvd.
+; Austin, TX 78741
+; 800-292-9263
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ .global V_SPILL, V_FILL
+ .global V_EPI_OS, V_BSD_OS
+
+ .equ V_SPILL, 64
+ .equ V_FILL, 65
+
+ .equ V_BSD_OS, 66
+ .equ V_EPI_OS, 69
+ .end
diff --git a/newlib/libc/sys/aclocal.m4 b/newlib/libc/sys/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/sys/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/sys/arm/Makefile.am b/newlib/libc/sys/arm/Makefile.am
new file mode 100644
index 00000000000..1af0f8ddd3e
--- /dev/null
+++ b/newlib/libc/sys/arm/Makefile.am
@@ -0,0 +1,14 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = syscalls.c libcfunc.c trap.S setjmp.S
+
+all: crt0.o
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/arm/Makefile.in b/newlib/libc/sys/arm/Makefile.in
new file mode 100644
index 00000000000..ac2d41036e6
--- /dev/null
+++ b/newlib/libc/sys/arm/Makefile.in
@@ -0,0 +1,320 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = syscalls.c libcfunc.c trap.S setjmp.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = syscalls.o libcfunc.o trap.o setjmp.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in \
+ ../../../acinclude.m4 ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @banner="$(distdir).tar.gz is ready for distribution"; \
+ dashes=`echo "$$banner" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ echo "$$dashes"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am:
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-info-am:
+install-info: install-info-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am:
+uninstall: uninstall-am
+all-am: Makefile $(LIBRARIES)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-noinstLIBRARIES distclean-compile \
+ distclean-tags distclean-generic clean-am
+
+distclean: distclean-am
+ -rm -f config.status
+
+maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-info-am install-info \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+all: crt0.o
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/sys/arm/aclocal.m4 b/newlib/libc/sys/arm/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/sys/arm/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/sys/arm/configure b/newlib/libc/sys/arm/configure
new file mode 100755
index 00000000000..3a28b717938
--- /dev/null
+++ b/newlib/libc/sys/arm/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=trap.S
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/sys/arm/configure.in b/newlib/libc/sys/arm/configure.in
new file mode 100644
index 00000000000..eeac4889fb4
--- /dev/null
+++ b/newlib/libc/sys/arm/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/sys/arm configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(trap.S)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/sys/arm/crt0.S b/newlib/libc/sys/arm/crt0.S
new file mode 100644
index 00000000000..174c889717f
--- /dev/null
+++ b/newlib/libc/sys/arm/crt0.S
@@ -0,0 +1,244 @@
+#include "swi.h"
+
+/* ANSI concatenation macros. */
+#define CONCAT(a, b) CONCAT2(a, b)
+#define CONCAT2(a, b) a ## b
+
+#ifdef __USER_LABEL_PREFIX__
+#define FUNCTION( name ) CONCAT (__USER_LABEL_PREFIX__, name)
+#else
+#error __USER_LABEL_PREFIX is not defined
+#endif
+
+/* .text is used instead of .section .text so it works with arm-aout too. */
+ .text
+ .code 32
+ .align 0
+
+ .global _mainCRTStartup
+ .global _start
+ .global start
+start:
+_start:
+_mainCRTStartup:
+
+/* Start by setting up a stack */
+#ifdef ARM_RDP_MONITOR
+ /* Issue Demon SWI to read stack info */
+ swi SWI_GetEnv /* Returns command line in r0 */
+ mov sp,r1 /* and the highest memory address in r1 */
+ ldr sl, .LC2 /* stack limit is at end of data */
+ add sl, sl, #256 /* allow slop for stack overflow handling */
+ /* and small frames */
+#else
+#ifdef ARM_RDI_MONITOR
+ /* Issue Angel SWI to read stack info */
+ mov r0, #AngelSWI_Reason_HeapInfo
+ adr r1, .LC0 /* point at ptr to 4 words to receive data */
+ swi AngelSWI_ARM /* We are always in ARM mode for startup */
+ ldr r0, .LC0 /* point at values read */
+ ldr sp, [r0, #8]
+ ldr sl, [r0, #12]
+ add sl, sl, #256 /* allow slop for stack overflow handling */
+ /* and small frames */
+#else
+ /* Set up the stack pointer to a fixed value */
+ ldr r3, .LC0
+ mov sp, r3
+ /* Setup a default stack-limit in-case the code has been
+ compiled with "-mapcs-stack-check". Hard-wiring this value
+ is not ideal, since there is currently no support for
+ checking that the heap and stack have not collided, or that
+ this default 64k is enough for the program being executed.
+ However, it ensures that this simple crt0 world will not
+ immediately cause an overflow event: */
+ sub sl, sp, #64 << 10 /* Still assumes 256bytes below sl */
+#endif
+#endif
+ mov a2, #0 /* Second arg: fill value */
+ mov fp, a2 /* Null frame pointer */
+ mov r7, a2 /* Null frame pointer for Thumb */
+
+ ldr a1, .LC1 /* First arg: start of memory block */
+ ldr a3, .LC2
+ sub a3, a3, a1 /* Third arg: length of block */
+
+
+#ifdef __thumb__ /* Enter Thumb mode.... */
+
+ add a4, pc, #1 /* Get the address of the Thumb block */
+ bx a4 /* Go there and start Thumb decoding */
+
+ .code 16
+ .global __change_mode
+ .thumb_func
+__change_mode:
+#endif
+
+ bl FUNCTION (memset)
+#if !defined (ARM_RDP_MONITOR) && !defined (ARM_RDI_MONITOR)
+ mov r0, #0 /* no arguments */
+ mov r1, #0 /* no argv either */
+#else
+ /* Need to set up standard file handles */
+ bl FUNCTION (initialise_monitor_handles)
+
+#ifdef ARM_RDP_MONITOR
+ swi SWI_GetEnv /* sets r0 to point to the command line */
+ mov r1, r0
+#else
+ mov r0, #AngelSWI_Reason_GetCmdLine
+ adr r1, .LC30 /* Space for command line */
+ swi AngelSWI
+ ldr r1, .LC30
+#endif
+ /* Parse string at r1 */
+ mov r0, #0 /* count of arguments so far */
+.LC10:
+/* Skip leading blanks */
+#ifdef __thumb__
+ ldrb r3, [r1]
+ add r1, #1
+#else
+ ldrb r3, [r1], #1
+#endif
+ cmp r3, #0
+ beq .LC12
+ cmp r3, #' '
+ beq .LC10
+
+/* See whether we are scanning a string */
+ cmp r3, #'"'
+#ifdef __thumb__
+ beq .LC20
+ cmp r3, #'\''
+ bne .LC21
+.LC20:
+ mov r2, r3
+ b .LC22
+
+.LC21:
+ mov r2, #' ' /* terminator type */
+ sub r1, r1, #1 /* adjust back to point at start char */
+.LC22:
+#else
+ cmpne r3, #'\''
+ moveq r2, r3
+ movne r2, #' ' /* terminator type */
+ subne r1, r1, #1 /* adjust back to point at start char */
+#endif
+
+/* Stack a pointer to the current argument */
+#ifdef __thumb__
+ push {r1}
+#else
+ stmfd sp!, {r1}
+#endif
+ add r0, r0, #1
+.LC11:
+#ifdef __thumb__
+ ldrb r3, [r1]
+ add r1, #1
+#else
+ ldrb r3, [r1], #1
+#endif
+ cmp r3, #0
+ beq .LC12
+ cmp r2, r3 /* reached terminator? */
+ bne .LC11
+ mov r2, #0
+ sub r3, r1, #1
+ strb r2, [r3] /* terminate the arg string */
+ b .LC10
+
+.LC12:
+ mov r1, sp /* point at stacked arg pointers */
+ /* We've now got the stacked args in order reverse the */
+#ifdef __thumb__
+ mov r2, r0
+ lsl r2, #2
+ add r2, sp
+ mov r3, sp
+.LC15: cmp r2, r3
+ bls .LC14
+ sub r2, #4
+ ldr r4, [r2]
+ ldr r5, [r3]
+ str r5, [r2]
+ str r4, [r3]
+ add r3, #4
+ b .LC15
+.LC14:
+#else
+ add r2, sp, r0, LSL #2 /* End of args */
+ mov r3, sp /* Start of args */
+.LC13: cmp r2, r3
+ ldrhi r4,[r2, #-4] /* Reverse ends of list */
+ ldrhi r5, [r3]
+ strhi r5, [r2, #-4]!
+ strhi r4, [r3], #4
+ bhi .LC13
+#endif
+
+#endif
+ bl FUNCTION (main)
+
+ bl FUNCTION (exit) /* Should not return */
+
+#ifdef __thumb__
+ /* Come out of Thumb mode... This code should be redundant... */
+
+ mov a4, pc
+ bx a4
+
+ .code 32
+ .global change_back
+change_back:
+ /* Halt the execution. This code should never be executed. */
+ /*
+ ** With no debug monitor, this probably aborts (eventually).
+ ** With a Demon debug monitor, this halts cleanly.
+ ** With an Angel debug monitor, this will report 'Unknown SWI'.
+ */
+ swi SWI_Exit
+#endif
+
+ /* For Thumb, constants must be after the code since only
+ positive offsets are supported for PC relative addresses. */
+
+ .align 0
+.LC0:
+#ifdef ARM_RDI_MONITOR
+ .word HeapBase
+#else
+#ifndef ARM_RDP_MONITOR
+#ifdef __pe__
+ .word 0x800000
+#else
+/* .word 0x80000 */ /* Top of RAM on the PIE board */
+#endif
+#endif
+#endif
+.LC1:
+ .word __bss_start__
+.LC2:
+ .word __bss_end__
+
+#ifdef ARM_RDI_MONITOR
+.LC30: .word CommandLine
+
+/* Workspace for Angel calls. */
+ .data
+/* Data returned by monitor SWI */
+HeapBase: .word 0
+HeapLimit: .word 0
+StackBase: .word 0
+StackLimit: .word 0
+CommandLine: .space 256,0 /* Maximum length of 255 chars handled */
+#endif
+
+#ifdef __pe__
+ .section .idata$3
+ .long 0,0,0,0,0,0,0,0
+#endif
+
diff --git a/newlib/libc/sys/arm/libcfunc.c b/newlib/libc/sys/arm/libcfunc.c
new file mode 100644
index 00000000000..ddc611f34c1
--- /dev/null
+++ b/newlib/libc/sys/arm/libcfunc.c
@@ -0,0 +1,40 @@
+/* Support files for GNU libc. Files in the C namespace go here.
+ Files in the system namespace (ie those that start with an underscore)
+ go in syscalls.c.
+
+ Note: These functions are in a seperate file so that OS providers can
+ overrride the system call stubs (defined in syscalls.c) without having
+ to provide libc funcitons as well. */
+#include "swi.h"
+
+#ifdef ARM_RDI_MONITOR
+
+static inline int
+do_AngelSWI (int reason, void * arg)
+{
+ int value;
+ asm volatile ("mov r0, %1; mov r1, %2; swi %a3; mov %0, r0"
+ : "=r" (value) /* Outputs */
+ : "r" (reason), "r" (arg), "i" (AngelSWI) /* Inputs */
+ : "r0", "r1", "lr"
+ /* Clobbers r0 and r1, and lr if in supervisor mode */);
+ return value;
+}
+#endif /* ARM_RDI_MONITOR */
+
+
+void
+abort (void)
+{
+#ifdef ARM_RDI_MONITOR
+ do_AngelSWI (AngelSWI_Reason_ReportException,
+ (void *) ADP_Stopped_RunTimeError);
+#else
+ asm ("mov r0,#17\nswi %a0" :: "i" (SWI_Exit));
+#endif
+}
+
+void
+alarm (void)
+{
+}
diff --git a/newlib/libc/sys/arm/setjmp.S b/newlib/libc/sys/arm/setjmp.S
new file mode 100644
index 00000000000..eab8e214ac7
--- /dev/null
+++ b/newlib/libc/sys/arm/setjmp.S
@@ -0,0 +1,102 @@
+/* This is a simple version of setjmp and longjmp.
+
+ Nick Clifton, Cygnus Solutions, 13 June 1997. */
+
+/* ANSI concatenation macros. */
+#define CONCAT(a, b) CONCAT2(a, b)
+#define CONCAT2(a, b) a ## b
+
+#ifdef __USER_LABEL_PREFIX__
+#define FUNCTION( name ) CONCAT (__USER_LABEL_PREFIX__, name)
+#else
+#error __USER_LABEL_PREFIX__ is not defined
+#endif
+
+
+ .text
+ .code 32
+ .align 2
+
+/* int setjmp (jmp_buf); */
+ .globl FUNCTION(setjmp)
+FUNCTION(setjmp):
+
+ /* Save all the callee-preserved registers into the jump buffer. */
+ stmea a1!, { v1-v7, fp, ip, sp, lr }
+
+#if 0 /* Simulator does not cope with FP instructions yet.... */
+#ifndef __SOFTFP__
+ /* Save the floating point registers */
+ sfmea f4, 4, [a1]
+#endif
+#endif
+ /* When setting up the jump buffer return 0. */
+ mov a1, #0
+
+ /* Return to caller, see comment in longjmp below */
+#ifdef __APCS_26__
+ movs pc, lr
+#else
+ tst lr, #1
+ moveq pc, lr
+.word 0xe12fff1e /* bx lr */
+#endif
+
+
+/* volatile void longjmp (jmp_buf, int); */
+ .globl FUNCTION(longjmp)
+FUNCTION(longjmp):
+
+ /* If we have stack extension code it ought to be handled here. */
+
+ /* Restore the registers, retrieving the state when setjmp() was called. */
+ ldmfd a1!, { v1-v7, fp, ip, sp, lr }
+
+#if 0 /* Simulator does not cope with FP instructions yet.... */
+#ifndef __SOFTFP__
+ /* Restore floating point registers as well */
+ lfmfd f4, 4, [a1]
+#endif
+#endif
+ /* Put the return value into the integer result register.
+ But if it is zero then return 1 instead. */
+ movs a1, a2
+ moveq a1, #1
+
+ /* Arm/Thumb interworking support:
+
+ The interworking scheme expects functions to use a BX instruction
+ to return control to their parent. Since we need this code to work
+ in both interworked and non-interworked environments as well as with
+ older processors which do not have the BX instruction we do the
+ following:
+ Test the return address.
+ If the bottom bit is clear perform an "old style" function exit.
+ (We know that we are in ARM mode and returning to an ARM mode caller).
+ Otherwise use the BX instruction to perform the function exit.
+
+ We know that we will never attempt to perform the BX instruction on
+ an older processor, because that kind of processor will never be
+ interworked, and a return address with the bottom bit set will never
+ be generated.
+
+ In addition, we do not actually assemble the BX instruction as this would
+ require us to tell the assembler that the processor is an ARM7TDMI and
+ it would store this information in the binary. We want this binary to be
+ able to be linked with binaries compiled for older processors however, so
+ we do not want such information stored there.
+
+ If we are running using the APCS-26 convention however, then we never
+ test the bottom bit, because this is part of the processor status.
+ Instead we just do a normal return, since we know that we cannot be
+ returning to a Thumb caller - the Thumb doe snot support APCS-26
+ */
+
+#ifdef __APCS_26__
+ movs pc, lr
+#else
+ tst lr, #1
+ moveq pc, lr
+.word 0xe12fff1e /* bx lr */
+#endif
+
diff --git a/newlib/libc/sys/arm/swi.h b/newlib/libc/sys/arm/swi.h
new file mode 100644
index 00000000000..91fad591215
--- /dev/null
+++ b/newlib/libc/sys/arm/swi.h
@@ -0,0 +1,65 @@
+
+/***************************************************************************\
+* SWI numbers *
+\***************************************************************************/
+
+/* SWI numbers for RDP (Demon) monitor */
+#define SWI_WriteC 0x0
+#define SWI_Write0 0x2
+#define SWI_ReadC 0x4
+#define SWI_CLI 0x5
+#define SWI_GetEnv 0x10
+#define SWI_Exit 0x11
+#define SWI_EnterOS 0x16
+
+#define SWI_GetErrno 0x60
+#define SWI_Clock 0x61
+#define SWI_Time 0x63
+#define SWI_Remove 0x64
+#define SWI_Rename 0x65
+#define SWI_Open 0x66
+
+#define SWI_Close 0x68
+#define SWI_Write 0x69
+#define SWI_Read 0x6a
+#define SWI_Seek 0x6b
+#define SWI_Flen 0x6c
+
+#define SWI_IsTTY 0x6e
+#define SWI_TmpNam 0x6f
+#define SWI_InstallHandler 0x70
+#define SWI_GenerateError 0x71
+
+
+/* Now the SWI numbers and reason codes for RDI (Angel) monitors */
+#define AngelSWI_ARM (0x123456)
+#ifdef __thumb__
+#define AngelSWI (0xAB)
+#else
+#define AngelSWI AngelSWI_ARM
+#endif
+
+/* The reason codes: */
+#define AngelSWI_Reason_Open (0x01)
+#define AngelSWI_Reason_Close (0x02)
+#define AngelSWI_Reason_WriteC (0x03)
+#define AngelSWI_Reason_Write0 (0x04)
+#define AngelSWI_Reason_Write (0x05)
+#define AngelSWI_Reason_Read (0x06)
+#define AngelSWI_Reason_ReadC (0x07)
+#define AngelSWI_Reason_IsTTY (0x09)
+#define AngelSWI_Reason_Seek (0x0A)
+#define AngelSWI_Reason_FLen (0x0C)
+#define AngelSWI_Reason_TmpNam (0x0D)
+#define AngelSWI_Reason_Remove (0x0E)
+#define AngelSWI_Reason_Rename (0x0F)
+#define AngelSWI_Reason_Clock (0x10)
+#define AngelSWI_Reason_Time (0x11)
+#define AngelSWI_Reason_System (0x12)
+#define AngelSWI_Reason_Errno (0x13)
+#define AngelSWI_Reason_GetCmdLine (0x15)
+#define AngelSWI_Reason_HeapInfo (0x16)
+#define AngelSWI_Reason_EnterSVC (0x17)
+#define AngelSWI_Reason_ReportException (0x18)
+#define ADP_Stopped_ApplicationExit ((2 << 16) + 38)
+#define ADP_Stopped_RunTimeError ((2 << 16) + 34)
diff --git a/newlib/libc/sys/arm/sys/param.h b/newlib/libc/sys/arm/sys/param.h
new file mode 100644
index 00000000000..968c8ef1435
--- /dev/null
+++ b/newlib/libc/sys/arm/sys/param.h
@@ -0,0 +1,10 @@
+/* ARM configuration file; HZ is 100 rather than the default 60 */
+
+#ifndef _SYS_PARAM_H
+# define _SYS_PARAM_H
+
+# define HZ (100)
+# define NOFILE (60)
+# define PATHSIZE (1024)
+
+#endif
diff --git a/newlib/libc/sys/arm/syscalls.c b/newlib/libc/sys/arm/syscalls.c
new file mode 100644
index 00000000000..fb190e11b2a
--- /dev/null
+++ b/newlib/libc/sys/arm/syscalls.c
@@ -0,0 +1,575 @@
+/* Support files for GNU libc. Files in the system namespace go here.
+ Files in the C namespace (ie those that do not start with an
+ underscore) go in .c. */
+
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/fcntl.h>
+#include <stdio.h>
+#include <time.h>
+#include <sys/time.h>
+#include <sys/times.h>
+#include <errno.h>
+#include <reent.h>
+#include "swi.h"
+
+/* Forward prototypes. */
+#ifndef _PARAMS
+#error UGG
+#endif
+int isatty _PARAMS ((int));
+clock_t _times _PARAMS ((struct tms *));
+int _gettimeofday _PARAMS ((struct timeval *, struct timezone *));
+void _raise _PARAMS ((void));
+int _unlink _PARAMS ((void));
+int _link _PARAMS ((void));
+int _fstat _PARAMS ((int, struct stat *));
+caddr_t _sbrk _PARAMS ((int));
+int _getpid _PARAMS ((int));
+int _kill _PARAMS ((int, int));
+void _exit _PARAMS ((int));
+int _close _PARAMS ((int));
+int _swiclose _PARAMS ((int));
+int _open _PARAMS ((const char *, int, ...));
+int _swiopen _PARAMS ((const char *, int));
+int _write _PARAMS ((int, char *, int));
+int _swiwrite _PARAMS ((int, char *, int));
+int _lseek _PARAMS ((int, int, int));
+int _swilseek _PARAMS ((int, int, int));
+int _read _PARAMS ((int, char *, int));
+int _swiread _PARAMS ((int, char *, int));
+void initialise_monitor_handles _PARAMS ((void));
+
+static int wrap _PARAMS ((int));
+static int error _PARAMS ((int));
+static int get_errno _PARAMS ((void));
+static int remap_handle _PARAMS ((int));
+static int do_AngelSWI _PARAMS ((int, void *));
+static int findslot _PARAMS ((int));
+
+/* Register name faking - works in collusion with the linker. */
+register char * stack_ptr asm ("sp");
+
+
+/* following is copied from libc/stdio/local.h to check std streams */
+extern void _EXFUN(__sinit,(struct _reent *));
+#define CHECK_INIT(fp) \
+ do \
+ { \
+ if ((fp)->_data == 0) \
+ (fp)->_data = _REENT; \
+ if (!(fp)->_data->__sdidinit) \
+ __sinit ((fp)->_data); \
+ } \
+ while (0)
+
+/* Adjust our internal handles to stay away from std* handles */
+#define FILE_HANDLE_OFFSET (0x20)
+
+static int std_files_checked;
+static int monitor_stdin;
+static int monitor_stdout;
+static int monitor_stderr;
+
+/* Struct used to keep track of the file position, just so we
+ can implement fseek(fh,x,SEEK_CUR). */
+typedef struct
+{
+ int handle;
+ int pos;
+}
+poslog;
+
+#define MAX_OPEN_FILES 20
+static poslog openfiles [MAX_OPEN_FILES];
+
+static int
+findslot (int fh)
+{
+ int i;
+ for (i = 0; i < MAX_OPEN_FILES; i ++)
+ if (openfiles[i].handle == fh)
+ break;
+ return i;
+}
+
+#ifdef ARM_RDI_MONITOR
+
+static inline int
+do_AngelSWI (int reason, void * arg)
+{
+ int value;
+ asm volatile ("mov r0, %1; mov r1, %2; swi %a3; mov %0, r0"
+ : "=r" (value) /* Outputs */
+ : "r" (reason), "r" (arg), "i" (AngelSWI) /* Inputs */
+ : "r0", "r1", "lr"
+ /* Clobbers r0 and r1, and lr if in supervisor mode */);
+ return value;
+}
+#endif /* ARM_RDI_MONITOR */
+
+/* Function to convert std(in|out|err) handles to internal versions */
+static int
+remap_handle (int fh)
+{
+ if (!std_files_checked)
+ {
+ CHECK_INIT(stdin);
+ CHECK_INIT(stdout);
+ CHECK_INIT(stderr);
+ std_files_checked = 1;
+ }
+ if (fh == __sfileno (stdin))
+ return monitor_stdin;
+ if (fh == __sfileno (stdout))
+ return monitor_stdout;
+ if (fh == __sfileno (stderr))
+ return monitor_stderr;
+
+ return fh - FILE_HANDLE_OFFSET;
+}
+
+void
+initialise_monitor_handles (void)
+{
+ int i;
+
+#ifdef ARM_RDI_MONITOR
+ int volatile block[3];
+
+ block[0] = (int) ":tt";
+ block[2] = 3; /* length of filename */
+ block[1] = 0; /* mode "r" */
+ monitor_stdin = do_AngelSWI (AngelSWI_Reason_Open, (void *) block);
+
+ block[0] = (int) ":tt";
+ block[2] = 3; /* length of filename */
+ block[1] = 4; /* mode "w" */
+ monitor_stdout = monitor_stderr = do_AngelSWI (AngelSWI_Reason_Open, (void *) block);
+#else
+ int fh;
+ const char * name;
+
+ name = ":tt";
+ asm ("mov r0,%2; mov r1, #0; swi %a1; mov %0, r0"
+ : "=r"(fh)
+ : "i" (SWI_Open),"r"(name)
+ : "r0","r1");
+ monitor_stdin = fh;
+
+ name = ":tt";
+ asm ("mov r0,%2; mov r1, #4; swi %a1; mov %0, r0"
+ : "=r"(fh)
+ : "i" (SWI_Open),"r"(name)
+ : "r0","r1");
+ monitor_stdout = monitor_stderr = fh;
+#endif
+
+ for (i = 0; i < MAX_OPEN_FILES; i ++)
+ openfiles[i].handle = -1;
+
+ openfiles[0].handle = monitor_stdin;
+ openfiles[0].pos = 0;
+ openfiles[1].handle = monitor_stdout;
+ openfiles[1].pos = 0;
+}
+
+static int
+get_errno (void)
+{
+#ifdef ARM_RDI_MONITOR
+ return do_AngelSWI (AngelSWI_Reason_Errno, NULL);
+#else
+ asm ("swi %a0" :: "i" (SWI_GetErrno));
+#endif
+}
+
+static int
+error (int result)
+{
+ errno = get_errno ();
+ return result;
+}
+
+static int
+wrap (int result)
+{
+ if (result == -1)
+ return error (-1);
+ return result;
+}
+
+/* Returns # chars not! written */
+
+int
+_swiread (int file,
+ char * ptr,
+ int len)
+{
+ int fh = remap_handle (file);
+#ifdef ARM_RDI_MONITOR
+ int block[3];
+
+ block[0] = fh;
+ block[1] = (int) ptr;
+ block[2] = len;
+
+ return do_AngelSWI (AngelSWI_Reason_Read, block);
+#else
+ asm ("mov r0, %1; mov r1, %2;mov r2, %3; swi %a0"
+ : /* No outputs */
+ : "i"(SWI_Read), "r"(fh), "r"(ptr), "r"(len)
+ : "r0","r1","r2");
+#endif
+}
+
+int
+_read (int file,
+ char * ptr,
+ int len)
+{
+ int slot = findslot (remap_handle (file));
+ int x = _swiread (file, ptr, len);
+
+ if (x < 0)
+ return error (-1);
+
+ if (slot != MAX_OPEN_FILES)
+ openfiles [slot].pos += len - x;
+
+ /* x == len is not an error, at least if we want feof() to work */
+ return len - x;
+}
+
+int
+_swilseek (int file,
+ int ptr,
+ int dir)
+{
+ int res;
+ int fh = remap_handle (file);
+ int slot = findslot (fh);
+#ifdef ARM_RDI_MONITOR
+ int block[2];
+#endif
+
+ if (dir == SEEK_CUR)
+ {
+ if (slot == MAX_OPEN_FILES)
+ return -1;
+ ptr = openfiles[slot].pos + ptr;
+ dir = SEEK_SET;
+ }
+
+#ifdef ARM_RDI_MONITOR
+ if (dir == SEEK_END)
+ {
+ block[0] = fh;
+ ptr += do_AngelSWI (AngelSWI_Reason_FLen, block);
+ }
+
+ /* This code only does absolute seeks */
+ block[0] = remap_handle (file);
+ block[1] = ptr;
+ res = do_AngelSWI (AngelSWI_Reason_Seek, block);
+#else
+ if (dir == SEEK_END)
+ {
+ asm ("mov r0, %2; swi %a1; mov %0, r0"
+ : "=r" (res)
+ : "i" (SWI_Flen), "r" (fh)
+ : "r0");
+ ptr += res;
+ }
+
+ /* This code only does absolute seeks */
+ asm ("mov r0, %2; mov r1, %3; swi %a1; mov %0, r0"
+ : "=r" (res)
+ : "i" (SWI_Seek), "r" (fh), "r" (ptr)
+ : "r0", "r1");
+#endif
+
+ if (slot != MAX_OPEN_FILES && res == 0)
+ openfiles[slot].pos = ptr;
+
+ /* This is expected to return the position in the file */
+ return res == 0 ? ptr : -1;
+}
+
+int
+_lseek (int file,
+ int ptr,
+ int dir)
+{
+ return wrap (_swilseek (file, ptr, dir));
+}
+
+/* Returns #chars not! written */
+int
+_swiwrite (
+ int file,
+ char * ptr,
+ int len)
+{
+ int fh = remap_handle (file);
+#ifdef ARM_RDI_MONITOR
+ int block[3];
+
+ block[0] = fh;
+ block[1] = (int) ptr;
+ block[2] = len;
+
+ return do_AngelSWI (AngelSWI_Reason_Write, block);
+#else
+ asm ("mov r0, %1; mov r1, %2;mov r2, %3; swi %a0"
+ : /* No outputs */
+ : "i"(SWI_Write), "r"(fh), "r"(ptr), "r"(len)
+ : "r0","r1","r2");
+#endif
+}
+
+int
+_write (int file,
+ char * ptr,
+ int len)
+{
+ int slot = findslot (remap_handle (file));
+ int x = _swiwrite (file, ptr,len);
+
+ if (x == -1 || x == len)
+ return error (-1);
+
+ if (slot != MAX_OPEN_FILES)
+ openfiles[slot].pos += len - x;
+
+ return len - x;
+}
+
+int
+_swiopen (const char * path,
+ int flags)
+{
+ int aflags = 0, fh;
+#ifdef ARM_RDI_MONITOR
+ int block[3];
+#endif
+
+ int i = findslot (-1);
+
+ if (i == MAX_OPEN_FILES)
+ return -1;
+
+ /* The flags are Unix-style, so we need to convert them */
+#ifdef O_BINARY
+ if (flags & O_BINARY)
+ aflags |= 1;
+#endif
+
+ if (flags & O_RDWR)
+ aflags |= 2;
+
+ if (flags & O_CREAT)
+ aflags |= 4;
+
+ if (flags & O_TRUNC)
+ aflags |= 4;
+
+ if (flags & O_APPEND)
+ {
+ aflags &= ~4; /* Can't ask for w AND a; means just 'a' */
+ aflags |= 8;
+ }
+
+#ifdef ARM_RDI_MONITOR
+ block[0] = (int) path;
+ block[2] = strlen (path);
+ block[1] = aflags;
+
+ fh = do_AngelSWI (AngelSWI_Reason_Open, block);
+
+#else
+ asm ("mov r0,%2; mov r1, %3; swi %a1; mov %0, r0"
+ : "=r"(fh)
+ : "i" (SWI_Open),"r"(path),"r"(aflags)
+ : "r0","r1");
+#endif
+
+ if (fh >= 0)
+ {
+ openfiles[i].handle = fh;
+ openfiles[i].pos = 0;
+ }
+
+ return fh >= 0 ? fh + FILE_HANDLE_OFFSET : error (fh);
+}
+
+int
+_open (const char * path,
+ int flags,
+ ...)
+{
+ return wrap (_swiopen (path, flags));
+}
+
+int
+_swiclose (int file)
+{
+ int myhan = remap_handle (file);
+ int slot = findslot (myhan);
+
+ if (slot != MAX_OPEN_FILES)
+ openfiles[slot].handle = -1;
+
+#ifdef ARM_RDI_MONITOR
+ return do_AngelSWI (AngelSWI_Reason_Close, & myhan);
+#else
+ asm ("mov r0, %1; swi %a0" :: "i" (SWI_Close),"r"(myhan):"r0");
+#endif
+}
+
+int
+_close (int file)
+{
+ return wrap (_swiclose (file));
+}
+
+void
+_exit (int n)
+{
+ /* FIXME: return code is thrown away. */
+
+#ifdef ARM_RDI_MONITOR
+ do_AngelSWI (AngelSWI_Reason_ReportException,
+ (void *) ADP_Stopped_ApplicationExit);
+#else
+ asm ("swi %a0" :: "i" (SWI_Exit));
+#endif
+}
+
+int
+_kill (int n, int m)
+{
+#ifdef ARM_RDI_MONITOR
+ return do_AngelSWI (AngelSWI_Reason_ReportException,
+ (void *) ADP_Stopped_ApplicationExit);
+#else
+ asm ("swi %a0" :: "i" (SWI_Exit));
+#endif
+}
+
+int
+_getpid (int n)
+{
+ return 1;
+}
+
+caddr_t
+_sbrk (int incr)
+{
+ extern char end asm ("end"); /* Defined by the linker */
+ static char * heap_end;
+ char * prev_heap_end;
+
+ if (heap_end == NULL)
+ heap_end = & end;
+
+ prev_heap_end = heap_end;
+
+ if (heap_end + incr > stack_ptr)
+ {
+ _write (1, "_sbrk: Heap and stack collision\n", 32);
+ abort ();
+ }
+
+ heap_end += incr;
+
+ return (caddr_t) prev_heap_end;
+}
+
+int
+_fstat (int file, struct stat * st)
+{
+ memset (st, 0, sizeof (* st));
+ st->st_mode = S_IFCHR;
+ st->st_blksize = 1024;
+ return 0;
+}
+
+int
+_link (void)
+{
+ return -1;
+}
+
+int
+_unlink (void)
+{
+ return -1;
+}
+
+void
+_raise (void)
+{
+ return;
+}
+
+int
+_gettimeofday (struct timeval * tp, struct timezone * tzp)
+{
+
+ if (tp)
+ {
+ /* Ask the host for the seconds since the Unix epoch */
+#ifdef ARM_RDI_MONITOR
+ tp->tv_sec = do_AngelSWI (AngelSWI_Reason_Time,NULL);
+#else
+ {
+ int value;
+ asm ("swi %a1; mov %0, r0" : "=r" (value): "i" (SWI_Time) : "r0");
+ tp->tv_sec = value;
+ }
+#endif
+ tp->tv_usec = 0;
+ }
+
+ /* Return fixed data for the timezone */
+ if (tzp)
+ {
+ tzp->tz_minuteswest = 0;
+ tzp->tz_dsttime = 0;
+ }
+
+ return 0;
+}
+
+/* Return a clock that ticks at 100Hz. */
+clock_t
+_times (struct tms * tp)
+{
+ clock_t timeval;
+
+#ifdef ARM_RDI_MONITOR
+ timeval = do_AngelSWI (AngelSWI_Reason_Clock,NULL);
+#else
+ asm ("swi %a1; mov %0, r0" : "=r" (timeval): "i" (SWI_Clock) : "r0");
+#endif
+
+ if (tp)
+ {
+ tp->tms_utime = timeval; /* user time */
+ tp->tms_stime = 0; /* system time */
+ tp->tms_cutime = 0; /* user time, children */
+ tp->tms_cstime = 0; /* system time, children */
+ }
+
+ return timeval;
+};
+
+
+int
+isatty (int fd)
+{
+ return 1;
+}
+
diff --git a/newlib/libc/sys/arm/trap.S b/newlib/libc/sys/arm/trap.S
new file mode 100644
index 00000000000..328fabca5ca
--- /dev/null
+++ b/newlib/libc/sys/arm/trap.S
@@ -0,0 +1,93 @@
+ /* Run-time exception support */
+#include "swi.h"
+
+/* .text is used instead of .section .text so it works with arm-aout too. */
+ .text
+ .align 0
+ .global __rt_stkovf_split_big
+ .global __rt_stkovf_split_small
+
+/* The following functions are provided for software stack checking.
+ If hardware stack-checking is being used then the code can be
+ compiled without the PCS entry checks, and simply rely on VM
+ management to extend the stack for a thread.
+
+ The stack extension event occurs when the PCS function entry code
+ would result in a stack-pointer beneath the stack-limit register
+ value. The system relies on the following map:
+
+ +-----------------------------------+ <-- end of stack block
+ | ... |
+ | ... |
+ | active stack |
+ | ... | <-- sp (stack-pointer) somewhere in here
+ | ... |
+ +-----------------------------------+ <-- sl (stack-limit)
+ | stack-extension handler workspace |
+ +-----------------------------------+ <-- base of stack block
+
+ The "stack-extension handler workspace" is an amount of memory in
+ which the stack overflow support code must execute. It must be
+ large enough to deal with the worst case path through the extension
+ code. At the moment the compiler expects this to be AT LEAST
+ 256bytes. It uses this fact to code functions with small local
+ data usage within the overflow space.
+
+ In a true target environment We may need to increase the space
+ between sl and the true limit to allow for the stack extension
+ code, SWI handlers and for undefined instruction handlers of the
+ target environment. */
+
+__rt_stkovf_split_small:
+ mov ip,sp @ Ensure we can calculate the stack required
+ @ and fall through to...
+__rt_stkovf_split_big:
+ @ in: sp = current stack-pointer (beneath stack-limit)
+ @ sl = current stack-limit
+ @ ip = low stack point we require for the current function
+ @ lr = return address into the current function
+ @ fp = frame-pointer
+ @ original sp --> +----------------------------------+
+ @ | pc (12 ahead of PCS entry store) |
+ @ current fp ---> +----------------------------------+
+ @ | lr (on entry) pc (on exit) |
+ @ +----------------------------------+
+ @ | sp ("original sp" on entry) |
+ @ +----------------------------------+
+ @ | fp (on entry to function) |
+ @ +----------------------------------+
+ @ | |
+ @ | ..argument and work registers.. |
+ @ | |
+ @ current sp ---> +----------------------------------+
+ @
+ @ The "current sl" is somewhere between "original sp" and "current sp"
+ @ but above "true sl". The "current sl" should be at least 256bytes
+ @ above the "true sl". The 256byte stack guard should be large enough
+ @ to deal with the worst case function entry stacking (160bytes) plus
+ @ the stack overflow handler stacking requirements, plus the stack
+ @ required for the memory allocation routines.
+ @
+ @ Normal PCS entry (before stack overflow check) can stack 16
+ @ standard registers (64bytes) and 8 floating point registers
+ @ (96bytes). This gives a minimum stack guard of 160bytes (excluding
+ @ the stack required for the code). (Actually only a maximum of
+ @ 14standard registers are ever stacked on entry to a function).
+ @
+ @ NOTE: Structure returns are performed by the caller allocating a
+ @ dummy space on the stack and passing in a "phantom" arg1 into
+ @ the function. This means that we do not need to worry about
+ @ preserving the stack under "sp" even on function return.
+ @
+ @ Code should never poke values beneath sp. The sp register
+ @ should always be "dropped" first to cover the data. This
+ @ protects the data against any events that may try and use
+ @ the stack.
+
+ SUB ip, sp, ip @ extra stack required for function
+ @ Add stack extension code here. If desired a new stack chunk
+ @ can be allocated, and the register state updated suitably.
+
+ @ We now know how much extra stack the function requires.
+ @ Terminate the program for the moment:
+ swi SWI_Exit
diff --git a/newlib/libc/sys/configure b/newlib/libc/sys/configure
new file mode 100755
index 00000000000..a62edf59827
--- /dev/null
+++ b/newlib/libc/sys/configure
@@ -0,0 +1,1809 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=a29khif
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../.. $srcdir/../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../.. $srcdir/../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+if test -n "${sys_dir}"; then
+ subdirs="${sys_dir}"
+
+fi
+
+CRT0=
+if test -n "${sys_dir}"; then
+ CRT0=crt0.o
+fi
+
+
+
+
+if test x${sys_dir} != x; then
+ HAVE_SYS_DIR_TRUE=
+ HAVE_SYS_DIR_FALSE='#'
+else
+ HAVE_SYS_DIR_TRUE='#'
+ HAVE_SYS_DIR_FALSE=
+fi
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+s%@subdirs@%$subdirs%g
+s%@CRT0@%$CRT0%g
+s%@HAVE_SYS_DIR_TRUE@%$HAVE_SYS_DIR_TRUE%g
+s%@HAVE_SYS_DIR_FALSE@%$HAVE_SYS_DIR_FALSE%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
+if test "$no_recursion" != yes; then
+
+ # Remove --cache-file and --srcdir arguments so they do not pile up.
+ ac_sub_configure_args=
+ ac_prev=
+ for ac_arg in $ac_configure_args; do
+ if test -n "$ac_prev"; then
+ ac_prev=
+ continue
+ fi
+ case "$ac_arg" in
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ ;;
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ ;;
+ *) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;;
+ esac
+ done
+
+ for ac_config_dir in ${sys_dir}; do
+
+ # Do not complain, so a configure script can configure whichever
+ # parts of a large source tree are present.
+ if test ! -d $srcdir/$ac_config_dir; then
+ continue
+ fi
+
+ echo configuring in $ac_config_dir
+
+ case "$srcdir" in
+ .) ;;
+ *)
+ if test -d ./$ac_config_dir || mkdir ./$ac_config_dir; then :;
+ else
+ { echo "configure: error: can not create `pwd`/$ac_config_dir" 1>&2; exit 1; }
+ fi
+ ;;
+ esac
+
+ ac_popdir=`pwd`
+ cd $ac_config_dir
+
+ # A "../" for each directory in /$ac_config_dir.
+ ac_dots=`echo $ac_config_dir|sed -e 's%^\./%%' -e 's%[^/]$%&/%' -e 's%[^/]*/%../%g'`
+
+ case "$srcdir" in
+ .) # No --srcdir option. We are building in place.
+ ac_sub_srcdir=$srcdir ;;
+ /*) # Absolute path.
+ ac_sub_srcdir=$srcdir/$ac_config_dir ;;
+ *) # Relative path.
+ ac_sub_srcdir=$ac_dots$srcdir/$ac_config_dir ;;
+ esac
+
+ # Check for guested configure; otherwise get Cygnus style configure.
+ if test -f $ac_sub_srcdir/configure; then
+ ac_sub_configure=$ac_sub_srcdir/configure
+ elif test -f $ac_sub_srcdir/configure.in; then
+ ac_sub_configure=$ac_configure
+ else
+ echo "configure: warning: no configuration information is in $ac_config_dir" 1>&2
+ ac_sub_configure=
+ fi
+
+ # The recursion is here.
+ if test -n "$ac_sub_configure"; then
+
+ # Make the cache file name correct relative to the subdirectory.
+ case "$cache_file" in
+ /*) ac_sub_cache_file=$cache_file ;;
+ *) # Relative path.
+ ac_sub_cache_file="$ac_dots$cache_file" ;;
+ esac
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo "running ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir"
+ # The eval makes quoting arguments work.
+ if eval ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir
+ then :
+ else
+ { echo "configure: error: $ac_sub_configure failed for $ac_config_dir" 1>&2; exit 1; }
+ fi
+ fi
+
+ cd $ac_popdir
+ done
+fi
+
diff --git a/newlib/libc/sys/configure.in b/newlib/libc/sys/configure.in
new file mode 100644
index 00000000000..ea674904165
--- /dev/null
+++ b/newlib/libc/sys/configure.in
@@ -0,0 +1,24 @@
+dnl This is the newlib/libc/sys configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(a29khif)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../..)
+
+NEWLIB_CONFIGURE(../..)
+
+if test -n "${sys_dir}"; then
+ AC_CONFIG_SUBDIRS(${sys_dir})
+fi
+
+CRT0=
+if test -n "${sys_dir}"; then
+ CRT0=crt0.o
+fi
+AC_SUBST(CRT0)
+
+AM_CONDITIONAL(HAVE_SYS_DIR, test x${sys_dir} != x)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/sys/cygwin/Makefile.am b/newlib/libc/sys/cygwin/Makefile.am
new file mode 100644
index 00000000000..f55a90adb07
--- /dev/null
+++ b/newlib/libc/sys/cygwin/Makefile.am
@@ -0,0 +1,19 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES =
+
+# This is a hack to force automake to include a definition for
+# COMPILE.
+EXTRA_LIBRARIES = libfoo.a
+libfoo_a_SOURCES = crt0.c
+
+all: crt0.o
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/cygwin/Makefile.in b/newlib/libc/sys/cygwin/Makefile.in
new file mode 100644
index 00000000000..21f4afa2812
--- /dev/null
+++ b/newlib/libc/sys/cygwin/Makefile.in
@@ -0,0 +1,311 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES =
+
+# This is a hack to force automake to include a definition for
+# COMPILE.
+EXTRA_LIBRARIES = libfoo.a
+libfoo_a_SOURCES = crt0.c
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+libfoo_a_LIBADD =
+libfoo_a_OBJECTS = crt0.o
+lib_a_LIBADD =
+lib_a_OBJECTS =
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(libfoo_a_SOURCES) $(lib_a_SOURCES)
+OBJECTS = $(libfoo_a_OBJECTS) $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+libfoo.a: $(libfoo_a_OBJECTS) $(libfoo_a_DEPENDENCIES)
+ -rm -f libfoo.a
+ $(AR) cru libfoo.a $(libfoo_a_OBJECTS) $(libfoo_a_LIBADD)
+ $(RANLIB) libfoo.a
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+all: crt0.o
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/sys/cygwin/aclocal.m4 b/newlib/libc/sys/cygwin/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/sys/cygwin/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/sys/cygwin/configure b/newlib/libc/sys/cygwin/configure
new file mode 100755
index 00000000000..1690b2708e7
--- /dev/null
+++ b/newlib/libc/sys/cygwin/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=crt0.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/sys/cygwin/configure.in b/newlib/libc/sys/cygwin/configure.in
new file mode 100644
index 00000000000..a7179a298d1
--- /dev/null
+++ b/newlib/libc/sys/cygwin/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/sys/cygwin32 configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(crt0.c)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/sys/cygwin/crt0.c b/newlib/libc/sys/cygwin/crt0.c
new file mode 100644
index 00000000000..d6bdd5a572c
--- /dev/null
+++ b/newlib/libc/sys/cygwin/crt0.c
@@ -0,0 +1,49 @@
+
+#ifdef __PPC__
+/* For the PowerPC, we want to make this function have its structured
+ exception table exception function point to something we control. */
+
+extern void __cygwin_exception_handler();
+extern void mainCRTStartup(void) __attribute__((__exception__(__cygwin_exception_handler)));
+#endif
+
+/* In the following ifdef'd i386 code, the FPU precision is set to 80 bits
+ and all FPU exceptions are masked. The former is needed to make long
+ doubles work correctly. The latter causes the FPU to generate NaNs and
+ Infinities instead of signals for certain operations.
+*/
+
+#ifdef __i386__
+#define FPU_RESERVED 0xF0C0
+#define FPU_DEFAULT 0x033f
+
+/* For debugging on *#!$@ windbg. bp for breakpoint. */
+int __cygwin_crt0_bp = 0;
+#endif
+
+extern int main (int argc, char **argv);
+
+void
+mainCRTStartup ()
+{
+#ifdef __i386__
+ if (__cygwin_crt0_bp)
+ asm volatile ("int3");
+
+ {
+ volatile unsigned short cw;
+
+ /* Get Control Word */
+ __asm__ volatile ("fnstcw %0" : "=m" (cw) : );
+
+ /* mask in */
+ cw &= FPU_RESERVED;
+ cw |= FPU_DEFAULT;
+
+ /* set cw */
+ __asm__ volatile ("fldcw %0" :: "m" (cw));
+ }
+#endif
+
+ cygwin_crt0 (main);
+}
diff --git a/newlib/libc/sys/cygwin/sys/dirent.h b/newlib/libc/sys/cygwin/sys/dirent.h
new file mode 100644
index 00000000000..3c0ec4e770d
--- /dev/null
+++ b/newlib/libc/sys/cygwin/sys/dirent.h
@@ -0,0 +1,58 @@
+/* Posix dirent.h for WIN32. */
+
+/* Including this file should not require any Windows headers. */
+
+#ifndef _SYS_DIRENT_H
+#define _SYS_DIRENT_H
+
+#include <sys/types.h>
+
+struct dirent
+{
+ long __d_reserved[4];
+ ino_t d_ino; /* Just for compatibility, it's junk */
+ char d_name[256]; /* FIXME: use NAME_MAX? */
+};
+
+#define __DIRENT_COOKIE 0xdede4242
+
+typedef struct
+{
+ /* This is first to set alignment in non _COMPILING_NEWLIB case. */
+ unsigned long __d_cookie;
+ struct dirent *__d_dirent;
+ char *__d_dirname; /* directory name with trailing '*' */
+ off_t __d_position; /* used by telldir/seekdir */
+ unsigned long __d_dirhash; /* hash of directory name for use by
+ readdir */
+ union
+ {
+#ifdef _COMPILING_NEWLIB
+ struct
+ {
+ HANDLE __handle;
+ char __open_p;
+ } __d_data;
+#endif
+ char __d_filler[16];
+ } __d_u;
+} DIR;
+
+DIR *opendir (const char *);
+struct dirent *readdir (DIR *);
+void rewinddir (DIR *);
+int closedir (DIR *);
+
+#ifndef _POSIX_SOURCE
+off_t telldir (DIR *);
+void seekdir (DIR *, off_t loc);
+
+int scandir (const char *__dir,
+ struct dirent ***__namelist,
+ int (*select) (const struct dirent *),
+ int (*compar) (const struct dirent **, const struct dirent **));
+
+int alphasort (const struct dirent **__a, const struct dirent **__b);
+#endif /* _POSIX_SOURCE */
+
+#endif
diff --git a/newlib/libc/sys/cygwin/sys/param.h b/newlib/libc/sys/cygwin/sys/param.h
new file mode 100644
index 00000000000..42bb019d1b9
--- /dev/null
+++ b/newlib/libc/sys/cygwin/sys/param.h
@@ -0,0 +1,43 @@
+#ifndef _SYS_PARAM_H
+#define _SYS_PARAM_H
+
+#include <sys/types.h>
+/* Linux includes limits.h, but this is not universally done. */
+#include <limits.h>
+
+/* Max number of open files. The Posix version is OPEN_MAX. */
+/* Number of fds is virtually unlimited in cygwin, but we must provide
+ some reasonable value for Posix conformance */
+#define NOFILE 8192
+
+/* Max number of groups; must keep in sync with NGROUPS_MAX in limits.h */
+#define NGROUPS 16
+
+/* Ticks/second for system calls such as times() */
+/* FIXME: is this the appropriate value? */
+#define HZ 1000
+
+/* Max hostname size that can be dealt with */
+/* FIXME: is this the appropriate value? */
+#define MAXHOSTNAMELEN 64
+
+/* This is defined to be the same as MAX_PATH which is used internally.
+ The Posix version is PATH_MAX. */
+#define MAXPATHLEN (260 - 1 /*NUL*/)
+
+/* Some autoconf'd packages check for endianness. When cross-building we
+ can't run programs on the target. Fortunately, autoconf supports the
+ definition of byte order in sys/param.h (that's us!).
+ The values here are the same as used in gdb/defs.h (are the more
+ appropriate values?). */
+#define BIG_ENDIAN 4321
+#define LITTLE_ENDIAN 1234
+
+/* All known win32 systems are little endian. */
+#define BYTE_ORDER LITTLE_ENDIAN
+
+#ifndef NULL
+#define NULL 0L
+#endif
+
+#endif
diff --git a/newlib/libc/sys/cygwin/sys/utime.h b/newlib/libc/sys/cygwin/sys/utime.h
new file mode 100644
index 00000000000..196b0891ef2
--- /dev/null
+++ b/newlib/libc/sys/cygwin/sys/utime.h
@@ -0,0 +1,22 @@
+#ifndef _SYS_UTIME_H
+#define _SYS_UTIME_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include <_ansi.h>
+#include <sys/types.h>
+
+struct utimbuf
+{
+ time_t actime;
+ time_t modtime;
+};
+
+int _EXFUN(utime, (const char *__path, struct utimbuf *__buf));
+
+#ifdef __cplusplus
+};
+#endif
+
+#endif /* _SYS_UTIME_H */
diff --git a/newlib/libc/sys/cygwin/sys/utmp.h b/newlib/libc/sys/cygwin/sys/utmp.h
new file mode 100644
index 00000000000..1c1c9aa0a83
--- /dev/null
+++ b/newlib/libc/sys/cygwin/sys/utmp.h
@@ -0,0 +1,49 @@
+#ifndef UTMP_H
+#define UTMP_H
+
+#include <sys/types.h>
+#include <time.h>
+#include <paths.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define UT_LINESIZE 16
+#define UT_NAMESIZE 16
+#define UT_HOSTSIZE 256
+#define ut_name ut_user
+
+struct utmp
+{
+ short ut_type;
+ pid_t ut_pid;
+ char ut_line[UT_LINESIZE];
+ char ut_id[2];
+ time_t ut_time;
+ char ut_user[UT_NAMESIZE];
+ char ut_host[UT_HOSTSIZE];
+ long ut_addr;
+};
+
+#define INIT_PROCESS 5
+#define LOGIN_PROCESS 6
+#define USER_PROCESS 7
+#define DEAD_PROCESS 8
+
+extern struct utmp *_getutline (struct utmp *);
+extern struct utmp *getutent (void);
+extern struct utmp *getutid (struct utmp *);
+extern struct utmp *getutline (struct utmp *);
+extern void endutent (void);
+extern void pututline (struct utmp *);
+extern void setutent (void);
+extern void utmpname (const char *);
+
+void login (struct utmp *);
+int logout (char *);
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* UTMP_H */
diff --git a/newlib/libc/sys/d10v/Makefile.am b/newlib/libc/sys/d10v/Makefile.am
new file mode 100644
index 00000000000..da89f119864
--- /dev/null
+++ b/newlib/libc/sys/d10v/Makefile.am
@@ -0,0 +1,14 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = syscalls.c trap.S creat.c
+
+all: crt0.o
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/d10v/Makefile.in b/newlib/libc/sys/d10v/Makefile.in
new file mode 100644
index 00000000000..d6fc79a9356
--- /dev/null
+++ b/newlib/libc/sys/d10v/Makefile.in
@@ -0,0 +1,320 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = syscalls.c trap.S creat.c
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = syscalls.o trap.o creat.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in \
+ ../../../acinclude.m4 ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @banner="$(distdir).tar.gz is ready for distribution"; \
+ dashes=`echo "$$banner" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ echo "$$dashes"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am:
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-info-am:
+install-info: install-info-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am:
+uninstall: uninstall-am
+all-am: Makefile $(LIBRARIES)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-noinstLIBRARIES distclean-compile \
+ distclean-tags distclean-generic clean-am
+
+distclean: distclean-am
+ -rm -f config.status
+
+maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-info-am install-info \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+all: crt0.o
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/sys/d10v/aclocal.m4 b/newlib/libc/sys/d10v/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/sys/d10v/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/sys/d10v/configure b/newlib/libc/sys/d10v/configure
new file mode 100755
index 00000000000..d861d17e175
--- /dev/null
+++ b/newlib/libc/sys/d10v/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=creat.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/sys/d10v/configure.in b/newlib/libc/sys/d10v/configure.in
new file mode 100644
index 00000000000..5559c87c86d
--- /dev/null
+++ b/newlib/libc/sys/d10v/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/sys/d10v configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(creat.c)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/sys/d10v/creat.c b/newlib/libc/sys/d10v/creat.c
new file mode 100644
index 00000000000..62ec5ead8d8
--- /dev/null
+++ b/newlib/libc/sys/d10v/creat.c
@@ -0,0 +1,7 @@
+int
+creat(path, mode)
+ const char *path;
+ int mode;
+{
+ return _creat (path, mode);
+}
diff --git a/newlib/libc/sys/d10v/crt0.S b/newlib/libc/sys/d10v/crt0.S
new file mode 100644
index 00000000000..9a2ed02fb70
--- /dev/null
+++ b/newlib/libc/sys/d10v/crt0.S
@@ -0,0 +1,63 @@
+ .text
+ .global _start
+ .type _start,@function
+ .stabs "crt0.S",100,0,0,_start
+ .stabs "int:t(0,1)=r(0,1);-32768;32767;",128,0,0,0
+ .stabs "_start:F(0,1)",36,0,1,_start
+
+_start:
+
+; R14 always contains memory base address (0)
+
+ ldi r14,0
+
+; Set the USER and SYSTEM stack pointers.
+
+ ldi r0, 0 ; zero arguments
+ ldi r1, 0
+ mvtc r0, psw ; select SPI and set it
+ ldi sp, _stack
+ ldi r10, 0x8000 ; select SPU/FP and set it
+ mvtc r10, psw || ldi r11, 0; clear stack frame
+ ldi sp, _stack - 0x200
+ ldi r13, 0
+
+; Clear the BSS. Do it in two parts for efficiency: longwords first
+; for most of it, then the remaining 0 to 3 bytes.
+
+ ldi r2, __bss_start ; R2 = start of BSS
+ ldi r3, _end ; R3 = end of BSS + 1
+ sub r3, r2 ; R3 = BSS size in bytes
+ mv r4, r3
+ srli r4, 2 ; R4 = BSS size in longwords (rounded down)
+loop1:
+ cmpeqi r4, 0 ; more longords to zero out?
+ brf0t.s endloop1 ; nope
+ st2w r0, @r2+ ; yep, zero out another longword
+ subi r4, 1 ; decrement count
+ bra.l loop1 ; go do some more
+
+endloop1:
+ and3 r4, r3, 3 ; get no. of remaining BSS bytes to clear
+loop2:
+ cmpeqi r4, 0 ; more bytes to zero out?
+ brf0t.s endloop2 ; nope
+ stb r0, @r2 ; yep, zero out another byte
+ addi r2, 1 ; bump address
+ subi r4, 1 ; decrement count
+ bra.s loop2 ; go do some more
+endloop2:
+; Call main, then stop simulator
+ st r11, @-sp
+ st r13, @-sp
+ mv r11, sp
+
+ bl main
+ bl exit
+ stop
+.Lstart:
+ .size _start,.Lstart-_start
+ .stabs "",36,0,0,.Lstart-_start
+
+ .section .stack
+_stack: .long 1
diff --git a/newlib/libc/sys/d10v/sys/syscall.h b/newlib/libc/sys/d10v/sys/syscall.h
new file mode 100644
index 00000000000..64e53a3d994
--- /dev/null
+++ b/newlib/libc/sys/d10v/sys/syscall.h
@@ -0,0 +1,38 @@
+/* syscall.h - definitions of system calls for D10V.
+ *
+ * This file must contain only pre-processor directives, and no C code,
+ * because it's included by assembly language sources as well as C.
+ */
+
+#define SYS_exit 1
+#define SYS_fork 2
+
+#define SYS_read 3
+#define SYS_write 4
+#define SYS_open 5
+#define SYS_close 6
+#define SYS_wait4 7
+#define SYS_creat 8
+#define SYS_link 9
+#define SYS_unlink 10
+#define SYS_execv 11
+#define SYS_chdir 12
+#define SYS_mknod 14
+#define SYS_chmod 15
+#define SYS_chown 16
+#define SYS_lseek 19
+#define SYS_getpid 20
+#define SYS_isatty 21
+#define SYS_fstat 22
+#define SYS_time 23
+
+
+#define SYS_ARG 24
+#define SYS_stat 38
+
+#define SYS_pipe 42
+#define SYS_execve 59
+#define SYS_kill 60
+
+#define SYS_utime 201 /* not really a system call */
+#define SYS_wait 202 /* nor is this */
diff --git a/newlib/libc/sys/d10v/syscalls.c b/newlib/libc/sys/d10v/syscalls.c
new file mode 100644
index 00000000000..11192074a75
--- /dev/null
+++ b/newlib/libc/sys/d10v/syscalls.c
@@ -0,0 +1,216 @@
+/* syscalls.c - non-trap system calls for D10V
+ *
+ * This file contains system calls that cannot be implemented with
+ * a simple "trap 15" instruction. The ones that can are in trap.S.
+ */
+
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#undef errno
+
+void _exit (int n); /* in trap.S */
+
+extern int _write (int fd, const void *ptr, size_t len);
+
+int errno;
+
+register char *stack_ptr asm ("sp");
+
+caddr_t
+_sbrk (int incr)
+{
+ extern char end; /* Defined by the linker */
+ static char *heap_end;
+ char *prev_heap_end;
+ char *sp = (char *)stack_ptr;
+
+ if (heap_end == 0)
+ {
+ heap_end = (char *)((((unsigned short) &end) + 7) & ~7);
+ }
+ prev_heap_end = heap_end;
+ if (heap_end + incr > sp)
+ {
+ _write (2, "Heap and stack collision\n", sizeof ("Heap and stack collision\n")-1);
+ abort ();
+ }
+ heap_end += incr;
+ if ((unsigned short)heap_end > 0xbfff
+ || (heap_end < prev_heap_end && incr > 0)
+ || (heap_end < (char *)((((unsigned short) &end) + 7) & ~7)))
+ {
+ _write (2, "Too much memory was allocated\n", sizeof ("Too much memory was allocated\n")-1);
+ abort ();
+ }
+
+ return (caddr_t) prev_heap_end;
+}
+
+int
+_fstat (int file,
+ struct stat *st)
+{
+ st->st_mode = S_IFCHR;
+ return 0;
+}
+
+int
+_unlink ()
+{
+ errno = ENOSYS;
+ return -1;
+}
+
+int
+isatty (int fd)
+{
+ return 1;
+}
+
+void
+_raise ()
+{
+}
+
+/* If this library is compiled with -mint32, provide conversion functions for
+ the system call traps. */
+
+#if __INT__==32
+extern short _read16 (short fd, void *ptr, short len);
+int
+_read (int fd, void *ptr, size_t len)
+{
+ return _read16 ((short)fd, ptr, (short)len);
+}
+
+extern short _write16 (short fd, const void *ptr, short len);
+int
+_write (int fd, const void *ptr, size_t len)
+{
+ return _write16 ((short)fd, ptr, (short)len);
+}
+
+extern short _lseek16 (short fd, long offset, short whence);
+int
+_lseek (int fd, off_t offset, int whence)
+{
+ return _lseek16 ((short)fd, offset, (short)whence);
+}
+
+extern short _close16 (short fd);
+int
+_close (int fd)
+{
+ return _close16 ((short)fd);
+}
+
+extern short _open16 (const char *name, short flags, short mode);
+int
+_open (const char *name, int flags, mode_t mode)
+{
+ return _open16 (name, (short)flags, (short)mode);
+}
+
+extern short _creat16 (const char *name, mode_t mode);
+int
+_creat (const char *name, mode_t mode)
+{
+ return _creat16 (name, mode);
+}
+
+extern void _exit16 (short status);
+void
+_exit (int status)
+{
+ _exit16 ((short)status);
+}
+
+extern short _stat16 (const char *name, struct stat *stat_pkt);
+int
+_stat (const char *name, struct stat *stat_pkt)
+{
+ return _stat16 (name, stat_pkt);
+}
+
+extern short _chmod16 (const char *name, short mode);
+int
+_chmod (const char *name, mode_t mode)
+{
+ return _chmod16 (name, (short)mode);
+}
+
+extern short _chown16 (const char *name, short uid, short gid);
+int
+_chown (const char *name, uid_t uid, gid_t gid)
+{
+ return _chown16 (name, (short)uid, (short)gid);
+}
+
+extern short _fork16 (void);
+int
+_fork (void)
+{
+ return _fork16 ();
+}
+
+extern short _wait16 (short *status);
+int
+_wait (int *status)
+{
+ if (status)
+ {
+ short status16;
+ short ret = _wait16 (&status16);
+ if (ret >= 0)
+ *status = status16;
+ return ret;
+ }
+ else
+ return _wait16 ((short *)0);
+}
+
+extern short _execve16 (const char *filename, const char *argv [], const char *envp[]);
+int
+_execve (const char *filename, const char *argv [], const char *envp[])
+{
+ return _execve16 (filename, argv, envp);
+}
+
+extern short _execv16 (const char *filename, const char *argv []);
+int
+_execv (const char *filename, const char *argv [])
+{
+ return _execv16 (filename, argv);
+}
+
+extern short _pipe16 (short fds[]);
+int
+_pipe (int fds[])
+{
+ short fds16[2];
+ short ret = _pipe16 (fds16);
+ if (ret >= 0)
+ {
+ fds[0] = fds16[0];
+ fds[1] = fds16[1];
+ }
+
+ return ret;
+}
+
+extern short _getpid16 (void);
+int
+_getpid (void)
+{
+ return _getpid16 ();
+}
+
+extern short _kill16 (short pid, short sig);
+int
+_kill (int pid, int sig)
+{
+ return _kill16 ((short)pid, (short)sig);
+}
+#endif
diff --git a/newlib/libc/sys/d10v/trap.S b/newlib/libc/sys/d10v/trap.S
new file mode 100644
index 00000000000..9aca4291321
--- /dev/null
+++ b/newlib/libc/sys/d10v/trap.S
@@ -0,0 +1,296 @@
+#include "sys/syscall.h"
+
+#define SYSCALL(name) \
+ .global name ; \
+name: ; \
+ ldi r4, SYS ## name ; \
+ bra __trap0
+
+ .text
+ .stabs "trap.S",100,0,0,__trap0
+ .stabs "int:t(0,1)=r(0,1);-65536;65535;",128,0,0,0
+ .stabs "long int:t(0,2)=r(0,1);0020000000000;0017777777777;",128,0,0,0
+ .stabs "_trap0:F(0,1)",36,0,1,__trap0
+ .stabs "arg1:P(0,1)",64,0,1,0
+ .stabs "arg2:P(0,1)",64,0,1,1
+ .stabs "arg3:P(0,1)",64,0,1,2
+ .stabs "arg4:P(0,1)",64,0,1,3
+ .stabs "number:P(0,1)",64,0,1,4
+ .global __trap0
+ .type __trap0,@function
+__trap0:
+ trap 15 /* trap 15 returns result in r0, error code in r4 */
+ cmpeqi r4,0 /* is error code zero? */
+ brf0t ret /* yes, skip setting errno */
+#if __INT__==32
+ st r4,@(errno+2,r14) /* no, set errno */
+ srai r4,15 /* sign extend high word */
+ st r4,@(errno,r14)
+#else
+ st r4,@(errno,r14) /* no, set errno */
+#endif
+
+ret:
+ jmp r13 /* return to caller */
+.Ltrap0:
+ .size __trap0,.Ltrap0-__trap0
+ .stabs "",36,0,0,.Ltrap0-__trap0
+
+#define CONCAT(a,b) a ## b
+#define STRING(a) #a
+#define XSTRING(a) STRING(a)
+#define XSTRING2(a,b) XSTRING(CONCAT(a,b))
+
+#if __INT__==32
+#define _read _read16
+#define _lseek _lseek16
+#define _write _write16
+#define _close _close16
+#define _open _open16
+#define _creat _creat16
+#define _exit _exit16
+#define _stat _stat16
+#define _chmod _chmod16
+#define _chown _chown16
+#define _fork _fork16
+#define _wait _wait16
+#define _execve _execve16
+#define _execv _execv16
+#define _pipe _pipe16
+#define _kill _kill16
+#define _getpid _getpid16
+#endif
+
+/* Until the assembler allows semicolon as a statement separator, */
+/* we cannot use the SYSCALL macro. So expand it manually for now. */
+
+/* #SYSCALL(_read) */
+/* #SYSCALL(_lseek) */
+/* #SYSCALL(_write) */
+/* #SYSCALL(_close) */
+/* #SYSCALL(_open) */
+/* #SYSCALL(_creat) */
+/* #SYSCALL(_exit) */
+/* #SYSCALL(_stat) */
+/* #SYSCALL(_chmod) */
+/* #SYSCALL(_chown) */
+/* #SYSCALL(_fork) */
+/* #SYSCALL(_wait) */
+/* #SYSCALL(_execve) */
+/* #SYSCALL(_execv) */
+/* #SYSCALL(_pipe) */
+/* #SYSCALL(_getpid) */
+/* #SYSCALL(_kill) */
+
+ .global _read
+ .type _read,@function
+ .stabs XSTRING2(_read,:F(0,1)),36,0,2,_read
+ .stabs "fd:P(0,1)",64,0,1,0
+ .stabs "ptr:P(0,1)",64,0,1,1
+ .stabs "len:P(0,1)",64,0,1,2
+_read:
+ ldi r4, SYS_read
+ bra __trap0
+.Lread:
+ .size _read,.-_read
+ .stabs "",36,0,0,.Lread-_read
+
+ .global _lseek
+ .type _lseek,@function
+ .stabs XSTRING2(_lseek,:F(0,1)),36,0,3,_lseek
+ .stabs "fd:P(0,1)",64,0,1,0
+ .stabs "offset:P(0,1)",64,0,1,2
+ .stabs "whence:p(0,1)",160,0,1,0
+_lseek:
+ ldi r4, SYS_lseek
+ bra __trap0
+.Llseek:
+ .size _lseek,.Llseek-_lseek
+ .stabs "",36,0,0,.Llseek-_lseek
+
+ .global _write
+ .type _write,@function
+ .stabs XSTRING2(_write,:F(0,1)),36,0,4,_write
+ .stabs "fd:P(0,1)",64,0,1,0
+ .stabs "ptr:P(0,1)",64,0,1,1
+ .stabs "len:P(0,1)",64,0,1,2
+_write:
+ ldi r4, SYS_write
+ bra __trap0
+.Lwrite:
+ .size _write,.Lwrite-_write
+ .stabs "",36,0,0,.Lwrite-_write
+
+ .global _close
+ .type _close,@function
+ .stabs XSTRING2(_close,:F(0,1)),36,0,5,_close
+ .stabs "fd:P(0,1)",64,0,1,0
+_close:
+ ldi r4, SYS_close
+ bra __trap0
+.Lclose:
+ .size _close,.Lclose-_close
+ .stabs "",36,0,0,.Lclose-_close
+
+ .global _open
+ .type _open,@function
+ .stabs XSTRING2(_open,:F(0,1)),36,0,6,_open
+ .stabs "name:P(0,1)",64,0,1,0
+ .stabs "flags:P(0,1)",64,0,1,1
+ .stabs "mode:P(0,1)",64,0,1,2
+_open:
+ ldi r4, SYS_open
+ bra __trap0
+.Lopen:
+ .size _open,.Lopen-_open
+ .stabs "",36,0,0,.Lopen-_open
+
+ .global _creat
+ .type _creat,@function
+ .stabs XSTRING2(_creat,:F(0,1)),36,0,7,_creat
+ .stabs "name:P(0,1)",64,0,1,0
+ .stabs "mode:P(0,1)",64,0,1,1
+_creat:
+ ldi r4, SYS_creat
+ bra __trap0
+.Lcreat:
+ .size _creat,.Lcreat-_creat
+ .stabs "",36,0,0,.Lcreat-_creat
+
+ .global _exit
+ .type _exit,@function
+ .stabs XSTRING2(_exit,:F(0,1)),36,0,8,_exit
+ .stabs "status:P(0,1)",64,0,1,0
+_exit:
+ ldi r4, SYS_exit
+ bra __trap0
+.Lexit:
+ .size _exit,.Lexit-_exit
+ .stabs "",36,0,0,.Lexit-_exit
+
+ .global _stat
+ .type _stat,@function
+ .stabs XSTRING2(_stat,:F(0,1)),36,0,9,_stat
+ .stabs "name:P(0,1)",64,0,1,0
+ .stabs "packet:P(0,1)",64,0,1,1
+_stat:
+ ldi r4, SYS_stat
+ bra __trap0
+.Lstat:
+ .size _stat,.Lstat-_stat
+ .stabs "",36,0,0,.Lstat-_stat
+
+ .global _chmod
+ .type _chmod,@function
+ .stabs XSTRING2(_chmod,:F(0,1)),36,0,10,_chmod
+ .stabs "name:P(0,1)",64,0,1,0
+ .stabs "mode:P(0,1)",64,0,1,1
+_chmod:
+ ldi r4, SYS_chmod
+ bra __trap0
+.Lchmod:
+ .size _chmod,.Lchmod-_chmod
+ .stabs "",36,0,0,.Lchmod-_chmod
+
+ .global _chown
+ .type _chown,@function
+ .stabs XSTRING2(_chown,:F(0,1)),36,0,11,_chown
+ .stabs "name:P(0,1)",64,0,1,0
+ .stabs "uid:P(0,1)",64,0,1,1
+ .stabs "gid:P(0,1)",64,0,1,2
+_chown:
+ ldi r4, SYS_chown
+ bra __trap0
+.Lchown:
+ .size _chown,.Lchown-_chown
+ .stabs "",36,0,0,.Lchown-_chown
+
+ .global _fork
+ .type _fork,@function
+ .stabs XSTRING2(_fork,:F(0,1)),36,0,12,_fork
+_fork:
+ ldi r4, SYS_fork
+ bra __trap0
+.Lfork:
+ .size _fork,.Lfork-_fork
+ .stabs "",36,0,0,.Lfork-_fork
+
+ .global _wait
+ .type _wait,@function
+ .stabs "status:P(0,1)",64,0,1,0
+ .stabs XSTRING2(_wait,:F(0,1)),36,0,13,_wait
+_wait:
+ ldi r4, SYS_wait
+ bra __trap0
+.Lwait:
+ .size _wait,.Lwait-_wait
+ .stabs "",36,0,0,.Lwait-_wait
+
+ .global _execve
+ .type _execve,@function
+ .stabs "name:P(0,1)",64,0,1,0
+ .stabs "argv:P(0,1)",64,0,1,1
+ .stabs "envp:P(0,1)",64,0,1,2
+ .stabs XSTRING2(_execve,:F(0,1)),36,0,14,_execve
+_execve:
+ ldi r4, SYS_execve
+ bra __trap0
+.Lexecve:
+ .size _execve,.Lexecve-_execve
+ .stabs "",36,0,0,.Lexecve-_execve
+
+ .global _execv
+ .type _execv,@function
+ .stabs XSTRING2(_execv,:F(0,1)),36,0,15,_execv
+ .stabs "name:P(0,1)",64,0,1,0
+ .stabs "argv:P(0,1)",64,0,1,1
+_execv:
+ ldi r4, SYS_execv
+ bra __trap0
+.Lexecv:
+ .size _execv,.Lexecv-_execv
+ .stabs "",36,0,0,.Lexecv-_execv
+
+ .global _pipe
+ .type _pipe,@function
+ .stabs XSTRING2(_pipe,:F(0,1)),36,0,16,_pipe
+ .stabs "fds:P(0,1)",64,0,1,0
+_pipe:
+ ldi r4, SYS_pipe
+ bra __trap0
+.Lpipe:
+ .size _pipe,.Lpipe-_pipe
+ .stabs "",36,0,0,.Lpipe-_pipe
+
+ .global time
+ .type time,@function
+ .stabs XSTRING2(time,:F(0,1)),36,0,17,time
+ .stabs "ptr:P(0,1)",64,0,1,0
+time:
+ ldi r4, SYS_time
+ bra __trap0
+.Ltime:
+ .size time,.Ltime-time
+ .stabs "",36,0,0,.Ltime-time
+
+ .global _kill
+ .type _kill,@function
+ .stabs XSTRING2(_kill,:F(0,1)),36,0,18,_kill
+ .stabs "pid:P(0,1)",64,0,1,0
+ .stabs "sig:P(0,1)",64,0,1,1
+_kill:
+ ldi r4, SYS_kill
+ bra __trap0
+.Lkill:
+ .size _kill,.Lkill-_kill
+ .stabs "",36,0,0,.Lkill-_kill
+
+ .global _getpid
+ .type _getpid,@function
+ .stabs XSTRING2(_getpid,:F(0,1)),36,0,19,_getpid
+_getpid:
+ ldi r4, SYS_getpid
+ bra __trap0
+.Lgetpid:
+ .size _getpid,.Lgetpid-_getpid
+ .stabs "",36,0,0,.Lgetpid-_getpid
diff --git a/newlib/libc/sys/decstation/Makefile.am b/newlib/libc/sys/decstation/Makefile.am
new file mode 100644
index 00000000000..ad289976f53
--- /dev/null
+++ b/newlib/libc/sys/decstation/Makefile.am
@@ -0,0 +1,45 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+COPYOFILES = \
+ read.o \
+ open.o \
+ _exit.o \
+ write.o \
+ lseek.o \
+ close.o \
+ sbrk.o \
+ cerror.o \
+ fork.o \
+ isatty.o \
+ ioctl.o \
+ getpid.o \
+ time.o \
+ kill.o \
+ wait.o \
+ execve.o \
+ gettimeofday.o \
+ link.o \
+ unlink.o \
+ fstat.o \
+ times.o \
+ getrusage.o
+
+lib_a_SOURCES = _main.c
+lib_a_LIBADD = $(COPYOFILES)
+
+$(COPYOFILES):
+ ar x /lib/libc.a $(COPYOFILES)
+
+all: crt0.o
+
+crt0.o:
+ cp /lib/crt0.o crt0.o
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/decstation/Makefile.in b/newlib/libc/sys/decstation/Makefile.in
new file mode 100644
index 00000000000..8fc5c67c2a8
--- /dev/null
+++ b/newlib/libc/sys/decstation/Makefile.in
@@ -0,0 +1,332 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+COPYOFILES = \
+ read.o \
+ open.o \
+ _exit.o \
+ write.o \
+ lseek.o \
+ close.o \
+ sbrk.o \
+ cerror.o \
+ fork.o \
+ isatty.o \
+ ioctl.o \
+ getpid.o \
+ time.o \
+ kill.o \
+ wait.o \
+ execve.o \
+ gettimeofday.o \
+ link.o \
+ unlink.o \
+ fstat.o \
+ times.o \
+ getrusage.o
+
+lib_a_SOURCES = _main.c
+lib_a_LIBADD = $(COPYOFILES)
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_DEPENDENCIES = read.o open.o _exit.o write.o lseek.o close.o \
+sbrk.o cerror.o fork.o isatty.o ioctl.o getpid.o time.o kill.o wait.o \
+execve.o gettimeofday.o link.o unlink.o fstat.o times.o getrusage.o
+lib_a_OBJECTS = _main.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+$(COPYOFILES):
+ ar x /lib/libc.a $(COPYOFILES)
+
+all: crt0.o
+
+crt0.o:
+ cp /lib/crt0.o crt0.o
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/sys/decstation/_main.c b/newlib/libc/sys/decstation/_main.c
new file mode 100644
index 00000000000..64878088d9c
--- /dev/null
+++ b/newlib/libc/sys/decstation/_main.c
@@ -0,0 +1,6 @@
+
+__main()
+{
+
+
+}
diff --git a/newlib/libc/sys/decstation/aclocal.m4 b/newlib/libc/sys/decstation/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/sys/decstation/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/sys/decstation/configure b/newlib/libc/sys/decstation/configure
new file mode 100755
index 00000000000..7508f76246c
--- /dev/null
+++ b/newlib/libc/sys/decstation/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=_main.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/sys/decstation/configure.in b/newlib/libc/sys/decstation/configure.in
new file mode 100644
index 00000000000..e2e2738bb2d
--- /dev/null
+++ b/newlib/libc/sys/decstation/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/sys/decstation configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(_main.c)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/sys/decstation/sys/dirent.h b/newlib/libc/sys/decstation/sys/dirent.h
new file mode 100644
index 00000000000..c5a90e9fea8
--- /dev/null
+++ b/newlib/libc/sys/decstation/sys/dirent.h
@@ -0,0 +1,46 @@
+/* FIXME: From sys/sysvi386/sys */
+#ifndef _SYS_DIRENT_H
+# define _SYS_DIRENT_H
+
+/*
+ * This file was written to be compatible with the BSD directory
+ * routines, so it looks like it. But it was written from scratch.
+ * Sean Eric Fagan, sef@Kithrup.COM
+ *
+ * Modified by dje@cygnus.com for sun.
+ * Modified by eichin@cygnus.com for decstation (ultrix 4.2)
+ */
+
+typedef struct __dirdesc {
+ int dd_fd;
+ long dd_loc;
+ long dd_size;
+ long dd_bbase;
+ long dd_entno;
+ long dd_bsize;
+ char *dd_buf;
+} DIR;
+
+# define __dirfd(dp) ((dp)->dd_fd)
+
+DIR *opendir (const char *);
+struct dirent *readdir (DIR *);
+void rewinddir (DIR *);
+int closedir (DIR *);
+
+#include <sys/types.h>
+
+#define MAXNAMLEN 255
+
+#define d_ino d_fileno /* compatibility */
+
+struct dirent {
+ unsigned long d_fileno;
+ unsigned short d_reclen;
+ unsigned short d_namlen;
+ char d_name[MAXNAMLEN + 1];
+};
+
+/* FIXME: include definition of DIRSIZ() ? */
+
+#endif
diff --git a/newlib/libc/sys/go32/Makefile.am b/newlib/libc/sys/go32/Makefile.am
new file mode 100644
index 00000000000..4ccd669da32
--- /dev/null
+++ b/newlib/libc/sys/go32/Makefile.am
@@ -0,0 +1,105 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ _exit.s \
+ _main.c \
+ abort.c \
+ access.c \
+ bdos.c \
+ bdosptr.c \
+ brk.s \
+ chdir.s \
+ chmod.c \
+ chown.c \
+ clock.S \
+ close.s \
+ creat.s \
+ crlf2nl.c \
+ dir.c \
+ dosmem.S \
+ dpmi.c \
+ dup.s \
+ dup2.s \
+ exec.c \
+ fchmod.c \
+ findfirs.s \
+ findnext.s \
+ fixpath.c \
+ fstat.s \
+ fsync.s \
+ ftruncat.c \
+ gerrno.s \
+ getcwd.c \
+ getdate.c \
+ getdtabl.c \
+ getgid.c \
+ getkey.s \
+ getpages.c \
+ getpid.c \
+ getrusag.c \
+ gettime.c \
+ gettimeo.c \
+ getuid.c \
+ getwd.s \
+ go32func.c \
+ infoblk.c \
+ inportb.s \
+ inportl.s \
+ inportsb.s \
+ inportsl.s \
+ inportsw.s \
+ inportw.s \
+ int86x.s \
+ intdos.c \
+ intdosx.c \
+ isatty.s \
+ kbhit.s \
+ kill.c \
+ link.s \
+ longjmp.S \
+ lseek.s \
+ lstat.s \
+ mkdir.s \
+ open.s \
+ outportb.s \
+ outportl.s \
+ outportw.s \
+ outprtsb.s \
+ outprtsl.s \
+ outprtsw.s \
+ read.s \
+ readv.c \
+ rename.s \
+ rmdir.s \
+ sbrk.s \
+ screen.S \
+ setjmp.S \
+ setmode.s \
+ setstack.S \
+ settimeo.s \
+ sleep.c \
+ stat.c \
+ stat_ast.s \
+ syserr.c \
+ system.s \
+ tell.s \
+ time.c \
+ truncate.c \
+ turbo.s \
+ umask.c \
+ unlink.s \
+ utime.c \
+ utimes.c \
+ write.s \
+ writev.c
+
+all: crt0.o
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/go32/Makefile.in b/newlib/libc/sys/go32/Makefile.in
new file mode 100644
index 00000000000..eb0fb8f29d8
--- /dev/null
+++ b/newlib/libc/sys/go32/Makefile.in
@@ -0,0 +1,402 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ _exit.s \
+ _main.c \
+ abort.c \
+ access.c \
+ bdos.c \
+ bdosptr.c \
+ brk.s \
+ chdir.s \
+ chmod.c \
+ chown.c \
+ clock.S \
+ close.s \
+ creat.s \
+ crlf2nl.c \
+ dir.c \
+ dosmem.S \
+ dpmi.c \
+ dup.s \
+ dup2.s \
+ exec.c \
+ fchmod.c \
+ findfirs.s \
+ findnext.s \
+ fixpath.c \
+ fstat.s \
+ fsync.s \
+ ftruncat.c \
+ gerrno.s \
+ getcwd.c \
+ getdate.c \
+ getdtabl.c \
+ getgid.c \
+ getkey.s \
+ getpages.c \
+ getpid.c \
+ getrusag.c \
+ gettime.c \
+ gettimeo.c \
+ getuid.c \
+ getwd.s \
+ go32func.c \
+ infoblk.c \
+ inportb.s \
+ inportl.s \
+ inportsb.s \
+ inportsl.s \
+ inportsw.s \
+ inportw.s \
+ int86x.s \
+ intdos.c \
+ intdosx.c \
+ isatty.s \
+ kbhit.s \
+ kill.c \
+ link.s \
+ longjmp.S \
+ lseek.s \
+ lstat.s \
+ mkdir.s \
+ open.s \
+ outportb.s \
+ outportl.s \
+ outportw.s \
+ outprtsb.s \
+ outprtsl.s \
+ outprtsw.s \
+ read.s \
+ readv.c \
+ rename.s \
+ rmdir.s \
+ sbrk.s \
+ screen.S \
+ setjmp.S \
+ setmode.s \
+ setstack.S \
+ settimeo.s \
+ sleep.c \
+ stat.c \
+ stat_ast.s \
+ syserr.c \
+ system.s \
+ tell.s \
+ time.c \
+ truncate.c \
+ turbo.s \
+ umask.c \
+ unlink.s \
+ utime.c \
+ utimes.c \
+ write.s \
+ writev.c
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = _exit.o _main.o abort.o access.o bdos.o bdosptr.o brk.o \
+chdir.o chmod.o chown.o clock.o close.o creat.o crlf2nl.o dir.o \
+dosmem.o dpmi.o dup.o dup2.o exec.o fchmod.o findfirs.o findnext.o \
+fixpath.o fstat.o fsync.o ftruncat.o gerrno.o getcwd.o getdate.o \
+getdtabl.o getgid.o getkey.o getpages.o getpid.o getrusag.o gettime.o \
+gettimeo.o getuid.o getwd.o go32func.o infoblk.o inportb.o inportl.o \
+inportsb.o inportsl.o inportsw.o inportw.o int86x.o intdos.o intdosx.o \
+isatty.o kbhit.o kill.o link.o longjmp.o lseek.o lstat.o mkdir.o open.o \
+outportb.o outportl.o outportw.o outprtsb.o outprtsl.o outprtsw.o \
+read.o readv.o rename.o rmdir.o sbrk.o screen.o setjmp.o setmode.o \
+setstack.o settimeo.o sleep.o stat.o stat_ast.o syserr.o system.o \
+tell.o time.o truncate.o turbo.o umask.o unlink.o utime.o utimes.o \
+write.o writev.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+all: crt0.o
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/sys/go32/_exit.s b/newlib/libc/sys/go32/_exit.s
new file mode 100644
index 00000000000..8c135976e22
--- /dev/null
+++ b/newlib/libc/sys/go32/_exit.s
@@ -0,0 +1,20 @@
+# /* This is file _EXIT.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl __exit
+__exit:
+ movb 4(%esp),%al
+ movb $0x4c,%ah
+ int $0x21
diff --git a/newlib/libc/sys/go32/_main.c b/newlib/libc/sys/go32/_main.c
new file mode 100644
index 00000000000..c8c6136f76b
--- /dev/null
+++ b/newlib/libc/sys/go32/_main.c
@@ -0,0 +1,3 @@
+__main()
+{
+}
diff --git a/newlib/libc/sys/go32/abort.c b/newlib/libc/sys/go32/abort.c
new file mode 100644
index 00000000000..f2466c84ca8
--- /dev/null
+++ b/newlib/libc/sys/go32/abort.c
@@ -0,0 +1,8 @@
+
+void
+abort()
+{
+
+ exit(1);
+
+}
diff --git a/newlib/libc/sys/go32/access.c b/newlib/libc/sys/go32/access.c
new file mode 100644
index 00000000000..ad368caa1f3
--- /dev/null
+++ b/newlib/libc/sys/go32/access.c
@@ -0,0 +1,34 @@
+/* This is file ACCESS.C */
+/*
+** Copyright (C) 1993 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+int access(const char *fn, int flags)
+{
+ struct stat s;
+ if (stat(fn, &s))
+ return -1;
+ if (s.st_mode & S_IFDIR)
+ return 0;
+ if (flags & W_OK)
+ {
+ if (s.st_mode & S_IWRITE)
+ return 0;
+ return -1;
+ }
+ return 0;
+}
+
diff --git a/newlib/libc/sys/go32/aclocal.m4 b/newlib/libc/sys/go32/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/sys/go32/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/sys/go32/bdos.c b/newlib/libc/sys/go32/bdos.c
new file mode 100644
index 00000000000..523f73aa6e0
--- /dev/null
+++ b/newlib/libc/sys/go32/bdos.c
@@ -0,0 +1,12 @@
+#include <errno.h>
+#include "dos.h"
+
+bdos(int func, unsigned dx, unsigned al)
+{
+ union REGS r;
+ r.x.dx = dx;
+ r.h.ah = func;
+ r.h.al = al;
+ int86(0x21, &r, &r);
+ return r.x.ax;
+}
diff --git a/newlib/libc/sys/go32/bdosptr.c b/newlib/libc/sys/go32/bdosptr.c
new file mode 100644
index 00000000000..214d40baf58
--- /dev/null
+++ b/newlib/libc/sys/go32/bdosptr.c
@@ -0,0 +1,12 @@
+#include <errno.h>
+#include "dos.h"
+
+bdosptr(int func, void *dx, unsigned al)
+{
+ union REGS r;
+ r.x.dx = dx;
+ r.h.ah = func;
+ r.h.al = al;
+ int86(0x21, &r, &r);
+ return r.x.ax;
+}
diff --git a/newlib/libc/sys/go32/brk.s b/newlib/libc/sys/go32/brk.s
new file mode 100644
index 00000000000..c9d8db0e966
--- /dev/null
+++ b/newlib/libc/sys/go32/brk.s
@@ -0,0 +1,27 @@
+# /* This is file BRK.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _brk
+_brk:
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movw $0x4a00,%ax
+ movl 16(%esp),%ebx
+ int $0x21
+ popl %edi
+ popl %esi
+ popl %ebx
+ ret
diff --git a/newlib/libc/sys/go32/chdir.s b/newlib/libc/sys/go32/chdir.s
new file mode 100644
index 00000000000..a494408e73b
--- /dev/null
+++ b/newlib/libc/sys/go32/chdir.s
@@ -0,0 +1,27 @@
+# /* This is file CHDIR.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _chdir
+_chdir:
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movl 16(%esp),%edx
+ movb $0x3b,%ah
+ int $0x21
+ popl %edi
+ popl %esi
+ popl %ebx
+ jmp syscall_check
diff --git a/newlib/libc/sys/go32/chmod.c b/newlib/libc/sys/go32/chmod.c
new file mode 100644
index 00000000000..72f5f571648
--- /dev/null
+++ b/newlib/libc/sys/go32/chmod.c
@@ -0,0 +1,15 @@
+/* This is file CHMOD.C */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+chmod(){}
diff --git a/newlib/libc/sys/go32/chown.c b/newlib/libc/sys/go32/chown.c
new file mode 100644
index 00000000000..a780510ed15
--- /dev/null
+++ b/newlib/libc/sys/go32/chown.c
@@ -0,0 +1,15 @@
+/* This is file CHOWN.C */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+chown(){}
diff --git a/newlib/libc/sys/go32/clock.S b/newlib/libc/sys/go32/clock.S
new file mode 100644
index 00000000000..e6ac06ed223
--- /dev/null
+++ b/newlib/libc/sys/go32/clock.S
@@ -0,0 +1,45 @@
+/* This is file CLOCK.S */
+/*
+** Copyright (C) 1993 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+**
+** Modified by C. Sandmann for DPMI support (sandmann@clio.rice.edu)
+*/
+ .data
+clock_init:
+ .long 0
+
+ .text
+ .globl _clock
+_clock:
+ call _rawclock
+ imull $54931,%eax,%eax
+ ret
+
+ .align 4,0x90
+ .globl _rawclock
+_rawclock:
+ movzwl __core_select,%eax
+ testl %eax,%eax
+ je old_clock /* Image run with pre-DPMI extender */
+ movw %ax,%gs
+ movl %gs:0x46c(,1),%eax
+ jmp check_initted
+old_clock:
+ movl 0xe000046c,%eax
+check_initted:
+ cmp $0,clock_init
+ jne clock_initted
+ movl %eax,clock_init
+clock_initted:
+ subl clock_init,%eax
+ ret
+
diff --git a/newlib/libc/sys/go32/close.s b/newlib/libc/sys/go32/close.s
new file mode 100644
index 00000000000..3b0797ddf92
--- /dev/null
+++ b/newlib/libc/sys/go32/close.s
@@ -0,0 +1,27 @@
+# /* This is file CLOSE.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _close
+_close:
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movl 16(%esp),%ebx
+ movb $0x3e,%ah
+ int $0x21
+ popl %edi
+ popl %esi
+ popl %ebx
+ jmp syscall_check
diff --git a/newlib/libc/sys/go32/configure b/newlib/libc/sys/go32/configure
new file mode 100755
index 00000000000..398652cb74a
--- /dev/null
+++ b/newlib/libc/sys/go32/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=djtime.h
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/sys/go32/configure.in b/newlib/libc/sys/go32/configure.in
new file mode 100644
index 00000000000..5706733f068
--- /dev/null
+++ b/newlib/libc/sys/go32/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/sys/go32 configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(djtime.h)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/sys/go32/copying.dj b/newlib/libc/sys/go32/copying.dj
new file mode 100644
index 00000000000..79b4f700b86
--- /dev/null
+++ b/newlib/libc/sys/go32/copying.dj
@@ -0,0 +1,63 @@
+This is the file "copying.dj".
+
+ Copyright Information for sources and executables that are marked
+ Copyright (C) DJ Delorie
+ 24 Kirsten Ave
+ Rochester NH 03867-2954
+
+This document is Copyright (C) DJ Delorie and may be distributed
+verbatim, but changing it is not allowed.
+
+Source code copyright DJ Delorie is distributed under the terms of the
+GNU General Public Licence, with the following exceptions:
+
+
+* Source code copyright DJ Delorie is distributed under the terms of the
+ GNU General Public Licence, with the following exceptions:
+ ("go32.exe" refers to go32.exe and debug32.exe)
+
+ * There are no conditions on distributing copies of stub.exe as
+ it is originally distributed in this software package, prepended
+ onto a binary or otherwise. This is the recommended distribution
+ mechanism for applications.
+
+ * Binaries of emu387 may be distributed with no restrictions.
+
+ * If a user creates an application, prepends a copy of go32.exe onto
+ the beginning of it, and distributes it free of charge, then the
+ user is under no obligations to distribute source or pay royalties.
+ Note that the copyright terms of the FSF and/or UCB must be
+ obeyed regardless of this.
+
+ * If a user creates an application, prepends a copy of go32.exe onto
+ the beginning of it, and charges a fee for the software, then a
+ royalty of $5 or 5% of the selling price per copy sold must be paid
+ to DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954. Note that
+ shareware programs are not considered "sold" until payment is rendered
+ for them.
+
+ * For all other cases, source code for go32.exe must be distributed
+ with any distributed copies of go32.exe.
+
+ * Software that requires go32.exe to run, but is not distributed with
+ a copy of go32.exe, incurs no obligations with regards to the
+ above sections.
+
+ * Contact me for special terms if none of the above are suitable.
+
+ * Donations are always appreciated.
+
+ The intent of this copyright is this: If you make money by using the
+ programs I wrote, I get some of it. If you use your sources to
+ teach others how to write programs, I'll support you.
+
+Changes to source code copyright BSD or FSF are copyright DJ Delorie, but
+fall under the terms of the original copyright.
+
+A copy of the file "COPYING" is included with this document. If you did not
+receive a copy of "COPYING", you may obtain one from whence this document
+was obtained, or by writing:
+ Free Software Foundation
+ 675 Mass Ave
+ Cambridge, MA 02139
+ USA
diff --git a/newlib/libc/sys/go32/creat.s b/newlib/libc/sys/go32/creat.s
new file mode 100644
index 00000000000..4c02e72f4c5
--- /dev/null
+++ b/newlib/libc/sys/go32/creat.s
@@ -0,0 +1,19 @@
+# /* This is file CREAT.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _creat
+_creat:
+ movb $1,%al
+ jmp turbo_assist
diff --git a/newlib/libc/sys/go32/crlf2nl.c b/newlib/libc/sys/go32/crlf2nl.c
new file mode 100644
index 00000000000..18b7061cce6
--- /dev/null
+++ b/newlib/libc/sys/go32/crlf2nl.c
@@ -0,0 +1,69 @@
+/* This is file CRLF2NL.C */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+unsigned crlf2nl(char *buf, unsigned len)
+{
+ char *bp = buf;
+ int i=0;
+ while (len--)
+ {
+ if (*bp != 13)
+ {
+ *buf++ = *bp;
+ i++;
+ }
+ bp++;
+ }
+ return i;
+}
+
+unsigned readcr(int fd, char *buf, unsigned len)
+{
+ unsigned i;
+ i = read(fd, buf, len);
+ if (i <= 0)
+ return i;
+ return crlf2nl(buf, i);
+}
+
+static char *sbuf = 0;
+#define BUFSIZE 4096
+
+unsigned writecr(int fd, char *buf, unsigned len)
+{
+ unsigned bufp=0, sbufp=0, crcnt=0, rlen=0;
+ int rv;
+ if (sbuf == 0)
+ sbuf = (char *)malloc(BUFSIZE+1);
+ while (len--)
+ {
+ if (buf[bufp] == 10)
+ {
+ crcnt++;
+ sbuf[sbufp++] = 13;
+ }
+ sbuf[sbufp++] = buf[bufp++];
+ if ((sbufp >= BUFSIZE) || (len == 0))
+ {
+ rv = write(fd, sbuf, sbufp);
+ if (rv < 0)
+ return rv;
+ rlen += rv - crcnt;
+ crcnt = 0;
+ sbufp = 0;
+ }
+ }
+ return rlen;
+}
+
diff --git a/newlib/libc/sys/go32/crt0.S b/newlib/libc/sys/go32/crt0.S
new file mode 100644
index 00000000000..5fc6cf77cde
--- /dev/null
+++ b/newlib/libc/sys/go32/crt0.S
@@ -0,0 +1,233 @@
+
+/*
+** Called as start(argc, argv, envp)
+*/
+
+/* gs:edx points to prog_info structure. All other registers are OBSOLETE
+** but included for backwards compatibility
+*/
+
+/* These symbols are for global constructors and destructors */
+#if 0
+ .section .ctor
+ .globl ___go32_first_ctor
+___go32_first_ctor:
+ .section .dtor
+ .globl ___go32_last_ctor
+___go32_last_ctor:
+ .globl ___go32_first_dtor
+___go32_first_dtor:
+ .data
+ .globl ___go32_last_dtor
+___go32_last_dtor:
+#endif
+ .text
+ .globl _start
+_start:
+ .globl start
+start:
+#ifdef EMU387
+ pusha
+ push %gs
+#endif
+ movl %eax,__hard_master
+ movl %esi,___pid
+ movl %edi,___transfer_buffer
+ movl %ebx,_ScreenPrimary
+ movl %ebp,_ScreenSecondary
+
+ cmpl $0, %edx
+ je Lcopy_none
+ movw %gs,%cx
+ movw %ds,%ax
+ cmpw %cx,%ax
+ je Lcopy_none
+
+ movl %gs:(%edx), %ecx
+ cmpl __go32_info_block, %ecx
+ jbe Lcopy_less
+ movl __go32_info_block, %ecx
+Lcopy_less:
+ movl $__go32_info_block, %edi
+ addl $3, %ecx
+ andl $0xfffffffc, %ecx
+ movl %ecx, (%edi)
+ addl $4, %edi
+ addl $4, %edx
+ subl $4, %ecx
+Lcopy_more:
+ movl %gs:(%edx), %eax
+ movl %eax, (%edi)
+ addl $4, %edx
+ addl $4, %edi
+ subl $4, %ecx
+ jnz Lcopy_more
+
+ movl __go32_info_block+4, %eax
+ movl %eax, _ScreenPrimary
+ movl __go32_info_block+8, %eax
+ movl %eax, _ScreenSecondary
+/* Backward compatibility - do not copy this one!
+** movl __go32_info_block+12, %eax
+** movl %eax, ___transfer_buffer
+*/
+ movl __go32_info_block+20, %eax
+ movl %eax, ___pid
+ movl __go32_info_block+24, %eax
+ movl %eax, __hard_master
+
+ jmp Lcopy_done
+
+Lcopy_none:
+ movl %ebx,__go32_info_block+4
+ movl %ebp,__go32_info_block+8
+ movl %edi,__go32_info_block+12
+ movl $4096,__go32_info_block+16
+ movl %esi,__go32_info_block+20
+ movl %eax,__go32_info_block+24
+ movl $28, __go32_info_block
+Lcopy_done:
+
+#ifndef EMU387
+ call __setstack
+#endif
+ xorl %esi,%esi
+ xorl %edi,%edi
+ xorl %ebp,%ebp
+ xorl %ebx,%ebx
+
+ movl %esp,%ebx
+#ifdef MAKE_GCRT0
+ call mcount_init /* initialize the profiler */
+#endif
+ movl 8(%ebx),%eax
+ pushl %eax
+ movl %eax,_environ
+ pushl 4(%ebx)
+ pushl (%ebx)
+ call ___main
+ call _main
+ addl $12,%esp
+#ifdef EMU387
+ pop %gs
+ popa
+#else
+ pushl %eax
+ call _exit
+
+exit_again:
+ movl $0x4c00,%eax
+ int $0x21
+ jmp exit_again
+#endif
+
+ ret
+
+
+#ifdef MAKE_GCRT0
+ .globl __exit
+__exit:
+ call mcount_write /* make sure we dump the output */
+exit_again2:
+ movb 4(%esp),%al
+ movb $0x4c,%ah
+ int $0x21
+ jmp exit_again2
+
+/* Here is where we initialize the timer interrupt - specific to go32 */
+/* In this case, the timer calls mcount_isr */
+ .globl mcount_isr_init
+mcount_isr_init:
+ movw __go32_info_block+36, %ax /* run mode */
+ cmp $1,%ax
+ jb skip_mcount
+ cmp $3,%ax
+ ja skip_mcount
+
+ movw $16,%ax
+ movw %ax,%gs
+
+ movzbl __hard_master,%eax /* timer is on irq 0 */
+ shll $3,%eax /* times 8 bpv */
+/* movl $960,%eax vector 0x78 * 8 bpv */
+ movw %gs:(%eax),%cx
+ movw %cx,mc_chain
+ movw %gs:6(%eax),%cx
+ movw %cx,mc_chain_hi
+ movw %gs:2(%eax),%cx
+ movw %cx,mc_chain_sel
+
+ movl $mcount_isr,%ecx
+ movw %cx,%gs:(%eax)
+ movw $0xd8,%gs:2(%eax) /* selector 27 == 32-bit code */
+ movw $0x8f00,%gs:4(%eax)
+ rorl $16,%ecx
+ movw %cx,%gs:6(%eax)
+ movw %ds,%ax
+ movw %ax,%gs
+skip_mcount:
+ movl mcount_histogram,%eax
+ movl $1,(%eax)
+ ret
+
+/* Obtain the PC where we interrupted, and bump the histogram. We should */
+/* do error checking here, but we don't. This routine is specific to go32 */
+/* in some spots */
+mcount_isr:
+ pushl %eax
+ cmpl $1,mcount_skip
+ je L0
+ movl 4(%esp),%eax /* get the PC */
+ subl $0x1020,%eax /* to fit in low..high */
+ andl $0xfffffffc,%eax
+ shrl $1,%eax /* now points to one 4-byte entry */
+ addl mcount_histogram,%eax
+ incw (%eax)
+L0:
+ popl %eax
+ ljmp mc_chain /* chain to the next timer vector */
+ iret
+#endif
+
+ .data
+
+ .globl _environ
+_environ:
+ .long 0
+
+ .globl ___pid
+___pid:
+ .long 42
+
+ .globl ___transfer_buffer
+___transfer_buffer:
+ .long 0
+
+ .globl _ScreenPrimary
+_ScreenPrimary:
+ .long 0
+
+ .globl _ScreenSecondary
+_ScreenSecondary:
+ .long 0
+
+ .globl __hard_master
+ .globl __hard_slave
+ .globl __core_select
+__hard_master:
+ .byte 0
+__hard_slave:
+ .byte 0
+__core_select:
+ .short 0
+
+#ifdef MAKE_GCRT0
+mc_chain:
+ .short 0
+mc_chain_hi:
+ .short 0
+mc_chain_sel:
+ .short 0
+#endif
+
+
diff --git a/newlib/libc/sys/go32/dir.c b/newlib/libc/sys/go32/dir.c
new file mode 100644
index 00000000000..ba3831a825d
--- /dev/null
+++ b/newlib/libc/sys/go32/dir.c
@@ -0,0 +1,95 @@
+#include <string.h>
+
+#include "sys/dir.h"
+#include "sys/dirent.h"
+#include <errno.h>
+
+DIR *opendir(char *name)
+{
+ int length;
+ DIR *dir = (DIR *)malloc(sizeof(DIR));
+ dir->num_read = 0;
+ dir->name = (char *)malloc(strlen(name)+6);
+ strcpy(dir->name, name);
+
+ /* Append a "." if we got only the device name */
+ if (dir->name[1] == ':' && strlen(dir->name) == 2)
+ strcat(dir->name, ".");
+
+ /* Strip trailing slashes, so we can append "/*.*" */
+ while (1)
+ {
+ length = strlen(dir->name);
+ if (length == 0) break;
+ if (dir->name[length - 1] == '/' ||
+ dir->name[length - 1] == '\\')
+ dir->name[length - 1] = '\0';
+ else
+ break;
+ }
+
+ strcat(dir->name, "/*.*");
+ return dir;
+}
+
+
+
+static char *strlwr(char *s)
+{
+ char *p = s;
+ while (*s)
+ {
+ if ((*s >= 'A') && (*s <= 'Z'))
+ *s += 'a'-'A';
+ s++;
+ }
+ return p;
+}
+
+struct dirent *readdir(DIR *dir)
+{
+ int done;
+ int oerrno = errno;
+ if (dir->num_read)
+ done = findnext(&dir->ff);
+ else
+ done = findfirst(dir->name, &dir->ff,
+ FA_ARCH|FA_RDONLY|FA_DIREC|FA_HIDDEN|FA_SYSTEM);
+ if (done)
+ {
+ if (errno == ENMFILE)
+ errno = oerrno;
+ return 0;
+ }
+ dir->num_read ++;
+ dir->de.d_namlen = strlen(dir->ff.ff_name);
+ strcpy(dir->de.d_name,dir->ff.ff_name);
+ strlwr(dir->de.d_name);
+ return &dir->de;
+}
+
+long telldir(DIR *dir)
+{
+ return dir->num_read;
+}
+
+void seekdir(DIR *dir, long loc)
+{
+ int i;
+ rewinddir(dir);
+ for (i=0; i<loc; i++)
+ readdir(dir);
+}
+
+void rewinddir(DIR *dir)
+{
+ dir->num_read = 0;
+}
+
+int closedir(DIR *dir)
+{
+ free(dir->name);
+ free(dir);
+ return 0;
+}
+
diff --git a/newlib/libc/sys/go32/dir.h b/newlib/libc/sys/go32/dir.h
new file mode 100644
index 00000000000..826c4604d28
--- /dev/null
+++ b/newlib/libc/sys/go32/dir.h
@@ -0,0 +1,53 @@
+#ifndef _DIR_H_
+#define _DIR_H_
+
+struct ffblk {
+ char ff_reserved[21];
+ char ff_attrib;
+ short ff_ftime;
+ short ff_fdate;
+ short ff_filler;
+ long ff_fsize;
+ char ff_name[16];
+};
+
+#define FA_RDONLY 1
+#define FA_HIDDEN 2
+#define FA_SYSTEM 4
+#define FA_LABEL 8
+#define FA_DIREC 16
+#define FA_ARCH 32
+
+/* for fnmerge/fnsplit */
+#define MAXPATH 80
+#define MAXDRIVE 3
+#define MAXDIR 66
+#define MAXFILE 9
+#define MAXEXT 5
+
+#define WILDCARDS 0x01
+#define EXTENSION 0x02
+#define FILENAME 0x04
+#define DIRECTORY 0x08
+#define DRIVE 0x10
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+int findfirst(const char *pathname, struct ffblk *ffblk, int attrib);
+int findnext(struct ffblk *ffblk);
+
+void fnmerge (char *path, const char *drive, const char *dir,
+ const char *name, const char *ext);
+int fnsplit (const char *path, char *drive, char *dir,
+ char *name, char *ext);
+
+int getdisk(void);
+int setdisk(int drive);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/newlib/libc/sys/go32/djtime.h b/newlib/libc/sys/go32/djtime.h
new file mode 100644
index 00000000000..db28dbe7e82
--- /dev/null
+++ b/newlib/libc/sys/go32/djtime.h
@@ -0,0 +1,42 @@
+/* This is file TIME.H */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#ifndef _SYS_TIME_H_
+#define _SYS_TIME_H_
+
+#include <time.h>
+
+struct timeval {
+ long tv_sec;
+ long tv_usec;
+};
+
+struct timezone {
+ int tz_minuteswest;
+ int tz_dsttime;
+};
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+int gettimeofday(struct timeval *tp, struct timezone *tzp);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+
diff --git a/newlib/libc/sys/go32/dos.h b/newlib/libc/sys/go32/dos.h
new file mode 100644
index 00000000000..8b42562d20b
--- /dev/null
+++ b/newlib/libc/sys/go32/dos.h
@@ -0,0 +1,107 @@
+#ifndef _DOS_H_
+#define _DOS_H_
+
+#include "pc.h"
+
+union REGS {
+ struct {
+ unsigned long ax;
+ unsigned long bx;
+ unsigned long cx;
+ unsigned long dx;
+ unsigned long si;
+ unsigned long di;
+ unsigned long cflag;
+ unsigned long flags;
+ } x;
+ struct {
+ unsigned char al;
+ unsigned char ah;
+ unsigned short upper_ax;
+ unsigned char bl;
+ unsigned char bh;
+ unsigned short upper_bx;
+ unsigned char cl;
+ unsigned char ch;
+ unsigned short upper_cx;
+ unsigned char dl;
+ unsigned char dh;
+ unsigned short upper_dx;
+ } h;
+};
+
+struct SREGS {
+ unsigned short cs;
+ unsigned short ds;
+ unsigned short es;
+ unsigned short fs;
+ unsigned short gs;
+ unsigned short ss;
+};
+
+struct ftime {
+ unsigned ft_tsec:5; /* 0-29, double to get real seconds */
+ unsigned ft_min:6; /* 0-59 */
+ unsigned ft_hour:5; /* 0-23 */
+ unsigned ft_day:5; /* 1-31 */
+ unsigned ft_month:4; /* 1-12 */
+ unsigned ft_year:7; /* since 1980 */
+};
+
+struct date {
+ short da_year;
+ char da_day;
+ char da_mon;
+};
+
+struct time {
+ unsigned char ti_min;
+ unsigned char ti_hour;
+ unsigned char ti_hund;
+ unsigned char ti_sec;
+};
+
+struct dfree {
+ unsigned df_avail;
+ unsigned df_total;
+ unsigned df_bsec;
+ unsigned df_sclus;
+};
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+int bdos(int func, unsigned dx, unsigned al);
+int bdosptr(int func, void *dx, unsigned al);
+int int86(int ivec, union REGS *in, union REGS *out);
+int int86x(int ivec, union REGS *in, union REGS *out, struct SREGS *seg);
+int intdos(union REGS *in, union REGS *out);
+int intdosx(union REGS *in, union REGS *out, struct SREGS *seg);
+
+int enable(void);
+int disable(void);
+
+int getftime(int handle, struct ftime *ftimep);
+int setftime(int handle, struct ftime *ftimep);
+
+int getcbrk(void);
+int setcbrk(int new_value);
+
+void getdate(struct date *);
+void gettime(struct time *);
+void setdate(struct date *);
+void settime(struct time *);
+
+void getdfree(unsigned char drive, struct dfree *ptr);
+
+void delay(unsigned msec);
+int _get_default_drive(void);
+void _fixpath(const char *, char *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
diff --git a/newlib/libc/sys/go32/dosmem.S b/newlib/libc/sys/go32/dosmem.S
new file mode 100644
index 00000000000..c1956f76781
--- /dev/null
+++ b/newlib/libc/sys/go32/dosmem.S
@@ -0,0 +1,120 @@
+/* DOSMEM.S */
+/*
+** Copyright (C) 1993 C.W. Sandmann
+**
+** This file may be freely distributed as long as the author's name remains.
+** Extender environment independent way to set up Real area 1Mb access.
+** Procedure takes a single argument %eax which contains the real area offset.
+** After call, access may be made with "%gs:(%eax)"
+*/
+ .text
+ .align 2
+ .globl dosmemsetup
+dosmemsetup: /* no params, expected ASM call only */
+ pushl %eax
+ movzwl __core_select,%eax
+ testl %eax,%eax
+ je old_go32 /* Image run with pre-DPMI extender */
+ movw %ax,%gs /* Use real area selector */
+ popl %eax /* Plus real offset */
+ andl $0x0fffffff,%eax /* Clear any linear access bits */
+ ret
+ .align 2,0x90
+old_go32:
+ push %ds
+ pop %gs /* Use arena selector */
+ popl %eax
+ orl $0xe0000000,%eax /* Plus linear access area */
+ ret
+
+ .align 2
+ .globl _dosmemget
+_dosmemget: /* long offset, long len, long *buf */
+ push %gs
+ movl 8(%esp),%eax /* offset */
+ call dosmemsetup
+ movl 12(%esp),%ecx /* length */
+ movl 16(%esp),%edx /* arena offset */
+ pushl %esi
+ pushl %edi
+ movl %eax,%esi
+ movl %edx,%edi
+ push %ds
+ push %es
+ push %ds
+ pop %es
+ push %gs
+ pop %ds
+ cld
+ rep
+ movsb /* move ECX bytes from Real area */
+ pop %es
+ pop %ds
+ popl %edi
+ popl %esi
+ pop %gs
+ ret
+
+ .align 2
+ .globl _dosmemput
+_dosmemput: /* long *buf, long len, long offset */
+ push %gs
+ movl 16(%esp),%eax /* offset */
+ call dosmemsetup
+ movl 12(%esp),%ecx /* length */
+ movl 8(%esp),%edx /* arena offset */
+ pushl %esi
+ pushl %edi
+ movl %eax,%edi
+ movl %edx,%esi
+ push %es
+ push %gs
+ pop %es
+ cld
+ rep
+ movsb /* move ECX bytes to Real area */
+ pop %es
+ popl %edi
+ popl %esi
+ pop %gs
+ ret
+
+ .align 2 /* 8(bp) 12(bp) 16(bp) 20(bp) 24(bp) */
+ .globl _movedata /* src_sel, src_ofs, dest_sel, dest_ofs, len */
+_movedata:
+ pushl %ebp
+ movl %esp,%ebp
+ pushw %ds
+ pushw %es
+ pushl %esi
+ pushl %edi
+
+ movl 8(%ebp),%eax
+ movw %ax,%ds
+ movl 12(%ebp),%esi
+
+ movl 16(%ebp),%eax
+ movw %ax,%es
+ movl 20(%ebp),%edi
+
+ movl 24(%ebp),%ecx
+ pushl %ecx
+ shrl $2,%ecx
+ jcxz no_big_move
+ rep
+ movsl
+no_big_move:
+ popl %ecx
+ andl $3,%ecx
+ jcxz no_little_move
+ rep
+ movsb
+no_little_move:
+
+ popl %edi
+ popl %esi
+ popw %es
+ popw %ds
+ leave
+ ret
+
diff --git a/newlib/libc/sys/go32/dpmi.c b/newlib/libc/sys/go32/dpmi.c
new file mode 100644
index 00000000000..5215065e120
--- /dev/null
+++ b/newlib/libc/sys/go32/dpmi.c
@@ -0,0 +1,413 @@
+#include <stdlib.h>
+#include "dos.h"
+#include "go32.h"
+#include <sys/types.h>
+#include "dpmi.h"
+
+static union REGS r;
+static struct SREGS s;
+
+int _go32_dpmi_allocate_dos_memory(_go32_dpmi_seginfo *info)
+{
+ r.x.ax = 0x0100;
+ r.x.bx = info->size;
+ int86(0x31, &r, &r);
+ if (r.x.flags & 1)
+ {
+ info->size = r.x.bx;
+ return r.x.ax;
+ }
+ else
+ {
+ info->rm_segment = r.x.ax;
+ info->pm_selector = r.x.dx;
+ return 0;
+ }
+}
+
+int _go32_dpmi_free_dos_memory(_go32_dpmi_seginfo *info)
+{
+ r.x.ax = 0x0101;
+ r.x.dx = info->pm_selector;
+ int86(0x31, &r, &r);
+ if (r.x.flags & 1)
+ {
+ return r.x.ax;
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+int _go32_dpmi_resize_dos_memory(_go32_dpmi_seginfo *info)
+{
+ r.x.ax = 0x0102;
+ r.x.bx = info->size;
+ r.x.dx = info->pm_selector;
+ int86(0x31, &r, &r);
+ if (r.x.flags & 1)
+ {
+ info->size = r.x.bx;
+ return r.x.ax;
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+int _go32_dpmi_get_real_mode_interrupt_vector(int vector, _go32_dpmi_seginfo *info)
+{
+ r.x.ax = 0x0200;
+ r.h.bl = vector;
+ int86(0x31, &r, &r);
+ info->rm_segment = r.x.cx;
+ info->rm_offset = r.x.dx;
+ return 0;
+}
+
+int _go32_dpmi_set_real_mode_interrupt_vector(int vector, _go32_dpmi_seginfo *info)
+{
+ r.x.ax = 0x0201;
+ r.h.bl = vector;
+ r.x.cx = info->rm_segment;
+ r.x.dx = info->rm_offset;
+ int86(0x31, &r, &r);
+ return 0;
+}
+
+int _go32_dpmi_get_protected_mode_interrupt_vector(int vector, _go32_dpmi_seginfo *info)
+{
+ r.x.ax = 0x0204;
+ r.h.bl = vector;
+ int86(0x31, &r, &r);
+ info->pm_selector = r.x.cx;
+ info->pm_offset = r.x.dx;
+ return 0;
+}
+
+int _go32_dpmi_set_protected_mode_interrupt_vector(int vector, _go32_dpmi_seginfo *info)
+{
+ r.x.ax = 0x0205;
+ r.h.bl = vector;
+ r.x.cx = info->pm_selector;
+ r.x.dx = info->pm_offset;
+ int86(0x31, &r, &r);
+ if (r.x.flags & 1)
+ {
+ return r.x.ax;
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+/* In real DPMI, we enter with only CS known, and SS on a locked 4K stack which
+ is *NOT* our SS. We must set up everthing, including a stack swap, then
+ restore it the way we found it. C. Sandmann 4-93 */
+
+static unsigned char wrapper_intcommon[] = {
+0x1e, /* push ds */
+0x06, /* push es */
+0x0f, 0xa0, /* push fs */
+0x0f, 0xa8, /* push gs */
+0x60, /* pusha */
+0x66, 0xb8, 0x34, 0x12, /* mov ax,0x1234 */
+0x8e, 0xd8, /* mov ds,ax */
+0x8e, 0xc0, /* mov es,ax */
+0x8e, 0xe0, /* mov fs,ax */
+0x8e, 0xe8, /* mov gs,ax */
+0xbb, 0x00, 0x00, 0x00, 0x00, /* mov ebx,_local_stack */
+0xfc, /* cld */
+0x89, 0xe1, /* mov ecx,esp */
+0x8c, 0xd2, /* mov dx,ss */
+0x8e, 0xd0, /* mov ss,ax */
+0x89, 0xdc, /* mov esp,ebx */
+0x52, /* push edx */
+0x51, /* push ecx */
+0xe8, 0x00, 0x00, 0x00, 0x00, /* call _rmih */
+0x58, /* pop eax */
+0x5b, /* pop ebx */
+0x8e, 0xd3, /* mov ss,bx */
+0x89, 0xc4, /* mov esp,eax */
+0x61, /* popa */
+0x0f, 0xa9, /* pop gs */
+0x0f, 0xa1, /* pop fs */
+0x07, /* pop es */
+0x1f /* pop ds */
+};
+
+static unsigned char wrapper_intiret[] = {
+0xcf /* iret */
+};
+
+static unsigned char wrapper_intchain[] = {
+0x2e, 0xff, 0x2d, 0x00, 0x00, 0x00, 0x00, /* jmp cs:[_old_int+39] */
+0xcf, /* iret */
+0x78, 0x56, 0x34, 0x12,
+0xcd, 0xab
+};
+
+/* _interrupt_stack_size can be changed globally before calling this routine if
+ needed. Don't change it between calls or you will mess up the malloc chain ! */
+
+unsigned _interrupt_stack_size = 32256;
+
+int _go32_dpmi_chain_protected_mode_interrupt_vector(int vector, _go32_dpmi_seginfo *info)
+{
+ char *mystack;
+ unsigned char *wrapper = (unsigned char *)malloc(sizeof(wrapper_intcommon) + sizeof(wrapper_intchain));
+ if (wrapper == 0)
+ return 0x8015;
+ mystack = (char *)malloc(_interrupt_stack_size);
+ if (mystack == 0)
+ return 0x8015;
+
+ r.x.ax = 0x0204;
+ r.h.bl = vector;
+ int86(0x31, &r, &r);
+
+ memcpy(wrapper, wrapper_intcommon, sizeof(wrapper_intcommon));
+ memcpy(wrapper+sizeof(wrapper_intcommon), wrapper_intchain, sizeof(wrapper_intchain));
+ *(short *)(wrapper+9) = _go32_my_ds();
+ *(long *)(wrapper+20) = (int)mystack + _interrupt_stack_size;
+ *(long *)(wrapper+36) = info->pm_offset - (int)wrapper - 40;
+ *(long *)(wrapper+sizeof(wrapper_intcommon)+3) = (long)wrapper+sizeof(wrapper_intcommon)+8;
+ *(long *)(wrapper+sizeof(wrapper_intcommon)+8) = r.x.dx;
+ *(short *)(wrapper+sizeof(wrapper_intcommon)+12) = r.x.cx;
+
+ r.x.ax = 0x0205;
+ r.h.bl = vector;
+ r.x.cx = _go32_my_cs();
+ r.x.dx = (int)wrapper;
+ int86(0x31, &r, &r);
+ return 0;
+}
+
+int _go32_dpmi_allocate_iret_wrapper(_go32_dpmi_seginfo *info)
+{
+ char *mystack;
+ unsigned char *wrapper = (unsigned char *)malloc(sizeof(wrapper_intcommon) + sizeof(wrapper_intiret));
+ if (wrapper == 0)
+ return 0x8015;
+ mystack = (char *)malloc(_interrupt_stack_size);
+ if (mystack == 0)
+ return 0x8015;
+
+ memcpy(wrapper, wrapper_intcommon, sizeof(wrapper_intcommon));
+ memcpy(wrapper+sizeof(wrapper_intcommon), wrapper_intiret, sizeof(wrapper_intiret));
+ *(short *)(wrapper+9) = _go32_my_ds();
+ *(long *)(wrapper+20) = (int)mystack + _interrupt_stack_size;
+ *(long *)(wrapper+36) = info->pm_offset - (int)wrapper - 40;
+
+ info->pm_offset = (int)wrapper;
+ return 0;
+}
+
+int _go32_dpmi_free_iret_wrapper(_go32_dpmi_seginfo *info)
+{
+ char *mystack;
+ char *wrapper = (char *)info->pm_offset;
+ mystack = (char *)(*(long *)(wrapper+20) - _interrupt_stack_size);
+ free(mystack);
+ free(wrapper);
+ return 0;
+}
+
+int _go32_dpmi_simulate_int(int vector, _go32_dpmi_registers *regs)
+{
+ r.h.bl = vector;
+ r.h.bh = 0;
+ r.x.cx = 0;
+ r.x.di = (int)regs;
+ if (vector == 0x21 && regs->x.ax == 0x4b00)
+ {
+ r.x.ax = 0xff0a;
+ int86(0x21, &r, &r);
+ }
+ else
+ {
+ r.x.ax = 0x0300;
+ int86(0x31, &r, &r);
+ }
+ if (r.x.flags & 1)
+ {
+ return r.x.ax;
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+int _go32_dpmi_simulate_fcall(_go32_dpmi_registers *regs)
+{
+ r.x.ax = 0x0301;
+ r.h.bh = 0;
+ r.x.cx = 0;
+ r.x.di = (int)regs;
+ int86(0x31, &r, &r);
+ if (r.x.flags & 1)
+ {
+ return r.x.ax;
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+int _go32_dpmi_simulate_fcall_iret(_go32_dpmi_registers *regs)
+{
+ r.x.ax = 0x0302;
+ r.h.bh = 0;
+ r.x.cx = 0;
+ r.x.di = (int)regs;
+ int86(0x31, &r, &r);
+ if (r.x.flags & 1)
+ {
+ return r.x.ax;
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+/* Bug here; this needs to be fixed like above with SS & CLD */
+
+static unsigned char wrapper_common[] = {
+0x66, 0x06, /* push es */
+0x66, 0x1e, /* push ds */
+0x66, 0x06, /* push es */
+0x66, 0x1f, /* pop ds */
+0x56, /* push esi */
+0x57, /* push edi */
+0xe8, 0x00, 0x00, 0x00, 0x00, /* call _rmcb */
+0x5f, /* pop edi */
+0x5e, /* pop esi */
+0x66, 0x1f, /* pop ds */
+0x66, 0x07, /* pop es */
+0xfc, /* cld */
+0x66, 0x8b, 0x06, /* mov ax,[esi] */
+0x66, 0x26, 0x89, 0x47, 0x2a, /* mov es:[edi+42],ax */
+0x66, 0x8b, 0x46, 0x02, /* mov ax,[esi+2] */
+0x66, 0x26, 0x89, 0x47, 0x2c, /* mov es:[edi+44],ax */
+};
+
+static unsigned char wrapper_retf[] = {
+0x66, 0x26, 0x83, 0x47, 0x2e, 0x04, /* add es:[edi+46],0x4 */
+0xcf /* iret */
+};
+
+static unsigned char wrapper_iret[] = {
+0x66, 0x8b, 0x46, 0x04, /* mov ax,[esi+4] */
+0x66, 0x26, 0x89, 0x47, 0x20, /* mov es:[edi+32],ax */
+0x66, 0x26, 0x83, 0x47, 0x2e, 0x06, /* add es:[edi+46],0x6 */
+0xcf /* iret */
+};
+
+int _go32_dpmi_allocate_real_mode_callback_retf(_go32_dpmi_seginfo *info, _go32_dpmi_registers *regs)
+{
+ unsigned char *wrapper = (unsigned char *)malloc(sizeof(wrapper_common) + sizeof(wrapper_retf));
+ if (wrapper == 0)
+ return 0x8015;
+
+ memcpy(wrapper, wrapper_common, sizeof(wrapper_common));
+ memcpy(wrapper+sizeof(wrapper_common), wrapper_retf, sizeof(wrapper_retf));
+ *(long *)(wrapper+11) = info->pm_offset - (int)wrapper - 15;
+ info->size = (int)wrapper;
+
+ r.x.ax = 0x0303;
+ r.x.si = (int)wrapper;
+ r.x.di = (int)regs;
+ s.ds = _go32_my_cs();
+ s.es = _go32_my_ds();
+ s.fs = 0;
+ s.gs = 0;
+ int86x(0x31, &r, &r, &s);
+ if (r.x.flags & 1)
+ {
+ return r.x.ax;
+ }
+ else
+ {
+ info->rm_segment = r.x.cx;
+ info->rm_offset = r.x.dx;
+ return 0;
+ }
+}
+
+int _go32_dpmi_allocate_real_mode_callback_iret(_go32_dpmi_seginfo *info, _go32_dpmi_registers *regs)
+{
+ unsigned char *wrapper = (unsigned char *)malloc(sizeof(wrapper_common) + sizeof(wrapper_iret));
+ if (wrapper == 0)
+ return 0x8015;
+
+ memcpy(wrapper, wrapper_common, sizeof(wrapper_common));
+ memcpy(wrapper+sizeof(wrapper_common), wrapper_iret, sizeof(wrapper_iret));
+ *(long *)(wrapper+11) = info->pm_offset - (int)wrapper - 15;
+ info->size = (int)wrapper;
+
+ r.x.ax = 0x0303;
+ r.x.si = (int)wrapper;
+ r.x.di = (int)regs;
+ s.ds = _go32_my_cs();
+ s.es = _go32_my_ds();
+ s.fs = 0;
+ s.gs = 0;
+ int86x(0x31, &r, &r, &s);
+ if (r.x.flags & 1)
+ {
+ return r.x.ax;
+ }
+ else
+ {
+ info->rm_segment = r.x.cx;
+ info->rm_offset = r.x.dx;
+ return 0;
+ }
+}
+
+int _go32_dpmi_free_real_mode_callback(_go32_dpmi_seginfo *info)
+{
+ free((char *)info->size);
+ r.x.ax = 0x0304;
+ r.x.cx = info->rm_segment;
+ r.x.dx = info->rm_offset;
+ int86(0x31, &r, &r);
+ if (r.x.flags & 1)
+ {
+ return r.x.ax;
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+int _go32_dpmi_get_free_memory_information(_go32_dpmi_meminfo *info)
+{
+ r.x.ax = 0x0500;
+ r.x.di = (int)info;
+ int86(0x31, &r, &r);
+ return 0;
+}
+
+u_long _go32_dpmi_remaining_physical_memory()
+{
+ _go32_dpmi_meminfo info;
+ _go32_dpmi_get_free_memory_information(&info);
+ if (info.available_physical_pages)
+ return info.available_physical_pages * 4096;
+ return info.available_memory;
+}
+
+u_long _go32_dpmi_remaining_virtual_memory()
+{
+ _go32_dpmi_meminfo info;
+ _go32_dpmi_get_free_memory_information(&info);
+ return info.available_memory;
+}
diff --git a/newlib/libc/sys/go32/dpmi.h b/newlib/libc/sys/go32/dpmi.h
new file mode 100644
index 00000000000..7a2cb13afec
--- /dev/null
+++ b/newlib/libc/sys/go32/dpmi.h
@@ -0,0 +1,151 @@
+/* This is file dpmi.h */
+/*
+** Copyright (C) 1993 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#ifndef _DPMI_H_
+#define _DPMI_H_
+
+
+#include <sys/types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef union {
+ struct {
+ u_long edi;
+ u_long esi;
+ u_long ebp;
+ u_long res;
+ u_long ebx;
+ u_long edx;
+ u_long ecx;
+ u_long eax;
+ } d;
+ struct {
+ u_short di, di_hi;
+ u_short si, si_hi;
+ u_short bp, bp_hi;
+ u_short res, res_hi;
+ u_short bx, bx_hi;
+ u_short dx, dx_hi;
+ u_short cx, cx_hi;
+ u_short ax, ax_hi;
+ u_short flags;
+ u_short es;
+ u_short ds;
+ u_short fs;
+ u_short gs;
+ u_short ip;
+ u_short cs;
+ u_short sp;
+ u_short ss;
+ } x;
+ struct {
+ u_char edi[4];
+ u_char esi[4];
+ u_char ebp[4];
+ u_char res[4];
+ u_char bl, bh, ebx_b2, ebx_b3;
+ u_char dl, dh, edx_b2, edx_b3;
+ u_char cl, ch, ecx_b2, ecx_b3;
+ u_char al, ah, eax_b2, eax_b3;
+ } h;
+} _go32_dpmi_registers;
+
+typedef struct {
+ u_long size;
+ u_long pm_offset;
+ u_short pm_selector;
+ u_short rm_offset;
+ u_short rm_segment;
+} _go32_dpmi_seginfo;
+
+typedef struct {
+ u_long available_memory;
+ u_long available_pages;
+ u_long available_lockable_pages;
+ u_long linear_space;
+ u_long unlocked_pages;
+ u_long available_physical_pages;
+ u_long total_physical_pages;
+ u_long free_linear_space;
+ u_long max_pages_in_paging_file;
+ u_long reserved[3];
+} _go32_dpmi_meminfo;
+
+/* returns zero if success, else dpmi error and info->size is max size */
+int _go32_dpmi_allocate_dos_memory(_go32_dpmi_seginfo *info);
+ /* set size to bytes/16, call, use rm_segment. Do not
+ change anthing but size until the memory is freed.
+ If error, max size is returned in size as bytes/16. */
+int _go32_dpmi_free_dos_memory(_go32_dpmi_seginfo *info);
+ /* set new size to bytes/16, call. If error, max size
+ is returned in size as bytes/16 */
+int _go32_dpmi_resize_dos_memory(_go32_dpmi_seginfo *info);
+ /* uses pm_selector to free memory */
+
+/* These both use the rm_segment:rm_offset fields only */
+int _go32_dpmi_get_real_mode_interrupt_vector(int vector, _go32_dpmi_seginfo *info);
+int _go32_dpmi_set_real_mode_interrupt_vector(int vector, _go32_dpmi_seginfo *info);
+
+/* These do NOT wrap the function in pm_offset in an iret handler.
+ You must provide an assembler interface yourself, or alloc one below.
+ You may NOT longjmp out of an interrupt handler. */
+int _go32_dpmi_get_protected_mode_interrupt_vector(int vector, _go32_dpmi_seginfo *info);
+ /* puts vector in pm_selector:pm_offset. */
+int _go32_dpmi_set_protected_mode_interrupt_vector(int vector, _go32_dpmi_seginfo *info);
+ /* sets vector from pm_offset and pm_selector */
+int _go32_dpmi_chain_protected_mode_interrupt_vector(int vector, _go32_dpmi_seginfo *info);
+ /* sets up wrapper that calls function in pm_offset, chaining to old
+ handler when it returns */
+
+/* These can be used to generate assember IRET-style wrappers for functions */
+int _go32_dpmi_allocate_iret_wrapper(_go32_dpmi_seginfo *info);
+ /* Put function ptr in pm_offset, call, returns wrapper entry in pm_offset. */
+int _go32_dpmi_free_iret_wrapper(_go32_dpmi_seginfo *info);
+ /* assumes pm_offset points to wrapper, frees it */
+
+/* simulate real mode calls. CS:IP from regs for non-interrupt */
+int _go32_dpmi_simulate_int(int vector, _go32_dpmi_registers *regs);
+int _go32_dpmi_simulate_fcall(_go32_dpmi_registers *regs);
+int _go32_dpmi_simulate_fcall_iret(_go32_dpmi_registers *regs);
+
+/* These automatically handle the tasks of restructuring the
+ real-mode stack for the proper return type. The callback
+ (info->pm_offset) is called as (*pmcb)(_go32_dpmi_registers *regs); */
+int _go32_dpmi_allocate_real_mode_callback_retf(_go32_dpmi_seginfo *info, _go32_dpmi_registers *regs);
+ /* points callback at pm_offset, returns seg:ofs of callback addr
+ in rm_segment:rm_offset. Do not change any fields until freed.
+ Interface is added to simulate far return */
+int _go32_dpmi_allocate_real_mode_callback_iret(_go32_dpmi_seginfo *info, _go32_dpmi_registers *regs);
+ /* same, but simulates iret */
+int _go32_dpmi_free_real_mode_callback(_go32_dpmi_seginfo *info);
+ /* frees callback */
+
+/* Only available_memory is guaranteed to be valid. Try
+ available_physical_pages for phys mem left */
+int _go32_dpmi_get_free_memory_information(_go32_dpmi_meminfo *info);
+
+/* Convenience functions. These use the above memory info call.
+ The return value is *bytes* */
+u_long _go32_dpmi_remaining_physical_memory(void);
+u_long _go32_dpmi_remaining_virtual_memory(void);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/newlib/libc/sys/go32/dup.s b/newlib/libc/sys/go32/dup.s
new file mode 100644
index 00000000000..e093baffd2b
--- /dev/null
+++ b/newlib/libc/sys/go32/dup.s
@@ -0,0 +1,28 @@
+# /* This is file DUP.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _dup
+_dup:
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movl 16(%esp),%ebx
+ movb $0x45,%ah
+ int $0x21
+ popl %edi
+ popl %esi
+ popl %ebx
+ jb syscall_error
+ ret
diff --git a/newlib/libc/sys/go32/dup2.s b/newlib/libc/sys/go32/dup2.s
new file mode 100644
index 00000000000..e26b48fa164
--- /dev/null
+++ b/newlib/libc/sys/go32/dup2.s
@@ -0,0 +1,28 @@
+# /* This is file DUP2.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _dup2
+_dup2:
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movl 16(%esp),%ebx
+ movl 20(%esp),%ecx
+ movb $0x46,%ah
+ int $0x21
+ popl %edi
+ popl %esi
+ popl %ebx
+ jmp syscall_check
diff --git a/newlib/libc/sys/go32/exec.c b/newlib/libc/sys/go32/exec.c
new file mode 100644
index 00000000000..004666c719d
--- /dev/null
+++ b/newlib/libc/sys/go32/exec.c
@@ -0,0 +1,509 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <fcntl.h>
+#include "go32.h"
+#include "dpmi.h"
+/*#include "process.h"*/
+#if 1
+#define P_WAIT 1
+#define P_NOWAIT 2 /* always generates error */
+#define P_OVERLAY 3
+#endif
+extern const char **environ;
+#define environ ((const char **)environ)
+
+#define scan_ptr() \
+ char const **ptr; \
+ for (ptr = &argv0; *ptr; ptr++); \
+ ptr = (char const **)(*++ptr);
+
+int execl(const char *path, const char *argv0, ...)
+{
+ return spawnve(P_OVERLAY, path, &argv0, environ);
+}
+
+int execle(const char *path, const char *argv0, ... /*, const char **envp */)
+{
+ scan_ptr();
+ return spawnve(P_OVERLAY, path, &argv0, ptr);
+}
+
+int execlp(const char *path, const char *argv0, ...)
+{
+ return spawnvpe(P_OVERLAY, path, &argv0, environ);
+}
+
+int execlpe(const char *path, const char *argv0, ... /*, const char **envp */)
+{
+ scan_ptr();
+ return spawnvpe(P_OVERLAY, path, &argv0, ptr);
+}
+
+/*-------------------------------------------------*/
+
+int execv(const char *path, const char **argv)
+{
+ return spawnve(P_OVERLAY, path, argv, environ);
+}
+
+int execve(const char *path, const char **argv, const char **envp)
+{
+ return spawnve(P_OVERLAY, path, argv, envp);
+}
+
+int execvp(const char *path, const char **argv)
+{
+ return spawnvpe(P_OVERLAY, path, argv, environ);
+}
+
+int execvpe(const char *path, const char **argv, const char **envp)
+{
+ return spawnvpe(P_OVERLAY, path, argv, envp);
+}
+
+/*-------------------------------------------------*/
+
+int spawnl(int mode, const char *path, const char *argv0, ...)
+{
+ return spawnve(mode, path, &argv0, environ);
+}
+
+int spawnle(int mode, const char *path, const char *argv0, ... /*, const char **envp */)
+{
+ scan_ptr();
+ return spawnve(mode, path, &argv0, ptr);
+}
+
+int spawnlp(int mode, const char *path, const char *argv0, ...)
+{
+ return spawnvpe(mode, path, &argv0, environ);
+}
+
+int spawnlpe(int mode, const char *path, const char *argv0, ... /*, const char **envp */)
+{
+ scan_ptr();
+ return spawnvpe(mode, path, &argv0, ptr);
+}
+
+/*-------------------------------------------------*/
+
+typedef struct {
+ u_short eseg;
+ u_short argoff;
+ u_short argseg;
+ u_short fcb1_off;
+ u_short fcb1_seg;
+ u_short fcb2_off;
+ u_short fcb2_seg;
+} Execp;
+
+static Execp parm;
+
+static u_long tbuf;
+
+static u_long talloc(size_t amt)
+{
+ u_long rv = tbuf;
+ tbuf += amt;
+ return rv;
+}
+
+static int direct_exec_tail(const char *program, const char *args, const char **envp)
+{
+ _go32_dpmi_registers r;
+ u_long program_la;
+ u_long arg_la;
+ u_long parm_la;
+ u_long env_la, env_e_la;
+ char arg_header[3];
+ int i;
+
+ program_la = talloc(strlen(program)+1);
+ arg_la = talloc(strlen(args)+3);
+ parm_la = talloc(sizeof(Execp));
+
+ dosmemput(program, strlen(program)+1, program_la);
+
+ arg_header[0] = strlen(args);
+ arg_header[1] = '\r';
+ dosmemput(arg_header, 1, arg_la);
+ dosmemput(args, strlen(args), arg_la+1);
+ dosmemput(arg_header+1, 1, arg_la+1+strlen(args));
+
+ do {
+ env_la = talloc(1);
+ } while (env_la & 15);
+ talloc(-1);
+ for (i=0; envp[i]; i++)
+ {
+ env_e_la = talloc(strlen(envp[i])+1);
+ dosmemput(envp[i], strlen(envp[i])+1, env_e_la);
+ }
+ arg_header[0] = 0;
+ arg_header[1] = 1;
+ arg_header[2] = 0;
+ dosmemput(arg_header, 3, talloc(3));
+ env_e_la = talloc(strlen(program)+1);
+ dosmemput(program, strlen(program)+1, env_e_la);
+
+ parm.eseg = env_la / 16;
+ parm.argseg = arg_la / 16;
+ parm.argoff = arg_la & 15;
+ dosmemput(&parm, sizeof(parm), parm_la);
+
+ memset(&r, 0, sizeof(r));
+ r.x.ax = 0x4b00;
+ r.x.ds = program_la / 16;
+ r.x.dx = program_la & 15;
+ r.x.es = parm_la / 16;
+ r.x.bx = parm_la & 15;
+ _go32_dpmi_simulate_int(0x21, &r);
+ if (r.x.flags & 1)
+ {
+ errno = r.x.ax;
+ return -1;
+ }
+
+ memset(&r, 0, sizeof(r));
+ r.h.ah = 0x4d;
+ _go32_dpmi_simulate_int(0x21, &r);
+
+ if (r.x.flags & 1)
+ {
+ errno = r.x.ax;
+ return -1;
+ }
+ return r.x.ax;
+}
+
+static int direct_exec(const char *program, const char **argv, const char **envp)
+{
+ int i, arglen;
+ char *args, *argp;
+
+ tbuf = _go32_info_block.linear_address_of_transfer_buffer;
+
+ arglen = 0;
+ for (i=1; argv[i]; i++)
+ arglen += strlen(argv[i]) + 1;
+ args = (char *)malloc(arglen+1);
+ argp = args;
+ for (i=1; argv[i]; i++)
+ {
+ const char *p = argv[i];
+ if (argp - args > 125)
+ break;
+ *argp++ = ' ';
+ while (*p)
+ {
+ if (argp - args > 125)
+ break;
+ *argp++ = *p++;
+ }
+ }
+ *argp = 0;
+
+ return direct_exec_tail(program, args, envp);
+}
+
+typedef struct {
+ char magic[16];
+ int struct_length;
+ char go32[16];
+} StubInfo;
+#define STUB_INFO_MAGIC "StubInfoMagic!!"
+
+static int go32_exec(const char *program, const char **argv, const char **envp)
+{
+ int is_stubbed = 0;
+ int found_si = 0;
+ StubInfo si;
+ unsigned short header[3];
+ int pf, has_dot, i;
+ char *go32, *sip;
+ const char *pp, *pe;
+ char rpath[80], *rp;
+ int stub_offset, argc;
+
+ int si_la, rm_la, rm_seg;
+ short *rm_argv;
+ char cmdline[34];
+
+ pf = open(program, O_RDONLY|O_BINARY);
+
+ read(pf, header, sizeof(header));
+ if (header[0] == 0x010b || header[0] == 0x014c)
+ {
+ is_stubbed = 1;
+ }
+ else if (header[0] == 0x5a4d)
+ {
+ int header_offset = (long)header[2]*512L;
+ if (header[1])
+ header_offset += (long)header[1] - 512L;
+ lseek(pf, header_offset - 4, 0);
+ read(pf, &stub_offset, 4);
+ header[0] = 0;
+ read(pf, header, sizeof(header));
+ if (header[0] == 0x010b)
+ is_stubbed = 1;
+ if (header[0] == 0x014c)
+ is_stubbed = 1;
+ lseek(pf, stub_offset, 0);
+ read(pf, &si, sizeof(si));
+ if (memcmp(STUB_INFO_MAGIC, si.magic, 16) == 0)
+ found_si = 1;
+ }
+ if (!is_stubbed)
+ {
+ close(pf);
+ return direct_exec(program, argv, envp);
+ }
+
+ if (found_si)
+ go32 = si.go32;
+ else
+ go32 = "go32.exe";
+ has_dot = 0;
+ for (i=0; go32[i]; i++)
+ if (go32[i] == '.')
+ has_dot = 1;
+ if (!has_dot)
+ strcpy(go32+i, ".exe");
+ for (i=0; envp[i]; i++)
+ if (strncmp(envp[i], "PATH=", 5) == 0)
+ pp = envp[i]+5;
+ strcpy(rpath, go32);
+ while (access(rpath, 0))
+ {
+ char *ptr;
+ rp = rpath;
+ for (pe=pp; *pe && *pe != ';'; pe++)
+ *rp++ = *pe;
+ pp = pe+1;
+ if (rp > rpath && rp[-1] != '/' && rp[-1] != '\\' && rp[-1] != ':')
+ *rp++ = '/';
+ for (ptr = go32; *ptr; ptr++)
+ *rp++ = *ptr;
+ *rp = 0;
+ if (access(rpath, 0) == 0)
+ break;
+ if (*pe == 0)
+ return direct_exec(program, argv, envp); /* give up and just run it */
+ }
+
+ if (found_si)
+ {
+ lseek(pf, stub_offset, 0);
+ sip = (char *)malloc(si.struct_length);
+ read(pf, sip, si.struct_length);
+ }
+ close(pf);
+
+ argv[0] = program; /* since that's where we really found it */
+
+ tbuf = _go32_info_block.linear_address_of_transfer_buffer;
+
+ if (found_si)
+ {
+ si_la = talloc(si.struct_length);
+ dosmemput(sip, si.struct_length, si_la);
+ free(sip);
+ }
+
+ for (argc=0; argv[argc]; argc++);
+ rm_la = talloc(2*(argc+1));
+ rm_seg = (_go32_info_block.linear_address_of_transfer_buffer >> 4) & 0xffff;
+ rm_argv = (short *)malloc((argc+1) * sizeof(short));
+ for (i=0; i<argc; i++)
+ {
+ int sl = strlen(argv[i]) + 1;
+ int q = talloc(sl);
+ dosmemput(argv[i], sl, q);
+ rm_argv[i] = (q - (rm_seg<<4)) & 0xffff;
+ }
+ rm_argv[i] = 0;
+ dosmemput(rm_argv, 2*(argc+1), rm_la);
+
+ sprintf(cmdline, " !proxy %04x %04x %04x %04x %04x",
+ argc, rm_seg, (rm_la - (rm_seg<<4))&0xffff,
+ rm_seg, (si_la - (rm_seg<<4))&0xffff);
+ if (!found_si)
+ cmdline[22] = 0; /* remove stub information */
+
+ return direct_exec_tail(rpath, cmdline, envp);
+}
+
+static int command_exec(const char *program, const char **argv, const char **envp)
+{
+ const char *comspec=0;
+ char *cmdline;
+ char *newargs[3];
+ int cmdlen;
+ int i;
+
+ cmdlen = strlen(program) + 4;
+ for (i=0; argv[i]; i++)
+ cmdlen += strlen(argv[i]) + 1;
+ cmdline = (char *)malloc(cmdlen);
+
+ strcpy(cmdline, "/c ");
+ for (i=0; program[i]; i++)
+ {
+ if (program[i] == '/')
+ cmdline[i+3] = '\\';
+ else
+ cmdline[i+3] = program[i];
+ }
+ cmdline[i+3] = 0;
+ for (i=1; argv[i]; i++)
+ {
+ strcat(cmdline, " ");
+ strcat(cmdline, argv[i]);
+ }
+ for (i=0; envp[i]; i++)
+ if (strncmp(envp[i], "COMSPEC=", 8) == 0)
+ comspec = envp[i]+8;
+ if (!comspec)
+ for (i=0; environ[i]; i++)
+ if (strncmp(environ[i], "COMSPEC=", 8) == 0)
+ comspec = environ[i]+8;
+ if (!comspec)
+ comspec = "c:/command.com";
+ newargs[0] = comspec;
+ newargs[1] = cmdline;
+ newargs[2] = 0;
+ i = direct_exec(comspec, (const char **)newargs, envp);
+ free(cmdline);
+ return i;
+}
+
+static int script_exec(const char *program, const char **argv, const char **envp)
+{
+ return go32_exec(program, argv, envp);
+}
+
+static struct {
+ char *extension;
+ int (*interp)(const char *, const char **, const char **);
+} interpreters[] = {
+ { ".com", direct_exec },
+ { ".exe", go32_exec },
+ { ".bat", command_exec },
+ { 0, script_exec }
+};
+#define INTERP_NO_EXT 3
+
+int spawnv(int mode, const char *path, const char **argv)
+{
+ return spawnve(mode, path, argv, environ);
+}
+
+int spawnve(int mode, const char *path, const char **argv, const char **envp)
+{
+ /* This is the one that does the work! */
+ int i = -1;
+ char rpath[80], *rp, *rd=0;
+ fflush(stdout); /* just in case */
+ for (rp=rpath; *path; *rp++ = *path++)
+ {
+ if (*path == '.')
+ rd = rp;
+ if (*path == '\\' || *path == '/')
+ rd = 0;
+ }
+ *rp = 0;
+ if (rd)
+ {
+ for (i=0; interpreters[i].extension; i++)
+ if (strcasecmp(rd, interpreters[i].extension) == 0)
+ break;
+ }
+ while (access(rpath, 0))
+ {
+ i++;
+ if (interpreters[i].extension == 0 || rd)
+ {
+ errno = ENOENT;
+ return -1;
+ }
+ strcpy(rp, interpreters[i].extension);
+ }
+ if (i == -1)
+ i = INTERP_NO_EXT;
+ i = interpreters[i].interp(rpath, argv, envp);
+ if (mode == P_OVERLAY)
+ exit(i);
+ return i;
+}
+
+int spawnvp(int mode, const char *path, const char **argv)
+{
+ return spawnvpe(mode, path, argv, environ);
+}
+
+int spawnvpe(int mode, const char *path, const char **argv, const char **envp)
+{
+ const char *pp, *pe, *ptr;
+ char rpath[80], *rp, *rd;
+ int hasdot = 0, i, tried_dot = 0;
+
+ for (ptr=path; *ptr; ptr++)
+ {
+ if (*ptr == '.')
+ hasdot = 1;
+ if (*ptr == '/' || *ptr == '\\' || *ptr == ':')
+ return spawnve(mode, path, argv, envp);
+ }
+
+ pp = 0;
+ for (i=0; envp[i]; i++)
+ if (strncmp(envp[i], "PATH=", 5) == 0)
+ pp = envp[i] + 5;
+ if (pp == 0)
+ return spawnve(mode, path, argv, envp);
+
+ while (1)
+ {
+ if (!tried_dot)
+ {
+ rp = rpath;
+ pe = pp;
+ tried_dot = 1;
+ }
+ else
+ {
+ rp = rpath;
+ for (pe = pp; *pe && *pe != ';'; pe++)
+ *rp++ = *pe;
+ pp = pe+1;
+ if (rp > rpath && rp[-1] != '/' && rp[-1] != '\\' && rp[-1] != ':')
+ *rp++ = '/';
+ }
+ for (ptr = path; *ptr; ptr++)
+ *rp++ = *ptr;
+ *rp = 0;
+
+ if (hasdot)
+ {
+ if (access(rpath, 0) == 0)
+ return spawnve(mode, rpath, argv, envp);
+ }
+ else
+ {
+ for (i=0; interpreters[i].extension; i++)
+ {
+ strcpy(rp, interpreters[i].extension);
+ if (access(rpath, 0) == 0)
+ return spawnve(mode, rpath, argv, envp);
+ }
+ }
+ if (*pe == 0)
+ {
+ errno = ENOENT;
+ return -1;
+ }
+ }
+}
diff --git a/newlib/libc/sys/go32/fchmod.c b/newlib/libc/sys/go32/fchmod.c
new file mode 100644
index 00000000000..a161dfcfa7a
--- /dev/null
+++ b/newlib/libc/sys/go32/fchmod.c
@@ -0,0 +1,18 @@
+/* This is file FCHMOD.C */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+fchmod()
+{
+ write(2, "Warning: fchmod() unimplemented\n", 32);
+}
diff --git a/newlib/libc/sys/go32/findfirs.s b/newlib/libc/sys/go32/findfirs.s
new file mode 100644
index 00000000000..fa3f24768a6
--- /dev/null
+++ b/newlib/libc/sys/go32/findfirs.s
@@ -0,0 +1,18 @@
+ .globl _findfirst
+_findfirst:
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movl 20(%esp),%edx
+ movb $0x1a,%ah
+ int $0x21
+
+ movl 16(%esp),%edx
+ movl 24(%esp),%ecx
+ movb $0x4e,%ah
+ int $0x21
+
+ popl %edi
+ popl %esi
+ popl %ebx
+ jmp syscall_check
diff --git a/newlib/libc/sys/go32/findnext.s b/newlib/libc/sys/go32/findnext.s
new file mode 100644
index 00000000000..4e6518ffd8c
--- /dev/null
+++ b/newlib/libc/sys/go32/findnext.s
@@ -0,0 +1,16 @@
+ .globl _findnext
+_findnext:
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movl 16(%esp),%edx
+ movb $0x1a,%ah
+ int $0x21
+
+ movb $0x4f,%ah
+ int $0x21
+
+ popl %edi
+ popl %esi
+ popl %ebx
+ jmp syscall_check
diff --git a/newlib/libc/sys/go32/fixpath.c b/newlib/libc/sys/go32/fixpath.c
new file mode 100644
index 00000000000..e7d61fddd1a
--- /dev/null
+++ b/newlib/libc/sys/go32/fixpath.c
@@ -0,0 +1,155 @@
+/*
+ (c) Copyright 1992 Eric Backus
+
+ This software may be used freely so long as this copyright notice is
+ left intact. There is no warrantee on this software.
+*/
+
+#include "dos.h" /* For intdos() */
+#include <errno.h> /* For errno */
+#include <string.h> /* For strlen() */
+
+int
+_get_default_drive(void)
+{
+ union REGS regs;
+
+ regs.h.ah = 0x19; /* DOS Get Default Drive call */
+ regs.h.al = 0;
+ (void) intdos(&regs, &regs);
+ return regs.h.al;
+}
+
+static char *
+get_current_directory(char *out, int drive_number)
+{
+ union REGS regs;
+
+ regs.h.ah = 0x47;
+ regs.h.dl = drive_number + 1;
+ regs.x.si = (unsigned long) (out + 1);
+ (void) intdos(&regs, &regs);
+ if (regs.x.cflag != 0)
+ {
+ errno = regs.x.ax;
+ return out;
+ }
+ else
+ {
+ /* Root path, don't insert "/", it'll be added later */
+ if (*(out + 1) != '\0')
+ *out = '/';
+ else
+ *out = '\0';
+ return out + strlen(out);
+ }
+}
+
+static int
+is_slash(int c)
+{
+ return c == '/' || c == '\\';
+}
+
+static int
+is_term(int c)
+{
+ return c == '/' || c == '\\' || c == '\0';
+}
+
+/* Takes as input an arbitrary path. Fixes up the path by:
+ 1. Removing consecutive slashes
+ 2. Removing trailing slashes
+ 3. Making the path absolute if it wasn't already
+ 4. Removing "." in the path
+ 5. Removing ".." entries in the path (and the directory above them)
+ 6. Adding a drive specification if one wasn't there
+ 7. Converting all slashes to '/'
+ */
+void
+_fixpath(const char *in, char *out)
+{
+ int drive_number;
+ const char *ip = in;
+ char *op = out;
+
+ /* Add drive specification to output string */
+ if (*(ip + 1) == ':' && ((*ip >= 'a' && *ip <= 'z') ||
+ (*ip >= 'A' && *ip <= 'Z')))
+ {
+ if (*ip >= 'a' && *ip <= 'z')
+ drive_number = *ip - 'a';
+ else
+ drive_number = *ip - 'A';
+ *op++ = *ip++;
+ *op++ = *ip++;
+ }
+ else
+ {
+ drive_number = _get_default_drive();
+ *op++ = drive_number + 'a';
+ *op++ = ':';
+ }
+
+ /* Convert relative path to absolute */
+ if (!is_slash(*ip))
+ op = get_current_directory(op, drive_number);
+
+ /* Step through the input path */
+ while (*ip)
+ {
+ /* Skip input slashes */
+ if (is_slash(*ip))
+ {
+ ip++;
+ continue;
+ }
+
+ /* Skip "." and output nothing */
+ if (*ip == '.' && is_term(*(ip + 1)))
+ {
+ ip++;
+ continue;
+ }
+
+ /* Skip ".." and remove previous output directory */
+ if (*ip == '.' && *(ip + 1) == '.' && is_term(*(ip + 2)))
+ {
+ ip += 2;
+ /* Don't back up over drive spec */
+ if (op > out + 2)
+ /* This requires "/" to follow drive spec */
+ while (!is_slash(*--op));
+ continue;
+ }
+
+ /* Copy path component from in to out */
+ *op++ = '/';
+ while (!is_term(*ip)) *op++ = *ip++;
+ }
+
+ /* If root directory, insert trailing slash */
+ if (op == out + 2) *op++ = '/';
+
+ /* Null terminate the output */
+ *op = '\0';
+}
+
+#ifdef TEST
+#include <stdio.h>
+
+int
+main(int argc, char **argv)
+{
+ char path[90];
+ int i;
+
+ for (i = 1; i < argc; i++)
+ {
+ _fixpath(argv[i], path);
+ (void) printf("'%s' -> '%s'\n", argv[i], path);
+ }
+
+ return 0;
+}
+#endif
diff --git a/newlib/libc/sys/go32/fstat.s b/newlib/libc/sys/go32/fstat.s
new file mode 100644
index 00000000000..5414eaf3845
--- /dev/null
+++ b/newlib/libc/sys/go32/fstat.s
@@ -0,0 +1,19 @@
+# /* This is file FSTAT.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _fstat
+_fstat:
+ movb $3,%al
+ jmp turbo_assist
diff --git a/newlib/libc/sys/go32/fsync.s b/newlib/libc/sys/go32/fsync.s
new file mode 100644
index 00000000000..5f246f05723
--- /dev/null
+++ b/newlib/libc/sys/go32/fsync.s
@@ -0,0 +1,27 @@
+# /* This is file FSYNC.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _fsync
+_fsync:
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movl 16(%esp),%ebx
+ movb $0x68,%ah
+ int $0x21
+ popl %edi
+ popl %esi
+ popl %ebx
+ ret
diff --git a/newlib/libc/sys/go32/ftruncat.c b/newlib/libc/sys/go32/ftruncat.c
new file mode 100644
index 00000000000..1e2544f257b
--- /dev/null
+++ b/newlib/libc/sys/go32/ftruncat.c
@@ -0,0 +1,25 @@
+/* This is file FTRUNCAT.C */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#include <fcntl.h>
+
+/*
+** Note: this only works right if you close the file right after truncating!
+*/
+
+ftruncate(int fd, unsigned long where)
+{
+ lseek(fd, where, 0);
+ write(fd, 0, 0);
+}
diff --git a/newlib/libc/sys/go32/gerrno.s b/newlib/libc/sys/go32/gerrno.s
new file mode 100644
index 00000000000..ff6b6da9326
--- /dev/null
+++ b/newlib/libc/sys/go32/gerrno.s
@@ -0,0 +1,33 @@
+# /* This is file GERRNO.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+# Modified to use newlib's reent mechanism, 960414, dje.
+# Reentrancy isn't really supported of course, the purpose is to
+# record `errno' in the normal place.
+
+ .text
+ .globl syscall_error
+syscall_error:
+ pushl %eax
+ call ___errno
+ popl %edx
+ mov %edx,(%eax)
+ mov $-1,%eax
+ ret
+
+ .globl syscall_check
+syscall_check:
+ jb syscall_error
+ mov $0,%eax
+ ret
diff --git a/newlib/libc/sys/go32/getcwd.c b/newlib/libc/sys/go32/getcwd.c
new file mode 100644
index 00000000000..1dd4dcbcd85
--- /dev/null
+++ b/newlib/libc/sys/go32/getcwd.c
@@ -0,0 +1,37 @@
+/* This is file GETCWD.C */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#include <errno.h>
+
+char *getcwd(char *buf, int n)
+{
+ char tmp[90];
+ getwd(tmp);
+ if (strlen(tmp)+1 > n)
+ {
+ errno = ERANGE;
+ return 0;
+ }
+ if (buf == 0)
+ {
+ buf = malloc(n);
+ if (buf == 0)
+ {
+ errno = ENOMEM;
+ return 0;
+ }
+ }
+ strcpy(buf, tmp);
+ return buf;
+}
diff --git a/newlib/libc/sys/go32/getdate.c b/newlib/libc/sys/go32/getdate.c
new file mode 100644
index 00000000000..7593b0af03a
--- /dev/null
+++ b/newlib/libc/sys/go32/getdate.c
@@ -0,0 +1,11 @@
+#include "dos.h"
+
+void getdate( struct date *dateblk)
+{
+ union REGS regs;
+ regs.h.ah = 0x2a;
+ intdos( &regs, &regs);
+ dateblk-> da_year = regs.x.cx;
+ dateblk-> da_mon = regs.h.dh;
+ dateblk-> da_day = regs.h.dl;
+}
diff --git a/newlib/libc/sys/go32/getdtabl.c b/newlib/libc/sys/go32/getdtabl.c
new file mode 100644
index 00000000000..b266c23b9dd
--- /dev/null
+++ b/newlib/libc/sys/go32/getdtabl.c
@@ -0,0 +1,18 @@
+/* This is file GETDTABL.C */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+getdtablesize()
+{
+ return 50; /* really depends on FILES= in config.sys */
+}
diff --git a/newlib/libc/sys/go32/getgid.c b/newlib/libc/sys/go32/getgid.c
new file mode 100644
index 00000000000..a0cd7b988f5
--- /dev/null
+++ b/newlib/libc/sys/go32/getgid.c
@@ -0,0 +1,9 @@
+
+#include <sys/types.h>
+
+getgid()
+{
+
+ return 20;
+
+}
diff --git a/newlib/libc/sys/go32/getkey.s b/newlib/libc/sys/go32/getkey.s
new file mode 100644
index 00000000000..876483ea946
--- /dev/null
+++ b/newlib/libc/sys/go32/getkey.s
@@ -0,0 +1,59 @@
+/* This is file GETKEY.S */
+/*
+** Copyright (C) 1993 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+Modified by J. Alan Eldridge, Liberty Brokerage, 77 Water St, NYC 10005
+
+Changed handling of characters starting with 0xE0:
+ Now calls interrupt 16, function 10
+ if leading byte was 0x00, ah = 0x01
+ if leading byte was 0xE0, ah = 0x02
+
+ The main function is now called getxkey()...
+ getkey is provided to maintain compatibility with
+ already written software
+*/
+
+ .globl _getxkey
+_getxkey:
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movb $0x10,%ah
+ int $0x16
+ mov $1,%bl
+ cmpb $0,%al
+ je L0
+ cmpb $0xE0,%al
+ jne L1
+ inc %bl
+L0:
+ movb %ah,%al
+ movb %bl,%ah
+ jmp L2
+L1:
+ movb $0,%ah
+L2:
+ andl $0xffff,%eax
+ popl %edi
+ popl %esi
+ popl %ebx
+ ret
+
+ .globl _getkey
+_getkey:
+ call _getxkey
+ testb $0x02,%ah
+ jz L3
+ movb $0x01,%ah
+L3:
+ ret
diff --git a/newlib/libc/sys/go32/getpages.c b/newlib/libc/sys/go32/getpages.c
new file mode 100644
index 00000000000..8218b154e75
--- /dev/null
+++ b/newlib/libc/sys/go32/getpages.c
@@ -0,0 +1,18 @@
+/* This is file GETPAGES.C */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+getpagesize()
+{
+ return 4096;
+}
diff --git a/newlib/libc/sys/go32/getpid.c b/newlib/libc/sys/go32/getpid.c
new file mode 100644
index 00000000000..60f6e6d665c
--- /dev/null
+++ b/newlib/libc/sys/go32/getpid.c
@@ -0,0 +1,18 @@
+/* This is file GETPID.C */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+getpid()
+{
+ return 42; /* Why not? */
+}
diff --git a/newlib/libc/sys/go32/getrusag.c b/newlib/libc/sys/go32/getrusag.c
new file mode 100644
index 00000000000..15722c5dd27
--- /dev/null
+++ b/newlib/libc/sys/go32/getrusag.c
@@ -0,0 +1,35 @@
+/* This is file GETRUSAG.C */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#include <sys/time.h>
+#include <sys/resource.h>
+
+static struct timeval old_time = {0,0};
+
+int getrusage(int who, struct rusage *rusage)
+{
+ struct timeval now;
+ bzero(rusage, sizeof(struct rusage));
+ if (old_time.tv_sec == 0)
+ gettimeofday(&old_time, 0);
+ gettimeofday(&now, 0);
+ rusage->ru_utime.tv_usec = now.tv_usec - old_time.tv_usec;
+ rusage->ru_utime.tv_sec = now.tv_sec - old_time.tv_sec;
+ if (rusage->ru_utime.tv_usec < 0)
+ {
+ rusage->ru_utime.tv_usec += 1000000;
+ rusage->ru_utime.tv_sec -= 1;
+ }
+ return 0;
+}
diff --git a/newlib/libc/sys/go32/gettime.c b/newlib/libc/sys/go32/gettime.c
new file mode 100644
index 00000000000..ba81161194e
--- /dev/null
+++ b/newlib/libc/sys/go32/gettime.c
@@ -0,0 +1,12 @@
+#include "dos.h"
+
+void gettime( struct time *tp)
+{
+ union REGS regs;
+ regs.h.ah = 0x2c;
+ intdos( &regs, &regs);
+ tp->ti_hour = regs.h.ch;
+ tp->ti_min = regs.h.cl;
+ tp->ti_sec = regs.h.dh;
+ tp->ti_hund = regs.h.dl;
+}
diff --git a/newlib/libc/sys/go32/gettimeo.c b/newlib/libc/sys/go32/gettimeo.c
new file mode 100644
index 00000000000..7f4f7c874d6
--- /dev/null
+++ b/newlib/libc/sys/go32/gettimeo.c
@@ -0,0 +1,61 @@
+/*
+ (c) Copyright 1992 Eric Backus
+
+ This software may be used freely so long as this copyright notice is
+ left intact. There is no warrantee on this software.
+*/
+
+#include <time.h>
+#include <sys/time.h>
+#include "dos.h"
+
+static int daylight, gmtoffset;
+
+int
+gettimeofday (struct timeval *tp, struct timezone *tzp)
+{
+
+ if (tp)
+ {
+ struct time t;
+ struct date d;
+ struct tm tmrec;
+
+ gettime (&t);
+ getdate (&d);
+ tmrec.tm_year = d.da_year - 1900;
+ tmrec.tm_mon = d.da_mon - 1;
+ tmrec.tm_mday = d.da_day;
+ tmrec.tm_hour = t.ti_hour;
+ tmrec.tm_min = t.ti_min;
+ tmrec.tm_sec = t.ti_sec;
+/* tmrec.tm_gmtoff = gmtoffset;*/
+ tmrec.tm_isdst = daylight;
+ tp->tv_sec = mktime (&tmrec);
+ tp->tv_usec = t.ti_hund * (1000000 / 100);
+ }
+ if (tzp)
+ {
+ tzp->tz_minuteswest = gmtoffset;
+ tzp->tz_dsttime = daylight;
+ }
+
+ return 0;
+}
+
+void
+__gettimeofday_init ()
+{
+ time_t ltm, gtm;
+ struct tm *lstm;
+
+ daylight = 0;
+ gmtoffset = 0;
+ ltm = gtm = time (NULL);
+ ltm = mktime (lstm = localtime (&ltm));
+ gtm = mktime (gmtime (&gtm));
+ daylight = lstm->tm_isdst;
+ gmtoffset = (int)(gtm - ltm) / 60;
+
+}
+
diff --git a/newlib/libc/sys/go32/gettimeo.s b/newlib/libc/sys/go32/gettimeo.s
new file mode 100644
index 00000000000..7e85adf1f31
--- /dev/null
+++ b/newlib/libc/sys/go32/gettimeo.s
@@ -0,0 +1,19 @@
+# /* This is file GETTIMEO.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _gettimeofday
+_gettimeofday:
+ movb $4,%al
+ jmp turbo_assist
diff --git a/newlib/libc/sys/go32/getuid.c b/newlib/libc/sys/go32/getuid.c
new file mode 100644
index 00000000000..4ce9a46c1b6
--- /dev/null
+++ b/newlib/libc/sys/go32/getuid.c
@@ -0,0 +1,9 @@
+
+#include <sys/types.h>
+
+getuid()
+{
+
+ return 10;
+
+}
diff --git a/newlib/libc/sys/go32/getwd.s b/newlib/libc/sys/go32/getwd.s
new file mode 100644
index 00000000000..15d856ef804
--- /dev/null
+++ b/newlib/libc/sys/go32/getwd.s
@@ -0,0 +1,31 @@
+# /* This is file GETWD.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _getwd
+_getwd:
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movl 16(%esp),%esi
+ movb $47,(%esi)
+ incl %esi
+ movb $0,%dl
+ movb $0x47,%ah
+ int $0x21
+ movl 16(%esp),%eax
+ popl %edi
+ popl %esi
+ popl %ebx
+ ret
diff --git a/newlib/libc/sys/go32/go32.h b/newlib/libc/sys/go32/go32.h
new file mode 100644
index 00000000000..32afc0ebe35
--- /dev/null
+++ b/newlib/libc/sys/go32/go32.h
@@ -0,0 +1,70 @@
+/* This is file go32.h */
+/*
+** Copyright (C) 1993 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#ifndef _GO32_H_
+#define _GO32_H_
+
+#include <sys/types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* This must match go32/proginfo.h */
+
+typedef struct {
+ u_long size_of_this_structure_in_bytes;
+ u_long linear_address_of_primary_screen;
+ u_long linear_address_of_secondary_screen;
+ u_long linear_address_of_transfer_buffer;
+ u_long size_of_transfer_buffer; /* >= 4k */
+ u_long pid;
+ u_char master_interrupt_controller_base;
+ u_char slave_interrupt_controller_base;
+ u_short selector_for_linear_memory;
+ u_long linear_address_of_stub_info_structure;
+ u_long linear_address_of_original_psp;
+ u_short run_mode;
+ u_short run_mode_info;
+} Go32_Info_Block;
+
+extern Go32_Info_Block _go32_info_block;
+
+#define _GO32_RUN_MODE_UNDEF 0
+#define _GO32_RUN_MODE_RAW 1
+#define _GO32_RUN_MODE_XMS 2
+#define _GO32_RUN_MODE_VCPI 3
+#define _GO32_RUN_MODE_DPMI 4
+
+void dosmemget(int offset, int length, void *buffer);
+void dosmemput(const void *buffer, int length, int offset);
+void movedata(unsigned source_selector, unsigned source_offset,
+ unsigned dest_selector, unsigned dest_offset,
+ size_t length);
+
+/* returns number of times hit since last call. (zero first time) */
+u_long _go32_was_ctrl_break_hit();
+void _go32_want_ctrl_break(int yes); /* auto-yes if call above function */
+
+u_short _go32_my_cs();
+u_short _go32_my_ds();
+u_short _go32_my_ss();
+u_short _go32_conventional_mem_selector();
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
diff --git a/newlib/libc/sys/go32/go32func.c b/newlib/libc/sys/go32/go32func.c
new file mode 100644
index 00000000000..ec3853ba1ca
--- /dev/null
+++ b/newlib/libc/sys/go32/go32func.c
@@ -0,0 +1,69 @@
+#include <sys/types.h>
+#include "go32.h"
+#include "dpmi.h"
+#include "dos.h"
+
+u_short _go32_my_cs()
+{
+ asm("movw %cs,%ax");
+}
+
+u_short _go32_my_ds()
+{
+ asm("movw %ds,%ax");
+}
+
+u_short _go32_my_ss()
+{
+ asm("movw %ss,%ax");
+}
+
+u_short _go32_conventional_mem_selector()
+{
+ return _go32_info_block.selector_for_linear_memory;
+}
+
+static _go32_dpmi_registers regs;
+static volatile u_long ctrl_break_count = 0;
+static int ctrl_break_hooked = 0;
+static _go32_dpmi_seginfo old_vector;
+static _go32_dpmi_seginfo new_vector;
+
+static ctrl_break_isr(_go32_dpmi_registers *regs)
+{
+ ctrl_break_count ++;
+}
+
+u_long _go32_was_ctrl_break_hit()
+{
+ u_long cnt;
+ _go32_want_ctrl_break(1);
+ cnt = ctrl_break_count;
+ ctrl_break_count = 0;
+ return cnt;
+}
+
+void _go32_want_ctrl_break(int yes)
+{
+ if (yes)
+ {
+ if (ctrl_break_hooked)
+ return;
+ _go32_dpmi_get_real_mode_interrupt_vector(0x1b, &old_vector);
+
+ new_vector.pm_offset = (int)ctrl_break_isr;
+ _go32_dpmi_allocate_real_mode_callback_iret(&new_vector, &regs);
+ _go32_dpmi_set_real_mode_interrupt_vector(0x1b, &new_vector);
+ ctrl_break_count = 0;
+ ctrl_break_hooked = 1;
+ }
+ else
+ {
+ if (!ctrl_break_hooked)
+ return;
+ _go32_dpmi_set_real_mode_interrupt_vector(0x1b, &old_vector);
+ _go32_dpmi_free_real_mode_callback(&new_vector);
+ ctrl_break_count = 0;
+ ctrl_break_hooked = 0;
+ }
+}
diff --git a/newlib/libc/sys/go32/infoblk.c b/newlib/libc/sys/go32/infoblk.c
new file mode 100644
index 00000000000..0a54b6b1869
--- /dev/null
+++ b/newlib/libc/sys/go32/infoblk.c
@@ -0,0 +1,4 @@
+#include "go32.h"
+
+Go32_Info_Block _go32_info_block = { sizeof(Go32_Info_Block) };
+
diff --git a/newlib/libc/sys/go32/inportb.s b/newlib/libc/sys/go32/inportb.s
new file mode 100644
index 00000000000..d2425fc5563
--- /dev/null
+++ b/newlib/libc/sys/go32/inportb.s
@@ -0,0 +1,21 @@
+#/* This is file INPORTB.S */
+#/*
+#** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+#**
+#** This file is distributed under the terms listed in the document
+#** "copying.dj", available from DJ Delorie at the address above.
+#** A copy of "copying.dj" should accompany this file; if not, a copy
+#** should be available from where this file was obtained. This file
+#** may not be distributed without a verbatim copy of "copying.dj".
+#**
+#** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+#** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#*/
+
+ .globl _inportb
+_inportb:
+ movl 4(%esp),%edx
+# inb %dx,%al
+ .byte 0xec
+ movzb %al,%eax
+ ret
diff --git a/newlib/libc/sys/go32/inportl.s b/newlib/libc/sys/go32/inportl.s
new file mode 100644
index 00000000000..477dec19dc4
--- /dev/null
+++ b/newlib/libc/sys/go32/inportl.s
@@ -0,0 +1,19 @@
+#/* This is file INPORTL.S */
+#/*
+#** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+#**
+#** This file is distributed under the terms listed in the document
+#** "copying.dj", available from DJ Delorie at the address above.
+#** A copy of "copying.dj" should accompany this file; if not, a copy
+#** should be available from where this file was obtained. This file
+#** may not be distributed without a verbatim copy of "copying.dj".
+#**
+#** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+#** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#*/
+
+ .globl _inportl
+_inportl:
+ movl 4(%esp),%edx
+ inl %dx,%eax
+ ret
diff --git a/newlib/libc/sys/go32/inportsb.s b/newlib/libc/sys/go32/inportsb.s
new file mode 100644
index 00000000000..db7dc37f8eb
--- /dev/null
+++ b/newlib/libc/sys/go32/inportsb.s
@@ -0,0 +1,25 @@
+#/* This is file INPORTSB.S */
+#/*
+#** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+#**
+#** This file is distributed under the terms listed in the document
+#** "copying.dj", available from DJ Delorie at the address above.
+#** A copy of "copying.dj" should accompany this file; if not, a copy
+#** should be available from where this file was obtained. This file
+#** may not be distributed without a verbatim copy of "copying.dj".
+#**
+#** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+#** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#*/
+
+ .globl _inportsb
+_inportsb:
+ pushl %edi
+ movl 8(%esp),%edx
+ movl 12(%esp),%edi
+ movl 16(%esp),%ecx
+ rep
+ insb
+ popl %edi
+ ret
+
diff --git a/newlib/libc/sys/go32/inportsl.s b/newlib/libc/sys/go32/inportsl.s
new file mode 100644
index 00000000000..d4a8d55079f
--- /dev/null
+++ b/newlib/libc/sys/go32/inportsl.s
@@ -0,0 +1,24 @@
+#/* This is file INPORTSL.S */
+#/*
+#** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+#**
+#** This file is distributed under the terms listed in the document
+#** "copying.dj", available from DJ Delorie at the address above.
+#** A copy of "copying.dj" should accompany this file; if not, a copy
+#** should be available from where this file was obtained. This file
+#** may not be distributed without a verbatim copy of "copying.dj".
+#**
+#** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+#** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#*/
+
+ .globl _inportsl
+_inportsl:
+ pushl %edi
+ movl 8(%esp),%edx
+ movl 12(%esp),%edi
+ movl 16(%esp),%ecx
+ rep
+ insl
+ popl %edi
+ ret
diff --git a/newlib/libc/sys/go32/inportsw.s b/newlib/libc/sys/go32/inportsw.s
new file mode 100644
index 00000000000..31880d717f6
--- /dev/null
+++ b/newlib/libc/sys/go32/inportsw.s
@@ -0,0 +1,24 @@
+#/* This is file INPORTSW.S */
+#/*
+#** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+#**
+#** This file is distributed under the terms listed in the document
+#** "copying.dj", available from DJ Delorie at the address above.
+#** A copy of "copying.dj" should accompany this file; if not, a copy
+#** should be available from where this file was obtained. This file
+#** may not be distributed without a verbatim copy of "copying.dj".
+#**
+#** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+#** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#*/
+
+ .globl _inportsw
+_inportsw:
+ pushl %edi
+ movl 8(%esp),%edx
+ movl 12(%esp),%edi
+ movl 16(%esp),%ecx
+ rep
+ insw
+ popl %edi
+ ret
diff --git a/newlib/libc/sys/go32/inportw.s b/newlib/libc/sys/go32/inportw.s
new file mode 100644
index 00000000000..fdb58aa261d
--- /dev/null
+++ b/newlib/libc/sys/go32/inportw.s
@@ -0,0 +1,21 @@
+#/* This is file INPORTW.S */
+#/*
+#** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+#**
+#** This file is distributed under the terms listed in the document
+#** "copying.dj", available from DJ Delorie at the address above.
+#** A copy of "copying.dj" should accompany this file; if not, a copy
+#** should be available from where this file was obtained. This file
+#** may not be distributed without a verbatim copy of "copying.dj".
+#**
+#** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+#** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#*/
+
+ .globl _inportw
+_inportw:
+ movl 4(%esp),%edx
+# inw (%dx),%ax
+ .byte 0x66, 0xed
+ movzwl %ax,%eax
+ ret
diff --git a/newlib/libc/sys/go32/int86x.s b/newlib/libc/sys/go32/int86x.s
new file mode 100644
index 00000000000..7b49bcd121f
--- /dev/null
+++ b/newlib/libc/sys/go32/int86x.s
@@ -0,0 +1,103 @@
+ .data
+ds:
+ .word 0
+es:
+ .word 0
+fs:
+ .word 0
+gs:
+ .word 0
+
+ .globl int86
+int86:
+ .byte 0x2e
+ push ds
+ pop %ds
+ .byte 0x2e
+ push es
+ pop %es
+ .byte 0x2e
+ push fs
+ pop %fs
+ .byte 0x2e
+ push gs
+ pop %gs
+
+ .byte 0xcd
+int86_vec:
+ .byte 0x03
+ ret
+
+ .text
+ .globl _int86x
+_int86x:
+ movl 16(%esp), %eax
+
+ movw 2(%eax), %cx
+ movw %cx, ds
+ movw 4(%eax), %cx
+ movw %cx, es
+ movw 6(%eax), %cx
+ movw %cx, fs
+ movw 8(%eax), %cx
+ movw %cx, gs
+
+ jmp int86_common
+
+ .globl _int86
+_int86:
+ movw %ds, %ax
+ movw %ax, ds
+ movw %ax, es
+ movw %ax, fs
+ movw %ax, gs
+ jmp int86_common
+
+int86_common:
+ pushl %ebp
+ movl %esp,%ebp
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ pushf
+
+ movl 8(%ebp),%eax
+ movb %al,int86_vec
+
+ movl 12(%ebp),%eax
+ movl 4(%eax),%ebx
+ movl 8(%eax),%ecx
+ movl 12(%eax),%edx
+ movl 16(%eax),%esi
+ movl 20(%eax),%edi
+ movl (%eax),%eax
+
+ push %ds
+ push %es
+ call int86
+ pop %es
+ pop %ds
+
+ pushf
+ pushl %eax
+ movl %esp,%ebp
+ addl $24,%ebp
+ movl 16(%ebp),%eax
+ popl (%eax)
+ movl %ebx,4(%eax)
+ movl %ecx,8(%eax)
+ movl %edx,12(%eax)
+ movl %esi,16(%eax)
+ movl %edi,20(%eax)
+ popl %ebx /* flags */
+ movl %ebx,28(%eax)
+ andl $1,%ebx
+ movl %ebx,24(%eax)
+ movl (%eax),%eax
+
+ popf
+ popl %edi
+ popl %esi
+ popl %ebx
+ popl %ebp
+ ret
diff --git a/newlib/libc/sys/go32/intdos.c b/newlib/libc/sys/go32/intdos.c
new file mode 100644
index 00000000000..a13f38ec89d
--- /dev/null
+++ b/newlib/libc/sys/go32/intdos.c
@@ -0,0 +1,7 @@
+#include <sys/dos.h>
+
+int
+intdos(union REGS *in, union REGS *out)
+{
+ return int86(0x21, in, out);
+}
diff --git a/newlib/libc/sys/go32/intdosx.c b/newlib/libc/sys/go32/intdosx.c
new file mode 100644
index 00000000000..ec3e9fbc24b
--- /dev/null
+++ b/newlib/libc/sys/go32/intdosx.c
@@ -0,0 +1,6 @@
+#include <sys/dos.h>
+
+intdosx(union REGS *in, union REGS *out, struct SREGS *seg)
+{
+ return int86x(0x21, in, out, seg);
+}
diff --git a/newlib/libc/sys/go32/isatty.s b/newlib/libc/sys/go32/isatty.s
new file mode 100644
index 00000000000..9086b073cba
--- /dev/null
+++ b/newlib/libc/sys/go32/isatty.s
@@ -0,0 +1,33 @@
+# /* This is file ISATTY.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _isatty
+_isatty:
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movl 16(%esp),%ebx
+ movw $0x4400,%ax
+ int $0x21
+ popl %edi
+ popl %esi
+ popl %ebx
+ movl $0,%eax
+ jb tf
+ testl $0x80,%edx
+ jz tf
+ movl $1,%eax
+tf:
+ ret
diff --git a/newlib/libc/sys/go32/kbhit.s b/newlib/libc/sys/go32/kbhit.s
new file mode 100644
index 00000000000..0f34e1b76ec
--- /dev/null
+++ b/newlib/libc/sys/go32/kbhit.s
@@ -0,0 +1,51 @@
+/* This is file KBHIT.S */
+/*
+** Copyright (C) 1993 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+ .globl _kbhit
+_kbhit:
+ pushl %ebp
+ movl %esp,%ebp
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+
+try_again:
+ movl $0x41a,%eax
+ call dosmemsetup
+ movzwl %gs:(%eax),%ebx
+ movzwl %gs:2(%eax),%ecx
+ cmp %ebx,%ecx
+ je key_not_hit
+
+ movb $0x11,%ah
+ int $0x16
+ jz key_not_hit
+ cmp $0,%eax
+ jne key_hit
+ movb $0x10,%ah
+ int $0x16
+ jmp try_again
+
+key_not_hit:
+ movl $0,%eax
+ jmp L1
+
+key_hit:
+ movl $1,%eax
+L1:
+ popl %edi
+ popl %esi
+ popl %ebx
+ leave
+ ret
diff --git a/newlib/libc/sys/go32/kill.c b/newlib/libc/sys/go32/kill.c
new file mode 100644
index 00000000000..3335f1a5678
--- /dev/null
+++ b/newlib/libc/sys/go32/kill.c
@@ -0,0 +1,6 @@
+kill()
+{
+
+
+}
+
diff --git a/newlib/libc/sys/go32/link.s b/newlib/libc/sys/go32/link.s
new file mode 100644
index 00000000000..f1cc133a01d
--- /dev/null
+++ b/newlib/libc/sys/go32/link.s
@@ -0,0 +1,28 @@
+# /* This is file LINK.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _link
+_link:
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movl 16(%esp),%edx
+ movl 20(%esp),%edi
+ movb $0x56,%ah
+ int $0x21
+ pop %edi
+ pop %esi
+ pop %ebx
+ jmp syscall_check
diff --git a/newlib/libc/sys/go32/longjmp.S b/newlib/libc/sys/go32/longjmp.S
new file mode 100644
index 00000000000..d29eebbeef9
--- /dev/null
+++ b/newlib/libc/sys/go32/longjmp.S
@@ -0,0 +1,65 @@
+/* This is file LONGJMP.S */
+/*
+** Copyright (C) 1993 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+/*
+** jmp_buf:
+** eax ebx ecx edx esi edi ebp esp eip es fs gs ss
+** 0 4 8 12 16 20 24 28 32 36 38 40 42
+*/
+
+ .globl _longjmp /* jmp_buf, int */
+_longjmp:
+ pushl %ebp
+ movl %esp,%ebp
+
+ movl 8(%ebp),%edi /* get jmp_buf */
+ movl 12(%ebp),%eax /* store retval in j->eax */
+ testl %eax,%eax
+ jne 0f
+ incl %eax
+0:
+ movl %eax,0(%edi)
+
+ movl 24(%edi),%ebp
+
+ pushfl /* get flags so will only re-enable */
+ popl %ebx /* interrupts if they were previously */
+ /* enabled */
+
+ cli
+ movw 42(%edi),%ax
+ movw %ax,%ss
+ movl 28(%edi),%esp
+
+ pushl 32(%edi) /* for a ret! */
+
+ pushl %ebx /* save flags that contain previous */
+ /* interrupt state */
+
+ movw 36(%edi),%ax
+ movw %ax,%es
+ movw 38(%edi),%ax
+ movw %ax,%fs
+ movw 40(%edi),%ax
+ movw %ax,%gs
+ movl 0(%edi),%eax
+ movl 4(%edi),%ebx
+ movl 8(%edi),%ecx
+ movl 12(%edi),%edx
+ movl 16(%edi),%esi
+ movl 20(%edi),%edi
+
+ popfl /* restore previous interrupt state */
+
+ ret /* actually jump to new eip */
diff --git a/newlib/libc/sys/go32/lseek.s b/newlib/libc/sys/go32/lseek.s
new file mode 100644
index 00000000000..34609d088e9
--- /dev/null
+++ b/newlib/libc/sys/go32/lseek.s
@@ -0,0 +1,36 @@
+# /* This is file LSEEK.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _lseek
+_lseek:
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movl 16(%esp),%ebx
+ movl 20(%esp),%ecx
+ shrl $16,%ecx
+ movl 20(%esp),%edx
+ andl $0xffff,%edx
+ movb 24(%esp),%al
+ movb $0x42,%ah
+ int $0x21
+ popl %edi
+ popl %esi
+ popl %ebx
+ jb syscall_error
+ shll $16,%edx
+ andl $0xffff,%eax
+ orl %edx,%eax
+ ret
diff --git a/newlib/libc/sys/go32/lstat.s b/newlib/libc/sys/go32/lstat.s
new file mode 100644
index 00000000000..2585b354f21
--- /dev/null
+++ b/newlib/libc/sys/go32/lstat.s
@@ -0,0 +1,19 @@
+# /* This is file LSTAT.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _lstat
+_lstat:
+ movb $6,%al
+ jmp turbo_assist
diff --git a/newlib/libc/sys/go32/mkdir.s b/newlib/libc/sys/go32/mkdir.s
new file mode 100644
index 00000000000..e8fe194471b
--- /dev/null
+++ b/newlib/libc/sys/go32/mkdir.s
@@ -0,0 +1,27 @@
+# /* This is file MKDIR.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _mkdir
+_mkdir:
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movl 16(%esp),%edx
+ movb $0x39,%ah
+ int $0x21
+ popl %edi
+ popl %esi
+ popl %ebx
+ jmp syscall_check
diff --git a/newlib/libc/sys/go32/open.s b/newlib/libc/sys/go32/open.s
new file mode 100644
index 00000000000..5fd8a04b0fa
--- /dev/null
+++ b/newlib/libc/sys/go32/open.s
@@ -0,0 +1,31 @@
+# /* This is file OPEN.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .data
+ .globl __fmode
+__fmode:
+ .long 0x4000
+
+ .text
+ .globl _open
+_open:
+ testl $0xc000,8(%esp)
+ jnz L0
+ andl $0xc000,__fmode
+ movl __fmode,%eax
+ orl %eax,8(%esp)
+L0:
+ movb $2,%al
+ jmp turbo_assist
+
diff --git a/newlib/libc/sys/go32/outportb.s b/newlib/libc/sys/go32/outportb.s
new file mode 100644
index 00000000000..10c4342f82f
--- /dev/null
+++ b/newlib/libc/sys/go32/outportb.s
@@ -0,0 +1,21 @@
+#/* This is file OUTPORTB.S */
+#/*
+#** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+#**
+#** This file is distributed under the terms listed in the document
+#** "copying.dj", available from DJ Delorie at the address above.
+#** A copy of "copying.dj" should accompany this file; if not, a copy
+#** should be available from where this file was obtained. This file
+#** may not be distributed without a verbatim copy of "copying.dj".
+#**
+#** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+#** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#*/
+
+ .globl _outportb
+_outportb:
+ movl 4(%esp),%edx
+ movl 8(%esp),%eax
+# outb %al,%dx
+ .byte 0xee
+ ret
diff --git a/newlib/libc/sys/go32/outportl.s b/newlib/libc/sys/go32/outportl.s
new file mode 100644
index 00000000000..61204b4bc8b
--- /dev/null
+++ b/newlib/libc/sys/go32/outportl.s
@@ -0,0 +1,20 @@
+#/* This is file OUTPORTL.S */
+#/*
+#** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+#**
+#** This file is distributed under the terms listed in the document
+#** "copying.dj", available from DJ Delorie at the address above.
+#** A copy of "copying.dj" should accompany this file; if not, a copy
+#** should be available from where this file was obtained. This file
+#** may not be distributed without a verbatim copy of "copying.dj".
+#**
+#** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+#** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#*/
+
+ .globl _outportl
+_outportl:
+ movl 4(%esp),%edx
+ movl 8(%esp),%eax
+ outl %eax,%dx
+ ret
diff --git a/newlib/libc/sys/go32/outportw.s b/newlib/libc/sys/go32/outportw.s
new file mode 100644
index 00000000000..cde4648437f
--- /dev/null
+++ b/newlib/libc/sys/go32/outportw.s
@@ -0,0 +1,22 @@
+#/* This is file OUTPORTW.S */
+#/*
+#** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+#**
+#** This file is distributed under the terms listed in the document
+#** "copying.dj", available from DJ Delorie at the address above.
+#** A copy of "copying.dj" should accompany this file; if not, a copy
+#** should be available from where this file was obtained. This file
+#** may not be distributed without a verbatim copy of "copying.dj".
+#**
+#** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+#** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#*/
+
+ .globl _outportw
+_outportw:
+ movl 4(%esp),%edx
+ movl 8(%esp),%eax
+# outw %ax,%dx
+ .byte 0x66, 0xef
+ ret
+
diff --git a/newlib/libc/sys/go32/outprtsb.s b/newlib/libc/sys/go32/outprtsb.s
new file mode 100644
index 00000000000..f9ed4a1d56c
--- /dev/null
+++ b/newlib/libc/sys/go32/outprtsb.s
@@ -0,0 +1,25 @@
+
+#/* This is file OUTPRTSB.S */
+#/*
+#** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+#**
+#** This file is distributed under the terms listed in the document
+#** "copying.dj", available from DJ Delorie at the address above.
+#** A copy of "copying.dj" should accompany this file; if not, a copy
+#** should be available from where this file was obtained. This file
+#** may not be distributed without a verbatim copy of "copying.dj".
+#**
+#** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+#** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#*/
+
+ .globl _outportsb
+_outportsb:
+ pushl %esi
+ movl 8(%esp),%edx
+ movl 12(%esp),%esi
+ movl 16(%esp),%ecx
+ rep
+ outsb
+ popl %esi
+ ret
diff --git a/newlib/libc/sys/go32/outprtsl.s b/newlib/libc/sys/go32/outprtsl.s
new file mode 100644
index 00000000000..2f3e1c7ccbb
--- /dev/null
+++ b/newlib/libc/sys/go32/outprtsl.s
@@ -0,0 +1,25 @@
+#/* This is file OUTPRTSL.S */
+#/*
+#** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+#**
+#** This file is distributed under the terms listed in the document
+#** "copying.dj", available from DJ Delorie at the address above.
+#** A copy of "copying.dj" should accompany this file; if not, a copy
+#** should be available from where this file was obtained. This file
+#** may not be distributed without a verbatim copy of "copying.dj".
+#**
+#** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+#** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#*/
+
+ .globl _outportsl
+_outportsl:
+ pushl %esi
+ movl 8(%esp),%edx
+ movl 12(%esp),%esi
+ movl 16(%esp),%ecx
+ rep
+ outsl
+ popl %esi
+ ret
+
diff --git a/newlib/libc/sys/go32/outprtsw.s b/newlib/libc/sys/go32/outprtsw.s
new file mode 100644
index 00000000000..6045f196fcd
--- /dev/null
+++ b/newlib/libc/sys/go32/outprtsw.s
@@ -0,0 +1,25 @@
+#/* This is file OUTPRTSW.S */
+#/*
+#** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+#**
+#** This file is distributed under the terms listed in the document
+#** "copying.dj", available from DJ Delorie at the address above.
+#** A copy of "copying.dj" should accompany this file; if not, a copy
+#** should be available from where this file was obtained. This file
+#** may not be distributed without a verbatim copy of "copying.dj".
+#**
+#** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+#** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#*/
+#
+ .globl _outportsw
+_outportsw:
+ pushl %esi
+ movl 8(%esp),%edx
+ movl 12(%esp),%esi
+ movl 16(%esp),%ecx
+ rep
+ outsw
+ popl %esi
+ ret
+
diff --git a/newlib/libc/sys/go32/pc.h b/newlib/libc/sys/go32/pc.h
new file mode 100644
index 00000000000..8851d749e41
--- /dev/null
+++ b/newlib/libc/sys/go32/pc.h
@@ -0,0 +1,71 @@
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+**
+** Modified by J. Alan Eldridge, Liberty Brokerage, 77 Water St, NYC 10005
+**
+** added getxkey(), which can read extended keystrokes that start with
+** 0xE0, as well as those which start with 0x00
+**
+** added global char ScreenAttrib, the attribute used by ScreenClear():
+** it defaults to 0x07 so as not to break existing code.
+**
+** added ScreenMode(), to return the current video mode
+*/
+
+#ifndef _PC_H_
+#define _PC_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+unsigned char inportb(unsigned short port);
+unsigned short inportw(unsigned short port);
+unsigned long inportl(unsigned short port);
+unsigned char inportsb(unsigned short port, unsigned char *buf, unsigned len);
+unsigned short inportsw(unsigned short port, unsigned short *buf, unsigned len);
+unsigned long inportsl(unsigned short port, unsigned long *buf, unsigned len);
+void outportb(unsigned short port, unsigned char data);
+void outportw(unsigned short port, unsigned short data);
+void outportl(unsigned short port, unsigned long data);
+void outportsb(unsigned short port, unsigned char *buf, unsigned len);
+void outportsw(unsigned short port, unsigned short *buf, unsigned len);
+void outportsl(unsigned short port, unsigned long *buf, unsigned len);
+
+int kbhit(void);
+int getkey(void); /* ALT's have 0x100 set */
+int getxkey(void); /* ALT's have 0x100 set, 0xe0 sets 0x200 */
+
+void sound(int frequency);
+#define nosound() sound(0)
+
+extern unsigned char ScreenAttrib;
+extern short *ScreenPrimary;
+extern short *ScreenSecondary;
+
+/* For the primary screen: */
+int ScreenMode(void);
+int ScreenRows(void);
+int ScreenCols(void);
+void ScreenPutChar(int ch, int attr, int x, int y);
+void ScreenSetCursor(int row, int col);
+void ScreenGetCursor(int *row, int *col);
+void ScreenClear(void);
+void ScreenUpdate(void *virtual_screen);
+void ScreenUpdateLine(void *virtual_screen_line, int row);
+void ScreenRetrieve(void *virtual_screen);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/newlib/libc/sys/go32/read.s b/newlib/libc/sys/go32/read.s
new file mode 100644
index 00000000000..c989241ee44
--- /dev/null
+++ b/newlib/libc/sys/go32/read.s
@@ -0,0 +1,30 @@
+# /* This is file READ.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _read
+_read:
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movl 16(%esp),%ebx
+ movl 20(%esp),%edx
+ movl 24(%esp),%ecx
+ movb $0x3f,%ah
+ int $0x21
+ popl %edi
+ popl %esi
+ popl %ebx
+ jb syscall_error
+ ret
diff --git a/newlib/libc/sys/go32/readv.c b/newlib/libc/sys/go32/readv.c
new file mode 100644
index 00000000000..c50ef32fc10
--- /dev/null
+++ b/newlib/libc/sys/go32/readv.c
@@ -0,0 +1,31 @@
+/* This is file READV.C */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#include <sys/types.h>
+#include <sys/uio.h>
+
+readv(int handle, struct iovec *iov, int count)
+{
+ unsigned long r, t=0;
+ while (count)
+ {
+ r = read(handle, iov->iov_base, iov->iov_len);
+ if (r < 0)
+ return r;
+ t += r;
+ iov++;
+ count--;
+ }
+ return t;
+}
diff --git a/newlib/libc/sys/go32/rename.s b/newlib/libc/sys/go32/rename.s
new file mode 100644
index 00000000000..549dcb82d0c
--- /dev/null
+++ b/newlib/libc/sys/go32/rename.s
@@ -0,0 +1,31 @@
+# /* This is file RENAME.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _rename
+_rename:
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movl 20(%esp),%edx
+ movb $0x41,%ah
+ int $0x21 # remove "to"
+ movl 16(%esp),%edx
+ movl 20(%esp),%edi
+ movb $0x56,%ah
+ int $0x21 # move "from" to "to"
+ popl %edi
+ popl %esi
+ popl %ebx
+ jmp syscall_check
diff --git a/newlib/libc/sys/go32/rmdir.s b/newlib/libc/sys/go32/rmdir.s
new file mode 100644
index 00000000000..b4668797f71
--- /dev/null
+++ b/newlib/libc/sys/go32/rmdir.s
@@ -0,0 +1,27 @@
+# /* This is file RMDIR.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _rmdir
+_rmdir:
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movl 16(%esp),%edx
+ movb $0x3a,%ah
+ int $0x21
+ popl %edi
+ popl %esi
+ popl %ebx
+ jmp syscall_check
diff --git a/newlib/libc/sys/go32/sbrk.s b/newlib/libc/sys/go32/sbrk.s
new file mode 100644
index 00000000000..190396c8ce3
--- /dev/null
+++ b/newlib/libc/sys/go32/sbrk.s
@@ -0,0 +1,27 @@
+# /* This is file SBRK.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _sbrk
+_sbrk:
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movl 16(%esp),%ebx
+ movw $0x4a01,%ax
+ int $0x21
+ popl %edi
+ popl %esi
+ popl %ebx
+ ret
diff --git a/newlib/libc/sys/go32/screen.S b/newlib/libc/sys/go32/screen.S
new file mode 100644
index 00000000000..4786f7ffe81
--- /dev/null
+++ b/newlib/libc/sys/go32/screen.S
@@ -0,0 +1,256 @@
+/* This is file SCREEN.S */
+/*
+** Copyright (C) 1993 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+**
+** Modified by J. Alan Eldridge, Liberty Brokerage, 77 Water St, NYC 10005
+**
+** added global char ScreenAttrib -- this is the attribute
+** used by ScreenClear(): it defaults to 0x07 so as not to
+** break existing code.
+**
+** Modified by C. Sandmann (sandmann@clio.rice.edu) for DPMI support
+** Combined SCREEN2.S and SCREEN.C into SCREEN.S
+*/
+
+ .data
+
+ .globl _ScreenAttrib
+_ScreenAttrib:
+ .byte 0x07
+
+ .text
+
+ .align 2
+ .globl _ScreenSetCursor
+ /* row, col */
+_ScreenSetCursor:
+ pushl %ebp
+ movl %esp,%ebp
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movb $0x02,%ah
+ movb $0,%bh
+ movb 8(%ebp),%dh
+ movb 12(%ebp),%dl
+ int $0x10
+ popl %edi
+ popl %esi
+ popl %ebx
+ popl %ebp
+ ret
+
+ .align 2
+ .globl _ScreenGetCursor
+ /* &row, &col */
+_ScreenGetCursor:
+ pushl %ebp
+ movl %esp,%ebp
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movb $0x03,%ah
+ movb $0,%bh
+ pushl %ebp
+ int $0x10
+ popl %ebp
+ movl 8(%ebp),%esi
+ movzbl %dh,%eax
+ movl %eax,(%esi)
+ movl 12(%ebp),%esi
+ movzbl %dl,%eax
+ movl %eax,(%esi)
+ popl %edi
+ popl %esi
+ popl %ebx
+ popl %ebp
+ ret
+
+ .align 2
+ .globl _ScreenClear
+_ScreenClear:
+ pushl %edi
+ call _ScreenCols
+ movl %eax,%ecx
+ call _ScreenRows
+ /* ECX is total words to store */
+ imull %eax,%ecx
+ movl _ScreenPrimary,%eax
+ call dosmemsetup
+ movl %eax,%edi
+ push %es
+ push %gs
+ pop %es
+ movb $0x20,%al
+ movb _ScreenAttrib,%ah
+ rep
+ stosw
+ pop %es
+ popl %edi
+ ret
+
+ .align 2
+ .globl _ScreenRows
+_ScreenRows:
+ movl $0x484,%eax
+ call dosmemsetup
+ movzbl %gs:(%eax),%eax
+ incl %eax
+ ret
+
+ .align 2
+ .globl _ScreenCols
+_ScreenCols:
+ movl $0x44a,%eax
+ call dosmemsetup
+ movzwl %gs:(%eax),%eax
+ ret
+
+ .align 2
+ .globl _ScreenMode
+_ScreenMode:
+ movl $0x449,%eax
+ call dosmemsetup
+ movzbl %gs:(%eax),%eax
+ ret
+
+ .align 2
+ .globl _ScreenPutChar
+_ScreenPutChar:
+ /* int ch, int attr, unsigned x, unsigned y */
+/*
+ if ( (x >= ScreenCols()) || (y >= ScreenRows())) return;
+ ch &= 0xff;
+ attr = (attr & 0xff) << 8;
+ *(unsigned short *)(ScreenPrimary+x+y*ScreenCols()) = ch | attr;
+*/
+ call _ScreenRows
+ cmpl %eax,16(%esp)
+ jae L1
+ call _ScreenCols
+ cmpl %eax,12(%esp)
+ jae L1
+ /* Out of range */
+ movl %eax,%edx
+ imull 16(%esp),%edx
+ addl 12(%esp),%edx
+ /* EDX = x + y*ScreenCols */
+
+ movb 4(%esp),%cl
+ movb 8(%esp),%ch
+
+ movl _ScreenPrimary,%eax
+ call dosmemsetup
+ movw %cx,%gs:(%eax,%edx,2)
+L1:
+ ret
+
+/* A quick way to update the screen from a logical video buffer, used
+ primarily for DPMI full screen management */
+ .align 2
+ .globl _ScreenUpdate
+ /* (void *)screenbuf */
+_ScreenUpdate:
+ call _ScreenRows
+ movl %eax,%ecx
+ call _ScreenCols
+ imull %eax,%ecx
+ sarl $1,%ecx
+ /* Number of long words in screen */
+
+ movl _ScreenPrimary,%eax
+ call dosmemsetup
+ movl 4(%esp),%edx
+ /* screenbuf */
+
+ pushl %esi
+ pushl %edi
+ movl %eax,%edi
+ movl %edx,%esi
+ push %es
+ push %gs
+ pop %es
+ rep
+ movsl
+ /* move ECX bytes to Real area */
+ pop %es
+ popl %edi
+ popl %esi
+ ret
+
+/* A quick way to update a screen line from a logical video buffer, used
+ primarily for DPMI full screen management */
+ .align 2
+ .globl _ScreenUpdateLine
+ /* (void *)screenline, int row */
+_ScreenUpdateLine:
+ call _ScreenCols
+ movl %eax,%ecx
+ sarl $1,%ecx
+ /* Number of long words in screen line */
+ shll $1,%eax
+ imull 8(%esp),%eax
+ addl _ScreenPrimary,%eax
+ call dosmemsetup
+ movl 4(%esp),%edx
+ /* screenbuf */
+
+ pushl %esi
+ pushl %edi
+ movl %eax,%edi
+ movl %edx,%esi
+ push %es
+ push %gs
+ pop %es
+ rep
+ movsl
+ /* move ECX bytes to Real area */
+ pop %es
+ popl %edi
+ popl %esi
+ ret
+
+
+/* A quick way to update the screen from a logical video buffer, used
+ primarily for DPMI full screen management */
+ .align 2
+ .globl _ScreenRetrieve
+ /* (void *)screenbuf */
+_ScreenRetrieve:
+ call _ScreenRows
+ movl %eax,%ecx
+ call _ScreenCols
+ imull %eax,%ecx
+ sarl $1,%ecx
+ /* Number of long words in screen */
+
+ movl _ScreenPrimary,%eax
+ call dosmemsetup
+ movl 4(%esp),%edx
+ /* screenbuf */
+
+ pushl %esi
+ pushl %edi
+ movl %eax,%esi
+ movl %edx,%edi
+ push %ds
+ push %gs
+ pop %ds
+ rep
+ movsl
+ /* move ECX bytes to Real area */
+ pop %ds
+ popl %edi
+ popl %esi
+ ret
+
+
diff --git a/newlib/libc/sys/go32/setjmp.S b/newlib/libc/sys/go32/setjmp.S
new file mode 100644
index 00000000000..ef9a258e103
--- /dev/null
+++ b/newlib/libc/sys/go32/setjmp.S
@@ -0,0 +1,61 @@
+/* This is file SETJMP.S */
+/*
+** Copyright (C) 1993 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+/*
+** jmp_buf:
+** eax ebx ecx edx esi edi ebp esp eip es fs gs ss
+** 0 4 8 12 16 20 24 28 32 36 38 40 42
+*/
+
+ .globl _setjmp /* jmp_buf */
+_setjmp:
+ pushl %ebp
+ movl %esp,%ebp
+
+ pushl %edi
+ movl 8(%ebp),%edi
+
+ movl %eax,0(%edi)
+ movl %ebx,4(%edi)
+ movl %ecx,8(%edi)
+ movl %edx,12(%edi)
+ movl %esi,16(%edi)
+
+ movl -4(%ebp),%eax
+ movl %eax,20(%edi)
+
+ movl 0(%ebp),%eax
+ movl %eax,24(%edi)
+
+ movl %esp,%eax
+ addl $12,%eax
+ movl %eax,28(%edi)
+
+ movl 4(%ebp),%eax
+ movl %eax,32(%edi)
+
+ movw %es, %ax
+ movw %ax, 36(%edi)
+ movw %fs, %ax
+ movw %ax, 38(%edi)
+ movw %gs, %ax
+ movw %ax, 40(%edi)
+ movw %ss, %ax
+ movw %ax, 42(%edi)
+
+ popl %edi
+ movl $0,%eax
+ leave
+ ret
+
diff --git a/newlib/libc/sys/go32/setmode.s b/newlib/libc/sys/go32/setmode.s
new file mode 100644
index 00000000000..071e31636c7
--- /dev/null
+++ b/newlib/libc/sys/go32/setmode.s
@@ -0,0 +1,19 @@
+# /* This is file SETMODE.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _setmode
+_setmode:
+ movb $8,%al
+ jmp turbo_assist
diff --git a/newlib/libc/sys/go32/setstack.S b/newlib/libc/sys/go32/setstack.S
new file mode 100644
index 00000000000..dcd3ac0b246
--- /dev/null
+++ b/newlib/libc/sys/go32/setstack.S
@@ -0,0 +1,70 @@
+/* This routine potentially increases the stack size at runtime based on
+ the _stklen variable. Only used by DPMI code.
+ Copyright (c) 1993 C. Sandmann
+ Environment: called by crt0.s (and gcrt0.s)
+ EAX, EBX, EBP, EDI, ESI disposable (cleared on return) */
+
+ .text
+ .globl __setstack
+__setstack:
+ movl %esp,%eax
+ andl $0xc0000000,%eax /* clear all except upper bits */
+ jne ok_stack /* obviously not DPMI! */
+ movw %ss,%ax
+ lsll %eax,%ebx /* stack segment limit */
+ movl %esp,%eax /* current location */
+ subl %ebx,%eax /* Free stack */
+ cmpl %eax,__stklen
+ jb ok_stack
+
+/* Not enough stack. Call sbrk() to get a new area. Copy current ESP + 20
+ to end of new area (3 args + our stack). Change ESP to new area. Set new
+ limit to start of new area using DPMI services. */
+
+ pushl __stklen
+ call _sbrk /* eax = got memory base */
+ popl %ebx /* remove _stklen */
+ cmpl $0xffffffff,%eax /* if eax = -1 failure */
+ je badstack
+ addl %eax,%ebx /* ebx now is end of new stack area */
+ andl $0xfffffff0,%ebx /* 16 byte alignment */
+ addl $0xfff,%eax /* make stack base page aligned */
+ andl $0xfffff000,%eax /* 4096 byte alignment */
+
+/* Now copy old stack to new stack. We only need our part + 4 words, 3 for
+ the parameters to pass to main, one for our return EIP (4 extra safety) */
+ movl %esp, %esi /* Source is current stack */
+ subl $0x20, %ebx /* 8 longwords */
+ movl %ebx, %edi /* Destination is new stack */
+ movl $8,%ecx
+ rep
+ movsl
+
+/* New stack in place. Change ESP to point to it. Assumes new stack is
+ higher in memory so we don't get caught by limit. Change limit using
+ DPMI services. */
+
+ movl %ebx,%esp /* Switch to new stack */
+ subl $1,%eax /* Low 12 bits all 1s */
+ pushl %eax /* Easiest way to move long to words */
+ popw %dx
+ popw %cx
+ movl $8,%eax /* DPMI function Set Segment Limit */
+ movw %ss,%bx /* Selector */
+ int $0x31 /* Do service */
+
+ xor %ecx,%ecx /* Clean up */
+ xor %edx,%edx /* Clean up */
+
+ok_stack:
+ ret /* What we have is already bigger */
+
+badstack:
+ movl $0x4c01,%eax
+ int $0x21
+ jmp badstack
+
+ .data
+ .globl __stklen
+ .comm __stklen,4
+
diff --git a/newlib/libc/sys/go32/settimeo.s b/newlib/libc/sys/go32/settimeo.s
new file mode 100644
index 00000000000..f9325cc9e7e
--- /dev/null
+++ b/newlib/libc/sys/go32/settimeo.s
@@ -0,0 +1,19 @@
+# /* This is file SETTIMEO.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _settimeofday
+_settimeofday:
+ movb $5,%al
+ jmp turbo_assist
diff --git a/newlib/libc/sys/go32/sleep.c b/newlib/libc/sys/go32/sleep.c
new file mode 100644
index 00000000000..96e547ddc1b
--- /dev/null
+++ b/newlib/libc/sys/go32/sleep.c
@@ -0,0 +1,27 @@
+/* This is file sleep.c */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+
+sleep(unsigned int seconds)
+{
+ long tnow, tthen;
+ time(&tnow);
+ tthen = tnow + seconds;
+ while (1)
+ {
+ time(&tnow);
+ if (tnow >= tthen)
+ return;
+ }
+}
diff --git a/newlib/libc/sys/go32/stat.c b/newlib/libc/sys/go32/stat.c
new file mode 100644
index 00000000000..e64e5b80c45
--- /dev/null
+++ b/newlib/libc/sys/go32/stat.c
@@ -0,0 +1,151 @@
+/*
+ (c) Copyright 1992 Eric Backus
+
+ This software may be used freely so long as this copyright notice is
+ left intact. There is no warrantee on this software.
+*/
+
+#include <sys/stat.h>
+#include <string.h>
+#include <stdlib.h>
+
+#include "dos.h"
+#include <errno.h>
+#include <stdio.h>
+
+extern int _stat_assist(const char *, struct stat *);
+extern void _fixpath(const char *, char *);
+
+struct path_list
+{
+ struct path_list *next;
+ char *path;
+ int inode;
+};
+
+static int
+fixinode(const char *path, struct stat *buf)
+{
+ static struct path_list *path_list[1256];
+ /* Start the inode count at three, since root path should be two */
+ static int inode_count = 3;
+
+ struct path_list *path_ptr, *prev_ptr;
+ const char *p;
+ int hash;
+
+ /* Skip over device and leading '/' */
+ if (path[1] == ':' && path[2] == '/') path += 3;
+
+ /* We could probably use a better hash than this */
+ p = path;
+ hash = 0;
+ while (*p != '\0') hash += *p++;
+ hash = hash & 0xff;
+
+ /* Have we seen this string? */
+ path_ptr = path_list[hash];
+ prev_ptr = path_ptr;
+ while (path_ptr)
+ {
+ if (strcmp(path, path_ptr->path) == 0) break;
+ prev_ptr = path_ptr;
+ path_ptr = path_ptr->next;
+ }
+
+ if (path_ptr)
+ /* Same string, so same inode */
+ buf->st_ino = path_ptr->inode;
+ else
+ {
+ /* New string with same hash code */
+ path_ptr = malloc(sizeof *path_ptr);
+ if (path_ptr == NULL)
+ {
+ errno = ENOMEM;
+ return -1;
+ }
+ path_ptr->next = NULL;
+ path_ptr->path = strdup(path);
+ if (path_ptr->path == NULL)
+ {
+ errno = ENOMEM;
+ return -1;
+ }
+ path_ptr->inode = inode_count;
+ if (prev_ptr)
+ prev_ptr->next = path_ptr;
+ else
+ path_list[hash] = path_ptr;
+ buf->st_ino = inode_count;
+ inode_count++;
+ }
+ return 0;
+}
+
+int
+stat(const char *path, struct stat *buf)
+{
+ static int stat_called_before = 0;
+ char p[1090]; /* Should be p[PATH_MAX+1] */
+ int status;
+
+ /* Normalize the path */
+ _fixpath(path, p);
+
+ /* Work around strange bug with stat and time */
+ if (!stat_called_before)
+ {
+ stat_called_before = 1;
+ (void) time((time_t *) 0);
+ }
+
+ /* Check for root path */
+ if (strcmp(p, "/") == 0 || strcmp(p + 1, ":/") == 0)
+ {
+ /* Handle root path as special case, stat_assist doesn't like
+ the root directory. */
+ if (p[1] == ':')
+ {
+ if (p[0] >= 'a' && p[0] <= 'z')
+ buf->st_dev = p[0] - 'a';
+ else
+ buf->st_dev = p[0] - 'A';
+ }
+ else
+ buf->st_dev = -1; /* No device? */
+ buf->st_ino = 2; /* Root path always inode 2 */
+ buf->st_mode = S_IFDIR | S_IREAD | S_IWRITE | S_IEXEC;
+ buf->st_nlink = 1;
+ buf->st_uid = getuid();
+ buf->st_gid = getgid();
+ buf->st_rdev = buf->st_dev;
+ buf->st_size = 0;
+ buf->st_atime = 0;
+ buf->st_mtime = 0;
+ buf->st_ctime = 0;
+ buf->st_blksize = 512; /* Not always correct? */
+ status = 0;
+ }
+ else
+ {
+ status = _stat_assist(p, buf);
+
+ /* Make inode numbers unique */
+ if (status == 0) status = fixinode(p, buf);
+
+ /* The stat_assist does something weird with st_dev, but sets
+ st_rdev to the drive number. Fix st_dev. */
+ buf->st_dev = buf->st_rdev;
+
+ /* Make all files owned by ourself. */
+ buf->st_uid = getuid();
+ buf->st_gid = getgid();
+
+ /* Make all directories writable. They always are in DOS, but
+ stat_assist doesn't think so. */
+ if (S_ISDIR(buf->st_mode)) buf->st_mode |= S_IWRITE;
+ }
+
+ return status;
+}
diff --git a/newlib/libc/sys/go32/stat.s b/newlib/libc/sys/go32/stat.s
new file mode 100644
index 00000000000..045725f3220
--- /dev/null
+++ b/newlib/libc/sys/go32/stat.s
@@ -0,0 +1,19 @@
+# /* This is file STAT.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _stat
+_stat:
+ movb $6,%al
+ jmp turbo_assist
diff --git a/newlib/libc/sys/go32/stat_ast.s b/newlib/libc/sys/go32/stat_ast.s
new file mode 100644
index 00000000000..3574f82797e
--- /dev/null
+++ b/newlib/libc/sys/go32/stat_ast.s
@@ -0,0 +1,21 @@
+/* This is file STAT_AST.S */
+/*
+** Copyright (C) 1993 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+**
+** Modified very slightly by Eric Backus.
+*/
+
+ .text
+ .globl __stat_assist
+__stat_assist:
+ movb $6,%al
+ jmp turbo_assist
diff --git a/newlib/libc/sys/go32/sys/dir.h b/newlib/libc/sys/go32/sys/dir.h
new file mode 100644
index 00000000000..6ac830f2781
--- /dev/null
+++ b/newlib/libc/sys/go32/sys/dir.h
@@ -0,0 +1,33 @@
+#ifndef _DIR_H_
+#define _DIR_H_
+
+struct ffblk {
+ char ff_reserved[21];
+ char ff_attrib;
+ short ff_ftime;
+ short ff_fdate;
+ short ff_filler;
+ long ff_fsize;
+ char ff_name[16];
+};
+
+#define FA_RDONLY 1
+#define FA_HIDDEN 2
+#define FA_SYSTEM 4
+#define FA_LABEL 8
+#define FA_DIREC 16
+#define FA_ARCH 32
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+int findfirst(const char *pathname, struct ffblk *ffblk, int attrib);
+int findnext(struct ffblk *ffblk);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
diff --git a/newlib/libc/sys/go32/sys/dirent.h b/newlib/libc/sys/go32/sys/dirent.h
new file mode 100644
index 00000000000..50ae799d820
--- /dev/null
+++ b/newlib/libc/sys/go32/sys/dirent.h
@@ -0,0 +1,39 @@
+/* This is file DIRENT.H */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#ifndef _dirent_h_
+#define _dirent_h_
+
+#include <sys/dir.h>
+
+struct dirent {
+ unsigned short d_namlen;
+ char d_name[14];
+};
+
+typedef struct {
+ int num_read;
+ char *name;
+ struct ffblk ff;
+ struct dirent de;
+} DIR;
+
+DIR *opendir(char *name);
+struct dirent *readdir(DIR *dir);
+long telldir(DIR *dir);
+void seekdir(DIR *dir, long loc);
+void rewinddir(DIR *dir);
+int closedir(DIR *dir);
+
+#endif
diff --git a/newlib/libc/sys/go32/sys/dos.h b/newlib/libc/sys/go32/sys/dos.h
new file mode 100644
index 00000000000..ff3103f93f0
--- /dev/null
+++ b/newlib/libc/sys/go32/sys/dos.h
@@ -0,0 +1,57 @@
+#ifndef _DOS_H_
+#define _DOS_H_
+
+union REGS {
+ struct {
+ unsigned long ax;
+ unsigned long bx;
+ unsigned long cx;
+ unsigned long dx;
+ unsigned long si;
+ unsigned long di;
+ unsigned long cflag;
+ unsigned long flags;
+ } x;
+ struct {
+ unsigned char al;
+ unsigned char ah;
+ unsigned short upper_ax;
+ unsigned char bl;
+ unsigned char bh;
+ unsigned short upper_bx;
+ unsigned char cl;
+ unsigned char ch;
+ unsigned short upper_cx;
+ unsigned char dl;
+ unsigned char dh;
+ unsigned short upper_dx;
+ } h;
+};
+
+struct SREGS {
+ unsigned short cs;
+ unsigned short ds;
+ unsigned short es;
+ unsigned short fs;
+ unsigned short gs;
+ unsigned short ss;
+};
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+int bdos(int func, unsigned dx, unsigned al);
+int bdosptr(int func, void *dx, unsigned al);
+int int86(int ivec, union REGS *in, union REGS *out);
+int int86x(int ivec, union REGS *in, union REGS *out, struct SREGS *seg);
+int intdos(union REGS *in, union REGS *out);
+int intdosx(union REGS *in, union REGS *out, struct SREGS *seg);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+
diff --git a/newlib/libc/sys/go32/sys/dpmi.h b/newlib/libc/sys/go32/sys/dpmi.h
new file mode 100644
index 00000000000..7a2cb13afec
--- /dev/null
+++ b/newlib/libc/sys/go32/sys/dpmi.h
@@ -0,0 +1,151 @@
+/* This is file dpmi.h */
+/*
+** Copyright (C) 1993 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#ifndef _DPMI_H_
+#define _DPMI_H_
+
+
+#include <sys/types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef union {
+ struct {
+ u_long edi;
+ u_long esi;
+ u_long ebp;
+ u_long res;
+ u_long ebx;
+ u_long edx;
+ u_long ecx;
+ u_long eax;
+ } d;
+ struct {
+ u_short di, di_hi;
+ u_short si, si_hi;
+ u_short bp, bp_hi;
+ u_short res, res_hi;
+ u_short bx, bx_hi;
+ u_short dx, dx_hi;
+ u_short cx, cx_hi;
+ u_short ax, ax_hi;
+ u_short flags;
+ u_short es;
+ u_short ds;
+ u_short fs;
+ u_short gs;
+ u_short ip;
+ u_short cs;
+ u_short sp;
+ u_short ss;
+ } x;
+ struct {
+ u_char edi[4];
+ u_char esi[4];
+ u_char ebp[4];
+ u_char res[4];
+ u_char bl, bh, ebx_b2, ebx_b3;
+ u_char dl, dh, edx_b2, edx_b3;
+ u_char cl, ch, ecx_b2, ecx_b3;
+ u_char al, ah, eax_b2, eax_b3;
+ } h;
+} _go32_dpmi_registers;
+
+typedef struct {
+ u_long size;
+ u_long pm_offset;
+ u_short pm_selector;
+ u_short rm_offset;
+ u_short rm_segment;
+} _go32_dpmi_seginfo;
+
+typedef struct {
+ u_long available_memory;
+ u_long available_pages;
+ u_long available_lockable_pages;
+ u_long linear_space;
+ u_long unlocked_pages;
+ u_long available_physical_pages;
+ u_long total_physical_pages;
+ u_long free_linear_space;
+ u_long max_pages_in_paging_file;
+ u_long reserved[3];
+} _go32_dpmi_meminfo;
+
+/* returns zero if success, else dpmi error and info->size is max size */
+int _go32_dpmi_allocate_dos_memory(_go32_dpmi_seginfo *info);
+ /* set size to bytes/16, call, use rm_segment. Do not
+ change anthing but size until the memory is freed.
+ If error, max size is returned in size as bytes/16. */
+int _go32_dpmi_free_dos_memory(_go32_dpmi_seginfo *info);
+ /* set new size to bytes/16, call. If error, max size
+ is returned in size as bytes/16 */
+int _go32_dpmi_resize_dos_memory(_go32_dpmi_seginfo *info);
+ /* uses pm_selector to free memory */
+
+/* These both use the rm_segment:rm_offset fields only */
+int _go32_dpmi_get_real_mode_interrupt_vector(int vector, _go32_dpmi_seginfo *info);
+int _go32_dpmi_set_real_mode_interrupt_vector(int vector, _go32_dpmi_seginfo *info);
+
+/* These do NOT wrap the function in pm_offset in an iret handler.
+ You must provide an assembler interface yourself, or alloc one below.
+ You may NOT longjmp out of an interrupt handler. */
+int _go32_dpmi_get_protected_mode_interrupt_vector(int vector, _go32_dpmi_seginfo *info);
+ /* puts vector in pm_selector:pm_offset. */
+int _go32_dpmi_set_protected_mode_interrupt_vector(int vector, _go32_dpmi_seginfo *info);
+ /* sets vector from pm_offset and pm_selector */
+int _go32_dpmi_chain_protected_mode_interrupt_vector(int vector, _go32_dpmi_seginfo *info);
+ /* sets up wrapper that calls function in pm_offset, chaining to old
+ handler when it returns */
+
+/* These can be used to generate assember IRET-style wrappers for functions */
+int _go32_dpmi_allocate_iret_wrapper(_go32_dpmi_seginfo *info);
+ /* Put function ptr in pm_offset, call, returns wrapper entry in pm_offset. */
+int _go32_dpmi_free_iret_wrapper(_go32_dpmi_seginfo *info);
+ /* assumes pm_offset points to wrapper, frees it */
+
+/* simulate real mode calls. CS:IP from regs for non-interrupt */
+int _go32_dpmi_simulate_int(int vector, _go32_dpmi_registers *regs);
+int _go32_dpmi_simulate_fcall(_go32_dpmi_registers *regs);
+int _go32_dpmi_simulate_fcall_iret(_go32_dpmi_registers *regs);
+
+/* These automatically handle the tasks of restructuring the
+ real-mode stack for the proper return type. The callback
+ (info->pm_offset) is called as (*pmcb)(_go32_dpmi_registers *regs); */
+int _go32_dpmi_allocate_real_mode_callback_retf(_go32_dpmi_seginfo *info, _go32_dpmi_registers *regs);
+ /* points callback at pm_offset, returns seg:ofs of callback addr
+ in rm_segment:rm_offset. Do not change any fields until freed.
+ Interface is added to simulate far return */
+int _go32_dpmi_allocate_real_mode_callback_iret(_go32_dpmi_seginfo *info, _go32_dpmi_registers *regs);
+ /* same, but simulates iret */
+int _go32_dpmi_free_real_mode_callback(_go32_dpmi_seginfo *info);
+ /* frees callback */
+
+/* Only available_memory is guaranteed to be valid. Try
+ available_physical_pages for phys mem left */
+int _go32_dpmi_get_free_memory_information(_go32_dpmi_meminfo *info);
+
+/* Convenience functions. These use the above memory info call.
+ The return value is *bytes* */
+u_long _go32_dpmi_remaining_physical_memory(void);
+u_long _go32_dpmi_remaining_virtual_memory(void);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/newlib/libc/sys/go32/sys/errno.h b/newlib/libc/sys/go32/sys/errno.h
new file mode 100644
index 00000000000..44852aee37d
--- /dev/null
+++ b/newlib/libc/sys/go32/sys/errno.h
@@ -0,0 +1,73 @@
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+/* ??? This file has been modified to work with newlib's way of storing
+ `errno'. Arguably there's no need and arguably we shouldn't diverge
+ from go32 sources. If you feel strongly about it, please change it.
+ The interface between newlib and system's version of errno is via
+ __errno, so there's no problem in storing errno in a different place
+ (any changes can be dealt with inside __errno). */
+
+#ifndef _SYS_ERRNO_H_
+#define _SYS_ERRNO_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <sys/reent.h>
+
+#ifndef _REENT_ONLY
+#define errno (*__errno())
+extern int *__errno _PARAMS ((void));
+#endif
+
+#define __errno_r(ptr) ((ptr)->_errno)
+
+#define ENOENT 2 /* No such file or directory */
+#define ENOTDIR 3 /* No path */
+#define EMFILE 4 /* Too many open files */
+#define EACCES 5 /* Permission denied */
+#define EBADF 6 /* Bad file number */
+#define EARENA 7 /* Arena trashed */
+#define ENOMEM 8 /* Not enough core */
+#define ESEGV 9 /* invalid memory address */
+#define EBADENV 10 /* invalid environment */
+#define ENODEV 15 /* No such device */
+#define ENMFILE 18 /* No more files */
+#define EINVAL 19 /* Invalid argument */
+#define E2BIG EBADENV /* Arg list too long */
+#define ENOEXEC 21 /* Exec format error */
+#define EXDEV 17 /* Cross-device link */
+#define EPIPE 32 /* POHC */
+#define EDOM 33 /* Math argument */
+#define ERANGE 34 /* Result too large */
+#if 0 /* readline.c assumes that if this is defined, so is O_NDELAY.
+ Newlib doesn't use it, so comment it out. */
+#define EWOULDBLOCK 35 /* POHC */
+#endif
+#define EEXIST 36 /* File already exists */
+#define EINTR 100 /* Interrupted system call */
+#define EIO 101 /* I/O or bounds error */
+#define ENOSPC 102 /* No space left on drive */
+#define EAGAIN 103 /* No more processes */
+#define ECHILD 200 /* child exited (porting only) */
+#define EFAULT 201 /* bad address */
+#define ENXIO ENODEV
+#define EPERM EACCES
+
+/* New values required by newlib and the Cygnus toolchain. */
+#define ENOSYS 230 /* Function not implemented */
+#define ESPIPE 231 /* Illegal seek */
+
+#endif
diff --git a/newlib/libc/sys/go32/sys/fcntl.h b/newlib/libc/sys/go32/sys/fcntl.h
new file mode 100644
index 00000000000..792c0673d8d
--- /dev/null
+++ b/newlib/libc/sys/go32/sys/fcntl.h
@@ -0,0 +1,12 @@
+#define O_RDONLY 0x0001
+#define O_WRONLY 0x0002
+#define O_RDWR 0x0004
+#define O_CREAT 0x0100
+#define O_TRUNC 0x0200
+#define O_EXCL 0x0400
+#define O_APPEND 0x0800
+#define O_TEXT 0x4000
+#define O_BINARY 0x8000
+
+
+
diff --git a/newlib/libc/sys/go32/sys/file.h b/newlib/libc/sys/go32/sys/file.h
new file mode 100644
index 00000000000..79f5f65f5d8
--- /dev/null
+++ b/newlib/libc/sys/go32/sys/file.h
@@ -0,0 +1,31 @@
+/* This is file FILE.H */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#ifndef _FILE_H_
+#define _FILE_H_
+
+#include <fcntl.h>
+
+#define L_SET 0
+#define L_CURR 1
+#define L_INCR 1
+#define L_XTND 2
+
+
+#define F_OK 0 /* does file exist */
+#define X_OK 1 /* is it executable by caller */
+#define W_OK 2 /* is it writable by caller */
+#define R_OK 4 /* is it readable by caller */
+
+#endif
diff --git a/newlib/libc/sys/go32/sys/go32.h b/newlib/libc/sys/go32/sys/go32.h
new file mode 100644
index 00000000000..4b6adefe176
--- /dev/null
+++ b/newlib/libc/sys/go32/sys/go32.h
@@ -0,0 +1,69 @@
+/* This is file go32.h */
+/*
+** Copyright (C) 1993 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#ifndef _GO32_H_
+#define _GO32_H_
+
+#include <sys/types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* This must match go32/proginfo.h */
+
+typedef struct {
+ u_long size_of_this_structure_in_bytes;
+ u_long linear_address_of_primary_screen;
+ u_long linear_address_of_secondary_screen;
+ u_long linear_address_of_transfer_buffer;
+ u_long size_of_transfer_buffer; /* >= 4k */
+ u_long pid;
+ u_char master_interrupt_controller_base;
+ u_char slave_interrupt_controller_base;
+ u_short selector_for_linear_memory;
+ u_long linear_address_of_stub_info_structure;
+ u_long linear_address_of_original_psp;
+ u_short run_mode;
+ u_short run_mode_info;
+} Go32_Info_Block;
+
+extern Go32_Info_Block _go32_info_block;
+
+#define _GO32_RUN_MODE_UNDEF 0
+#define _GO32_RUN_MODE_RAW 1
+#define _GO32_RUN_MODE_XMS 2
+#define _GO32_RUN_MODE_VCPI 3
+#define _GO32_RUN_MODE_DPMI 4
+
+void dosmemget(int offset, int length, void *buffer);
+void dosmemput(const void *buffer, int length, int offset);
+void movedata(unsigned source_selector, unsigned source_offset,
+ unsigned dest_selector, unsigned dest_offset,
+ size_t length);
+
+/* returns number of times hit since last call. (zero first time) */
+u_long _go32_was_ctrl_break_hit(void);
+void _go32_want_ctrl_break(int yes); /* auto-yes if call above function */
+
+u_short _go32_my_cs(void);
+u_short _go32_my_ds(void);
+u_short _go32_my_ss(void);
+u_short _go32_conventional_mem_selector(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/newlib/libc/sys/go32/sys/param.h b/newlib/libc/sys/go32/sys/param.h
new file mode 100644
index 00000000000..c912b4082f7
--- /dev/null
+++ b/newlib/libc/sys/go32/sys/param.h
@@ -0,0 +1,22 @@
+/* This is file PARAM.H */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#ifndef _PARAM_H_
+#define _PARAM_H_
+
+#define MAXPATHLEN 80
+/* 100, according to the real go32 sys/times.h */
+#define HZ (100)
+
+#endif
diff --git a/newlib/libc/sys/go32/sys/pc.h b/newlib/libc/sys/go32/sys/pc.h
new file mode 100644
index 00000000000..4bce557d1a2
--- /dev/null
+++ b/newlib/libc/sys/go32/sys/pc.h
@@ -0,0 +1,56 @@
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#ifndef _PC_H_
+#define _PC_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+unsigned char inportb(unsigned short port);
+unsigned short inportw(unsigned short port);
+unsigned long inportl(unsigned short port);
+unsigned char inportsb(unsigned short port, unsigned char *buf, unsigned len);
+unsigned short inportsw(unsigned short port, unsigned short *buf, unsigned len);
+unsigned long inportsl(unsigned short port, unsigned long *buf, unsigned len);
+void outportb(unsigned short port, unsigned char data);
+void outportw(unsigned short port, unsigned short data);
+void outportl(unsigned short port, unsigned long data);
+void outportsb(unsigned short port, unsigned char *buf, unsigned len);
+void outportsw(unsigned short port, unsigned short *buf, unsigned len);
+void outportsl(unsigned short port, unsigned long *buf, unsigned len);
+
+int kbhit(void);
+int getkey(void);
+
+void sound(int frequency);
+
+extern short ScreenPrimary[];
+extern short ScreenSecondary[];
+
+/* For the primary screen: */
+int ScreenRows();
+int ScreenCols();
+void ScreenPutChar(int ch, int attr, int x, int y);
+void ScreenSetCursor(int row, int col);
+void ScreenGetCursor(int *row, int *col);
+void ScreenClear();
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
diff --git a/newlib/libc/sys/go32/sys/register.h b/newlib/libc/sys/go32/sys/register.h
new file mode 100644
index 00000000000..56fb737dd0f
--- /dev/null
+++ b/newlib/libc/sys/go32/sys/register.h
@@ -0,0 +1,28 @@
+/* This is file REGISTER.H */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct {
+ unsigned ax, bx, cx, dx, si, di, bp, f;
+ } REGISTERS;
+
+#define FLAGS_C 1
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/newlib/libc/sys/go32/sys/resource.h b/newlib/libc/sys/go32/sys/resource.h
new file mode 100644
index 00000000000..afdf392172d
--- /dev/null
+++ b/newlib/libc/sys/go32/sys/resource.h
@@ -0,0 +1,50 @@
+/* This is file RESOURCE.H */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#ifndef _SYS_RESOURCE_H_
+#define _SYS_RESOURCE_H_
+
+#include <sys/time.h>
+
+#define RUSAGE_SELF 0 /* calling process */
+#define RUSAGE_CHILDREN -1 /* terminated child processes */
+
+struct rusage {
+ struct timeval ru_utime; /* user time used */
+ struct timeval ru_stime; /* system time used */
+ long ru_maxrss; /* integral max resident set size */
+ long ru_ixrss; /* integral shared text memory size */
+ long ru_idrss; /* integral unshared data size */
+ long ru_isrss; /* integral unshared stack size */
+ long ru_minflt; /* page reclaims */
+ long ru_majflt; /* page faults */
+ long ru_nswap; /* swaps */
+ long ru_inblock; /* block input operations */
+ long ru_oublock; /* block output operations */
+ long ru_msgsnd; /* messages sent */
+ long ru_msgrcv; /* messages received */
+ long ru_nsignals; /* signals received */
+ long ru_nvcsw; /* voluntary context switches */
+ long ru_nivcsw; /* involuntary context switches */
+};
+
+
+#ifdef __cplusplus
+extern "C" int getrusage(int who, struct rusage *rusage);
+#else
+extern int getrusage(int who, struct rusage *rusage);
+#endif
+
+#endif
+
diff --git a/newlib/libc/sys/go32/sys/setjmp.h b/newlib/libc/sys/go32/sys/setjmp.h
new file mode 100644
index 00000000000..59e30c43e77
--- /dev/null
+++ b/newlib/libc/sys/go32/sys/setjmp.h
@@ -0,0 +1,44 @@
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#ifndef _SETJMP_H_
+#define _SETJMP_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct {
+ unsigned long eax;
+ unsigned long ebx;
+ unsigned long ecx;
+ unsigned long edx;
+ unsigned long esi;
+ unsigned long edi;
+ unsigned long ebp;
+ unsigned long esp;
+ unsigned long eip;
+ unsigned short es;
+ unsigned short fs;
+ unsigned short gs;
+ unsigned short ss;
+} jmp_buf[1];
+
+extern int setjmp(jmp_buf);
+extern void longjmp(jmp_buf, int);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/newlib/libc/sys/go32/sys/stdc.h b/newlib/libc/sys/go32/sys/stdc.h
new file mode 100644
index 00000000000..b2e5bc19b77
--- /dev/null
+++ b/newlib/libc/sys/go32/sys/stdc.h
@@ -0,0 +1,15 @@
+/* This is file STDC.H */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#include <sys/types.h>
diff --git a/newlib/libc/sys/go32/sys/uio.h b/newlib/libc/sys/go32/sys/uio.h
new file mode 100644
index 00000000000..d09fa5061aa
--- /dev/null
+++ b/newlib/libc/sys/go32/sys/uio.h
@@ -0,0 +1,23 @@
+/* This is file UIO.H */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#ifndef _SYS_UIO_H_
+#define _SYS_UIO_H_
+
+struct iovec {
+ void *iov_base;
+ unsigned long iov_len;
+};
+
+#endif
diff --git a/newlib/libc/sys/go32/syserr.c b/newlib/libc/sys/go32/syserr.c
new file mode 100644
index 00000000000..1fe4ca4cf13
--- /dev/null
+++ b/newlib/libc/sys/go32/syserr.c
@@ -0,0 +1,38 @@
+
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+char *sys_errlist[] = {
+ "no error",
+ "invalid function",
+ "file not found",
+ "path not found",
+ "too many open files",
+ "access denied",
+ "invalid file handle",
+ "arena trashed",
+ "not enough memory",
+ "invalid block",
+ "no environment",
+ "no format",
+ "invalid access code",
+ "invalid data",
+ "undefined",
+ "invalid drive",
+ "attempt to remove current directory",
+ "not same device",
+ "no more files"
+};
+
+int sys_nerr= sizeof(sys_errlist) / sizeof(char *);
+
diff --git a/newlib/libc/sys/go32/system.s b/newlib/libc/sys/go32/system.s
new file mode 100644
index 00000000000..9b12bbee820
--- /dev/null
+++ b/newlib/libc/sys/go32/system.s
@@ -0,0 +1,19 @@
+# /* This is file SYSTEM.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _system
+_system:
+ movb $7,%al
+ jmp turbo_assist
diff --git a/newlib/libc/sys/go32/tell.s b/newlib/libc/sys/go32/tell.s
new file mode 100644
index 00000000000..5427cbe3f6f
--- /dev/null
+++ b/newlib/libc/sys/go32/tell.s
@@ -0,0 +1,33 @@
+# /* This is file TELL.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _tell
+_tell:
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movl 16(%esp),%ebx
+ movl $0,%ecx
+ movl $0,%edx
+ movw $0x4201,%ax
+ int $0x21
+ popl %edi
+ popl %esi
+ popl %ebx
+ jb syscall_error
+ shll $16,%edx
+ andl $0xffff,%eax
+ orl %edx,%eax
+ ret
diff --git a/newlib/libc/sys/go32/time.c b/newlib/libc/sys/go32/time.c
new file mode 100644
index 00000000000..f8ab6f47eae
--- /dev/null
+++ b/newlib/libc/sys/go32/time.c
@@ -0,0 +1,53 @@
+/*
+FUNCTION
+<<time>>---get current calendar time (as single number)
+
+INDEX
+ time
+
+ANSI_SYNOPSIS
+ #include <time.h>
+ time_t time(time_t *<[t]>);
+
+TRAD_SYNOPSIS
+ #include <time.h>
+ time_t time(<[t]>)
+ time_t *<[t]>;
+
+DESCRIPTION
+<<time>> looks up the best available representation of the current
+time and returns it, encoded as a <<time_t>>. It stores the same
+value at <[t]> unless the argument is <<NULL>>.
+
+RETURNS
+A <<-1>> result means the current time is not available; otherwise the
+result represents the current time.
+
+PORTABILITY
+ANSI C requires <<time>>.
+This function is a wrapper for <<gettimeofday>>; this pollutes the
+namespace, and should be dealt with in the future.
+*/
+
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/time.h>
+
+time_t
+_DEFUN(time,(t),
+ time_t *t)
+{
+ struct timeval now;
+
+ if (gettimeofday(&now, (struct timezone *)0) >= 0)
+ {
+ if (t)
+ {
+ *t = now.tv_sec;
+ }
+
+ return now.tv_sec;
+
+ }
+ return -1 ;
+}
diff --git a/newlib/libc/sys/go32/truncate.c b/newlib/libc/sys/go32/truncate.c
new file mode 100644
index 00000000000..8c64ee5a555
--- /dev/null
+++ b/newlib/libc/sys/go32/truncate.c
@@ -0,0 +1,25 @@
+/* This is file TRUNCATE.C */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#include <fcntl.h>
+
+truncate(const char *fn, unsigned long where)
+{
+ int fd = open(fn, O_WRONLY);
+ if (fd < 0)
+ return -1;
+ lseek(fd, where, 0);
+ write(fd, 0, 0);
+ close(fd);
+}
diff --git a/newlib/libc/sys/go32/turbo.s b/newlib/libc/sys/go32/turbo.s
new file mode 100644
index 00000000000..4bf2253e9e2
--- /dev/null
+++ b/newlib/libc/sys/go32/turbo.s
@@ -0,0 +1,30 @@
+# /* This is file TURBO.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl turbo_assist
+turbo_assist:
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movl 16(%esp),%ebx
+ movl 20(%esp),%ecx
+ movl 24(%esp),%edx
+ movb $0xff,%ah
+ int $0x21
+ popl %edi
+ popl %esi
+ popl %ebx
+ jb syscall_error
+ ret
diff --git a/newlib/libc/sys/go32/umask.c b/newlib/libc/sys/go32/umask.c
new file mode 100644
index 00000000000..4fabe640be3
--- /dev/null
+++ b/newlib/libc/sys/go32/umask.c
@@ -0,0 +1,4 @@
+umask()
+{
+ return 0644;
+}
diff --git a/newlib/libc/sys/go32/unlink.s b/newlib/libc/sys/go32/unlink.s
new file mode 100644
index 00000000000..afc9fe8f90e
--- /dev/null
+++ b/newlib/libc/sys/go32/unlink.s
@@ -0,0 +1,27 @@
+# /* This is file UNLINK.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _unlink
+_unlink:
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movl 16(%esp),%edx
+ movb $0x41,%ah
+ int $0x21
+ popl %edi
+ popl %esi
+ popl %ebx
+ jmp syscall_check
diff --git a/newlib/libc/sys/go32/utime.c b/newlib/libc/sys/go32/utime.c
new file mode 100644
index 00000000000..555a79c3faf
--- /dev/null
+++ b/newlib/libc/sys/go32/utime.c
@@ -0,0 +1,15 @@
+/* This is file UTIME.C */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+utime(){}
diff --git a/newlib/libc/sys/go32/utimes.c b/newlib/libc/sys/go32/utimes.c
new file mode 100644
index 00000000000..46b530ba21b
--- /dev/null
+++ b/newlib/libc/sys/go32/utimes.c
@@ -0,0 +1,15 @@
+/* This is file UTIMES.C */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+utimes(){}
diff --git a/newlib/libc/sys/go32/write.s b/newlib/libc/sys/go32/write.s
new file mode 100644
index 00000000000..4c2d34806bf
--- /dev/null
+++ b/newlib/libc/sys/go32/write.s
@@ -0,0 +1,30 @@
+# /* This is file WRITE.S */
+# /*
+# ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+# **
+# ** This file is distributed under the terms listed in the document
+# ** "copying.dj", available from DJ Delorie at the address above.
+# ** A copy of "copying.dj" should accompany this file; if not, a copy
+# ** should be available from where this file was obtained. This file
+# ** may not be distributed without a verbatim copy of "copying.dj".
+# **
+# ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+# ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# */
+
+ .text
+ .globl _write
+_write:
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ movl 16(%esp),%ebx
+ movl 20(%esp),%edx
+ movl 24(%esp),%ecx
+ movb $0x40,%ah
+ int $0x21
+ popl %edi
+ popl %esi
+ popl %ebx
+ jb syscall_error
+ ret
diff --git a/newlib/libc/sys/go32/writestub.c b/newlib/libc/sys/go32/writestub.c
new file mode 100644
index 00000000000..ae1b993595a
--- /dev/null
+++ b/newlib/libc/sys/go32/writestub.c
@@ -0,0 +1,6 @@
+
+sswrite(a,b,c)
+{
+ /*write(1,"writing\n",9);*/
+ return write_real(a,b,c);
+}
diff --git a/newlib/libc/sys/go32/writev.c b/newlib/libc/sys/go32/writev.c
new file mode 100644
index 00000000000..86f9b1e41b7
--- /dev/null
+++ b/newlib/libc/sys/go32/writev.c
@@ -0,0 +1,31 @@
+/* This is file WRITEV.C */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#include <sys/types.h>
+#include <sys/uio.h>
+
+writev(int handle, struct iovec *iov, int count)
+{
+ unsigned long r, t=0;
+ while (count)
+ {
+ r = write(handle, iov->iov_base, iov->iov_len);
+ if (r < 0)
+ return r;
+ t += r;
+ iov++;
+ count--;
+ }
+ return t;
+}
diff --git a/newlib/libc/sys/h8300hms/Makefile.am b/newlib/libc/sys/h8300hms/Makefile.am
new file mode 100644
index 00000000000..131adc04779
--- /dev/null
+++ b/newlib/libc/sys/h8300hms/Makefile.am
@@ -0,0 +1,14 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = syscalls.c write.c _exit.c sbrk.c misc.c crt1.c
+
+all: crt0.o
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/h8300hms/Makefile.in b/newlib/libc/sys/h8300hms/Makefile.in
new file mode 100644
index 00000000000..e4b08a394a7
--- /dev/null
+++ b/newlib/libc/sys/h8300hms/Makefile.in
@@ -0,0 +1,299 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = syscalls.c write.c _exit.c sbrk.c misc.c crt1.c
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = syscalls.o write.o _exit.o sbrk.o misc.o crt1.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+all: crt0.o
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/sys/h8300hms/_exit.c b/newlib/libc/sys/h8300hms/_exit.c
new file mode 100644
index 00000000000..17d1538cb95
--- /dev/null
+++ b/newlib/libc/sys/h8300hms/_exit.c
@@ -0,0 +1,23 @@
+/* FIXME: which one? */
+
+#include <_ansi.h>
+
+/* `sleep' is passed an argument in r0 that indicates the reason
+ the program is exiting. The format of r0 is defined in devo/include/wait.h.
+*/
+
+void
+_DEFUN (_exit,(rc),
+ int rc)
+{
+ short rc2 = rc << 8;
+ asm("mov.w %0,r0\n\tsleep" : : "r" (rc2) : "r0");
+}
+
+void
+_DEFUN (__exit,(rc),
+ int rc)
+{
+ short rc2 = rc << 8;
+ asm("mov.w %0,r0\n\tsleep" : : "r" (rc2) : "r0");
+}
diff --git a/newlib/libc/sys/h8300hms/aclocal.m4 b/newlib/libc/sys/h8300hms/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/sys/h8300hms/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/sys/h8300hms/configure b/newlib/libc/sys/h8300hms/configure
new file mode 100755
index 00000000000..cab59b35a78
--- /dev/null
+++ b/newlib/libc/sys/h8300hms/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=crt1.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/sys/h8300hms/configure.in b/newlib/libc/sys/h8300hms/configure.in
new file mode 100644
index 00000000000..7f5b630f6f9
--- /dev/null
+++ b/newlib/libc/sys/h8300hms/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/sys/h8300hms configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(crt1.c)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/sys/h8300hms/crt0.S b/newlib/libc/sys/h8300hms/crt0.S
new file mode 100644
index 00000000000..94a4e2948f1
--- /dev/null
+++ b/newlib/libc/sys/h8300hms/crt0.S
@@ -0,0 +1,69 @@
+; h8/300 and h8/300h start up file.
+
+#ifdef __H8300__
+
+ .section .text
+ .global _start
+_start:
+ mov.w #_stack,sp
+ mov.w #_edata,r0
+ mov.w #_end,r1
+ mov.w #0,r2
+.loop: mov.w r2,@r0
+ adds #2,r0
+ cmp r1,r0
+ blo .loop
+ jsr @___main
+ jsr @_main
+ jsr @_exit
+
+ .section .stack
+_stack: .word 1
+
+#endif
+
+#ifdef __H8300H__
+
+ .h8300h
+ .section .text
+ .global _start
+_start:
+ mov.l #_stack,sp
+ mov.l #_edata,er0
+ mov.l #_end,er1
+ mov.w #0,r2 ; not sure about alignment requirements
+.loop: mov.w r2,@er0 ; playing it safe for now
+ adds #2,er0
+ cmp.l er1,er0
+ blo .loop
+ jsr @___main
+ jsr @_main
+ jsr @_exit
+
+ .section .stack
+_stack: .long 1
+
+#endif
+
+#ifdef __H8300S__
+
+ .h8300s
+ .section .text
+ .global _start
+_start:
+ mov.l #_stack,sp
+ mov.l #_edata,er0
+ mov.l #_end,er1
+ mov.w #0,r2 ; not sure about alignment requirements
+.loop: mov.w r2,@er0 ; playing it safe for now
+ adds #2,er0
+ cmp.l er1,er0
+ blo .loop
+ jsr @___main
+ jsr @_main
+ jsr @_exit
+
+ .section .stack
+_stack: .long 1
+
+#endif
diff --git a/newlib/libc/sys/h8300hms/crt1.c b/newlib/libc/sys/h8300hms/crt1.c
new file mode 100644
index 00000000000..dd0be3145de
--- /dev/null
+++ b/newlib/libc/sys/h8300hms/crt1.c
@@ -0,0 +1,16 @@
+void __main ()
+{
+ static int initialized;
+ if (! initialized)
+ {
+ typedef void (*pfunc) ();
+ extern pfunc __ctors[];
+ extern pfunc __ctors_end[];
+ pfunc *p;
+
+ initialized = 1;
+ for (p = __ctors_end; p > __ctors; )
+ (*--p) ();
+
+ }
+}
diff --git a/newlib/libc/sys/h8300hms/misc.c b/newlib/libc/sys/h8300hms/misc.c
new file mode 100644
index 00000000000..6021b5cb609
--- /dev/null
+++ b/newlib/libc/sys/h8300hms/misc.c
@@ -0,0 +1,34 @@
+/* Misc. operating system stubs. */
+
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+/* _raise(), getpid(), and kill() are required by abort().
+ getpid/kill are prefixed with '_' because of MISSING_SYSCALL_NAMES. */
+
+int _DEFUN(_raise,(sig),
+ int sig)
+{
+ return 0;
+}
+
+int _DEFUN(_getpid,(),)
+{
+ return 0;
+}
+
+int _DEFUN(_kill,(pid, sig),
+ int pid _AND
+ int sig)
+{
+ if (pid == 0)
+ {
+ /* Narrow SIG down to a short, in case we're compiled with -mint32. */
+ short sig2 = sig;
+ /* This causes the simulator to indicate abort() was called.
+ The format of r0 is defined by devo/include/wait.h. */
+ asm ("mov.w %0,r0\n\tsleep" : : "r" (sig2) : "r0");
+ }
+ return 0;
+}
diff --git a/newlib/libc/sys/h8300hms/sbrk.c b/newlib/libc/sys/h8300hms/sbrk.c
new file mode 100644
index 00000000000..1456a67eb81
--- /dev/null
+++ b/newlib/libc/sys/h8300hms/sbrk.c
@@ -0,0 +1,28 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+register char *stack_ptr asm ("sp");
+
+caddr_t
+ _sbrk(incr)
+ int incr;
+{
+ extern char end; /* Defined by the linker */
+ static char *heap_end;
+ char *prev_heap_end;
+
+ if (heap_end == 0)
+ {
+ heap_end = &end;
+ }
+ prev_heap_end = heap_end;
+ if (heap_end + incr > stack_ptr)
+ {
+ _write (1, "Heap and stack collision\n", 25);
+ abort ();
+ }
+ heap_end += incr;
+ return (caddr_t)prev_heap_end;
+}
+
diff --git a/newlib/libc/sys/h8300hms/sys/file.h b/newlib/libc/sys/h8300hms/sys/file.h
new file mode 100644
index 00000000000..a01e805e600
--- /dev/null
+++ b/newlib/libc/sys/h8300hms/sys/file.h
@@ -0,0 +1,30 @@
+/* This is file FILE.H */
+/*
+** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#ifndef _FILE_H_
+#define _FILE_H_
+
+#include <fcntl.h>
+
+#define L_SET 0
+#define L_CURR 1
+#define L_XTND 2
+
+
+#define F_OK 0 /* does file exist */
+#define X_OK 1 /* is it executable by caller */
+#define W_OK 2 /* is it writable by caller */
+#define R_OK 4 /* is it readable by caller */
+
+#endif
diff --git a/newlib/libc/sys/h8300hms/syscalls.c b/newlib/libc/sys/h8300hms/syscalls.c
new file mode 100644
index 00000000000..b7a90e3165a
--- /dev/null
+++ b/newlib/libc/sys/h8300hms/syscalls.c
@@ -0,0 +1,50 @@
+/* Operating system stubs, set up for the MRI simulator */
+
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+int _DEFUN(_read,(file, ptr, len),
+ int file _AND
+ char *ptr _AND
+ int len)
+{
+ return 0;
+}
+
+
+int _DEFUN(_lseek,(file, ptr, dir),
+ int file _AND
+ int ptr _AND
+ int dir)
+{
+ return 0;
+}
+
+int _DEFUN(_close,(file),
+ int file)
+{
+ return -1;
+}
+
+int isatty(file)
+ int file;
+{
+ return 1;
+}
+
+int _DEFUN(_fstat,(file, st),
+ int file _AND
+ struct stat *st)
+{
+ st->st_mode = S_IFCHR;
+ return 0;
+}
+
+int
+_open (path, flags)
+ const char *path;
+ int flags;
+{
+ return 0;
+}
diff --git a/newlib/libc/sys/h8300hms/write.c b/newlib/libc/sys/h8300hms/write.c
new file mode 100644
index 00000000000..22fc63d57e9
--- /dev/null
+++ b/newlib/libc/sys/h8300hms/write.c
@@ -0,0 +1,16 @@
+
+
+int _write(file, ptr, len)
+ int file;
+ char *ptr;
+ int len;
+{
+ int todo;
+
+ for (todo = 0; todo < len; todo++)
+ {
+ asm("mov.b #0,r1l\n mov.b %0l,r2l\njsr @@0xc4" : : "r" (*ptr++) : "r1", "r2");
+ }
+ return len;
+}
+
diff --git a/newlib/libc/sys/h8500hms/Makefile.am b/newlib/libc/sys/h8500hms/Makefile.am
new file mode 100644
index 00000000000..8febfd388b4
--- /dev/null
+++ b/newlib/libc/sys/h8500hms/Makefile.am
@@ -0,0 +1,14 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = syscalls.c misc.c
+
+all: crt0.o
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/h8500hms/Makefile.in b/newlib/libc/sys/h8500hms/Makefile.in
new file mode 100644
index 00000000000..4ce720db612
--- /dev/null
+++ b/newlib/libc/sys/h8500hms/Makefile.in
@@ -0,0 +1,299 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = syscalls.c misc.c
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = syscalls.o misc.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+all: crt0.o
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/sys/h8500hms/aclocal.m4 b/newlib/libc/sys/h8500hms/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/sys/h8500hms/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/sys/h8500hms/configure b/newlib/libc/sys/h8500hms/configure
new file mode 100755
index 00000000000..adbba2da1e3
--- /dev/null
+++ b/newlib/libc/sys/h8500hms/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=misc.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/sys/h8500hms/configure.in b/newlib/libc/sys/h8500hms/configure.in
new file mode 100644
index 00000000000..b050f4ed169
--- /dev/null
+++ b/newlib/libc/sys/h8500hms/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/sys/h8500hms configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(misc.c)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/sys/h8500hms/crt0.c b/newlib/libc/sys/h8500hms/crt0.c
new file mode 100644
index 00000000000..fa7d1b93c9b
--- /dev/null
+++ b/newlib/libc/sys/h8500hms/crt0.c
@@ -0,0 +1,32 @@
+
+extern char _start_bss;
+extern char end;
+extern char stack;
+
+static zeroandrun();
+#pragma noprolog
+
+start()
+{
+ asm("mov.w #%off(_stack),sp");
+/* asm("ldc.w #0x700,sr");*/
+ asm("ldc.b #%page(_stack),tp");
+ asm("ldc.b #%page(_stack),dp");
+ asm("ldc.b #%page(_stack),ep");
+ /* Can't have anything else in here, since the fp won't be set up
+ so local variables won't work */
+ zeroandrun();
+}
+
+static
+zeroandrun()
+{
+ char *p;
+ p = &_start_bss;
+ while (p < &end)
+ {
+ *p++ = 0;
+ }
+ main();
+ _exit();
+}
diff --git a/newlib/libc/sys/h8500hms/misc.c b/newlib/libc/sys/h8500hms/misc.c
new file mode 100644
index 00000000000..a791704a121
--- /dev/null
+++ b/newlib/libc/sys/h8500hms/misc.c
@@ -0,0 +1,29 @@
+/* Misc. operating system stubs. */
+
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <signal.h>
+
+/* _raise(), getpid(), and kill() are required by abort().
+ getpid/kill are prefixed with '_' because of MISSING_SYSCALL_NAMES. */
+
+int _DEFUN(_raise,(sig),
+ int sig)
+{
+ return 0;
+}
+
+int _DEFUN(_getpid,(),)
+{
+ return 0;
+}
+
+int _DEFUN(_kill,(pid, sig),
+ int pid _AND
+ int sig)
+{
+ if (sig == SIGABRT)
+ asm ("mov.w #34,r3; trapa #15");
+ return 0;
+}
diff --git a/newlib/libc/sys/h8500hms/syscalls.c b/newlib/libc/sys/h8500hms/syscalls.c
new file mode 100644
index 00000000000..bb0c3c0c793
--- /dev/null
+++ b/newlib/libc/sys/h8500hms/syscalls.c
@@ -0,0 +1,129 @@
+
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+int
+_read (file, ptr, len)
+ int file;
+ char *ptr;
+ size_t len;
+
+{
+ return 0;
+}
+
+
+int
+_lseek (file, ptr, dir)
+ int file;
+ int ptr;
+ int dir;
+
+{
+ return 0;
+
+}
+
+static
+writechar (c)
+ char c;
+
+
+{
+ register int n asm ("r3");
+ n = c;
+asm ("clr.w r1;mov.w %0,r0; mov.w #6,r3; trapa #15": :"g" (n) : "r3","r1","r0");
+}
+
+
+
+int
+_write (file, ptr, len)
+ int file;
+ char *ptr;
+ size_t len;
+{
+
+ int todo;
+
+ for (todo = 0; todo < len; todo++)
+ {
+ writechar (*ptr++);
+ }
+ return len;
+
+}
+
+
+
+int
+_close (file)
+ int file;
+{
+
+ return -1;
+}
+
+
+
+caddr_t
+_sbrk (incr)
+ size_t incr;
+{
+ extern char end; /* Defined by the linker */
+ static char *heap_end;
+ char *prev_heap_end;
+
+ if (heap_end == 0)
+ {
+ heap_end = &end;
+ }
+ prev_heap_end = heap_end;
+ if (heap_end + incr > stack_ptr)
+ {
+ _write (1, "Heap and stack collision\n", 25);
+ abort ();
+ }
+ heap_end += incr;
+ return (caddr_t) prev_heap_end;
+}
+
+
+
+int
+isatty (file)
+ int file;
+{
+ return 1;
+}
+
+
+
+int
+_fstat (file, stat)
+ int file;
+ struct stat *stat;
+
+{
+ stat->st_mode = S_IFCHR;
+ return 0;
+}
+
+int
+_open (path, flags)
+ const char *path;
+ int flags;
+
+{
+ return 0;
+}
+
+
+void
+_exit (status)
+ int status;
+{
+ asm (" mov.w #33,r3; trapa #15");
+}
diff --git a/newlib/libc/sys/m88kbug/Makefile.am b/newlib/libc/sys/m88kbug/Makefile.am
new file mode 100644
index 00000000000..9e6c84db5a4
--- /dev/null
+++ b/newlib/libc/sys/m88kbug/Makefile.am
@@ -0,0 +1,14 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = syscalls.c
+
+all: crt0.o
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/m88kbug/Makefile.in b/newlib/libc/sys/m88kbug/Makefile.in
new file mode 100644
index 00000000000..57227db8523
--- /dev/null
+++ b/newlib/libc/sys/m88kbug/Makefile.in
@@ -0,0 +1,299 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = syscalls.c
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = syscalls.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+all: crt0.o
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/sys/m88kbug/aclocal.m4 b/newlib/libc/sys/m88kbug/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/sys/m88kbug/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/sys/m88kbug/configure b/newlib/libc/sys/m88kbug/configure
new file mode 100755
index 00000000000..f7efa59fe80
--- /dev/null
+++ b/newlib/libc/sys/m88kbug/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=syscalls.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/sys/m88kbug/configure.in b/newlib/libc/sys/m88kbug/configure.in
new file mode 100644
index 00000000000..33f201000e4
--- /dev/null
+++ b/newlib/libc/sys/m88kbug/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/sys/m88kbug configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(syscalls.c)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/sys/m88kbug/crt0.c b/newlib/libc/sys/m88kbug/crt0.c
new file mode 100644
index 00000000000..d0d95e4184c
--- /dev/null
+++ b/newlib/libc/sys/m88kbug/crt0.c
@@ -0,0 +1,19 @@
+extern int main(int argc, char **argv);
+
+extern char edata;
+extern char end;
+extern char stack;
+
+_start()
+{
+ char *p;
+
+ p = &edata + 1;
+ while (p < &end)
+ {
+ *p++ = 0;
+ }
+
+ main(0, 0);
+ _exit();
+}
diff --git a/newlib/libc/sys/m88kbug/sys/systraps.h b/newlib/libc/sys/m88kbug/sys/systraps.h
new file mode 100644
index 00000000000..f3ee1a3c2a4
--- /dev/null
+++ b/newlib/libc/sys/m88kbug/sys/systraps.h
@@ -0,0 +1,9 @@
+/* trap numbers for mvme187bug */
+
+#define INCHR 0x0000
+#define OUTCHR 0x0020
+#define RETURN 0x0063
+
+#define SYSTRAP(x) {asm("or r9,r0,%0" : : "i" (x) : "r9"); asm("tb0 0,r0,496");}
+
+/* end of systraps.h */
diff --git a/newlib/libc/sys/m88kbug/syscalls.c b/newlib/libc/sys/m88kbug/syscalls.c
new file mode 100644
index 00000000000..32f42a925bb
--- /dev/null
+++ b/newlib/libc/sys/m88kbug/syscalls.c
@@ -0,0 +1,131 @@
+/* Operating system and traps for mvme187bug, the motorolola BUG
+ monitor for m88k */
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/times.h>
+#include <errno.h>
+
+#include "sys/systraps.h"
+
+static void writechar(int c) {
+ register int n asm ("r2");
+ n = c;
+ SYSTRAP(OUTCHR);
+ return;
+}
+
+static int readchar(void) {
+ register int n asm ("r2");
+ SYSTRAP(INCHR);
+ return(n);
+}
+
+int read(int file, char *ptr, int len) {
+ int todo;
+
+ for (todo = len; todo; --todo) {
+ *ptr++ = readchar();
+ }
+
+ return(len);
+}
+
+int lseek(int file, int ptr, int dir) {
+ return 0;
+}
+
+int write(int file, char *ptr, int len) {
+ int todo;
+
+ for (todo = len; todo; --todo) {
+ writechar(*ptr++);
+ }
+ return(len);
+}
+
+int close(int file) {
+ return(-1);
+}
+
+caddr_t sbrk(int incr) {
+ extern char end; /* Defined by the linker */
+ static char *heap_end;
+ char *prev_heap_end;
+
+ if (heap_end == 0)
+ {
+ heap_end = &end;
+ }
+ prev_heap_end = heap_end;
+ if (heap_end + incr > stack_ptr)
+ {
+ _write (1, "Heap and stack collision\n", 25);
+ abort ();
+ }
+ heap_end += incr;
+ return((caddr_t) prev_heap_end);
+}
+
+int isatty(int file) {
+ return(1);
+}
+
+int fstat(int file, struct stat *st) {
+ st->st_mode = S_IFCHR;
+ return(0);
+}
+
+int stat(char *filename, struct stat *st) {
+ st->st_mode = S_IFCHR;
+ return(0);
+}
+
+int open(const char *path, int flags) {
+ return(0);
+}
+
+
+int _exit() {
+ SYSTRAP(RETURN);
+}
+
+int execve(char *name, char **argv, char **env) {
+ errno = ENOMEM;
+ return(-1);
+}
+
+int fork() {
+ errno = EAGAIN;
+ return(-1);
+}
+
+int getpid() {
+ return(1);
+}
+
+int kill(int pid, int sig) {
+ errno = EINVAL;
+ return(-1);
+}
+
+int link(char *old, char *new) {
+ errno = EMLINK;
+ return(-1);
+}
+
+clock_t times(struct tms *buf) {
+ return(-1);
+}
+
+int unlink(char *name) {
+ errno = ENOENT;
+ return(-1);
+}
+
+int wait(int *status) {
+ errno = ECHILD;
+ return(-1);
+}
+
+/* end of syscalls.c */
diff --git a/newlib/libc/sys/netware/Makefile.am b/newlib/libc/sys/netware/Makefile.am
new file mode 100644
index 00000000000..e112bac10a5
--- /dev/null
+++ b/newlib/libc/sys/netware/Makefile.am
@@ -0,0 +1,16 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ getpid.c \
+ link.c
+
+all: crt0.o
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/netware/Makefile.in b/newlib/libc/sys/netware/Makefile.in
new file mode 100644
index 00000000000..3e240f4557e
--- /dev/null
+++ b/newlib/libc/sys/netware/Makefile.in
@@ -0,0 +1,301 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ getpid.c \
+ link.c
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = getpid.o link.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+all: crt0.o
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/sys/netware/aclocal.m4 b/newlib/libc/sys/netware/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/sys/netware/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/sys/netware/configure b/newlib/libc/sys/netware/configure
new file mode 100755
index 00000000000..c5dfd893236
--- /dev/null
+++ b/newlib/libc/sys/netware/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=link.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/sys/netware/configure.in b/newlib/libc/sys/netware/configure.in
new file mode 100644
index 00000000000..16f824c1fb7
--- /dev/null
+++ b/newlib/libc/sys/netware/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/sys/netware configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(link.c)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/sys/netware/crt0.c b/newlib/libc/sys/netware/crt0.c
new file mode 100644
index 00000000000..1d796d025b4
--- /dev/null
+++ b/newlib/libc/sys/netware/crt0.c
@@ -0,0 +1,4 @@
+/* I have a copy of something that would serve as a NetWare crt0.o,
+ but it is copyright by Novell. */
+
+int _dummy_crt0 = 1;
diff --git a/newlib/libc/sys/netware/getpid.c b/newlib/libc/sys/netware/getpid.c
new file mode 100644
index 00000000000..9218dfcc3dc
--- /dev/null
+++ b/newlib/libc/sys/netware/getpid.c
@@ -0,0 +1,11 @@
+/* NetWare version of getpid. This is supposed to return a unique
+ identifier which is used to create temporary file names. We use
+ the thread ID. I hope this is unique. */
+
+#include <unistd.h>
+
+pid_t
+getpid ()
+{
+ return GetThreadID ();
+}
diff --git a/newlib/libc/sys/netware/link.c b/newlib/libc/sys/netware/link.c
new file mode 100644
index 00000000000..d816d0ac6c4
--- /dev/null
+++ b/newlib/libc/sys/netware/link.c
@@ -0,0 +1,17 @@
+/* NetWare version of link. This can not be implemented using an
+ MS-DOS file system. */
+
+#include <unistd.h>
+#include <errno.h>
+
+#undef errno
+extern int errno;
+
+int
+link (path1, path2)
+ const char *path1;
+ const char *path2;
+{
+ errno = ENOSYS;
+ return -1;
+}
diff --git a/newlib/libc/sys/rtems/Makefile.am b/newlib/libc/sys/rtems/Makefile.am
new file mode 100644
index 00000000000..24b82b83e8c
--- /dev/null
+++ b/newlib/libc/sys/rtems/Makefile.am
@@ -0,0 +1,14 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = dummysys.c
+
+all: crt0.o
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/rtems/Makefile.in b/newlib/libc/sys/rtems/Makefile.in
new file mode 100644
index 00000000000..f3b663d6d06
--- /dev/null
+++ b/newlib/libc/sys/rtems/Makefile.in
@@ -0,0 +1,299 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = dummysys.c
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = dummysys.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+all: crt0.o
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/sys/rtems/aclocal.m4 b/newlib/libc/sys/rtems/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/sys/rtems/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/sys/rtems/configure b/newlib/libc/sys/rtems/configure
new file mode 100755
index 00000000000..3a23985048f
--- /dev/null
+++ b/newlib/libc/sys/rtems/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=dummysys.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/sys/rtems/configure.in b/newlib/libc/sys/rtems/configure.in
new file mode 100644
index 00000000000..5d9abcf056b
--- /dev/null
+++ b/newlib/libc/sys/rtems/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/sys/rtems configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(dummysys.c)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/sys/rtems/crt0.c b/newlib/libc/sys/rtems/crt0.c
new file mode 100644
index 00000000000..5c5b0f66120
--- /dev/null
+++ b/newlib/libc/sys/rtems/crt0.c
@@ -0,0 +1,48 @@
+void rtems_provides_crt0( void ) {}
+/*
+ * RTEMS Fake crt0
+ *
+ * Each RTEMS BSP provides its own crt0 and linker script. Unfortunately
+ * this means that crt0 and the linker script are not available as
+ * each tool is configured. Without a crt0 and linker script, some
+ * targets do not successfully link "conftest.c" during the configuration
+ * process. So this fake crt0.c provides all the symbols required to
+ * successfully link a program. The resulting program will not run
+ * but this is enough to satisfy the autoconf macro AC_PROG_CC.
+ */
+
+/* RTEMS provides some of its own routines including a Malloc family */
+
+void *malloc() { return 0; }
+void *realloc() { return 0; }
+void free() { ; }
+void abort() { ; }
+int raise() { return -1; }
+
+/* The PowerPC expects certain symbols to be defined in the linker script. */
+
+#if defined(__PPC__)
+ int __SDATA_START__; int __SDATA2_START__;
+ int __GOT_START__; int __GOT_END__;
+ int __GOT2_START__; int __GOT2_END__;
+ int __SBSS_END__; int __SBSS2_END__;
+ int __FIXUP_START__; int __FIXUP_END__;
+ int __EXCEPT_START__; int __EXCEPT_END__;
+ int __init; int __fini;
+#endif
+
+/* The hppa expects this to be defined in the real crt0.s.
+ * Also for some reason, the hppa1.1 does not find atexit()
+ * during the AC_PROG_CC tests.
+ */
+
+#if defined(__hppa__)
+/*
+ asm ( ".subspa \$GLOBAL\$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=40");
+ asm ( ".export \$global\$" );
+ asm ( "\$global\$:");
+*/
+
+ int atexit(void (*function)(void)) { return 0; }
+#endif
+
diff --git a/newlib/libc/sys/rtems/dummysys.c b/newlib/libc/sys/rtems/dummysys.c
new file mode 100644
index 00000000000..81091182e64
--- /dev/null
+++ b/newlib/libc/sys/rtems/dummysys.c
@@ -0,0 +1 @@
+void not_required_by_rtems( void ) {}
diff --git a/newlib/libc/sys/rtems/include/limits.h b/newlib/libc/sys/rtems/include/limits.h
new file mode 100644
index 00000000000..e9f45e44cf9
--- /dev/null
+++ b/newlib/libc/sys/rtems/include/limits.h
@@ -0,0 +1,178 @@
+/*
+ * This file lists the minimums for the limits set by each of
+ * the POSIX features subsets.
+ *
+ * XXX: Careful attention needs to be paid to section 2.8 in 1003.1b-1993
+ * to segregrate the variables below based on their "class" according
+ * to our implementation. We also need to set the Run-Time Invariant
+ * and other related values.
+ *
+ * $Id$
+ */
+
+#ifndef _GCC_LIMITS_H_ /* if we have not seen gcc's limits.h yet */
+#include_next <limits.h>
+#endif
+
+#ifndef __POSIX_LIMITS_h
+#define __POSIX_LIMITS_h
+
+/****************************************************************************
+ ****************************************************************************
+ * *
+ * P1003.1b-1993 defines the constants below this comment. *
+ * *
+ ****************************************************************************
+ ****************************************************************************/
+
+#define _POSIX_AIO_LISTIO_MAX 2
+#define _POSIX_AIO_MAX 1
+#define _POSIX_ARG_MAX 4096
+#define _POSIX_CHILD_MAX 6
+#define _POSIX_DELAYTIMER_MAX 32
+#define _POSIX_LINK_MAX 8
+#define _POSIX_MAX_CANON 255
+#define _POSIX_MAX_INPUT 255
+#define _POSIX_MQ_OPEN_MAX 8
+#define _POSIX_MQ_PRIO_MAX 32
+#define _POSIX_NAME_MAX 255
+#define _POSIX_NGROUPS_MAX 0
+#define _POSIX_OPEN_MAX 16
+#define _POSIX_PATH_MAX 255
+#define _POSIX_PIPE_BUF 512
+#define _POSIX_RTSIG_MAX 8
+#define _POSIX_SEM_NSEMS_MAX 256
+#define _POSIX_SEM_VALUE_MAX 32767
+#define _POSIX_SIGQUEUE_MAX 32
+#define _POSIX_SSIZE_MAX 32767
+#define _POSIX_STREAM_MAX 8
+#define _POSIX_TIMER_MAX 32
+#define _POSIX_TZNAME_MAX 3
+
+/*
+ * Definitions of the following may be omitted if the value is >= stated
+ * minimum but is indeterminate.
+ */
+
+#define AIO_LISTIO_MAX 2
+#define AIO_MAX 1
+#define AIO_PRIO_DELTA_MAX 0
+#define ARG_MAX 4096
+#define CHILD_MAX 6
+#define DELAYTIMER_MAX 32
+#define MQ_OPEN_MAX 8
+#define MQ_PRIO_MAX 32
+#define OPEN_MAX 16
+#define PAGESIZE 1
+#define RTSIG_MAX 8
+#define SEM_NSEMS_MAX 256
+#define SEM_VALUE_MAX 32767
+#define SIGQUEUE_MAX 32
+#define STREAM_MAX 8
+#define TIMER_MAX 32
+#define TZNAME_MAX 3
+
+/*
+ * Pathname Variables
+ */
+
+#define LINK_MAX 8
+#define MAX_CANON 255
+#define MAX_INPUT 255
+#define NAME_MAX 255
+#define PATH_MAX 255
+#define PIPE_BUF 512
+
+/*
+ * Invariant values
+ */
+
+#define SSIZE_MAX 32767
+
+/*
+ * Maximum Values
+ */
+
+#define _POSIX_CLOCKRES_MIN 0 /* in nanoseconds */
+
+/****************************************************************************
+ ****************************************************************************
+ * *
+ * P1003.1c/D10 defines the constants below this comment. *
+ *
+ * XXX: doc seems to have printing problems in this table :(
+ * *
+ ****************************************************************************
+ ****************************************************************************/
+
+#define _POSIX_LOGIN_NAME_MAX 9
+#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
+#define _POSIX_THREAD_KEYS_MAX 28
+#define _POSIX_THREAD_THREADS_MAX 64
+#define _POSIX_TTY_NAME_MAX 9
+
+/*
+ * Definitions of the following may be omitted if the value is >= stated
+ * minimum but is indeterminate.
+ *
+ * NOTE: LOGIN_NAME_MAX is named LOGNAME_MAX under Solaris 2.x. Perhaps
+ * the draft specification will be changing. jrs 05/24/96
+ */
+
+#define LOGIN_NAME_MAX _POSIX_LOGIN_NAME_MAX
+#define TTY_NAME_MAX _POSIX_TTY_NAME_MAX
+#define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS
+
+/*
+ * RTEMS is smart enough to give us the minimum stack size if we ask
+ * for too little. Because the real RTEMS limit for this is cpu dependent
+ * AND rtems header files are not installed yet, we cannot use the cpu
+ * dependent constant CPU_STACK_MINIMUM_SIZE. Moreover, we do not want
+ * to duplicate that information here so we will just let RTEMS magically
+ * give us its minimum stack size.
+ *
+ * NOTE: The other alternative is to have this be a macro for a
+ * routine in RTEMS which returns the constant.
+ */
+
+#define PTHREAD_STACK_MIN 0
+
+/*
+ * The maximum number of keys (PTHREAD_KEYS_MAX) and threads
+ * (PTHREAD_THREADS_MAX) are configurable and may exceed the minimum.
+ *
+#define PTHREAD_KEYS_MAX _POSIX_THREAD_KEYS_MAX
+#define PTHREAD_THREADS_MAX _POSIX_THREAD_THREADS_MAX
+*/
+
+
+/****************************************************************************
+ ****************************************************************************
+ * *
+ * P1003.4b/D8 defines the constants below this comment. *
+ * *
+ ****************************************************************************
+ ****************************************************************************/
+
+#define _POSIX_INTERRUPT_OVERRUN_MAX 32
+
+/*
+ * Definitions of the following may be omitted if the value is >= stated
+ * minimum but is indeterminate.
+ */
+
+#define INTERRUPT_OVERRUN_MAX 32
+
+/*
+ * Pathname Variables
+ */
+
+#define MIN_ALLOC_SIZE
+#define REC_MIN_XFER_SIZE
+#define REC_MAX_XFER_SIZE
+#define REC_INCR_XFER_SIZE
+#define REC_XFER_ALIGN
+#define MAX_ATOMIC_SIZE
+
+#endif
+/* end of include file */
diff --git a/newlib/libc/sys/rtems/include/signal.h b/newlib/libc/sys/rtems/include/signal.h
new file mode 100644
index 00000000000..bb61b0c1741
--- /dev/null
+++ b/newlib/libc/sys/rtems/include/signal.h
@@ -0,0 +1,142 @@
+/*
+ * $Id$
+ */
+
+#ifndef __POSIX_SIGNALS_h
+#define __POSIX_SIGNALS_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <sys/features.h>
+#include "_ansi.h"
+
+#include <sys/time.h>
+#include <sys/siginfo.h>
+#include <reent.h> /* only for reentrant signal() and raise() */
+
+/*
+ * 7.7 Signal handling <signal.h>, ANSI C Standard.
+ */
+
+typedef int sig_atomic_t;
+
+/*
+ * ANSI C Signal Handling Functions
+ */
+
+typedef void (*_sig_func_ptr) ();
+
+_sig_func_ptr _EXFUN(_signal_r, (struct _reent *, int, _sig_func_ptr));
+int _EXFUN(_raise_r, (struct _reent *, int));
+
+#ifndef _REENT_ONLY
+_sig_func_ptr _EXFUN(signal, (int, _sig_func_ptr));
+int _EXFUN(raise, (int));
+#endif
+
+/*
+ * 3.3.2 Send a Signal to a Process, P1003.1b-1993, p. 68
+ *
+ * NOTE: Behavior of kill() depends on _POSIX_SAVED_IDS.
+ */
+
+int _EXFUN(kill, (pid_t pid, int sig));
+
+/*
+ * 3.3.3 Manipulate Signal Sets, P1003.1b-1993, p. 69
+ */
+
+int _EXFUN(sigemptyset, (sigset_t *set));
+int _EXFUN(sigfillset, (sigset_t *set));
+int _EXFUN(sigaddset, (sigset_t *set, int signo));
+int _EXFUN(sigdelset, (sigset_t *set, int signo));
+int _EXFUN(sigismember, (const sigset_t *set, int signo));
+
+/*
+ * 3.3.4 Examine and Change Signal Action, P1003.1b-1993, p. 70
+ */
+
+int _EXFUN(sigaction,
+ (int sig, const struct sigaction *act, struct sigaction *oact)
+);
+
+/*
+ * 3.3.5 Examine and Change Blocked Signals, P1003.1b-1993, p. 73
+ *
+ * NOTE: P1003.1c/D10, p. 37 adds pthread_sigmask().
+ */
+
+/* values for how */
+
+#define SIG_BLOCK 1 /* resulting_set = (current_set | set) */
+#define SIG_UNBLOCK 2 /* resulting_set = (current_set & ~set) */
+#define SIG_SETMASK 3 /* resulting_set = set */
+
+int _EXFUN(sigprocmask, (int how, const sigset_t *set, sigset_t *oset));
+
+#if defined(_POSIX_THREADS)
+int _EXFUN(pthread_sigmask, (int how, const sigset_t *set, sigset_t *oset));
+#endif
+
+/*
+ * 3.3.6 Examine Pending Signals, P1003.1b-1993, p. 75
+ */
+
+int _EXFUN(sigpending, (sigset_t *set));
+
+/*
+ * 3.3.7 Wait for a Signal, P1003.1b-1993, p. 75
+ */
+
+int _EXFUN(sigsuspend, (const sigset_t *sigmask));
+
+#if defined(_POSIX_REALTIME_SIGNALS)
+
+/*
+ * 3.3.8 Synchronously Accept a Signal, P1003.1b-1993, p. 76
+ *
+ * NOTE: P1003.1c/D10, p. 39 adds sigwait().
+ */
+
+int _EXFUN(sigwaitinfo, (const sigset_t *set, siginfo_t *info));
+int _EXFUN(sigtimedwait,
+ (const sigset_t *set, siginfo_t *info, const struct timespec *timeout)
+);
+int _EXFUN(sigwait, (const sigset_t *set, int *sig));
+
+/*
+ * 3.3.9 Queue a Signal to a Process, P1003.1b-1993, p. 78
+ */
+
+int _EXFUN(sigqueue, (pid_t pid, int signo, const union sigval value));
+
+#endif
+
+/*
+ * 3.3.10 Send a Signal to a Thread, P1003.1c/D10, p. 43
+ */
+
+#if defined(_POSIX_THREADS)
+int _EXFUN(pthread_kill, (pthread_t thread, int sig));
+#endif
+
+/*
+ * 3.4.1 Schedule Alarm, P1003.1b-1993, p. 79
+ */
+
+unsigned int _EXFUN(alarm, (unsigned int seconds));
+
+/*
+ * 3.4.2 Suspend Process Execution, P1003.1b-1993, p. 80
+ */
+
+int _EXFUN(pause, (void));
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
diff --git a/newlib/libc/sys/rtems/include/time.h b/newlib/libc/sys/rtems/include/time.h
new file mode 100644
index 00000000000..647adc6d5e5
--- /dev/null
+++ b/newlib/libc/sys/rtems/include/time.h
@@ -0,0 +1,218 @@
+/*
+ * $Id$
+ */
+
+
+#ifndef __POSIX_TIME_h
+#define __POSIX_TIME_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <sys/features.h>
+#include "_ansi.h"
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/siginfo.h>
+
+/*
+ * 4.8.1.5 Special Symbol {CLK_TCK}, P1003.1b-1993, p. 97
+ */
+
+#define CLK_TCK sysconf(_SC_CLK_TCK)
+
+/*
+ * Get size_t from the GNU C version of stddef.h
+ */
+
+#define __need_size_t
+#include <stddef.h>
+
+/*
+ * ANSI C Time Conversion Structure
+ *
+ * XXX reference
+ */
+
+struct tm
+{
+ int tm_sec;
+ int tm_min;
+ int tm_hour;
+ int tm_mday;
+ int tm_mon;
+ int tm_year;
+ int tm_wday;
+ int tm_yday;
+ int tm_isdst;
+};
+
+/*
+ * ANSI C Time Conversion Routines
+ *
+ * XXX reference
+ */
+
+clock_t _EXFUN(clock, (void));
+double _EXFUN(difftime, (time_t _time2, time_t _time1));
+time_t _EXFUN(mktime, (struct tm *_timeptr));
+time_t _EXFUN(time, (time_t *_timer));
+size_t _EXFUN(strftime,
+ (char *_s, size_t _maxsize, const char *_fmt, const struct tm *_t));
+
+#ifndef _REENT_ONLY
+char *_EXFUN(asctime, (const struct tm *_tblock));
+char *_EXFUN(ctime, (const time_t *_time));
+struct tm *_EXFUN(gmtime, (const time_t *_timer));
+struct tm *_EXFUN(localtime,(const time_t *_timer));
+#endif
+
+/*
+ * Added by 8.3.5 - 8.3.8, P1002.1c/D10, p. 66-69.
+ */
+
+char *_EXFUN(asctime_r, (const struct tm *, char *));
+char *_EXFUN(ctime_r, (const time_t *, char *));
+struct tm *_EXFUN(gmtime_r, (const time_t *, struct tm *));
+struct tm *_EXFUN(localtime_r, (const time_t *, struct tm *));
+
+/*
+ * 4.5.1 Get System Time, P1003.1b-1993, p. 91
+ */
+
+time_t _EXFUN(time, (time_t *tloc));
+
+#if defined(_POSIX_TIMERS)
+
+/*
+ * 14.2.1 Clocks, P1003.1b-1993, p. 263
+ */
+
+int _EXFUN(clock_settime, (clockid_t clock_id, const struct timespec *tp));
+int _EXFUN(clock_gettime, (clockid_t clock_id, struct timespec *tp));
+int _EXFUN(clock_getres, (clockid_t clock_id, struct timespec *res));
+
+/*
+ * 14.2.2 Create a Per-Process Timer, P1003.1b-1993, p. 264
+ */
+
+int _EXFUN(timer_create,
+ (clockid_t clock_id, struct sigevent *evp, timer_t *timerid)
+);
+
+/*
+ * 14.2.3 Delete a Per_process Timer, P1003.1b-1993, p. 266
+ */
+
+int _EXFUN(timer_delete, (timer_t timerid));
+
+/*
+ * 14.2.4 Per-Process Timers, P1003.1b-1993, p. 267
+ */
+
+int _EXFUN(timer_settime,
+ (timer_t timerid,
+ int flags,
+ const struct itimerspec *value,
+ struct itimerspec *ovalue)
+);
+
+int _EXFUN(timer_gettime, (timer_t timerid, struct itimerspec *value));
+int _EXFUN(timer_getoverrun, (timer_t timerid));
+
+/*
+ * 14.2.5 High Resolution Sleep, P1003.1b-1993, p. 269
+ */
+
+int _EXFUN(nanosleep, (const struct timespec *rqtp, struct timespec *rmtp));
+
+#endif /* _POSIX_TIMERS */
+
+/*
+ * 20.1.1 CPU-time Clock Attributes, P1003.4b/D8, p. 54
+ */
+
+/* values for the clock enable attribute */
+
+#define CLOCK_ENABLED 1 /* clock is enabled, i.e. counting execution time */
+#define CLOCK_DISABLED 0 /* clock is disabled */
+
+/* values for the pthread cputime_clock_allowed attribute */
+
+#define CLOCK_ALLOWED 1 /* If a thread is created with this value a */
+ /* CPU-time clock attached to that thread */
+ /* shall be accessible. */
+#define CLOCK_DISALLOWED 0 /* If a thread is created with this value, the */
+ /* thread shall not have a CPU-time clock */
+ /* accessible. */
+
+/*
+ * 14.1.3 Manifest Constants, P1003.1b-1993, p. 262
+ */
+
+#define CLOCK_REALTIME (clockid_t)1
+
+/*
+ * Flag indicating time is "absolute" with respect to the clock
+ * associated with a time
+ */
+
+#define TIMER_ABSTIME 4
+
+/*
+ * 20.1.2 Manifest Constants, P1003.4b/D8, p. 55
+ */
+
+#if defined(_POSIX_CPUTIME)
+
+/*
+ * When used in a clock or timer function call, this is interpreted as
+ * the identifier of the CPU_time clock associated with the PROCESS
+ * making the function call.
+ */
+
+#define CLOCK_PROCESS_CPUTIME (clockid_t)2
+
+#endif
+
+#if defined(_POSIX_THREAD_CPUTIME)
+
+/*
+ * When used in a clock or timer function call, this is interpreted as
+ * the identifier of the CPU_time clock associated with the THREAD
+ * making the function call.
+ */
+
+#define CLOCK_THREAD_CPUTIME (clockid_t)3
+
+#endif
+
+#if defined(_POSIX_CPUTIME)
+
+/*
+ * 20.1.3 Accessing a Process CPU-time CLock, P1003.4b/D8, p. 55
+ */
+
+int _EXFUN(clock_getcpuclockid, (pid_t pid, clockid_t *clock_id));
+
+#endif /* _POSIX_CPUTIME */
+
+#if defined(_POSIX_CPUTIME) || defined(_POSIX_THREAD_CPUTIME)
+
+/*
+ * 20.1.5 CPU-time Clock Attribute Access, P1003.4b/D8, p. 56
+ */
+
+int _EXFUN(clock_setenable_attr, (clockid_t clock_id, int attr));
+
+int _EXFUN(clock_getenable_attr, (clockid_t clock_id, int *attr));
+
+#endif /* _POSIX_CPUTIME or _POSIX_THREAD_CPUTIME */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
diff --git a/newlib/libc/sys/rtems/sys/dirent.h b/newlib/libc/sys/rtems/sys/dirent.h
new file mode 100644
index 00000000000..93808d312b1
--- /dev/null
+++ b/newlib/libc/sys/rtems/sys/dirent.h
@@ -0,0 +1,52 @@
+#ifndef _SYS_DIRENT_H
+# define _SYS_DIRENT_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * This file was written to be compatible with the BSD directory
+ * routines, so it looks like it. But it was written from scratch.
+ * Sean Eric Fagan, sef@Kithrup.COM
+ *
+ * Copied to RTEMS configuration without modification.
+ */
+
+typedef struct _dirdesc {
+ int dd_fd;
+ long dd_loc;
+ long dd_size;
+ char *dd_buf;
+ int dd_len;
+ long dd_seek;
+} DIR;
+
+# define __dirfd(dp) ((dp)->dd_fd)
+
+DIR *opendir(const char *);
+struct dirent *readdir(DIR *);
+void rewinddir(DIR *);
+int closedir(DIR *);
+void seekdir(DIR *dir, long loc);
+long telldir(DIR *dir);
+
+#include <sys/types.h>
+
+#include <limits.h>
+
+struct dirent {
+ long d_ino;
+ off_t d_off;
+ unsigned short d_reclen;
+ /* we need better syntax for variable-sized arrays */
+ unsigned short d_namlen;
+ char d_name[NAME_MAX + 1];
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif
diff --git a/newlib/libc/sys/rtems/sys/features.h b/newlib/libc/sys/rtems/sys/features.h
new file mode 100644
index 00000000000..8a6b8cb5a4b
--- /dev/null
+++ b/newlib/libc/sys/rtems/sys/features.h
@@ -0,0 +1,111 @@
+/*
+ * This file lists the symbols which may be defined to indicate
+ * the presence of POSIX features subsets. If defined, the
+ * feature must be supported.
+ *
+ * NOTE: This file lists all feature constants. The ones not supported
+ * should be commented out.
+ *
+ * XXX: These are all "Compile-Time Symbolic Constants". Need to
+ * address "Execution-Time" ones.
+ *
+ * $Id$
+ */
+
+#ifndef __RTEMS_POSIX_FEATURES_h
+#define __RTEMS_POSIX_FEATURES_h
+
+/*
+ * XXX: Temporary function so we can break when something that is
+ * not implemented is invoked.
+ */
+
+int POSIX_MP_NOT_IMPLEMENTED( void );
+int POSIX_NOT_IMPLEMENTED( void );
+int POSIX_BOTTOM_REACHED( void );
+
+/****************************************************************************
+ ****************************************************************************
+ * *
+ * P1003.1b-1993 defines the constants below this comment. *
+ * *
+ ****************************************************************************
+ ****************************************************************************/
+
+/*
+ * Newlib may already have this set defined.
+ */
+
+#ifndef _POSIX_JOB_CONTROL
+#define _POSIX_JOB_CONTROL
+#endif
+
+#ifndef _POSIX_SAVED_IDS
+#define _POSIX_SAVED_IDS
+#endif
+
+#define _POSIX_ASYNCHRONOUS_IO
+#define _POSIX_FSYNC
+#define _POSIX_MAPPED_FILES
+#define _POSIX_MEMLOCK
+#define _POSIX_MEMLOCK_RANGE
+#define _POSIX_MEMORY_PROTECTION
+#define _POSIX_MESSAGE_PASSING
+#define _POSIX_PRIORITIZED_IO
+#define _POSIX_PRIORITY_SCHEDULING
+#define _POSIX_REALTIME_SIGNALS
+#define _POSIX_SEMAPHORES
+#define _POSIX_SHARED_MEMORY_OBJECTS
+#define _POSIX_SYNCHRONIZED_IO
+#define _POSIX_TIMERS
+
+/*
+ * This indicates the version number of the POSIX standard we are
+ * trying to be compliant with.
+ *
+ * NOTE: Newlib may already have this set defined.
+ */
+
+#ifdef _POSIX_VERSION
+#undef _POSIX_VERSION
+#define _POSIX_VERSION 199309L
+#endif
+
+/****************************************************************************
+ ****************************************************************************
+ * *
+ * P1003.1c/D10 defines the constants below this comment. *
+ * *
+ ****************************************************************************
+ ****************************************************************************/
+
+#define _POSIX_THREADS
+#define _POSIX_THREAD_ATTR_STACKADDR
+#define _POSIX_THREAD_ATTR_STACKSIZE
+#define _POSIX_THREAD_PRIORITY_SCHEDULING
+#define _POSIX_THREAD_PRIO_INHERIT
+#define _POSIX_THREAD_PRIO_PROTECT
+#define _POSIX_THREAD_PROCESS_SHARED
+#define _POSIX_THREAD_SAFE_FUNCTIONS
+
+/****************************************************************************
+ ****************************************************************************
+ * *
+ * P1003.4b/D8 defines the constants below this comment. *
+ * *
+ ****************************************************************************
+ ****************************************************************************/
+
+#define _POSIX_SPAWN
+#define _POSIX_TIMEOUTS
+#define _POSIX_CPUTIME
+#define _POSIX_THREAD_CPUTIME
+#define _POSIX_SPORADIC_SERVER
+#define _POSIX_THREAD_SPORADIC_SERVER
+#define _POSIX_DEVICE_CONTROL
+#define _POSIX_DEVCTL_DIRECTION
+#define _POSIX_INTERRUPT_CONTROL
+#define _POSIX_ADVISORY_INFO
+
+#endif
+/* end of include file */
diff --git a/newlib/libc/sys/rtems/sys/sched.h b/newlib/libc/sys/rtems/sys/sched.h
new file mode 100644
index 00000000000..16cee13c739
--- /dev/null
+++ b/newlib/libc/sys/rtems/sys/sched.h
@@ -0,0 +1,56 @@
+/*
+ * $Id$
+ */
+
+
+#ifndef __POSIX_SYS_SCHEDULING_h
+#define __POSIX_SYS_SCHEDULING_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <sys/features.h>
+
+#include <sys/types.h>
+#include <sys/time.h>
+
+/*
+ * 13.2 Scheduling Policies, P1003.1b-1993, p. 250
+ *
+ * NOTE: SCHED_SPORADIC added by P1003.4b/D8, p. 34.
+ */
+
+#define SCHED_OTHER 0
+#define SCHED_FIFO 1
+#define SCHED_RR 2
+
+#if defined(_POSIX_SPORADIC_SERVER)
+#define SCHED_SPORADIC 3
+#endif
+
+/*
+ * 13.1 Scheduling Parameters, P1003.1b-1993, p. 249
+ *
+ * NOTE: Fields whose name begins with "ss_" added by P1003.4b/D8, p. 33.
+ */
+
+struct sched_param {
+ int sched_priority; /* Process execution scheduling priority */
+
+#if defined(_POSIX_SPORADIC_SERVER)
+ int ss_low_priority; /* Low scheduling priority for sporadic */
+ /* server */
+ struct timespec ss_replenish_period;
+ /* Replenishment period for sporadic server */
+ struct timespec ss_initial_budget; /* Initial budget for sporadic server */
+#endif
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
+
diff --git a/newlib/libc/sys/rtems/sys/siginfo.h b/newlib/libc/sys/rtems/sys/siginfo.h
new file mode 100644
index 00000000000..c1bcf61aec6
--- /dev/null
+++ b/newlib/libc/sys/rtems/sys/siginfo.h
@@ -0,0 +1,176 @@
+/*
+ * $Id$
+ */
+
+#ifndef __POSIX_SYS_SIGNAL_INFORMATION_h
+#define __POSIX_SYS_SIGNAL_INFORMATION_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if defined(_POSIX_THREADS)
+#include <sys/types.h>
+#endif
+
+/*
+ * 3.3 Signal Concepts, P1003.1b-1993, p. 60
+ */
+
+typedef __uint32_t sigset_t;
+
+#define SIG_DFL ((void (*)())0) /* Request for default signal handling */
+#define SIG_IGN ((void (*)())1) /* Request that signal be ignored */
+
+#define SIG_ERR ((void (*)())-1) /* Returned by signal() on error */
+
+/*
+ * Required Signals.
+ *
+ * The default action is in parentheses and is one of the
+ * following actions:
+ *
+ * (1) abnormal termination of process
+ * (2) ignore the signal
+ * (3) stop the process
+ * (4) continue the process if it is currently stopped, otherwise
+ * ignore the signal
+ */
+
+#define SIGHUP 1 /* (1) hangup detected on controlling terminal */
+#define SIGINT 2 /* (1) interactive attention signal */
+#define SIGQUIT 3 /* (1) interactive termination signal */
+#define SIGILL 4 /* (1) illegal instruction */
+#define SIGTRAP 5 /* (1) trace trap (not reset) */
+#define SIGIOT 6 /* (1) IOT instruction */
+#define SIGABRT 6 /* (1) abnormal terminal signal */
+#define SIGEMT 7 /* (1) EMT instruction */
+#define SIGFPE 8 /* (1) erroneous arithmetic operation */
+#define SIGKILL 9 /* (1) termination signal */
+#define SIGBUS 10 /* (1) bus error */
+#define SIGSEGV 11 /* (1) invalid memory reference */
+#define SIGSYS 12 /* (1) bad argument to system call */
+#define SIGPIPE 13 /* (1) write on pipe with no readers */
+#define SIGALRM 14 /* (1) timeout signal, such as initiated by alarm() */
+#define SIGTERM 15 /* (1) termination signal */
+#define SIGUSR1 16 /* (1) reserved as application defined signal 1 */
+#define SIGUSR2 17 /* (1) reserved as application defined signal 2 */
+
+#define __SIGFIRSTNOTRT SIGHUP
+#define __SIGLASTNOTRT SIGUSR2
+
+/*
+ * RTEMS does not support job control, hence no Job Control Signals are
+ * defined per P1003.1b-1993, p. 60-61.
+ */
+
+/*
+ * RTEMS does not support memory protection, hence no Memory Protection
+ * Signals are defined per P1003.1b-1993, p. 60-61.
+ */
+
+/*
+ * Real-Time Signals Range, P1003.1b-1993, p. 61
+ *
+ * NOTE: This should be at least RTSIG_MAX (which is a minimum of 8) signals.
+ */
+
+#define SIGRTMIN 18
+#define SIGRTMAX 32
+
+/* sigev_notify values
+ *
+ * NOTE: P1003.1c/D10, p. 34 adds SIGEV_THREAD.
+ */
+
+#define SIGEV_NONE 1 /* No asynchronous notification shall be delivered */
+ /* when the event of interest occurs. */
+#define SIGEV_SIGNAL 2 /* A queued signal, with an application defined */
+ /* value, shall be delivered when the event of */
+ /* interest occurs. */
+#define SIGEV_THREAD 3 /* A notification function shall be called to */
+ /* perform notification. */
+/*
+ * 3.3.1.2 Signal Generation and Delivery, P1003.1b-1993, p. 63
+ *
+ * NOTE: P1003.1c/D10, p. 34 adds sigev_notify_function and
+ * sigev_notify_attributes to the sigevent structure.
+ */
+
+union sigval {
+ int sival_int; /* Integer signal value */
+ void *sival_ptr; /* Pointer signal value */
+};
+
+struct sigevent {
+ int sigev_notify; /* Notification type */
+ int sigev_signo; /* Signal number */
+ union sigval sigev_value; /* Signal value */
+
+#if defined(_POSIX_THREADS)
+ void (*sigev_notify_function)( union sigval );
+ /* Notification function */
+ pthread_attr_t *sigev_notify_attributes; /* Notification Attributes */
+#endif
+};
+
+/*
+ * 3.3.1.3 Signal Actions, P1003.1b-1993, p. 64
+ */
+
+/* si_code values, p. 66 */
+
+#define SI_USER 1 /* Sent by a user. kill(), abort(), etc */
+#define SI_QUEUE 2 /* Sent by sigqueue() */
+#define SI_TIMER 3 /* Sent by expiration of a timer_settime() timer */
+#define SI_ASYNCIO 4 /* Indicates completion of asycnhronous IO */
+#define SI_MESGQ 5 /* Indicates arrival of a message at an empty queue */
+
+typedef struct {
+ int si_signo; /* Signal number */
+ int si_code; /* Cause of the signal */
+ union sigval si_value; /* Signal value */
+} siginfo_t;
+
+/*
+ * 3.3.4 Examine and Change Signal Action, P1003.1b-1993, p. 70
+ */
+
+/* sa_flags values */
+
+#define SA_NOCLDSTOP 1 /* Do not generate SIGCHLD when children stop */
+#define SA_SIGINFO 2 /* Invoke the signal catching function with */
+ /* three arguments instead of one. */
+
+/*
+ * Data Structure Notes:
+ *
+ * (1) Routines stored in sa_handler should take a single int as
+ * there argument although the POSIX standard does not require this.
+ * (2) The fields sa_handler and sa_sigaction may overlap, and a conforming
+ * application should not use both simultaneously.
+ *
+ * NOTE: In this implementation, macros are provided to access into the
+ * union.
+ */
+
+struct sigaction {
+ int sa_flags; /* Special flags to affect behavior of signal */
+ sigset_t sa_mask; /* Additional set of signals to be blocked */
+ /* during execution of signal-catching */
+ /* function. */
+ union {
+ void (*_handler)(); /* SIG_DFL, SIG_IGN, or pointer to a function */
+ void (*_sigaction)( int, siginfo_t *, void * );
+ } _signal_handlers;
+};
+
+#define sa_handler _signal_handlers._handler
+#define sa_sigaction _signal_handlers._sigaction
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
diff --git a/newlib/libc/sys/rtems/sys/signal.h b/newlib/libc/sys/rtems/sys/signal.h
new file mode 100644
index 00000000000..0aefbae6a54
--- /dev/null
+++ b/newlib/libc/sys/rtems/sys/signal.h
@@ -0,0 +1,6 @@
+/*
+ * Is <sys/signal.h> really necessary for RTEMS?
+ *
+ * For sure we want to keep newlib's default version out of the install
+ * so this empty file helps out in that regards.
+ */
diff --git a/newlib/libc/sys/rtems/sys/time.h b/newlib/libc/sys/rtems/sys/time.h
new file mode 100644
index 00000000000..596ec5730df
--- /dev/null
+++ b/newlib/libc/sys/rtems/sys/time.h
@@ -0,0 +1,73 @@
+/*
+ * $Id$
+ */
+
+#include <sys/types.h>
+
+#ifndef __POSIX_SYS_TIME_h
+#define __POSIX_SYS_TIME_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * Get the CPU dependent types for clock_t and time_t
+ *
+ * NOTE: These must be visible by including <time.h>.
+ */
+
+/* Get _CLOCK_T_ and _TIME_T_. */
+#include <machine/types.h>
+
+#ifndef __clock_t_defined
+typedef _CLOCK_T_ clock_t;
+#define __clock_t_defined
+#endif
+
+#ifndef __time_t_defined
+typedef _TIME_T_ time_t;
+#define __time_t_defined
+#endif
+
+/*
+ * 14.1.1 Time Value Specification Structures, P1003.1b-1993, p. 261
+ */
+
+struct timespec {
+ time_t tv_sec; /* Seconds */
+ long tv_nsec; /* Nanoseconds */
+};
+
+struct itimerspec {
+ struct timespec it_interval; /* Timer period */
+ struct timespec it_value; /* Timer expiration */
+};
+
+/* XXX should really be ifdef'ed */
+
+/*
+ * BSD based stuff
+ */
+
+struct timezone {
+ int tz_minuteswest;
+ int tz_dsttime;
+};
+
+struct timeval {
+ int tv_sec;
+ int tv_usec;
+};
+
+int gettimeofday(
+ struct timeval *tp,
+ struct timezone *tzp
+);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include */
diff --git a/newlib/libc/sys/rtems/sys/times.h b/newlib/libc/sys/rtems/sys/times.h
new file mode 100644
index 00000000000..3b8599d300a
--- /dev/null
+++ b/newlib/libc/sys/rtems/sys/times.h
@@ -0,0 +1,31 @@
+/*
+ * $Id$
+ */
+
+#ifndef __POSIX_SYS_TIMES_h
+#define __POSIX_SYS_TIMES_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <sys/types.h>
+
+/*
+ * 4.5.2 Get Process Times, P1003.1b-1993, p. 92
+ */
+
+struct tms {
+ clock_t tms_utime; /* User CPU time */
+ clock_t tms_stime; /* System CPU time */
+ clock_t tms_cutime; /* User CPU time of terminated child processes */
+ clock_t tms_cstime; /* System CPU time of terminated child processes */
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
+
diff --git a/newlib/libc/sys/rtems/sys/types.h b/newlib/libc/sys/rtems/sys/types.h
new file mode 100644
index 00000000000..974655027aa
--- /dev/null
+++ b/newlib/libc/sys/rtems/sys/types.h
@@ -0,0 +1,346 @@
+/*
+ * XXX address -D__CPU__ versus -DCPU
+ *
+ * $Id$
+ */
+
+#ifndef __POSIX_SYS_TYPES_h
+#define __POSIX_SYS_TYPES_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <sys/features.h>
+#include <_ansi.h>
+#include <stddef.h>
+#include <machine/types.h>
+
+/*
+ * Define __go32_types if we are in go32 configuration. It will be undefined
+ * at the end of this file.
+ */
+
+#ifdef __i386__
+#if !defined (__unix__) || defined (_WIN32)
+#define __go32_types__
+#endif
+#endif
+
+#ifndef _POSIX_SOURCE
+#define physadr physadr_t
+#define quad quad_t
+
+typedef unsigned char u_char;
+typedef unsigned short u_short;
+typedef unsigned int u_int;
+typedef unsigned long u_long;
+typedef unsigned short ushort; /* System V compatibility */
+typedef unsigned int uint; /* System V compatibility */
+# endif /*!_POSIX_SOURCE */
+
+typedef long daddr_t;
+typedef char * caddr_t;
+
+/*
+ * 2.5: Primitive System Data Types, P1003.1b-1993, p. 32.
+ */
+
+#ifdef __go32_types__
+typedef unsigned long ino_t;
+#else
+#ifdef __sparc__
+typedef unsigned long ino_t;
+#else
+typedef unsigned short ino_t;
+#endif
+#endif
+
+typedef unsigned long long dev_t;/* device numbers 32-bit major and minor */
+typedef long off_t; /* file sizes */
+
+typedef unsigned short uid_t; /* user IDs */
+typedef unsigned short gid_t; /* group IDs */
+
+typedef int pid_t; /* process and process group IDs */
+typedef long key_t;
+
+#ifdef __go32_types__
+typedef char *addr_t;
+typedef int mode_t;
+#else
+#if defined (__sparc__) && !defined (__sparc_v9__)
+#ifdef __svr4__
+typedef unsigned long mode_t; /* some file attributes */
+#else
+typedef unsigned short mode_t; /* some file attributes */
+#endif
+#else
+typedef unsigned mode_t; /* some file attributes */
+#endif
+#endif /* ! __go32_types__ */
+
+typedef unsigned int nlink_t; /* link counts */
+
+#ifndef __SIZE_T
+#define __SIZE_T
+typedef int size_t; /* see C Standard XXX */
+#endif
+
+typedef int ssize_t; /* count of bytes (memory space) or error */
+
+/*
+ * This is just copied from the standard newlib <sys/types.h>
+ */
+
+# ifndef _POSIX_SOURCE
+
+# define NBBY 8 /* number of bits in a byte */
+/*
+ * Select uses bit masks of file descriptors in longs.
+ * These macros manipulate such bit fields (the filesystem macros use chars).
+ * FD_SETSIZE may be defined by the user, but the default here
+ * should be >= NOFILE (param.h).
+ */
+# ifndef FD_SETSIZE
+# define FD_SETSIZE 60
+# endif
+
+typedef long fd_mask;
+#define NFDBITS (sizeof (fd_mask) * NBBY) /* bits per mask */
+#ifndef howmany
+#define howmany(x,y) (((x)+((y)-1))/(y))
+#endif
+
+typedef struct fd_set {
+ fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)];
+} fd_set;
+
+
+#define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1L << ((n) % NFDBITS)))
+#define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1L << ((n) % NFDBITS)))
+#define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1L << ((n) % NFDBITS)))
+#define FD_ZERO(p) bzero((caddr_t)(p), sizeof (*(p)))
+
+
+# endif /* _POSIX_SOURCE */
+
+/*
+ * 4.1.1 Get Process and Parent Process IDs, P1003.1b-1993, p. 83
+ */
+
+pid_t _EXFUN(getpid, (void) );
+pid_t _EXFUN(getppid, (void) );
+
+/*
+ * 4.2.1 Get Real User, Effective User, Real Group, and Effective Group IDs,
+ * P1003.1b-1993, p. 84
+ */
+
+#ifndef __go32_types__
+uid_t _EXFUN(getuid, (void));
+uid_t _EXFUN(geteuid, (void));
+gid_t _EXFUN(getgid, (void));
+gid_t _EXFUN(getegid, (void));
+#endif
+
+/*
+ * 4.2.2 Set User and Group IDs, P1003.1b-1993, p. 84
+ */
+
+int _EXFUN(setuid, (uid_t uid));
+int _EXFUN(setgid, (gid_t gid));
+
+/*
+ * 4.2.3 Get Supplementary IDs, P1003.1b-1993, p. 86
+ */
+
+int _EXFUN(getgroups, (int gidsetsize, gid_t grouplist[]) );
+
+/*
+ * 4.2.4 Get User Name, P1003.1b-1993, p. 87
+ *
+ * NOTE: P1003.1c/D10, p. 49 adds getlogin_r().
+ */
+
+char * _EXFUN(getlogin, (void) );
+
+#if defined(_POSIX_THREAD_SAFE_FUNCTIONS)
+int _EXFUN(getlogin_r, (char *name, size_t namesize) );
+#endif
+
+/*
+ * 4.3.1 Get Process Group IDs, P1003.1b-1993, p. 89
+ */
+
+pid_t _EXFUN(getpgrp, (void) );
+
+/*
+ * 4.3.2 Create Session and Set Process Group ID, P1003.1b-1993, p. 88
+ */
+
+pid_t _EXFUN(setsid, (void) );
+
+/*
+ * 4.3.3 Set Process Group ID for Job Control, P1003.1b-1993, p. 89
+ */
+
+int _EXFUN(setpgid, (pid_t pid, pid_t pgid) );
+
+/*
+ * 14.1.3 Clock Type Definition, P1003.1b-1993, p. 262
+ *
+ * Set the CPU dependent types for clockid_t and timer_t based on the
+ * unsigned 32 bit integer type defined in <sys/config.h>
+ */
+
+/* Set _CLOCK_T_ and _TIME_T_. */
+#define _CLOCKID_T_ __uint32_t
+#define _TIMER_T_ __uint32_t
+
+#ifndef __clockid_t_defined
+typedef _CLOCKID_T_ clockid_t;
+#define __clockid_t_defined
+#endif
+
+#ifndef __timer_t_defined
+typedef _TIMER_T_ timer_t;
+#define __timer_t_defined
+#endif
+
+/*
+ * Get rid of this variable
+ */
+
+#undef __go32_types__
+
+
+#if defined(_POSIX_THREADS)
+
+#include <sys/sched.h>
+
+/*
+ * 2.5 Primitive System Data Types, P1003.1c/D10, p. 19.
+ */
+
+typedef __uint32_t pthread_t; /* identify a thread */
+
+/*
+ * XXX
+ *
+ * NOTE: P1003.4b/D8, p. 54 adds cputime_clock_allowed attribute.
+ */
+
+/* P1003.1c/D10, p. 118-119 */
+#define PTHREAD_SCOPE_PROCESS 0
+#define PTHREAD_SCOPE_SYSTEM 1
+
+/* P1003.1c/D10, p. 111 */
+#define PTHREAD_INHERIT_SCHED 1 /* scheduling policy and associated */
+ /* attributes are inherited from */
+ /* the calling thread. */
+#define PTHREAD_EXPLICIT_SCHED 2 /* set from provided attribute object */
+
+/* P1003.1c/D10, p. 141 */
+#define PTHREAD_CREATE_DETACHED 0
+#define PTHREAD_CREATE_JOINABLE 1
+
+typedef struct {
+ int is_initialized;
+ void *stackaddr;
+ int stacksize;
+ int contentionscope;
+ int inheritsched;
+ int schedpolicy;
+ struct sched_param schedparam;
+
+#if defined(_POSIX_THREAD_CPUTIME)
+ int cputime_clock_allowed; /* see time.h */
+#endif
+ int detachstate;
+
+} pthread_attr_t;
+
+/*
+ * XXX
+ */
+
+#if defined(_POSIX_THREAD_PROCESS_SHARED)
+/*
+ * NOTE: P1003.1c/D10, p. 81 defines following values for process_shared.
+ */
+
+#define PTHREAD_PROCESS_PRIVATE 0 /* visible within only the creating process */
+#define PTHREAD_PROCESS_SHARED 1 /* visible too all processes with access to */
+ /* the memory where the resource is */
+ /* located */
+#endif
+
+/*
+ * 13.6.1 Mutex Initialization Scheduling Attributes, P1003.1c/Draft 10, p. 128
+ */
+
+#if defined(_POSIX_THREAD_PRIO_PROTECT)
+/*
+ * Values for protocol.
+ */
+
+#define PTHREAD_PRIO_NONE 0
+#define PTHREAD_PRIO_INHERIT 1
+#define PTHREAD_PRIO_PROTECT 2
+#endif
+
+/*
+ * XXX
+ */
+
+typedef __uint32_t pthread_mutex_t; /* identify a mutex */
+
+typedef struct {
+ int is_initialized;
+#if defined(_POSIX_THREAD_PROCESS_SHARED)
+ int process_shared; /* allow mutex to be shared amongst processes */
+#endif
+#if defined(_POSIX_THREAD_PRIO_PROTECT)
+ int prio_ceiling;
+ int protocol;
+#endif
+ int recursive;
+} pthread_mutexattr_t;
+
+/*
+ * XXX
+ */
+
+typedef __uint32_t pthread_cond_t; /* identify a condition variable */
+
+typedef struct {
+ int is_initialized;
+#if defined(_POSIX_THREAD_PROCESS_SHARED)
+ int process_shared; /* allow this to be shared amongst processes */
+#endif
+} pthread_condattr_t; /* a condition attribute object */
+
+/*
+ * XXX
+ */
+
+typedef __uint32_t pthread_key_t; /* thread-specific data keys */
+
+/*
+ * XXX
+ */
+
+typedef struct {
+ int is_initialized; /* is this structure initialized? */
+ int init_executed; /* has the initialization routine been run? */
+} pthread_once_t; /* dynamic package initialization */
+
+#endif /* defined(_POSIX_THREADS) */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
diff --git a/newlib/libc/sys/sh/Makefile.am b/newlib/libc/sys/sh/Makefile.am
new file mode 100644
index 00000000000..da89f119864
--- /dev/null
+++ b/newlib/libc/sys/sh/Makefile.am
@@ -0,0 +1,14 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = syscalls.c trap.S creat.c
+
+all: crt0.o
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/sh/Makefile.in b/newlib/libc/sys/sh/Makefile.in
new file mode 100644
index 00000000000..d6fc79a9356
--- /dev/null
+++ b/newlib/libc/sys/sh/Makefile.in
@@ -0,0 +1,320 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = syscalls.c trap.S creat.c
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = syscalls.o trap.o creat.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in \
+ ../../../acinclude.m4 ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @banner="$(distdir).tar.gz is ready for distribution"; \
+ dashes=`echo "$$banner" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ echo "$$dashes"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am:
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-info-am:
+install-info: install-info-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am:
+uninstall: uninstall-am
+all-am: Makefile $(LIBRARIES)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-noinstLIBRARIES distclean-compile \
+ distclean-tags distclean-generic clean-am
+
+distclean: distclean-am
+ -rm -f config.status
+
+maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-info-am install-info \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+all: crt0.o
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/sys/sh/aclocal.m4 b/newlib/libc/sys/sh/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/sys/sh/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/sys/sh/configure b/newlib/libc/sys/sh/configure
new file mode 100755
index 00000000000..d861d17e175
--- /dev/null
+++ b/newlib/libc/sys/sh/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=creat.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/sys/sh/configure.in b/newlib/libc/sys/sh/configure.in
new file mode 100644
index 00000000000..84e836394b2
--- /dev/null
+++ b/newlib/libc/sys/sh/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/sys/sh configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(creat.c)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/sys/sh/creat.c b/newlib/libc/sys/sh/creat.c
new file mode 100644
index 00000000000..62ec5ead8d8
--- /dev/null
+++ b/newlib/libc/sys/sh/creat.c
@@ -0,0 +1,7 @@
+int
+creat(path, mode)
+ const char *path;
+ int mode;
+{
+ return _creat (path, mode);
+}
diff --git a/newlib/libc/sys/sh/crt0.S b/newlib/libc/sys/sh/crt0.S
new file mode 100644
index 00000000000..5ad67806aa2
--- /dev/null
+++ b/newlib/libc/sys/sh/crt0.S
@@ -0,0 +1,55 @@
+ .section .text
+ .global start
+start:
+ mov.l stack_k,r15
+
+ ! zero out bss
+ mov.l edata_k,r0
+ mov.l end_k,r1
+ mov #0,r2
+start_l:
+ mov.l r2,@r0
+ add #4,r0
+ cmp/ge r0,r1
+ bt start_l
+
+#if defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY)
+ mov.l set_fpscr_k, r1
+ jsr @r1
+ mov #0,r4
+ lds r3,fpscr
+#endif /* defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__) */
+
+ ! call the mainline
+ mov.l main_k,r0
+ jsr @r0
+ or r0,r0
+
+ ! call exit
+ mov r0,r4
+ mov.l exit_k,r0
+ jsr @r0
+ or r0,r0
+
+ .align 2
+#if defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__)
+set_fpscr_k:
+ .long ___set_fpscr
+#endif /* defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(SH4_SINGLE_ONLY) */
+stack_k:
+ .long _stack
+edata_k:
+ .long _edata
+end_k:
+ .long _end
+main_k:
+ .long _main
+exit_k:
+ .long _exit
+
+#ifdef __ELF__
+ .section .stack,"aw"
+#else
+ .section .stack
+#endif
+_stack: .long 0xdeaddead
diff --git a/newlib/libc/sys/sh/sys/syscall.h b/newlib/libc/sys/sh/sys/syscall.h
new file mode 100644
index 00000000000..f141df764c1
--- /dev/null
+++ b/newlib/libc/sys/sh/sys/syscall.h
@@ -0,0 +1,31 @@
+#define SYS_exit 1
+#define SYS_fork 2
+
+#define SYS_read 3
+#define SYS_write 4
+#define SYS_open 5
+#define SYS_close 6
+#define SYS_wait4 7
+#define SYS_creat 8
+#define SYS_link 9
+#define SYS_unlink 10
+#define SYS_execv 11
+#define SYS_chdir 12
+#define SYS_mknod 14
+#define SYS_chmod 15
+#define SYS_chown 16
+#define SYS_lseek 19
+#define SYS_getpid 20
+#define SYS_isatty 21
+#define SYS_fstat 22
+#define SYS_time 23
+
+
+#define SYS_ARG 24
+#define SYS_stat 38
+
+#define SYS_pipe 42
+#define SYS_execve 59
+
+#define SYS_utime 201 /* not really a system call */
+#define SYS_wait 202 /* nor is this */
diff --git a/newlib/libc/sys/sh/syscalls.c b/newlib/libc/sys/sh/syscalls.c
new file mode 100644
index 00000000000..8d04a9ee55d
--- /dev/null
+++ b/newlib/libc/sys/sh/syscalls.c
@@ -0,0 +1,170 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+int errno;
+
+/* This is used by _sbrk. */
+register char *stack_ptr asm ("r15");
+
+int
+_read (int file,
+ char *ptr,
+ int len)
+{
+ return __trap34 (SYS_read, file, ptr, len);
+}
+
+int
+_lseek (int file,
+ int ptr,
+ int dir)
+{
+ return __trap34 (SYS_lseek, file, ptr, dir);
+}
+
+int
+_write ( int file,
+ char *ptr,
+ int len)
+{
+ return __trap34 (SYS_write, file, ptr, len);
+}
+
+int
+_close (int file)
+{
+ return __trap34 (SYS_close, file, 0, 0);
+}
+
+caddr_t
+_sbrk (int incr)
+{
+ extern char end; /* Defined by the linker */
+ static char *heap_end;
+ char *prev_heap_end;
+
+ if (heap_end == 0)
+ {
+ heap_end = &end;
+ }
+ prev_heap_end = heap_end;
+ if (heap_end + incr > stack_ptr)
+ {
+ _write (1, "Heap and stack collision\n", 25);
+ abort ();
+ }
+ heap_end += incr;
+ return (caddr_t) prev_heap_end;
+}
+
+int
+_fstat (int file,
+ struct stat *st)
+{
+ st->st_mode = S_IFCHR;
+ return 0;
+}
+
+int
+_open (const char *path,
+ int flags)
+{
+ return __trap34 (SYS_open, path, flags, 0);
+}
+
+int
+_creat (const char *path,
+ int mode)
+{
+ return __trap34 (SYS_creat, path, mode, 0);
+}
+
+int
+_unlink ()
+{
+ return -1;
+}
+
+isatty (fd)
+ int fd;
+{
+ return 1;
+}
+
+_exit (n)
+{
+ return __trap34 (SYS_exit, n, 0, 0);
+}
+
+_kill (n, m)
+{
+ return __trap34 (SYS_exit, 0xdead, 0, 0);
+}
+
+_getpid (n)
+{
+ return 1;
+}
+
+_raise ()
+{
+}
+
+int
+_stat (const char *path, struct stat *st)
+
+{
+ return __trap34 (SYS_stat, path, st, 0);
+}
+
+int
+_chmod (const char *path, short mode)
+{
+ return __trap34 (SYS_chmod, path, mode);
+}
+
+int
+_chown (const char *path, short owner, short group)
+{
+ return __trap34 (SYS_chown, path, owner, group);
+}
+
+int
+_utime (path, times)
+ const char *path;
+ char *times;
+{
+ return __trap34 (SYS_utime, path, times);
+}
+
+int
+_fork ()
+{
+ return __trap34 (SYS_fork);
+}
+
+int
+_wait (statusp)
+ int *statusp;
+{
+ return __trap34 (SYS_wait);
+}
+
+int
+_execve (const char *path, char *const argv[], char *const envp[])
+{
+ return __trap34 (SYS_execve, path, argv, envp);
+}
+
+int
+_execv (const char *path, char *const argv[])
+{
+ return __trap34 (SYS_execv, path, argv);
+}
+
+int
+_pipe (int *fd)
+{
+ return __trap34 (SYS_pipe, fd);
+}
diff --git a/newlib/libc/sys/sh/trap.S b/newlib/libc/sys/sh/trap.S
new file mode 100644
index 00000000000..4512293e307
--- /dev/null
+++ b/newlib/libc/sys/sh/trap.S
@@ -0,0 +1,15 @@
+ .text
+ .global ___trap34
+___trap34:
+ trapa #34
+ tst r1,r1 ! r1 is errno
+ bt ret
+ mov.l perrno,r2
+ mov.l r1,@r2
+ret:
+ rts
+ nop
+
+ .align 2
+perrno:
+ .long _errno
diff --git a/newlib/libc/sys/sparc64/Makefile.am b/newlib/libc/sys/sparc64/Makefile.am
new file mode 100644
index 00000000000..83f0d31b3ca
--- /dev/null
+++ b/newlib/libc/sys/sparc64/Makefile.am
@@ -0,0 +1,119 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+# _r.o is for the reentrant syscall stubs.
+
+SUFFIXES = _r.o
+
+.S_r.o:
+ $(COMPILE) -DREENT -c $< -o $@
+
+.c_r.o:
+ $(COMPILE) -DREENT -c $< -o $@
+
+# We no longer copy files out of /lib/libc.a. This is kept around until
+# most of them have replacements.
+#
+#COPYOFILES = \
+# Ovfork.o _sigvec.o abort.o access.o chown.o creat.o \
+# errlst.o getdents.o getdtablesize.o getpid.o \
+# getrusage.o gettimeofday.o ieee_globals.o ioctl.o isatty.o \
+# kill.o popen.o sbrk.o sigblock.o sigpause.o sigsetmask.o \
+# sigtramp.o sigvec.o sleep.o setitimer.o start_float.o \
+# time.o times.o utime.o utimes.o wait3.o
+COPYOFILES =
+
+# These files are from Sun's libc.a but must be renamed because they
+# conflict with other library .o's. They are renamed to xxxS.o.
+# div.o is used by times.o. errno.o conflicts with libc/errno/errno.o.
+#COPYRENAMEOFILES = divS.o errnoS.o
+COPYRENAMEOFILES =
+
+#COPYOMFILES = ieee_flags.o
+COPYOMFILES =
+
+# CFILES_R, SFILES_R, and TEMPLATE_SFILES_R define those system calls that are
+# needed by the ANSI C part of newlib (and thus we must provide namespace
+# clean versions of them because we define REENTRANT_SYSCALLS_PROVIDED).
+
+CFILES = _main.c ieee.c \
+ closedir.c opendir.c readdir.c rewinddir.c scandir.c seekdir.c \
+ telldir.c \
+ creat.c isatty.c utime2.c
+
+CFILES_R =
+
+SFILES = cerror.S crt0.S dup2.S execve.S _exit.S sigsetjmp.S utime.S
+
+SFILES_R = sbrk.S wait.S
+
+# List of files built from template.S (with an '_' suffix).
+
+TEMPLATE_SFILES = access_ chdir_ chmod_ chown_ dup_ fcntl_ \
+ lstat_ mkdir_ pipe_ rmdir_ times_ umask_ utimes_
+
+TEMPLATE_SFILES_R = close_ fork_ fstat_ getpid_ gettimeofday_ kill_ \
+ link_ lseek_ open_ read_ stat_ times_ unlink_ wait4_ write_
+
+OFILES = $(COPYOFILES) $(COPYRENAMEOFILES) $(COPYOMFILES) \
+ $(SFILES:.S=.o) $(SFILES_R:.S=.o) $(SFILES_R:.S=_r.o) \
+ $(TEMPLATE_SFILES:_=.o) $(TEMPLATE_SFILES_R:_=.o) $(TEMPLATE_SFILES_R:_=_r.o) \
+ $(CFILES:.c=.o) $(CFILES_R:.c=.o) $(CFILES_R:.c=_r.o)
+
+lib_a_SOURCES = $(SFILES) $(SFILES_R) $(CFILES) $(CFILES_R)
+lib_a_LIBADD = $(COPYOFILES) $(COPYRENAMEOFILES) $(COPYOMFILES) \
+ $(SFILES_R:.S=_r.o) \
+ $(TEMPLATE_SFILES:_=.o) $(TEMPLATE_SFILES_R:_=.o) \
+ $(TEMPLATE_SFILES_R:_=_r.o) \
+ $(CFILES_R:.c=_r.o)
+
+$(COPYOFILES):
+ $(AR) x /lib/libc.a $(COPYOFILES)
+
+$(COPYRENAMEOFILES):
+ $(AR) x /lib/libc.a $(COPYRENAMEOFILES:S.o=.o)
+ for f in $(COPYRENAMEOFILES); do mv `basename $$f S.o`.o $$f; done
+
+$(COPYOMFILES):
+ $(AR) x /lib/libm.a $(COPYOMFILES)
+
+stamp-srcs: Makefile template.S template_r.S
+ for f in $(TEMPLATE_SFILES:_=); do \
+ $(COMPILE) -E -Dfunc=$$f $(srcdir)/template.S >$$f.S; \
+ done
+ for f in $(TEMPLATE_SFILES_R:_=); do \
+ $(COMPILE) -E -Dfunc=$$f $(srcdir)/template_r.S | sed -e 's/^_/#/' >$$f.S; \
+ done
+ touch stamp-srcs
+
+# Make a dependency for each file built from a template.
+
+$(TEMPLATE_SFILES:_=.S) $(TEMPLATE_SFILES_R:_=.S): stamp-srcs
+
+all: crt0.o
+
+close_r.o: close.S
+fork_r.o: fork.S
+fstat_r.o: fstat.S
+getpid_r.o: getpid.S
+gettimeofday_r.o: gettimeofday.S
+kill_r.o: kill.S
+link_r.o: link.S
+lseek_r.o: lseek.S
+open_r.o: open.S
+read_r.o: read.S
+sbrk_r.o: sbrk.S
+stat_r.o: stat.S
+times_r.o: times.S
+unlink_r.o: unlink.S
+wait_r.o: wait.S
+wait4_r.o: wait4.S
+write_r.o: write.S
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/sparc64/Makefile.in b/newlib/libc/sys/sparc64/Makefile.in
new file mode 100644
index 00000000000..3768341c20c
--- /dev/null
+++ b/newlib/libc/sys/sparc64/Makefile.in
@@ -0,0 +1,412 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+# _r.o is for the reentrant syscall stubs.
+
+SUFFIXES = _r.o
+
+# We no longer copy files out of /lib/libc.a. This is kept around until
+# most of them have replacements.
+#
+#COPYOFILES = \
+# Ovfork.o _sigvec.o abort.o access.o chown.o creat.o \
+# errlst.o getdents.o getdtablesize.o getpid.o \
+# getrusage.o gettimeofday.o ieee_globals.o ioctl.o isatty.o \
+# kill.o popen.o sbrk.o sigblock.o sigpause.o sigsetmask.o \
+# sigtramp.o sigvec.o sleep.o setitimer.o start_float.o \
+# time.o times.o utime.o utimes.o wait3.o
+COPYOFILES =
+
+# These files are from Sun's libc.a but must be renamed because they
+# conflict with other library .o's. They are renamed to xxxS.o.
+# div.o is used by times.o. errno.o conflicts with libc/errno/errno.o.
+#COPYRENAMEOFILES = divS.o errnoS.o
+COPYRENAMEOFILES =
+
+#COPYOMFILES = ieee_flags.o
+COPYOMFILES =
+
+# CFILES_R, SFILES_R, and TEMPLATE_SFILES_R define those system calls that are
+# needed by the ANSI C part of newlib (and thus we must provide namespace
+# clean versions of them because we define REENTRANT_SYSCALLS_PROVIDED).
+
+CFILES = _main.c ieee.c \
+ closedir.c opendir.c readdir.c rewinddir.c scandir.c seekdir.c \
+ telldir.c \
+ creat.c isatty.c utime2.c
+
+CFILES_R =
+
+SFILES = cerror.S crt0.S dup2.S execve.S _exit.S sigsetjmp.S utime.S
+
+SFILES_R = sbrk.S wait.S
+
+# List of files built from template.S (with an '_' suffix).
+
+TEMPLATE_SFILES = access_ chdir_ chmod_ chown_ dup_ fcntl_ \
+ lstat_ mkdir_ pipe_ rmdir_ times_ umask_ utimes_
+
+TEMPLATE_SFILES_R = close_ fork_ fstat_ getpid_ gettimeofday_ kill_ \
+ link_ lseek_ open_ read_ stat_ times_ unlink_ wait4_ write_
+
+OFILES = $(COPYOFILES) $(COPYRENAMEOFILES) $(COPYOMFILES) \
+ $(SFILES:.S=.o) $(SFILES_R:.S=.o) $(SFILES_R:.S=_r.o) \
+ $(TEMPLATE_SFILES:_=.o) $(TEMPLATE_SFILES_R:_=.o) $(TEMPLATE_SFILES_R:_=_r.o) \
+ $(CFILES:.c=.o) $(CFILES_R:.c=.o) $(CFILES_R:.c=_r.o)
+
+lib_a_SOURCES = $(SFILES) $(SFILES_R) $(CFILES) $(CFILES_R)
+lib_a_LIBADD = $(COPYOFILES) $(COPYRENAMEOFILES) $(COPYOMFILES) \
+ $(SFILES_R:.S=_r.o) \
+ $(TEMPLATE_SFILES:_=.o) $(TEMPLATE_SFILES_R:_=.o) \
+ $(TEMPLATE_SFILES_R:_=_r.o) \
+ $(CFILES_R:.c=_r.o)
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_DEPENDENCIES = sbrk_r.o wait_r.o access.o chdir.o chmod.o chown.o \
+dup.o fcntl.o lstat.o mkdir.o pipe.o rmdir.o times.o umask.o utimes.o \
+close.o fork.o fstat.o getpid.o gettimeofday.o kill.o link.o lseek.o \
+open.o read.o stat.o times.o unlink.o wait4.o write.o close_r.o \
+fork_r.o fstat_r.o getpid_r.o gettimeofday_r.o kill_r.o link_r.o \
+lseek_r.o open_r.o read_r.o stat_r.o times_r.o unlink_r.o wait4_r.o \
+write_r.o
+lib_a_OBJECTS = cerror.o crt0.o dup2.o execve.o _exit.o sigsetjmp.o \
+utime.o sbrk.o wait.o _main.o ieee.o closedir.o opendir.o readdir.o \
+rewinddir.o scandir.o seekdir.o telldir.o creat.o isatty.o utime2.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s _r.o
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+.S_r.o:
+ $(COMPILE) -DREENT -c $< -o $@
+
+.c_r.o:
+ $(COMPILE) -DREENT -c $< -o $@
+
+$(COPYOFILES):
+ $(AR) x /lib/libc.a $(COPYOFILES)
+
+$(COPYRENAMEOFILES):
+ $(AR) x /lib/libc.a $(COPYRENAMEOFILES:S.o=.o)
+ for f in $(COPYRENAMEOFILES); do mv `basename $$f S.o`.o $$f; done
+
+$(COPYOMFILES):
+ $(AR) x /lib/libm.a $(COPYOMFILES)
+
+stamp-srcs: Makefile template.S template_r.S
+ for f in $(TEMPLATE_SFILES:_=); do \
+ $(COMPILE) -E -Dfunc=$$f $(srcdir)/template.S >$$f.S; \
+ done
+ for f in $(TEMPLATE_SFILES_R:_=); do \
+ $(COMPILE) -E -Dfunc=$$f $(srcdir)/template_r.S | sed -e 's/^_/#/' >$$f.S; \
+ done
+ touch stamp-srcs
+
+# Make a dependency for each file built from a template.
+
+$(TEMPLATE_SFILES:_=.S) $(TEMPLATE_SFILES_R:_=.S): stamp-srcs
+
+all: crt0.o
+
+close_r.o: close.S
+fork_r.o: fork.S
+fstat_r.o: fstat.S
+getpid_r.o: getpid.S
+gettimeofday_r.o: gettimeofday.S
+kill_r.o: kill.S
+link_r.o: link.S
+lseek_r.o: lseek.S
+open_r.o: open.S
+read_r.o: read.S
+sbrk_r.o: sbrk.S
+stat_r.o: stat.S
+times_r.o: times.S
+unlink_r.o: unlink.S
+wait_r.o: wait.S
+wait4_r.o: wait4.S
+write_r.o: write.S
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/sys/sparc64/_exit.S b/newlib/libc/sys/sparc64/_exit.S
new file mode 100644
index 00000000000..174f721652e
--- /dev/null
+++ b/newlib/libc/sys/sparc64/_exit.S
@@ -0,0 +1,14 @@
+! _exit() system call
+
+#include "sys/syscallasm.h"
+
+ TEXT_SECTION
+ ALIGN (4)
+ GLOBAL (ASM_SYMBOL (_exit))
+ASM_SYMBOL (_exit):
+ mov SYS_exit,%g1
+ ta %icc,SYSCALL_TRAP
+
+! If that returns (yikes!), try an illegal insn ...
+
+ WORD (0) \ No newline at end of file
diff --git a/newlib/libc/sys/sparc64/_main.c b/newlib/libc/sys/sparc64/_main.c
new file mode 100644
index 00000000000..64878088d9c
--- /dev/null
+++ b/newlib/libc/sys/sparc64/_main.c
@@ -0,0 +1,6 @@
+
+__main()
+{
+
+
+}
diff --git a/newlib/libc/sys/sparc64/aclocal.m4 b/newlib/libc/sys/sparc64/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/sys/sparc64/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/sys/sparc64/cerror.S b/newlib/libc/sys/sparc64/cerror.S
new file mode 100644
index 00000000000..c29563fefec
--- /dev/null
+++ b/newlib/libc/sys/sparc64/cerror.S
@@ -0,0 +1,29 @@
+! Set errno.
+! This function is called by all the syscall stubs.
+!
+! FIXME: We assume errno is the first member of struct _reent.
+! Not sure what to do about this.
+
+#include <sys/syscallasm.h>
+
+ DATA_SECTION
+ ALIGN (4)
+ GLOBAL (ASM_SYMBOL (errno)) ! FIXME: ASM_PRIVATE_SYMBOL ?
+ASM_SYMBOL (errno):
+ WORD (0)
+
+ TEXT_SECTION
+ ALIGN (4)
+
+ GLOBAL (ASM_PRIVATE_SYMBOL (cerror))
+ASM_PRIVATE_SYMBOL (cerror):
+ sethi %hi (ASM_SYMBOL (errno)),%g1
+ stw %o0,[%g1+%lo (ASM_SYMBOL (errno))]
+ jmpl %o7+8,%g0
+ mov -1,%o0
+
+ GLOBAL (ASM_PRIVATE_SYMBOL (cerror_r))
+ASM_PRIVATE_SYMBOL (cerror_r):
+ stw %o0,[%o1]
+ jmpl %o7+8,%g0
+ mov -1,%o0
diff --git a/newlib/libc/sys/sparc64/closedir.c b/newlib/libc/sys/sparc64/closedir.c
new file mode 100644
index 00000000000..d87d8165489
--- /dev/null
+++ b/newlib/libc/sys/sparc64/closedir.c
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)closedir.c 5.9 (Berkeley) 2/23/91";
+#endif /* LIBC_SCCS and not lint */
+
+#include <sys/types.h>
+#include <dirent.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+/*
+ * close a directory.
+ */
+int
+closedir(dirp)
+ register DIR *dirp;
+{
+ int fd;
+
+ fd = dirp->dd_fd;
+ dirp->dd_fd = -1;
+ dirp->dd_loc = 0;
+ (void)free((void *)dirp->dd_buf);
+ (void)free((void *)dirp);
+ return(close(fd));
+}
diff --git a/newlib/libc/sys/sparc64/configure b/newlib/libc/sys/sparc64/configure
new file mode 100755
index 00000000000..9ca57580f1c
--- /dev/null
+++ b/newlib/libc/sys/sparc64/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=template_r.S
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/sys/sparc64/configure.in b/newlib/libc/sys/sparc64/configure.in
new file mode 100644
index 00000000000..c434b22442f
--- /dev/null
+++ b/newlib/libc/sys/sparc64/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/sys/sparc64 configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(template_r.S)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/sys/sparc64/creat.c b/newlib/libc/sys/sparc64/creat.c
new file mode 100644
index 00000000000..6b111620602
--- /dev/null
+++ b/newlib/libc/sys/sparc64/creat.c
@@ -0,0 +1,11 @@
+/* creat() "system call" */
+
+/* This is needed by f2c and therefore the SPEC benchmarks. */
+
+#include <fcntl.h>
+
+int
+creat (const char *path, mode_t mode)
+{
+ return open (path, O_WRONLY | O_CREAT | O_TRUNC, mode);
+}
diff --git a/newlib/libc/sys/sparc64/crt0.S b/newlib/libc/sys/sparc64/crt0.S
new file mode 100644
index 00000000000..ed2cb7e9365
--- /dev/null
+++ b/newlib/libc/sys/sparc64/crt0.S
@@ -0,0 +1,123 @@
+! C run time start off
+
+! This file supports:
+!
+! - both 32bit pointer and 64bit pointer environments (at compile time)
+! - an imposed stack bias (of 2047) (at run time)
+! - medium/low and medium/anywhere code models (at run time)
+
+! Initial stack setup:
+!
+! bottom of stack (higher memory address)
+! ...
+! text of environment strings
+! text of argument strings
+! envp[envc] = 0 (4/8 bytes)
+! ...
+! env[0] (4/8 bytes)
+! argv[argc] = 0 (4/8 bytes)
+! ...
+! argv[0] (4/8 bytes)
+! argc (4/8 bytes)
+! register save area (64 bits by 16 registers = 128 bytes)
+! top of stack (%sp)
+
+! Stack Bias:
+!
+! It is the responsibility of the o/s to set this up.
+! We handle both a 0 and 2047 value for the stack bias.
+
+! Medium/Anywhere code model support:
+!
+! In this model %g4 points to the start of the data segment.
+! The text segment can go anywhere, but %g4 points to the *data* segment.
+! It is up to the compiler/linker to get this right.
+!
+! Since this model is statically linked the start of the data segment
+! is known at link time. Eg:
+!
+! sethi %hh(data_start), %g1
+! sethi %lm(data_start), %g4
+! or %g1, %hm(data_start), %g1
+! or %g4, %lo(data_start), %g4
+! sllx %g1, 32, %g1
+! or %g4, %g1, %g4
+!
+! FIXME: For now we just assume 0.
+
+! FIXME: if %g1 contains a non-zero value, atexit() should be invoked
+! with this value.
+
+#include <sys/syscallasm.h>
+
+ TEXT_SECTION
+ ALIGN (4)
+ GLOBAL (ASM_PRIVATE_SYMBOL (start))
+ASM_PRIVATE_SYMBOL (start):
+ clr %fp
+
+! We use %g4 even if the code model is Medium/Low (simplifies the code).
+
+ clr %g4 ! Medium/Anywhere base reg
+
+! If there is a stack bias in effect, account for it in %g5. Then always
+! add %g5 to stack references below. This way the code can be used with
+! or without an imposed bias.
+
+ andcc %sp, 1, %g5
+ bnz,a .LHaveBias
+ mov 2047, %g5
+.LHaveBias:
+ add %sp, %g5, %sp
+
+#if TARGET_PTR_SIZE == 32
+ ! FIXME: We apparently assume here that there is no reserved word.
+ ! This is probably correct, but try to verify it.
+ ld [%sp + 0x80], %o0 ! argc
+ add %sp, 0x84, %o1 ! argv
+ add %o0, 1, %o2
+ sll %o2, 2, %o2
+#else /* TARGET_PTR_SIZE == 64 */
+ ld [%sp + 0x8c], %o0 ! argc.lo
+ add %sp, 0x90, %o1 ! argv
+ add %o0, 1, %o2
+ sll %o2, 3, %o2
+#endif
+ add %o1, %o2, %o2 ! envp
+ sethi %hi (ASM_SYMBOL (environ)), %o3
+ or %o3, %lo (ASM_SYMBOL (environ)), %o3
+#if TARGET_PTR_SIZE == 32
+ st %o2, [%o3 + %g4]
+#else /* TARGET_PTR_SIZE == 64 */
+ stx %o2, [%o3 + %g4]
+#endif
+
+! Restore any stack bias before we call main() ...
+
+ sub %sp, %g5, %sp
+
+ GLOBAL (ASM_SYMBOL (main))
+ call ASM_SYMBOL (main)
+
+! FIXME: Not sure if this is needed anymore.
+#if TARGET_PTR_SIZE == 32
+ sub %sp, 0x20, %sp ! room to push args
+#else /* TARGET_PTR_SIZE == 64 */
+ sub %sp, 0x30, %sp ! room to push args
+#endif
+
+ GLOBAL (ASM_SYMBOL (exit))
+ call ASM_SYMBOL (exit)
+ nop
+
+ GLOBAL (ASM_SYMBOL (_exit))
+ call ASM_SYMBOL (_exit)
+ nop
+
+ set SYS_exit, %g1
+ ta SYSCALL_TRAP ! in case user redefines __exit
+
+! If all the above methods fail to terminate the program, try an illegal insn.
+! If that does not work, the o/s is hosed more than we are.
+
+ WORD (0)
diff --git a/newlib/libc/sys/sparc64/dup2.S b/newlib/libc/sys/sparc64/dup2.S
new file mode 100644
index 00000000000..f46fb703ecc
--- /dev/null
+++ b/newlib/libc/sys/sparc64/dup2.S
@@ -0,0 +1,9 @@
+! dup2() system call
+
+#include "sys/syscallasm.h"
+
+/* FIXME: rewrite in C to use fcntl */
+
+#ifndef __svr4__ /* svr4 uses fcntl */
+ defsyscall (dup2, SYS_dup2)
+#endif
diff --git a/newlib/libc/sys/sparc64/execve.S b/newlib/libc/sys/sparc64/execve.S
new file mode 100644
index 00000000000..804d2ee3cea
--- /dev/null
+++ b/newlib/libc/sys/sparc64/execve.S
@@ -0,0 +1,27 @@
+! execve.S
+! This function is invoked by the other exec*() fns.
+!
+! If sizeof(char *) == 64, we invoke a new Shade function until the real one
+! is defined.
+
+#include "sys/syscallasm.h"
+
+ TEXT_SECTION
+ ALIGN (4)
+ GLOBAL (ASM_SYMBOL (execve))
+ASM_SYMBOL (execve):
+ mov SYS_execve,%g1
+#if TARGET_PTR_SIZE == 64
+ ta 42
+#else
+ ta SYSCALL_TRAP
+#endif
+
+ bcc noerr
+ nop
+
+ seterrno()
+
+noerr:
+ jmpl %o7+8,%g0
+ nop
diff --git a/newlib/libc/sys/sparc64/ieee.c b/newlib/libc/sys/sparc64/ieee.c
new file mode 100644
index 00000000000..28289761d3a
--- /dev/null
+++ b/newlib/libc/sys/sparc64/ieee.c
@@ -0,0 +1,115 @@
+
+#include <ieeefp.h>
+
+
+fp_rnd
+_DEFUN_VOID(fpgetround)
+{
+ char *out;
+ ieee_flags("get", "direction","", &out);
+ if (strcmp(out,"nearest") == 0) return FP_RN;
+ if (strcmp(out,"negative") == 0) return FP_RM;
+ if (strcmp(out,"positive") == 0) return FP_RP;
+ if (strcmp(out,"tozero") == 0) return FP_RZ;
+ abort();
+
+}
+
+fp_rnd
+_DEFUN(fpsetround,(new),
+ fp_rnd new)
+{
+ fp_rnd old = fpgetround();
+ char *dummy;
+
+ switch (new)
+ {
+ case FP_RN:
+ ieee_flags("set", "direction", "nearest", &dummy);
+ break;
+ case FP_RM:
+ ieee_flags("set", "direction", "negative", &dummy);
+ break;
+ case FP_RP:
+ ieee_flags("set", "direction", "positive", &dummy);
+ break;
+ case FP_RZ:
+ ieee_flags("set", "direction", "tozero", &dummy);
+ break;
+ default:
+ break;
+ }
+ return old;
+}
+
+
+fp_except
+_DEFUN_VOID(fpgetmask)
+{
+ char *out;
+ int r = 0;
+
+ int i = ieee_flags("get","exception","",&out);
+ if (i & 1) r |= FP_X_IMP;
+ if (i & 2) r |= FP_X_DX;
+ if (i & 4) r |= FP_X_UFL;
+ if (i & 8) r |= FP_X_OFL;
+ if (i & 16) r |= FP_X_INV;
+ return r;
+
+}
+
+fp_except
+_DEFUN(fpsetmask,(mask),
+ fp_except mask)
+{
+ fp_except old = fpgetmask();
+
+ char *out;
+ ieee_flags("clear","exception", "all", &out);
+
+
+ if (mask & FP_X_IMP)
+ ieee_flags("set","exception","inexact", &out);
+ if (mask & FP_X_DX)
+ ieee_flags("set","exception","division", &out);
+ if (mask & FP_X_UFL)
+ ieee_flags("set","exception","underflow", &out);
+ if (mask & FP_X_OFL)
+ ieee_flags("set","exception","overflow", &out);
+ if (mask & FP_X_INV)
+ ieee_flags("set","exception","invalid", &out);
+
+ return old;
+
+}
+
+fp_except
+_DEFUN(fpsetsticky,(mask),
+ fp_except mask)
+{
+ return fpsetmask(mask);
+}
+
+fp_except
+_DEFUN_VOID(fpgetsticky)
+{
+ return fpgetmask();
+}
+
+int
+_DEFUN(fpsetroundtoi,(rdi_mode),
+ fp_rdi rdi_mode)
+{
+
+ return 0;
+
+}
+
+int
+_DEFUN_VOID(fpgetroundtoi)
+{
+
+ return 0;
+
+}
diff --git a/newlib/libc/sys/sparc64/isatty.c b/newlib/libc/sys/sparc64/isatty.c
new file mode 100644
index 00000000000..3c64647a944
--- /dev/null
+++ b/newlib/libc/sys/sparc64/isatty.c
@@ -0,0 +1,17 @@
+/* isatty.c */
+
+/* Dumb implementation so programs will at least run. */
+
+#include <sys/stat.h>
+
+int
+isatty (int fd)
+{
+ struct stat buf;
+
+ if (fstat (fd, &buf) < 0)
+ return 0;
+ if (S_ISCHR (buf.st_mode))
+ return 1;
+ return 0;
+}
diff --git a/newlib/libc/sys/sparc64/lstat.S b/newlib/libc/sys/sparc64/lstat.S
new file mode 100644
index 00000000000..381330d1701
--- /dev/null
+++ b/newlib/libc/sys/sparc64/lstat.S
@@ -0,0 +1,5 @@
+! lstat() system call
+
+#include "sys/syscallasm.h"
+
+ defsyscall (lstat, SYS_lstat)
diff --git a/newlib/libc/sys/sparc64/opendir.c b/newlib/libc/sys/sparc64/opendir.c
new file mode 100644
index 00000000000..ce080e3128a
--- /dev/null
+++ b/newlib/libc/sys/sparc64/opendir.c
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)opendir.c 5.11 (Berkeley) 2/23/91";
+#endif /* LIBC_SCCS and not lint */
+
+#include <dirent.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+/*
+ * open a directory.
+ */
+DIR *
+opendir(name)
+ const char *name;
+{
+ register DIR *dirp;
+ register int fd;
+
+ if ((fd = open(name, 0)) == -1)
+ return NULL;
+ if (fcntl(fd, F_SETFD, 1) == -1 ||
+ (dirp = (DIR *)malloc(sizeof(DIR))) == NULL) {
+ close (fd);
+ return NULL;
+ }
+ /*
+ * If CLSIZE is an exact multiple of DIRBLKSIZ, use a CLSIZE
+ * buffer that it cluster boundary aligned.
+ * Hopefully this can be a big win someday by allowing page trades
+ * to user space to be done by getdirentries()
+ */
+ dirp->dd_buf = malloc (512);
+ dirp->dd_len = 512;
+
+ if (dirp->dd_buf == NULL) {
+ close (fd);
+ return NULL;
+ }
+ dirp->dd_fd = fd;
+ dirp->dd_loc = 0;
+ dirp->dd_seek = 0;
+ /*
+ * Set up seek point for rewinddir.
+ */
+ return dirp;
+}
diff --git a/newlib/libc/sys/sparc64/readdir.c b/newlib/libc/sys/sparc64/readdir.c
new file mode 100644
index 00000000000..b3839870c30
--- /dev/null
+++ b/newlib/libc/sys/sparc64/readdir.c
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)readdir.c 5.7 (Berkeley) 6/1/90";
+#endif /* LIBC_SCCS and not lint */
+
+#include <dirent.h>
+
+/*
+ * get next entry in a directory.
+ */
+struct dirent *
+readdir(dirp)
+register DIR *dirp; {
+ register struct dirent *dp;
+
+ for (;;) {
+ if (dirp->dd_loc == 0) {
+ dirp->dd_size = getdents (dirp->dd_fd,
+ dirp->dd_buf,
+ dirp->dd_len);
+
+ if (dirp->dd_size <= 0)
+ return NULL;
+ }
+ if (dirp->dd_loc >= dirp->dd_size) {
+ dirp->dd_loc = 0;
+ continue;
+ }
+ dp = (struct dirent *)(dirp->dd_buf + dirp->dd_loc);
+ if ((int)dp & 03) /* bogus pointer check */
+ return NULL;
+ if (dp->d_reclen <= 0 ||
+ dp->d_reclen > dirp->dd_len + 1 - dirp->dd_loc)
+ return NULL;
+ dirp->dd_loc += dp->d_reclen;
+ if (dp->d_ino == 0)
+ continue;
+ return (dp);
+ }
+}
diff --git a/newlib/libc/sys/sparc64/rewinddir.c b/newlib/libc/sys/sparc64/rewinddir.c
new file mode 100644
index 00000000000..d52c013c4da
--- /dev/null
+++ b/newlib/libc/sys/sparc64/rewinddir.c
@@ -0,0 +1,49 @@
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)rewinddir.c 5.1 (Berkeley) 5/25/90";
+#endif /* LIBC_SCCS and not lint */
+
+#include <sys/types.h>
+#include <dirent.h>
+
+void
+rewinddir(dirp)
+ DIR *dirp;
+{
+ extern long _rewinddir;
+
+ _seekdir((dirp), _rewinddir);
+ _rewinddir = telldir(dirp);
+}
diff --git a/newlib/libc/sys/sparc64/sbrk.S b/newlib/libc/sys/sparc64/sbrk.S
new file mode 100644
index 00000000000..bff72fa81b3
--- /dev/null
+++ b/newlib/libc/sys/sparc64/sbrk.S
@@ -0,0 +1,78 @@
+! sbrk() system call
+
+#include "sys/syscallasm.h"
+
+ DATA_SECTION
+ ALIGN (4)
+
+! CURBRK contains the current top of allocated space.
+! END is a private symbol in svr4, but a public one in sunos4.
+! FIXME: CURBRK is 4 bytes for now.
+
+
+ GLOBAL (ASM_PRIVATE_SYMBOL (curbrk))
+ASM_PRIVATE_SYMBOL (curbrk):
+#ifdef __svr4__
+ WORD (ASM_PRIVATE_SYMBOL (end))
+#else
+ WORD (ASM_SYMBOL (end))
+#endif
+
+ TEXT_SECTION
+ ALIGN (4)
+#ifdef REENT
+ GLOBAL (ASM_SYMBOL (_sbrk_r))
+ASM_SYMBOL (_sbrk_r):
+ mov %o0,%o5
+ mov %o1,%o0
+#else
+ GLOBAL (ASM_SYMBOL (sbrk))
+ASM_SYMBOL (sbrk):
+#endif
+ add %o0,7,%o0
+ andn %o0,7,%o0
+ sethi %hi (ASM_PRIVATE_SYMBOL (curbrk)),%o2
+ lduw [%o2+%lo (ASM_PRIVATE_SYMBOL (curbrk))],%o3
+ add %o3,7,%o3
+ andn %o3,7,%o3
+ add %o3,%o0,%o0
+ mov %o0,%o4
+ mov SYS_brk,%g1
+ ta SYSCALL_TRAP
+ bcs err
+ nop
+ stw %o4,[%o2+%lo (ASM_PRIVATE_SYMBOL (curbrk))]
+ jmpl %o7+8,%g0
+ mov %o3,%o0
+
+#ifdef REENT
+ GLOBAL (ASM_SYMBOL (_brk_r))
+ASM_SYMBOL (_brk_r):
+ mov %o0,%o5
+ mov %o1,%o0
+#else
+ GLOBAL (ASM_SYMBOL (brk))
+ASM_SYMBOL (brk):
+#endif
+ add %o0,7,%o0
+ andn %o0,7,%o0
+ mov %o0,%o2
+ mov SYS_brk,%g1
+ ta SYSCALL_TRAP
+ bcs err
+ nop
+ sethi %hi (ASM_PRIVATE_SYMBOL (curbrk)),%o3
+ st %o2,[%o3+%lo (ASM_PRIVATE_SYMBOL (curbrk))]
+ retl
+ mov %g0,%o0
+
+err:
+#ifdef REENT
+ sethi %hi (ASM_PRIVATE_SYMBOL (cerror_r)),%g1
+ or %g1,%lo (ASM_PRIVATE_SYMBOL (cerror_r)),%g1
+#else
+ sethi %hi (ASM_PRIVATE_SYMBOL (cerror)),%g1
+ or %g1,%lo (ASM_PRIVATE_SYMBOL (cerror)),%g1
+#endif
+ jmpl %g1,%g0
+ mov %o5,%o1
diff --git a/newlib/libc/sys/sparc64/scandir.c b/newlib/libc/sys/sparc64/scandir.c
new file mode 100644
index 00000000000..bcfd525c417
--- /dev/null
+++ b/newlib/libc/sys/sparc64/scandir.c
@@ -0,0 +1,138 @@
+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)scandir.c 5.10 (Berkeley) 2/23/91";
+#endif /* LIBC_SCCS and not lint */
+
+/*
+ * Scan the directory dirname calling select to make a list of selected
+ * directory entries then sort using qsort and compare routine dcomp.
+ * Returns the number of entries and a pointer to a list of pointers to
+ * struct dirent (through namelist). Returns -1 if there were any errors.
+ */
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <dirent.h>
+#include <stdlib.h>
+#include <string.h>
+
+/*
+ * The DIRSIZ macro gives the minimum record length which will hold
+ * the directory entry. This requires the amount of space in struct dirent
+ * without the d_name field, plus enough space for the name with a terminating
+ * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary.
+ */
+#undef DIRSIZ
+#define DIRSIZ(dp) \
+ ((sizeof (struct dirent) - (MAXNAMLEN+1)) + (((dp)->d_namlen+1 + 3) &~ 3))
+
+#ifndef __P
+#define __P(args) ()
+#endif
+
+int
+scandir(dirname, namelist, select, dcomp)
+ const char *dirname;
+ struct dirent ***namelist;
+ int (*select) __P((struct dirent *));
+ int (*dcomp) __P((const void *, const void *));
+{
+ register struct dirent *d, *p, **names;
+ register size_t nitems;
+ struct stat stb;
+ long arraysz;
+ DIR *dirp;
+
+ if ((dirp = opendir(dirname)) == NULL)
+ return(-1);
+ if (fstat(dirp->dd_fd, &stb) < 0)
+ return(-1);
+
+ /*
+ * estimate the array size by taking the size of the directory file
+ * and dividing it by a multiple of the minimum size entry.
+ */
+ arraysz = (stb.st_size / 24);
+ names = (struct dirent **)malloc(arraysz * sizeof(struct dirent *));
+ if (names == NULL)
+ return(-1);
+
+ nitems = 0;
+ while ((d = readdir(dirp)) != NULL) {
+ if (select != NULL && !(*select)(d))
+ continue; /* just selected names */
+ /*
+ * Make a minimum size copy of the data
+ */
+ p = (struct dirent *)malloc(DIRSIZ(d));
+ if (p == NULL)
+ return(-1);
+ p->d_ino = d->d_ino;
+ p->d_reclen = d->d_reclen;
+ p->d_namlen = d->d_namlen;
+ bcopy(d->d_name, p->d_name, p->d_namlen + 1);
+ /*
+ * Check to make sure the array has space left and
+ * realloc the maximum size.
+ */
+ if (++nitems >= arraysz) {
+ if (fstat(dirp->dd_fd, &stb) < 0)
+ return(-1); /* just might have grown */
+ arraysz = stb.st_size / 12;
+ names = (struct dirent **)realloc((char *)names,
+ arraysz * sizeof(struct dirent *));
+ if (names == NULL)
+ return(-1);
+ }
+ names[nitems-1] = p;
+ }
+ closedir(dirp);
+ if (nitems && dcomp != NULL)
+ qsort(names, nitems, sizeof(struct dirent *), dcomp);
+ *namelist = names;
+ return(nitems);
+}
+
+/*
+ * Alphabetic order comparison routine for those who want it.
+ */
+int
+alphasort(d1, d2)
+ const void *d1;
+ const void *d2;
+{
+ return(strcmp((*(struct dirent **)d1)->d_name,
+ (*(struct dirent **)d2)->d_name));
+}
diff --git a/newlib/libc/sys/sparc64/seekdir.c b/newlib/libc/sys/sparc64/seekdir.c
new file mode 100644
index 00000000000..50331402ab3
--- /dev/null
+++ b/newlib/libc/sys/sparc64/seekdir.c
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)seekdir.c 5.7 (Berkeley) 6/1/90";
+#endif /* LIBC_SCCS and not lint */
+
+#include <sys/param.h>
+#include <dirent.h>
+
+/*
+ * Seek to an entry in a directory.
+ * _seekdir is in telldir.c so that it can share opaque data structures.
+ */
+void
+seekdir(dirp, loc)
+ DIR *dirp;
+ long loc;
+{
+
+ _seekdir(dirp, loc);
+}
diff --git a/newlib/libc/sys/sparc64/sigsetjmp.S b/newlib/libc/sys/sparc64/sigsetjmp.S
new file mode 100644
index 00000000000..7751e5f8c6b
--- /dev/null
+++ b/newlib/libc/sys/sparc64/sigsetjmp.S
@@ -0,0 +1,77 @@
+! This file is called sigsetjmp.s because that is what V8 uses.
+! We do not define sigsetjmp() or setlongjmp() yet.
+! Solaris has setjmp/longjmp in setjmp.o. Move this stuff there.
+
+#include <sys/syscallasm.h>
+
+ TEXT_SECTION
+ ALIGN (4)
+
+#ifdef __svr4__
+
+ GLOBAL (ASM_SYMBOL (setjmp))
+ .proc 04
+ASM_SYMBOL (setjmp):
+
+ clr [%o0]
+ stx %sp,[%o0+8]
+ add %o7,8,%g1
+ stx %g1,[%o0+16]
+ retl
+ mov %g0,%o0
+
+ GLOBAL (ASM_SYMBOL (longjmp))
+ .proc 04
+ASM_SYMBOL (longjmp):
+
+ flushw ! flush register windows
+ sub %sp,136,%sp
+ ldx [%o0+8],%fp
+ ldx [%o0+16],%g1
+ tst %o1
+ bne L0
+ sub %g1,8,%o7
+ mov 1,%o1
+L0:
+ retl
+ restore %o1,0,%o0
+
+#else
+
+ GLOBAL (ASM_SYMBOL (setjmp))
+ .proc 04
+ASM_SYMBOL (setjmp):
+ save %sp,-136,%sp
+ or %g0,%g0,%o0 ! %o0 = 0
+ or %g0,0x6d,%g1 ! %g1 = 0x6d (syscall number)
+ ta SYSCALL_TRAP
+ stw %o0,[%i0+4] ! save result at [%i0+4] (sigmask?)
+ add %fp,-8,%o1 ! %o1 -> tmp 8 byte buffer
+ or %g0,%g0,%o0 ! %o0 = 0
+ or %g0,0x70,%g1 ! %g1 = 0x70 (syscall number)
+ ta SYSCALL_TRAP
+ lduw [%fp-4],%g1 ! %g1 = onsstack?
+ stw %fp,[%i0+8] ! save %fp at [%i0+8]
+ stw %g1,[%i0+0] ! save ? at [%i0+8]
+ add %i7,8,%g1 ! %g1 = return address
+ stw %g1,[%i0+12] ! save return address at [%i0+12]
+ add %g1,4,%g1 ! %g1 = nPC
+ stw %g1,[%i0+16] ! save nPC at [%i0+16]
+ stw %g0,[%i0+20]
+ stw %g0,[%i0+24]
+ stw %g0,[%i0+32]
+ jmpl %i7+8,%g0
+ restore %g0,0,%o0
+
+ GLOBAL (ASM_SYMBOL (longjmp))
+ .proc 04
+ASM_SYMBOL (longjmp):
+ orcc %g0,%o1,%g0 ! return val == 0 ?
+ be,a L1 ! branch if 0
+ or %g0,1,%o1 ! make it 1 (executed if branch taken)
+L1:
+ or %g0,0x8b,%g1 ! set syscall 0x8b
+ stw %o1,[%o0+28] ! save return val for restoration
+ ta SYSCALL_TRAP
+
+#endif /* ! __svr4__ */
diff --git a/newlib/libc/sys/sparc64/stat.S b/newlib/libc/sys/sparc64/stat.S
new file mode 100644
index 00000000000..32adb23ce70
--- /dev/null
+++ b/newlib/libc/sys/sparc64/stat.S
@@ -0,0 +1,9 @@
+! stat() system call
+
+#include "sys/syscallasm.h"
+
+#ifdef REENT
+ defsyscall_r (_stat_r, SYS_stat, 2)
+#else
+ defsyscall (stat, SYS_stat)
+#endif
diff --git a/newlib/libc/sys/sparc64/sys/dirent.h b/newlib/libc/sys/sparc64/sys/dirent.h
new file mode 100644
index 00000000000..864bb5ca19d
--- /dev/null
+++ b/newlib/libc/sys/sparc64/sys/dirent.h
@@ -0,0 +1,48 @@
+/* FIXME: From sys/sysvi386/sys */
+#ifndef _SYS_DIRENT_H
+# define _SYS_DIRENT_H
+
+/*
+ * This file was written to be compatible with the BSD directory
+ * routines, so it looks like it. But it was written from scratch.
+ * Sean Eric Fagan, sef@Kithrup.COM
+ */
+
+typedef struct __dirdesc {
+ int dd_fd;
+ long dd_loc;
+ long dd_size;
+ char *dd_buf;
+ int dd_len;
+ long dd_seek;
+} DIR;
+
+# define __dirfd(dp) ((dp)->dd_fd)
+
+DIR *opendir (const char *);
+struct dirent *readdir (DIR *);
+void rewinddir (DIR *);
+int closedir (DIR *);
+
+#include <sys/types.h>
+
+#undef MAXNAMLEN /* from unistd.h */
+#ifdef __svr4__
+#define MAXNAMLEN 512
+#else
+#define MAXNAMLEN 255
+#endif
+
+#define d_ino d_fileno /* compatibility */
+
+struct dirent {
+ off_t d_off;
+ unsigned long d_fileno;
+ unsigned short d_reclen;
+ unsigned short d_namlen;
+ char d_name[MAXNAMLEN + 1];
+};
+
+/* FIXME: include definition of DIRSIZ() ? */
+
+#endif
diff --git a/newlib/libc/sys/sparc64/sys/fcntl.h b/newlib/libc/sys/sparc64/sys/fcntl.h
new file mode 100644
index 00000000000..940649ac750
--- /dev/null
+++ b/newlib/libc/sys/sparc64/sys/fcntl.h
@@ -0,0 +1,178 @@
+/* sys/fcntl.h for sparc64 */
+
+/* This is basically the same as the default version, except that a few of
+ the values are different on Solaris (eg: FCREAT).
+ We support both SunOS4 and Solaris. */
+
+#ifndef _SYS_FCNTL_H_
+#define _SYS_FCNTL_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <_ansi.h>
+
+#define _FOPEN (-1) /* from sys/file.h, kernel use only */
+#define _FREAD 0x0001 /* read enabled */
+#define _FWRITE 0x0002 /* write enabled */
+#define _FNDELAY 0x0004 /* non blocking I/O (4.2 style) */
+#define _FAPPEND 0x0008 /* append (writes guaranteed at the end) */
+#ifdef __svr4__
+#define _FNONBLOCK 0x0080 /* non blocking I/O (POSIX) */
+#define _FCREAT 0x0100 /* open with file create */
+#define _FTRUNC 0x0200 /* open with truncation */
+#define _FEXCL 0x0400 /* error on open if file exists */
+#define _FNOCTTY 0x0800 /* don't assign a ctty on this open */
+#else
+#define _FMARK 0x0010 /* internal; mark during gc() */
+#define _FDEFER 0x0020 /* internal; defer for next gc pass */
+#define _FASYNC 0x0040 /* signal pgrp when data ready */
+#define _FSHLOCK 0x0080 /* BSD flock() shared lock present */
+#define _FEXLOCK 0x0100 /* BSD flock() exclusive lock present */
+#define _FCREAT 0x0200 /* open with file create */
+#define _FTRUNC 0x0400 /* open with truncation */
+#define _FEXCL 0x0800 /* error on open if file exists */
+#define _FNBIO 0x1000 /* non blocking I/O (sys5 style) */
+#define _FSYNC 0x2000 /* do all writes synchronously */
+#define _FNONBLOCK 0x4000 /* non blocking I/O (POSIX style) */
+#define _FNOCTTY 0x8000 /* don't assign a ctty on this open */
+#endif /* ! __svr4__ */
+
+#define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR)
+
+/*
+ * Flag values for open(2) and fcntl(2)
+ * The kernel adds 1 to the open modes to turn it into some
+ * combination of FREAD and FWRITE.
+ */
+#define O_RDONLY 0 /* +1 == FREAD */
+#define O_WRONLY 1 /* +1 == FWRITE */
+#define O_RDWR 2 /* +1 == FREAD|FWRITE */
+#define O_APPEND _FAPPEND
+#define O_CREAT _FCREAT
+#define O_TRUNC _FTRUNC
+#define O_EXCL _FEXCL
+/* O_SYNC _FSYNC not posix, defined below */
+/* O_NDELAY _FNDELAY set in include/fcntl.h */
+/* O_NDELAY _FNBIO set in 5include/fcntl.h */
+#define O_NONBLOCK _FNONBLOCK
+#define O_NOCTTY _FNOCTTY
+
+#ifndef _POSIX_SOURCE
+
+#define O_SYNC _FSYNC
+
+/*
+ * Flags that work for fcntl(fd, F_SETFL, FXXXX)
+ */
+#define FAPPEND _FAPPEND
+#define FSYNC _FSYNC
+#define FASYNC _FASYNC
+#define FNBIO _FNBIO
+#define FNONBIO _FNONBLOCK /* XXX fix to be NONBLOCK everywhere */
+#define FNDELAY _FNDELAY
+
+/*
+ * Flags that are disallowed for fcntl's (FCNTLCANT);
+ * used for opens, internal state, or locking.
+ */
+#define FREAD _FREAD
+#define FWRITE _FWRITE
+#define FMARK _FMARK
+#define FDEFER _FDEFER
+#define FSHLOCK _FSHLOCK
+#define FEXLOCK _FEXLOCK
+
+/*
+ * The rest of the flags, used only for opens
+ */
+#define FOPEN _FOPEN
+#define FCREAT _FCREAT
+#define FTRUNC _FTRUNC
+#define FEXCL _FEXCL
+#define FNOCTTY _FNOCTTY
+
+#endif !_POSIX_SOURCE
+
+/* XXX close on exec request; must match UF_EXCLOSE in user.h */
+#define FD_CLOEXEC 1 /* posix */
+
+/* fcntl(2) requests */
+#define F_DUPFD 0 /* Duplicate fildes */
+#define F_GETFD 1 /* Get fildes flags (close on exec) */
+#define F_SETFD 2 /* Set fildes flags (close on exec) */
+#define F_GETFL 3 /* Get file flags */
+#define F_SETFL 4 /* Set file flags */
+#ifndef _POSIX_SOURCE
+#ifdef __svr4__
+#define F_GETOWN 23 /* Get owner - for ASYNC */
+#define F_SETOWN 24 /* Set owner - for ASYNC */
+#else
+#define F_GETOWN 5 /* Get owner - for ASYNC */
+#define F_SETOWN 6 /* Set owner - for ASYNC */
+#endif
+#endif /* !_POSIX_SOURCE */
+#ifdef __svr4__
+#define F_GETLK 14 /* Get record-locking information */
+#define F_SETLK 6 /* Set or Clear a record-lock (Non-Blocking) */
+#define F_SETLKW 7 /* Set or Clear a record-lock (Blocking) */
+#else
+#define F_GETLK 7 /* Get record-locking information */
+#define F_SETLK 8 /* Set or Clear a record-lock (Non-Blocking) */
+#define F_SETLKW 9 /* Set or Clear a record-lock (Blocking) */
+#endif
+#ifndef _POSIX_SOURCE
+#define F_RGETLK 10 /* Test a remote lock to see if it is blocked */
+#define F_RSETLK 11 /* Set or unlock a remote lock */
+#define F_CNVT 12 /* Convert a fhandle to an open fd */
+#define F_RSETLKW 13 /* Set or Clear remote record-lock(Blocking) */
+#endif /* !_POSIX_SOURCE */
+
+/* fcntl(2) flags (l_type field of flock structure) */
+#define F_RDLCK 1 /* read lock */
+#define F_WRLCK 2 /* write lock */
+#define F_UNLCK 3 /* remove lock(s) */
+#ifndef _POSIX_SOURCE
+#define F_UNLKSYS 4 /* remove remote locks for a given system */
+#endif /* !_POSIX_SOURCE */
+
+/*#include <sys/stdtypes.h>*/
+
+/* file segment locking set data type - information passed to system by user */
+struct flock {
+ short l_type; /* F_RDLCK, F_WRLCK, or F_UNLCK */
+ short l_whence; /* flag to choose starting offset */
+ long l_start; /* relative offset, in bytes */
+ long l_len; /* length, in bytes; 0 means lock to EOF */
+ short l_pid; /* returned with F_GETLK */
+ short l_xxx; /* reserved for future use */
+};
+
+#ifndef _POSIX_SOURCE
+/* extended file segment locking set data type */
+struct eflock {
+ short l_type; /* F_RDLCK, F_WRLCK, or F_UNLCK */
+ short l_whence; /* flag to choose starting offset */
+ long l_start; /* relative offset, in bytes */
+ long l_len; /* length, in bytes; 0 means lock to EOF */
+ short l_pid; /* returned with F_GETLK */
+ short l_xxx; /* reserved for future use */
+ long l_rpid; /* Remote process id wanting this lock */
+ long l_rsys; /* Remote system id wanting this lock */
+};
+#endif /* !_POSIX_SOURCE */
+
+
+#include <sys/types.h>
+#include <sys/stat.h> /* sigh. for the mode bits for open/creat */
+
+extern int open _PARAMS ((const char *, int, ...));
+extern int creat _PARAMS ((const char *, mode_t));
+extern int fcntl _PARAMS ((int, int, ...));
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* !_SYS_FCNTL_H_ */
diff --git a/newlib/libc/sys/sparc64/sys/file.h b/newlib/libc/sys/sparc64/sys/file.h
new file mode 100644
index 00000000000..768494377fa
--- /dev/null
+++ b/newlib/libc/sys/sparc64/sys/file.h
@@ -0,0 +1,3 @@
+/* This is the same as sys/fcntl.h for now. */
+
+#include <sys/fcntl.h>
diff --git a/newlib/libc/sys/sparc64/sys/stat.h b/newlib/libc/sys/sparc64/sys/stat.h
new file mode 100644
index 00000000000..256c1b41b97
--- /dev/null
+++ b/newlib/libc/sys/sparc64/sys/stat.h
@@ -0,0 +1,131 @@
+#ifndef _SYS_STAT_H
+#define _SYS_STAT_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <_ansi.h>
+#include <sys/types.h>
+
+#ifdef __svr4__
+
+#include <sys/time.h>
+
+#define _ST_FSTYPSZ 16 /* array size for file system type name */
+
+struct stat
+{
+ dev_t st_dev;
+ long st_pad1[3]; /* reserved for network id */
+ ino_t st_ino;
+ mode_t st_mode;
+ nlink_t st_nlink;
+ uid_t st_uid;
+ gid_t st_gid;
+ dev_t st_rdev;
+ long st_pad2[2];
+ off_t st_size;
+ long st_pad3; /* future off_t expansion */
+ timestruc_t st_atim;
+ timestruc_t st_mtim;
+ timestruc_t st_ctim;
+ long st_blksize;
+ long st_blocks;
+ char st_fstype[_ST_FSTYPSZ];
+ long st_pad4[8]; /* expansion area */
+};
+
+#define st_atime st_atim.tv_sec
+#define st_mtime st_mtim.tv_sec
+#define st_ctime st_ctim.tv_sec
+
+#else
+
+#include <time.h>
+
+struct stat
+{
+ dev_t st_dev;
+ ino_t st_ino;
+ mode_t st_mode;
+ short st_nlink;
+ uid_t st_uid;
+ gid_t st_gid;
+ dev_t st_rdev;
+ off_t st_size;
+ time_t st_atime;
+ int st_spare1;
+ time_t st_mtime;
+ int st_spare2;
+ time_t st_ctime;
+ int st_spare3;
+ long st_blksize;
+ long st_blocks;
+ long st_spare4[2];
+};
+
+#endif
+
+#define _IFMT 0170000 /* type of file */
+#define _IFDIR 0040000 /* directory */
+#define _IFCHR 0020000 /* character special */
+#define _IFBLK 0060000 /* block special */
+#define _IFREG 0100000 /* regular */
+#define _IFLNK 0120000 /* symbolic link */
+#define _IFSOCK 0140000 /* socket */
+#define _IFIFO 0010000 /* fifo */
+
+#define S_ISUID 0004000 /* set user id on execution */
+#define S_ISGID 0002000 /* set group id on execution */
+#ifndef _POSIX_SOURCE
+#define S_ISVTX 0001000 /* save swapped text even after use */
+#define S_IREAD 0000400 /* read permission, owner */
+#define S_IWRITE 0000200 /* write permission, owner */
+#define S_IEXEC 0000100 /* execute/search permission, owner */
+
+#define S_ENFMT 0002000 /* enforcement-mode locking */
+
+#define S_IFMT _IFMT
+#define S_IFDIR _IFDIR
+#define S_IFCHR _IFCHR
+#define S_IFBLK _IFBLK
+#define S_IFREG _IFREG
+#define S_IFLNK _IFLNK
+#define S_IFSOCK _IFSOCK
+#define S_IFIFO _IFIFO
+#endif /* !_POSIX_SOURCE */
+
+
+#define S_IRWXU 0000700 /* rwx, owner */
+#define S_IRUSR 0000400 /* read permission, owner */
+#define S_IWUSR 0000200 /* write permission, owner */
+#define S_IXUSR 0000100 /* execute/search permission, owner */
+#define S_IRWXG 0000070 /* rwx, group */
+#define S_IRGRP 0000040 /* read permission, group */
+#define S_IWGRP 0000020 /* write permission, grougroup */
+#define S_IXGRP 0000010 /* execute/search permission, group */
+#define S_IRWXO 0000007 /* rwx, other */
+#define S_IROTH 0000004 /* read permission, other */
+#define S_IWOTH 0000002 /* write permission, other */
+#define S_IXOTH 0000001 /* execute/search permission, other */
+
+#define S_ISBLK(m) (((m)&_IFMT) == _IFBLK)
+#define S_ISCHR(m) (((m)&_IFMT) == _IFCHR)
+#define S_ISDIR(m) (((m)&_IFMT) == _IFDIR)
+#define S_ISFIFO(m) (((m)&_IFMT) == _IFIFO)
+#define S_ISREG(m) (((m)&_IFMT) == _IFREG)
+#define S_ISLNK(m) (((m)&_IFMT) == _IFLNK)
+#define S_ISSOCK(m) (((m)&_IFMT) == _IFSOCK)
+
+int _EXFUN(chmod,( const char *_path, mode_t _mode ));
+int _EXFUN(fstat,( int _fd, struct stat *_sbuf ));
+int _EXFUN(mkdir,( char *_path, mode_t _mode ));
+int _EXFUN(mkfifo,( char *_path, mode_t _mode ));
+int _EXFUN(stat,( const char *_path, struct stat *_sbuf ));
+mode_t _EXFUN(umask,( mode_t _mask ));
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _SYS_STAT_H */
diff --git a/newlib/libc/sys/sparc64/sys/syscall.h b/newlib/libc/sys/sparc64/sys/syscall.h
new file mode 100644
index 00000000000..df5da365ff8
--- /dev/null
+++ b/newlib/libc/sys/sparc64/sys/syscall.h
@@ -0,0 +1,346 @@
+#ifndef _SYSCALL_H_
+#define _SYSCALL_H_
+
+/*
+ * This file defines the system calls for SPARC.
+ *
+ * WARNING: This file can be included by assembler files.
+ */
+
+#define SYS_exit 1
+#define SYS_fork 2
+#define SYS_read 3
+#define SYS_write 4
+#define SYS_open 5
+#define SYS_close 6
+#define SYS_wait4 7
+#define SYS_creat 8
+#define SYS_link 9
+#define SYS_unlink 10
+#define SYS_execv 11
+#define SYS_chdir 12
+#ifdef __svr4__
+#define SYS_time 13 /* old time in sunos4 */
+#endif
+#define SYS_mknod 14
+#define SYS_chmod 15
+#define SYS_chown 16
+#define SYS_brk 17
+#ifdef __svr4__
+#define SYS_stat 18 /* old stat in sunos4 */
+#endif
+#define SYS_lseek 19
+#define SYS_getpid 20
+#ifdef __svr4__
+#define SYS_mount 21 /* old mount in sunos4 */
+#define SYS_umount 22 /* old umount in sunos4 */
+#define SYS_setuid 23 /* old setuid in sunos4 */
+#endif
+#define SYS_getuid 24
+#ifdef __svr4__
+#define SYS_stime 25 /* old stime in sunos4 */
+#endif
+#define SYS_ptrace 26
+#ifdef __svr4__
+#define SYS_alarm 27 /* old alarm in sunos4 */
+#define SYS_fstat 28 /* old fstat in sunos4 */
+#define SYS_pause 29 /* old pause in sunos4 */
+#define SYS_utime 30 /* old utime in sunos4 */
+#define SYS_stty 31 /* old stty in sunos4 */
+#define SYS_gtty 32 /* old gtty in sunos4 */
+#endif
+#define SYS_access 33
+#ifdef __svr4__
+#define SYS_nice 34 /* old nice in sunos4 */
+#define SYS_statfs 35 /* old ftime in sunos4 */
+#endif
+#define SYS_sync 36
+#define SYS_kill 37
+#ifdef __svr4__
+#define SYS_fstatfs 38
+#define SYS_pgrpsys 39 /* old setpgrp in sunos4 */
+#define SYS_xenix 40
+#else
+#define SYS_stat 38
+#define SYS_lstat 40
+#endif
+#define SYS_dup 41
+#define SYS_pipe 42
+#define SYS_times 43 /* times is obsolete in sunos4, used anyway */
+#define SYS_profil 44
+#ifdef __svr4__
+#define SYS_plock 45 /* unused in sunos4 */
+#define SYS_setgid 46 /* old setgid in sunos4 */
+#endif
+#define SYS_getgid 47
+#ifdef __svr4__
+#define SYS_signal 48 /* old sigsys in sunos4 */
+#define SYS_msgsys 49 /* unused in sunos4 */
+#define SYS_sun 50 /* unused in sunos4 */
+#endif
+#define SYS_acct 51
+#ifdef __svr4__
+#define SYS_shmsys 52 /* old phys in sunos4 */
+#define SYS_semsys 53
+#else
+#define SYS_mctl 53
+#endif
+#define SYS_ioctl 54
+#ifdef __svr4__
+#define SYS_uadmin 55
+#else
+#define SYS_reboot 55
+#endif
+ /* 56 is old: mpxchan (reserved in sunos5) */
+#ifdef __svr4__
+#define SYS_utssys 57
+#define SYS_fsync 58
+#else
+#define SYS_symlink 57
+#define SYS_readlink 58
+#endif
+#define SYS_execve 59
+#define SYS_umask 60
+#define SYS_chroot 61
+#ifdef __svr4__
+#define SYS_fcntl 62
+#define SYS_ulimit 63 /* unused in sunos4 */
+ /* 64-77 unused/reserved in sunos5 */
+#else
+#define SYS_fstat 62
+#define SYS_getpagesize 64
+#define SYS_msync 65
+ /* 66 is old: vfork */
+ /* 67 is old: vread */
+ /* 68 is old: vwrite */
+#define SYS_sbrk 69
+#define SYS_sstk 70
+#define SYS_mmap 71
+#define SYS_vadvise 72
+#define SYS_munmap 73
+#define SYS_mprotect 74
+#define SYS_madvise 75
+#define SYS_vhangup 76
+ /* 77 is old: vlimit */
+#endif
+
+#ifdef __svr4__
+#define SYS_rfsys 78
+#define SYS_rmdir 79
+#define SYS_mkdir 80
+#define SYS_getdents 81
+ /* 82 not used, was libattach */
+ /* 83 not used, was libdetach */
+#define SYS_sysfs 84
+#define SYS_getmsg 85
+#define SYS_putmsg 86
+#define SYS_poll 87
+#define SYS_lstat 88
+#define SYS_symlink 89
+#define SYS_readlink 90
+#define SYS_setgroups 91
+#define SYS_getgroups 92
+#define SYS_fchmod 93
+#define SYS_fchown 94
+#define SYS_sigprocmask 95
+#define SYS_sigsuspend 96
+#define SYS_sigaltstack 97
+#define SYS_sigaction 98
+#define SYS_sigpending 99
+#define SYS_context 100
+#define SYS_evsys 101
+#define SYS_evtrapret 102
+#define SYS_statvfs 103
+#define SYS_fstatvfs 104
+ /* 105 reserved */
+#define SYS_nfssys 106
+#define SYS_waitsys 107
+#define SYS_sigsendsys 108
+#define SYS_hrtsys 109
+#define SYS_acancel 110
+#define SYS_async 111
+#define SYS_priocntlsys 112
+#define SYS_pathconf 113
+#define SYS_mincore 114
+#define SYS_mmap 115
+#define SYS_mprotect 116
+#define SYS_munmap 117
+#define SYS_fpathconf 118
+#define SYS_vfork 119
+#define SYS_fchdir 120
+#define SYS_readv 121
+#define SYS_writev 122
+#define SYS_xstat 123
+#define SYS_lxstat 124
+#define SYS_fxstat 125
+#define SYS_xmknod 126
+#define SYS_clocal 127
+#define SYS_setrlimit 128
+#define SYS_getrlimit 129
+#define SYS_lchown 130
+#define SYS_memcntl 131
+#define SYS_getpmsg 132
+#define SYS_putpmsg 133
+#define SYS_rename 134
+#define SYS_uname 135
+#define SYS_setegid 136
+#define SYS_sysconfig 137
+#define SYS_adjtime 138
+#define SYS_systeminfo 139
+#define SYS_seteuid 141
+#define SYS_vtrace 142
+#define SYS_fork1 143
+#define SYS_sigwait 144
+#define SYS_lwp_info 145
+#define SYS_yield 146
+#define SYS_lwp_sema_p 147
+#define SYS_lwp_sema_v 148
+#define SYS_modctl 152
+#define SYS_fchroot 153
+#define SYS_utimes 154
+#define SYS_vhangup 155
+#define SYS_gettimeofday 156
+#define SYS_getitimer 157
+#define SYS_setitimer 158
+#define SYS_lwp_create 159
+#define SYS_lwp_exit 160
+#define SYS_lwp_suspend 161
+#define SYS_lwp_continue 162
+#define SYS_lwp_kill 163
+#define SYS_lwp_self 164
+#define SYS_lwp_setprivate 165
+#define SYS_lwp_getprivate 166
+#define SYS_lwp_wait 167
+#define SYS_lwp_mutex_unlock 168
+#define SYS_lwp_mutex_lock 169
+#define SYS_lwp_cond_wait 170
+#define SYS_lwp_cond_signal 171
+#define SYS_lwp_cond_broadcast 172
+#define SYS_pread 173
+#define SYS_pwrite 174
+#define SYS_llseek 175
+#define SYS_inst_sync 176
+#define SYS_auditsys 186
+#else
+#define SYS_mincore 78
+#define SYS_getgroups 79
+#define SYS_setgroups 80
+#define SYS_getpgrp 81
+#define SYS_setpgrp 82
+#define SYS_setitimer 83
+ /* 84 is old: wait & wait3 */
+#define SYS_swapon 85
+#define SYS_getitimer 86
+#define SYS_gethostname 87
+#define SYS_sethostname 88
+#define SYS_getdtablesize 89
+#define SYS_dup2 90
+#define SYS_getdopt 91
+#define SYS_fcntl 92
+#define SYS_select 93
+#define SYS_setdopt 94
+#define SYS_fsync 95
+#define SYS_setpriority 96
+#define SYS_socket 97
+#define SYS_connect 98
+#define SYS_accept 99
+#define SYS_getpriority 100
+#define SYS_send 101
+#define SYS_recv 102
+ /* 103 was socketaddr */
+#define SYS_bind 104
+#define SYS_setsockopt 105
+#define SYS_listen 106
+ /* 107 was vtimes */
+#define SYS_sigvec 108
+#define SYS_sigblock 109
+#define SYS_sigsetmask 110
+#define SYS_sigpause 111
+#define SYS_sigstack 112
+#define SYS_recvmsg 113
+#define SYS_sendmsg 114
+#define SYS_vtrace 115
+#define SYS_gettimeofday 116
+#define SYS_getrusage 117
+#define SYS_getsockopt 118
+ /* 119 is old resuba */
+#define SYS_readv 120
+#define SYS_writev 121
+#define SYS_settimeofday 122
+#define SYS_fchown 123
+#define SYS_fchmod 124
+#define SYS_recvfrom 125
+#define SYS_setreuid 126
+#define SYS_setregid 127
+#define SYS_rename 128
+#define SYS_truncate 129
+#define SYS_ftruncate 130
+#define SYS_flock 131
+ /* 132 is unused */
+#define SYS_sendto 133
+#define SYS_shutdown 134
+#define SYS_socketpair 135
+#define SYS_mkdir 136
+#define SYS_rmdir 137
+#define SYS_utimes 138
+ /* 139 is unused */
+#define SYS_adjtime 140
+#define SYS_getpeername 141
+#define SYS_gethostid 142
+ /* 143 is old: sethostid */
+#define SYS_getrlimit 144
+#define SYS_setrlimit 145
+#define SYS_killpg 146
+ /* 147 is unused */
+ /* 148 is old: setquota */
+ /* 149 is old: quota */
+#define SYS_getsockname 150
+#define SYS_getmsg 151
+#define SYS_putmsg 152
+#define SYS_poll 153
+ /* 154 is old: nfs_mount */
+#define SYS_nfssvc 155
+#define SYS_getdirentries 156
+#define SYS_statfs 157
+#define SYS_fstatfs 158
+#define SYS_unmount 159
+#define SYS_async_daemon 160
+#define SYS_getfh 161
+#define SYS_getdomainname 162
+#define SYS_setdomainname 163
+ /* 164 is old: pcfs_mount */
+#define SYS_quotactl 165
+#define SYS_exportfs 166
+#define SYS_mount 167
+#define SYS_ustat 168
+#define SYS_semsys 169
+#define SYS_msgsys 170
+#define SYS_shmsys 171
+#define SYS_auditsys 172
+#define SYS_rfssys 173
+#define SYS_getdents 174
+#define SYS_setsid 175
+#define SYS_fchdir 176
+#define SYS_fchroot 177
+#define SYS_vpixsys 178
+
+#define SYS_aioread 179
+#define SYS_aiowrite 180
+#define SYS_aiowait 181
+#define SYS_aiocancel 182
+
+#define SYS_sigpending 183
+ /* 184 is available */
+#define SYS_setpgid 185
+#define SYS_pathconf 186
+#define SYS_fpathconf 187
+#define SYS_sysconf 188
+
+#define SYS_uname 189
+
+#endif /* ! __svr4__ */
+
+#endif /* _SYSCALL_H_ */
+
+
+
diff --git a/newlib/libc/sys/sparc64/sys/syscallasm.h b/newlib/libc/sys/sparc64/sys/syscallasm.h
new file mode 100644
index 00000000000..d882a9e318b
--- /dev/null
+++ b/newlib/libc/sys/sparc64/sys/syscallasm.h
@@ -0,0 +1,87 @@
+#ifndef _SYSCALLASM_H_
+#define _SYSCALLASM_H_
+
+/*
+ * This file defines the system calls for SPARC for the assembler.
+ * Anything C-ish is not allowed in this file.
+ * C files should include syscall.h.
+ */
+
+#include <sys/syscall.h>
+
+/* Some macros for writing assember syscall stubs. */
+
+#ifdef __svr4__
+#define TEXT_SECTION .section ".text"
+#define DATA_SECTION .section ".data"
+#define ALIGN(x) .align x
+#define GLOBAL(sym) .global sym
+#define WORD(x) .long x
+#define ASM_SYMBOL(name) name
+#define ASM_PRIVATE_SYMBOL(name) _##name
+#define SYSCALL_TRAP 8
+#else
+#define TEXT_SECTION .text
+#define DATA_SECTION .data
+#define ALIGN(x) .align x
+#define GLOBAL(sym) .global sym
+#define WORD(x) .word x
+#define ASM_SYMBOL(name) _##name
+#define ASM_PRIVATE_SYMBOL(name) name
+#define SYSCALL_TRAP 0
+#endif
+
+#define defsyscall(name, n) \
+ TEXT_SECTION ; \
+ ALIGN (4) ; \
+ GLOBAL (ASM_SYMBOL (name)) ; \
+ASM_SYMBOL (name): \
+ mov n,%g1 ; \
+ ta %icc,SYSCALL_TRAP ; \
+ bcc noerr ; \
+ sethi %hi (ASM_PRIVATE_SYMBOL (cerror)),%g1 ; \
+ or %g1,%lo (ASM_PRIVATE_SYMBOL (cerror)),%g1 ; \
+ jmpl %g1+%g0,%g0 ; \
+ nop ; \
+noerr: \
+ jmpl %o7+8,%g0 ; \
+ nop
+
+/* Support for reentrant syscalls. The "struct _reent *" arg is always the
+ the first one. After that we allow up to four additional args. We could
+ allow more, but that's all we need for now.
+
+ It may seem inefficient to have the reent arg be the first one as it means
+ copying all the other args into place (as opposed to making the reent arg
+ the last one in which case there wouldn't be any copying). I chose a clean
+ design over an extra four instructions in a system call. All other
+ reentrant functions use the first arg this way. */
+
+#define defsyscall_r(name, n) \
+ TEXT_SECTION ; \
+ ALIGN (4) ; \
+ GLOBAL (ASM_SYMBOL (name)) ; \
+ASM_SYMBOL (name): \
+ mov n,%g1 ; \
+ mov %o0,%o5 ; \
+ mov %o1,%o0 ; \
+ mov %o2,%o1 ; \
+ mov %o3,%o2 ; \
+ mov %o4,%o3 ; \
+ ta %icc,SYSCALL_TRAP ; \
+ bcc noerr ; \
+ sethi %hi (ASM_PRIVATE_SYMBOL (cerror_r)),%g1 ; \
+ or %g1,%lo (ASM_PRIVATE_SYMBOL (cerror_r)),%g1 ; \
+ jmpl %g1+%g0,%g0 ; \
+ mov %o5,%o1 ; \
+noerr: \
+ jmpl %o7+8,%g0 ; \
+ nop
+
+#define seterrno() \
+ sethi %hi (ASM_PRIVATE_SYMBOL (cerror)),%g1 ; \
+ or %g1,%lo (ASM_PRIVATE_SYMBOL (cerror)),%g1 ; \
+ jmpl %g1+%g0,%g0 ; \
+ nop
+
+#endif /* _SYSCALLASM_H_ */
diff --git a/newlib/libc/sys/sparc64/sys/termios.h b/newlib/libc/sys/sparc64/sys/termios.h
new file mode 100644
index 00000000000..ffdeb9bb221
--- /dev/null
+++ b/newlib/libc/sys/sparc64/sys/termios.h
@@ -0,0 +1,122 @@
+/* FIXME: From sys/sysvi386/sys */
+#ifndef _SYS_TERMIOS_H
+# define _SYS_TERMIOS_H
+
+# define _XCGETA (('x'<<8)|1)
+# define _XCSETA (('x'<<8)|2)
+# define _XCSETAW (('x'<<8)|3)
+# define _XCSETAF (('x'<<8)|4)
+# define _TCSBRK (('T'<<8)|5)
+# define _TCFLSH (('T'<<8)|7)
+# define _TCXONC (('T'<<8)|6)
+
+# define TCOOFF 0
+# define TCOON 1
+# define TCIOFF 2
+# define TCION 3
+
+# define TCIFLUSH 0
+# define TCOFLUSH 1
+# define TCIOFLUSH 2
+
+# define NCCS 13
+
+# define TCSAFLUSH _XCSETAF
+# define TCSANOW _XCSETA
+# define TCSADRAIN _XCSETAW
+# define TCSADFLUSH _XCSETAF
+
+# define IGNBRK 000001
+# define BRKINT 000002
+# define IGNPAR 000004
+# define INPCK 000020
+# define ISTRIP 000040
+# define INLCR 000100
+# define IGNCR 000200
+# define ICRNL 000400
+# define IXON 002000
+# define IXOFF 010000
+
+# define OPOST 000001
+# define OCRNL 000004
+# define ONLCR 000010
+# define ONOCR 000020
+# define TAB3 014000
+
+# define CLOCAL 004000
+# define CREAD 000200
+# define CSIZE 000060
+# define CS5 0
+# define CS6 020
+# define CS7 040
+# define CS8 060
+# define CSTOPB 000100
+# define HUPCL 002000
+# define PARENB 000400
+# define PAODD 001000
+
+# define ECHO 0000010
+# define ECHOE 0000020
+# define ECHOK 0000040
+# define ECHONL 0000100
+# define ICANON 0000002
+# define IEXTEN 0000400 /* anybody know *what* this does?! */
+# define ISIG 0000001
+# define NOFLSH 0000200
+# define TOSTOP 0001000
+
+# define VEOF 4 /* also VMIN -- thanks, AT&T */
+# define VEOL 5 /* also VTIME -- thanks again */
+# define VERASE 2
+# define VINTR 0
+# define VKILL 3
+# define VMIN 4 /* also VEOF */
+# define VQUIT 1
+# define VSUSP 10
+# define VTIME 5 /* also VEOL */
+# define VSTART 11
+# define VSTOP 12
+
+# define B0 000000
+# define B50 000001
+# define B75 000002
+# define B110 000003
+# define B134 000004
+# define B150 000005
+# define B200 000006
+# define B300 000007
+# define B600 000010
+# define B1200 000011
+# define B1800 000012
+# define B2400 000013
+# define B4800 000014
+# define B9600 000015
+# define B19200 000016
+# define B38400 000017
+
+typedef unsigned char cc_t;
+typedef unsigned short tcflag_t;
+typedef char speed_t;
+
+struct termios {
+ tcflag_t c_iflag;
+ tcflag_t c_oflag;
+ tcflag_t c_cflag;
+ tcflag_t c_lflag;
+ char c_line;
+ cc_t c_cc[NCCS];
+ speed_t c_ispeed;
+ speed_t c_ospeed;
+};
+
+# ifndef _NO_MACROS
+
+# define cfgetospeed(tp) ((tp)->c_ospeed)
+# define cfgetispeed(tp) ((tp)->c_ispeed)
+# define cfsetospeed(tp,s) (((tp)->c_ospeed = (s)), 0)
+# define cfsetispeed(tp,s) (((tp)->c_ispeed = (s)), 0)
+# define tcdrain(fd) _ioctl (fd, _TCSBRK, 1)
+# endif /* _NO_MACROS */
+
+#endif /* _SYS_TERMIOS_H */
+
diff --git a/newlib/libc/sys/sparc64/sys/time.h b/newlib/libc/sys/sparc64/sys/time.h
new file mode 100644
index 00000000000..36f8e1c1177
--- /dev/null
+++ b/newlib/libc/sys/sparc64/sys/time.h
@@ -0,0 +1,22 @@
+#ifndef _SYS_TIME_H
+#define _SYS_TIME_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct timeval {
+ long tv_sec;
+ long tv_usec;
+};
+
+typedef struct timestruc {
+ time_t tv_sec;
+ long tv_nsec;
+} timestruc_t;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _SYS_TIME_H */
diff --git a/newlib/libc/sys/sparc64/sys/utime.h b/newlib/libc/sys/sparc64/sys/utime.h
new file mode 100644
index 00000000000..e2a55faffb7
--- /dev/null
+++ b/newlib/libc/sys/sparc64/sys/utime.h
@@ -0,0 +1,13 @@
+/* FIXME: From sys/sysvi386/sys */
+#ifndef _SYS_UTIME_H
+# define _SYS_UTIME_H
+
+#include <time.h>
+
+struct utimbuf {
+ time_t actime;
+ time_t modtime;
+};
+
+#endif /* _SYS_UTIME_H */
+
diff --git a/newlib/libc/sys/sparc64/sys/utmp.h b/newlib/libc/sys/sparc64/sys/utmp.h
new file mode 100644
index 00000000000..f519e6af058
--- /dev/null
+++ b/newlib/libc/sys/sparc64/sys/utmp.h
@@ -0,0 +1,43 @@
+#ifndef _UTMP_H
+# define _UTMP_H
+
+#include <sys/types.h>
+
+# define UTMP_FILE "/etc/utmp"
+# define WTMP_FILE "/etc/wtmp"
+
+struct utmp {
+ char ut_user[8]; /* how limited */
+ char ut_id[4]; /* ditto */
+ char ut_line[12]; /* I'm repeating myself */
+ short ut_pid;
+ short ut_type;
+ struct exit_status {
+ short e_termination;
+ short e_exit;
+ } ut_exit; /* for DEAD_PROCESS processes */
+ time_t ut_time;
+};
+
+/* Definitions for ut_type fields */
+
+# define EMPTY 0
+# define RUN_LVL 1
+# define BOOT_TIME 2
+# define OLD_TIME 3
+# define NEW_TIME 4
+# define INIT_PROCESS 5
+# define LOGIN_PROCESS 6
+# define USER_PROCESS 7
+# define DEAD_PROCESS 8
+# define ACCOUNTING 9
+# define UTMAXTYPE ACCOUNTING
+
+# define RUNLVL_MSG "run-level %c"
+# define BOOT_MSG "system boot"
+# define OTIME_MSG "old time"
+# define NTIME_MSG "new time"
+
+#endif /* _UTMP_H */
+
+
diff --git a/newlib/libc/sys/sparc64/sys/wait.h b/newlib/libc/sys/sparc64/sys/wait.h
new file mode 100644
index 00000000000..08b756aab5f
--- /dev/null
+++ b/newlib/libc/sys/sparc64/sys/wait.h
@@ -0,0 +1,43 @@
+/* FIXME: From sys/sysvi386/sys */
+#ifndef _WAIT_H
+# define _WAIT_H
+
+# define WNOHANG 1
+# define WUNTRACED 2
+
+/*
+ * Unlike the atrocity that BSD ended up using, we do not have a "union
+ * wait," although I could probably implement one. Given the code I
+ * sometimes end up porting, it might be a good thing. Anyway, the
+ * format of a stat thingy, filled in by the wait*() routines, is:
+ * struct {
+ * int filler:16;
+ * union {
+ * struct stopped {
+ * int signo:8;
+ * int o177:8; // will be 0177
+ * };
+ * struct exited {
+ * int retval:8;
+ * int zero:8; // 0, obviously 8-)
+ * };
+ * struct termed {
+ * int zero:8; // zeroes
+ * int corep:1; // was there a core file?
+ * int signo:7; // what?! Only 127 signals?!
+ * };
+ * int value:16;
+ * };
+ * };
+ *
+ * Braver souls than I can turn that into a union wait, if desired. Ick.
+ */
+
+# define WIFEXITED(val) ((val)&0xff)
+# define WEXITSTATUS(val) (((val)>>8)&0xff)
+# define WIFSIGNALED(val) ((val) && !((val)&0xff))
+# define WTERMSIG(val) (((val)>>8)&0x7f)
+# define WIFSTOPPED(val) (((val)&0xff)==0177)
+# define WSTOPSIG(val) (((val)>>8)&0xff)
+#endif /* _SYS_WAIT_H */
+
diff --git a/newlib/libc/sys/sparc64/telldir.c b/newlib/libc/sys/sparc64/telldir.c
new file mode 100644
index 00000000000..37d9de6389e
--- /dev/null
+++ b/newlib/libc/sys/sparc64/telldir.c
@@ -0,0 +1,129 @@
+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)telldir.c 5.9 (Berkeley) 2/23/91";
+#endif /* LIBC_SCCS and not lint */
+
+#include <sys/param.h>
+#include <dirent.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+/*
+ * The option SINGLEUSE may be defined to say that a telldir
+ * cookie may be used only once before it is freed. This option
+ * is used to avoid having memory usage grow without bound.
+ */
+#define SINGLEUSE
+
+/*
+ * One of these structures is malloced to describe the current directory
+ * position each time telldir is called. It records the current magic
+ * cookie returned by getdirentries and the offset within the buffer
+ * associated with that return value.
+ */
+struct ddloc {
+ struct ddloc *loc_next;/* next structure in list */
+ long loc_index; /* key associated with structure */
+ long loc_seek; /* magic cookie returned by getdirentries */
+ long loc_loc; /* offset of entry in buffer */
+};
+
+#define NDIRHASH 32 /* Num of hash lists, must be a power of 2 */
+#define LOCHASH(i) ((i)&(NDIRHASH-1))
+
+static long dd_loccnt; /* Index of entry for sequential readdir's */
+static struct ddloc *dd_hash[NDIRHASH]; /* Hash list heads for ddlocs */
+
+/*
+ * return a pointer into a directory
+ */
+long
+telldir(dirp)
+ const DIR *dirp;
+{
+ register int index;
+ register struct ddloc *lp;
+
+ if ((lp = (struct ddloc *)malloc(sizeof(struct ddloc))) == NULL)
+ return (-1);
+ index = dd_loccnt++;
+ lp->loc_index = index;
+ lp->loc_seek = dirp->dd_seek;
+ lp->loc_loc = dirp->dd_loc;
+ lp->loc_next = dd_hash[LOCHASH(index)];
+ dd_hash[LOCHASH(index)] = lp;
+ return (index);
+}
+
+/*
+ * seek to an entry in a directory.
+ * Only values returned by "telldir" should be passed to seekdir.
+ */
+void
+_seekdir(dirp, loc)
+ register DIR *dirp;
+ long loc;
+{
+ register struct ddloc *lp;
+ register struct ddloc **prevlp;
+ struct dirent *dp;
+ extern long lseek();
+
+ prevlp = &dd_hash[LOCHASH(loc)];
+ lp = *prevlp;
+ while (lp != NULL) {
+ if (lp->loc_index == loc)
+ break;
+ prevlp = &lp->loc_next;
+ lp = lp->loc_next;
+ }
+ if (lp == NULL)
+ return;
+ if (lp->loc_loc == dirp->dd_loc && lp->loc_seek == dirp->dd_seek)
+ goto found;
+ (void) lseek(dirp->dd_fd, lp->loc_seek, 0);
+ dirp->dd_seek = lp->loc_seek;
+ dirp->dd_loc = 0;
+ while (dirp->dd_loc < lp->loc_loc) {
+ dp = readdir(dirp);
+ if (dp == NULL)
+ break;
+ }
+found:
+#ifdef SINGLEUSE
+ *prevlp = lp->loc_next;
+ free((caddr_t)lp);
+#endif
+}
diff --git a/newlib/libc/sys/sparc64/template.S b/newlib/libc/sys/sparc64/template.S
new file mode 100644
index 00000000000..53d8e778a7c
--- /dev/null
+++ b/newlib/libc/sys/sparc64/template.S
@@ -0,0 +1,14 @@
+/* system call template */
+
+/* Lots of system calls are trivial functions, so we build their source files
+ from a template. New syscalls can be added simply by editing the
+ Makefile!
+
+ Usage: Compile this file with "func" set to the name of the syscall. */
+
+#include "sys/syscallasm.h"
+
+#define concat(a,b) a##b
+#define makesys(a) concat (SYS_, a)
+
+ defsyscall (func, makesys(func))
diff --git a/newlib/libc/sys/sparc64/template_r.S b/newlib/libc/sys/sparc64/template_r.S
new file mode 100644
index 00000000000..8eaa4fc6382
--- /dev/null
+++ b/newlib/libc/sys/sparc64/template_r.S
@@ -0,0 +1,26 @@
+/* reentrant system call template */
+
+/* Lots of system calls are trivial functions, so we build their source files
+ from a template. New syscalls can be added simply by editing the
+ Makefile!
+
+ The system calls aren't necessarily reentrant. If we were being used in
+ an embedded system they could be. Reentrant syscalls are also used,
+ however, to provide ANSI C namespace clean access to the host o/s.
+
+ Usage: Compile this file with "func" set to the name of the syscall. */
+
+#include "sys/syscallasm.h"
+
+#define concat(a,b) a##b
+#define concat3(a,b,c) a##b##c
+#define makesys(a) concat (SYS_, a)
+#define make_r_fn(a) concat3 (_, a, _r)
+
+/* The leading _'s get turned into #'s by the Makefile. */
+
+_ifdef REENT
+ defsyscall_r (make_r_fn (func), makesys (func))
+_else
+ defsyscall (func, makesys (func))
+_endif
diff --git a/newlib/libc/sys/sparc64/utime.S b/newlib/libc/sys/sparc64/utime.S
new file mode 100644
index 00000000000..c5729cca3c8
--- /dev/null
+++ b/newlib/libc/sys/sparc64/utime.S
@@ -0,0 +1,10 @@
+/* utime() system call */
+/* svr4 only, sunos4 version calls utimes */
+
+#ifdef __svr4__
+
+#include "sys/syscallasm.h"
+
+ defsyscall (utime, SYS_utime)
+
+#endif
diff --git a/newlib/libc/sys/sparc64/utime2.c b/newlib/libc/sys/sparc64/utime2.c
new file mode 100644
index 00000000000..5f01e3b2b49
--- /dev/null
+++ b/newlib/libc/sys/sparc64/utime2.c
@@ -0,0 +1,26 @@
+/* utime() system call for sunos4 */
+
+#ifndef __svr4__
+
+#include <time.h>
+#include <sys/time.h>
+#include <utime.h>
+
+int
+utime (char *path, struct utimbuf *times)
+{
+ if (times != NULL)
+ {
+ struct timeval timevals[2];
+
+ timevals[0].tv_sec = (long int) times->actime;
+ timevals[0].tv_usec = 0;
+ timevals[1].tv_sec = (long int) times->modtime;
+ timevals[1].tv_usec = 0;
+ return utimes (path, timevals);
+ }
+
+ return utimes (path, (struct timeval *) 0);
+}
+
+#endif
diff --git a/newlib/libc/sys/sparc64/wait.S b/newlib/libc/sys/sparc64/wait.S
new file mode 100644
index 00000000000..49ab5e9391e
--- /dev/null
+++ b/newlib/libc/sys/sparc64/wait.S
@@ -0,0 +1,35 @@
+! wait() "system" call
+! It is really not a system call as it uses wait4().
+
+#include "sys/syscallasm.h"
+
+ TEXT_SECTION
+ ALIGN (4)
+
+#ifdef REENT
+
+ GLOBAL (ASM_SYMBOL (_wait_r))
+ASM_SYMBOL (_wait_r):
+ save %sp,-136,%sp
+ clr %o1
+ mov %i1,%o2
+ clr %o3
+ call ASM_SYMBOL (_wait4_r)
+ clr %o4
+ jmpl %i7+8,%g0
+ restore %g0,%o0,%o0
+
+#else /* ! REENT */
+
+ GLOBAL (ASM_SYMBOL (wait))
+ASM_SYMBOL (wait):
+ save %sp,-136,%sp
+ clr %o0
+ mov %i0,%o1
+ clr %o2
+ call ASM_SYMBOL (wait4)
+ clr %o3
+ jmpl %i7+8,%g0
+ restore %g0,%o0,%o0
+
+#endif /* ! REENT */
diff --git a/newlib/libc/sys/sun4/Makefile.am b/newlib/libc/sys/sun4/Makefile.am
new file mode 100644
index 00000000000..911008641d2
--- /dev/null
+++ b/newlib/libc/sys/sun4/Makefile.am
@@ -0,0 +1,95 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+COPYOFILES = \
+ Ovfork.o \
+ _exit.o \
+ _sigvec.o \
+ abort.o \
+ access.o \
+ cerror.o \
+ chmod.o \
+ chown.o \
+ close.o \
+ creat.o \
+ dup.o \
+ dup2.o \
+ errlst.o \
+ execl.o \
+ execle.o \
+ execv.o \
+ execve.o \
+ execvp.o \
+ fork.o \
+ fstat.o \
+ getdtablesize.o \
+ getpid.o \
+ getrusage.o \
+ gettimeofday.o \
+ ieee_globals.o \
+ ioctl.o \
+ isatty.o \
+ kill.o \
+ link.o \
+ lseek.o \
+ open.o \
+ pipe.o \
+ popen.o \
+ read.o \
+ sbrk.o \
+ setitimer.o \
+ sigblock.o \
+ signal.o \
+ sigpause.o \
+ sigsetjmp.o \
+ sigsetmask.o \
+ sigtramp.o \
+ sigvec.o \
+ sleep.o \
+ start_float.o \
+ stat.o \
+ time.o \
+ times.o \
+ umask.o \
+ unlink.o \
+ utime.o \
+ utimes.o \
+ wait.o \
+ wait3.o \
+ wait4.o \
+ write.o \
+ rem.o \
+ multiply.o \
+ umultiply.o
+
+# These files are from Sun's libc.a, but the must be renamed because they
+# conflict with other library .o's. They are renamed to xxxS.o.
+COPYRENAMEOFILES = divS.o
+
+COPYOMFILES = ieee_flags.o
+
+lib_a_SOURCES = _main.c ieee.c
+lib_a_LIBADD = $(COPYOFILES) $(COPYOMFILES) $(COPYRENAMEOFILES)
+
+$(COPYOFILES):
+ $(AR) x /lib/libc.a $(COPYOFILES)
+
+$(COPYRENAMEOFILES):
+ $(AR) x /lib/libc.a $(COPYRENAMEFILES:S.o=.o)
+ for f in $(COPYRENAMEOFILES); do mv `basename $$f S.o`.o $$f; done
+
+$(COPYOMFILES):
+ $(AR) x /lib/libm.a $(COPYOMFILES)
+
+all: crt0.o
+
+crt0.o:
+ cp /lib/crt0.o crt0.o
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/sun4/Makefile.in b/newlib/libc/sys/sun4/Makefile.in
new file mode 100644
index 00000000000..326dd98ccb9
--- /dev/null
+++ b/newlib/libc/sys/sun4/Makefile.in
@@ -0,0 +1,388 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+COPYOFILES = \
+ Ovfork.o \
+ _exit.o \
+ _sigvec.o \
+ abort.o \
+ access.o \
+ cerror.o \
+ chmod.o \
+ chown.o \
+ close.o \
+ creat.o \
+ dup.o \
+ dup2.o \
+ errlst.o \
+ execl.o \
+ execle.o \
+ execv.o \
+ execve.o \
+ execvp.o \
+ fork.o \
+ fstat.o \
+ getdtablesize.o \
+ getpid.o \
+ getrusage.o \
+ gettimeofday.o \
+ ieee_globals.o \
+ ioctl.o \
+ isatty.o \
+ kill.o \
+ link.o \
+ lseek.o \
+ open.o \
+ pipe.o \
+ popen.o \
+ read.o \
+ sbrk.o \
+ setitimer.o \
+ sigblock.o \
+ signal.o \
+ sigpause.o \
+ sigsetjmp.o \
+ sigsetmask.o \
+ sigtramp.o \
+ sigvec.o \
+ sleep.o \
+ start_float.o \
+ stat.o \
+ time.o \
+ times.o \
+ umask.o \
+ unlink.o \
+ utime.o \
+ utimes.o \
+ wait.o \
+ wait3.o \
+ wait4.o \
+ write.o \
+ rem.o \
+ multiply.o \
+ umultiply.o
+
+# These files are from Sun's libc.a, but the must be renamed because they
+# conflict with other library .o's. They are renamed to xxxS.o.
+COPYRENAMEOFILES = divS.o
+
+COPYOMFILES = ieee_flags.o
+
+lib_a_SOURCES = _main.c ieee.c
+lib_a_LIBADD = $(COPYOFILES) $(COPYOMFILES) $(COPYRENAMEOFILES)
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_DEPENDENCIES = Ovfork.o _exit.o _sigvec.o abort.o access.o \
+cerror.o chmod.o chown.o close.o creat.o dup.o dup2.o errlst.o execl.o \
+execle.o execv.o execve.o execvp.o fork.o fstat.o getdtablesize.o \
+getpid.o getrusage.o gettimeofday.o ieee_globals.o ioctl.o isatty.o \
+kill.o link.o lseek.o open.o pipe.o popen.o read.o sbrk.o setitimer.o \
+sigblock.o signal.o sigpause.o sigsetjmp.o sigsetmask.o sigtramp.o \
+sigvec.o sleep.o start_float.o stat.o time.o times.o umask.o unlink.o \
+utime.o utimes.o wait.o wait3.o wait4.o write.o rem.o multiply.o \
+umultiply.o ieee_flags.o divS.o
+lib_a_OBJECTS = _main.o ieee.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+$(COPYOFILES):
+ $(AR) x /lib/libc.a $(COPYOFILES)
+
+$(COPYRENAMEOFILES):
+ $(AR) x /lib/libc.a $(COPYRENAMEFILES:S.o=.o)
+ for f in $(COPYRENAMEOFILES); do mv `basename $$f S.o`.o $$f; done
+
+$(COPYOMFILES):
+ $(AR) x /lib/libm.a $(COPYOMFILES)
+
+all: crt0.o
+
+crt0.o:
+ cp /lib/crt0.o crt0.o
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/sys/sun4/_main.c b/newlib/libc/sys/sun4/_main.c
new file mode 100644
index 00000000000..64878088d9c
--- /dev/null
+++ b/newlib/libc/sys/sun4/_main.c
@@ -0,0 +1,6 @@
+
+__main()
+{
+
+
+}
diff --git a/newlib/libc/sys/sun4/aclocal.m4 b/newlib/libc/sys/sun4/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/sys/sun4/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/sys/sun4/configure b/newlib/libc/sys/sun4/configure
new file mode 100755
index 00000000000..677d218824b
--- /dev/null
+++ b/newlib/libc/sys/sun4/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=ieee.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/sys/sun4/configure.in b/newlib/libc/sys/sun4/configure.in
new file mode 100644
index 00000000000..b16aed354c4
--- /dev/null
+++ b/newlib/libc/sys/sun4/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/sys/sun4 configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(ieee.c)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/sys/sun4/ieee.c b/newlib/libc/sys/sun4/ieee.c
new file mode 100644
index 00000000000..28289761d3a
--- /dev/null
+++ b/newlib/libc/sys/sun4/ieee.c
@@ -0,0 +1,115 @@
+
+#include <ieeefp.h>
+
+
+fp_rnd
+_DEFUN_VOID(fpgetround)
+{
+ char *out;
+ ieee_flags("get", "direction","", &out);
+ if (strcmp(out,"nearest") == 0) return FP_RN;
+ if (strcmp(out,"negative") == 0) return FP_RM;
+ if (strcmp(out,"positive") == 0) return FP_RP;
+ if (strcmp(out,"tozero") == 0) return FP_RZ;
+ abort();
+
+}
+
+fp_rnd
+_DEFUN(fpsetround,(new),
+ fp_rnd new)
+{
+ fp_rnd old = fpgetround();
+ char *dummy;
+
+ switch (new)
+ {
+ case FP_RN:
+ ieee_flags("set", "direction", "nearest", &dummy);
+ break;
+ case FP_RM:
+ ieee_flags("set", "direction", "negative", &dummy);
+ break;
+ case FP_RP:
+ ieee_flags("set", "direction", "positive", &dummy);
+ break;
+ case FP_RZ:
+ ieee_flags("set", "direction", "tozero", &dummy);
+ break;
+ default:
+ break;
+ }
+ return old;
+}
+
+
+fp_except
+_DEFUN_VOID(fpgetmask)
+{
+ char *out;
+ int r = 0;
+
+ int i = ieee_flags("get","exception","",&out);
+ if (i & 1) r |= FP_X_IMP;
+ if (i & 2) r |= FP_X_DX;
+ if (i & 4) r |= FP_X_UFL;
+ if (i & 8) r |= FP_X_OFL;
+ if (i & 16) r |= FP_X_INV;
+ return r;
+
+}
+
+fp_except
+_DEFUN(fpsetmask,(mask),
+ fp_except mask)
+{
+ fp_except old = fpgetmask();
+
+ char *out;
+ ieee_flags("clear","exception", "all", &out);
+
+
+ if (mask & FP_X_IMP)
+ ieee_flags("set","exception","inexact", &out);
+ if (mask & FP_X_DX)
+ ieee_flags("set","exception","division", &out);
+ if (mask & FP_X_UFL)
+ ieee_flags("set","exception","underflow", &out);
+ if (mask & FP_X_OFL)
+ ieee_flags("set","exception","overflow", &out);
+ if (mask & FP_X_INV)
+ ieee_flags("set","exception","invalid", &out);
+
+ return old;
+
+}
+
+fp_except
+_DEFUN(fpsetsticky,(mask),
+ fp_except mask)
+{
+ return fpsetmask(mask);
+}
+
+fp_except
+_DEFUN_VOID(fpgetsticky)
+{
+ return fpgetmask();
+}
+
+int
+_DEFUN(fpsetroundtoi,(rdi_mode),
+ fp_rdi rdi_mode)
+{
+
+ return 0;
+
+}
+
+int
+_DEFUN_VOID(fpgetroundtoi)
+{
+
+ return 0;
+
+}
diff --git a/newlib/libc/sys/sun4/sys/dirent.h b/newlib/libc/sys/sun4/sys/dirent.h
new file mode 100644
index 00000000000..b7ca90b0d96
--- /dev/null
+++ b/newlib/libc/sys/sun4/sys/dirent.h
@@ -0,0 +1,45 @@
+/* FIXME: From sys/sysvi386/sys */
+#ifndef _SYS_DIRENT_H
+# define _SYS_DIRENT_H
+
+/*
+ * This file was written to be compatible with the BSD directory
+ * routines, so it looks like it. But it was written from scratch.
+ * Sean Eric Fagan, sef@Kithrup.COM
+ *
+ * Modified by dje@cygnus.com for sun.
+ */
+
+typedef struct __dirdesc {
+ int dd_fd;
+ long dd_loc;
+ long dd_size;
+ long dd_bsize;
+ long dd_off;
+ char *dd_buf;
+} DIR;
+
+# define __dirfd(dp) ((dp)->dd_fd)
+
+DIR *opendir (const char *);
+struct dirent *readdir (DIR *);
+void rewinddir (DIR *);
+int closedir (DIR *);
+
+#include <sys/types.h>
+
+#define MAXNAMLEN 255
+
+#define d_ino d_fileno /* compatibility */
+
+struct dirent {
+ off_t d_off;
+ unsigned long d_fileno;
+ unsigned short d_reclen;
+ unsigned short d_namlen;
+ char d_name[MAXNAMLEN + 1];
+};
+
+/* FIXME: include definition of DIRSIZ() ? */
+
+#endif
diff --git a/newlib/libc/sys/sun4/sys/file.h b/newlib/libc/sys/sun4/sys/file.h
new file mode 100644
index 00000000000..94d65c1df0d
--- /dev/null
+++ b/newlib/libc/sys/sun4/sys/file.h
@@ -0,0 +1,3 @@
+/* FIXME: really fcntl.h */
+
+#include <sys/fcntl.h>
diff --git a/newlib/libc/sys/sun4/sys/termios.h b/newlib/libc/sys/sun4/sys/termios.h
new file mode 100644
index 00000000000..ffdeb9bb221
--- /dev/null
+++ b/newlib/libc/sys/sun4/sys/termios.h
@@ -0,0 +1,122 @@
+/* FIXME: From sys/sysvi386/sys */
+#ifndef _SYS_TERMIOS_H
+# define _SYS_TERMIOS_H
+
+# define _XCGETA (('x'<<8)|1)
+# define _XCSETA (('x'<<8)|2)
+# define _XCSETAW (('x'<<8)|3)
+# define _XCSETAF (('x'<<8)|4)
+# define _TCSBRK (('T'<<8)|5)
+# define _TCFLSH (('T'<<8)|7)
+# define _TCXONC (('T'<<8)|6)
+
+# define TCOOFF 0
+# define TCOON 1
+# define TCIOFF 2
+# define TCION 3
+
+# define TCIFLUSH 0
+# define TCOFLUSH 1
+# define TCIOFLUSH 2
+
+# define NCCS 13
+
+# define TCSAFLUSH _XCSETAF
+# define TCSANOW _XCSETA
+# define TCSADRAIN _XCSETAW
+# define TCSADFLUSH _XCSETAF
+
+# define IGNBRK 000001
+# define BRKINT 000002
+# define IGNPAR 000004
+# define INPCK 000020
+# define ISTRIP 000040
+# define INLCR 000100
+# define IGNCR 000200
+# define ICRNL 000400
+# define IXON 002000
+# define IXOFF 010000
+
+# define OPOST 000001
+# define OCRNL 000004
+# define ONLCR 000010
+# define ONOCR 000020
+# define TAB3 014000
+
+# define CLOCAL 004000
+# define CREAD 000200
+# define CSIZE 000060
+# define CS5 0
+# define CS6 020
+# define CS7 040
+# define CS8 060
+# define CSTOPB 000100
+# define HUPCL 002000
+# define PARENB 000400
+# define PAODD 001000
+
+# define ECHO 0000010
+# define ECHOE 0000020
+# define ECHOK 0000040
+# define ECHONL 0000100
+# define ICANON 0000002
+# define IEXTEN 0000400 /* anybody know *what* this does?! */
+# define ISIG 0000001
+# define NOFLSH 0000200
+# define TOSTOP 0001000
+
+# define VEOF 4 /* also VMIN -- thanks, AT&T */
+# define VEOL 5 /* also VTIME -- thanks again */
+# define VERASE 2
+# define VINTR 0
+# define VKILL 3
+# define VMIN 4 /* also VEOF */
+# define VQUIT 1
+# define VSUSP 10
+# define VTIME 5 /* also VEOL */
+# define VSTART 11
+# define VSTOP 12
+
+# define B0 000000
+# define B50 000001
+# define B75 000002
+# define B110 000003
+# define B134 000004
+# define B150 000005
+# define B200 000006
+# define B300 000007
+# define B600 000010
+# define B1200 000011
+# define B1800 000012
+# define B2400 000013
+# define B4800 000014
+# define B9600 000015
+# define B19200 000016
+# define B38400 000017
+
+typedef unsigned char cc_t;
+typedef unsigned short tcflag_t;
+typedef char speed_t;
+
+struct termios {
+ tcflag_t c_iflag;
+ tcflag_t c_oflag;
+ tcflag_t c_cflag;
+ tcflag_t c_lflag;
+ char c_line;
+ cc_t c_cc[NCCS];
+ speed_t c_ispeed;
+ speed_t c_ospeed;
+};
+
+# ifndef _NO_MACROS
+
+# define cfgetospeed(tp) ((tp)->c_ospeed)
+# define cfgetispeed(tp) ((tp)->c_ispeed)
+# define cfsetospeed(tp,s) (((tp)->c_ospeed = (s)), 0)
+# define cfsetispeed(tp,s) (((tp)->c_ispeed = (s)), 0)
+# define tcdrain(fd) _ioctl (fd, _TCSBRK, 1)
+# endif /* _NO_MACROS */
+
+#endif /* _SYS_TERMIOS_H */
+
diff --git a/newlib/libc/sys/sun4/sys/utime.h b/newlib/libc/sys/sun4/sys/utime.h
new file mode 100644
index 00000000000..e2a55faffb7
--- /dev/null
+++ b/newlib/libc/sys/sun4/sys/utime.h
@@ -0,0 +1,13 @@
+/* FIXME: From sys/sysvi386/sys */
+#ifndef _SYS_UTIME_H
+# define _SYS_UTIME_H
+
+#include <time.h>
+
+struct utimbuf {
+ time_t actime;
+ time_t modtime;
+};
+
+#endif /* _SYS_UTIME_H */
+
diff --git a/newlib/libc/sys/sun4/sys/utmp.h b/newlib/libc/sys/sun4/sys/utmp.h
new file mode 100644
index 00000000000..f519e6af058
--- /dev/null
+++ b/newlib/libc/sys/sun4/sys/utmp.h
@@ -0,0 +1,43 @@
+#ifndef _UTMP_H
+# define _UTMP_H
+
+#include <sys/types.h>
+
+# define UTMP_FILE "/etc/utmp"
+# define WTMP_FILE "/etc/wtmp"
+
+struct utmp {
+ char ut_user[8]; /* how limited */
+ char ut_id[4]; /* ditto */
+ char ut_line[12]; /* I'm repeating myself */
+ short ut_pid;
+ short ut_type;
+ struct exit_status {
+ short e_termination;
+ short e_exit;
+ } ut_exit; /* for DEAD_PROCESS processes */
+ time_t ut_time;
+};
+
+/* Definitions for ut_type fields */
+
+# define EMPTY 0
+# define RUN_LVL 1
+# define BOOT_TIME 2
+# define OLD_TIME 3
+# define NEW_TIME 4
+# define INIT_PROCESS 5
+# define LOGIN_PROCESS 6
+# define USER_PROCESS 7
+# define DEAD_PROCESS 8
+# define ACCOUNTING 9
+# define UTMAXTYPE ACCOUNTING
+
+# define RUNLVL_MSG "run-level %c"
+# define BOOT_MSG "system boot"
+# define OTIME_MSG "old time"
+# define NTIME_MSG "new time"
+
+#endif /* _UTMP_H */
+
+
diff --git a/newlib/libc/sys/sun4/sys/wait.h b/newlib/libc/sys/sun4/sys/wait.h
new file mode 100644
index 00000000000..08b756aab5f
--- /dev/null
+++ b/newlib/libc/sys/sun4/sys/wait.h
@@ -0,0 +1,43 @@
+/* FIXME: From sys/sysvi386/sys */
+#ifndef _WAIT_H
+# define _WAIT_H
+
+# define WNOHANG 1
+# define WUNTRACED 2
+
+/*
+ * Unlike the atrocity that BSD ended up using, we do not have a "union
+ * wait," although I could probably implement one. Given the code I
+ * sometimes end up porting, it might be a good thing. Anyway, the
+ * format of a stat thingy, filled in by the wait*() routines, is:
+ * struct {
+ * int filler:16;
+ * union {
+ * struct stopped {
+ * int signo:8;
+ * int o177:8; // will be 0177
+ * };
+ * struct exited {
+ * int retval:8;
+ * int zero:8; // 0, obviously 8-)
+ * };
+ * struct termed {
+ * int zero:8; // zeroes
+ * int corep:1; // was there a core file?
+ * int signo:7; // what?! Only 127 signals?!
+ * };
+ * int value:16;
+ * };
+ * };
+ *
+ * Braver souls than I can turn that into a union wait, if desired. Ick.
+ */
+
+# define WIFEXITED(val) ((val)&0xff)
+# define WEXITSTATUS(val) (((val)>>8)&0xff)
+# define WIFSIGNALED(val) ((val) && !((val)&0xff))
+# define WTERMSIG(val) (((val)>>8)&0x7f)
+# define WIFSTOPPED(val) (((val)&0xff)==0177)
+# define WSTOPSIG(val) (((val)>>8)&0xff)
+#endif /* _SYS_WAIT_H */
+
diff --git a/newlib/libc/sys/sysmec/Makefile.am b/newlib/libc/sys/sysmec/Makefile.am
new file mode 100644
index 00000000000..fdaa7f6497c
--- /dev/null
+++ b/newlib/libc/sys/sysmec/Makefile.am
@@ -0,0 +1,18 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = _exit.c access.c chmod.c chown.c close.c creat.c crt1.c \
+ execv.c execve.c fork.c fstat.c getpid.c isatty.c \
+ kill.c lseek.c open.c pipe.c read.c \
+ sbrk.c stat.c time.c trap.S unlink.c utime.c wait.c write.c \
+ times.c gettime.c
+
+all: crt0.o
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/sysmec/Makefile.in b/newlib/libc/sys/sysmec/Makefile.in
new file mode 100644
index 00000000000..f34404c5b6a
--- /dev/null
+++ b/newlib/libc/sys/sysmec/Makefile.in
@@ -0,0 +1,306 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = _exit.c access.c chmod.c chown.c close.c creat.c crt1.c \
+ execv.c execve.c fork.c fstat.c getpid.c isatty.c \
+ kill.c lseek.c open.c pipe.c read.c \
+ sbrk.c stat.c time.c trap.S unlink.c utime.c wait.c write.c \
+ times.c gettime.c
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = _exit.o access.o chmod.o chown.o close.o creat.o crt1.o \
+execv.o execve.o fork.o fstat.o getpid.o isatty.o kill.o lseek.o open.o \
+pipe.o read.o sbrk.o stat.o time.o trap.o unlink.o utime.o wait.o \
+write.o times.o gettime.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+all: crt0.o
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/sys/sysmec/_exit.c b/newlib/libc/sys/sysmec/_exit.c
new file mode 100644
index 00000000000..bf7e2866b84
--- /dev/null
+++ b/newlib/libc/sys/sysmec/_exit.c
@@ -0,0 +1,34 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+static void _do_dtors()
+{
+ /* The loop variable is static so that if a destructor calls exit,
+ and we return here, we simply continue with the next destructor. */
+ typedef void (*pfunc) ();
+ extern pfunc __dtors[];
+ extern pfunc __dtors_end[];
+ static pfunc *p = __dtors;
+
+ while (p < __dtors_end)
+ (*p++) ();
+}
+
+
+void _exit (n)
+{
+ /* Destructors should be done earlier because they need to be done before the
+ files are closed, but here is better than nowhere (and this balances the
+ constructors done in crt1.c. */
+ _do_dtors();
+
+ TRAP0 (SYS_exit, n, 0, 0);
+}
diff --git a/newlib/libc/sys/sysmec/access.c b/newlib/libc/sys/sysmec/access.c
new file mode 100644
index 00000000000..ad368caa1f3
--- /dev/null
+++ b/newlib/libc/sys/sysmec/access.c
@@ -0,0 +1,34 @@
+/* This is file ACCESS.C */
+/*
+** Copyright (C) 1993 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+int access(const char *fn, int flags)
+{
+ struct stat s;
+ if (stat(fn, &s))
+ return -1;
+ if (s.st_mode & S_IFDIR)
+ return 0;
+ if (flags & W_OK)
+ {
+ if (s.st_mode & S_IWRITE)
+ return 0;
+ return -1;
+ }
+ return 0;
+}
+
diff --git a/newlib/libc/sys/sysmec/aclocal.m4 b/newlib/libc/sys/sysmec/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/sys/sysmec/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/sys/sysmec/chmod.c b/newlib/libc/sys/sysmec/chmod.c
new file mode 100644
index 00000000000..181460415b7
--- /dev/null
+++ b/newlib/libc/sys/sysmec/chmod.c
@@ -0,0 +1,16 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+int
+chmod (const char *path, mode_t mode)
+{
+ return TRAP0 (SYS_chmod, path, mode, 0);
+}
diff --git a/newlib/libc/sys/sysmec/chown.c b/newlib/libc/sys/sysmec/chown.c
new file mode 100644
index 00000000000..5b083f1dbfa
--- /dev/null
+++ b/newlib/libc/sys/sysmec/chown.c
@@ -0,0 +1,17 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+
+int
+chown (const char *path, short owner, short group)
+{
+ return TRAP0 (SYS_chown, path, owner, group);
+}
diff --git a/newlib/libc/sys/sysmec/close.c b/newlib/libc/sys/sysmec/close.c
new file mode 100644
index 00000000000..323c74ac54f
--- /dev/null
+++ b/newlib/libc/sys/sysmec/close.c
@@ -0,0 +1,16 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+int
+_close (int file)
+{
+ return TRAP0 (SYS_close, file, 0, 0);
+}
diff --git a/newlib/libc/sys/sysmec/configure b/newlib/libc/sys/sysmec/configure
new file mode 100755
index 00000000000..cab59b35a78
--- /dev/null
+++ b/newlib/libc/sys/sysmec/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=crt1.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/sys/sysmec/configure.in b/newlib/libc/sys/sysmec/configure.in
new file mode 100644
index 00000000000..39673d20c31
--- /dev/null
+++ b/newlib/libc/sys/sysmec/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/sys/sysmec configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(crt1.c)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/sys/sysmec/creat.c b/newlib/libc/sys/sysmec/creat.c
new file mode 100644
index 00000000000..fce9bc31c5e
--- /dev/null
+++ b/newlib/libc/sys/sysmec/creat.c
@@ -0,0 +1,17 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+int
+creat (const char *path,
+ int mode)
+{
+ return TRAP0 (SYS_creat, path, mode, 0);
+}
diff --git a/newlib/libc/sys/sysmec/crt0.S b/newlib/libc/sys/sysmec/crt0.S
new file mode 100644
index 00000000000..ca7c88fe6e4
--- /dev/null
+++ b/newlib/libc/sys/sysmec/crt0.S
@@ -0,0 +1,65 @@
+#ifdef __mn10300__
+ .section .text
+ .global _start
+_start:
+ mov _stack-8,a0 # Load up the stack pointer
+ mov a0,sp
+
+ mov _edata,a0 # Get the start/end of bss
+ mov _end,a1
+
+ cmp a0,a1 # If no bss, then do nothing
+ beq .L0
+
+ clr d0 # clear d0
+
+.L1:
+ movbu d0,(a0) # Clear a byte and bump pointer
+ inc a0
+ cmp a0,a1
+ bne .L1
+
+.L0:
+ call ___main,[],0 # Call __main to run ctors/dtors
+ clr d0
+ clr d1
+ mov d0,(4,sp)
+ call _main,[],0 # Call main program
+ call _exit,[],0 # All done, no need to return or
+ # deallocate our stack.
+
+ .section ._stack
+_stack: .long 1
+#else
+ .section .text
+ .global _start
+_start:
+ mov _stack-4,a3 # Load up the stack pointer and allocate
+ # our current frame.
+
+ mov _edata,a0 # Get the start/end of bss
+ mov _end,a1
+
+ cmp a0,a1 # If no bss, then do nothing
+ beqx .L0
+
+ sub d0,d0 # clear d0
+
+.L1:
+ movb d0,(a0) # Clear a byte and bump pointer
+ add 1,a0
+ cmp a0,a1
+ bnex .L1
+
+.L0:
+ jsr ___main
+ sub d0,d0
+ mov d0,d1
+ mov d0,(a3)
+ jsr _main # Call main program
+ jmp _exit # All done, no need to return or
+ # deallocate our stack.
+
+ .section ._stack
+_stack: .long 1
+#endif
diff --git a/newlib/libc/sys/sysmec/crt1.c b/newlib/libc/sys/sysmec/crt1.c
new file mode 100644
index 00000000000..dd0be3145de
--- /dev/null
+++ b/newlib/libc/sys/sysmec/crt1.c
@@ -0,0 +1,16 @@
+void __main ()
+{
+ static int initialized;
+ if (! initialized)
+ {
+ typedef void (*pfunc) ();
+ extern pfunc __ctors[];
+ extern pfunc __ctors_end[];
+ pfunc *p;
+
+ initialized = 1;
+ for (p = __ctors_end; p > __ctors; )
+ (*--p) ();
+
+ }
+}
diff --git a/newlib/libc/sys/sysmec/execv.c b/newlib/libc/sys/sysmec/execv.c
new file mode 100644
index 00000000000..6665721c09f
--- /dev/null
+++ b/newlib/libc/sys/sysmec/execv.c
@@ -0,0 +1,16 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+int
+execv (const char *path, char *const argv[])
+{
+ return TRAP0 (SYS_execv, path, argv, 0);
+}
diff --git a/newlib/libc/sys/sysmec/execve.c b/newlib/libc/sys/sysmec/execve.c
new file mode 100644
index 00000000000..a0d64c2333c
--- /dev/null
+++ b/newlib/libc/sys/sysmec/execve.c
@@ -0,0 +1,16 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+int
+_execve (const char *path, char *const argv[], char *const envp[])
+{
+ return TRAP0 (SYS_execve, path, argv, envp);
+}
diff --git a/newlib/libc/sys/sysmec/fork.c b/newlib/libc/sys/sysmec/fork.c
new file mode 100644
index 00000000000..1aab3244501
--- /dev/null
+++ b/newlib/libc/sys/sysmec/fork.c
@@ -0,0 +1,16 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+int
+_fork ()
+{
+ return TRAP0 (SYS_fork, 0, 0, 0);
+}
diff --git a/newlib/libc/sys/sysmec/fstat.c b/newlib/libc/sys/sysmec/fstat.c
new file mode 100644
index 00000000000..261b1449b9a
--- /dev/null
+++ b/newlib/libc/sys/sysmec/fstat.c
@@ -0,0 +1,19 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+int
+_fstat (int file,
+ struct stat *st)
+{
+ st->st_mode = S_IFCHR;
+ st->st_blksize = 4096;
+ return 0;
+}
diff --git a/newlib/libc/sys/sysmec/getpid.c b/newlib/libc/sys/sysmec/getpid.c
new file mode 100644
index 00000000000..070382e752e
--- /dev/null
+++ b/newlib/libc/sys/sysmec/getpid.c
@@ -0,0 +1,15 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+_getpid (n)
+{
+ return 1;
+}
diff --git a/newlib/libc/sys/sysmec/gettime.c b/newlib/libc/sys/sysmec/gettime.c
new file mode 100644
index 00000000000..69250b12c98
--- /dev/null
+++ b/newlib/libc/sys/sysmec/gettime.c
@@ -0,0 +1,17 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+#include "sys/time.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+int
+_gettimeofday (struct timeval *tp, void *tzp)
+{
+ return TRAP0 (SYS_gettimeofday, tp, tzp, 0);
+}
diff --git a/newlib/libc/sys/sysmec/isatty.c b/newlib/libc/sys/sysmec/isatty.c
new file mode 100644
index 00000000000..3ea99863ddb
--- /dev/null
+++ b/newlib/libc/sys/sysmec/isatty.c
@@ -0,0 +1,16 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+isatty (fd)
+ int fd;
+{
+ return 1;
+}
diff --git a/newlib/libc/sys/sysmec/kill.c b/newlib/libc/sys/sysmec/kill.c
new file mode 100644
index 00000000000..638132fed85
--- /dev/null
+++ b/newlib/libc/sys/sysmec/kill.c
@@ -0,0 +1,16 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+_kill (n, m)
+{
+ return TRAP0 (SYS_exit, 0xdead, 0, 0);
+}
+
diff --git a/newlib/libc/sys/sysmec/lseek.c b/newlib/libc/sys/sysmec/lseek.c
new file mode 100644
index 00000000000..dad6c39a835
--- /dev/null
+++ b/newlib/libc/sys/sysmec/lseek.c
@@ -0,0 +1,19 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/unistd.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+off_t
+_lseek (int file,
+ off_t ptr,
+ int dir)
+{
+ return TRAP0 (SYS_lseek, file, ptr, dir);
+}
diff --git a/newlib/libc/sys/sysmec/open.c b/newlib/libc/sys/sysmec/open.c
new file mode 100644
index 00000000000..0a9dbb04cfb
--- /dev/null
+++ b/newlib/libc/sys/sysmec/open.c
@@ -0,0 +1,17 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+int
+_open (const char *path,
+ int flags)
+{
+ return TRAP0 (SYS_open, path, flags, 0);
+}
diff --git a/newlib/libc/sys/sysmec/pipe.c b/newlib/libc/sys/sysmec/pipe.c
new file mode 100644
index 00000000000..4c0078067f9
--- /dev/null
+++ b/newlib/libc/sys/sysmec/pipe.c
@@ -0,0 +1,16 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+int
+pipe (int *fd)
+{
+ return TRAP0 (SYS_pipe, fd, 0, 0);
+}
diff --git a/newlib/libc/sys/sysmec/read.c b/newlib/libc/sys/sysmec/read.c
new file mode 100644
index 00000000000..eae084a6e2e
--- /dev/null
+++ b/newlib/libc/sys/sysmec/read.c
@@ -0,0 +1,17 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+_read (int file,
+ char *ptr,
+ size_t len)
+{
+ return TRAP0 (SYS_read, file, ptr, len);
+}
diff --git a/newlib/libc/sys/sysmec/sbrk.c b/newlib/libc/sys/sysmec/sbrk.c
new file mode 100644
index 00000000000..80cb431f615
--- /dev/null
+++ b/newlib/libc/sys/sysmec/sbrk.c
@@ -0,0 +1,36 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+caddr_t
+_sbrk (size_t incr)
+{
+ extern char end; /* Defined by the linker */
+ static char *heap_end;
+ char *prev_heap_end;
+#if 0
+ char *sp = (char *)stack_ptr;
+#else
+ char *sp = (char *)&sp;
+#endif
+
+ if (heap_end == 0)
+ {
+ heap_end = &end;
+ }
+ prev_heap_end = heap_end;
+ if (heap_end + incr > sp)
+ {
+ _write (1, "Heap and stack collision\n", 25);
+ abort ();
+ }
+ heap_end += incr;
+ return (caddr_t) prev_heap_end;
+}
diff --git a/newlib/libc/sys/sysmec/stat.c b/newlib/libc/sys/sysmec/stat.c
new file mode 100644
index 00000000000..11bbe8e3056
--- /dev/null
+++ b/newlib/libc/sys/sysmec/stat.c
@@ -0,0 +1,17 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+int
+_stat (const char *path, struct stat *st)
+
+{
+ return TRAP0 (SYS_stat, path, st, 0);
+}
diff --git a/newlib/libc/sys/sysmec/sys/syscall.h b/newlib/libc/sys/sysmec/sys/syscall.h
new file mode 100644
index 00000000000..f301ea0ee38
--- /dev/null
+++ b/newlib/libc/sys/sysmec/sys/syscall.h
@@ -0,0 +1,35 @@
+#define SYS_exit 1
+#define SYS_fork 2
+
+#define SYS_read 3
+#define SYS_write 4
+#define SYS_open 5
+#define SYS_close 6
+#define SYS_wait4 7
+#define SYS_creat 8
+#define SYS_link 9
+#define SYS_unlink 10
+#define SYS_execv 11
+#define SYS_chdir 12
+#define SYS_mknod 14
+#define SYS_chmod 15
+#define SYS_chown 16
+#define SYS_lseek 19
+#define SYS_getpid 20
+#define SYS_isatty 21
+#define SYS_fstat 22
+#define SYS_time 23
+
+
+#define SYS_ARG 24
+#define SYS_stat 38
+
+
+#define SYS_pipe 42
+#define SYS_execve 59
+#define SYS_times 43
+#define SYS_gettimeofday 116
+
+#define SYS_utime 201 /* not really a system call */
+#define SYS_wait 202 /* nor is this */
+
diff --git a/newlib/libc/sys/sysmec/time.c b/newlib/libc/sys/sysmec/time.c
new file mode 100644
index 00000000000..bde056eba70
--- /dev/null
+++ b/newlib/libc/sys/sysmec/time.c
@@ -0,0 +1,16 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+time_t
+time (time_t *tloc)
+{
+ return TRAP0 (SYS_time, tloc, 0, 0);
+}
diff --git a/newlib/libc/sys/sysmec/times.c b/newlib/libc/sys/sysmec/times.c
new file mode 100644
index 00000000000..3555fd6a4fe
--- /dev/null
+++ b/newlib/libc/sys/sysmec/times.c
@@ -0,0 +1,17 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+#include "sys/times.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+clock_t
+times (struct tms *buffer)
+{
+ return TRAP0 (SYS_times, buffer, 0, 0);
+}
diff --git a/newlib/libc/sys/sysmec/trap.S b/newlib/libc/sys/sysmec/trap.S
new file mode 100644
index 00000000000..911c02dbc8a
--- /dev/null
+++ b/newlib/libc/sys/sysmec/trap.S
@@ -0,0 +1,13 @@
+ .text
+ .global ___trap0
+___trap0:
+ syscall
+ cmp 0,d0
+ beq .L0
+ mov d0,(_errno)
+.L0:
+#ifdef __mn10300__
+ rets
+#else
+ rts
+#endif
diff --git a/newlib/libc/sys/sysmec/unlink.c b/newlib/libc/sys/sysmec/unlink.c
new file mode 100644
index 00000000000..debd806a93a
--- /dev/null
+++ b/newlib/libc/sys/sysmec/unlink.c
@@ -0,0 +1,16 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+int
+_unlink ()
+{
+ return -1;
+}
diff --git a/newlib/libc/sys/sysmec/utime.c b/newlib/libc/sys/sysmec/utime.c
new file mode 100644
index 00000000000..8d3e359772c
--- /dev/null
+++ b/newlib/libc/sys/sysmec/utime.c
@@ -0,0 +1,18 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+int
+utime (path, times)
+ const char *path;
+ char *times;
+{
+ return TRAP0 (SYS_utime, path, times, 0);
+}
diff --git a/newlib/libc/sys/sysmec/wait.c b/newlib/libc/sys/sysmec/wait.c
new file mode 100644
index 00000000000..2e5cb6badd1
--- /dev/null
+++ b/newlib/libc/sys/sysmec/wait.c
@@ -0,0 +1,17 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+int
+_wait (statusp)
+ int *statusp;
+{
+ return TRAP0 (SYS_wait, 0, 0, 0);
+}
diff --git a/newlib/libc/sys/sysmec/write.c b/newlib/libc/sys/sysmec/write.c
new file mode 100644
index 00000000000..78fd64f22db
--- /dev/null
+++ b/newlib/libc/sys/sysmec/write.c
@@ -0,0 +1,18 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 ();
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (p1), (p2), (p3))
+
+int
+_write ( int file,
+ char *ptr,
+ size_t len)
+{
+ return TRAP0 (SYS_write, file, ptr, len);
+}
diff --git a/newlib/libc/sys/sysnec810/Makefile.am b/newlib/libc/sys/sysnec810/Makefile.am
new file mode 100644
index 00000000000..01889543209
--- /dev/null
+++ b/newlib/libc/sys/sysnec810/Makefile.am
@@ -0,0 +1,14 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = io.s write.c sbrk.c misc.c
+
+all: crt0.o
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/sysnec810/Makefile.in b/newlib/libc/sys/sysnec810/Makefile.in
new file mode 100644
index 00000000000..36a4f150e60
--- /dev/null
+++ b/newlib/libc/sys/sysnec810/Makefile.in
@@ -0,0 +1,299 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = io.s write.c sbrk.c misc.c
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = io.o write.o sbrk.o misc.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+all: crt0.o
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/sys/sysnec810/aclocal.m4 b/newlib/libc/sys/sysnec810/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/sys/sysnec810/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/sys/sysnec810/configure b/newlib/libc/sys/sysnec810/configure
new file mode 100755
index 00000000000..fa90aa2e365
--- /dev/null
+++ b/newlib/libc/sys/sysnec810/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=io.s
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/sys/sysnec810/configure.in b/newlib/libc/sys/sysnec810/configure.in
new file mode 100644
index 00000000000..483662c7a9c
--- /dev/null
+++ b/newlib/libc/sys/sysnec810/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/sys/sysnec810 configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(io.s)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/sys/sysnec810/crt0.s b/newlib/libc/sys/sysnec810/crt0.s
new file mode 100644
index 00000000000..3c7a382ff6a
--- /dev/null
+++ b/newlib/libc/sys/sysnec810/crt0.s
@@ -0,0 +1,22 @@
+ .set STACKTOP, 0x100000
+
+ .extern __tp_TEXT, 4
+ .extern __gp_DATA, 4
+ .extern _main
+ .globl __start
+ .globl _exit
+ .globl __exit
+
+ .text
+__start:
+ mov 2, r10 -- set Cache Control Word
+ ldsr r10, 24 --
+#
+ mov STACKTOP, sp -- set stack pointer
+ mov #__tp_TEXT, tp -- set tp register
+ mov #__gp_DATA, gp -- set gp register offset
+ add tp, gp -- set gp register
+ jal _main -- call main function
+__exit:
+ halt -- end of the program
+
diff --git a/newlib/libc/sys/sysnec810/io.s b/newlib/libc/sys/sysnec810/io.s
new file mode 100644
index 00000000000..f85975a1ffc
--- /dev/null
+++ b/newlib/libc/sys/sysnec810/io.s
@@ -0,0 +1,41 @@
+# V800 Series Assembler Source File created by cxx732
+ .data
+ .sdata
+ .bss
+ .sbss
+ .text
+ #@(#)V800 Series Assembly Code Improver E1.50c [16 Jul 93]
+ #@(#)V800 Series Assembly Code Generator E1.00f'[25 Nov 93]
+ #@(#)V800 Series Optic Optimizer E1.00e [13 Jul 93]
+ #@(#)optimized at Wed May 11 13:37:07 1994
+ #@(#)option:_R_xcedfgbhjqkn___s____T:
+ #@(#)V800 Series Optic Inliner E1.00c [14 Jul 93]
+ #@(#)V800 Series Optic Merger E1.00b [15 Jul 93]
+ #@(#)V800 Series Optimizing C Compiler Frontend E1.00j [26 Feb 94]
+ .file "/sethra/death/sef/v810/devo/newlib/libc/sys/v810/io.c"
+ #@(#) fsort : -N8192 -G512 -C1024 -q -e -a -d
+ .align 4
+ .frame __inb, .F2
+ .globl __inb
+__inb:
+ add -.F2, sp
+ in.b [r6],r10
+ andi 0xff, r10, r10
+ add .F2, sp
+ jmp [lp]
+ .set .F2, 0x8
+ .set .A2, 0x4
+ .set .T2, 0x0
+ .align 4
+ .frame __outb, .F3
+ .globl __outb
+__outb:
+ andi 0xff, r7, r10
+ out.b r10,[r6]
+ jmp [lp]
+ .set .F3, 0x0
+ .set .A3, 0x0
+ .set .T3, 0x0
+ .vline
+ .vdebug
+ .vdbstrtab
diff --git a/newlib/libc/sys/sysnec810/misc.c b/newlib/libc/sys/sysnec810/misc.c
new file mode 100644
index 00000000000..f44c03d519e
--- /dev/null
+++ b/newlib/libc/sys/sysnec810/misc.c
@@ -0,0 +1,40 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+extern int _write (int, void*, unsigned int);
+
+int
+_open() {
+ return -1;
+}
+
+int
+_close() {
+ return -1;
+}
+
+int
+_lseek() {
+ return 0;
+}
+
+int
+_read() {
+ return 0;
+}
+
+int
+isatty() {
+ return 1;
+}
+
+int
+_DEFUN(_fstat,(file, st),
+ int file _AND
+ struct stat *st)
+{
+ st->st_mode = S_IFCHR;
+ return 0;
+}
+
diff --git a/newlib/libc/sys/sysnec810/sbrk.c b/newlib/libc/sys/sysnec810/sbrk.c
new file mode 100644
index 00000000000..b1cf4a7818f
--- /dev/null
+++ b/newlib/libc/sys/sysnec810/sbrk.c
@@ -0,0 +1,12 @@
+extern int _end;
+
+static char *end_of_data = (char *) &_end;
+
+char *
+_sbrk (int delta) {
+ char *ptr = end_of_data;
+
+ end_of_data += delta;
+ return ptr;
+}
+
diff --git a/newlib/libc/sys/sysnec810/write.c b/newlib/libc/sys/sysnec810/write.c
new file mode 100644
index 00000000000..96c1e49ce61
--- /dev/null
+++ b/newlib/libc/sys/sysnec810/write.c
@@ -0,0 +1,36 @@
+static volatile char *data = (char *)(0x20);
+static volatile char *control = (char *)(0x24);
+
+extern void _outb (volatile char*, unsigned char);
+extern unsigned char _inb (volatile char*);
+
+static unsigned char
+ read_scc_reg (unsigned char n)
+{
+ _outb (control, n);
+ return _inb(control);
+}
+
+static void write_scc_data (unsigned char n)
+{
+ _outb (data, n);
+}
+
+int
+_write (int dev, void *buf, unsigned int len)
+{
+ int i;
+ char *string = (char*)buf;
+
+ for (i = 0; i < len; i++)
+ {
+ int j;
+
+ for (j = 0 ; j < 5000; j++)
+ ;
+ write_scc_data (string[i]);
+
+ }
+ return len;
+}
+
diff --git a/newlib/libc/sys/sysnecv850/Makefile.am b/newlib/libc/sys/sysnecv850/Makefile.am
new file mode 100644
index 00000000000..2c74d173da8
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/Makefile.am
@@ -0,0 +1,19 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ _exit.c access.c chmod.c chown.c close.c creat.c crt1.c \
+ execv.c execve.c fork.c fstat.c getpid.c isatty.c \
+ kill.c lseek.c open.c pipe.c read.c link.c \
+ sbrk.c stat.c time.c trap.S unlink.c utime.c wait.c write.c \
+ times.c gettime.c
+
+all: crt0.o
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/sysnecv850/Makefile.in b/newlib/libc/sys/sysnecv850/Makefile.in
new file mode 100644
index 00000000000..20060ef4ce2
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/Makefile.in
@@ -0,0 +1,307 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ _exit.c access.c chmod.c chown.c close.c creat.c crt1.c \
+ execv.c execve.c fork.c fstat.c getpid.c isatty.c \
+ kill.c lseek.c open.c pipe.c read.c link.c \
+ sbrk.c stat.c time.c trap.S unlink.c utime.c wait.c write.c \
+ times.c gettime.c
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = _exit.o access.o chmod.o chown.o close.o creat.o crt1.o \
+execv.o execve.o fork.o fstat.o getpid.o isatty.o kill.o lseek.o open.o \
+pipe.o read.o link.o sbrk.o stat.o time.o trap.o unlink.o utime.o \
+wait.o write.o times.o gettime.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+all: crt0.o
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/sys/sysnecv850/_exit.c b/newlib/libc/sys/sysnecv850/_exit.c
new file mode 100644
index 00000000000..b45ae96c87c
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/_exit.c
@@ -0,0 +1,34 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+static void _do_dtors()
+{
+ /* The loop variable is static so that if a destructor calls exit,
+ and we return here, we simply continue with the next destructor. */
+ typedef void (*pfunc) ();
+ extern pfunc __dtors[];
+ extern pfunc __dtors_end[];
+ static pfunc *p = __dtors;
+
+ while (p < __dtors_end)
+ (*p++) ();
+}
+
+
+void _exit (n)
+{
+ /* Destructors should be done earlier because they need to be done before the
+ files are closed, but here is better than nowhere (and this balances the
+ constructors done in crt1.c. */
+ _do_dtors();
+
+ TRAP0 (SYS_exit, n, 0, 0);
+}
diff --git a/newlib/libc/sys/sysnecv850/access.c b/newlib/libc/sys/sysnecv850/access.c
new file mode 100644
index 00000000000..ad368caa1f3
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/access.c
@@ -0,0 +1,34 @@
+/* This is file ACCESS.C */
+/*
+** Copyright (C) 1993 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+**
+** This file is distributed under the terms listed in the document
+** "copying.dj", available from DJ Delorie at the address above.
+** A copy of "copying.dj" should accompany this file; if not, a copy
+** should be available from where this file was obtained. This file
+** may not be distributed without a verbatim copy of "copying.dj".
+**
+** This file is distributed WITHOUT ANY WARRANTY; without even the implied
+** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+int access(const char *fn, int flags)
+{
+ struct stat s;
+ if (stat(fn, &s))
+ return -1;
+ if (s.st_mode & S_IFDIR)
+ return 0;
+ if (flags & W_OK)
+ {
+ if (s.st_mode & S_IWRITE)
+ return 0;
+ return -1;
+ }
+ return 0;
+}
+
diff --git a/newlib/libc/sys/sysnecv850/aclocal.m4 b/newlib/libc/sys/sysnecv850/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/sys/sysnecv850/chmod.c b/newlib/libc/sys/sysnecv850/chmod.c
new file mode 100644
index 00000000000..c86e5c90249
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/chmod.c
@@ -0,0 +1,16 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+int
+chmod (const char *path, mode_t mode)
+{
+ return TRAP0 (SYS_chmod, path, mode, 0);
+}
diff --git a/newlib/libc/sys/sysnecv850/chown.c b/newlib/libc/sys/sysnecv850/chown.c
new file mode 100644
index 00000000000..0344d77a915
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/chown.c
@@ -0,0 +1,16 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+int
+chown (const char *path, short owner, short group)
+{
+ return TRAP0 (SYS_chown, path, owner, group);
+}
diff --git a/newlib/libc/sys/sysnecv850/close.c b/newlib/libc/sys/sysnecv850/close.c
new file mode 100644
index 00000000000..3c62f68e232
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/close.c
@@ -0,0 +1,16 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+int
+_close (int file)
+{
+ return TRAP0 (SYS_close, file, 0, 0);
+}
diff --git a/newlib/libc/sys/sysnecv850/configure b/newlib/libc/sys/sysnecv850/configure
new file mode 100755
index 00000000000..cab59b35a78
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=crt1.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/sys/sysnecv850/configure.in b/newlib/libc/sys/sysnecv850/configure.in
new file mode 100644
index 00000000000..0bb0a1f858d
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/sys/sysnecv850 configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(crt1.c)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/sys/sysnecv850/creat.c b/newlib/libc/sys/sysnecv850/creat.c
new file mode 100644
index 00000000000..8d468a68c57
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/creat.c
@@ -0,0 +1,17 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+int
+creat (const char *path,
+ int mode)
+{
+ return TRAP0 (SYS_creat, path, mode, 0);
+}
diff --git a/newlib/libc/sys/sysnecv850/crt0.S b/newlib/libc/sys/sysnecv850/crt0.S
new file mode 100644
index 00000000000..15d94dc3cea
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/crt0.S
@@ -0,0 +1,77 @@
+# NEC V850 startup code
+
+ .section .text
+ .global _start
+
+_start:
+
+#if defined __v850e__ || defined __v850ea__
+
+ movea 255, r0, r20
+ mov 65535, r21
+ mov hilo(_stack), sp
+ mov hilo(__ep), ep
+ mov hilo(__gp), gp
+ mov hilo(__ctbp), r6
+ ldsr r6, ctbp
+ mov hilo(_edata), r6
+ mov hilo(_end), r7
+.L0:
+ st.w r0, 0[r6]
+ addi 4, r6, r6
+ cmp r7, r6
+ bl .L0
+.L1:
+ jarl ___main, r31
+ addi -12, sp, sp
+ mov 0, r6
+ mov 0, r7
+ mov 0, r8
+ jarl _main, r31
+ mov r10, r6
+ jarl _exit, r31
+
+# else
+ movea 255, r0, r20
+ mov r0, r21
+ ori 65535, r0, r21
+ movhi hi(_stack), r0, sp
+ movea lo(_stack), sp, sp
+ movhi hi(__ep), r0, ep
+ movea lo(__ep), ep, ep
+ movhi hi(__gp), r0, gp
+ movea lo(__gp), gp, gp
+
+ /* Initialise the call table base pointer.
+ We do this even though we are supposedly
+ assembling this file for the v850 as this
+ allows us to use the same binary for all
+ versions of the v850 architecture. */
+
+ movhi hi(__ctbp), r0, r6
+ movea lo(__ctbp), r6, r6
+ ldsr r6, ctbp
+
+ movhi hi(_edata), r0, r6
+ movea lo(_edata), r6, r6
+ movhi hi(_end), r0, r7
+ movea lo(_end), r7, r7
+.L0:
+ st.b r0, 0[r6]
+ addi 1, r6, r6
+ cmp r7, r6
+ bl .L0
+.L1:
+ jarl ___main, r31
+ addi -12, sp, sp
+ mov 0, r6
+ mov 0, r7
+ mov 0, r8
+ jarl _main, r31
+ mov r10, r6
+ jarl _exit, r31
+
+# endif
+
+ .section .stack
+_stack: .long 1
diff --git a/newlib/libc/sys/sysnecv850/crt1.c b/newlib/libc/sys/sysnecv850/crt1.c
new file mode 100644
index 00000000000..dd0be3145de
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/crt1.c
@@ -0,0 +1,16 @@
+void __main ()
+{
+ static int initialized;
+ if (! initialized)
+ {
+ typedef void (*pfunc) ();
+ extern pfunc __ctors[];
+ extern pfunc __ctors_end[];
+ pfunc *p;
+
+ initialized = 1;
+ for (p = __ctors_end; p > __ctors; )
+ (*--p) ();
+
+ }
+}
diff --git a/newlib/libc/sys/sysnecv850/execv.c b/newlib/libc/sys/sysnecv850/execv.c
new file mode 100644
index 00000000000..5286be68be1
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/execv.c
@@ -0,0 +1,16 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+int
+execv (const char *path, char *const argv[])
+{
+ return TRAP0 (SYS_execv, path, argv, 0);
+}
diff --git a/newlib/libc/sys/sysnecv850/execve.c b/newlib/libc/sys/sysnecv850/execve.c
new file mode 100644
index 00000000000..b8d97f91425
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/execve.c
@@ -0,0 +1,16 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+int
+_execve (const char *path, char *const argv[], char *const envp[])
+{
+ return TRAP0 (SYS_execve, path, argv, envp);
+}
diff --git a/newlib/libc/sys/sysnecv850/fork.c b/newlib/libc/sys/sysnecv850/fork.c
new file mode 100644
index 00000000000..116116c1bb2
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/fork.c
@@ -0,0 +1,16 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+int
+_fork ()
+{
+ return TRAP0 (SYS_fork, 0, 0, 0);
+}
diff --git a/newlib/libc/sys/sysnecv850/fstat.c b/newlib/libc/sys/sysnecv850/fstat.c
new file mode 100644
index 00000000000..e8783b376e1
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/fstat.c
@@ -0,0 +1,18 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+int
+_fstat (int file,
+ struct stat *st)
+{
+ st->st_mode = S_IFCHR;
+ return 0;
+}
diff --git a/newlib/libc/sys/sysnecv850/getpid.c b/newlib/libc/sys/sysnecv850/getpid.c
new file mode 100644
index 00000000000..18fd1494ed1
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/getpid.c
@@ -0,0 +1,15 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+_getpid (n)
+{
+ return 1;
+}
diff --git a/newlib/libc/sys/sysnecv850/gettime.c b/newlib/libc/sys/sysnecv850/gettime.c
new file mode 100644
index 00000000000..fc47532a093
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/gettime.c
@@ -0,0 +1,17 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+#include "sys/time.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+int
+_gettimeofday (struct timeval *tp, void *tzp)
+{
+ return TRAP0 (SYS_gettimeofday, tp, tzp, 0);
+}
diff --git a/newlib/libc/sys/sysnecv850/isatty.c b/newlib/libc/sys/sysnecv850/isatty.c
new file mode 100644
index 00000000000..e5361559fd6
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/isatty.c
@@ -0,0 +1,16 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+isatty (fd)
+ int fd;
+{
+ return 1;
+}
diff --git a/newlib/libc/sys/sysnecv850/kill.c b/newlib/libc/sys/sysnecv850/kill.c
new file mode 100644
index 00000000000..b8e53955ada
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/kill.c
@@ -0,0 +1,19 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+#include <reent.h>
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+_kill (pid, sig)
+ pid_t pid;
+ int sig;
+{
+ return TRAP0 (SYS_exit, 0xdead0000 | sig, 0, 0);
+}
+
diff --git a/newlib/libc/sys/sysnecv850/link.c b/newlib/libc/sys/sysnecv850/link.c
new file mode 100644
index 00000000000..9776d7993fe
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/link.c
@@ -0,0 +1,16 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+int
+_link ()
+{
+ return -1;
+}
diff --git a/newlib/libc/sys/sysnecv850/lseek.c b/newlib/libc/sys/sysnecv850/lseek.c
new file mode 100644
index 00000000000..b5d3ef0c25a
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/lseek.c
@@ -0,0 +1,18 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+int
+_lseek (int file,
+ int ptr,
+ int dir)
+{
+ return TRAP0 (SYS_lseek, file, ptr, dir);
+}
diff --git a/newlib/libc/sys/sysnecv850/open.c b/newlib/libc/sys/sysnecv850/open.c
new file mode 100644
index 00000000000..96616e528b3
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/open.c
@@ -0,0 +1,17 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+int
+_open (const char *path,
+ int flags)
+{
+ return TRAP0 (SYS_open, path, flags, 0);
+}
diff --git a/newlib/libc/sys/sysnecv850/pipe.c b/newlib/libc/sys/sysnecv850/pipe.c
new file mode 100644
index 00000000000..494a99e3663
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/pipe.c
@@ -0,0 +1,16 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+int
+pipe (int *fd)
+{
+ return TRAP0 (SYS_pipe, fd, 0, 0);
+}
diff --git a/newlib/libc/sys/sysnecv850/read.c b/newlib/libc/sys/sysnecv850/read.c
new file mode 100644
index 00000000000..ec064cbb2e9
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/read.c
@@ -0,0 +1,17 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+_read (int file,
+ char *ptr,
+ int len)
+{
+ return TRAP0 (SYS_read, file, ptr, len);
+}
diff --git a/newlib/libc/sys/sysnecv850/sbrk.c b/newlib/libc/sys/sysnecv850/sbrk.c
new file mode 100644
index 00000000000..b41370595ca
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/sbrk.c
@@ -0,0 +1,36 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+caddr_t
+_sbrk (int incr)
+{
+ extern char end; /* Defined by the linker */
+ static char *heap_end;
+ char *prev_heap_end;
+#if 0
+ char *sp = (char *)stack_ptr;
+#else
+ char *sp = (char *)&sp;
+#endif
+
+ if (heap_end == 0)
+ {
+ heap_end = &end;
+ }
+ prev_heap_end = heap_end;
+ if (heap_end + incr > sp)
+ {
+ _write (1, "Heap and stack collision\n", 25);
+ abort ();
+ }
+ heap_end += incr;
+ return (caddr_t) prev_heap_end;
+}
diff --git a/newlib/libc/sys/sysnecv850/stat.c b/newlib/libc/sys/sysnecv850/stat.c
new file mode 100644
index 00000000000..dc8351e1af4
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/stat.c
@@ -0,0 +1,17 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+int
+_stat (const char *path, struct stat *st)
+
+{
+ return TRAP0 (SYS_stat, path, st, 0);
+}
diff --git a/newlib/libc/sys/sysnecv850/sys/syscall.h b/newlib/libc/sys/sysnecv850/sys/syscall.h
new file mode 100644
index 00000000000..f301ea0ee38
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/sys/syscall.h
@@ -0,0 +1,35 @@
+#define SYS_exit 1
+#define SYS_fork 2
+
+#define SYS_read 3
+#define SYS_write 4
+#define SYS_open 5
+#define SYS_close 6
+#define SYS_wait4 7
+#define SYS_creat 8
+#define SYS_link 9
+#define SYS_unlink 10
+#define SYS_execv 11
+#define SYS_chdir 12
+#define SYS_mknod 14
+#define SYS_chmod 15
+#define SYS_chown 16
+#define SYS_lseek 19
+#define SYS_getpid 20
+#define SYS_isatty 21
+#define SYS_fstat 22
+#define SYS_time 23
+
+
+#define SYS_ARG 24
+#define SYS_stat 38
+
+
+#define SYS_pipe 42
+#define SYS_execve 59
+#define SYS_times 43
+#define SYS_gettimeofday 116
+
+#define SYS_utime 201 /* not really a system call */
+#define SYS_wait 202 /* nor is this */
+
diff --git a/newlib/libc/sys/sysnecv850/time.c b/newlib/libc/sys/sysnecv850/time.c
new file mode 100644
index 00000000000..d0dc93f8a61
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/time.c
@@ -0,0 +1,16 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+time_t
+time (time_t *tloc)
+{
+ return TRAP0 (SYS_time, tloc, 0, 0);
+}
diff --git a/newlib/libc/sys/sysnecv850/times.c b/newlib/libc/sys/sysnecv850/times.c
new file mode 100644
index 00000000000..a558267fe66
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/times.c
@@ -0,0 +1,17 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+#include "sys/times.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+clock_t
+_times (struct tms *buffer)
+{
+ return TRAP0 (SYS_times, buffer, 0, 0);
+}
diff --git a/newlib/libc/sys/sysnecv850/trap.S b/newlib/libc/sys/sysnecv850/trap.S
new file mode 100644
index 00000000000..9955572a3a5
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/trap.S
@@ -0,0 +1,10 @@
+ .text
+ .global ___trap0
+___trap0:
+ trap 31
+ tst r10,r10
+ bz .L0
+ movhi hi(_errno),r0,r6
+ st.w r10,lo(_errno)[r6]
+.L0:
+ jmp [r31]
diff --git a/newlib/libc/sys/sysnecv850/unlink.c b/newlib/libc/sys/sysnecv850/unlink.c
new file mode 100644
index 00000000000..c6261d3eb32
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/unlink.c
@@ -0,0 +1,16 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+int
+_unlink ()
+{
+ return -1;
+}
diff --git a/newlib/libc/sys/sysnecv850/utime.c b/newlib/libc/sys/sysnecv850/utime.c
new file mode 100644
index 00000000000..ea1f78993be
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/utime.c
@@ -0,0 +1,18 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+int
+utime (path, times)
+ const char *path;
+ char *times;
+{
+ return TRAP0 (SYS_utime, path, times, 0);
+}
diff --git a/newlib/libc/sys/sysnecv850/wait.c b/newlib/libc/sys/sysnecv850/wait.c
new file mode 100644
index 00000000000..d8c96f05b30
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/wait.c
@@ -0,0 +1,17 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+int
+_wait (statusp)
+ int *statusp;
+{
+ return TRAP0 (SYS_wait, 0, 0, 0);
+}
diff --git a/newlib/libc/sys/sysnecv850/write.c b/newlib/libc/sys/sysnecv850/write.c
new file mode 100644
index 00000000000..136ac9ec8ca
--- /dev/null
+++ b/newlib/libc/sys/sysnecv850/write.c
@@ -0,0 +1,18 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+
+int errno;
+
+int __trap0 (int function, int p1, int p2, int p3);
+
+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
+
+int
+_write ( int file,
+ char *ptr,
+ int len)
+{
+ return TRAP0 (SYS_write, file, ptr, len);
+}
diff --git a/newlib/libc/sys/sysvi386/Makefile.am b/newlib/libc/sys/sysvi386/Makefile.am
new file mode 100644
index 00000000000..91c8d69a623
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/Makefile.am
@@ -0,0 +1,23 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ ioctl.s isatty.c read.s lseek.s close.s sbrk.c fstat.s cerror.s \
+ _exit.s write.s open.s signal.s kill.s getpid.s brk.s fork.s wait.s \
+ execve.s exec.c utime.s fcntl.s chmod.s getuid.s getgid.s time.s \
+ stat.s link.s unlink.s rename.s mkdir.s rmdir.s sigaction.s \
+ sigprocmask.s waitpid.s sysconf.s pathconf.s fpathconf.s \
+ getdents.s opendir.c readdir.c rewinddir.c closedir.c pipe.s \
+ getgroups.s setuid.s getuid.s setgid.s geteuid.s getegid.s \
+ chdir.s dup2.c dup.c tcgetattr.c tcsetattr.c speed.c tcline.c \
+ times.s pause.s sleep.c alarm.s access.s _longjmp.s _setjmp.s
+
+all: crt0.o
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/sysvi386/Makefile.in b/newlib/libc/sys/sysvi386/Makefile.in
new file mode 100644
index 00000000000..38c1f76d486
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/Makefile.in
@@ -0,0 +1,316 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ ioctl.s isatty.c read.s lseek.s close.s sbrk.c fstat.s cerror.s \
+ _exit.s write.s open.s signal.s kill.s getpid.s brk.s fork.s wait.s \
+ execve.s exec.c utime.s fcntl.s chmod.s getuid.s getgid.s time.s \
+ stat.s link.s unlink.s rename.s mkdir.s rmdir.s sigaction.s \
+ sigprocmask.s waitpid.s sysconf.s pathconf.s fpathconf.s \
+ getdents.s opendir.c readdir.c rewinddir.c closedir.c pipe.s \
+ getgroups.s setuid.s getuid.s setgid.s geteuid.s getegid.s \
+ chdir.s dup2.c dup.c tcgetattr.c tcsetattr.c speed.c tcline.c \
+ times.s pause.s sleep.c alarm.s access.s _longjmp.s _setjmp.s
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = ioctl.o isatty.o read.o lseek.o close.o sbrk.o fstat.o \
+cerror.o _exit.o write.o open.o signal.o kill.o getpid.o brk.o fork.o \
+wait.o execve.o exec.o utime.o fcntl.o chmod.o getuid.o getgid.o time.o \
+stat.o link.o unlink.o rename.o mkdir.o rmdir.o sigaction.o \
+sigprocmask.o waitpid.o sysconf.o pathconf.o fpathconf.o getdents.o \
+opendir.o readdir.o rewinddir.o closedir.o pipe.o getgroups.o setuid.o \
+getuid.o setgid.o geteuid.o getegid.o chdir.o dup2.o dup.o tcgetattr.o \
+tcsetattr.o speed.o tcline.o times.o pause.o sleep.o alarm.o access.o \
+_longjmp.o _setjmp.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+all: crt0.o
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/sys/sysvi386/_exit.s b/newlib/libc/sys/sysvi386/_exit.s
new file mode 100644
index 00000000000..57e5989793e
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/_exit.s
@@ -0,0 +1,6 @@
+
+ .globl _exit
+_exit:
+ movl $1, %eax
+ lcall $7,$0
+
diff --git a/newlib/libc/sys/sysvi386/_longjmp.s b/newlib/libc/sys/sysvi386/_longjmp.s
new file mode 100644
index 00000000000..691409b0b16
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/_longjmp.s
@@ -0,0 +1,31 @@
+/
+/ our buffer looks like:
+/ eax,ebx,ecx,edx,esi,edi,esp,ebp,pc
+/
+/ _longjmp is called with two parameters: jmp_buf*,int
+/ jmp_buf* is at 4(%esp), int is at 8(%esp)
+/ retaddr is, of course, at (%esp)
+
+ .globl _longjmp
+ .globl longjmp
+_longjmp:
+longjmp:
+ movl 4(%esp), %ebx / address of buf
+ movl 8(%esp), %eax / store return value
+
+ movl 24(%ebx), %esp / restore stack
+ movl 32(%ebx), %edi
+/ Next line sets up return address.
+ movl %edi, 0(%esp)
+ movl 8(%ebx), %ecx
+ movl 12(%ebx), %edx
+ movl 16(%ebx), %esi
+ movl 20(%ebx), %edi
+ movl 28(%ebx), %ebp
+ movl 4(%ebx), %ebx
+ testl %eax,%eax
+ jne bye
+ incl %eax / eax hold 0 if we are here
+bye:
+ ret
+
diff --git a/newlib/libc/sys/sysvi386/_setjmp.s b/newlib/libc/sys/sysvi386/_setjmp.s
new file mode 100644
index 00000000000..8f191b59a7b
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/_setjmp.s
@@ -0,0 +1,24 @@
+/
+/ our buffer looks like:
+/ eax,ebx,ecx,edx,esi,edi,esp,ebp,pc
+
+ .globl _setjmp
+ .globl setjmp
+_setjmp:
+setjmp:
+ pushl %ebx
+ movl 8(%esp), %ebx
+ movl %eax, (%ebx)
+ popl %eax
+ movl %eax, 4(%ebx)
+ movl %ecx, 8(%ebx)
+ movl %edx, 12(%ebx)
+ movl %esi, 16(%ebx)
+ movl %edi, 20(%ebx)
+ movl %esp, 24(%ebx)
+ movl %ebp, 28(%ebx)
+ movl (%esp), %eax
+ movl %eax, 32(%ebx)
+ xorl %eax, %eax
+ ret
+
diff --git a/newlib/libc/sys/sysvi386/access.s b/newlib/libc/sys/sysvi386/access.s
new file mode 100644
index 00000000000..bf35891dc87
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/access.s
@@ -0,0 +1,8 @@
+ .globl _access
+ .globl access
+access:
+_access:
+ movl $0x21, %eax
+ lcall $7, $0
+ jb _cerror
+ ret
diff --git a/newlib/libc/sys/sysvi386/aclocal.m4 b/newlib/libc/sys/sysvi386/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/sys/sysvi386/alarm.s b/newlib/libc/sys/sysvi386/alarm.s
new file mode 100644
index 00000000000..f31b3d380c5
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/alarm.s
@@ -0,0 +1,5 @@
+ .globl _alarm
+_alarm:
+ movl $0x1b, %eax
+ lcall $7,$0
+ ret
diff --git a/newlib/libc/sys/sysvi386/brk.s b/newlib/libc/sys/sysvi386/brk.s
new file mode 100644
index 00000000000..c3cb43f11f0
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/brk.s
@@ -0,0 +1,8 @@
+
+ .globl _brk
+_brk:
+ movl $0x11, %eax
+ lcall $7,$0
+ jb _cerror
+ xor %eax,%eax
+ ret
diff --git a/newlib/libc/sys/sysvi386/cerror.s b/newlib/libc/sys/sysvi386/cerror.s
new file mode 100644
index 00000000000..9d53bae1588
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/cerror.s
@@ -0,0 +1,9 @@
+ .globl _cerror
+_cerror:
+ movl %eax, errno
+ movl $-1, %eax
+ ret
+ .data
+ .globl errno
+errno: .long 0
+
diff --git a/newlib/libc/sys/sysvi386/chdir.s b/newlib/libc/sys/sysvi386/chdir.s
new file mode 100644
index 00000000000..9974c86686b
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/chdir.s
@@ -0,0 +1,9 @@
+ .globl _chdir
+ .globl chdir
+_chdir:
+chdir:
+ movl $0xc, %eax
+ lcall $7,$0
+ jb _cerror
+ xor %eax, %eax
+ ret
diff --git a/newlib/libc/sys/sysvi386/chmod.s b/newlib/libc/sys/sysvi386/chmod.s
new file mode 100644
index 00000000000..ab5ef3d6ae3
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/chmod.s
@@ -0,0 +1,9 @@
+ .globl _chmod
+ .globl chmod
+_chmod:
+chmod:
+ movl $0xf, %eax
+ lcall $7,$0
+ jb _cerror
+ xor %eax, %eax
+ ret
diff --git a/newlib/libc/sys/sysvi386/close.s b/newlib/libc/sys/sysvi386/close.s
new file mode 100644
index 00000000000..e46c0c13dd2
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/close.s
@@ -0,0 +1,9 @@
+ .globl _close
+ .globl close
+_close:
+close:
+ movl $6, %eax
+ lcall $7,$0
+ jb _cerror
+ xor %eax, %eax
+ ret
diff --git a/newlib/libc/sys/sysvi386/closedir.c b/newlib/libc/sys/sysvi386/closedir.c
new file mode 100644
index 00000000000..d87d8165489
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/closedir.c
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)closedir.c 5.9 (Berkeley) 2/23/91";
+#endif /* LIBC_SCCS and not lint */
+
+#include <sys/types.h>
+#include <dirent.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+/*
+ * close a directory.
+ */
+int
+closedir(dirp)
+ register DIR *dirp;
+{
+ int fd;
+
+ fd = dirp->dd_fd;
+ dirp->dd_fd = -1;
+ dirp->dd_loc = 0;
+ (void)free((void *)dirp->dd_buf);
+ (void)free((void *)dirp);
+ return(close(fd));
+}
diff --git a/newlib/libc/sys/sysvi386/configure b/newlib/libc/sys/sysvi386/configure
new file mode 100755
index 00000000000..35ff013b8cf
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=fps.s
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/sys/sysvi386/configure.in b/newlib/libc/sys/sysvi386/configure.in
new file mode 100644
index 00000000000..68eeb5243e8
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/sys/sysvi386 configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(fps.s)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/sys/sysvi386/crt0.c b/newlib/libc/sys/sysvi386/crt0.c
new file mode 100644
index 00000000000..7949b3d4c30
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/crt0.c
@@ -0,0 +1,127 @@
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef lint
+static char sccsid[] = "@(#)crt0.c 5.7 (Berkeley) 7/3/91";
+#endif /* not lint */
+
+/*
+ * C start up routine.
+ * Robert Henry, UCB, 20 Oct 81
+ *
+ * We make the following (true) assumption:
+ * 1) The only register variable that we can trust is ebp,
+ * which points to the base of the kernel calling frame.
+ */
+
+char **environ = (char **)0;
+static int fd;
+
+/*
+asm(".text");
+asm(".long 0xc000c000");
+*/
+extern unsigned char etext;
+extern unsigned char eprol asm ("eprol");
+/* extern start() asm("start"); */
+
+_start(int arg)
+{
+ struct kframe {
+ int kargc;
+ char *kargv[1]; /* size depends on kargc */
+ char kargstr[1]; /* size varies */
+ char kenvstr[1]; /* size varies */
+ };
+ /*
+ * ALL REGISTER VARIABLES!!!
+ */
+ register struct kframe *kfp; /* r10 */
+ register char **targv;
+ register char **argv;
+ extern int errno;
+ extern void _mcleanup();
+
+#ifdef lint
+ kfp = 0;
+ initcode = initcode = 0;
+#else not lint
+# if 0
+ asm("lea 4(%ebp),%ebx"); /* catch it quick */
+# else
+ kfp = (struct kframe *)&(((int *)(&arg))[-1]);
+# endif
+#endif not lint
+ for (argv = targv = &kfp->kargv[0]; *targv++; /* void */)
+ /* void */ ;
+ if (targv >= (char **)(*argv))
+ --targv;
+ environ = targv;
+asm("eprol:");
+
+#ifdef paranoid
+ /*
+ * The standard I/O library assumes that file descriptors 0, 1, and 2
+ * are open. If one of these descriptors is closed prior to the start
+ * of the process, I/O gets very confused. To avoid this problem, we
+ * insure that the first three file descriptors are open before calling
+ * main(). Normally this is undefined, as it adds two unnecessary
+ * system calls.
+ */
+ do {
+ fd = open("/dev/null", 2);
+ } while (fd >= 0 && fd < 3);
+ close(fd);
+#endif paranoid
+
+#ifdef MCRT0
+ atexit(_mcleanup);
+ monstartup(&eprol, &etext);
+#endif MCRT0
+ errno = 0;
+ exit(main(kfp->kargc, argv, environ));
+}
+
+#ifdef CRT0
+/*
+ * null mcount and moncontrol,
+ * just in case some routine is compiled for profiling
+ */
+moncontrol(val)
+ int val;
+{
+
+}
+asm(".globl mcount");
+asm("mcount: ret");
+#endif CRT0
diff --git a/newlib/libc/sys/sysvi386/dup.c b/newlib/libc/sys/sysvi386/dup.c
new file mode 100644
index 00000000000..95b0a5c9275
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/dup.c
@@ -0,0 +1,6 @@
+#include <fcntl.h>
+
+int
+dup (int fd1) {
+ return (fcntl (fd1, F_DUPFD, 0));
+}
diff --git a/newlib/libc/sys/sysvi386/dup2.c b/newlib/libc/sys/sysvi386/dup2.c
new file mode 100644
index 00000000000..6b72599fbb2
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/dup2.c
@@ -0,0 +1,7 @@
+#include <fcntl.h>
+
+int
+dup2 (int fd1, int fd2) {
+ close (fd2); /* ignore errors, if any */
+ return (fcntl (fd1, F_DUPFD, fd2));
+}
diff --git a/newlib/libc/sys/sysvi386/exec.c b/newlib/libc/sys/sysvi386/exec.c
new file mode 100644
index 00000000000..6587d50a7cc
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/exec.c
@@ -0,0 +1,54 @@
+#include <sys/unistd.h>
+#include <errno.h>
+
+extern char **environ;
+
+int
+execv (const char *path, char * const *args) {
+ extern int execve (const char *, char * const *, char * const*);
+ return execve (path, args, environ);
+}
+
+int
+execl(const char *path, const char *arg1, ...) {
+ return execv (path, &arg1);
+}
+
+/*
+ * Copy string, until c or <nul> is encountered.
+ * NUL-terminate the destination string (s1).
+ */
+
+static char *
+strccpy (char *s1, char *s2, char c) {
+ char *dest = s1;
+ while (*s2 && *s2 != c) {
+ *s1++ = *s2++;
+ }
+ *s1 = 0;
+ return dest;
+}
+
+int
+execvp(const char *file, char * const *args) {
+ extern char *getenv (const char *);
+ char *path = getenv ("PATH");
+ char buf[MAXNAMLEN];
+
+ if (file[0] == '/') { /* absolute pathname -- easy out */
+ return execv (file, args);
+ }
+
+ buf[0] = 0; /* lots of initialization here 8-) */
+ while (*path) {
+ strccpy (buf, path, ':');
+ strcat (buf, "/");
+ strcat (buf, file);
+ execv (buf, args);
+ if (errno != ENOENT)
+ return -1;
+ while (*path && *path != ':')
+ path++;
+ }
+ return -1;
+}
diff --git a/newlib/libc/sys/sysvi386/execve.s b/newlib/libc/sys/sysvi386/execve.s
new file mode 100644
index 00000000000..d1d29bc9f60
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/execve.s
@@ -0,0 +1,7 @@
+ .globl _execve
+ .globl execve
+_execve:
+execve:
+ movl $0x3b, %eax
+ lcall $7,$0
+ jb _cerror
diff --git a/newlib/libc/sys/sysvi386/fcntl.s b/newlib/libc/sys/sysvi386/fcntl.s
new file mode 100644
index 00000000000..dc3e11f74a6
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/fcntl.s
@@ -0,0 +1,9 @@
+
+ .globl _fcntl
+ .globl fcntl
+_fcntl:
+fcntl:
+ movl $0x3e, %eax
+ lcall $7,$0
+ jb _cerror
+ ret
diff --git a/newlib/libc/sys/sysvi386/fork.s b/newlib/libc/sys/sysvi386/fork.s
new file mode 100644
index 00000000000..8c9b60035eb
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/fork.s
@@ -0,0 +1,12 @@
+ .globl _fork
+ .globl fork
+_fork:
+fork:
+ movl $2, %eax
+ lcall $7,$0
+ jb _cerror
+ testl %edx, %edx
+ je bye
+ xorl %eax,%eax
+bye:
+ ret
diff --git a/newlib/libc/sys/sysvi386/fpathconf.s b/newlib/libc/sys/sysvi386/fpathconf.s
new file mode 100644
index 00000000000..b55ea92d113
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/fpathconf.s
@@ -0,0 +1,6 @@
+ .globl fpathconf
+fpathconf:
+ movl $0x2f28, %eax
+ lcall $7,$0
+ jb _cerror
+ ret
diff --git a/newlib/libc/sys/sysvi386/fps.s b/newlib/libc/sys/sysvi386/fps.s
new file mode 100644
index 00000000000..83214dff404
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/fps.s
@@ -0,0 +1,18 @@
+ .globl _fpgetsticky
+_fpgetsticky:
+ getpsw r0
+ and.w #0x1f00,r0
+ shl.w #0xf8,r0
+ ret #0x0
+
+
+ .globl _fpsetsticky
+_fpsetsticky:
+ getpsw r0
+ mov.w [ap],r1
+ shl.w #0x8,r1
+ updpsw.h r1,#0x1f00
+ trapfl
+ and.w #0x1f00,r0
+ shl.w #0xf8,r0
+ ret #0x0
diff --git a/newlib/libc/sys/sysvi386/fpx.c b/newlib/libc/sys/sysvi386/fpx.c
new file mode 100644
index 00000000000..d55a1e30ff4
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/fpx.c
@@ -0,0 +1,73 @@
+#include <ieeefp.h>
+#include <machine/registers.h>
+
+
+fp_except _DEFUN(fpsetmask,(newmask),
+ fp_except newmask)
+
+{
+ fp_except oldmask;
+ v60_tkcw_type tkcw;
+
+ sysv60(0, 8, &tkcw);
+ oldmask = tkcw.fp_trap;
+ tkcw.fp_trap = newmask;
+ sysv60(0, 8, &tkcw);
+ return oldmask;
+
+}
+
+fp_except _DEFUN_VOID(fpgetmask)
+{
+ v60_tkcw_type tkcw;
+ sysv60(0, 8, &tkcw);
+ return tkcw.fp_trap;
+}
+
+
+fp_rnd _DEFUN_VOID(fpgetround)
+{
+ v60_tkcw_type tkcw;
+ sysv60(0, 8, &tkcw);
+ return tkcw.fp_rounding;
+}
+
+fp_rnd _DEFUN(fpsetround,(rnd),
+ fp_rnd rnd)
+{
+ fp_rnd oldrnd;
+ v60_tkcw_type tkcw;
+
+ sysv60(0, 8, &tkcw);
+ oldrnd = tkcw.fp_rounding;
+ tkcw.fp_rounding = rnd;
+ sysv60(0, 8, &tkcw);
+ return oldrnd;
+}
+
+
+
+
+
+fp_rdi _DEFUN_VOID(fpgetroundtoi)
+{
+ v60_tkcw_type tkcw;
+ sysv60(0, 8, &tkcw);
+ return tkcw.integer_rounding;
+}
+
+fp_rdi _DEFUN(fpsetroundtoi,(rnd),
+ fp_rdi rnd)
+{
+ fp_rdi oldrnd;
+ v60_tkcw_type tkcw;
+
+ sysv60(0, 8, &tkcw);
+ oldrnd = tkcw.integer_rounding;
+ tkcw.integer_rounding = rnd;
+ sysv60(0, 8, &tkcw);
+ return oldrnd;
+}
+
+
+
diff --git a/newlib/libc/sys/sysvi386/fstat.s b/newlib/libc/sys/sysvi386/fstat.s
new file mode 100644
index 00000000000..ced264526c5
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/fstat.s
@@ -0,0 +1,9 @@
+ .globl _fstat
+ .globl fstat
+_fstat:
+fstat:
+ movl $0x1c, %eax
+ lcall $7,$0
+ jb _cerror
+ xor %eax,%eax
+ ret
diff --git a/newlib/libc/sys/sysvi386/getdents.s b/newlib/libc/sys/sysvi386/getdents.s
new file mode 100644
index 00000000000..524a88727ad
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/getdents.s
@@ -0,0 +1,6 @@
+ .globl _getdents
+_getdents:
+ movl $0x51, %eax
+ lcall $7,$0
+ jb _cerror
+ ret
diff --git a/newlib/libc/sys/sysvi386/getegid.s b/newlib/libc/sys/sysvi386/getegid.s
new file mode 100644
index 00000000000..3a9709841cd
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/getegid.s
@@ -0,0 +1,9 @@
+ .globl _getegid
+ .globl getegid
+_getegid:
+getegid:
+ movl $0x2f, %eax
+ lcall $7,$0
+ movl %edx,%eax
+ jb _cerror
+ ret
diff --git a/newlib/libc/sys/sysvi386/geteuid.s b/newlib/libc/sys/sysvi386/geteuid.s
new file mode 100644
index 00000000000..ae45c473f8b
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/geteuid.s
@@ -0,0 +1,9 @@
+ .globl _geteuid
+ .globl geteuid
+_geteuid:
+geteuid:
+ movl $0x18, %eax
+ lcall $7,$0
+ movl %edx,%eax
+ jb _cerror
+ ret
diff --git a/newlib/libc/sys/sysvi386/getgid.s b/newlib/libc/sys/sysvi386/getgid.s
new file mode 100644
index 00000000000..47a6391f8d9
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/getgid.s
@@ -0,0 +1,8 @@
+ .globl _getgid
+ .globl getgid
+_getgid:
+getgid:
+ movl $0x2f, %eax
+ lcall $7,$0
+ jb _cerror
+ ret
diff --git a/newlib/libc/sys/sysvi386/getgroups.s b/newlib/libc/sys/sysvi386/getgroups.s
new file mode 100644
index 00000000000..d690adf441a
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/getgroups.s
@@ -0,0 +1,8 @@
+ .globl _getgroups
+ .globl getgroups
+_getgroups:
+getgroups:
+ movl $0x2b28, %eax
+ lcall $7,$0
+ jb _cerror
+ ret
diff --git a/newlib/libc/sys/sysvi386/getpid.s b/newlib/libc/sys/sysvi386/getpid.s
new file mode 100644
index 00000000000..6d19dffc93d
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/getpid.s
@@ -0,0 +1,9 @@
+
+ .globl _getpid
+ .globl getpid
+_getpid:
+getpid:
+ movl $0x14, %eax
+ lcall $7,$0
+ jb _cerror
+ ret
diff --git a/newlib/libc/sys/sysvi386/getuid.s b/newlib/libc/sys/sysvi386/getuid.s
new file mode 100644
index 00000000000..9c4dfe3a4fa
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/getuid.s
@@ -0,0 +1,8 @@
+ .globl _getuid
+ .globl getuid
+_getuid:
+getuid:
+ movl $0x18, %eax
+ lcall $7,$0
+ jb _cerror
+ ret
diff --git a/newlib/libc/sys/sysvi386/ioctl.s b/newlib/libc/sys/sysvi386/ioctl.s
new file mode 100644
index 00000000000..b63597d1f76
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/ioctl.s
@@ -0,0 +1,9 @@
+
+ .globl _ioctl
+ .globl ioctl
+_ioctl:
+ioctl:
+ movl $0x36, %eax
+ lcall $7,$0
+ jb _cerror
+ ret
diff --git a/newlib/libc/sys/sysvi386/isatty.c b/newlib/libc/sys/sysvi386/isatty.c
new file mode 100644
index 00000000000..fa1e3557f20
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/isatty.c
@@ -0,0 +1,11 @@
+#include <sys/termio.h>
+
+int
+isatty(fd)
+int fd; {
+ struct termio buf;
+
+ if (ioctl (fd, TCGETA, &buf) == -1)
+ return 0;
+ return 1;
+}
diff --git a/newlib/libc/sys/sysvi386/kill.s b/newlib/libc/sys/sysvi386/kill.s
new file mode 100644
index 00000000000..805d8f77857
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/kill.s
@@ -0,0 +1,9 @@
+ .globl _kill
+ .globl kill
+_kill:
+kill:
+ movl $0x25, %eax
+ lcall $7,$0
+ jb _cerror
+ xor %eax, %eax
+ ret
diff --git a/newlib/libc/sys/sysvi386/link.s b/newlib/libc/sys/sysvi386/link.s
new file mode 100644
index 00000000000..d298cd08e1d
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/link.s
@@ -0,0 +1,9 @@
+ .globl _link
+ .globl link
+_link:
+link:
+ movl $0x9, %eax
+ lcall $7,$0
+ jb _cerror
+ xor %eax, %eax
+ ret
diff --git a/newlib/libc/sys/sysvi386/lseek.s b/newlib/libc/sys/sysvi386/lseek.s
new file mode 100644
index 00000000000..88b2fc1b02d
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/lseek.s
@@ -0,0 +1,8 @@
+ .globl _lseek
+ .globl lseek
+_lseek:
+lseek:
+ movl $0x13, %eax
+ lcall $7,$0
+ jb _cerror
+ ret
diff --git a/newlib/libc/sys/sysvi386/mkdir.s b/newlib/libc/sys/sysvi386/mkdir.s
new file mode 100644
index 00000000000..b2888eb682d
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/mkdir.s
@@ -0,0 +1,9 @@
+ .globl _mkdir
+ .globl mkdir
+_mkdir:
+mkdir:
+ movl $0x50, %eax
+ lcall $7,$0
+ jb _cerror
+ xor %eax, %eax
+ ret
diff --git a/newlib/libc/sys/sysvi386/open.s b/newlib/libc/sys/sysvi386/open.s
new file mode 100644
index 00000000000..97356f1adb8
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/open.s
@@ -0,0 +1,9 @@
+
+ .globl _open
+ .globl open
+_open:
+open:
+ movl $5, %eax
+ lcall $7,$0
+ jb _cerror
+ ret
diff --git a/newlib/libc/sys/sysvi386/opendir.c b/newlib/libc/sys/sysvi386/opendir.c
new file mode 100644
index 00000000000..ce080e3128a
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/opendir.c
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)opendir.c 5.11 (Berkeley) 2/23/91";
+#endif /* LIBC_SCCS and not lint */
+
+#include <dirent.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+/*
+ * open a directory.
+ */
+DIR *
+opendir(name)
+ const char *name;
+{
+ register DIR *dirp;
+ register int fd;
+
+ if ((fd = open(name, 0)) == -1)
+ return NULL;
+ if (fcntl(fd, F_SETFD, 1) == -1 ||
+ (dirp = (DIR *)malloc(sizeof(DIR))) == NULL) {
+ close (fd);
+ return NULL;
+ }
+ /*
+ * If CLSIZE is an exact multiple of DIRBLKSIZ, use a CLSIZE
+ * buffer that it cluster boundary aligned.
+ * Hopefully this can be a big win someday by allowing page trades
+ * to user space to be done by getdirentries()
+ */
+ dirp->dd_buf = malloc (512);
+ dirp->dd_len = 512;
+
+ if (dirp->dd_buf == NULL) {
+ close (fd);
+ return NULL;
+ }
+ dirp->dd_fd = fd;
+ dirp->dd_loc = 0;
+ dirp->dd_seek = 0;
+ /*
+ * Set up seek point for rewinddir.
+ */
+ return dirp;
+}
diff --git a/newlib/libc/sys/sysvi386/pathconf.s b/newlib/libc/sys/sysvi386/pathconf.s
new file mode 100644
index 00000000000..23de786d9af
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/pathconf.s
@@ -0,0 +1,6 @@
+ .globl pathconf
+pathconf:
+ movl $0x2e28, %eax
+ lcall $7,$0
+ jb _cerror
+ ret
diff --git a/newlib/libc/sys/sysvi386/pause.s b/newlib/libc/sys/sysvi386/pause.s
new file mode 100644
index 00000000000..8e8bd229b99
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/pause.s
@@ -0,0 +1,6 @@
+ .globl _pause
+_pause:
+ movl $0x1d, %eax
+ lcall $7,$0
+ jb _cerror
+ ret
diff --git a/newlib/libc/sys/sysvi386/pipe.s b/newlib/libc/sys/sysvi386/pipe.s
new file mode 100644
index 00000000000..6365bcbe6bb
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/pipe.s
@@ -0,0 +1,12 @@
+ .globl _pipe
+ .globl pipe
+_pipe:
+pipe:
+ movl $0x2a, %eax
+ lcall $7,$0
+ jb _cerror
+ movl 4(%esp), %ecx
+ movl (%ecx), %eax
+ movl 4(%ecx), %edx
+ xor %eax, %eax
+ ret
diff --git a/newlib/libc/sys/sysvi386/read.s b/newlib/libc/sys/sysvi386/read.s
new file mode 100644
index 00000000000..8ecb5bacf83
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/read.s
@@ -0,0 +1,8 @@
+ .globl _read
+ .globl read
+_read:
+read:
+ movl $3, %eax
+ lcall $7,$0
+ jb _cerror
+ ret
diff --git a/newlib/libc/sys/sysvi386/readdir.c b/newlib/libc/sys/sysvi386/readdir.c
new file mode 100644
index 00000000000..350fa664f78
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/readdir.c
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)readdir.c 5.7 (Berkeley) 6/1/90";
+#endif /* LIBC_SCCS and not lint */
+
+#include <dirent.h>
+
+/*
+ * get next entry in a directory.
+ */
+struct dirent *
+readdir(dirp)
+register DIR *dirp; {
+ register struct dirent *dp;
+
+ for (;;) {
+ if (dirp->dd_loc == 0) {
+ dirp->dd_size = _getdents (dirp->dd_fd,
+ dirp->dd_buf,
+ dirp->dd_len);
+
+ if (dirp->dd_size <= 0)
+ return NULL;
+ }
+ if (dirp->dd_loc >= dirp->dd_size) {
+ dirp->dd_loc = 0;
+ continue;
+ }
+ dp = (struct dirent *)(dirp->dd_buf + dirp->dd_loc);
+ if ((int)dp & 03) /* bogus pointer check */
+ return NULL;
+ if (dp->d_reclen <= 0 ||
+ dp->d_reclen > dirp->dd_len + 1 - dirp->dd_loc)
+ return NULL;
+ dirp->dd_loc += dp->d_reclen;
+ if (dp->d_ino == 0)
+ continue;
+ return (dp);
+ }
+}
diff --git a/newlib/libc/sys/sysvi386/rename.s b/newlib/libc/sys/sysvi386/rename.s
new file mode 100644
index 00000000000..61a69c59eb2
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/rename.s
@@ -0,0 +1,9 @@
+ .globl _rename
+ .globl rename
+_rename:
+rename:
+ movl $0x3028, %eax
+ lcall $7,$0
+ jb _cerror
+ xor %eax, %eax
+ ret
diff --git a/newlib/libc/sys/sysvi386/rewinddir.c b/newlib/libc/sys/sysvi386/rewinddir.c
new file mode 100644
index 00000000000..d52c013c4da
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/rewinddir.c
@@ -0,0 +1,49 @@
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)rewinddir.c 5.1 (Berkeley) 5/25/90";
+#endif /* LIBC_SCCS and not lint */
+
+#include <sys/types.h>
+#include <dirent.h>
+
+void
+rewinddir(dirp)
+ DIR *dirp;
+{
+ extern long _rewinddir;
+
+ _seekdir((dirp), _rewinddir);
+ _rewinddir = telldir(dirp);
+}
diff --git a/newlib/libc/sys/sysvi386/rmdir.s b/newlib/libc/sys/sysvi386/rmdir.s
new file mode 100644
index 00000000000..427ee108d39
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/rmdir.s
@@ -0,0 +1,9 @@
+ .globl _rmdir
+ .globl rmdir
+_rmdir:
+rmdir:
+ movl $0x4f, %eax
+ lcall $7,$0
+ jb _cerror
+ xor %eax, %eax
+ ret
diff --git a/newlib/libc/sys/sysvi386/sbrk.c b/newlib/libc/sys/sysvi386/sbrk.c
new file mode 100644
index 00000000000..8ae3ed12b5d
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/sbrk.c
@@ -0,0 +1,21 @@
+extern end;
+
+static void *curbrk = (char*)&end;
+
+void *
+sbrk(incr)
+int incr; {
+ extern int errno;
+ extern int _brk(void *);
+ void *ptr = curbrk;
+ int t;
+
+ if (incr == 0)
+ return curbrk;
+ t = _brk (curbrk + incr);
+ if (t == -1 && errno)
+ return (void *)-1;
+ curbrk = ((char *)curbrk) + incr;
+ return ptr;
+}
+
diff --git a/newlib/libc/sys/sysvi386/scandir.c b/newlib/libc/sys/sysvi386/scandir.c
new file mode 100644
index 00000000000..6c4116c9ce6
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/scandir.c
@@ -0,0 +1,134 @@
+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)scandir.c 5.10 (Berkeley) 2/23/91";
+#endif /* LIBC_SCCS and not lint */
+
+/*
+ * Scan the directory dirname calling select to make a list of selected
+ * directory entries then sort using qsort and compare routine dcomp.
+ * Returns the number of entries and a pointer to a list of pointers to
+ * struct dirent (through namelist). Returns -1 if there were any errors.
+ */
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <dirent.h>
+#include <stdlib.h>
+#include <string.h>
+
+/*
+ * The DIRSIZ macro gives the minimum record length which will hold
+ * the directory entry. This requires the amount of space in struct dirent
+ * without the d_name field, plus enough space for the name with a terminating
+ * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary.
+ */
+#undef DIRSIZ
+#define DIRSIZ(dp) \
+ ((sizeof (struct dirent) - (MAXNAMLEN+1)) + (((dp)->d_namlen+1 + 3) &~ 3))
+
+int
+scandir(dirname, namelist, select, dcomp)
+ const char *dirname;
+ struct dirent ***namelist;
+ int (*select) __P((struct dirent *));
+ int (*dcomp) __P((const void *, const void *));
+{
+ register struct dirent *d, *p, **names;
+ register size_t nitems;
+ struct stat stb;
+ long arraysz;
+ DIR *dirp;
+
+ if ((dirp = opendir(dirname)) == NULL)
+ return(-1);
+ if (fstat(dirp->dd_fd, &stb) < 0)
+ return(-1);
+
+ /*
+ * estimate the array size by taking the size of the directory file
+ * and dividing it by a multiple of the minimum size entry.
+ */
+ arraysz = (stb.st_size / 24);
+ names = (struct dirent **)malloc(arraysz * sizeof(struct dirent *));
+ if (names == NULL)
+ return(-1);
+
+ nitems = 0;
+ while ((d = readdir(dirp)) != NULL) {
+ if (select != NULL && !(*select)(d))
+ continue; /* just selected names */
+ /*
+ * Make a minimum size copy of the data
+ */
+ p = (struct dirent *)malloc(DIRSIZ(d));
+ if (p == NULL)
+ return(-1);
+ p->d_ino = d->d_ino;
+ p->d_reclen = d->d_reclen;
+ p->d_namlen = d->d_namlen;
+ bcopy(d->d_name, p->d_name, p->d_namlen + 1);
+ /*
+ * Check to make sure the array has space left and
+ * realloc the maximum size.
+ */
+ if (++nitems >= arraysz) {
+ if (fstat(dirp->dd_fd, &stb) < 0)
+ return(-1); /* just might have grown */
+ arraysz = stb.st_size / 12;
+ names = (struct dirent **)realloc((char *)names,
+ arraysz * sizeof(struct dirent *));
+ if (names == NULL)
+ return(-1);
+ }
+ names[nitems-1] = p;
+ }
+ closedir(dirp);
+ if (nitems && dcomp != NULL)
+ qsort(names, nitems, sizeof(struct dirent *), dcomp);
+ *namelist = names;
+ return(nitems);
+}
+
+/*
+ * Alphabetic order comparison routine for those who want it.
+ */
+int
+alphasort(d1, d2)
+ const void *d1;
+ const void *d2;
+{
+ return(strcmp((*(struct dirent **)d1)->d_name,
+ (*(struct dirent **)d2)->d_name));
+}
diff --git a/newlib/libc/sys/sysvi386/seekdir.c b/newlib/libc/sys/sysvi386/seekdir.c
new file mode 100644
index 00000000000..50331402ab3
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/seekdir.c
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)seekdir.c 5.7 (Berkeley) 6/1/90";
+#endif /* LIBC_SCCS and not lint */
+
+#include <sys/param.h>
+#include <dirent.h>
+
+/*
+ * Seek to an entry in a directory.
+ * _seekdir is in telldir.c so that it can share opaque data structures.
+ */
+void
+seekdir(dirp, loc)
+ DIR *dirp;
+ long loc;
+{
+
+ _seekdir(dirp, loc);
+}
diff --git a/newlib/libc/sys/sysvi386/setgid.s b/newlib/libc/sys/sysvi386/setgid.s
new file mode 100644
index 00000000000..a55dbf89edf
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/setgid.s
@@ -0,0 +1,9 @@
+ .globl _setgid
+ .globl setgid
+_setgid:
+setgid:
+ movl $0x2e, %eax
+ lcall $7,$0
+ jb _cerror
+ xor %eax,%eax
+ ret
diff --git a/newlib/libc/sys/sysvi386/setuid.s b/newlib/libc/sys/sysvi386/setuid.s
new file mode 100644
index 00000000000..f24da1fd13d
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/setuid.s
@@ -0,0 +1,9 @@
+ .globl _setuid
+ .globl setuid
+_setuid:
+setuid:
+ movl $0x17, %eax
+ lcall $7,$0
+ jb _cerror
+ xor %eax,%eax
+ ret
diff --git a/newlib/libc/sys/sysvi386/sigaction.s b/newlib/libc/sys/sysvi386/sigaction.s
new file mode 100644
index 00000000000..35a1b8d2a0e
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/sigaction.s
@@ -0,0 +1,20 @@
+/
+/ The SCO signal stuff seems to be weird. The POSIX stuff appears to
+/ "extended" system calls, and use values in eax and edx.
+/ Like most of the other signal routines, it takes a function pointer
+/ in %edx. Since this function is terribly small, I am including it
+/ in all of the ones that need it, for now at least. Seems silly to include
+/ a whole file for two instructions.
+
+sigret:
+ addl $4, %esp
+ lcall $0xf, $0
+ .globl sigaction
+sigaction:
+ movl $0x2728, %eax
+ movl sigret, %edx
+ lcall $7,$0
+ jb _cerror
+ ret
+ addl $4, %esp
+ lcall $0xf,$0
diff --git a/newlib/libc/sys/sysvi386/signal.s b/newlib/libc/sys/sysvi386/signal.s
new file mode 100644
index 00000000000..2418eb02b07
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/signal.s
@@ -0,0 +1,16 @@
+/ According to the iBCS2 book, signal() has 0x30 in %eax, and the address
+/ of a function in %edx. This function is where a signal handler will
+/ return to; it should just adjust the stack pointer, and call $f,$0.
+/ Strange but true.
+ .globl signal
+
+sigret:
+ addl $4, %esp
+ lcall $0xf, $0
+signal:
+ movl $0x30, %eax
+ movl sigret, %edx
+ lcall $7,$0
+ jb _cerror
+/ The iBCS2 book also clears out %eax here, which seems to be broken.
+ ret
diff --git a/newlib/libc/sys/sysvi386/sigprocmask.s b/newlib/libc/sys/sysvi386/sigprocmask.s
new file mode 100644
index 00000000000..fa988d538ef
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/sigprocmask.s
@@ -0,0 +1,12 @@
+/
+/ The SCO signal stuff seems to be weird. The POSIX stuff appears to
+/ "extended" system calls, and use values in eax and edx.
+/
+ .globl sigprocmask
+sigprocmask:
+ movl $0x2828, %eax
+ lcall $7,$0
+ jb _cerror
+ ret
+ addl $4, %esp
+ lcall $0xf,$0
diff --git a/newlib/libc/sys/sysvi386/sleep.c b/newlib/libc/sys/sysvi386/sleep.c
new file mode 100644
index 00000000000..723ee3ce2a6
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/sleep.c
@@ -0,0 +1,12 @@
+#include <sys/types.h>
+#include <sys/signal.h>
+
+unsigned
+sleep(unsigned secs) {
+ extern time_t time (time_t *);
+ time_t t = time(0);
+
+ _alarm(secs);
+ _pause();
+ return (time(0) - t);
+}
diff --git a/newlib/libc/sys/sysvi386/speed.c b/newlib/libc/sys/sysvi386/speed.c
new file mode 100644
index 00000000000..1b22c026f01
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/speed.c
@@ -0,0 +1,24 @@
+#define _NO_MACROS
+#include <sys/termios.h>
+
+speed_t
+cfgetospeed(const struct termios *tp) {
+ return tp->c_ospeed;
+}
+
+int
+cfsetospeed(struct termios *tp, speed_t speed) {
+ tp->c_ospeed = speed;
+ return 0;
+}
+
+speed_t
+cfgetispeed(const struct termios *tp) {
+ return tp->c_ispeed;
+}
+
+int
+cfsetispeed(struct termios *tp, speed_t speed) {
+ tp->c_ispeed = speed;
+ return 0;
+}
diff --git a/newlib/libc/sys/sysvi386/stat.s b/newlib/libc/sys/sysvi386/stat.s
new file mode 100644
index 00000000000..50c84bb97ca
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/stat.s
@@ -0,0 +1,9 @@
+ .globl _stat
+ .globl stat
+_stat:
+stat:
+ movl $0x12, %eax
+ lcall $7,$0
+ jb _cerror
+ xor %eax,%eax
+ ret
diff --git a/newlib/libc/sys/sysvi386/sys/dirent.h b/newlib/libc/sys/sysvi386/sys/dirent.h
new file mode 100644
index 00000000000..72804217688
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/sys/dirent.h
@@ -0,0 +1,36 @@
+#ifndef _SYS_DIRENT_H
+# define _SYS_DIRENT_H
+
+/*
+ * This file was written to be compatible with the BSD directory
+ * routines, so it looks like it. But it was written from scratch.
+ * Sean Eric Fagan, sef@Kithrup.COM
+ */
+
+typedef struct _dirdesc {
+ int dd_fd;
+ long dd_loc;
+ long dd_size;
+ char *dd_buf;
+ int dd_len;
+ long dd_seek;
+} DIR;
+
+# define __dirfd(dp) ((dp)->dd_fd)
+
+DIR *opendir (const char *);
+struct dirent *readdir (DIR *);
+void rewinddir (DIR *);
+int closedir (DIR *);
+
+#include <sys/types.h>
+
+struct dirent {
+ long d_ino;
+ off_t d_off;
+ unsigned short d_reclen;
+ /* we need better syntax for variable-sized arrays */
+ char d_name[1];
+};
+
+#endif
diff --git a/newlib/libc/sys/sysvi386/sys/param.h b/newlib/libc/sys/sysvi386/sys/param.h
new file mode 100644
index 00000000000..6c6f6b0a469
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/sys/param.h
@@ -0,0 +1,8 @@
+#ifndef _SYS_PARAM_H
+# define _SYS_PARAM_H
+
+# define HZ 60
+# define NOFILE 60
+# define PATHSIZE 1024
+
+#endif
diff --git a/newlib/libc/sys/sysvi386/sys/setjmp.h b/newlib/libc/sys/sysvi386/sys/setjmp.h
new file mode 100644
index 00000000000..425b0ae8990
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/sys/setjmp.h
@@ -0,0 +1,6 @@
+#ifndef _JBLEN
+# define _JBLEN 36
+
+typedef char jmp_buf[_JBLEN];
+
+#endif /* _JBLEN */
diff --git a/newlib/libc/sys/sysvi386/sys/termio.h b/newlib/libc/sys/sysvi386/sys/termio.h
new file mode 100644
index 00000000000..2ef33b8dc5e
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/sys/termio.h
@@ -0,0 +1,82 @@
+#ifndef _SYS_TERMIO_H
+# define _SYS_TERMIO_H
+
+# define TCGETA (('T'<<8)|1)
+# define TCSBRK (('T'<<8)|5)
+# define NCC 8
+
+# define IGNBRK 000001
+# define BRKINT 000002
+# define IGNPAR 000004
+# define INPCK 000020
+# define ISTRIP 000040
+# define INLCR 000100
+# define IGNCR 000200
+# define ICRNL 000400
+# define IXON 002000
+# define IXOFF 010000
+
+# define OPOST 000001
+# define OCRNL 000004
+# define ONLCR 000010
+# define ONOCR 000020
+# define TAB3 014000
+
+# define CLOCAL 004000
+# define CREAD 000200
+# define CSIZE 000060
+# define CS5 0
+# define CS6 020
+# define CS7 040
+# define CS8 060
+# define CSTOPB 000100
+# define HUPCL 002000
+# define PARENB 000400
+# define PAODD 001000
+
+# define ECHO 0000010
+# define ECHOE 0000020
+# define ECHOK 0000040
+# define ECHONL 0000100
+# define ICANON 0000002
+# define IEXTEN 0000400 /* anybody know *what* this does?! */
+# define ISIG 0000001
+# define NOFLSH 0000200
+
+# define VEOF 4 /* also VMIN -- thanks, AT&T */
+# define VEOL 5 /* also VTIME -- thanks again */
+# define VERASE 2
+# define VINTR 0
+# define VKILL 3
+# define VMIN 4 /* also VEOF */
+# define VQUIT 1
+# define VTIME 5 /* also VEOL */
+
+# define B0 000000
+# define B50 000001
+# define B75 000002
+# define B110 000003
+# define B134 000004
+# define B150 000005
+# define B200 000006
+# define B300 000007
+# define B600 000010
+# define B1200 000011
+# define B1800 000012
+# define B2400 000013
+# define B4800 000014
+# define B9600 000015
+# define B19200 000016
+# define B38400 000017
+
+struct termio {
+ unsigned short c_iflag;
+ unsigned short c_oflag;
+ unsigned short c_cflag;
+ unsigned short c_lflag;
+ char c_line;
+ unsigned char c_cc[NCC];
+};
+
+#endif /* _SYS_TERMIO_H */
+
diff --git a/newlib/libc/sys/sysvi386/sys/termios.h b/newlib/libc/sys/sysvi386/sys/termios.h
new file mode 100644
index 00000000000..edc81b3d514
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/sys/termios.h
@@ -0,0 +1,121 @@
+#ifndef _SYS_TERMIOS_H
+# define _SYS_TERMIOS_H
+
+# define _XCGETA (('x'<<8)|1)
+# define _XCSETA (('x'<<8)|2)
+# define _XCSETAW (('x'<<8)|3)
+# define _XCSETAF (('x'<<8)|4)
+# define _TCSBRK (('T'<<8)|5)
+# define _TCFLSH (('T'<<8)|7)
+# define _TCXONC (('T'<<8)|6)
+
+# define TCOOFF 0
+# define TCOON 1
+# define TCIOFF 2
+# define TCION 3
+
+# define TCIFLUSH 0
+# define TCOFLUSH 1
+# define TCIOFLUSH 2
+
+# define NCCS 13
+
+# define TCSAFLUSH _XCSETAF
+# define TCSANOW _XCSETA
+# define TCSADRAIN _XCSETAW
+# define TCSADFLUSH _XCSETAF
+
+# define IGNBRK 000001
+# define BRKINT 000002
+# define IGNPAR 000004
+# define INPCK 000020
+# define ISTRIP 000040
+# define INLCR 000100
+# define IGNCR 000200
+# define ICRNL 000400
+# define IXON 002000
+# define IXOFF 010000
+
+# define OPOST 000001
+# define OCRNL 000004
+# define ONLCR 000010
+# define ONOCR 000020
+# define TAB3 014000
+
+# define CLOCAL 004000
+# define CREAD 000200
+# define CSIZE 000060
+# define CS5 0
+# define CS6 020
+# define CS7 040
+# define CS8 060
+# define CSTOPB 000100
+# define HUPCL 002000
+# define PARENB 000400
+# define PAODD 001000
+
+# define ECHO 0000010
+# define ECHOE 0000020
+# define ECHOK 0000040
+# define ECHONL 0000100
+# define ICANON 0000002
+# define IEXTEN 0000400 /* anybody know *what* this does?! */
+# define ISIG 0000001
+# define NOFLSH 0000200
+# define TOSTOP 0001000
+
+# define VEOF 4 /* also VMIN -- thanks, AT&T */
+# define VEOL 5 /* also VTIME -- thanks again */
+# define VERASE 2
+# define VINTR 0
+# define VKILL 3
+# define VMIN 4 /* also VEOF */
+# define VQUIT 1
+# define VSUSP 10
+# define VTIME 5 /* also VEOL */
+# define VSTART 11
+# define VSTOP 12
+
+# define B0 000000
+# define B50 000001
+# define B75 000002
+# define B110 000003
+# define B134 000004
+# define B150 000005
+# define B200 000006
+# define B300 000007
+# define B600 000010
+# define B1200 000011
+# define B1800 000012
+# define B2400 000013
+# define B4800 000014
+# define B9600 000015
+# define B19200 000016
+# define B38400 000017
+
+typedef unsigned char cc_t;
+typedef unsigned short tcflag_t;
+typedef char speed_t;
+
+struct termios {
+ tcflag_t c_iflag;
+ tcflag_t c_oflag;
+ tcflag_t c_cflag;
+ tcflag_t c_lflag;
+ char c_line;
+ cc_t c_cc[NCCS];
+ speed_t c_ispeed;
+ speed_t c_ospeed;
+};
+
+# ifndef _NO_MACROS
+
+# define cfgetospeed(tp) ((tp)->c_ospeed)
+# define cfgetispeed(tp) ((tp)->c_ispeed)
+# define cfsetospeed(tp,s) (((tp)->c_ospeed = (s)), 0)
+# define cfsetispeed(tp,s) (((tp)->c_ispeed = (s)), 0)
+# define tcdrain(fd) _ioctl (fd, _TCSBRK, 1)
+# endif /* _NO_MACROS */
+
+#endif /* _SYS_TERMIOS_H */
+
diff --git a/newlib/libc/sys/sysvi386/sys/utime.h b/newlib/libc/sys/sysvi386/sys/utime.h
new file mode 100644
index 00000000000..80b1daa7465
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/sys/utime.h
@@ -0,0 +1,12 @@
+#ifndef _SYS_UTIME_H
+# define _SYS_UTIME_H
+
+#include <time.h>
+
+struct utimbuf {
+ time_t actime;
+ time_t modtime;
+};
+
+#endif /* _SYS_UTIME_H */
+
diff --git a/newlib/libc/sys/sysvi386/sys/utmp.h b/newlib/libc/sys/sysvi386/sys/utmp.h
new file mode 100644
index 00000000000..f519e6af058
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/sys/utmp.h
@@ -0,0 +1,43 @@
+#ifndef _UTMP_H
+# define _UTMP_H
+
+#include <sys/types.h>
+
+# define UTMP_FILE "/etc/utmp"
+# define WTMP_FILE "/etc/wtmp"
+
+struct utmp {
+ char ut_user[8]; /* how limited */
+ char ut_id[4]; /* ditto */
+ char ut_line[12]; /* I'm repeating myself */
+ short ut_pid;
+ short ut_type;
+ struct exit_status {
+ short e_termination;
+ short e_exit;
+ } ut_exit; /* for DEAD_PROCESS processes */
+ time_t ut_time;
+};
+
+/* Definitions for ut_type fields */
+
+# define EMPTY 0
+# define RUN_LVL 1
+# define BOOT_TIME 2
+# define OLD_TIME 3
+# define NEW_TIME 4
+# define INIT_PROCESS 5
+# define LOGIN_PROCESS 6
+# define USER_PROCESS 7
+# define DEAD_PROCESS 8
+# define ACCOUNTING 9
+# define UTMAXTYPE ACCOUNTING
+
+# define RUNLVL_MSG "run-level %c"
+# define BOOT_MSG "system boot"
+# define OTIME_MSG "old time"
+# define NTIME_MSG "new time"
+
+#endif /* _UTMP_H */
+
+
diff --git a/newlib/libc/sys/sysvi386/sys/wait.h b/newlib/libc/sys/sysvi386/sys/wait.h
new file mode 100644
index 00000000000..7c36f32db8c
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/sys/wait.h
@@ -0,0 +1,42 @@
+#ifndef _WAIT_H
+# define _WAIT_H
+
+# define WNOHANG 1
+# define WUNTRACED 2
+
+/*
+ * Unlike the atrocity that BSD ended up using, we do not have a "union
+ * wait," although I could probably implement one. Given the code I
+ * sometimes end up porting, it might be a good thing. Anyway, the
+ * format of a stat thingy, filled in by the wait*() routines, is:
+ * struct {
+ * int filler:16;
+ * union {
+ * struct stopped {
+ * int signo:8;
+ * int o177:8; // will be 0177
+ * };
+ * struct exited {
+ * int retval:8;
+ * int zero:8; // 0, obviously 8-)
+ * };
+ * struct termed {
+ * int zero:8; // zeroes
+ * int corep:1; // was there a core file?
+ * int signo:7; // what?! Only 127 signals?!
+ * };
+ * int value:16;
+ * };
+ * };
+ *
+ * Braver souls than I can turn that into a union wait, if desired. Ick.
+ */
+
+# define WIFEXITED(val) ((val)&0xff)
+# define WEXITSTATUS(val) (((val)>>8)&0xff)
+# define WIFSIGNALED(val) ((val) && !((val)&0xff))
+# define WTERMSIG(val) (((val)>>8)&0x7f)
+# define WIFSTOPPED(val) (((val)&0xff)==0177)
+# define WSTOPSIG(val) (((val)>>8)&0xff)
+#endif /* _SYS_WAIT_H */
+
diff --git a/newlib/libc/sys/sysvi386/sysconf.s b/newlib/libc/sys/sysvi386/sysconf.s
new file mode 100644
index 00000000000..99bbc604087
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/sysconf.s
@@ -0,0 +1,6 @@
+ .globl sysconf
+sysconf:
+ movl $0x2d28, %eax
+ lcall $7,$0
+ jb _cerror
+ ret
diff --git a/newlib/libc/sys/sysvi386/tcgetattr.c b/newlib/libc/sys/sysvi386/tcgetattr.c
new file mode 100644
index 00000000000..e368418c1ad
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/tcgetattr.c
@@ -0,0 +1,6 @@
+#include <sys/termios.h>
+
+int
+tcgetattr (int fd, struct termios *tp) {
+ return _ioctl (fd, _XCGETA, tp);
+}
diff --git a/newlib/libc/sys/sysvi386/tcline.c b/newlib/libc/sys/sysvi386/tcline.c
new file mode 100644
index 00000000000..39d4699e013
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/tcline.c
@@ -0,0 +1,84 @@
+#define _NO_MACROS
+#include <sys/unistd.h>
+#include <sys/termios.h>
+#include <errno.h>
+
+int
+tcsendbreak (int fd, int dur) {
+ do {
+ if (_ioctl (fd, _TCSBRK, 0) == -1)
+ return -1;
+ } while (dur--);
+ return 0;
+}
+
+int
+tcdrain (int fd) {
+ return _ioctl (fd, _TCSBRK, 1);
+}
+
+int
+tcflush(int fd, int what) {
+ return _ioctl (fd, _TCFLSH, what);
+}
+
+/*
+ * I'm not positive about this function. I *think* it's right,
+ * but I could be missing something.
+ */
+
+int
+tcflow (int fd, int action) {
+ struct termios t;
+
+ switch (action) {
+ case TCOOFF:
+ case TCOON:
+ return _ioctl (fd, _TCXONC, action);
+/*
+ * Here is where I'm not terribly certain. 1003.1 says:
+ * if action is TCIOFF, the system shall transmit a STOP
+ * character, which is intended to cause the terminal device
+ * to stop transmitting data to the system. (Similarly for
+ * TCION.)
+ * I *assume* that means I find out what VSTOP for the
+ * terminal device is, and then write it. 1003.1 also does
+ * not say what happens if c_cc[VSTOP] is _POSIX_VDISABLE;
+ * I assume it should reaturn EINVAL, so that's what I do.
+ * Anyway, here's the code. It might or might not be right.
+ */
+ case TCIOFF:
+ if (tcgetattr (fd, &t) == -1)
+ return -1;
+ if (tcgetattr (fd, &t) == -1)
+ return -1;
+#ifdef _POSIX_VDISABLE
+ if (t.c_cc[VSTOP] == _POSIX_VDISABLE) {
+ errno = EINVAL;
+ return -1;
+ }
+#endif
+ if (write (fd, &t.c_cc[VSTOP], 1) == 1)
+ return 0;
+ else
+ return -1;
+ case TCION:
+ if (tcgetattr (fd, &t) == -1)
+ return -1;
+ if (tcgetattr (fd, &t) == -1)
+ return -1;
+#ifdef _POSIX_VDISABLE
+ if (t.c_cc[VSTART] == _POSIX_VDISABLE) {
+ errno = EINVAL;
+ return -1;
+ }
+#endif
+ if (write (fd, &t.c_cc[VSTART], 1) == 1)
+ return 0;
+ else
+ return -1;
+ default:
+ errno = EINVAL;
+ return -1;
+ }
+}
diff --git a/newlib/libc/sys/sysvi386/tcsetattr.c b/newlib/libc/sys/sysvi386/tcsetattr.c
new file mode 100644
index 00000000000..1df92b28143
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/tcsetattr.c
@@ -0,0 +1,7 @@
+#include <sys/termios.h>
+
+int
+tcsetattr (int fd, int opts, const struct termios *tp) {
+ return _ioctl (fd, opts, tp);
+}
+
diff --git a/newlib/libc/sys/sysvi386/telldir.c b/newlib/libc/sys/sysvi386/telldir.c
new file mode 100644
index 00000000000..37d9de6389e
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/telldir.c
@@ -0,0 +1,129 @@
+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)telldir.c 5.9 (Berkeley) 2/23/91";
+#endif /* LIBC_SCCS and not lint */
+
+#include <sys/param.h>
+#include <dirent.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+/*
+ * The option SINGLEUSE may be defined to say that a telldir
+ * cookie may be used only once before it is freed. This option
+ * is used to avoid having memory usage grow without bound.
+ */
+#define SINGLEUSE
+
+/*
+ * One of these structures is malloced to describe the current directory
+ * position each time telldir is called. It records the current magic
+ * cookie returned by getdirentries and the offset within the buffer
+ * associated with that return value.
+ */
+struct ddloc {
+ struct ddloc *loc_next;/* next structure in list */
+ long loc_index; /* key associated with structure */
+ long loc_seek; /* magic cookie returned by getdirentries */
+ long loc_loc; /* offset of entry in buffer */
+};
+
+#define NDIRHASH 32 /* Num of hash lists, must be a power of 2 */
+#define LOCHASH(i) ((i)&(NDIRHASH-1))
+
+static long dd_loccnt; /* Index of entry for sequential readdir's */
+static struct ddloc *dd_hash[NDIRHASH]; /* Hash list heads for ddlocs */
+
+/*
+ * return a pointer into a directory
+ */
+long
+telldir(dirp)
+ const DIR *dirp;
+{
+ register int index;
+ register struct ddloc *lp;
+
+ if ((lp = (struct ddloc *)malloc(sizeof(struct ddloc))) == NULL)
+ return (-1);
+ index = dd_loccnt++;
+ lp->loc_index = index;
+ lp->loc_seek = dirp->dd_seek;
+ lp->loc_loc = dirp->dd_loc;
+ lp->loc_next = dd_hash[LOCHASH(index)];
+ dd_hash[LOCHASH(index)] = lp;
+ return (index);
+}
+
+/*
+ * seek to an entry in a directory.
+ * Only values returned by "telldir" should be passed to seekdir.
+ */
+void
+_seekdir(dirp, loc)
+ register DIR *dirp;
+ long loc;
+{
+ register struct ddloc *lp;
+ register struct ddloc **prevlp;
+ struct dirent *dp;
+ extern long lseek();
+
+ prevlp = &dd_hash[LOCHASH(loc)];
+ lp = *prevlp;
+ while (lp != NULL) {
+ if (lp->loc_index == loc)
+ break;
+ prevlp = &lp->loc_next;
+ lp = lp->loc_next;
+ }
+ if (lp == NULL)
+ return;
+ if (lp->loc_loc == dirp->dd_loc && lp->loc_seek == dirp->dd_seek)
+ goto found;
+ (void) lseek(dirp->dd_fd, lp->loc_seek, 0);
+ dirp->dd_seek = lp->loc_seek;
+ dirp->dd_loc = 0;
+ while (dirp->dd_loc < lp->loc_loc) {
+ dp = readdir(dirp);
+ if (dp == NULL)
+ break;
+ }
+found:
+#ifdef SINGLEUSE
+ *prevlp = lp->loc_next;
+ free((caddr_t)lp);
+#endif
+}
diff --git a/newlib/libc/sys/sysvi386/time.s b/newlib/libc/sys/sysvi386/time.s
new file mode 100644
index 00000000000..c5617891c14
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/time.s
@@ -0,0 +1,8 @@
+ .globl _time
+ .globl time
+_time:
+time:
+ movl $0xd, %eax
+ lcall $7,$0
+ jb _cerror
+ ret
diff --git a/newlib/libc/sys/sysvi386/times.s b/newlib/libc/sys/sysvi386/times.s
new file mode 100644
index 00000000000..007de1e1ef1
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/times.s
@@ -0,0 +1,8 @@
+ .globl _times
+ .globl times
+_times:
+times:
+ movl $0x2b, %eax
+ lcall $7,$0
+ jb _cerror
+ ret
diff --git a/newlib/libc/sys/sysvi386/unlink.s b/newlib/libc/sys/sysvi386/unlink.s
new file mode 100644
index 00000000000..b85e87c2711
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/unlink.s
@@ -0,0 +1,9 @@
+ .globl _unlink
+ .globl unlink
+_unlink:
+unlink:
+ movl $0xa, %eax
+ lcall $7,$0
+ jb _cerror
+ xor %eax, %eax
+ ret
diff --git a/newlib/libc/sys/sysvi386/utime.s b/newlib/libc/sys/sysvi386/utime.s
new file mode 100644
index 00000000000..23fc5047639
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/utime.s
@@ -0,0 +1,8 @@
+ .globl _utime
+ .globl utime
+_utime:
+utime:
+ movl $0x1e, %eax
+ lcall $7,$0
+ jb _cerror
+ ret
diff --git a/newlib/libc/sys/sysvi386/wait.s b/newlib/libc/sys/sysvi386/wait.s
new file mode 100644
index 00000000000..1ae8b0c6b99
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/wait.s
@@ -0,0 +1,13 @@
+ .globl _wait
+ .globl wait
+_wait:
+wait:
+ movl $0x7, %eax
+ lcall $7,$0
+ jb _cerror
+ movl 4(%esp), %ecx
+ testl %ecx, %ecx
+ je bye
+ movl %edx, (%ecx)
+bye:
+ ret
diff --git a/newlib/libc/sys/sysvi386/waitpid.s b/newlib/libc/sys/sysvi386/waitpid.s
new file mode 100644
index 00000000000..598099f91df
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/waitpid.s
@@ -0,0 +1,18 @@
+ .globl _waitpid
+ .globl waitpid
+_waitpid:
+waitpid:
+ pushfl
+ popl %eax
+ orl $0x8c4,%eax
+ pushl %eax
+ popfl
+ movl $0x7, %eax
+ lcall $7,$0
+ jb _cerror
+ movl 8(%esp), %ecx
+ testl %ecx, %ecx
+ je bye
+ movl %edx, (%ecx)
+bye:
+ ret
diff --git a/newlib/libc/sys/sysvi386/write.s b/newlib/libc/sys/sysvi386/write.s
new file mode 100644
index 00000000000..05374652ce0
--- /dev/null
+++ b/newlib/libc/sys/sysvi386/write.s
@@ -0,0 +1,8 @@
+ .globl _write
+ .globl write
+_write:
+write:
+ movl $4, %eax
+ lcall $7,$0
+ jb _cerror
+ ret
diff --git a/newlib/libc/sys/sysvnecv70/Makefile.am b/newlib/libc/sys/sysvnecv70/Makefile.am
new file mode 100644
index 00000000000..cc0d7941165
--- /dev/null
+++ b/newlib/libc/sys/sysvnecv70/Makefile.am
@@ -0,0 +1,15 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = ioctl.s isatty.s read.s lseek.s close.s sbrk.s fstat.s \
+ cerror.s exit.s write.s sysv60.s fpx.c fps.s open.s
+
+all: crt0.o
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/sysvnecv70/Makefile.in b/newlib/libc/sys/sysvnecv70/Makefile.in
new file mode 100644
index 00000000000..528c07b34b5
--- /dev/null
+++ b/newlib/libc/sys/sysvnecv70/Makefile.in
@@ -0,0 +1,301 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = ioctl.s isatty.s read.s lseek.s close.s sbrk.s fstat.s \
+ cerror.s exit.s write.s sysv60.s fpx.c fps.s open.s
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = ioctl.o isatty.o read.o lseek.o close.o sbrk.o fstat.o \
+cerror.o exit.o write.o sysv60.o fpx.o fps.o open.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+all: crt0.o
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/sys/sysvnecv70/aclocal.m4 b/newlib/libc/sys/sysvnecv70/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/sys/sysvnecv70/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/sys/sysvnecv70/cerror.s b/newlib/libc/sys/sysvnecv70/cerror.s
new file mode 100644
index 00000000000..9827c1087a1
--- /dev/null
+++ b/newlib/libc/sys/sysvnecv70/cerror.s
@@ -0,0 +1,9 @@
+ .globl cerror
+cerror: mov.w r0,_errno
+ neg.w #1,r0
+ ret #0
+
+ .data
+ .globl _errno
+_errno: .word 0
+
diff --git a/newlib/libc/sys/sysvnecv70/close.s b/newlib/libc/sys/sysvnecv70/close.s
new file mode 100644
index 00000000000..5c80dcd30a5
--- /dev/null
+++ b/newlib/libc/sys/sysvnecv70/close.s
@@ -0,0 +1,10 @@
+
+ .globl __close
+ .globl _close
+__close:
+_close: chlvl #0,#6
+ jnl ok
+ jmp cerror
+ok: xor.w r0,r0
+ ret #0
+
diff --git a/newlib/libc/sys/sysvnecv70/configure b/newlib/libc/sys/sysvnecv70/configure
new file mode 100755
index 00000000000..fc0a4996338
--- /dev/null
+++ b/newlib/libc/sys/sysvnecv70/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=sysv60.s
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/sys/sysvnecv70/configure.in b/newlib/libc/sys/sysvnecv70/configure.in
new file mode 100644
index 00000000000..72710998f1a
--- /dev/null
+++ b/newlib/libc/sys/sysvnecv70/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/sys/sysvnecv70 configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(sysv60.s)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/sys/sysvnecv70/crt0.s b/newlib/libc/sys/sysvnecv70/crt0.s
new file mode 100644
index 00000000000..7c4bc77cfbe
--- /dev/null
+++ b/newlib/libc/sys/sysvnecv70/crt0.s
@@ -0,0 +1,28 @@
+ .globl start
+start:
+ sub.w #0x8,sp
+ mov.w 0x8[sp],[sp]
+ movea.w 0xc[sp],r0
+ mov.w r0,0x4[sp]
+tloop: test.w [r0+]
+ jne tloop
+ cmp.w r0,[0x4[sp]]
+ jge l1
+ sub.w #0x4,r0
+l1: mov.w r0,0x8[sp]
+ mov.w r0,_environ
+
+
+ call _main,[sp]
+ add.w #0xc,sp
+ push r0
+ call _exit,[sp]
+ add.w #0x4,sp
+ chlvl #0,#1
+
+ .data
+
+ .globl _environ
+_environ:
+ .word 0
+
diff --git a/newlib/libc/sys/sysvnecv70/exit.s b/newlib/libc/sys/sysvnecv70/exit.s
new file mode 100644
index 00000000000..a37a17c2184
--- /dev/null
+++ b/newlib/libc/sys/sysvnecv70/exit.s
@@ -0,0 +1,7 @@
+
+ .globl __exit
+__exit: chlvl #0,#1
+ jnl ok
+ jmp cerror
+ok: ret #0
+
diff --git a/newlib/libc/sys/sysvnecv70/fps.s b/newlib/libc/sys/sysvnecv70/fps.s
new file mode 100644
index 00000000000..83214dff404
--- /dev/null
+++ b/newlib/libc/sys/sysvnecv70/fps.s
@@ -0,0 +1,18 @@
+ .globl _fpgetsticky
+_fpgetsticky:
+ getpsw r0
+ and.w #0x1f00,r0
+ shl.w #0xf8,r0
+ ret #0x0
+
+
+ .globl _fpsetsticky
+_fpsetsticky:
+ getpsw r0
+ mov.w [ap],r1
+ shl.w #0x8,r1
+ updpsw.h r1,#0x1f00
+ trapfl
+ and.w #0x1f00,r0
+ shl.w #0xf8,r0
+ ret #0x0
diff --git a/newlib/libc/sys/sysvnecv70/fpx.c b/newlib/libc/sys/sysvnecv70/fpx.c
new file mode 100644
index 00000000000..d55a1e30ff4
--- /dev/null
+++ b/newlib/libc/sys/sysvnecv70/fpx.c
@@ -0,0 +1,73 @@
+#include <ieeefp.h>
+#include <machine/registers.h>
+
+
+fp_except _DEFUN(fpsetmask,(newmask),
+ fp_except newmask)
+
+{
+ fp_except oldmask;
+ v60_tkcw_type tkcw;
+
+ sysv60(0, 8, &tkcw);
+ oldmask = tkcw.fp_trap;
+ tkcw.fp_trap = newmask;
+ sysv60(0, 8, &tkcw);
+ return oldmask;
+
+}
+
+fp_except _DEFUN_VOID(fpgetmask)
+{
+ v60_tkcw_type tkcw;
+ sysv60(0, 8, &tkcw);
+ return tkcw.fp_trap;
+}
+
+
+fp_rnd _DEFUN_VOID(fpgetround)
+{
+ v60_tkcw_type tkcw;
+ sysv60(0, 8, &tkcw);
+ return tkcw.fp_rounding;
+}
+
+fp_rnd _DEFUN(fpsetround,(rnd),
+ fp_rnd rnd)
+{
+ fp_rnd oldrnd;
+ v60_tkcw_type tkcw;
+
+ sysv60(0, 8, &tkcw);
+ oldrnd = tkcw.fp_rounding;
+ tkcw.fp_rounding = rnd;
+ sysv60(0, 8, &tkcw);
+ return oldrnd;
+}
+
+
+
+
+
+fp_rdi _DEFUN_VOID(fpgetroundtoi)
+{
+ v60_tkcw_type tkcw;
+ sysv60(0, 8, &tkcw);
+ return tkcw.integer_rounding;
+}
+
+fp_rdi _DEFUN(fpsetroundtoi,(rnd),
+ fp_rdi rnd)
+{
+ fp_rdi oldrnd;
+ v60_tkcw_type tkcw;
+
+ sysv60(0, 8, &tkcw);
+ oldrnd = tkcw.integer_rounding;
+ tkcw.integer_rounding = rnd;
+ sysv60(0, 8, &tkcw);
+ return oldrnd;
+}
+
+
+
diff --git a/newlib/libc/sys/sysvnecv70/fstat.s b/newlib/libc/sys/sysvnecv70/fstat.s
new file mode 100644
index 00000000000..f646859c07d
--- /dev/null
+++ b/newlib/libc/sys/sysvnecv70/fstat.s
@@ -0,0 +1,11 @@
+
+ .globl __fstat
+ .globl _fstat
+__fstat:
+_fstat: chlvl #0,#0x1c
+ jnl ok
+ jmp cerror
+ok: xor.w r0,r0
+ ret #0
+
+
diff --git a/newlib/libc/sys/sysvnecv70/ioctl.s b/newlib/libc/sys/sysvnecv70/ioctl.s
new file mode 100644
index 00000000000..de3aad548e5
--- /dev/null
+++ b/newlib/libc/sys/sysvnecv70/ioctl.s
@@ -0,0 +1,9 @@
+
+ .globl __ioctl
+ .globl _ioctl
+__ioctl:
+_ioctl: chlvl #0,#0x36
+ jnl ok
+ jmp cerror
+ok: ret #0
+
diff --git a/newlib/libc/sys/sysvnecv70/isatty.s b/newlib/libc/sys/sysvnecv70/isatty.s
new file mode 100644
index 00000000000..5f2c1d9c89f
--- /dev/null
+++ b/newlib/libc/sys/sysvnecv70/isatty.s
@@ -0,0 +1,19 @@
+ .globl _isatty
+ .globl __isatty
+
+_isatty:
+__isatty:
+ prepare #0x14
+ movea.w -0x12[fp],[-sp]
+ push #0x5401
+ push [ap]
+ call _ioctl,[sp]
+ add.w #0xc,sp
+ test.w r0
+ jge ret1
+ mov.w #0x0,r0
+ dispose
+ ret #0x0
+ret1: mov.w #0x1,r0
+ dispose
+ ret #0
diff --git a/newlib/libc/sys/sysvnecv70/lseek.s b/newlib/libc/sys/sysvnecv70/lseek.s
new file mode 100644
index 00000000000..4b55e98e356
--- /dev/null
+++ b/newlib/libc/sys/sysvnecv70/lseek.s
@@ -0,0 +1,9 @@
+
+ .globl __lseek
+ .globl _lseek
+__lseek:
+_lseek: chlvl #0,#0x13
+ jnl ok
+ jmp cerror
+ok: ret #0
+
diff --git a/newlib/libc/sys/sysvnecv70/open.s b/newlib/libc/sys/sysvnecv70/open.s
new file mode 100644
index 00000000000..20c1ce338fd
--- /dev/null
+++ b/newlib/libc/sys/sysvnecv70/open.s
@@ -0,0 +1,10 @@
+
+ .globl __open
+ .globl _open
+__open:
+_open: chlvl #0,#5
+ jnl ok
+ jmp cerror
+ok: xor.w r0,r0
+ ret #0
+
diff --git a/newlib/libc/sys/sysvnecv70/read.s b/newlib/libc/sys/sysvnecv70/read.s
new file mode 100644
index 00000000000..7d517ab8ebb
--- /dev/null
+++ b/newlib/libc/sys/sysvnecv70/read.s
@@ -0,0 +1,9 @@
+
+ .globl __read
+ .globl _read
+__read:
+_read: chlvl #0,#3
+ jnl ok
+ jmp cerror
+ok: ret #0
+
diff --git a/newlib/libc/sys/sysvnecv70/sbrk.s b/newlib/libc/sys/sysvnecv70/sbrk.s
new file mode 100644
index 00000000000..1d5f9242a80
--- /dev/null
+++ b/newlib/libc/sys/sysvnecv70/sbrk.s
@@ -0,0 +1,34 @@
+
+ .globl _sbrk
+ .globl __sbrk
+_sbrk:
+__sbrk:
+ mov.w tptr,r0
+ test.w [ap]
+ je justreport
+ add.w r0,[ap]
+ push [ap]
+ mov.w ap,r3
+ mov.w sp,ap
+ chlvl #0x0,#0x11
+ jnl ok
+ add.w #0x4,sp
+ jmp cerror
+ok: add.w #0x4,sp
+ mov.w tptr,r0
+ mov.w [r3],tptr
+justreport:
+ ret #0x0
+
+ .globl _brk
+ .globl __brk
+__brk:
+_brk: chlvl #0x0,#0x11
+ jnl ok1
+ jmp cerror
+ok1: mov.w [ap],63
+ xor.w r0,r0
+ ret #0x0
+
+ .data
+tptr: .word _end
diff --git a/newlib/libc/sys/sysvnecv70/sysv60.s b/newlib/libc/sys/sysvnecv70/sysv60.s
new file mode 100644
index 00000000000..2ab7c7a05b2
--- /dev/null
+++ b/newlib/libc/sys/sysvnecv70/sysv60.s
@@ -0,0 +1,9 @@
+ .globl _sysv60
+_sysv60:
+ chlvl #0,#0x32
+ jnl ok
+ jmp cerror
+ok: xor.w r0,r0
+ ret #0
+
+
diff --git a/newlib/libc/sys/sysvnecv70/sysvnecv70.tex b/newlib/libc/sys/sysvnecv70/sysvnecv70.tex
new file mode 100644
index 00000000000..c2d038aec9c
--- /dev/null
+++ b/newlib/libc/sys/sysvnecv70/sysvnecv70.tex
@@ -0,0 +1,129 @@
+@node syscalls,machine,reentrancy,Top
+@chapter NEC V70 system calls
+
+The library needs a certain amount of system-specific support in order
+to operate. These routines have to be written for each unique
+target environment. For testing purposes,
+a set of system calls specific to an NEC V70 Unix PC running AT&T Unix
+System V R2 are included. These files are in the @file{sys/sysvnecv70}
+directory.
+
+All the calls have to be implemented in order to avoid link time
+errors, but the implementation need not include all possible
+functionality; in general, for any functionality that isn't
+available, returning an error code is sufficient.
+
+@section Input/Output
+
+The V70 target may not have any character I/O devices.
+In this case, the @code{fstat}, @code{ioctl}, @code{isatty},
+@code{lseek}, @code{read} and @code{write} routines may all return @code{-1},
+to signal failure (inspect @file{cerror.s} to see how to do this).
+
+Sometimes it is correct to implement the functions in a very
+simple and machine specific way. For instance, the target board may
+have one serial line.
+
+In this case, the @code{write} system call can be ``hard-wired'' to
+always print to the serial device, no matter what the supplied file
+handle says. Similarly, the other I/O system calls can be written to
+take advantage of a known configuration.
+
+Note that the library starts up assuming that three files are already
+open. File handles used are:
+@table @code
+@item 0
+Is used for all input from @code{stdin}.
+@item 1
+Is used for all output to @code{stdout}. This includes functions like
+@code{putc} and @code{printf}.
+@item 2
+Is used for all output to @code{stderr}. The library will use this
+file to print error messages from the math functions. Output can
+also be sent to @code{stderr} by @code{fprintf(stderr,@dots{})}
+@end table
+@section Example @code{write} routine
+On a board with a very simple I/O structure, this would be adequate:
+
+@example
+
+@group
+char *duart_status = DUART_ADDR;
+
+void poll()
+@{
+ /* Dummy function to fool optimizer */
+@}
+
+int write(fd, string, len)
+int fd;
+char *string;
+int len;
+@{
+ int i;
+
+ for (i = 0; i < len; i++)
+ @{
+ while (*duart_status & DUART_BUSY)
+ poll();
+ *duart_port = string[i];
+ @}
+ return len;
+@}
+@end group
+@end example
+
+@section Memory allocation
+
+The library allocates memory from the heap either for its own use, or when
+you explicitly call @code{malloc}. It asks the system for
+memory by calling the @code{sbrk} function.
+
+On a Unix system, @code{sbrk} keeps track of the heap's extent by keeping a
+pointer to the end of the @code{bss} section. Unix linkers
+traditionaly mark the end of @code{bss} by creating a symbol
+@code{_end}. When the library wants more memory, it calls
+@code{sbrk} with the size of the request. @code{sbrk} must then
+perform an operation specific to the target environment, and return a pointer
+to the new area. For a simple application, the following fragment may
+be sufficient:
+@example
+
+@group
+char *moving_end = &end;
+
+char *sbrk(request)
+int request;
+@{
+ char *return_address;
+
+ return_address = moving_end;
+ moving_end += request;
+ return return_address;
+@}
+@end group
+@end example
+
+@section Initialization and termination
+
+The system dependent support routines are responsible for
+initializing the library for use by an application, and cleaning up
+when the application is complete.
+
+This functionality is traditionally provided in @code{crt0} and
+@code{_exit}.
+
+The @code{crt0} function usually contains the instructions first run
+by the operating system when an application starts. The
+@code{crt0} function can take advantage of this and prepare the way
+for the libary.
+
+Another task for @code{crt0} is to call the @code{main} function
+provided by the application writer, and also to call @code{exit} if
+the main function ever returns.
+
+@code{exit} tells the operating system that the application has
+finished.
+
+
+
diff --git a/newlib/libc/sys/sysvnecv70/write.s b/newlib/libc/sys/sysvnecv70/write.s
new file mode 100644
index 00000000000..5b4dfb272cd
--- /dev/null
+++ b/newlib/libc/sys/sysvnecv70/write.s
@@ -0,0 +1,9 @@
+
+ .globl __write
+ .globl _write
+__write:
+_write: chlvl #0,#4
+ jnl ok
+ jmp cerror
+ok: ret #0
+
diff --git a/newlib/libc/sys/tic80/Makefile.am b/newlib/libc/sys/tic80/Makefile.am
new file mode 100644
index 00000000000..f55a90adb07
--- /dev/null
+++ b/newlib/libc/sys/tic80/Makefile.am
@@ -0,0 +1,19 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES =
+
+# This is a hack to force automake to include a definition for
+# COMPILE.
+EXTRA_LIBRARIES = libfoo.a
+libfoo_a_SOURCES = crt0.c
+
+all: crt0.o
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/tic80/Makefile.in b/newlib/libc/sys/tic80/Makefile.in
new file mode 100644
index 00000000000..21f4afa2812
--- /dev/null
+++ b/newlib/libc/sys/tic80/Makefile.in
@@ -0,0 +1,311 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES =
+
+# This is a hack to force automake to include a definition for
+# COMPILE.
+EXTRA_LIBRARIES = libfoo.a
+libfoo_a_SOURCES = crt0.c
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+libfoo_a_LIBADD =
+libfoo_a_OBJECTS = crt0.o
+lib_a_LIBADD =
+lib_a_OBJECTS =
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(libfoo_a_SOURCES) $(lib_a_SOURCES)
+OBJECTS = $(libfoo_a_OBJECTS) $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+libfoo.a: $(libfoo_a_OBJECTS) $(libfoo_a_DEPENDENCIES)
+ -rm -f libfoo.a
+ $(AR) cru libfoo.a $(libfoo_a_OBJECTS) $(libfoo_a_LIBADD)
+ $(RANLIB) libfoo.a
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+all: crt0.o
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/sys/tic80/aclocal.m4 b/newlib/libc/sys/tic80/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/sys/tic80/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/sys/tic80/configure b/newlib/libc/sys/tic80/configure
new file mode 100755
index 00000000000..1690b2708e7
--- /dev/null
+++ b/newlib/libc/sys/tic80/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=crt0.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/sys/tic80/configure.in b/newlib/libc/sys/tic80/configure.in
new file mode 100644
index 00000000000..154bd527c95
--- /dev/null
+++ b/newlib/libc/sys/tic80/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/sys/tic80 configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(crt0.c)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/sys/tic80/crt0.c b/newlib/libc/sys/tic80/crt0.c
new file mode 100644
index 00000000000..ff25e4a1c4b
--- /dev/null
+++ b/newlib/libc/sys/tic80/crt0.c
@@ -0,0 +1,22 @@
+/* This is mostly just a placeholder (copied from m88kbug) until we
+ figure out what it really should be... -fnf */
+
+extern int main(int argc, char **argv);
+
+extern char _edata;
+extern char _end;
+extern char stack;
+
+_start()
+{
+ char *p;
+
+ p = &_edata + 1;
+ while (p < &_end)
+ {
+ *p++ = 0;
+ }
+
+ main(0, 0);
+ _exit();
+}
diff --git a/newlib/libc/sys/w65/Makefile.am b/newlib/libc/sys/w65/Makefile.am
new file mode 100644
index 00000000000..db6b81665fd
--- /dev/null
+++ b/newlib/libc/sys/w65/Makefile.am
@@ -0,0 +1,14 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = syscalls.c trap.c
+
+all: crt0.o
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/w65/Makefile.in b/newlib/libc/sys/w65/Makefile.in
new file mode 100644
index 00000000000..59f5a1d80ca
--- /dev/null
+++ b/newlib/libc/sys/w65/Makefile.in
@@ -0,0 +1,299 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = syscalls.c trap.c
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = syscalls.o trap.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+all: crt0.o
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/sys/w65/aclocal.m4 b/newlib/libc/sys/w65/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/sys/w65/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/sys/w65/configure b/newlib/libc/sys/w65/configure
new file mode 100755
index 00000000000..7db0af061f6
--- /dev/null
+++ b/newlib/libc/sys/w65/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=trap.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/sys/w65/configure.in b/newlib/libc/sys/w65/configure.in
new file mode 100644
index 00000000000..1c62fcb847d
--- /dev/null
+++ b/newlib/libc/sys/w65/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/sys/w65 configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(trap.c)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/sys/w65/crt0.c b/newlib/libc/sys/w65/crt0.c
new file mode 100644
index 00000000000..b7598973bae
--- /dev/null
+++ b/newlib/libc/sys/w65/crt0.c
@@ -0,0 +1,16 @@
+
+
+int p;
+extern int edata;
+extern int end;
+start()
+{
+int *s;
+ asm ("lda #stack");
+ asm ("tcs");
+ for (s = &edata; s != &end; s++)
+ *s = 0;
+
+ main();
+ exit(0);
+}
diff --git a/newlib/libc/sys/w65/sys/syscall.h b/newlib/libc/sys/w65/sys/syscall.h
new file mode 100644
index 00000000000..f141df764c1
--- /dev/null
+++ b/newlib/libc/sys/w65/sys/syscall.h
@@ -0,0 +1,31 @@
+#define SYS_exit 1
+#define SYS_fork 2
+
+#define SYS_read 3
+#define SYS_write 4
+#define SYS_open 5
+#define SYS_close 6
+#define SYS_wait4 7
+#define SYS_creat 8
+#define SYS_link 9
+#define SYS_unlink 10
+#define SYS_execv 11
+#define SYS_chdir 12
+#define SYS_mknod 14
+#define SYS_chmod 15
+#define SYS_chown 16
+#define SYS_lseek 19
+#define SYS_getpid 20
+#define SYS_isatty 21
+#define SYS_fstat 22
+#define SYS_time 23
+
+
+#define SYS_ARG 24
+#define SYS_stat 38
+
+#define SYS_pipe 42
+#define SYS_execve 59
+
+#define SYS_utime 201 /* not really a system call */
+#define SYS_wait 202 /* nor is this */
diff --git a/newlib/libc/sys/w65/syscalls.c b/newlib/libc/sys/w65/syscalls.c
new file mode 100644
index 00000000000..4f5b108b1ad
--- /dev/null
+++ b/newlib/libc/sys/w65/syscalls.c
@@ -0,0 +1,191 @@
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "sys/syscall.h"
+int errno;
+
+
+
+int
+_read (int file,
+ char *ptr,
+ int len)
+{
+ return __trap3 (SYS_read, file, ptr, len);
+}
+
+
+int
+_lseek (int file,
+ int ptr,
+ int dir)
+{
+ return __trap3 (SYS_lseek, file, ptr, dir);
+}
+
+static
+writechar (char c)
+{
+ asm ("lda %0" : : "r" (c));
+ asm ("wdm");
+}
+
+
+
+int
+_write (
+ int file,
+ char *ptr,
+ int len)
+{
+ return __trap3 (SYS_write, file, ptr, len);
+}
+
+
+
+int
+_close (int file)
+{
+ return __trap3 (SYS_close, file, 0, 0);
+}
+
+
+
+caddr_t
+_sbrk (int incr)
+{
+ extern char end; /* Defined by the linker */
+ static char *heap_end;
+ char *prev_heap_end;
+
+ if (heap_end == 0)
+ {
+ heap_end = &end;
+ }
+ prev_heap_end = heap_end;
+ if (heap_end + incr > stack_ptr)
+ {
+ _write (1, "Heap and stack collision\n", 25);
+ abort ();
+ }
+
+ heap_end += incr;
+ return (caddr_t) prev_heap_end;
+}
+
+
+
+
+int
+_fstat (int file,
+ struct stat *st)
+{
+ st->st_mode = S_IFCHR;
+ return 0;
+}
+
+
+int
+_open (
+ char *path,
+ int flags)
+{
+ return __trap3 (SYS_open, path, flags, 0);
+}
+
+int
+_unlink ()
+{
+ return -1;
+}
+
+isatty (fd)
+ int fd;
+{
+ return 1;
+}
+
+
+
+_exit (n)
+{
+ return __trap3 (SYS_exit, n, 0, 0);
+}
+
+
+_kill (n, m)
+{
+ return __trap3 (SYS_exit, 0xdead, 0, 0);
+}
+
+
+_getpid (n)
+{
+ return 1;
+}
+
+
+
+
+_raise ()
+{
+
+}
+
+int
+_stat (const char *path, struct stat *st)
+
+{
+ return _trap3 (SYS_stat, path, st, 0);
+}
+
+int
+_chmod (const char *path, short mode)
+{
+ return _trap3 (SYS_chmod, path, mode);
+}
+
+int
+_chown (const char *path, short owner, short group)
+{
+ return _trap3 (SYS_chown, path, owner, group);
+}
+
+int
+_utime (path, times)
+ const char *path;
+ char *times;
+{
+ return _trap3 (SYS_utime, path, times);
+}
+
+int
+_fork ()
+{
+ return _trap3 (SYS_fork);
+}
+
+int
+_wait (statusp)
+ int *statusp;
+{
+ return _trap3 (SYS_wait);
+}
+
+int
+_execve (const char *path, char *const argv[], char *const envp[])
+{
+ return _trap3 (SYS_execve, path, argv, envp);
+}
+
+int
+_execv (const char *path, char *const argv[])
+{
+ return _trap3 (SYS_execv, path, argv);
+}
+
+int
+_pipe (int *fd)
+{
+ return _trap3 (SYS_pipe, fd);
+}
diff --git a/newlib/libc/sys/w65/trap.c b/newlib/libc/sys/w65/trap.c
new file mode 100644
index 00000000000..1f49999bb78
--- /dev/null
+++ b/newlib/libc/sys/w65/trap.c
@@ -0,0 +1,15 @@
+
+
+
+_trap3()
+{
+
+}
+
+
+__trap3(a1,a2,a3,a4,a5,a6)
+{
+ asm ("ldx #r0");
+ asm ("wdm");
+}
+
diff --git a/newlib/libc/sys/z8ksim/Makefile.am b/newlib/libc/sys/z8ksim/Makefile.am
new file mode 100644
index 00000000000..184707d97a5
--- /dev/null
+++ b/newlib/libc/sys/z8ksim/Makefile.am
@@ -0,0 +1,14 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = glue.c
+
+all: crt0.o
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/z8ksim/Makefile.in b/newlib/libc/sys/z8ksim/Makefile.in
new file mode 100644
index 00000000000..bc30a069315
--- /dev/null
+++ b/newlib/libc/sys/z8ksim/Makefile.in
@@ -0,0 +1,299 @@
+# Makefile.in generated automatically by automake 1.3 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DISTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = glue.c
+
+ACLOCAL_AMFLAGS = -I ../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = glue.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
+ ../../../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @echo "========================"; \
+ echo "$(distdir).tar.gz is ready for distribution"; \
+ echo "========================"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+ $(MAKE) $(AM_MAKEFLAGS)
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+all: crt0.o
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/sys/z8ksim/aclocal.m4 b/newlib/libc/sys/z8ksim/aclocal.m4
new file mode 100644
index 00000000000..70d48102026
--- /dev/null
+++ b/newlib/libc/sys/z8ksim/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
diff --git a/newlib/libc/sys/z8ksim/configure b/newlib/libc/sys/z8ksim/configure
new file mode 100755
index 00000000000..20672001f64
--- /dev/null
+++ b/newlib/libc/sys/z8ksim/configure
@@ -0,0 +1,1687 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=glue.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in ../../../.. $srcdir/../../../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../../../.. $srcdir/../../../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:578: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:688: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:721: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 726 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:754: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 759 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}../../.."
+ fi
+else
+ newlib_basedir="${srcdir}/../../.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:840: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:881: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:894: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:907: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:920: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:933: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:958: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:988: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1037: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1061: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1094: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1115: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1147: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1179: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1211: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1256: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1310: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1344: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../../../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libc/sys/z8ksim/configure.in b/newlib/libc/sys/z8ksim/configure.in
new file mode 100644
index 00000000000..ce23fd61244
--- /dev/null
+++ b/newlib/libc/sys/z8ksim/configure.in
@@ -0,0 +1,12 @@
+dnl This is the newlib/libc/sys/z8ksim configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(glue.c)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_OUTPUT(Makefile)
diff --git a/newlib/libc/sys/z8ksim/crt0.c b/newlib/libc/sys/z8ksim/crt0.c
new file mode 100644
index 00000000000..f9aad6d95a3
--- /dev/null
+++ b/newlib/libc/sys/z8ksim/crt0.c
@@ -0,0 +1,58 @@
+extern char _start_bss;
+extern char _end_bss;
+extern int main(int argc, char **argv, char **environ);
+void __main();
+
+static void
+enter()
+{
+#if defined(__Z8002__)
+ __main();
+#endif
+ exit(main(0,0,0));
+}
+start()
+{
+ char *p;
+#if defined(__Z8002__)
+ asm("ld r15,#__stack_top");
+ asm("ld r10,r15");
+#endif
+#if defined(__Z8001__)
+ asm("ldl rr14,#__stack_top");
+ asm("ldl rr10,rr14");
+#endif
+
+
+ /* zero bss */
+ p = &_start_bss;
+ while (p < & _end_bss)
+ {
+ *p++ = 0;
+ }
+ enter();
+}
+
+#if defined(__Z8002__)
+void __do_global_ctors ()
+{
+ typedef void (*pfunc)();
+ extern pfunc __ctors[];
+ extern pfunc __ctors_end[];
+ pfunc *p;
+ for (p = __ctors_end; p > __ctors; )
+ {
+ (*--p)();
+ }
+}
+
+void __main()
+{
+ static int initialized;
+ if (! initialized)
+ {
+ initialized = 1;
+ __do_global_ctors ();
+ }
+}
+#endif
diff --git a/newlib/libc/sys/z8ksim/glue.c b/newlib/libc/sys/z8ksim/glue.c
new file mode 100644
index 00000000000..b3b0bab07fb
--- /dev/null
+++ b/newlib/libc/sys/z8ksim/glue.c
@@ -0,0 +1,156 @@
+#include "sys/syscall.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <_ansi.h>
+#include <errno.h>
+
+extern char _start_heap;
+extern char _end_heap;
+extern char _start_bss;
+extern char _end_bss;
+
+
+static int argl(long value)
+{
+ asm("ld r0,%H0" : : "r" (value));
+ asm("ld r1,%I0" : : "r" (value));
+ asm("sc %0" : : "i" (SYS_ARG));
+}
+
+
+static int argw(value)
+{
+ asm("ld r1,%H0" : : "r" ( value));
+ asm("ld r0,#0");
+ asm("sc %0" : : "i" (SYS_ARG));
+}
+
+static int argp(void *value)
+{
+#ifdef __Z8001__
+ asm("ld r0,%H0" : : "r" (value));
+ asm("ld r1,%I0" : : "r" (value));
+#else
+ asm("ld r1,%H0" : : "r" ( value));
+ asm("ld r0,#0");
+#endif
+ asm("sc %0" : : "i" (SYS_ARG));
+
+}
+
+
+
+#define ARGL(n, value) argl(value)
+#define ARGW(n, value) argw(value)
+#define ARGP(n, value) argp(value)
+
+#define MACRO(n) asm("sc %0" : : "i" (n));
+
+int _read (int fd, char *buf,size_t nbytes)
+{
+ ARGW(0,fd);
+ ARGP(1,buf);
+ ARGP(2,(void *)(nbytes));
+ MACRO(SYS_read);
+}
+
+int _write (int fd, char *buf, size_t nbytes)
+{
+ ARGW(0,fd);
+ ARGP(1,buf);
+ ARGP(2,(void *)(nbytes));
+ MACRO(SYS_write);
+}
+
+int _open (const char *buf, int flags, int mode)
+{
+ ARGP(0, buf);
+ ARGW(1, flags);
+ ARGW(2, mode);
+ MACRO(SYS_open);
+}
+
+int _close (int fd)
+{
+ ARGW(0,fd);
+ MACRO(SYS_close );
+}
+
+/*
+ * sbrk -- changes heap size size. Get nbytes more
+ * RAM. We just increment a pointer in what's
+ * left of memory on the board.
+ */
+caddr_t _sbrk (size_t nbytes)
+{
+ static char* heap_ptr = NULL;
+ caddr_t base;
+
+ if (heap_ptr == NULL) {
+ heap_ptr = (caddr_t)&_start_heap;
+ }
+
+ if (heap_ptr + nbytes < &_end_heap) {
+ base = heap_ptr;
+ heap_ptr += nbytes;
+ return (heap_ptr);
+ } else {
+ errno = ENOMEM;
+ return ((caddr_t)-1);
+ }
+}
+
+int isatty (int fd)
+{
+ ARGW(0,fd);
+ MACRO(SYS_isatty);
+}
+
+off_t _lseek (int fd, off_t offset, int whence)
+{
+ ARGW(0,fd);
+ ARGL(1,offset);
+ ARGW(2, whence);
+ MACRO(SYS_lseek);
+}
+
+int _fstat (int fd, struct stat *buf)
+{
+ ARGW(0,fd);
+ ARGP(1,buf);
+ MACRO(SYS_fstat);
+}
+
+
+
+
+int
+_exit(int val)
+{
+ ARGW(0,val);
+ MACRO(SYS_exit);
+}
+
+time_t _time(time_t *timer)
+{
+ ARGP(0,timer);
+ MACRO(SYS_time);
+}
+
+int
+_creat (const char *path, int mode)
+{
+ ARGP(0, path);
+ ARGW(1, mode);
+ MACRO(SYS_creat);
+}
+
+_kill(int pid, int val)
+{
+ _exit(val);
+}
+
+_getpid()
+{
+ return 1;
+}
diff --git a/newlib/libc/sys/z8ksim/sys/syscall.h b/newlib/libc/sys/z8ksim/sys/syscall.h
new file mode 100644
index 00000000000..9631a73bdb9
--- /dev/null
+++ b/newlib/libc/sys/z8ksim/sys/syscall.h
@@ -0,0 +1,23 @@
+#define SYS_exit 1
+#define SYS_fork 2
+#define SYS_read 3
+#define SYS_write 4
+#define SYS_open 5
+#define SYS_close 6
+#define SYS_wait4 7
+#define SYS_creat 8
+#define SYS_link 9
+#define SYS_unlink 10
+#define SYS_execv 11
+#define SYS_chdir 12
+#define SYS_mknod 14
+#define SYS_chmod 15
+#define SYS_chown 16
+#define SYS_lseek 19
+#define SYS_getpid 20
+#define SYS_isatty 21
+#define SYS_fstat 22
+#define SYS_time 23
+
+
+#define SYS_ARG 24
diff --git a/newlib/libc/syscalls/Makefile.am b/newlib/libc/syscalls/Makefile.am
new file mode 100644
index 00000000000..0a781e9fd1f
--- /dev/null
+++ b/newlib/libc/syscalls/Makefile.am
@@ -0,0 +1,44 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ sysclose.c \
+ sysexecve.c \
+ sysfcntl.c \
+ sysfork.c \
+ sysfstat.c \
+ sysgetpid.c \
+ sysgettod.c \
+ syskill.c \
+ syslink.c \
+ syslseek.c \
+ sysopen.c \
+ sysread.c \
+ syssbrk.c \
+ sysstat.c \
+ systimes.c \
+ sysunlink.c \
+ syswait.c \
+ syswrite.c
+
+CHEWOUT_FILES =
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+TARGETDOC = ../tmp.texi
+
+# No doc for syscalls.
+doc:
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
diff --git a/newlib/libc/syscalls/Makefile.in b/newlib/libc/syscalls/Makefile.in
new file mode 100644
index 00000000000..160f61e4cb0
--- /dev/null
+++ b/newlib/libc/syscalls/Makefile.in
@@ -0,0 +1,319 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+CRT0 = @CRT0@
+EXEEXT = @EXEEXT@
+LIBC_MACHINE_LIB = @LIBC_MACHINE_LIB@
+LIBC_POSIX_LIB = @LIBC_POSIX_LIB@
+LIBC_SIGNAL_DEF = @LIBC_SIGNAL_DEF@
+LIBC_SIGNAL_LIB = @LIBC_SIGNAL_LIB@
+LIBC_SYSCALL_LIB = @LIBC_SYSCALL_LIB@
+LIBC_SYS_LIB = @LIBC_SYS_LIB@
+LIBC_UNIX_LIB = @LIBC_UNIX_LIB@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ sysclose.c \
+ sysexecve.c \
+ sysfcntl.c \
+ sysfork.c \
+ sysfstat.c \
+ sysgetpid.c \
+ sysgettod.c \
+ syskill.c \
+ syslink.c \
+ syslseek.c \
+ sysopen.c \
+ sysread.c \
+ syssbrk.c \
+ sysstat.c \
+ systimes.c \
+ sysunlink.c \
+ syswait.c \
+ syswrite.c
+
+
+CHEWOUT_FILES =
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+TARGETDOC = ../tmp.texi
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = sysclose.o sysexecve.o sysfcntl.o sysfork.o sysfstat.o \
+sysgetpid.o sysgettod.o syskill.o syslink.o syslseek.o sysopen.o \
+sysread.o syssbrk.o sysstat.o systimes.o sysunlink.o syswait.o \
+syswrite.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .def .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus syscalls/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = syscalls
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am:
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-info-am:
+install-info: install-info-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am:
+uninstall: uninstall-am
+all-am: Makefile $(LIBRARIES)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-noinstLIBRARIES distclean-compile \
+ distclean-tags distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-info-am install-info \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+# No doc for syscalls.
+doc:
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/syscalls/sysclose.c b/newlib/libc/syscalls/sysclose.c
new file mode 100644
index 00000000000..632364ac1da
--- /dev/null
+++ b/newlib/libc/syscalls/sysclose.c
@@ -0,0 +1,14 @@
+/* connector for close */
+
+#include <reent.h>
+
+int
+close (fd)
+ int fd;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _close_r (_REENT, fd);
+#else
+ return _close (fd);
+#endif
+}
diff --git a/newlib/libc/syscalls/sysexecve.c b/newlib/libc/syscalls/sysexecve.c
new file mode 100644
index 00000000000..c5050472ce1
--- /dev/null
+++ b/newlib/libc/syscalls/sysexecve.c
@@ -0,0 +1,16 @@
+/* connector for execve */
+
+#include <reent.h>
+
+int
+execve (name, argv, env)
+ char *name;
+ char **argv;
+ char **env;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _execve_r (_REENT, name, argv, env);
+#else
+ return _execve (name, argv, env);
+#endif
+}
diff --git a/newlib/libc/syscalls/sysfcntl.c b/newlib/libc/syscalls/sysfcntl.c
new file mode 100644
index 00000000000..23e1d837ac2
--- /dev/null
+++ b/newlib/libc/syscalls/sysfcntl.c
@@ -0,0 +1,17 @@
+/* connector for fcntl */
+/* only called from stdio/fdopen.c, so arg can be int. */
+
+#include <reent.h>
+
+int
+fcntl (fd, flag, arg)
+ int fd;
+ int flag;
+ int arg;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _fcntl_r (_REENT, fd, flag, arg);
+#else
+ return _fcntl (fd, flag, arg);
+#endif
+}
diff --git a/newlib/libc/syscalls/sysfork.c b/newlib/libc/syscalls/sysfork.c
new file mode 100644
index 00000000000..9fe319ff0df
--- /dev/null
+++ b/newlib/libc/syscalls/sysfork.c
@@ -0,0 +1,19 @@
+/* connector for fork */
+
+/* Don't define this if NO_FORK. See for example libc/sys/win32/spawn.c. */
+
+#ifndef NO_FORK
+
+#include <reent.h>
+
+int
+fork ()
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _fork_r (_REENT);
+#else
+ return _fork ();
+#endif
+}
+
+#endif
diff --git a/newlib/libc/syscalls/sysfstat.c b/newlib/libc/syscalls/sysfstat.c
new file mode 100644
index 00000000000..f167b3cd8ec
--- /dev/null
+++ b/newlib/libc/syscalls/sysfstat.c
@@ -0,0 +1,16 @@
+/* connector for fstat */
+
+#include <reent.h>
+#include <unistd.h>
+
+int
+fstat (fd, pstat)
+ int fd;
+ struct stat *pstat;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _fstat_r (_REENT, fd, pstat);
+#else
+ return _fstat (fd, pstat);
+#endif
+}
diff --git a/newlib/libc/syscalls/sysgetpid.c b/newlib/libc/syscalls/sysgetpid.c
new file mode 100644
index 00000000000..d7f75064da1
--- /dev/null
+++ b/newlib/libc/syscalls/sysgetpid.c
@@ -0,0 +1,13 @@
+/* connector for getpid */
+
+#include <reent.h>
+
+int
+getpid ()
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _getpid_r (_REENT);
+#else
+ return _getpid ();
+#endif
+}
diff --git a/newlib/libc/syscalls/sysgettod.c b/newlib/libc/syscalls/sysgettod.c
new file mode 100644
index 00000000000..24849d5ce06
--- /dev/null
+++ b/newlib/libc/syscalls/sysgettod.c
@@ -0,0 +1,20 @@
+/* connector for gettimeofday */
+
+#include <reent.h>
+#include <sys/types.h>
+#include <sys/times.h>
+
+struct timeval;
+struct timezone;
+
+int
+gettimeofday (ptimeval, ptimezone)
+ struct timeval *ptimeval;
+ struct timezone *ptimezone;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _gettimeofday_r (_REENT, ptimeval, ptimezone);
+#else
+ return _gettimeofday (ptimeval, ptimezone);
+#endif
+}
diff --git a/newlib/libc/syscalls/syskill.c b/newlib/libc/syscalls/syskill.c
new file mode 100644
index 00000000000..4ee2f64df07
--- /dev/null
+++ b/newlib/libc/syscalls/syskill.c
@@ -0,0 +1,15 @@
+/* connector for kill */
+
+#include <reent.h>
+
+int
+kill (pid, sig)
+ int pid;
+ int sig;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _kill_r (_REENT, pid, sig);
+#else
+ return _kill (pid, sig);
+#endif
+}
diff --git a/newlib/libc/syscalls/syslink.c b/newlib/libc/syscalls/syslink.c
new file mode 100644
index 00000000000..6abe184ea2c
--- /dev/null
+++ b/newlib/libc/syscalls/syslink.c
@@ -0,0 +1,15 @@
+/* connector for link */
+
+#include <reent.h>
+
+int
+link (old, new)
+ char *old;
+ char *new;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _link_r (_REENT, old, new);
+#else
+ return _link (old, new);
+#endif
+}
diff --git a/newlib/libc/syscalls/syslseek.c b/newlib/libc/syscalls/syslseek.c
new file mode 100644
index 00000000000..57d6423e9a4
--- /dev/null
+++ b/newlib/libc/syscalls/syslseek.c
@@ -0,0 +1,17 @@
+/* connector for lseek */
+
+#include <reent.h>
+#include <unistd.h>
+
+off_t
+lseek (fd, pos, whence)
+ int fd;
+ off_t pos;
+ int whence;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _lseek_r (_REENT, fd, pos, whence);
+#else
+ return _lseek (fd, pos, whence);
+#endif
+}
diff --git a/newlib/libc/syscalls/sysopen.c b/newlib/libc/syscalls/sysopen.c
new file mode 100644
index 00000000000..6b3836f246e
--- /dev/null
+++ b/newlib/libc/syscalls/sysopen.c
@@ -0,0 +1,43 @@
+/* connector for open */
+
+#include <reent.h>
+#include <fcntl.h>
+
+#ifdef _HAVE_STDC
+
+/* The prototype in <fcntl.h> uses ..., so we must correspond. */
+
+#include <stdarg.h>
+
+int
+open (const char *file, int flags, ...)
+{
+ va_list ap;
+ int ret;
+
+ va_start (ap, flags);
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ ret = _open_r (_REENT, file, flags, va_arg (ap, int));
+#else
+ ret = _open (file, flags, va_arg (ap, int));
+#endif
+ va_end (ap);
+ return ret;
+}
+
+#else /* ! _HAVE_STDC */
+
+int
+open (file, flags, mode)
+ const char *file;
+ int flags;
+ int mode;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _open_r (_REENT, file, flags, mode);
+#else
+ return _open (file, flags, mode);
+#endif
+}
+
+#endif /* ! _HAVE_STDC */
diff --git a/newlib/libc/syscalls/sysread.c b/newlib/libc/syscalls/sysread.c
new file mode 100644
index 00000000000..821a91a075e
--- /dev/null
+++ b/newlib/libc/syscalls/sysread.c
@@ -0,0 +1,17 @@
+/* connector for read */
+
+#include <reent.h>
+#include <unistd.h>
+
+int
+read (fd, buf, cnt)
+ int fd;
+ void *buf;
+ size_t cnt;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _read_r (_REENT, fd, buf, cnt);
+#else
+ return _read (fd, buf, cnt);
+#endif
+}
diff --git a/newlib/libc/syscalls/syssbrk.c b/newlib/libc/syscalls/syssbrk.c
new file mode 100644
index 00000000000..cee7ee13ed6
--- /dev/null
+++ b/newlib/libc/syscalls/syssbrk.c
@@ -0,0 +1,18 @@
+/* connector for sbrk */
+
+#include <reent.h>
+#include <unistd.h>
+
+extern void *_sbrk_r (struct _reent *, size_t);
+extern void *_sbrk (size_t);
+
+void *
+sbrk (incr)
+ size_t incr;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _sbrk_r (_REENT, incr);
+#else
+ return _sbrk (incr);
+#endif
+}
diff --git a/newlib/libc/syscalls/sysstat.c b/newlib/libc/syscalls/sysstat.c
new file mode 100644
index 00000000000..39a506169e8
--- /dev/null
+++ b/newlib/libc/syscalls/sysstat.c
@@ -0,0 +1,16 @@
+/* connector for stat */
+
+#include <reent.h>
+#include <unistd.h>
+
+int
+stat (file, pstat)
+ char *file;
+ struct stat *pstat;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _stat_r (_REENT, file, pstat);
+#else
+ return _stat (file, pstat);
+#endif
+}
diff --git a/newlib/libc/syscalls/systimes.c b/newlib/libc/syscalls/systimes.c
new file mode 100644
index 00000000000..f74d6fa15bc
--- /dev/null
+++ b/newlib/libc/syscalls/systimes.c
@@ -0,0 +1,15 @@
+/* connector for times */
+
+#include <reent.h>
+#include <sys/times.h>
+
+clock_t
+times (buf)
+ struct tms *buf;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _times_r (_REENT, buf);
+#else
+ return _times (buf);
+#endif
+}
diff --git a/newlib/libc/syscalls/sysunlink.c b/newlib/libc/syscalls/sysunlink.c
new file mode 100644
index 00000000000..a910f96c265
--- /dev/null
+++ b/newlib/libc/syscalls/sysunlink.c
@@ -0,0 +1,14 @@
+/* connector for unlink */
+
+#include <reent.h>
+
+int
+unlink (file)
+ char *file;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _unlink_r (_REENT, file);
+#else
+ return _unlink (file);
+#endif
+}
diff --git a/newlib/libc/syscalls/syswait.c b/newlib/libc/syscalls/syswait.c
new file mode 100644
index 00000000000..86544fa0bec
--- /dev/null
+++ b/newlib/libc/syscalls/syswait.c
@@ -0,0 +1,14 @@
+/* connector for wait */
+
+#include <reent.h>
+
+int
+wait (status)
+ int *status;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _wait_r (_REENT, status);
+#else
+ return _wait (status);
+#endif
+}
diff --git a/newlib/libc/syscalls/syswrite.c b/newlib/libc/syscalls/syswrite.c
new file mode 100644
index 00000000000..e73028ea723
--- /dev/null
+++ b/newlib/libc/syscalls/syswrite.c
@@ -0,0 +1,17 @@
+/* connector for write */
+
+#include <reent.h>
+#include <unistd.h>
+
+int
+write (fd, buf, cnt)
+ int fd;
+ const void *buf;
+ size_t cnt;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _write_r (_REENT, fd, buf, cnt);
+#else
+ return _write (fd, buf, cnt);
+#endif
+}
diff --git a/newlib/libc/time/Makefile.am b/newlib/libc/time/Makefile.am
new file mode 100644
index 00000000000..6909bf9cd3f
--- /dev/null
+++ b/newlib/libc/time/Makefile.am
@@ -0,0 +1,48 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ asctime.c \
+ asctime_r.c \
+ clock.c \
+ ctime.c \
+ ctime_r.c \
+ difftime.c \
+ gmtime.c \
+ gmtime_r.c \
+ lcltime.c \
+ lcltime_r.c \
+ mktime.c \
+ strftime.c \
+ time.c
+
+CHEWOUT_FILES = \
+ asctime.def \
+ clock.def \
+ ctime.def \
+ difftime.def \
+ gmtime.def \
+ lcltime.def \
+ mktime.def \
+ strftime.def \
+ time.def
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+TARGETDOC = ../tmp.texi
+
+doc: $(CHEWOUT_FILES)
+ cat $(srcdir)/time.tex >> $(TARGETDOC)
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
diff --git a/newlib/libc/time/Makefile.in b/newlib/libc/time/Makefile.in
new file mode 100644
index 00000000000..6c553b1a355
--- /dev/null
+++ b/newlib/libc/time/Makefile.in
@@ -0,0 +1,323 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+CRT0 = @CRT0@
+EXEEXT = @EXEEXT@
+LIBC_MACHINE_LIB = @LIBC_MACHINE_LIB@
+LIBC_POSIX_LIB = @LIBC_POSIX_LIB@
+LIBC_SIGNAL_DEF = @LIBC_SIGNAL_DEF@
+LIBC_SIGNAL_LIB = @LIBC_SIGNAL_LIB@
+LIBC_SYSCALL_LIB = @LIBC_SYSCALL_LIB@
+LIBC_SYS_LIB = @LIBC_SYS_LIB@
+LIBC_UNIX_LIB = @LIBC_UNIX_LIB@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ asctime.c \
+ asctime_r.c \
+ clock.c \
+ ctime.c \
+ ctime_r.c \
+ difftime.c \
+ gmtime.c \
+ gmtime_r.c \
+ lcltime.c \
+ lcltime_r.c \
+ mktime.c \
+ strftime.c \
+ time.c
+
+
+CHEWOUT_FILES = \
+ asctime.def \
+ clock.def \
+ ctime.def \
+ difftime.def \
+ gmtime.def \
+ lcltime.def \
+ mktime.def \
+ strftime.def \
+ time.def
+
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+TARGETDOC = ../tmp.texi
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = asctime.o asctime_r.o clock.o ctime.o ctime_r.o \
+difftime.o gmtime.o gmtime_r.o lcltime.o lcltime_r.o mktime.o \
+strftime.o time.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .def .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus time/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = time
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am:
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-info-am:
+install-info: install-info-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am:
+uninstall: uninstall-am
+all-am: Makefile $(LIBRARIES)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-noinstLIBRARIES distclean-compile \
+ distclean-tags distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-info-am install-info \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+doc: $(CHEWOUT_FILES)
+ cat $(srcdir)/time.tex >> $(TARGETDOC)
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/time/asctime.c b/newlib/libc/time/asctime.c
new file mode 100644
index 00000000000..4ad35e80641
--- /dev/null
+++ b/newlib/libc/time/asctime.c
@@ -0,0 +1,64 @@
+/*
+ * asctime.c
+ * Original Author: G. Haley
+ *
+ * Converts the broken down time in the structure pointed to by tim_p into a
+ * string of the form
+ *
+ * Wed Jun 15 11:38:07 1988\n\0
+ *
+ * Returns a pointer to the string.
+ */
+
+/*
+FUNCTION
+<<asctime>>---format time as string
+
+INDEX
+ asctime
+INDEX
+ _asctime_r
+
+ANSI_SYNOPSIS
+ #include <time.h>
+ char *asctime(const struct tm *<[clock]>);
+ char *asctime_r(const struct tm *<[clock]>, char *<[buf]>);
+
+TRAD_SYNOPSIS
+ #include <time.h>
+ char *asctime(<[clock]>)
+ struct tm *<[clock]>;
+ char *asctime_r(<[clock]>)
+ struct tm *<[clock]>;
+ char *<[buf]>;
+
+DESCRIPTION
+Format the time value at <[clock]> into a string of the form
+. Wed Jun 15 11:38:07 1988\n\0
+The string is generated in a static buffer; each call to <<asctime>>
+overwrites the string generated by previous calls.
+
+RETURNS
+A pointer to the string containing a formatted timestamp.
+
+PORTABILITY
+ANSI C requires <<asctime>>.
+
+<<asctime>> requires no supporting OS subroutines.
+*/
+
+#include <time.h>
+#include <_ansi.h>
+#include <reent.h>
+
+#ifndef _REENT_ONLY
+
+char *
+_DEFUN (asctime, (tim_p),
+ _CONST struct tm *tim_p)
+{
+ char *buf = _REENT->_new._reent._asctime_buf;
+ return asctime_r (tim_p, buf);
+}
+
+#endif
diff --git a/newlib/libc/time/asctime_r.c b/newlib/libc/time/asctime_r.c
new file mode 100644
index 00000000000..ff70ea41548
--- /dev/null
+++ b/newlib/libc/time/asctime_r.c
@@ -0,0 +1,27 @@
+/*
+ * asctime_r.c
+ */
+
+#include <stdio.h>
+#include <time.h>
+
+char *
+_DEFUN (asctime_r, (tim_p, result),
+ _CONST struct tm *tim_p _AND
+ char *result)
+{
+ static _CONST char day_name[7][3] = {
+ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
+ };
+ static _CONST char mon_name[12][3] = {
+ "Jan", "Feb", "Mar", "Apr", "May", "Jun",
+ "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
+ };
+
+ sprintf (result, "%.3s %.3s %.2d %.2d:%.2d:%.2d %d\n",
+ day_name[tim_p->tm_wday],
+ mon_name[tim_p->tm_mon],
+ tim_p->tm_mday, tim_p->tm_hour, tim_p->tm_min,
+ tim_p->tm_sec, 1900 + tim_p->tm_year);
+ return result;
+}
diff --git a/newlib/libc/time/clock.c b/newlib/libc/time/clock.c
new file mode 100644
index 00000000000..b15915d6acc
--- /dev/null
+++ b/newlib/libc/time/clock.c
@@ -0,0 +1,69 @@
+/* NetWare can not use this implementation of clock, since it does not
+ have times or any similar function. It provides its own version of
+ clock in clib.nlm. If we can not use clib.nlm, then we must write
+ clock in sys/netware. */
+
+#ifdef CLOCK_PROVIDED
+
+int _dummy_clock = 1;
+
+#else
+
+/*
+ * clock.c
+ * Original Author: G. Haley
+ *
+ * Determines the processor time used by the program since invocation. The time
+ * in seconds is the value returned divided by the value of the macro CLK_TCK.
+ * If the processor time used is not available, (clock_t) -1 is returned.
+ */
+
+/*
+FUNCTION
+<<clock>>---cumulative processor time
+
+INDEX
+ clock
+
+ANSI_SYNOPSIS
+ #include <time.h>
+ clock_t clock(void);
+
+TRAD_SYNOPSIS
+ #include <time.h>
+ clock_t clock();
+
+DESCRIPTION
+Calculates the best available approximation of the cumulative amount
+of time used by your program since it started. To convert the result
+into seconds, divide by the macro <<CLOCKS_PER_SEC>>.
+
+RETURNS
+The amount of processor time used so far by your program, in units
+defined by the machine-dependent macro <<CLOCKS_PER_SEC>>. If no
+measurement is available, the result is <<-1>>.
+
+PORTABILITY
+ANSI C requires <<clock>> and <<CLOCKS_PER_SEC>>.
+
+Supporting OS subroutine required: <<times>>.
+*/
+
+#include <time.h>
+#include <sys/times.h>
+#include <reent.h>
+
+clock_t
+clock ()
+{
+ struct tms tim_s;
+ clock_t res;
+
+ if ((res = (clock_t) _times_r (_REENT, &tim_s)) != -1)
+ res = (clock_t) (tim_s.tms_utime + tim_s.tms_stime +
+ tim_s.tms_cutime + tim_s.tms_cstime);
+
+ return res;
+}
+
+#endif /* CLOCK_PROVIDED */
diff --git a/newlib/libc/time/ctime.c b/newlib/libc/time/ctime.c
new file mode 100644
index 00000000000..e8ccc144a86
--- /dev/null
+++ b/newlib/libc/time/ctime.c
@@ -0,0 +1,52 @@
+/*
+ * ctime.c
+ * Original Author: G. Haley
+ */
+
+/*
+FUNCTION
+<<ctime>>---convert time to local and format as string
+
+INDEX
+ ctime
+
+ANSI_SYNOPSIS
+ #include <time.h>
+ char *ctime(time_t <[clock]>);
+ char *ctime_r(time_t <[clock]>, char *<[buf]>);
+
+TRAD_SYNOPSIS
+ #include <time.h>
+ char *ctime(<[clock]>)
+ time_t <[clock]>;
+ char *ctime_r(<[clock]>, <[buf]>)
+ time_t <[clock]>;
+ char *<[buf]>;
+
+DESCRIPTION
+Convert the time value at <[clock]> to local time (like <<localtime>>)
+and format it into a string of the form
+. Wed Jun 15 11:38:07 1988\n\0
+(like <<asctime>>).
+
+RETURNS
+A pointer to the string containing a formatted timestamp.
+
+PORTABILITY
+ANSI C requires <<ctime>>.
+
+<<ctime>> requires no supporting OS subroutines.
+*/
+
+#include <time.h>
+
+#ifndef _REENT_ONLY
+
+char *
+_DEFUN (ctime, (tim_p),
+ _CONST time_t * tim_p)
+{
+ return asctime (localtime (tim_p));
+}
+
+#endif
diff --git a/newlib/libc/time/ctime_r.c b/newlib/libc/time/ctime_r.c
new file mode 100644
index 00000000000..fda8cac1ea1
--- /dev/null
+++ b/newlib/libc/time/ctime_r.c
@@ -0,0 +1,15 @@
+/*
+ * ctime_r.c
+ */
+
+#include <time.h>
+
+char *
+_DEFUN (ctime_r, (tim_p, result),
+ _CONST time_t * tim_p _AND
+ char * result)
+
+{
+ struct tm tm;
+ return asctime_r (localtime_r (tim_p, &tm), result);
+}
diff --git a/newlib/libc/time/difftime.c b/newlib/libc/time/difftime.c
new file mode 100644
index 00000000000..93a4f00048d
--- /dev/null
+++ b/newlib/libc/time/difftime.c
@@ -0,0 +1,44 @@
+/*
+ * difftime.c
+ * Original Author: G. Haley
+ */
+
+/*
+FUNCTION
+<<difftime>>---subtract two times
+
+INDEX
+ difftime
+
+ANSI_SYNOPSIS
+ #include <time.h>
+ double difftime(time_t <[tim1]>, time_t <[tim2]>);
+
+TRAD_SYNOPSIS
+ #include <time.h>
+ double difftime(<[tim1]>, <[tim2]>)
+ time_t <[tim1]>;
+ time_t <[tim2]>;
+
+DESCRIPTION
+Subtracts the two times in the arguments: `<<<[tim1]> - <[tim2]>>>'.
+
+RETURNS
+The difference (in seconds) between <[tim2]> and <[tim1]>, as a <<double>>.
+
+PORTABILITY
+ANSI C requires <<difftime>>, and defines its result to be in seconds
+in all implementations.
+
+<<difftime>> requires no supporting OS subroutines.
+*/
+
+#include <time.h>
+
+double
+_DEFUN (difftime, (tim1, tim2),
+ time_t tim1 _AND
+ time_t tim2)
+{
+ return ((double) tim1 - tim2);
+}
diff --git a/newlib/libc/time/gmtime.c b/newlib/libc/time/gmtime.c
new file mode 100644
index 00000000000..4f5bbe40344
--- /dev/null
+++ b/newlib/libc/time/gmtime.c
@@ -0,0 +1,67 @@
+/*
+ * gmtime.c
+ * Original Author: G. Haley
+ *
+ * Converts the calendar time pointed to by tim_p into a broken-down time
+ * expressed as Greenwich Mean Time (GMT). Returns a pointer to a structure
+ * containing the broken-down time, or a null pointer if GMT is not
+ * available.
+ */
+
+/*
+FUNCTION
+<<gmtime>>---convert time to UTC traditional form
+
+INDEX
+ gmtime
+
+ANSI_SYNOPSIS
+ #include <time.h>
+ struct tm *gmtime(const time_t *<[clock]>);
+ struct tm *gmtime_r(const time_t *<[clock]>, struct tm *<[res]>);
+
+TRAD_SYNOPSIS
+ #include <time.h>
+ struct tm *gmtime(<[clock]>)
+ const time_t *<[clock]>;
+ struct tm *gmtime_r(<[clock]>, <[res]>)
+ const time_t *<[clock]>;
+ struct tm *<[res]>;
+
+DESCRIPTION
+<<gmtime>> assumes the time at <[clock]> represents a local time.
+<<gmtime>> converts it to UTC (Universal Coordinated Time, also known in some
+countries as GMT, Greenwich Mean time), then converts the
+representation from the arithmetic representation to
+the traditional representation defined by <<struct tm>>.
+
+<<gmtime>> constructs the traditional time representation in static
+storage; each call to <<gmtime>> or <<localtime>> will overwrite the
+information generated by previous calls to either function.
+
+RETURNS
+A pointer to the traditional time representation (<<struct tm>>).
+
+PORTABILITY
+ANSI C requires <<gmtime>>.
+
+<<gmtime>> requires no supporting OS subroutines.
+*/
+
+#include <stdlib.h>
+#include <time.h>
+
+#define _GMT_OFFSET 0
+
+#ifndef _REENT_ONLY
+
+struct tm *
+_DEFUN (gmtime, (tim_p),
+ _CONST time_t * tim_p)
+{
+ time_t tim = *tim_p + _GMT_OFFSET;
+
+ return (localtime (&tim));
+}
+
+#endif
diff --git a/newlib/libc/time/gmtime_r.c b/newlib/libc/time/gmtime_r.c
new file mode 100644
index 00000000000..7afa021c597
--- /dev/null
+++ b/newlib/libc/time/gmtime_r.c
@@ -0,0 +1,17 @@
+/*
+ * gmtime_r.c
+ */
+
+#include <time.h>
+
+#define _GMT_OFFSET 0
+
+struct tm *
+_DEFUN (gmtime_r, (tim_p, res),
+ _CONST time_t * tim_p _AND
+ struct tm *res)
+{
+ time_t tim = *tim_p + _GMT_OFFSET;
+
+ return (localtime_r (&tim, res));
+}
diff --git a/newlib/libc/time/lcltime.c b/newlib/libc/time/lcltime.c
new file mode 100644
index 00000000000..d4c7d7d6155
--- /dev/null
+++ b/newlib/libc/time/lcltime.c
@@ -0,0 +1,57 @@
+/*
+ * localtime.c
+ */
+
+/*
+FUNCTION
+<<localtime>>---convert time to local representation
+
+INDEX
+ localtime
+
+ANSI_SYNOPSIS
+ #include <time.h>
+ struct tm *localtime(time_t *<[clock]>);
+ struct tm *localtime_r(time_t *<[clock]>, struct tm *<[res]>);
+
+TRAD_SYNOPSIS
+ #include <time.h>
+ struct tm *localtime(<[clock]>)
+ time_t *<[clock]>;
+ struct tm *localtime(<[clock]>, <[res]>)
+ time_t *<[clock]>;
+ struct tm *<[res]>;
+
+DESCRIPTION
+<<localtime>> converts the time at <[clock]> into local time, then
+converts its representation from the arithmetic representation to the
+traditional representation defined by <<struct tm>>.
+
+<<localtime>> constructs the traditional time representation in static
+storage; each call to <<gmtime>> or <<localtime>> will overwrite the
+information generated by previous calls to either function.
+
+<<mktime>> is the inverse of <<localtime>>.
+
+RETURNS
+A pointer to the traditional time representation (<<struct tm>>).
+
+PORTABILITY
+ANSI C requires <<localtime>>.
+
+<<localtime>> requires no supporting OS subroutines.
+*/
+
+#include <time.h>
+#include <reent.h>
+
+#ifndef _REENT_ONLY
+
+struct tm *
+_DEFUN (localtime, (tim_p),
+ _CONST time_t * tim_p)
+{
+ return localtime_r (tim_p, &(_REENT->_new._reent._localtime_buf));
+}
+
+#endif
diff --git a/newlib/libc/time/lcltime_r.c b/newlib/libc/time/lcltime_r.c
new file mode 100644
index 00000000000..1b4269ee19f
--- /dev/null
+++ b/newlib/libc/time/lcltime_r.c
@@ -0,0 +1,104 @@
+/*
+ * localtime_r.c
+ * Original Author: Adapted from tzcode maintained by Arthur David Olson.
+ *
+ * Converts the calendar time pointed to by tim_p into a broken-down time
+ * expressed as local time. Returns a pointer to a structure containing the
+ * broken-down time.
+ */
+
+#include <stdlib.h>
+#include <time.h>
+
+#define SECSPERMIN 60L
+#define MINSPERHOUR 60L
+#define HOURSPERDAY 24L
+#define SECSPERHOUR (SECSPERMIN * MINSPERHOUR)
+#define SECSPERDAY (SECSPERHOUR * HOURSPERDAY)
+#define DAYSPERWEEK 7
+#define MONSPERYEAR 12
+
+#define YEAR_BASE 1900
+#define EPOCH_YEAR 1970
+#define EPOCH_WDAY 4
+
+#define isleap(y) ((((y) % 4) == 0 && ((y) % 100) != 0) || ((y) % 400) == 0)
+
+static _CONST int mon_lengths[2][MONSPERYEAR] = {
+ {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
+ {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
+} ;
+
+static _CONST int year_lengths[2] = {
+ 365,
+ 366
+} ;
+
+struct tm *
+_DEFUN (localtime_r, (tim_p, res),
+ _CONST time_t * tim_p _AND
+ struct tm *res)
+{
+ long days, rem;
+ int y;
+ int yleap;
+ _CONST int *ip;
+
+ days = ((long) *tim_p) / SECSPERDAY;
+ rem = ((long) *tim_p) % SECSPERDAY;
+ while (rem < 0)
+ {
+ rem += SECSPERDAY;
+ --days;
+ }
+ while (rem >= SECSPERDAY)
+ {
+ rem -= SECSPERDAY;
+ ++days;
+ }
+
+ /* compute hour, min, and sec */
+ res->tm_hour = (int) (rem / SECSPERHOUR);
+ rem %= SECSPERHOUR;
+ res->tm_min = (int) (rem / SECSPERMIN);
+ res->tm_sec = (int) (rem % SECSPERMIN);
+
+ /* compute day of week */
+ if ((res->tm_wday = ((EPOCH_WDAY + days) % DAYSPERWEEK)) < 0)
+ res->tm_wday += DAYSPERWEEK;
+
+ /* compute year & day of year */
+ y = EPOCH_YEAR;
+ if (days >= 0)
+ {
+ for (;;)
+ {
+ yleap = isleap(y);
+ if (days < year_lengths[yleap])
+ break;
+ y++;
+ days -= year_lengths[yleap];
+ }
+ }
+ else
+ {
+ do
+ {
+ --y;
+ yleap = isleap(y);
+ days += year_lengths[yleap];
+ } while (days < 0);
+ }
+
+ res->tm_year = y - YEAR_BASE;
+ res->tm_yday = days;
+ ip = mon_lengths[yleap];
+ for (res->tm_mon = 0; days >= ip[res->tm_mon]; ++res->tm_mon)
+ days -= ip[res->tm_mon];
+ res->tm_mday = days + 1;
+
+ /* set daylight saving time flag */
+ res->tm_isdst = -1;
+
+ return (res);
+}
diff --git a/newlib/libc/time/mktime.c b/newlib/libc/time/mktime.c
new file mode 100644
index 00000000000..431eca56816
--- /dev/null
+++ b/newlib/libc/time/mktime.c
@@ -0,0 +1,204 @@
+/*
+ * mktime.c
+ * Original Author: G. Haley
+ *
+ * Converts the broken-down time, expressed as local time, in the structure
+ * pointed to by tim_p into a calendar time value. The original values of the
+ * tm_wday and tm_yday fields of the structure are ignored, and the original
+ * values of the other fields have no restrictions. On successful completion
+ * the fields of the structure are set to represent the specified calendar
+ * time. Returns the specified calendar time. If the calendar time can not be
+ * represented, returns the value (time_t) -1.
+ */
+
+/*
+FUNCTION
+<<mktime>>---convert time to arithmetic representation
+
+INDEX
+ mktime
+
+ANSI_SYNOPSIS
+ #include <time.h>
+ time_t mktime(struct tm *<[timp]>);
+
+TRAD_SYNOPSIS
+ #include <time.h>
+ time_t mktime(<[timp]>)
+ struct tm *<[timp]>;
+
+DESCRIPTION
+<<mktime>> assumes the time at <[timp]> is a local time, and converts
+its representation from the traditional representation defined by
+<<struct tm>> into a representation suitable for arithmetic.
+
+<<localtime>> is the inverse of <<mktime>>.
+
+RETURNS
+If the contents of the structure at <[timp]> do not form a valid
+calendar time representation, the result is <<-1>>. Otherwise, the
+result is the time, converted to a <<time_t>> value.
+
+PORTABILITY
+ANSI C requires <<mktime>>.
+
+<<mktime>> requires no supporting OS subroutines.
+*/
+
+#include <stdlib.h>
+#include <time.h>
+
+#define _SEC_IN_MINUTE 60
+#define _SEC_IN_HOUR 3600
+#define _SEC_IN_DAY 86400
+
+static _CONST int DAYS_IN_MONTH[12] =
+{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
+
+#define _DAYS_IN_MONTH(x) ((x == 1) ? days_in_feb : DAYS_IN_MONTH[x])
+
+static _CONST int _DAYS_BEFORE_MONTH[12] =
+{0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334};
+
+#define _ISLEAP(y) (((y) % 4) == 0 && (((y) % 100) != 0 || (((y)+1900) % 400) == 0))
+#define _DAYS_IN_YEAR(year) (_ISLEAP(year) ? 366 : 365)
+
+static void
+validate_structure (tim_p)
+ struct tm *tim_p;
+{
+ div_t res;
+ int days_in_feb = 28;
+
+ /* calculate time & date to account for out of range values */
+ if (tim_p->tm_sec < 0 || tim_p->tm_sec > 59)
+ {
+ res = div (tim_p->tm_sec, 60);
+ tim_p->tm_min += res.quot;
+ if ((tim_p->tm_sec = res.rem) < 0)
+ {
+ tim_p->tm_sec += 60;
+ --tim_p->tm_min;
+ }
+ }
+
+ if (tim_p->tm_min < 0 || tim_p->tm_min > 59)
+ {
+ res = div (tim_p->tm_min, 60);
+ tim_p->tm_hour += res.quot;
+ if ((tim_p->tm_min = res.rem) < 0)
+ {
+ tim_p->tm_min += 60;
+ --tim_p->tm_hour;
+ }
+ }
+
+ if (tim_p->tm_hour < 0 || tim_p->tm_hour > 23)
+ {
+ res = div (tim_p->tm_hour, 24);
+ tim_p->tm_mday += res.quot;
+ if ((tim_p->tm_hour = res.rem) < 0)
+ {
+ tim_p->tm_hour += 24;
+ --tim_p->tm_mday;
+ }
+ }
+
+ if (tim_p->tm_mon > 11)
+ {
+ res = div (tim_p->tm_mon, 12);
+ tim_p->tm_year += res.quot;
+ if ((tim_p->tm_mon = res.rem) < 0)
+ {
+ tim_p->tm_mon += 12;
+ --tim_p->tm_year;
+ }
+ }
+
+ if (_DAYS_IN_YEAR (tim_p->tm_year) == 366)
+ days_in_feb = 29;
+
+ if (tim_p->tm_mday <= 0)
+ {
+ while (tim_p->tm_mday <= 0)
+ {
+ if (--tim_p->tm_mon == -1)
+ {
+ tim_p->tm_year--;
+ tim_p->tm_mon = 11;
+ days_in_feb =
+ ((_DAYS_IN_YEAR (tim_p->tm_year) == 366) ?
+ 29 : 28);
+ }
+ tim_p->tm_mday += _DAYS_IN_MONTH (tim_p->tm_mon);
+ }
+ }
+ else
+ {
+ while (tim_p->tm_mday > _DAYS_IN_MONTH (tim_p->tm_mon))
+ {
+ tim_p->tm_mday -= _DAYS_IN_MONTH (tim_p->tm_mon);
+ if (++tim_p->tm_mon == 12)
+ {
+ tim_p->tm_year++;
+ tim_p->tm_mon = 0;
+ days_in_feb =
+ ((_DAYS_IN_YEAR (tim_p->tm_year) == 366) ?
+ 29 : 28);
+ }
+ }
+ }
+}
+
+time_t
+mktime (tim_p)
+ struct tm *tim_p;
+{
+ time_t tim = 0;
+ long days = 0;
+ int year;
+
+ /* validate structure */
+ validate_structure (tim_p);
+
+ /* compute hours, minutes, seconds */
+ tim += tim_p->tm_sec + (tim_p->tm_min * _SEC_IN_MINUTE) +
+ (tim_p->tm_hour * _SEC_IN_HOUR);
+
+ /* compute days in year */
+ days += tim_p->tm_mday - 1;
+ days += _DAYS_BEFORE_MONTH[tim_p->tm_mon];
+ if (tim_p->tm_mon > 1 && _DAYS_IN_YEAR (tim_p->tm_year) == 366)
+ days++;
+
+ /* compute day of the year */
+ tim_p->tm_yday = days;
+
+ if (tim_p->tm_year > 10000
+ || tim_p->tm_year < -10000)
+ {
+ return (time_t) -1;
+ }
+
+ /* compute days in other years */
+ if (tim_p->tm_year > 70)
+ {
+ for (year = 70; year < tim_p->tm_year; year++)
+ days += _DAYS_IN_YEAR (year);
+ }
+ else if (tim_p->tm_year < 70)
+ {
+ for (year = 69; year > tim_p->tm_year; year--)
+ days -= _DAYS_IN_YEAR (year);
+ days -= _DAYS_IN_YEAR (year);
+ }
+
+ /* compute day of the week */
+ if ((tim_p->tm_wday = (days + 4) % 7) < 0)
+ tim_p->tm_wday += 7;
+
+ /* compute total seconds */
+ tim += (days * _SEC_IN_DAY);
+
+ return tim;
+}
diff --git a/newlib/libc/time/strftime.c b/newlib/libc/time/strftime.c
new file mode 100644
index 00000000000..1e6154f127f
--- /dev/null
+++ b/newlib/libc/time/strftime.c
@@ -0,0 +1,444 @@
+/*
+ * strftime.c
+ * Original Author: G. Haley
+ *
+ * Places characters into the array pointed to by s as controlled by the string
+ * pointed to by format. If the total number of resulting characters including
+ * the terminating null character is not more than maxsize, returns the number
+ * of characters placed into the array pointed to by s (not including the
+ * terminating null character); otherwise zero is returned and the contents of
+ * the array indeterminate.
+ */
+
+/*
+FUNCTION
+<<strftime>>---flexible calendar time formatter
+
+INDEX
+ strftime
+
+ANSI_SYNOPSIS
+ #include <time.h>
+ size_t strftime(char *<[s]>, size_t <[maxsize]>,
+ const char *<[format]>, const struct tm *<[timp]>);
+
+TRAD_SYNOPSIS
+ #include <time.h>
+ size_t strftime(<[s]>, <[maxsize]>, <[format]>, <[timp]>)
+ char *<[s]>;
+ size_t <[maxsize]>;
+ char *<[format]>;
+ struct tm *<[timp]>;
+
+DESCRIPTION
+<<strftime>> converts a <<struct tm>> representation of the time (at
+<[timp]>) into a string, starting at <[s]> and occupying no more than
+<[maxsize]> characters.
+
+You control the format of the output using the string at <[format]>.
+<<*<[format]>>> can contain two kinds of specifications: text to be
+copied literally into the formatted string, and time conversion
+specifications. Time conversion specifications are two-character
+sequences beginning with `<<%>>' (use `<<%%>>' to include a percent
+sign in the output). Each defined conversion specification selects a
+field of calendar time data from <<*<[timp]>>>, and converts it to a
+string in one of the following ways:
+
+o+
+o %a
+An abbreviation for the day of the week.
+
+o %A
+The full name for the day of the week.
+
+o %b
+An abbreviation for the month name.
+
+o %B
+The full name of the month.
+
+o %c
+A string representing the complete date and time, in the form
+. Mon Apr 01 13:13:13 1992
+
+o %d
+The day of the month, formatted with two digits.
+
+o %H
+The hour (on a 24-hour clock), formatted with two digits.
+
+o %I
+The hour (on a 12-hour clock), formatted with two digits.
+
+o %j
+The count of days in the year, formatted with three digits
+(from `<<001>>' to `<<366>>').
+
+o %m
+The month number, formatted with two digits.
+
+o %M
+The minute, formatted with two digits.
+
+o %p
+Either `<<AM>>' or `<<PM>>' as appropriate.
+
+o %S
+The second, formatted with two digits.
+
+o %U
+The week number, formatted with two digits (from `<<00>>' to `<<53>>';
+week number 1 is taken as beginning with the first Sunday in a year).
+See also <<%W>>.
+
+o %w
+A single digit representing the day of the week: Sunday is day <<0>>.
+
+o %W
+Another version of the week number: like `<<%U>>', but counting week 1
+as beginning with the first Monday in a year.
+
+o
+o %x
+A string representing the complete date, in a format like
+. Mon Apr 01 1992
+
+o %X
+A string representing the full time of day (hours, minutes, and
+seconds), in a format like
+. 13:13:13
+
+o %y
+The last two digits of the year.
+
+o %Y
+The full year, formatted with four digits to include the century.
+
+o %Z
+Defined by ANSI C as eliciting the time zone if available; it is not
+available in this implementation (which accepts `<<%Z>>' but generates
+no output for it).
+
+o %%
+A single character, `<<%>>'.
+o-
+
+RETURNS
+When the formatted time takes up no more than <[maxsize]> characters,
+the result is the length of the formatted string. Otherwise, if the
+formatting operation was abandoned due to lack of room, the result is
+<<0>>, and the string starting at <[s]> corresponds to just those
+parts of <<*<[format]>>> that could be completely filled in within the
+<[maxsize]> limit.
+
+PORTABILITY
+ANSI C requires <<strftime>>, but does not specify the contents of
+<<*<[s]>>> when the formatted string would require more than
+<[maxsize]> characters.
+
+<<strftime>> requires no supporting OS subroutines.
+*/
+
+#include <stddef.h>
+#include <stdio.h>
+#include <time.h>
+
+static _CONST int dname_len[7] =
+{6, 6, 7, 9, 8, 6, 8};
+
+static _CONST char *_CONST dname[7] =
+{"Sunday", "Monday", "Tuesday", "Wednesday",
+ "Thursday", "Friday", "Saturday"};
+
+static _CONST int mname_len[12] =
+{7, 8, 5, 5, 3, 4, 4, 6, 9, 7, 8, 8};
+
+static _CONST char *_CONST mname[12] =
+{"January", "February", "March", "April",
+ "May", "June", "July", "August", "September", "October", "November",
+ "December"};
+
+size_t
+_DEFUN (strftime, (s, maxsize, format, tim_p),
+ char *s _AND
+ size_t maxsize _AND
+ _CONST char *format _AND
+ _CONST struct tm *tim_p)
+{
+ size_t count = 0;
+ int i;
+
+ for (;;)
+ {
+ while (*format && *format != '%')
+ {
+ if (count < maxsize - 1)
+ s[count++] = *format++;
+ else
+ return 0;
+ }
+
+ if (*format == '\0')
+ break;
+
+ format++;
+ switch (*format)
+ {
+ case 'a':
+ for (i = 0; i < 3; i++)
+ {
+ if (count < maxsize - 1)
+ s[count++] =
+ dname[tim_p->tm_wday][i];
+ else
+ return 0;
+ }
+ break;
+ case 'A':
+ for (i = 0; i < dname_len[tim_p->tm_wday]; i++)
+ {
+ if (count < maxsize - 1)
+ s[count++] =
+ dname[tim_p->tm_wday][i];
+ else
+ return 0;
+ }
+ break;
+ case 'b':
+ for (i = 0; i < 3; i++)
+ {
+ if (count < maxsize - 1)
+ s[count++] =
+ mname[tim_p->tm_mon][i];
+ else
+ return 0;
+ }
+ break;
+ case 'B':
+ for (i = 0; i < mname_len[tim_p->tm_mon]; i++)
+ {
+ if (count < maxsize - 1)
+ s[count++] =
+ mname[tim_p->tm_mon][i];
+ else
+ return 0;
+ }
+ break;
+ case 'c':
+ if (count < maxsize - 24)
+ {
+ for (i = 0; i < 3; i++)
+ s[count++] =
+ dname[tim_p->tm_wday][i];
+ s[count++] = ' ';
+ for (i = 0; i < 3; i++)
+ s[count++] =
+ mname[tim_p->tm_mon][i];
+
+ sprintf (&s[count],
+ " %.2d %2.2d:%2.2d:%2.2d %.4d",
+ tim_p->tm_mday, tim_p->tm_hour,
+ tim_p->tm_min,
+ tim_p->tm_sec, 1900 +
+ tim_p->tm_year);
+ count += 17;
+ }
+ else
+ return 0;
+ break;
+ case 'd':
+ if (count < maxsize - 2)
+ {
+ sprintf (&s[count], "%.2d",
+ tim_p->tm_mday);
+ count += 2;
+ }
+ else
+ return 0;
+ break;
+ case 'H':
+ if (count < maxsize - 2)
+ {
+ sprintf (&s[count], "%2.2d",
+ tim_p->tm_hour);
+ count += 2;
+ }
+ else
+ return 0;
+ break;
+ case 'I':
+ if (count < maxsize - 2)
+ {
+ if (tim_p->tm_hour == 0 ||
+ tim_p->tm_hour == 12)
+ {
+ s[count++] = '1';
+ s[count++] = '2';
+ }
+ else
+ {
+ sprintf (&s[count], "%.2d",
+ tim_p->tm_hour % 12);
+ count += 2;
+ }
+ }
+ else
+ return 0;
+ break;
+ case 'j':
+ if (count < maxsize - 3)
+ {
+ sprintf (&s[count], "%.3d",
+ tim_p->tm_yday + 1);
+ count += 3;
+ }
+ else
+ return 0;
+ break;
+ case 'm':
+ if (count < maxsize - 2)
+ {
+ sprintf (&s[count], "%.2d",
+ tim_p->tm_mon + 1);
+ count += 2;
+ }
+ else
+ return 0;
+ break;
+ case 'M':
+ if (count < maxsize - 2)
+ {
+ sprintf (&s[count], "%2.2d",
+ tim_p->tm_min);
+ count += 2;
+ }
+ else
+ return 0;
+ break;
+ case 'p':
+ if (count < maxsize - 2)
+ {
+ if (tim_p->tm_hour < 12)
+ s[count++] = 'A';
+ else
+ s[count++] = 'P';
+
+ s[count++] = 'M';
+ }
+ else
+ return 0;
+ break;
+ case 'S':
+ if (count < maxsize - 2)
+ {
+ sprintf (&s[count], "%2.2d",
+ tim_p->tm_sec);
+ count += 2;
+ }
+ else
+ return 0;
+ break;
+ case 'U':
+ if (count < maxsize - 2)
+ {
+ sprintf (&s[count], "%2.2d",
+ (tim_p->tm_yday + 7 -
+ tim_p->tm_wday) / 7);
+ count += 2;
+ }
+ else
+ return 0;
+ break;
+ case 'w':
+ if (count < maxsize - 1)
+ {
+ sprintf (&s[count], "%1.1d",
+ tim_p->tm_wday);
+ count++;
+ }
+ else
+ return 0;
+ break;
+ case 'W':
+ if (count < maxsize - 2)
+ {
+ sprintf (&s[count], "%2.2d",
+ (tim_p->tm_yday + ((8 -
+ tim_p->tm_wday) % 7)) / 7);
+ count += 2;
+ }
+ else
+ return 0;
+ break;
+ case 'x':
+ if (count < maxsize - 15)
+ {
+ for (i = 0; i < 3; i++)
+ s[count++] =
+ dname[tim_p->tm_wday][i];
+ s[count++] = ' ';
+ for (i = 0; i < 3; i++)
+ s[count++] =
+ mname[tim_p->tm_mon][i];
+
+ sprintf (&s[count],
+ " %.2d %.4d", tim_p->tm_mday,
+ 1900 + tim_p->tm_year);
+ count += 8;
+ }
+ else
+ return 0;
+ break;
+ case 'X':
+ if (count < maxsize - 8)
+ {
+ sprintf (&s[count],
+ "%2.2d:%2.2d:%2.2d",
+ tim_p->tm_hour, tim_p->tm_min,
+ tim_p->tm_sec);
+ count += 8;
+ }
+ else
+ return 0;
+ break;
+ case 'y':
+ if (count < maxsize - 2)
+ {
+ /* The year could be greater than 100, so we need the value
+ modulo 100. The year could be negative, so we need to
+ correct for a possible negative remainder. */
+ sprintf (&s[count], "%2.2d",
+ (tim_p->tm_year % 100 + 100) % 100);
+ count += 2;
+ }
+ else
+ return 0;
+ break;
+ case 'Y':
+ if (count < maxsize - 4)
+ {
+ sprintf (&s[count], "%.4d",
+ 1900 + tim_p->tm_year);
+ count += 4;
+ }
+ else
+ return 0;
+ break;
+ case 'Z':
+ break;
+ case '%':
+ if (count < maxsize - 1)
+ s[count++] = '%';
+ else
+ return 0;
+ break;
+ }
+ if (*format)
+ format++;
+ else
+ break;
+ }
+ s[count] = '\0';
+
+ return count;
+}
diff --git a/newlib/libc/time/time.c b/newlib/libc/time/time.c
new file mode 100644
index 00000000000..38cce50f982
--- /dev/null
+++ b/newlib/libc/time/time.c
@@ -0,0 +1,59 @@
+/* FIXME: doc says "not avail" due to #if 0.
+ DELETE that line if inappropriate! */
+/*
+FUNCTION
+<<time>>---get current calendar time (as single number)
+
+INDEX
+ time
+
+ANSI_SYNOPSIS
+ #include <time.h>
+ time_t time(time_t *<[t]>);
+
+TRAD_SYNOPSIS
+ #include <time.h>
+ time_t time(<[t]>)
+ time_t *<[t]>;
+
+DESCRIPTION
+<<time>> looks up the best available representation of the current
+time and returns it, encoded as a <<time_t>>. It stores the same
+value at <[t]> unless the argument is <<NULL>>.
+
+RETURNS
+A <<-1>> result means the current time is not available; otherwise the
+result represents the current time.
+
+PORTABILITY
+ANSI C requires <<time>>.
+
+Supporting OS subroutine required: Some implementations require
+<<gettimeofday>>.
+*/
+
+#ifdef HAVE_GETTIMEOFDAY
+
+/* Most times we have a system call in newlib/libc/sys/.. to do this job */
+
+#include <_ansi.h>
+#include <reent.h>
+#include <sys/types.h>
+#include <sys/time.h>
+
+time_t
+_DEFUN (time, (t),
+ time_t * t)
+{
+ struct timeval now;
+
+ if (_gettimeofday_r (_REENT, &now, (struct timezone *) 0) >= 0)
+ {
+ if (t)
+ *t = now.tv_sec;
+ return now.tv_sec;
+ }
+ return -1;
+}
+
+#endif
diff --git a/newlib/libc/time/time.tex b/newlib/libc/time/time.tex
new file mode 100644
index 00000000000..3d6dabb59ea
--- /dev/null
+++ b/newlib/libc/time/time.tex
@@ -0,0 +1,86 @@
+@node Timefns
+@chapter Time Functions (@file{time.h})
+
+This chapter groups functions used either for reporting on time
+(elapsed, current, or compute time) or to perform calculations based
+on time.
+
+The header file @file{time.h} defines three types. @code{clock_t} and
+@code{time_t} are both used for representations of time particularly
+suitable for arithmetic. (In this implementation, quantities of type
+@code{clock_t} have the highest resolution possible on your machine,
+and quantities of type @code{time_t} resolve to seconds.) @code{size_t}
+is also defined if necessary for quantities representing sizes.
+
+@file{time.h} also defines the structure @code{tm} for the traditional
+representation of Gregorian calendar time as a series of numbers, with
+the following fields:
+
+@table @code
+@item tm_sec
+Seconds.
+
+@item tm_min
+Minutes.
+
+@item tm_hour
+Hours.
+
+@item tm_mday
+Day.
+
+@item tm_mon
+Month.
+
+@item tm_year
+Year (since 1900).
+
+@item tm_wday
+Day of week: the number of days since Sunday.
+
+@item tm_yday
+Number of days elapsed since last January 1.
+
+@item tm_isdst
+Daylight Savings Time flag: positive means DST in effect, zero means DST
+not in effect, negative means no information about DST is available.
+@end table
+
+@menu
+* asctime:: Format time as string
+* clock:: Cumulative processor time
+* ctime:: Convert time to local and format as string
+* difftime:: Subtract two times
+* gmtime:: Convert time to UTC (GMT) traditional representation
+* localtime:: Convert time to local representation
+* mktime:: Convert time to arithmetic representation
+* strftime:: Flexible calendar time formatter
+* time:: Get current calendar time (as single number)
+@end menu
+
+@page
+@include time/asctime.def
+
+@page
+@include time/clock.def
+
+@page
+@include time/ctime.def
+
+@page
+@include time/difftime.def
+
+@page
+@include time/gmtime.def
+
+@page
+@include time/lcltime.def
+
+@page
+@include time/mktime.def
+
+@page
+@include time/strftime.def
+
+@page
+@include time/time.def
diff --git a/newlib/libc/unix/Makefile.am b/newlib/libc/unix/Makefile.am
new file mode 100644
index 00000000000..ae8e92f9599
--- /dev/null
+++ b/newlib/libc/unix/Makefile.am
@@ -0,0 +1,27 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ getpass.c sigset.c getpwent.c ttyname.c getut.c getlogin.c getcwd.c
+
+CHEWOUT_FILES =
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+TARGETDOC = ../tmp.texi
+
+# No doc for unix.
+doc:
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
diff --git a/newlib/libc/unix/Makefile.in b/newlib/libc/unix/Makefile.in
new file mode 100644
index 00000000000..90a226360d1
--- /dev/null
+++ b/newlib/libc/unix/Makefile.in
@@ -0,0 +1,300 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+CRT0 = @CRT0@
+EXEEXT = @EXEEXT@
+LIBC_MACHINE_LIB = @LIBC_MACHINE_LIB@
+LIBC_POSIX_LIB = @LIBC_POSIX_LIB@
+LIBC_SIGNAL_DEF = @LIBC_SIGNAL_DEF@
+LIBC_SIGNAL_LIB = @LIBC_SIGNAL_LIB@
+LIBC_SYSCALL_LIB = @LIBC_SYSCALL_LIB@
+LIBC_SYS_LIB = @LIBC_SYS_LIB@
+LIBC_UNIX_LIB = @LIBC_UNIX_LIB@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ getpass.c sigset.c getpwent.c ttyname.c getut.c getlogin.c getcwd.c
+
+
+CHEWOUT_FILES =
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+TARGETDOC = ../tmp.texi
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = getpass.o sigset.o getpwent.o ttyname.o getut.o \
+getlogin.o getcwd.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .def .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus unix/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = unix
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am:
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-info-am:
+install-info: install-info-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am:
+uninstall: uninstall-am
+all-am: Makefile $(LIBRARIES)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-noinstLIBRARIES distclean-compile \
+ distclean-tags distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-info-am install-info \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+# No doc for unix.
+doc:
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/unix/getcwd.c b/newlib/libc/unix/getcwd.c
new file mode 100644
index 00000000000..ee53536ed4f
--- /dev/null
+++ b/newlib/libc/unix/getcwd.c
@@ -0,0 +1,265 @@
+/*
+ * Copyright (c) 1989, 1991 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)getcwd.c 5.11 (Berkeley) 2/24/91";
+#endif /* LIBC_SCCS and not lint */
+
+#include <sys/stat.h>
+#include <errno.h>
+#include <dirent.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <reent.h>
+#include <_syslist.h>
+
+#define bcopy(a,b,c) memmove (b,a,c)
+
+#define ISDOT(dp) \
+ (dp->d_name[0] == '.' && (dp->d_name[1] == '\0' || \
+ dp->d_name[1] == '.' && dp->d_name[2] == '\0'))
+
+#ifndef _REENT_ONLY
+
+char *
+getcwd (pt, size)
+ char *pt;
+ size_t size;
+{
+ register struct dirent *dp;
+ register DIR *dir;
+ register dev_t dev;
+ register ino_t ino;
+ register int first;
+ register char *bpt, *bup;
+ struct stat s;
+ dev_t root_dev;
+ ino_t root_ino;
+ size_t ptsize, upsize;
+ int save_errno;
+ char *ept, *eup, *up;
+
+ /*
+ * If no buffer specified by the user, allocate one as necessary.
+ * If a buffer is specified, the size has to be non-zero. The path
+ * is built from the end of the buffer backwards.
+ */
+
+ if (pt)
+ {
+ ptsize = 0;
+ if (!size)
+ {
+ errno = EINVAL;
+ return (char *) NULL;
+ }
+ ept = pt + size;
+ }
+ else
+ {
+ if (!(pt = (char *) malloc (ptsize = 1024 - 4)))
+ {
+ return (char *) NULL;
+ }
+ ept = pt + ptsize;
+ }
+ bpt = ept - 1;
+ *bpt = '\0';
+
+ /*
+ * Allocate bytes (1024 - malloc space) for the string of "../"'s.
+ * Should always be enough (it's 340 levels). If it's not, allocate
+ * as necessary. Special * case the first stat, it's ".", not "..".
+ */
+
+ if (!(up = (char *) malloc (upsize = 1024 - 4)))
+ {
+ goto err;
+ }
+ eup = up + MAXPATHLEN;
+ bup = up;
+ up[0] = '.';
+ up[1] = '\0';
+
+ /* Save root values, so know when to stop. */
+ if (stat ("/", &s))
+ goto err;
+ root_dev = s.st_dev;
+ root_ino = s.st_ino;
+
+ errno = 0; /* XXX readdir has no error return. */
+
+ for (first = 1;; first = 0)
+ {
+ /* Stat the current level. */
+ if (_stat (up, &s))
+ goto err;
+
+ /* Save current node values. */
+ ino = s.st_ino;
+ dev = s.st_dev;
+
+ /* Check for reaching root. */
+ if (root_dev == dev && root_ino == ino)
+ {
+ *--bpt = '/';
+ /*
+ * It's unclear that it's a requirement to copy the
+ * path to the beginning of the buffer, but it's always
+ * been that way and stuff would probably break.
+ */
+ (void) bcopy (bpt, pt, ept - bpt);
+ free (up);
+ return pt;
+ }
+
+ /*
+ * Build pointer to the parent directory, allocating memory
+ * as necessary. Max length is 3 for "../", the largest
+ * possible component name, plus a trailing NULL.
+ */
+
+ if (bup + 3 + MAXNAMLEN + 1 >= eup)
+ {
+ if (!(up = (char *) realloc (up, upsize *= 2)))
+ {
+ goto err;
+ }
+ bup = up;
+ eup = up + upsize;
+ }
+ *bup++ = '.';
+ *bup++ = '.';
+ *bup = '\0';
+
+ /* Open and stat parent directory. */
+ if (!(dir = _opendir (up)) || _fstat (__dirfd (dir), &s))
+ goto err;
+
+ /* Add trailing slash for next directory. */
+ *bup++ = '/';
+
+ /*
+ * If it's a mount point, have to stat each element because
+ * the inode number in the directory is for the entry in the
+ * parent directory, not the inode number of the mounted file.
+ */
+
+ save_errno = 0;
+ if (s.st_dev == dev)
+ {
+ for (;;)
+ {
+ if (!(dp = _readdir (dir)))
+ goto notfound;
+ if (dp->d_ino == ino)
+ break;
+ }
+ }
+ else
+ for (;;)
+ {
+ if (!(dp = _readdir (dir)))
+ goto notfound;
+ if (ISDOT (dp))
+ continue;
+ bcopy (dp->d_name, bup, strlen (dp->d_name) + 1);
+
+ /* Save the first error for later. */
+ if (stat (up, &s))
+ {
+ if (!save_errno)
+ save_errno = errno;
+ errno = 0;
+ continue;
+ }
+ if (s.st_dev == dev && s.st_ino == ino)
+ break;
+ }
+
+ /*
+ * Check for length of the current name, preceding slash,
+ * leading slash.
+ */
+
+ if (bpt - pt <= strlen (dp->d_name) + (first ? 1 : 2))
+ {
+ size_t len, off;
+
+ if (!ptsize)
+ {
+ errno = ERANGE;
+ goto err;
+ }
+ off = bpt - pt;
+ len = ept - bpt;
+ if (!(pt = (char *) realloc (pt, ptsize *= 2)))
+ {
+ goto err;
+ }
+ bpt = pt + off;
+ ept = pt + ptsize;
+ (void) bcopy (bpt, ept - len, len);
+ bpt = ept - len;
+ }
+ if (!first)
+ *--bpt = '/';
+ bpt -= strlen (dp->d_name);
+ bcopy (dp->d_name, bpt, strlen (dp->d_name));
+ (void) _closedir (dir);
+
+ /* Truncate any file name. */
+ *bup = '\0';
+ }
+
+notfound:
+ /*
+ * If readdir set errno, use it, not any saved error; otherwise,
+ * didn't find the current directory in its parent directory, set
+ * errno to ENOENT.
+ */
+
+ if (!errno)
+ errno = save_errno ? save_errno : ENOENT;
+ /* FALLTHROUGH */
+
+err:
+ if (ptsize)
+ free (pt);
+ free (up);
+ return (char *) NULL;
+}
+
+#endif /* _REENT_ONLY */
diff --git a/newlib/libc/unix/getlogin.c b/newlib/libc/unix/getlogin.c
new file mode 100644
index 00000000000..7c1f3104e1c
--- /dev/null
+++ b/newlib/libc/unix/getlogin.c
@@ -0,0 +1,40 @@
+#include <sys/types.h>
+#include <utmp.h>
+#include <fcntl.h>
+#include <_syslist.h>
+
+char *
+getlogin ()
+{
+ int utmp_fd;
+ struct utmp utmp_buf;
+ static char buf[10];
+ extern char *ttyname ();
+ char *tty;
+
+ if (((tty = ttyname (0)) == 0)
+ || ((tty = ttyname (1)) == 0)
+ || ((tty = ttyname (2)) == 0))
+ return 0;
+
+ if ((utmp_fd = _open (UTMP_FILE, O_RDONLY)) == -1)
+ return 0;
+
+ if (!strncmp (tty, "/dev/", 5))
+ tty += 5;
+
+ while (_read (utmp_fd, &utmp_buf, sizeof (utmp_buf)) == sizeof (utmp_buf))
+ {
+ if (!strncmp (tty, utmp_buf.ut_line, sizeof (utmp_buf.ut_line))
+ && utmp_buf.ut_type == USER_PROCESS)
+ {
+ _close (utmp_fd);
+ memset (buf, 0, sizeof (buf));
+ strncpy (buf, utmp_buf.ut_user, sizeof (utmp_buf.ut_user));
+ return buf;
+ }
+ }
+
+ _close (utmp_fd);
+ return 0;
+}
diff --git a/newlib/libc/unix/getpass.c b/newlib/libc/unix/getpass.c
new file mode 100644
index 00000000000..ff9e7e67dcb
--- /dev/null
+++ b/newlib/libc/unix/getpass.c
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 1988 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)getpass.c 5.9 (Berkeley) 5/6/91";
+#endif /* LIBC_SCCS and not lint */
+
+#include <stdio.h>
+#include <unistd.h>
+#include <pwd.h>
+#include <sys/termios.h>
+#include <sys/signal.h>
+#include <_syslist.h>
+
+char *
+getpass (prompt)
+ const char *prompt;
+{
+ struct termios term;
+ register int ch;
+ register char *p;
+ FILE *fp, *outfp;
+ long omask;
+ int echo;
+ static char buf[_PASSWORD_LEN + 1];
+
+ /*
+ * read and write to /dev/tty if possible; else read from
+ * stdin and write to stderr.
+ */
+
+ if ((outfp = fp = fopen ("/dev/tty", "w+")) == NULL)
+ {
+ outfp = stderr;
+ fp = stdin;
+ }
+ /*
+ * note - blocking signals isn't necessarily the
+ * right thing, but we leave it for now.
+ */
+ omask = sigblock (sigmask (SIGINT) | sigmask (SIGTSTP));
+ (void) tcgetattr (fileno (fp), &term);
+ if (echo = (term.c_lflag & ECHO))
+ {
+ term.c_lflag &= ~ECHO;
+ (void) tcsetattr (fileno (fp), TCSAFLUSH, &term);
+ }
+ (void) fputs (prompt, outfp);
+ rewind (outfp); /* implied flush */
+ for (p = buf; (ch = getc (fp)) != EOF && ch != '\n';)
+ if (p < buf + _PASSWORD_LEN)
+ *p++ = ch;
+ *p = '\0';
+ (void) _write (fileno (outfp), "\n", 1);
+ if (echo)
+ {
+ term.c_lflag |= ECHO;
+ tcsetattr (fileno (fp), TCSAFLUSH, &term);
+ }
+ (void) sigsetmask (omask);
+ if (fp != stdin)
+ (void) fclose (fp);
+ return buf;
+}
diff --git a/newlib/libc/unix/getpwent.c b/newlib/libc/unix/getpwent.c
new file mode 100644
index 00000000000..23a35f49bd3
--- /dev/null
+++ b/newlib/libc/unix/getpwent.c
@@ -0,0 +1,129 @@
+#include <stdio.h>
+#include <sys/types.h>
+#include <pwd.h>
+#include <errno.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <limits.h>
+
+static struct passwd pw_passwd; /* password structure */
+static FILE *passwd_fp;
+
+static char logname[8];
+static char password[1024];
+static char comment[1024];
+static char gecos[1024];
+static char dir[1024];
+static char shell[1024];
+
+struct passwd *
+getpwnam (name)
+ const char *name;
+{
+ FILE *fp;
+ int uid, gid;
+ char buf[1024];
+
+ if ((fp = fopen ("/etc/passwd", "r")) == NULL)
+ {
+ return NULL;
+ }
+
+ while (fgets (buf, sizeof (buf), fp))
+ {
+ sscanf (buf, "%[^:]:%[^:]:%d:%d:%[^:]:%[^:]:%s\n",
+ logname, password, &pw_passwd.pw_uid,
+ &pw_passwd.pw_gid, comment, gecos,
+ dir, shell);
+ pw_passwd.pw_name = logname;
+ pw_passwd.pw_passwd = password;
+ pw_passwd.pw_comment = comment;
+ pw_passwd.pw_gecos = gecos;
+ pw_passwd.pw_dir = dir;
+ pw_passwd.pw_shell = shell;
+
+ if (!strcmp (logname, name))
+ {
+ fclose (fp);
+ return &pw_passwd;
+ }
+ }
+ fclose (fp);
+ return NULL;
+}
+
+struct passwd *
+getpwuid (uid_t uid)
+{
+ FILE *fp;
+ char buf[1024];
+
+ if ((fp = fopen ("/etc/passwd", "r")) == NULL)
+ {
+ return NULL;
+ }
+
+ while (fgets (buf, sizeof (buf), fp))
+ {
+ sscanf (buf, "%[^:]:%[^:]:%d:%d:%[^:]:%[^:]:%s\n",
+ logname, password, &pw_passwd.pw_uid,
+ &pw_passwd.pw_gid, comment, gecos,
+ dir, shell);
+ pw_passwd.pw_name = logname;
+ pw_passwd.pw_passwd = password;
+ pw_passwd.pw_comment = comment;
+ pw_passwd.pw_gecos = gecos;
+ pw_passwd.pw_dir = dir;
+ pw_passwd.pw_shell = shell;
+
+ if (uid == pw_passwd.pw_uid)
+ {
+ fclose (fp);
+ return &pw_passwd;
+ }
+ }
+ fclose (fp);
+ return NULL;
+}
+
+struct passwd *
+getpwent ()
+{
+ char buf[1024];
+
+ if (passwd_fp == NULL)
+ return NULL;
+
+ if (fgets (buf, sizeof (buf), passwd_fp) == NULL)
+ return NULL;
+
+ sscanf (buf, "%[^:]:%[^:]:%d:%d:%[^:]:%[^:]:%s\n",
+ logname, password, &pw_passwd.pw_uid,
+ &pw_passwd.pw_gid, comment, gecos,
+ dir, shell);
+ pw_passwd.pw_name = logname;
+ pw_passwd.pw_passwd = password;
+ pw_passwd.pw_comment = comment;
+ pw_passwd.pw_gecos = gecos;
+ pw_passwd.pw_dir = dir;
+ pw_passwd.pw_shell = shell;
+
+ return &pw_passwd;
+}
+
+void
+setpwent ()
+{
+ if (passwd_fp != NULL)
+ fclose (passwd_fp);
+
+ passwd_fp = fopen ("/etc/passwd", "r");
+}
+
+void
+endpwent ()
+{
+ if (passwd_fp != NULL)
+ fclose (passwd_fp);
+}
diff --git a/newlib/libc/unix/getut.c b/newlib/libc/unix/getut.c
new file mode 100644
index 00000000000..d716b324c38
--- /dev/null
+++ b/newlib/libc/unix/getut.c
@@ -0,0 +1,85 @@
+#include <fcntl.h>
+#include <unistd.h>
+#include <utmp.h>
+#include <_syslist.h>
+
+static int utmp_fd = -2;
+static char *utmp_file = UTMP_FILE;
+
+static struct utmp utmp_data;
+
+void
+setutent ()
+{
+ if (utmp_fd == -2)
+ {
+ utmp_fd = _open (utmp_file, O_RDONLY);
+ }
+ _lseek (utmp_fd, 0, SEEK_SET);
+}
+
+void
+endutent ()
+{
+ _close (utmp_fd);
+ utmp_fd = -2;
+}
+
+void
+utmpname (char *file)
+{
+ extern char *strdup (char *);
+
+ utmp_file = strdup (file);
+}
+
+struct utmp *
+getutent ()
+{
+ if (utmp_fd == -2)
+ setutent ();
+ if (_read (utmp_fd, &utmp_data, sizeof (utmp_data)) < sizeof (utmp_data))
+ return 0;
+ return &utmp_data;
+}
+
+struct utmp *
+getutid (struct utmp *id)
+{
+ while (_read (utmp_fd, &utmp_data, sizeof (utmp_data)) == sizeof (utmp_data))
+ {
+ switch (id->ut_type)
+ {
+ case RUN_LVL:
+ case BOOT_TIME:
+ case OLD_TIME:
+ case NEW_TIME:
+ if (id->ut_type == utmp_data.ut_type)
+ return &utmp_data;
+ case INIT_PROCESS:
+ case LOGIN_PROCESS:
+ case USER_PROCESS:
+ case DEAD_PROCESS:
+ if (id->ut_id == utmp_data.ut_id)
+ return &utmp_data;
+ default:
+ abort ();
+ }
+ }
+ return 0;
+}
+
+struct utmp *
+getutline (struct utmp *line)
+{
+ while (_read (utmp_fd, &utmp_data, sizeof (utmp_data)) == sizeof (utmp_data))
+ {
+ if ((utmp_data.ut_type == LOGIN_PROCESS ||
+ utmp_data.ut_type == USER_PROCESS) &&
+ !strncmp (utmp_data.ut_line, line->ut_line,
+ sizeof (utmp_data.ut_line)))
+ return &utmp_data;
+ }
+
+ return 0;
+}
diff --git a/newlib/libc/unix/sigset.c b/newlib/libc/unix/sigset.c
new file mode 100644
index 00000000000..ecb3d08001f
--- /dev/null
+++ b/newlib/libc/unix/sigset.c
@@ -0,0 +1,61 @@
+#include <signal.h>
+#include <errno.h>
+
+#ifdef SIG_SETMASK /* easier than trying to remove from Makefile */
+
+#undef sigemptyset
+int
+sigemptyset (sigset_t * set)
+{
+ *set = (sigset_t) 0;
+ return 0;
+}
+
+int
+sigfillset (sigset_t * set)
+{
+ *set = ~((sigset_t) 0);
+ return 0;
+}
+
+#undef sigaddset
+int
+sigaddset (sigset_t * set, int signo)
+{
+ if (signo >= NSIG || signo <= 0)
+ {
+ errno = EINVAL;
+ return -1;
+ }
+ *set |= 1 << (signo - 1);
+ return 0;
+}
+
+int
+sigdelset (sigset_t * set, int signo)
+{
+ if (signo >= NSIG || signo <= 0)
+ {
+ errno = EINVAL;
+ return -1;
+ }
+ *set &= ~(1 << (signo - 1));
+ return 0;
+}
+
+int
+sigismember (const sigset_t * set, int signo)
+{
+ if (signo >= NSIG || signo <= 0)
+ {
+ errno = EINVAL;
+ return -1;
+ }
+
+ if (*set & (1 << (signo - 1)))
+ return 1;
+ else
+ return 0;
+}
+
+#endif /* SIG_SETMASK */
diff --git a/newlib/libc/unix/ttyname.c b/newlib/libc/unix/ttyname.c
new file mode 100644
index 00000000000..582a7903fe0
--- /dev/null
+++ b/newlib/libc/unix/ttyname.c
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 1988 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)ttyname.c 5.10 (Berkeley) 5/6/91";
+#endif /* LIBC_SCCS and not lint */
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <dirent.h>
+#include <termios.h>
+#include <unistd.h>
+#include <paths.h>
+#include <_syslist.h>
+
+static char buf[sizeof (_PATH_DEV) + MAXNAMLEN] = _PATH_DEV;
+
+char *
+ttyname (fd)
+ int fd;
+{
+ struct stat sb;
+ struct termios tty;
+ struct dirent *dirp;
+ DIR *dp;
+ struct stat dsb;
+ char *rval;
+
+ /* Must be a terminal. */
+ if (tcgetattr (fd, &tty) < 0)
+ return NULL;
+
+ /* Must be a character device. */
+ if (_fstat (fd, &sb) || !S_ISCHR (sb.st_mode))
+ return NULL;
+
+ if ((dp = _opendir (_PATH_DEV)) == NULL)
+ return NULL;
+
+ for (rval = NULL; dirp = _readdir (dp);)
+ {
+ if (dirp->d_ino != sb.st_ino)
+ continue;
+ strcpy (buf + sizeof (_PATH_DEV) - 1, dirp->d_name);
+ if (stat (buf, &dsb) || sb.st_dev != dsb.st_dev ||
+ sb.st_ino != dsb.st_ino)
+ continue;
+ (void) _closedir (dp);
+ rval = buf;
+ break;
+ }
+ (void) _closedir (dp);
+ return rval;
+}
diff --git a/newlib/libm/Makefile.am b/newlib/libm/Makefile.am
new file mode 100644
index 00000000000..fc0c10b76cd
--- /dev/null
+++ b/newlib/libm/Makefile.am
@@ -0,0 +1,54 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+if NEWLIB_HW_FP
+SUBDIRS = mathfp common .
+SUBLIBS = mathfp/lib.a common/lib.a
+else
+SUBDIRS = math common .
+SUBLIBS = math/lib.a common/lib.a
+endif
+
+noinst_LIBRARIES = libm.a
+
+libm.a: $(SUBLIBS)
+ rm -f $@
+ rm -rf tmp
+ mkdir tmp
+ cd tmp; \
+ for i in $(SUBLIBS); do \
+ $(AR) x ../$$i; \
+ done; \
+ $(AR) $(AR_FLAGS) ../$@ *.o
+ $(RANLIB) $@
+ rm -rf tmp
+
+$(SUBLIBS):
+
+info_TEXINFOS = libm.texinfo
+
+libm.info: targetdep.tex math/stmp-def
+
+stmp-targetdep: force
+ rm -f tmp.texi
+ targetdoc=`pwd`/tmp.texi; \
+ for d in $(SUBDIRS); do \
+ if test "$$d" != "."; then \
+ (cd $$d && $(MAKE) doc) || exit 1; \
+ fi; \
+ done
+ $(SHELL) $(newlib_basedir)/../move-if-change tmp.texi targetdep.tex
+ touch $@
+
+targetdep.tex: stmp-targetdep ; @true
+
+math/stmp-def: stmp-targetdep ; @true
+
+.PHONY: force
+force:
+
+CLEANFILES = tmp.texi targetdep.tex stmp-targetdep
+
+ACLOCAL_AMFLAGS = -I ..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libm/Makefile.in b/newlib/libm/Makefile.in
new file mode 100644
index 00000000000..748d0b73308
--- /dev/null
+++ b/newlib/libm/Makefile.in
@@ -0,0 +1,556 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+@NEWLIB_HW_FP_TRUE@SUBDIRS = \
+@NEWLIB_HW_FP_TRUE@mathfp common .
+@NEWLIB_HW_FP_FALSE@SUBDIRS = \
+@NEWLIB_HW_FP_FALSE@math common .
+@NEWLIB_HW_FP_TRUE@SUBLIBS = \
+@NEWLIB_HW_FP_TRUE@mathfp/lib.a common/lib.a
+@NEWLIB_HW_FP_FALSE@SUBLIBS = \
+@NEWLIB_HW_FP_FALSE@math/lib.a common/lib.a
+
+noinst_LIBRARIES = libm.a
+
+info_TEXINFOS = libm.texinfo
+
+CLEANFILES = tmp.texi targetdep.tex stmp-targetdep
+
+ACLOCAL_AMFLAGS = -I ..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+libm_a_LIBADD =
+libm_a_SOURCES = libm.a.c
+libm_a_OBJECTS = libm.a.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+TEXI2DVI = `if test -f $(top_srcdir)/../texinfo/util/texi2dvi; then echo $(top_srcdir)/../texinfo/util/texi2dvi; else echo texi2dvi; fi`
+TEXINFO_TEX = $(top_srcdir)/../texinfo/texinfo.tex
+INFO_DEPS = libm.info
+DVIS = libm.dvi
+TEXINFOS = libm.texinfo
+DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+DIST_SUBDIRS = mathfp common . math common .
+SOURCES = libm.a.c
+OBJECTS = libm.a.o
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .dvi .info .o .ps .s .texi .texinfo .txi
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in ../acinclude.m4 \
+ ../aclocal.m4
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+libm.info: libm.texinfo
+libm.dvi: libm.texinfo
+
+
+DVIPS = dvips
+
+.texi.info:
+ @rm -f $@ $@-[0-9] $@-[0-9][0-9]
+ $(MAKEINFO) -I $(srcdir) $<
+
+.texi.dvi:
+ TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \
+ MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
+
+.texi:
+ @rm -f $@ $@-[0-9] $@-[0-9][0-9]
+ $(MAKEINFO) -I $(srcdir) $<
+
+.texinfo.info:
+ @rm -f $@ $@-[0-9] $@-[0-9][0-9]
+ $(MAKEINFO) -I $(srcdir) $<
+
+.texinfo:
+ @rm -f $@ $@-[0-9] $@-[0-9][0-9]
+ $(MAKEINFO) -I $(srcdir) $<
+
+.texinfo.dvi:
+ TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \
+ MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
+
+.txi.info:
+ @rm -f $@ $@-[0-9] $@-[0-9][0-9]
+ $(MAKEINFO) -I $(srcdir) $<
+
+.txi.dvi:
+ TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \
+ MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
+
+.txi:
+ @rm -f $@ $@-[0-9] $@-[0-9][0-9]
+ $(MAKEINFO) -I $(srcdir) $<
+.dvi.ps:
+ $(DVIPS) $< -o $@
+
+install-info-am: $(INFO_DEPS)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(infodir)
+ @list='$(INFO_DEPS)'; \
+ for file in $$list; do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
+ if test -f $$d/$$ifile; then \
+ echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; \
+ $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; \
+ else : ; fi; \
+ done; \
+ done
+ @$(POST_INSTALL)
+ @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
+ list='$(INFO_DEPS)'; \
+ for file in $$list; do \
+ echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\
+ install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;\
+ done; \
+ else : ; fi
+
+uninstall-info:
+ $(PRE_UNINSTALL)
+ @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
+ ii=yes; \
+ else ii=; fi; \
+ list='$(INFO_DEPS)'; \
+ for file in $$list; do \
+ test -z "$ii" \
+ || install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; \
+ done
+ @$(NORMAL_UNINSTALL)
+ list='$(INFO_DEPS)'; \
+ for file in $$list; do \
+ (cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9]); \
+ done
+
+dist-info: $(INFO_DEPS)
+ list='$(INFO_DEPS)'; \
+ for base in $$list; do \
+ if test -f $$base; then d=.; else d=$(srcdir); fi; \
+ for file in `cd $$d && eval echo $$base*`; do \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done; \
+ done
+
+mostlyclean-aminfo:
+ -rm -f libm.aux libm.cp libm.cps libm.dvi libm.fn libm.fns libm.ky \
+ libm.kys libm.ps libm.log libm.pg libm.toc libm.tp libm.tps \
+ libm.vr libm.vrs libm.op libm.tr libm.cv libm.cn
+
+clean-aminfo:
+
+distclean-aminfo:
+
+maintainer-clean-aminfo:
+ for i in $(INFO_DEPS); do \
+ rm -f $$i; \
+ if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \
+ rm -f $$i-[0-9]*; \
+ fi; \
+ done
+clean-info: mostlyclean-aminfo
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+
+@SET_MAKE@
+
+all-recursive install-data-recursive install-exec-recursive \
+installdirs-recursive install-recursive uninstall-recursive install-info-recursive \
+check-recursive installcheck-recursive info-recursive dvi-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
+ rev="$$subdir $$rev"; \
+ test "$$subdir" = "." && dot_seen=yes; \
+ done; \
+ test "$$dot_seen" = "no" && rev=". $$rev"; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @banner="$(distdir).tar.gz is ready for distribution"; \
+ dashes=`echo "$$banner" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ echo "$$dashes"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+ for subdir in $(DIST_SUBDIRS); do \
+ if test "$$subdir" = .; then :; else \
+ test -d $(distdir)/$$subdir \
+ || mkdir $(distdir)/$$subdir \
+ || exit 1; \
+ chmod 777 $(distdir)/$$subdir; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
+ || exit 1; \
+ fi; \
+ done
+ $(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info
+info-am: $(INFO_DEPS)
+info: info-recursive
+dvi-am: $(DVIS)
+dvi: dvi-recursive
+check-am:
+check: check-recursive
+installcheck-am:
+installcheck: installcheck-recursive
+install-info-am:
+install-info: install-info-recursive
+install-exec-am:
+install-exec: install-exec-recursive
+
+install-data-am:
+install-data: install-data-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-recursive
+uninstall-am:
+uninstall: uninstall-recursive
+all-am: Makefile $(LIBRARIES)
+all-redirect: all-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs: installdirs-recursive
+installdirs-am:
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-aminfo mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-recursive
+
+clean-am: clean-noinstLIBRARIES clean-compile clean-aminfo clean-tags \
+ clean-generic mostlyclean-am
+
+clean: clean-recursive
+
+distclean-am: distclean-noinstLIBRARIES distclean-compile \
+ distclean-aminfo distclean-tags distclean-generic \
+ clean-am
+
+distclean: distclean-recursive
+ -rm -f config.status
+
+maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-aminfo \
+ maintainer-clean-tags maintainer-clean-generic \
+ distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f config.status
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile install-info-am uninstall-info \
+mostlyclean-aminfo distclean-aminfo clean-aminfo \
+maintainer-clean-aminfo install-data-recursive uninstall-data-recursive \
+install-exec-recursive uninstall-exec-recursive installdirs-recursive \
+uninstalldirs-recursive all-recursive check-recursive \
+installcheck-recursive info-recursive dvi-recursive \
+mostlyclean-recursive distclean-recursive clean-recursive \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-info-am \
+install-info install-exec-am install-exec install-data-am install-data \
+install-am install uninstall-am uninstall all-redirect all-am all \
+installdirs-am installdirs mostlyclean-generic distclean-generic \
+clean-generic maintainer-clean-generic clean mostlyclean distclean \
+maintainer-clean
+
+
+libm.a: $(SUBLIBS)
+ rm -f $@
+ rm -rf tmp
+ mkdir tmp
+ cd tmp; \
+ for i in $(SUBLIBS); do \
+ $(AR) x ../$$i; \
+ done; \
+ $(AR) $(AR_FLAGS) ../$@ *.o
+ $(RANLIB) $@
+ rm -rf tmp
+
+$(SUBLIBS):
+
+libm.info: targetdep.tex math/stmp-def
+
+stmp-targetdep: force
+ rm -f tmp.texi
+ targetdoc=`pwd`/tmp.texi; \
+ for d in $(SUBDIRS); do \
+ if test "$$d" != "."; then \
+ (cd $$d && $(MAKE) doc) || exit 1; \
+ fi; \
+ done
+ $(SHELL) $(newlib_basedir)/../move-if-change tmp.texi targetdep.tex
+ touch $@
+
+targetdep.tex: stmp-targetdep ; @true
+
+math/stmp-def: stmp-targetdep ; @true
+
+.PHONY: force
+force:
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libm/aclocal.m4 b/newlib/libm/aclocal.m4
new file mode 100644
index 00000000000..0b8029c6349
--- /dev/null
+++ b/newlib/libm/aclocal.m4
@@ -0,0 +1,282 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
+dnl This provides configure definitions used by all the newlib
+dnl configure.in files.
+
+dnl Basic newlib configury. This calls basic introductory stuff,
+dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
+dnl configure.host. The only argument is the relative path to the top
+dnl newlib directory.
+
+AC_DEFUN(NEWLIB_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl Support --enable-target-optspace
+AC_ARG_ENABLE(target-optspace,
+[ --enable-target-optspace optimize for space],
+[case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
+ esac], [target_optspace=])dnl
+
+dnl Support --enable-newlib-mb
+AC_ARG_ENABLE(newlib-mb,
+[ --enable-newlib-mb enable multibyte support],
+[case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
+ esac], [newlib_mb=no])dnl
+
+dnl We may get other options which we don't document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+test -z "[$]{with_target_subdir}" && with_target_subdir=.
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ newlib_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(newlib_basedir)
+
+AC_CANONICAL_HOST
+
+AM_INIT_AUTOMAKE(newlib, 1.8.1)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+. [$]{newlib_basedir}/configure.host
+
+case [$]{newlib_basedir} in
+/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
+*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="[$]{newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+AC_SUBST(NEWLIB_CFLAGS)
+
+AC_SUBST(machine_dir)
+AC_SUBST(sys_dir)
+])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
diff --git a/newlib/libm/common/Makefile.am b/newlib/libm/common/Makefile.am
new file mode 100644
index 00000000000..57b3ff64dbd
--- /dev/null
+++ b/newlib/libm/common/Makefile.am
@@ -0,0 +1,97 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+src = s_finite.c s_copysign.c s_modf.c s_scalbn.c \
+ s_cbrt.c s_expm1.c s_ilogb.c \
+ s_infinity.c s_log1p.c s_nan.c s_nextafter.c \
+ s_rint.c s_logb.c s_matherr.c s_lib_ver.c
+
+fsrc = sf_finite.c sf_copysign.c sf_modf.c sf_scalbn.c \
+ sf_cbrt.c sf_expm1.c sf_ilogb.c \
+ sf_infinity.c sf_log1p.c sf_nan.c sf_nextafter.c \
+ sf_rint.c sf_logb.c
+
+lib_a_SOURCES = $(src) $(fsrc)
+
+chobj = scbrt.def scopysign.def sexpm1.def silogb.def \
+ sinfinity.def slog1p.def smatherr.def smodf.def \
+ snan.def snextafter.def sscalbn.def
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+TARGETDOC = ../tmp.texi
+
+doc: $(chobj)
+ cat $(srcdir)/common.tex >> $(TARGETDOC)
+
+CLEANFILES = $(chobj) *.ref
+
+# Texinfo does not appear to support underscores in file names, so we
+# name the .def files without underscores.
+
+smodf.def: s_modf.c
+ $(CHEW) < $(srcdir)/s_modf.c >$@ 2>/dev/null
+ touch stmp-def
+
+scopysign.def: s_copysign.c
+ $(CHEW) < $(srcdir)/s_copysign.c >$@ 2>/dev/null
+ touch stmp-def
+
+sscalbn.def: s_scalbn.c
+ $(CHEW) < $(srcdir)/s_scalbn.c >$@ 2>/dev/null
+ touch stmp-def
+
+scbrt.def: s_cbrt.c
+ $(CHEW) < $(srcdir)/s_cbrt.c >$@ 2>/dev/null
+ touch stmp-def
+
+serf.def: s_erf.c
+ $(CHEW) < $(srcdir)/s_serf.c >$@ 2>/dev/null
+ touch stmp-def
+
+sexpn.def: s_expm.c
+ $(CHEW) < $(srcdir)/s_expn.c >$@ 2>/dev/null
+ touch stmp-def
+
+sexpm1.def: s_expm1.c
+ $(CHEW) < $(srcdir)/s_expm1.c >$@ 2>/dev/null
+ touch stmp-def
+
+silogb.def: s_ilogb.c
+ $(CHEW) < $(srcdir)/s_ilogb.c >$@ 2>/dev/null
+ touch stmp-def
+
+sinfinity.def: s_infinity.c
+ $(CHEW) < $(srcdir)/s_infinity.c >$@ 2>/dev/null
+ touch stmp-def
+
+slog1p.def: s_log1p.c
+ $(CHEW) < $(srcdir)/s_log1p.c >$@ 2>/dev/null
+ touch stmp-def
+
+smatherr.def: s_matherr.c
+ $(CHEW) < $(srcdir)/s_matherr.c >$@ 2>/dev/null
+ touch stmp-def
+
+snan.def: s_nan.c
+ $(CHEW) < $(srcdir)/s_nan.c >$@ 2>/dev/null
+ touch stmp-def
+
+snextafter.def: s_nextafter.c
+ $(CHEW) < $(srcdir)/s_nextafter.c >$@ 2>/dev/null
+ touch stmp-def
+
+# A partial dependency list.
+
+$(lib_a_OBJECTS): $(srcdir)/../../libc/include/math.h fdlibm.h
diff --git a/newlib/libm/common/Makefile.in b/newlib/libm/common/Makefile.in
new file mode 100644
index 00000000000..3ba380d8fb6
--- /dev/null
+++ b/newlib/libm/common/Makefile.in
@@ -0,0 +1,341 @@
+# Makefile.in generated automatically by automake 1.3b from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+mach_add_objs = @mach_add_objs@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+src = s_finite.c s_copysign.c s_modf.c s_scalbn.c \
+ s_cbrt.c s_expm1.c s_ilogb.c \
+ s_infinity.c s_log1p.c s_nan.c s_nextafter.c \
+ s_rint.c s_logb.c s_matherr.c s_lib_ver.c
+
+fsrc = sf_finite.c sf_copysign.c sf_modf.c sf_scalbn.c \
+ sf_cbrt.c sf_expm1.c sf_ilogb.c \
+ sf_infinity.c sf_log1p.c sf_nan.c sf_nextafter.c \
+ sf_rint.c sf_logb.c
+
+lib_a_SOURCES = $(src) $(fsrc)
+
+chobj = scbrt.def scopysign.def sexpm1.def silogb.def \
+ sinfinity.def slog1p.def smatherr.def smodf.def \
+ snan.def snextafter.def sscalbn.def
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+TARGETDOC = ../tmp.texi
+
+CLEANFILES = $(chobj) *.ref
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = s_finite.o s_copysign.o s_modf.o s_scalbn.o s_cbrt.o \
+s_expm1.o s_ilogb.o s_infinity.o s_log1p.o s_nan.o s_nextafter.o \
+s_rint.o s_logb.o s_matherr.o s_lib_ver.o sf_finite.o sf_copysign.o \
+sf_modf.o sf_scalbn.o sf_cbrt.o sf_expm1.o sf_ilogb.o sf_infinity.o \
+sf_log1p.o sf_nan.o sf_nextafter.o sf_rint.o sf_logb.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LINK = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .def .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus common/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = common
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+doc: $(chobj)
+ cat $(srcdir)/common.tex >> $(TARGETDOC)
+
+# Texinfo does not appear to support underscores in file names, so we
+# name the .def files without underscores.
+
+smodf.def: s_modf.c
+ $(CHEW) < $(srcdir)/s_modf.c >$@ 2>/dev/null
+ touch stmp-def
+
+scopysign.def: s_copysign.c
+ $(CHEW) < $(srcdir)/s_copysign.c >$@ 2>/dev/null
+ touch stmp-def
+
+sscalbn.def: s_scalbn.c
+ $(CHEW) < $(srcdir)/s_scalbn.c >$@ 2>/dev/null
+ touch stmp-def
+
+scbrt.def: s_cbrt.c
+ $(CHEW) < $(srcdir)/s_cbrt.c >$@ 2>/dev/null
+ touch stmp-def
+
+serf.def: s_erf.c
+ $(CHEW) < $(srcdir)/s_serf.c >$@ 2>/dev/null
+ touch stmp-def
+
+sexpn.def: s_expm.c
+ $(CHEW) < $(srcdir)/s_expn.c >$@ 2>/dev/null
+ touch stmp-def
+
+sexpm1.def: s_expm1.c
+ $(CHEW) < $(srcdir)/s_expm1.c >$@ 2>/dev/null
+ touch stmp-def
+
+silogb.def: s_ilogb.c
+ $(CHEW) < $(srcdir)/s_ilogb.c >$@ 2>/dev/null
+ touch stmp-def
+
+sinfinity.def: s_infinity.c
+ $(CHEW) < $(srcdir)/s_infinity.c >$@ 2>/dev/null
+ touch stmp-def
+
+slog1p.def: s_log1p.c
+ $(CHEW) < $(srcdir)/s_log1p.c >$@ 2>/dev/null
+ touch stmp-def
+
+smatherr.def: s_matherr.c
+ $(CHEW) < $(srcdir)/s_matherr.c >$@ 2>/dev/null
+ touch stmp-def
+
+snan.def: s_nan.c
+ $(CHEW) < $(srcdir)/s_nan.c >$@ 2>/dev/null
+ touch stmp-def
+
+snextafter.def: s_nextafter.c
+ $(CHEW) < $(srcdir)/s_nextafter.c >$@ 2>/dev/null
+ touch stmp-def
+
+# A partial dependency list.
+
+$(lib_a_OBJECTS): $(srcdir)/../../libc/include/math.h fdlibm.h
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libm/common/common.tex b/newlib/libm/common/common.tex
new file mode 100644
index 00000000000..0e8a9863fb0
--- /dev/null
+++ b/newlib/libm/common/common.tex
@@ -0,0 +1,12 @@
+@page
+@include common/scbrt.def
+@include common/scopysign.def
+@include common/sexpm1.def
+@include common/silogb.def
+@include common/sinfinity.def
+@include common/slog1p.def
+@include common/smatherr.def
+@include common/smodf.def
+@include common/snan.def
+@include common/snextafter.def
+@include common/sscalbn.def
diff --git a/newlib/libm/common/fdlibm.h b/newlib/libm/common/fdlibm.h
new file mode 100644
index 00000000000..752d2424622
--- /dev/null
+++ b/newlib/libm/common/fdlibm.h
@@ -0,0 +1,261 @@
+
+/* @(#)fdlibm.h 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* CYGNUS LOCAL: Include files. */
+#include <math.h>
+#include <machine/ieeefp.h>
+
+/* CYGNUS LOCAL: Default to XOPEN_MODE. */
+#define _XOPEN_MODE
+
+#ifdef __STDC__
+#define __P(p) p
+#else
+#define __P(p) ()
+#endif
+
+#define HUGE ((float)3.40282346638528860e+38)
+
+/*
+ * set X_TLOSS = pi*2**52, which is possibly defined in <values.h>
+ * (one may replace the following line by "#include <values.h>")
+ */
+
+#define X_TLOSS 1.41484755040568800000e+16
+
+/* Functions that are not documented, and are not in <math.h>. */
+
+extern double logb __P((double));
+#ifdef _SCALB_INT
+extern double scalb __P((double, int));
+#else
+extern double scalb __P((double, double));
+#endif
+extern double significand __P((double));
+
+/* ieee style elementary functions */
+extern double __ieee754_sqrt __P((double));
+extern double __ieee754_acos __P((double));
+extern double __ieee754_acosh __P((double));
+extern double __ieee754_log __P((double));
+extern double __ieee754_atanh __P((double));
+extern double __ieee754_asin __P((double));
+extern double __ieee754_atan2 __P((double,double));
+extern double __ieee754_exp __P((double));
+extern double __ieee754_cosh __P((double));
+extern double __ieee754_fmod __P((double,double));
+extern double __ieee754_pow __P((double,double));
+extern double __ieee754_lgamma_r __P((double,int *));
+extern double __ieee754_gamma_r __P((double,int *));
+extern double __ieee754_log10 __P((double));
+extern double __ieee754_sinh __P((double));
+extern double __ieee754_hypot __P((double,double));
+extern double __ieee754_j0 __P((double));
+extern double __ieee754_j1 __P((double));
+extern double __ieee754_y0 __P((double));
+extern double __ieee754_y1 __P((double));
+extern double __ieee754_jn __P((int,double));
+extern double __ieee754_yn __P((int,double));
+extern double __ieee754_remainder __P((double,double));
+extern __int32_t __ieee754_rem_pio2 __P((double,double*));
+#ifdef _SCALB_INT
+extern double __ieee754_scalb __P((double,int));
+#else
+extern double __ieee754_scalb __P((double,double));
+#endif
+
+/* fdlibm kernel function */
+extern double __kernel_standard __P((double,double,int));
+extern double __kernel_sin __P((double,double,int));
+extern double __kernel_cos __P((double,double));
+extern double __kernel_tan __P((double,double,int));
+extern int __kernel_rem_pio2 __P((double*,double*,int,int,int,const __int32_t*));
+
+/* Undocumented float functions. */
+extern float logbf __P((float));
+#ifdef _SCALB_INT
+extern float scalbf __P((float, int));
+#else
+extern float scalbf __P((float, float));
+#endif
+extern float significandf __P((float));
+
+/* ieee style elementary float functions */
+extern float __ieee754_sqrtf __P((float));
+extern float __ieee754_acosf __P((float));
+extern float __ieee754_acoshf __P((float));
+extern float __ieee754_logf __P((float));
+extern float __ieee754_atanhf __P((float));
+extern float __ieee754_asinf __P((float));
+extern float __ieee754_atan2f __P((float,float));
+extern float __ieee754_expf __P((float));
+extern float __ieee754_coshf __P((float));
+extern float __ieee754_fmodf __P((float,float));
+extern float __ieee754_powf __P((float,float));
+extern float __ieee754_lgammaf_r __P((float,int *));
+extern float __ieee754_gammaf_r __P((float,int *));
+extern float __ieee754_log10f __P((float));
+extern float __ieee754_sinhf __P((float));
+extern float __ieee754_hypotf __P((float,float));
+extern float __ieee754_j0f __P((float));
+extern float __ieee754_j1f __P((float));
+extern float __ieee754_y0f __P((float));
+extern float __ieee754_y1f __P((float));
+extern float __ieee754_jnf __P((int,float));
+extern float __ieee754_ynf __P((int,float));
+extern float __ieee754_remainderf __P((float,float));
+extern __int32_t __ieee754_rem_pio2f __P((float,float*));
+#ifdef _SCALB_INT
+extern float __ieee754_scalbf __P((float,int));
+#else
+extern float __ieee754_scalbf __P((float,float));
+#endif
+
+/* float versions of fdlibm kernel functions */
+extern float __kernel_sinf __P((float,float,int));
+extern float __kernel_cosf __P((float,float));
+extern float __kernel_tanf __P((float,float,int));
+extern int __kernel_rem_pio2f __P((float*,float*,int,int,int,const __int32_t*));
+
+/* The original code used statements like
+ n0 = ((*(int*)&one)>>29)^1; * index of high word *
+ ix0 = *(n0+(int*)&x); * high word of x *
+ ix1 = *((1-n0)+(int*)&x); * low word of x *
+ to dig two 32 bit words out of the 64 bit IEEE floating point
+ value. That is non-ANSI, and, moreover, the gcc instruction
+ scheduler gets it wrong. We instead use the following macros.
+ Unlike the original code, we determine the endianness at compile
+ time, not at run time; I don't see much benefit to selecting
+ endianness at run time. */
+
+#ifndef __IEEE_BIG_ENDIAN
+#ifndef __IEEE_LITTLE_ENDIAN
+ #error Must define endianness
+#endif
+#endif
+
+/* A union which permits us to convert between a double and two 32 bit
+ ints. */
+
+#ifdef __IEEE_BIG_ENDIAN
+
+typedef union
+{
+ double value;
+ struct
+ {
+ __uint32_t msw;
+ __uint32_t lsw;
+ } parts;
+} ieee_double_shape_type;
+
+#endif
+
+#ifdef __IEEE_LITTLE_ENDIAN
+
+typedef union
+{
+ double value;
+ struct
+ {
+ __uint32_t lsw;
+ __uint32_t msw;
+ } parts;
+} ieee_double_shape_type;
+
+#endif
+
+/* Get two 32 bit ints from a double. */
+
+#define EXTRACT_WORDS(ix0,ix1,d) \
+do { \
+ ieee_double_shape_type ew_u; \
+ ew_u.value = (d); \
+ (ix0) = ew_u.parts.msw; \
+ (ix1) = ew_u.parts.lsw; \
+} while (0)
+
+/* Get the more significant 32 bit int from a double. */
+
+#define GET_HIGH_WORD(i,d) \
+do { \
+ ieee_double_shape_type gh_u; \
+ gh_u.value = (d); \
+ (i) = gh_u.parts.msw; \
+} while (0)
+
+/* Get the less significant 32 bit int from a double. */
+
+#define GET_LOW_WORD(i,d) \
+do { \
+ ieee_double_shape_type gl_u; \
+ gl_u.value = (d); \
+ (i) = gl_u.parts.lsw; \
+} while (0)
+
+/* Set a double from two 32 bit ints. */
+
+#define INSERT_WORDS(d,ix0,ix1) \
+do { \
+ ieee_double_shape_type iw_u; \
+ iw_u.parts.msw = (ix0); \
+ iw_u.parts.lsw = (ix1); \
+ (d) = iw_u.value; \
+} while (0)
+
+/* Set the more significant 32 bits of a double from an int. */
+
+#define SET_HIGH_WORD(d,v) \
+do { \
+ ieee_double_shape_type sh_u; \
+ sh_u.value = (d); \
+ sh_u.parts.msw = (v); \
+ (d) = sh_u.value; \
+} while (0)
+
+/* Set the less significant 32 bits of a double from an int. */
+
+#define SET_LOW_WORD(d,v) \
+do { \
+ ieee_double_shape_type sl_u; \
+ sl_u.value = (d); \
+ sl_u.parts.lsw = (v); \
+ (d) = sl_u.value; \
+} while (0)
+
+/* A union which permits us to convert between a float and a 32 bit
+ int. */
+
+typedef union
+{
+ float value;
+ __uint32_t word;
+} ieee_float_shape_type;
+
+/* Get a 32 bit int from a float. */
+
+#define GET_FLOAT_WORD(i,d) \
+do { \
+ ieee_float_shape_type gf_u; \
+ gf_u.value = (d); \
+ (i) = gf_u.word; \
+} while (0)
+
+/* Set a float from a 32 bit int. */
+
+#define SET_FLOAT_WORD(d,i) \
+do { \
+ ieee_float_shape_type sf_u; \
+ sf_u.word = (i); \
+ (d) = sf_u.value; \
+} while (0)
diff --git a/newlib/libm/common/s_cbrt.c b/newlib/libm/common/s_cbrt.c
new file mode 100644
index 00000000000..95185d0fa0a
--- /dev/null
+++ b/newlib/libm/common/s_cbrt.c
@@ -0,0 +1,123 @@
+
+/* @(#)s_cbrt.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/*
+FUNCTION
+ <<cbrt>>, <<cbrtf>>---cube root
+
+INDEX
+ cbrt
+INDEX
+ cbrtf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double cbrt(double <[x]>);
+ float cbrtf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double cbrt(<[x]>);
+ float cbrtf(<[x]>);
+
+DESCRIPTION
+ <<cbrt>> computes the cube root of the argument.
+
+RETURNS
+ The cube root is returned.
+
+PORTABILITY
+ <<cbrt>> is in System V release 4. <<cbrtf>> is an extension.
+*/
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+/* cbrt(x)
+ * Return cube root of x
+ */
+#ifdef __STDC__
+static const __uint32_t
+#else
+static __uint32_t
+#endif
+ B1 = 715094163, /* B1 = (682-0.03306235651)*2**20 */
+ B2 = 696219795; /* B2 = (664-0.03306235651)*2**20 */
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+C = 5.42857142857142815906e-01, /* 19/35 = 0x3FE15F15, 0xF15F15F1 */
+D = -7.05306122448979611050e-01, /* -864/1225 = 0xBFE691DE, 0x2532C834 */
+E = 1.41428571428571436819e+00, /* 99/70 = 0x3FF6A0EA, 0x0EA0EA0F */
+F = 1.60714285714285720630e+00, /* 45/28 = 0x3FF9B6DB, 0x6DB6DB6E */
+G = 3.57142857142857150787e-01; /* 5/14 = 0x3FD6DB6D, 0xB6DB6DB7 */
+
+#ifdef __STDC__
+ double cbrt(double x)
+#else
+ double cbrt(x)
+ double x;
+#endif
+{
+ __int32_t hx;
+ double r,s,t=0.0,w;
+ __uint32_t sign;
+ __uint32_t high,low;
+
+ GET_HIGH_WORD(hx,x);
+ sign=hx&0x80000000; /* sign= sign(x) */
+ hx ^=sign;
+ if(hx>=0x7ff00000) return(x+x); /* cbrt(NaN,INF) is itself */
+ GET_LOW_WORD(low,x);
+ if((hx|low)==0)
+ return(x); /* cbrt(0) is itself */
+
+ SET_HIGH_WORD(x,hx); /* x <- |x| */
+ /* rough cbrt to 5 bits */
+ if(hx<0x00100000) /* subnormal number */
+ {SET_HIGH_WORD(t,0x43500000); /* set t= 2**54 */
+ t*=x; GET_HIGH_WORD(high,t); SET_HIGH_WORD(t,high/3+B2);
+ }
+ else
+ SET_HIGH_WORD(t,hx/3+B1);
+
+
+ /* new cbrt to 23 bits, may be implemented in single precision */
+ r=t*t/x;
+ s=C+r*t;
+ t*=G+F/(s+E+D/s);
+
+ /* chopped to 20 bits and make it larger than cbrt(x) */
+ GET_HIGH_WORD(high,t);
+ INSERT_WORDS(t,high+0x00000001,0);
+
+
+ /* one step newton iteration to 53 bits with error less than 0.667 ulps */
+ s=t*t; /* t*t is exact */
+ r=x/s;
+ w=t+t;
+ r=(r-t)/(w+r); /* r-s is exact */
+ t=t+t*r;
+
+ /* retore the sign bit */
+ GET_HIGH_WORD(high,t);
+ SET_HIGH_WORD(t,high|sign);
+ return(t);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/common/s_copysign.c b/newlib/libm/common/s_copysign.c
new file mode 100644
index 00000000000..bfc546db503
--- /dev/null
+++ b/newlib/libm/common/s_copysign.c
@@ -0,0 +1,82 @@
+
+/* @(#)s_copysign.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+<<copysign>>, <<copysignf>>---sign of <[y]>, magnitude of <[x]>
+
+INDEX
+ copysign
+INDEX
+ copysignf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double copysign (double <[x]>, double <[y]>);
+ float copysignf (float <[x]>, float <[y]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double copysign (<[x]>, <[y]>)
+ double <[x]>;
+ double <[y]>;
+
+ float copysignf (<[x]>, <[y]>)
+ float <[x]>;
+ float <[y]>;
+
+DESCRIPTION
+<<copysign>> constructs a number with the magnitude (absolute value)
+of its first argument, <[x]>, and the sign of its second argument,
+<[y]>.
+
+<<copysignf>> does the same thing; the two functions differ only in
+the type of their arguments and result.
+
+RETURNS
+<<copysign>> returns a <<double>> with the magnitude of
+<[x]> and the sign of <[y]>.
+<<copysignf>> returns a <<float>> with the magnitude of
+<[x]> and the sign of <[y]>.
+
+PORTABILITY
+<<copysign>> is not required by either ANSI C or the System V Interface
+Definition (Issue 2).
+
+*/
+
+/*
+ * copysign(double x, double y)
+ * copysign(x,y) returns a value with the magnitude of x and
+ * with the sign bit of y.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double copysign(double x, double y)
+#else
+ double copysign(x,y)
+ double x,y;
+#endif
+{
+ __uint32_t hx,hy;
+ GET_HIGH_WORD(hx,x);
+ GET_HIGH_WORD(hy,y);
+ SET_HIGH_WORD(x,(hx&0x7fffffff)|(hy&0x80000000));
+ return x;
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/common/s_expm1.c b/newlib/libm/common/s_expm1.c
new file mode 100644
index 00000000000..bc0e2f23e40
--- /dev/null
+++ b/newlib/libm/common/s_expm1.c
@@ -0,0 +1,271 @@
+
+/* @(#)s_expm1.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<expm1>>, <<expm1f>>---exponential minus 1
+INDEX
+ expm1
+INDEX
+ expm1f
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double expm1(double <[x]>);
+ float expm1f(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double expm1(<[x]>);
+ double <[x]>;
+
+ float expm1f(<[x]>);
+ float <[x]>;
+
+DESCRIPTION
+ <<expm1>> and <<expm1f>> calculate the exponential of <[x]>
+ and subtract 1, that is,
+ @ifinfo
+ e raised to the power <[x]> minus 1 (where e
+ @end ifinfo
+ @tex
+ $e^x - 1$ (where $e$
+ @end tex
+ is the base of the natural system of logarithms, approximately
+ 2.71828). The result is accurate even for small values of
+ <[x]>, where using <<exp(<[x]>)-1>> would lose many
+ significant digits.
+
+RETURNS
+ e raised to the power <[x]>, minus 1.
+
+PORTABILITY
+ Neither <<expm1>> nor <<expm1f>> is required by ANSI C or by
+ the System V Interface Definition (Issue 2).
+*/
+
+/* expm1(x)
+ * Returns exp(x)-1, the exponential of x minus 1.
+ *
+ * Method
+ * 1. Argument reduction:
+ * Given x, find r and integer k such that
+ *
+ * x = k*ln2 + r, |r| <= 0.5*ln2 ~ 0.34658
+ *
+ * Here a correction term c will be computed to compensate
+ * the error in r when rounded to a floating-point number.
+ *
+ * 2. Approximating expm1(r) by a special rational function on
+ * the interval [0,0.34658]:
+ * Since
+ * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 - r^4/360 + ...
+ * we define R1(r*r) by
+ * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 * R1(r*r)
+ * That is,
+ * R1(r**2) = 6/r *((exp(r)+1)/(exp(r)-1) - 2/r)
+ * = 6/r * ( 1 + 2.0*(1/(exp(r)-1) - 1/r))
+ * = 1 - r^2/60 + r^4/2520 - r^6/100800 + ...
+ * We use a special Reme algorithm on [0,0.347] to generate
+ * a polynomial of degree 5 in r*r to approximate R1. The
+ * maximum error of this polynomial approximation is bounded
+ * by 2**-61. In other words,
+ * R1(z) ~ 1.0 + Q1*z + Q2*z**2 + Q3*z**3 + Q4*z**4 + Q5*z**5
+ * where Q1 = -1.6666666666666567384E-2,
+ * Q2 = 3.9682539681370365873E-4,
+ * Q3 = -9.9206344733435987357E-6,
+ * Q4 = 2.5051361420808517002E-7,
+ * Q5 = -6.2843505682382617102E-9;
+ * (where z=r*r, and the values of Q1 to Q5 are listed below)
+ * with error bounded by
+ * | 5 | -61
+ * | 1.0+Q1*z+...+Q5*z - R1(z) | <= 2
+ * | |
+ *
+ * expm1(r) = exp(r)-1 is then computed by the following
+ * specific way which minimize the accumulation rounding error:
+ * 2 3
+ * r r [ 3 - (R1 + R1*r/2) ]
+ * expm1(r) = r + --- + --- * [--------------------]
+ * 2 2 [ 6 - r*(3 - R1*r/2) ]
+ *
+ * To compensate the error in the argument reduction, we use
+ * expm1(r+c) = expm1(r) + c + expm1(r)*c
+ * ~ expm1(r) + c + r*c
+ * Thus c+r*c will be added in as the correction terms for
+ * expm1(r+c). Now rearrange the term to avoid optimization
+ * screw up:
+ * ( 2 2 )
+ * ({ ( r [ R1 - (3 - R1*r/2) ] ) } r )
+ * expm1(r+c)~r - ({r*(--- * [--------------------]-c)-c} - --- )
+ * ({ ( 2 [ 6 - r*(3 - R1*r/2) ] ) } 2 )
+ * ( )
+ *
+ * = r - E
+ * 3. Scale back to obtain expm1(x):
+ * From step 1, we have
+ * expm1(x) = either 2^k*[expm1(r)+1] - 1
+ * = or 2^k*[expm1(r) + (1-2^-k)]
+ * 4. Implementation notes:
+ * (A). To save one multiplication, we scale the coefficient Qi
+ * to Qi*2^i, and replace z by (x^2)/2.
+ * (B). To achieve maximum accuracy, we compute expm1(x) by
+ * (i) if x < -56*ln2, return -1.0, (raise inexact if x!=inf)
+ * (ii) if k=0, return r-E
+ * (iii) if k=-1, return 0.5*(r-E)-0.5
+ * (iv) if k=1 if r < -0.25, return 2*((r+0.5)- E)
+ * else return 1.0+2.0*(r-E);
+ * (v) if (k<-2||k>56) return 2^k(1-(E-r)) - 1 (or exp(x)-1)
+ * (vi) if k <= 20, return 2^k((1-2^-k)-(E-r)), else
+ * (vii) return 2^k(1-((E+2^-k)-r))
+ *
+ * Special cases:
+ * expm1(INF) is INF, expm1(NaN) is NaN;
+ * expm1(-INF) is -1, and
+ * for finite argument, only expm1(0)=0 is exact.
+ *
+ * Accuracy:
+ * according to an error analysis, the error is always less than
+ * 1 ulp (unit in the last place).
+ *
+ * Misc. info.
+ * For IEEE double
+ * if x > 7.09782712893383973096e+02 then expm1(x) overflow
+ *
+ * Constants:
+ * The hexadecimal values are the intended ones for the following
+ * constants. The decimal values may be used, provided that the
+ * compiler will convert from decimal to binary accurately enough
+ * to produce the hexadecimal values shown.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+one = 1.0,
+huge = 1.0e+300,
+tiny = 1.0e-300,
+o_threshold = 7.09782712893383973096e+02,/* 0x40862E42, 0xFEFA39EF */
+ln2_hi = 6.93147180369123816490e-01,/* 0x3fe62e42, 0xfee00000 */
+ln2_lo = 1.90821492927058770002e-10,/* 0x3dea39ef, 0x35793c76 */
+invln2 = 1.44269504088896338700e+00,/* 0x3ff71547, 0x652b82fe */
+ /* scaled coefficients related to expm1 */
+Q1 = -3.33333333333331316428e-02, /* BFA11111 111110F4 */
+Q2 = 1.58730158725481460165e-03, /* 3F5A01A0 19FE5585 */
+Q3 = -7.93650757867487942473e-05, /* BF14CE19 9EAADBB7 */
+Q4 = 4.00821782732936239552e-06, /* 3ED0CFCA 86E65239 */
+Q5 = -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */
+
+#ifdef __STDC__
+ double expm1(double x)
+#else
+ double expm1(x)
+ double x;
+#endif
+{
+ double y,hi,lo,c,t,e,hxs,hfx,r1;
+ __int32_t k,xsb;
+ __uint32_t hx;
+
+ GET_HIGH_WORD(hx,x);
+ xsb = hx&0x80000000; /* sign bit of x */
+ if(xsb==0) y=x; else y= -x; /* y = |x| */
+ hx &= 0x7fffffff; /* high word of |x| */
+
+ /* filter out huge and non-finite argument */
+ if(hx >= 0x4043687A) { /* if |x|>=56*ln2 */
+ if(hx >= 0x40862E42) { /* if |x|>=709.78... */
+ if(hx>=0x7ff00000) {
+ __uint32_t low;
+ GET_LOW_WORD(low,x);
+ if(((hx&0xfffff)|low)!=0)
+ return x+x; /* NaN */
+ else return (xsb==0)? x:-1.0;/* exp(+-inf)={inf,-1} */
+ }
+ if(x > o_threshold) return huge*huge; /* overflow */
+ }
+ if(xsb!=0) { /* x < -56*ln2, return -1.0 with inexact */
+ if(x+tiny<0.0) /* raise inexact */
+ return tiny-one; /* return -1 */
+ }
+ }
+
+ /* argument reduction */
+ if(hx > 0x3fd62e42) { /* if |x| > 0.5 ln2 */
+ if(hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */
+ if(xsb==0)
+ {hi = x - ln2_hi; lo = ln2_lo; k = 1;}
+ else
+ {hi = x + ln2_hi; lo = -ln2_lo; k = -1;}
+ } else {
+ k = invln2*x+((xsb==0)?0.5:-0.5);
+ t = k;
+ hi = x - t*ln2_hi; /* t*ln2_hi is exact here */
+ lo = t*ln2_lo;
+ }
+ x = hi - lo;
+ c = (hi-x)-lo;
+ }
+ else if(hx < 0x3c900000) { /* when |x|<2**-54, return x */
+ t = huge+x; /* return x with inexact flags when x!=0 */
+ return x - (t-(huge+x));
+ }
+ else k = 0;
+
+ /* x is now in primary range */
+ hfx = 0.5*x;
+ hxs = x*hfx;
+ r1 = one+hxs*(Q1+hxs*(Q2+hxs*(Q3+hxs*(Q4+hxs*Q5))));
+ t = 3.0-r1*hfx;
+ e = hxs*((r1-t)/(6.0 - x*t));
+ if(k==0) return x - (x*e-hxs); /* c is 0 */
+ else {
+ e = (x*(e-c)-c);
+ e -= hxs;
+ if(k== -1) return 0.5*(x-e)-0.5;
+ if(k==1)
+ if(x < -0.25) return -2.0*(e-(x+0.5));
+ else return one+2.0*(x-e);
+ if (k <= -2 || k>56) { /* suffice to return exp(x)-1 */
+ __uint32_t high;
+ y = one-(e-x);
+ GET_HIGH_WORD(high,y);
+ SET_HIGH_WORD(y,high+(k<<20)); /* add k to y's exponent */
+ return y-one;
+ }
+ t = one;
+ if(k<20) {
+ __uint32_t high;
+ SET_HIGH_WORD(t,0x3ff00000 - (0x200000>>k)); /* t=1-2^-k */
+ y = t-(e-x);
+ GET_HIGH_WORD(high,y);
+ SET_HIGH_WORD(y,high+(k<<20)); /* add k to y's exponent */
+ } else {
+ __uint32_t high;
+ SET_HIGH_WORD(t,((0x3ff-k)<<20)); /* 2^-k */
+ y = x-(e+t);
+ y += one;
+ GET_HIGH_WORD(high,y);
+ SET_HIGH_WORD(y,high+(k<<20)); /* add k to y's exponent */
+ }
+ }
+ return y;
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/common/s_finite.c b/newlib/libm/common/s_finite.c
new file mode 100644
index 00000000000..17f4e849b47
--- /dev/null
+++ b/newlib/libm/common/s_finite.c
@@ -0,0 +1,35 @@
+
+/* @(#)s_finite.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * finite(x) returns 1 is x is finite, else 0;
+ * no branching!
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ int finite(double x)
+#else
+ int finite(x)
+ double x;
+#endif
+{
+ __int32_t hx;
+ GET_HIGH_WORD(hx,x);
+ return (int)((__uint32_t)((hx&0x7fffffff)-0x7ff00000)>>31);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/common/s_ilogb.c b/newlib/libm/common/s_ilogb.c
new file mode 100644
index 00000000000..4e3e69f1298
--- /dev/null
+++ b/newlib/libm/common/s_ilogb.c
@@ -0,0 +1,92 @@
+
+/* @(#)s_ilogb.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<ilogb>>, <<ilogbf>>---get exponent of floating point number
+INDEX
+ ilogb
+INDEX
+ ilogbf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ int ilogb(double <[val]>);
+ int ilogbf(float <[val]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ int ilogb(<[val]>)
+ double <[val]>;
+
+ int ilogbf(<[val]>)
+ float <[val]>;
+
+
+DESCRIPTION
+
+ All non zero, normal numbers can be described as <[m]> *
+ 2**<[p]>. <<ilogb>> and <<ilogbf>> examine the argument
+ <[val]>, and return <[p]>. The functions <<frexp>> and
+ <<frexpf>> are similar to <<ilogb>> and <<ilogbf>>, but also
+ return <[m]>.
+
+RETURNS
+
+<<ilogb>> and <<ilogbf>> return the power of two used to form the
+floating point argument. If <[val]> is <<0>>, they return <<-
+INT_MAX>> (<<INT_MAX>> is defined in limits.h). If <[val]> is
+infinite, or NaN, they return <<INT_MAX>>.
+
+PORTABILITY
+ Neither <<ilogb>> nor <<ilogbf>> is required by ANSI C or by
+ the System V Interface Definition (Issue 2). */
+
+/* ilogb(double x)
+ * return the binary exponent of non-zero x
+ * ilogb(0) = 0x80000001
+ * ilogb(inf/NaN) = 0x7fffffff (no signal is raised)
+ */
+
+#include "fdlibm.h"
+#include <limits.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ int ilogb(double x)
+#else
+ int ilogb(x)
+ double x;
+#endif
+{
+ __int32_t hx,lx,ix;
+
+ EXTRACT_WORDS(hx,lx,x);
+ hx &= 0x7fffffff;
+ if(hx<0x00100000) {
+ if((hx|lx)==0)
+ return - INT_MAX; /* ilogb(0) = 0x80000001 */
+ else /* subnormal x */
+ if(hx==0) {
+ for (ix = -1043; lx>0; lx<<=1) ix -=1;
+ } else {
+ for (ix = -1022,hx<<=11; hx>0; hx<<=1) ix -=1;
+ }
+ return ix;
+ }
+ else if (hx<0x7ff00000) return (hx>>20)-1023;
+ else return INT_MAX;
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/common/s_infinity.c b/newlib/libm/common/s_infinity.c
new file mode 100644
index 00000000000..6508216bd71
--- /dev/null
+++ b/newlib/libm/common/s_infinity.c
@@ -0,0 +1,48 @@
+/*
+ * infinity () returns the representation of infinity.
+ * Added by Cygnus Support.
+ */
+
+/*
+FUNCTION
+ <<infinity>>, <<infinityf>>---representation of infinity
+
+INDEX
+ infinity
+INDEX
+ infinityf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double infinity(void);
+ float infinityf(void);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double infinity();
+ float infinityf();
+
+
+DESCRIPTION
+ <<infinity>> and <<infinityf>> return the special number IEEE
+ infinity in double and single precision arithmetic
+ respectivly.
+
+QUICKREF
+ infinity - pure
+
+*/
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+ double infinity()
+{
+ double x;
+
+ INSERT_WORDS(x,0x7ff00000,0);
+ return x;
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/common/s_lib_ver.c b/newlib/libm/common/s_lib_ver.c
new file mode 100644
index 00000000000..d42f6240493
--- /dev/null
+++ b/newlib/libm/common/s_lib_ver.c
@@ -0,0 +1,35 @@
+
+/* @(#)s_lib_ver.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * MACRO for standards
+ */
+
+#include "fdlibm.h"
+
+/*
+ * define and initialize _LIB_VERSION
+ */
+#ifdef _POSIX_MODE
+_CONST _LIB_VERSION_TYPE _LIB_VERSION = _POSIX_;
+#else
+#ifdef _XOPEN_MODE
+_CONST _LIB_VERSION_TYPE _LIB_VERSION = _XOPEN_;
+#else
+#ifdef _SVID3_MODE
+_CONST _LIB_VERSION_TYPE _LIB_VERSION = _SVID_;
+#else /* default _IEEE_MODE */
+_CONST _LIB_VERSION_TYPE _LIB_VERSION = _IEEE_;
+#endif
+#endif
+#endif
diff --git a/newlib/libm/common/s_log1p.c b/newlib/libm/common/s_log1p.c
new file mode 100644
index 00000000000..3c3d4973398
--- /dev/null
+++ b/newlib/libm/common/s_log1p.c
@@ -0,0 +1,217 @@
+
+/* @(#)s_log1p.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+<<log1p>>, <<log1pf>>---log of <<1 + <[x]>>>
+
+INDEX
+ log1p
+INDEX
+ log1pf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double log1p(double <[x]>);
+ float log1pf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double log1p(<[x]>)
+ double <[x]>;
+
+ float log1pf(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+<<log1p>> calculates
+@tex
+$ln(1+x)$,
+@end tex
+the natural logarithm of <<1+<[x]>>>. You can use <<log1p>> rather
+than `<<log(1+<[x]>)>>' for greater precision when <[x]> is very
+small.
+
+<<log1pf>> calculates the same thing, but accepts and returns
+<<float>> values rather than <<double>>.
+
+RETURNS
+<<log1p>> returns a <<double>>, the natural log of <<1+<[x]>>>.
+<<log1pf>> returns a <<float>>, the natural log of <<1+<[x]>>>.
+
+PORTABILITY
+Neither <<log1p>> nor <<log1pf>> is required by ANSI C or by the System V
+Interface Definition (Issue 2).
+
+*/
+
+/* double log1p(double x)
+ *
+ * Method :
+ * 1. Argument Reduction: find k and f such that
+ * 1+x = 2^k * (1+f),
+ * where sqrt(2)/2 < 1+f < sqrt(2) .
+ *
+ * Note. If k=0, then f=x is exact. However, if k!=0, then f
+ * may not be representable exactly. In that case, a correction
+ * term is need. Let u=1+x rounded. Let c = (1+x)-u, then
+ * log(1+x) - log(u) ~ c/u. Thus, we proceed to compute log(u),
+ * and add back the correction term c/u.
+ * (Note: when x > 2**53, one can simply return log(x))
+ *
+ * 2. Approximation of log1p(f).
+ * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s)
+ * = 2s + 2/3 s**3 + 2/5 s**5 + .....,
+ * = 2s + s*R
+ * We use a special Reme algorithm on [0,0.1716] to generate
+ * a polynomial of degree 14 to approximate R The maximum error
+ * of this polynomial approximation is bounded by 2**-58.45. In
+ * other words,
+ * 2 4 6 8 10 12 14
+ * R(z) ~ Lp1*s +Lp2*s +Lp3*s +Lp4*s +Lp5*s +Lp6*s +Lp7*s
+ * (the values of Lp1 to Lp7 are listed in the program)
+ * and
+ * | 2 14 | -58.45
+ * | Lp1*s +...+Lp7*s - R(z) | <= 2
+ * | |
+ * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2.
+ * In order to guarantee error in log below 1ulp, we compute log
+ * by
+ * log1p(f) = f - (hfsq - s*(hfsq+R)).
+ *
+ * 3. Finally, log1p(x) = k*ln2 + log1p(f).
+ * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo)))
+ * Here ln2 is split into two floating point number:
+ * ln2_hi + ln2_lo,
+ * where n*ln2_hi is always exact for |n| < 2000.
+ *
+ * Special cases:
+ * log1p(x) is NaN with signal if x < -1 (including -INF) ;
+ * log1p(+INF) is +INF; log1p(-1) is -INF with signal;
+ * log1p(NaN) is that NaN with no signal.
+ *
+ * Accuracy:
+ * according to an error analysis, the error is always less than
+ * 1 ulp (unit in the last place).
+ *
+ * Constants:
+ * The hexadecimal values are the intended ones for the following
+ * constants. The decimal values may be used, provided that the
+ * compiler will convert from decimal to binary accurately enough
+ * to produce the hexadecimal values shown.
+ *
+ * Note: Assuming log() return accurate answer, the following
+ * algorithm can be used to compute log1p(x) to within a few ULP:
+ *
+ * u = 1+x;
+ * if(u==1.0) return x ; else
+ * return log(u)*(x/(u-1.0));
+ *
+ * See HP-15C Advanced Functions Handbook, p.193.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+ln2_hi = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */
+ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */
+two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */
+Lp1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */
+Lp2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */
+Lp3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */
+Lp4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */
+Lp5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */
+Lp6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */
+Lp7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */
+
+#ifdef __STDC__
+static const double zero = 0.0;
+#else
+static double zero = 0.0;
+#endif
+
+#ifdef __STDC__
+ double log1p(double x)
+#else
+ double log1p(x)
+ double x;
+#endif
+{
+ double hfsq,f,c,s,z,R,u;
+ __int32_t k,hx,hu,ax;
+
+ GET_HIGH_WORD(hx,x);
+ ax = hx&0x7fffffff;
+
+ k = 1;
+ if (hx < 0x3FDA827A) { /* x < 0.41422 */
+ if(ax>=0x3ff00000) { /* x <= -1.0 */
+ if(x==-1.0) return -two54/zero; /* log1p(-1)=+inf */
+ else return (x-x)/(x-x); /* log1p(x<-1)=NaN */
+ }
+ if(ax<0x3e200000) { /* |x| < 2**-29 */
+ if(two54+x>zero /* raise inexact */
+ &&ax<0x3c900000) /* |x| < 2**-54 */
+ return x;
+ else
+ return x - x*x*0.5;
+ }
+ if(hx>0||hx<=((__int32_t)0xbfd2bec3)) {
+ k=0;f=x;hu=1;} /* -0.2929<x<0.41422 */
+ }
+ if (hx >= 0x7ff00000) return x+x;
+ if(k!=0) {
+ if(hx<0x43400000) {
+ u = 1.0+x;
+ GET_HIGH_WORD(hu,u);
+ k = (hu>>20)-1023;
+ c = (k>0)? 1.0-(u-x):x-(u-1.0);/* correction term */
+ c /= u;
+ } else {
+ u = x;
+ GET_HIGH_WORD(hu,u);
+ k = (hu>>20)-1023;
+ c = 0;
+ }
+ hu &= 0x000fffff;
+ if(hu<0x6a09e) {
+ SET_HIGH_WORD(u,hu|0x3ff00000); /* normalize u */
+ } else {
+ k += 1;
+ SET_HIGH_WORD(u,hu|0x3fe00000); /* normalize u/2 */
+ hu = (0x00100000-hu)>>2;
+ }
+ f = u-1.0;
+ }
+ hfsq=0.5*f*f;
+ if(hu==0) { /* |f| < 2**-20 */
+ if(f==zero) if(k==0) return zero;
+ else {c += k*ln2_lo; return k*ln2_hi+c;}
+ R = hfsq*(1.0-0.66666666666666666*f);
+ if(k==0) return f-R; else
+ return k*ln2_hi-((R-(k*ln2_lo+c))-f);
+ }
+ s = f/(2.0+f);
+ z = s*s;
+ R = z*(Lp1+z*(Lp2+z*(Lp3+z*(Lp4+z*(Lp5+z*(Lp6+z*Lp7))))));
+ if(k==0) return f-(hfsq-s*(hfsq+R)); else
+ return k*ln2_hi-((hfsq-(s*(hfsq+R)+(k*ln2_lo+c)))-f);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/common/s_logb.c b/newlib/libm/common/s_logb.c
new file mode 100644
index 00000000000..dbddd19947d
--- /dev/null
+++ b/newlib/libm/common/s_logb.c
@@ -0,0 +1,42 @@
+
+/* @(#)s_logb.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * double logb(x)
+ * IEEE 754 logb. Included to pass IEEE test suite. Not recommend.
+ * Use ilogb instead.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double logb(double x)
+#else
+ double logb(x)
+ double x;
+#endif
+{
+ __int32_t lx,ix;
+ EXTRACT_WORDS(ix,lx,x);
+ ix &= 0x7fffffff; /* high |x| */
+ if((ix|lx)==0) return -1.0/fabs(x);
+ if(ix>=0x7ff00000) return x*x;
+ if((ix>>=20)==0) /* IEEE 754 logb */
+ return -1022.0;
+ else
+ return (double) (ix-1023);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/common/s_matherr.c b/newlib/libm/common/s_matherr.c
new file mode 100644
index 00000000000..58e24283455
--- /dev/null
+++ b/newlib/libm/common/s_matherr.c
@@ -0,0 +1,123 @@
+
+/* @(#)s_matherr.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+
+FUNCTION
+ <<matherr>>---modifiable math error handler
+
+INDEX
+ matherr
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ int matherr(struct exception *<[e]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ int matherr(*<[e]>)
+ struct exception *<[e]>;
+
+DESCRIPTION
+<<matherr>> is called whenever a math library function generates an error.
+You can replace <<matherr>> by your own subroutine to customize
+error treatment. The customized <<matherr>> must return 0 if
+it fails to resolve the error, and non-zero if the error is resolved.
+
+When <<matherr>> returns a nonzero value, no error message is printed
+and the value of <<errno>> is not modified. You can accomplish either
+or both of these things in your own <<matherr>> using the information
+passed in the structure <<*<[e]>>>.
+
+This is the <<exception>> structure (defined in `<<math.h>>'):
+. struct exception {
+. int type;
+. char *name;
+. double arg1, arg2, retval;
+. int err;
+. };
+
+The members of the exception structure have the following meanings:
+o+
+o type
+The type of mathematical error that occured; macros encoding error
+types are also defined in `<<math.h>>'.
+
+o name
+a pointer to a null-terminated string holding the
+name of the math library function where the error occurred.
+
+o arg1, arg2
+The arguments which caused the error.
+
+o retval
+The error return value (what the calling function will return).
+
+o err
+If set to be non-zero, this is the new value assigned to <<errno>>.
+o-
+
+The error types defined in `<<math.h>>' represent possible mathematical
+errors as follows:
+
+o+
+o DOMAIN
+An argument was not in the domain of the function; e.g. <<log(-1.0)>>.
+
+o SING
+The requested calculation would result in a singularity; e.g. <<pow(0.0,-2.0)>>
+
+o OVERFLOW
+A calculation would produce a result too large to represent; e.g.
+<<exp(1000.0)>>.
+
+o UNDERFLOW
+A calculation would produce a result too small to represent; e.g.
+<<exp(-1000.0)>>.
+
+o TLOSS
+Total loss of precision. The result would have no significant digits;
+e.g. <<sin(10e70)>>.
+
+o PLOSS
+Partial loss of precision.
+o-
+
+
+RETURNS
+The library definition for <<matherr>> returns <<0>> in all cases.
+
+You can change the calling function's result from a customized <<matherr>>
+by modifying <<e->retval>>, which propagates backs to the caller.
+
+If <<matherr>> returns <<0>> (indicating that it was not able to resolve
+the error) the caller sets <<errno>> to an appropriate value, and prints
+an error message.
+
+PORTABILITY
+<<matherr>> is not ANSI C.
+*/
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+ int matherr(struct exception *x)
+#else
+ int matherr(x)
+ struct exception *x;
+#endif
+{
+ int n=0;
+ if(x->arg1!=x->arg1) return 0;
+ return n;
+}
diff --git a/newlib/libm/common/s_modf.c b/newlib/libm/common/s_modf.c
new file mode 100644
index 00000000000..01151397d64
--- /dev/null
+++ b/newlib/libm/common/s_modf.c
@@ -0,0 +1,131 @@
+
+/* @(#)s_modf.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<modf>>, <<modff>>---split fractional and integer parts
+
+INDEX
+ modf
+INDEX
+ modff
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double modf(double <[val]>, double *<[ipart]>);
+ float modff(float <[val]>, float *<[ipart]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double modf(<[val]>, <[ipart]>)
+ double <[val]>;
+ double *<[ipart]>;
+
+ float modff(<[val]>, <[ipart]>)
+ float <[val]>;
+ float *<[ipart]>;
+
+DESCRIPTION
+ <<modf>> splits the double <[val]> apart into an integer part
+ and a fractional part, returning the fractional part and
+ storing the integer part in <<*<[ipart]>>>. No rounding
+ whatsoever is done; the sum of the integer and fractional
+ parts is guaranteed to be exactly equal to <[val]>. That
+ is, if . <[realpart]> = modf(<[val]>, &<[intpart]>); then
+ `<<<[realpart]>+<[intpart]>>>' is the same as <[val]>.
+ <<modff>> is identical, save that it takes and returns
+ <<float>> rather than <<double>> values.
+
+RETURNS
+ The fractional part is returned. Each result has the same
+ sign as the supplied argument <[val]>.
+
+PORTABILITY
+ <<modf>> is ANSI C. <<modff>> is an extension.
+
+QUICKREF
+ modf ansi pure
+ modff - pure
+
+*/
+
+/*
+ * modf(double x, double *iptr)
+ * return fraction part of x, and return x's integral part in *iptr.
+ * Method:
+ * Bit twiddling.
+ *
+ * Exception:
+ * No exception.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double one = 1.0;
+#else
+static double one = 1.0;
+#endif
+
+#ifdef __STDC__
+ double modf(double x, double *iptr)
+#else
+ double modf(x, iptr)
+ double x,*iptr;
+#endif
+{
+ __int32_t i0,i1,j0;
+ __uint32_t i;
+ EXTRACT_WORDS(i0,i1,x);
+ j0 = ((i0>>20)&0x7ff)-0x3ff; /* exponent of x */
+ if(j0<20) { /* integer part in high x */
+ if(j0<0) { /* |x|<1 */
+ INSERT_WORDS(*iptr,i0&0x80000000,0); /* *iptr = +-0 */
+ return x;
+ } else {
+ i = (0x000fffff)>>j0;
+ if(((i0&i)|i1)==0) { /* x is integral */
+ __uint32_t high;
+ *iptr = x;
+ GET_HIGH_WORD(high,x);
+ INSERT_WORDS(x,high&0x80000000,0); /* return +-0 */
+ return x;
+ } else {
+ INSERT_WORDS(*iptr,i0&(~i),0);
+ return x - *iptr;
+ }
+ }
+ } else if (j0>51) { /* no fraction part */
+ __uint32_t high;
+ *iptr = x*one;
+ GET_HIGH_WORD(high,x);
+ INSERT_WORDS(x,high&0x80000000,0); /* return +-0 */
+ return x;
+ } else { /* fraction part in low x */
+ i = ((__uint32_t)(0xffffffff))>>(j0-20);
+ if((i1&i)==0) { /* x is integral */
+ __uint32_t high;
+ *iptr = x;
+ GET_HIGH_WORD(high,x);
+ INSERT_WORDS(x,high&0x80000000,0); /* return +-0 */
+ return x;
+ } else {
+ INSERT_WORDS(*iptr,i0,i1&(~i));
+ return x - *iptr;
+ }
+ }
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/common/s_nan.c b/newlib/libm/common/s_nan.c
new file mode 100644
index 00000000000..f06242647c8
--- /dev/null
+++ b/newlib/libm/common/s_nan.c
@@ -0,0 +1,47 @@
+/*
+ * nan () returns a nan.
+ * Added by Cygnus Support.
+ */
+
+/*
+FUNCTION
+ <<nan>>, <<nanf>>---representation of infinity
+
+INDEX
+ nan
+INDEX
+ nanf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double nan(void);
+ float nanf(void);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double nan();
+ float nanf();
+
+
+DESCRIPTION
+ <<nan>> and <<nanf>> return an IEEE NaN (Not a Number) in
+ double and single precision arithmetic respectivly.
+
+QUICKREF
+ nan - pure
+
+*/
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+ double nan()
+{
+ double x;
+
+ INSERT_WORDS(x,0x7ff80000,0);
+ return x;
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/common/s_nextafter.c b/newlib/libm/common/s_nextafter.c
new file mode 100644
index 00000000000..82eb8e3edec
--- /dev/null
+++ b/newlib/libm/common/s_nextafter.c
@@ -0,0 +1,121 @@
+
+/* @(#)s_nextafter.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<nextafter>>, <<nextafterf>>---get next number
+
+INDEX
+ nextafter
+INDEX
+ nextafterf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double nextafter(double <[val]>, double <[dir]>);
+ float nextafterf(float <[val]>, float <[dir]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+
+ double nextafter(<[val]>, <[dir]>)
+ double <[val]>;
+ double <[exp]>;
+
+ float nextafter(<[val]>, <[dir]>)
+ float <[val]>;
+ float <[dir]>;
+
+
+DESCRIPTION
+<<nextafter>> returns the double) precision floating point number
+closest to <[val]> in the direction toward <[dir]>. <<nextafterf>>
+performs the same operation in single precision. For example,
+<<nextafter(0.0,1.0)>> returns the smallest positive number which is
+representable in double precision.
+
+RETURNS
+Returns the next closest number to <[val]> in the direction toward
+<[dir]>.
+
+PORTABILITY
+ Neither <<nextafter>> nor <<nextafterf>> is required by ANSI C
+ or by the System V Interface Definition (Issue 2).
+*/
+
+/* IEEE functions
+ * nextafter(x,y)
+ * return the next machine floating-point number of x in the
+ * direction toward y.
+ * Special cases:
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double nextafter(double x, double y)
+#else
+ double nextafter(x,y)
+ double x,y;
+#endif
+{
+ __int32_t hx,hy,ix,iy;
+ __uint32_t lx,ly;
+
+ EXTRACT_WORDS(hx,lx,x);
+ EXTRACT_WORDS(hy,ly,y);
+ ix = hx&0x7fffffff; /* |x| */
+ iy = hy&0x7fffffff; /* |y| */
+
+ if(((ix>=0x7ff00000)&&((ix-0x7ff00000)|lx)!=0) || /* x is nan */
+ ((iy>=0x7ff00000)&&((iy-0x7ff00000)|ly)!=0)) /* y is nan */
+ return x+y;
+ if(x==y) return x; /* x=y, return x */
+ if((ix|lx)==0) { /* x == 0 */
+ INSERT_WORDS(x,hy&0x80000000,1); /* return +-minsubnormal */
+ y = x*x;
+ if(y==x) return y; else return x; /* raise underflow flag */
+ }
+ if(hx>=0) { /* x > 0 */
+ if(hx>hy||((hx==hy)&&(lx>ly))) { /* x > y, x -= ulp */
+ if(lx==0) hx -= 1;
+ lx -= 1;
+ } else { /* x < y, x += ulp */
+ lx += 1;
+ if(lx==0) hx += 1;
+ }
+ } else { /* x < 0 */
+ if(hy>=0||hx>hy||((hx==hy)&&(lx>ly))){/* x < y, x -= ulp */
+ if(lx==0) hx -= 1;
+ lx -= 1;
+ } else { /* x > y, x += ulp */
+ lx += 1;
+ if(lx==0) hx += 1;
+ }
+ }
+ hy = hx&0x7ff00000;
+ if(hy>=0x7ff00000) return x+x; /* overflow */
+ if(hy<0x00100000) { /* underflow */
+ y = x*x;
+ if(y!=x) { /* raise underflow flag */
+ INSERT_WORDS(y,hx,lx);
+ return y;
+ }
+ }
+ INSERT_WORDS(x,hx,lx);
+ return x;
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/common/s_rint.c b/newlib/libm/common/s_rint.c
new file mode 100644
index 00000000000..ba33e47865a
--- /dev/null
+++ b/newlib/libm/common/s_rint.c
@@ -0,0 +1,90 @@
+
+/* @(#)s_rint.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * rint(x)
+ * Return x rounded to integral value according to the prevailing
+ * rounding mode.
+ * Method:
+ * Using floating addition.
+ * Exception:
+ * Inexact flag raised if x not equal to rint(x).
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+TWO52[2]={
+ 4.50359962737049600000e+15, /* 0x43300000, 0x00000000 */
+ -4.50359962737049600000e+15, /* 0xC3300000, 0x00000000 */
+};
+
+#ifdef __STDC__
+ double rint(double x)
+#else
+ double rint(x)
+ double x;
+#endif
+{
+ __int32_t i0,j0,sx;
+ __uint32_t i,i1;
+ double t;
+ volatile double w;
+ EXTRACT_WORDS(i0,i1,x);
+ sx = (i0>>31)&1;
+ j0 = ((i0>>20)&0x7ff)-0x3ff;
+ if(j0<20) {
+ if(j0<0) {
+ if(((i0&0x7fffffff)|i1)==0) return x;
+ i1 |= (i0&0x0fffff);
+ i0 &= 0xfffe0000;
+ i0 |= ((i1|-i1)>>12)&0x80000;
+ SET_HIGH_WORD(x,i0);
+ w = TWO52[sx]+x;
+ t = w-TWO52[sx];
+ GET_HIGH_WORD(i0,t);
+ SET_HIGH_WORD(t,(i0&0x7fffffff)|(sx<<31));
+ return t;
+ } else {
+ i = (0x000fffff)>>j0;
+ if(((i0&i)|i1)==0) return x; /* x is integral */
+ i>>=1;
+ if(((i0&i)|i1)!=0) {
+ if(j0==19) i1 = 0x40000000; else
+ i0 = (i0&(~i))|((0x20000)>>j0);
+ }
+ }
+ } else if (j0>51) {
+ if(j0==0x400) return x+x; /* inf or NaN */
+ else return x; /* x is integral */
+ } else {
+ i = ((__uint32_t)(0xffffffff))>>(j0-20);
+ if((i1&i)==0) return x; /* x is integral */
+ i>>=1;
+ if((i1&i)!=0) i1 = (i1&(~i))|((0x40000000)>>(j0-20));
+ }
+ INSERT_WORDS(x,i0,i1);
+ w = TWO52[sx]+x;
+ return w-TWO52[sx];
+}
+
+#endif /* _DOUBLE_IS_32BITS */
+
+
+
diff --git a/newlib/libm/common/s_scalbn.c b/newlib/libm/common/s_scalbn.c
new file mode 100644
index 00000000000..245888fc823
--- /dev/null
+++ b/newlib/libm/common/s_scalbn.c
@@ -0,0 +1,103 @@
+
+/* @(#)s_scalbn.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+<<scalbn>>, <<scalbnf>>---scale by integer
+INDEX
+ scalbn
+INDEX
+ scalbnf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double scalbn(double <[x]>, int <[y]>);
+ float scalbnf(float <[x]>, int <[y]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double scalbn(<[x]>,<[y]>)
+ double <[x]>;
+ int <[y]>;
+ float scalbnf(<[x]>,<[y]>)
+ float <[x]>;
+ int <[y]>;
+
+DESCRIPTION
+<<scalbn>> and <<scalbnf>> scale <[x]> by <[n]>, returning <[x]> times
+2 to the power <[n]>. The result is computed by manipulating the
+exponent, rather than by actually performing an exponentiation or
+multiplication.
+
+RETURNS
+<[x]> times 2 to the power <[n]>.
+
+PORTABILITY
+Neither <<scalbn>> nor <<scalbnf>> is required by ANSI C or by the System V
+Interface Definition (Issue 2).
+
+*/
+
+/*
+ * scalbn (double x, int n)
+ * scalbn(x,n) returns x* 2**n computed by exponent
+ * manipulation rather than by actually performing an
+ * exponentiation or a multiplication.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+two54 = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */
+twom54 = 5.55111512312578270212e-17, /* 0x3C900000, 0x00000000 */
+huge = 1.0e+300,
+tiny = 1.0e-300;
+
+#ifdef __STDC__
+ double scalbn (double x, int n)
+#else
+ double scalbn (x,n)
+ double x; int n;
+#endif
+{
+ __int32_t k,hx,lx;
+ EXTRACT_WORDS(hx,lx,x);
+ k = (hx&0x7ff00000)>>20; /* extract exponent */
+ if (k==0) { /* 0 or subnormal x */
+ if ((lx|(hx&0x7fffffff))==0) return x; /* +-0 */
+ x *= two54;
+ GET_HIGH_WORD(hx,x);
+ k = ((hx&0x7ff00000)>>20) - 54;
+ if (n< -50000) return tiny*x; /*underflow*/
+ }
+ if (k==0x7ff) return x+x; /* NaN or Inf */
+ k = k+n;
+ if (k > 0x7fe) return huge*copysign(huge,x); /* overflow */
+ if (k > 0) /* normal result */
+ {SET_HIGH_WORD(x,(hx&0x800fffff)|(k<<20)); return x;}
+ if (k <= -54)
+ if (n > 50000) /* in case integer overflow in n+k */
+ return huge*copysign(huge,x); /*overflow*/
+ else return tiny*copysign(tiny,x); /*underflow*/
+ k += 54; /* subnormal result */
+ SET_HIGH_WORD(x,(hx&0x800fffff)|(k<<20));
+ return x*twom54;
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/common/sf_cbrt.c b/newlib/libm/common/sf_cbrt.c
new file mode 100644
index 00000000000..c053d9548ba
--- /dev/null
+++ b/newlib/libm/common/sf_cbrt.c
@@ -0,0 +1,93 @@
+/* sf_cbrt.c -- float version of s_cbrt.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+#include "fdlibm.h"
+
+/* cbrtf(x)
+ * Return cube root of x
+ */
+#ifdef __STDC__
+static const __uint32_t
+#else
+static __uint32_t
+#endif
+ B1 = 709958130, /* B1 = (84+2/3-0.03306235651)*2**23 */
+ B2 = 642849266; /* B2 = (76+2/3-0.03306235651)*2**23 */
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+C = 5.4285717010e-01, /* 19/35 = 0x3f0af8b0 */
+D = -7.0530611277e-01, /* -864/1225 = 0xbf348ef1 */
+E = 1.4142856598e+00, /* 99/70 = 0x3fb50750 */
+F = 1.6071428061e+00, /* 45/28 = 0x3fcdb6db */
+G = 3.5714286566e-01; /* 5/14 = 0x3eb6db6e */
+
+#ifdef __STDC__
+ float cbrtf(float x)
+#else
+ float cbrtf(x)
+ float x;
+#endif
+{
+ __int32_t hx;
+ float r,s,t;
+ __uint32_t sign;
+ __uint32_t high;
+
+ GET_FLOAT_WORD(hx,x);
+ sign=hx&0x80000000; /* sign= sign(x) */
+ hx ^=sign;
+ if(hx>=0x7f800000) return(x+x); /* cbrt(NaN,INF) is itself */
+ if(hx==0)
+ return(x); /* cbrt(0) is itself */
+
+ SET_FLOAT_WORD(x,hx); /* x <- |x| */
+ /* rough cbrt to 5 bits */
+ if(hx<0x00800000) /* subnormal number */
+ {SET_FLOAT_WORD(t,0x4b800000); /* set t= 2**24 */
+ t*=x; GET_FLOAT_WORD(high,t); SET_FLOAT_WORD(t,high/3+B2);
+ }
+ else
+ SET_FLOAT_WORD(t,hx/3+B1);
+
+
+ /* new cbrt to 23 bits */
+ r=t*t/x;
+ s=C+r*t;
+ t*=G+F/(s+E+D/s);
+
+ /* retore the sign bit */
+ GET_FLOAT_WORD(high,t);
+ SET_FLOAT_WORD(t,high|sign);
+ return(t);
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double cbrt(double x)
+#else
+ double cbrt(x)
+ double x;
+#endif
+{
+ return (double) cbrtf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/common/sf_copysign.c b/newlib/libm/common/sf_copysign.c
new file mode 100644
index 00000000000..f547c82ed1f
--- /dev/null
+++ b/newlib/libm/common/sf_copysign.c
@@ -0,0 +1,50 @@
+/* sf_copysign.c -- float version of s_copysign.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * copysignf(float x, float y)
+ * copysignf(x,y) returns a value with the magnitude of x and
+ * with the sign bit of y.
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+ float copysignf(float x, float y)
+#else
+ float copysignf(x,y)
+ float x,y;
+#endif
+{
+ __uint32_t ix,iy;
+ GET_FLOAT_WORD(ix,x);
+ GET_FLOAT_WORD(iy,y);
+ SET_FLOAT_WORD(x,(ix&0x7fffffff)|(iy&0x80000000));
+ return x;
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double copysign(double x, double y)
+#else
+ double copysign(x,y)
+ double x,y;
+#endif
+{
+ return (double) copysignf((float) x, (float) y);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/common/sf_expm1.c b/newlib/libm/common/sf_expm1.c
new file mode 100644
index 00000000000..1df6f80d211
--- /dev/null
+++ b/newlib/libm/common/sf_expm1.c
@@ -0,0 +1,146 @@
+/* sf_expm1.c -- float version of s_expm1.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __v810__
+#define const
+#endif
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+one = 1.0,
+huge = 1.0e+30,
+tiny = 1.0e-30,
+o_threshold = 8.8721679688e+01,/* 0x42b17180 */
+ln2_hi = 6.9313812256e-01,/* 0x3f317180 */
+ln2_lo = 9.0580006145e-06,/* 0x3717f7d1 */
+invln2 = 1.4426950216e+00,/* 0x3fb8aa3b */
+ /* scaled coefficients related to expm1 */
+Q1 = -3.3333335072e-02, /* 0xbd088889 */
+Q2 = 1.5873016091e-03, /* 0x3ad00d01 */
+Q3 = -7.9365076090e-05, /* 0xb8a670cd */
+Q4 = 4.0082177293e-06, /* 0x36867e54 */
+Q5 = -2.0109921195e-07; /* 0xb457edbb */
+
+#ifdef __STDC__
+ float expm1f(float x)
+#else
+ float expm1f(x)
+ float x;
+#endif
+{
+ float y,hi,lo,c,t,e,hxs,hfx,r1;
+ __int32_t k,xsb;
+ __uint32_t hx;
+
+ GET_FLOAT_WORD(hx,x);
+ xsb = hx&0x80000000; /* sign bit of x */
+ if(xsb==0) y=x; else y= -x; /* y = |x| */
+ hx &= 0x7fffffff; /* high word of |x| */
+
+ /* filter out huge and non-finite argument */
+ if(hx >= 0x4195b844) { /* if |x|>=27*ln2 */
+ if(hx >= 0x42b17218) { /* if |x|>=88.721... */
+ if(hx>0x7f800000)
+ return x+x; /* NaN */
+ if(hx==0x7f800000)
+ return (xsb==0)? x:-1.0;/* exp(+-inf)={inf,-1} */
+ if(x > o_threshold) return huge*huge; /* overflow */
+ }
+ if(xsb!=0) { /* x < -27*ln2, return -1.0 with inexact */
+ if(x+tiny<(float)0.0) /* raise inexact */
+ return tiny-one; /* return -1 */
+ }
+ }
+
+ /* argument reduction */
+ if(hx > 0x3eb17218) { /* if |x| > 0.5 ln2 */
+ if(hx < 0x3F851592) { /* and |x| < 1.5 ln2 */
+ if(xsb==0)
+ {hi = x - ln2_hi; lo = ln2_lo; k = 1;}
+ else
+ {hi = x + ln2_hi; lo = -ln2_lo; k = -1;}
+ } else {
+ k = invln2*x+((xsb==0)?(float)0.5:(float)-0.5);
+ t = k;
+ hi = x - t*ln2_hi; /* t*ln2_hi is exact here */
+ lo = t*ln2_lo;
+ }
+ x = hi - lo;
+ c = (hi-x)-lo;
+ }
+ else if(hx < 0x33000000) { /* when |x|<2**-25, return x */
+ t = huge+x; /* return x with inexact flags when x!=0 */
+ return x - (t-(huge+x));
+ }
+ else k = 0;
+
+ /* x is now in primary range */
+ hfx = (float)0.5*x;
+ hxs = x*hfx;
+ r1 = one+hxs*(Q1+hxs*(Q2+hxs*(Q3+hxs*(Q4+hxs*Q5))));
+ t = (float)3.0-r1*hfx;
+ e = hxs*((r1-t)/((float)6.0 - x*t));
+ if(k==0) return x - (x*e-hxs); /* c is 0 */
+ else {
+ e = (x*(e-c)-c);
+ e -= hxs;
+ if(k== -1) return (float)0.5*(x-e)-(float)0.5;
+ if(k==1)
+ if(x < (float)-0.25) return -(float)2.0*(e-(x+(float)0.5));
+ else return one+(float)2.0*(x-e);
+ if (k <= -2 || k>56) { /* suffice to return exp(x)-1 */
+ __int32_t i;
+ y = one-(e-x);
+ GET_FLOAT_WORD(i,y);
+ SET_FLOAT_WORD(y,i+(k<<23)); /* add k to y's exponent */
+ return y-one;
+ }
+ t = one;
+ if(k<23) {
+ __int32_t i;
+ SET_FLOAT_WORD(t,0x3f800000 - (0x1000000>>k)); /* t=1-2^-k */
+ y = t-(e-x);
+ GET_FLOAT_WORD(i,y);
+ SET_FLOAT_WORD(y,i+(k<<23)); /* add k to y's exponent */
+ } else {
+ __int32_t i;
+ SET_FLOAT_WORD(t,((0x7f-k)<<23)); /* 2^-k */
+ y = x-(e+t);
+ y += one;
+ GET_FLOAT_WORD(i,y);
+ SET_FLOAT_WORD(y,i+(k<<23)); /* add k to y's exponent */
+ }
+ }
+ return y;
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double expm1(double x)
+#else
+ double expm1(x)
+ double x;
+#endif
+{
+ return (double) expm1f((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/common/sf_finite.c b/newlib/libm/common/sf_finite.c
new file mode 100644
index 00000000000..4c48f400fdf
--- /dev/null
+++ b/newlib/libm/common/sf_finite.c
@@ -0,0 +1,47 @@
+/* sf_finite.c -- float version of s_finite.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * finitef(x) returns 1 is x is finite, else 0;
+ * no branching!
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+ int finitef(float x)
+#else
+ int finitef(x)
+ float x;
+#endif
+{
+ __int32_t ix;
+ GET_FLOAT_WORD(ix,x);
+ return (int)((__uint32_t)((ix&0x7fffffff)-0x7f800000)>>31);
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ int finite(double x)
+#else
+ int finite(x)
+ double x;
+#endif
+{
+ return finitef((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/common/sf_ilogb.c b/newlib/libm/common/sf_ilogb.c
new file mode 100644
index 00000000000..ee65594b152
--- /dev/null
+++ b/newlib/libm/common/sf_ilogb.c
@@ -0,0 +1,53 @@
+/* sf_ilogb.c -- float version of s_ilogb.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+#include <limits.h>
+
+#ifdef __STDC__
+ int ilogbf(float x)
+#else
+ int ilogbf(x)
+ float x;
+#endif
+{
+ __int32_t hx,ix;
+
+ GET_FLOAT_WORD(hx,x);
+ hx &= 0x7fffffff;
+ if(hx<0x00800000) {
+ if(hx==0)
+ return - INT_MAX; /* ilogb(0) = 0x80000001 */
+ else /* subnormal x */
+ for (ix = -126,hx<<=8; hx>0; hx<<=1) ix -=1;
+ return ix;
+ }
+ else if (hx<0x7f800000) return (hx>>23)-127;
+ else return INT_MAX;
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ int ilogb(double x)
+#else
+ int ilogb(x)
+ double x;
+#endif
+{
+ return ilogbf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/common/sf_infinity.c b/newlib/libm/common/sf_infinity.c
new file mode 100644
index 00000000000..8722596c978
--- /dev/null
+++ b/newlib/libm/common/sf_infinity.c
@@ -0,0 +1,23 @@
+/*
+ * infinityf () returns the representation of infinity.
+ * Added by Cygnus Support.
+ */
+
+#include "fdlibm.h"
+
+ float infinityf()
+{
+ float x;
+
+ SET_FLOAT_WORD(x,0x7f800000);
+ return x;
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+ double infinity()
+{
+ return (double) infinityf();
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/common/sf_log1p.c b/newlib/libm/common/sf_log1p.c
new file mode 100644
index 00000000000..31c426fe749
--- /dev/null
+++ b/newlib/libm/common/sf_log1p.c
@@ -0,0 +1,121 @@
+/* sf_log1p.c -- float version of s_log1p.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+ln2_hi = 6.9313812256e-01, /* 0x3f317180 */
+ln2_lo = 9.0580006145e-06, /* 0x3717f7d1 */
+two25 = 3.355443200e+07, /* 0x4c000000 */
+Lp1 = 6.6666668653e-01, /* 3F2AAAAB */
+Lp2 = 4.0000000596e-01, /* 3ECCCCCD */
+Lp3 = 2.8571429849e-01, /* 3E924925 */
+Lp4 = 2.2222198546e-01, /* 3E638E29 */
+Lp5 = 1.8183572590e-01, /* 3E3A3325 */
+Lp6 = 1.5313838422e-01, /* 3E1CD04F */
+Lp7 = 1.4798198640e-01; /* 3E178897 */
+
+#ifdef __STDC__
+static const float zero = 0.0;
+#else
+static float zero = 0.0;
+#endif
+
+#ifdef __STDC__
+ float log1pf(float x)
+#else
+ float log1pf(x)
+ float x;
+#endif
+{
+ float hfsq,f,c,s,z,R,u;
+ __int32_t k,hx,hu,ax;
+
+ GET_FLOAT_WORD(hx,x);
+ ax = hx&0x7fffffff;
+
+ k = 1;
+ if (hx < 0x3ed413d7) { /* x < 0.41422 */
+ if(ax>=0x3f800000) { /* x <= -1.0 */
+ if(x==(float)-1.0) return -two25/zero; /* log1p(-1)=+inf */
+ else return (x-x)/(x-x); /* log1p(x<-1)=NaN */
+ }
+ if(ax<0x31000000) { /* |x| < 2**-29 */
+ if(two25+x>zero /* raise inexact */
+ &&ax<0x24800000) /* |x| < 2**-54 */
+ return x;
+ else
+ return x - x*x*(float)0.5;
+ }
+ if(hx>0||hx<=((__int32_t)0xbe95f61f)) {
+ k=0;f=x;hu=1;} /* -0.2929<x<0.41422 */
+ }
+ if (hx >= 0x7f800000) return x+x;
+ if(k!=0) {
+ if(hx<0x5a000000) {
+ u = (float)1.0+x;
+ GET_FLOAT_WORD(hu,u);
+ k = (hu>>23)-127;
+ /* correction term */
+ c = (k>0)? (float)1.0-(u-x):x-(u-(float)1.0);
+ c /= u;
+ } else {
+ u = x;
+ GET_FLOAT_WORD(hu,u);
+ k = (hu>>23)-127;
+ c = 0;
+ }
+ hu &= 0x007fffff;
+ if(hu<0x3504f7) {
+ SET_FLOAT_WORD(u,hu|0x3f800000);/* normalize u */
+ } else {
+ k += 1;
+ SET_FLOAT_WORD(u,hu|0x3f000000); /* normalize u/2 */
+ hu = (0x00800000-hu)>>2;
+ }
+ f = u-(float)1.0;
+ }
+ hfsq=(float)0.5*f*f;
+ if(hu==0) { /* |f| < 2**-20 */
+ if(f==zero) if(k==0) return zero;
+ else {c += k*ln2_lo; return k*ln2_hi+c;}
+ R = hfsq*((float)1.0-(float)0.66666666666666666*f);
+ if(k==0) return f-R; else
+ return k*ln2_hi-((R-(k*ln2_lo+c))-f);
+ }
+ s = f/((float)2.0+f);
+ z = s*s;
+ R = z*(Lp1+z*(Lp2+z*(Lp3+z*(Lp4+z*(Lp5+z*(Lp6+z*Lp7))))));
+ if(k==0) return f-(hfsq-s*(hfsq+R)); else
+ return k*ln2_hi-((hfsq-(s*(hfsq+R)+(k*ln2_lo+c)))-f);
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double log1p(double x)
+#else
+ double log1p(x)
+ double x;
+#endif
+{
+ return (double) log1pf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/common/sf_logb.c b/newlib/libm/common/sf_logb.c
new file mode 100644
index 00000000000..6e67637fe92
--- /dev/null
+++ b/newlib/libm/common/sf_logb.c
@@ -0,0 +1,48 @@
+/* sf_logb.c -- float version of s_logb.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+ float logbf(float x)
+#else
+ float logbf(x)
+ float x;
+#endif
+{
+ __int32_t ix;
+ GET_FLOAT_WORD(ix,x);
+ ix &= 0x7fffffff; /* high |x| */
+ if(ix==0) return (float)-1.0/fabsf(x);
+ if(ix>=0x7f800000) return x*x;
+ if((ix>>=23)==0) /* IEEE 754 logb */
+ return -126.0;
+ else
+ return (float) (ix-127);
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double logb(double x)
+#else
+ double logb(x)
+ double x;
+#endif
+{
+ return (double) logbf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/common/sf_modf.c b/newlib/libm/common/sf_modf.c
new file mode 100644
index 00000000000..6c64e3fa02f
--- /dev/null
+++ b/newlib/libm/common/sf_modf.c
@@ -0,0 +1,73 @@
+/* sf_modf.c -- float version of s_modf.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float one = 1.0;
+#else
+static float one = 1.0;
+#endif
+
+#ifdef __STDC__
+ float modff(float x, float *iptr)
+#else
+ float modff(x, iptr)
+ float x,*iptr;
+#endif
+{
+ __int32_t i0,j0;
+ __uint32_t i;
+ GET_FLOAT_WORD(i0,x);
+ j0 = ((i0>>23)&0xff)-0x7f; /* exponent of x */
+ if(j0<23) { /* integer part in x */
+ if(j0<0) { /* |x|<1 */
+ SET_FLOAT_WORD(*iptr,i0&0x80000000); /* *iptr = +-0 */
+ return x;
+ } else {
+ i = (0x007fffff)>>j0;
+ if((i0&i)==0) { /* x is integral */
+ __uint32_t ix;
+ *iptr = x;
+ GET_FLOAT_WORD(ix,x);
+ SET_FLOAT_WORD(x,ix&0x80000000); /* return +-0 */
+ return x;
+ } else {
+ SET_FLOAT_WORD(*iptr,i0&(~i));
+ return x - *iptr;
+ }
+ }
+ } else { /* no fraction part */
+ __uint32_t ix;
+ *iptr = x*one;
+ GET_FLOAT_WORD(ix,x);
+ SET_FLOAT_WORD(x,ix&0x80000000); /* return +-0 */
+ return x;
+ }
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double modf(double x, double *iptr)
+#else
+ double modf(x, iptr)
+ double x,*iptr;
+#endif
+{
+ return (double) modff((float) x, (float *) iptr);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/common/sf_nan.c b/newlib/libm/common/sf_nan.c
new file mode 100644
index 00000000000..cb3e1cd03a0
--- /dev/null
+++ b/newlib/libm/common/sf_nan.c
@@ -0,0 +1,23 @@
+/*
+ * nanf () returns a nan.
+ * Added by Cygnus Support.
+ */
+
+#include "fdlibm.h"
+
+ float nanf()
+{
+ float x;
+
+ SET_FLOAT_WORD(x,0x7fc00000);
+ return x;
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+ double nan()
+{
+ return (double) nanf();
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/common/sf_nextafter.c b/newlib/libm/common/sf_nextafter.c
new file mode 100644
index 00000000000..cd938d33977
--- /dev/null
+++ b/newlib/libm/common/sf_nextafter.c
@@ -0,0 +1,79 @@
+/* sf_nextafter.c -- float version of s_nextafter.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+ float nextafterf(float x, float y)
+#else
+ float nextafterf(x,y)
+ float x,y;
+#endif
+{
+ __int32_t hx,hy,ix,iy;
+
+ GET_FLOAT_WORD(hx,x);
+ GET_FLOAT_WORD(hy,y);
+ ix = hx&0x7fffffff; /* |x| */
+ iy = hy&0x7fffffff; /* |y| */
+
+ if((ix>0x7f800000) || /* x is nan */
+ (iy>0x7f800000)) /* y is nan */
+ return x+y;
+ if(x==y) return x; /* x=y, return x */
+ if(ix==0) { /* x == 0 */
+ SET_FLOAT_WORD(x,(hy&0x80000000)|1);/* return +-minsubnormal */
+ y = x*x;
+ if(y==x) return y; else return x; /* raise underflow flag */
+ }
+ if(hx>=0) { /* x > 0 */
+ if(hx>hy) { /* x > y, x -= ulp */
+ hx -= 1;
+ } else { /* x < y, x += ulp */
+ hx += 1;
+ }
+ } else { /* x < 0 */
+ if(hy>=0||hx>hy){ /* x < y, x -= ulp */
+ hx -= 1;
+ } else { /* x > y, x += ulp */
+ hx += 1;
+ }
+ }
+ hy = hx&0x7f800000;
+ if(hy>=0x7f800000) return x+x; /* overflow */
+ if(hy<0x00800000) { /* underflow */
+ y = x*x;
+ if(y!=x) { /* raise underflow flag */
+ SET_FLOAT_WORD(y,hx);
+ return y;
+ }
+ }
+ SET_FLOAT_WORD(x,hx);
+ return x;
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double nextafter(double x, double y)
+#else
+ double nextafter(x,y)
+ double x,y;
+#endif
+{
+ return (double) nextafterf((float) x, (float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/common/sf_rint.c b/newlib/libm/common/sf_rint.c
new file mode 100644
index 00000000000..d38080a5dc8
--- /dev/null
+++ b/newlib/libm/common/sf_rint.c
@@ -0,0 +1,81 @@
+/* sf_rint.c -- float version of s_rint.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+TWO23[2]={
+ 8.3886080000e+06, /* 0x4b000000 */
+ -8.3886080000e+06, /* 0xcb000000 */
+};
+
+#ifdef __STDC__
+ float rintf(float x)
+#else
+ float rintf(x)
+ float x;
+#endif
+{
+ __int32_t i0,j0,sx;
+ __uint32_t i,i1;
+ float t;
+ volatile float w;
+ GET_FLOAT_WORD(i0,x);
+ sx = (i0>>31)&1;
+ j0 = ((i0>>23)&0xff)-0x7f;
+ if(j0<23) {
+ if(j0<0) {
+ if((i0&0x7fffffff)==0) return x;
+ i1 = (i0&0x07fffff);
+ i0 &= 0xfff00000;
+ i0 |= ((i1|-i1)>>9)&0x400000;
+ SET_FLOAT_WORD(x,i0);
+ w = TWO23[sx]+x;
+ t = w-TWO23[sx];
+ GET_FLOAT_WORD(i0,t);
+ SET_FLOAT_WORD(t,(i0&0x7fffffff)|(sx<<31));
+ return t;
+ } else {
+ i = (0x007fffff)>>j0;
+ if((i0&i)==0) return x; /* x is integral */
+ i>>=1;
+ if((i0&i)!=0) i0 = (i0&(~i))|((0x100000)>>j0);
+ }
+ } else {
+ if(j0==0x80) return x+x; /* inf or NaN */
+ else return x; /* x is integral */
+ }
+ SET_FLOAT_WORD(x,i0);
+ w = TWO23[sx]+x;
+ return w-TWO23[sx];
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double rint(double x)
+#else
+ double rint(x)
+ double x;
+#endif
+{
+ return (double) rintf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/common/sf_scalbn.c b/newlib/libm/common/sf_scalbn.c
new file mode 100644
index 00000000000..ee65f40ad64
--- /dev/null
+++ b/newlib/libm/common/sf_scalbn.c
@@ -0,0 +1,79 @@
+/* sf_scalbn.c -- float version of s_scalbn.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+#include <limits.h>
+
+#if INT_MAX > 50000
+#define OVERFLOW_INT 50000
+#else
+#define OVERFLOW_INT 30000
+#endif
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+two25 = 3.355443200e+07, /* 0x4c000000 */
+twom25 = 2.9802322388e-08, /* 0x33000000 */
+huge = 1.0e+30,
+tiny = 1.0e-30;
+
+#ifdef __STDC__
+ float scalbnf (float x, int n)
+#else
+ float scalbnf (x,n)
+ float x; int n;
+#endif
+{
+ __int32_t k,ix;
+ GET_FLOAT_WORD(ix,x);
+ k = (ix&0x7f800000)>>23; /* extract exponent */
+ if (k==0) { /* 0 or subnormal x */
+ if ((ix&0x7fffffff)==0) return x; /* +-0 */
+ x *= two25;
+ GET_FLOAT_WORD(ix,x);
+ k = ((ix&0x7f800000)>>23) - 25;
+ if (n< -50000) return tiny*x; /*underflow*/
+ }
+ if (k==0xff) return x+x; /* NaN or Inf */
+ k = k+n;
+ if (k > 0xfe) return huge*copysignf(huge,x); /* overflow */
+ if (k > 0) /* normal result */
+ {SET_FLOAT_WORD(x,(ix&0x807fffff)|(k<<23)); return x;}
+ if (k <= -25)
+ if (n > OVERFLOW_INT) /* in case integer overflow in n+k */
+ return huge*copysignf(huge,x); /*overflow*/
+ else return tiny*copysignf(tiny,x); /*underflow*/
+ k += 25; /* subnormal result */
+ SET_FLOAT_WORD(x,(ix&0x807fffff)|(k<<23));
+ return x*twom25;
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double scalbn(double x, int n)
+#else
+ double scalbn(x,n)
+ double x;
+ int n;
+#endif
+{
+ return (double) scalbnf((float) x, n);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/config.h.in b/newlib/libm/config.h.in
new file mode 100644
index 00000000000..61025bcef7b
--- /dev/null
+++ b/newlib/libm/config.h.in
@@ -0,0 +1 @@
+/* config.h.in. Generated automatically from configure.in by autoheader. */
diff --git a/newlib/libm/configure b/newlib/libm/configure
new file mode 100755
index 00000000000..93461c10e50
--- /dev/null
+++ b/newlib/libm/configure
@@ -0,0 +1,1713 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --enable-newlib-hw-fp Turn on hardware floating point math"
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-target-optspace optimize for space"
+ac_help="$ac_help
+ --enable-newlib-mb enable multibyte support"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+sitefile=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --site-file=FILE use FILE as the site file
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
+ ac_prev=sitefile ;;
+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
+ sitefile="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=libm.texinfo
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$sitefile"; then
+ if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+ fi
+else
+ CONFIG_SITE="$sitefile"
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+# Check whether --enable-newlib_hw_fp or --disable-newlib_hw_fp was given.
+if test "${enable_newlib_hw_fp+set}" = set; then
+ enableval="$enable_newlib_hw_fp"
+ case "${enableval}" in
+ yes) newlib_hw_fp=true ;;
+ no) newlib_hw_fp=false ;;
+ *) { echo "configure: error: bad value ${enableval} for --enable-newlib-hw-fp" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_hw_fp=false
+fi
+
+
+
+if test x$newlib_hw_fp = xtrue; then
+ NEWLIB_HW_FP_TRUE=
+ NEWLIB_HW_FP_FALSE='#'
+else
+ NEWLIB_HW_FP_TRUE='#'
+ NEWLIB_HW_FP_FALSE=
+fi
+
+ac_aux_dir=
+for ac_dir in ../.. $srcdir/../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in ../.. $srcdir/../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:602: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:655: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:712: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:745: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 750 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:761: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:778: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 783 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:790: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-target-optspace or --disable-target-optspace was given.
+if test "${enable_target_optspace+set}" = set; then
+ enableval="$enable_target_optspace"
+ case "${enableval}" in
+ yes) target_optspace=yes ;;
+ no) target_optspace=no ;;
+ *) { echo "configure: error: bad value ${enableval} for target-optspace option" 1>&2; exit 1; } ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-newlib-mb or --disable-newlib-mb was given.
+if test "${enable_newlib_mb+set}" = set; then
+ enableval="$enable_newlib_mb"
+ case "${enableval}" in
+ yes) newlib_mb=yes ;;
+ no) newlib_mb=no ;;
+ *) { echo "configure: error: bad value ${enableval} for newlib-mb option" 1>&2; exit 1; } ;;
+ esac
+else
+ newlib_mb=no
+fi
+
+
+test -z "${with_target_subdir}" && with_target_subdir=.
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ newlib_basedir="${srcdir}/${with_multisrctop}../.."
+ else
+ newlib_basedir="${srcdir}/${with_multisrctop}.."
+ fi
+else
+ newlib_basedir="${srcdir}/.."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:864: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=newlib
+
+VERSION=1.8.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:905: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:918: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:931: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:944: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:957: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:982: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1012: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1061: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1070: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1085: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
+# run it explicitly here, it will be run implicitly before
+# NEWLIB_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1118: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1139: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1171: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1203: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1235: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1280: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1334: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which can't create executables. So we include AC_EXEEXT to keep
+# automake happy, but we don't execute it, since we don't care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1368: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1378: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+. ${newlib_basedir}/configure.host
+
+case ${newlib_basedir} in
+/* | A-Za-z:/\\*) newlib_flagbasedir=${newlib_basedir} ;;
+*) newlib_flagbasedir='$(top_builddir)/'${newlib_basedir} ;;
+esac
+
+newlib_cflags="${newlib_cflags} -I"'$(top_builddir)'"/../targ-include -I${newlib_flagbasedir}/libc/include"
+case "${host}" in
+ *-*-cygwin*)
+ newlib_cflags="${newlib_cflags} -I${newlib_flagbasedir}/../winsup/cygwin/include -I${newlib_flagbasedir}/../winsup/w32api/include"
+ ;;
+esac
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile math/Makefile mathfp/Makefile common/Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@NEWLIB_HW_FP_TRUE@%$NEWLIB_HW_FP_TRUE%g
+s%@NEWLIB_HW_FP_FALSE@%$NEWLIB_HW_FP_FALSE%g
+s%@newlib_basedir@%$newlib_basedir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@NEWLIB_CFLAGS@%$NEWLIB_CFLAGS%g
+s%@machine_dir@%$machine_dir%g
+s%@sys_dir@%$sys_dir%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile math/Makefile mathfp/Makefile common/Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/newlib/libm/configure.in b/newlib/libm/configure.in
new file mode 100644
index 00000000000..66ebb4f6739
--- /dev/null
+++ b/newlib/libm/configure.in
@@ -0,0 +1,21 @@
+dnl This is the newlib/libm configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.5)
+AC_INIT(libm.texinfo)
+
+AC_ARG_ENABLE(newlib_hw_fp,
+[ --enable-newlib-hw-fp Turn on hardware floating point math],
+[case "${enableval}" in
+ yes) newlib_hw_fp=true ;;
+ no) newlib_hw_fp=false ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-newlib-hw-fp) ;;
+ esac],[newlib_hw_fp=false])
+AM_CONDITIONAL(NEWLIB_HW_FP, test x$newlib_hw_fp = xtrue)
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../..)
+
+NEWLIB_CONFIGURE(..)
+
+AC_OUTPUT(Makefile math/Makefile mathfp/Makefile common/Makefile)
diff --git a/newlib/libm/libm.texinfo b/newlib/libm/libm.texinfo
new file mode 100644
index 00000000000..ab527a2444c
--- /dev/null
+++ b/newlib/libm/libm.texinfo
@@ -0,0 +1,161 @@
+\input texinfo.tex
+@setfilename libm.info
+@tex
+% NOTE LOCAL KLUGE TO AVOID TOO MUCH WHITESPACE FROM "makedoc"
+\global\long\def\example{%
+\begingroup
+\let\aboveenvbreak=\par
+\let\afterenvbreak=\par
+\parskip=0pt
+\lisp}
+\global\long\def\Eexample{%
+\Elisp
+\endgroup
+\vskip -\parskip% to cancel out effect of following \par
+}
+% END LOCAL WHITESPACE KLUGE
+@end tex
+@syncodeindex fn cp
+
+@ifinfo
+@format
+START-INFO-DIR-ENTRY
+* libm:: An ANSI-C conforming mathematical library.
+END-INFO-DIR-ENTRY
+@end format
+@end ifinfo
+
+@ifinfo
+This file documents an ANSI-C conforming mathematical subroutine library.
+
+Copyright (C) 1992, 1993, 1995 Cygnus Support
+
+@file{libm} includes software developed at SunPro, a Sun Microsystems,
+Inc. business. Permission to use, copy, modify, and distribute this
+software is freely granted, provided that this notice is preserved.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+@ignore
+Permission is granted to process this file through Tex and print the
+results, provided the printed document carries copying permission
+notice identical to this one except for the removal of this paragraph
+(this paragraph not being relevant to the printed manual).
+
+@end ignore
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, subject to the terms
+of the GNU General Public License, which includes the provision that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions.
+@end ifinfo
+@iftex
+@finalout
+@setchapternewpage odd
+@settitle Cygnus C Math Library
+@titlepage
+@title The Cygnus C Math Library
+@sp 1
+@subtitle @code{libm} 1.4
+@subtitle December 1995
+@author {Steve Chamberlain}
+@author {Roland Pesch}
+@author {Cygnus Support}
+@page
+
+@tex
+{\parskip=0pt
+\hfill Cygnus Support\par
+\hfill sac@@cygnus.com\par
+\hfill pesch@@cygnus.com\par
+}
+\global\parindent=0pt % Steve likes it this way
+@end tex
+
+@vskip 0pt plus 1filll
+Copyright @copyright{} 1992, 1993 Cygnus Support
+
+@file{libm} includes software developed at SunPro, a Sun Microsystems,
+Inc. business. Permission to use, copy, modify, and distribute this
+software is freely granted, provided that this notice is preserved.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, subject to the terms
+of the GNU General Public License, which includes the provision that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions.
+@end titlepage
+@end iftex
+
+@ifinfo
+@node Top
+@top LIBM
+@end ifinfo
+
+@menu
+* Math:: The mathematical functions (`math.h').
+* Reentrancy:: The functions in libm are not reentrant by default.
+* Index::
+@end menu
+
+@include targetdep.tex
+
+@node Reentrancy
+@chapter Reentrancy Properties of @code{libm}
+
+@cindex reentrancy
+@cindex @code{matherr} and reentrancy
+When a libm function detects an exceptional case, @code{errno} may be
+set, the @code{matherr} function may be called, and a error message
+may be written to the standard error stream. This behavior may not
+be reentrant.
+
+@c The exact behavior depends on the currently selected error handling
+@c mode (IEEE, POSIX, X/Open, or SVID).
+
+With reentrant C libraries like the Cygnus C library, @code{errno} is
+a macro which expands to the per-thread error value. This makes it thread
+safe.
+
+When the user provides his own @code{matherr} function it must be
+reentrant for the math library as a whole to be reentrant.
+
+In normal debugged programs, there are usually no math subroutine
+errors---and therefore no assignments to @code{errno} and no @code{matherr}
+calls; in that situation, the math functions behave reentrantly.
+
+@node Index
+@unnumbered Index
+@printindex cp
+
+@tex
+% I think something like @colophon should be in texinfo. In the
+% meantime:
+\long\def\colophon{\hbox to0pt{}\vfill
+\centerline{The body of this manual is set in}
+\centerline{\fontname\tenrm,}
+\centerline{with headings in {\bf\fontname\tenbf}}
+\centerline{and examples in {\tt\fontname\tentt}.}
+\centerline{{\it\fontname\tenit\/} and}
+\centerline{{\sl\fontname\tensl\/}}
+\centerline{are used for emphasis.}\vfill}
+\page\colophon
+% Blame: pesch@cygnus.com, 28mar91.
+@end tex
+
+@contents
+@bye
+
+
diff --git a/newlib/libm/math/Makefile.am b/newlib/libm/math/Makefile.am
new file mode 100644
index 00000000000..9e16155bf5b
--- /dev/null
+++ b/newlib/libm/math/Makefile.am
@@ -0,0 +1,173 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = -I$(srcdir)/../common $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+src = k_standard.c k_rem_pio2.c \
+ k_cos.c k_sin.c k_tan.c \
+ e_acos.c e_acosh.c e_asin.c e_atan2.c \
+ e_atanh.c e_cosh.c e_exp.c e_fmod.c \
+ er_gamma.c e_hypot.c e_j0.c \
+ e_j1.c e_jn.c er_lgamma.c \
+ e_log.c e_log10.c e_pow.c e_rem_pio2.c e_remainder.c \
+ e_scalb.c e_sinh.c e_sqrt.c \
+ w_acos.c w_acosh.c w_asin.c w_atan2.c \
+ w_atanh.c w_cosh.c w_exp.c w_fmod.c \
+ w_gamma.c wr_gamma.c w_hypot.c w_j0.c \
+ w_j1.c w_jn.c w_lgamma.c wr_lgamma.c \
+ w_log.c w_log10.c w_pow.c w_remainder.c \
+ w_scalb.c w_sinh.c w_sqrt.c \
+ w_cabs.c w_drem.c \
+ s_asinh.c s_atan.c s_ceil.c \
+ s_cos.c s_erf.c s_fabs.c s_floor.c \
+ s_frexp.c s_isnan.c s_ldexp.c \
+ s_signif.c s_sin.c \
+ s_tan.c s_tanh.c \
+ s_isinf.c s_infconst.c
+
+fsrc = kf_rem_pio2.c \
+ kf_cos.c kf_sin.c kf_tan.c \
+ ef_acos.c ef_acosh.c ef_asin.c ef_atan2.c \
+ ef_atanh.c ef_cosh.c ef_exp.c ef_fmod.c \
+ erf_gamma.c ef_hypot.c ef_j0.c \
+ ef_j1.c ef_jn.c erf_lgamma.c \
+ ef_log.c ef_log10.c ef_pow.c ef_rem_pio2.c ef_remainder.c \
+ ef_scalb.c ef_sinh.c ef_sqrt.c \
+ wf_acos.c wf_acosh.c wf_asin.c wf_atan2.c \
+ wf_atanh.c wf_cosh.c wf_exp.c wf_fmod.c \
+ wf_gamma.c wrf_gamma.c wf_hypot.c wf_j0.c \
+ wf_j1.c wf_jn.c wf_lgamma.c wrf_lgamma.c \
+ wf_log.c wf_log10.c wf_pow.c wf_remainder.c \
+ wf_scalb.c wf_sinh.c wf_sqrt.c \
+ wf_cabs.c wf_drem.c \
+ sf_asinh.c sf_atan.c sf_ceil.c \
+ sf_cos.c sf_erf.c sf_fabs.c sf_floor.c \
+ sf_frexp.c sf_isnan.c sf_ldexp.c \
+ sf_signif.c sf_sin.c \
+ sf_tan.c sf_tanh.c \
+ sf_isinf.c
+
+lib_a_SOURCES = $(src) $(fsrc)
+
+chobj = wacos.def wacosh.def wasin.def sasinh.def \
+ satan.def watan2.def watanh.def wj0.def \
+ wcosh.def serf.def wexp.def \
+ sfabs.def sfloor.def wfmod.def sfrexp.def \
+ wgamma.def whypot.def sldexp.def wlog.def \
+ wlog10.def \
+ wpow.def wremainder.def ssin.def wsinh.def \
+ wsqrt.def stan.def stanh.def \
+ sisnan.def
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+TARGETDOC = ../tmp.texi
+
+doc: $(chobj)
+ cat $(srcdir)/math.tex >> $(TARGETDOC)
+
+CLEANFILES = $(chobj) *.ref
+
+# Texinfo does not appear to support underscores in file names, so we
+# name the .def files without underscores.
+
+wacos.def: w_acos.c
+ $(CHEW) < $(srcdir)/w_acos.c >$@ 2>/dev/null
+ touch stmp-def
+wacosh.def: w_acosh.c
+ $(CHEW) < $(srcdir)/w_acosh.c >$@ 2>/dev/null
+ touch stmp-def
+wasin.def: w_asin.c
+ $(CHEW) < $(srcdir)/w_asin.c >$@ 2>/dev/null
+ touch stmp-def
+sasinh.def: s_asinh.c
+ $(CHEW) < $(srcdir)/s_asinh.c >$@ 2>/dev/null
+ touch stmp-def
+satan.def: s_atan.c
+ $(CHEW) < $(srcdir)/s_atan.c >$@ 2>/dev/null
+ touch stmp-def
+watan2.def: w_atan2.c
+ $(CHEW) < $(srcdir)/w_atan2.c >$@ 2>/dev/null
+ touch stmp-def
+watanh.def: w_atanh.c
+ $(CHEW) < $(srcdir)/w_atanh.c >$@ 2>/dev/null
+ touch stmp-def
+wj0.def: w_j0.c
+ $(CHEW) < $(srcdir)/w_j0.c >$@ 2>/dev/null
+ touch stmp-def
+scopysign.def: s_copysign.c
+ $(CHEW) < $(srcdir)/../common/s_copysign.c >$@ 2>/dev/null
+ touch stmp-def
+wcosh.def: w_cosh.c
+ $(CHEW) < $(srcdir)/w_cosh.c >$@ 2>/dev/null
+ touch stmp-def
+serf.def: s_erf.c
+ $(CHEW) < $(srcdir)/s_erf.c >$@ 2>/dev/null
+ touch stmp-def
+wexp.def: w_exp.c
+ $(CHEW) < $(srcdir)/w_exp.c >$@ 2>/dev/null
+ touch stmp-def
+sfabs.def: s_fabs.c
+ $(CHEW) < $(srcdir)/s_fabs.c >$@ 2>/dev/null
+ touch stmp-def
+sfloor.def: s_floor.c
+ $(CHEW) < $(srcdir)/s_floor.c >$@ 2>/dev/null
+ touch stmp-def
+wfmod.def: w_fmod.c
+ $(CHEW) < $(srcdir)/w_fmod.c >$@ 2>/dev/null
+ touch stmp-def
+sfrexp.def: s_frexp.c
+ $(CHEW) < $(srcdir)/s_frexp.c >$@ 2>/dev/null
+ touch stmp-def
+wgamma.def: w_gamma.c
+ $(CHEW) < $(srcdir)/w_gamma.c >$@ 2>/dev/null
+ touch stmp-def
+whypot.def: w_hypot.c
+ $(CHEW) < $(srcdir)/w_hypot.c >$@ 2>/dev/null
+ touch stmp-def
+sldexp.def: s_ldexp.c
+ $(CHEW) < $(srcdir)/s_ldexp.c >$@ 2>/dev/null
+ touch stmp-def
+wlog.def: w_log.c
+ $(CHEW) < $(srcdir)/w_log.c >$@ 2>/dev/null
+ touch stmp-def
+wlog10.def: w_log10.c
+ $(CHEW) < $(srcdir)/w_log10.c >$@ 2>/dev/null
+ touch stmp-def
+wpow.def: w_pow.c
+ $(CHEW) < $(srcdir)/w_pow.c >$@ 2>/dev/null
+ touch stmp-def
+wremainder.def: w_remainder.c
+ $(CHEW) < $(srcdir)/w_remainder.c >$@ 2>/dev/null
+ touch stmp-def
+ssin.def: s_sin.c
+ $(CHEW) < $(srcdir)/s_sin.c >$@ 2>/dev/null
+ touch stmp-def
+wsinh.def: w_sinh.c
+ $(CHEW) < $(srcdir)/w_sinh.c >$@ 2>/dev/null
+ touch stmp-def
+wsqrt.def: w_sqrt.c
+ $(CHEW) < $(srcdir)/w_sqrt.c >$@ 2>/dev/null
+ touch stmp-def
+stan.def: s_tan.c
+ $(CHEW) < $(srcdir)/s_tan.c >$@ 2>/dev/null
+ touch stmp-def
+stanh.def: s_tanh.c
+ $(CHEW) < $(srcdir)/s_tanh.c >$@ 2>/dev/null
+ touch stmp-def
+sisnan.def: s_isnan.c
+ $(CHEW) < $(srcdir)/s_isnan.c >$@ 2>/dev/null
+ touch stmp-def
+
+# A partial dependency list.
+
+$(lib_a_OBJECTS): $(srcdir)/../../libc/include/math.h $(srcdir)/../common/fdlibm.h
diff --git a/newlib/libm/math/Makefile.in b/newlib/libm/math/Makefile.in
new file mode 100644
index 00000000000..b80f8fb5596
--- /dev/null
+++ b/newlib/libm/math/Makefile.in
@@ -0,0 +1,431 @@
+# Makefile.in generated automatically by automake 1.3b from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = -I$(srcdir)/../common $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+src = k_standard.c k_rem_pio2.c \
+ k_cos.c k_sin.c k_tan.c \
+ e_acos.c e_acosh.c e_asin.c e_atan2.c \
+ e_atanh.c e_cosh.c e_exp.c e_fmod.c \
+ er_gamma.c e_hypot.c e_j0.c \
+ e_j1.c e_jn.c er_lgamma.c \
+ e_log.c e_log10.c e_pow.c e_rem_pio2.c e_remainder.c \
+ e_scalb.c e_sinh.c e_sqrt.c \
+ w_acos.c w_acosh.c w_asin.c w_atan2.c \
+ w_atanh.c w_cosh.c w_exp.c w_fmod.c \
+ w_gamma.c wr_gamma.c w_hypot.c w_j0.c \
+ w_j1.c w_jn.c w_lgamma.c wr_lgamma.c \
+ w_log.c w_log10.c w_pow.c w_remainder.c \
+ w_scalb.c w_sinh.c w_sqrt.c \
+ w_cabs.c w_drem.c \
+ s_asinh.c s_atan.c s_ceil.c \
+ s_cos.c s_erf.c s_fabs.c s_floor.c \
+ s_frexp.c s_isnan.c s_ldexp.c \
+ s_signif.c s_sin.c \
+ s_tan.c s_tanh.c \
+ s_isinf.c s_infconst.c
+
+fsrc = kf_rem_pio2.c \
+ kf_cos.c kf_sin.c kf_tan.c \
+ ef_acos.c ef_acosh.c ef_asin.c ef_atan2.c \
+ ef_atanh.c ef_cosh.c ef_exp.c ef_fmod.c \
+ erf_gamma.c ef_hypot.c ef_j0.c \
+ ef_j1.c ef_jn.c erf_lgamma.c \
+ ef_log.c ef_log10.c ef_pow.c ef_rem_pio2.c ef_remainder.c \
+ ef_scalb.c ef_sinh.c ef_sqrt.c \
+ wf_acos.c wf_acosh.c wf_asin.c wf_atan2.c \
+ wf_atanh.c wf_cosh.c wf_exp.c wf_fmod.c \
+ wf_gamma.c wrf_gamma.c wf_hypot.c wf_j0.c \
+ wf_j1.c wf_jn.c wf_lgamma.c wrf_lgamma.c \
+ wf_log.c wf_log10.c wf_pow.c wf_remainder.c \
+ wf_scalb.c wf_sinh.c wf_sqrt.c \
+ wf_cabs.c wf_drem.c \
+ sf_asinh.c sf_atan.c sf_ceil.c \
+ sf_cos.c sf_erf.c sf_fabs.c sf_floor.c \
+ sf_frexp.c sf_isnan.c sf_ldexp.c \
+ sf_signif.c sf_sin.c \
+ sf_tan.c sf_tanh.c \
+ sf_isinf.c
+
+lib_a_SOURCES = $(src) $(fsrc)
+
+chobj = wacos.def wacosh.def wasin.def sasinh.def \
+ satan.def watan2.def watanh.def wj0.def \
+ wcosh.def serf.def wexp.def \
+ sfabs.def sfloor.def wfmod.def sfrexp.def \
+ wgamma.def whypot.def sldexp.def wlog.def \
+ wlog10.def \
+ wpow.def wremainder.def ssin.def wsinh.def \
+ wsqrt.def stan.def stanh.def \
+ sisnan.def
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+TARGETDOC = ../tmp.texi
+
+CLEANFILES = $(chobj) *.ref
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = k_standard.o k_rem_pio2.o k_cos.o k_sin.o k_tan.o \
+e_acos.o e_acosh.o e_asin.o e_atan2.o e_atanh.o e_cosh.o e_exp.o \
+e_fmod.o er_gamma.o e_hypot.o e_j0.o e_j1.o e_jn.o er_lgamma.o e_log.o \
+e_log10.o e_pow.o e_rem_pio2.o e_remainder.o e_scalb.o e_sinh.o \
+e_sqrt.o w_acos.o w_acosh.o w_asin.o w_atan2.o w_atanh.o w_cosh.o \
+w_exp.o w_fmod.o w_gamma.o wr_gamma.o w_hypot.o w_j0.o w_j1.o w_jn.o \
+w_lgamma.o wr_lgamma.o w_log.o w_log10.o w_pow.o w_remainder.o \
+w_scalb.o w_sinh.o w_sqrt.o w_cabs.o w_drem.o s_asinh.o s_atan.o \
+s_ceil.o s_cos.o s_erf.o s_fabs.o s_floor.o s_frexp.o s_isnan.o \
+s_ldexp.o s_signif.o s_sin.o s_tan.o s_tanh.o s_isinf.o s_infconst.o \
+kf_rem_pio2.o kf_cos.o kf_sin.o kf_tan.o ef_acos.o ef_acosh.o ef_asin.o \
+ef_atan2.o ef_atanh.o ef_cosh.o ef_exp.o ef_fmod.o erf_gamma.o \
+ef_hypot.o ef_j0.o ef_j1.o ef_jn.o erf_lgamma.o ef_log.o ef_log10.o \
+ef_pow.o ef_rem_pio2.o ef_remainder.o ef_scalb.o ef_sinh.o ef_sqrt.o \
+wf_acos.o wf_acosh.o wf_asin.o wf_atan2.o wf_atanh.o wf_cosh.o wf_exp.o \
+wf_fmod.o wf_gamma.o wrf_gamma.o wf_hypot.o wf_j0.o wf_j1.o wf_jn.o \
+wf_lgamma.o wrf_lgamma.o wf_log.o wf_log10.o wf_pow.o wf_remainder.o \
+wf_scalb.o wf_sinh.o wf_sqrt.o wf_cabs.o wf_drem.o sf_asinh.o sf_atan.o \
+sf_ceil.o sf_cos.o sf_erf.o sf_fabs.o sf_floor.o sf_frexp.o sf_isnan.o \
+sf_ldexp.o sf_signif.o sf_sin.o sf_tan.o sf_tanh.o sf_isinf.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LINK = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .def .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus math/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = math
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+doc: $(chobj)
+ cat $(srcdir)/math.tex >> $(TARGETDOC)
+
+# Texinfo does not appear to support underscores in file names, so we
+# name the .def files without underscores.
+
+wacos.def: w_acos.c
+ $(CHEW) < $(srcdir)/w_acos.c >$@ 2>/dev/null
+ touch stmp-def
+wacosh.def: w_acosh.c
+ $(CHEW) < $(srcdir)/w_acosh.c >$@ 2>/dev/null
+ touch stmp-def
+wasin.def: w_asin.c
+ $(CHEW) < $(srcdir)/w_asin.c >$@ 2>/dev/null
+ touch stmp-def
+sasinh.def: s_asinh.c
+ $(CHEW) < $(srcdir)/s_asinh.c >$@ 2>/dev/null
+ touch stmp-def
+satan.def: s_atan.c
+ $(CHEW) < $(srcdir)/s_atan.c >$@ 2>/dev/null
+ touch stmp-def
+watan2.def: w_atan2.c
+ $(CHEW) < $(srcdir)/w_atan2.c >$@ 2>/dev/null
+ touch stmp-def
+watanh.def: w_atanh.c
+ $(CHEW) < $(srcdir)/w_atanh.c >$@ 2>/dev/null
+ touch stmp-def
+wj0.def: w_j0.c
+ $(CHEW) < $(srcdir)/w_j0.c >$@ 2>/dev/null
+ touch stmp-def
+scopysign.def: s_copysign.c
+ $(CHEW) < $(srcdir)/../common/s_copysign.c >$@ 2>/dev/null
+ touch stmp-def
+wcosh.def: w_cosh.c
+ $(CHEW) < $(srcdir)/w_cosh.c >$@ 2>/dev/null
+ touch stmp-def
+serf.def: s_erf.c
+ $(CHEW) < $(srcdir)/s_erf.c >$@ 2>/dev/null
+ touch stmp-def
+wexp.def: w_exp.c
+ $(CHEW) < $(srcdir)/w_exp.c >$@ 2>/dev/null
+ touch stmp-def
+sfabs.def: s_fabs.c
+ $(CHEW) < $(srcdir)/s_fabs.c >$@ 2>/dev/null
+ touch stmp-def
+sfloor.def: s_floor.c
+ $(CHEW) < $(srcdir)/s_floor.c >$@ 2>/dev/null
+ touch stmp-def
+wfmod.def: w_fmod.c
+ $(CHEW) < $(srcdir)/w_fmod.c >$@ 2>/dev/null
+ touch stmp-def
+sfrexp.def: s_frexp.c
+ $(CHEW) < $(srcdir)/s_frexp.c >$@ 2>/dev/null
+ touch stmp-def
+wgamma.def: w_gamma.c
+ $(CHEW) < $(srcdir)/w_gamma.c >$@ 2>/dev/null
+ touch stmp-def
+whypot.def: w_hypot.c
+ $(CHEW) < $(srcdir)/w_hypot.c >$@ 2>/dev/null
+ touch stmp-def
+sldexp.def: s_ldexp.c
+ $(CHEW) < $(srcdir)/s_ldexp.c >$@ 2>/dev/null
+ touch stmp-def
+wlog.def: w_log.c
+ $(CHEW) < $(srcdir)/w_log.c >$@ 2>/dev/null
+ touch stmp-def
+wlog10.def: w_log10.c
+ $(CHEW) < $(srcdir)/w_log10.c >$@ 2>/dev/null
+ touch stmp-def
+wpow.def: w_pow.c
+ $(CHEW) < $(srcdir)/w_pow.c >$@ 2>/dev/null
+ touch stmp-def
+wremainder.def: w_remainder.c
+ $(CHEW) < $(srcdir)/w_remainder.c >$@ 2>/dev/null
+ touch stmp-def
+ssin.def: s_sin.c
+ $(CHEW) < $(srcdir)/s_sin.c >$@ 2>/dev/null
+ touch stmp-def
+wsinh.def: w_sinh.c
+ $(CHEW) < $(srcdir)/w_sinh.c >$@ 2>/dev/null
+ touch stmp-def
+wsqrt.def: w_sqrt.c
+ $(CHEW) < $(srcdir)/w_sqrt.c >$@ 2>/dev/null
+ touch stmp-def
+stan.def: s_tan.c
+ $(CHEW) < $(srcdir)/s_tan.c >$@ 2>/dev/null
+ touch stmp-def
+stanh.def: s_tanh.c
+ $(CHEW) < $(srcdir)/s_tanh.c >$@ 2>/dev/null
+ touch stmp-def
+sisnan.def: s_isnan.c
+ $(CHEW) < $(srcdir)/s_isnan.c >$@ 2>/dev/null
+ touch stmp-def
+
+# A partial dependency list.
+
+$(lib_a_OBJECTS): $(srcdir)/../../libc/include/math.h $(srcdir)/../common/fdlibm.h
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libm/math/e_acos.c b/newlib/libm/math/e_acos.c
new file mode 100644
index 00000000000..319b1d56fa0
--- /dev/null
+++ b/newlib/libm/math/e_acos.c
@@ -0,0 +1,111 @@
+
+/* @(#)e_acos.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __ieee754_acos(x)
+ * Method :
+ * acos(x) = pi/2 - asin(x)
+ * acos(-x) = pi/2 + asin(x)
+ * For |x|<=0.5
+ * acos(x) = pi/2 - (x + x*x^2*R(x^2)) (see asin.c)
+ * For x>0.5
+ * acos(x) = pi/2 - (pi/2 - 2asin(sqrt((1-x)/2)))
+ * = 2asin(sqrt((1-x)/2))
+ * = 2s + 2s*z*R(z) ...z=(1-x)/2, s=sqrt(z)
+ * = 2f + (2c + 2s*z*R(z))
+ * where f=hi part of s, and c = (z-f*f)/(s+f) is the correction term
+ * for f so that f+c ~ sqrt(z).
+ * For x<-0.5
+ * acos(x) = pi - 2asin(sqrt((1-|x|)/2))
+ * = pi - 0.5*(s+s*z*R(z)), where z=(1-|x|)/2,s=sqrt(z)
+ *
+ * Special cases:
+ * if x is NaN, return x itself;
+ * if |x|>1, return NaN with invalid signal.
+ *
+ * Function needed: sqrt
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+one= 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
+pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */
+pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */
+pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */
+pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */
+pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */
+pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */
+pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */
+pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */
+pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */
+qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */
+qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */
+qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */
+qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */
+
+#ifdef __STDC__
+ double __ieee754_acos(double x)
+#else
+ double __ieee754_acos(x)
+ double x;
+#endif
+{
+ double z,p,q,r,w,s,c,df;
+ __int32_t hx,ix;
+ GET_HIGH_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x3ff00000) { /* |x| >= 1 */
+ __uint32_t lx;
+ GET_LOW_WORD(lx,x);
+ if(((ix-0x3ff00000)|lx)==0) { /* |x|==1 */
+ if(hx>0) return 0.0; /* acos(1) = 0 */
+ else return pi+2.0*pio2_lo; /* acos(-1)= pi */
+ }
+ return (x-x)/(x-x); /* acos(|x|>1) is NaN */
+ }
+ if(ix<0x3fe00000) { /* |x| < 0.5 */
+ if(ix<=0x3c600000) return pio2_hi+pio2_lo;/*if|x|<2**-57*/
+ z = x*x;
+ p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5)))));
+ q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4)));
+ r = p/q;
+ return pio2_hi - (x - (pio2_lo-x*r));
+ } else if (hx<0) { /* x < -0.5 */
+ z = (one+x)*0.5;
+ p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5)))));
+ q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4)));
+ s = __ieee754_sqrt(z);
+ r = p/q;
+ w = r*s-pio2_lo;
+ return pi - 2.0*(s+w);
+ } else { /* x > 0.5 */
+ z = (one-x)*0.5;
+ s = __ieee754_sqrt(z);
+ df = s;
+ SET_LOW_WORD(df,0);
+ c = (z-df*df)/(s+df);
+ p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5)))));
+ q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4)));
+ r = p/q;
+ w = r*s+c;
+ return 2.0*(df+w);
+ }
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/e_acosh.c b/newlib/libm/math/e_acosh.c
new file mode 100644
index 00000000000..27984eb23ef
--- /dev/null
+++ b/newlib/libm/math/e_acosh.c
@@ -0,0 +1,70 @@
+
+/* @(#)e_acosh.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/* __ieee754_acosh(x)
+ * Method :
+ * Based on
+ * acosh(x) = log [ x + sqrt(x*x-1) ]
+ * we have
+ * acosh(x) := log(x)+ln2, if x is large; else
+ * acosh(x) := log(2x-1/(sqrt(x*x-1)+x)) if x>2; else
+ * acosh(x) := log1p(t+sqrt(2.0*t+t*t)); where t=x-1.
+ *
+ * Special cases:
+ * acosh(x) is NaN with signal if x<1.
+ * acosh(NaN) is NaN without signal.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+one = 1.0,
+ln2 = 6.93147180559945286227e-01; /* 0x3FE62E42, 0xFEFA39EF */
+
+#ifdef __STDC__
+ double __ieee754_acosh(double x)
+#else
+ double __ieee754_acosh(x)
+ double x;
+#endif
+{
+ double t;
+ __int32_t hx;
+ __uint32_t lx;
+ EXTRACT_WORDS(hx,lx,x);
+ if(hx<0x3ff00000) { /* x < 1 */
+ return (x-x)/(x-x);
+ } else if(hx >=0x41b00000) { /* x > 2**28 */
+ if(hx >=0x7ff00000) { /* x is inf of NaN */
+ return x+x;
+ } else
+ return __ieee754_log(x)+ln2; /* acosh(huge)=log(2x) */
+ } else if(((hx-0x3ff00000)|lx)==0) {
+ return 0.0; /* acosh(1) = 0 */
+ } else if (hx > 0x40000000) { /* 2**28 > x > 2 */
+ t=x*x;
+ return __ieee754_log(2.0*x-one/(x+__ieee754_sqrt(t-one)));
+ } else { /* 1<x<2 */
+ t = x-one;
+ return log1p(t+__ieee754_sqrt(2.0*t+t*t));
+ }
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/e_asin.c b/newlib/libm/math/e_asin.c
new file mode 100644
index 00000000000..559f2884a26
--- /dev/null
+++ b/newlib/libm/math/e_asin.c
@@ -0,0 +1,120 @@
+
+/* @(#)e_asin.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __ieee754_asin(x)
+ * Method :
+ * Since asin(x) = x + x^3/6 + x^5*3/40 + x^7*15/336 + ...
+ * we approximate asin(x) on [0,0.5] by
+ * asin(x) = x + x*x^2*R(x^2)
+ * where
+ * R(x^2) is a rational approximation of (asin(x)-x)/x^3
+ * and its remez error is bounded by
+ * |(asin(x)-x)/x^3 - R(x^2)| < 2^(-58.75)
+ *
+ * For x in [0.5,1]
+ * asin(x) = pi/2-2*asin(sqrt((1-x)/2))
+ * Let y = (1-x), z = y/2, s := sqrt(z), and pio2_hi+pio2_lo=pi/2;
+ * then for x>0.98
+ * asin(x) = pi/2 - 2*(s+s*z*R(z))
+ * = pio2_hi - (2*(s+s*z*R(z)) - pio2_lo)
+ * For x<=0.98, let pio4_hi = pio2_hi/2, then
+ * f = hi part of s;
+ * c = sqrt(z) - f = (z-f*f)/(s+f) ...f+c=sqrt(z)
+ * and
+ * asin(x) = pi/2 - 2*(s+s*z*R(z))
+ * = pio4_hi+(pio4-2s)-(2s*z*R(z)-pio2_lo)
+ * = pio4_hi+(pio4-2f)-(2s*z*R(z)-(pio2_lo+2c))
+ *
+ * Special cases:
+ * if x is NaN, return x itself;
+ * if |x|>1, return NaN with invalid signal.
+ *
+ */
+
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
+huge = 1.000e+300,
+pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */
+pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */
+pio4_hi = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */
+ /* coefficient for R(x^2) */
+pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */
+pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */
+pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */
+pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */
+pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */
+pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */
+qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */
+qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */
+qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */
+qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */
+
+#ifdef __STDC__
+ double __ieee754_asin(double x)
+#else
+ double __ieee754_asin(x)
+ double x;
+#endif
+{
+ double t,w,p,q,c,r,s;
+ __int32_t hx,ix;
+ GET_HIGH_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>= 0x3ff00000) { /* |x|>= 1 */
+ __uint32_t lx;
+ GET_LOW_WORD(lx,x);
+ if(((ix-0x3ff00000)|lx)==0)
+ /* asin(1)=+-pi/2 with inexact */
+ return x*pio2_hi+x*pio2_lo;
+ return (x-x)/(x-x); /* asin(|x|>1) is NaN */
+ } else if (ix<0x3fe00000) { /* |x|<0.5 */
+ if(ix<0x3e400000) { /* if |x| < 2**-27 */
+ if(huge+x>one) return x;/* return x with inexact if x!=0*/
+ } else
+ t = x*x;
+ p = t*(pS0+t*(pS1+t*(pS2+t*(pS3+t*(pS4+t*pS5)))));
+ q = one+t*(qS1+t*(qS2+t*(qS3+t*qS4)));
+ w = p/q;
+ return x+x*w;
+ }
+ /* 1> |x|>= 0.5 */
+ w = one-fabs(x);
+ t = w*0.5;
+ p = t*(pS0+t*(pS1+t*(pS2+t*(pS3+t*(pS4+t*pS5)))));
+ q = one+t*(qS1+t*(qS2+t*(qS3+t*qS4)));
+ s = __ieee754_sqrt(t);
+ if(ix>=0x3FEF3333) { /* if |x| > 0.975 */
+ w = p/q;
+ t = pio2_hi-(2.0*(s+s*w)-pio2_lo);
+ } else {
+ w = s;
+ SET_LOW_WORD(w,0);
+ c = (t-w*w)/(s+w);
+ r = p/q;
+ p = 2.0*s*r-(pio2_lo-2.0*c);
+ q = pio4_hi-2.0*w;
+ t = pio4_hi-(p-q);
+ }
+ if(hx>0) return t; else return -t;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/e_atan2.c b/newlib/libm/math/e_atan2.c
new file mode 100644
index 00000000000..268be64a9ff
--- /dev/null
+++ b/newlib/libm/math/e_atan2.c
@@ -0,0 +1,131 @@
+
+/* @(#)e_atan2.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/* __ieee754_atan2(y,x)
+ * Method :
+ * 1. Reduce y to positive by atan2(y,x)=-atan2(-y,x).
+ * 2. Reduce x to positive by (if x and y are unexceptional):
+ * ARG (x+iy) = arctan(y/x) ... if x > 0,
+ * ARG (x+iy) = pi - arctan[y/(-x)] ... if x < 0,
+ *
+ * Special cases:
+ *
+ * ATAN2((anything), NaN ) is NaN;
+ * ATAN2(NAN , (anything) ) is NaN;
+ * ATAN2(+-0, +(anything but NaN)) is +-0 ;
+ * ATAN2(+-0, -(anything but NaN)) is +-pi ;
+ * ATAN2(+-(anything but 0 and NaN), 0) is +-pi/2;
+ * ATAN2(+-(anything but INF and NaN), +INF) is +-0 ;
+ * ATAN2(+-(anything but INF and NaN), -INF) is +-pi;
+ * ATAN2(+-INF,+INF ) is +-pi/4 ;
+ * ATAN2(+-INF,-INF ) is +-3pi/4;
+ * ATAN2(+-INF, (anything but,0,NaN, and INF)) is +-pi/2;
+ *
+ * Constants:
+ * The hexadecimal values are the intended ones for the following
+ * constants. The decimal values may be used, provided that the
+ * compiler will convert from decimal to binary accurately enough
+ * to produce the hexadecimal values shown.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+tiny = 1.0e-300,
+zero = 0.0,
+pi_o_4 = 7.8539816339744827900E-01, /* 0x3FE921FB, 0x54442D18 */
+pi_o_2 = 1.5707963267948965580E+00, /* 0x3FF921FB, 0x54442D18 */
+pi = 3.1415926535897931160E+00, /* 0x400921FB, 0x54442D18 */
+pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */
+
+#ifdef __STDC__
+ double __ieee754_atan2(double y, double x)
+#else
+ double __ieee754_atan2(y,x)
+ double y,x;
+#endif
+{
+ double z;
+ __int32_t k,m,hx,hy,ix,iy;
+ __uint32_t lx,ly;
+
+ EXTRACT_WORDS(hx,lx,x);
+ ix = hx&0x7fffffff;
+ EXTRACT_WORDS(hy,ly,y);
+ iy = hy&0x7fffffff;
+ if(((ix|((lx|-lx)>>31))>0x7ff00000)||
+ ((iy|((ly|-ly)>>31))>0x7ff00000)) /* x or y is NaN */
+ return x+y;
+ if((hx-0x3ff00000|lx)==0) return atan(y); /* x=1.0 */
+ m = ((hy>>31)&1)|((hx>>30)&2); /* 2*sign(x)+sign(y) */
+
+ /* when y = 0 */
+ if((iy|ly)==0) {
+ switch(m) {
+ case 0:
+ case 1: return y; /* atan(+-0,+anything)=+-0 */
+ case 2: return pi+tiny;/* atan(+0,-anything) = pi */
+ case 3: return -pi-tiny;/* atan(-0,-anything) =-pi */
+ }
+ }
+ /* when x = 0 */
+ if((ix|lx)==0) return (hy<0)? -pi_o_2-tiny: pi_o_2+tiny;
+
+ /* when x is INF */
+ if(ix==0x7ff00000) {
+ if(iy==0x7ff00000) {
+ switch(m) {
+ case 0: return pi_o_4+tiny;/* atan(+INF,+INF) */
+ case 1: return -pi_o_4-tiny;/* atan(-INF,+INF) */
+ case 2: return 3.0*pi_o_4+tiny;/*atan(+INF,-INF)*/
+ case 3: return -3.0*pi_o_4-tiny;/*atan(-INF,-INF)*/
+ }
+ } else {
+ switch(m) {
+ case 0: return zero ; /* atan(+...,+INF) */
+ case 1: return -zero ; /* atan(-...,+INF) */
+ case 2: return pi+tiny ; /* atan(+...,-INF) */
+ case 3: return -pi-tiny ; /* atan(-...,-INF) */
+ }
+ }
+ }
+ /* when y is INF */
+ if(iy==0x7ff00000) return (hy<0)? -pi_o_2-tiny: pi_o_2+tiny;
+
+ /* compute y/x */
+ k = (iy-ix)>>20;
+ if(k > 60) z=pi_o_2+0.5*pi_lo; /* |y/x| > 2**60 */
+ else if(hx<0&&k<-60) z=0.0; /* |y|/x < -2**60 */
+ else z=atan(fabs(y/x)); /* safe to do y/x */
+ switch (m) {
+ case 0: return z ; /* atan(+,+) */
+ case 1: {
+ __uint32_t zh;
+ GET_HIGH_WORD(zh,z);
+ SET_HIGH_WORD(z,zh ^ 0x80000000);
+ }
+ return z ; /* atan(-,+) */
+ case 2: return pi-(z-pi_lo);/* atan(+,-) */
+ default: /* case 3 */
+ return (z-pi_lo)-pi;/* atan(-,-) */
+ }
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/e_atanh.c b/newlib/libm/math/e_atanh.c
new file mode 100644
index 00000000000..58ad325f9ad
--- /dev/null
+++ b/newlib/libm/math/e_atanh.c
@@ -0,0 +1,75 @@
+
+/* @(#)e_atanh.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/* __ieee754_atanh(x)
+ * Method :
+ * 1.Reduced x to positive by atanh(-x) = -atanh(x)
+ * 2.For x>=0.5
+ * 1 2x x
+ * atanh(x) = --- * log(1 + -------) = 0.5 * log1p(2 * --------)
+ * 2 1 - x 1 - x
+ *
+ * For x<0.5
+ * atanh(x) = 0.5*log1p(2x+2x*x/(1-x))
+ *
+ * Special cases:
+ * atanh(x) is NaN if |x| > 1 with signal;
+ * atanh(NaN) is that NaN with no signal;
+ * atanh(+-1) is +-INF with signal.
+ *
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double one = 1.0, huge = 1e300;
+#else
+static double one = 1.0, huge = 1e300;
+#endif
+
+#ifdef __STDC__
+static const double zero = 0.0;
+#else
+static double zero = 0.0;
+#endif
+
+#ifdef __STDC__
+ double __ieee754_atanh(double x)
+#else
+ double __ieee754_atanh(x)
+ double x;
+#endif
+{
+ double t;
+ __int32_t hx,ix;
+ __uint32_t lx;
+ EXTRACT_WORDS(hx,lx,x);
+ ix = hx&0x7fffffff;
+ if ((ix|((lx|(-lx))>>31))>0x3ff00000) /* |x|>1 */
+ return (x-x)/(x-x);
+ if(ix==0x3ff00000)
+ return x/zero;
+ if(ix<0x3e300000&&(huge+x)>zero) return x; /* x<2**-28 */
+ SET_HIGH_WORD(x,ix);
+ if(ix<0x3fe00000) { /* x < 0.5 */
+ t = x+x;
+ t = 0.5*log1p(t+t*x/(one-x));
+ } else
+ t = 0.5*log1p((x+x)/(one-x));
+ if(hx>=0) return t; else return -t;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/e_cosh.c b/newlib/libm/math/e_cosh.c
new file mode 100644
index 00000000000..54ca1fb95de
--- /dev/null
+++ b/newlib/libm/math/e_cosh.c
@@ -0,0 +1,93 @@
+
+/* @(#)e_cosh.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __ieee754_cosh(x)
+ * Method :
+ * mathematically cosh(x) if defined to be (exp(x)+exp(-x))/2
+ * 1. Replace x by |x| (cosh(x) = cosh(-x)).
+ * 2.
+ * [ exp(x) - 1 ]^2
+ * 0 <= x <= ln2/2 : cosh(x) := 1 + -------------------
+ * 2*exp(x)
+ *
+ * exp(x) + 1/exp(x)
+ * ln2/2 <= x <= 22 : cosh(x) := -------------------
+ * 2
+ * 22 <= x <= lnovft : cosh(x) := exp(x)/2
+ * lnovft <= x <= ln2ovft: cosh(x) := exp(x/2)/2 * exp(x/2)
+ * ln2ovft < x : cosh(x) := huge*huge (overflow)
+ *
+ * Special cases:
+ * cosh(x) is |x| if x is +INF, -INF, or NaN.
+ * only cosh(0)=1 is exact for finite x.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double one = 1.0, half=0.5, huge = 1.0e300;
+#else
+static double one = 1.0, half=0.5, huge = 1.0e300;
+#endif
+
+#ifdef __STDC__
+ double __ieee754_cosh(double x)
+#else
+ double __ieee754_cosh(x)
+ double x;
+#endif
+{
+ double t,w;
+ __int32_t ix;
+ __uint32_t lx;
+
+ /* High word of |x|. */
+ GET_HIGH_WORD(ix,x);
+ ix &= 0x7fffffff;
+
+ /* x is INF or NaN */
+ if(ix>=0x7ff00000) return x*x;
+
+ /* |x| in [0,0.5*ln2], return 1+expm1(|x|)^2/(2*exp(|x|)) */
+ if(ix<0x3fd62e43) {
+ t = expm1(fabs(x));
+ w = one+t;
+ if (ix<0x3c800000) return w; /* cosh(tiny) = 1 */
+ return one+(t*t)/(w+w);
+ }
+
+ /* |x| in [0.5*ln2,22], return (exp(|x|)+1/exp(|x|)/2; */
+ if (ix < 0x40360000) {
+ t = __ieee754_exp(fabs(x));
+ return half*t+half/t;
+ }
+
+ /* |x| in [22, log(maxdouble)] return half*exp(|x|) */
+ if (ix < 0x40862E42) return half*__ieee754_exp(fabs(x));
+
+ /* |x| in [log(maxdouble), overflowthresold] */
+ GET_LOW_WORD(lx,x);
+ if (ix<0x408633CE ||
+ (ix==0x408633ce)&&(lx<=(__uint32_t)0x8fb9f87d)) {
+ w = __ieee754_exp(half*fabs(x));
+ t = half*w;
+ return t*w;
+ }
+
+ /* |x| > overflowthresold, cosh(x) overflow */
+ return huge*huge;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/e_exp.c b/newlib/libm/math/e_exp.c
new file mode 100644
index 00000000000..ce093c61065
--- /dev/null
+++ b/newlib/libm/math/e_exp.c
@@ -0,0 +1,167 @@
+
+/* @(#)e_exp.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __ieee754_exp(x)
+ * Returns the exponential of x.
+ *
+ * Method
+ * 1. Argument reduction:
+ * Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658.
+ * Given x, find r and integer k such that
+ *
+ * x = k*ln2 + r, |r| <= 0.5*ln2.
+ *
+ * Here r will be represented as r = hi-lo for better
+ * accuracy.
+ *
+ * 2. Approximation of exp(r) by a special rational function on
+ * the interval [0,0.34658]:
+ * Write
+ * R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ...
+ * We use a special Reme algorithm on [0,0.34658] to generate
+ * a polynomial of degree 5 to approximate R. The maximum error
+ * of this polynomial approximation is bounded by 2**-59. In
+ * other words,
+ * R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5
+ * (where z=r*r, and the values of P1 to P5 are listed below)
+ * and
+ * | 5 | -59
+ * | 2.0+P1*z+...+P5*z - R(z) | <= 2
+ * | |
+ * The computation of exp(r) thus becomes
+ * 2*r
+ * exp(r) = 1 + -------
+ * R - r
+ * r*R1(r)
+ * = 1 + r + ----------- (for better accuracy)
+ * 2 - R1(r)
+ * where
+ * 2 4 10
+ * R1(r) = r - (P1*r + P2*r + ... + P5*r ).
+ *
+ * 3. Scale back to obtain exp(x):
+ * From step 1, we have
+ * exp(x) = 2^k * exp(r)
+ *
+ * Special cases:
+ * exp(INF) is INF, exp(NaN) is NaN;
+ * exp(-INF) is 0, and
+ * for finite argument, only exp(0)=1 is exact.
+ *
+ * Accuracy:
+ * according to an error analysis, the error is always less than
+ * 1 ulp (unit in the last place).
+ *
+ * Misc. info.
+ * For IEEE double
+ * if x > 7.09782712893383973096e+02 then exp(x) overflow
+ * if x < -7.45133219101941108420e+02 then exp(x) underflow
+ *
+ * Constants:
+ * The hexadecimal values are the intended ones for the following
+ * constants. The decimal values may be used, provided that the
+ * compiler will convert from decimal to binary accurately enough
+ * to produce the hexadecimal values shown.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+one = 1.0,
+halF[2] = {0.5,-0.5,},
+huge = 1.0e+300,
+twom1000= 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/
+o_threshold= 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */
+u_threshold= -7.45133219101941108420e+02, /* 0xc0874910, 0xD52D3051 */
+ln2HI[2] ={ 6.93147180369123816490e-01, /* 0x3fe62e42, 0xfee00000 */
+ -6.93147180369123816490e-01,},/* 0xbfe62e42, 0xfee00000 */
+ln2LO[2] ={ 1.90821492927058770002e-10, /* 0x3dea39ef, 0x35793c76 */
+ -1.90821492927058770002e-10,},/* 0xbdea39ef, 0x35793c76 */
+invln2 = 1.44269504088896338700e+00, /* 0x3ff71547, 0x652b82fe */
+P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */
+P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */
+P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */
+P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */
+P5 = 4.13813679705723846039e-08; /* 0x3E663769, 0x72BEA4D0 */
+
+
+#ifdef __STDC__
+ double __ieee754_exp(double x) /* default IEEE double exp */
+#else
+ double __ieee754_exp(x) /* default IEEE double exp */
+ double x;
+#endif
+{
+ double y,hi,lo,c,t;
+ __int32_t k,xsb;
+ __uint32_t hx;
+
+ GET_HIGH_WORD(hx,x);
+ xsb = (hx>>31)&1; /* sign bit of x */
+ hx &= 0x7fffffff; /* high word of |x| */
+
+ /* filter out non-finite argument */
+ if(hx >= 0x40862E42) { /* if |x|>=709.78... */
+ if(hx>=0x7ff00000) {
+ __uint32_t lx;
+ GET_LOW_WORD(lx,x);
+ if(((hx&0xfffff)|lx)!=0)
+ return x+x; /* NaN */
+ else return (xsb==0)? x:0.0; /* exp(+-inf)={inf,0} */
+ }
+ if(x > o_threshold) return huge*huge; /* overflow */
+ if(x < u_threshold) return twom1000*twom1000; /* underflow */
+ }
+
+ /* argument reduction */
+ if(hx > 0x3fd62e42) { /* if |x| > 0.5 ln2 */
+ if(hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */
+ hi = x-ln2HI[xsb]; lo=ln2LO[xsb]; k = 1-xsb-xsb;
+ } else {
+ k = invln2*x+halF[xsb];
+ t = k;
+ hi = x - t*ln2HI[0]; /* t*ln2HI is exact here */
+ lo = t*ln2LO[0];
+ }
+ x = hi - lo;
+ }
+ else if(hx < 0x3e300000) { /* when |x|<2**-28 */
+ if(huge+x>one) return one+x;/* trigger inexact */
+ }
+ else k = 0;
+
+ /* x is now in primary range */
+ t = x*x;
+ c = x - t*(P1+t*(P2+t*(P3+t*(P4+t*P5))));
+ if(k==0) return one-((x*c)/(c-2.0)-x);
+ else y = one-((lo-(x*c)/(2.0-c))-hi);
+ if(k >= -1021) {
+ __uint32_t hy;
+ GET_HIGH_WORD(hy,y);
+ SET_HIGH_WORD(y,hy+(k<<20)); /* add k to y's exponent */
+ return y;
+ } else {
+ __uint32_t hy;
+ GET_HIGH_WORD(hy,y);
+ SET_HIGH_WORD(y,hy+((k+1000)<<20)); /* add k to y's exponent */
+ return y*twom1000;
+ }
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/e_fmod.c b/newlib/libm/math/e_fmod.c
new file mode 100644
index 00000000000..f9739eec25d
--- /dev/null
+++ b/newlib/libm/math/e_fmod.c
@@ -0,0 +1,140 @@
+
+/* @(#)e_fmod.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * __ieee754_fmod(x,y)
+ * Return x mod y in exact arithmetic
+ * Method: shift and subtract
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double one = 1.0, Zero[] = {0.0, -0.0,};
+#else
+static double one = 1.0, Zero[] = {0.0, -0.0,};
+#endif
+
+#ifdef __STDC__
+ double __ieee754_fmod(double x, double y)
+#else
+ double __ieee754_fmod(x,y)
+ double x,y ;
+#endif
+{
+ __int32_t n,hx,hy,hz,ix,iy,sx,i;
+ __uint32_t lx,ly,lz;
+
+ EXTRACT_WORDS(hx,lx,x);
+ EXTRACT_WORDS(hy,ly,y);
+ sx = hx&0x80000000; /* sign of x */
+ hx ^=sx; /* |x| */
+ hy &= 0x7fffffff; /* |y| */
+
+ /* purge off exception values */
+ if((hy|ly)==0||(hx>=0x7ff00000)|| /* y=0,or x not finite */
+ ((hy|((ly|-ly)>>31))>0x7ff00000)) /* or y is NaN */
+ return (x*y)/(x*y);
+ if(hx<=hy) {
+ if((hx<hy)||(lx<ly)) return x; /* |x|<|y| return x */
+ if(lx==ly)
+ return Zero[(__uint32_t)sx>>31]; /* |x|=|y| return x*0*/
+ }
+
+ /* determine ix = ilogb(x) */
+ if(hx<0x00100000) { /* subnormal x */
+ if(hx==0) {
+ for (ix = -1043, i=lx; i>0; i<<=1) ix -=1;
+ } else {
+ for (ix = -1022,i=(hx<<11); i>0; i<<=1) ix -=1;
+ }
+ } else ix = (hx>>20)-1023;
+
+ /* determine iy = ilogb(y) */
+ if(hy<0x00100000) { /* subnormal y */
+ if(hy==0) {
+ for (iy = -1043, i=ly; i>0; i<<=1) iy -=1;
+ } else {
+ for (iy = -1022,i=(hy<<11); i>0; i<<=1) iy -=1;
+ }
+ } else iy = (hy>>20)-1023;
+
+ /* set up {hx,lx}, {hy,ly} and align y to x */
+ if(ix >= -1022)
+ hx = 0x00100000|(0x000fffff&hx);
+ else { /* subnormal x, shift x to normal */
+ n = -1022-ix;
+ if(n<=31) {
+ hx = (hx<<n)|(lx>>(32-n));
+ lx <<= n;
+ } else {
+ hx = lx<<(n-32);
+ lx = 0;
+ }
+ }
+ if(iy >= -1022)
+ hy = 0x00100000|(0x000fffff&hy);
+ else { /* subnormal y, shift y to normal */
+ n = -1022-iy;
+ if(n<=31) {
+ hy = (hy<<n)|(ly>>(32-n));
+ ly <<= n;
+ } else {
+ hy = ly<<(n-32);
+ ly = 0;
+ }
+ }
+
+ /* fix point fmod */
+ n = ix - iy;
+ while(n--) {
+ hz=hx-hy;lz=lx-ly; if(lx<ly) hz -= 1;
+ if(hz<0){hx = hx+hx+(lx>>31); lx = lx+lx;}
+ else {
+ if((hz|lz)==0) /* return sign(x)*0 */
+ return Zero[(__uint32_t)sx>>31];
+ hx = hz+hz+(lz>>31); lx = lz+lz;
+ }
+ }
+ hz=hx-hy;lz=lx-ly; if(lx<ly) hz -= 1;
+ if(hz>=0) {hx=hz;lx=lz;}
+
+ /* convert back to floating value and restore the sign */
+ if((hx|lx)==0) /* return sign(x)*0 */
+ return Zero[(__uint32_t)sx>>31];
+ while(hx<0x00100000) { /* normalize x */
+ hx = hx+hx+(lx>>31); lx = lx+lx;
+ iy -= 1;
+ }
+ if(iy>= -1022) { /* normalize output */
+ hx = ((hx-0x00100000)|((iy+1023)<<20));
+ INSERT_WORDS(x,hx|sx,lx);
+ } else { /* subnormal output */
+ n = -1022 - iy;
+ if(n<=20) {
+ lx = (lx>>n)|((__uint32_t)hx<<(32-n));
+ hx >>= n;
+ } else if (n<=31) {
+ lx = (hx<<(32-n))|(lx>>n); hx = sx;
+ } else {
+ lx = hx>>(n-32); hx = sx;
+ }
+ INSERT_WORDS(x,hx|sx,lx);
+ x *= one; /* create necessary signal */
+ }
+ return x; /* exact output */
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/e_hypot.c b/newlib/libm/math/e_hypot.c
new file mode 100644
index 00000000000..03f7f51e5f7
--- /dev/null
+++ b/newlib/libm/math/e_hypot.c
@@ -0,0 +1,128 @@
+
+/* @(#)e_hypot.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __ieee754_hypot(x,y)
+ *
+ * Method :
+ * If (assume round-to-nearest) z=x*x+y*y
+ * has error less than sqrt(2)/2 ulp, than
+ * sqrt(z) has error less than 1 ulp (exercise).
+ *
+ * So, compute sqrt(x*x+y*y) with some care as
+ * follows to get the error below 1 ulp:
+ *
+ * Assume x>y>0;
+ * (if possible, set rounding to round-to-nearest)
+ * 1. if x > 2y use
+ * x1*x1+(y*y+(x2*(x+x1))) for x*x+y*y
+ * where x1 = x with lower 32 bits cleared, x2 = x-x1; else
+ * 2. if x <= 2y use
+ * t1*y1+((x-y)*(x-y)+(t1*y2+t2*y))
+ * where t1 = 2x with lower 32 bits cleared, t2 = 2x-t1,
+ * y1= y with lower 32 bits chopped, y2 = y-y1.
+ *
+ * NOTE: scaling may be necessary if some argument is too
+ * large or too tiny
+ *
+ * Special cases:
+ * hypot(x,y) is INF if x or y is +INF or -INF; else
+ * hypot(x,y) is NAN if x or y is NAN.
+ *
+ * Accuracy:
+ * hypot(x,y) returns sqrt(x^2+y^2) with error less
+ * than 1 ulps (units in the last place)
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double __ieee754_hypot(double x, double y)
+#else
+ double __ieee754_hypot(x,y)
+ double x, y;
+#endif
+{
+ double a=x,b=y,t1,t2,y1,y2,w;
+ __int32_t j,k,ha,hb;
+
+ GET_HIGH_WORD(ha,x);
+ ha &= 0x7fffffff;
+ GET_HIGH_WORD(hb,y);
+ hb &= 0x7fffffff;
+ if(hb > ha) {a=y;b=x;j=ha; ha=hb;hb=j;} else {a=x;b=y;}
+ SET_HIGH_WORD(a,ha); /* a <- |a| */
+ SET_HIGH_WORD(b,hb); /* b <- |b| */
+ if((ha-hb)>0x3c00000) {return a+b;} /* x/y > 2**60 */
+ k=0;
+ if(ha > 0x5f300000) { /* a>2**500 */
+ if(ha >= 0x7ff00000) { /* Inf or NaN */
+ __uint32_t low;
+ w = a+b; /* for sNaN */
+ GET_LOW_WORD(low,a);
+ if(((ha&0xfffff)|low)==0) w = a;
+ GET_LOW_WORD(low,b);
+ if(((hb^0x7ff00000)|low)==0) w = b;
+ return w;
+ }
+ /* scale a and b by 2**-600 */
+ ha -= 0x25800000; hb -= 0x25800000; k += 600;
+ SET_HIGH_WORD(a,ha);
+ SET_HIGH_WORD(b,hb);
+ }
+ if(hb < 0x20b00000) { /* b < 2**-500 */
+ if(hb <= 0x000fffff) { /* subnormal b or 0 */
+ __uint32_t low;
+ GET_LOW_WORD(low,b);
+ if((hb|low)==0) return a;
+ t1=0;
+ SET_HIGH_WORD(t1,0x7fd00000); /* t1=2^1022 */
+ b *= t1;
+ a *= t1;
+ k -= 1022;
+ } else { /* scale a and b by 2^600 */
+ ha += 0x25800000; /* a *= 2^600 */
+ hb += 0x25800000; /* b *= 2^600 */
+ k -= 600;
+ SET_HIGH_WORD(a,ha);
+ SET_HIGH_WORD(b,hb);
+ }
+ }
+ /* medium size a and b */
+ w = a-b;
+ if (w>b) {
+ t1 = 0;
+ SET_HIGH_WORD(t1,ha);
+ t2 = a-t1;
+ w = __ieee754_sqrt(t1*t1-(b*(-b)-t2*(a+t1)));
+ } else {
+ a = a+a;
+ y1 = 0;
+ SET_HIGH_WORD(y1,hb);
+ y2 = b - y1;
+ t1 = 0;
+ SET_HIGH_WORD(t1,ha+0x00100000);
+ t2 = a - t1;
+ w = __ieee754_sqrt(t1*y1-(w*(-w)-(t1*y2+t2*b)));
+ }
+ if(k!=0) {
+ __uint32_t high;
+ t1 = 1.0;
+ GET_HIGH_WORD(high,t1);
+ SET_HIGH_WORD(t1,high+(k<<20));
+ return t1*w;
+ } else return w;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/e_j0.c b/newlib/libm/math/e_j0.c
new file mode 100644
index 00000000000..43ea389825f
--- /dev/null
+++ b/newlib/libm/math/e_j0.c
@@ -0,0 +1,487 @@
+
+/* @(#)e_j0.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __ieee754_j0(x), __ieee754_y0(x)
+ * Bessel function of the first and second kinds of order zero.
+ * Method -- j0(x):
+ * 1. For tiny x, we use j0(x) = 1 - x^2/4 + x^4/64 - ...
+ * 2. Reduce x to |x| since j0(x)=j0(-x), and
+ * for x in (0,2)
+ * j0(x) = 1-z/4+ z^2*R0/S0, where z = x*x;
+ * (precision: |j0-1+z/4-z^2R0/S0 |<2**-63.67 )
+ * for x in (2,inf)
+ * j0(x) = sqrt(2/(pi*x))*(p0(x)*cos(x0)-q0(x)*sin(x0))
+ * where x0 = x-pi/4. It is better to compute sin(x0),cos(x0)
+ * as follow:
+ * cos(x0) = cos(x)cos(pi/4)+sin(x)sin(pi/4)
+ * = 1/sqrt(2) * (cos(x) + sin(x))
+ * sin(x0) = sin(x)cos(pi/4)-cos(x)sin(pi/4)
+ * = 1/sqrt(2) * (sin(x) - cos(x))
+ * (To avoid cancellation, use
+ * sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x))
+ * to compute the worse one.)
+ *
+ * 3 Special cases
+ * j0(nan)= nan
+ * j0(0) = 1
+ * j0(inf) = 0
+ *
+ * Method -- y0(x):
+ * 1. For x<2.
+ * Since
+ * y0(x) = 2/pi*(j0(x)*(ln(x/2)+Euler) + x^2/4 - ...)
+ * therefore y0(x)-2/pi*j0(x)*ln(x) is an even function.
+ * We use the following function to approximate y0,
+ * y0(x) = U(z)/V(z) + (2/pi)*(j0(x)*ln(x)), z= x^2
+ * where
+ * U(z) = u00 + u01*z + ... + u06*z^6
+ * V(z) = 1 + v01*z + ... + v04*z^4
+ * with absolute approximation error bounded by 2**-72.
+ * Note: For tiny x, U/V = u0 and j0(x)~1, hence
+ * y0(tiny) = u0 + (2/pi)*ln(tiny), (choose tiny<2**-27)
+ * 2. For x>=2.
+ * y0(x) = sqrt(2/(pi*x))*(p0(x)*cos(x0)+q0(x)*sin(x0))
+ * where x0 = x-pi/4. It is better to compute sin(x0),cos(x0)
+ * by the method mentioned above.
+ * 3. Special cases: y0(0)=-inf, y0(x<0)=NaN, y0(inf)=0.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static double pzero(double), qzero(double);
+#else
+static double pzero(), qzero();
+#endif
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+huge = 1e300,
+one = 1.0,
+invsqrtpi= 5.64189583547756279280e-01, /* 0x3FE20DD7, 0x50429B6D */
+tpi = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */
+ /* R0/S0 on [0, 2.00] */
+R02 = 1.56249999999999947958e-02, /* 0x3F8FFFFF, 0xFFFFFFFD */
+R03 = -1.89979294238854721751e-04, /* 0xBF28E6A5, 0xB61AC6E9 */
+R04 = 1.82954049532700665670e-06, /* 0x3EBEB1D1, 0x0C503919 */
+R05 = -4.61832688532103189199e-09, /* 0xBE33D5E7, 0x73D63FCE */
+S01 = 1.56191029464890010492e-02, /* 0x3F8FFCE8, 0x82C8C2A4 */
+S02 = 1.16926784663337450260e-04, /* 0x3F1EA6D2, 0xDD57DBF4 */
+S03 = 5.13546550207318111446e-07, /* 0x3EA13B54, 0xCE84D5A9 */
+S04 = 1.16614003333790000205e-09; /* 0x3E1408BC, 0xF4745D8F */
+
+#ifdef __STDC__
+static const double zero = 0.0;
+#else
+static double zero = 0.0;
+#endif
+
+#ifdef __STDC__
+ double __ieee754_j0(double x)
+#else
+ double __ieee754_j0(x)
+ double x;
+#endif
+{
+ double z, s,c,ss,cc,r,u,v;
+ __int32_t hx,ix;
+
+ GET_HIGH_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x7ff00000) return one/(x*x);
+ x = fabs(x);
+ if(ix >= 0x40000000) { /* |x| >= 2.0 */
+ s = sin(x);
+ c = cos(x);
+ ss = s-c;
+ cc = s+c;
+ if(ix<0x7fe00000) { /* make sure x+x not overflow */
+ z = -cos(x+x);
+ if ((s*c)<zero) cc = z/ss;
+ else ss = z/cc;
+ }
+ /*
+ * j0(x) = 1/sqrt(pi) * (P(0,x)*cc - Q(0,x)*ss) / sqrt(x)
+ * y0(x) = 1/sqrt(pi) * (P(0,x)*ss + Q(0,x)*cc) / sqrt(x)
+ */
+ if(ix>0x48000000) z = (invsqrtpi*cc)/__ieee754_sqrt(x);
+ else {
+ u = pzero(x); v = qzero(x);
+ z = invsqrtpi*(u*cc-v*ss)/__ieee754_sqrt(x);
+ }
+ return z;
+ }
+ if(ix<0x3f200000) { /* |x| < 2**-13 */
+ if(huge+x>one) { /* raise inexact if x != 0 */
+ if(ix<0x3e400000) return one; /* |x|<2**-27 */
+ else return one - 0.25*x*x;
+ }
+ }
+ z = x*x;
+ r = z*(R02+z*(R03+z*(R04+z*R05)));
+ s = one+z*(S01+z*(S02+z*(S03+z*S04)));
+ if(ix < 0x3FF00000) { /* |x| < 1.00 */
+ return one + z*(-0.25+(r/s));
+ } else {
+ u = 0.5*x;
+ return((one+u)*(one-u)+z*(r/s));
+ }
+}
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+u00 = -7.38042951086872317523e-02, /* 0xBFB2E4D6, 0x99CBD01F */
+u01 = 1.76666452509181115538e-01, /* 0x3FC69D01, 0x9DE9E3FC */
+u02 = -1.38185671945596898896e-02, /* 0xBF8C4CE8, 0xB16CFA97 */
+u03 = 3.47453432093683650238e-04, /* 0x3F36C54D, 0x20B29B6B */
+u04 = -3.81407053724364161125e-06, /* 0xBECFFEA7, 0x73D25CAD */
+u05 = 1.95590137035022920206e-08, /* 0x3E550057, 0x3B4EABD4 */
+u06 = -3.98205194132103398453e-11, /* 0xBDC5E43D, 0x693FB3C8 */
+v01 = 1.27304834834123699328e-02, /* 0x3F8A1270, 0x91C9C71A */
+v02 = 7.60068627350353253702e-05, /* 0x3F13ECBB, 0xF578C6C1 */
+v03 = 2.59150851840457805467e-07, /* 0x3E91642D, 0x7FF202FD */
+v04 = 4.41110311332675467403e-10; /* 0x3DFE5018, 0x3BD6D9EF */
+
+#ifdef __STDC__
+ double __ieee754_y0(double x)
+#else
+ double __ieee754_y0(x)
+ double x;
+#endif
+{
+ double z, s,c,ss,cc,u,v;
+ __int32_t hx,ix,lx;
+
+ EXTRACT_WORDS(hx,lx,x);
+ ix = 0x7fffffff&hx;
+ /* Y0(NaN) is NaN, y0(-inf) is Nan, y0(inf) is 0 */
+ if(ix>=0x7ff00000) return one/(x+x*x);
+ if((ix|lx)==0) return -one/zero;
+ if(hx<0) return zero/zero;
+ if(ix >= 0x40000000) { /* |x| >= 2.0 */
+ /* y0(x) = sqrt(2/(pi*x))*(p0(x)*sin(x0)+q0(x)*cos(x0))
+ * where x0 = x-pi/4
+ * Better formula:
+ * cos(x0) = cos(x)cos(pi/4)+sin(x)sin(pi/4)
+ * = 1/sqrt(2) * (sin(x) + cos(x))
+ * sin(x0) = sin(x)cos(3pi/4)-cos(x)sin(3pi/4)
+ * = 1/sqrt(2) * (sin(x) - cos(x))
+ * To avoid cancellation, use
+ * sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x))
+ * to compute the worse one.
+ */
+ s = sin(x);
+ c = cos(x);
+ ss = s-c;
+ cc = s+c;
+ /*
+ * j0(x) = 1/sqrt(pi) * (P(0,x)*cc - Q(0,x)*ss) / sqrt(x)
+ * y0(x) = 1/sqrt(pi) * (P(0,x)*ss + Q(0,x)*cc) / sqrt(x)
+ */
+ if(ix<0x7fe00000) { /* make sure x+x not overflow */
+ z = -cos(x+x);
+ if ((s*c)<zero) cc = z/ss;
+ else ss = z/cc;
+ }
+ if(ix>0x48000000) z = (invsqrtpi*ss)/__ieee754_sqrt(x);
+ else {
+ u = pzero(x); v = qzero(x);
+ z = invsqrtpi*(u*ss+v*cc)/__ieee754_sqrt(x);
+ }
+ return z;
+ }
+ if(ix<=0x3e400000) { /* x < 2**-27 */
+ return(u00 + tpi*__ieee754_log(x));
+ }
+ z = x*x;
+ u = u00+z*(u01+z*(u02+z*(u03+z*(u04+z*(u05+z*u06)))));
+ v = one+z*(v01+z*(v02+z*(v03+z*v04)));
+ return(u/v + tpi*(__ieee754_j0(x)*__ieee754_log(x)));
+}
+
+/* The asymptotic expansions of pzero is
+ * 1 - 9/128 s^2 + 11025/98304 s^4 - ..., where s = 1/x.
+ * For x >= 2, We approximate pzero by
+ * pzero(x) = 1 + (R/S)
+ * where R = pR0 + pR1*s^2 + pR2*s^4 + ... + pR5*s^10
+ * S = 1 + pS0*s^2 + ... + pS4*s^10
+ * and
+ * | pzero(x)-1-R/S | <= 2 ** ( -60.26)
+ */
+#ifdef __STDC__
+static const double pR8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#else
+static double pR8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#endif
+ 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */
+ -7.03124999999900357484e-02, /* 0xBFB1FFFF, 0xFFFFFD32 */
+ -8.08167041275349795626e+00, /* 0xC02029D0, 0xB44FA779 */
+ -2.57063105679704847262e+02, /* 0xC0701102, 0x7B19E863 */
+ -2.48521641009428822144e+03, /* 0xC0A36A6E, 0xCD4DCAFC */
+ -5.25304380490729545272e+03, /* 0xC0B4850B, 0x36CC643D */
+};
+#ifdef __STDC__
+static const double pS8[5] = {
+#else
+static double pS8[5] = {
+#endif
+ 1.16534364619668181717e+02, /* 0x405D2233, 0x07A96751 */
+ 3.83374475364121826715e+03, /* 0x40ADF37D, 0x50596938 */
+ 4.05978572648472545552e+04, /* 0x40E3D2BB, 0x6EB6B05F */
+ 1.16752972564375915681e+05, /* 0x40FC810F, 0x8F9FA9BD */
+ 4.76277284146730962675e+04, /* 0x40E74177, 0x4F2C49DC */
+};
+
+#ifdef __STDC__
+static const double pR5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#else
+static double pR5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#endif
+ -1.14125464691894502584e-11, /* 0xBDA918B1, 0x47E495CC */
+ -7.03124940873599280078e-02, /* 0xBFB1FFFF, 0xE69AFBC6 */
+ -4.15961064470587782438e+00, /* 0xC010A370, 0xF90C6BBF */
+ -6.76747652265167261021e+01, /* 0xC050EB2F, 0x5A7D1783 */
+ -3.31231299649172967747e+02, /* 0xC074B3B3, 0x6742CC63 */
+ -3.46433388365604912451e+02, /* 0xC075A6EF, 0x28A38BD7 */
+};
+#ifdef __STDC__
+static const double pS5[5] = {
+#else
+static double pS5[5] = {
+#endif
+ 6.07539382692300335975e+01, /* 0x404E6081, 0x0C98C5DE */
+ 1.05125230595704579173e+03, /* 0x40906D02, 0x5C7E2864 */
+ 5.97897094333855784498e+03, /* 0x40B75AF8, 0x8FBE1D60 */
+ 9.62544514357774460223e+03, /* 0x40C2CCB8, 0xFA76FA38 */
+ 2.40605815922939109441e+03, /* 0x40A2CC1D, 0xC70BE864 */
+};
+
+#ifdef __STDC__
+static const double pR3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#else
+static double pR3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#endif
+ -2.54704601771951915620e-09, /* 0xBE25E103, 0x6FE1AA86 */
+ -7.03119616381481654654e-02, /* 0xBFB1FFF6, 0xF7C0E24B */
+ -2.40903221549529611423e+00, /* 0xC00345B2, 0xAEA48074 */
+ -2.19659774734883086467e+01, /* 0xC035F74A, 0x4CB94E14 */
+ -5.80791704701737572236e+01, /* 0xC04D0A22, 0x420A1A45 */
+ -3.14479470594888503854e+01, /* 0xC03F72AC, 0xA892D80F */
+};
+#ifdef __STDC__
+static const double pS3[5] = {
+#else
+static double pS3[5] = {
+#endif
+ 3.58560338055209726349e+01, /* 0x4041ED92, 0x84077DD3 */
+ 3.61513983050303863820e+02, /* 0x40769839, 0x464A7C0E */
+ 1.19360783792111533330e+03, /* 0x4092A66E, 0x6D1061D6 */
+ 1.12799679856907414432e+03, /* 0x40919FFC, 0xB8C39B7E */
+ 1.73580930813335754692e+02, /* 0x4065B296, 0xFC379081 */
+};
+
+#ifdef __STDC__
+static const double pR2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#else
+static double pR2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#endif
+ -8.87534333032526411254e-08, /* 0xBE77D316, 0xE927026D */
+ -7.03030995483624743247e-02, /* 0xBFB1FF62, 0x495E1E42 */
+ -1.45073846780952986357e+00, /* 0xBFF73639, 0x8A24A843 */
+ -7.63569613823527770791e+00, /* 0xC01E8AF3, 0xEDAFA7F3 */
+ -1.11931668860356747786e+01, /* 0xC02662E6, 0xC5246303 */
+ -3.23364579351335335033e+00, /* 0xC009DE81, 0xAF8FE70F */
+};
+#ifdef __STDC__
+static const double pS2[5] = {
+#else
+static double pS2[5] = {
+#endif
+ 2.22202997532088808441e+01, /* 0x40363865, 0x908B5959 */
+ 1.36206794218215208048e+02, /* 0x4061069E, 0x0EE8878F */
+ 2.70470278658083486789e+02, /* 0x4070E786, 0x42EA079B */
+ 1.53875394208320329881e+02, /* 0x40633C03, 0x3AB6FAFF */
+ 1.46576176948256193810e+01, /* 0x402D50B3, 0x44391809 */
+};
+
+#ifdef __STDC__
+ static double pzero(double x)
+#else
+ static double pzero(x)
+ double x;
+#endif
+{
+#ifdef __STDC__
+ const double *p,*q;
+#else
+ double *p,*q;
+#endif
+ double z,r,s;
+ __int32_t ix;
+ GET_HIGH_WORD(ix,x);
+ ix &= 0x7fffffff;
+ if(ix>=0x40200000) {p = pR8; q= pS8;}
+ else if(ix>=0x40122E8B){p = pR5; q= pS5;}
+ else if(ix>=0x4006DB6D){p = pR3; q= pS3;}
+ else if(ix>=0x40000000){p = pR2; q= pS2;}
+ z = one/(x*x);
+ r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
+ s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4]))));
+ return one+ r/s;
+}
+
+
+/* For x >= 8, the asymptotic expansions of qzero is
+ * -1/8 s + 75/1024 s^3 - ..., where s = 1/x.
+ * We approximate pzero by
+ * qzero(x) = s*(-1.25 + (R/S))
+ * where R = qR0 + qR1*s^2 + qR2*s^4 + ... + qR5*s^10
+ * S = 1 + qS0*s^2 + ... + qS5*s^12
+ * and
+ * | qzero(x)/s +1.25-R/S | <= 2 ** ( -61.22)
+ */
+#ifdef __STDC__
+static const double qR8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#else
+static double qR8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#endif
+ 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */
+ 7.32421874999935051953e-02, /* 0x3FB2BFFF, 0xFFFFFE2C */
+ 1.17682064682252693899e+01, /* 0x40278952, 0x5BB334D6 */
+ 5.57673380256401856059e+02, /* 0x40816D63, 0x15301825 */
+ 8.85919720756468632317e+03, /* 0x40C14D99, 0x3E18F46D */
+ 3.70146267776887834771e+04, /* 0x40E212D4, 0x0E901566 */
+};
+#ifdef __STDC__
+static const double qS8[6] = {
+#else
+static double qS8[6] = {
+#endif
+ 1.63776026895689824414e+02, /* 0x406478D5, 0x365B39BC */
+ 8.09834494656449805916e+03, /* 0x40BFA258, 0x4E6B0563 */
+ 1.42538291419120476348e+05, /* 0x41016652, 0x54D38C3F */
+ 8.03309257119514397345e+05, /* 0x412883DA, 0x83A52B43 */
+ 8.40501579819060512818e+05, /* 0x4129A66B, 0x28DE0B3D */
+ -3.43899293537866615225e+05, /* 0xC114FD6D, 0x2C9530C5 */
+};
+
+#ifdef __STDC__
+static const double qR5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#else
+static double qR5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#endif
+ 1.84085963594515531381e-11, /* 0x3DB43D8F, 0x29CC8CD9 */
+ 7.32421766612684765896e-02, /* 0x3FB2BFFF, 0xD172B04C */
+ 5.83563508962056953777e+00, /* 0x401757B0, 0xB9953DD3 */
+ 1.35111577286449829671e+02, /* 0x4060E392, 0x0A8788E9 */
+ 1.02724376596164097464e+03, /* 0x40900CF9, 0x9DC8C481 */
+ 1.98997785864605384631e+03, /* 0x409F17E9, 0x53C6E3A6 */
+};
+#ifdef __STDC__
+static const double qS5[6] = {
+#else
+static double qS5[6] = {
+#endif
+ 8.27766102236537761883e+01, /* 0x4054B1B3, 0xFB5E1543 */
+ 2.07781416421392987104e+03, /* 0x40A03BA0, 0xDA21C0CE */
+ 1.88472887785718085070e+04, /* 0x40D267D2, 0x7B591E6D */
+ 5.67511122894947329769e+04, /* 0x40EBB5E3, 0x97E02372 */
+ 3.59767538425114471465e+04, /* 0x40E19118, 0x1F7A54A0 */
+ -5.35434275601944773371e+03, /* 0xC0B4EA57, 0xBEDBC609 */
+};
+
+#ifdef __STDC__
+static const double qR3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#else
+static double qR3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#endif
+ 4.37741014089738620906e-09, /* 0x3E32CD03, 0x6ADECB82 */
+ 7.32411180042911447163e-02, /* 0x3FB2BFEE, 0x0E8D0842 */
+ 3.34423137516170720929e+00, /* 0x400AC0FC, 0x61149CF5 */
+ 4.26218440745412650017e+01, /* 0x40454F98, 0x962DAEDD */
+ 1.70808091340565596283e+02, /* 0x406559DB, 0xE25EFD1F */
+ 1.66733948696651168575e+02, /* 0x4064D77C, 0x81FA21E0 */
+};
+#ifdef __STDC__
+static const double qS3[6] = {
+#else
+static double qS3[6] = {
+#endif
+ 4.87588729724587182091e+01, /* 0x40486122, 0xBFE343A6 */
+ 7.09689221056606015736e+02, /* 0x40862D83, 0x86544EB3 */
+ 3.70414822620111362994e+03, /* 0x40ACF04B, 0xE44DFC63 */
+ 6.46042516752568917582e+03, /* 0x40B93C6C, 0xD7C76A28 */
+ 2.51633368920368957333e+03, /* 0x40A3A8AA, 0xD94FB1C0 */
+ -1.49247451836156386662e+02, /* 0xC062A7EB, 0x201CF40F */
+};
+
+#ifdef __STDC__
+static const double qR2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#else
+static double qR2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#endif
+ 1.50444444886983272379e-07, /* 0x3E84313B, 0x54F76BDB */
+ 7.32234265963079278272e-02, /* 0x3FB2BEC5, 0x3E883E34 */
+ 1.99819174093815998816e+00, /* 0x3FFFF897, 0xE727779C */
+ 1.44956029347885735348e+01, /* 0x402CFDBF, 0xAAF96FE5 */
+ 3.16662317504781540833e+01, /* 0x403FAA8E, 0x29FBDC4A */
+ 1.62527075710929267416e+01, /* 0x403040B1, 0x71814BB4 */
+};
+#ifdef __STDC__
+static const double qS2[6] = {
+#else
+static double qS2[6] = {
+#endif
+ 3.03655848355219184498e+01, /* 0x403E5D96, 0xF7C07AED */
+ 2.69348118608049844624e+02, /* 0x4070D591, 0xE4D14B40 */
+ 8.44783757595320139444e+02, /* 0x408A6645, 0x22B3BF22 */
+ 8.82935845112488550512e+02, /* 0x408B977C, 0x9C5CC214 */
+ 2.12666388511798828631e+02, /* 0x406A9553, 0x0E001365 */
+ -5.31095493882666946917e+00, /* 0xC0153E6A, 0xF8B32931 */
+};
+
+#ifdef __STDC__
+ static double qzero(double x)
+#else
+ static double qzero(x)
+ double x;
+#endif
+{
+#ifdef __STDC__
+ const double *p,*q;
+#else
+ double *p,*q;
+#endif
+ double s,r,z;
+ __int32_t ix;
+ GET_HIGH_WORD(ix,x);
+ ix &= 0x7fffffff;
+ if(ix>=0x40200000) {p = qR8; q= qS8;}
+ else if(ix>=0x40122E8B){p = qR5; q= qS5;}
+ else if(ix>=0x4006DB6D){p = qR3; q= qS3;}
+ else if(ix>=0x40000000){p = qR2; q= qS2;}
+ z = one/(x*x);
+ r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
+ s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5])))));
+ return (-.125 + r/s)/x;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/e_j1.c b/newlib/libm/math/e_j1.c
new file mode 100644
index 00000000000..feaa732debf
--- /dev/null
+++ b/newlib/libm/math/e_j1.c
@@ -0,0 +1,486 @@
+
+/* @(#)e_j1.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __ieee754_j1(x), __ieee754_y1(x)
+ * Bessel function of the first and second kinds of order zero.
+ * Method -- j1(x):
+ * 1. For tiny x, we use j1(x) = x/2 - x^3/16 + x^5/384 - ...
+ * 2. Reduce x to |x| since j1(x)=-j1(-x), and
+ * for x in (0,2)
+ * j1(x) = x/2 + x*z*R0/S0, where z = x*x;
+ * (precision: |j1/x - 1/2 - R0/S0 |<2**-61.51 )
+ * for x in (2,inf)
+ * j1(x) = sqrt(2/(pi*x))*(p1(x)*cos(x1)-q1(x)*sin(x1))
+ * y1(x) = sqrt(2/(pi*x))*(p1(x)*sin(x1)+q1(x)*cos(x1))
+ * where x1 = x-3*pi/4. It is better to compute sin(x1),cos(x1)
+ * as follow:
+ * cos(x1) = cos(x)cos(3pi/4)+sin(x)sin(3pi/4)
+ * = 1/sqrt(2) * (sin(x) - cos(x))
+ * sin(x1) = sin(x)cos(3pi/4)-cos(x)sin(3pi/4)
+ * = -1/sqrt(2) * (sin(x) + cos(x))
+ * (To avoid cancellation, use
+ * sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x))
+ * to compute the worse one.)
+ *
+ * 3 Special cases
+ * j1(nan)= nan
+ * j1(0) = 0
+ * j1(inf) = 0
+ *
+ * Method -- y1(x):
+ * 1. screen out x<=0 cases: y1(0)=-inf, y1(x<0)=NaN
+ * 2. For x<2.
+ * Since
+ * y1(x) = 2/pi*(j1(x)*(ln(x/2)+Euler)-1/x-x/2+5/64*x^3-...)
+ * therefore y1(x)-2/pi*j1(x)*ln(x)-1/x is an odd function.
+ * We use the following function to approximate y1,
+ * y1(x) = x*U(z)/V(z) + (2/pi)*(j1(x)*ln(x)-1/x), z= x^2
+ * where for x in [0,2] (abs err less than 2**-65.89)
+ * U(z) = U0[0] + U0[1]*z + ... + U0[4]*z^4
+ * V(z) = 1 + v0[0]*z + ... + v0[4]*z^5
+ * Note: For tiny x, 1/x dominate y1 and hence
+ * y1(tiny) = -2/pi/tiny, (choose tiny<2**-54)
+ * 3. For x>=2.
+ * y1(x) = sqrt(2/(pi*x))*(p1(x)*sin(x1)+q1(x)*cos(x1))
+ * where x1 = x-3*pi/4. It is better to compute sin(x1),cos(x1)
+ * by method mentioned above.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static double pone(double), qone(double);
+#else
+static double pone(), qone();
+#endif
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+huge = 1e300,
+one = 1.0,
+invsqrtpi= 5.64189583547756279280e-01, /* 0x3FE20DD7, 0x50429B6D */
+tpi = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */
+ /* R0/S0 on [0,2] */
+r00 = -6.25000000000000000000e-02, /* 0xBFB00000, 0x00000000 */
+r01 = 1.40705666955189706048e-03, /* 0x3F570D9F, 0x98472C61 */
+r02 = -1.59955631084035597520e-05, /* 0xBEF0C5C6, 0xBA169668 */
+r03 = 4.96727999609584448412e-08, /* 0x3E6AAAFA, 0x46CA0BD9 */
+s01 = 1.91537599538363460805e-02, /* 0x3F939D0B, 0x12637E53 */
+s02 = 1.85946785588630915560e-04, /* 0x3F285F56, 0xB9CDF664 */
+s03 = 1.17718464042623683263e-06, /* 0x3EB3BFF8, 0x333F8498 */
+s04 = 5.04636257076217042715e-09, /* 0x3E35AC88, 0xC97DFF2C */
+s05 = 1.23542274426137913908e-11; /* 0x3DAB2ACF, 0xCFB97ED8 */
+
+#ifdef __STDC__
+static const double zero = 0.0;
+#else
+static double zero = 0.0;
+#endif
+
+#ifdef __STDC__
+ double __ieee754_j1(double x)
+#else
+ double __ieee754_j1(x)
+ double x;
+#endif
+{
+ double z, s,c,ss,cc,r,u,v,y;
+ __int32_t hx,ix;
+
+ GET_HIGH_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x7ff00000) return one/x;
+ y = fabs(x);
+ if(ix >= 0x40000000) { /* |x| >= 2.0 */
+ s = sin(y);
+ c = cos(y);
+ ss = -s-c;
+ cc = s-c;
+ if(ix<0x7fe00000) { /* make sure y+y not overflow */
+ z = cos(y+y);
+ if ((s*c)>zero) cc = z/ss;
+ else ss = z/cc;
+ }
+ /*
+ * j1(x) = 1/__ieee754_sqrt(pi) * (P(1,x)*cc - Q(1,x)*ss) / __ieee754_sqrt(x)
+ * y1(x) = 1/__ieee754_sqrt(pi) * (P(1,x)*ss + Q(1,x)*cc) / __ieee754_sqrt(x)
+ */
+ if(ix>0x48000000) z = (invsqrtpi*cc)/__ieee754_sqrt(y);
+ else {
+ u = pone(y); v = qone(y);
+ z = invsqrtpi*(u*cc-v*ss)/__ieee754_sqrt(y);
+ }
+ if(hx<0) return -z;
+ else return z;
+ }
+ if(ix<0x3e400000) { /* |x|<2**-27 */
+ if(huge+x>one) return 0.5*x;/* inexact if x!=0 necessary */
+ }
+ z = x*x;
+ r = z*(r00+z*(r01+z*(r02+z*r03)));
+ s = one+z*(s01+z*(s02+z*(s03+z*(s04+z*s05))));
+ r *= x;
+ return(x*0.5+r/s);
+}
+
+#ifdef __STDC__
+static const double U0[5] = {
+#else
+static double U0[5] = {
+#endif
+ -1.96057090646238940668e-01, /* 0xBFC91866, 0x143CBC8A */
+ 5.04438716639811282616e-02, /* 0x3FA9D3C7, 0x76292CD1 */
+ -1.91256895875763547298e-03, /* 0xBF5F55E5, 0x4844F50F */
+ 2.35252600561610495928e-05, /* 0x3EF8AB03, 0x8FA6B88E */
+ -9.19099158039878874504e-08, /* 0xBE78AC00, 0x569105B8 */
+};
+#ifdef __STDC__
+static const double V0[5] = {
+#else
+static double V0[5] = {
+#endif
+ 1.99167318236649903973e-02, /* 0x3F94650D, 0x3F4DA9F0 */
+ 2.02552581025135171496e-04, /* 0x3F2A8C89, 0x6C257764 */
+ 1.35608801097516229404e-06, /* 0x3EB6C05A, 0x894E8CA6 */
+ 6.22741452364621501295e-09, /* 0x3E3ABF1D, 0x5BA69A86 */
+ 1.66559246207992079114e-11, /* 0x3DB25039, 0xDACA772A */
+};
+
+#ifdef __STDC__
+ double __ieee754_y1(double x)
+#else
+ double __ieee754_y1(x)
+ double x;
+#endif
+{
+ double z, s,c,ss,cc,u,v;
+ __int32_t hx,ix,lx;
+
+ EXTRACT_WORDS(hx,lx,x);
+ ix = 0x7fffffff&hx;
+ /* if Y1(NaN) is NaN, Y1(-inf) is NaN, Y1(inf) is 0 */
+ if(ix>=0x7ff00000) return one/(x+x*x);
+ if((ix|lx)==0) return -one/zero;
+ if(hx<0) return zero/zero;
+ if(ix >= 0x40000000) { /* |x| >= 2.0 */
+ s = sin(x);
+ c = cos(x);
+ ss = -s-c;
+ cc = s-c;
+ if(ix<0x7fe00000) { /* make sure x+x not overflow */
+ z = cos(x+x);
+ if ((s*c)>zero) cc = z/ss;
+ else ss = z/cc;
+ }
+ /* y1(x) = sqrt(2/(pi*x))*(p1(x)*sin(x0)+q1(x)*cos(x0))
+ * where x0 = x-3pi/4
+ * Better formula:
+ * cos(x0) = cos(x)cos(3pi/4)+sin(x)sin(3pi/4)
+ * = 1/sqrt(2) * (sin(x) - cos(x))
+ * sin(x0) = sin(x)cos(3pi/4)-cos(x)sin(3pi/4)
+ * = -1/sqrt(2) * (cos(x) + sin(x))
+ * To avoid cancellation, use
+ * sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x))
+ * to compute the worse one.
+ */
+ if(ix>0x48000000) z = (invsqrtpi*ss)/__ieee754_sqrt(x);
+ else {
+ u = pone(x); v = qone(x);
+ z = invsqrtpi*(u*ss+v*cc)/__ieee754_sqrt(x);
+ }
+ return z;
+ }
+ if(ix<=0x3c900000) { /* x < 2**-54 */
+ return(-tpi/x);
+ }
+ z = x*x;
+ u = U0[0]+z*(U0[1]+z*(U0[2]+z*(U0[3]+z*U0[4])));
+ v = one+z*(V0[0]+z*(V0[1]+z*(V0[2]+z*(V0[3]+z*V0[4]))));
+ return(x*(u/v) + tpi*(__ieee754_j1(x)*__ieee754_log(x)-one/x));
+}
+
+/* For x >= 8, the asymptotic expansions of pone is
+ * 1 + 15/128 s^2 - 4725/2^15 s^4 - ..., where s = 1/x.
+ * We approximate pone by
+ * pone(x) = 1 + (R/S)
+ * where R = pr0 + pr1*s^2 + pr2*s^4 + ... + pr5*s^10
+ * S = 1 + ps0*s^2 + ... + ps4*s^10
+ * and
+ * | pone(x)-1-R/S | <= 2 ** ( -60.06)
+ */
+
+#ifdef __STDC__
+static const double pr8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#else
+static double pr8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#endif
+ 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */
+ 1.17187499999988647970e-01, /* 0x3FBDFFFF, 0xFFFFFCCE */
+ 1.32394806593073575129e+01, /* 0x402A7A9D, 0x357F7FCE */
+ 4.12051854307378562225e+02, /* 0x4079C0D4, 0x652EA590 */
+ 3.87474538913960532227e+03, /* 0x40AE457D, 0xA3A532CC */
+ 7.91447954031891731574e+03, /* 0x40BEEA7A, 0xC32782DD */
+};
+#ifdef __STDC__
+static const double ps8[5] = {
+#else
+static double ps8[5] = {
+#endif
+ 1.14207370375678408436e+02, /* 0x405C8D45, 0x8E656CAC */
+ 3.65093083420853463394e+03, /* 0x40AC85DC, 0x964D274F */
+ 3.69562060269033463555e+04, /* 0x40E20B86, 0x97C5BB7F */
+ 9.76027935934950801311e+04, /* 0x40F7D42C, 0xB28F17BB */
+ 3.08042720627888811578e+04, /* 0x40DE1511, 0x697A0B2D */
+};
+
+#ifdef __STDC__
+static const double pr5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#else
+static double pr5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#endif
+ 1.31990519556243522749e-11, /* 0x3DAD0667, 0xDAE1CA7D */
+ 1.17187493190614097638e-01, /* 0x3FBDFFFF, 0xE2C10043 */
+ 6.80275127868432871736e+00, /* 0x401B3604, 0x6E6315E3 */
+ 1.08308182990189109773e+02, /* 0x405B13B9, 0x452602ED */
+ 5.17636139533199752805e+02, /* 0x40802D16, 0xD052D649 */
+ 5.28715201363337541807e+02, /* 0x408085B8, 0xBB7E0CB7 */
+};
+#ifdef __STDC__
+static const double ps5[5] = {
+#else
+static double ps5[5] = {
+#endif
+ 5.92805987221131331921e+01, /* 0x404DA3EA, 0xA8AF633D */
+ 9.91401418733614377743e+02, /* 0x408EFB36, 0x1B066701 */
+ 5.35326695291487976647e+03, /* 0x40B4E944, 0x5706B6FB */
+ 7.84469031749551231769e+03, /* 0x40BEA4B0, 0xB8A5BB15 */
+ 1.50404688810361062679e+03, /* 0x40978030, 0x036F5E51 */
+};
+
+#ifdef __STDC__
+static const double pr3[6] = {
+#else
+static double pr3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#endif
+ 3.02503916137373618024e-09, /* 0x3E29FC21, 0xA7AD9EDD */
+ 1.17186865567253592491e-01, /* 0x3FBDFFF5, 0x5B21D17B */
+ 3.93297750033315640650e+00, /* 0x400F76BC, 0xE85EAD8A */
+ 3.51194035591636932736e+01, /* 0x40418F48, 0x9DA6D129 */
+ 9.10550110750781271918e+01, /* 0x4056C385, 0x4D2C1837 */
+ 4.85590685197364919645e+01, /* 0x4048478F, 0x8EA83EE5 */
+};
+#ifdef __STDC__
+static const double ps3[5] = {
+#else
+static double ps3[5] = {
+#endif
+ 3.47913095001251519989e+01, /* 0x40416549, 0xA134069C */
+ 3.36762458747825746741e+02, /* 0x40750C33, 0x07F1A75F */
+ 1.04687139975775130551e+03, /* 0x40905B7C, 0x5037D523 */
+ 8.90811346398256432622e+02, /* 0x408BD67D, 0xA32E31E9 */
+ 1.03787932439639277504e+02, /* 0x4059F26D, 0x7C2EED53 */
+};
+
+#ifdef __STDC__
+static const double pr2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#else
+static double pr2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#endif
+ 1.07710830106873743082e-07, /* 0x3E7CE9D4, 0xF65544F4 */
+ 1.17176219462683348094e-01, /* 0x3FBDFF42, 0xBE760D83 */
+ 2.36851496667608785174e+00, /* 0x4002F2B7, 0xF98FAEC0 */
+ 1.22426109148261232917e+01, /* 0x40287C37, 0x7F71A964 */
+ 1.76939711271687727390e+01, /* 0x4031B1A8, 0x177F8EE2 */
+ 5.07352312588818499250e+00, /* 0x40144B49, 0xA574C1FE */
+};
+#ifdef __STDC__
+static const double ps2[5] = {
+#else
+static double ps2[5] = {
+#endif
+ 2.14364859363821409488e+01, /* 0x40356FBD, 0x8AD5ECDC */
+ 1.25290227168402751090e+02, /* 0x405F5293, 0x14F92CD5 */
+ 2.32276469057162813669e+02, /* 0x406D08D8, 0xD5A2DBD9 */
+ 1.17679373287147100768e+02, /* 0x405D6B7A, 0xDA1884A9 */
+ 8.36463893371618283368e+00, /* 0x4020BAB1, 0xF44E5192 */
+};
+
+#ifdef __STDC__
+ static double pone(double x)
+#else
+ static double pone(x)
+ double x;
+#endif
+{
+#ifdef __STDC__
+ const double *p,*q;
+#else
+ double *p,*q;
+#endif
+ double z,r,s;
+ __int32_t ix;
+ GET_HIGH_WORD(ix,x);
+ ix &= 0x7fffffff;
+ if(ix>=0x40200000) {p = pr8; q= ps8;}
+ else if(ix>=0x40122E8B){p = pr5; q= ps5;}
+ else if(ix>=0x4006DB6D){p = pr3; q= ps3;}
+ else if(ix>=0x40000000){p = pr2; q= ps2;}
+ z = one/(x*x);
+ r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
+ s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4]))));
+ return one+ r/s;
+}
+
+
+/* For x >= 8, the asymptotic expansions of qone is
+ * 3/8 s - 105/1024 s^3 - ..., where s = 1/x.
+ * We approximate pone by
+ * qone(x) = s*(0.375 + (R/S))
+ * where R = qr1*s^2 + qr2*s^4 + ... + qr5*s^10
+ * S = 1 + qs1*s^2 + ... + qs6*s^12
+ * and
+ * | qone(x)/s -0.375-R/S | <= 2 ** ( -61.13)
+ */
+
+#ifdef __STDC__
+static const double qr8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#else
+static double qr8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#endif
+ 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */
+ -1.02539062499992714161e-01, /* 0xBFBA3FFF, 0xFFFFFDF3 */
+ -1.62717534544589987888e+01, /* 0xC0304591, 0xA26779F7 */
+ -7.59601722513950107896e+02, /* 0xC087BCD0, 0x53E4B576 */
+ -1.18498066702429587167e+04, /* 0xC0C724E7, 0x40F87415 */
+ -4.84385124285750353010e+04, /* 0xC0E7A6D0, 0x65D09C6A */
+};
+#ifdef __STDC__
+static const double qs8[6] = {
+#else
+static double qs8[6] = {
+#endif
+ 1.61395369700722909556e+02, /* 0x40642CA6, 0xDE5BCDE5 */
+ 7.82538599923348465381e+03, /* 0x40BE9162, 0xD0D88419 */
+ 1.33875336287249578163e+05, /* 0x4100579A, 0xB0B75E98 */
+ 7.19657723683240939863e+05, /* 0x4125F653, 0x72869C19 */
+ 6.66601232617776375264e+05, /* 0x412457D2, 0x7719AD5C */
+ -2.94490264303834643215e+05, /* 0xC111F969, 0x0EA5AA18 */
+};
+
+#ifdef __STDC__
+static const double qr5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#else
+static double qr5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#endif
+ -2.08979931141764104297e-11, /* 0xBDB6FA43, 0x1AA1A098 */
+ -1.02539050241375426231e-01, /* 0xBFBA3FFF, 0xCB597FEF */
+ -8.05644828123936029840e+00, /* 0xC0201CE6, 0xCA03AD4B */
+ -1.83669607474888380239e+02, /* 0xC066F56D, 0x6CA7B9B0 */
+ -1.37319376065508163265e+03, /* 0xC09574C6, 0x6931734F */
+ -2.61244440453215656817e+03, /* 0xC0A468E3, 0x88FDA79D */
+};
+#ifdef __STDC__
+static const double qs5[6] = {
+#else
+static double qs5[6] = {
+#endif
+ 8.12765501384335777857e+01, /* 0x405451B2, 0xFF5A11B2 */
+ 1.99179873460485964642e+03, /* 0x409F1F31, 0xE77BF839 */
+ 1.74684851924908907677e+04, /* 0x40D10F1F, 0x0D64CE29 */
+ 4.98514270910352279316e+04, /* 0x40E8576D, 0xAABAD197 */
+ 2.79480751638918118260e+04, /* 0x40DB4B04, 0xCF7C364B */
+ -4.71918354795128470869e+03, /* 0xC0B26F2E, 0xFCFFA004 */
+};
+
+#ifdef __STDC__
+static const double qr3[6] = {
+#else
+static double qr3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#endif
+ -5.07831226461766561369e-09, /* 0xBE35CFA9, 0xD38FC84F */
+ -1.02537829820837089745e-01, /* 0xBFBA3FEB, 0x51AEED54 */
+ -4.61011581139473403113e+00, /* 0xC01270C2, 0x3302D9FF */
+ -5.78472216562783643212e+01, /* 0xC04CEC71, 0xC25D16DA */
+ -2.28244540737631695038e+02, /* 0xC06C87D3, 0x4718D55F */
+ -2.19210128478909325622e+02, /* 0xC06B66B9, 0x5F5C1BF6 */
+};
+#ifdef __STDC__
+static const double qs3[6] = {
+#else
+static double qs3[6] = {
+#endif
+ 4.76651550323729509273e+01, /* 0x4047D523, 0xCCD367E4 */
+ 6.73865112676699709482e+02, /* 0x40850EEB, 0xC031EE3E */
+ 3.38015286679526343505e+03, /* 0x40AA684E, 0x448E7C9A */
+ 5.54772909720722782367e+03, /* 0x40B5ABBA, 0xA61D54A6 */
+ 1.90311919338810798763e+03, /* 0x409DBC7A, 0x0DD4DF4B */
+ -1.35201191444307340817e+02, /* 0xC060E670, 0x290A311F */
+};
+
+#ifdef __STDC__
+static const double qr2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#else
+static double qr2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#endif
+ -1.78381727510958865572e-07, /* 0xBE87F126, 0x44C626D2 */
+ -1.02517042607985553460e-01, /* 0xBFBA3E8E, 0x9148B010 */
+ -2.75220568278187460720e+00, /* 0xC0060484, 0x69BB4EDA */
+ -1.96636162643703720221e+01, /* 0xC033A9E2, 0xC168907F */
+ -4.23253133372830490089e+01, /* 0xC04529A3, 0xDE104AAA */
+ -2.13719211703704061733e+01, /* 0xC0355F36, 0x39CF6E52 */
+};
+#ifdef __STDC__
+static const double qs2[6] = {
+#else
+static double qs2[6] = {
+#endif
+ 2.95333629060523854548e+01, /* 0x403D888A, 0x78AE64FF */
+ 2.52981549982190529136e+02, /* 0x406F9F68, 0xDB821CBA */
+ 7.57502834868645436472e+02, /* 0x4087AC05, 0xCE49A0F7 */
+ 7.39393205320467245656e+02, /* 0x40871B25, 0x48D4C029 */
+ 1.55949003336666123687e+02, /* 0x40637E5E, 0x3C3ED8D4 */
+ -4.95949898822628210127e+00, /* 0xC013D686, 0xE71BE86B */
+};
+
+#ifdef __STDC__
+ static double qone(double x)
+#else
+ static double qone(x)
+ double x;
+#endif
+{
+#ifdef __STDC__
+ const double *p,*q;
+#else
+ double *p,*q;
+#endif
+ double s,r,z;
+ __int32_t ix;
+ GET_HIGH_WORD(ix,x);
+ ix &= 0x7fffffff;
+ if(ix>=0x40200000) {p = qr8; q= qs8;}
+ else if(ix>=0x40122E8B){p = qr5; q= qs5;}
+ else if(ix>=0x4006DB6D){p = qr3; q= qs3;}
+ else if(ix>=0x40000000){p = qr2; q= qs2;}
+ z = one/(x*x);
+ r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
+ s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5])))));
+ return (.375 + r/s)/x;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/e_jn.c b/newlib/libm/math/e_jn.c
new file mode 100644
index 00000000000..1eea27be038
--- /dev/null
+++ b/newlib/libm/math/e_jn.c
@@ -0,0 +1,281 @@
+
+/* @(#)e_jn.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * __ieee754_jn(n, x), __ieee754_yn(n, x)
+ * floating point Bessel's function of the 1st and 2nd kind
+ * of order n
+ *
+ * Special cases:
+ * y0(0)=y1(0)=yn(n,0) = -inf with division by zero signal;
+ * y0(-ve)=y1(-ve)=yn(n,-ve) are NaN with invalid signal.
+ * Note 2. About jn(n,x), yn(n,x)
+ * For n=0, j0(x) is called,
+ * for n=1, j1(x) is called,
+ * for n<x, forward recursion us used starting
+ * from values of j0(x) and j1(x).
+ * for n>x, a continued fraction approximation to
+ * j(n,x)/j(n-1,x) is evaluated and then backward
+ * recursion is used starting from a supposed value
+ * for j(n,x). The resulting value of j(0,x) is
+ * compared with the actual value to correct the
+ * supposed value of j(n,x).
+ *
+ * yn(n,x) is similar in all respects, except
+ * that forward recursion is used for all
+ * values of n>1.
+ *
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+invsqrtpi= 5.64189583547756279280e-01, /* 0x3FE20DD7, 0x50429B6D */
+two = 2.00000000000000000000e+00, /* 0x40000000, 0x00000000 */
+one = 1.00000000000000000000e+00; /* 0x3FF00000, 0x00000000 */
+
+#ifdef __STDC__
+static const double zero = 0.00000000000000000000e+00;
+#else
+static double zero = 0.00000000000000000000e+00;
+#endif
+
+#ifdef __STDC__
+ double __ieee754_jn(int n, double x)
+#else
+ double __ieee754_jn(n,x)
+ int n; double x;
+#endif
+{
+ __int32_t i,hx,ix,lx, sgn;
+ double a, b, temp, di;
+ double z, w;
+
+ /* J(-n,x) = (-1)^n * J(n, x), J(n, -x) = (-1)^n * J(n, x)
+ * Thus, J(-n,x) = J(n,-x)
+ */
+ EXTRACT_WORDS(hx,lx,x);
+ ix = 0x7fffffff&hx;
+ /* if J(n,NaN) is NaN */
+ if((ix|((__uint32_t)(lx|-lx))>>31)>0x7ff00000) return x+x;
+ if(n<0){
+ n = -n;
+ x = -x;
+ hx ^= 0x80000000;
+ }
+ if(n==0) return(__ieee754_j0(x));
+ if(n==1) return(__ieee754_j1(x));
+ sgn = (n&1)&(hx>>31); /* even n -- 0, odd n -- sign(x) */
+ x = fabs(x);
+ if((ix|lx)==0||ix>=0x7ff00000) /* if x is 0 or inf */
+ b = zero;
+ else if((double)n<=x) {
+ /* Safe to use J(n+1,x)=2n/x *J(n,x)-J(n-1,x) */
+ if(ix>=0x52D00000) { /* x > 2**302 */
+ /* (x >> n**2)
+ * Jn(x) = cos(x-(2n+1)*pi/4)*sqrt(2/x*pi)
+ * Yn(x) = sin(x-(2n+1)*pi/4)*sqrt(2/x*pi)
+ * Let s=sin(x), c=cos(x),
+ * xn=x-(2n+1)*pi/4, sqt2 = sqrt(2),then
+ *
+ * n sin(xn)*sqt2 cos(xn)*sqt2
+ * ----------------------------------
+ * 0 s-c c+s
+ * 1 -s-c -c+s
+ * 2 -s+c -c-s
+ * 3 s+c c-s
+ */
+ switch(n&3) {
+ case 0: temp = cos(x)+sin(x); break;
+ case 1: temp = -cos(x)+sin(x); break;
+ case 2: temp = -cos(x)-sin(x); break;
+ case 3: temp = cos(x)-sin(x); break;
+ }
+ b = invsqrtpi*temp/__ieee754_sqrt(x);
+ } else {
+ a = __ieee754_j0(x);
+ b = __ieee754_j1(x);
+ for(i=1;i<n;i++){
+ temp = b;
+ b = b*((double)(i+i)/x) - a; /* avoid underflow */
+ a = temp;
+ }
+ }
+ } else {
+ if(ix<0x3e100000) { /* x < 2**-29 */
+ /* x is tiny, return the first Taylor expansion of J(n,x)
+ * J(n,x) = 1/n!*(x/2)^n - ...
+ */
+ if(n>33) /* underflow */
+ b = zero;
+ else {
+ temp = x*0.5; b = temp;
+ for (a=one,i=2;i<=n;i++) {
+ a *= (double)i; /* a = n! */
+ b *= temp; /* b = (x/2)^n */
+ }
+ b = b/a;
+ }
+ } else {
+ /* use backward recurrence */
+ /* x x^2 x^2
+ * J(n,x)/J(n-1,x) = ---- ------ ------ .....
+ * 2n - 2(n+1) - 2(n+2)
+ *
+ * 1 1 1
+ * (for large x) = ---- ------ ------ .....
+ * 2n 2(n+1) 2(n+2)
+ * -- - ------ - ------ -
+ * x x x
+ *
+ * Let w = 2n/x and h=2/x, then the above quotient
+ * is equal to the continued fraction:
+ * 1
+ * = -----------------------
+ * 1
+ * w - -----------------
+ * 1
+ * w+h - ---------
+ * w+2h - ...
+ *
+ * To determine how many terms needed, let
+ * Q(0) = w, Q(1) = w(w+h) - 1,
+ * Q(k) = (w+k*h)*Q(k-1) - Q(k-2),
+ * When Q(k) > 1e4 good for single
+ * When Q(k) > 1e9 good for double
+ * When Q(k) > 1e17 good for quadruple
+ */
+ /* determine k */
+ double t,v;
+ double q0,q1,h,tmp; __int32_t k,m;
+ w = (n+n)/(double)x; h = 2.0/(double)x;
+ q0 = w; z = w+h; q1 = w*z - 1.0; k=1;
+ while(q1<1.0e9) {
+ k += 1; z += h;
+ tmp = z*q1 - q0;
+ q0 = q1;
+ q1 = tmp;
+ }
+ m = n+n;
+ for(t=zero, i = 2*(n+k); i>=m; i -= 2) t = one/(i/x-t);
+ a = t;
+ b = one;
+ /* estimate log((2/x)^n*n!) = n*log(2/x)+n*ln(n)
+ * Hence, if n*(log(2n/x)) > ...
+ * single 8.8722839355e+01
+ * double 7.09782712893383973096e+02
+ * long double 1.1356523406294143949491931077970765006170e+04
+ * then recurrent value may overflow and the result is
+ * likely underflow to zero
+ */
+ tmp = n;
+ v = two/x;
+ tmp = tmp*__ieee754_log(fabs(v*tmp));
+ if(tmp<7.09782712893383973096e+02) {
+ for(i=n-1,di=(double)(i+i);i>0;i--){
+ temp = b;
+ b *= di;
+ b = b/x - a;
+ a = temp;
+ di -= two;
+ }
+ } else {
+ for(i=n-1,di=(double)(i+i);i>0;i--){
+ temp = b;
+ b *= di;
+ b = b/x - a;
+ a = temp;
+ di -= two;
+ /* scale b to avoid spurious overflow */
+ if(b>1e100) {
+ a /= b;
+ t /= b;
+ b = one;
+ }
+ }
+ }
+ b = (t*__ieee754_j0(x)/b);
+ }
+ }
+ if(sgn==1) return -b; else return b;
+}
+
+#ifdef __STDC__
+ double __ieee754_yn(int n, double x)
+#else
+ double __ieee754_yn(n,x)
+ int n; double x;
+#endif
+{
+ __int32_t i,hx,ix,lx;
+ __int32_t sign;
+ double a, b, temp;
+
+ EXTRACT_WORDS(hx,lx,x);
+ ix = 0x7fffffff&hx;
+ /* if Y(n,NaN) is NaN */
+ if((ix|((__uint32_t)(lx|-lx))>>31)>0x7ff00000) return x+x;
+ if((ix|lx)==0) return -one/zero;
+ if(hx<0) return zero/zero;
+ sign = 1;
+ if(n<0){
+ n = -n;
+ sign = 1 - ((n&1)<<1);
+ }
+ if(n==0) return(__ieee754_y0(x));
+ if(n==1) return(sign*__ieee754_y1(x));
+ if(ix==0x7ff00000) return zero;
+ if(ix>=0x52D00000) { /* x > 2**302 */
+ /* (x >> n**2)
+ * Jn(x) = cos(x-(2n+1)*pi/4)*sqrt(2/x*pi)
+ * Yn(x) = sin(x-(2n+1)*pi/4)*sqrt(2/x*pi)
+ * Let s=sin(x), c=cos(x),
+ * xn=x-(2n+1)*pi/4, sqt2 = sqrt(2),then
+ *
+ * n sin(xn)*sqt2 cos(xn)*sqt2
+ * ----------------------------------
+ * 0 s-c c+s
+ * 1 -s-c -c+s
+ * 2 -s+c -c-s
+ * 3 s+c c-s
+ */
+ switch(n&3) {
+ case 0: temp = sin(x)-cos(x); break;
+ case 1: temp = -sin(x)-cos(x); break;
+ case 2: temp = -sin(x)+cos(x); break;
+ case 3: temp = sin(x)+cos(x); break;
+ }
+ b = invsqrtpi*temp/__ieee754_sqrt(x);
+ } else {
+ __uint32_t high;
+ a = __ieee754_y0(x);
+ b = __ieee754_y1(x);
+ /* quit if b is -inf */
+ GET_HIGH_WORD(high,b);
+ for(i=1;i<n&&high!=0xfff00000;i++){
+ temp = b;
+ b = ((double)(i+i)/x)*b - a;
+ GET_HIGH_WORD(high,b);
+ a = temp;
+ }
+ }
+ if(sign>0) return b; else return -b;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/e_log.c b/newlib/libm/math/e_log.c
new file mode 100644
index 00000000000..774ca389f74
--- /dev/null
+++ b/newlib/libm/math/e_log.c
@@ -0,0 +1,146 @@
+
+/* @(#)e_log.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __ieee754_log(x)
+ * Return the logrithm of x
+ *
+ * Method :
+ * 1. Argument Reduction: find k and f such that
+ * x = 2^k * (1+f),
+ * where sqrt(2)/2 < 1+f < sqrt(2) .
+ *
+ * 2. Approximation of log(1+f).
+ * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s)
+ * = 2s + 2/3 s**3 + 2/5 s**5 + .....,
+ * = 2s + s*R
+ * We use a special Reme algorithm on [0,0.1716] to generate
+ * a polynomial of degree 14 to approximate R The maximum error
+ * of this polynomial approximation is bounded by 2**-58.45. In
+ * other words,
+ * 2 4 6 8 10 12 14
+ * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s
+ * (the values of Lg1 to Lg7 are listed in the program)
+ * and
+ * | 2 14 | -58.45
+ * | Lg1*s +...+Lg7*s - R(z) | <= 2
+ * | |
+ * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2.
+ * In order to guarantee error in log below 1ulp, we compute log
+ * by
+ * log(1+f) = f - s*(f - R) (if f is not too large)
+ * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy)
+ *
+ * 3. Finally, log(x) = k*ln2 + log(1+f).
+ * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo)))
+ * Here ln2 is split into two floating point number:
+ * ln2_hi + ln2_lo,
+ * where n*ln2_hi is always exact for |n| < 2000.
+ *
+ * Special cases:
+ * log(x) is NaN with signal if x < 0 (including -INF) ;
+ * log(+INF) is +INF; log(0) is -INF with signal;
+ * log(NaN) is that NaN with no signal.
+ *
+ * Accuracy:
+ * according to an error analysis, the error is always less than
+ * 1 ulp (unit in the last place).
+ *
+ * Constants:
+ * The hexadecimal values are the intended ones for the following
+ * constants. The decimal values may be used, provided that the
+ * compiler will convert from decimal to binary accurately enough
+ * to produce the hexadecimal values shown.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+ln2_hi = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */
+ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */
+two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */
+Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */
+Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */
+Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */
+Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */
+Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */
+Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */
+Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */
+
+#ifdef __STDC__
+static const double zero = 0.0;
+#else
+static double zero = 0.0;
+#endif
+
+#ifdef __STDC__
+ double __ieee754_log(double x)
+#else
+ double __ieee754_log(x)
+ double x;
+#endif
+{
+ double hfsq,f,s,z,R,w,t1,t2,dk;
+ __int32_t k,hx,i,j;
+ __uint32_t lx;
+
+ EXTRACT_WORDS(hx,lx,x);
+
+ k=0;
+ if (hx < 0x00100000) { /* x < 2**-1022 */
+ if (((hx&0x7fffffff)|lx)==0)
+ return -two54/zero; /* log(+-0)=-inf */
+ if (hx<0) return (x-x)/zero; /* log(-#) = NaN */
+ k -= 54; x *= two54; /* subnormal number, scale up x */
+ GET_HIGH_WORD(hx,x);
+ }
+ if (hx >= 0x7ff00000) return x+x;
+ k += (hx>>20)-1023;
+ hx &= 0x000fffff;
+ i = (hx+0x95f64)&0x100000;
+ SET_HIGH_WORD(x,hx|(i^0x3ff00000)); /* normalize x or x/2 */
+ k += (i>>20);
+ f = x-1.0;
+ if((0x000fffff&(2+hx))<3) { /* |f| < 2**-20 */
+ if(f==zero) if(k==0) return zero; else {dk=(double)k;
+ return dk*ln2_hi+dk*ln2_lo;}
+ R = f*f*(0.5-0.33333333333333333*f);
+ if(k==0) return f-R; else {dk=(double)k;
+ return dk*ln2_hi-((R-dk*ln2_lo)-f);}
+ }
+ s = f/(2.0+f);
+ dk = (double)k;
+ z = s*s;
+ i = hx-0x6147a;
+ w = z*z;
+ j = 0x6b851-hx;
+ t1= w*(Lg2+w*(Lg4+w*Lg6));
+ t2= z*(Lg1+w*(Lg3+w*(Lg5+w*Lg7)));
+ i |= j;
+ R = t2+t1;
+ if(i>0) {
+ hfsq=0.5*f*f;
+ if(k==0) return f-(hfsq-s*(hfsq+R)); else
+ return dk*ln2_hi-((hfsq-(s*(hfsq+R)+dk*ln2_lo))-f);
+ } else {
+ if(k==0) return f-s*(f-R); else
+ return dk*ln2_hi-((s*(f-R)-dk*ln2_lo)-f);
+ }
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/e_log10.c b/newlib/libm/math/e_log10.c
new file mode 100644
index 00000000000..f7daaa1b264
--- /dev/null
+++ b/newlib/libm/math/e_log10.c
@@ -0,0 +1,98 @@
+
+/* @(#)e_log10.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __ieee754_log10(x)
+ * Return the base 10 logarithm of x
+ *
+ * Method :
+ * Let log10_2hi = leading 40 bits of log10(2) and
+ * log10_2lo = log10(2) - log10_2hi,
+ * ivln10 = 1/log(10) rounded.
+ * Then
+ * n = ilogb(x),
+ * if(n<0) n = n+1;
+ * x = scalbn(x,-n);
+ * log10(x) := n*log10_2hi + (n*log10_2lo + ivln10*log(x))
+ *
+ * Note 1:
+ * To guarantee log10(10**n)=n, where 10**n is normal, the rounding
+ * mode must set to Round-to-Nearest.
+ * Note 2:
+ * [1/log(10)] rounded to 53 bits has error .198 ulps;
+ * log10 is monotonic at all binary break points.
+ *
+ * Special cases:
+ * log10(x) is NaN with signal if x < 0;
+ * log10(+INF) is +INF with no signal; log10(0) is -INF with signal;
+ * log10(NaN) is that NaN with no signal;
+ * log10(10**N) = N for N=0,1,...,22.
+ *
+ * Constants:
+ * The hexadecimal values are the intended ones for the following constants.
+ * The decimal values may be used, provided that the compiler will convert
+ * from decimal to binary accurately enough to produce the hexadecimal values
+ * shown.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+two54 = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */
+ivln10 = 4.34294481903251816668e-01, /* 0x3FDBCB7B, 0x1526E50E */
+log10_2hi = 3.01029995663611771306e-01, /* 0x3FD34413, 0x509F6000 */
+log10_2lo = 3.69423907715893078616e-13; /* 0x3D59FEF3, 0x11F12B36 */
+
+#ifdef __STDC__
+static const double zero = 0.0;
+#else
+static double zero = 0.0;
+#endif
+
+#ifdef __STDC__
+ double __ieee754_log10(double x)
+#else
+ double __ieee754_log10(x)
+ double x;
+#endif
+{
+ double y,z;
+ __int32_t i,k,hx;
+ __uint32_t lx;
+
+ EXTRACT_WORDS(hx,lx,x);
+
+ k=0;
+ if (hx < 0x00100000) { /* x < 2**-1022 */
+ if (((hx&0x7fffffff)|lx)==0)
+ return -two54/zero; /* log(+-0)=-inf */
+ if (hx<0) return (x-x)/zero; /* log(-#) = NaN */
+ k -= 54; x *= two54; /* subnormal number, scale up x */
+ GET_HIGH_WORD(hx,x);
+ }
+ if (hx >= 0x7ff00000) return x+x;
+ k += (hx>>20)-1023;
+ i = ((__uint32_t)k&0x80000000)>>31;
+ hx = (hx&0x000fffff)|((0x3ff-i)<<20);
+ y = (double)(k+i);
+ SET_HIGH_WORD(x,hx);
+ z = y*log10_2lo + ivln10*__ieee754_log(x);
+ return z+y*log10_2hi;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/e_pow.c b/newlib/libm/math/e_pow.c
new file mode 100644
index 00000000000..9312085d4a6
--- /dev/null
+++ b/newlib/libm/math/e_pow.c
@@ -0,0 +1,312 @@
+
+/* @(#)e_pow.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __ieee754_pow(x,y) return x**y
+ *
+ * n
+ * Method: Let x = 2 * (1+f)
+ * 1. Compute and return log2(x) in two pieces:
+ * log2(x) = w1 + w2,
+ * where w1 has 53-24 = 29 bit trailing zeros.
+ * 2. Perform y*log2(x) = n+y' by simulating muti-precision
+ * arithmetic, where |y'|<=0.5.
+ * 3. Return x**y = 2**n*exp(y'*log2)
+ *
+ * Special cases:
+ * 1. (anything) ** 0 is 1
+ * 2. (anything) ** 1 is itself
+ * 3. (anything) ** NAN is NAN
+ * 4. NAN ** (anything except 0) is NAN
+ * 5. +-(|x| > 1) ** +INF is +INF
+ * 6. +-(|x| > 1) ** -INF is +0
+ * 7. +-(|x| < 1) ** +INF is +0
+ * 8. +-(|x| < 1) ** -INF is +INF
+ * 9. +-1 ** +-INF is NAN
+ * 10. +0 ** (+anything except 0, NAN) is +0
+ * 11. -0 ** (+anything except 0, NAN, odd integer) is +0
+ * 12. +0 ** (-anything except 0, NAN) is +INF
+ * 13. -0 ** (-anything except 0, NAN, odd integer) is +INF
+ * 14. -0 ** (odd integer) = -( +0 ** (odd integer) )
+ * 15. +INF ** (+anything except 0,NAN) is +INF
+ * 16. +INF ** (-anything except 0,NAN) is +0
+ * 17. -INF ** (anything) = -0 ** (-anything)
+ * 18. (-anything) ** (integer) is (-1)**(integer)*(+anything**integer)
+ * 19. (-anything except 0 and inf) ** (non-integer) is NAN
+ *
+ * Accuracy:
+ * pow(x,y) returns x**y nearly rounded. In particular
+ * pow(integer,integer)
+ * always returns the correct integer provided it is
+ * representable.
+ *
+ * Constants :
+ * The hexadecimal values are the intended ones for the following
+ * constants. The decimal values may be used, provided that the
+ * compiler will convert from decimal to binary accurately enough
+ * to produce the hexadecimal values shown.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+bp[] = {1.0, 1.5,},
+dp_h[] = { 0.0, 5.84962487220764160156e-01,}, /* 0x3FE2B803, 0x40000000 */
+dp_l[] = { 0.0, 1.35003920212974897128e-08,}, /* 0x3E4CFDEB, 0x43CFD006 */
+zero = 0.0,
+one = 1.0,
+two = 2.0,
+two53 = 9007199254740992.0, /* 0x43400000, 0x00000000 */
+huge = 1.0e300,
+tiny = 1.0e-300,
+ /* poly coefs for (3/2)*(log(x)-2s-2/3*s**3 */
+L1 = 5.99999999999994648725e-01, /* 0x3FE33333, 0x33333303 */
+L2 = 4.28571428578550184252e-01, /* 0x3FDB6DB6, 0xDB6FABFF */
+L3 = 3.33333329818377432918e-01, /* 0x3FD55555, 0x518F264D */
+L4 = 2.72728123808534006489e-01, /* 0x3FD17460, 0xA91D4101 */
+L5 = 2.30660745775561754067e-01, /* 0x3FCD864A, 0x93C9DB65 */
+L6 = 2.06975017800338417784e-01, /* 0x3FCA7E28, 0x4A454EEF */
+P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */
+P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */
+P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */
+P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */
+P5 = 4.13813679705723846039e-08, /* 0x3E663769, 0x72BEA4D0 */
+lg2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */
+lg2_h = 6.93147182464599609375e-01, /* 0x3FE62E43, 0x00000000 */
+lg2_l = -1.90465429995776804525e-09, /* 0xBE205C61, 0x0CA86C39 */
+ovt = 8.0085662595372944372e-0017, /* -(1024-log2(ovfl+.5ulp)) */
+cp = 9.61796693925975554329e-01, /* 0x3FEEC709, 0xDC3A03FD =2/(3ln2) */
+cp_h = 9.61796700954437255859e-01, /* 0x3FEEC709, 0xE0000000 =(float)cp */
+cp_l = -7.02846165095275826516e-09, /* 0xBE3E2FE0, 0x145B01F5 =tail of cp_h*/
+ivln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE =1/ln2 */
+ivln2_h = 1.44269502162933349609e+00, /* 0x3FF71547, 0x60000000 =24b 1/ln2*/
+ivln2_l = 1.92596299112661746887e-08; /* 0x3E54AE0B, 0xF85DDF44 =1/ln2 tail*/
+
+#ifdef __STDC__
+ double __ieee754_pow(double x, double y)
+#else
+ double __ieee754_pow(x,y)
+ double x, y;
+#endif
+{
+ double z,ax,z_h,z_l,p_h,p_l;
+ double y1,t1,t2,r,s,t,u,v,w;
+ __int32_t i,j,k,yisint,n;
+ __int32_t hx,hy,ix,iy;
+ __uint32_t lx,ly;
+
+ EXTRACT_WORDS(hx,lx,x);
+ EXTRACT_WORDS(hy,ly,y);
+ ix = hx&0x7fffffff; iy = hy&0x7fffffff;
+
+ /* y==zero: x**0 = 1 */
+ if((iy|ly)==0) return one;
+
+ /* +-NaN return x+y */
+ if(ix > 0x7ff00000 || ((ix==0x7ff00000)&&(lx!=0)) ||
+ iy > 0x7ff00000 || ((iy==0x7ff00000)&&(ly!=0)))
+ return x+y;
+
+ /* determine if y is an odd int when x < 0
+ * yisint = 0 ... y is not an integer
+ * yisint = 1 ... y is an odd int
+ * yisint = 2 ... y is an even int
+ */
+ yisint = 0;
+ if(hx<0) {
+ if(iy>=0x43400000) yisint = 2; /* even integer y */
+ else if(iy>=0x3ff00000) {
+ k = (iy>>20)-0x3ff; /* exponent */
+ if(k>20) {
+ j = ly>>(52-k);
+ if((j<<(52-k))==ly) yisint = 2-(j&1);
+ } else if(ly==0) {
+ j = iy>>(20-k);
+ if((j<<(20-k))==iy) yisint = 2-(j&1);
+ }
+ }
+ }
+
+ /* special value of y */
+ if(ly==0) {
+ if (iy==0x7ff00000) { /* y is +-inf */
+ if(((ix-0x3ff00000)|lx)==0)
+ return y - y; /* inf**+-1 is NaN */
+ else if (ix >= 0x3ff00000)/* (|x|>1)**+-inf = inf,0 */
+ return (hy>=0)? y: zero;
+ else /* (|x|<1)**-,+inf = inf,0 */
+ return (hy<0)?-y: zero;
+ }
+ if(iy==0x3ff00000) { /* y is +-1 */
+ if(hy<0) return one/x; else return x;
+ }
+ if(hy==0x40000000) return x*x; /* y is 2 */
+ if(hy==0x3fe00000) { /* y is 0.5 */
+ if(hx>=0) /* x >= +0 */
+ return __ieee754_sqrt(x);
+ }
+ }
+
+ ax = fabs(x);
+ /* special value of x */
+ if(lx==0) {
+ if(ix==0x7ff00000||ix==0||ix==0x3ff00000){
+ z = ax; /*x is +-0,+-inf,+-1*/
+ if(hy<0) z = one/z; /* z = (1/|x|) */
+ if(hx<0) {
+ if(((ix-0x3ff00000)|yisint)==0) {
+ z = (z-z)/(z-z); /* (-1)**non-int is NaN */
+ } else if(yisint==1)
+ z = -z; /* (x<0)**odd = -(|x|**odd) */
+ }
+ return z;
+ }
+ }
+
+ /* (x<0)**(non-int) is NaN */
+ /* CYGNUS LOCAL: This used to be
+ if((((hx>>31)+1)|yisint)==0) return (x-x)/(x-x);
+ but ANSI C says a right shift of a signed negative quantity is
+ implementation defined. */
+ if(((((__uint32_t)hx>>31)-1)|yisint)==0) return (x-x)/(x-x);
+
+ /* |y| is huge */
+ if(iy>0x41e00000) { /* if |y| > 2**31 */
+ if(iy>0x43f00000){ /* if |y| > 2**64, must o/uflow */
+ if(ix<=0x3fefffff) return (hy<0)? huge*huge:tiny*tiny;
+ if(ix>=0x3ff00000) return (hy>0)? huge*huge:tiny*tiny;
+ }
+ /* over/underflow if x is not close to one */
+ if(ix<0x3fefffff) return (hy<0)? huge*huge:tiny*tiny;
+ if(ix>0x3ff00000) return (hy>0)? huge*huge:tiny*tiny;
+ /* now |1-x| is tiny <= 2**-20, suffice to compute
+ log(x) by x-x^2/2+x^3/3-x^4/4 */
+ t = x-1; /* t has 20 trailing zeros */
+ w = (t*t)*(0.5-t*(0.3333333333333333333333-t*0.25));
+ u = ivln2_h*t; /* ivln2_h has 21 sig. bits */
+ v = t*ivln2_l-w*ivln2;
+ t1 = u+v;
+ SET_LOW_WORD(t1,0);
+ t2 = v-(t1-u);
+ } else {
+ double s2,s_h,s_l,t_h,t_l;
+ n = 0;
+ /* take care subnormal number */
+ if(ix<0x00100000)
+ {ax *= two53; n -= 53; GET_HIGH_WORD(ix,ax); }
+ n += ((ix)>>20)-0x3ff;
+ j = ix&0x000fffff;
+ /* determine interval */
+ ix = j|0x3ff00000; /* normalize ix */
+ if(j<=0x3988E) k=0; /* |x|<sqrt(3/2) */
+ else if(j<0xBB67A) k=1; /* |x|<sqrt(3) */
+ else {k=0;n+=1;ix -= 0x00100000;}
+ SET_HIGH_WORD(ax,ix);
+
+ /* compute s = s_h+s_l = (x-1)/(x+1) or (x-1.5)/(x+1.5) */
+ u = ax-bp[k]; /* bp[0]=1.0, bp[1]=1.5 */
+ v = one/(ax+bp[k]);
+ s = u*v;
+ s_h = s;
+ SET_LOW_WORD(s_h,0);
+ /* t_h=ax+bp[k] High */
+ t_h = zero;
+ SET_HIGH_WORD(t_h,((ix>>1)|0x20000000)+0x00080000+(k<<18));
+ t_l = ax - (t_h-bp[k]);
+ s_l = v*((u-s_h*t_h)-s_h*t_l);
+ /* compute log(ax) */
+ s2 = s*s;
+ r = s2*s2*(L1+s2*(L2+s2*(L3+s2*(L4+s2*(L5+s2*L6)))));
+ r += s_l*(s_h+s);
+ s2 = s_h*s_h;
+ t_h = 3.0+s2+r;
+ SET_LOW_WORD(t_h,0);
+ t_l = r-((t_h-3.0)-s2);
+ /* u+v = s*(1+...) */
+ u = s_h*t_h;
+ v = s_l*t_h+t_l*s;
+ /* 2/(3log2)*(s+...) */
+ p_h = u+v;
+ SET_LOW_WORD(p_h,0);
+ p_l = v-(p_h-u);
+ z_h = cp_h*p_h; /* cp_h+cp_l = 2/(3*log2) */
+ z_l = cp_l*p_h+p_l*cp+dp_l[k];
+ /* log2(ax) = (s+..)*2/(3*log2) = n + dp_h + z_h + z_l */
+ t = (double)n;
+ t1 = (((z_h+z_l)+dp_h[k])+t);
+ SET_LOW_WORD(t1,0);
+ t2 = z_l-(((t1-t)-dp_h[k])-z_h);
+ }
+
+ s = one; /* s (sign of result -ve**odd) = -1 else = 1 */
+ if(((((__uint32_t)hx>>31)-1)|(yisint-1))==0)
+ s = -one;/* (-ve)**(odd int) */
+
+ /* split up y into y1+y2 and compute (y1+y2)*(t1+t2) */
+ y1 = y;
+ SET_LOW_WORD(y1,0);
+ p_l = (y-y1)*t1+y*t2;
+ p_h = y1*t1;
+ z = p_l+p_h;
+ EXTRACT_WORDS(j,i,z);
+ if (j>=0x40900000) { /* z >= 1024 */
+ if(((j-0x40900000)|i)!=0) /* if z > 1024 */
+ return s*huge*huge; /* overflow */
+ else {
+ if(p_l+ovt>z-p_h) return s*huge*huge; /* overflow */
+ }
+ } else if((j&0x7fffffff)>=0x4090cc00 ) { /* z <= -1075 */
+ if(((j-0xc090cc00)|i)!=0) /* z < -1075 */
+ return s*tiny*tiny; /* underflow */
+ else {
+ if(p_l<=z-p_h) return s*tiny*tiny; /* underflow */
+ }
+ }
+ /*
+ * compute 2**(p_h+p_l)
+ */
+ i = j&0x7fffffff;
+ k = (i>>20)-0x3ff;
+ n = 0;
+ if(i>0x3fe00000) { /* if |z| > 0.5, set n = [z+0.5] */
+ n = j+(0x00100000>>(k+1));
+ k = ((n&0x7fffffff)>>20)-0x3ff; /* new k for n */
+ t = zero;
+ SET_HIGH_WORD(t,n&~(0x000fffff>>k));
+ n = ((n&0x000fffff)|0x00100000)>>(20-k);
+ if(j<0) n = -n;
+ p_h -= t;
+ }
+ t = p_l+p_h;
+ SET_LOW_WORD(t,0);
+ u = t*lg2_h;
+ v = (p_l-(t-p_h))*lg2+t*lg2_l;
+ z = u+v;
+ w = v-(z-u);
+ t = z*z;
+ t1 = z - t*(P1+t*(P2+t*(P3+t*(P4+t*P5))));
+ r = (z*t1)/(t1-two)-(w+z*w);
+ z = one-(r-z);
+ GET_HIGH_WORD(j,z);
+ j += (n<<20);
+ if((j>>20)<=0) z = scalbn(z,(int)n); /* subnormal output */
+ else SET_HIGH_WORD(z,j);
+ return s*z;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/e_rem_pio2.c b/newlib/libm/math/e_rem_pio2.c
new file mode 100644
index 00000000000..3e5d0f7a227
--- /dev/null
+++ b/newlib/libm/math/e_rem_pio2.c
@@ -0,0 +1,185 @@
+
+/* @(#)e_rem_pio2.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/* __ieee754_rem_pio2(x,y)
+ *
+ * return the remainder of x rem pi/2 in y[0]+y[1]
+ * use __kernel_rem_pio2()
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+/*
+ * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi
+ */
+#ifdef __STDC__
+static const __int32_t two_over_pi[] = {
+#else
+static __int32_t two_over_pi[] = {
+#endif
+0xA2F983, 0x6E4E44, 0x1529FC, 0x2757D1, 0xF534DD, 0xC0DB62,
+0x95993C, 0x439041, 0xFE5163, 0xABDEBB, 0xC561B7, 0x246E3A,
+0x424DD2, 0xE00649, 0x2EEA09, 0xD1921C, 0xFE1DEB, 0x1CB129,
+0xA73EE8, 0x8235F5, 0x2EBB44, 0x84E99C, 0x7026B4, 0x5F7E41,
+0x3991D6, 0x398353, 0x39F49C, 0x845F8B, 0xBDF928, 0x3B1FF8,
+0x97FFDE, 0x05980F, 0xEF2F11, 0x8B5A0A, 0x6D1F6D, 0x367ECF,
+0x27CB09, 0xB74F46, 0x3F669E, 0x5FEA2D, 0x7527BA, 0xC7EBE5,
+0xF17B3D, 0x0739F7, 0x8A5292, 0xEA6BFB, 0x5FB11F, 0x8D5D08,
+0x560330, 0x46FC7B, 0x6BABF0, 0xCFBC20, 0x9AF436, 0x1DA9E3,
+0x91615E, 0xE61B08, 0x659985, 0x5F14A0, 0x68408D, 0xFFD880,
+0x4D7327, 0x310606, 0x1556CA, 0x73A8C9, 0x60E27B, 0xC08C6B,
+};
+
+#ifdef __STDC__
+static const __int32_t npio2_hw[] = {
+#else
+static __int32_t npio2_hw[] = {
+#endif
+0x3FF921FB, 0x400921FB, 0x4012D97C, 0x401921FB, 0x401F6A7A, 0x4022D97C,
+0x4025FDBB, 0x402921FB, 0x402C463A, 0x402F6A7A, 0x4031475C, 0x4032D97C,
+0x40346B9C, 0x4035FDBB, 0x40378FDB, 0x403921FB, 0x403AB41B, 0x403C463A,
+0x403DD85A, 0x403F6A7A, 0x40407E4C, 0x4041475C, 0x4042106C, 0x4042D97C,
+0x4043A28C, 0x40446B9C, 0x404534AC, 0x4045FDBB, 0x4046C6CB, 0x40478FDB,
+0x404858EB, 0x404921FB,
+};
+
+/*
+ * invpio2: 53 bits of 2/pi
+ * pio2_1: first 33 bit of pi/2
+ * pio2_1t: pi/2 - pio2_1
+ * pio2_2: second 33 bit of pi/2
+ * pio2_2t: pi/2 - (pio2_1+pio2_2)
+ * pio2_3: third 33 bit of pi/2
+ * pio2_3t: pi/2 - (pio2_1+pio2_2+pio2_3)
+ */
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+zero = 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */
+half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */
+two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */
+invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */
+pio2_1 = 1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */
+pio2_1t = 6.07710050650619224932e-11, /* 0x3DD0B461, 0x1A626331 */
+pio2_2 = 6.07710050630396597660e-11, /* 0x3DD0B461, 0x1A600000 */
+pio2_2t = 2.02226624879595063154e-21, /* 0x3BA3198A, 0x2E037073 */
+pio2_3 = 2.02226624871116645580e-21, /* 0x3BA3198A, 0x2E000000 */
+pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */
+
+#ifdef __STDC__
+ __int32_t __ieee754_rem_pio2(double x, double *y)
+#else
+ __int32_t __ieee754_rem_pio2(x,y)
+ double x,y[];
+#endif
+{
+ double z,w,t,r,fn;
+ double tx[3];
+ __int32_t i,j,n,ix,hx;
+ int e0,nx;
+ __uint32_t low;
+
+ GET_HIGH_WORD(hx,x); /* high word of x */
+ ix = hx&0x7fffffff;
+ if(ix<=0x3fe921fb) /* |x| ~<= pi/4 , no need for reduction */
+ {y[0] = x; y[1] = 0; return 0;}
+ if(ix<0x4002d97c) { /* |x| < 3pi/4, special case with n=+-1 */
+ if(hx>0) {
+ z = x - pio2_1;
+ if(ix!=0x3ff921fb) { /* 33+53 bit pi is good enough */
+ y[0] = z - pio2_1t;
+ y[1] = (z-y[0])-pio2_1t;
+ } else { /* near pi/2, use 33+33+53 bit pi */
+ z -= pio2_2;
+ y[0] = z - pio2_2t;
+ y[1] = (z-y[0])-pio2_2t;
+ }
+ return 1;
+ } else { /* negative x */
+ z = x + pio2_1;
+ if(ix!=0x3ff921fb) { /* 33+53 bit pi is good enough */
+ y[0] = z + pio2_1t;
+ y[1] = (z-y[0])+pio2_1t;
+ } else { /* near pi/2, use 33+33+53 bit pi */
+ z += pio2_2;
+ y[0] = z + pio2_2t;
+ y[1] = (z-y[0])+pio2_2t;
+ }
+ return -1;
+ }
+ }
+ if(ix<=0x413921fb) { /* |x| ~<= 2^19*(pi/2), medium size */
+ t = fabs(x);
+ n = (__int32_t) (t*invpio2+half);
+ fn = (double)n;
+ r = t-fn*pio2_1;
+ w = fn*pio2_1t; /* 1st round good to 85 bit */
+ if(n<32&&ix!=npio2_hw[n-1]) {
+ y[0] = r-w; /* quick check no cancellation */
+ } else {
+ __uint32_t high;
+ j = ix>>20;
+ y[0] = r-w;
+ GET_HIGH_WORD(high,y[0]);
+ i = j-((high>>20)&0x7ff);
+ if(i>16) { /* 2nd iteration needed, good to 118 */
+ t = r;
+ w = fn*pio2_2;
+ r = t-w;
+ w = fn*pio2_2t-((t-r)-w);
+ y[0] = r-w;
+ GET_HIGH_WORD(high,y[0]);
+ i = j-((high>>20)&0x7ff);
+ if(i>49) { /* 3rd iteration need, 151 bits acc */
+ t = r; /* will cover all possible cases */
+ w = fn*pio2_3;
+ r = t-w;
+ w = fn*pio2_3t-((t-r)-w);
+ y[0] = r-w;
+ }
+ }
+ }
+ y[1] = (r-y[0])-w;
+ if(hx<0) {y[0] = -y[0]; y[1] = -y[1]; return -n;}
+ else return n;
+ }
+ /*
+ * all other (large) arguments
+ */
+ if(ix>=0x7ff00000) { /* x is inf or NaN */
+ y[0]=y[1]=x-x; return 0;
+ }
+ /* set z = scalbn(|x|,ilogb(x)-23) */
+ GET_LOW_WORD(low,x);
+ SET_LOW_WORD(z,low);
+ e0 = (int)((ix>>20)-1046); /* e0 = ilogb(z)-23; */
+ SET_HIGH_WORD(z, ix - ((__int32_t)e0<<20));
+ for(i=0;i<2;i++) {
+ tx[i] = (double)((__int32_t)(z));
+ z = (z-tx[i])*two24;
+ }
+ tx[2] = z;
+ nx = 3;
+ while(tx[nx-1]==zero) nx--; /* skip zero term */
+ n = __kernel_rem_pio2(tx,y,e0,nx,2,two_over_pi);
+ if(hx<0) {y[0] = -y[0]; y[1] = -y[1]; return -n;}
+ return n;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/e_remainder.c b/newlib/libm/math/e_remainder.c
new file mode 100644
index 00000000000..ae7ce649ad5
--- /dev/null
+++ b/newlib/libm/math/e_remainder.c
@@ -0,0 +1,80 @@
+
+/* @(#)e_remainder.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __ieee754_remainder(x,p)
+ * Return :
+ * returns x REM p = x - [x/p]*p as if in infinite
+ * precise arithmetic, where [x/p] is the (infinite bit)
+ * integer nearest x/p (in half way case choose the even one).
+ * Method :
+ * Based on fmod() return x-[x/p]chopped*p exactlp.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double zero = 0.0;
+#else
+static double zero = 0.0;
+#endif
+
+
+#ifdef __STDC__
+ double __ieee754_remainder(double x, double p)
+#else
+ double __ieee754_remainder(x,p)
+ double x,p;
+#endif
+{
+ __int32_t hx,hp;
+ __uint32_t sx,lx,lp;
+ double p_half;
+
+ EXTRACT_WORDS(hx,lx,x);
+ EXTRACT_WORDS(hp,lp,p);
+ sx = hx&0x80000000;
+ hp &= 0x7fffffff;
+ hx &= 0x7fffffff;
+
+ /* purge off exception values */
+ if((hp|lp)==0) return (x*p)/(x*p); /* p = 0 */
+ if((hx>=0x7ff00000)|| /* x not finite */
+ ((hp>=0x7ff00000)&& /* p is NaN */
+ (((hp-0x7ff00000)|lp)!=0)))
+ return (x*p)/(x*p);
+
+
+ if (hp<=0x7fdfffff) x = __ieee754_fmod(x,p+p); /* now x < 2p */
+ if (((hx-hp)|(lx-lp))==0) return zero*x;
+ x = fabs(x);
+ p = fabs(p);
+ if (hp<0x00200000) {
+ if(x+x>p) {
+ x-=p;
+ if(x+x>=p) x -= p;
+ }
+ } else {
+ p_half = 0.5*p;
+ if(x>p_half) {
+ x-=p;
+ if(x>=p_half) x -= p;
+ }
+ }
+ GET_HIGH_WORD(hx,x);
+ SET_HIGH_WORD(x,hx^sx);
+ return x;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/e_scalb.c b/newlib/libm/math/e_scalb.c
new file mode 100644
index 00000000000..0bb924b43ee
--- /dev/null
+++ b/newlib/libm/math/e_scalb.c
@@ -0,0 +1,55 @@
+
+/* @(#)e_scalb.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * __ieee754_scalb(x, fn) is provide for
+ * passing various standard test suite. One
+ * should use scalbn() instead.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef _SCALB_INT
+#ifdef __STDC__
+ double __ieee754_scalb(double x, int fn)
+#else
+ double __ieee754_scalb(x,fn)
+ double x; int fn;
+#endif
+#else
+#ifdef __STDC__
+ double __ieee754_scalb(double x, double fn)
+#else
+ double __ieee754_scalb(x,fn)
+ double x, fn;
+#endif
+#endif
+{
+#ifdef _SCALB_INT
+ return scalbn(x,fn);
+#else
+ if (isnan(x)||isnan(fn)) return x*fn;
+ if (!finite(fn)) {
+ if(fn>0.0) return x*fn;
+ else return x/(-fn);
+ }
+ if (rint(fn)!=fn) return (fn-fn)/(fn-fn);
+ if ( fn > 65000.0) return scalbn(x, 65000);
+ if (-fn > 65000.0) return scalbn(x,-65000);
+ return scalbn(x,(int)fn);
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/e_sinh.c b/newlib/libm/math/e_sinh.c
new file mode 100644
index 00000000000..fd953ddaaed
--- /dev/null
+++ b/newlib/libm/math/e_sinh.c
@@ -0,0 +1,86 @@
+
+/* @(#)e_sinh.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __ieee754_sinh(x)
+ * Method :
+ * mathematically sinh(x) if defined to be (exp(x)-exp(-x))/2
+ * 1. Replace x by |x| (sinh(-x) = -sinh(x)).
+ * 2.
+ * E + E/(E+1)
+ * 0 <= x <= 22 : sinh(x) := --------------, E=expm1(x)
+ * 2
+ *
+ * 22 <= x <= lnovft : sinh(x) := exp(x)/2
+ * lnovft <= x <= ln2ovft: sinh(x) := exp(x/2)/2 * exp(x/2)
+ * ln2ovft < x : sinh(x) := x*shuge (overflow)
+ *
+ * Special cases:
+ * sinh(x) is |x| if x is +INF, -INF, or NaN.
+ * only sinh(0)=0 is exact for finite x.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double one = 1.0, shuge = 1.0e307;
+#else
+static double one = 1.0, shuge = 1.0e307;
+#endif
+
+#ifdef __STDC__
+ double __ieee754_sinh(double x)
+#else
+ double __ieee754_sinh(x)
+ double x;
+#endif
+{
+ double t,w,h;
+ __int32_t ix,jx;
+ __uint32_t lx;
+
+ /* High word of |x|. */
+ GET_HIGH_WORD(jx,x);
+ ix = jx&0x7fffffff;
+
+ /* x is INF or NaN */
+ if(ix>=0x7ff00000) return x+x;
+
+ h = 0.5;
+ if (jx<0) h = -h;
+ /* |x| in [0,22], return sign(x)*0.5*(E+E/(E+1))) */
+ if (ix < 0x40360000) { /* |x|<22 */
+ if (ix<0x3e300000) /* |x|<2**-28 */
+ if(shuge+x>one) return x;/* sinh(tiny) = tiny with inexact */
+ t = expm1(fabs(x));
+ if(ix<0x3ff00000) return h*(2.0*t-t*t/(t+one));
+ return h*(t+t/(t+one));
+ }
+
+ /* |x| in [22, log(maxdouble)] return 0.5*exp(|x|) */
+ if (ix < 0x40862E42) return h*__ieee754_exp(fabs(x));
+
+ /* |x| in [log(maxdouble), overflowthresold] */
+ GET_LOW_WORD(lx,x);
+ if (ix<0x408633CE || (ix==0x408633ce)&&(lx<=(__uint32_t)0x8fb9f87d)) {
+ w = __ieee754_exp(0.5*fabs(x));
+ t = h*w;
+ return t*w;
+ }
+
+ /* |x| > overflowthresold, sinh(x) overflow */
+ return x*shuge;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/e_sqrt.c b/newlib/libm/math/e_sqrt.c
new file mode 100644
index 00000000000..460125a8fda
--- /dev/null
+++ b/newlib/libm/math/e_sqrt.c
@@ -0,0 +1,452 @@
+
+/* @(#)e_sqrt.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __ieee754_sqrt(x)
+ * Return correctly rounded sqrt.
+ * ------------------------------------------
+ * | Use the hardware sqrt if you have one |
+ * ------------------------------------------
+ * Method:
+ * Bit by bit method using integer arithmetic. (Slow, but portable)
+ * 1. Normalization
+ * Scale x to y in [1,4) with even powers of 2:
+ * find an integer k such that 1 <= (y=x*2^(2k)) < 4, then
+ * sqrt(x) = 2^k * sqrt(y)
+ * 2. Bit by bit computation
+ * Let q = sqrt(y) truncated to i bit after binary point (q = 1),
+ * i 0
+ * i+1 2
+ * s = 2*q , and y = 2 * ( y - q ). (1)
+ * i i i i
+ *
+ * To compute q from q , one checks whether
+ * i+1 i
+ *
+ * -(i+1) 2
+ * (q + 2 ) <= y. (2)
+ * i
+ * -(i+1)
+ * If (2) is false, then q = q ; otherwise q = q + 2 .
+ * i+1 i i+1 i
+ *
+ * With some algebric manipulation, it is not difficult to see
+ * that (2) is equivalent to
+ * -(i+1)
+ * s + 2 <= y (3)
+ * i i
+ *
+ * The advantage of (3) is that s and y can be computed by
+ * i i
+ * the following recurrence formula:
+ * if (3) is false
+ *
+ * s = s , y = y ; (4)
+ * i+1 i i+1 i
+ *
+ * otherwise,
+ * -i -(i+1)
+ * s = s + 2 , y = y - s - 2 (5)
+ * i+1 i i+1 i i
+ *
+ * One may easily use induction to prove (4) and (5).
+ * Note. Since the left hand side of (3) contain only i+2 bits,
+ * it does not necessary to do a full (53-bit) comparison
+ * in (3).
+ * 3. Final rounding
+ * After generating the 53 bits result, we compute one more bit.
+ * Together with the remainder, we can decide whether the
+ * result is exact, bigger than 1/2ulp, or less than 1/2ulp
+ * (it will never equal to 1/2ulp).
+ * The rounding mode can be detected by checking whether
+ * huge + tiny is equal to huge, and whether huge - tiny is
+ * equal to huge for some floating point number "huge" and "tiny".
+ *
+ * Special cases:
+ * sqrt(+-0) = +-0 ... exact
+ * sqrt(inf) = inf
+ * sqrt(-ve) = NaN ... with invalid signal
+ * sqrt(NaN) = NaN ... with invalid signal for signaling NaN
+ *
+ * Other methods : see the appended file at the end of the program below.
+ *---------------
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double one = 1.0, tiny=1.0e-300;
+#else
+static double one = 1.0, tiny=1.0e-300;
+#endif
+
+#ifdef __STDC__
+ double __ieee754_sqrt(double x)
+#else
+ double __ieee754_sqrt(x)
+ double x;
+#endif
+{
+ double z;
+ __int32_t sign = (int)0x80000000;
+ __uint32_t r,t1,s1,ix1,q1;
+ __int32_t ix0,s0,q,m,t,i;
+
+ EXTRACT_WORDS(ix0,ix1,x);
+
+ /* take care of Inf and NaN */
+ if((ix0&0x7ff00000)==0x7ff00000) {
+ return x*x+x; /* sqrt(NaN)=NaN, sqrt(+inf)=+inf
+ sqrt(-inf)=sNaN */
+ }
+ /* take care of zero */
+ if(ix0<=0) {
+ if(((ix0&(~sign))|ix1)==0) return x;/* sqrt(+-0) = +-0 */
+ else if(ix0<0)
+ return (x-x)/(x-x); /* sqrt(-ve) = sNaN */
+ }
+ /* normalize x */
+ m = (ix0>>20);
+ if(m==0) { /* subnormal x */
+ while(ix0==0) {
+ m -= 21;
+ ix0 |= (ix1>>11); ix1 <<= 21;
+ }
+ for(i=0;(ix0&0x00100000)==0;i++) ix0<<=1;
+ m -= i-1;
+ ix0 |= (ix1>>(32-i));
+ ix1 <<= i;
+ }
+ m -= 1023; /* unbias exponent */
+ ix0 = (ix0&0x000fffff)|0x00100000;
+ if(m&1){ /* odd m, double x to make it even */
+ ix0 += ix0 + ((ix1&sign)>>31);
+ ix1 += ix1;
+ }
+ m >>= 1; /* m = [m/2] */
+
+ /* generate sqrt(x) bit by bit */
+ ix0 += ix0 + ((ix1&sign)>>31);
+ ix1 += ix1;
+ q = q1 = s0 = s1 = 0; /* [q,q1] = sqrt(x) */
+ r = 0x00200000; /* r = moving bit from right to left */
+
+ while(r!=0) {
+ t = s0+r;
+ if(t<=ix0) {
+ s0 = t+r;
+ ix0 -= t;
+ q += r;
+ }
+ ix0 += ix0 + ((ix1&sign)>>31);
+ ix1 += ix1;
+ r>>=1;
+ }
+
+ r = sign;
+ while(r!=0) {
+ t1 = s1+r;
+ t = s0;
+ if((t<ix0)||((t==ix0)&&(t1<=ix1))) {
+ s1 = t1+r;
+ if(((t1&sign)==sign)&&(s1&sign)==0) s0 += 1;
+ ix0 -= t;
+ if (ix1 < t1) ix0 -= 1;
+ ix1 -= t1;
+ q1 += r;
+ }
+ ix0 += ix0 + ((ix1&sign)>>31);
+ ix1 += ix1;
+ r>>=1;
+ }
+
+ /* use floating add to find out rounding direction */
+ if((ix0|ix1)!=0) {
+ z = one-tiny; /* trigger inexact flag */
+ if (z>=one) {
+ z = one+tiny;
+ if (q1==(__uint32_t)0xffffffff) { q1=0; q += 1;}
+ else if (z>one) {
+ if (q1==(__uint32_t)0xfffffffe) q+=1;
+ q1+=2;
+ } else
+ q1 += (q1&1);
+ }
+ }
+ ix0 = (q>>1)+0x3fe00000;
+ ix1 = q1>>1;
+ if ((q&1)==1) ix1 |= sign;
+ ix0 += (m <<20);
+ INSERT_WORDS(z,ix0,ix1);
+ return z;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
+
+/*
+Other methods (use floating-point arithmetic)
+-------------
+(This is a copy of a drafted paper by Prof W. Kahan
+and K.C. Ng, written in May, 1986)
+
+ Two algorithms are given here to implement sqrt(x)
+ (IEEE double precision arithmetic) in software.
+ Both supply sqrt(x) correctly rounded. The first algorithm (in
+ Section A) uses newton iterations and involves four divisions.
+ The second one uses reciproot iterations to avoid division, but
+ requires more multiplications. Both algorithms need the ability
+ to chop results of arithmetic operations instead of round them,
+ and the INEXACT flag to indicate when an arithmetic operation
+ is executed exactly with no roundoff error, all part of the
+ standard (IEEE 754-1985). The ability to perform shift, add,
+ subtract and logical AND operations upon 32-bit words is needed
+ too, though not part of the standard.
+
+A. sqrt(x) by Newton Iteration
+
+ (1) Initial approximation
+
+ Let x0 and x1 be the leading and the trailing 32-bit words of
+ a floating point number x (in IEEE double format) respectively
+
+ 1 11 52 ...widths
+ ------------------------------------------------------
+ x: |s| e | f |
+ ------------------------------------------------------
+ msb lsb msb lsb ...order
+
+
+ ------------------------ ------------------------
+ x0: |s| e | f1 | x1: | f2 |
+ ------------------------ ------------------------
+
+ By performing shifts and subtracts on x0 and x1 (both regarded
+ as integers), we obtain an 8-bit approximation of sqrt(x) as
+ follows.
+
+ k := (x0>>1) + 0x1ff80000;
+ y0 := k - T1[31&(k>>15)]. ... y ~ sqrt(x) to 8 bits
+ Here k is a 32-bit integer and T1[] is an integer array containing
+ correction terms. Now magically the floating value of y (y's
+ leading 32-bit word is y0, the value of its trailing word is 0)
+ approximates sqrt(x) to almost 8-bit.
+
+ Value of T1:
+ static int T1[32]= {
+ 0, 1024, 3062, 5746, 9193, 13348, 18162, 23592,
+ 29598, 36145, 43202, 50740, 58733, 67158, 75992, 85215,
+ 83599, 71378, 60428, 50647, 41945, 34246, 27478, 21581,
+ 16499, 12183, 8588, 5674, 3403, 1742, 661, 130,};
+
+ (2) Iterative refinement
+
+ Apply Heron's rule three times to y, we have y approximates
+ sqrt(x) to within 1 ulp (Unit in the Last Place):
+
+ y := (y+x/y)/2 ... almost 17 sig. bits
+ y := (y+x/y)/2 ... almost 35 sig. bits
+ y := y-(y-x/y)/2 ... within 1 ulp
+
+
+ Remark 1.
+ Another way to improve y to within 1 ulp is:
+
+ y := (y+x/y) ... almost 17 sig. bits to 2*sqrt(x)
+ y := y - 0x00100006 ... almost 18 sig. bits to sqrt(x)
+
+ 2
+ (x-y )*y
+ y := y + 2* ---------- ...within 1 ulp
+ 2
+ 3y + x
+
+
+ This formula has one division fewer than the one above; however,
+ it requires more multiplications and additions. Also x must be
+ scaled in advance to avoid spurious overflow in evaluating the
+ expression 3y*y+x. Hence it is not recommended uless division
+ is slow. If division is very slow, then one should use the
+ reciproot algorithm given in section B.
+
+ (3) Final adjustment
+
+ By twiddling y's last bit it is possible to force y to be
+ correctly rounded according to the prevailing rounding mode
+ as follows. Let r and i be copies of the rounding mode and
+ inexact flag before entering the square root program. Also we
+ use the expression y+-ulp for the next representable floating
+ numbers (up and down) of y. Note that y+-ulp = either fixed
+ point y+-1, or multiply y by nextafter(1,+-inf) in chopped
+ mode.
+
+ I := FALSE; ... reset INEXACT flag I
+ R := RZ; ... set rounding mode to round-toward-zero
+ z := x/y; ... chopped quotient, possibly inexact
+ If(not I) then { ... if the quotient is exact
+ if(z=y) {
+ I := i; ... restore inexact flag
+ R := r; ... restore rounded mode
+ return sqrt(x):=y.
+ } else {
+ z := z - ulp; ... special rounding
+ }
+ }
+ i := TRUE; ... sqrt(x) is inexact
+ If (r=RN) then z=z+ulp ... rounded-to-nearest
+ If (r=RP) then { ... round-toward-+inf
+ y = y+ulp; z=z+ulp;
+ }
+ y := y+z; ... chopped sum
+ y0:=y0-0x00100000; ... y := y/2 is correctly rounded.
+ I := i; ... restore inexact flag
+ R := r; ... restore rounded mode
+ return sqrt(x):=y.
+
+ (4) Special cases
+
+ Square root of +inf, +-0, or NaN is itself;
+ Square root of a negative number is NaN with invalid signal.
+
+
+B. sqrt(x) by Reciproot Iteration
+
+ (1) Initial approximation
+
+ Let x0 and x1 be the leading and the trailing 32-bit words of
+ a floating point number x (in IEEE double format) respectively
+ (see section A). By performing shifs and subtracts on x0 and y0,
+ we obtain a 7.8-bit approximation of 1/sqrt(x) as follows.
+
+ k := 0x5fe80000 - (x0>>1);
+ y0:= k - T2[63&(k>>14)]. ... y ~ 1/sqrt(x) to 7.8 bits
+
+ Here k is a 32-bit integer and T2[] is an integer array
+ containing correction terms. Now magically the floating
+ value of y (y's leading 32-bit word is y0, the value of
+ its trailing word y1 is set to zero) approximates 1/sqrt(x)
+ to almost 7.8-bit.
+
+ Value of T2:
+ static int T2[64]= {
+ 0x1500, 0x2ef8, 0x4d67, 0x6b02, 0x87be, 0xa395, 0xbe7a, 0xd866,
+ 0xf14a, 0x1091b,0x11fcd,0x13552,0x14999,0x15c98,0x16e34,0x17e5f,
+ 0x18d03,0x19a01,0x1a545,0x1ae8a,0x1b5c4,0x1bb01,0x1bfde,0x1c28d,
+ 0x1c2de,0x1c0db,0x1ba73,0x1b11c,0x1a4b5,0x1953d,0x18266,0x16be0,
+ 0x1683e,0x179d8,0x18a4d,0x19992,0x1a789,0x1b445,0x1bf61,0x1c989,
+ 0x1d16d,0x1d77b,0x1dddf,0x1e2ad,0x1e5bf,0x1e6e8,0x1e654,0x1e3cd,
+ 0x1df2a,0x1d635,0x1cb16,0x1be2c,0x1ae4e,0x19bde,0x1868e,0x16e2e,
+ 0x1527f,0x1334a,0x11051,0xe951, 0xbe01, 0x8e0d, 0x5924, 0x1edd,};
+
+ (2) Iterative refinement
+
+ Apply Reciproot iteration three times to y and multiply the
+ result by x to get an approximation z that matches sqrt(x)
+ to about 1 ulp. To be exact, we will have
+ -1ulp < sqrt(x)-z<1.0625ulp.
+
+ ... set rounding mode to Round-to-nearest
+ y := y*(1.5-0.5*x*y*y) ... almost 15 sig. bits to 1/sqrt(x)
+ y := y*((1.5-2^-30)+0.5*x*y*y)... about 29 sig. bits to 1/sqrt(x)
+ ... special arrangement for better accuracy
+ z := x*y ... 29 bits to sqrt(x), with z*y<1
+ z := z + 0.5*z*(1-z*y) ... about 1 ulp to sqrt(x)
+
+ Remark 2. The constant 1.5-2^-30 is chosen to bias the error so that
+ (a) the term z*y in the final iteration is always less than 1;
+ (b) the error in the final result is biased upward so that
+ -1 ulp < sqrt(x) - z < 1.0625 ulp
+ instead of |sqrt(x)-z|<1.03125ulp.
+
+ (3) Final adjustment
+
+ By twiddling y's last bit it is possible to force y to be
+ correctly rounded according to the prevailing rounding mode
+ as follows. Let r and i be copies of the rounding mode and
+ inexact flag before entering the square root program. Also we
+ use the expression y+-ulp for the next representable floating
+ numbers (up and down) of y. Note that y+-ulp = either fixed
+ point y+-1, or multiply y by nextafter(1,+-inf) in chopped
+ mode.
+
+ R := RZ; ... set rounding mode to round-toward-zero
+ switch(r) {
+ case RN: ... round-to-nearest
+ if(x<= z*(z-ulp)...chopped) z = z - ulp; else
+ if(x<= z*(z+ulp)...chopped) z = z; else z = z+ulp;
+ break;
+ case RZ:case RM: ... round-to-zero or round-to--inf
+ R:=RP; ... reset rounding mod to round-to-+inf
+ if(x<z*z ... rounded up) z = z - ulp; else
+ if(x>=(z+ulp)*(z+ulp) ...rounded up) z = z+ulp;
+ break;
+ case RP: ... round-to-+inf
+ if(x>(z+ulp)*(z+ulp)...chopped) z = z+2*ulp; else
+ if(x>z*z ...chopped) z = z+ulp;
+ break;
+ }
+
+ Remark 3. The above comparisons can be done in fixed point. For
+ example, to compare x and w=z*z chopped, it suffices to compare
+ x1 and w1 (the trailing parts of x and w), regarding them as
+ two's complement integers.
+
+ ...Is z an exact square root?
+ To determine whether z is an exact square root of x, let z1 be the
+ trailing part of z, and also let x0 and x1 be the leading and
+ trailing parts of x.
+
+ If ((z1&0x03ffffff)!=0) ... not exact if trailing 26 bits of z!=0
+ I := 1; ... Raise Inexact flag: z is not exact
+ else {
+ j := 1 - [(x0>>20)&1] ... j = logb(x) mod 2
+ k := z1 >> 26; ... get z's 25-th and 26-th
+ fraction bits
+ I := i or (k&j) or ((k&(j+j+1))!=(x1&3));
+ }
+ R:= r ... restore rounded mode
+ return sqrt(x):=z.
+
+ If multiplication is cheaper then the foregoing red tape, the
+ Inexact flag can be evaluated by
+
+ I := i;
+ I := (z*z!=x) or I.
+
+ Note that z*z can overwrite I; this value must be sensed if it is
+ True.
+
+ Remark 4. If z*z = x exactly, then bit 25 to bit 0 of z1 must be
+ zero.
+
+ --------------------
+ z1: | f2 |
+ --------------------
+ bit 31 bit 0
+
+ Further more, bit 27 and 26 of z1, bit 0 and 1 of x1, and the odd
+ or even of logb(x) have the following relations:
+
+ -------------------------------------------------
+ bit 27,26 of z1 bit 1,0 of x1 logb(x)
+ -------------------------------------------------
+ 00 00 odd and even
+ 01 01 even
+ 10 10 odd
+ 10 00 even
+ 11 01 even
+ -------------------------------------------------
+
+ (4) Special cases (see (4) of Section A).
+
+ */
diff --git a/newlib/libm/math/ef_acos.c b/newlib/libm/math/ef_acos.c
new file mode 100644
index 00000000000..f73f97de75a
--- /dev/null
+++ b/newlib/libm/math/ef_acos.c
@@ -0,0 +1,84 @@
+/* ef_acos.c -- float version of e_acos.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+one = 1.0000000000e+00, /* 0x3F800000 */
+pi = 3.1415925026e+00, /* 0x40490fda */
+pio2_hi = 1.5707962513e+00, /* 0x3fc90fda */
+pio2_lo = 7.5497894159e-08, /* 0x33a22168 */
+pS0 = 1.6666667163e-01, /* 0x3e2aaaab */
+pS1 = -3.2556581497e-01, /* 0xbea6b090 */
+pS2 = 2.0121252537e-01, /* 0x3e4e0aa8 */
+pS3 = -4.0055535734e-02, /* 0xbd241146 */
+pS4 = 7.9153501429e-04, /* 0x3a4f7f04 */
+pS5 = 3.4793309169e-05, /* 0x3811ef08 */
+qS1 = -2.4033949375e+00, /* 0xc019d139 */
+qS2 = 2.0209457874e+00, /* 0x4001572d */
+qS3 = -6.8828397989e-01, /* 0xbf303361 */
+qS4 = 7.7038154006e-02; /* 0x3d9dc62e */
+
+#ifdef __STDC__
+ float __ieee754_acosf(float x)
+#else
+ float __ieee754_acosf(x)
+ float x;
+#endif
+{
+ float z,p,q,r,w,s,c,df;
+ __int32_t hx,ix;
+ GET_FLOAT_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix==0x3f800000) { /* |x|==1 */
+ if(hx>0) return 0.0; /* acos(1) = 0 */
+ else return pi+(float)2.0*pio2_lo; /* acos(-1)= pi */
+ } else if(ix>0x3f800000) { /* |x| >= 1 */
+ return (x-x)/(x-x); /* acos(|x|>1) is NaN */
+ }
+ if(ix<0x3f000000) { /* |x| < 0.5 */
+ if(ix<=0x23000000) return pio2_hi+pio2_lo;/*if|x|<2**-57*/
+ z = x*x;
+ p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5)))));
+ q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4)));
+ r = p/q;
+ return pio2_hi - (x - (pio2_lo-x*r));
+ } else if (hx<0) { /* x < -0.5 */
+ z = (one+x)*(float)0.5;
+ p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5)))));
+ q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4)));
+ s = __ieee754_sqrtf(z);
+ r = p/q;
+ w = r*s-pio2_lo;
+ return pi - (float)2.0*(s+w);
+ } else { /* x > 0.5 */
+ __int32_t idf;
+ z = (one-x)*(float)0.5;
+ s = __ieee754_sqrtf(z);
+ df = s;
+ GET_FLOAT_WORD(idf,df);
+ SET_FLOAT_WORD(df,idf&0xfffff000);
+ c = (z-df*df)/(s+df);
+ p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5)))));
+ q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4)));
+ r = p/q;
+ w = r*s+c;
+ return (float)2.0*(df+w);
+ }
+}
diff --git a/newlib/libm/math/ef_acosh.c b/newlib/libm/math/ef_acosh.c
new file mode 100644
index 00000000000..37c788576ef
--- /dev/null
+++ b/newlib/libm/math/ef_acosh.c
@@ -0,0 +1,53 @@
+/* ef_acosh.c -- float version of e_acosh.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+one = 1.0,
+ln2 = 6.9314718246e-01; /* 0x3f317218 */
+
+#ifdef __STDC__
+ float __ieee754_acoshf(float x)
+#else
+ float __ieee754_acoshf(x)
+ float x;
+#endif
+{
+ float t;
+ __int32_t hx;
+ GET_FLOAT_WORD(hx,x);
+ if(hx<0x3f800000) { /* x < 1 */
+ return (x-x)/(x-x);
+ } else if(hx >=0x4d800000) { /* x > 2**28 */
+ if(hx >=0x7f800000) { /* x is inf of NaN */
+ return x+x;
+ } else
+ return __ieee754_logf(x)+ln2; /* acosh(huge)=log(2x) */
+ } else if (hx==0x3f800000) {
+ return 0.0; /* acosh(1) = 0 */
+ } else if (hx > 0x40000000) { /* 2**28 > x > 2 */
+ t=x*x;
+ return __ieee754_logf((float)2.0*x-one/(x+__ieee754_sqrtf(t-one)));
+ } else { /* 1<x<2 */
+ t = x-one;
+ return log1pf(t+__ieee754_sqrtf((float)2.0*t+t*t));
+ }
+}
diff --git a/newlib/libm/math/ef_asin.c b/newlib/libm/math/ef_asin.c
new file mode 100644
index 00000000000..bbe210b7cbd
--- /dev/null
+++ b/newlib/libm/math/ef_asin.c
@@ -0,0 +1,87 @@
+/* ef_asin.c -- float version of e_asin.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+one = 1.0000000000e+00, /* 0x3F800000 */
+huge = 1.000e+30,
+pio2_hi = 1.5707962513e+00, /* 0x3fc90fda */
+pio2_lo = 7.5497894159e-08, /* 0x33a22168 */
+pio4_hi = 7.8539818525e-01, /* 0x3f490fdb */
+ /* coefficient for R(x^2) */
+pS0 = 1.6666667163e-01, /* 0x3e2aaaab */
+pS1 = -3.2556581497e-01, /* 0xbea6b090 */
+pS2 = 2.0121252537e-01, /* 0x3e4e0aa8 */
+pS3 = -4.0055535734e-02, /* 0xbd241146 */
+pS4 = 7.9153501429e-04, /* 0x3a4f7f04 */
+pS5 = 3.4793309169e-05, /* 0x3811ef08 */
+qS1 = -2.4033949375e+00, /* 0xc019d139 */
+qS2 = 2.0209457874e+00, /* 0x4001572d */
+qS3 = -6.8828397989e-01, /* 0xbf303361 */
+qS4 = 7.7038154006e-02; /* 0x3d9dc62e */
+
+#ifdef __STDC__
+ float __ieee754_asinf(float x)
+#else
+ float __ieee754_asinf(x)
+ float x;
+#endif
+{
+ float t,w,p,q,c,r,s;
+ __int32_t hx,ix;
+ GET_FLOAT_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix==0x3f800000) {
+ /* asin(1)=+-pi/2 with inexact */
+ return x*pio2_hi+x*pio2_lo;
+ } else if(ix> 0x3f800000) { /* |x|>= 1 */
+ return (x-x)/(x-x); /* asin(|x|>1) is NaN */
+ } else if (ix<0x3f000000) { /* |x|<0.5 */
+ if(ix<0x32000000) { /* if |x| < 2**-27 */
+ if(huge+x>one) return x;/* return x with inexact if x!=0*/
+ } else
+ t = x*x;
+ p = t*(pS0+t*(pS1+t*(pS2+t*(pS3+t*(pS4+t*pS5)))));
+ q = one+t*(qS1+t*(qS2+t*(qS3+t*qS4)));
+ w = p/q;
+ return x+x*w;
+ }
+ /* 1> |x|>= 0.5 */
+ w = one-fabsf(x);
+ t = w*(float)0.5;
+ p = t*(pS0+t*(pS1+t*(pS2+t*(pS3+t*(pS4+t*pS5)))));
+ q = one+t*(qS1+t*(qS2+t*(qS3+t*qS4)));
+ s = __ieee754_sqrtf(t);
+ if(ix>=0x3F79999A) { /* if |x| > 0.975 */
+ w = p/q;
+ t = pio2_hi-((float)2.0*(s+s*w)-pio2_lo);
+ } else {
+ __int32_t iw;
+ w = s;
+ GET_FLOAT_WORD(iw,w);
+ SET_FLOAT_WORD(w,iw&0xfffff000);
+ c = (t-w*w)/(s+w);
+ r = p/q;
+ p = (float)2.0*s*r-(pio2_lo-(float)2.0*c);
+ q = pio4_hi-(float)2.0*w;
+ t = pio4_hi-(p-q);
+ }
+ if(hx>0) return t; else return -t;
+}
diff --git a/newlib/libm/math/ef_atan2.c b/newlib/libm/math/ef_atan2.c
new file mode 100644
index 00000000000..25e86b3746c
--- /dev/null
+++ b/newlib/libm/math/ef_atan2.c
@@ -0,0 +1,101 @@
+/* ef_atan2.c -- float version of e_atan2.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+tiny = 1.0e-30,
+zero = 0.0,
+pi_o_4 = 7.8539818525e-01, /* 0x3f490fdb */
+pi_o_2 = 1.5707963705e+00, /* 0x3fc90fdb */
+pi = 3.1415925026e+00, /* 0x40490fda */
+pi_lo = 1.5099578832e-07; /* 0x34222168 */
+
+#ifdef __STDC__
+ float __ieee754_atan2f(float y, float x)
+#else
+ float __ieee754_atan2f(y,x)
+ float y,x;
+#endif
+{
+ float z;
+ __int32_t k,m,hx,hy,ix,iy;
+
+ GET_FLOAT_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ GET_FLOAT_WORD(hy,y);
+ iy = hy&0x7fffffff;
+ if((ix>0x7f800000)||
+ (iy>0x7f800000)) /* x or y is NaN */
+ return x+y;
+ if(hx==0x3f800000) return atanf(y); /* x=1.0 */
+ m = ((hy>>31)&1)|((hx>>30)&2); /* 2*sign(x)+sign(y) */
+
+ /* when y = 0 */
+ if(iy==0) {
+ switch(m) {
+ case 0:
+ case 1: return y; /* atan(+-0,+anything)=+-0 */
+ case 2: return pi+tiny;/* atan(+0,-anything) = pi */
+ case 3: return -pi-tiny;/* atan(-0,-anything) =-pi */
+ }
+ }
+ /* when x = 0 */
+ if(ix==0) return (hy<0)? -pi_o_2-tiny: pi_o_2+tiny;
+
+ /* when x is INF */
+ if(ix==0x7f800000) {
+ if(iy==0x7f800000) {
+ switch(m) {
+ case 0: return pi_o_4+tiny;/* atan(+INF,+INF) */
+ case 1: return -pi_o_4-tiny;/* atan(-INF,+INF) */
+ case 2: return (float)3.0*pi_o_4+tiny;/*atan(+INF,-INF)*/
+ case 3: return (float)-3.0*pi_o_4-tiny;/*atan(-INF,-INF)*/
+ }
+ } else {
+ switch(m) {
+ case 0: return zero ; /* atan(+...,+INF) */
+ case 1: return -zero ; /* atan(-...,+INF) */
+ case 2: return pi+tiny ; /* atan(+...,-INF) */
+ case 3: return -pi-tiny ; /* atan(-...,-INF) */
+ }
+ }
+ }
+ /* when y is INF */
+ if(iy==0x7f800000) return (hy<0)? -pi_o_2-tiny: pi_o_2+tiny;
+
+ /* compute y/x */
+ k = (iy-ix)>>23;
+ if(k > 60) z=pi_o_2+(float)0.5*pi_lo; /* |y/x| > 2**60 */
+ else if(hx<0&&k<-60) z=0.0; /* |y|/x < -2**60 */
+ else z=atanf(fabsf(y/x)); /* safe to do y/x */
+ switch (m) {
+ case 0: return z ; /* atan(+,+) */
+ case 1: {
+ __uint32_t zh;
+ GET_FLOAT_WORD(zh,z);
+ SET_FLOAT_WORD(z,zh ^ 0x80000000);
+ }
+ return z ; /* atan(-,+) */
+ case 2: return pi-(z-pi_lo);/* atan(+,-) */
+ default: /* case 3 */
+ return (z-pi_lo)-pi;/* atan(-,-) */
+ }
+}
diff --git a/newlib/libm/math/ef_atanh.c b/newlib/libm/math/ef_atanh.c
new file mode 100644
index 00000000000..74b3d3d6a04
--- /dev/null
+++ b/newlib/libm/math/ef_atanh.c
@@ -0,0 +1,54 @@
+/* ef_atanh.c -- float version of e_atanh.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float one = 1.0, huge = 1e30;
+#else
+static float one = 1.0, huge = 1e30;
+#endif
+
+#ifdef __STDC__
+static const float zero = 0.0;
+#else
+static float zero = 0.0;
+#endif
+
+#ifdef __STDC__
+ float __ieee754_atanhf(float x)
+#else
+ float __ieee754_atanhf(x)
+ float x;
+#endif
+{
+ float t;
+ __int32_t hx,ix;
+ GET_FLOAT_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if (ix>0x3f800000) /* |x|>1 */
+ return (x-x)/(x-x);
+ if(ix==0x3f800000)
+ return x/zero;
+ if(ix<0x31800000&&(huge+x)>zero) return x; /* x<2**-28 */
+ SET_FLOAT_WORD(x,ix);
+ if(ix<0x3f000000) { /* x < 0.5 */
+ t = x+x;
+ t = (float)0.5*log1pf(t+t*x/(one-x));
+ } else
+ t = (float)0.5*log1pf((x+x)/(one-x));
+ if(hx>=0) return t; else return -t;
+}
diff --git a/newlib/libm/math/ef_cosh.c b/newlib/libm/math/ef_cosh.c
new file mode 100644
index 00000000000..68e59f88694
--- /dev/null
+++ b/newlib/libm/math/ef_cosh.c
@@ -0,0 +1,70 @@
+/* ef_cosh.c -- float version of e_cosh.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __v810__
+#define const
+#endif
+
+#ifdef __STDC__
+static const float one = 1.0, half=0.5, huge = 1.0e30;
+#else
+static float one = 1.0, half=0.5, huge = 1.0e30;
+#endif
+
+#ifdef __STDC__
+ float __ieee754_coshf(float x)
+#else
+ float __ieee754_coshf(x)
+ float x;
+#endif
+{
+ float t,w;
+ __int32_t ix;
+
+ GET_FLOAT_WORD(ix,x);
+ ix &= 0x7fffffff;
+
+ /* x is INF or NaN */
+ if(ix>=0x7f800000) return x*x;
+
+ /* |x| in [0,0.5*ln2], return 1+expm1(|x|)^2/(2*exp(|x|)) */
+ if(ix<0x3eb17218) {
+ t = expm1f(fabsf(x));
+ w = one+t;
+ if (ix<0x24000000) return w; /* cosh(tiny) = 1 */
+ return one+(t*t)/(w+w);
+ }
+
+ /* |x| in [0.5*ln2,22], return (exp(|x|)+1/exp(|x|)/2; */
+ if (ix < 0x41b00000) {
+ t = __ieee754_expf(fabsf(x));
+ return half*t+half/t;
+ }
+
+ /* |x| in [22, log(maxdouble)] return half*exp(|x|) */
+ if (ix < 0x42b17180) return half*__ieee754_expf(fabsf(x));
+
+ /* |x| in [log(maxdouble), overflowthresold] */
+ if (ix<=0x42b2d4fc) {
+ w = __ieee754_expf(half*fabsf(x));
+ t = half*w;
+ return t*w;
+ }
+
+ /* |x| > overflowthresold, cosh(x) overflow */
+ return huge*huge;
+}
diff --git a/newlib/libm/math/ef_exp.c b/newlib/libm/math/ef_exp.c
new file mode 100644
index 00000000000..04331a52a60
--- /dev/null
+++ b/newlib/libm/math/ef_exp.c
@@ -0,0 +1,102 @@
+/* ef_exp.c -- float version of e_exp.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __v810__
+#define const
+#endif
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+one = 1.0,
+halF[2] = {0.5,-0.5,},
+huge = 1.0e+30,
+twom100 = 7.8886090522e-31, /* 2**-100=0x0d800000 */
+o_threshold= 8.8721679688e+01, /* 0x42b17180 */
+u_threshold= -1.0397208405e+02, /* 0xc2cff1b5 */
+ln2HI[2] ={ 6.9313812256e-01, /* 0x3f317180 */
+ -6.9313812256e-01,}, /* 0xbf317180 */
+ln2LO[2] ={ 9.0580006145e-06, /* 0x3717f7d1 */
+ -9.0580006145e-06,}, /* 0xb717f7d1 */
+invln2 = 1.4426950216e+00, /* 0x3fb8aa3b */
+P1 = 1.6666667163e-01, /* 0x3e2aaaab */
+P2 = -2.7777778450e-03, /* 0xbb360b61 */
+P3 = 6.6137559770e-05, /* 0x388ab355 */
+P4 = -1.6533901999e-06, /* 0xb5ddea0e */
+P5 = 4.1381369442e-08; /* 0x3331bb4c */
+
+#ifdef __STDC__
+ float __ieee754_expf(float x) /* default IEEE double exp */
+#else
+ float __ieee754_expf(x) /* default IEEE double exp */
+ float x;
+#endif
+{
+ float y,hi,lo,c,t;
+ __int32_t k,xsb;
+ __uint32_t hx;
+
+ GET_FLOAT_WORD(hx,x);
+ xsb = (hx>>31)&1; /* sign bit of x */
+ hx &= 0x7fffffff; /* high word of |x| */
+
+ /* filter out non-finite argument */
+ if(hx >= 0x42b17218) { /* if |x|>=88.721... */
+ if(hx>0x7f800000)
+ return x+x; /* NaN */
+ if(hx==0x7f800000)
+ return (xsb==0)? x:0.0; /* exp(+-inf)={inf,0} */
+ if(x > o_threshold) return huge*huge; /* overflow */
+ if(x < u_threshold) return twom100*twom100; /* underflow */
+ }
+
+ /* argument reduction */
+ if(hx > 0x3eb17218) { /* if |x| > 0.5 ln2 */
+ if(hx < 0x3F851592) { /* and |x| < 1.5 ln2 */
+ hi = x-ln2HI[xsb]; lo=ln2LO[xsb]; k = 1-xsb-xsb;
+ } else {
+ k = invln2*x+halF[xsb];
+ t = k;
+ hi = x - t*ln2HI[0]; /* t*ln2HI is exact here */
+ lo = t*ln2LO[0];
+ }
+ x = hi - lo;
+ }
+ else if(hx < 0x31800000) { /* when |x|<2**-28 */
+ if(huge+x>one) return one+x;/* trigger inexact */
+ }
+ else k = 0;
+
+ /* x is now in primary range */
+ t = x*x;
+ c = x - t*(P1+t*(P2+t*(P3+t*(P4+t*P5))));
+ if(k==0) return one-((x*c)/(c-(float)2.0)-x);
+ else y = one-((lo-(x*c)/((float)2.0-c))-hi);
+ if(k >= -125) {
+ __uint32_t hy;
+ GET_FLOAT_WORD(hy,y);
+ SET_FLOAT_WORD(y,hy+(k<<23)); /* add k to y's exponent */
+ return y;
+ } else {
+ __uint32_t hy;
+ GET_FLOAT_WORD(hy,y);
+ SET_FLOAT_WORD(y,hy+((k+100)<<23)); /* add k to y's exponent */
+ return y*twom100;
+ }
+}
diff --git a/newlib/libm/math/ef_fmod.c b/newlib/libm/math/ef_fmod.c
new file mode 100644
index 00000000000..d5d28e08ea7
--- /dev/null
+++ b/newlib/libm/math/ef_fmod.c
@@ -0,0 +1,108 @@
+/* ef_fmod.c -- float version of e_fmod.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * __ieee754_fmodf(x,y)
+ * Return x mod y in exact arithmetic
+ * Method: shift and subtract
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float one = 1.0, Zero[] = {0.0, -0.0,};
+#else
+static float one = 1.0, Zero[] = {0.0, -0.0,};
+#endif
+
+#ifdef __STDC__
+ float __ieee754_fmodf(float x, float y)
+#else
+ float __ieee754_fmodf(x,y)
+ float x,y ;
+#endif
+{
+ __int32_t n,hx,hy,hz,ix,iy,sx,i;
+
+ GET_FLOAT_WORD(hx,x);
+ GET_FLOAT_WORD(hy,y);
+ sx = hx&0x80000000; /* sign of x */
+ hx ^=sx; /* |x| */
+ hy &= 0x7fffffff; /* |y| */
+
+ /* purge off exception values */
+ if(hy==0||(hx>=0x7f800000)|| /* y=0,or x not finite */
+ (hy>0x7f800000)) /* or y is NaN */
+ return (x*y)/(x*y);
+ if(hx<hy) return x; /* |x|<|y| return x */
+ if(hx==hy)
+ return Zero[(__uint32_t)sx>>31]; /* |x|=|y| return x*0*/
+
+ /* determine ix = ilogb(x) */
+ if(hx<0x00800000) { /* subnormal x */
+ for (ix = -126,i=(hx<<8); i>0; i<<=1) ix -=1;
+ } else ix = (hx>>23)-127;
+
+ /* determine iy = ilogb(y) */
+ if(hy<0x00800000) { /* subnormal y */
+ for (iy = -126,i=(hy<<8); i>=0; i<<=1) iy -=1;
+ } else iy = (hy>>23)-127;
+
+ /* set up {hx,lx}, {hy,ly} and align y to x */
+ if(ix >= -126)
+ hx = 0x00800000|(0x007fffff&hx);
+ else { /* subnormal x, shift x to normal */
+ n = -126-ix;
+ hx = hx<<n;
+ }
+ if(iy >= -126)
+ hy = 0x00800000|(0x007fffff&hy);
+ else { /* subnormal y, shift y to normal */
+ n = -126-iy;
+ hy = hy<<n;
+ }
+
+ /* fix point fmod */
+ n = ix - iy;
+ while(n--) {
+ hz=hx-hy;
+ if(hz<0){hx = hx+hx;}
+ else {
+ if(hz==0) /* return sign(x)*0 */
+ return Zero[(__uint32_t)sx>>31];
+ hx = hz+hz;
+ }
+ }
+ hz=hx-hy;
+ if(hz>=0) {hx=hz;}
+
+ /* convert back to floating value and restore the sign */
+ if(hx==0) /* return sign(x)*0 */
+ return Zero[(__uint32_t)sx>>31];
+ while(hx<0x00800000) { /* normalize x */
+ hx = hx+hx;
+ iy -= 1;
+ }
+ if(iy>= -126) { /* normalize output */
+ hx = ((hx-0x00800000)|((iy+127)<<23));
+ SET_FLOAT_WORD(x,hx|sx);
+ } else { /* subnormal output */
+ n = -126 - iy;
+ hx >>= n;
+ SET_FLOAT_WORD(x,hx|sx);
+ x *= one; /* create necessary signal */
+ }
+ return x; /* exact output */
+}
diff --git a/newlib/libm/math/ef_hypot.c b/newlib/libm/math/ef_hypot.c
new file mode 100644
index 00000000000..a87fa489ea7
--- /dev/null
+++ b/newlib/libm/math/ef_hypot.c
@@ -0,0 +1,82 @@
+/* ef_hypot.c -- float version of e_hypot.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+ float __ieee754_hypotf(float x, float y)
+#else
+ float __ieee754_hypotf(x,y)
+ float x, y;
+#endif
+{
+ float a=x,b=y,t1,t2,y1,y2,w;
+ __int32_t j,k,ha,hb;
+
+ GET_FLOAT_WORD(ha,x);
+ ha &= 0x7fffffffL;
+ GET_FLOAT_WORD(hb,y);
+ hb &= 0x7fffffffL;
+ if(hb > ha) {a=y;b=x;j=ha; ha=hb;hb=j;} else {a=x;b=y;}
+ SET_FLOAT_WORD(a,ha); /* a <- |a| */
+ SET_FLOAT_WORD(b,hb); /* b <- |b| */
+ if((ha-hb)>0xf000000L) {return a+b;} /* x/y > 2**30 */
+ k=0;
+ if(ha > 0x58800000L) { /* a>2**50 */
+ if(ha >= 0x7f800000L) { /* Inf or NaN */
+ w = a+b; /* for sNaN */
+ if(ha == 0x7f800000L) w = a;
+ if(hb == 0x7f800000L) w = b;
+ return w;
+ }
+ /* scale a and b by 2**-60 */
+ ha -= 0x5d800000L; hb -= 0x5d800000L; k += 60;
+ SET_FLOAT_WORD(a,ha);
+ SET_FLOAT_WORD(b,hb);
+ }
+ if(hb < 0x26800000L) { /* b < 2**-50 */
+ if(hb <= 0x007fffffL) { /* subnormal b or 0 */
+ if(hb==0) return a;
+ SET_FLOAT_WORD(t1,0x3f000000L); /* t1=2^126 */
+ b *= t1;
+ a *= t1;
+ k -= 126;
+ } else { /* scale a and b by 2^60 */
+ ha += 0x5d800000; /* a *= 2^60 */
+ hb += 0x5d800000; /* b *= 2^60 */
+ k -= 60;
+ SET_FLOAT_WORD(a,ha);
+ SET_FLOAT_WORD(b,hb);
+ }
+ }
+ /* medium size a and b */
+ w = a-b;
+ if (w>b) {
+ SET_FLOAT_WORD(t1,ha&0xfffff000L);
+ t2 = a-t1;
+ w = __ieee754_sqrtf(t1*t1-(b*(-b)-t2*(a+t1)));
+ } else {
+ a = a+a;
+ SET_FLOAT_WORD(y1,hb&0xfffff000L);
+ y2 = b - y1;
+ SET_FLOAT_WORD(t1,ha+0x00800000L);
+ t2 = a - t1;
+ w = __ieee754_sqrtf(t1*y1-(w*(-w)-(t1*y2+t2*b)));
+ }
+ if(k!=0) {
+ SET_FLOAT_WORD(t1,0x3f800000L+(k<<23));
+ return t1*w;
+ } else return w;
+}
diff --git a/newlib/libm/math/ef_j0.c b/newlib/libm/math/ef_j0.c
new file mode 100644
index 00000000000..5ae6f308f3a
--- /dev/null
+++ b/newlib/libm/math/ef_j0.c
@@ -0,0 +1,439 @@
+/* ef_j0.c -- float version of e_j0.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static float pzerof(float), qzerof(float);
+#else
+static float pzerof(), qzerof();
+#endif
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+huge = 1e30,
+one = 1.0,
+invsqrtpi= 5.6418961287e-01, /* 0x3f106ebb */
+tpi = 6.3661974669e-01, /* 0x3f22f983 */
+ /* R0/S0 on [0, 2.00] */
+R02 = 1.5625000000e-02, /* 0x3c800000 */
+R03 = -1.8997929874e-04, /* 0xb947352e */
+R04 = 1.8295404516e-06, /* 0x35f58e88 */
+R05 = -4.6183270541e-09, /* 0xb19eaf3c */
+S01 = 1.5619102865e-02, /* 0x3c7fe744 */
+S02 = 1.1692678527e-04, /* 0x38f53697 */
+S03 = 5.1354652442e-07, /* 0x3509daa6 */
+S04 = 1.1661400734e-09; /* 0x30a045e8 */
+
+#ifdef __STDC__
+static const float zero = 0.0;
+#else
+static float zero = 0.0;
+#endif
+
+#ifdef __STDC__
+ float __ieee754_j0f(float x)
+#else
+ float __ieee754_j0f(x)
+ float x;
+#endif
+{
+ float z, s,c,ss,cc,r,u,v;
+ __int32_t hx,ix;
+
+ GET_FLOAT_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x7f800000) return one/(x*x);
+ x = fabsf(x);
+ if(ix >= 0x40000000) { /* |x| >= 2.0 */
+ s = sinf(x);
+ c = cosf(x);
+ ss = s-c;
+ cc = s+c;
+ if(ix<0x7f000000) { /* make sure x+x not overflow */
+ z = -cosf(x+x);
+ if ((s*c)<zero) cc = z/ss;
+ else ss = z/cc;
+ }
+ /*
+ * j0(x) = 1/sqrt(pi) * (P(0,x)*cc - Q(0,x)*ss) / sqrt(x)
+ * y0(x) = 1/sqrt(pi) * (P(0,x)*ss + Q(0,x)*cc) / sqrt(x)
+ */
+ if(ix>0x80000000) z = (invsqrtpi*cc)/__ieee754_sqrtf(x);
+ else {
+ u = pzerof(x); v = qzerof(x);
+ z = invsqrtpi*(u*cc-v*ss)/__ieee754_sqrtf(x);
+ }
+ return z;
+ }
+ if(ix<0x39000000) { /* |x| < 2**-13 */
+ if(huge+x>one) { /* raise inexact if x != 0 */
+ if(ix<0x32000000) return one; /* |x|<2**-27 */
+ else return one - (float)0.25*x*x;
+ }
+ }
+ z = x*x;
+ r = z*(R02+z*(R03+z*(R04+z*R05)));
+ s = one+z*(S01+z*(S02+z*(S03+z*S04)));
+ if(ix < 0x3F800000) { /* |x| < 1.00 */
+ return one + z*((float)-0.25+(r/s));
+ } else {
+ u = (float)0.5*x;
+ return((one+u)*(one-u)+z*(r/s));
+ }
+}
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+u00 = -7.3804296553e-02, /* 0xbd9726b5 */
+u01 = 1.7666645348e-01, /* 0x3e34e80d */
+u02 = -1.3818567619e-02, /* 0xbc626746 */
+u03 = 3.4745343146e-04, /* 0x39b62a69 */
+u04 = -3.8140706238e-06, /* 0xb67ff53c */
+u05 = 1.9559013964e-08, /* 0x32a802ba */
+u06 = -3.9820518410e-11, /* 0xae2f21eb */
+v01 = 1.2730483897e-02, /* 0x3c509385 */
+v02 = 7.6006865129e-05, /* 0x389f65e0 */
+v03 = 2.5915085189e-07, /* 0x348b216c */
+v04 = 4.4111031494e-10; /* 0x2ff280c2 */
+
+#ifdef __STDC__
+ float __ieee754_y0f(float x)
+#else
+ float __ieee754_y0f(x)
+ float x;
+#endif
+{
+ float z, s,c,ss,cc,u,v;
+ __int32_t hx,ix;
+
+ GET_FLOAT_WORD(hx,x);
+ ix = 0x7fffffff&hx;
+ /* Y0(NaN) is NaN, y0(-inf) is Nan, y0(inf) is 0 */
+ if(ix>=0x7f800000) return one/(x+x*x);
+ if(ix==0) return -one/zero;
+ if(hx<0) return zero/zero;
+ if(ix >= 0x40000000) { /* |x| >= 2.0 */
+ /* y0(x) = sqrt(2/(pi*x))*(p0(x)*sin(x0)+q0(x)*cos(x0))
+ * where x0 = x-pi/4
+ * Better formula:
+ * cos(x0) = cos(x)cos(pi/4)+sin(x)sin(pi/4)
+ * = 1/sqrt(2) * (sin(x) + cos(x))
+ * sin(x0) = sin(x)cos(3pi/4)-cos(x)sin(3pi/4)
+ * = 1/sqrt(2) * (sin(x) - cos(x))
+ * To avoid cancellation, use
+ * sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x))
+ * to compute the worse one.
+ */
+ s = sinf(x);
+ c = cosf(x);
+ ss = s-c;
+ cc = s+c;
+ /*
+ * j0(x) = 1/sqrt(pi) * (P(0,x)*cc - Q(0,x)*ss) / sqrt(x)
+ * y0(x) = 1/sqrt(pi) * (P(0,x)*ss + Q(0,x)*cc) / sqrt(x)
+ */
+ if(ix<0x7f000000) { /* make sure x+x not overflow */
+ z = -cosf(x+x);
+ if ((s*c)<zero) cc = z/ss;
+ else ss = z/cc;
+ }
+ if(ix>0x80000000) z = (invsqrtpi*ss)/__ieee754_sqrtf(x);
+ else {
+ u = pzerof(x); v = qzerof(x);
+ z = invsqrtpi*(u*ss+v*cc)/__ieee754_sqrtf(x);
+ }
+ return z;
+ }
+ if(ix<=0x32000000) { /* x < 2**-27 */
+ return(u00 + tpi*__ieee754_logf(x));
+ }
+ z = x*x;
+ u = u00+z*(u01+z*(u02+z*(u03+z*(u04+z*(u05+z*u06)))));
+ v = one+z*(v01+z*(v02+z*(v03+z*v04)));
+ return(u/v + tpi*(__ieee754_j0f(x)*__ieee754_logf(x)));
+}
+
+/* The asymptotic expansions of pzero is
+ * 1 - 9/128 s^2 + 11025/98304 s^4 - ..., where s = 1/x.
+ * For x >= 2, We approximate pzero by
+ * pzero(x) = 1 + (R/S)
+ * where R = pR0 + pR1*s^2 + pR2*s^4 + ... + pR5*s^10
+ * S = 1 + pS0*s^2 + ... + pS4*s^10
+ * and
+ * | pzero(x)-1-R/S | <= 2 ** ( -60.26)
+ */
+#ifdef __STDC__
+static const float pR8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#else
+static float pR8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#endif
+ 0.0000000000e+00, /* 0x00000000 */
+ -7.0312500000e-02, /* 0xbd900000 */
+ -8.0816707611e+00, /* 0xc1014e86 */
+ -2.5706311035e+02, /* 0xc3808814 */
+ -2.4852163086e+03, /* 0xc51b5376 */
+ -5.2530439453e+03, /* 0xc5a4285a */
+};
+#ifdef __STDC__
+static const float pS8[5] = {
+#else
+static float pS8[5] = {
+#endif
+ 1.1653436279e+02, /* 0x42e91198 */
+ 3.8337448730e+03, /* 0x456f9beb */
+ 4.0597855469e+04, /* 0x471e95db */
+ 1.1675296875e+05, /* 0x47e4087c */
+ 4.7627726562e+04, /* 0x473a0bba */
+};
+#ifdef __STDC__
+static const float pR5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#else
+static float pR5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#endif
+ -1.1412546255e-11, /* 0xad48c58a */
+ -7.0312492549e-02, /* 0xbd8fffff */
+ -4.1596107483e+00, /* 0xc0851b88 */
+ -6.7674766541e+01, /* 0xc287597b */
+ -3.3123129272e+02, /* 0xc3a59d9b */
+ -3.4643338013e+02, /* 0xc3ad3779 */
+};
+#ifdef __STDC__
+static const float pS5[5] = {
+#else
+static float pS5[5] = {
+#endif
+ 6.0753936768e+01, /* 0x42730408 */
+ 1.0512523193e+03, /* 0x44836813 */
+ 5.9789707031e+03, /* 0x45bad7c4 */
+ 9.6254453125e+03, /* 0x461665c8 */
+ 2.4060581055e+03, /* 0x451660ee */
+};
+
+#ifdef __STDC__
+static const float pR3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#else
+static float pR3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#endif
+ -2.5470459075e-09, /* 0xb12f081b */
+ -7.0311963558e-02, /* 0xbd8fffb8 */
+ -2.4090321064e+00, /* 0xc01a2d95 */
+ -2.1965976715e+01, /* 0xc1afba52 */
+ -5.8079170227e+01, /* 0xc2685112 */
+ -3.1447946548e+01, /* 0xc1fb9565 */
+};
+#ifdef __STDC__
+static const float pS3[5] = {
+#else
+static float pS3[5] = {
+#endif
+ 3.5856033325e+01, /* 0x420f6c94 */
+ 3.6151397705e+02, /* 0x43b4c1ca */
+ 1.1936077881e+03, /* 0x44953373 */
+ 1.1279968262e+03, /* 0x448cffe6 */
+ 1.7358093262e+02, /* 0x432d94b8 */
+};
+
+#ifdef __STDC__
+static const float pR2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#else
+static float pR2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#endif
+ -8.8753431271e-08, /* 0xb3be98b7 */
+ -7.0303097367e-02, /* 0xbd8ffb12 */
+ -1.4507384300e+00, /* 0xbfb9b1cc */
+ -7.6356959343e+00, /* 0xc0f4579f */
+ -1.1193166733e+01, /* 0xc1331736 */
+ -3.2336456776e+00, /* 0xc04ef40d */
+};
+#ifdef __STDC__
+static const float pS2[5] = {
+#else
+static float pS2[5] = {
+#endif
+ 2.2220300674e+01, /* 0x41b1c32d */
+ 1.3620678711e+02, /* 0x430834f0 */
+ 2.7047027588e+02, /* 0x43873c32 */
+ 1.5387539673e+02, /* 0x4319e01a */
+ 1.4657617569e+01, /* 0x416a859a */
+};
+
+#ifdef __STDC__
+ static float pzerof(float x)
+#else
+ static float pzerof(x)
+ float x;
+#endif
+{
+#ifdef __STDC__
+ const float *p,*q;
+#else
+ float *p,*q;
+#endif
+ float z,r,s;
+ __int32_t ix;
+ GET_FLOAT_WORD(ix,x);
+ ix &= 0x7fffffff;
+ if(ix>=0x41000000) {p = pR8; q= pS8;}
+ else if(ix>=0x40f71c58){p = pR5; q= pS5;}
+ else if(ix>=0x4036db68){p = pR3; q= pS3;}
+ else if(ix>=0x40000000){p = pR2; q= pS2;}
+ z = one/(x*x);
+ r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
+ s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4]))));
+ return one+ r/s;
+}
+
+
+/* For x >= 8, the asymptotic expansions of qzero is
+ * -1/8 s + 75/1024 s^3 - ..., where s = 1/x.
+ * We approximate pzero by
+ * qzero(x) = s*(-1.25 + (R/S))
+ * where R = qR0 + qR1*s^2 + qR2*s^4 + ... + qR5*s^10
+ * S = 1 + qS0*s^2 + ... + qS5*s^12
+ * and
+ * | qzero(x)/s +1.25-R/S | <= 2 ** ( -61.22)
+ */
+#ifdef __STDC__
+static const float qR8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#else
+static float qR8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#endif
+ 0.0000000000e+00, /* 0x00000000 */
+ 7.3242187500e-02, /* 0x3d960000 */
+ 1.1768206596e+01, /* 0x413c4a93 */
+ 5.5767340088e+02, /* 0x440b6b19 */
+ 8.8591972656e+03, /* 0x460a6cca */
+ 3.7014625000e+04, /* 0x471096a0 */
+};
+#ifdef __STDC__
+static const float qS8[6] = {
+#else
+static float qS8[6] = {
+#endif
+ 1.6377603149e+02, /* 0x4323c6aa */
+ 8.0983447266e+03, /* 0x45fd12c2 */
+ 1.4253829688e+05, /* 0x480b3293 */
+ 8.0330925000e+05, /* 0x49441ed4 */
+ 8.4050156250e+05, /* 0x494d3359 */
+ -3.4389928125e+05, /* 0xc8a7eb69 */
+};
+
+#ifdef __STDC__
+static const float qR5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#else
+static float qR5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#endif
+ 1.8408595828e-11, /* 0x2da1ec79 */
+ 7.3242180049e-02, /* 0x3d95ffff */
+ 5.8356351852e+00, /* 0x40babd86 */
+ 1.3511157227e+02, /* 0x43071c90 */
+ 1.0272437744e+03, /* 0x448067cd */
+ 1.9899779053e+03, /* 0x44f8bf4b */
+};
+#ifdef __STDC__
+static const float qS5[6] = {
+#else
+static float qS5[6] = {
+#endif
+ 8.2776611328e+01, /* 0x42a58da0 */
+ 2.0778142090e+03, /* 0x4501dd07 */
+ 1.8847289062e+04, /* 0x46933e94 */
+ 5.6751113281e+04, /* 0x475daf1d */
+ 3.5976753906e+04, /* 0x470c88c1 */
+ -5.3543427734e+03, /* 0xc5a752be */
+};
+
+#ifdef __STDC__
+static const float qR3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#else
+static float qR3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#endif
+ 4.3774099900e-09, /* 0x3196681b */
+ 7.3241114616e-02, /* 0x3d95ff70 */
+ 3.3442313671e+00, /* 0x405607e3 */
+ 4.2621845245e+01, /* 0x422a7cc5 */
+ 1.7080809021e+02, /* 0x432acedf */
+ 1.6673394775e+02, /* 0x4326bbe4 */
+};
+#ifdef __STDC__
+static const float qS3[6] = {
+#else
+static float qS3[6] = {
+#endif
+ 4.8758872986e+01, /* 0x42430916 */
+ 7.0968920898e+02, /* 0x44316c1c */
+ 3.7041481934e+03, /* 0x4567825f */
+ 6.4604252930e+03, /* 0x45c9e367 */
+ 2.5163337402e+03, /* 0x451d4557 */
+ -1.4924745178e+02, /* 0xc3153f59 */
+};
+
+#ifdef __STDC__
+static const float qR2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#else
+static float qR2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#endif
+ 1.5044444979e-07, /* 0x342189db */
+ 7.3223426938e-02, /* 0x3d95f62a */
+ 1.9981917143e+00, /* 0x3fffc4bf */
+ 1.4495602608e+01, /* 0x4167edfd */
+ 3.1666231155e+01, /* 0x41fd5471 */
+ 1.6252708435e+01, /* 0x4182058c */
+};
+#ifdef __STDC__
+static const float qS2[6] = {
+#else
+static float qS2[6] = {
+#endif
+ 3.0365585327e+01, /* 0x41f2ecb8 */
+ 2.6934811401e+02, /* 0x4386ac8f */
+ 8.4478375244e+02, /* 0x44533229 */
+ 8.8293585205e+02, /* 0x445cbbe5 */
+ 2.1266638184e+02, /* 0x4354aa98 */
+ -5.3109550476e+00, /* 0xc0a9f358 */
+};
+
+#ifdef __STDC__
+ static float qzerof(float x)
+#else
+ static float qzerof(x)
+ float x;
+#endif
+{
+#ifdef __STDC__
+ const float *p,*q;
+#else
+ float *p,*q;
+#endif
+ float s,r,z;
+ __int32_t ix;
+ GET_FLOAT_WORD(ix,x);
+ ix &= 0x7fffffff;
+ if(ix>=0x41000000) {p = qR8; q= qS8;}
+ else if(ix>=0x40f71c58){p = qR5; q= qS5;}
+ else if(ix>=0x4036db68){p = qR3; q= qS3;}
+ else if(ix>=0x40000000){p = qR2; q= qS2;}
+ z = one/(x*x);
+ r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
+ s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5])))));
+ return (-(float).125 + r/s)/x;
+}
diff --git a/newlib/libm/math/ef_j1.c b/newlib/libm/math/ef_j1.c
new file mode 100644
index 00000000000..a3e75f6515d
--- /dev/null
+++ b/newlib/libm/math/ef_j1.c
@@ -0,0 +1,439 @@
+/* ef_j1.c -- float version of e_j1.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static float ponef(float), qonef(float);
+#else
+static float ponef(), qonef();
+#endif
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+huge = 1e30,
+one = 1.0,
+invsqrtpi= 5.6418961287e-01, /* 0x3f106ebb */
+tpi = 6.3661974669e-01, /* 0x3f22f983 */
+ /* R0/S0 on [0,2] */
+r00 = -6.2500000000e-02, /* 0xbd800000 */
+r01 = 1.4070566976e-03, /* 0x3ab86cfd */
+r02 = -1.5995563444e-05, /* 0xb7862e36 */
+r03 = 4.9672799207e-08, /* 0x335557d2 */
+s01 = 1.9153760746e-02, /* 0x3c9ce859 */
+s02 = 1.8594678841e-04, /* 0x3942fab6 */
+s03 = 1.1771846857e-06, /* 0x359dffc2 */
+s04 = 5.0463624390e-09, /* 0x31ad6446 */
+s05 = 1.2354227016e-11; /* 0x2d59567e */
+
+#ifdef __STDC__
+static const float zero = 0.0;
+#else
+static float zero = 0.0;
+#endif
+
+#ifdef __STDC__
+ float __ieee754_j1f(float x)
+#else
+ float __ieee754_j1f(x)
+ float x;
+#endif
+{
+ float z, s,c,ss,cc,r,u,v,y;
+ __int32_t hx,ix;
+
+ GET_FLOAT_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x7f800000) return one/x;
+ y = fabsf(x);
+ if(ix >= 0x40000000) { /* |x| >= 2.0 */
+ s = sinf(y);
+ c = cosf(y);
+ ss = -s-c;
+ cc = s-c;
+ if(ix<0x7f000000) { /* make sure y+y not overflow */
+ z = cosf(y+y);
+ if ((s*c)>zero) cc = z/ss;
+ else ss = z/cc;
+ }
+ /*
+ * j1(x) = 1/sqrt(pi) * (P(1,x)*cc - Q(1,x)*ss) / sqrt(x)
+ * y1(x) = 1/sqrt(pi) * (P(1,x)*ss + Q(1,x)*cc) / sqrt(x)
+ */
+ if(ix>0x80000000) z = (invsqrtpi*cc)/__ieee754_sqrtf(y);
+ else {
+ u = ponef(y); v = qonef(y);
+ z = invsqrtpi*(u*cc-v*ss)/__ieee754_sqrtf(y);
+ }
+ if(hx<0) return -z;
+ else return z;
+ }
+ if(ix<0x32000000) { /* |x|<2**-27 */
+ if(huge+x>one) return (float)0.5*x;/* inexact if x!=0 necessary */
+ }
+ z = x*x;
+ r = z*(r00+z*(r01+z*(r02+z*r03)));
+ s = one+z*(s01+z*(s02+z*(s03+z*(s04+z*s05))));
+ r *= x;
+ return(x*(float)0.5+r/s);
+}
+
+#ifdef __STDC__
+static const float U0[5] = {
+#else
+static float U0[5] = {
+#endif
+ -1.9605709612e-01, /* 0xbe48c331 */
+ 5.0443872809e-02, /* 0x3d4e9e3c */
+ -1.9125689287e-03, /* 0xbafaaf2a */
+ 2.3525259166e-05, /* 0x37c5581c */
+ -9.1909917899e-08, /* 0xb3c56003 */
+};
+#ifdef __STDC__
+static const float V0[5] = {
+#else
+static float V0[5] = {
+#endif
+ 1.9916731864e-02, /* 0x3ca3286a */
+ 2.0255257550e-04, /* 0x3954644b */
+ 1.3560879779e-06, /* 0x35b602d4 */
+ 6.2274145840e-09, /* 0x31d5f8eb */
+ 1.6655924903e-11, /* 0x2d9281cf */
+};
+
+#ifdef __STDC__
+ float __ieee754_y1f(float x)
+#else
+ float __ieee754_y1f(x)
+ float x;
+#endif
+{
+ float z, s,c,ss,cc,u,v;
+ __int32_t hx,ix;
+
+ GET_FLOAT_WORD(hx,x);
+ ix = 0x7fffffff&hx;
+ /* if Y1(NaN) is NaN, Y1(-inf) is NaN, Y1(inf) is 0 */
+ if(ix>=0x7f800000) return one/(x+x*x);
+ if(ix==0) return -one/zero;
+ if(hx<0) return zero/zero;
+ if(ix >= 0x40000000) { /* |x| >= 2.0 */
+ s = sinf(x);
+ c = cosf(x);
+ ss = -s-c;
+ cc = s-c;
+ if(ix<0x7f000000) { /* make sure x+x not overflow */
+ z = cosf(x+x);
+ if ((s*c)>zero) cc = z/ss;
+ else ss = z/cc;
+ }
+ /* y1(x) = sqrt(2/(pi*x))*(p1(x)*sin(x0)+q1(x)*cos(x0))
+ * where x0 = x-3pi/4
+ * Better formula:
+ * cos(x0) = cos(x)cos(3pi/4)+sin(x)sin(3pi/4)
+ * = 1/sqrt(2) * (sin(x) - cos(x))
+ * sin(x0) = sin(x)cos(3pi/4)-cos(x)sin(3pi/4)
+ * = -1/sqrt(2) * (cos(x) + sin(x))
+ * To avoid cancellation, use
+ * sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x))
+ * to compute the worse one.
+ */
+ if(ix>0x48000000) z = (invsqrtpi*ss)/__ieee754_sqrtf(x);
+ else {
+ u = ponef(x); v = qonef(x);
+ z = invsqrtpi*(u*ss+v*cc)/__ieee754_sqrtf(x);
+ }
+ return z;
+ }
+ if(ix<=0x24800000) { /* x < 2**-54 */
+ return(-tpi/x);
+ }
+ z = x*x;
+ u = U0[0]+z*(U0[1]+z*(U0[2]+z*(U0[3]+z*U0[4])));
+ v = one+z*(V0[0]+z*(V0[1]+z*(V0[2]+z*(V0[3]+z*V0[4]))));
+ return(x*(u/v) + tpi*(__ieee754_j1f(x)*__ieee754_logf(x)-one/x));
+}
+
+/* For x >= 8, the asymptotic expansions of pone is
+ * 1 + 15/128 s^2 - 4725/2^15 s^4 - ..., where s = 1/x.
+ * We approximate pone by
+ * pone(x) = 1 + (R/S)
+ * where R = pr0 + pr1*s^2 + pr2*s^4 + ... + pr5*s^10
+ * S = 1 + ps0*s^2 + ... + ps4*s^10
+ * and
+ * | pone(x)-1-R/S | <= 2 ** ( -60.06)
+ */
+
+#ifdef __STDC__
+static const float pr8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#else
+static float pr8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#endif
+ 0.0000000000e+00, /* 0x00000000 */
+ 1.1718750000e-01, /* 0x3df00000 */
+ 1.3239480972e+01, /* 0x4153d4ea */
+ 4.1205184937e+02, /* 0x43ce06a3 */
+ 3.8747453613e+03, /* 0x45722bed */
+ 7.9144794922e+03, /* 0x45f753d6 */
+};
+#ifdef __STDC__
+static const float ps8[5] = {
+#else
+static float ps8[5] = {
+#endif
+ 1.1420736694e+02, /* 0x42e46a2c */
+ 3.6509309082e+03, /* 0x45642ee5 */
+ 3.6956207031e+04, /* 0x47105c35 */
+ 9.7602796875e+04, /* 0x47bea166 */
+ 3.0804271484e+04, /* 0x46f0a88b */
+};
+
+#ifdef __STDC__
+static const float pr5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#else
+static float pr5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#endif
+ 1.3199052094e-11, /* 0x2d68333f */
+ 1.1718749255e-01, /* 0x3defffff */
+ 6.8027510643e+00, /* 0x40d9b023 */
+ 1.0830818176e+02, /* 0x42d89dca */
+ 5.1763616943e+02, /* 0x440168b7 */
+ 5.2871520996e+02, /* 0x44042dc6 */
+};
+#ifdef __STDC__
+static const float ps5[5] = {
+#else
+static float ps5[5] = {
+#endif
+ 5.9280597687e+01, /* 0x426d1f55 */
+ 9.9140142822e+02, /* 0x4477d9b1 */
+ 5.3532670898e+03, /* 0x45a74a23 */
+ 7.8446904297e+03, /* 0x45f52586 */
+ 1.5040468750e+03, /* 0x44bc0180 */
+};
+
+#ifdef __STDC__
+static const float pr3[6] = {
+#else
+static float pr3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#endif
+ 3.0250391081e-09, /* 0x314fe10d */
+ 1.1718686670e-01, /* 0x3defffab */
+ 3.9329774380e+00, /* 0x407bb5e7 */
+ 3.5119403839e+01, /* 0x420c7a45 */
+ 9.1055007935e+01, /* 0x42b61c2a */
+ 4.8559066772e+01, /* 0x42423c7c */
+};
+#ifdef __STDC__
+static const float ps3[5] = {
+#else
+static float ps3[5] = {
+#endif
+ 3.4791309357e+01, /* 0x420b2a4d */
+ 3.3676245117e+02, /* 0x43a86198 */
+ 1.0468714600e+03, /* 0x4482dbe3 */
+ 8.9081134033e+02, /* 0x445eb3ed */
+ 1.0378793335e+02, /* 0x42cf936c */
+};
+
+#ifdef __STDC__
+static const float pr2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#else
+static float pr2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#endif
+ 1.0771083225e-07, /* 0x33e74ea8 */
+ 1.1717621982e-01, /* 0x3deffa16 */
+ 2.3685150146e+00, /* 0x401795c0 */
+ 1.2242610931e+01, /* 0x4143e1bc */
+ 1.7693971634e+01, /* 0x418d8d41 */
+ 5.0735230446e+00, /* 0x40a25a4d */
+};
+#ifdef __STDC__
+static const float ps2[5] = {
+#else
+static float ps2[5] = {
+#endif
+ 2.1436485291e+01, /* 0x41ab7dec */
+ 1.2529022980e+02, /* 0x42fa9499 */
+ 2.3227647400e+02, /* 0x436846c7 */
+ 1.1767937469e+02, /* 0x42eb5bd7 */
+ 8.3646392822e+00, /* 0x4105d590 */
+};
+
+#ifdef __STDC__
+ static float ponef(float x)
+#else
+ static float ponef(x)
+ float x;
+#endif
+{
+#ifdef __STDC__
+ const float *p,*q;
+#else
+ float *p,*q;
+#endif
+ float z,r,s;
+ __int32_t ix;
+ GET_FLOAT_WORD(ix,x);
+ ix &= 0x7fffffff;
+ if(ix>=0x41000000) {p = pr8; q= ps8;}
+ else if(ix>=0x40f71c58){p = pr5; q= ps5;}
+ else if(ix>=0x4036db68){p = pr3; q= ps3;}
+ else if(ix>=0x40000000){p = pr2; q= ps2;}
+ z = one/(x*x);
+ r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
+ s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4]))));
+ return one+ r/s;
+}
+
+
+/* For x >= 8, the asymptotic expansions of qone is
+ * 3/8 s - 105/1024 s^3 - ..., where s = 1/x.
+ * We approximate pone by
+ * qone(x) = s*(0.375 + (R/S))
+ * where R = qr1*s^2 + qr2*s^4 + ... + qr5*s^10
+ * S = 1 + qs1*s^2 + ... + qs6*s^12
+ * and
+ * | qone(x)/s -0.375-R/S | <= 2 ** ( -61.13)
+ */
+
+#ifdef __STDC__
+static const float qr8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#else
+static float qr8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#endif
+ 0.0000000000e+00, /* 0x00000000 */
+ -1.0253906250e-01, /* 0xbdd20000 */
+ -1.6271753311e+01, /* 0xc1822c8d */
+ -7.5960174561e+02, /* 0xc43de683 */
+ -1.1849806641e+04, /* 0xc639273a */
+ -4.8438511719e+04, /* 0xc73d3683 */
+};
+#ifdef __STDC__
+static const float qs8[6] = {
+#else
+static float qs8[6] = {
+#endif
+ 1.6139537048e+02, /* 0x43216537 */
+ 7.8253862305e+03, /* 0x45f48b17 */
+ 1.3387534375e+05, /* 0x4802bcd6 */
+ 7.1965775000e+05, /* 0x492fb29c */
+ 6.6660125000e+05, /* 0x4922be94 */
+ -2.9449025000e+05, /* 0xc88fcb48 */
+};
+
+#ifdef __STDC__
+static const float qr5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#else
+static float qr5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#endif
+ -2.0897993405e-11, /* 0xadb7d219 */
+ -1.0253904760e-01, /* 0xbdd1fffe */
+ -8.0564479828e+00, /* 0xc100e736 */
+ -1.8366960144e+02, /* 0xc337ab6b */
+ -1.3731937256e+03, /* 0xc4aba633 */
+ -2.6124443359e+03, /* 0xc523471c */
+};
+#ifdef __STDC__
+static const float qs5[6] = {
+#else
+static float qs5[6] = {
+#endif
+ 8.1276550293e+01, /* 0x42a28d98 */
+ 1.9917987061e+03, /* 0x44f8f98f */
+ 1.7468484375e+04, /* 0x468878f8 */
+ 4.9851425781e+04, /* 0x4742bb6d */
+ 2.7948074219e+04, /* 0x46da5826 */
+ -4.7191835938e+03, /* 0xc5937978 */
+};
+
+#ifdef __STDC__
+static const float qr3[6] = {
+#else
+static float qr3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#endif
+ -5.0783124372e-09, /* 0xb1ae7d4f */
+ -1.0253783315e-01, /* 0xbdd1ff5b */
+ -4.6101160049e+00, /* 0xc0938612 */
+ -5.7847221375e+01, /* 0xc267638e */
+ -2.2824453735e+02, /* 0xc3643e9a */
+ -2.1921012878e+02, /* 0xc35b35cb */
+};
+#ifdef __STDC__
+static const float qs3[6] = {
+#else
+static float qs3[6] = {
+#endif
+ 4.7665153503e+01, /* 0x423ea91e */
+ 6.7386511230e+02, /* 0x4428775e */
+ 3.3801528320e+03, /* 0x45534272 */
+ 5.5477290039e+03, /* 0x45ad5dd5 */
+ 1.9031191406e+03, /* 0x44ede3d0 */
+ -1.3520118713e+02, /* 0xc3073381 */
+};
+
+#ifdef __STDC__
+static const float qr2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#else
+static float qr2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#endif
+ -1.7838172539e-07, /* 0xb43f8932 */
+ -1.0251704603e-01, /* 0xbdd1f475 */
+ -2.7522056103e+00, /* 0xc0302423 */
+ -1.9663616180e+01, /* 0xc19d4f16 */
+ -4.2325313568e+01, /* 0xc2294d1f */
+ -2.1371921539e+01, /* 0xc1aaf9b2 */
+};
+#ifdef __STDC__
+static const float qs2[6] = {
+#else
+static float qs2[6] = {
+#endif
+ 2.9533363342e+01, /* 0x41ec4454 */
+ 2.5298155212e+02, /* 0x437cfb47 */
+ 7.5750280762e+02, /* 0x443d602e */
+ 7.3939318848e+02, /* 0x4438d92a */
+ 1.5594900513e+02, /* 0x431bf2f2 */
+ -4.9594988823e+00, /* 0xc09eb437 */
+};
+
+#ifdef __STDC__
+ static float qonef(float x)
+#else
+ static float qonef(x)
+ float x;
+#endif
+{
+#ifdef __STDC__
+ const float *p,*q;
+#else
+ float *p,*q;
+#endif
+ float s,r,z;
+ __int32_t ix;
+ GET_FLOAT_WORD(ix,x);
+ ix &= 0x7fffffff;
+ if(ix>=0x40200000) {p = qr8; q= qs8;}
+ else if(ix>=0x40f71c58){p = qr5; q= qs5;}
+ else if(ix>=0x4036db68){p = qr3; q= qs3;}
+ else if(ix>=0x40000000){p = qr2; q= qs2;}
+ z = one/(x*x);
+ r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
+ s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5])))));
+ return ((float).375 + r/s)/x;
+}
diff --git a/newlib/libm/math/ef_jn.c b/newlib/libm/math/ef_jn.c
new file mode 100644
index 00000000000..04a93b685ed
--- /dev/null
+++ b/newlib/libm/math/ef_jn.c
@@ -0,0 +1,207 @@
+/* ef_jn.c -- float version of e_jn.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+invsqrtpi= 5.6418961287e-01, /* 0x3f106ebb */
+two = 2.0000000000e+00, /* 0x40000000 */
+one = 1.0000000000e+00; /* 0x3F800000 */
+
+#ifdef __STDC__
+static const float zero = 0.0000000000e+00;
+#else
+static float zero = 0.0000000000e+00;
+#endif
+
+#ifdef __STDC__
+ float __ieee754_jnf(int n, float x)
+#else
+ float __ieee754_jnf(n,x)
+ int n; float x;
+#endif
+{
+ __int32_t i,hx,ix, sgn;
+ float a, b, temp, di;
+ float z, w;
+
+ /* J(-n,x) = (-1)^n * J(n, x), J(n, -x) = (-1)^n * J(n, x)
+ * Thus, J(-n,x) = J(n,-x)
+ */
+ GET_FLOAT_WORD(hx,x);
+ ix = 0x7fffffff&hx;
+ /* if J(n,NaN) is NaN */
+ if(ix>0x7f800000) return x+x;
+ if(n<0){
+ n = -n;
+ x = -x;
+ hx ^= 0x80000000;
+ }
+ if(n==0) return(__ieee754_j0f(x));
+ if(n==1) return(__ieee754_j1f(x));
+ sgn = (n&1)&(hx>>31); /* even n -- 0, odd n -- sign(x) */
+ x = fabsf(x);
+ if(ix==0||ix>=0x7f800000) /* if x is 0 or inf */
+ b = zero;
+ else if((float)n<=x) {
+ /* Safe to use J(n+1,x)=2n/x *J(n,x)-J(n-1,x) */
+ a = __ieee754_j0f(x);
+ b = __ieee754_j1f(x);
+ for(i=1;i<n;i++){
+ temp = b;
+ b = b*((float)(i+i)/x) - a; /* avoid underflow */
+ a = temp;
+ }
+ } else {
+ if(ix<0x30800000) { /* x < 2**-29 */
+ /* x is tiny, return the first Taylor expansion of J(n,x)
+ * J(n,x) = 1/n!*(x/2)^n - ...
+ */
+ if(n>33) /* underflow */
+ b = zero;
+ else {
+ temp = x*(float)0.5; b = temp;
+ for (a=one,i=2;i<=n;i++) {
+ a *= (float)i; /* a = n! */
+ b *= temp; /* b = (x/2)^n */
+ }
+ b = b/a;
+ }
+ } else {
+ /* use backward recurrence */
+ /* x x^2 x^2
+ * J(n,x)/J(n-1,x) = ---- ------ ------ .....
+ * 2n - 2(n+1) - 2(n+2)
+ *
+ * 1 1 1
+ * (for large x) = ---- ------ ------ .....
+ * 2n 2(n+1) 2(n+2)
+ * -- - ------ - ------ -
+ * x x x
+ *
+ * Let w = 2n/x and h=2/x, then the above quotient
+ * is equal to the continued fraction:
+ * 1
+ * = -----------------------
+ * 1
+ * w - -----------------
+ * 1
+ * w+h - ---------
+ * w+2h - ...
+ *
+ * To determine how many terms needed, let
+ * Q(0) = w, Q(1) = w(w+h) - 1,
+ * Q(k) = (w+k*h)*Q(k-1) - Q(k-2),
+ * When Q(k) > 1e4 good for single
+ * When Q(k) > 1e9 good for double
+ * When Q(k) > 1e17 good for quadruple
+ */
+ /* determine k */
+ float t,v;
+ float q0,q1,h,tmp; __int32_t k,m;
+ w = (n+n)/(float)x; h = (float)2.0/(float)x;
+ q0 = w; z = w+h; q1 = w*z - (float)1.0; k=1;
+ while(q1<(float)1.0e9) {
+ k += 1; z += h;
+ tmp = z*q1 - q0;
+ q0 = q1;
+ q1 = tmp;
+ }
+ m = n+n;
+ for(t=zero, i = 2*(n+k); i>=m; i -= 2) t = one/(i/x-t);
+ a = t;
+ b = one;
+ /* estimate log((2/x)^n*n!) = n*log(2/x)+n*ln(n)
+ * Hence, if n*(log(2n/x)) > ...
+ * single 8.8722839355e+01
+ * double 7.09782712893383973096e+02
+ * long double 1.1356523406294143949491931077970765006170e+04
+ * then recurrent value may overflow and the result is
+ * likely underflow to zero
+ */
+ tmp = n;
+ v = two/x;
+ tmp = tmp*__ieee754_logf(fabsf(v*tmp));
+ if(tmp<(float)8.8721679688e+01) {
+ for(i=n-1,di=(float)(i+i);i>0;i--){
+ temp = b;
+ b *= di;
+ b = b/x - a;
+ a = temp;
+ di -= two;
+ }
+ } else {
+ for(i=n-1,di=(float)(i+i);i>0;i--){
+ temp = b;
+ b *= di;
+ b = b/x - a;
+ a = temp;
+ di -= two;
+ /* scale b to avoid spurious overflow */
+ if(b>(float)1e10) {
+ a /= b;
+ t /= b;
+ b = one;
+ }
+ }
+ }
+ b = (t*__ieee754_j0f(x)/b);
+ }
+ }
+ if(sgn==1) return -b; else return b;
+}
+
+#ifdef __STDC__
+ float __ieee754_ynf(int n, float x)
+#else
+ float __ieee754_ynf(n,x)
+ int n; float x;
+#endif
+{
+ __int32_t i,hx,ix,ib;
+ __int32_t sign;
+ float a, b, temp;
+
+ GET_FLOAT_WORD(hx,x);
+ ix = 0x7fffffff&hx;
+ /* if Y(n,NaN) is NaN */
+ if(ix>0x7f800000) return x+x;
+ if(ix==0) return -one/zero;
+ if(hx<0) return zero/zero;
+ sign = 1;
+ if(n<0){
+ n = -n;
+ sign = 1 - ((n&1)<<1);
+ }
+ if(n==0) return(__ieee754_y0f(x));
+ if(n==1) return(sign*__ieee754_y1f(x));
+ if(ix==0x7f800000) return zero;
+
+ a = __ieee754_y0f(x);
+ b = __ieee754_y1f(x);
+ /* quit if b is -inf */
+ GET_FLOAT_WORD(ib,b);
+ for(i=1;i<n&&ib!=0xff800000;i++){
+ temp = b;
+ b = ((float)(i+i)/x)*b - a;
+ GET_FLOAT_WORD(ib,b);
+ a = temp;
+ }
+ if(sign>0) return b; else return -b;
+}
diff --git a/newlib/libm/math/ef_log.c b/newlib/libm/math/ef_log.c
new file mode 100644
index 00000000000..93f072c56bc
--- /dev/null
+++ b/newlib/libm/math/ef_log.c
@@ -0,0 +1,92 @@
+/* ef_log.c -- float version of e_log.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+ln2_hi = 6.9313812256e-01, /* 0x3f317180 */
+ln2_lo = 9.0580006145e-06, /* 0x3717f7d1 */
+two25 = 3.355443200e+07, /* 0x4c000000 */
+Lg1 = 6.6666668653e-01, /* 3F2AAAAB */
+Lg2 = 4.0000000596e-01, /* 3ECCCCCD */
+Lg3 = 2.8571429849e-01, /* 3E924925 */
+Lg4 = 2.2222198546e-01, /* 3E638E29 */
+Lg5 = 1.8183572590e-01, /* 3E3A3325 */
+Lg6 = 1.5313838422e-01, /* 3E1CD04F */
+Lg7 = 1.4798198640e-01; /* 3E178897 */
+
+#ifdef __STDC__
+static const float zero = 0.0;
+#else
+static float zero = 0.0;
+#endif
+
+#ifdef __STDC__
+ float __ieee754_logf(float x)
+#else
+ float __ieee754_logf(x)
+ float x;
+#endif
+{
+ float hfsq,f,s,z,R,w,t1,t2,dk;
+ __int32_t k,ix,i,j;
+
+ GET_FLOAT_WORD(ix,x);
+
+ k=0;
+ if (ix < 0x00800000) { /* x < 2**-126 */
+ if ((ix&0x7fffffff)==0)
+ return -two25/zero; /* log(+-0)=-inf */
+ if (ix<0) return (x-x)/zero; /* log(-#) = NaN */
+ k -= 25; x *= two25; /* subnormal number, scale up x */
+ GET_FLOAT_WORD(ix,x);
+ }
+ if (ix >= 0x7f800000) return x+x;
+ k += (ix>>23)-127;
+ ix &= 0x007fffff;
+ i = (ix+(0x95f64<<3))&0x800000;
+ SET_FLOAT_WORD(x,ix|(i^0x3f800000)); /* normalize x or x/2 */
+ k += (i>>23);
+ f = x-(float)1.0;
+ if((0x007fffff&(15+ix))<16) { /* |f| < 2**-20 */
+ if(f==zero) if(k==0) return zero; else {dk=(float)k;
+ return dk*ln2_hi+dk*ln2_lo;}
+ R = f*f*((float)0.5-(float)0.33333333333333333*f);
+ if(k==0) return f-R; else {dk=(float)k;
+ return dk*ln2_hi-((R-dk*ln2_lo)-f);}
+ }
+ s = f/((float)2.0+f);
+ dk = (float)k;
+ z = s*s;
+ i = ix-(0x6147a<<3);
+ w = z*z;
+ j = (0x6b851<<3)-ix;
+ t1= w*(Lg2+w*(Lg4+w*Lg6));
+ t2= z*(Lg1+w*(Lg3+w*(Lg5+w*Lg7)));
+ i |= j;
+ R = t2+t1;
+ if(i>0) {
+ hfsq=(float)0.5*f*f;
+ if(k==0) return f-(hfsq-s*(hfsq+R)); else
+ return dk*ln2_hi-((hfsq-(s*(hfsq+R)+dk*ln2_lo))-f);
+ } else {
+ if(k==0) return f-s*(f-R); else
+ return dk*ln2_hi-((s*(f-R)-dk*ln2_lo)-f);
+ }
+}
diff --git a/newlib/libm/math/ef_log10.c b/newlib/libm/math/ef_log10.c
new file mode 100644
index 00000000000..63fee9b9d42
--- /dev/null
+++ b/newlib/libm/math/ef_log10.c
@@ -0,0 +1,62 @@
+/* ef_log10.c -- float version of e_log10.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+two25 = 3.3554432000e+07, /* 0x4c000000 */
+ivln10 = 4.3429449201e-01, /* 0x3ede5bd9 */
+log10_2hi = 3.0102920532e-01, /* 0x3e9a2080 */
+log10_2lo = 7.9034151668e-07; /* 0x355427db */
+
+#ifdef __STDC__
+static const float zero = 0.0;
+#else
+static float zero = 0.0;
+#endif
+
+#ifdef __STDC__
+ float __ieee754_log10f(float x)
+#else
+ float __ieee754_log10f(x)
+ float x;
+#endif
+{
+ float y,z;
+ __int32_t i,k,hx;
+
+ GET_FLOAT_WORD(hx,x);
+
+ k=0;
+ if (hx < 0x00800000) { /* x < 2**-126 */
+ if ((hx&0x7fffffff)==0)
+ return -two25/zero; /* log(+-0)=-inf */
+ if (hx<0) return (x-x)/zero; /* log(-#) = NaN */
+ k -= 25; x *= two25; /* subnormal number, scale up x */
+ GET_FLOAT_WORD(hx,x);
+ }
+ if (hx >= 0x7f800000) return x+x;
+ k += (hx>>23)-127;
+ i = ((__uint32_t)k&0x80000000)>>31;
+ hx = (hx&0x007fffff)|((0x7f-i)<<23);
+ y = (float)(k+i);
+ SET_FLOAT_WORD(x,hx);
+ z = y*log10_2lo + ivln10*__ieee754_logf(x);
+ return z+y*log10_2hi;
+}
diff --git a/newlib/libm/math/ef_pow.c b/newlib/libm/math/ef_pow.c
new file mode 100644
index 00000000000..40b679d6e80
--- /dev/null
+++ b/newlib/libm/math/ef_pow.c
@@ -0,0 +1,252 @@
+/* ef_pow.c -- float version of e_pow.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __v810__
+#define const
+#endif
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+bp[] = {1.0, 1.5,},
+dp_h[] = { 0.0, 5.84960938e-01,}, /* 0x3f15c000 */
+dp_l[] = { 0.0, 1.56322085e-06,}, /* 0x35d1cfdc */
+zero = 0.0,
+one = 1.0,
+two = 2.0,
+two24 = 16777216.0, /* 0x4b800000 */
+huge = 1.0e30,
+tiny = 1.0e-30,
+ /* poly coefs for (3/2)*(log(x)-2s-2/3*s**3 */
+L1 = 6.0000002384e-01, /* 0x3f19999a */
+L2 = 4.2857143283e-01, /* 0x3edb6db7 */
+L3 = 3.3333334327e-01, /* 0x3eaaaaab */
+L4 = 2.7272811532e-01, /* 0x3e8ba305 */
+L5 = 2.3066075146e-01, /* 0x3e6c3255 */
+L6 = 2.0697501302e-01, /* 0x3e53f142 */
+P1 = 1.6666667163e-01, /* 0x3e2aaaab */
+P2 = -2.7777778450e-03, /* 0xbb360b61 */
+P3 = 6.6137559770e-05, /* 0x388ab355 */
+P4 = -1.6533901999e-06, /* 0xb5ddea0e */
+P5 = 4.1381369442e-08, /* 0x3331bb4c */
+lg2 = 6.9314718246e-01, /* 0x3f317218 */
+lg2_h = 6.93145752e-01, /* 0x3f317200 */
+lg2_l = 1.42860654e-06, /* 0x35bfbe8c */
+ovt = 4.2995665694e-08, /* -(128-log2(ovfl+.5ulp)) */
+cp = 9.6179670095e-01, /* 0x3f76384f =2/(3ln2) */
+cp_h = 9.6179199219e-01, /* 0x3f763800 =head of cp */
+cp_l = 4.7017383622e-06, /* 0x369dc3a0 =tail of cp_h */
+ivln2 = 1.4426950216e+00, /* 0x3fb8aa3b =1/ln2 */
+ivln2_h = 1.4426879883e+00, /* 0x3fb8aa00 =16b 1/ln2*/
+ivln2_l = 7.0526075433e-06; /* 0x36eca570 =1/ln2 tail*/
+
+#ifdef __STDC__
+ float __ieee754_powf(float x, float y)
+#else
+ float __ieee754_powf(x,y)
+ float x, y;
+#endif
+{
+ float z,ax,z_h,z_l,p_h,p_l;
+ float y1,t1,t2,r,s,t,u,v,w;
+ __int32_t i,j,k,yisint,n;
+ __int32_t hx,hy,ix,iy,is;
+
+ GET_FLOAT_WORD(hx,x);
+ GET_FLOAT_WORD(hy,y);
+ ix = hx&0x7fffffff; iy = hy&0x7fffffff;
+
+ /* y==zero: x**0 = 1 */
+ if(iy==0) return one;
+
+ /* +-NaN return x+y */
+ if(ix > 0x7f800000 ||
+ iy > 0x7f800000)
+ return x+y;
+
+ /* determine if y is an odd int when x < 0
+ * yisint = 0 ... y is not an integer
+ * yisint = 1 ... y is an odd int
+ * yisint = 2 ... y is an even int
+ */
+ yisint = 0;
+ if(hx<0) {
+ if(iy>=0x4b800000) yisint = 2; /* even integer y */
+ else if(iy>=0x3f800000) {
+ k = (iy>>23)-0x7f; /* exponent */
+ j = iy>>(23-k);
+ if((j<<(23-k))==iy) yisint = 2-(j&1);
+ }
+ }
+
+ /* special value of y */
+ if (iy==0x7f800000) { /* y is +-inf */
+ if (ix==0x3f800000)
+ return y - y; /* inf**+-1 is NaN */
+ else if (ix > 0x3f800000)/* (|x|>1)**+-inf = inf,0 */
+ return (hy>=0)? y: zero;
+ else /* (|x|<1)**-,+inf = inf,0 */
+ return (hy<0)?-y: zero;
+ }
+ if(iy==0x3f800000) { /* y is +-1 */
+ if(hy<0) return one/x; else return x;
+ }
+ if(hy==0x40000000) return x*x; /* y is 2 */
+ if(hy==0x3f000000) { /* y is 0.5 */
+ if(hx>=0) /* x >= +0 */
+ return __ieee754_sqrtf(x);
+ }
+
+ ax = fabsf(x);
+ /* special value of x */
+ if(ix==0x7f800000||ix==0||ix==0x3f800000){
+ z = ax; /*x is +-0,+-inf,+-1*/
+ if(hy<0) z = one/z; /* z = (1/|x|) */
+ if(hx<0) {
+ if(((ix-0x3f800000)|yisint)==0) {
+ z = (z-z)/(z-z); /* (-1)**non-int is NaN */
+ } else if(yisint==1)
+ z = -z; /* (x<0)**odd = -(|x|**odd) */
+ }
+ return z;
+ }
+
+ /* (x<0)**(non-int) is NaN */
+ if(((((__uint32_t)hx>>31)-1)|yisint)==0) return (x-x)/(x-x);
+
+ /* |y| is huge */
+ if(iy>0x4d000000) { /* if |y| > 2**27 */
+ /* over/underflow if x is not close to one */
+ if(ix<0x3f7ffff8) return (hy<0)? huge*huge:tiny*tiny;
+ if(ix>0x3f800007) return (hy>0)? huge*huge:tiny*tiny;
+ /* now |1-x| is tiny <= 2**-20, suffice to compute
+ log(x) by x-x^2/2+x^3/3-x^4/4 */
+ t = x-1; /* t has 20 trailing zeros */
+ w = (t*t)*((float)0.5-t*((float)0.333333333333-t*(float)0.25));
+ u = ivln2_h*t; /* ivln2_h has 16 sig. bits */
+ v = t*ivln2_l-w*ivln2;
+ t1 = u+v;
+ GET_FLOAT_WORD(is,t1);
+ SET_FLOAT_WORD(t1,is&0xfffff000);
+ t2 = v-(t1-u);
+ } else {
+ float s2,s_h,s_l,t_h,t_l;
+ n = 0;
+ /* take care subnormal number */
+ if(ix<0x00800000)
+ {ax *= two24; n -= 24; GET_FLOAT_WORD(ix,ax); }
+ n += ((ix)>>23)-0x7f;
+ j = ix&0x007fffff;
+ /* determine interval */
+ ix = j|0x3f800000; /* normalize ix */
+ if(j<=0x1cc471) k=0; /* |x|<sqrt(3/2) */
+ else if(j<0x5db3d7) k=1; /* |x|<sqrt(3) */
+ else {k=0;n+=1;ix -= 0x00800000;}
+ SET_FLOAT_WORD(ax,ix);
+
+ /* compute s = s_h+s_l = (x-1)/(x+1) or (x-1.5)/(x+1.5) */
+ u = ax-bp[k]; /* bp[0]=1.0, bp[1]=1.5 */
+ v = one/(ax+bp[k]);
+ s = u*v;
+ s_h = s;
+ GET_FLOAT_WORD(is,s_h);
+ SET_FLOAT_WORD(s_h,is&0xfffff000);
+ /* t_h=ax+bp[k] High */
+ SET_FLOAT_WORD(t_h,((ix>>1)|0x20000000)+0x0040000+(k<<21));
+ t_l = ax - (t_h-bp[k]);
+ s_l = v*((u-s_h*t_h)-s_h*t_l);
+ /* compute log(ax) */
+ s2 = s*s;
+ r = s2*s2*(L1+s2*(L2+s2*(L3+s2*(L4+s2*(L5+s2*L6)))));
+ r += s_l*(s_h+s);
+ s2 = s_h*s_h;
+ t_h = (float)3.0+s2+r;
+ GET_FLOAT_WORD(is,t_h);
+ SET_FLOAT_WORD(t_h,is&0xfffff000);
+ t_l = r-((t_h-(float)3.0)-s2);
+ /* u+v = s*(1+...) */
+ u = s_h*t_h;
+ v = s_l*t_h+t_l*s;
+ /* 2/(3log2)*(s+...) */
+ p_h = u+v;
+ GET_FLOAT_WORD(is,p_h);
+ SET_FLOAT_WORD(p_h,is&0xfffff000);
+ p_l = v-(p_h-u);
+ z_h = cp_h*p_h; /* cp_h+cp_l = 2/(3*log2) */
+ z_l = cp_l*p_h+p_l*cp+dp_l[k];
+ /* log2(ax) = (s+..)*2/(3*log2) = n + dp_h + z_h + z_l */
+ t = (float)n;
+ t1 = (((z_h+z_l)+dp_h[k])+t);
+ GET_FLOAT_WORD(is,t1);
+ SET_FLOAT_WORD(t1,is&0xfffff000);
+ t2 = z_l-(((t1-t)-dp_h[k])-z_h);
+ }
+
+ s = one; /* s (sign of result -ve**odd) = -1 else = 1 */
+ if(((((__uint32_t)hx>>31)-1)|(yisint-1))==0)
+ s = -one; /* (-ve)**(odd int) */
+
+ /* split up y into y1+y2 and compute (y1+y2)*(t1+t2) */
+ GET_FLOAT_WORD(is,y);
+ SET_FLOAT_WORD(y1,is&0xfffff000);
+ p_l = (y-y1)*t1+y*t2;
+ p_h = y1*t1;
+ z = p_l+p_h;
+ GET_FLOAT_WORD(j,z);
+ if (j>0x43000000) /* if z > 128 */
+ return s*huge*huge; /* overflow */
+ else if (j==0x43000000) { /* if z == 128 */
+ if(p_l+ovt>z-p_h) return s*huge*huge; /* overflow */
+ }
+ else if ((j&0x7fffffff)>0x43160000) /* z <= -150 */
+ return s*tiny*tiny; /* underflow */
+ else if (j==0xc3160000){ /* z == -150 */
+ if(p_l<=z-p_h) return s*tiny*tiny; /* underflow */
+ }
+ /*
+ * compute 2**(p_h+p_l)
+ */
+ i = j&0x7fffffff;
+ k = (i>>23)-0x7f;
+ n = 0;
+ if(i>0x3f000000) { /* if |z| > 0.5, set n = [z+0.5] */
+ n = j+(0x00800000>>(k+1));
+ k = ((n&0x7fffffff)>>23)-0x7f; /* new k for n */
+ SET_FLOAT_WORD(t,n&~(0x007fffff>>k));
+ n = ((n&0x007fffff)|0x00800000)>>(23-k);
+ if(j<0) n = -n;
+ p_h -= t;
+ }
+ t = p_l+p_h;
+ GET_FLOAT_WORD(is,t);
+ SET_FLOAT_WORD(t,is&0xfffff000);
+ u = t*lg2_h;
+ v = (p_l-(t-p_h))*lg2+t*lg2_l;
+ z = u+v;
+ w = v-(z-u);
+ t = z*z;
+ t1 = z - t*(P1+t*(P2+t*(P3+t*(P4+t*P5))));
+ r = (z*t1)/(t1-two)-(w+z*w);
+ z = one-(r-z);
+ GET_FLOAT_WORD(j,z);
+ j += (n<<23);
+ if((j>>23)<=0) z = scalbnf(z,(int)n); /* subnormal output */
+ else SET_FLOAT_WORD(z,j);
+ return s*z;
+}
diff --git a/newlib/libm/math/ef_rem_pio2.c b/newlib/libm/math/ef_rem_pio2.c
new file mode 100644
index 00000000000..e91aa47f370
--- /dev/null
+++ b/newlib/libm/math/ef_rem_pio2.c
@@ -0,0 +1,193 @@
+/* ef_rem_pio2.c -- float version of e_rem_pio2.c
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/* __ieee754_rem_pio2f(x,y)
+ *
+ * return the remainder of x rem pi/2 in y[0]+y[1]
+ * use __kernel_rem_pio2f()
+ */
+
+#include "fdlibm.h"
+
+/*
+ * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi
+ */
+#ifdef __STDC__
+static const __int32_t two_over_pi[] = {
+#else
+static __int32_t two_over_pi[] = {
+#endif
+0xA2, 0xF9, 0x83, 0x6E, 0x4E, 0x44, 0x15, 0x29, 0xFC,
+0x27, 0x57, 0xD1, 0xF5, 0x34, 0xDD, 0xC0, 0xDB, 0x62,
+0x95, 0x99, 0x3C, 0x43, 0x90, 0x41, 0xFE, 0x51, 0x63,
+0xAB, 0xDE, 0xBB, 0xC5, 0x61, 0xB7, 0x24, 0x6E, 0x3A,
+0x42, 0x4D, 0xD2, 0xE0, 0x06, 0x49, 0x2E, 0xEA, 0x09,
+0xD1, 0x92, 0x1C, 0xFE, 0x1D, 0xEB, 0x1C, 0xB1, 0x29,
+0xA7, 0x3E, 0xE8, 0x82, 0x35, 0xF5, 0x2E, 0xBB, 0x44,
+0x84, 0xE9, 0x9C, 0x70, 0x26, 0xB4, 0x5F, 0x7E, 0x41,
+0x39, 0x91, 0xD6, 0x39, 0x83, 0x53, 0x39, 0xF4, 0x9C,
+0x84, 0x5F, 0x8B, 0xBD, 0xF9, 0x28, 0x3B, 0x1F, 0xF8,
+0x97, 0xFF, 0xDE, 0x05, 0x98, 0x0F, 0xEF, 0x2F, 0x11,
+0x8B, 0x5A, 0x0A, 0x6D, 0x1F, 0x6D, 0x36, 0x7E, 0xCF,
+0x27, 0xCB, 0x09, 0xB7, 0x4F, 0x46, 0x3F, 0x66, 0x9E,
+0x5F, 0xEA, 0x2D, 0x75, 0x27, 0xBA, 0xC7, 0xEB, 0xE5,
+0xF1, 0x7B, 0x3D, 0x07, 0x39, 0xF7, 0x8A, 0x52, 0x92,
+0xEA, 0x6B, 0xFB, 0x5F, 0xB1, 0x1F, 0x8D, 0x5D, 0x08,
+0x56, 0x03, 0x30, 0x46, 0xFC, 0x7B, 0x6B, 0xAB, 0xF0,
+0xCF, 0xBC, 0x20, 0x9A, 0xF4, 0x36, 0x1D, 0xA9, 0xE3,
+0x91, 0x61, 0x5E, 0xE6, 0x1B, 0x08, 0x65, 0x99, 0x85,
+0x5F, 0x14, 0xA0, 0x68, 0x40, 0x8D, 0xFF, 0xD8, 0x80,
+0x4D, 0x73, 0x27, 0x31, 0x06, 0x06, 0x15, 0x56, 0xCA,
+0x73, 0xA8, 0xC9, 0x60, 0xE2, 0x7B, 0xC0, 0x8C, 0x6B,
+};
+
+/* This array is like the one in e_rem_pio2.c, but the numbers are
+ single precision and the last 8 bits are forced to 0. */
+#ifdef __STDC__
+static const __int32_t npio2_hw[] = {
+#else
+static __int32_t npio2_hw[] = {
+#endif
+0x3fc90f00, 0x40490f00, 0x4096cb00, 0x40c90f00, 0x40fb5300, 0x4116cb00,
+0x412fed00, 0x41490f00, 0x41623100, 0x417b5300, 0x418a3a00, 0x4196cb00,
+0x41a35c00, 0x41afed00, 0x41bc7e00, 0x41c90f00, 0x41d5a000, 0x41e23100,
+0x41eec200, 0x41fb5300, 0x4203f200, 0x420a3a00, 0x42108300, 0x4216cb00,
+0x421d1400, 0x42235c00, 0x4229a500, 0x422fed00, 0x42363600, 0x423c7e00,
+0x4242c700, 0x42490f00
+};
+
+/*
+ * invpio2: 24 bits of 2/pi
+ * pio2_1: first 17 bit of pi/2
+ * pio2_1t: pi/2 - pio2_1
+ * pio2_2: second 17 bit of pi/2
+ * pio2_2t: pi/2 - (pio2_1+pio2_2)
+ * pio2_3: third 17 bit of pi/2
+ * pio2_3t: pi/2 - (pio2_1+pio2_2+pio2_3)
+ */
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+zero = 0.0000000000e+00, /* 0x00000000 */
+half = 5.0000000000e-01, /* 0x3f000000 */
+two8 = 2.5600000000e+02, /* 0x43800000 */
+invpio2 = 6.3661980629e-01, /* 0x3f22f984 */
+pio2_1 = 1.5707855225e+00, /* 0x3fc90f80 */
+pio2_1t = 1.0804334124e-05, /* 0x37354443 */
+pio2_2 = 1.0804273188e-05, /* 0x37354400 */
+pio2_2t = 6.0770999344e-11, /* 0x2e85a308 */
+pio2_3 = 6.0770943833e-11, /* 0x2e85a300 */
+pio2_3t = 6.1232342629e-17; /* 0x248d3132 */
+
+#ifdef __STDC__
+ __int32_t __ieee754_rem_pio2f(float x, float *y)
+#else
+ __int32_t __ieee754_rem_pio2f(x,y)
+ float x,y[];
+#endif
+{
+ float z,w,t,r,fn;
+ float tx[3];
+ __int32_t i,j,n,ix,hx;
+ int e0,nx;
+
+ GET_FLOAT_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix<=0x3f490fd8) /* |x| ~<= pi/4 , no need for reduction */
+ {y[0] = x; y[1] = 0; return 0;}
+ if(ix<0x4016cbe4) { /* |x| < 3pi/4, special case with n=+-1 */
+ if(hx>0) {
+ z = x - pio2_1;
+ if((ix&0xfffffff0)!=0x3fc90fd0) { /* 24+24 bit pi OK */
+ y[0] = z - pio2_1t;
+ y[1] = (z-y[0])-pio2_1t;
+ } else { /* near pi/2, use 24+24+24 bit pi */
+ z -= pio2_2;
+ y[0] = z - pio2_2t;
+ y[1] = (z-y[0])-pio2_2t;
+ }
+ return 1;
+ } else { /* negative x */
+ z = x + pio2_1;
+ if((ix&0xfffffff0)!=0x3fc90fd0) { /* 24+24 bit pi OK */
+ y[0] = z + pio2_1t;
+ y[1] = (z-y[0])+pio2_1t;
+ } else { /* near pi/2, use 24+24+24 bit pi */
+ z += pio2_2;
+ y[0] = z + pio2_2t;
+ y[1] = (z-y[0])+pio2_2t;
+ }
+ return -1;
+ }
+ }
+ if(ix<=0x43490f80) { /* |x| ~<= 2^7*(pi/2), medium size */
+ t = fabsf(x);
+ n = (__int32_t) (t*invpio2+half);
+ fn = (float)n;
+ r = t-fn*pio2_1;
+ w = fn*pio2_1t; /* 1st round good to 40 bit */
+ if(n<32&&(ix&0xffffff00)!=npio2_hw[n-1]) {
+ y[0] = r-w; /* quick check no cancellation */
+ } else {
+ __uint32_t high;
+ j = ix>>23;
+ y[0] = r-w;
+ GET_FLOAT_WORD(high,y[0]);
+ i = j-((high>>23)&0xff);
+ if(i>8) { /* 2nd iteration needed, good to 57 */
+ t = r;
+ w = fn*pio2_2;
+ r = t-w;
+ w = fn*pio2_2t-((t-r)-w);
+ y[0] = r-w;
+ GET_FLOAT_WORD(high,y[0]);
+ i = j-((high>>23)&0xff);
+ if(i>25) { /* 3rd iteration need, 74 bits acc */
+ t = r; /* will cover all possible cases */
+ w = fn*pio2_3;
+ r = t-w;
+ w = fn*pio2_3t-((t-r)-w);
+ y[0] = r-w;
+ }
+ }
+ }
+ y[1] = (r-y[0])-w;
+ if(hx<0) {y[0] = -y[0]; y[1] = -y[1]; return -n;}
+ else return n;
+ }
+ /*
+ * all other (large) arguments
+ */
+ if(ix>=0x7f800000) { /* x is inf or NaN */
+ y[0]=y[1]=x-x; return 0;
+ }
+ /* set z = scalbn(|x|,ilogb(x)-7) */
+ e0 = (int)((ix>>23)-134); /* e0 = ilogb(z)-7; */
+ SET_FLOAT_WORD(z, ix - ((__int32_t)e0<<23));
+ for(i=0;i<2;i++) {
+ tx[i] = (float)((__int32_t)(z));
+ z = (z-tx[i])*two8;
+ }
+ tx[2] = z;
+ nx = 3;
+ while(tx[nx-1]==zero) nx--; /* skip zero term */
+ n = __kernel_rem_pio2f(tx,y,e0,nx,2,two_over_pi);
+ if(hx<0) {y[0] = -y[0]; y[1] = -y[1]; return -n;}
+ return n;
+}
diff --git a/newlib/libm/math/ef_remainder.c b/newlib/libm/math/ef_remainder.c
new file mode 100644
index 00000000000..8ce7fac9972
--- /dev/null
+++ b/newlib/libm/math/ef_remainder.c
@@ -0,0 +1,68 @@
+/* ef_remainder.c -- float version of e_remainder.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float zero = 0.0;
+#else
+static float zero = 0.0;
+#endif
+
+
+#ifdef __STDC__
+ float __ieee754_remainderf(float x, float p)
+#else
+ float __ieee754_remainderf(x,p)
+ float x,p;
+#endif
+{
+ __int32_t hx,hp;
+ __uint32_t sx;
+ float p_half;
+
+ GET_FLOAT_WORD(hx,x);
+ GET_FLOAT_WORD(hp,p);
+ sx = hx&0x80000000;
+ hp &= 0x7fffffff;
+ hx &= 0x7fffffff;
+
+ /* purge off exception values */
+ if(hp==0) return (x*p)/(x*p); /* p = 0 */
+ if((hx>=0x7f800000)|| /* x not finite */
+ ((hp>0x7f800000))) /* p is NaN */
+ return (x*p)/(x*p);
+
+
+ if (hp<=0x7effffff) x = __ieee754_fmodf(x,p+p); /* now x < 2p */
+ if ((hx-hp)==0) return zero*x;
+ x = fabsf(x);
+ p = fabsf(p);
+ if (hp<0x01000000) {
+ if(x+x>p) {
+ x-=p;
+ if(x+x>=p) x -= p;
+ }
+ } else {
+ p_half = (float)0.5*p;
+ if(x>p_half) {
+ x-=p;
+ if(x>=p_half) x -= p;
+ }
+ }
+ GET_FLOAT_WORD(hx,x);
+ SET_FLOAT_WORD(x,hx^sx);
+ return x;
+}
diff --git a/newlib/libm/math/ef_scalb.c b/newlib/libm/math/ef_scalb.c
new file mode 100644
index 00000000000..3677a3b1fda
--- /dev/null
+++ b/newlib/libm/math/ef_scalb.c
@@ -0,0 +1,53 @@
+/* ef_scalb.c -- float version of e_scalb.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+#include <limits.h>
+
+#ifdef _SCALB_INT
+#ifdef __STDC__
+ float __ieee754_scalbf(float x, int fn)
+#else
+ float __ieee754_scalbf(x,fn)
+ float x; int fn;
+#endif
+#else
+#ifdef __STDC__
+ float __ieee754_scalbf(float x, float fn)
+#else
+ float __ieee754_scalbf(x,fn)
+ float x, fn;
+#endif
+#endif
+{
+#ifdef _SCALB_INT
+ return scalbnf(x,fn);
+#else
+ if (isnanf(x)||isnanf(fn)) return x*fn;
+ if (!finitef(fn)) {
+ if(fn>(float)0.0) return x*fn;
+ else return x/(-fn);
+ }
+ if (rintf(fn)!=fn) return (fn-fn)/(fn-fn);
+#if INT_MAX > 65000
+ if ( fn > (float)65000.0) return scalbnf(x, 65000);
+ if (-fn > (float)65000.0) return scalbnf(x,-65000);
+#else
+ if ( fn > (float)32000.0) return scalbnf(x, 32000);
+ if (-fn > (float)32000.0) return scalbnf(x,-32000);
+#endif
+ return scalbnf(x,(int)fn);
+#endif
+}
diff --git a/newlib/libm/math/ef_sinh.c b/newlib/libm/math/ef_sinh.c
new file mode 100644
index 00000000000..37519834473
--- /dev/null
+++ b/newlib/libm/math/ef_sinh.c
@@ -0,0 +1,63 @@
+/* ef_sinh.c -- float version of e_sinh.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float one = 1.0, shuge = 1.0e37;
+#else
+static float one = 1.0, shuge = 1.0e37;
+#endif
+
+#ifdef __STDC__
+ float __ieee754_sinhf(float x)
+#else
+ float __ieee754_sinhf(x)
+ float x;
+#endif
+{
+ float t,w,h;
+ __int32_t ix,jx;
+
+ GET_FLOAT_WORD(jx,x);
+ ix = jx&0x7fffffff;
+
+ /* x is INF or NaN */
+ if(ix>=0x7f800000) return x+x;
+
+ h = 0.5;
+ if (jx<0) h = -h;
+ /* |x| in [0,22], return sign(x)*0.5*(E+E/(E+1))) */
+ if (ix < 0x41b00000) { /* |x|<22 */
+ if (ix<0x31800000) /* |x|<2**-28 */
+ if(shuge+x>one) return x;/* sinh(tiny) = tiny with inexact */
+ t = expm1f(fabsf(x));
+ if(ix<0x3f800000) return h*((float)2.0*t-t*t/(t+one));
+ return h*(t+t/(t+one));
+ }
+
+ /* |x| in [22, log(maxdouble)] return 0.5*exp(|x|) */
+ if (ix < 0x42b17180) return h*__ieee754_expf(fabsf(x));
+
+ /* |x| in [log(maxdouble), overflowthresold] */
+ if (ix<=0x42b2d4fc) {
+ w = __ieee754_expf((float)0.5*fabsf(x));
+ t = h*w;
+ return t*w;
+ }
+
+ /* |x| > overflowthresold, sinh(x) overflow */
+ return x*shuge;
+}
diff --git a/newlib/libm/math/ef_sqrt.c b/newlib/libm/math/ef_sqrt.c
new file mode 100644
index 00000000000..aabbc51cea8
--- /dev/null
+++ b/newlib/libm/math/ef_sqrt.c
@@ -0,0 +1,92 @@
+/* ef_sqrtf.c -- float version of e_sqrt.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float one = 1.0, tiny=1.0e-30;
+#else
+static float one = 1.0, tiny=1.0e-30;
+#endif
+
+#ifdef __STDC__
+ float __ieee754_sqrtf(float x)
+#else
+ float __ieee754_sqrtf(x)
+ float x;
+#endif
+{
+ float z;
+ __int32_t sign = (__int32_t)0x80000000;
+ __uint32_t r;
+ __int32_t ix,s,q,m,t,i;
+
+ GET_FLOAT_WORD(ix,x);
+
+ /* take care of Inf and NaN */
+ if((ix&0x7f800000L)==0x7f800000L) {
+ return x*x+x; /* sqrt(NaN)=NaN, sqrt(+inf)=+inf
+ sqrt(-inf)=sNaN */
+ }
+ /* take care of zero */
+ if(ix<=0) {
+ if((ix&(~sign))==0) return x;/* sqrt(+-0) = +-0 */
+ else if(ix<0)
+ return (x-x)/(x-x); /* sqrt(-ve) = sNaN */
+ }
+ /* normalize x */
+ m = (ix>>23);
+ if(m==0) { /* subnormal x */
+ for(i=0;(ix&0x00800000L)==0;i++) ix<<=1;
+ m -= i-1;
+ }
+ m -= 127; /* unbias exponent */
+ ix = (ix&0x007fffffL)|0x00800000L;
+ if(m&1) /* odd m, double x to make it even */
+ ix += ix;
+ m >>= 1; /* m = [m/2] */
+
+ /* generate sqrt(x) bit by bit */
+ ix += ix;
+ q = s = 0; /* q = sqrt(x) */
+ r = 0x01000000L; /* r = moving bit from right to left */
+
+ while(r!=0) {
+ t = s+r;
+ if(t<=ix) {
+ s = t+r;
+ ix -= t;
+ q += r;
+ }
+ ix += ix;
+ r>>=1;
+ }
+
+ /* use floating add to find out rounding direction */
+ if(ix!=0) {
+ z = one-tiny; /* trigger inexact flag */
+ if (z>=one) {
+ z = one+tiny;
+ if (z>one)
+ q += 2;
+ else
+ q += (q&1);
+ }
+ }
+ ix = (q>>1)+0x3f000000L;
+ ix += (m <<23);
+ SET_FLOAT_WORD(z,ix);
+ return z;
+}
diff --git a/newlib/libm/math/er_gamma.c b/newlib/libm/math/er_gamma.c
new file mode 100644
index 00000000000..a7183c50f81
--- /dev/null
+++ b/newlib/libm/math/er_gamma.c
@@ -0,0 +1,32 @@
+
+/* @(#)er_gamma.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/* __ieee754_gamma_r(x, signgamp)
+ * Reentrant version of the logarithm of the Gamma function
+ * with user provide pointer for the sign of Gamma(x).
+ *
+ * Method: See __ieee754_lgamma_r
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+ double __ieee754_gamma_r(double x, int *signgamp)
+#else
+ double __ieee754_gamma_r(x,signgamp)
+ double x; int *signgamp;
+#endif
+{
+ return __ieee754_lgamma_r(x,signgamp);
+}
diff --git a/newlib/libm/math/er_lgamma.c b/newlib/libm/math/er_lgamma.c
new file mode 100644
index 00000000000..7c9a153ed1b
--- /dev/null
+++ b/newlib/libm/math/er_lgamma.c
@@ -0,0 +1,309 @@
+
+/* @(#)er_lgamma.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/* __ieee754_lgamma_r(x, signgamp)
+ * Reentrant version of the logarithm of the Gamma function
+ * with user provide pointer for the sign of Gamma(x).
+ *
+ * Method:
+ * 1. Argument Reduction for 0 < x <= 8
+ * Since gamma(1+s)=s*gamma(s), for x in [0,8], we may
+ * reduce x to a number in [1.5,2.5] by
+ * lgamma(1+s) = log(s) + lgamma(s)
+ * for example,
+ * lgamma(7.3) = log(6.3) + lgamma(6.3)
+ * = log(6.3*5.3) + lgamma(5.3)
+ * = log(6.3*5.3*4.3*3.3*2.3) + lgamma(2.3)
+ * 2. Polynomial approximation of lgamma around its
+ * minimun ymin=1.461632144968362245 to maintain monotonicity.
+ * On [ymin-0.23, ymin+0.27] (i.e., [1.23164,1.73163]), use
+ * Let z = x-ymin;
+ * lgamma(x) = -1.214862905358496078218 + z^2*poly(z)
+ * where
+ * poly(z) is a 14 degree polynomial.
+ * 2. Rational approximation in the primary interval [2,3]
+ * We use the following approximation:
+ * s = x-2.0;
+ * lgamma(x) = 0.5*s + s*P(s)/Q(s)
+ * with accuracy
+ * |P/Q - (lgamma(x)-0.5s)| < 2**-61.71
+ * Our algorithms are based on the following observation
+ *
+ * zeta(2)-1 2 zeta(3)-1 3
+ * lgamma(2+s) = s*(1-Euler) + --------- * s - --------- * s + ...
+ * 2 3
+ *
+ * where Euler = 0.5771... is the Euler constant, which is very
+ * close to 0.5.
+ *
+ * 3. For x>=8, we have
+ * lgamma(x)~(x-0.5)log(x)-x+0.5*log(2pi)+1/(12x)-1/(360x**3)+....
+ * (better formula:
+ * lgamma(x)~(x-0.5)*(log(x)-1)-.5*(log(2pi)-1) + ...)
+ * Let z = 1/x, then we approximation
+ * f(z) = lgamma(x) - (x-0.5)(log(x)-1)
+ * by
+ * 3 5 11
+ * w = w0 + w1*z + w2*z + w3*z + ... + w6*z
+ * where
+ * |w - f(z)| < 2**-58.74
+ *
+ * 4. For negative x, since (G is gamma function)
+ * -x*G(-x)*G(x) = pi/sin(pi*x),
+ * we have
+ * G(x) = pi/(sin(pi*x)*(-x)*G(-x))
+ * since G(-x) is positive, sign(G(x)) = sign(sin(pi*x)) for x<0
+ * Hence, for x<0, signgam = sign(sin(pi*x)) and
+ * lgamma(x) = log(|Gamma(x)|)
+ * = log(pi/(|x*sin(pi*x)|)) - lgamma(-x);
+ * Note: one should avoid compute pi*(-x) directly in the
+ * computation of sin(pi*(-x)).
+ *
+ * 5. Special Cases
+ * lgamma(2+s) ~ s*(1-Euler) for tiny s
+ * lgamma(1)=lgamma(2)=0
+ * lgamma(x) ~ -log(x) for tiny x
+ * lgamma(0) = lgamma(inf) = inf
+ * lgamma(-integer) = +-inf
+ *
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+two52= 4.50359962737049600000e+15, /* 0x43300000, 0x00000000 */
+half= 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */
+one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
+pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */
+a0 = 7.72156649015328655494e-02, /* 0x3FB3C467, 0xE37DB0C8 */
+a1 = 3.22467033424113591611e-01, /* 0x3FD4A34C, 0xC4A60FAD */
+a2 = 6.73523010531292681824e-02, /* 0x3FB13E00, 0x1A5562A7 */
+a3 = 2.05808084325167332806e-02, /* 0x3F951322, 0xAC92547B */
+a4 = 7.38555086081402883957e-03, /* 0x3F7E404F, 0xB68FEFE8 */
+a5 = 2.89051383673415629091e-03, /* 0x3F67ADD8, 0xCCB7926B */
+a6 = 1.19270763183362067845e-03, /* 0x3F538A94, 0x116F3F5D */
+a7 = 5.10069792153511336608e-04, /* 0x3F40B6C6, 0x89B99C00 */
+a8 = 2.20862790713908385557e-04, /* 0x3F2CF2EC, 0xED10E54D */
+a9 = 1.08011567247583939954e-04, /* 0x3F1C5088, 0x987DFB07 */
+a10 = 2.52144565451257326939e-05, /* 0x3EFA7074, 0x428CFA52 */
+a11 = 4.48640949618915160150e-05, /* 0x3F07858E, 0x90A45837 */
+tc = 1.46163214496836224576e+00, /* 0x3FF762D8, 0x6356BE3F */
+tf = -1.21486290535849611461e-01, /* 0xBFBF19B9, 0xBCC38A42 */
+/* tt = -(tail of tf) */
+tt = -3.63867699703950536541e-18, /* 0xBC50C7CA, 0xA48A971F */
+t0 = 4.83836122723810047042e-01, /* 0x3FDEF72B, 0xC8EE38A2 */
+t1 = -1.47587722994593911752e-01, /* 0xBFC2E427, 0x8DC6C509 */
+t2 = 6.46249402391333854778e-02, /* 0x3FB08B42, 0x94D5419B */
+t3 = -3.27885410759859649565e-02, /* 0xBFA0C9A8, 0xDF35B713 */
+t4 = 1.79706750811820387126e-02, /* 0x3F9266E7, 0x970AF9EC */
+t5 = -1.03142241298341437450e-02, /* 0xBF851F9F, 0xBA91EC6A */
+t6 = 6.10053870246291332635e-03, /* 0x3F78FCE0, 0xE370E344 */
+t7 = -3.68452016781138256760e-03, /* 0xBF6E2EFF, 0xB3E914D7 */
+t8 = 2.25964780900612472250e-03, /* 0x3F6282D3, 0x2E15C915 */
+t9 = -1.40346469989232843813e-03, /* 0xBF56FE8E, 0xBF2D1AF1 */
+t10 = 8.81081882437654011382e-04, /* 0x3F4CDF0C, 0xEF61A8E9 */
+t11 = -5.38595305356740546715e-04, /* 0xBF41A610, 0x9C73E0EC */
+t12 = 3.15632070903625950361e-04, /* 0x3F34AF6D, 0x6C0EBBF7 */
+t13 = -3.12754168375120860518e-04, /* 0xBF347F24, 0xECC38C38 */
+t14 = 3.35529192635519073543e-04, /* 0x3F35FD3E, 0xE8C2D3F4 */
+u0 = -7.72156649015328655494e-02, /* 0xBFB3C467, 0xE37DB0C8 */
+u1 = 6.32827064025093366517e-01, /* 0x3FE4401E, 0x8B005DFF */
+u2 = 1.45492250137234768737e+00, /* 0x3FF7475C, 0xD119BD6F */
+u3 = 9.77717527963372745603e-01, /* 0x3FEF4976, 0x44EA8450 */
+u4 = 2.28963728064692451092e-01, /* 0x3FCD4EAE, 0xF6010924 */
+u5 = 1.33810918536787660377e-02, /* 0x3F8B678B, 0xBF2BAB09 */
+v1 = 2.45597793713041134822e+00, /* 0x4003A5D7, 0xC2BD619C */
+v2 = 2.12848976379893395361e+00, /* 0x40010725, 0xA42B18F5 */
+v3 = 7.69285150456672783825e-01, /* 0x3FE89DFB, 0xE45050AF */
+v4 = 1.04222645593369134254e-01, /* 0x3FBAAE55, 0xD6537C88 */
+v5 = 3.21709242282423911810e-03, /* 0x3F6A5ABB, 0x57D0CF61 */
+s0 = -7.72156649015328655494e-02, /* 0xBFB3C467, 0xE37DB0C8 */
+s1 = 2.14982415960608852501e-01, /* 0x3FCB848B, 0x36E20878 */
+s2 = 3.25778796408930981787e-01, /* 0x3FD4D98F, 0x4F139F59 */
+s3 = 1.46350472652464452805e-01, /* 0x3FC2BB9C, 0xBEE5F2F7 */
+s4 = 2.66422703033638609560e-02, /* 0x3F9B481C, 0x7E939961 */
+s5 = 1.84028451407337715652e-03, /* 0x3F5E26B6, 0x7368F239 */
+s6 = 3.19475326584100867617e-05, /* 0x3F00BFEC, 0xDD17E945 */
+r1 = 1.39200533467621045958e+00, /* 0x3FF645A7, 0x62C4AB74 */
+r2 = 7.21935547567138069525e-01, /* 0x3FE71A18, 0x93D3DCDC */
+r3 = 1.71933865632803078993e-01, /* 0x3FC601ED, 0xCCFBDF27 */
+r4 = 1.86459191715652901344e-02, /* 0x3F9317EA, 0x742ED475 */
+r5 = 7.77942496381893596434e-04, /* 0x3F497DDA, 0xCA41A95B */
+r6 = 7.32668430744625636189e-06, /* 0x3EDEBAF7, 0xA5B38140 */
+w0 = 4.18938533204672725052e-01, /* 0x3FDACFE3, 0x90C97D69 */
+w1 = 8.33333333333329678849e-02, /* 0x3FB55555, 0x5555553B */
+w2 = -2.77777777728775536470e-03, /* 0xBF66C16C, 0x16B02E5C */
+w3 = 7.93650558643019558500e-04, /* 0x3F4A019F, 0x98CF38B6 */
+w4 = -5.95187557450339963135e-04, /* 0xBF4380CB, 0x8C0FE741 */
+w5 = 8.36339918996282139126e-04, /* 0x3F4B67BA, 0x4CDAD5D1 */
+w6 = -1.63092934096575273989e-03; /* 0xBF5AB89D, 0x0B9E43E4 */
+
+#ifdef __STDC__
+static const double zero= 0.00000000000000000000e+00;
+#else
+static double zero= 0.00000000000000000000e+00;
+#endif
+
+#ifdef __STDC__
+ static double sin_pi(double x)
+#else
+ static double sin_pi(x)
+ double x;
+#endif
+{
+ double y,z;
+ __int32_t n,ix;
+
+ GET_HIGH_WORD(ix,x);
+ ix &= 0x7fffffff;
+
+ if(ix<0x3fd00000) return __kernel_sin(pi*x,zero,0);
+ y = -x; /* x is assume negative */
+
+ /*
+ * argument reduction, make sure inexact flag not raised if input
+ * is an integer
+ */
+ z = floor(y);
+ if(z!=y) { /* inexact anyway */
+ y *= 0.5;
+ y = 2.0*(y - floor(y)); /* y = |x| mod 2.0 */
+ n = (__int32_t) (y*4.0);
+ } else {
+ if(ix>=0x43400000) {
+ y = zero; n = 0; /* y must be even */
+ } else {
+ if(ix<0x43300000) z = y+two52; /* exact */
+ GET_LOW_WORD(n,z);
+ n &= 1;
+ y = n;
+ n<<= 2;
+ }
+ }
+ switch (n) {
+ case 0: y = __kernel_sin(pi*y,zero,0); break;
+ case 1:
+ case 2: y = __kernel_cos(pi*(0.5-y),zero); break;
+ case 3:
+ case 4: y = __kernel_sin(pi*(one-y),zero,0); break;
+ case 5:
+ case 6: y = -__kernel_cos(pi*(y-1.5),zero); break;
+ default: y = __kernel_sin(pi*(y-2.0),zero,0); break;
+ }
+ return -y;
+}
+
+
+#ifdef __STDC__
+ double __ieee754_lgamma_r(double x, int *signgamp)
+#else
+ double __ieee754_lgamma_r(x,signgamp)
+ double x; int *signgamp;
+#endif
+{
+ double t,y,z,nadj,p,p1,p2,p3,q,r,w;
+ __int32_t i,hx,lx,ix;
+
+ EXTRACT_WORDS(hx,lx,x);
+
+ /* purge off +-inf, NaN, +-0, and negative arguments */
+ *signgamp = 1;
+ ix = hx&0x7fffffff;
+ if(ix>=0x7ff00000) return x*x;
+ if((ix|lx)==0) return one/zero;
+ if(ix<0x3b900000) { /* |x|<2**-70, return -log(|x|) */
+ if(hx<0) {
+ *signgamp = -1;
+ return -__ieee754_log(-x);
+ } else return -__ieee754_log(x);
+ }
+ if(hx<0) {
+ if(ix>=0x43300000) /* |x|>=2**52, must be -integer */
+ return one/zero;
+ t = sin_pi(x);
+ if(t==zero) return one/zero; /* -integer */
+ nadj = __ieee754_log(pi/fabs(t*x));
+ if(t<zero) *signgamp = -1;
+ x = -x;
+ }
+
+ /* purge off 1 and 2 */
+ if((((ix-0x3ff00000)|lx)==0)||(((ix-0x40000000)|lx)==0)) r = 0;
+ /* for x < 2.0 */
+ else if(ix<0x40000000) {
+ if(ix<=0x3feccccc) { /* lgamma(x) = lgamma(x+1)-log(x) */
+ r = -__ieee754_log(x);
+ if(ix>=0x3FE76944) {y = one-x; i= 0;}
+ else if(ix>=0x3FCDA661) {y= x-(tc-one); i=1;}
+ else {y = x; i=2;}
+ } else {
+ r = zero;
+ if(ix>=0x3FFBB4C3) {y=2.0-x;i=0;} /* [1.7316,2] */
+ else if(ix>=0x3FF3B4C4) {y=x-tc;i=1;} /* [1.23,1.73] */
+ else {y=x-one;i=2;}
+ }
+ switch(i) {
+ case 0:
+ z = y*y;
+ p1 = a0+z*(a2+z*(a4+z*(a6+z*(a8+z*a10))));
+ p2 = z*(a1+z*(a3+z*(a5+z*(a7+z*(a9+z*a11)))));
+ p = y*p1+p2;
+ r += (p-0.5*y); break;
+ case 1:
+ z = y*y;
+ w = z*y;
+ p1 = t0+w*(t3+w*(t6+w*(t9 +w*t12))); /* parallel comp */
+ p2 = t1+w*(t4+w*(t7+w*(t10+w*t13)));
+ p3 = t2+w*(t5+w*(t8+w*(t11+w*t14)));
+ p = z*p1-(tt-w*(p2+y*p3));
+ r += (tf + p); break;
+ case 2:
+ p1 = y*(u0+y*(u1+y*(u2+y*(u3+y*(u4+y*u5)))));
+ p2 = one+y*(v1+y*(v2+y*(v3+y*(v4+y*v5))));
+ r += (-0.5*y + p1/p2);
+ }
+ }
+ else if(ix<0x40200000) { /* x < 8.0 */
+ i = (__int32_t)x;
+ t = zero;
+ y = x-(double)i;
+ p = y*(s0+y*(s1+y*(s2+y*(s3+y*(s4+y*(s5+y*s6))))));
+ q = one+y*(r1+y*(r2+y*(r3+y*(r4+y*(r5+y*r6)))));
+ r = half*y+p/q;
+ z = one; /* lgamma(1+s) = log(s) + lgamma(s) */
+ switch(i) {
+ case 7: z *= (y+6.0); /* FALLTHRU */
+ case 6: z *= (y+5.0); /* FALLTHRU */
+ case 5: z *= (y+4.0); /* FALLTHRU */
+ case 4: z *= (y+3.0); /* FALLTHRU */
+ case 3: z *= (y+2.0); /* FALLTHRU */
+ r += __ieee754_log(z); break;
+ }
+ /* 8.0 <= x < 2**58 */
+ } else if (ix < 0x43900000) {
+ t = __ieee754_log(x);
+ z = one/x;
+ y = z*z;
+ w = w0+z*(w1+y*(w2+y*(w3+y*(w4+y*(w5+y*w6)))));
+ r = (x-half)*(t-one)+w;
+ } else
+ /* 2**58 <= x <= inf */
+ r = x*(__ieee754_log(x)-one);
+ if(hx<0) r = nadj - r;
+ return r;
+}
diff --git a/newlib/libm/math/erf_gamma.c b/newlib/libm/math/erf_gamma.c
new file mode 100644
index 00000000000..c619dfb2c6b
--- /dev/null
+++ b/newlib/libm/math/erf_gamma.c
@@ -0,0 +1,34 @@
+/* erf_gamma.c -- float version of er_gamma.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/* __ieee754_gammaf_r(x, signgamp)
+ * Reentrant version of the logarithm of the Gamma function
+ * with user provide pointer for the sign of Gamma(x).
+ *
+ * Method: See __ieee754_lgammaf_r
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+ float __ieee754_gammaf_r(float x, int *signgamp)
+#else
+ float __ieee754_gammaf_r(x,signgamp)
+ float x; int *signgamp;
+#endif
+{
+ return __ieee754_lgammaf_r(x,signgamp);
+}
diff --git a/newlib/libm/math/erf_lgamma.c b/newlib/libm/math/erf_lgamma.c
new file mode 100644
index 00000000000..90cc5425de9
--- /dev/null
+++ b/newlib/libm/math/erf_lgamma.c
@@ -0,0 +1,244 @@
+/* erf_lgamma.c -- float version of er_lgamma.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+two23= 8.3886080000e+06, /* 0x4b000000 */
+half= 5.0000000000e-01, /* 0x3f000000 */
+one = 1.0000000000e+00, /* 0x3f800000 */
+pi = 3.1415927410e+00, /* 0x40490fdb */
+a0 = 7.7215664089e-02, /* 0x3d9e233f */
+a1 = 3.2246702909e-01, /* 0x3ea51a66 */
+a2 = 6.7352302372e-02, /* 0x3d89f001 */
+a3 = 2.0580807701e-02, /* 0x3ca89915 */
+a4 = 7.3855509982e-03, /* 0x3bf2027e */
+a5 = 2.8905137442e-03, /* 0x3b3d6ec6 */
+a6 = 1.1927076848e-03, /* 0x3a9c54a1 */
+a7 = 5.1006977446e-04, /* 0x3a05b634 */
+a8 = 2.2086278477e-04, /* 0x39679767 */
+a9 = 1.0801156895e-04, /* 0x38e28445 */
+a10 = 2.5214456400e-05, /* 0x37d383a2 */
+a11 = 4.4864096708e-05, /* 0x383c2c75 */
+tc = 1.4616321325e+00, /* 0x3fbb16c3 */
+tf = -1.2148628384e-01, /* 0xbdf8cdcd */
+/* tt = -(tail of tf) */
+tt = 6.6971006518e-09, /* 0x31e61c52 */
+t0 = 4.8383611441e-01, /* 0x3ef7b95e */
+t1 = -1.4758771658e-01, /* 0xbe17213c */
+t2 = 6.4624942839e-02, /* 0x3d845a15 */
+t3 = -3.2788541168e-02, /* 0xbd064d47 */
+t4 = 1.7970675603e-02, /* 0x3c93373d */
+t5 = -1.0314224288e-02, /* 0xbc28fcfe */
+t6 = 6.1005386524e-03, /* 0x3bc7e707 */
+t7 = -3.6845202558e-03, /* 0xbb7177fe */
+t8 = 2.2596477065e-03, /* 0x3b141699 */
+t9 = -1.4034647029e-03, /* 0xbab7f476 */
+t10 = 8.8108185446e-04, /* 0x3a66f867 */
+t11 = -5.3859531181e-04, /* 0xba0d3085 */
+t12 = 3.1563205994e-04, /* 0x39a57b6b */
+t13 = -3.1275415677e-04, /* 0xb9a3f927 */
+t14 = 3.3552918467e-04, /* 0x39afe9f7 */
+u0 = -7.7215664089e-02, /* 0xbd9e233f */
+u1 = 6.3282704353e-01, /* 0x3f2200f4 */
+u2 = 1.4549225569e+00, /* 0x3fba3ae7 */
+u3 = 9.7771751881e-01, /* 0x3f7a4bb2 */
+u4 = 2.2896373272e-01, /* 0x3e6a7578 */
+u5 = 1.3381091878e-02, /* 0x3c5b3c5e */
+v1 = 2.4559779167e+00, /* 0x401d2ebe */
+v2 = 2.1284897327e+00, /* 0x4008392d */
+v3 = 7.6928514242e-01, /* 0x3f44efdf */
+v4 = 1.0422264785e-01, /* 0x3dd572af */
+v5 = 3.2170924824e-03, /* 0x3b52d5db */
+s0 = -7.7215664089e-02, /* 0xbd9e233f */
+s1 = 2.1498242021e-01, /* 0x3e5c245a */
+s2 = 3.2577878237e-01, /* 0x3ea6cc7a */
+s3 = 1.4635047317e-01, /* 0x3e15dce6 */
+s4 = 2.6642270386e-02, /* 0x3cda40e4 */
+s5 = 1.8402845599e-03, /* 0x3af135b4 */
+s6 = 3.1947532989e-05, /* 0x3805ff67 */
+r1 = 1.3920053244e+00, /* 0x3fb22d3b */
+r2 = 7.2193557024e-01, /* 0x3f38d0c5 */
+r3 = 1.7193385959e-01, /* 0x3e300f6e */
+r4 = 1.8645919859e-02, /* 0x3c98bf54 */
+r5 = 7.7794247773e-04, /* 0x3a4beed6 */
+r6 = 7.3266842264e-06, /* 0x36f5d7bd */
+w0 = 4.1893854737e-01, /* 0x3ed67f1d */
+w1 = 8.3333335817e-02, /* 0x3daaaaab */
+w2 = -2.7777778450e-03, /* 0xbb360b61 */
+w3 = 7.9365057172e-04, /* 0x3a500cfd */
+w4 = -5.9518753551e-04, /* 0xba1c065c */
+w5 = 8.3633989561e-04, /* 0x3a5b3dd2 */
+w6 = -1.6309292987e-03; /* 0xbad5c4e8 */
+
+#ifdef __STDC__
+static const float zero= 0.0000000000e+00;
+#else
+static float zero= 0.0000000000e+00;
+#endif
+
+#ifdef __STDC__
+ static float sin_pif(float x)
+#else
+ static float sin_pif(x)
+ float x;
+#endif
+{
+ float y,z;
+ __int32_t n,ix;
+
+ GET_FLOAT_WORD(ix,x);
+ ix &= 0x7fffffff;
+
+ if(ix<0x3e800000) return __kernel_sinf(pi*x,zero,0);
+ y = -x; /* x is assume negative */
+
+ /*
+ * argument reduction, make sure inexact flag not raised if input
+ * is an integer
+ */
+ z = floorf(y);
+ if(z!=y) { /* inexact anyway */
+ y *= (float)0.5;
+ y = (float)2.0*(y - floorf(y)); /* y = |x| mod 2.0 */
+ n = (__int32_t) (y*(float)4.0);
+ } else {
+ if(ix>=0x4b800000) {
+ y = zero; n = 0; /* y must be even */
+ } else {
+ if(ix<0x4b000000) z = y+two23; /* exact */
+ GET_FLOAT_WORD(n,z);
+ n &= 1;
+ y = n;
+ n<<= 2;
+ }
+ }
+ switch (n) {
+ case 0: y = __kernel_sinf(pi*y,zero,0); break;
+ case 1:
+ case 2: y = __kernel_cosf(pi*((float)0.5-y),zero); break;
+ case 3:
+ case 4: y = __kernel_sinf(pi*(one-y),zero,0); break;
+ case 5:
+ case 6: y = -__kernel_cosf(pi*(y-(float)1.5),zero); break;
+ default: y = __kernel_sinf(pi*(y-(float)2.0),zero,0); break;
+ }
+ return -y;
+}
+
+
+#ifdef __STDC__
+ float __ieee754_lgammaf_r(float x, int *signgamp)
+#else
+ float __ieee754_lgammaf_r(x,signgamp)
+ float x; int *signgamp;
+#endif
+{
+ float t,y,z,nadj,p,p1,p2,p3,q,r,w;
+ __int32_t i,hx,ix;
+
+ GET_FLOAT_WORD(hx,x);
+
+ /* purge off +-inf, NaN, +-0, and negative arguments */
+ *signgamp = 1;
+ ix = hx&0x7fffffff;
+ if(ix>=0x7f800000) return x*x;
+ if(ix==0) return one/zero;
+ if(ix<0x1c800000) { /* |x|<2**-70, return -log(|x|) */
+ if(hx<0) {
+ *signgamp = -1;
+ return -__ieee754_logf(-x);
+ } else return -__ieee754_logf(x);
+ }
+ if(hx<0) {
+ if(ix>=0x4b000000) /* |x|>=2**23, must be -integer */
+ return one/zero;
+ t = sin_pif(x);
+ if(t==zero) return one/zero; /* -integer */
+ nadj = __ieee754_logf(pi/fabsf(t*x));
+ if(t<zero) *signgamp = -1;
+ x = -x;
+ }
+
+ /* purge off 1 and 2 */
+ if (ix==0x3f800000||ix==0x40000000) r = 0;
+ /* for x < 2.0 */
+ else if(ix<0x40000000) {
+ if(ix<=0x3f666666) { /* lgamma(x) = lgamma(x+1)-log(x) */
+ r = -__ieee754_logf(x);
+ if(ix>=0x3f3b4a20) {y = one-x; i= 0;}
+ else if(ix>=0x3e6d3308) {y= x-(tc-one); i=1;}
+ else {y = x; i=2;}
+ } else {
+ r = zero;
+ if(ix>=0x3fdda618) {y=(float)2.0-x;i=0;} /* [1.7316,2] */
+ else if(ix>=0x3F9da620) {y=x-tc;i=1;} /* [1.23,1.73] */
+ else {y=x-one;i=2;}
+ }
+ switch(i) {
+ case 0:
+ z = y*y;
+ p1 = a0+z*(a2+z*(a4+z*(a6+z*(a8+z*a10))));
+ p2 = z*(a1+z*(a3+z*(a5+z*(a7+z*(a9+z*a11)))));
+ p = y*p1+p2;
+ r += (p-(float)0.5*y); break;
+ case 1:
+ z = y*y;
+ w = z*y;
+ p1 = t0+w*(t3+w*(t6+w*(t9 +w*t12))); /* parallel comp */
+ p2 = t1+w*(t4+w*(t7+w*(t10+w*t13)));
+ p3 = t2+w*(t5+w*(t8+w*(t11+w*t14)));
+ p = z*p1-(tt-w*(p2+y*p3));
+ r += (tf + p); break;
+ case 2:
+ p1 = y*(u0+y*(u1+y*(u2+y*(u3+y*(u4+y*u5)))));
+ p2 = one+y*(v1+y*(v2+y*(v3+y*(v4+y*v5))));
+ r += (-(float)0.5*y + p1/p2);
+ }
+ }
+ else if(ix<0x41000000) { /* x < 8.0 */
+ i = (__int32_t)x;
+ t = zero;
+ y = x-(float)i;
+ p = y*(s0+y*(s1+y*(s2+y*(s3+y*(s4+y*(s5+y*s6))))));
+ q = one+y*(r1+y*(r2+y*(r3+y*(r4+y*(r5+y*r6)))));
+ r = half*y+p/q;
+ z = one; /* lgamma(1+s) = log(s) + lgamma(s) */
+ switch(i) {
+ case 7: z *= (y+(float)6.0); /* FALLTHRU */
+ case 6: z *= (y+(float)5.0); /* FALLTHRU */
+ case 5: z *= (y+(float)4.0); /* FALLTHRU */
+ case 4: z *= (y+(float)3.0); /* FALLTHRU */
+ case 3: z *= (y+(float)2.0); /* FALLTHRU */
+ r += __ieee754_logf(z); break;
+ }
+ /* 8.0 <= x < 2**58 */
+ } else if (ix < 0x5c800000) {
+ t = __ieee754_logf(x);
+ z = one/x;
+ y = z*z;
+ w = w0+z*(w1+y*(w2+y*(w3+y*(w4+y*(w5+y*w6)))));
+ r = (x-half)*(t-one)+w;
+ } else
+ /* 2**58 <= x <= inf */
+ r = x*(__ieee754_logf(x)-one);
+ if(hx<0) r = nadj - r;
+ return r;
+}
diff --git a/newlib/libm/math/k_cos.c b/newlib/libm/math/k_cos.c
new file mode 100644
index 00000000000..6c60c243856
--- /dev/null
+++ b/newlib/libm/math/k_cos.c
@@ -0,0 +1,96 @@
+
+/* @(#)k_cos.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * __kernel_cos( x, y )
+ * kernel cos function on [-pi/4, pi/4], pi/4 ~ 0.785398164
+ * Input x is assumed to be bounded by ~pi/4 in magnitude.
+ * Input y is the tail of x.
+ *
+ * Algorithm
+ * 1. Since cos(-x) = cos(x), we need only to consider positive x.
+ * 2. if x < 2^-27 (hx<0x3e400000 0), return 1 with inexact if x!=0.
+ * 3. cos(x) is approximated by a polynomial of degree 14 on
+ * [0,pi/4]
+ * 4 14
+ * cos(x) ~ 1 - x*x/2 + C1*x + ... + C6*x
+ * where the remez error is
+ *
+ * | 2 4 6 8 10 12 14 | -58
+ * |cos(x)-(1-.5*x +C1*x +C2*x +C3*x +C4*x +C5*x +C6*x )| <= 2
+ * | |
+ *
+ * 4 6 8 10 12 14
+ * 4. let r = C1*x +C2*x +C3*x +C4*x +C5*x +C6*x , then
+ * cos(x) = 1 - x*x/2 + r
+ * since cos(x+y) ~ cos(x) - sin(x)*y
+ * ~ cos(x) - x*y,
+ * a correction term is necessary in cos(x) and hence
+ * cos(x+y) = 1 - (x*x/2 - (r - x*y))
+ * For better accuracy when x > 0.3, let qx = |x|/4 with
+ * the last 32 bits mask off, and if x > 0.78125, let qx = 0.28125.
+ * Then
+ * cos(x+y) = (1-qx) - ((x*x/2-qx) - (r-x*y)).
+ * Note that 1-qx and (x*x/2-qx) is EXACT here, and the
+ * magnitude of the latter is at least a quarter of x*x/2,
+ * thus, reducing the rounding error in the subtraction.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
+C1 = 4.16666666666666019037e-02, /* 0x3FA55555, 0x5555554C */
+C2 = -1.38888888888741095749e-03, /* 0xBF56C16C, 0x16C15177 */
+C3 = 2.48015872894767294178e-05, /* 0x3EFA01A0, 0x19CB1590 */
+C4 = -2.75573143513906633035e-07, /* 0xBE927E4F, 0x809C52AD */
+C5 = 2.08757232129817482790e-09, /* 0x3E21EE9E, 0xBDB4B1C4 */
+C6 = -1.13596475577881948265e-11; /* 0xBDA8FAE9, 0xBE8838D4 */
+
+#ifdef __STDC__
+ double __kernel_cos(double x, double y)
+#else
+ double __kernel_cos(x, y)
+ double x,y;
+#endif
+{
+ double a,hz,z,r,qx;
+ __int32_t ix;
+ GET_HIGH_WORD(ix,x);
+ ix &= 0x7fffffff; /* ix = |x|'s high word*/
+ if(ix<0x3e400000) { /* if x < 2**27 */
+ if(((int)x)==0) return one; /* generate inexact */
+ }
+ z = x*x;
+ r = z*(C1+z*(C2+z*(C3+z*(C4+z*(C5+z*C6)))));
+ if(ix < 0x3FD33333) /* if |x| < 0.3 */
+ return one - (0.5*z - (z*r - x*y));
+ else {
+ if(ix > 0x3fe90000) { /* x > 0.78125 */
+ qx = 0.28125;
+ } else {
+ INSERT_WORDS(qx,ix-0x00200000,0); /* x/4 */
+ }
+ hz = 0.5*z-qx;
+ a = one-qx;
+ return a - (hz - (z*r-x*y));
+ }
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/k_rem_pio2.c b/newlib/libm/math/k_rem_pio2.c
new file mode 100644
index 00000000000..8569256686c
--- /dev/null
+++ b/newlib/libm/math/k_rem_pio2.c
@@ -0,0 +1,320 @@
+
+/* @(#)k_rem_pio2.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * __kernel_rem_pio2(x,y,e0,nx,prec,ipio2)
+ * double x[],y[]; int e0,nx,prec; int ipio2[];
+ *
+ * __kernel_rem_pio2 return the last three digits of N with
+ * y = x - N*pi/2
+ * so that |y| < pi/2.
+ *
+ * The method is to compute the integer (mod 8) and fraction parts of
+ * (2/pi)*x without doing the full multiplication. In general we
+ * skip the part of the product that are known to be a huge integer (
+ * more accurately, = 0 mod 8 ). Thus the number of operations are
+ * independent of the exponent of the input.
+ *
+ * (2/pi) is represented by an array of 24-bit integers in ipio2[].
+ *
+ * Input parameters:
+ * x[] The input value (must be positive) is broken into nx
+ * pieces of 24-bit integers in double precision format.
+ * x[i] will be the i-th 24 bit of x. The scaled exponent
+ * of x[0] is given in input parameter e0 (i.e., x[0]*2^e0
+ * match x's up to 24 bits.
+ *
+ * Example of breaking a double positive z into x[0]+x[1]+x[2]:
+ * e0 = ilogb(z)-23
+ * z = scalbn(z,-e0)
+ * for i = 0,1,2
+ * x[i] = floor(z)
+ * z = (z-x[i])*2**24
+ *
+ *
+ * y[] ouput result in an array of double precision numbers.
+ * The dimension of y[] is:
+ * 24-bit precision 1
+ * 53-bit precision 2
+ * 64-bit precision 2
+ * 113-bit precision 3
+ * The actual value is the sum of them. Thus for 113-bit
+ * precison, one may have to do something like:
+ *
+ * long double t,w,r_head, r_tail;
+ * t = (long double)y[2] + (long double)y[1];
+ * w = (long double)y[0];
+ * r_head = t+w;
+ * r_tail = w - (r_head - t);
+ *
+ * e0 The exponent of x[0]
+ *
+ * nx dimension of x[]
+ *
+ * prec an integer indicating the precision:
+ * 0 24 bits (single)
+ * 1 53 bits (double)
+ * 2 64 bits (extended)
+ * 3 113 bits (quad)
+ *
+ * ipio2[]
+ * integer array, contains the (24*i)-th to (24*i+23)-th
+ * bit of 2/pi after binary point. The corresponding
+ * floating value is
+ *
+ * ipio2[i] * 2^(-24(i+1)).
+ *
+ * External function:
+ * double scalbn(), floor();
+ *
+ *
+ * Here is the description of some local variables:
+ *
+ * jk jk+1 is the initial number of terms of ipio2[] needed
+ * in the computation. The recommended value is 2,3,4,
+ * 6 for single, double, extended,and quad.
+ *
+ * jz local integer variable indicating the number of
+ * terms of ipio2[] used.
+ *
+ * jx nx - 1
+ *
+ * jv index for pointing to the suitable ipio2[] for the
+ * computation. In general, we want
+ * ( 2^e0*x[0] * ipio2[jv-1]*2^(-24jv) )/8
+ * is an integer. Thus
+ * e0-3-24*jv >= 0 or (e0-3)/24 >= jv
+ * Hence jv = max(0,(e0-3)/24).
+ *
+ * jp jp+1 is the number of terms in PIo2[] needed, jp = jk.
+ *
+ * q[] double array with integral value, representing the
+ * 24-bits chunk of the product of x and 2/pi.
+ *
+ * q0 the corresponding exponent of q[0]. Note that the
+ * exponent for q[i] would be q0-24*i.
+ *
+ * PIo2[] double precision array, obtained by cutting pi/2
+ * into 24 bits chunks.
+ *
+ * f[] ipio2[] in floating point
+ *
+ * iq[] integer array by breaking up q[] in 24-bits chunk.
+ *
+ * fq[] final product of x*(2/pi) in fq[0],..,fq[jk]
+ *
+ * ih integer. If >0 it indicates q[] is >= 0.5, hence
+ * it also indicates the *sign* of the result.
+ *
+ */
+
+
+/*
+ * Constants:
+ * The hexadecimal values are the intended ones for the following
+ * constants. The decimal values may be used, provided that the
+ * compiler will convert from decimal to binary accurately enough
+ * to produce the hexadecimal values shown.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const int init_jk[] = {2,3,4,6}; /* initial value for jk */
+#else
+static int init_jk[] = {2,3,4,6};
+#endif
+
+#ifdef __STDC__
+static const double PIo2[] = {
+#else
+static double PIo2[] = {
+#endif
+ 1.57079625129699707031e+00, /* 0x3FF921FB, 0x40000000 */
+ 7.54978941586159635335e-08, /* 0x3E74442D, 0x00000000 */
+ 5.39030252995776476554e-15, /* 0x3CF84698, 0x80000000 */
+ 3.28200341580791294123e-22, /* 0x3B78CC51, 0x60000000 */
+ 1.27065575308067607349e-29, /* 0x39F01B83, 0x80000000 */
+ 1.22933308981111328932e-36, /* 0x387A2520, 0x40000000 */
+ 2.73370053816464559624e-44, /* 0x36E38222, 0x80000000 */
+ 2.16741683877804819444e-51, /* 0x3569F31D, 0x00000000 */
+};
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+zero = 0.0,
+one = 1.0,
+two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */
+twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */
+
+#ifdef __STDC__
+ int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, const __int32_t *ipio2)
+#else
+ int __kernel_rem_pio2(x,y,e0,nx,prec,ipio2)
+ double x[], y[]; int e0,nx,prec; __int32_t ipio2[];
+#endif
+{
+ __int32_t jz,jx,jv,jp,jk,carry,n,iq[20],i,j,k,m,q0,ih;
+ double z,fw,f[20],fq[20],q[20];
+
+ /* initialize jk*/
+ jk = init_jk[prec];
+ jp = jk;
+
+ /* determine jx,jv,q0, note that 3>q0 */
+ jx = nx-1;
+ jv = (e0-3)/24; if(jv<0) jv=0;
+ q0 = e0-24*(jv+1);
+
+ /* set up f[0] to f[jx+jk] where f[jx+jk] = ipio2[jv+jk] */
+ j = jv-jx; m = jx+jk;
+ for(i=0;i<=m;i++,j++) f[i] = (j<0)? zero : (double) ipio2[j];
+
+ /* compute q[0],q[1],...q[jk] */
+ for (i=0;i<=jk;i++) {
+ for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j]; q[i] = fw;
+ }
+
+ jz = jk;
+recompute:
+ /* distill q[] into iq[] reversingly */
+ for(i=0,j=jz,z=q[jz];j>0;i++,j--) {
+ fw = (double)((__int32_t)(twon24* z));
+ iq[i] = (__int32_t)(z-two24*fw);
+ z = q[j-1]+fw;
+ }
+
+ /* compute n */
+ z = scalbn(z,(int)q0); /* actual value of z */
+ z -= 8.0*floor(z*0.125); /* trim off integer >= 8 */
+ n = (__int32_t) z;
+ z -= (double)n;
+ ih = 0;
+ if(q0>0) { /* need iq[jz-1] to determine n */
+ i = (iq[jz-1]>>(24-q0)); n += i;
+ iq[jz-1] -= i<<(24-q0);
+ ih = iq[jz-1]>>(23-q0);
+ }
+ else if(q0==0) ih = iq[jz-1]>>23;
+ else if(z>=0.5) ih=2;
+
+ if(ih>0) { /* q > 0.5 */
+ n += 1; carry = 0;
+ for(i=0;i<jz ;i++) { /* compute 1-q */
+ j = iq[i];
+ if(carry==0) {
+ if(j!=0) {
+ carry = 1; iq[i] = 0x1000000- j;
+ }
+ } else iq[i] = 0xffffff - j;
+ }
+ if(q0>0) { /* rare case: chance is 1 in 12 */
+ switch(q0) {
+ case 1:
+ iq[jz-1] &= 0x7fffff; break;
+ case 2:
+ iq[jz-1] &= 0x3fffff; break;
+ }
+ }
+ if(ih==2) {
+ z = one - z;
+ if(carry!=0) z -= scalbn(one,(int)q0);
+ }
+ }
+
+ /* check if recomputation is needed */
+ if(z==zero) {
+ j = 0;
+ for (i=jz-1;i>=jk;i--) j |= iq[i];
+ if(j==0) { /* need recomputation */
+ for(k=1;iq[jk-k]==0;k++); /* k = no. of terms needed */
+
+ for(i=jz+1;i<=jz+k;i++) { /* add q[jz+1] to q[jz+k] */
+ f[jx+i] = (double) ipio2[jv+i];
+ for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j];
+ q[i] = fw;
+ }
+ jz += k;
+ goto recompute;
+ }
+ }
+
+ /* chop off zero terms */
+ if(z==0.0) {
+ jz -= 1; q0 -= 24;
+ while(iq[jz]==0) { jz--; q0-=24;}
+ } else { /* break z into 24-bit if necessary */
+ z = scalbn(z,-(int)q0);
+ if(z>=two24) {
+ fw = (double)((__int32_t)(twon24*z));
+ iq[jz] = (__int32_t)(z-two24*fw);
+ jz += 1; q0 += 24;
+ iq[jz] = (__int32_t) fw;
+ } else iq[jz] = (__int32_t) z ;
+ }
+
+ /* convert integer "bit" chunk to floating-point value */
+ fw = scalbn(one,(int)q0);
+ for(i=jz;i>=0;i--) {
+ q[i] = fw*(double)iq[i]; fw*=twon24;
+ }
+
+ /* compute PIo2[0,...,jp]*q[jz,...,0] */
+ for(i=jz;i>=0;i--) {
+ for(fw=0.0,k=0;k<=jp&&k<=jz-i;k++) fw += PIo2[k]*q[i+k];
+ fq[jz-i] = fw;
+ }
+
+ /* compress fq[] into y[] */
+ switch(prec) {
+ case 0:
+ fw = 0.0;
+ for (i=jz;i>=0;i--) fw += fq[i];
+ y[0] = (ih==0)? fw: -fw;
+ break;
+ case 1:
+ case 2:
+ fw = 0.0;
+ for (i=jz;i>=0;i--) fw += fq[i];
+ y[0] = (ih==0)? fw: -fw;
+ fw = fq[0]-fw;
+ for (i=1;i<=jz;i++) fw += fq[i];
+ y[1] = (ih==0)? fw: -fw;
+ break;
+ case 3: /* painful */
+ for (i=jz;i>0;i--) {
+ fw = fq[i-1]+fq[i];
+ fq[i] += fq[i-1]-fw;
+ fq[i-1] = fw;
+ }
+ for (i=jz;i>1;i--) {
+ fw = fq[i-1]+fq[i];
+ fq[i] += fq[i-1]-fw;
+ fq[i-1] = fw;
+ }
+ for (fw=0.0,i=jz;i>=2;i--) fw += fq[i];
+ if(ih==0) {
+ y[0] = fq[0]; y[1] = fq[1]; y[2] = fw;
+ } else {
+ y[0] = -fq[0]; y[1] = -fq[1]; y[2] = -fw;
+ }
+ }
+ return n&7;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/k_sin.c b/newlib/libm/math/k_sin.c
new file mode 100644
index 00000000000..f119916dfbc
--- /dev/null
+++ b/newlib/libm/math/k_sin.c
@@ -0,0 +1,79 @@
+
+/* @(#)k_sin.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __kernel_sin( x, y, iy)
+ * kernel sin function on [-pi/4, pi/4], pi/4 ~ 0.7854
+ * Input x is assumed to be bounded by ~pi/4 in magnitude.
+ * Input y is the tail of x.
+ * Input iy indicates whether y is 0. (if iy=0, y assume to be 0).
+ *
+ * Algorithm
+ * 1. Since sin(-x) = -sin(x), we need only to consider positive x.
+ * 2. if x < 2^-27 (hx<0x3e400000 0), return x with inexact if x!=0.
+ * 3. sin(x) is approximated by a polynomial of degree 13 on
+ * [0,pi/4]
+ * 3 13
+ * sin(x) ~ x + S1*x + ... + S6*x
+ * where
+ *
+ * |sin(x) 2 4 6 8 10 12 | -58
+ * |----- - (1+S1*x +S2*x +S3*x +S4*x +S5*x +S6*x )| <= 2
+ * | x |
+ *
+ * 4. sin(x+y) = sin(x) + sin'(x')*y
+ * ~ sin(x) + (1-x*x/2)*y
+ * For better accuracy, let
+ * 3 2 2 2 2
+ * r = x *(S2+x *(S3+x *(S4+x *(S5+x *S6))))
+ * then 3 2
+ * sin(x) = x + (S1*x + (x *(r-y/2)+y))
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */
+S1 = -1.66666666666666324348e-01, /* 0xBFC55555, 0x55555549 */
+S2 = 8.33333333332248946124e-03, /* 0x3F811111, 0x1110F8A6 */
+S3 = -1.98412698298579493134e-04, /* 0xBF2A01A0, 0x19C161D5 */
+S4 = 2.75573137070700676789e-06, /* 0x3EC71DE3, 0x57B1FE7D */
+S5 = -2.50507602534068634195e-08, /* 0xBE5AE5E6, 0x8A2B9CEB */
+S6 = 1.58969099521155010221e-10; /* 0x3DE5D93A, 0x5ACFD57C */
+
+#ifdef __STDC__
+ double __kernel_sin(double x, double y, int iy)
+#else
+ double __kernel_sin(x, y, iy)
+ double x,y; int iy; /* iy=0 if y is zero */
+#endif
+{
+ double z,r,v;
+ __int32_t ix;
+ GET_HIGH_WORD(ix,x);
+ ix &= 0x7fffffff; /* high word of x */
+ if(ix<0x3e400000) /* |x| < 2**-27 */
+ {if((int)x==0) return x;} /* generate inexact */
+ z = x*x;
+ v = z*x;
+ r = S2+z*(S3+z*(S4+z*(S5+z*S6)));
+ if(iy==0) return x+v*(S1+z*r);
+ else return x-((z*(half*y-v*r)-y)-v*S1);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/k_standard.c b/newlib/libm/math/k_standard.c
new file mode 100644
index 00000000000..0d72f1a530d
--- /dev/null
+++ b/newlib/libm/math/k_standard.c
@@ -0,0 +1,784 @@
+
+/* @(#)k_standard.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _USE_WRITE
+#include <stdio.h> /* fputs(), stderr */
+#define WRITE2(u,v) fputs(u, stderr)
+#else /* !defined(_USE_WRITE) */
+#include <unistd.h> /* write */
+#define WRITE2(u,v) write(2, u, v)
+#undef fflush
+#endif /* !defined(_USE_WRITE) */
+
+#ifdef __STDC__
+static const double zero = 0.0; /* used as const */
+#else
+static double zero = 0.0; /* used as const */
+#endif
+
+/*
+ * Standard conformance (non-IEEE) on exception cases.
+ * Mapping:
+ * 1 -- acos(|x|>1)
+ * 2 -- asin(|x|>1)
+ * 3 -- atan2(+-0,+-0)
+ * 4 -- hypot overflow
+ * 5 -- cosh overflow
+ * 6 -- exp overflow
+ * 7 -- exp underflow
+ * 8 -- y0(0)
+ * 9 -- y0(-ve)
+ * 10-- y1(0)
+ * 11-- y1(-ve)
+ * 12-- yn(0)
+ * 13-- yn(-ve)
+ * 14-- lgamma(finite) overflow
+ * 15-- lgamma(-integer)
+ * 16-- log(0)
+ * 17-- log(x<0)
+ * 18-- log10(0)
+ * 19-- log10(x<0)
+ * 20-- pow(0.0,0.0)
+ * 21-- pow(x,y) overflow
+ * 22-- pow(x,y) underflow
+ * 23-- pow(0,negative)
+ * 24-- pow(neg,non-integral)
+ * 25-- sinh(finite) overflow
+ * 26-- sqrt(negative)
+ * 27-- fmod(x,0)
+ * 28-- remainder(x,0)
+ * 29-- acosh(x<1)
+ * 30-- atanh(|x|>1)
+ * 31-- atanh(|x|=1)
+ * 32-- scalb overflow
+ * 33-- scalb underflow
+ * 34-- j0(|x|>X_TLOSS)
+ * 35-- y0(x>X_TLOSS)
+ * 36-- j1(|x|>X_TLOSS)
+ * 37-- y1(x>X_TLOSS)
+ * 38-- jn(|x|>X_TLOSS, n)
+ * 39-- yn(x>X_TLOSS, n)
+ * 40-- gamma(finite) overflow
+ * 41-- gamma(-integer)
+ * 42-- pow(NaN,0.0)
+ */
+
+
+#ifdef __STDC__
+ double __kernel_standard(double x, double y, int type)
+#else
+ double __kernel_standard(x,y,type)
+ double x,y; int type;
+#endif
+{
+ struct exception exc;
+#ifndef HUGE_VAL /* this is the only routine that uses HUGE_VAL */
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+
+#ifdef _USE_WRITE
+ /* (void) fflush(_stdout_r(p)); */
+#endif
+ exc.arg1 = x;
+ exc.arg2 = y;
+ exc.err = 0;
+ switch(type) {
+ case 1:
+ case 101:
+ /* acos(|x|>1) */
+ exc.type = DOMAIN;
+ exc.name = type < 100 ? "acos" : "acosf";
+ exc.retval = zero;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ /* if(_LIB_VERSION == _SVID_) {
+ (void) WRITE2("acos: DOMAIN error\n", 19);
+ } */
+ errno = EDOM;
+ }
+ break;
+ case 2:
+ case 102:
+ /* asin(|x|>1) */
+ exc.type = DOMAIN;
+ exc.name = type < 100 ? "asin" : "asinf";
+ exc.retval = zero;
+ if(_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ /* if(_LIB_VERSION == _SVID_) {
+ (void) WRITE2("asin: DOMAIN error\n", 19);
+ } */
+ errno = EDOM;
+ }
+ break;
+ case 3:
+ case 103:
+ /* atan2(+-0,+-0) */
+ exc.arg1 = y;
+ exc.arg2 = x;
+ exc.type = DOMAIN;
+ exc.name = type < 100 ? "atan2" : "atan2f";
+ exc.retval = zero;
+ if(_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ /* if(_LIB_VERSION == _SVID_) {
+ (void) WRITE2("atan2: DOMAIN error\n", 20);
+ } */
+ errno = EDOM;
+ }
+ break;
+ case 4:
+ case 104:
+ /* hypot(finite,finite) overflow */
+ exc.type = OVERFLOW;
+ exc.name = type < 100 ? "hypot" : "hypotf";
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = HUGE;
+ else
+ exc.retval = HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ break;
+ case 5:
+ case 105:
+ /* cosh(finite) overflow */
+ exc.type = OVERFLOW;
+ exc.name = type < 100 ? "cosh" : "coshf";
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = HUGE;
+ else
+ exc.retval = HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ break;
+ case 6:
+ case 106:
+ /* exp(finite) overflow */
+ exc.type = OVERFLOW;
+ exc.name = type < 100 ? "exp" : "expf";
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = HUGE;
+ else
+ exc.retval = HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ break;
+ case 7:
+ case 107:
+ /* exp(finite) underflow */
+ exc.type = UNDERFLOW;
+ exc.name = type < 100 ? "exp" : "expf";
+ exc.retval = zero;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ break;
+ case 8:
+ case 108:
+ /* y0(0) = -inf */
+ exc.type = DOMAIN; /* should be SING for IEEE */
+ exc.name = type < 100 ? "y0" : "y0f";
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = -HUGE;
+ else
+ exc.retval = -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2("y0: DOMAIN error\n", 17);
+ } */
+ errno = EDOM;
+ }
+ break;
+ case 9:
+ case 109:
+ /* y0(x<0) = NaN */
+ exc.type = DOMAIN;
+ exc.name = type < 100 ? "y0" : "y0f";
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = -HUGE;
+ else
+ exc.retval = -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ /*if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2("y0: DOMAIN error\n", 17);
+ } */
+ errno = EDOM;
+ }
+ break;
+ case 10:
+ case 110:
+ /* y1(0) = -inf */
+ exc.type = DOMAIN; /* should be SING for IEEE */
+ exc.name = type < 100 ? "y1" : "y1f";
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = -HUGE;
+ else
+ exc.retval = -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2("y1: DOMAIN error\n", 17);
+ } */
+ errno = EDOM;
+ }
+ break;
+ case 11:
+ case 111:
+ /* y1(x<0) = NaN */
+ exc.type = DOMAIN;
+ exc.name = type < 100 ? "y1" : "y1f";
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = -HUGE;
+ else
+ exc.retval = -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2("y1: DOMAIN error\n", 17);
+ } */
+ errno = EDOM;
+ }
+ break;
+ case 12:
+ case 112:
+ /* yn(n,0) = -inf */
+ exc.type = DOMAIN; /* should be SING for IEEE */
+ exc.name = type < 100 ? "yn" : "ynf";
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = -HUGE;
+ else
+ exc.retval = -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2("yn: DOMAIN error\n", 17);
+ } */
+ errno = EDOM;
+ }
+ break;
+ case 13:
+ case 113:
+ /* yn(x<0) = NaN */
+ exc.type = DOMAIN;
+ exc.name = type < 100 ? "yn" : "ynf";
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = -HUGE;
+ else
+ exc.retval = -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2("yn: DOMAIN error\n", 17);
+ } */
+ errno = EDOM;
+ }
+ break;
+ case 14:
+ case 114:
+ /* lgamma(finite) overflow */
+ exc.type = OVERFLOW;
+ exc.name = type < 100 ? "lgamma" : "lgammaf";
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = HUGE;
+ else
+ exc.retval = HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ break;
+ case 15:
+ case 115:
+ /* lgamma(-integer) or lgamma(0) */
+ exc.type = SING;
+ exc.name = type < 100 ? "lgamma" : "lgammaf";
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = HUGE;
+ else
+ exc.retval = HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2("lgamma: SING error\n", 19);
+ } */
+ errno = EDOM;
+ }
+ break;
+ case 16:
+ case 116:
+ /* log(0) */
+ exc.type = SING;
+ exc.name = type < 100 ? "log" : "logf";
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = -HUGE;
+ else
+ exc.retval = -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2("log: SING error\n", 16);
+ } */
+ errno = EDOM;
+ }
+ break;
+ case 17:
+ case 117:
+ /* log(x<0) */
+ exc.type = DOMAIN;
+ exc.name = type < 100 ? "log" : "logf";
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = -HUGE;
+ else
+ exc.retval = -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2("log: DOMAIN error\n", 18);
+ } */
+ errno = EDOM;
+ }
+ break;
+ case 18:
+ case 118:
+ /* log10(0) */
+ exc.type = SING;
+ exc.name = type < 100 ? "log10" : "log10f";
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = -HUGE;
+ else
+ exc.retval = -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2("log10: SING error\n", 18);
+ } */
+ errno = EDOM;
+ }
+ break;
+ case 19:
+ case 119:
+ /* log10(x<0) */
+ exc.type = DOMAIN;
+ exc.name = type < 100 ? "log10" : "log10f";
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = -HUGE;
+ else
+ exc.retval = -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2("log10: DOMAIN error\n", 20);
+ } */
+ errno = EDOM;
+ }
+ break;
+ case 20:
+ case 120:
+ /* pow(0.0,0.0) */
+ /* error only if _LIB_VERSION == _SVID_ */
+ exc.type = DOMAIN;
+ exc.name = type < 100 ? "pow" : "powf";
+ exc.retval = zero;
+ if (_LIB_VERSION != _SVID_) exc.retval = 1.0;
+ else if (!matherr(&exc)) {
+ /* (void) WRITE2("pow(0,0): DOMAIN error\n", 23); */
+ errno = EDOM;
+ }
+ break;
+ case 21:
+ case 121:
+ /* pow(x,y) overflow */
+ exc.type = OVERFLOW;
+ exc.name = type < 100 ? "pow" : "powf";
+ if (_LIB_VERSION == _SVID_) {
+ exc.retval = HUGE;
+ y *= 0.5;
+ if(x<zero&&rint(y)!=y) exc.retval = -HUGE;
+ } else {
+ exc.retval = HUGE_VAL;
+ y *= 0.5;
+ if(x<zero&&rint(y)!=y) exc.retval = -HUGE_VAL;
+ }
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ break;
+ case 22:
+ case 122:
+ /* pow(x,y) underflow */
+ exc.type = UNDERFLOW;
+ exc.name = type < 100 ? "pow" : "powf";
+ exc.retval = zero;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ break;
+ case 23:
+ case 123:
+ /* 0**neg */
+ exc.type = DOMAIN;
+ exc.name = type < 100 ? "pow" : "powf";
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = zero;
+ else
+ exc.retval = -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2("pow(0,neg): DOMAIN error\n", 25);
+ } */
+ errno = EDOM;
+ }
+ break;
+ case 24:
+ case 124:
+ /* neg**non-integral */
+ exc.type = DOMAIN;
+ exc.name = type < 100 ? "pow" : "powf";
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = zero;
+ else
+ exc.retval = zero/zero; /* X/Open allow NaN */
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2("neg**non-integral: DOMAIN error\n", 32);
+ } */
+ errno = EDOM;
+ }
+ break;
+ case 25:
+ case 125:
+ /* sinh(finite) overflow */
+ exc.type = OVERFLOW;
+ exc.name = type < 100 ? "sinh" : "sinhf";
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = ( (x>zero) ? HUGE : -HUGE);
+ else
+ exc.retval = ( (x>zero) ? HUGE_VAL : -HUGE_VAL);
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ break;
+ case 26:
+ case 126:
+ /* sqrt(x<0) */
+ exc.type = DOMAIN;
+ exc.name = type < 100 ? "sqrt" : "sqrtf";
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = zero;
+ else
+ exc.retval = zero/zero;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2("sqrt: DOMAIN error\n", 19);
+ } */
+ errno = EDOM;
+ }
+ break;
+ case 27:
+ case 127:
+ /* fmod(x,0) */
+ exc.type = DOMAIN;
+ exc.name = type < 100 ? "fmod" : "fmodf";
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = x;
+ else
+ exc.retval = zero/zero;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2("fmod: DOMAIN error\n", 20);
+ } */
+ errno = EDOM;
+ }
+ break;
+ case 28:
+ case 128:
+ /* remainder(x,0) */
+ exc.type = DOMAIN;
+ exc.name = type < 100 ? "remainder" : "remainderf";
+ exc.retval = zero/zero;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2("remainder: DOMAIN error\n", 24);
+ } */
+ errno = EDOM;
+ }
+ break;
+ case 29:
+ case 129:
+ /* acosh(x<1) */
+ exc.type = DOMAIN;
+ exc.name = type < 100 ? "acosh" : "acoshf";
+ exc.retval = zero/zero;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2("acosh: DOMAIN error\n", 20);
+ } */
+ errno = EDOM;
+ }
+ break;
+ case 30:
+ case 130:
+ /* atanh(|x|>1) */
+ exc.type = DOMAIN;
+ exc.name = type < 100 ? "atanh" : "atanhf";
+ exc.retval = zero/zero;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2("atanh: DOMAIN error\n", 20);
+ } */
+ errno = EDOM;
+ }
+ break;
+ case 31:
+ case 131:
+ /* atanh(|x|=1) */
+ exc.type = SING;
+ exc.name = type < 100 ? "atanh" : "atanhf";
+ exc.retval = x/zero; /* sign(x)*inf */
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2("atanh: SING error\n", 18);
+ } */
+ errno = EDOM;
+ }
+ break;
+ case 32:
+ case 132:
+ /* scalb overflow; SVID also returns +-HUGE_VAL */
+ exc.type = OVERFLOW;
+ exc.name = type < 100 ? "scalb" : "scalbf";
+ exc.retval = x > zero ? HUGE_VAL : -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ break;
+ case 33:
+ case 133:
+ /* scalb underflow */
+ exc.type = UNDERFLOW;
+ exc.name = type < 100 ? "scalb" : "scalbf";
+ exc.retval = copysign(zero,x);
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ break;
+ case 34:
+ case 134:
+ /* j0(|x|>X_TLOSS) */
+ exc.type = TLOSS;
+ exc.name = type < 100 ? "j0" : "j0f";
+ exc.retval = zero;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2(exc.name, 2);
+ (void) WRITE2(": TLOSS error\n", 14);
+ } */
+ errno = ERANGE;
+ }
+ break;
+ case 35:
+ case 135:
+ /* y0(x>X_TLOSS) */
+ exc.type = TLOSS;
+ exc.name = type < 100 ? "y0" : "y0f";
+ exc.retval = zero;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2(exc.name, 2);
+ (void) WRITE2(": TLOSS error\n", 14);
+ } */
+ errno = ERANGE;
+ }
+ break;
+ case 36:
+ case 136:
+ /* j1(|x|>X_TLOSS) */
+ exc.type = TLOSS;
+ exc.name = type < 100 ? "j1" : "j1f";
+ exc.retval = zero;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2(exc.name, 2);
+ (void) WRITE2(": TLOSS error\n", 14);
+ } */
+ errno = ERANGE;
+ }
+ break;
+ case 37:
+ case 137:
+ /* y1(x>X_TLOSS) */
+ exc.type = TLOSS;
+ exc.name = type < 100 ? "y1" : "y1f";
+ exc.retval = zero;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2(exc.name, 2);
+ (void) WRITE2(": TLOSS error\n", 14);
+ } */
+ errno = ERANGE;
+ }
+ break;
+ case 38:
+ case 138:
+ /* jn(|x|>X_TLOSS) */
+ exc.type = TLOSS;
+ exc.name = type < 100 ? "jn" : "jnf";
+ exc.retval = zero;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2(exc.name, 2);
+ (void) WRITE2(": TLOSS error\n", 14);
+ } */
+ errno = ERANGE;
+ }
+ break;
+ case 39:
+ case 139:
+ /* yn(x>X_TLOSS) */
+ exc.type = TLOSS;
+ exc.name = type < 100 ? "yn" : "ynf";
+ exc.retval = zero;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2(exc.name, 2);
+ (void) WRITE2(": TLOSS error\n", 14);
+ } */
+ errno = ERANGE;
+ }
+ break;
+ case 40:
+ case 140:
+ /* gamma(finite) overflow */
+ exc.type = OVERFLOW;
+ exc.name = type < 100 ? "gamma" : "gammaf";
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = HUGE;
+ else
+ exc.retval = HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ break;
+ case 41:
+ case 141:
+ /* gamma(-integer) or gamma(0) */
+ exc.type = SING;
+ exc.name = type < 100 ? "gamma" : "gammaf";
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = HUGE;
+ else
+ exc.retval = HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ /* if (_LIB_VERSION == _SVID_) {
+ (void) WRITE2("gamma: SING error\n", 18);
+ } */
+ errno = EDOM;
+ }
+ break;
+ case 42:
+ case 142:
+ /* pow(NaN,0.0) */
+ /* error only if _LIB_VERSION == _SVID_ & _XOPEN_ */
+ exc.type = DOMAIN;
+ exc.name = type < 100 ? "pow" : "powf";
+ exc.retval = x;
+ if (_LIB_VERSION == _IEEE_ ||
+ _LIB_VERSION == _POSIX_) exc.retval = 1.0;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ break;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+}
+
+
diff --git a/newlib/libm/math/k_tan.c b/newlib/libm/math/k_tan.c
new file mode 100644
index 00000000000..9f5b307600c
--- /dev/null
+++ b/newlib/libm/math/k_tan.c
@@ -0,0 +1,132 @@
+
+/* @(#)k_tan.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __kernel_tan( x, y, k )
+ * kernel tan function on [-pi/4, pi/4], pi/4 ~ 0.7854
+ * Input x is assumed to be bounded by ~pi/4 in magnitude.
+ * Input y is the tail of x.
+ * Input k indicates whether tan (if k=1) or
+ * -1/tan (if k= -1) is returned.
+ *
+ * Algorithm
+ * 1. Since tan(-x) = -tan(x), we need only to consider positive x.
+ * 2. if x < 2^-28 (hx<0x3e300000 0), return x with inexact if x!=0.
+ * 3. tan(x) is approximated by a odd polynomial of degree 27 on
+ * [0,0.67434]
+ * 3 27
+ * tan(x) ~ x + T1*x + ... + T13*x
+ * where
+ *
+ * |tan(x) 2 4 26 | -59.2
+ * |----- - (1+T1*x +T2*x +.... +T13*x )| <= 2
+ * | x |
+ *
+ * Note: tan(x+y) = tan(x) + tan'(x)*y
+ * ~ tan(x) + (1+x*x)*y
+ * Therefore, for better accuracy in computing tan(x+y), let
+ * 3 2 2 2 2
+ * r = x *(T2+x *(T3+x *(...+x *(T12+x *T13))))
+ * then
+ * 3 2
+ * tan(x+y) = x + (T1*x + (x *(r+y)+y))
+ *
+ * 4. For x in [0.67434,pi/4], let y = pi/4 - x, then
+ * tan(x) = tan(pi/4-y) = (1-tan(y))/(1+tan(y))
+ * = 1 - 2*(tan(y) - (tan(y)^2)/(1+tan(y)))
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
+pio4 = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */
+pio4lo= 3.06161699786838301793e-17, /* 0x3C81A626, 0x33145C07 */
+T[] = {
+ 3.33333333333334091986e-01, /* 0x3FD55555, 0x55555563 */
+ 1.33333333333201242699e-01, /* 0x3FC11111, 0x1110FE7A */
+ 5.39682539762260521377e-02, /* 0x3FABA1BA, 0x1BB341FE */
+ 2.18694882948595424599e-02, /* 0x3F9664F4, 0x8406D637 */
+ 8.86323982359930005737e-03, /* 0x3F8226E3, 0xE96E8493 */
+ 3.59207910759131235356e-03, /* 0x3F6D6D22, 0xC9560328 */
+ 1.45620945432529025516e-03, /* 0x3F57DBC8, 0xFEE08315 */
+ 5.88041240820264096874e-04, /* 0x3F4344D8, 0xF2F26501 */
+ 2.46463134818469906812e-04, /* 0x3F3026F7, 0x1A8D1068 */
+ 7.81794442939557092300e-05, /* 0x3F147E88, 0xA03792A6 */
+ 7.14072491382608190305e-05, /* 0x3F12B80F, 0x32F0A7E9 */
+ -1.85586374855275456654e-05, /* 0xBEF375CB, 0xDB605373 */
+ 2.59073051863633712884e-05, /* 0x3EFB2A70, 0x74BF7AD4 */
+};
+
+#ifdef __STDC__
+ double __kernel_tan(double x, double y, int iy)
+#else
+ double __kernel_tan(x, y, iy)
+ double x,y; int iy;
+#endif
+{
+ double z,r,v,w,s;
+ __int32_t ix,hx;
+ GET_HIGH_WORD(hx,x);
+ ix = hx&0x7fffffff; /* high word of |x| */
+ if(ix<0x3e300000) /* x < 2**-28 */
+ {if((int)x==0) { /* generate inexact */
+ __uint32_t low;
+ GET_LOW_WORD(low,x);
+ if(((ix|low)|(iy+1))==0) return one/fabs(x);
+ else return (iy==1)? x: -one/x;
+ }
+ }
+ if(ix>=0x3FE59428) { /* |x|>=0.6744 */
+ if(hx<0) {x = -x; y = -y;}
+ z = pio4-x;
+ w = pio4lo-y;
+ x = z+w; y = 0.0;
+ }
+ z = x*x;
+ w = z*z;
+ /* Break x^5*(T[1]+x^2*T[2]+...) into
+ * x^5(T[1]+x^4*T[3]+...+x^20*T[11]) +
+ * x^5(x^2*(T[2]+x^4*T[4]+...+x^22*[T12]))
+ */
+ r = T[1]+w*(T[3]+w*(T[5]+w*(T[7]+w*(T[9]+w*T[11]))));
+ v = z*(T[2]+w*(T[4]+w*(T[6]+w*(T[8]+w*(T[10]+w*T[12])))));
+ s = z*x;
+ r = y + z*(s*(r+v)+y);
+ r += T[0]*s;
+ w = x+r;
+ if(ix>=0x3FE59428) {
+ v = (double)iy;
+ return (double)(1-((hx>>30)&2))*(v-2.0*(x-(w*w/(w+v)-r)));
+ }
+ if(iy==1) return w;
+ else { /* if allow error up to 2 ulp,
+ simply return -1.0/(x+r) here */
+ /* compute -1.0/(x+r) accurately */
+ double a,t;
+ z = w;
+ SET_LOW_WORD(z,0);
+ v = r-(z - x); /* z+v = r+x */
+ t = a = -1.0/w; /* a = -1.0/w */
+ SET_LOW_WORD(t,0);
+ s = 1.0+t*z;
+ return t+a*(s+t*v);
+ }
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/kf_cos.c b/newlib/libm/math/kf_cos.c
new file mode 100644
index 00000000000..4f71af237bf
--- /dev/null
+++ b/newlib/libm/math/kf_cos.c
@@ -0,0 +1,59 @@
+/* kf_cos.c -- float version of k_cos.c
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+one = 1.0000000000e+00, /* 0x3f800000 */
+C1 = 4.1666667908e-02, /* 0x3d2aaaab */
+C2 = -1.3888889225e-03, /* 0xbab60b61 */
+C3 = 2.4801587642e-05, /* 0x37d00d01 */
+C4 = -2.7557314297e-07, /* 0xb493f27c */
+C5 = 2.0875723372e-09, /* 0x310f74f6 */
+C6 = -1.1359647598e-11; /* 0xad47d74e */
+
+#ifdef __STDC__
+ float __kernel_cosf(float x, float y)
+#else
+ float __kernel_cosf(x, y)
+ float x,y;
+#endif
+{
+ float a,hz,z,r,qx;
+ __int32_t ix;
+ GET_FLOAT_WORD(ix,x);
+ ix &= 0x7fffffff; /* ix = |x|'s high word*/
+ if(ix<0x32000000) { /* if x < 2**27 */
+ if(((int)x)==0) return one; /* generate inexact */
+ }
+ z = x*x;
+ r = z*(C1+z*(C2+z*(C3+z*(C4+z*(C5+z*C6)))));
+ if(ix < 0x3e99999a) /* if |x| < 0.3 */
+ return one - ((float)0.5*z - (z*r - x*y));
+ else {
+ if(ix > 0x3f480000) { /* x > 0.78125 */
+ qx = (float)0.28125;
+ } else {
+ SET_FLOAT_WORD(qx,ix-0x01000000); /* x/4 */
+ }
+ hz = (float)0.5*z-qx;
+ a = one-qx;
+ return a - (hz - (z*r-x*y));
+ }
+}
diff --git a/newlib/libm/math/kf_rem_pio2.c b/newlib/libm/math/kf_rem_pio2.c
new file mode 100644
index 00000000000..261c4812965
--- /dev/null
+++ b/newlib/libm/math/kf_rem_pio2.c
@@ -0,0 +1,208 @@
+/* kf_rem_pio2.c -- float version of k_rem_pio2.c
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+/* In the float version, the input parameter x contains 8 bit
+ integers, not 24 bit integers. 113 bit precision is not supported. */
+
+#ifdef __STDC__
+static const int init_jk[] = {4,7,9}; /* initial value for jk */
+#else
+static int init_jk[] = {4,7,9};
+#endif
+
+#ifdef __STDC__
+static const float PIo2[] = {
+#else
+static float PIo2[] = {
+#endif
+ 1.5703125000e+00, /* 0x3fc90000 */
+ 4.5776367188e-04, /* 0x39f00000 */
+ 2.5987625122e-05, /* 0x37da0000 */
+ 7.5437128544e-08, /* 0x33a20000 */
+ 6.0026650317e-11, /* 0x2e840000 */
+ 7.3896444519e-13, /* 0x2b500000 */
+ 5.3845816694e-15, /* 0x27c20000 */
+ 5.6378512969e-18, /* 0x22d00000 */
+ 8.3009228831e-20, /* 0x1fc40000 */
+ 3.2756352257e-22, /* 0x1bc60000 */
+ 6.3331015649e-25, /* 0x17440000 */
+};
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+zero = 0.0,
+one = 1.0,
+two8 = 2.5600000000e+02, /* 0x43800000 */
+twon8 = 3.9062500000e-03; /* 0x3b800000 */
+
+#ifdef __STDC__
+ int __kernel_rem_pio2f(float *x, float *y, int e0, int nx, int prec, const __int32_t *ipio2)
+#else
+ int __kernel_rem_pio2f(x,y,e0,nx,prec,ipio2)
+ float x[], y[]; int e0,nx,prec; __int32_t ipio2[];
+#endif
+{
+ __int32_t jz,jx,jv,jp,jk,carry,n,iq[20],i,j,k,m,q0,ih;
+ float z,fw,f[20],fq[20],q[20];
+
+ /* initialize jk*/
+ jk = init_jk[prec];
+ jp = jk;
+
+ /* determine jx,jv,q0, note that 3>q0 */
+ jx = nx-1;
+ jv = (e0-3)/8; if(jv<0) jv=0;
+ q0 = e0-8*(jv+1);
+
+ /* set up f[0] to f[jx+jk] where f[jx+jk] = ipio2[jv+jk] */
+ j = jv-jx; m = jx+jk;
+ for(i=0;i<=m;i++,j++) f[i] = (j<0)? zero : (float) ipio2[j];
+
+ /* compute q[0],q[1],...q[jk] */
+ for (i=0;i<=jk;i++) {
+ for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j]; q[i] = fw;
+ }
+
+ jz = jk;
+recompute:
+ /* distill q[] into iq[] reversingly */
+ for(i=0,j=jz,z=q[jz];j>0;i++,j--) {
+ fw = (float)((__int32_t)(twon8* z));
+ iq[i] = (__int32_t)(z-two8*fw);
+ z = q[j-1]+fw;
+ }
+
+ /* compute n */
+ z = scalbnf(z,(int)q0); /* actual value of z */
+ z -= (float)8.0*floorf(z*(float)0.125); /* trim off integer >= 8 */
+ n = (__int32_t) z;
+ z -= (float)n;
+ ih = 0;
+ if(q0>0) { /* need iq[jz-1] to determine n */
+ i = (iq[jz-1]>>(8-q0)); n += i;
+ iq[jz-1] -= i<<(8-q0);
+ ih = iq[jz-1]>>(7-q0);
+ }
+ else if(q0==0) ih = iq[jz-1]>>8;
+ else if(z>=(float)0.5) ih=2;
+
+ if(ih>0) { /* q > 0.5 */
+ n += 1; carry = 0;
+ for(i=0;i<jz ;i++) { /* compute 1-q */
+ j = iq[i];
+ if(carry==0) {
+ if(j!=0) {
+ carry = 1; iq[i] = 0x100- j;
+ }
+ } else iq[i] = 0xff - j;
+ }
+ if(q0>0) { /* rare case: chance is 1 in 12 */
+ switch(q0) {
+ case 1:
+ iq[jz-1] &= 0x7f; break;
+ case 2:
+ iq[jz-1] &= 0x3f; break;
+ }
+ }
+ if(ih==2) {
+ z = one - z;
+ if(carry!=0) z -= scalbnf(one,(int)q0);
+ }
+ }
+
+ /* check if recomputation is needed */
+ if(z==zero) {
+ j = 0;
+ for (i=jz-1;i>=jk;i--) j |= iq[i];
+ if(j==0) { /* need recomputation */
+ for(k=1;iq[jk-k]==0;k++); /* k = no. of terms needed */
+
+ for(i=jz+1;i<=jz+k;i++) { /* add q[jz+1] to q[jz+k] */
+ f[jx+i] = (float) ipio2[jv+i];
+ for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j];
+ q[i] = fw;
+ }
+ jz += k;
+ goto recompute;
+ }
+ }
+
+ /* chop off zero terms */
+ if(z==(float)0.0) {
+ jz -= 1; q0 -= 8;
+ while(iq[jz]==0) { jz--; q0-=8;}
+ } else { /* break z into 8-bit if necessary */
+ z = scalbnf(z,-(int)q0);
+ if(z>=two8) {
+ fw = (float)((__int32_t)(twon8*z));
+ iq[jz] = (__int32_t)(z-two8*fw);
+ jz += 1; q0 += 8;
+ iq[jz] = (__int32_t) fw;
+ } else iq[jz] = (__int32_t) z ;
+ }
+
+ /* convert integer "bit" chunk to floating-point value */
+ fw = scalbnf(one,(int)q0);
+ for(i=jz;i>=0;i--) {
+ q[i] = fw*(float)iq[i]; fw*=twon8;
+ }
+
+ /* compute PIo2[0,...,jp]*q[jz,...,0] */
+ for(i=jz;i>=0;i--) {
+ for(fw=0.0,k=0;k<=jp&&k<=jz-i;k++) fw += PIo2[k]*q[i+k];
+ fq[jz-i] = fw;
+ }
+
+ /* compress fq[] into y[] */
+ switch(prec) {
+ case 0:
+ fw = 0.0;
+ for (i=jz;i>=0;i--) fw += fq[i];
+ y[0] = (ih==0)? fw: -fw;
+ break;
+ case 1:
+ case 2:
+ fw = 0.0;
+ for (i=jz;i>=0;i--) fw += fq[i];
+ y[0] = (ih==0)? fw: -fw;
+ fw = fq[0]-fw;
+ for (i=1;i<=jz;i++) fw += fq[i];
+ y[1] = (ih==0)? fw: -fw;
+ break;
+ case 3: /* painful */
+ for (i=jz;i>0;i--) {
+ fw = fq[i-1]+fq[i];
+ fq[i] += fq[i-1]-fw;
+ fq[i-1] = fw;
+ }
+ for (i=jz;i>1;i--) {
+ fw = fq[i-1]+fq[i];
+ fq[i] += fq[i-1]-fw;
+ fq[i-1] = fw;
+ }
+ for (fw=0.0,i=jz;i>=2;i--) fw += fq[i];
+ if(ih==0) {
+ y[0] = fq[0]; y[1] = fq[1]; y[2] = fw;
+ } else {
+ y[0] = -fq[0]; y[1] = -fq[1]; y[2] = -fw;
+ }
+ }
+ return n&7;
+}
diff --git a/newlib/libm/math/kf_sin.c b/newlib/libm/math/kf_sin.c
new file mode 100644
index 00000000000..e81fa0bd81b
--- /dev/null
+++ b/newlib/libm/math/kf_sin.c
@@ -0,0 +1,49 @@
+/* kf_sin.c -- float version of k_sin.c
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+half = 5.0000000000e-01,/* 0x3f000000 */
+S1 = -1.6666667163e-01, /* 0xbe2aaaab */
+S2 = 8.3333337680e-03, /* 0x3c088889 */
+S3 = -1.9841270114e-04, /* 0xb9500d01 */
+S4 = 2.7557314297e-06, /* 0x3638ef1b */
+S5 = -2.5050759689e-08, /* 0xb2d72f34 */
+S6 = 1.5896910177e-10; /* 0x2f2ec9d3 */
+
+#ifdef __STDC__
+ float __kernel_sinf(float x, float y, int iy)
+#else
+ float __kernel_sinf(x, y, iy)
+ float x,y; int iy; /* iy=0 if y is zero */
+#endif
+{
+ float z,r,v;
+ __int32_t ix;
+ GET_FLOAT_WORD(ix,x);
+ ix &= 0x7fffffff; /* high word of x */
+ if(ix<0x32000000) /* |x| < 2**-27 */
+ {if((int)x==0) return x;} /* generate inexact */
+ z = x*x;
+ v = z*x;
+ r = S2+z*(S3+z*(S4+z*(S5+z*S6)));
+ if(iy==0) return x+v*(S1+z*r);
+ else return x-((z*(half*y-v*r)-y)-v*S1);
+}
diff --git a/newlib/libm/math/kf_tan.c b/newlib/libm/math/kf_tan.c
new file mode 100644
index 00000000000..285d7f647d8
--- /dev/null
+++ b/newlib/libm/math/kf_tan.c
@@ -0,0 +1,96 @@
+/* kf_tan.c -- float version of k_tan.c
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+one = 1.0000000000e+00, /* 0x3f800000 */
+pio4 = 7.8539812565e-01, /* 0x3f490fda */
+pio4lo= 3.7748947079e-08, /* 0x33222168 */
+T[] = {
+ 3.3333334327e-01, /* 0x3eaaaaab */
+ 1.3333334029e-01, /* 0x3e088889 */
+ 5.3968254477e-02, /* 0x3d5d0dd1 */
+ 2.1869488060e-02, /* 0x3cb327a4 */
+ 8.8632395491e-03, /* 0x3c11371f */
+ 3.5920790397e-03, /* 0x3b6b6916 */
+ 1.4562094584e-03, /* 0x3abede48 */
+ 5.8804126456e-04, /* 0x3a1a26c8 */
+ 2.4646313977e-04, /* 0x398137b9 */
+ 7.8179444245e-05, /* 0x38a3f445 */
+ 7.1407252108e-05, /* 0x3895c07a */
+ -1.8558637748e-05, /* 0xb79bae5f */
+ 2.5907305826e-05, /* 0x37d95384 */
+};
+
+#ifdef __STDC__
+ float __kernel_tanf(float x, float y, int iy)
+#else
+ float __kernel_tanf(x, y, iy)
+ float x,y; int iy;
+#endif
+{
+ float z,r,v,w,s;
+ __int32_t ix,hx;
+ GET_FLOAT_WORD(hx,x);
+ ix = hx&0x7fffffff; /* high word of |x| */
+ if(ix<0x31800000) /* x < 2**-28 */
+ {if((int)x==0) { /* generate inexact */
+ if((ix|(iy+1))==0) return one/fabsf(x);
+ else return (iy==1)? x: -one/x;
+ }
+ }
+ if(ix>=0x3f2ca140) { /* |x|>=0.6744 */
+ if(hx<0) {x = -x; y = -y;}
+ z = pio4-x;
+ w = pio4lo-y;
+ x = z+w; y = 0.0;
+ }
+ z = x*x;
+ w = z*z;
+ /* Break x^5*(T[1]+x^2*T[2]+...) into
+ * x^5(T[1]+x^4*T[3]+...+x^20*T[11]) +
+ * x^5(x^2*(T[2]+x^4*T[4]+...+x^22*[T12]))
+ */
+ r = T[1]+w*(T[3]+w*(T[5]+w*(T[7]+w*(T[9]+w*T[11]))));
+ v = z*(T[2]+w*(T[4]+w*(T[6]+w*(T[8]+w*(T[10]+w*T[12])))));
+ s = z*x;
+ r = y + z*(s*(r+v)+y);
+ r += T[0]*s;
+ w = x+r;
+ if(ix>=0x3f2ca140) {
+ v = (float)iy;
+ return (float)(1-((hx>>30)&2))*(v-(float)2.0*(x-(w*w/(w+v)-r)));
+ }
+ if(iy==1) return w;
+ else { /* if allow error up to 2 ulp,
+ simply return -1.0/(x+r) here */
+ /* compute -1.0/(x+r) accurately */
+ float a,t;
+ __int32_t i;
+ z = w;
+ GET_FLOAT_WORD(i,z);
+ SET_FLOAT_WORD(z,i&0xfffff000);
+ v = r-(z - x); /* z+v = r+x */
+ t = a = -(float)1.0/w; /* a = -1.0/w */
+ GET_FLOAT_WORD(i,t);
+ SET_FLOAT_WORD(t,i&0xfffff000);
+ s = (float)1.0+t*z;
+ return t+a*(s+t*v);
+ }
+}
diff --git a/newlib/libm/math/math.tex b/newlib/libm/math/math.tex
new file mode 100644
index 00000000000..c6035deae27
--- /dev/null
+++ b/newlib/libm/math/math.tex
@@ -0,0 +1,199 @@
+@node Math
+@chapter Mathematical Functions (@file{math.h})
+
+This chapter groups a wide variety of mathematical functions. The
+corresponding definitions and declarations are in @file{math.h}.
+Two definitions from @file{math.h} are of particular interest.
+
+@enumerate
+@item
+The representation of infinity as a @code{double} is defined as
+@code{HUGE_VAL}; this number is returned on overflow by many functions.
+
+@item
+The structure @code{exception} is used when you write customized error
+handlers for the mathematical functions. You can customize error
+handling for most of these functions by defining your own version of
+@code{matherr}; see the section on @code{matherr} for details.
+@end enumerate
+
+@cindex system calls
+@cindex support subroutines
+@cindex stubs
+@cindex OS stubs
+Since the error handling code calls @code{fputs}, the mathematical
+subroutines require stubs or minimal implementations for the same list
+of OS subroutines as @code{fputs}: @code{close}, @code{fstat},
+@code{isatty}, @code{lseek}, @code{read}, @code{sbrk}, @code{write}.
+@xref{syscalls,,System Calls, libc.info, The Cygnus C Support Library},
+for a discussion and for sample minimal implementations of these support
+subroutines.
+
+Alternative declarations of the mathematical functions, which exploit
+specific machine capabilities to operate faster---but generally have
+less error checking and may reflect additional limitations on some
+machines---are available when you include @file{fastmath.h} instead of
+@file{math.h}.
+
+@menu
+* version:: Version of library
+* acos:: Arccosine
+* acosh:: Inverse hyperbolic cosine
+* asin:: Arcsine
+* asinh:: Inverse hyperbolic sine
+* atan:: Arctangent
+* atan2:: Arctangent of y/x
+* atanh:: Inverse hyperbolic tangent
+* jN:: Bessel functions (jN, yN)
+* cbrt:: Cube root
+* copysign:: Sign of Y, magnitude of X
+* cosh:: Hyperbolic cosine
+* erf:: Error function (erf, erfc)
+* exp:: Exponential
+* expm1:: Exponential of x, - 1
+* fabs:: Absolute value (magnitude)
+* floor:: Floor and ceiling (floor, ceil)
+* fmod:: Floating-point remainder (modulo)
+* frexp:: Split floating-point number
+* gamma:: Logarithmic gamma function
+* hypot:: Distance from origin
+* ilogb:: Get exponent
+* infinity:: Floating infinity
+* isnan:: Check type of number
+* ldexp:: Load exponent
+* log:: Natural logarithms
+* log10:: Base 10 logarithms
+* log1p:: Log of 1 + X
+* matherr:: Modifiable math error handler
+* modf:: Split fractional and integer parts
+* nan:: Floating Not a Number
+* nextafter:: Get next representable number
+* pow:: X to the power Y
+* remainder:: remainder of X divided by Y
+* scalbn:: scalbn
+* sin:: Sine or cosine (sin, cos)
+* sinh:: Hyperbolic sine
+* sqrt:: Positive square root
+* tan:: Tangent
+* tanh:: Hyperbolic tangent
+@end menu
+
+@page
+@node version
+@section Version of library
+
+There are four different versions of the math library routines: IEEE,
+POSIX, X/Open, or SVID. The version may be selected at runtime by
+setting the global variable @code{_LIB_VERSION}, defined in
+@file{math.h}. It may be set to one of the following constants defined
+in @file{math.h}: @code{_IEEE_}, @code{_POSIX_}, @code{_XOPEN_}, or
+@code{_SVID_}. The @code{_LIB_VERSION} variable is not specific to any
+thread, and changing it will affect all threads.
+
+The versions of the library differ only in how errors are handled.
+
+In IEEE mode, the @code{matherr} function is never called, no warning
+messages are printed, and @code{errno} is never set.
+
+In POSIX mode, @code{errno} is set correctly, but the @code{matherr}
+function is never called and no warning messages are printed.
+
+In X/Open mode, @code{errno} is set correctly, and @code{matherr} is
+called, but warning message are not printed.
+
+In SVID mode, functions which overflow return 3.40282346638528860e+38,
+the maximum single precision floating point value, rather than infinity.
+Also, @code{errno} is set correctly, @code{matherr} is called, and, if
+@code{matherr} returns 0, warning messages are printed for some errors.
+For example, by default @samp{log(-1.0)} writes this message on standard
+error output:
+
+@example
+log: DOMAIN error
+@end example
+
+The library is set to X/Open mode by default.
+
+@page
+@include math/wacos.def
+
+@page
+@include math/wacosh.def
+
+@page
+@include math/wasin.def
+
+@page
+@include math/sasinh.def
+
+@page
+@include math/satan.def
+
+@page
+@include math/watan2.def
+
+@page
+@include math/watanh.def
+
+@page
+@include math/wj0.def
+
+@page
+@include math/wcosh.def
+
+@page
+@include math/serf.def
+
+@page
+@include math/wexp.def
+
+@page
+@include math/sfabs.def
+
+@page
+@include math/sfloor.def
+
+@page
+@include math/wfmod.def
+
+@page
+@include math/sfrexp.def
+
+@page
+@include math/wgamma.def
+
+@page
+@include math/whypot.def
+
+@page
+@include math/sisnan.def
+
+@page
+@include math/sldexp.def
+
+@page
+@include math/wlog.def
+
+@page
+@include math/wlog10.def
+
+@page
+@include math/wpow.def
+
+@page
+@include math/wremainder.def
+
+@page
+@include math/wsqrt.def
+
+@page
+@include math/ssin.def
+
+@page
+@include math/wsinh.def
+
+@page
+@include math/stan.def
+
+@page
+@include math/stanh.def
diff --git a/newlib/libm/math/s_asinh.c b/newlib/libm/math/s_asinh.c
new file mode 100644
index 00000000000..958b71f820a
--- /dev/null
+++ b/newlib/libm/math/s_asinh.c
@@ -0,0 +1,107 @@
+
+/* @(#)s_asinh.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<asinh>>, <<asinhf>>---inverse hyperbolic sine
+
+INDEX
+ asinh
+INDEX
+ asinhf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double asinh(double <[x]>);
+ float asinhf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double asinh(<[x]>)
+ double <[x]>;
+
+ float asinhf(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+<<asinh>> calculates the inverse hyperbolic sine of <[x]>.
+<<asinh>> is defined as
+@ifinfo
+. sgn(<[x]>) * log(abs(<[x]>) + sqrt(1+<[x]>*<[x]>))
+@end ifinfo
+@tex
+$$sign(x) \times ln\Bigl(|x| + \sqrt{1+x^2}\Bigr)$$
+@end tex
+
+<<asinhf>> is identical, other than taking and returning floats.
+
+RETURNS
+<<asinh>> and <<asinhf>> return the calculated value.
+
+PORTABILITY
+Neither <<asinh>> nor <<asinhf>> are ANSI C.
+
+*/
+
+/* asinh(x)
+ * Method :
+ * Based on
+ * asinh(x) = sign(x) * log [ |x| + sqrt(x*x+1) ]
+ * we have
+ * asinh(x) := x if 1+x*x=1,
+ * := sign(x)*(log(x)+ln2)) for large |x|, else
+ * := sign(x)*log(2|x|+1/(|x|+sqrt(x*x+1))) if|x|>2, else
+ * := sign(x)*log1p(|x| + x^2/(1 + sqrt(1+x^2)))
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
+ln2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */
+huge= 1.00000000000000000000e+300;
+
+#ifdef __STDC__
+ double asinh(double x)
+#else
+ double asinh(x)
+ double x;
+#endif
+{
+ double t,w;
+ __int32_t hx,ix;
+ GET_HIGH_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x7ff00000) return x+x; /* x is inf or NaN */
+ if(ix< 0x3e300000) { /* |x|<2**-28 */
+ if(huge+x>one) return x; /* return x inexact except 0 */
+ }
+ if(ix>0x41b00000) { /* |x| > 2**28 */
+ w = __ieee754_log(fabs(x))+ln2;
+ } else if (ix>0x40000000) { /* 2**28 > |x| > 2.0 */
+ t = fabs(x);
+ w = __ieee754_log(2.0*t+one/(__ieee754_sqrt(x*x+one)+t));
+ } else { /* 2.0 > |x| > 2**-28 */
+ t = x*x;
+ w =log1p(fabs(x)+t/(one+__ieee754_sqrt(one+t)));
+ }
+ if(hx>0) return w; else return -w;
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/math/s_atan.c b/newlib/libm/math/s_atan.c
new file mode 100644
index 00000000000..b1410ecca55
--- /dev/null
+++ b/newlib/libm/math/s_atan.c
@@ -0,0 +1,181 @@
+
+/* @(#)s_atan.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/*
+FUNCTION
+ <<atan>>, <<atanf>>---arc tangent
+
+INDEX
+ atan
+INDEX
+ atanf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double atan(double <[x]>);
+ float atanf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double atan(<[x]>);
+ double <[x]>;
+
+ float atanf(<[x]>);
+ float <[x]>;
+
+DESCRIPTION
+
+<<atan>> computes the inverse tangent (arc tangent) of the input value.
+
+<<atanf>> is identical to <<atan>>, save that it operates on <<floats>>.
+
+RETURNS
+@ifinfo
+<<atan>> returns a value in radians, in the range of -pi/2 to pi/2.
+@end ifinfo
+@tex
+<<atan>> returns a value in radians, in the range of $-\pi/2$ to $\pi/2$.
+@end tex
+
+PORTABILITY
+<<atan>> is ANSI C. <<atanf>> is an extension.
+
+*/
+
+/* atan(x)
+ * Method
+ * 1. Reduce x to positive by atan(x) = -atan(-x).
+ * 2. According to the integer k=4t+0.25 chopped, t=x, the argument
+ * is further reduced to one of the following intervals and the
+ * arctangent of t is evaluated by the corresponding formula:
+ *
+ * [0,7/16] atan(x) = t-t^3*(a1+t^2*(a2+...(a10+t^2*a11)...)
+ * [7/16,11/16] atan(x) = atan(1/2) + atan( (t-0.5)/(1+t/2) )
+ * [11/16.19/16] atan(x) = atan( 1 ) + atan( (t-1)/(1+t) )
+ * [19/16,39/16] atan(x) = atan(3/2) + atan( (t-1.5)/(1+1.5t) )
+ * [39/16,INF] atan(x) = atan(INF) + atan( -1/t )
+ *
+ * Constants:
+ * The hexadecimal values are the intended ones for the following
+ * constants. The decimal values may be used, provided that the
+ * compiler will convert from decimal to binary accurately enough
+ * to produce the hexadecimal values shown.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double atanhi[] = {
+#else
+static double atanhi[] = {
+#endif
+ 4.63647609000806093515e-01, /* atan(0.5)hi 0x3FDDAC67, 0x0561BB4F */
+ 7.85398163397448278999e-01, /* atan(1.0)hi 0x3FE921FB, 0x54442D18 */
+ 9.82793723247329054082e-01, /* atan(1.5)hi 0x3FEF730B, 0xD281F69B */
+ 1.57079632679489655800e+00, /* atan(inf)hi 0x3FF921FB, 0x54442D18 */
+};
+
+#ifdef __STDC__
+static const double atanlo[] = {
+#else
+static double atanlo[] = {
+#endif
+ 2.26987774529616870924e-17, /* atan(0.5)lo 0x3C7A2B7F, 0x222F65E2 */
+ 3.06161699786838301793e-17, /* atan(1.0)lo 0x3C81A626, 0x33145C07 */
+ 1.39033110312309984516e-17, /* atan(1.5)lo 0x3C700788, 0x7AF0CBBD */
+ 6.12323399573676603587e-17, /* atan(inf)lo 0x3C91A626, 0x33145C07 */
+};
+
+#ifdef __STDC__
+static const double aT[] = {
+#else
+static double aT[] = {
+#endif
+ 3.33333333333329318027e-01, /* 0x3FD55555, 0x5555550D */
+ -1.99999999998764832476e-01, /* 0xBFC99999, 0x9998EBC4 */
+ 1.42857142725034663711e-01, /* 0x3FC24924, 0x920083FF */
+ -1.11111104054623557880e-01, /* 0xBFBC71C6, 0xFE231671 */
+ 9.09088713343650656196e-02, /* 0x3FB745CD, 0xC54C206E */
+ -7.69187620504482999495e-02, /* 0xBFB3B0F2, 0xAF749A6D */
+ 6.66107313738753120669e-02, /* 0x3FB10D66, 0xA0D03D51 */
+ -5.83357013379057348645e-02, /* 0xBFADDE2D, 0x52DEFD9A */
+ 4.97687799461593236017e-02, /* 0x3FA97B4B, 0x24760DEB */
+ -3.65315727442169155270e-02, /* 0xBFA2B444, 0x2C6A6C2F */
+ 1.62858201153657823623e-02, /* 0x3F90AD3A, 0xE322DA11 */
+};
+
+#ifdef __STDC__
+ static const double
+#else
+ static double
+#endif
+one = 1.0,
+huge = 1.0e300;
+
+#ifdef __STDC__
+ double atan(double x)
+#else
+ double atan(x)
+ double x;
+#endif
+{
+ double w,s1,s2,z;
+ __int32_t ix,hx,id;
+
+ GET_HIGH_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x44100000) { /* if |x| >= 2^66 */
+ __uint32_t low;
+ GET_LOW_WORD(low,x);
+ if(ix>0x7ff00000||
+ (ix==0x7ff00000&&(low!=0)))
+ return x+x; /* NaN */
+ if(hx>0) return atanhi[3]+atanlo[3];
+ else return -atanhi[3]-atanlo[3];
+ } if (ix < 0x3fdc0000) { /* |x| < 0.4375 */
+ if (ix < 0x3e200000) { /* |x| < 2^-29 */
+ if(huge+x>one) return x; /* raise inexact */
+ }
+ id = -1;
+ } else {
+ x = fabs(x);
+ if (ix < 0x3ff30000) { /* |x| < 1.1875 */
+ if (ix < 0x3fe60000) { /* 7/16 <=|x|<11/16 */
+ id = 0; x = (2.0*x-one)/(2.0+x);
+ } else { /* 11/16<=|x|< 19/16 */
+ id = 1; x = (x-one)/(x+one);
+ }
+ } else {
+ if (ix < 0x40038000) { /* |x| < 2.4375 */
+ id = 2; x = (x-1.5)/(one+1.5*x);
+ } else { /* 2.4375 <= |x| < 2^66 */
+ id = 3; x = -1.0/x;
+ }
+ }}
+ /* end of argument reduction */
+ z = x*x;
+ w = z*z;
+ /* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */
+ s1 = z*(aT[0]+w*(aT[2]+w*(aT[4]+w*(aT[6]+w*(aT[8]+w*aT[10])))));
+ s2 = w*(aT[1]+w*(aT[3]+w*(aT[5]+w*(aT[7]+w*aT[9]))));
+ if (id<0) return x - x*(s1+s2);
+ else {
+ z = atanhi[id] - ((x*(s1+s2) - atanlo[id]) - x);
+ return (hx<0)? -z:z;
+ }
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/math/s_ceil.c b/newlib/libm/math/s_ceil.c
new file mode 100644
index 00000000000..24d69169c35
--- /dev/null
+++ b/newlib/libm/math/s_ceil.c
@@ -0,0 +1,80 @@
+
+/* @(#)s_ceil.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * ceil(x)
+ * Return x rounded toward -inf to integral value
+ * Method:
+ * Bit twiddling.
+ * Exception:
+ * Inexact flag raised if x not equal to ceil(x).
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double huge = 1.0e300;
+#else
+static double huge = 1.0e300;
+#endif
+
+#ifdef __STDC__
+ double ceil(double x)
+#else
+ double ceil(x)
+ double x;
+#endif
+{
+ __int32_t i0,i1,j0;
+ __uint32_t i,j;
+ EXTRACT_WORDS(i0,i1,x);
+ j0 = ((i0>>20)&0x7ff)-0x3ff;
+ if(j0<20) {
+ if(j0<0) { /* raise inexact if x != 0 */
+ if(huge+x>0.0) {/* return 0*sign(x) if |x|<1 */
+ if(i0<0) {i0=0x80000000;i1=0;}
+ else if((i0|i1)!=0) { i0=0x3ff00000;i1=0;}
+ }
+ } else {
+ i = (0x000fffff)>>j0;
+ if(((i0&i)|i1)==0) return x; /* x is integral */
+ if(huge+x>0.0) { /* raise inexact flag */
+ if(i0>0) i0 += (0x00100000)>>j0;
+ i0 &= (~i); i1=0;
+ }
+ }
+ } else if (j0>51) {
+ if(j0==0x400) return x+x; /* inf or NaN */
+ else return x; /* x is integral */
+ } else {
+ i = ((__uint32_t)(0xffffffff))>>(j0-20);
+ if((i1&i)==0) return x; /* x is integral */
+ if(huge+x>0.0) { /* raise inexact flag */
+ if(i0>0) {
+ if(j0==20) i0+=1;
+ else {
+ j = i1 + (1<<(52-j0));
+ if(j<i1) i0+=1; /* got a carry */
+ i1 = j;
+ }
+ }
+ i1 &= (~i);
+ }
+ }
+ INSERT_WORDS(x,i0,i1);
+ return x;
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/math/s_cos.c b/newlib/libm/math/s_cos.c
new file mode 100644
index 00000000000..c4712330137
--- /dev/null
+++ b/newlib/libm/math/s_cos.c
@@ -0,0 +1,82 @@
+
+/* @(#)s_cos.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* cos(x)
+ * Return cosine function of x.
+ *
+ * kernel function:
+ * __kernel_sin ... sine function on [-pi/4,pi/4]
+ * __kernel_cos ... cosine function on [-pi/4,pi/4]
+ * __ieee754_rem_pio2 ... argument reduction routine
+ *
+ * Method.
+ * Let S,C and T denote the sin, cos and tan respectively on
+ * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2
+ * in [-pi/4 , +pi/4], and let n = k mod 4.
+ * We have
+ *
+ * n sin(x) cos(x) tan(x)
+ * ----------------------------------------------------------
+ * 0 S C T
+ * 1 C -S -1/T
+ * 2 -S -C T
+ * 3 -C S -1/T
+ * ----------------------------------------------------------
+ *
+ * Special cases:
+ * Let trig be any of sin, cos, or tan.
+ * trig(+-INF) is NaN, with signals;
+ * trig(NaN) is that NaN;
+ *
+ * Accuracy:
+ * TRIG(x) returns trig(x) nearly rounded
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double cos(double x)
+#else
+ double cos(x)
+ double x;
+#endif
+{
+ double y[2],z=0.0;
+ __int32_t n,ix;
+
+ /* High word of x. */
+ GET_HIGH_WORD(ix,x);
+
+ /* |x| ~< pi/4 */
+ ix &= 0x7fffffff;
+ if(ix <= 0x3fe921fb) return __kernel_cos(x,z);
+
+ /* cos(Inf or NaN) is NaN */
+ else if (ix>=0x7ff00000) return x-x;
+
+ /* argument reduction needed */
+ else {
+ n = __ieee754_rem_pio2(x,y);
+ switch(n&3) {
+ case 0: return __kernel_cos(y[0],y[1]);
+ case 1: return -__kernel_sin(y[0],y[1],1);
+ case 2: return -__kernel_cos(y[0],y[1]);
+ default:
+ return __kernel_sin(y[0],y[1],1);
+ }
+ }
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/math/s_erf.c b/newlib/libm/math/s_erf.c
new file mode 100644
index 00000000000..825309dee84
--- /dev/null
+++ b/newlib/libm/math/s_erf.c
@@ -0,0 +1,373 @@
+
+/* @(#)s_erf.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<erf>>, <<erff>>, <<erfc>>, <<erfcf>>---error function
+INDEX
+ erf
+INDEX
+ erff
+INDEX
+ erfc
+INDEX
+ erfcf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double erf(double <[x]>);
+ float erff(float <[x]>);
+ double erfc(double <[x]>);
+ float erfcf(float <[x]>);
+TRAD_SYNOPSIS
+ #include <math.h>
+
+ double erf(<[x]>)
+ double <[x]>;
+
+ float erff(<[x]>)
+ float <[x]>;
+
+ double erfc(<[x]>)
+ double <[x]>;
+
+ float erfcf(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+ <<erf>> calculates an approximation to the ``error function'',
+ which estimates the probability that an observation will fall within
+ <[x]> standard deviations of the mean (assuming a normal
+ distribution).
+ @tex
+ The error function is defined as
+ $${2\over\sqrt\pi}\times\int_0^x e^{-t^2}dt$$
+ @end tex
+
+ <<erfc>> calculates the complementary probability; that is,
+ <<erfc(<[x]>)>> is <<1 - erf(<[x]>)>>. <<erfc>> is computed directly,
+ so that you can use it to avoid the loss of precision that would
+ result from subtracting large probabilities (on large <[x]>) from 1.
+
+ <<erff>> and <<erfcf>> differ from <<erf>> and <<erfc>> only in the
+ argument and result types.
+
+RETURNS
+ For positive arguments, <<erf>> and all its variants return a
+ probability---a number between 0 and 1.
+
+PORTABILITY
+ None of the variants of <<erf>> are ANSI C.
+*/
+
+/* double erf(double x)
+ * double erfc(double x)
+ * x
+ * 2 |\
+ * erf(x) = --------- | exp(-t*t)dt
+ * sqrt(pi) \|
+ * 0
+ *
+ * erfc(x) = 1-erf(x)
+ * Note that
+ * erf(-x) = -erf(x)
+ * erfc(-x) = 2 - erfc(x)
+ *
+ * Method:
+ * 1. For |x| in [0, 0.84375]
+ * erf(x) = x + x*R(x^2)
+ * erfc(x) = 1 - erf(x) if x in [-.84375,0.25]
+ * = 0.5 + ((0.5-x)-x*R) if x in [0.25,0.84375]
+ * where R = P/Q where P is an odd poly of degree 8 and
+ * Q is an odd poly of degree 10.
+ * -57.90
+ * | R - (erf(x)-x)/x | <= 2
+ *
+ *
+ * Remark. The formula is derived by noting
+ * erf(x) = (2/sqrt(pi))*(x - x^3/3 + x^5/10 - x^7/42 + ....)
+ * and that
+ * 2/sqrt(pi) = 1.128379167095512573896158903121545171688
+ * is close to one. The interval is chosen because the fix
+ * point of erf(x) is near 0.6174 (i.e., erf(x)=x when x is
+ * near 0.6174), and by some experiment, 0.84375 is chosen to
+ * guarantee the error is less than one ulp for erf.
+ *
+ * 2. For |x| in [0.84375,1.25], let s = |x| - 1, and
+ * c = 0.84506291151 rounded to single (24 bits)
+ * erf(x) = sign(x) * (c + P1(s)/Q1(s))
+ * erfc(x) = (1-c) - P1(s)/Q1(s) if x > 0
+ * 1+(c+P1(s)/Q1(s)) if x < 0
+ * |P1/Q1 - (erf(|x|)-c)| <= 2**-59.06
+ * Remark: here we use the taylor series expansion at x=1.
+ * erf(1+s) = erf(1) + s*Poly(s)
+ * = 0.845.. + P1(s)/Q1(s)
+ * That is, we use rational approximation to approximate
+ * erf(1+s) - (c = (single)0.84506291151)
+ * Note that |P1/Q1|< 0.078 for x in [0.84375,1.25]
+ * where
+ * P1(s) = degree 6 poly in s
+ * Q1(s) = degree 6 poly in s
+ *
+ * 3. For x in [1.25,1/0.35(~2.857143)],
+ * erfc(x) = (1/x)*exp(-x*x-0.5625+R1/S1)
+ * erf(x) = 1 - erfc(x)
+ * where
+ * R1(z) = degree 7 poly in z, (z=1/x^2)
+ * S1(z) = degree 8 poly in z
+ *
+ * 4. For x in [1/0.35,28]
+ * erfc(x) = (1/x)*exp(-x*x-0.5625+R2/S2) if x > 0
+ * = 2.0 - (1/x)*exp(-x*x-0.5625+R2/S2) if -6<x<0
+ * = 2.0 - tiny (if x <= -6)
+ * erf(x) = sign(x)*(1.0 - erfc(x)) if x < 6, else
+ * erf(x) = sign(x)*(1.0 - tiny)
+ * where
+ * R2(z) = degree 6 poly in z, (z=1/x^2)
+ * S2(z) = degree 7 poly in z
+ *
+ * Note1:
+ * To compute exp(-x*x-0.5625+R/S), let s be a single
+ * precision number and s := x; then
+ * -x*x = -s*s + (s-x)*(s+x)
+ * exp(-x*x-0.5626+R/S) =
+ * exp(-s*s-0.5625)*exp((s-x)*(s+x)+R/S);
+ * Note2:
+ * Here 4 and 5 make use of the asymptotic series
+ * exp(-x*x)
+ * erfc(x) ~ ---------- * ( 1 + Poly(1/x^2) )
+ * x*sqrt(pi)
+ * We use rational approximation to approximate
+ * g(s)=f(1/x^2) = log(erfc(x)*x) - x*x + 0.5625
+ * Here is the error bound for R1/S1 and R2/S2
+ * |R1/S1 - f(x)| < 2**(-62.57)
+ * |R2/S2 - f(x)| < 2**(-61.52)
+ *
+ * 5. For inf > x >= 28
+ * erf(x) = sign(x) *(1 - tiny) (raise inexact)
+ * erfc(x) = tiny*tiny (raise underflow) if x > 0
+ * = 2 - tiny if x<0
+ *
+ * 7. Special case:
+ * erf(0) = 0, erf(inf) = 1, erf(-inf) = -1,
+ * erfc(0) = 1, erfc(inf) = 0, erfc(-inf) = 2,
+ * erfc/erf(NaN) is NaN
+ */
+
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+tiny = 1e-300,
+half= 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */
+one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
+two = 2.00000000000000000000e+00, /* 0x40000000, 0x00000000 */
+ /* c = (float)0.84506291151 */
+erx = 8.45062911510467529297e-01, /* 0x3FEB0AC1, 0x60000000 */
+/*
+ * Coefficients for approximation to erf on [0,0.84375]
+ */
+efx = 1.28379167095512586316e-01, /* 0x3FC06EBA, 0x8214DB69 */
+efx8= 1.02703333676410069053e+00, /* 0x3FF06EBA, 0x8214DB69 */
+pp0 = 1.28379167095512558561e-01, /* 0x3FC06EBA, 0x8214DB68 */
+pp1 = -3.25042107247001499370e-01, /* 0xBFD4CD7D, 0x691CB913 */
+pp2 = -2.84817495755985104766e-02, /* 0xBF9D2A51, 0xDBD7194F */
+pp3 = -5.77027029648944159157e-03, /* 0xBF77A291, 0x236668E4 */
+pp4 = -2.37630166566501626084e-05, /* 0xBEF8EAD6, 0x120016AC */
+qq1 = 3.97917223959155352819e-01, /* 0x3FD97779, 0xCDDADC09 */
+qq2 = 6.50222499887672944485e-02, /* 0x3FB0A54C, 0x5536CEBA */
+qq3 = 5.08130628187576562776e-03, /* 0x3F74D022, 0xC4D36B0F */
+qq4 = 1.32494738004321644526e-04, /* 0x3F215DC9, 0x221C1A10 */
+qq5 = -3.96022827877536812320e-06, /* 0xBED09C43, 0x42A26120 */
+/*
+ * Coefficients for approximation to erf in [0.84375,1.25]
+ */
+pa0 = -2.36211856075265944077e-03, /* 0xBF6359B8, 0xBEF77538 */
+pa1 = 4.14856118683748331666e-01, /* 0x3FDA8D00, 0xAD92B34D */
+pa2 = -3.72207876035701323847e-01, /* 0xBFD7D240, 0xFBB8C3F1 */
+pa3 = 3.18346619901161753674e-01, /* 0x3FD45FCA, 0x805120E4 */
+pa4 = -1.10894694282396677476e-01, /* 0xBFBC6398, 0x3D3E28EC */
+pa5 = 3.54783043256182359371e-02, /* 0x3FA22A36, 0x599795EB */
+pa6 = -2.16637559486879084300e-03, /* 0xBF61BF38, 0x0A96073F */
+qa1 = 1.06420880400844228286e-01, /* 0x3FBB3E66, 0x18EEE323 */
+qa2 = 5.40397917702171048937e-01, /* 0x3FE14AF0, 0x92EB6F33 */
+qa3 = 7.18286544141962662868e-02, /* 0x3FB2635C, 0xD99FE9A7 */
+qa4 = 1.26171219808761642112e-01, /* 0x3FC02660, 0xE763351F */
+qa5 = 1.36370839120290507362e-02, /* 0x3F8BEDC2, 0x6B51DD1C */
+qa6 = 1.19844998467991074170e-02, /* 0x3F888B54, 0x5735151D */
+/*
+ * Coefficients for approximation to erfc in [1.25,1/0.35]
+ */
+ra0 = -9.86494403484714822705e-03, /* 0xBF843412, 0x600D6435 */
+ra1 = -6.93858572707181764372e-01, /* 0xBFE63416, 0xE4BA7360 */
+ra2 = -1.05586262253232909814e+01, /* 0xC0251E04, 0x41B0E726 */
+ra3 = -6.23753324503260060396e+01, /* 0xC04F300A, 0xE4CBA38D */
+ra4 = -1.62396669462573470355e+02, /* 0xC0644CB1, 0x84282266 */
+ra5 = -1.84605092906711035994e+02, /* 0xC067135C, 0xEBCCABB2 */
+ra6 = -8.12874355063065934246e+01, /* 0xC0545265, 0x57E4D2F2 */
+ra7 = -9.81432934416914548592e+00, /* 0xC023A0EF, 0xC69AC25C */
+sa1 = 1.96512716674392571292e+01, /* 0x4033A6B9, 0xBD707687 */
+sa2 = 1.37657754143519042600e+02, /* 0x4061350C, 0x526AE721 */
+sa3 = 4.34565877475229228821e+02, /* 0x407B290D, 0xD58A1A71 */
+sa4 = 6.45387271733267880336e+02, /* 0x40842B19, 0x21EC2868 */
+sa5 = 4.29008140027567833386e+02, /* 0x407AD021, 0x57700314 */
+sa6 = 1.08635005541779435134e+02, /* 0x405B28A3, 0xEE48AE2C */
+sa7 = 6.57024977031928170135e+00, /* 0x401A47EF, 0x8E484A93 */
+sa8 = -6.04244152148580987438e-02, /* 0xBFAEEFF2, 0xEE749A62 */
+/*
+ * Coefficients for approximation to erfc in [1/.35,28]
+ */
+rb0 = -9.86494292470009928597e-03, /* 0xBF843412, 0x39E86F4A */
+rb1 = -7.99283237680523006574e-01, /* 0xBFE993BA, 0x70C285DE */
+rb2 = -1.77579549177547519889e+01, /* 0xC031C209, 0x555F995A */
+rb3 = -1.60636384855821916062e+02, /* 0xC064145D, 0x43C5ED98 */
+rb4 = -6.37566443368389627722e+02, /* 0xC083EC88, 0x1375F228 */
+rb5 = -1.02509513161107724954e+03, /* 0xC0900461, 0x6A2E5992 */
+rb6 = -4.83519191608651397019e+02, /* 0xC07E384E, 0x9BDC383F */
+sb1 = 3.03380607434824582924e+01, /* 0x403E568B, 0x261D5190 */
+sb2 = 3.25792512996573918826e+02, /* 0x40745CAE, 0x221B9F0A */
+sb3 = 1.53672958608443695994e+03, /* 0x409802EB, 0x189D5118 */
+sb4 = 3.19985821950859553908e+03, /* 0x40A8FFB7, 0x688C246A */
+sb5 = 2.55305040643316442583e+03, /* 0x40A3F219, 0xCEDF3BE6 */
+sb6 = 4.74528541206955367215e+02, /* 0x407DA874, 0xE79FE763 */
+sb7 = -2.24409524465858183362e+01; /* 0xC03670E2, 0x42712D62 */
+
+#ifdef __STDC__
+ double erf(double x)
+#else
+ double erf(x)
+ double x;
+#endif
+{
+ __int32_t hx,ix,i;
+ double R,S,P,Q,s,y,z,r;
+ GET_HIGH_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x7ff00000) { /* erf(nan)=nan */
+ i = ((__uint32_t)hx>>31)<<1;
+ return (double)(1-i)+one/x; /* erf(+-inf)=+-1 */
+ }
+
+ if(ix < 0x3feb0000) { /* |x|<0.84375 */
+ if(ix < 0x3e300000) { /* |x|<2**-28 */
+ if (ix < 0x00800000)
+ return 0.125*(8.0*x+efx8*x); /*avoid underflow */
+ return x + efx*x;
+ }
+ z = x*x;
+ r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4)));
+ s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5))));
+ y = r/s;
+ return x + x*y;
+ }
+ if(ix < 0x3ff40000) { /* 0.84375 <= |x| < 1.25 */
+ s = fabs(x)-one;
+ P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6)))));
+ Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6)))));
+ if(hx>=0) return erx + P/Q; else return -erx - P/Q;
+ }
+ if (ix >= 0x40180000) { /* inf>|x|>=6 */
+ if(hx>=0) return one-tiny; else return tiny-one;
+ }
+ x = fabs(x);
+ s = one/(x*x);
+ if(ix< 0x4006DB6E) { /* |x| < 1/0.35 */
+ R=ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*(
+ ra5+s*(ra6+s*ra7))))));
+ S=one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*(
+ sa5+s*(sa6+s*(sa7+s*sa8)))))));
+ } else { /* |x| >= 1/0.35 */
+ R=rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*(
+ rb5+s*rb6)))));
+ S=one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*(
+ sb5+s*(sb6+s*sb7))))));
+ }
+ z = x;
+ SET_LOW_WORD(z,0);
+ r = __ieee754_exp(-z*z-0.5625)*__ieee754_exp((z-x)*(z+x)+R/S);
+ if(hx>=0) return one-r/x; else return r/x-one;
+}
+
+#ifdef __STDC__
+ double erfc(double x)
+#else
+ double erfc(x)
+ double x;
+#endif
+{
+ __int32_t hx,ix;
+ double R,S,P,Q,s,y,z,r;
+ GET_HIGH_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x7ff00000) { /* erfc(nan)=nan */
+ /* erfc(+-inf)=0,2 */
+ return (double)(((__uint32_t)hx>>31)<<1)+one/x;
+ }
+
+ if(ix < 0x3feb0000) { /* |x|<0.84375 */
+ if(ix < 0x3c700000) /* |x|<2**-56 */
+ return one-x;
+ z = x*x;
+ r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4)));
+ s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5))));
+ y = r/s;
+ if(hx < 0x3fd00000) { /* x<1/4 */
+ return one-(x+x*y);
+ } else {
+ r = x*y;
+ r += (x-half);
+ return half - r ;
+ }
+ }
+ if(ix < 0x3ff40000) { /* 0.84375 <= |x| < 1.25 */
+ s = fabs(x)-one;
+ P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6)))));
+ Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6)))));
+ if(hx>=0) {
+ z = one-erx; return z - P/Q;
+ } else {
+ z = erx+P/Q; return one+z;
+ }
+ }
+ if (ix < 0x403c0000) { /* |x|<28 */
+ x = fabs(x);
+ s = one/(x*x);
+ if(ix< 0x4006DB6D) { /* |x| < 1/.35 ~ 2.857143*/
+ R=ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*(
+ ra5+s*(ra6+s*ra7))))));
+ S=one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*(
+ sa5+s*(sa6+s*(sa7+s*sa8)))))));
+ } else { /* |x| >= 1/.35 ~ 2.857143 */
+ if(hx<0&&ix>=0x40180000) return two-tiny;/* x < -6 */
+ R=rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*(
+ rb5+s*rb6)))));
+ S=one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*(
+ sb5+s*(sb6+s*sb7))))));
+ }
+ z = x;
+ SET_LOW_WORD(z,0);
+ r = __ieee754_exp(-z*z-0.5625)*
+ __ieee754_exp((z-x)*(z+x)+R/S);
+ if(hx>0) return r/x; else return two-r/x;
+ } else {
+ if(hx>0) return tiny*tiny; else return two-tiny;
+ }
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/math/s_fabs.c b/newlib/libm/math/s_fabs.c
new file mode 100644
index 00000000000..95b871ca53a
--- /dev/null
+++ b/newlib/libm/math/s_fabs.c
@@ -0,0 +1,73 @@
+
+/* @(#)s_fabs.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<fabs>>, <<fabsf>>---absolute value (magnitude)
+INDEX
+ fabs
+INDEX
+ fabsf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double fabs(double <[x]>);
+ float fabsf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double fabs(<[x]>)
+ double <[x]>;
+
+ float fabsf(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+<<fabs>> and <<fabsf>> calculate
+@tex
+$|x|$,
+@end tex
+the absolute value (magnitude) of the argument <[x]>, by direct
+manipulation of the bit representation of <[x]>.
+
+RETURNS
+The calculated value is returned. No errors are detected.
+
+PORTABILITY
+<<fabs>> is ANSI.
+<<fabsf>> is an extension.
+
+*/
+
+/*
+ * fabs(x) returns the absolute value of x.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double fabs(double x)
+#else
+ double fabs(x)
+ double x;
+#endif
+{
+ __uint32_t high;
+ GET_HIGH_WORD(high,x);
+ SET_HIGH_WORD(x,high&0x7fffffff);
+ return x;
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/math/s_floor.c b/newlib/libm/math/s_floor.c
new file mode 100644
index 00000000000..65e234ed299
--- /dev/null
+++ b/newlib/libm/math/s_floor.c
@@ -0,0 +1,134 @@
+
+/* @(#)s_floor.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+<<floor>>, <<floorf>>, <<ceil>>, <<ceilf>>---floor and ceiling
+INDEX
+ floor
+INDEX
+ floorf
+INDEX
+ ceil
+INDEX
+ ceilf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double floor(double <[x]>);
+ float floorf(float <[x]>);
+ double ceil(double <[x]>);
+ float ceilf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double floor(<[x]>)
+ double <[x]>;
+ float floorf(<[x]>)
+ float <[x]>;
+ double ceil(<[x]>)
+ double <[x]>;
+ float ceilf(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+<<floor>> and <<floorf>> find
+@tex
+$\lfloor x \rfloor$,
+@end tex
+the nearest integer less than or equal to <[x]>.
+<<ceil>> and <<ceilf>> find
+@tex
+$\lceil x\rceil$,
+@end tex
+the nearest integer greater than or equal to <[x]>.
+
+RETURNS
+<<floor>> and <<ceil>> return the integer result as a double.
+<<floorf>> and <<ceilf>> return the integer result as a float.
+
+PORTABILITY
+<<floor>> and <<ceil>> are ANSI.
+<<floorf>> and <<ceilf>> are extensions.
+
+
+*/
+
+/*
+ * floor(x)
+ * Return x rounded toward -inf to integral value
+ * Method:
+ * Bit twiddling.
+ * Exception:
+ * Inexact flag raised if x not equal to floor(x).
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double huge = 1.0e300;
+#else
+static double huge = 1.0e300;
+#endif
+
+#ifdef __STDC__
+ double floor(double x)
+#else
+ double floor(x)
+ double x;
+#endif
+{
+ __int32_t i0,i1,j0;
+ __uint32_t i,j;
+ EXTRACT_WORDS(i0,i1,x);
+ j0 = ((i0>>20)&0x7ff)-0x3ff;
+ if(j0<20) {
+ if(j0<0) { /* raise inexact if x != 0 */
+ if(huge+x>0.0) {/* return 0*sign(x) if |x|<1 */
+ if(i0>=0) {i0=i1=0;}
+ else if(((i0&0x7fffffff)|i1)!=0)
+ { i0=0xbff00000;i1=0;}
+ }
+ } else {
+ i = (0x000fffff)>>j0;
+ if(((i0&i)|i1)==0) return x; /* x is integral */
+ if(huge+x>0.0) { /* raise inexact flag */
+ if(i0<0) i0 += (0x00100000)>>j0;
+ i0 &= (~i); i1=0;
+ }
+ }
+ } else if (j0>51) {
+ if(j0==0x400) return x+x; /* inf or NaN */
+ else return x; /* x is integral */
+ } else {
+ i = ((__uint32_t)(0xffffffff))>>(j0-20);
+ if((i1&i)==0) return x; /* x is integral */
+ if(huge+x>0.0) { /* raise inexact flag */
+ if(i0<0) {
+ if(j0==20) i0+=1;
+ else {
+ j = i1+(1<<(52-j0));
+ if(j<i1) i0 +=1 ; /* got a carry */
+ i1=j;
+ }
+ }
+ i1 &= (~i);
+ }
+ }
+ INSERT_WORDS(x,i0,i1);
+ return x;
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/math/s_frexp.c b/newlib/libm/math/s_frexp.c
new file mode 100644
index 00000000000..aaa36068ad7
--- /dev/null
+++ b/newlib/libm/math/s_frexp.c
@@ -0,0 +1,114 @@
+
+/* @(#)s_frexp.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<frexp>>, <<frexpf>>---split floating-point number
+INDEX
+ frexp
+INDEX
+ frexpf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double frexp(double <[val]>, int *<[exp]>);
+ float frexpf(float <[val]>, int *<[exp]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double frexp(<[val]>, <[exp]>)
+ double <[val]>;
+ int *<[exp]>;
+
+ float frexpf(<[val]>, <[exp]>)
+ float <[val]>;
+ int *<[exp]>;
+
+
+DESCRIPTION
+ All non zero, normal numbers can be described as <[m]> * 2**<[p]>.
+ <<frexp>> represents the double <[val]> as a mantissa <[m]>
+ and a power of two <[p]>. The resulting mantissa will always
+ be greater than or equal to <<0.5>>, and less than <<1.0>> (as
+ long as <[val]> is nonzero). The power of two will be stored
+ in <<*>><[exp]>.
+
+@ifinfo
+<[m]> and <[p]> are calculated so that
+<[val]> is <[m]> times <<2>> to the power <[p]>.
+@end ifinfo
+@tex
+<[m]> and <[p]> are calculated so that
+$ val = m \times 2^p $.
+@end tex
+
+<<frexpf>> is identical, other than taking and returning
+floats rather than doubles.
+
+RETURNS
+<<frexp>> returns the mantissa <[m]>. If <[val]> is <<0>>, infinity,
+or Nan, <<frexp>> will set <<*>><[exp]> to <<0>> and return <[val]>.
+
+PORTABILITY
+<<frexp>> is ANSI.
+<<frexpf>> is an extension.
+
+
+*/
+
+/*
+ * for non-zero x
+ * x = frexp(arg,&exp);
+ * return a double fp quantity x such that 0.5 <= |x| <1.0
+ * and the corresponding binary exponent "exp". That is
+ * arg = x*2^exp.
+ * If arg is inf, 0.0, or NaN, then frexp(arg,&exp) returns arg
+ * with *exp=0.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+two54 = 1.80143985094819840000e+16; /* 0x43500000, 0x00000000 */
+
+#ifdef __STDC__
+ double frexp(double x, int *eptr)
+#else
+ double frexp(x, eptr)
+ double x; int *eptr;
+#endif
+{
+ __int32_t hx, ix, lx;
+ EXTRACT_WORDS(hx,lx,x);
+ ix = 0x7fffffff&hx;
+ *eptr = 0;
+ if(ix>=0x7ff00000||((ix|lx)==0)) return x; /* 0,inf,nan */
+ if (ix<0x00100000) { /* subnormal */
+ x *= two54;
+ GET_HIGH_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ *eptr = -54;
+ }
+ *eptr += (ix>>20)-1022;
+ hx = (hx&0x800fffff)|0x3fe00000;
+ SET_HIGH_WORD(x,hx);
+ return x;
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/math/s_infconst.c b/newlib/libm/math/s_infconst.c
new file mode 100644
index 00000000000..85b3b689c9d
--- /dev/null
+++ b/newlib/libm/math/s_infconst.c
@@ -0,0 +1,15 @@
+/* Infinity as a constant value. This is used for HUGE_VAL.
+ * Added by Cygnus Support.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+#ifdef __IEEE_BIG_ENDIAN
+const union __dmath __infinity = { 0x7ff00000, 0 };
+#else
+const union __dmath __infinity = { 0, 0x7ff00000 };
+#endif
+#else /* defined (_DOUBLE_IS_32BITS) */
+const union __dmath __infinity = { 0x7f800000, 0 };
+#endif /* defined (_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/s_isinf.c b/newlib/libm/math/s_isinf.c
new file mode 100644
index 00000000000..87f099566b6
--- /dev/null
+++ b/newlib/libm/math/s_isinf.c
@@ -0,0 +1,26 @@
+/*
+ * isinf(x) returns 1 if x is infinity, else 0;
+ * no branching!
+ * Added by Cygnus Support.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ int isinf(double x)
+#else
+ int isinf(x)
+ double x;
+#endif
+{
+ __int32_t hx,lx;
+ EXTRACT_WORDS(hx,lx,x);
+ hx &= 0x7fffffff;
+ hx |= (__uint32_t)(lx|(-lx))>>31;
+ hx = 0x7ff00000 - hx;
+ return 1 - (int)((__uint32_t)(hx|(-hx))>>31);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/math/s_isnan.c b/newlib/libm/math/s_isnan.c
new file mode 100644
index 00000000000..5d83fc04326
--- /dev/null
+++ b/newlib/libm/math/s_isnan.c
@@ -0,0 +1,122 @@
+
+/* @(#)s_isnan.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<isnan>>,<<isnanf>>,<<isinf>>,<<isinff>>,<<finite>>,<<finitef>>---test for exceptional numbers
+
+INDEX
+ isnan
+INDEX
+ isinf
+INDEX
+ finite
+
+INDEX
+ isnanf
+INDEX
+ isinff
+INDEX
+ finitef
+
+ANSI_SYNOPSIS
+ #include <ieeefp.h>
+ int isnan(double <[arg]>);
+ int isinf(double <[arg]>);
+ int finite(double <[arg]>);
+ int isnanf(float <[arg]>);
+ int isinff(float <[arg]>);
+ int finitef(float <[arg]>);
+
+TRAD_SYNOPSIS
+ #include <ieeefp.h>
+ int isnan(<[arg]>)
+ double <[arg]>;
+ int isinf(<[arg]>)
+ double <[arg]>;
+ int finite(<[arg]>);
+ double <[arg]>;
+ int isnanf(<[arg]>);
+ float <[arg]>;
+ int isinff(<[arg]>);
+ float <[arg]>;
+ int finitef(<[arg]>);
+ float <[arg]>;
+
+
+DESCRIPTION
+ These functions provide information on the floating point
+ argument supplied.
+
+ There are five major number formats -
+ o+
+ o zero
+ a number which contains all zero bits.
+ o subnormal
+ Is used to represent number with a zero exponent, but a non zero fraction.
+ o normal
+ A number with an exponent, and a fraction
+ o infinity
+ A number with an all 1's exponent and a zero fraction.
+ o NAN
+ A number with an all 1's exponent and a non zero fraction.
+
+ o-
+
+ <<isnan>> returns 1 if the argument is a nan. <<isinf>>
+ returns 1 if the argument is infinity. <<finite>> returns 1 if the
+ argument is zero, subnormal or normal.
+
+ The <<isnanf>>, <<isinff>> and <<finitef>> perform the same
+ operations as their <<isnan>>, <<isinf>> and <<finite>>
+ counterparts, but on single precision floating point numbers.
+
+QUICKREF
+ isnan - pure
+QUICKREF
+ isinf - pure
+QUICKREF
+ finite - pure
+QUICKREF
+ isnan - pure
+QUICKREF
+ isinf - pure
+QUICKREF
+ finite - pure
+*/
+
+/*
+ * isnan(x) returns 1 is x is nan, else 0;
+ * no branching!
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ int isnan(double x)
+#else
+ int isnan(x)
+ double x;
+#endif
+{
+ __int32_t hx,lx;
+ EXTRACT_WORDS(hx,lx,x);
+ hx &= 0x7fffffff;
+ hx |= (__uint32_t)(lx|(-lx))>>31;
+ hx = 0x7ff00000 - hx;
+ return (int)(((__uint32_t)(hx))>>31);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/math/s_ldexp.c b/newlib/libm/math/s_ldexp.c
new file mode 100644
index 00000000000..ccf7171b18a
--- /dev/null
+++ b/newlib/libm/math/s_ldexp.c
@@ -0,0 +1,81 @@
+
+/* @(#)s_ldexp.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<ldexp>>, <<ldexpf>>---load exponent
+
+INDEX
+ ldexp
+INDEX
+ ldexpf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double ldexp(double <[val]>, int <[exp]>);
+ float ldexpf(float <[val]>, int <[exp]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+
+ double ldexp(<[val]>, <[exp]>)
+ double <[val]>;
+ int <[exp]>;
+
+ float ldexpf(<[val]>, <[exp]>)
+ float <[val]>;
+ int <[exp]>;
+
+
+DESCRIPTION
+<<ldexp>> calculates the value
+@ifinfo
+<[val]> times 2 to the power <[exp]>.
+@end ifinfo
+@tex
+$val\times 2^{exp}$.
+@end tex
+<<ldexpf>> is identical, save that it takes and returns <<float>>
+rather than <<double>> values.
+
+RETURNS
+<<ldexp>> returns the calculated value.
+
+Underflow and overflow both set <<errno>> to <<ERANGE>>.
+On underflow, <<ldexp>> and <<ldexpf>> return 0.0.
+On overflow, <<ldexp>> returns plus or minus <<HUGE_VAL>>.
+
+PORTABILITY
+<<ldexp>> is ANSI, <<ldexpf>> is an extension.
+
+*/
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double ldexp(double value, int exp)
+#else
+ double ldexp(value, exp)
+ double value; int exp;
+#endif
+{
+ if(!finite(value)||value==0.0) return value;
+ value = scalbn(value,exp);
+ if(!finite(value)||value==0.0) errno = ERANGE;
+ return value;
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/math/s_signif.c b/newlib/libm/math/s_signif.c
new file mode 100644
index 00000000000..f68046bdc27
--- /dev/null
+++ b/newlib/libm/math/s_signif.c
@@ -0,0 +1,34 @@
+
+/* @(#)s_signif.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * significand(x) computes just
+ * scalb(x, (double) -ilogb(x)),
+ * for exercising the fraction-part(F) IEEE 754-1985 test vector.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double significand(double x)
+#else
+ double significand(x)
+ double x;
+#endif
+{
+ return __ieee754_scalb(x,(double) -ilogb(x));
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/math/s_sin.c b/newlib/libm/math/s_sin.c
new file mode 100644
index 00000000000..28259f378fe
--- /dev/null
+++ b/newlib/libm/math/s_sin.c
@@ -0,0 +1,132 @@
+
+/* @(#)s_sin.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<sin>>, <<sinf>>, <<cos>>, <<cosf>>---sine or cosine
+INDEX
+sin
+INDEX
+sinf
+INDEX
+cos
+INDEX
+cosf
+ANSI_SYNOPSIS
+ #include <math.h>
+ double sin(double <[x]>);
+ float sinf(float <[x]>);
+ double cos(double <[x]>);
+ float cosf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double sin(<[x]>)
+ double <[x]>;
+ float sinf(<[x]>)
+ float <[x]>;
+
+ double cos(<[x]>)
+ double <[x]>;
+ float cosf(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+ <<sin>> and <<cos>> compute (respectively) the sine and cosine
+ of the argument <[x]>. Angles are specified in radians.
+
+ <<sinf>> and <<cosf>> are identical, save that they take and
+ return <<float>> values.
+
+
+RETURNS
+ The sine or cosine of <[x]> is returned.
+
+PORTABILITY
+ <<sin>> and <<cos>> are ANSI C.
+ <<sinf>> and <<cosf>> are extensions.
+
+QUICKREF
+ sin ansi pure
+ sinf - pure
+*/
+
+/* sin(x)
+ * Return sine function of x.
+ *
+ * kernel function:
+ * __kernel_sin ... sine function on [-pi/4,pi/4]
+ * __kernel_cos ... cose function on [-pi/4,pi/4]
+ * __ieee754_rem_pio2 ... argument reduction routine
+ *
+ * Method.
+ * Let S,C and T denote the sin, cos and tan respectively on
+ * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2
+ * in [-pi/4 , +pi/4], and let n = k mod 4.
+ * We have
+ *
+ * n sin(x) cos(x) tan(x)
+ * ----------------------------------------------------------
+ * 0 S C T
+ * 1 C -S -1/T
+ * 2 -S -C T
+ * 3 -C S -1/T
+ * ----------------------------------------------------------
+ *
+ * Special cases:
+ * Let trig be any of sin, cos, or tan.
+ * trig(+-INF) is NaN, with signals;
+ * trig(NaN) is that NaN;
+ *
+ * Accuracy:
+ * TRIG(x) returns trig(x) nearly rounded
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double sin(double x)
+#else
+ double sin(x)
+ double x;
+#endif
+{
+ double y[2],z=0.0;
+ __int32_t n,ix;
+
+ /* High word of x. */
+ GET_HIGH_WORD(ix,x);
+
+ /* |x| ~< pi/4 */
+ ix &= 0x7fffffff;
+ if(ix <= 0x3fe921fb) return __kernel_sin(x,z,0);
+
+ /* sin(Inf or NaN) is NaN */
+ else if (ix>=0x7ff00000) return x-x;
+
+ /* argument reduction needed */
+ else {
+ n = __ieee754_rem_pio2(x,y);
+ switch(n&3) {
+ case 0: return __kernel_sin(y[0],y[1],1);
+ case 1: return __kernel_cos(y[0],y[1]);
+ case 2: return -__kernel_sin(y[0],y[1],1);
+ default:
+ return -__kernel_cos(y[0],y[1]);
+ }
+ }
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/math/s_tan.c b/newlib/libm/math/s_tan.c
new file mode 100644
index 00000000000..2959f416e83
--- /dev/null
+++ b/newlib/libm/math/s_tan.c
@@ -0,0 +1,114 @@
+
+/* @(#)s_tan.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+
+/*
+
+FUNCTION
+ <<tan>>, <<tanf>>---tangent
+
+INDEX
+tan
+INDEX
+tanf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double tan(double <[x]>);
+ float tanf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double tan(<[x]>)
+ double <[x]>;
+
+ float tanf(<[x]>)
+ float <[x]>;
+
+
+DESCRIPTION
+<<tan>> computes the tangent of the argument <[x]>.
+Angles are specified in radians.
+
+<<tanf>> is identical, save that it takes and returns <<float>> values.
+
+RETURNS
+The tangent of <[x]> is returned.
+
+PORTABILITY
+<<tan>> is ANSI. <<tanf>> is an extension.
+*/
+
+/* tan(x)
+ * Return tangent function of x.
+ *
+ * kernel function:
+ * __kernel_tan ... tangent function on [-pi/4,pi/4]
+ * __ieee754_rem_pio2 ... argument reduction routine
+ *
+ * Method.
+ * Let S,C and T denote the sin, cos and tan respectively on
+ * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2
+ * in [-pi/4 , +pi/4], and let n = k mod 4.
+ * We have
+ *
+ * n sin(x) cos(x) tan(x)
+ * ----------------------------------------------------------
+ * 0 S C T
+ * 1 C -S -1/T
+ * 2 -S -C T
+ * 3 -C S -1/T
+ * ----------------------------------------------------------
+ *
+ * Special cases:
+ * Let trig be any of sin, cos, or tan.
+ * trig(+-INF) is NaN, with signals;
+ * trig(NaN) is that NaN;
+ *
+ * Accuracy:
+ * TRIG(x) returns trig(x) nearly rounded
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double tan(double x)
+#else
+ double tan(x)
+ double x;
+#endif
+{
+ double y[2],z=0.0;
+ __int32_t n,ix;
+
+ /* High word of x. */
+ GET_HIGH_WORD(ix,x);
+
+ /* |x| ~< pi/4 */
+ ix &= 0x7fffffff;
+ if(ix <= 0x3fe921fb) return __kernel_tan(x,z,1);
+
+ /* tan(Inf or NaN) is NaN */
+ else if (ix>=0x7ff00000) return x-x; /* NaN */
+
+ /* argument reduction needed */
+ else {
+ n = __ieee754_rem_pio2(x,y);
+ return __kernel_tan(y[0],y[1],1-((n&1)<<1)); /* 1 -- n even
+ -1 -- n odd */
+ }
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/math/s_tanh.c b/newlib/libm/math/s_tanh.c
new file mode 100644
index 00000000000..b5541d02853
--- /dev/null
+++ b/newlib/libm/math/s_tanh.c
@@ -0,0 +1,128 @@
+
+/* @(#)s_tanh.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+
+FUNCTION
+ <<tanh>>, <<tanhf>>---hyperbolic tangent
+
+INDEX
+tanh
+INDEX
+tanhf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double tanh(double <[x]>);
+ float tanhf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double tanh(<[x]>)
+ double <[x]>;
+
+ float tanhf(<[x]>)
+ float <[x]>;
+
+
+DESCRIPTION
+
+<<tanh>> computes the hyperbolic tangent of
+the argument <[x]>. Angles are specified in radians.
+
+<<tanh(<[x]>)>> is defined as
+. sinh(<[x]>)/cosh(<[x]>)
+
+<<tanhf>> is identical, save that it takes and returns <<float>> values.
+
+RETURNS
+The hyperbolic tangent of <[x]> is returned.
+
+PORTABILITY
+<<tanh>> is ANSI C. <<tanhf>> is an extension.
+
+*/
+
+/* Tanh(x)
+ * Return the Hyperbolic Tangent of x
+ *
+ * Method :
+ * x -x
+ * e - e
+ * 0. tanh(x) is defined to be -----------
+ * x -x
+ * e + e
+ * 1. reduce x to non-negative by tanh(-x) = -tanh(x).
+ * 2. 0 <= x <= 2**-55 : tanh(x) := x*(one+x)
+ * -t
+ * 2**-55 < x <= 1 : tanh(x) := -----; t = expm1(-2x)
+ * t + 2
+ * 2
+ * 1 <= x <= 22.0 : tanh(x) := 1- ----- ; t=expm1(2x)
+ * t + 2
+ * 22.0 < x <= INF : tanh(x) := 1.
+ *
+ * Special cases:
+ * tanh(NaN) is NaN;
+ * only tanh(0)=0 is exact for finite argument.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double one=1.0, two=2.0, tiny = 1.0e-300;
+#else
+static double one=1.0, two=2.0, tiny = 1.0e-300;
+#endif
+
+#ifdef __STDC__
+ double tanh(double x)
+#else
+ double tanh(x)
+ double x;
+#endif
+{
+ double t,z;
+ __int32_t jx,ix;
+
+ /* High word of |x|. */
+ GET_HIGH_WORD(jx,x);
+ ix = jx&0x7fffffff;
+
+ /* x is INF or NaN */
+ if(ix>=0x7ff00000) {
+ if (jx>=0) return one/x+one; /* tanh(+-inf)=+-1 */
+ else return one/x-one; /* tanh(NaN) = NaN */
+ }
+
+ /* |x| < 22 */
+ if (ix < 0x40360000) { /* |x|<22 */
+ if (ix<0x3c800000) /* |x|<2**-55 */
+ return x*(one+x); /* tanh(small) = small */
+ if (ix>=0x3ff00000) { /* |x|>=1 */
+ t = expm1(two*fabs(x));
+ z = one - two/(t+two);
+ } else {
+ t = expm1(-two*fabs(x));
+ z= -t/(t+two);
+ }
+ /* |x| > 22, return +-1 */
+ } else {
+ z = one - tiny; /* raised inexact flag */
+ }
+ return (jx>=0)? z: -z;
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/math/sf_asinh.c b/newlib/libm/math/sf_asinh.c
new file mode 100644
index 00000000000..d5dfef81194
--- /dev/null
+++ b/newlib/libm/math/sf_asinh.c
@@ -0,0 +1,66 @@
+/* sf_asinh.c -- float version of s_asinh.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+one = 1.0000000000e+00, /* 0x3F800000 */
+ln2 = 6.9314718246e-01, /* 0x3f317218 */
+huge= 1.0000000000e+30;
+
+#ifdef __STDC__
+ float asinhf(float x)
+#else
+ float asinhf(x)
+ float x;
+#endif
+{
+ float t,w;
+ __int32_t hx,ix;
+ GET_FLOAT_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x7f800000) return x+x; /* x is inf or NaN */
+ if(ix< 0x31800000) { /* |x|<2**-28 */
+ if(huge+x>one) return x; /* return x inexact except 0 */
+ }
+ if(ix>0x4d800000) { /* |x| > 2**28 */
+ w = __ieee754_logf(fabsf(x))+ln2;
+ } else if (ix>0x40000000) { /* 2**28 > |x| > 2.0 */
+ t = fabsf(x);
+ w = __ieee754_logf((float)2.0*t+one/(__ieee754_sqrtf(x*x+one)+t));
+ } else { /* 2.0 > |x| > 2**-28 */
+ t = x*x;
+ w =log1pf(fabsf(x)+t/(one+__ieee754_sqrtf(one+t)));
+ }
+ if(hx>0) return w; else return -w;
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double asinh(double x)
+#else
+ double asinh(x)
+ double x;
+#endif
+{
+ return (double) asinhf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/sf_atan.c b/newlib/libm/math/sf_atan.c
new file mode 100644
index 00000000000..7ea664f23af
--- /dev/null
+++ b/newlib/libm/math/sf_atan.c
@@ -0,0 +1,129 @@
+/* sf_atan.c -- float version of s_atan.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float atanhi[] = {
+#else
+static float atanhi[] = {
+#endif
+ 4.6364760399e-01, /* atan(0.5)hi 0x3eed6338 */
+ 7.8539812565e-01, /* atan(1.0)hi 0x3f490fda */
+ 9.8279368877e-01, /* atan(1.5)hi 0x3f7b985e */
+ 1.5707962513e+00, /* atan(inf)hi 0x3fc90fda */
+};
+
+#ifdef __STDC__
+static const float atanlo[] = {
+#else
+static float atanlo[] = {
+#endif
+ 5.0121582440e-09, /* atan(0.5)lo 0x31ac3769 */
+ 3.7748947079e-08, /* atan(1.0)lo 0x33222168 */
+ 3.4473217170e-08, /* atan(1.5)lo 0x33140fb4 */
+ 7.5497894159e-08, /* atan(inf)lo 0x33a22168 */
+};
+
+#ifdef __STDC__
+static const float aT[] = {
+#else
+static float aT[] = {
+#endif
+ 3.3333334327e-01, /* 0x3eaaaaaa */
+ -2.0000000298e-01, /* 0xbe4ccccd */
+ 1.4285714924e-01, /* 0x3e124925 */
+ -1.1111110449e-01, /* 0xbde38e38 */
+ 9.0908870101e-02, /* 0x3dba2e6e */
+ -7.6918758452e-02, /* 0xbd9d8795 */
+ 6.6610731184e-02, /* 0x3d886b35 */
+ -5.8335702866e-02, /* 0xbd6ef16b */
+ 4.9768779427e-02, /* 0x3d4bda59 */
+ -3.6531571299e-02, /* 0xbd15a221 */
+ 1.6285819933e-02, /* 0x3c8569d7 */
+};
+
+#ifdef __STDC__
+ static const float
+#else
+ static float
+#endif
+one = 1.0,
+huge = 1.0e30;
+
+#ifdef __STDC__
+ float atanf(float x)
+#else
+ float atanf(x)
+ float x;
+#endif
+{
+ float w,s1,s2,z;
+ __int32_t ix,hx,id;
+
+ GET_FLOAT_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x50800000) { /* if |x| >= 2^34 */
+ if(ix>0x7f800000)
+ return x+x; /* NaN */
+ if(hx>0) return atanhi[3]+atanlo[3];
+ else return -atanhi[3]-atanlo[3];
+ } if (ix < 0x3ee00000) { /* |x| < 0.4375 */
+ if (ix < 0x31000000) { /* |x| < 2^-29 */
+ if(huge+x>one) return x; /* raise inexact */
+ }
+ id = -1;
+ } else {
+ x = fabsf(x);
+ if (ix < 0x3f980000) { /* |x| < 1.1875 */
+ if (ix < 0x3f300000) { /* 7/16 <=|x|<11/16 */
+ id = 0; x = ((float)2.0*x-one)/((float)2.0+x);
+ } else { /* 11/16<=|x|< 19/16 */
+ id = 1; x = (x-one)/(x+one);
+ }
+ } else {
+ if (ix < 0x401c0000) { /* |x| < 2.4375 */
+ id = 2; x = (x-(float)1.5)/(one+(float)1.5*x);
+ } else { /* 2.4375 <= |x| < 2^66 */
+ id = 3; x = -(float)1.0/x;
+ }
+ }}
+ /* end of argument reduction */
+ z = x*x;
+ w = z*z;
+ /* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */
+ s1 = z*(aT[0]+w*(aT[2]+w*(aT[4]+w*(aT[6]+w*(aT[8]+w*aT[10])))));
+ s2 = w*(aT[1]+w*(aT[3]+w*(aT[5]+w*(aT[7]+w*aT[9]))));
+ if (id<0) return x - x*(s1+s2);
+ else {
+ z = atanhi[id] - ((x*(s1+s2) - atanlo[id]) - x);
+ return (hx<0)? -z:z;
+ }
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double atan(double x)
+#else
+ double atan(x)
+ double x;
+#endif
+{
+ return (double) atanf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/sf_ceil.c b/newlib/libm/math/sf_ceil.c
new file mode 100644
index 00000000000..85f0e971499
--- /dev/null
+++ b/newlib/libm/math/sf_ceil.c
@@ -0,0 +1,69 @@
+/* sf_ceil.c -- float version of s_ceil.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float huge = 1.0e30;
+#else
+static float huge = 1.0e30;
+#endif
+
+#ifdef __STDC__
+ float ceilf(float x)
+#else
+ float ceilf(x)
+ float x;
+#endif
+{
+ __int32_t i0,j0;
+ __uint32_t i;
+ GET_FLOAT_WORD(i0,x);
+ j0 = ((i0>>23)&0xff)-0x7f;
+ if(j0<23) {
+ if(j0<0) { /* raise inexact if x != 0 */
+ if(huge+x>(float)0.0) {/* return 0*sign(x) if |x|<1 */
+ if(i0<0) {i0=0x80000000;}
+ else if(i0!=0) { i0=0x3f800000;}
+ }
+ } else {
+ i = (0x007fffff)>>j0;
+ if((i0&i)==0) return x; /* x is integral */
+ if(huge+x>(float)0.0) { /* raise inexact flag */
+ if(i0>0) i0 += (0x00800000)>>j0;
+ i0 &= (~i);
+ }
+ }
+ } else {
+ if(j0==0x80) return x+x; /* inf or NaN */
+ else return x; /* x is integral */
+ }
+ SET_FLOAT_WORD(x,i0);
+ return x;
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double ceil(double x)
+#else
+ double ceil(x)
+ double x;
+#endif
+{
+ return (double) ceilf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/sf_cos.c b/newlib/libm/math/sf_cos.c
new file mode 100644
index 00000000000..8f3a8af01b6
--- /dev/null
+++ b/newlib/libm/math/sf_cos.c
@@ -0,0 +1,68 @@
+/* sf_cos.c -- float version of s_cos.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float one=1.0;
+#else
+static float one=1.0;
+#endif
+
+#ifdef __STDC__
+ float cosf(float x)
+#else
+ float cosf(x)
+ float x;
+#endif
+{
+ float y[2],z=0.0;
+ __int32_t n,ix;
+
+ GET_FLOAT_WORD(ix,x);
+
+ /* |x| ~< pi/4 */
+ ix &= 0x7fffffff;
+ if(ix <= 0x3f490fd8) return __kernel_cosf(x,z);
+
+ /* cos(Inf or NaN) is NaN */
+ else if (ix>=0x7f800000) return x-x;
+
+ /* argument reduction needed */
+ else {
+ n = __ieee754_rem_pio2f(x,y);
+ switch(n&3) {
+ case 0: return __kernel_cosf(y[0],y[1]);
+ case 1: return -__kernel_sinf(y[0],y[1],1);
+ case 2: return -__kernel_cosf(y[0],y[1]);
+ default:
+ return __kernel_sinf(y[0],y[1],1);
+ }
+ }
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double cos(double x)
+#else
+ double cos(x)
+ double x;
+#endif
+{
+ return (double) cosf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/sf_erf.c b/newlib/libm/math/sf_erf.c
new file mode 100644
index 00000000000..1a9fa8d0126
--- /dev/null
+++ b/newlib/libm/math/sf_erf.c
@@ -0,0 +1,246 @@
+/* sf_erf.c -- float version of s_erf.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __v810__
+#define const
+#endif
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+tiny = 1e-30,
+half= 5.0000000000e-01, /* 0x3F000000 */
+one = 1.0000000000e+00, /* 0x3F800000 */
+two = 2.0000000000e+00, /* 0x40000000 */
+ /* c = (subfloat)0.84506291151 */
+erx = 8.4506291151e-01, /* 0x3f58560b */
+/*
+ * Coefficients for approximation to erf on [0,0.84375]
+ */
+efx = 1.2837916613e-01, /* 0x3e0375d4 */
+efx8= 1.0270333290e+00, /* 0x3f8375d4 */
+pp0 = 1.2837916613e-01, /* 0x3e0375d4 */
+pp1 = -3.2504209876e-01, /* 0xbea66beb */
+pp2 = -2.8481749818e-02, /* 0xbce9528f */
+pp3 = -5.7702702470e-03, /* 0xbbbd1489 */
+pp4 = -2.3763017452e-05, /* 0xb7c756b1 */
+qq1 = 3.9791721106e-01, /* 0x3ecbbbce */
+qq2 = 6.5022252500e-02, /* 0x3d852a63 */
+qq3 = 5.0813062117e-03, /* 0x3ba68116 */
+qq4 = 1.3249473704e-04, /* 0x390aee49 */
+qq5 = -3.9602282413e-06, /* 0xb684e21a */
+/*
+ * Coefficients for approximation to erf in [0.84375,1.25]
+ */
+pa0 = -2.3621185683e-03, /* 0xbb1acdc6 */
+pa1 = 4.1485610604e-01, /* 0x3ed46805 */
+pa2 = -3.7220788002e-01, /* 0xbebe9208 */
+pa3 = 3.1834661961e-01, /* 0x3ea2fe54 */
+pa4 = -1.1089469492e-01, /* 0xbde31cc2 */
+pa5 = 3.5478305072e-02, /* 0x3d1151b3 */
+pa6 = -2.1663755178e-03, /* 0xbb0df9c0 */
+qa1 = 1.0642088205e-01, /* 0x3dd9f331 */
+qa2 = 5.4039794207e-01, /* 0x3f0a5785 */
+qa3 = 7.1828655899e-02, /* 0x3d931ae7 */
+qa4 = 1.2617121637e-01, /* 0x3e013307 */
+qa5 = 1.3637083583e-02, /* 0x3c5f6e13 */
+qa6 = 1.1984500103e-02, /* 0x3c445aa3 */
+/*
+ * Coefficients for approximation to erfc in [1.25,1/0.35]
+ */
+ra0 = -9.8649440333e-03, /* 0xbc21a093 */
+ra1 = -6.9385856390e-01, /* 0xbf31a0b7 */
+ra2 = -1.0558626175e+01, /* 0xc128f022 */
+ra3 = -6.2375331879e+01, /* 0xc2798057 */
+ra4 = -1.6239666748e+02, /* 0xc322658c */
+ra5 = -1.8460508728e+02, /* 0xc3389ae7 */
+ra6 = -8.1287437439e+01, /* 0xc2a2932b */
+ra7 = -9.8143291473e+00, /* 0xc11d077e */
+sa1 = 1.9651271820e+01, /* 0x419d35ce */
+sa2 = 1.3765776062e+02, /* 0x4309a863 */
+sa3 = 4.3456588745e+02, /* 0x43d9486f */
+sa4 = 6.4538726807e+02, /* 0x442158c9 */
+sa5 = 4.2900814819e+02, /* 0x43d6810b */
+sa6 = 1.0863500214e+02, /* 0x42d9451f */
+sa7 = 6.5702495575e+00, /* 0x40d23f7c */
+sa8 = -6.0424413532e-02, /* 0xbd777f97 */
+/*
+ * Coefficients for approximation to erfc in [1/.35,28]
+ */
+rb0 = -9.8649431020e-03, /* 0xbc21a092 */
+rb1 = -7.9928326607e-01, /* 0xbf4c9dd4 */
+rb2 = -1.7757955551e+01, /* 0xc18e104b */
+rb3 = -1.6063638306e+02, /* 0xc320a2ea */
+rb4 = -6.3756646729e+02, /* 0xc41f6441 */
+rb5 = -1.0250950928e+03, /* 0xc480230b */
+rb6 = -4.8351919556e+02, /* 0xc3f1c275 */
+sb1 = 3.0338060379e+01, /* 0x41f2b459 */
+sb2 = 3.2579251099e+02, /* 0x43a2e571 */
+sb3 = 1.5367296143e+03, /* 0x44c01759 */
+sb4 = 3.1998581543e+03, /* 0x4547fdbb */
+sb5 = 2.5530502930e+03, /* 0x451f90ce */
+sb6 = 4.7452853394e+02, /* 0x43ed43a7 */
+sb7 = -2.2440952301e+01; /* 0xc1b38712 */
+
+#ifdef __STDC__
+ float erff(float x)
+#else
+ float erff(x)
+ float x;
+#endif
+{
+ __int32_t hx,ix,i;
+ float R,S,P,Q,s,y,z,r;
+ GET_FLOAT_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x7f800000) { /* erf(nan)=nan */
+ i = ((__uint32_t)hx>>31)<<1;
+ return (float)(1-i)+one/x; /* erf(+-inf)=+-1 */
+ }
+
+ if(ix < 0x3f580000) { /* |x|<0.84375 */
+ if(ix < 0x31800000) { /* |x|<2**-28 */
+ if (ix < 0x04000000)
+ /*avoid underflow */
+ return (float)0.125*((float)8.0*x+efx8*x);
+ return x + efx*x;
+ }
+ z = x*x;
+ r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4)));
+ s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5))));
+ y = r/s;
+ return x + x*y;
+ }
+ if(ix < 0x3fa00000) { /* 0.84375 <= |x| < 1.25 */
+ s = fabsf(x)-one;
+ P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6)))));
+ Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6)))));
+ if(hx>=0) return erx + P/Q; else return -erx - P/Q;
+ }
+ if (ix >= 0x40c00000) { /* inf>|x|>=6 */
+ if(hx>=0) return one-tiny; else return tiny-one;
+ }
+ x = fabsf(x);
+ s = one/(x*x);
+ if(ix< 0x4036DB6E) { /* |x| < 1/0.35 */
+ R=ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*(
+ ra5+s*(ra6+s*ra7))))));
+ S=one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*(
+ sa5+s*(sa6+s*(sa7+s*sa8)))))));
+ } else { /* |x| >= 1/0.35 */
+ R=rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*(
+ rb5+s*rb6)))));
+ S=one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*(
+ sb5+s*(sb6+s*sb7))))));
+ }
+ GET_FLOAT_WORD(ix,x);
+ SET_FLOAT_WORD(z,ix&0xfffff000);
+ r = __ieee754_expf(-z*z-(float)0.5625)*__ieee754_expf((z-x)*(z+x)+R/S);
+ if(hx>=0) return one-r/x; else return r/x-one;
+}
+
+#ifdef __STDC__
+ float erfcf(float x)
+#else
+ float erfcf(x)
+ float x;
+#endif
+{
+ __int32_t hx,ix;
+ float R,S,P,Q,s,y,z,r;
+ GET_FLOAT_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x7f800000) { /* erfc(nan)=nan */
+ /* erfc(+-inf)=0,2 */
+ return (float)(((__uint32_t)hx>>31)<<1)+one/x;
+ }
+
+ if(ix < 0x3f580000) { /* |x|<0.84375 */
+ if(ix < 0x23800000) /* |x|<2**-56 */
+ return one-x;
+ z = x*x;
+ r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4)));
+ s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5))));
+ y = r/s;
+ if(hx < 0x3e800000) { /* x<1/4 */
+ return one-(x+x*y);
+ } else {
+ r = x*y;
+ r += (x-half);
+ return half - r ;
+ }
+ }
+ if(ix < 0x3fa00000) { /* 0.84375 <= |x| < 1.25 */
+ s = fabsf(x)-one;
+ P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6)))));
+ Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6)))));
+ if(hx>=0) {
+ z = one-erx; return z - P/Q;
+ } else {
+ z = erx+P/Q; return one+z;
+ }
+ }
+ if (ix < 0x41e00000) { /* |x|<28 */
+ x = fabsf(x);
+ s = one/(x*x);
+ if(ix< 0x4036DB6D) { /* |x| < 1/.35 ~ 2.857143*/
+ R=ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*(
+ ra5+s*(ra6+s*ra7))))));
+ S=one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*(
+ sa5+s*(sa6+s*(sa7+s*sa8)))))));
+ } else { /* |x| >= 1/.35 ~ 2.857143 */
+ if(hx<0&&ix>=0x40c00000) return two-tiny;/* x < -6 */
+ R=rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*(
+ rb5+s*rb6)))));
+ S=one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*(
+ sb5+s*(sb6+s*sb7))))));
+ }
+ GET_FLOAT_WORD(ix,x);
+ SET_FLOAT_WORD(z,ix&0xfffff000);
+ r = __ieee754_expf(-z*z-(float)0.5625)*
+ __ieee754_expf((z-x)*(z+x)+R/S);
+ if(hx>0) return r/x; else return two-r/x;
+ } else {
+ if(hx>0) return tiny*tiny; else return two-tiny;
+ }
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double erf(double x)
+#else
+ double erf(x)
+ double x;
+#endif
+{
+ return (double) erff((float) x);
+}
+
+#ifdef __STDC__
+ double erfc(double x)
+#else
+ double erfc(x)
+ double x;
+#endif
+{
+ return (double) erfcf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/sf_fabs.c b/newlib/libm/math/sf_fabs.c
new file mode 100644
index 00000000000..2aaed326ab9
--- /dev/null
+++ b/newlib/libm/math/sf_fabs.c
@@ -0,0 +1,47 @@
+/* sf_fabs.c -- float version of s_fabs.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * fabsf(x) returns the absolute value of x.
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+ float fabsf(float x)
+#else
+ float fabsf(x)
+ float x;
+#endif
+{
+ __uint32_t ix;
+ GET_FLOAT_WORD(ix,x);
+ SET_FLOAT_WORD(x,ix&0x7fffffff);
+ return x;
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double fabs(double x)
+#else
+ double fabs(x)
+ double x;
+#endif
+{
+ return (double) fabsf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/sf_floor.c b/newlib/libm/math/sf_floor.c
new file mode 100644
index 00000000000..787f2fdf025
--- /dev/null
+++ b/newlib/libm/math/sf_floor.c
@@ -0,0 +1,79 @@
+/* sf_floor.c -- float version of s_floor.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * floorf(x)
+ * Return x rounded toward -inf to integral value
+ * Method:
+ * Bit twiddling.
+ * Exception:
+ * Inexact flag raised if x not equal to floorf(x).
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float huge = 1.0e30;
+#else
+static float huge = 1.0e30;
+#endif
+
+#ifdef __STDC__
+ float floorf(float x)
+#else
+ float floorf(x)
+ float x;
+#endif
+{
+ __int32_t i0,j0;
+ __uint32_t i;
+ GET_FLOAT_WORD(i0,x);
+ j0 = ((i0>>23)&0xff)-0x7f;
+ if(j0<23) {
+ if(j0<0) { /* raise inexact if x != 0 */
+ if(huge+x>(float)0.0) {/* return 0*sign(x) if |x|<1 */
+ if(i0>=0) {i0=0;}
+ else if((i0&0x7fffffff)!=0)
+ { i0=0xbf800000;}
+ }
+ } else {
+ i = (0x007fffff)>>j0;
+ if((i0&i)==0) return x; /* x is integral */
+ if(huge+x>(float)0.0) { /* raise inexact flag */
+ if(i0<0) i0 += (0x00800000)>>j0;
+ i0 &= (~i);
+ }
+ }
+ } else {
+ if(j0==0x80) return x+x; /* inf or NaN */
+ else return x; /* x is integral */
+ }
+ SET_FLOAT_WORD(x,i0);
+ return x;
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double floor(double x)
+#else
+ double floor(x)
+ double x;
+#endif
+{
+ return (double) floorf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/sf_frexp.c b/newlib/libm/math/sf_frexp.c
new file mode 100644
index 00000000000..271fb9dca68
--- /dev/null
+++ b/newlib/libm/math/sf_frexp.c
@@ -0,0 +1,61 @@
+/* sf_frexp.c -- float version of s_frexp.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+two25 = 3.3554432000e+07; /* 0x4c000000 */
+
+#ifdef __STDC__
+ float frexpf(float x, int *eptr)
+#else
+ float frexpf(x, eptr)
+ float x; int *eptr;
+#endif
+{
+ __int32_t hx, ix;
+ GET_FLOAT_WORD(hx,x);
+ ix = 0x7fffffff&hx;
+ *eptr = 0;
+ if(ix>=0x7f800000||(ix==0)) return x; /* 0,inf,nan */
+ if (ix<0x00800000) { /* subnormal */
+ x *= two25;
+ GET_FLOAT_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ *eptr = -25;
+ }
+ *eptr += (ix>>23)-126;
+ hx = (hx&0x807fffff)|0x3f000000;
+ SET_FLOAT_WORD(x,hx);
+ return x;
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double frexp(double x, int *eptr)
+#else
+ double frexp(x, eptr)
+ double x; int *eptr;
+#endif
+{
+ return (double) frexpf((float) x, eptr);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/sf_isinf.c b/newlib/libm/math/sf_isinf.c
new file mode 100644
index 00000000000..1af4aab2abe
--- /dev/null
+++ b/newlib/libm/math/sf_isinf.c
@@ -0,0 +1,35 @@
+/*
+ * isinff(x) returns 1 if x is infinity, else 0;
+ * no branching!
+ * Added by Cygnus Support.
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+ int isinff(float x)
+#else
+ int isinff(x)
+ float x;
+#endif
+{
+ __int32_t ix;
+ GET_FLOAT_WORD(ix,x);
+ ix &= 0x7fffffff;
+ ix = 0x7f800000 - ix;
+ return 1 - (int)((__uint32_t)(ix|(-ix))>>31);
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ int isinf(double x)
+#else
+ int isinf(x)
+ double x;
+#endif
+{
+ return isinff((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/sf_isnan.c b/newlib/libm/math/sf_isnan.c
new file mode 100644
index 00000000000..8fdb6adf251
--- /dev/null
+++ b/newlib/libm/math/sf_isnan.c
@@ -0,0 +1,49 @@
+/* sf_isnan.c -- float version of s_isnan.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * isnanf(x) returns 1 is x is nan, else 0;
+ * no branching!
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+ int isnanf(float x)
+#else
+ int isnanf(x)
+ float x;
+#endif
+{
+ __int32_t ix;
+ GET_FLOAT_WORD(ix,x);
+ ix &= 0x7fffffff;
+ ix = 0x7f800000 - ix;
+ return (int)(((__uint32_t)(ix))>>31);
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ int isnan(double x)
+#else
+ int isnan(x)
+ double x;
+#endif
+{
+ return isnanf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/sf_ldexp.c b/newlib/libm/math/sf_ldexp.c
new file mode 100644
index 00000000000..2781304825c
--- /dev/null
+++ b/newlib/libm/math/sf_ldexp.c
@@ -0,0 +1,44 @@
+/* sf_ldexp.c -- float version of s_ldexp.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifdef __STDC__
+ float ldexpf(float value, int exp)
+#else
+ float ldexpf(value, exp)
+ float value; int exp;
+#endif
+{
+ if(!finitef(value)||value==(float)0.0) return value;
+ value = scalbnf(value,exp);
+ if(!finitef(value)||value==(float)0.0) errno = ERANGE;
+ return value;
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double ldexp(double value, int exp)
+#else
+ double ldexp(value, exp)
+ double value; int exp;
+#endif
+{
+ return (double) ldexpf((float) value, exp);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/sf_signif.c b/newlib/libm/math/sf_signif.c
new file mode 100644
index 00000000000..fd4a072479a
--- /dev/null
+++ b/newlib/libm/math/sf_signif.c
@@ -0,0 +1,40 @@
+/* sf_signif.c -- float version of s_signif.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+ float significandf(float x)
+#else
+ float significandf(x)
+ float x;
+#endif
+{
+ return __ieee754_scalbf(x,(float) -ilogbf(x));
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double significand(double x)
+#else
+ double significand(x)
+ double x;
+#endif
+{
+ return (double) significandf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/sf_sin.c b/newlib/libm/math/sf_sin.c
new file mode 100644
index 00000000000..315d4b4ba1e
--- /dev/null
+++ b/newlib/libm/math/sf_sin.c
@@ -0,0 +1,62 @@
+/* sf_sin.c -- float version of s_sin.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+ float sinf(float x)
+#else
+ float sinf(x)
+ float x;
+#endif
+{
+ float y[2],z=0.0;
+ __int32_t n,ix;
+
+ GET_FLOAT_WORD(ix,x);
+
+ /* |x| ~< pi/4 */
+ ix &= 0x7fffffff;
+ if(ix <= 0x3f490fd8) return __kernel_sinf(x,z,0);
+
+ /* sin(Inf or NaN) is NaN */
+ else if (ix>=0x7f800000) return x-x;
+
+ /* argument reduction needed */
+ else {
+ n = __ieee754_rem_pio2f(x,y);
+ switch(n&3) {
+ case 0: return __kernel_sinf(y[0],y[1],1);
+ case 1: return __kernel_cosf(y[0],y[1]);
+ case 2: return -__kernel_sinf(y[0],y[1],1);
+ default:
+ return -__kernel_cosf(y[0],y[1]);
+ }
+ }
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double sin(double x)
+#else
+ double sin(x)
+ double x;
+#endif
+{
+ return (double) sinf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/sf_tan.c b/newlib/libm/math/sf_tan.c
new file mode 100644
index 00000000000..ade1cb216e5
--- /dev/null
+++ b/newlib/libm/math/sf_tan.c
@@ -0,0 +1,57 @@
+/* sf_tan.c -- float version of s_tan.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+ float tanf(float x)
+#else
+ float tanf(x)
+ float x;
+#endif
+{
+ float y[2],z=0.0;
+ __int32_t n,ix;
+
+ GET_FLOAT_WORD(ix,x);
+
+ /* |x| ~< pi/4 */
+ ix &= 0x7fffffff;
+ if(ix <= 0x3f490fda) return __kernel_tanf(x,z,1);
+
+ /* tan(Inf or NaN) is NaN */
+ else if (ix>=0x7f800000) return x-x; /* NaN */
+
+ /* argument reduction needed */
+ else {
+ n = __ieee754_rem_pio2f(x,y);
+ return __kernel_tanf(y[0],y[1],1-((n&1)<<1)); /* 1 -- n even
+ -1 -- n odd */
+ }
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double tan(double x)
+#else
+ double tan(x)
+ double x;
+#endif
+{
+ return (double) tanf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/sf_tanh.c b/newlib/libm/math/sf_tanh.c
new file mode 100644
index 00000000000..ba9edf5c0c5
--- /dev/null
+++ b/newlib/libm/math/sf_tanh.c
@@ -0,0 +1,73 @@
+/* sf_tanh.c -- float version of s_tanh.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float one=1.0, two=2.0, tiny = 1.0e-30;
+#else
+static float one=1.0, two=2.0, tiny = 1.0e-30;
+#endif
+
+#ifdef __STDC__
+ float tanhf(float x)
+#else
+ float tanhf(x)
+ float x;
+#endif
+{
+ float t,z;
+ __int32_t jx,ix;
+
+ GET_FLOAT_WORD(jx,x);
+ ix = jx&0x7fffffff;
+
+ /* x is INF or NaN */
+ if(ix>=0x7f800000) {
+ if (jx>=0) return one/x+one; /* tanh(+-inf)=+-1 */
+ else return one/x-one; /* tanh(NaN) = NaN */
+ }
+
+ /* |x| < 22 */
+ if (ix < 0x41b00000) { /* |x|<22 */
+ if (ix<0x24000000) /* |x|<2**-55 */
+ return x*(one+x); /* tanh(small) = small */
+ if (ix>=0x3f800000) { /* |x|>=1 */
+ t = expm1f(two*fabsf(x));
+ z = one - two/(t+two);
+ } else {
+ t = expm1f(-two*fabsf(x));
+ z= -t/(t+two);
+ }
+ /* |x| > 22, return +-1 */
+ } else {
+ z = one - tiny; /* raised inexact flag */
+ }
+ return (jx>=0)? z: -z;
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double tanh(double x)
+#else
+ double tanh(x)
+ double x;
+#endif
+{
+ return (double) tanhf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/w_acos.c b/newlib/libm/math/w_acos.c
new file mode 100644
index 00000000000..c9ca99c4041
--- /dev/null
+++ b/newlib/libm/math/w_acos.c
@@ -0,0 +1,118 @@
+
+/* @(#)w_acos.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<acos>>, <<acosf>>---arc cosine
+
+INDEX
+ acos
+INDEX
+ acosf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double acos(double <[x]>);
+ float acosf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double acos(<[x]>)
+ double <[x]>;
+
+ float acosf(<[x]>)
+ float <[x]>;
+
+
+
+DESCRIPTION
+
+ <<acos>> computes the inverse cosine (arc cosine) of the input value.
+ Arguments to <<acos>> must be in the range @minus{}1 to 1.
+
+ <<acosf>> is identical to <<acos>>, except that it performs
+ its calculations on <<floats>>.
+
+RETURNS
+ @ifinfo
+ <<acos>> and <<acosf>> return values in radians, in the range of 0 to pi.
+ @end ifinfo
+ @tex
+ <<acos>> and <<acosf>> return values in radians, in the range of <<0>> to $\pi$.
+ @end tex
+
+ If <[x]> is not between @minus{}1 and 1, the returned value is NaN
+ (not a number) the global variable <<errno>> is set to <<EDOM>>, and a
+ <<DOMAIN error>> message is sent as standard error output.
+
+ You can modify error handling for these functions using <<matherr>>.
+
+
+QUICKREF ANSI SVID POSIX RENTRANT
+ acos y,y,y,m
+ acosf n,n,n,m
+
+MATHREF
+ acos, [-1,1], acos(arg),,,
+ acos, NAN, arg,DOMAIN,EDOM
+
+MATHREF
+ acosf, [-1,1], acosf(arg),,,
+ acosf, NAN, argf,DOMAIN,EDOM
+
+*/
+
+/*
+ * wrap_acos(x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double acos(double x) /* wrapper acos */
+#else
+ double acos(x) /* wrapper acos */
+ double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_acos(x);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_acos(x);
+ if(_LIB_VERSION == _IEEE_ || isnan(x)) return z;
+ if(fabs(x)>1.0) {
+ /* acos(|x|>1) */
+ exc.type = DOMAIN;
+ exc.name = "acos";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = x;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/w_acosh.c b/newlib/libm/math/w_acosh.c
new file mode 100644
index 00000000000..4120d7b129b
--- /dev/null
+++ b/newlib/libm/math/w_acosh.c
@@ -0,0 +1,122 @@
+
+/* @(#)w_acosh.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/*
+FUNCTION
+<<acosh>>, <<acoshf>>---inverse hyperbolic cosine
+
+INDEX
+acosh
+INDEX
+acoshf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double acosh(double <[x]>);
+ float acoshf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double acosh(<[x]>)
+ double <[x]>;
+
+ float acoshf(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+<<acosh>> calculates the inverse hyperbolic cosine of <[x]>.
+<<acosh>> is defined as
+@ifinfo
+. log(<[x]> + sqrt(<[x]>*<[x]>-1))
+@end ifinfo
+@tex
+$$ln\Bigl(x + \sqrt{x^2-1}\Bigr)$$
+@end tex
+
+<[x]> must be a number greater than or equal to 1.
+
+<<acoshf>> is identical, other than taking and returning floats.
+
+RETURNS
+<<acosh>> and <<acoshf>> return the calculated value. If <[x]>
+less than 1, the return value is NaN and <<errno>> is set to <<EDOM>>.
+
+You can change the error-handling behavior with the non-ANSI
+<<matherr>> function.
+
+PORTABILITY
+Neither <<acosh>> nor <<acoshf>> are ANSI C. They are not recommended
+for portable programs.
+
+
+QUICKREF ANSI SVID POSIX RENTRANT
+ acos n,n,n,m
+ acosf n,n,n,m
+
+MATHREF
+ acosh, NAN, arg,DOMAIN,EDOM
+ acosh, < 1.0, NAN,DOMAIN,EDOM
+ acosh, >=1.0, acosh(arg),,,
+
+MATHREF
+ acoshf, NAN, arg,DOMAIN,EDOM
+ acoshf, < 1.0, NAN,DOMAIN,EDOM
+ acoshf, >=1.0, acosh(arg),,,
+
+*/
+
+/*
+ * wrapper acosh(x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double acosh(double x) /* wrapper acosh */
+#else
+ double acosh(x) /* wrapper acosh */
+ double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_acosh(x);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_acosh(x);
+ if(_LIB_VERSION == _IEEE_ || isnan(x)) return z;
+ if(x<1.0) {
+ /* acosh(x<1) */
+ exc.type = DOMAIN;
+ exc.name = "acosh";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = x;
+ exc.retval = 0.0/0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/w_asin.c b/newlib/libm/math/w_asin.c
new file mode 100644
index 00000000000..f6cb271d392
--- /dev/null
+++ b/newlib/libm/math/w_asin.c
@@ -0,0 +1,121 @@
+
+/* @(#)w_asin.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/*
+FUNCTION
+ <<asin>>, <<asinf>>---arc sine
+
+INDEX
+ asin
+INDEX
+ asinf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double asin(double <[x]>);
+ float asinf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double asin(<[x]>)
+ double <[x]>;
+
+ float asinf(<[x]>)
+ float <[x]>;
+
+
+DESCRIPTION
+
+<<asin>> computes the inverse sine (arc sine) of the argument <[x]>.
+Arguments to <<asin>> must be in the range @minus{}1 to 1.
+
+<<asinf>> is identical to <<asin>>, other than taking and
+returning floats.
+
+You can modify error handling for these routines using <<matherr>>.
+
+RETURNS
+@ifinfo
+<<asin>> returns values in radians, in the range of -pi/2 to pi/2.
+@end ifinfo
+@tex
+<<asin>> returns values in radians, in the range of $-\pi/2$ to $\pi/2$.
+@end tex
+
+If <[x]> is not in the range @minus{}1 to 1, <<asin>> and <<asinf>>
+return NaN (not a number), set the global variable <<errno>> to
+<<EDOM>>, and issue a <<DOMAIN error>> message.
+
+You can change this error treatment using <<matherr>>.
+
+QUICKREF ANSI SVID POSIX RENTRANT
+ asin y,y,y,m
+ asinf n,n,n,m
+
+MATHREF
+ asin, -1<=arg<=1, asin(arg),,,
+ asin, NAN, arg,EDOM, DOMAIN
+
+MATHREF
+ asinf, -1<=arg<=1, asin(arg),,,
+ asinf, NAN, arg,EDOM, DOMAIN
+
+
+*/
+
+/*
+ * wrapper asin(x)
+ */
+
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double asin(double x) /* wrapper asin */
+#else
+ double asin(x) /* wrapper asin */
+ double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_asin(x);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_asin(x);
+ if(_LIB_VERSION == _IEEE_ || isnan(x)) return z;
+ if(fabs(x)>1.0) {
+ /* asin(|x|>1) */
+ exc.type = DOMAIN;
+ exc.name = "asin";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = x;
+ exc.retval = 0.0;
+ if(_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/w_atan2.c b/newlib/libm/math/w_atan2.c
new file mode 100644
index 00000000000..91742c72b91
--- /dev/null
+++ b/newlib/libm/math/w_atan2.c
@@ -0,0 +1,117 @@
+
+/* @(#)w_atan2.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/*
+FUNCTION
+ <<atan2>>, <<atan2f>>---arc tangent of y/x
+
+INDEX
+ atan2
+INDEX
+ atan2f
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double atan2(double <[y]>,double <[x]>);
+ float atan2f(float <[y]>,float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double atan2(<[y]>,<[x]>);
+ double <[y]>;
+ double <[x]>;
+
+ float atan2f(<[y]>,<[x]>);
+ float <[y]>;
+ float <[x]>;
+
+DESCRIPTION
+
+<<atan2>> computes the inverse tangent (arc tangent) of <[y]>/<[x]>.
+<<atan2>> produces the correct result even for angles near
+@ifinfo
+pi/2 or -pi/2
+@end ifinfo
+@tex
+$\pi/2$ or $-\pi/2$
+@end tex
+(that is, when <[x]> is near 0).
+
+<<atan2f>> is identical to <<atan2>>, save that it takes and returns
+<<float>>.
+
+RETURNS
+<<atan2>> and <<atan2f>> return a value in radians, in the range of
+@ifinfo
+-pi to pi.
+@end ifinfo
+@tex
+$-\pi$ to $\pi$.
+@end tex
+
+If both <[x]> and <[y]> are 0.0, <<atan2>> causes a <<DOMAIN>> error.
+
+You can modify error handling for these functions using <<matherr>>.
+
+PORTABILITY
+<<atan2>> is ANSI C. <<atan2f>> is an extension.
+
+
+*/
+
+/*
+ * wrapper atan2(y,x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double atan2(double y, double x) /* wrapper atan2 */
+#else
+ double atan2(y,x) /* wrapper atan2 */
+ double y,x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_atan2(y,x);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_atan2(y,x);
+ if(_LIB_VERSION == _IEEE_||isnan(x)||isnan(y)) return z;
+ if(x==0.0&&y==0.0) {
+ /* atan2(+-0,+-0) */
+ exc.arg1 = y;
+ exc.arg2 = x;
+ exc.type = DOMAIN;
+ exc.name = "atan2";
+ exc.err = 0;
+ exc.retval = 0.0;
+ if(_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/w_atanh.c b/newlib/libm/math/w_atanh.c
new file mode 100644
index 00000000000..b89d4f02537
--- /dev/null
+++ b/newlib/libm/math/w_atanh.c
@@ -0,0 +1,140 @@
+
+/* @(#)w_atanh.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<atanh>>, <<atanhf>>---inverse hyperbolic tangent
+
+INDEX
+ atanh
+INDEX
+ atanhf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double atanh(double <[x]>);
+ float atanhf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double atanh(<[x]>)
+ double <[x]>;
+
+ float atanhf(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+ <<atanh>> calculates the inverse hyperbolic tangent of <[x]>.
+
+ <<atanhf>> is identical, other than taking and returning
+ <<float>> values.
+
+RETURNS
+ <<atanh>> and <<atanhf>> return the calculated value.
+
+ If
+ @ifinfo
+ |<[x]>|
+ @end ifinfo
+ @tex
+ $|x|$
+ @end tex
+ is greater than 1, the global <<errno>> is set to <<EDOM>> and
+ the result is a NaN. A <<DOMAIN error>> is reported.
+
+ If
+ @ifinfo
+ |<[x]>|
+ @end ifinfo
+ @tex
+ $|x|$
+ @end tex
+ is 1, the global <<errno>> is set to <<EDOM>>; and the result is
+ infinity with the same sign as <<x>>. A <<SING error>> is reported.
+
+ You can modify the error handling for these routines using
+ <<matherr>>.
+
+PORTABILITY
+ Neither <<atanh>> nor <<atanhf>> are ANSI C.
+
+QUICKREF
+ atanh - pure
+ atanhf - pure
+
+
+*/
+
+/*
+ * wrapper atanh(x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double atanh(double x) /* wrapper atanh */
+#else
+ double atanh(x) /* wrapper atanh */
+ double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_atanh(x);
+#else
+ double z,y;
+ struct exception exc;
+ z = __ieee754_atanh(x);
+ if(_LIB_VERSION == _IEEE_ || isnan(x)) return z;
+ y = fabs(x);
+ if(y>=1.0) {
+ if(y>1.0) {
+ /* atanh(|x|>1) */
+ exc.type = DOMAIN;
+ exc.name = "atanh";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = x;
+ exc.retval = 0.0/0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ } else {
+ /* atanh(|x|=1) */
+ exc.type = SING;
+ exc.name = "atanh";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = x;
+ exc.retval = x/0.0; /* sign(x)*inf */
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
+
+
+
+
diff --git a/newlib/libm/math/w_cabs.c b/newlib/libm/math/w_cabs.c
new file mode 100644
index 00000000000..bef76680c06
--- /dev/null
+++ b/newlib/libm/math/w_cabs.c
@@ -0,0 +1,20 @@
+/*
+ * cabs() wrapper for hypot().
+ *
+ * Written by J.T. Conklin, <jtc@wimsey.com>
+ * Placed into the Public Domain, 1994.
+ */
+
+#include "fdlibm.h"
+
+struct complex {
+ double x;
+ double y;
+};
+
+double
+cabs(z)
+ struct complex z;
+{
+ return hypot(z.x, z.y);
+}
diff --git a/newlib/libm/math/w_cosh.c b/newlib/libm/math/w_cosh.c
new file mode 100644
index 00000000000..7b38dcb088f
--- /dev/null
+++ b/newlib/libm/math/w_cosh.c
@@ -0,0 +1,116 @@
+
+/* @(#)w_cosh.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+
+FUNCTION
+ <<cosh>>, <<coshf>>---hyperbolic cosine
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double cosh(double <[x]>);
+ float coshf(float <[x]>)
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double cosh(<[x]>)
+ double <[x]>;
+
+ float coshf(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+
+ <<cosh>> computes the hyperbolic cosine of the argument <[x]>.
+ <<cosh(<[x]>)>> is defined as
+ @ifinfo
+ . (exp(x) + exp(-x))/2
+ @end ifinfo
+ @tex
+ $${(e^x + e^{-x})} \over 2$$
+ @end tex
+
+ Angles are specified in radians.
+
+ <<coshf>> is identical, save that it takes and returns <<float>>.
+
+RETURNS
+ The computed value is returned. When the correct value would create
+ an overflow, <<cosh>> returns the value <<HUGE_VAL>> with the
+ appropriate sign, and the global value <<errno>> is set to <<ERANGE>>.
+
+ You can modify error handling for these functions using the
+ function <<matherr>>.
+
+PORTABILITY
+ <<cosh>> is ANSI.
+ <<coshf>> is an extension.
+
+QUICKREF
+ cosh ansi pure
+ coshf - pure
+*/
+
+/*
+ * wrapper cosh(x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double cosh(double x) /* wrapper cosh */
+#else
+ double cosh(x) /* wrapper cosh */
+ double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_cosh(x);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_cosh(x);
+ if(_LIB_VERSION == _IEEE_ || isnan(x)) return z;
+ if(fabs(x)>7.10475860073943863426e+02) {
+ /* cosh(finite) overflow */
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.type = OVERFLOW;
+ exc.name = "cosh";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = HUGE;
+ else
+ exc.retval = HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/w_drem.c b/newlib/libm/math/w_drem.c
new file mode 100644
index 00000000000..d289bdaac9e
--- /dev/null
+++ b/newlib/libm/math/w_drem.c
@@ -0,0 +1,15 @@
+/*
+ * drem() wrapper for remainder().
+ *
+ * Written by J.T. Conklin, <jtc@wimsey.com>
+ * Placed into the Public Domain, 1994.
+ */
+
+#include "fdlibm.h"
+
+double
+drem(x, y)
+ double x, y;
+{
+ return remainder(x, y);
+}
diff --git a/newlib/libm/math/w_exp.c b/newlib/libm/math/w_exp.c
new file mode 100644
index 00000000000..ae792a84642
--- /dev/null
+++ b/newlib/libm/math/w_exp.c
@@ -0,0 +1,136 @@
+
+/* @(#)w_exp.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<exp>>, <<expf>>---exponential
+INDEX
+ exp
+INDEX
+ expf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double exp(double <[x]>);
+ float expf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double exp(<[x]>);
+ double <[x]>;
+
+ float expf(<[x]>);
+ float <[x]>;
+
+DESCRIPTION
+ <<exp>> and <<expf>> calculate the exponential of <[x]>, that is,
+ @ifinfo
+ e raised to the power <[x]> (where e
+ @end ifinfo
+ @tex
+ $e^x$ (where $e$
+ @end tex
+ is the base of the natural system of logarithms, approximately 2.71828).
+
+ You can use the (non-ANSI) function <<matherr>> to specify
+ error handling for these functions.
+
+RETURNS
+ On success, <<exp>> and <<expf>> return the calculated value.
+ If the result underflows, the returned value is <<0>>. If the
+ result overflows, the returned value is <<HUGE_VAL>>. In
+ either case, <<errno>> is set to <<ERANGE>>.
+
+PORTABILITY
+ <<exp>> is ANSI C. <<expf>> is an extension.
+
+*/
+
+/*
+ * wrapper exp(x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+o_threshold= 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */
+u_threshold= -7.45133219101941108420e+02; /* 0xc0874910, 0xD52D3051 */
+
+#ifdef __STDC__
+ double exp(double x) /* wrapper exp */
+#else
+ double exp(x) /* wrapper exp */
+ double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_exp(x);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_exp(x);
+ if(_LIB_VERSION == _IEEE_) return z;
+ if(finite(x)) {
+ if(x>o_threshold) {
+ /* exp(finite) overflow */
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.type = OVERFLOW;
+ exc.name = "exp";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = HUGE;
+ else
+ exc.retval = HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else if(x<u_threshold) {
+ /* exp(finite) underflow */
+ exc.type = UNDERFLOW;
+ exc.name = "exp";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = x;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ }
+ }
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/w_fmod.c b/newlib/libm/math/w_fmod.c
new file mode 100644
index 00000000000..b6b36cb76ab
--- /dev/null
+++ b/newlib/libm/math/w_fmod.c
@@ -0,0 +1,107 @@
+
+/* @(#)w_fmod.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+<<fmod>>, <<fmodf>>---floating-point remainder (modulo)
+
+INDEX
+fmod
+INDEX
+fmodf
+
+ANSI_SYNOPSIS
+#include <math.h>
+double fmod(double <[x]>, double <[y]>)
+float fmodf(float <[x]>, float <[y]>)
+
+TRAD_SYNOPSIS
+#include <math.h>
+double fmod(<[x]>, <[y]>)
+double (<[x]>, <[y]>);
+
+float fmodf(<[x]>, <[y]>)
+float (<[x]>, <[y]>);
+
+DESCRIPTION
+The <<fmod>> and <<fmodf>> functions compute the floating-point
+remainder of <[x]>/<[y]> (<[x]> modulo <[y]>).
+
+RETURNS
+The <<fmod>> function returns the value
+@ifinfo
+<[x]>-<[i]>*<[y]>,
+@end ifinfo
+@tex
+$x-i\times y$,
+@end tex
+for the largest integer <[i]> such that, if <[y]> is nonzero, the
+result has the same sign as <[x]> and magnitude less than the
+magnitude of <[y]>.
+
+<<fmod(<[x]>,0)>> returns NaN, and sets <<errno>> to <<EDOM>>.
+
+You can modify error treatment for these functions using <<matherr>>.
+
+PORTABILITY
+<<fmod>> is ANSI C. <<fmodf>> is an extension.
+*/
+
+/*
+ * wrapper fmod(x,y)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double fmod(double x, double y) /* wrapper fmod */
+#else
+ double fmod(x,y) /* wrapper fmod */
+ double x,y;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_fmod(x,y);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_fmod(x,y);
+ if(_LIB_VERSION == _IEEE_ ||isnan(y)||isnan(x)) return z;
+ if(y==0.0) {
+ /* fmod(x,0) */
+ exc.type = DOMAIN;
+ exc.name = "fmod";
+ exc.arg1 = x;
+ exc.arg2 = y;
+ exc.err = 0;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = x;
+ else
+ exc.retval = 0.0/0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/w_gamma.c b/newlib/libm/math/w_gamma.c
new file mode 100644
index 00000000000..da0211555d2
--- /dev/null
+++ b/newlib/libm/math/w_gamma.c
@@ -0,0 +1,193 @@
+
+/* @(#)w_gamma.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/*
+FUNCTION
+ <<gamma>>, <<gammaf>>, <<lgamma>>, <<lgammaf>>, <<gamma_r>>,
+ <<gammaf_r>>, <<lgamma_r>>, <<lgammaf_r>>---logarithmic gamma
+ function
+INDEX
+gamma
+INDEX
+gammaf
+INDEX
+lgamma
+INDEX
+lgammaf
+INDEX
+gamma_r
+INDEX
+gammaf_r
+INDEX
+lgamma_r
+INDEX
+lgammaf_r
+
+ANSI_SYNOPSIS
+#include <math.h>
+double gamma(double <[x]>);
+float gammaf(float <[x]>);
+double lgamma(double <[x]>);
+float lgammaf(float <[x]>);
+double gamma_r(double <[x]>, int *<[signgamp]>);
+float gammaf_r(float <[x]>, int *<[signgamp]>);
+double lgamma_r(double <[x]>, int *<[signgamp]>);
+float lgammaf_r(float <[x]>, int *<[signgamp]>);
+
+TRAD_SYNOPSIS
+#include <math.h>
+double gamma(<[x]>)
+double <[x]>;
+float gammaf(<[x]>)
+float <[x]>;
+double lgamma(<[x]>)
+double <[x]>;
+float lgammaf(<[x]>)
+float <[x]>;
+double gamma_r(<[x]>, <[signgamp]>)
+double <[x]>;
+int <[signgamp]>;
+float gammaf_r(<[x]>, <[signgamp]>)
+float <[x]>;
+int <[signgamp]>;
+double lgamma_r(<[x]>, <[signgamp]>)
+double <[x]>;
+int <[signgamp]>;
+float lgammaf_r(<[x]>, <[signgamp]>)
+float <[x]>;
+int <[signgamp]>;
+
+DESCRIPTION
+<<gamma>> calculates
+@tex
+$\mit ln\bigl(\Gamma(x)\bigr)$,
+@end tex
+the natural logarithm of the gamma function of <[x]>. The gamma function
+(<<exp(gamma(<[x]>))>>) is a generalization of factorial, and retains
+the property that
+@ifinfo
+<<exp(gamma(N))>> is equivalent to <<N*exp(gamma(N-1))>>.
+@end ifinfo
+@tex
+$\mit \Gamma(N)\equiv N\times\Gamma(N-1)$.
+@end tex
+Accordingly, the results of the gamma function itself grow very
+quickly. <<gamma>> is defined as
+@tex
+$\mit ln\bigl(\Gamma(x)\bigr)$ rather than simply $\mit \Gamma(x)$
+@end tex
+@ifinfo
+the natural log of the gamma function, rather than the gamma function
+itself,
+@end ifinfo
+to extend the useful range of results representable.
+
+The sign of the result is returned in the global variable <<signgam>>,
+which is declared in math.h.
+
+<<gammaf>> performs the same calculation as <<gamma>>, but uses and
+returns <<float>> values.
+
+<<lgamma>> and <<lgammaf>> are alternate names for <<gamma>> and
+<<gammaf>>. The use of <<lgamma>> instead of <<gamma>> is a reminder
+that these functions compute the log of the gamma function, rather
+than the gamma function itself.
+
+The functions <<gamma_r>>, <<gammaf_r>>, <<lgamma_r>>, and
+<<lgammaf_r>> are just like <<gamma>>, <<gammaf>>, <<lgamma>>, and
+<<lgammaf>>, respectively, but take an additional argument. This
+additional argument is a pointer to an integer. This additional
+argument is used to return the sign of the result, and the global
+variable <<signgam>> is not used. These functions may be used for
+reentrant calls (but they will still set the global variable <<errno>>
+if an error occurs).
+
+RETURNS
+Normally, the computed result is returned.
+
+When <[x]> is a nonpositive integer, <<gamma>> returns <<HUGE_VAL>>
+and <<errno>> is set to <<EDOM>>. If the result overflows, <<gamma>>
+returns <<HUGE_VAL>> and <<errno>> is set to <<ERANGE>>.
+
+You can modify this error treatment using <<matherr>>.
+
+PORTABILITY
+Neither <<gamma>> nor <<gammaf>> is ANSI C. */
+
+/* double gamma(double x)
+ * Return the logarithm of the Gamma function of x.
+ *
+ * Method: call gamma_r
+ */
+
+#include "fdlibm.h"
+#include <reent.h>
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double gamma(double x)
+#else
+ double gamma(x)
+ double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_gamma_r(x,&(_REENT->_new._reent._gamma_signgam));
+#else
+ double y;
+ struct exception exc;
+ y = __ieee754_gamma_r(x,&(_REENT->_new._reent._gamma_signgam));
+ if(_LIB_VERSION == _IEEE_) return y;
+ if(!finite(y)&&finite(x)) {
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.name = "gamma";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = HUGE;
+ else
+ exc.retval = HUGE_VAL;
+ if(floor(x)==x&&x<=0.0) {
+ /* gamma(-integer) or gamma(0) */
+ exc.type = SING;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ } else {
+ /* gamma(finite) overflow */
+ exc.type = OVERFLOW;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return y;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/w_hypot.c b/newlib/libm/math/w_hypot.c
new file mode 100644
index 00000000000..318853d5616
--- /dev/null
+++ b/newlib/libm/math/w_hypot.c
@@ -0,0 +1,109 @@
+
+/* @(#)w_hypot.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<hypot>>, <<hypotf>>---distance from origin
+INDEX
+ hypot
+INDEX
+ hypotf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double hypot(double <[x]>, double <[y]>);
+ float hypotf(float <[x]>, float <[y]>);
+
+TRAD_SYNOPSIS
+ double hypot(<[x]>, <[y]>)
+ double <[x]>, <[y]>;
+
+ float hypotf(<[x]>, <[y]>)
+ float <[x]>, <[y]>;
+
+DESCRIPTION
+ <<hypot>> calculates the Euclidean distance
+ @tex
+ $\sqrt{x^2+y^2}$
+ @end tex
+ @ifinfo
+ <<sqrt(<[x]>*<[x]> + <[y]>*<[y]>)>>
+ @end ifinfo
+ between the origin (0,0) and a point represented by the
+ Cartesian coordinates (<[x]>,<[y]>). <<hypotf>> differs only
+ in the type of its arguments and result.
+
+RETURNS
+ Normally, the distance value is returned. On overflow,
+ <<hypot>> returns <<HUGE_VAL>> and sets <<errno>> to
+ <<ERANGE>>.
+
+ You can change the error treatment with <<matherr>>.
+
+PORTABILITY
+ <<hypot>> and <<hypotf>> are not ANSI C. */
+
+/*
+ * wrapper hypot(x,y)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double hypot(double x, double y)/* wrapper hypot */
+#else
+ double hypot(x,y) /* wrapper hypot */
+ double x,y;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_hypot(x,y);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_hypot(x,y);
+ if(_LIB_VERSION == _IEEE_) return z;
+ if((!finite(z))&&finite(x)&&finite(y)) {
+ /* hypot(finite,finite) overflow */
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.type = OVERFLOW;
+ exc.name = "hypot";
+ exc.err = 0;
+ exc.arg1 = x;
+ exc.arg2 = y;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = HUGE;
+ else
+ exc.retval = HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/w_j0.c b/newlib/libm/math/w_j0.c
new file mode 100644
index 00000000000..4f07908422e
--- /dev/null
+++ b/newlib/libm/math/w_j0.c
@@ -0,0 +1,229 @@
+
+/* @(#)w_j0.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+<<jN>>,<<jNf>>,<<yN>>,<<yNf>>---Bessel functions
+
+INDEX
+j0
+INDEX
+j0f
+INDEX
+j1
+INDEX
+j1f
+INDEX
+jn
+INDEX
+jnf
+INDEX
+y0
+INDEX
+y0f
+INDEX
+y1
+INDEX
+y1f
+INDEX
+yn
+INDEX
+ynf
+
+ANSI_SYNOPSIS
+#include <math.h>
+double j0(double <[x]>);
+float j0f(float <[x]>);
+double j1(double <[x]>);
+float j1f(float <[x]>);
+double jn(int <[n]>, double <[x]>);
+float jnf(int <[n]>, float <[x]>);
+double y0(double <[x]>);
+float y0f(float <[x]>);
+double y1(double <[x]>);
+float y1f(float <[x]>);
+double yn(int <[n]>, double <[x]>);
+float ynf(int <[n]>, float <[x]>);
+
+TRAD_SYNOPSIS
+#include <math.h>
+
+double j0(<[x]>)
+double <[x]>;
+float j0f(<[x]>)
+float <[x]>;
+double j1(<[x]>)
+double <[x]>;
+float j1f(<[x]>)
+float <[x]>;
+double jn(<[n]>, <[x]>)
+int <[n]>;
+double <[x]>;
+float jnf(<[n]>, <[x]>)
+int <[n]>;
+float <[x]>;
+
+double y0(<[x]>)
+double <[x]>;
+float y0f(<[x]>)
+float <[x]>;
+double y1(<[x]>)
+double <[x]>;
+float y1f(<[x]>)
+float <[x]>;
+double yn(<[n]>, <[x]>)
+int <[n]>;
+double <[x]>;
+float ynf(<[n]>, <[x]>)
+int <[n]>;
+float <[x]>;
+
+DESCRIPTION
+The Bessel functions are a family of functions that solve the
+differential equation
+@ifinfo
+. 2 2 2
+. x y'' + xy' + (x - p )y = 0
+@end ifinfo
+@tex
+$$x^2{d^2y\over dx^2} + x{dy\over dx} + (x^2-p^2)y = 0$$
+@end tex
+These functions have many applications in engineering and physics.
+
+<<jn>> calculates the Bessel function of the first kind of order
+<[n]>. <<j0>> and <<j1>> are special cases for order 0 and order
+1 respectively.
+
+Similarly, <<yn>> calculates the Bessel function of the second kind of
+order <[n]>, and <<y0>> and <<y1>> are special cases for order 0 and
+1.
+
+<<jnf>>, <<j0f>>, <<j1f>>, <<ynf>>, <<y0f>>, and <<y1f>> perform the
+same calculations, but on <<float>> rather than <<double>> values.
+
+RETURNS
+The value of each Bessel function at <[x]> is returned.
+
+PORTABILITY
+None of the Bessel functions are in ANSI C.
+*/
+
+/*
+ * wrapper j0(double x), y0(double x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double j0(double x) /* wrapper j0 */
+#else
+ double j0(x) /* wrapper j0 */
+ double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_j0(x);
+#else
+ struct exception exc;
+ double z = __ieee754_j0(x);
+ if(_LIB_VERSION == _IEEE_ || isnan(x)) return z;
+ if(fabs(x)>X_TLOSS) {
+ /* j0(|x|>X_TLOSS) */
+ exc.type = TLOSS;
+ exc.name = "j0";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = x;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef __STDC__
+ double y0(double x) /* wrapper y0 */
+#else
+ double y0(x) /* wrapper y0 */
+ double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_y0(x);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_y0(x);
+ if(_LIB_VERSION == _IEEE_ || isnan(x) ) return z;
+ if(x <= 0.0){
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ /* y0(0) = -inf or y0(x<0) = NaN */
+ exc.type = DOMAIN; /* should be SING for IEEE y0(0) */
+ exc.name = "y0";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = -HUGE;
+ else
+ exc.retval = -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ }
+ if(x>X_TLOSS) {
+ /* y0(x>X_TLOSS) */
+ exc.type = TLOSS;
+ exc.name = "y0";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = x;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
+
+
+
+
+
+
+
diff --git a/newlib/libm/math/w_j1.c b/newlib/libm/math/w_j1.c
new file mode 100644
index 00000000000..ba7df15660f
--- /dev/null
+++ b/newlib/libm/math/w_j1.c
@@ -0,0 +1,121 @@
+
+/* @(#)w_j1.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrapper of j1,y1
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double j1(double x) /* wrapper j1 */
+#else
+ double j1(x) /* wrapper j1 */
+ double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_j1(x);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_j1(x);
+ if(_LIB_VERSION == _IEEE_ || isnan(x) ) return z;
+ if(fabs(x)>X_TLOSS) {
+ /* j1(|x|>X_TLOSS) */
+ exc.type = TLOSS;
+ exc.name = "j1";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = x;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef __STDC__
+ double y1(double x) /* wrapper y1 */
+#else
+ double y1(x) /* wrapper y1 */
+ double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_y1(x);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_y1(x);
+ if(_LIB_VERSION == _IEEE_ || isnan(x) ) return z;
+ if(x <= 0.0){
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ /* y1(0) = -inf or y1(x<0) = NaN */
+ exc.type = DOMAIN; /* should be SING for IEEE */
+ exc.name = "y1";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = -HUGE;
+ else
+ exc.retval = -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ }
+ if(x>X_TLOSS) {
+ /* y1(x>X_TLOSS) */
+ exc.type = TLOSS;
+ exc.name = "y1";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = x;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
+
+
+
+
+
diff --git a/newlib/libm/math/w_jn.c b/newlib/libm/math/w_jn.c
new file mode 100644
index 00000000000..6cadc9a0104
--- /dev/null
+++ b/newlib/libm/math/w_jn.c
@@ -0,0 +1,141 @@
+
+/* @(#)w_jn.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrapper jn(int n, double x), yn(int n, double x)
+ * floating point Bessel's function of the 1st and 2nd kind
+ * of order n
+ *
+ * Special cases:
+ * y0(0)=y1(0)=yn(n,0) = -inf with division by zero signal;
+ * y0(-ve)=y1(-ve)=yn(n,-ve) are NaN with invalid signal.
+ * Note 2. About jn(n,x), yn(n,x)
+ * For n=0, j0(x) is called,
+ * for n=1, j1(x) is called,
+ * for n<x, forward recursion us used starting
+ * from values of j0(x) and j1(x).
+ * for n>x, a continued fraction approximation to
+ * j(n,x)/j(n-1,x) is evaluated and then backward
+ * recursion is used starting from a supposed value
+ * for j(n,x). The resulting value of j(0,x) is
+ * compared with the actual value to correct the
+ * supposed value of j(n,x).
+ *
+ * yn(n,x) is similar in all respects, except
+ * that forward recursion is used for all
+ * values of n>1.
+ *
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double jn(int n, double x) /* wrapper jn */
+#else
+ double jn(n,x) /* wrapper jn */
+ double x; int n;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_jn(n,x);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_jn(n,x);
+ if(_LIB_VERSION == _IEEE_ || isnan(x) ) return z;
+ if(fabs(x)>X_TLOSS) {
+ /* jn(|x|>X_TLOSS) */
+ exc.type = TLOSS;
+ exc.name = "jn";
+ exc.err = 0;
+ exc.arg1 = n;
+ exc.arg2 = x;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef __STDC__
+ double yn(int n, double x) /* wrapper yn */
+#else
+ double yn(n,x) /* wrapper yn */
+ double x; int n;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_yn(n,x);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_yn(n,x);
+ if(_LIB_VERSION == _IEEE_ || isnan(x) ) return z;
+ if(x <= 0.0){
+ /* yn(n,0) = -inf or yn(x<0) = NaN */
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.type = DOMAIN; /* should be SING for IEEE */
+ exc.name = "yn";
+ exc.err = 0;
+ exc.arg1 = n;
+ exc.arg2 = x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = -HUGE;
+ else
+ exc.retval = -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ }
+ if(x>X_TLOSS) {
+ /* yn(x>X_TLOSS) */
+ exc.type = TLOSS;
+ exc.name = "yn";
+ exc.err = 0;
+ exc.arg1 = n;
+ exc.arg2 = x;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/w_lgamma.c b/newlib/libm/math/w_lgamma.c
new file mode 100644
index 00000000000..1dc63994f54
--- /dev/null
+++ b/newlib/libm/math/w_lgamma.c
@@ -0,0 +1,89 @@
+
+/* @(#)w_lgamma.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/* double lgamma(double x)
+ * Return the logarithm of the Gamma function of x.
+ *
+ * Method: call __ieee754_lgamma_r
+ */
+
+#include "fdlibm.h"
+#include <reent.h>
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double lgamma(double x)
+#else
+ double lgamma(x)
+ double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_lgamma_r(x,&(_REENT->_new._reent._gamma_signgam));
+#else
+ double y;
+ struct exception exc;
+ y = __ieee754_lgamma_r(x,&(_REENT->_new._reent._gamma_signgam));
+ if(_LIB_VERSION == _IEEE_) return y;
+ if(!finite(y)&&finite(x)) {
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.name = "lgamma";
+ exc.err = 0;
+ exc.arg1 = x;
+ exc.arg2 = x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = HUGE;
+ else
+ exc.retval = HUGE_VAL;
+ if(floor(x)==x&&x<=0.0) {
+ /* lgamma(-integer) */
+ exc.type = SING;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+
+ } else {
+ /* lgamma(finite) overflow */
+ exc.type = OVERFLOW;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return y;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
+
+
+
+
+
+
+
diff --git a/newlib/libm/math/w_log.c b/newlib/libm/math/w_log.c
new file mode 100644
index 00000000000..dcc8b9762ec
--- /dev/null
+++ b/newlib/libm/math/w_log.c
@@ -0,0 +1,115 @@
+
+/* @(#)w_log.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<log>>, <<logf>>---natural logarithms
+
+INDEX
+ log
+INDEX
+ logf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double log(double <[x]>);
+ float logf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double log(<[x]>);
+ double <[x]>;
+
+ float logf(<[x]>);
+ float <[x]>;
+
+DESCRIPTION
+Return the natural logarithm of <[x]>, that is, its logarithm base e
+(where e is the base of the natural system of logarithms, 2.71828@dots{}).
+<<log>> and <<logf>> are identical save for the return and argument types.
+
+You can use the (non-ANSI) function <<matherr>> to specify error
+handling for these functions.
+
+RETURNS
+Normally, returns the calculated value. When <[x]> is zero, the
+returned value is <<-HUGE_VAL>> and <<errno>> is set to <<ERANGE>>.
+When <[x]> is negative, the returned value is <<-HUGE_VAL>> and
+<<errno>> is set to <<EDOM>>. You can control the error behavior via
+<<matherr>>.
+
+PORTABILITY
+<<log>> is ANSI, <<logf>> is an extension.
+*/
+
+/*
+ * wrapper log(x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double log(double x) /* wrapper log */
+#else
+ double log(x) /* wrapper log */
+ double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_log(x);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_log(x);
+ if(_LIB_VERSION == _IEEE_ || isnan(x) || x > 0.0) return z;
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.name = "log";
+ exc.err = 0;
+ exc.arg1 = x;
+ exc.arg2 = x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = -HUGE;
+ else
+ exc.retval = -HUGE_VAL;
+ if(x==0.0) {
+ /* log(0) */
+ exc.type = SING;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ } else {
+ /* log(x<0) */
+ exc.type = DOMAIN;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/w_log10.c b/newlib/libm/math/w_log10.c
new file mode 100644
index 00000000000..f427b86ccd7
--- /dev/null
+++ b/newlib/libm/math/w_log10.c
@@ -0,0 +1,115 @@
+
+/* @(#)w_log10.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<log10>>, <<log10f>>---base 10 logarithms
+
+INDEX
+log10
+INDEX
+log10f
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double log10(double <[x]>);
+ float log10f(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double log10(<[x]>)
+ double <[x]>;
+
+ float log10f(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+<<log10>> returns the base 10 logarithm of <[x]>.
+It is implemented as <<log(<[x]>) / log(10)>>.
+
+<<log10f>> is identical, save that it takes and returns <<float>> values.
+
+RETURNS
+<<log10>> and <<log10f>> return the calculated value.
+
+See the description of <<log>> for information on errors.
+
+PORTABILITY
+<<log10>> is ANSI C. <<log10f>> is an extension.
+
+ */
+
+/*
+ * wrapper log10(X)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double log10(double x) /* wrapper log10 */
+#else
+ double log10(x) /* wrapper log10 */
+ double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_log10(x);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_log10(x);
+ if(_LIB_VERSION == _IEEE_ || isnan(x)) return z;
+ if(x<=0.0) {
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.name = "log10";
+ exc.err = 0;
+ exc.arg1 = x;
+ exc.arg2 = x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = -HUGE;
+ else
+ exc.retval = -HUGE_VAL;
+ if(x==0.0) {
+ /* log10(0) */
+ exc.type = SING;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ } else {
+ /* log10(x<0) */
+ exc.type = DOMAIN;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/w_pow.c b/newlib/libm/math/w_pow.c
new file mode 100644
index 00000000000..3df099a1714
--- /dev/null
+++ b/newlib/libm/math/w_pow.c
@@ -0,0 +1,231 @@
+
+
+/* @(#)w_pow.c 5.2 93/10/01 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<pow>>, <<powf>>---x to the power y
+INDEX
+ pow
+INDEX
+ powf
+
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double pow(double <[x]>, double <[y]>);
+ float pow(float <[x]>, float <[y]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double pow(<[x]>, <[y]>);
+ double <[x]>, <[y]>;
+
+ float pow(<[x]>, <[y]>);
+ float <[x]>, <[y]>;
+
+DESCRIPTION
+ <<pow>> and <<powf>> calculate <[x]> raised to the exp1.0nt <[y]>.
+ @tex
+ (That is, $x^y$.)
+ @end tex
+
+RETURNS
+ On success, <<pow>> and <<powf>> return the value calculated.
+
+ When the argument values would produce overflow, <<pow>>
+ returns <<HUGE_VAL>> and set <<errno>> to <<ERANGE>>. If the
+ argument <[x]> passed to <<pow>> or <<powf>> is a negative
+ noninteger, and <[y]> is also not an integer, then <<errno>>
+ is set to <<EDOM>>. If <[x]> and <[y]> are both 0, then
+ <<pow>> and <<powf>> return <<1>>.
+
+ You can modify error handling for these functions using <<matherr>>.
+
+PORTABILITY
+ <<pow>> is ANSI C. <<powf>> is an extension. */
+
+/*
+ * wrapper pow(x,y) return x**y
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double pow(double x, double y) /* wrapper pow */
+#else
+ double pow(x,y) /* wrapper pow */
+ double x,y;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_pow(x,y);
+#else
+ double z;
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ struct exception exc;
+ z=__ieee754_pow(x,y);
+ if(_LIB_VERSION == _IEEE_|| isnan(y)) return z;
+ if(isnan(x)) {
+ if(y==0.0) {
+ /* pow(NaN,0.0) */
+ /* error only if _LIB_VERSION == _SVID_ & _XOPEN_ */
+ exc.type = DOMAIN;
+ exc.name = "pow";
+ exc.err = 0;
+ exc.arg1 = x;
+ exc.arg2 = y;
+ exc.retval = x;
+ if (_LIB_VERSION == _IEEE_ ||
+ _LIB_VERSION == _POSIX_) exc.retval = 1.0;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+ }
+ if(x==0.0){
+ if(y==0.0) {
+ /* pow(0.0,0.0) */
+ /* error only if _LIB_VERSION == _SVID_ */
+ exc.type = DOMAIN;
+ exc.name = "pow";
+ exc.err = 0;
+ exc.arg1 = x;
+ exc.arg2 = y;
+ exc.retval = 0.0;
+ if (_LIB_VERSION != _SVID_) exc.retval = 1.0;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ }
+ if(finite(y)&&y<0.0) {
+ /* 0**neg */
+ exc.type = DOMAIN;
+ exc.name = "pow";
+ exc.err = 0;
+ exc.arg1 = x;
+ exc.arg2 = y;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = 0.0;
+ else
+ exc.retval = -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ }
+ return z;
+ }
+ if(!finite(z)) {
+ if(finite(x)&&finite(y)) {
+ if(isnan(z)) {
+ /* neg**non-integral */
+ exc.type = DOMAIN;
+ exc.name = "pow";
+ exc.err = 0;
+ exc.arg1 = x;
+ exc.arg2 = y;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = 0.0;
+ else
+ exc.retval = 0.0/0.0; /* X/Open allow NaN */
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else {
+ /* pow(x,y) overflow */
+ exc.type = OVERFLOW;
+ exc.name = "pow";
+ exc.err = 0;
+ exc.arg1 = x;
+ exc.arg2 = y;
+ if (_LIB_VERSION == _SVID_) {
+ exc.retval = HUGE;
+ y *= 0.5;
+ if(x<0.0&&rint(y)!=y) exc.retval = -HUGE;
+ } else {
+ exc.retval = HUGE_VAL;
+ y *= 0.5;
+ if(x<0.0&&rint(y)!=y) exc.retval = -HUGE_VAL;
+ }
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ }
+ }
+ }
+ if(z==0.0&&finite(x)&&finite(y)) {
+ /* pow(x,y) underflow */
+ exc.type = UNDERFLOW;
+ exc.name = "pow";
+ exc.err = 0;
+ exc.arg1 = x;
+ exc.arg2 = y;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ }
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/newlib/libm/math/w_remainder.c b/newlib/libm/math/w_remainder.c
new file mode 100644
index 00000000000..e4c1967160c
--- /dev/null
+++ b/newlib/libm/math/w_remainder.c
@@ -0,0 +1,108 @@
+
+/* @(#)w_remainder.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+<<remainder>>, <<remainderf>>---round and remainder
+INDEX
+ remainder
+INDEX
+ remainderf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double remainder(double <[x]>, double <[y]>);
+ float remainderf(float <[x]>, float <[y]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double remainder(<[x]>,<[y]>)
+ double <[x]>, <[y]>;
+ float remainderf(<[x]>,<[y]>)
+ float <[x]>, <[y]>;
+
+DESCRIPTION
+<<remainder>> and <<remainderf>> find the remainder of
+<[x]>/<[y]>; this value is in the range -<[y]>/2 .. +<[y]>/2.
+
+RETURNS
+<<remainder>> returns the integer result as a double.
+
+PORTABILITY
+<<remainder>> is a System V release 4.
+<<remainderf>> is an extension.
+
+*/
+
+/*
+ * wrapper remainder(x,p)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double remainder(double x, double y) /* wrapper remainder */
+#else
+ double remainder(x,y) /* wrapper remainder */
+ double x,y;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_remainder(x,y);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_remainder(x,y);
+ if(_LIB_VERSION == _IEEE_ || isnan(y)) return z;
+ if(y==0.0) {
+ /* remainder(x,0) */
+ exc.type = DOMAIN;
+ exc.name = "remainder";
+ exc.err = 0;
+ exc.arg1 = x;
+ exc.arg2 = y;
+ exc.retval = 0.0/0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/newlib/libm/math/w_scalb.c b/newlib/libm/math/w_scalb.c
new file mode 100644
index 00000000000..c3249689238
--- /dev/null
+++ b/newlib/libm/math/w_scalb.c
@@ -0,0 +1,94 @@
+
+/* @(#)w_scalb.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrapper scalb(double x, double fn) is provide for
+ * passing various standard test suite. One
+ * should use scalbn() instead.
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+#ifdef _SCALB_INT
+ double scalb(double x, int fn) /* wrapper scalb */
+#else
+ double scalb(double x, double fn) /* wrapper scalb */
+#endif
+#else
+ double scalb(x,fn) /* wrapper scalb */
+#ifdef _SCALB_INT
+ double x; int fn;
+#else
+ double x,fn;
+#endif
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_scalb(x,fn);
+#else
+ double z;
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ struct exception exc;
+ z = __ieee754_scalb(x,fn);
+ if(_LIB_VERSION == _IEEE_) return z;
+ if(!(finite(z)||isnan(z))&&finite(x)) {
+ /* scalb overflow; SVID also returns +-HUGE_VAL */
+ exc.type = OVERFLOW;
+ exc.name = "scalb";
+ exc.err = 0;
+ exc.arg1 = x;
+ exc.arg2 = fn;
+ exc.retval = x > 0.0 ? HUGE_VAL : -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ }
+ if(z==0.0&&z!=x) {
+ /* scalb underflow */
+ exc.type = UNDERFLOW;
+ exc.name = "scalb";
+ exc.err = 0;
+ exc.arg1 = x;
+ exc.arg2 = fn;
+ exc.retval = copysign(0.0,x);
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ }
+#ifndef _SCALB_INT
+ if(!finite(fn)) errno = ERANGE;
+#endif
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/w_sinh.c b/newlib/libm/math/w_sinh.c
new file mode 100644
index 00000000000..02a388862b9
--- /dev/null
+++ b/newlib/libm/math/w_sinh.c
@@ -0,0 +1,120 @@
+
+/* @(#)w_sinh.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+
+/*
+FUNCTION
+ <<sinh>>, <<sinhf>>---hyperbolic sine
+
+INDEX
+ sinh
+INDEX
+ sinhf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double sinh(double <[x]>);
+ float sinhf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double sinh(<[x]>)
+ double <[x]>;
+
+ float sinhf(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+ <<sinh>> computes the hyperbolic sine of the argument <[x]>.
+ Angles are specified in radians. <<sinh>>(<[x]>) is defined as
+ @ifinfo
+ . (exp(<[x]>) - exp(-<[x]>))/2
+ @end ifinfo
+ @tex
+ $${e^x - e^{-x}}\over 2$$
+ @end tex
+
+ <<sinhf>> is identical, save that it takes and returns <<float>> values.
+
+RETURNS
+ The hyperbolic sine of <[x]> is returned.
+
+ When the correct result is too large to be representable (an
+ overflow), <<sinh>> returns <<HUGE_VAL>> with the
+ appropriate sign, and sets the global value <<errno>> to
+ <<ERANGE>>.
+
+ You can modify error handling for these functions with <<matherr>>.
+
+PORTABILITY
+ <<sinh>> is ANSI C.
+ <<sinhf>> is an extension.
+
+QUICKREF
+ sinh ansi pure
+ sinhf - pure
+*/
+
+/*
+ * wrapper sinh(x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double sinh(double x) /* wrapper sinh */
+#else
+ double sinh(x) /* wrapper sinh */
+ double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_sinh(x);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_sinh(x);
+ if(_LIB_VERSION == _IEEE_) return z;
+ if(!finite(z)&&finite(x)) {
+ /* sinh(finite) overflow */
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.type = OVERFLOW;
+ exc.name = "sinh";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = ( (x>0.0) ? HUGE : -HUGE);
+ else
+ exc.retval = ( (x>0.0) ? HUGE_VAL : -HUGE_VAL);
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/w_sqrt.c b/newlib/libm/math/w_sqrt.c
new file mode 100644
index 00000000000..23a793ce74a
--- /dev/null
+++ b/newlib/libm/math/w_sqrt.c
@@ -0,0 +1,93 @@
+
+/* @(#)w_sqrt.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<sqrt>>, <<sqrtf>>---positive square root
+
+INDEX
+ sqrt
+INDEX
+ sqrtf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double sqrt(double <[x]>);
+ float sqrtf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double sqrt(<[x]>);
+ float sqrtf(<[x]>);
+
+DESCRIPTION
+ <<sqrt>> computes the positive square root of the argument.
+ You can modify error handling for this function with
+ <<matherr>>.
+
+RETURNS
+ On success, the square root is returned. If <[x]> is real and
+ positive, then the result is positive. If <[x]> is real and
+ negative, the global value <<errno>> is set to <<EDOM>> (domain error).
+
+
+PORTABILITY
+ <<sqrt>> is ANSI C. <<sqrtf>> is an extension.
+*/
+
+/*
+ * wrapper sqrt(x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double sqrt(double x) /* wrapper sqrt */
+#else
+ double sqrt(x) /* wrapper sqrt */
+ double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_sqrt(x);
+#else
+ struct exception exc;
+ double z;
+ z = __ieee754_sqrt(x);
+ if(_LIB_VERSION == _IEEE_ || isnan(x)) return z;
+ if(x<0.0) {
+ exc.type = DOMAIN;
+ exc.name = "sqrt";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = 0.0;
+ else
+ exc.retval = 0.0/0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/wf_acos.c b/newlib/libm/math/wf_acos.c
new file mode 100644
index 00000000000..8a1037441b7
--- /dev/null
+++ b/newlib/libm/math/wf_acos.c
@@ -0,0 +1,69 @@
+/* wf_acos.c -- float version of w_acos.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrap_acosf(x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifdef _HAVE_STDC
+ float acosf(float x) /* wrapper acosf */
+#else
+ float acosf(x) /* wrapper acosf */
+ float x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_acosf(x);
+#else
+ float z;
+ struct exception exc;
+ z = __ieee754_acosf(x);
+ if(_LIB_VERSION == _IEEE_ || isnanf(x)) return z;
+ if(fabsf(x)>(float)1.0) {
+ /* acosf(|x|>1) */
+ exc.type = DOMAIN;
+ exc.name = "acosf";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double acos(double x)
+#else
+ double acos(x)
+ double x;
+#endif
+{
+ return (double) acosf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/wf_acosh.c b/newlib/libm/math/wf_acosh.c
new file mode 100644
index 00000000000..19c2450e6f2
--- /dev/null
+++ b/newlib/libm/math/wf_acosh.c
@@ -0,0 +1,70 @@
+/* wf_acosh.c -- float version of w_acosh.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/*
+ * wrapper acoshf(x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifdef __STDC__
+ float acoshf(float x) /* wrapper acoshf */
+#else
+ float acoshf(x) /* wrapper acoshf */
+ float x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_acoshf(x);
+#else
+ float z;
+ struct exception exc;
+ z = __ieee754_acoshf(x);
+ if(_LIB_VERSION == _IEEE_ || isnanf(x)) return z;
+ if(x<(float)1.0) {
+ /* acoshf(x<1) */
+ exc.type = DOMAIN;
+ exc.name = "acoshf";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ exc.retval = 0.0/0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double acosh(double x)
+#else
+ double acosh(x)
+ double x;
+#endif
+{
+ return (double) acoshf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/wf_asin.c b/newlib/libm/math/wf_asin.c
new file mode 100644
index 00000000000..a5225f2f44c
--- /dev/null
+++ b/newlib/libm/math/wf_asin.c
@@ -0,0 +1,71 @@
+/* wf_asin.c -- float version of w_asin.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/*
+ * wrapper asinf(x)
+ */
+
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifdef __STDC__
+ float asinf(float x) /* wrapper asinf */
+#else
+ float asinf(x) /* wrapper asinf */
+ float x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_asinf(x);
+#else
+ float z;
+ struct exception exc;
+ z = __ieee754_asinf(x);
+ if(_LIB_VERSION == _IEEE_ || isnanf(x)) return z;
+ if(fabsf(x)>(float)1.0) {
+ /* asinf(|x|>1) */
+ exc.type = DOMAIN;
+ exc.name = "asinf";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ exc.retval = 0.0;
+ if(_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double asin(double x)
+#else
+ double asin(x)
+ double x;
+#endif
+{
+ return (double) asinf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/wf_atan2.c b/newlib/libm/math/wf_atan2.c
new file mode 100644
index 00000000000..069a7ca13ad
--- /dev/null
+++ b/newlib/libm/math/wf_atan2.c
@@ -0,0 +1,71 @@
+/* wf_atan2.c -- float version of w_atan2.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/*
+ * wrapper atan2f(y,x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifdef __STDC__
+ float atan2f(float y, float x) /* wrapper atan2f */
+#else
+ float atan2f(y,x) /* wrapper atan2 */
+ float y,x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_atan2f(y,x);
+#else
+ float z;
+ struct exception exc;
+ z = __ieee754_atan2f(y,x);
+ if(_LIB_VERSION == _IEEE_||isnanf(x)||isnanf(y)) return z;
+ if(x==(float)0.0&&y==(float)0.0) {
+ /* atan2f(+-0,+-0) */
+ exc.arg1 = y;
+ exc.arg2 = x;
+ exc.err = 0;
+ exc.type = DOMAIN;
+ exc.name = "atan2f";
+ exc.retval = 0.0;
+ if(_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double atan2(double y, double x)
+#else
+ double atan2(y,x)
+ double y,x;
+#endif
+{
+ return (double) atan2f((float) y, (float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/wf_atanh.c b/newlib/libm/math/wf_atanh.c
new file mode 100644
index 00000000000..457cdc6e2a3
--- /dev/null
+++ b/newlib/libm/math/wf_atanh.c
@@ -0,0 +1,83 @@
+/* wf_atanh.c -- float version of w_atanh.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+/*
+ * wrapper atanhf(x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifdef __STDC__
+ float atanhf(float x) /* wrapper atanhf */
+#else
+ float atanhf(x) /* wrapper atanhf */
+ float x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_atanhf(x);
+#else
+ float z,y;
+ struct exception exc;
+ z = __ieee754_atanhf(x);
+ if(_LIB_VERSION == _IEEE_ || isnanf(x)) return z;
+ y = fabsf(x);
+ if(y>=(float)1.0) {
+ if(y>(float)1.0) {
+ /* atanhf(|x|>1) */
+ exc.type = DOMAIN;
+ exc.name = "atanhf";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ exc.retval = 0.0/0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ } else {
+ /* atanhf(|x|=1) */
+ exc.type = SING;
+ exc.name = "atanhf";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ exc.retval = x/0.0; /* sign(x)*inf */
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double atanh(double x)
+#else
+ double atanh(x)
+ double x;
+#endif
+{
+ return (double) atanhf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/wf_cabs.c b/newlib/libm/math/wf_cabs.c
new file mode 100644
index 00000000000..c3ed0caa241
--- /dev/null
+++ b/newlib/libm/math/wf_cabs.c
@@ -0,0 +1,20 @@
+/*
+ * cabsf() wrapper for hypotf().
+ *
+ * Written by J.T. Conklin, <jtc@wimsey.com>
+ * Placed into the Public Domain, 1994.
+ */
+
+#include "fdlibm.h"
+
+struct complex {
+ float x;
+ float y;
+};
+
+float
+cabsf(z)
+ struct complex z;
+{
+ return hypotf(z.x, z.y);
+}
diff --git a/newlib/libm/math/wf_cosh.c b/newlib/libm/math/wf_cosh.c
new file mode 100644
index 00000000000..82b76f3c455
--- /dev/null
+++ b/newlib/libm/math/wf_cosh.c
@@ -0,0 +1,78 @@
+/* wf_cosh.c -- float version of w_cosh.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrapper coshf(x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifdef __STDC__
+ float coshf(float x) /* wrapper coshf */
+#else
+ float coshf(x) /* wrapper coshf */
+ float x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_coshf(x);
+#else
+ float z;
+ struct exception exc;
+ z = __ieee754_coshf(x);
+ if(_LIB_VERSION == _IEEE_ || isnanf(x)) return z;
+ if(fabsf(x)>(float)8.9415985107e+01) {
+ /* coshf(finite) overflow */
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.type = OVERFLOW;
+ exc.name = "coshf";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = HUGE;
+ else
+ exc.retval = HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double cosh(double x)
+#else
+ double cosh(x)
+ double x;
+#endif
+{
+ return (double) coshf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/wf_drem.c b/newlib/libm/math/wf_drem.c
new file mode 100644
index 00000000000..7c3f7c58eca
--- /dev/null
+++ b/newlib/libm/math/wf_drem.c
@@ -0,0 +1,19 @@
+/*
+ * dremf() wrapper for remainderf().
+ *
+ * Written by J.T. Conklin, <jtc@wimsey.com>
+ * Placed into the Public Domain, 1994.
+ */
+
+#include "fdlibm.h"
+
+float
+#ifdef __STDC__
+dremf(float x, float y)
+#else
+dremf(x, y)
+ float x, y;
+#endif
+{
+ return remainderf(x, y);
+}
diff --git a/newlib/libm/math/wf_exp.c b/newlib/libm/math/wf_exp.c
new file mode 100644
index 00000000000..70f4459b4a8
--- /dev/null
+++ b/newlib/libm/math/wf_exp.c
@@ -0,0 +1,103 @@
+/* wf_exp.c -- float version of w_exp.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrapper expf(x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+o_threshold= 8.8721679688e+01, /* 0x42b17180 */
+u_threshold= -1.0397208405e+02; /* 0xc2cff1b5 */
+
+#ifdef __STDC__
+ float expf(float x) /* wrapper expf */
+#else
+ float expf(x) /* wrapper expf */
+ float x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_expf(x);
+#else
+ float z;
+ struct exception exc;
+ z = __ieee754_expf(x);
+ if(_LIB_VERSION == _IEEE_) return z;
+ if(finitef(x)) {
+ if(x>o_threshold) {
+ /* expf(finite) overflow */
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.type = OVERFLOW;
+ exc.name = "expf";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = HUGE;
+ else
+ exc.retval = HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else if(x<u_threshold) {
+ /* expf(finite) underflow */
+ exc.type = UNDERFLOW;
+ exc.name = "expf";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ }
+ }
+ return z;
+#endif
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double exp(double x)
+#else
+ double exp(x)
+ double x;
+#endif
+{
+ return (double) expf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/wf_fmod.c b/newlib/libm/math/wf_fmod.c
new file mode 100644
index 00000000000..320daabde08
--- /dev/null
+++ b/newlib/libm/math/wf_fmod.c
@@ -0,0 +1,73 @@
+/* wf_fmod.c -- float version of w_fmod.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrapper fmodf(x,y)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifdef __STDC__
+ float fmodf(float x, float y) /* wrapper fmodf */
+#else
+ float fmodf(x,y) /* wrapper fmodf */
+ float x,y;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_fmodf(x,y);
+#else
+ float z;
+ struct exception exc;
+ z = __ieee754_fmodf(x,y);
+ if(_LIB_VERSION == _IEEE_ ||isnanf(y)||isnanf(x)) return z;
+ if(y==(float)0.0) {
+ /* fmodf(x,0) */
+ exc.type = DOMAIN;
+ exc.name = "fmodf";
+ exc.err = 0;
+ exc.arg1 = (double)x;
+ exc.arg2 = (double)y;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = x;
+ else
+ exc.retval = 0.0/0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double fmod(double x, double y)
+#else
+ double fmod(x,y)
+ double x,y;
+#endif
+{
+ return (double) fmodf((float) x, (float) y);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/wf_gamma.c b/newlib/libm/math/wf_gamma.c
new file mode 100644
index 00000000000..fbeb38af10e
--- /dev/null
+++ b/newlib/libm/math/wf_gamma.c
@@ -0,0 +1,93 @@
+/* wf_gamma.c -- float version of w_gamma.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+#include "fdlibm.h"
+#include <reent.h>
+#include <errno.h>
+
+#ifdef __STDC__
+ float gammaf(float x)
+#else
+ float gammaf(x)
+ float x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_gammaf_r(x,&(_REENT->_new._reent._gamma_signgam));
+#else
+ float y;
+ struct exception exc;
+ y = __ieee754_gammaf_r(x,&(_REENT->_new._reent._gamma_signgam));
+ if(_LIB_VERSION == _IEEE_) return y;
+ if(!finitef(y)&&finitef(x)) {
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ if(floorf(x)==x&&x<=(float)0.0) {
+ /* gammaf(-integer) or gammaf(0) */
+ exc.type = SING;
+ exc.name = "gammaf";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = HUGE;
+ else
+ exc.retval = HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ } else {
+ /* gammaf(finite) overflow */
+ exc.type = OVERFLOW;
+ exc.name = "gammaf";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = HUGE;
+ else
+ exc.retval = HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ } else
+ return y;
+#endif
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double gamma(double x)
+#else
+ double gamma(x)
+ double x;
+#endif
+{
+ return (double) gammaf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/wf_hypot.c b/newlib/libm/math/wf_hypot.c
new file mode 100644
index 00000000000..c04ace1102c
--- /dev/null
+++ b/newlib/libm/math/wf_hypot.c
@@ -0,0 +1,79 @@
+/* wf_hypot.c -- float version of w_hypot.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrapper hypotf(x,y)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifdef __STDC__
+ float hypotf(float x, float y) /* wrapper hypotf */
+#else
+ float hypotf(x,y) /* wrapper hypotf */
+ float x,y;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_hypotf(x,y);
+#else
+ float z;
+ struct exception exc;
+ z = __ieee754_hypotf(x,y);
+ if(_LIB_VERSION == _IEEE_) return z;
+ if((!finitef(z))&&finitef(x)&&finitef(y)) {
+ /* hypotf(finite,finite) overflow */
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.type = OVERFLOW;
+ exc.name = "hypotf";
+ exc.err = 0;
+ exc.arg1 = (double)x;
+ exc.arg2 = (double)y;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = HUGE;
+ else
+ exc.retval = HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double hypot(double x, double y)
+#else
+ double hypot(x,y)
+ double x,y;
+#endif
+{
+ return (double) hypotf((float) x, (float) y);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/wf_j0.c b/newlib/libm/math/wf_j0.c
new file mode 100644
index 00000000000..0f3a7c1c67f
--- /dev/null
+++ b/newlib/libm/math/wf_j0.c
@@ -0,0 +1,137 @@
+/* wf_j0.c -- float version of w_j0.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrapper j0f(float x), y0f(float x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifdef __STDC__
+ float j0f(float x) /* wrapper j0f */
+#else
+ float j0f(x) /* wrapper j0f */
+ float x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_j0f(x);
+#else
+ struct exception exc;
+ float z = __ieee754_j0f(x);
+ if(_LIB_VERSION == _IEEE_ || isnanf(x)) return z;
+ if(fabsf(x)>(float)X_TLOSS) {
+ /* j0f(|x|>X_TLOSS) */
+ exc.type = TLOSS;
+ exc.name = "j0f";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef __STDC__
+ float y0f(float x) /* wrapper y0f */
+#else
+ float y0f(x) /* wrapper y0f */
+ float x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_y0f(x);
+#else
+ float z;
+ struct exception exc;
+ z = __ieee754_y0f(x);
+ if(_LIB_VERSION == _IEEE_ || isnanf(x) ) return z;
+ if(x <= (float)0.0){
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ /* y0f(0) = -inf or y0f(x<0) = NaN */
+ exc.type = DOMAIN; /* should be SING for IEEE y0f(0) */
+ exc.name = "y0f";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = -HUGE;
+ else
+ exc.retval = -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ }
+ if(x>(float)X_TLOSS) {
+ /* y0f(x>X_TLOSS) */
+ exc.type = TLOSS;
+ exc.name = "y0f";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double j0(double x)
+#else
+ double j0(x)
+ double x;
+#endif
+{
+ return (double) j0f((float) x);
+}
+
+#ifdef __STDC__
+ double y0(double x)
+#else
+ double y0(x)
+ double x;
+#endif
+{
+ return (double) y0f((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/wf_j1.c b/newlib/libm/math/wf_j1.c
new file mode 100644
index 00000000000..f9d3e0ed8ff
--- /dev/null
+++ b/newlib/libm/math/wf_j1.c
@@ -0,0 +1,139 @@
+/* wf_j1.c -- float version of w_j1.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrapper of j1f,y1f
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+
+#ifdef __STDC__
+ float j1f(float x) /* wrapper j1f */
+#else
+ float j1f(x) /* wrapper j1f */
+ float x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_j1f(x);
+#else
+ float z;
+ struct exception exc;
+ z = __ieee754_j1f(x);
+ if(_LIB_VERSION == _IEEE_ || isnanf(x) ) return z;
+ if(fabsf(x)>(float)X_TLOSS) {
+ /* j1f(|x|>X_TLOSS) */
+ exc.type = TLOSS;
+ exc.name = "j1f";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef __STDC__
+ float y1f(float x) /* wrapper y1f */
+#else
+ float y1f(x) /* wrapper y1f */
+ float x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_y1f(x);
+#else
+ float z;
+ struct exception exc;
+ z = __ieee754_y1f(x);
+ if(_LIB_VERSION == _IEEE_ || isnanf(x) ) return z;
+ if(x <= (float)0.0){
+ /* y1f(0) = -inf or y1f(x<0) = NaN */
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.type = DOMAIN; /* should be SING for IEEE */
+ exc.name = "y1f";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = -HUGE;
+ else
+ exc.retval = -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ }
+ if(x>(float)X_TLOSS) {
+ /* y1f(x>X_TLOSS) */
+ exc.type = TLOSS;
+ exc.name = "y1f";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double j1(double x)
+#else
+ double j1(x)
+ double x;
+#endif
+{
+ return (double) j1f((float) x);
+}
+
+#ifdef __STDC__
+ double y1(double x)
+#else
+ double y1(x)
+ double x;
+#endif
+{
+ return (double) y1f((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/wf_jn.c b/newlib/libm/math/wf_jn.c
new file mode 100644
index 00000000000..c3a52630b43
--- /dev/null
+++ b/newlib/libm/math/wf_jn.c
@@ -0,0 +1,138 @@
+/* wf_jn.c -- float version of w_jn.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+
+#ifdef __STDC__
+ float jnf(int n, float x) /* wrapper jnf */
+#else
+ float jnf(n,x) /* wrapper jnf */
+ float x; int n;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_jnf(n,x);
+#else
+ float z;
+ struct exception exc;
+ z = __ieee754_jnf(n,x);
+ if(_LIB_VERSION == _IEEE_ || isnanf(x) ) return z;
+ if(fabsf(x)>(float)X_TLOSS) {
+ /* jnf(|x|>X_TLOSS) */
+ exc.type = TLOSS;
+ exc.name = "jnf";
+ exc.err = 0;
+ exc.arg1 = (double)n;
+ exc.arg2 = (double)x;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef __STDC__
+ float ynf(int n, float x) /* wrapper ynf */
+#else
+ float ynf(n,x) /* wrapper ynf */
+ float x; int n;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_ynf(n,x);
+#else
+ float z;
+ struct exception exc;
+ z = __ieee754_ynf(n,x);
+ if(_LIB_VERSION == _IEEE_ || isnanf(x) ) return z;
+ if(x <= (float)0.0){
+ /* ynf(n,0) = -inf or ynf(x<0) = NaN */
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.type = DOMAIN; /* should be SING for IEEE */
+ exc.name = "ynf";
+ exc.err = 0;
+ exc.arg1 = (double)n;
+ exc.arg2 = (double)x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = -HUGE;
+ else
+ exc.retval = -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ }
+ if(x>(float)X_TLOSS) {
+ /* ynf(x>X_TLOSS) */
+ exc.type = TLOSS;
+ exc.name = "ynf";
+ exc.err = 0;
+ exc.arg1 = (double)n;
+ exc.arg2 = (double)x;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double jn(int n, double x)
+#else
+ double jn(n,x)
+ double x; int n;
+#endif
+{
+ return (double) jnf(n, (float) x);
+}
+
+#ifdef __STDC__
+ double yn(int n, double x)
+#else
+ double yn(n,x)
+ double x; int n;
+#endif
+{
+ return (double) ynf(n, (float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/wf_lgamma.c b/newlib/libm/math/wf_lgamma.c
new file mode 100644
index 00000000000..e1765c4a0ad
--- /dev/null
+++ b/newlib/libm/math/wf_lgamma.c
@@ -0,0 +1,87 @@
+/* wf_lgamma.c -- float version of w_lgamma.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+#include "fdlibm.h"
+#include <reent.h>
+#include <errno.h>
+
+#ifdef __STDC__
+ float lgammaf(float x)
+#else
+ float lgammaf(x)
+ float x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_lgammaf_r(x,&(_REENT->_new._reent._gamma_signgam));
+#else
+ float y;
+ struct exception exc;
+ y = __ieee754_lgammaf_r(x,&(_REENT->_new._reent._gamma_signgam));
+ if(_LIB_VERSION == _IEEE_) return y;
+ if(!finitef(y)&&finitef(x)) {
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.name = "lgammaf";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = HUGE;
+ else
+ exc.retval = HUGE_VAL;
+ if(floorf(x)==x&&x<=(float)0.0) {
+ /* lgammaf(-integer) */
+ exc.type = SING;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+
+ } else {
+ /* lgammaf(finite) overflow */
+ exc.type = OVERFLOW;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ } else
+ return y;
+#endif
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double lgamma(double x)
+#else
+ double lgamma(x)
+ double x;
+#endif
+{
+ return (double) lgammaf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/wf_log.c b/newlib/libm/math/wf_log.c
new file mode 100644
index 00000000000..cd373b402e5
--- /dev/null
+++ b/newlib/libm/math/wf_log.c
@@ -0,0 +1,85 @@
+/* wf_log.c -- float version of w_log.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrapper logf(x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifdef __STDC__
+ float logf(float x) /* wrapper logf */
+#else
+ float logf(x) /* wrapper logf */
+ float x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_logf(x);
+#else
+ float z;
+ struct exception exc;
+ z = __ieee754_logf(x);
+ if(_LIB_VERSION == _IEEE_ || isnanf(x) || x > (float)0.0) return z;
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.name = "logf";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = -HUGE;
+ else
+ exc.retval = -HUGE_VAL;
+ if(x==(float)0.0) {
+ /* logf(0) */
+ exc.type = SING;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ } else {
+ /* logf(x<0) */
+ exc.type = DOMAIN;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+#endif
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double log(double x)
+#else
+ double log(x)
+ double x;
+#endif
+{
+ return (double) logf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/wf_log10.c b/newlib/libm/math/wf_log10.c
new file mode 100644
index 00000000000..15fa5d939b5
--- /dev/null
+++ b/newlib/libm/math/wf_log10.c
@@ -0,0 +1,88 @@
+/* wf_log10.c -- float version of w_log10.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrapper log10f(X)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifdef __STDC__
+ float log10f(float x) /* wrapper log10f */
+#else
+ float log10f(x) /* wrapper log10f */
+ float x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_log10f(x);
+#else
+ float z;
+ struct exception exc;
+ z = __ieee754_log10f(x);
+ if(_LIB_VERSION == _IEEE_ || isnanf(x)) return z;
+ if(x<=(float)0.0) {
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.name = "log10f";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = -HUGE;
+ else
+ exc.retval = -HUGE_VAL;
+ if(x==(float)0.0) {
+ /* log10f(0) */
+ exc.type = SING;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ } else {
+ /* log10f(x<0) */
+ exc.type = DOMAIN;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double log10(double x)
+#else
+ double log10(x)
+ double x;
+#endif
+{
+ return (double) log10f((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/wf_pow.c b/newlib/libm/math/wf_pow.c
new file mode 100644
index 00000000000..42655da4a2a
--- /dev/null
+++ b/newlib/libm/math/wf_pow.c
@@ -0,0 +1,179 @@
+/* wf_pow.c -- float version of w_pow.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrapper powf(x,y) return x**y
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifdef __STDC__
+ float powf(float x, float y) /* wrapper powf */
+#else
+ float powf(x,y) /* wrapper powf */
+ float x,y;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_powf(x,y);
+#else
+ float z;
+ struct exception exc;
+ z=__ieee754_powf(x,y);
+ if(_LIB_VERSION == _IEEE_|| isnanf(y)) return z;
+ if(isnanf(x)) {
+ if(y==(float)0.0) {
+ /* powf(NaN,0.0) */
+ /* error only if _LIB_VERSION == _SVID_ & _XOPEN_ */
+ exc.type = DOMAIN;
+ exc.name = "powf";
+ exc.err = 0;
+ exc.arg1 = (double)x;
+ exc.arg2 = (double)y;
+ exc.retval = x;
+ if (_LIB_VERSION == _IEEE_ ||
+ _LIB_VERSION == _POSIX_) exc.retval = 1.0;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ } else
+ return z;
+ }
+ if(x==(float)0.0){
+ if(y==(float)0.0) {
+ /* powf(0.0,0.0) */
+ /* error only if _LIB_VERSION == _SVID_ */
+ exc.type = DOMAIN;
+ exc.name = "powf";
+ exc.err = 0;
+ exc.arg1 = (double)x;
+ exc.arg2 = (double)y;
+ exc.retval = 0.0;
+ if (_LIB_VERSION != _SVID_) exc.retval = 1.0;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ }
+ if(finitef(y)&&y<(float)0.0) {
+ /* 0**neg */
+ exc.type = DOMAIN;
+ exc.name = "powf";
+ exc.err = 0;
+ exc.arg1 = (double)x;
+ exc.arg2 = (double)y;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = 0.0;
+ else
+ exc.retval = -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ }
+ return z;
+ }
+ if(!finitef(z)) {
+ if(finitef(x)&&finitef(y)) {
+ if(isnanf(z)) {
+ /* neg**non-integral */
+ exc.type = DOMAIN;
+ exc.name = "powf";
+ exc.err = 0;
+ exc.arg1 = (double)x;
+ exc.arg2 = (double)y;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = 0.0;
+ else
+ exc.retval = 0.0/0.0; /* X/Open allow NaN */
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ } else {
+ /* powf(x,y) overflow */
+ exc.type = OVERFLOW;
+ exc.name = "powf";
+ exc.err = 0;
+ exc.arg1 = (double)x;
+ exc.arg2 = (double)y;
+ if (_LIB_VERSION == _SVID_) {
+ exc.retval = HUGE;
+ y *= 0.5;
+ if(x<0.0&&rint(y)!=y) exc.retval = -HUGE;
+ } else {
+ exc.retval = HUGE_VAL;
+ y *= 0.5;
+ if(x<0.0&&rint(y)!=y) exc.retval = -HUGE_VAL;
+ }
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ }
+ }
+ }
+ if(z==(float)0.0&&finitef(x)&&finitef(y)) {
+ /* powf(x,y) underflow */
+ exc.type = UNDERFLOW;
+ exc.name = "powf";
+ exc.err = 0;
+ exc.arg1 = (double)x;
+ exc.arg2 = (double)y;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ }
+ return z;
+#endif
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double pow(double x, double y)
+#else
+ double pow(x,y)
+ double x,y;
+#endif
+{
+ return (double) powf((float) x, (float) y);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/wf_remainder.c b/newlib/libm/math/wf_remainder.c
new file mode 100644
index 00000000000..0071a977219
--- /dev/null
+++ b/newlib/libm/math/wf_remainder.c
@@ -0,0 +1,74 @@
+/* wf_remainder.c -- float version of w_remainder.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrapper remainderf(x,p)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifdef __STDC__
+ float remainderf(float x, float y) /* wrapper remainder */
+#else
+ float remainderf(x,y) /* wrapper remainder */
+ float x,y;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_remainderf(x,y);
+#else
+ float z;
+ struct exception exc;
+ z = __ieee754_remainderf(x,y);
+ if(_LIB_VERSION == _IEEE_ || isnanf(y)) return z;
+ if(y==(float)0.0) {
+ /* remainderf(x,0) */
+ exc.type = DOMAIN;
+ exc.name = "remainderf";
+ exc.err = 0;
+ exc.arg1 = (double)x;
+ exc.arg2 = (double)y;
+ exc.retval = 0.0/0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double remainder(double x, double y)
+#else
+ double remainder(x,y)
+ double x,y;
+#endif
+{
+ return (double) remainderf((float) x, (float) y);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
+
+
+
+
diff --git a/newlib/libm/math/wf_scalb.c b/newlib/libm/math/wf_scalb.c
new file mode 100644
index 00000000000..bd2d9f8b426
--- /dev/null
+++ b/newlib/libm/math/wf_scalb.c
@@ -0,0 +1,118 @@
+/* wf_scalb.c -- float version of w_scalb.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrapper scalbf(float x, float fn) is provide for
+ * passing various standard test suite. One
+ * should use scalbn() instead.
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifdef __STDC__
+#ifdef _SCALB_INT
+ float scalbf(float x, int fn) /* wrapper scalbf */
+#else
+ float scalbf(float x, float fn) /* wrapper scalbf */
+#endif
+#else
+ float scalbf(x,fn) /* wrapper scalbf */
+#ifdef _SCALB_INT
+ float x; int fn;
+#else
+ float x,fn;
+#endif
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_scalbf(x,fn);
+#else
+ float z;
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ struct exception exc;
+ z = __ieee754_scalbf(x,fn);
+ if(_LIB_VERSION == _IEEE_) return z;
+ if(!(finitef(z)||isnanf(z))&&finitef(x)) {
+ /* scalbf overflow; SVID also returns +-HUGE_VAL */
+ exc.type = OVERFLOW;
+ exc.name = "scalbf";
+ exc.err = 0;
+ exc.arg1 = (double)x;
+ exc.arg2 = (double)fn;
+ exc.retval = x > 0.0 ? HUGE_VAL : -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ }
+ if(z==(float)0.0&&z!=x) {
+ /* scalbf underflow */
+ exc.type = UNDERFLOW;
+ exc.name = "scalbf";
+ exc.err = 0;
+ exc.arg1 = (double)x;
+ exc.arg2 = (double)fn;
+ exc.retval = copysign(0.0,x);
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ }
+#ifndef _SCALB_INT
+ if(!finitef(fn)) errno = ERANGE;
+#endif
+ return z;
+#endif
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+#ifdef _SCALB_INT
+ double scalb(double x, int fn)
+#else
+ double scalb(double x, double fn)
+#endif
+#else
+ double scalb(x, fn)
+#ifdef _SCALB_INT
+ double x; int fn;
+#else
+ double x,fn;
+#endif
+#endif
+{
+#ifdef _SCALB_INT
+ return (double) scalbf((float) x, fn);
+#else
+ return (double) scalbf((float) x, (float) fn);
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/wf_sinh.c b/newlib/libm/math/wf_sinh.c
new file mode 100644
index 00000000000..80c7a8e6e2f
--- /dev/null
+++ b/newlib/libm/math/wf_sinh.c
@@ -0,0 +1,78 @@
+/* wf_sinh.c -- float version of w_sinh.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrapper sinhf(x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifdef __STDC__
+ float sinhf(float x) /* wrapper sinhf */
+#else
+ float sinhf(x) /* wrapper sinhf */
+ float x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_sinhf(x);
+#else
+ float z;
+ struct exception exc;
+ z = __ieee754_sinhf(x);
+ if(_LIB_VERSION == _IEEE_) return z;
+ if(!finitef(z)&&finitef(x)) {
+ /* sinhf(finite) overflow */
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.type = OVERFLOW;
+ exc.name = "sinhf";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = ( (x>0.0) ? HUGE : -HUGE);
+ else
+ exc.retval = ( (x>0.0) ? HUGE_VAL : -HUGE_VAL);
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double sinh(double x)
+#else
+ double sinh(x)
+ double x;
+#endif
+{
+ return (double) sinhf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/wf_sqrt.c b/newlib/libm/math/wf_sqrt.c
new file mode 100644
index 00000000000..6e792c923dd
--- /dev/null
+++ b/newlib/libm/math/wf_sqrt.c
@@ -0,0 +1,72 @@
+/* wf_sqrt.c -- float version of w_sqrt.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrapper sqrtf(x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifdef __STDC__
+ float sqrtf(float x) /* wrapper sqrtf */
+#else
+ float sqrtf(x) /* wrapper sqrtf */
+ float x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_sqrtf(x);
+#else
+ float z;
+ struct exception exc;
+ z = __ieee754_sqrtf(x);
+ if(_LIB_VERSION == _IEEE_ || isnanf(x)) return z;
+ if(x<(float)0.0) {
+ /* sqrtf(negative) */
+ exc.type = DOMAIN;
+ exc.name = "sqrtf";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = 0.0;
+ else
+ exc.retval = 0.0/0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double sqrt(double x)
+#else
+ double sqrt(x)
+ double x;
+#endif
+{
+ return (double) sqrtf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/wr_gamma.c b/newlib/libm/math/wr_gamma.c
new file mode 100644
index 00000000000..0092ed02c77
--- /dev/null
+++ b/newlib/libm/math/wr_gamma.c
@@ -0,0 +1,76 @@
+
+/* @(#)wr_gamma.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrapper double gamma_r(double x, int *signgamp)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double gamma_r(double x, int *signgamp) /* wrapper lgamma_r */
+#else
+ double gamma_r(x,signgamp) /* wrapper lgamma_r */
+ double x; int *signgamp;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_gamma_r(x,signgamp);
+#else
+ double y;
+ struct exception exc;
+ y = __ieee754_gamma_r(x,signgamp);
+ if(_LIB_VERSION == _IEEE_) return y;
+ if(!finite(y)&&finite(x)) {
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.name = "gamma";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = HUGE;
+ else
+ exc.retval = HUGE_VAL;
+ if(floor(x)==x&&x<=0.0) {
+ /* gamma(-integer) or gamma(0) */
+ exc.type = SING;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ } else {
+ /* gamma(finite) overflow */
+ exc.type = OVERFLOW;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return y;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/wr_lgamma.c b/newlib/libm/math/wr_lgamma.c
new file mode 100644
index 00000000000..c59c1cce9af
--- /dev/null
+++ b/newlib/libm/math/wr_lgamma.c
@@ -0,0 +1,77 @@
+
+/* @(#)wr_lgamma.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrapper double lgamma_r(double x, int *signgamp)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double lgamma_r(double x, int *signgamp) /* wrapper lgamma_r */
+#else
+ double lgamma_r(x,signgamp) /* wrapper lgamma_r */
+ double x; int *signgamp;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_lgamma_r(x,signgamp);
+#else
+ double y;
+ struct exception exc;
+ y = __ieee754_lgamma_r(x,signgamp);
+ if(_LIB_VERSION == _IEEE_) return y;
+ if(!finite(y)&&finite(x)) {
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.name = "lgamma";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = HUGE;
+ else
+ exc.retval = HUGE_VAL;
+ if(floor(x)==x&&x<=0.0) {
+ /* lgamma(-integer) */
+ exc.type = SING;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+
+ } else {
+ /* lgamma(finite) overflow */
+ exc.type = OVERFLOW;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return y;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/math/wrf_gamma.c b/newlib/libm/math/wrf_gamma.c
new file mode 100644
index 00000000000..ae285f56488
--- /dev/null
+++ b/newlib/libm/math/wrf_gamma.c
@@ -0,0 +1,74 @@
+/* wrf_gamma.c -- float version of wr_gamma.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrapper float gammaf_r(float x, int *signgamp)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifdef __STDC__
+ float gammaf_r(float x, int *signgamp) /* wrapper lgammaf_r */
+#else
+ float gammaf_r(x,signgamp) /* wrapper lgammaf_r */
+ float x; int *signgamp;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_gammaf_r(x,signgamp);
+#else
+ float y;
+ struct exception exc;
+ y = __ieee754_gammaf_r(x,signgamp);
+ if(_LIB_VERSION == _IEEE_) return y;
+ if(!finitef(y)&&finitef(x)) {
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.name = "gammaf";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = HUGE;
+ else
+ exc.retval = HUGE_VAL;
+ if(floorf(x)==x&&x<=(float)0.0) {
+ /* gammaf(-integer) or gamma(0) */
+ exc.type = SING;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ } else {
+ /* gammaf(finite) overflow */
+ exc.type = OVERFLOW;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ } else
+ return y;
+#endif
+}
diff --git a/newlib/libm/math/wrf_lgamma.c b/newlib/libm/math/wrf_lgamma.c
new file mode 100644
index 00000000000..73985e2714e
--- /dev/null
+++ b/newlib/libm/math/wrf_lgamma.c
@@ -0,0 +1,75 @@
+/* wrf_lgamma.c -- float version of wr_lgamma.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * wrapper float lgammaf_r(float x, int *signgamp)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifdef __STDC__
+ float lgammaf_r(float x, int *signgamp) /* wrapper lgammaf_r */
+#else
+ float lgammaf_r(x,signgamp) /* wrapper lgammaf_r */
+ float x; int *signgamp;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_lgammaf_r(x,signgamp);
+#else
+ float y;
+ struct exception exc;
+ y = __ieee754_lgammaf_r(x,signgamp);
+ if(_LIB_VERSION == _IEEE_) return y;
+ if(!finitef(y)&&finitef(x)) {
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.name = "lgammaf";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = (double)x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = HUGE;
+ else
+ exc.retval = HUGE_VAL;
+ if(floorf(x)==x&&x<=(float)0.0) {
+ /* lgammaf(-integer) or lgamma(0) */
+ exc.type = SING;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+
+ } else {
+ /* lgammaf(finite) overflow */
+ exc.type = OVERFLOW;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ } else
+ return y;
+#endif
+}
diff --git a/newlib/libm/mathfp/Makefile.am b/newlib/libm/mathfp/Makefile.am
new file mode 100644
index 00000000000..562653f58d7
--- /dev/null
+++ b/newlib/libm/mathfp/Makefile.am
@@ -0,0 +1,184 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = -I$(srcdir)/../common $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+src = s_acos.c s_frexp.c s_mathcnst.c \
+ s_cos.c s_sinh.c \
+ s_asin.c\
+ s_asine.c s_cosh.c s_ispos.c s_numtest.c s_sqrt.c \
+ s_exp.c s_ldexp.c s_pow.c s_tan.c \
+ s_atan.c \
+ s_atan2.c s_fabs.c s_log.c s_tanh.c \
+ s_log10.c s_sin.c \
+ s_floor.c s_sine.c \
+ s_atangent.c s_logarithm.c \
+ s_sineh.c \
+ s_ceil.c s_isnan.c s_isinf.c \
+ e_acosh.c e_atanh.c e_remainder.c \
+ er_gamma.c er_lgamma.c \
+ s_erf.c e_j0.c e_j1.c w_jn.c e_hypot.c \
+ w_cabs.c w_drem.c s_asinh.c s_fmod.c \
+ e_scalb.c s_infconst.c s_signif.c
+
+fsrc = sf_ceil.c \
+ sf_acos.c sf_frexp.c \
+ sf_cos.c sf_sinh.c \
+ sf_asine.c sf_cosh.c sf_ispos.c sf_numtest.c sf_sqrt.c \
+ sf_asin.c \
+ sf_exp.c sf_ldexp.c sf_pow.c sf_tan.c \
+ sf_atan2.c sf_fabs.c sf_tanh.c \
+ sf_atan.c sf_log10.c sf_sin.c\
+ sf_floor.c sf_sine.c \
+ sf_atangent.c sf_logarithm.c sf_sineh.c \
+ sf_log.c sf_sineh.c \
+ sf_isnan.c sf_isinf.c \
+ ef_acosh.c ef_atanh.c ef_remainder.c \
+ erf_gamma.c erf_lgamma.c \
+ sf_erf.c ef_j0.c ef_j1.c wf_jn.c ef_hypot.c \
+ wf_cabs.c wf_drem.c sf_asinh.c sf_fmod.c \
+ ef_scalb.c sf_signif.c
+
+lib_a_SOURCES = $(src) $(fsrc)
+
+chobj = eacosh.def \
+ eatanh.def \
+ ehypot.def \
+ eremainder.def \
+ erlgamma.def \
+ sacos.def \
+ sasine.def \
+ sasinh.def \
+ satan.def \
+ satan2.def \
+ satangent.def \
+ scosh.def \
+ serf.def \
+ sexp.def \
+ sfabs.def \
+ sfloor.def \
+ sfmod.def \
+ sfrexp.def \
+ sisnan.def \
+ sldexp.def \
+ slog10.def \
+ slogarithm.def \
+ spow.def \
+ ssine.def \
+ ssineh.def \
+ ssqrt.def \
+ stan.def \
+ stanh.def \
+ wjn.def
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+TARGETDOC = ../tmp.texi
+
+doc: $(chobj)
+ cat $(srcdir)/mathfp.tex >> $(TARGETDOC)
+
+CLEANFILES = $(chobj) *.ref
+
+# Texinfo does not appear to support underscores in file names, so we
+# name the .def files without underscores.
+
+eacosh.def: e_acosh.c
+ $(CHEW) < $(srcdir)/e_acosh.c >$@ 2>/dev/null
+ touch stmp-def
+eatanh.def: e_atanh.c
+ $(CHEW) < $(srcdir)/e_atanh.c >$@ 2>/dev/null
+ touch stmp-def
+ehypot.def: e_hypot.c
+ $(CHEW) < $(srcdir)/e_hypot.c >$@ 2>/dev/null
+ touch stmp-def
+eremainder.def: e_remainder.c
+ $(CHEW) < $(srcdir)/e_remainder.c >$@ 2>/dev/null
+ touch stmp-def
+erlgamma.def: er_lgamma.c
+ $(CHEW) < $(srcdir)/er_lgamma.c >$@ 2>/dev/null
+ touch stmp-def
+sacos.def: s_acos.c
+ $(CHEW) < $(srcdir)/s_acos.c >$@ 2>/dev/null
+ touch stmp-def
+sasine.def: s_asine.c
+ $(CHEW) < $(srcdir)/s_asine.c >$@ 2>/dev/null
+ touch stmp-def
+sasinh.def: s_asinh.c
+ $(CHEW) < $(srcdir)/s_asinh.c >$@ 2>/dev/null
+ touch stmp-def
+satan.def: s_atan.c
+ $(CHEW) < $(srcdir)/s_atan.c >$@ 2>/dev/null
+ touch stmp-def
+satan2.def: s_atan2.c
+ $(CHEW) < $(srcdir)/s_atan2.c >$@ 2>/dev/null
+ touch stmp-def
+satangent.def: s_atangent.c
+ $(CHEW) < $(srcdir)/s_atangent.c >$@ 2>/dev/null
+ touch stmp-def
+scosh.def: s_cosh.c
+ $(CHEW) < $(srcdir)/s_cosh.c >$@ 2>/dev/null
+ touch stmp-def
+serf.def: s_erf.c
+ $(CHEW) < $(srcdir)/s_erf.c >$@ 2>/dev/null
+ touch stmp-def
+sexp.def: s_exp.c
+ $(CHEW) < $(srcdir)/s_exp.c >$@ 2>/dev/null
+ touch stmp-def
+sfabs.def: s_fabs.c
+ $(CHEW) < $(srcdir)/s_fabs.c >$@ 2>/dev/null
+ touch stmp-def
+sfloor.def: s_floor.c
+ $(CHEW) < $(srcdir)/s_floor.c >$@ 2>/dev/null
+ touch stmp-def
+sfmod.def: s_fmod.c
+ $(CHEW) < $(srcdir)/s_fmod.c >$@ 2>/dev/null
+ touch stmp-def
+sfrexp.def: s_frexp.c
+ $(CHEW) < $(srcdir)/s_frexp.c >$@ 2>/dev/null
+ touch stmp-def
+sisnan.def: s_isnan.c
+ $(CHEW) < $(srcdir)/s_isnan.c >$@ 2>/dev/null
+ touch stmp-def
+sldexp.def: s_ldexp.c
+ $(CHEW) < $(srcdir)/s_ldexp.c >$@ 2>/dev/null
+ touch stmp-def
+slog10.def: s_log10.c
+ $(CHEW) < $(srcdir)/s_log10.c >$@ 2>/dev/null
+ touch stmp-def
+slogarithm.def: s_logarithm.c
+ $(CHEW) < $(srcdir)/s_logarithm.c >$@ 2>/dev/null
+ touch stmp-def
+spow.def: s_pow.c
+ $(CHEW) < $(srcdir)/s_pow.c >$@ 2>/dev/null
+ touch stmp-def
+ssine.def: s_sine.c
+ $(CHEW) < $(srcdir)/s_sine.c >$@ 2>/dev/null
+ touch stmp-def
+ssineh.def: s_sineh.c
+ $(CHEW) < $(srcdir)/s_sineh.c >$@ 2>/dev/null
+ touch stmp-def
+ssqrt.def: s_sqrt.c
+ $(CHEW) < $(srcdir)/s_sqrt.c >$@ 2>/dev/null
+ touch stmp-def
+stan.def: s_tan.c
+ $(CHEW) < $(srcdir)/s_tan.c >$@ 2>/dev/null
+ touch stmp-def
+stanh.def: s_tanh.c
+ $(CHEW) < $(srcdir)/s_tanh.c >$@ 2>/dev/null
+ touch stmp-def
+wjn.def: w_jn.c
+ $(CHEW) < $(srcdir)/w_jn.c >$@ 2>/dev/null
+ touch stmp-def
+
+# A partial dependency list.
+
+$(lib_a_OBJECTS): $(srcdir)/../../libc/include/math.h $(srcdir)/../common/fdlibm.h
diff --git a/newlib/libm/mathfp/Makefile.in b/newlib/libm/mathfp/Makefile.in
new file mode 100644
index 00000000000..15575361d02
--- /dev/null
+++ b/newlib/libm/mathfp/Makefile.in
@@ -0,0 +1,410 @@
+# Makefile.in generated automatically by automake 1.3b from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+EXEEXT = @EXEEXT@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+mach_add_objs = @mach_add_objs@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = -I$(srcdir)/../common $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+src = s_acos.c s_frexp.c s_mathcnst.c \
+ s_cos.c s_sinh.c \
+ s_asin.c\
+ s_asine.c s_cosh.c s_ispos.c s_numtest.c s_sqrt.c \
+ s_exp.c s_ldexp.c s_pow.c s_tan.c \
+ s_atan.c \
+ s_atan2.c s_fabs.c s_log.c s_tanh.c \
+ s_log10.c s_sin.c \
+ s_floor.c s_sine.c \
+ s_atangent.c s_logarithm.c \
+ s_sineh.c \
+ s_ceil.c s_isnan.c s_isinf.c \
+ e_acosh.c e_atanh.c e_remainder.c \
+ er_gamma.c er_lgamma.c \
+ s_erf.c e_j0.c e_j1.c w_jn.c e_hypot.c \
+ w_cabs.c w_drem.c s_asinh.c s_fmod.c \
+ e_scalb.c s_infconst.c s_signif.c
+
+fsrc = sf_ceil.c \
+ sf_acos.c sf_frexp.c \
+ sf_cos.c sf_sinh.c \
+ sf_asine.c sf_cosh.c sf_ispos.c sf_numtest.c sf_sqrt.c \
+ sf_asin.c \
+ sf_exp.c sf_ldexp.c sf_pow.c sf_tan.c \
+ sf_atan2.c sf_fabs.c sf_tanh.c \
+ sf_atan.c sf_log10.c sf_sin.c\
+ sf_floor.c sf_sine.c \
+ sf_atangent.c sf_logarithm.c sf_sineh.c \
+ sf_log.c sf_sineh.c \
+ sf_isnan.c sf_isinf.c \
+ ef_acosh.c ef_atanh.c ef_remainder.c \
+ erf_gamma.c erf_lgamma.c \
+ sf_erf.c ef_j0.c ef_j1.c wf_jn.c ef_hypot.c \
+ wf_cabs.c wf_drem.c sf_asinh.c sf_fmod.c \
+ ef_scalb.c sf_signif.c
+
+lib_a_SOURCES = $(src) $(fsrc)
+
+chobj = eacosh.def eatanh.def ehypot.def eremainder.def erlgamma.def sacos.def sasine.def sasinh.def satan.def satan2.def satangent.def scosh.def serf.def sexp.def sfabs.def sfloor.def sfmod.def sfrexp.def sisnan.def sldexp.def slog10.def slogarithm.def spow.def ssine.def ssineh.def ssqrt.def stan.def stanh.def wjn.def
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+TARGETDOC = ../tmp.texi
+
+CLEANFILES = $(chobj) *.ref
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = s_acos.o s_frexp.o s_mathcnst.o s_cos.o s_sinh.o \
+s_asin.o s_asine.o s_cosh.o s_ispos.o s_numtest.o s_sqrt.o s_exp.o \
+s_ldexp.o s_pow.o s_tan.o s_atan.o s_atan2.o s_fabs.o s_log.o s_tanh.o \
+s_log10.o s_sin.o s_floor.o s_sine.o s_atangent.o s_logarithm.o \
+s_sineh.o s_ceil.o s_isnan.o s_isinf.o e_acosh.o e_atanh.o \
+e_remainder.o er_gamma.o er_lgamma.o s_erf.o e_j0.o e_j1.o w_jn.o \
+e_hypot.o w_cabs.o w_drem.o s_asinh.o s_fmod.o e_scalb.o s_infconst.o \
+s_signif.o sf_ceil.o sf_acos.o sf_frexp.o sf_cos.o sf_sinh.o sf_asine.o \
+sf_cosh.o sf_ispos.o sf_numtest.o sf_sqrt.o sf_asin.o sf_exp.o \
+sf_ldexp.o sf_pow.o sf_tan.o sf_atan2.o sf_fabs.o sf_tanh.o sf_atan.o \
+sf_log10.o sf_sin.o sf_floor.o sf_sine.o sf_atangent.o sf_logarithm.o \
+sf_sineh.o sf_log.o sf_sineh.o sf_isnan.o sf_isinf.o ef_acosh.o \
+ef_atanh.o ef_remainder.o erf_gamma.o erf_lgamma.o sf_erf.o ef_j0.o \
+ef_j1.o wf_jn.o ef_hypot.o wf_cabs.o wf_drem.o sf_asinh.o sf_fmod.o \
+ef_scalb.o sf_signif.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LINK = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: Makefile $(LIBRARIES)
+
+.SUFFIXES:
+.SUFFIXES: .S .c .def .o .s
+$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus mathfp/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = mathfp
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
+ done
+info:
+dvi:
+check:
+installcheck:
+install-info:
+install-exec:
+ @$(NORMAL_INSTALL)
+
+install-data:
+ @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+ @:
+
+uninstall:
+
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean
+
+distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
+ distclean-generic clean
+ -rm -f config.status
+
+maintainer-clean: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info dvi installcheck \
+install-info install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+doc: $(chobj)
+ cat $(srcdir)/mathfp.tex >> $(TARGETDOC)
+
+# Texinfo does not appear to support underscores in file names, so we
+# name the .def files without underscores.
+
+eacosh.def: e_acosh.c
+ $(CHEW) < $(srcdir)/e_acosh.c >$@ 2>/dev/null
+ touch stmp-def
+eatanh.def: e_atanh.c
+ $(CHEW) < $(srcdir)/e_atanh.c >$@ 2>/dev/null
+ touch stmp-def
+ehypot.def: e_hypot.c
+ $(CHEW) < $(srcdir)/e_hypot.c >$@ 2>/dev/null
+ touch stmp-def
+eremainder.def: e_remainder.c
+ $(CHEW) < $(srcdir)/e_remainder.c >$@ 2>/dev/null
+ touch stmp-def
+erlgamma.def: er_lgamma.c
+ $(CHEW) < $(srcdir)/er_lgamma.c >$@ 2>/dev/null
+ touch stmp-def
+sacos.def: s_acos.c
+ $(CHEW) < $(srcdir)/s_acos.c >$@ 2>/dev/null
+ touch stmp-def
+sasine.def: s_asine.c
+ $(CHEW) < $(srcdir)/s_asine.c >$@ 2>/dev/null
+ touch stmp-def
+sasinh.def: s_asinh.c
+ $(CHEW) < $(srcdir)/s_asinh.c >$@ 2>/dev/null
+ touch stmp-def
+satan.def: s_atan.c
+ $(CHEW) < $(srcdir)/s_atan.c >$@ 2>/dev/null
+ touch stmp-def
+satan2.def: s_atan2.c
+ $(CHEW) < $(srcdir)/s_atan2.c >$@ 2>/dev/null
+ touch stmp-def
+satangent.def: s_atangent.c
+ $(CHEW) < $(srcdir)/s_atangent.c >$@ 2>/dev/null
+ touch stmp-def
+scosh.def: s_cosh.c
+ $(CHEW) < $(srcdir)/s_cosh.c >$@ 2>/dev/null
+ touch stmp-def
+serf.def: s_erf.c
+ $(CHEW) < $(srcdir)/s_erf.c >$@ 2>/dev/null
+ touch stmp-def
+sexp.def: s_exp.c
+ $(CHEW) < $(srcdir)/s_exp.c >$@ 2>/dev/null
+ touch stmp-def
+sfabs.def: s_fabs.c
+ $(CHEW) < $(srcdir)/s_fabs.c >$@ 2>/dev/null
+ touch stmp-def
+sfloor.def: s_floor.c
+ $(CHEW) < $(srcdir)/s_floor.c >$@ 2>/dev/null
+ touch stmp-def
+sfmod.def: s_fmod.c
+ $(CHEW) < $(srcdir)/s_fmod.c >$@ 2>/dev/null
+ touch stmp-def
+sfrexp.def: s_frexp.c
+ $(CHEW) < $(srcdir)/s_frexp.c >$@ 2>/dev/null
+ touch stmp-def
+sisnan.def: s_isnan.c
+ $(CHEW) < $(srcdir)/s_isnan.c >$@ 2>/dev/null
+ touch stmp-def
+sldexp.def: s_ldexp.c
+ $(CHEW) < $(srcdir)/s_ldexp.c >$@ 2>/dev/null
+ touch stmp-def
+slog10.def: s_log10.c
+ $(CHEW) < $(srcdir)/s_log10.c >$@ 2>/dev/null
+ touch stmp-def
+slogarithm.def: s_logarithm.c
+ $(CHEW) < $(srcdir)/s_logarithm.c >$@ 2>/dev/null
+ touch stmp-def
+spow.def: s_pow.c
+ $(CHEW) < $(srcdir)/s_pow.c >$@ 2>/dev/null
+ touch stmp-def
+ssine.def: s_sine.c
+ $(CHEW) < $(srcdir)/s_sine.c >$@ 2>/dev/null
+ touch stmp-def
+ssineh.def: s_sineh.c
+ $(CHEW) < $(srcdir)/s_sineh.c >$@ 2>/dev/null
+ touch stmp-def
+ssqrt.def: s_sqrt.c
+ $(CHEW) < $(srcdir)/s_sqrt.c >$@ 2>/dev/null
+ touch stmp-def
+stan.def: s_tan.c
+ $(CHEW) < $(srcdir)/s_tan.c >$@ 2>/dev/null
+ touch stmp-def
+stanh.def: s_tanh.c
+ $(CHEW) < $(srcdir)/s_tanh.c >$@ 2>/dev/null
+ touch stmp-def
+wjn.def: w_jn.c
+ $(CHEW) < $(srcdir)/w_jn.c >$@ 2>/dev/null
+ touch stmp-def
+
+# A partial dependency list.
+
+$(lib_a_OBJECTS): $(srcdir)/../../libc/include/math.h $(srcdir)/../common/fdlibm.h
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libm/mathfp/e_acosh.c b/newlib/libm/mathfp/e_acosh.c
new file mode 100644
index 00000000000..a48420304a1
--- /dev/null
+++ b/newlib/libm/mathfp/e_acosh.c
@@ -0,0 +1,135 @@
+
+/* @(#)e_acosh.c 5.1 93/09/24 */
+
+/*
+FUNCTION
+<<acosh>>, <<acoshf>>---inverse hyperbolic cosine
+
+INDEX
+acosh
+INDEX
+acoshf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double acosh(double <[x]>);
+ float acoshf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double acosh(<[x]>)
+ double <[x]>;
+
+ float acoshf(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+<<acosh>> calculates the inverse hyperbolic cosine of <[x]>.
+<<acosh>> is defined as
+@ifinfo
+. log(<[x]> + sqrt(<[x]>*<[x]>-1))
+@end ifinfo
+@tex
+$$ln\Bigl(x + \sqrt{x^2-1}\Bigr)$$
+@end tex
+
+<[x]> must be a number greater than or equal to 1.
+
+<<acoshf>> is identical, other than taking and returning floats.
+
+RETURNS
+<<acosh>> and <<acoshf>> return the calculated value. If <[x]>
+less than 1, the return value is NaN and <<errno>> is set to <<EDOM>>.
+
+You can change the error-handling behavior with the non-ANSI
+<<matherr>> function.
+
+PORTABILITY
+Neither <<acosh>> nor <<acoshf>> are ANSI C. They are not recommended
+for portable programs.
+
+
+QUICKREF ANSI SVID POSIX RENTRANT
+ acos n,n,n,m
+ acosf n,n,n,m
+
+MATHREF
+ acosh, NAN, arg,DOMAIN,EDOM
+ acosh, < 1.0, NAN,DOMAIN,EDOM
+ acosh, >=1.0, acosh(arg),,,
+
+MATHREF
+ acoshf, NAN, arg,DOMAIN,EDOM
+ acoshf, < 1.0, NAN,DOMAIN,EDOM
+ acoshf, >=1.0, acosh(arg),,,
+
+*/
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/* acosh(x)
+ * Method :
+ * Based on
+ * acosh(x) = log [ x + sqrt(x*x-1) ]
+ * we have
+ * acosh(x) := log(x)+ln2, if x is large; else
+ * acosh(x) := log(2x-1/(sqrt(x*x-1)+x)) if x>2; else
+ * acosh(x) := log1p(t+sqrt(2.0*t+t*t)); where t=x-1.
+ *
+ * Special cases:
+ * acosh(x) is NaN with signal if x<1.
+ * acosh(NaN) is NaN without signal.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+one = 1.0,
+ln2 = 6.93147180559945286227e-01; /* 0x3FE62E42, 0xFEFA39EF */
+
+#ifdef __STDC__
+ double acosh(double x)
+#else
+ double acosh(x)
+ double x;
+#endif
+{
+ double t;
+ __int32_t hx;
+ __uint32_t lx;
+ EXTRACT_WORDS(hx,lx,x);
+ if(hx<0x3ff00000) { /* x < 1 */
+ return (x-x)/(x-x);
+ } else if(hx >=0x41b00000) { /* x > 2**28 */
+ if(hx >=0x7ff00000) { /* x is inf of NaN */
+ return x+x;
+ } else
+ return log(x)+ln2; /* acosh(huge)=log(2x) */
+ } else if(((hx-0x3ff00000)|lx)==0) {
+ return 0.0; /* acosh(1) = 0 */
+ } else if (hx > 0x40000000) { /* 2**28 > x > 2 */
+ t=x*x;
+ return log(2.0*x-one/(x+sqrt(t-one)));
+ } else { /* 1<x<2 */
+ t = x-one;
+ return log1p(t+sqrt(2.0*t+t*t));
+ }
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/e_atanh.c b/newlib/libm/mathfp/e_atanh.c
new file mode 100644
index 00000000000..1ab311df45b
--- /dev/null
+++ b/newlib/libm/mathfp/e_atanh.c
@@ -0,0 +1,139 @@
+
+/* @(#)e_atanh.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/*
+FUNCTION
+ <<atanh>>, <<atanhf>>---inverse hyperbolic tangent
+
+INDEX
+ atanh
+INDEX
+ atanhf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double atanh(double <[x]>);
+ float atanhf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double atanh(<[x]>)
+ double <[x]>;
+
+ float atanhf(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+ <<atanh>> calculates the inverse hyperbolic tangent of <[x]>.
+
+ <<atanhf>> is identical, other than taking and returning
+ <<float>> values.
+
+RETURNS
+ <<atanh>> and <<atanhf>> return the calculated value.
+
+ If
+ @ifinfo
+ |<[x]>|
+ @end ifinfo
+ @tex
+ $|x|$
+ @end tex
+ is greater than 1, the global <<errno>> is set to <<EDOM>> and
+ the result is a NaN. A <<DOMAIN error>> is reported.
+
+ If
+ @ifinfo
+ |<[x]>|
+ @end ifinfo
+ @tex
+ $|x|$
+ @end tex
+ is 1, the global <<errno>> is set to <<EDOM>>; and the result is
+ infinity with the same sign as <<x>>. A <<SING error>> is reported.
+
+ You can modify the error handling for these routines using
+ <<matherr>>.
+
+PORTABILITY
+ Neither <<atanh>> nor <<atanhf>> are ANSI C.
+
+QUICKREF
+ atanh - pure
+ atanhf - pure
+
+
+*/
+
+/* atanh(x)
+ * Method :
+ * 1.Reduced x to positive by atanh(-x) = -atanh(x)
+ * 2.For x>=0.5
+ * 1 2x x
+ * atanh(x) = --- * log(1 + -------) = 0.5 * log1p(2 * --------)
+ * 2 1 - x 1 - x
+ *
+ * For x<0.5
+ * atanh(x) = 0.5*log1p(2x+2x*x/(1-x))
+ *
+ * Special cases:
+ * atanh(x) is NaN if |x| > 1 with signal;
+ * atanh(NaN) is that NaN with no signal;
+ * atanh(+-1) is +-INF with signal.
+ *
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double one = 1.0, huge = 1e300;
+#else
+static double one = 1.0, huge = 1e300;
+#endif
+
+#ifdef __STDC__
+static const double zero = 0.0;
+#else
+static double zero = 0.0;
+#endif
+
+#ifdef __STDC__
+ double atanh(double x)
+#else
+ double atanh(x)
+ double x;
+#endif
+{
+ double t;
+ __int32_t hx,ix;
+ __uint32_t lx;
+ EXTRACT_WORDS(hx,lx,x);
+ ix = hx&0x7fffffff;
+ if ((ix|((lx|(-lx))>>31))>0x3ff00000) /* |x|>1 */
+ return (x-x)/(x-x);
+ if(ix==0x3ff00000)
+ return x/zero;
+ if(ix<0x3e300000&&(huge+x)>zero) return x; /* x<2**-28 */
+ SET_HIGH_WORD(x,ix);
+ if(ix<0x3fe00000) { /* x < 0.5 */
+ t = x+x;
+ t = 0.5*log1p(t+t*x/(one-x));
+ } else
+ t = 0.5*log1p((x+x)/(one-x));
+ if(hx>=0) return t; else return -t;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/e_hypot.c b/newlib/libm/mathfp/e_hypot.c
new file mode 100644
index 00000000000..d93263ea4dc
--- /dev/null
+++ b/newlib/libm/mathfp/e_hypot.c
@@ -0,0 +1,170 @@
+
+/* @(#)e_hypot.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<hypot>>, <<hypotf>>---distance from origin
+INDEX
+ hypot
+INDEX
+ hypotf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double hypot(double <[x]>, double <[y]>);
+ float hypotf(float <[x]>, float <[y]>);
+
+TRAD_SYNOPSIS
+ double hypot(<[x]>, <[y]>)
+ double <[x]>, <[y]>;
+
+ float hypotf(<[x]>, <[y]>)
+ float <[x]>, <[y]>;
+
+DESCRIPTION
+ <<hypot>> calculates the Euclidean distance
+ @tex
+ $\sqrt{x^2+y^2}$
+ @end tex
+ @ifinfo
+ <<sqrt(<[x]>*<[x]> + <[y]>*<[y]>)>>
+ @end ifinfo
+ between the origin (0,0) and a point represented by the
+ Cartesian coordinates (<[x]>,<[y]>). <<hypotf>> differs only
+ in the type of its arguments and result.
+
+RETURNS
+ Normally, the distance value is returned. On overflow,
+ <<hypot>> returns <<HUGE_VAL>> and sets <<errno>> to
+ <<ERANGE>>.
+
+ You can change the error treatment with <<matherr>>.
+
+PORTABILITY
+ <<hypot>> and <<hypotf>> are not ANSI C. */
+
+/* hypot(x,y)
+ *
+ * Method :
+ * If (assume round-to-nearest) z=x*x+y*y
+ * has error less than sqrt(2)/2 ulp, than
+ * sqrt(z) has error less than 1 ulp (exercise).
+ *
+ * So, compute sqrt(x*x+y*y) with some care as
+ * follows to get the error below 1 ulp:
+ *
+ * Assume x>y>0;
+ * (if possible, set rounding to round-to-nearest)
+ * 1. if x > 2y use
+ * x1*x1+(y*y+(x2*(x+x1))) for x*x+y*y
+ * where x1 = x with lower 32 bits cleared, x2 = x-x1; else
+ * 2. if x <= 2y use
+ * t1*y1+((x-y)*(x-y)+(t1*y2+t2*y))
+ * where t1 = 2x with lower 32 bits cleared, t2 = 2x-t1,
+ * y1= y with lower 32 bits chopped, y2 = y-y1.
+ *
+ * NOTE: scaling may be necessary if some argument is too
+ * large or too tiny
+ *
+ * Special cases:
+ * hypot(x,y) is INF if x or y is +INF or -INF; else
+ * hypot(x,y) is NAN if x or y is NAN.
+ *
+ * Accuracy:
+ * hypot(x,y) returns sqrt(x^2+y^2) with error less
+ * than 1 ulps (units in the last place)
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double hypot(double x, double y)
+#else
+ double hypot(x,y)
+ double x, y;
+#endif
+{
+ double a=x,b=y,t1,t2,y1,y2,w;
+ __int32_t j,k,ha,hb;
+
+ GET_HIGH_WORD(ha,x);
+ ha &= 0x7fffffff;
+ GET_HIGH_WORD(hb,y);
+ hb &= 0x7fffffff;
+ if(hb > ha) {a=y;b=x;j=ha; ha=hb;hb=j;} else {a=x;b=y;}
+ SET_HIGH_WORD(a,ha); /* a <- |a| */
+ SET_HIGH_WORD(b,hb); /* b <- |b| */
+ if((ha-hb)>0x3c00000) {return a+b;} /* x/y > 2**60 */
+ k=0;
+ if(ha > 0x5f300000) { /* a>2**500 */
+ if(ha >= 0x7ff00000) { /* Inf or NaN */
+ __uint32_t low;
+ w = a+b; /* for sNaN */
+ GET_LOW_WORD(low,a);
+ if(((ha&0xfffff)|low)==0) w = a;
+ GET_LOW_WORD(low,b);
+ if(((hb^0x7ff00000)|low)==0) w = b;
+ return w;
+ }
+ /* scale a and b by 2**-600 */
+ ha -= 0x25800000; hb -= 0x25800000; k += 600;
+ SET_HIGH_WORD(a,ha);
+ SET_HIGH_WORD(b,hb);
+ }
+ if(hb < 0x20b00000) { /* b < 2**-500 */
+ if(hb <= 0x000fffff) { /* subnormal b or 0 */
+ __uint32_t low;
+ GET_LOW_WORD(low,b);
+ if((hb|low)==0) return a;
+ t1=0;
+ SET_HIGH_WORD(t1,0x7fd00000); /* t1=2^1022 */
+ b *= t1;
+ a *= t1;
+ k -= 1022;
+ } else { /* scale a and b by 2^600 */
+ ha += 0x25800000; /* a *= 2^600 */
+ hb += 0x25800000; /* b *= 2^600 */
+ k -= 600;
+ SET_HIGH_WORD(a,ha);
+ SET_HIGH_WORD(b,hb);
+ }
+ }
+ /* medium size a and b */
+ w = a-b;
+ if (w>b) {
+ t1 = 0;
+ SET_HIGH_WORD(t1,ha);
+ t2 = a-t1;
+ w = sqrt(t1*t1-(b*(-b)-t2*(a+t1)));
+ } else {
+ a = a+a;
+ y1 = 0;
+ SET_HIGH_WORD(y1,hb);
+ y2 = b - y1;
+ t1 = 0;
+ SET_HIGH_WORD(t1,ha+0x00100000);
+ t2 = a - t1;
+ w = sqrt(t1*y1-(w*(-w)-(t1*y2+t2*b)));
+ }
+ if(k!=0) {
+ __uint32_t high;
+ t1 = 1.0;
+ GET_HIGH_WORD(high,t1);
+ SET_HIGH_WORD(t1,high+(k<<20));
+ return t1*w;
+ } else return w;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/e_j0.c b/newlib/libm/mathfp/e_j0.c
new file mode 100644
index 00000000000..c53cc68f459
--- /dev/null
+++ b/newlib/libm/mathfp/e_j0.c
@@ -0,0 +1,487 @@
+
+/* @(#)e_j0.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* j0(x), y0(x)
+ * Bessel function of the first and second kinds of order zero.
+ * Method -- j0(x):
+ * 1. For tiny x, we use j0(x) = 1 - x^2/4 + x^4/64 - ...
+ * 2. Reduce x to |x| since j0(x)=j0(-x), and
+ * for x in (0,2)
+ * j0(x) = 1-z/4+ z^2*R0/S0, where z = x*x;
+ * (precision: |j0-1+z/4-z^2R0/S0 |<2**-63.67 )
+ * for x in (2,inf)
+ * j0(x) = sqrt(2/(pi*x))*(p0(x)*cos(x0)-q0(x)*sin(x0))
+ * where x0 = x-pi/4. It is better to compute sin(x0),cos(x0)
+ * as follow:
+ * cos(x0) = cos(x)cos(pi/4)+sin(x)sin(pi/4)
+ * = 1/sqrt(2) * (cos(x) + sin(x))
+ * sin(x0) = sin(x)cos(pi/4)-cos(x)sin(pi/4)
+ * = 1/sqrt(2) * (sin(x) - cos(x))
+ * (To avoid cancellation, use
+ * sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x))
+ * to compute the worse one.)
+ *
+ * 3 Special cases
+ * j0(nan)= nan
+ * j0(0) = 1
+ * j0(inf) = 0
+ *
+ * Method -- y0(x):
+ * 1. For x<2.
+ * Since
+ * y0(x) = 2/pi*(j0(x)*(ln(x/2)+Euler) + x^2/4 - ...)
+ * therefore y0(x)-2/pi*j0(x)*ln(x) is an even function.
+ * We use the following function to approximate y0,
+ * y0(x) = U(z)/V(z) + (2/pi)*(j0(x)*ln(x)), z= x^2
+ * where
+ * U(z) = u00 + u01*z + ... + u06*z^6
+ * V(z) = 1 + v01*z + ... + v04*z^4
+ * with absolute approximation error bounded by 2**-72.
+ * Note: For tiny x, U/V = u0 and j0(x)~1, hence
+ * y0(tiny) = u0 + (2/pi)*ln(tiny), (choose tiny<2**-27)
+ * 2. For x>=2.
+ * y0(x) = sqrt(2/(pi*x))*(p0(x)*cos(x0)+q0(x)*sin(x0))
+ * where x0 = x-pi/4. It is better to compute sin(x0),cos(x0)
+ * by the method mentioned above.
+ * 3. Special cases: y0(0)=-inf, y0(x<0)=NaN, y0(inf)=0.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static double pzero(double), qzero(double);
+#else
+static double pzero(), qzero();
+#endif
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+huge = 1e300,
+one = 1.0,
+invsqrtpi= 5.64189583547756279280e-01, /* 0x3FE20DD7, 0x50429B6D */
+tpi = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */
+ /* R0/S0 on [0, 2.00] */
+R02 = 1.56249999999999947958e-02, /* 0x3F8FFFFF, 0xFFFFFFFD */
+R03 = -1.89979294238854721751e-04, /* 0xBF28E6A5, 0xB61AC6E9 */
+R04 = 1.82954049532700665670e-06, /* 0x3EBEB1D1, 0x0C503919 */
+R05 = -4.61832688532103189199e-09, /* 0xBE33D5E7, 0x73D63FCE */
+S01 = 1.56191029464890010492e-02, /* 0x3F8FFCE8, 0x82C8C2A4 */
+S02 = 1.16926784663337450260e-04, /* 0x3F1EA6D2, 0xDD57DBF4 */
+S03 = 5.13546550207318111446e-07, /* 0x3EA13B54, 0xCE84D5A9 */
+S04 = 1.16614003333790000205e-09; /* 0x3E1408BC, 0xF4745D8F */
+
+#ifdef __STDC__
+static const double zero = 0.0;
+#else
+static double zero = 0.0;
+#endif
+
+#ifdef __STDC__
+ double j0(double x)
+#else
+ double j0(x)
+ double x;
+#endif
+{
+ double z, s,c,ss,cc,r,u,v;
+ __int32_t hx,ix;
+
+ GET_HIGH_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x7ff00000) return one/(x*x);
+ x = fabs(x);
+ if(ix >= 0x40000000) { /* |x| >= 2.0 */
+ s = sin(x);
+ c = cos(x);
+ ss = s-c;
+ cc = s+c;
+ if(ix<0x7fe00000) { /* make sure x+x not overflow */
+ z = -cos(x+x);
+ if ((s*c)<zero) cc = z/ss;
+ else ss = z/cc;
+ }
+ /*
+ * j0(x) = 1/sqrt(pi) * (P(0,x)*cc - Q(0,x)*ss) / sqrt(x)
+ * y0(x) = 1/sqrt(pi) * (P(0,x)*ss + Q(0,x)*cc) / sqrt(x)
+ */
+ if(ix>0x48000000) z = (invsqrtpi*cc)/sqrt(x);
+ else {
+ u = pzero(x); v = qzero(x);
+ z = invsqrtpi*(u*cc-v*ss)/sqrt(x);
+ }
+ return z;
+ }
+ if(ix<0x3f200000) { /* |x| < 2**-13 */
+ if(huge+x>one) { /* raise inexact if x != 0 */
+ if(ix<0x3e400000) return one; /* |x|<2**-27 */
+ else return one - 0.25*x*x;
+ }
+ }
+ z = x*x;
+ r = z*(R02+z*(R03+z*(R04+z*R05)));
+ s = one+z*(S01+z*(S02+z*(S03+z*S04)));
+ if(ix < 0x3FF00000) { /* |x| < 1.00 */
+ return one + z*(-0.25+(r/s));
+ } else {
+ u = 0.5*x;
+ return((one+u)*(one-u)+z*(r/s));
+ }
+}
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+u00 = -7.38042951086872317523e-02, /* 0xBFB2E4D6, 0x99CBD01F */
+u01 = 1.76666452509181115538e-01, /* 0x3FC69D01, 0x9DE9E3FC */
+u02 = -1.38185671945596898896e-02, /* 0xBF8C4CE8, 0xB16CFA97 */
+u03 = 3.47453432093683650238e-04, /* 0x3F36C54D, 0x20B29B6B */
+u04 = -3.81407053724364161125e-06, /* 0xBECFFEA7, 0x73D25CAD */
+u05 = 1.95590137035022920206e-08, /* 0x3E550057, 0x3B4EABD4 */
+u06 = -3.98205194132103398453e-11, /* 0xBDC5E43D, 0x693FB3C8 */
+v01 = 1.27304834834123699328e-02, /* 0x3F8A1270, 0x91C9C71A */
+v02 = 7.60068627350353253702e-05, /* 0x3F13ECBB, 0xF578C6C1 */
+v03 = 2.59150851840457805467e-07, /* 0x3E91642D, 0x7FF202FD */
+v04 = 4.41110311332675467403e-10; /* 0x3DFE5018, 0x3BD6D9EF */
+
+#ifdef __STDC__
+ double y0(double x)
+#else
+ double y0(x)
+ double x;
+#endif
+{
+ double z, s,c,ss,cc,u,v;
+ __int32_t hx,ix,lx;
+
+ EXTRACT_WORDS(hx,lx,x);
+ ix = 0x7fffffff&hx;
+ /* Y0(NaN) is NaN, y0(-inf) is Nan, y0(inf) is 0 */
+ if(ix>=0x7ff00000) return one/(x+x*x);
+ if((ix|lx)==0) return -one/zero;
+ if(hx<0) return zero/zero;
+ if(ix >= 0x40000000) { /* |x| >= 2.0 */
+ /* y0(x) = sqrt(2/(pi*x))*(p0(x)*sin(x0)+q0(x)*cos(x0))
+ * where x0 = x-pi/4
+ * Better formula:
+ * cos(x0) = cos(x)cos(pi/4)+sin(x)sin(pi/4)
+ * = 1/sqrt(2) * (sin(x) + cos(x))
+ * sin(x0) = sin(x)cos(3pi/4)-cos(x)sin(3pi/4)
+ * = 1/sqrt(2) * (sin(x) - cos(x))
+ * To avoid cancellation, use
+ * sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x))
+ * to compute the worse one.
+ */
+ s = sin(x);
+ c = cos(x);
+ ss = s-c;
+ cc = s+c;
+ /*
+ * j0(x) = 1/sqrt(pi) * (P(0,x)*cc - Q(0,x)*ss) / sqrt(x)
+ * y0(x) = 1/sqrt(pi) * (P(0,x)*ss + Q(0,x)*cc) / sqrt(x)
+ */
+ if(ix<0x7fe00000) { /* make sure x+x not overflow */
+ z = -cos(x+x);
+ if ((s*c)<zero) cc = z/ss;
+ else ss = z/cc;
+ }
+ if(ix>0x48000000) z = (invsqrtpi*ss)/sqrt(x);
+ else {
+ u = pzero(x); v = qzero(x);
+ z = invsqrtpi*(u*ss+v*cc)/sqrt(x);
+ }
+ return z;
+ }
+ if(ix<=0x3e400000) { /* x < 2**-27 */
+ return(u00 + tpi*log(x));
+ }
+ z = x*x;
+ u = u00+z*(u01+z*(u02+z*(u03+z*(u04+z*(u05+z*u06)))));
+ v = one+z*(v01+z*(v02+z*(v03+z*v04)));
+ return(u/v + tpi*(j0(x)*log(x)));
+}
+
+/* The asymptotic expansions of pzero is
+ * 1 - 9/128 s^2 + 11025/98304 s^4 - ..., where s = 1/x.
+ * For x >= 2, We approximate pzero by
+ * pzero(x) = 1 + (R/S)
+ * where R = pR0 + pR1*s^2 + pR2*s^4 + ... + pR5*s^10
+ * S = 1 + pS0*s^2 + ... + pS4*s^10
+ * and
+ * | pzero(x)-1-R/S | <= 2 ** ( -60.26)
+ */
+#ifdef __STDC__
+static const double pR8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#else
+static double pR8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#endif
+ 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */
+ -7.03124999999900357484e-02, /* 0xBFB1FFFF, 0xFFFFFD32 */
+ -8.08167041275349795626e+00, /* 0xC02029D0, 0xB44FA779 */
+ -2.57063105679704847262e+02, /* 0xC0701102, 0x7B19E863 */
+ -2.48521641009428822144e+03, /* 0xC0A36A6E, 0xCD4DCAFC */
+ -5.25304380490729545272e+03, /* 0xC0B4850B, 0x36CC643D */
+};
+#ifdef __STDC__
+static const double pS8[5] = {
+#else
+static double pS8[5] = {
+#endif
+ 1.16534364619668181717e+02, /* 0x405D2233, 0x07A96751 */
+ 3.83374475364121826715e+03, /* 0x40ADF37D, 0x50596938 */
+ 4.05978572648472545552e+04, /* 0x40E3D2BB, 0x6EB6B05F */
+ 1.16752972564375915681e+05, /* 0x40FC810F, 0x8F9FA9BD */
+ 4.76277284146730962675e+04, /* 0x40E74177, 0x4F2C49DC */
+};
+
+#ifdef __STDC__
+static const double pR5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#else
+static double pR5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#endif
+ -1.14125464691894502584e-11, /* 0xBDA918B1, 0x47E495CC */
+ -7.03124940873599280078e-02, /* 0xBFB1FFFF, 0xE69AFBC6 */
+ -4.15961064470587782438e+00, /* 0xC010A370, 0xF90C6BBF */
+ -6.76747652265167261021e+01, /* 0xC050EB2F, 0x5A7D1783 */
+ -3.31231299649172967747e+02, /* 0xC074B3B3, 0x6742CC63 */
+ -3.46433388365604912451e+02, /* 0xC075A6EF, 0x28A38BD7 */
+};
+#ifdef __STDC__
+static const double pS5[5] = {
+#else
+static double pS5[5] = {
+#endif
+ 6.07539382692300335975e+01, /* 0x404E6081, 0x0C98C5DE */
+ 1.05125230595704579173e+03, /* 0x40906D02, 0x5C7E2864 */
+ 5.97897094333855784498e+03, /* 0x40B75AF8, 0x8FBE1D60 */
+ 9.62544514357774460223e+03, /* 0x40C2CCB8, 0xFA76FA38 */
+ 2.40605815922939109441e+03, /* 0x40A2CC1D, 0xC70BE864 */
+};
+
+#ifdef __STDC__
+static const double pR3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#else
+static double pR3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#endif
+ -2.54704601771951915620e-09, /* 0xBE25E103, 0x6FE1AA86 */
+ -7.03119616381481654654e-02, /* 0xBFB1FFF6, 0xF7C0E24B */
+ -2.40903221549529611423e+00, /* 0xC00345B2, 0xAEA48074 */
+ -2.19659774734883086467e+01, /* 0xC035F74A, 0x4CB94E14 */
+ -5.80791704701737572236e+01, /* 0xC04D0A22, 0x420A1A45 */
+ -3.14479470594888503854e+01, /* 0xC03F72AC, 0xA892D80F */
+};
+#ifdef __STDC__
+static const double pS3[5] = {
+#else
+static double pS3[5] = {
+#endif
+ 3.58560338055209726349e+01, /* 0x4041ED92, 0x84077DD3 */
+ 3.61513983050303863820e+02, /* 0x40769839, 0x464A7C0E */
+ 1.19360783792111533330e+03, /* 0x4092A66E, 0x6D1061D6 */
+ 1.12799679856907414432e+03, /* 0x40919FFC, 0xB8C39B7E */
+ 1.73580930813335754692e+02, /* 0x4065B296, 0xFC379081 */
+};
+
+#ifdef __STDC__
+static const double pR2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#else
+static double pR2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#endif
+ -8.87534333032526411254e-08, /* 0xBE77D316, 0xE927026D */
+ -7.03030995483624743247e-02, /* 0xBFB1FF62, 0x495E1E42 */
+ -1.45073846780952986357e+00, /* 0xBFF73639, 0x8A24A843 */
+ -7.63569613823527770791e+00, /* 0xC01E8AF3, 0xEDAFA7F3 */
+ -1.11931668860356747786e+01, /* 0xC02662E6, 0xC5246303 */
+ -3.23364579351335335033e+00, /* 0xC009DE81, 0xAF8FE70F */
+};
+#ifdef __STDC__
+static const double pS2[5] = {
+#else
+static double pS2[5] = {
+#endif
+ 2.22202997532088808441e+01, /* 0x40363865, 0x908B5959 */
+ 1.36206794218215208048e+02, /* 0x4061069E, 0x0EE8878F */
+ 2.70470278658083486789e+02, /* 0x4070E786, 0x42EA079B */
+ 1.53875394208320329881e+02, /* 0x40633C03, 0x3AB6FAFF */
+ 1.46576176948256193810e+01, /* 0x402D50B3, 0x44391809 */
+};
+
+#ifdef __STDC__
+ static double pzero(double x)
+#else
+ static double pzero(x)
+ double x;
+#endif
+{
+#ifdef __STDC__
+ const double *p,*q;
+#else
+ double *p,*q;
+#endif
+ double z,r,s;
+ __int32_t ix;
+ GET_HIGH_WORD(ix,x);
+ ix &= 0x7fffffff;
+ if(ix>=0x40200000) {p = pR8; q= pS8;}
+ else if(ix>=0x40122E8B){p = pR5; q= pS5;}
+ else if(ix>=0x4006DB6D){p = pR3; q= pS3;}
+ else if(ix>=0x40000000){p = pR2; q= pS2;}
+ z = one/(x*x);
+ r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
+ s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4]))));
+ return one+ r/s;
+}
+
+
+/* For x >= 8, the asymptotic expansions of qzero is
+ * -1/8 s + 75/1024 s^3 - ..., where s = 1/x.
+ * We approximate pzero by
+ * qzero(x) = s*(-1.25 + (R/S))
+ * where R = qR0 + qR1*s^2 + qR2*s^4 + ... + qR5*s^10
+ * S = 1 + qS0*s^2 + ... + qS5*s^12
+ * and
+ * | qzero(x)/s +1.25-R/S | <= 2 ** ( -61.22)
+ */
+#ifdef __STDC__
+static const double qR8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#else
+static double qR8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#endif
+ 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */
+ 7.32421874999935051953e-02, /* 0x3FB2BFFF, 0xFFFFFE2C */
+ 1.17682064682252693899e+01, /* 0x40278952, 0x5BB334D6 */
+ 5.57673380256401856059e+02, /* 0x40816D63, 0x15301825 */
+ 8.85919720756468632317e+03, /* 0x40C14D99, 0x3E18F46D */
+ 3.70146267776887834771e+04, /* 0x40E212D4, 0x0E901566 */
+};
+#ifdef __STDC__
+static const double qS8[6] = {
+#else
+static double qS8[6] = {
+#endif
+ 1.63776026895689824414e+02, /* 0x406478D5, 0x365B39BC */
+ 8.09834494656449805916e+03, /* 0x40BFA258, 0x4E6B0563 */
+ 1.42538291419120476348e+05, /* 0x41016652, 0x54D38C3F */
+ 8.03309257119514397345e+05, /* 0x412883DA, 0x83A52B43 */
+ 8.40501579819060512818e+05, /* 0x4129A66B, 0x28DE0B3D */
+ -3.43899293537866615225e+05, /* 0xC114FD6D, 0x2C9530C5 */
+};
+
+#ifdef __STDC__
+static const double qR5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#else
+static double qR5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#endif
+ 1.84085963594515531381e-11, /* 0x3DB43D8F, 0x29CC8CD9 */
+ 7.32421766612684765896e-02, /* 0x3FB2BFFF, 0xD172B04C */
+ 5.83563508962056953777e+00, /* 0x401757B0, 0xB9953DD3 */
+ 1.35111577286449829671e+02, /* 0x4060E392, 0x0A8788E9 */
+ 1.02724376596164097464e+03, /* 0x40900CF9, 0x9DC8C481 */
+ 1.98997785864605384631e+03, /* 0x409F17E9, 0x53C6E3A6 */
+};
+#ifdef __STDC__
+static const double qS5[6] = {
+#else
+static double qS5[6] = {
+#endif
+ 8.27766102236537761883e+01, /* 0x4054B1B3, 0xFB5E1543 */
+ 2.07781416421392987104e+03, /* 0x40A03BA0, 0xDA21C0CE */
+ 1.88472887785718085070e+04, /* 0x40D267D2, 0x7B591E6D */
+ 5.67511122894947329769e+04, /* 0x40EBB5E3, 0x97E02372 */
+ 3.59767538425114471465e+04, /* 0x40E19118, 0x1F7A54A0 */
+ -5.35434275601944773371e+03, /* 0xC0B4EA57, 0xBEDBC609 */
+};
+
+#ifdef __STDC__
+static const double qR3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#else
+static double qR3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#endif
+ 4.37741014089738620906e-09, /* 0x3E32CD03, 0x6ADECB82 */
+ 7.32411180042911447163e-02, /* 0x3FB2BFEE, 0x0E8D0842 */
+ 3.34423137516170720929e+00, /* 0x400AC0FC, 0x61149CF5 */
+ 4.26218440745412650017e+01, /* 0x40454F98, 0x962DAEDD */
+ 1.70808091340565596283e+02, /* 0x406559DB, 0xE25EFD1F */
+ 1.66733948696651168575e+02, /* 0x4064D77C, 0x81FA21E0 */
+};
+#ifdef __STDC__
+static const double qS3[6] = {
+#else
+static double qS3[6] = {
+#endif
+ 4.87588729724587182091e+01, /* 0x40486122, 0xBFE343A6 */
+ 7.09689221056606015736e+02, /* 0x40862D83, 0x86544EB3 */
+ 3.70414822620111362994e+03, /* 0x40ACF04B, 0xE44DFC63 */
+ 6.46042516752568917582e+03, /* 0x40B93C6C, 0xD7C76A28 */
+ 2.51633368920368957333e+03, /* 0x40A3A8AA, 0xD94FB1C0 */
+ -1.49247451836156386662e+02, /* 0xC062A7EB, 0x201CF40F */
+};
+
+#ifdef __STDC__
+static const double qR2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#else
+static double qR2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#endif
+ 1.50444444886983272379e-07, /* 0x3E84313B, 0x54F76BDB */
+ 7.32234265963079278272e-02, /* 0x3FB2BEC5, 0x3E883E34 */
+ 1.99819174093815998816e+00, /* 0x3FFFF897, 0xE727779C */
+ 1.44956029347885735348e+01, /* 0x402CFDBF, 0xAAF96FE5 */
+ 3.16662317504781540833e+01, /* 0x403FAA8E, 0x29FBDC4A */
+ 1.62527075710929267416e+01, /* 0x403040B1, 0x71814BB4 */
+};
+#ifdef __STDC__
+static const double qS2[6] = {
+#else
+static double qS2[6] = {
+#endif
+ 3.03655848355219184498e+01, /* 0x403E5D96, 0xF7C07AED */
+ 2.69348118608049844624e+02, /* 0x4070D591, 0xE4D14B40 */
+ 8.44783757595320139444e+02, /* 0x408A6645, 0x22B3BF22 */
+ 8.82935845112488550512e+02, /* 0x408B977C, 0x9C5CC214 */
+ 2.12666388511798828631e+02, /* 0x406A9553, 0x0E001365 */
+ -5.31095493882666946917e+00, /* 0xC0153E6A, 0xF8B32931 */
+};
+
+#ifdef __STDC__
+ static double qzero(double x)
+#else
+ static double qzero(x)
+ double x;
+#endif
+{
+#ifdef __STDC__
+ const double *p,*q;
+#else
+ double *p,*q;
+#endif
+ double s,r,z;
+ __int32_t ix;
+ GET_HIGH_WORD(ix,x);
+ ix &= 0x7fffffff;
+ if(ix>=0x40200000) {p = qR8; q= qS8;}
+ else if(ix>=0x40122E8B){p = qR5; q= qS5;}
+ else if(ix>=0x4006DB6D){p = qR3; q= qS3;}
+ else if(ix>=0x40000000){p = qR2; q= qS2;}
+ z = one/(x*x);
+ r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
+ s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5])))));
+ return (-.125 + r/s)/x;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/e_j1.c b/newlib/libm/mathfp/e_j1.c
new file mode 100644
index 00000000000..f93c77e000f
--- /dev/null
+++ b/newlib/libm/mathfp/e_j1.c
@@ -0,0 +1,486 @@
+
+/* @(#)e_j1.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* j1(x), y1(x)
+ * Bessel function of the first and second kinds of order zero.
+ * Method -- j1(x):
+ * 1. For tiny x, we use j1(x) = x/2 - x^3/16 + x^5/384 - ...
+ * 2. Reduce x to |x| since j1(x)=-j1(-x), and
+ * for x in (0,2)
+ * j1(x) = x/2 + x*z*R0/S0, where z = x*x;
+ * (precision: |j1/x - 1/2 - R0/S0 |<2**-61.51 )
+ * for x in (2,inf)
+ * j1(x) = sqrt(2/(pi*x))*(p1(x)*cos(x1)-q1(x)*sin(x1))
+ * y1(x) = sqrt(2/(pi*x))*(p1(x)*sin(x1)+q1(x)*cos(x1))
+ * where x1 = x-3*pi/4. It is better to compute sin(x1),cos(x1)
+ * as follow:
+ * cos(x1) = cos(x)cos(3pi/4)+sin(x)sin(3pi/4)
+ * = 1/sqrt(2) * (sin(x) - cos(x))
+ * sin(x1) = sin(x)cos(3pi/4)-cos(x)sin(3pi/4)
+ * = -1/sqrt(2) * (sin(x) + cos(x))
+ * (To avoid cancellation, use
+ * sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x))
+ * to compute the worse one.)
+ *
+ * 3 Special cases
+ * j1(nan)= nan
+ * j1(0) = 0
+ * j1(inf) = 0
+ *
+ * Method -- y1(x):
+ * 1. screen out x<=0 cases: y1(0)=-inf, y1(x<0)=NaN
+ * 2. For x<2.
+ * Since
+ * y1(x) = 2/pi*(j1(x)*(ln(x/2)+Euler)-1/x-x/2+5/64*x^3-...)
+ * therefore y1(x)-2/pi*j1(x)*ln(x)-1/x is an odd function.
+ * We use the following function to approximate y1,
+ * y1(x) = x*U(z)/V(z) + (2/pi)*(j1(x)*ln(x)-1/x), z= x^2
+ * where for x in [0,2] (abs err less than 2**-65.89)
+ * U(z) = U0[0] + U0[1]*z + ... + U0[4]*z^4
+ * V(z) = 1 + v0[0]*z + ... + v0[4]*z^5
+ * Note: For tiny x, 1/x dominate y1 and hence
+ * y1(tiny) = -2/pi/tiny, (choose tiny<2**-54)
+ * 3. For x>=2.
+ * y1(x) = sqrt(2/(pi*x))*(p1(x)*sin(x1)+q1(x)*cos(x1))
+ * where x1 = x-3*pi/4. It is better to compute sin(x1),cos(x1)
+ * by method mentioned above.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static double pone(double), qone(double);
+#else
+static double pone(), qone();
+#endif
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+huge = 1e300,
+one = 1.0,
+invsqrtpi= 5.64189583547756279280e-01, /* 0x3FE20DD7, 0x50429B6D */
+tpi = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */
+ /* R0/S0 on [0,2] */
+r00 = -6.25000000000000000000e-02, /* 0xBFB00000, 0x00000000 */
+r01 = 1.40705666955189706048e-03, /* 0x3F570D9F, 0x98472C61 */
+r02 = -1.59955631084035597520e-05, /* 0xBEF0C5C6, 0xBA169668 */
+r03 = 4.96727999609584448412e-08, /* 0x3E6AAAFA, 0x46CA0BD9 */
+s01 = 1.91537599538363460805e-02, /* 0x3F939D0B, 0x12637E53 */
+s02 = 1.85946785588630915560e-04, /* 0x3F285F56, 0xB9CDF664 */
+s03 = 1.17718464042623683263e-06, /* 0x3EB3BFF8, 0x333F8498 */
+s04 = 5.04636257076217042715e-09, /* 0x3E35AC88, 0xC97DFF2C */
+s05 = 1.23542274426137913908e-11; /* 0x3DAB2ACF, 0xCFB97ED8 */
+
+#ifdef __STDC__
+static const double zero = 0.0;
+#else
+static double zero = 0.0;
+#endif
+
+#ifdef __STDC__
+ double j1(double x)
+#else
+ double j1(x)
+ double x;
+#endif
+{
+ double z, s,c,ss,cc,r,u,v,y;
+ __int32_t hx,ix;
+
+ GET_HIGH_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x7ff00000) return one/x;
+ y = fabs(x);
+ if(ix >= 0x40000000) { /* |x| >= 2.0 */
+ s = sin(y);
+ c = cos(y);
+ ss = -s-c;
+ cc = s-c;
+ if(ix<0x7fe00000) { /* make sure y+y not overflow */
+ z = cos(y+y);
+ if ((s*c)>zero) cc = z/ss;
+ else ss = z/cc;
+ }
+ /*
+ * j1(x) = 1/sqrt(pi) * (P(1,x)*cc - Q(1,x)*ss) / sqrt(x)
+ * y1(x) = 1/sqrt(pi) * (P(1,x)*ss + Q(1,x)*cc) / sqrt(x)
+ */
+ if(ix>0x48000000) z = (invsqrtpi*cc)/sqrt(y);
+ else {
+ u = pone(y); v = qone(y);
+ z = invsqrtpi*(u*cc-v*ss)/sqrt(y);
+ }
+ if(hx<0) return -z;
+ else return z;
+ }
+ if(ix<0x3e400000) { /* |x|<2**-27 */
+ if(huge+x>one) return 0.5*x;/* inexact if x!=0 necessary */
+ }
+ z = x*x;
+ r = z*(r00+z*(r01+z*(r02+z*r03)));
+ s = one+z*(s01+z*(s02+z*(s03+z*(s04+z*s05))));
+ r *= x;
+ return(x*0.5+r/s);
+}
+
+#ifdef __STDC__
+static const double U0[5] = {
+#else
+static double U0[5] = {
+#endif
+ -1.96057090646238940668e-01, /* 0xBFC91866, 0x143CBC8A */
+ 5.04438716639811282616e-02, /* 0x3FA9D3C7, 0x76292CD1 */
+ -1.91256895875763547298e-03, /* 0xBF5F55E5, 0x4844F50F */
+ 2.35252600561610495928e-05, /* 0x3EF8AB03, 0x8FA6B88E */
+ -9.19099158039878874504e-08, /* 0xBE78AC00, 0x569105B8 */
+};
+#ifdef __STDC__
+static const double V0[5] = {
+#else
+static double V0[5] = {
+#endif
+ 1.99167318236649903973e-02, /* 0x3F94650D, 0x3F4DA9F0 */
+ 2.02552581025135171496e-04, /* 0x3F2A8C89, 0x6C257764 */
+ 1.35608801097516229404e-06, /* 0x3EB6C05A, 0x894E8CA6 */
+ 6.22741452364621501295e-09, /* 0x3E3ABF1D, 0x5BA69A86 */
+ 1.66559246207992079114e-11, /* 0x3DB25039, 0xDACA772A */
+};
+
+#ifdef __STDC__
+ double y1(double x)
+#else
+ double y1(x)
+ double x;
+#endif
+{
+ double z, s,c,ss,cc,u,v;
+ __int32_t hx,ix,lx;
+
+ EXTRACT_WORDS(hx,lx,x);
+ ix = 0x7fffffff&hx;
+ /* if Y1(NaN) is NaN, Y1(-inf) is NaN, Y1(inf) is 0 */
+ if(ix>=0x7ff00000) return one/(x+x*x);
+ if((ix|lx)==0) return -one/zero;
+ if(hx<0) return zero/zero;
+ if(ix >= 0x40000000) { /* |x| >= 2.0 */
+ s = sin(x);
+ c = cos(x);
+ ss = -s-c;
+ cc = s-c;
+ if(ix<0x7fe00000) { /* make sure x+x not overflow */
+ z = cos(x+x);
+ if ((s*c)>zero) cc = z/ss;
+ else ss = z/cc;
+ }
+ /* y1(x) = sqrt(2/(pi*x))*(p1(x)*sin(x0)+q1(x)*cos(x0))
+ * where x0 = x-3pi/4
+ * Better formula:
+ * cos(x0) = cos(x)cos(3pi/4)+sin(x)sin(3pi/4)
+ * = 1/sqrt(2) * (sin(x) - cos(x))
+ * sin(x0) = sin(x)cos(3pi/4)-cos(x)sin(3pi/4)
+ * = -1/sqrt(2) * (cos(x) + sin(x))
+ * To avoid cancellation, use
+ * sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x))
+ * to compute the worse one.
+ */
+ if(ix>0x48000000) z = (invsqrtpi*ss)/sqrt(x);
+ else {
+ u = pone(x); v = qone(x);
+ z = invsqrtpi*(u*ss+v*cc)/sqrt(x);
+ }
+ return z;
+ }
+ if(ix<=0x3c900000) { /* x < 2**-54 */
+ return(-tpi/x);
+ }
+ z = x*x;
+ u = U0[0]+z*(U0[1]+z*(U0[2]+z*(U0[3]+z*U0[4])));
+ v = one+z*(V0[0]+z*(V0[1]+z*(V0[2]+z*(V0[3]+z*V0[4]))));
+ return(x*(u/v) + tpi*(j1(x)*log(x)-one/x));
+}
+
+/* For x >= 8, the asymptotic expansions of pone is
+ * 1 + 15/128 s^2 - 4725/2^15 s^4 - ..., where s = 1/x.
+ * We approximate pone by
+ * pone(x) = 1 + (R/S)
+ * where R = pr0 + pr1*s^2 + pr2*s^4 + ... + pr5*s^10
+ * S = 1 + ps0*s^2 + ... + ps4*s^10
+ * and
+ * | pone(x)-1-R/S | <= 2 ** ( -60.06)
+ */
+
+#ifdef __STDC__
+static const double pr8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#else
+static double pr8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#endif
+ 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */
+ 1.17187499999988647970e-01, /* 0x3FBDFFFF, 0xFFFFFCCE */
+ 1.32394806593073575129e+01, /* 0x402A7A9D, 0x357F7FCE */
+ 4.12051854307378562225e+02, /* 0x4079C0D4, 0x652EA590 */
+ 3.87474538913960532227e+03, /* 0x40AE457D, 0xA3A532CC */
+ 7.91447954031891731574e+03, /* 0x40BEEA7A, 0xC32782DD */
+};
+#ifdef __STDC__
+static const double ps8[5] = {
+#else
+static double ps8[5] = {
+#endif
+ 1.14207370375678408436e+02, /* 0x405C8D45, 0x8E656CAC */
+ 3.65093083420853463394e+03, /* 0x40AC85DC, 0x964D274F */
+ 3.69562060269033463555e+04, /* 0x40E20B86, 0x97C5BB7F */
+ 9.76027935934950801311e+04, /* 0x40F7D42C, 0xB28F17BB */
+ 3.08042720627888811578e+04, /* 0x40DE1511, 0x697A0B2D */
+};
+
+#ifdef __STDC__
+static const double pr5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#else
+static double pr5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#endif
+ 1.31990519556243522749e-11, /* 0x3DAD0667, 0xDAE1CA7D */
+ 1.17187493190614097638e-01, /* 0x3FBDFFFF, 0xE2C10043 */
+ 6.80275127868432871736e+00, /* 0x401B3604, 0x6E6315E3 */
+ 1.08308182990189109773e+02, /* 0x405B13B9, 0x452602ED */
+ 5.17636139533199752805e+02, /* 0x40802D16, 0xD052D649 */
+ 5.28715201363337541807e+02, /* 0x408085B8, 0xBB7E0CB7 */
+};
+#ifdef __STDC__
+static const double ps5[5] = {
+#else
+static double ps5[5] = {
+#endif
+ 5.92805987221131331921e+01, /* 0x404DA3EA, 0xA8AF633D */
+ 9.91401418733614377743e+02, /* 0x408EFB36, 0x1B066701 */
+ 5.35326695291487976647e+03, /* 0x40B4E944, 0x5706B6FB */
+ 7.84469031749551231769e+03, /* 0x40BEA4B0, 0xB8A5BB15 */
+ 1.50404688810361062679e+03, /* 0x40978030, 0x036F5E51 */
+};
+
+#ifdef __STDC__
+static const double pr3[6] = {
+#else
+static double pr3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#endif
+ 3.02503916137373618024e-09, /* 0x3E29FC21, 0xA7AD9EDD */
+ 1.17186865567253592491e-01, /* 0x3FBDFFF5, 0x5B21D17B */
+ 3.93297750033315640650e+00, /* 0x400F76BC, 0xE85EAD8A */
+ 3.51194035591636932736e+01, /* 0x40418F48, 0x9DA6D129 */
+ 9.10550110750781271918e+01, /* 0x4056C385, 0x4D2C1837 */
+ 4.85590685197364919645e+01, /* 0x4048478F, 0x8EA83EE5 */
+};
+#ifdef __STDC__
+static const double ps3[5] = {
+#else
+static double ps3[5] = {
+#endif
+ 3.47913095001251519989e+01, /* 0x40416549, 0xA134069C */
+ 3.36762458747825746741e+02, /* 0x40750C33, 0x07F1A75F */
+ 1.04687139975775130551e+03, /* 0x40905B7C, 0x5037D523 */
+ 8.90811346398256432622e+02, /* 0x408BD67D, 0xA32E31E9 */
+ 1.03787932439639277504e+02, /* 0x4059F26D, 0x7C2EED53 */
+};
+
+#ifdef __STDC__
+static const double pr2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#else
+static double pr2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#endif
+ 1.07710830106873743082e-07, /* 0x3E7CE9D4, 0xF65544F4 */
+ 1.17176219462683348094e-01, /* 0x3FBDFF42, 0xBE760D83 */
+ 2.36851496667608785174e+00, /* 0x4002F2B7, 0xF98FAEC0 */
+ 1.22426109148261232917e+01, /* 0x40287C37, 0x7F71A964 */
+ 1.76939711271687727390e+01, /* 0x4031B1A8, 0x177F8EE2 */
+ 5.07352312588818499250e+00, /* 0x40144B49, 0xA574C1FE */
+};
+#ifdef __STDC__
+static const double ps2[5] = {
+#else
+static double ps2[5] = {
+#endif
+ 2.14364859363821409488e+01, /* 0x40356FBD, 0x8AD5ECDC */
+ 1.25290227168402751090e+02, /* 0x405F5293, 0x14F92CD5 */
+ 2.32276469057162813669e+02, /* 0x406D08D8, 0xD5A2DBD9 */
+ 1.17679373287147100768e+02, /* 0x405D6B7A, 0xDA1884A9 */
+ 8.36463893371618283368e+00, /* 0x4020BAB1, 0xF44E5192 */
+};
+
+#ifdef __STDC__
+ static double pone(double x)
+#else
+ static double pone(x)
+ double x;
+#endif
+{
+#ifdef __STDC__
+ const double *p,*q;
+#else
+ double *p,*q;
+#endif
+ double z,r,s;
+ __int32_t ix;
+ GET_HIGH_WORD(ix,x);
+ ix &= 0x7fffffff;
+ if(ix>=0x40200000) {p = pr8; q= ps8;}
+ else if(ix>=0x40122E8B){p = pr5; q= ps5;}
+ else if(ix>=0x4006DB6D){p = pr3; q= ps3;}
+ else if(ix>=0x40000000){p = pr2; q= ps2;}
+ z = one/(x*x);
+ r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
+ s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4]))));
+ return one+ r/s;
+}
+
+
+/* For x >= 8, the asymptotic expansions of qone is
+ * 3/8 s - 105/1024 s^3 - ..., where s = 1/x.
+ * We approximate pone by
+ * qone(x) = s*(0.375 + (R/S))
+ * where R = qr1*s^2 + qr2*s^4 + ... + qr5*s^10
+ * S = 1 + qs1*s^2 + ... + qs6*s^12
+ * and
+ * | qone(x)/s -0.375-R/S | <= 2 ** ( -61.13)
+ */
+
+#ifdef __STDC__
+static const double qr8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#else
+static double qr8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#endif
+ 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */
+ -1.02539062499992714161e-01, /* 0xBFBA3FFF, 0xFFFFFDF3 */
+ -1.62717534544589987888e+01, /* 0xC0304591, 0xA26779F7 */
+ -7.59601722513950107896e+02, /* 0xC087BCD0, 0x53E4B576 */
+ -1.18498066702429587167e+04, /* 0xC0C724E7, 0x40F87415 */
+ -4.84385124285750353010e+04, /* 0xC0E7A6D0, 0x65D09C6A */
+};
+#ifdef __STDC__
+static const double qs8[6] = {
+#else
+static double qs8[6] = {
+#endif
+ 1.61395369700722909556e+02, /* 0x40642CA6, 0xDE5BCDE5 */
+ 7.82538599923348465381e+03, /* 0x40BE9162, 0xD0D88419 */
+ 1.33875336287249578163e+05, /* 0x4100579A, 0xB0B75E98 */
+ 7.19657723683240939863e+05, /* 0x4125F653, 0x72869C19 */
+ 6.66601232617776375264e+05, /* 0x412457D2, 0x7719AD5C */
+ -2.94490264303834643215e+05, /* 0xC111F969, 0x0EA5AA18 */
+};
+
+#ifdef __STDC__
+static const double qr5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#else
+static double qr5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#endif
+ -2.08979931141764104297e-11, /* 0xBDB6FA43, 0x1AA1A098 */
+ -1.02539050241375426231e-01, /* 0xBFBA3FFF, 0xCB597FEF */
+ -8.05644828123936029840e+00, /* 0xC0201CE6, 0xCA03AD4B */
+ -1.83669607474888380239e+02, /* 0xC066F56D, 0x6CA7B9B0 */
+ -1.37319376065508163265e+03, /* 0xC09574C6, 0x6931734F */
+ -2.61244440453215656817e+03, /* 0xC0A468E3, 0x88FDA79D */
+};
+#ifdef __STDC__
+static const double qs5[6] = {
+#else
+static double qs5[6] = {
+#endif
+ 8.12765501384335777857e+01, /* 0x405451B2, 0xFF5A11B2 */
+ 1.99179873460485964642e+03, /* 0x409F1F31, 0xE77BF839 */
+ 1.74684851924908907677e+04, /* 0x40D10F1F, 0x0D64CE29 */
+ 4.98514270910352279316e+04, /* 0x40E8576D, 0xAABAD197 */
+ 2.79480751638918118260e+04, /* 0x40DB4B04, 0xCF7C364B */
+ -4.71918354795128470869e+03, /* 0xC0B26F2E, 0xFCFFA004 */
+};
+
+#ifdef __STDC__
+static const double qr3[6] = {
+#else
+static double qr3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#endif
+ -5.07831226461766561369e-09, /* 0xBE35CFA9, 0xD38FC84F */
+ -1.02537829820837089745e-01, /* 0xBFBA3FEB, 0x51AEED54 */
+ -4.61011581139473403113e+00, /* 0xC01270C2, 0x3302D9FF */
+ -5.78472216562783643212e+01, /* 0xC04CEC71, 0xC25D16DA */
+ -2.28244540737631695038e+02, /* 0xC06C87D3, 0x4718D55F */
+ -2.19210128478909325622e+02, /* 0xC06B66B9, 0x5F5C1BF6 */
+};
+#ifdef __STDC__
+static const double qs3[6] = {
+#else
+static double qs3[6] = {
+#endif
+ 4.76651550323729509273e+01, /* 0x4047D523, 0xCCD367E4 */
+ 6.73865112676699709482e+02, /* 0x40850EEB, 0xC031EE3E */
+ 3.38015286679526343505e+03, /* 0x40AA684E, 0x448E7C9A */
+ 5.54772909720722782367e+03, /* 0x40B5ABBA, 0xA61D54A6 */
+ 1.90311919338810798763e+03, /* 0x409DBC7A, 0x0DD4DF4B */
+ -1.35201191444307340817e+02, /* 0xC060E670, 0x290A311F */
+};
+
+#ifdef __STDC__
+static const double qr2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#else
+static double qr2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#endif
+ -1.78381727510958865572e-07, /* 0xBE87F126, 0x44C626D2 */
+ -1.02517042607985553460e-01, /* 0xBFBA3E8E, 0x9148B010 */
+ -2.75220568278187460720e+00, /* 0xC0060484, 0x69BB4EDA */
+ -1.96636162643703720221e+01, /* 0xC033A9E2, 0xC168907F */
+ -4.23253133372830490089e+01, /* 0xC04529A3, 0xDE104AAA */
+ -2.13719211703704061733e+01, /* 0xC0355F36, 0x39CF6E52 */
+};
+#ifdef __STDC__
+static const double qs2[6] = {
+#else
+static double qs2[6] = {
+#endif
+ 2.95333629060523854548e+01, /* 0x403D888A, 0x78AE64FF */
+ 2.52981549982190529136e+02, /* 0x406F9F68, 0xDB821CBA */
+ 7.57502834868645436472e+02, /* 0x4087AC05, 0xCE49A0F7 */
+ 7.39393205320467245656e+02, /* 0x40871B25, 0x48D4C029 */
+ 1.55949003336666123687e+02, /* 0x40637E5E, 0x3C3ED8D4 */
+ -4.95949898822628210127e+00, /* 0xC013D686, 0xE71BE86B */
+};
+
+#ifdef __STDC__
+ static double qone(double x)
+#else
+ static double qone(x)
+ double x;
+#endif
+{
+#ifdef __STDC__
+ const double *p,*q;
+#else
+ double *p,*q;
+#endif
+ double s,r,z;
+ __int32_t ix;
+ GET_HIGH_WORD(ix,x);
+ ix &= 0x7fffffff;
+ if(ix>=0x40200000) {p = qr8; q= qs8;}
+ else if(ix>=0x40122E8B){p = qr5; q= qs5;}
+ else if(ix>=0x4006DB6D){p = qr3; q= qs3;}
+ else if(ix>=0x40000000){p = qr2; q= qs2;}
+ z = one/(x*x);
+ r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
+ s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5])))));
+ return (.375 + r/s)/x;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/e_remainder.c b/newlib/libm/mathfp/e_remainder.c
new file mode 100644
index 00000000000..02a714d5b9e
--- /dev/null
+++ b/newlib/libm/mathfp/e_remainder.c
@@ -0,0 +1,113 @@
+
+/* @(#)e_remainder.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+<<remainder>>, <<remainderf>>---round and remainder
+INDEX
+ remainder
+INDEX
+ remainderf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double remainder(double <[x]>, double <[y]>);
+ float remainderf(float <[x]>, float <[y]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double remainder(<[x]>,<[y]>)
+ double <[x]>, <[y]>;
+ float remainderf(<[x]>,<[y]>)
+ float <[x]>, <[y]>;
+
+DESCRIPTION
+<<remainder>> and <<remainderf>> find the remainder of
+<[x]>/<[y]>; this value is in the range -<[y]>/2 .. +<[y]>/2.
+
+RETURNS
+<<remainder>> returns the integer result as a double.
+
+PORTABILITY
+<<remainder>> is a System V release 4.
+<<remainderf>> is an extension.
+
+*/
+
+/* remainder(x,p)
+ * Return :
+ * returns x REM p = x - [x/p]*p as if in infinite
+ * precise arithmetic, where [x/p] is the (infinite bit)
+ * integer nearest x/p (in half way case choose the even one).
+ * Method :
+ * Based on fmod() return x-[x/p]chopped*p exactlp.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double zero = 0.0;
+#else
+static double zero = 0.0;
+#endif
+
+
+#ifdef __STDC__
+ double remainder(double x, double p)
+#else
+ double remainder(x,p)
+ double x,p;
+#endif
+{
+ __int32_t hx,hp;
+ __uint32_t sx,lx,lp;
+ double p_half;
+
+ EXTRACT_WORDS(hx,lx,x);
+ EXTRACT_WORDS(hp,lp,p);
+ sx = hx&0x80000000;
+ hp &= 0x7fffffff;
+ hx &= 0x7fffffff;
+
+ /* purge off exception values */
+ if((hp|lp)==0) return (x*p)/(x*p); /* p = 0 */
+ if((hx>=0x7ff00000)|| /* x not finite */
+ ((hp>=0x7ff00000)&& /* p is NaN */
+ (((hp-0x7ff00000)|lp)!=0)))
+ return (x*p)/(x*p);
+
+
+ if (hp<=0x7fdfffff) x = fmod(x,p+p); /* now x < 2p */
+ if (((hx-hp)|(lx-lp))==0) return zero*x;
+ x = fabs(x);
+ p = fabs(p);
+ if (hp<0x00200000) {
+ if(x+x>p) {
+ x-=p;
+ if(x+x>=p) x -= p;
+ }
+ } else {
+ p_half = 0.5*p;
+ if(x>p_half) {
+ x-=p;
+ if(x>=p_half) x -= p;
+ }
+ }
+ GET_HIGH_WORD(hx,x);
+ SET_HIGH_WORD(x,hx^sx);
+ return x;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/e_scalb.c b/newlib/libm/mathfp/e_scalb.c
new file mode 100644
index 00000000000..c4056e03b4c
--- /dev/null
+++ b/newlib/libm/mathfp/e_scalb.c
@@ -0,0 +1,55 @@
+
+/* @(#)e_scalb.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * __ieee754_scalb(x, fn) is provide for
+ * passing various standard test suite. One
+ * should use scalbn() instead.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef _SCALB_INT
+#ifdef __STDC__
+ double scalb(double x, int fn)
+#else
+ double scalb(x,fn)
+ double x; int fn;
+#endif
+#else
+#ifdef __STDC__
+ double scalb(double x, double fn)
+#else
+ double scalb(x,fn)
+ double x, fn;
+#endif
+#endif
+{
+#ifdef _SCALB_INT
+ return scalbn(x,fn);
+#else
+ if (isnan(x)||isnan(fn)) return x*fn;
+ if (!finite(fn)) {
+ if(fn>0.0) return x*fn;
+ else return x/(-fn);
+ }
+ if (rint(fn)!=fn) return (fn-fn)/(fn-fn);
+ if ( fn > 65000.0) return scalbn(x, 65000);
+ if (-fn > 65000.0) return scalbn(x,-65000);
+ return scalbn(x,(int)fn);
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/ef_acosh.c b/newlib/libm/mathfp/ef_acosh.c
new file mode 100644
index 00000000000..705be498648
--- /dev/null
+++ b/newlib/libm/mathfp/ef_acosh.c
@@ -0,0 +1,53 @@
+/* ef_acosh.c -- float version of e_acosh.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+one = 1.0,
+ln2 = 6.9314718246e-01; /* 0x3f317218 */
+
+#ifdef __STDC__
+ float acoshf(float x)
+#else
+ float acoshf(x)
+ float x;
+#endif
+{
+ float t;
+ __int32_t hx;
+ GET_FLOAT_WORD(hx,x);
+ if(hx<0x3f800000) { /* x < 1 */
+ return (x-x)/(x-x);
+ } else if(hx >=0x4d800000) { /* x > 2**28 */
+ if(hx >=0x7f800000) { /* x is inf of NaN */
+ return x+x;
+ } else
+ return logf(x)+ln2; /* acosh(huge)=log(2x) */
+ } else if (hx==0x3f800000) {
+ return 0.0; /* acosh(1) = 0 */
+ } else if (hx > 0x40000000) { /* 2**28 > x > 2 */
+ t=x*x;
+ return logf((float)2.0*x-one/(x+sqrtf(t-one)));
+ } else { /* 1<x<2 */
+ t = x-one;
+ return log1pf(t+sqrtf((float)2.0*t+t*t));
+ }
+}
diff --git a/newlib/libm/mathfp/ef_atanh.c b/newlib/libm/mathfp/ef_atanh.c
new file mode 100644
index 00000000000..bfc40dec1eb
--- /dev/null
+++ b/newlib/libm/mathfp/ef_atanh.c
@@ -0,0 +1,54 @@
+/* ef_atanh.c -- float version of e_atanh.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float one = 1.0, huge = 1e30;
+#else
+static float one = 1.0, huge = 1e30;
+#endif
+
+#ifdef __STDC__
+static const float zero = 0.0;
+#else
+static float zero = 0.0;
+#endif
+
+#ifdef __STDC__
+ float atanhf(float x)
+#else
+ float atanhf(x)
+ float x;
+#endif
+{
+ float t;
+ __int32_t hx,ix;
+ GET_FLOAT_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if (ix>0x3f800000) /* |x|>1 */
+ return (x-x)/(x-x);
+ if(ix==0x3f800000)
+ return x/zero;
+ if(ix<0x31800000&&(huge+x)>zero) return x; /* x<2**-28 */
+ SET_FLOAT_WORD(x,ix);
+ if(ix<0x3f000000) { /* x < 0.5 */
+ t = x+x;
+ t = (float)0.5*log1pf(t+t*x/(one-x));
+ } else
+ t = (float)0.5*log1pf((x+x)/(one-x));
+ if(hx>=0) return t; else return -t;
+}
diff --git a/newlib/libm/mathfp/ef_hypot.c b/newlib/libm/mathfp/ef_hypot.c
new file mode 100644
index 00000000000..8e5f4ccefca
--- /dev/null
+++ b/newlib/libm/mathfp/ef_hypot.c
@@ -0,0 +1,82 @@
+/* ef_hypot.c -- float version of e_hypot.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+ float hypotf(float x, float y)
+#else
+ float hypotf(x,y)
+ float x, y;
+#endif
+{
+ float a=x,b=y,t1,t2,y1,y2,w;
+ __int32_t j,k,ha,hb;
+
+ GET_FLOAT_WORD(ha,x);
+ ha &= 0x7fffffffL;
+ GET_FLOAT_WORD(hb,y);
+ hb &= 0x7fffffffL;
+ if(hb > ha) {a=y;b=x;j=ha; ha=hb;hb=j;} else {a=x;b=y;}
+ SET_FLOAT_WORD(a,ha); /* a <- |a| */
+ SET_FLOAT_WORD(b,hb); /* b <- |b| */
+ if((ha-hb)>0xf000000L) {return a+b;} /* x/y > 2**30 */
+ k=0;
+ if(ha > 0x58800000L) { /* a>2**50 */
+ if(ha >= 0x7f800000L) { /* Inf or NaN */
+ w = a+b; /* for sNaN */
+ if(ha == 0x7f800000L) w = a;
+ if(hb == 0x7f800000L) w = b;
+ return w;
+ }
+ /* scale a and b by 2**-60 */
+ ha -= 0x5d800000L; hb -= 0x5d800000L; k += 60;
+ SET_FLOAT_WORD(a,ha);
+ SET_FLOAT_WORD(b,hb);
+ }
+ if(hb < 0x26800000L) { /* b < 2**-50 */
+ if(hb <= 0x007fffffL) { /* subnormal b or 0 */
+ if(hb==0) return a;
+ SET_FLOAT_WORD(t1,0x3f000000L); /* t1=2^126 */
+ b *= t1;
+ a *= t1;
+ k -= 126;
+ } else { /* scale a and b by 2^60 */
+ ha += 0x5d800000; /* a *= 2^60 */
+ hb += 0x5d800000; /* b *= 2^60 */
+ k -= 60;
+ SET_FLOAT_WORD(a,ha);
+ SET_FLOAT_WORD(b,hb);
+ }
+ }
+ /* medium size a and b */
+ w = a-b;
+ if (w>b) {
+ SET_FLOAT_WORD(t1,ha&0xfffff000L);
+ t2 = a-t1;
+ w = sqrtf(t1*t1-(b*(-b)-t2*(a+t1)));
+ } else {
+ a = a+a;
+ SET_FLOAT_WORD(y1,hb&0xfffff000L);
+ y2 = b - y1;
+ SET_FLOAT_WORD(t1,ha+0x00800000L);
+ t2 = a - t1;
+ w = sqrtf(t1*y1-(w*(-w)-(t1*y2+t2*b)));
+ }
+ if(k!=0) {
+ SET_FLOAT_WORD(t1,0x3f800000L+(k<<23));
+ return t1*w;
+ } else return w;
+}
diff --git a/newlib/libm/mathfp/ef_j0.c b/newlib/libm/mathfp/ef_j0.c
new file mode 100644
index 00000000000..65975f4a5e6
--- /dev/null
+++ b/newlib/libm/mathfp/ef_j0.c
@@ -0,0 +1,439 @@
+/* ef_j0.c -- float version of e_j0.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static float pzerof(float), qzerof(float);
+#else
+static float pzerof(), qzerof();
+#endif
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+huge = 1e30,
+one = 1.0,
+invsqrtpi= 5.6418961287e-01, /* 0x3f106ebb */
+tpi = 6.3661974669e-01, /* 0x3f22f983 */
+ /* R0/S0 on [0, 2.00] */
+R02 = 1.5625000000e-02, /* 0x3c800000 */
+R03 = -1.8997929874e-04, /* 0xb947352e */
+R04 = 1.8295404516e-06, /* 0x35f58e88 */
+R05 = -4.6183270541e-09, /* 0xb19eaf3c */
+S01 = 1.5619102865e-02, /* 0x3c7fe744 */
+S02 = 1.1692678527e-04, /* 0x38f53697 */
+S03 = 5.1354652442e-07, /* 0x3509daa6 */
+S04 = 1.1661400734e-09; /* 0x30a045e8 */
+
+#ifdef __STDC__
+static const float zero = 0.0;
+#else
+static float zero = 0.0;
+#endif
+
+#ifdef __STDC__
+ float j0f(float x)
+#else
+ float j0f(x)
+ float x;
+#endif
+{
+ float z, s,c,ss,cc,r,u,v;
+ __int32_t hx,ix;
+
+ GET_FLOAT_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x7f800000) return one/(x*x);
+ x = fabsf(x);
+ if(ix >= 0x40000000) { /* |x| >= 2.0 */
+ s = sinf(x);
+ c = cosf(x);
+ ss = s-c;
+ cc = s+c;
+ if(ix<0x7f000000) { /* make sure x+x not overflow */
+ z = -cosf(x+x);
+ if ((s*c)<zero) cc = z/ss;
+ else ss = z/cc;
+ }
+ /*
+ * j0(x) = 1/sqrt(pi) * (P(0,x)*cc - Q(0,x)*ss) / sqrt(x)
+ * y0(x) = 1/sqrt(pi) * (P(0,x)*ss + Q(0,x)*cc) / sqrt(x)
+ */
+ if(ix>0x80000000) z = (invsqrtpi*cc)/sqrtf(x);
+ else {
+ u = pzerof(x); v = qzerof(x);
+ z = invsqrtpi*(u*cc-v*ss)/sqrtf(x);
+ }
+ return z;
+ }
+ if(ix<0x39000000) { /* |x| < 2**-13 */
+ if(huge+x>one) { /* raise inexact if x != 0 */
+ if(ix<0x32000000) return one; /* |x|<2**-27 */
+ else return one - (float)0.25*x*x;
+ }
+ }
+ z = x*x;
+ r = z*(R02+z*(R03+z*(R04+z*R05)));
+ s = one+z*(S01+z*(S02+z*(S03+z*S04)));
+ if(ix < 0x3F800000) { /* |x| < 1.00 */
+ return one + z*((float)-0.25+(r/s));
+ } else {
+ u = (float)0.5*x;
+ return((one+u)*(one-u)+z*(r/s));
+ }
+}
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+u00 = -7.3804296553e-02, /* 0xbd9726b5 */
+u01 = 1.7666645348e-01, /* 0x3e34e80d */
+u02 = -1.3818567619e-02, /* 0xbc626746 */
+u03 = 3.4745343146e-04, /* 0x39b62a69 */
+u04 = -3.8140706238e-06, /* 0xb67ff53c */
+u05 = 1.9559013964e-08, /* 0x32a802ba */
+u06 = -3.9820518410e-11, /* 0xae2f21eb */
+v01 = 1.2730483897e-02, /* 0x3c509385 */
+v02 = 7.6006865129e-05, /* 0x389f65e0 */
+v03 = 2.5915085189e-07, /* 0x348b216c */
+v04 = 4.4111031494e-10; /* 0x2ff280c2 */
+
+#ifdef __STDC__
+ float y0f(float x)
+#else
+ float y0f(x)
+ float x;
+#endif
+{
+ float z, s,c,ss,cc,u,v;
+ __int32_t hx,ix;
+
+ GET_FLOAT_WORD(hx,x);
+ ix = 0x7fffffff&hx;
+ /* Y0(NaN) is NaN, y0(-inf) is Nan, y0(inf) is 0 */
+ if(ix>=0x7f800000) return one/(x+x*x);
+ if(ix==0) return -one/zero;
+ if(hx<0) return zero/zero;
+ if(ix >= 0x40000000) { /* |x| >= 2.0 */
+ /* y0(x) = sqrt(2/(pi*x))*(p0(x)*sin(x0)+q0(x)*cos(x0))
+ * where x0 = x-pi/4
+ * Better formula:
+ * cos(x0) = cos(x)cos(pi/4)+sin(x)sin(pi/4)
+ * = 1/sqrt(2) * (sin(x) + cos(x))
+ * sin(x0) = sin(x)cos(3pi/4)-cos(x)sin(3pi/4)
+ * = 1/sqrt(2) * (sin(x) - cos(x))
+ * To avoid cancellation, use
+ * sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x))
+ * to compute the worse one.
+ */
+ s = sinf(x);
+ c = cosf(x);
+ ss = s-c;
+ cc = s+c;
+ /*
+ * j0(x) = 1/sqrt(pi) * (P(0,x)*cc - Q(0,x)*ss) / sqrt(x)
+ * y0(x) = 1/sqrt(pi) * (P(0,x)*ss + Q(0,x)*cc) / sqrt(x)
+ */
+ if(ix<0x7f000000) { /* make sure x+x not overflow */
+ z = -cosf(x+x);
+ if ((s*c)<zero) cc = z/ss;
+ else ss = z/cc;
+ }
+ if(ix>0x80000000) z = (invsqrtpi*ss)/sqrtf(x);
+ else {
+ u = pzerof(x); v = qzerof(x);
+ z = invsqrtpi*(u*ss+v*cc)/sqrtf(x);
+ }
+ return z;
+ }
+ if(ix<=0x32000000) { /* x < 2**-27 */
+ return(u00 + tpi*logf(x));
+ }
+ z = x*x;
+ u = u00+z*(u01+z*(u02+z*(u03+z*(u04+z*(u05+z*u06)))));
+ v = one+z*(v01+z*(v02+z*(v03+z*v04)));
+ return(u/v + tpi*(j0f(x)*logf(x)));
+}
+
+/* The asymptotic expansions of pzero is
+ * 1 - 9/128 s^2 + 11025/98304 s^4 - ..., where s = 1/x.
+ * For x >= 2, We approximate pzero by
+ * pzero(x) = 1 + (R/S)
+ * where R = pR0 + pR1*s^2 + pR2*s^4 + ... + pR5*s^10
+ * S = 1 + pS0*s^2 + ... + pS4*s^10
+ * and
+ * | pzero(x)-1-R/S | <= 2 ** ( -60.26)
+ */
+#ifdef __STDC__
+static const float pR8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#else
+static float pR8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#endif
+ 0.0000000000e+00, /* 0x00000000 */
+ -7.0312500000e-02, /* 0xbd900000 */
+ -8.0816707611e+00, /* 0xc1014e86 */
+ -2.5706311035e+02, /* 0xc3808814 */
+ -2.4852163086e+03, /* 0xc51b5376 */
+ -5.2530439453e+03, /* 0xc5a4285a */
+};
+#ifdef __STDC__
+static const float pS8[5] = {
+#else
+static float pS8[5] = {
+#endif
+ 1.1653436279e+02, /* 0x42e91198 */
+ 3.8337448730e+03, /* 0x456f9beb */
+ 4.0597855469e+04, /* 0x471e95db */
+ 1.1675296875e+05, /* 0x47e4087c */
+ 4.7627726562e+04, /* 0x473a0bba */
+};
+#ifdef __STDC__
+static const float pR5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#else
+static float pR5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#endif
+ -1.1412546255e-11, /* 0xad48c58a */
+ -7.0312492549e-02, /* 0xbd8fffff */
+ -4.1596107483e+00, /* 0xc0851b88 */
+ -6.7674766541e+01, /* 0xc287597b */
+ -3.3123129272e+02, /* 0xc3a59d9b */
+ -3.4643338013e+02, /* 0xc3ad3779 */
+};
+#ifdef __STDC__
+static const float pS5[5] = {
+#else
+static float pS5[5] = {
+#endif
+ 6.0753936768e+01, /* 0x42730408 */
+ 1.0512523193e+03, /* 0x44836813 */
+ 5.9789707031e+03, /* 0x45bad7c4 */
+ 9.6254453125e+03, /* 0x461665c8 */
+ 2.4060581055e+03, /* 0x451660ee */
+};
+
+#ifdef __STDC__
+static const float pR3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#else
+static float pR3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#endif
+ -2.5470459075e-09, /* 0xb12f081b */
+ -7.0311963558e-02, /* 0xbd8fffb8 */
+ -2.4090321064e+00, /* 0xc01a2d95 */
+ -2.1965976715e+01, /* 0xc1afba52 */
+ -5.8079170227e+01, /* 0xc2685112 */
+ -3.1447946548e+01, /* 0xc1fb9565 */
+};
+#ifdef __STDC__
+static const float pS3[5] = {
+#else
+static float pS3[5] = {
+#endif
+ 3.5856033325e+01, /* 0x420f6c94 */
+ 3.6151397705e+02, /* 0x43b4c1ca */
+ 1.1936077881e+03, /* 0x44953373 */
+ 1.1279968262e+03, /* 0x448cffe6 */
+ 1.7358093262e+02, /* 0x432d94b8 */
+};
+
+#ifdef __STDC__
+static const float pR2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#else
+static float pR2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#endif
+ -8.8753431271e-08, /* 0xb3be98b7 */
+ -7.0303097367e-02, /* 0xbd8ffb12 */
+ -1.4507384300e+00, /* 0xbfb9b1cc */
+ -7.6356959343e+00, /* 0xc0f4579f */
+ -1.1193166733e+01, /* 0xc1331736 */
+ -3.2336456776e+00, /* 0xc04ef40d */
+};
+#ifdef __STDC__
+static const float pS2[5] = {
+#else
+static float pS2[5] = {
+#endif
+ 2.2220300674e+01, /* 0x41b1c32d */
+ 1.3620678711e+02, /* 0x430834f0 */
+ 2.7047027588e+02, /* 0x43873c32 */
+ 1.5387539673e+02, /* 0x4319e01a */
+ 1.4657617569e+01, /* 0x416a859a */
+};
+
+#ifdef __STDC__
+ static float pzerof(float x)
+#else
+ static float pzerof(x)
+ float x;
+#endif
+{
+#ifdef __STDC__
+ const float *p,*q;
+#else
+ float *p,*q;
+#endif
+ float z,r,s;
+ __int32_t ix;
+ GET_FLOAT_WORD(ix,x);
+ ix &= 0x7fffffff;
+ if(ix>=0x41000000) {p = pR8; q= pS8;}
+ else if(ix>=0x40f71c58){p = pR5; q= pS5;}
+ else if(ix>=0x4036db68){p = pR3; q= pS3;}
+ else if(ix>=0x40000000){p = pR2; q= pS2;}
+ z = one/(x*x);
+ r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
+ s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4]))));
+ return one+ r/s;
+}
+
+
+/* For x >= 8, the asymptotic expansions of qzero is
+ * -1/8 s + 75/1024 s^3 - ..., where s = 1/x.
+ * We approximate pzero by
+ * qzero(x) = s*(-1.25 + (R/S))
+ * where R = qR0 + qR1*s^2 + qR2*s^4 + ... + qR5*s^10
+ * S = 1 + qS0*s^2 + ... + qS5*s^12
+ * and
+ * | qzero(x)/s +1.25-R/S | <= 2 ** ( -61.22)
+ */
+#ifdef __STDC__
+static const float qR8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#else
+static float qR8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#endif
+ 0.0000000000e+00, /* 0x00000000 */
+ 7.3242187500e-02, /* 0x3d960000 */
+ 1.1768206596e+01, /* 0x413c4a93 */
+ 5.5767340088e+02, /* 0x440b6b19 */
+ 8.8591972656e+03, /* 0x460a6cca */
+ 3.7014625000e+04, /* 0x471096a0 */
+};
+#ifdef __STDC__
+static const float qS8[6] = {
+#else
+static float qS8[6] = {
+#endif
+ 1.6377603149e+02, /* 0x4323c6aa */
+ 8.0983447266e+03, /* 0x45fd12c2 */
+ 1.4253829688e+05, /* 0x480b3293 */
+ 8.0330925000e+05, /* 0x49441ed4 */
+ 8.4050156250e+05, /* 0x494d3359 */
+ -3.4389928125e+05, /* 0xc8a7eb69 */
+};
+
+#ifdef __STDC__
+static const float qR5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#else
+static float qR5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#endif
+ 1.8408595828e-11, /* 0x2da1ec79 */
+ 7.3242180049e-02, /* 0x3d95ffff */
+ 5.8356351852e+00, /* 0x40babd86 */
+ 1.3511157227e+02, /* 0x43071c90 */
+ 1.0272437744e+03, /* 0x448067cd */
+ 1.9899779053e+03, /* 0x44f8bf4b */
+};
+#ifdef __STDC__
+static const float qS5[6] = {
+#else
+static float qS5[6] = {
+#endif
+ 8.2776611328e+01, /* 0x42a58da0 */
+ 2.0778142090e+03, /* 0x4501dd07 */
+ 1.8847289062e+04, /* 0x46933e94 */
+ 5.6751113281e+04, /* 0x475daf1d */
+ 3.5976753906e+04, /* 0x470c88c1 */
+ -5.3543427734e+03, /* 0xc5a752be */
+};
+
+#ifdef __STDC__
+static const float qR3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#else
+static float qR3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#endif
+ 4.3774099900e-09, /* 0x3196681b */
+ 7.3241114616e-02, /* 0x3d95ff70 */
+ 3.3442313671e+00, /* 0x405607e3 */
+ 4.2621845245e+01, /* 0x422a7cc5 */
+ 1.7080809021e+02, /* 0x432acedf */
+ 1.6673394775e+02, /* 0x4326bbe4 */
+};
+#ifdef __STDC__
+static const float qS3[6] = {
+#else
+static float qS3[6] = {
+#endif
+ 4.8758872986e+01, /* 0x42430916 */
+ 7.0968920898e+02, /* 0x44316c1c */
+ 3.7041481934e+03, /* 0x4567825f */
+ 6.4604252930e+03, /* 0x45c9e367 */
+ 2.5163337402e+03, /* 0x451d4557 */
+ -1.4924745178e+02, /* 0xc3153f59 */
+};
+
+#ifdef __STDC__
+static const float qR2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#else
+static float qR2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#endif
+ 1.5044444979e-07, /* 0x342189db */
+ 7.3223426938e-02, /* 0x3d95f62a */
+ 1.9981917143e+00, /* 0x3fffc4bf */
+ 1.4495602608e+01, /* 0x4167edfd */
+ 3.1666231155e+01, /* 0x41fd5471 */
+ 1.6252708435e+01, /* 0x4182058c */
+};
+#ifdef __STDC__
+static const float qS2[6] = {
+#else
+static float qS2[6] = {
+#endif
+ 3.0365585327e+01, /* 0x41f2ecb8 */
+ 2.6934811401e+02, /* 0x4386ac8f */
+ 8.4478375244e+02, /* 0x44533229 */
+ 8.8293585205e+02, /* 0x445cbbe5 */
+ 2.1266638184e+02, /* 0x4354aa98 */
+ -5.3109550476e+00, /* 0xc0a9f358 */
+};
+
+#ifdef __STDC__
+ static float qzerof(float x)
+#else
+ static float qzerof(x)
+ float x;
+#endif
+{
+#ifdef __STDC__
+ const float *p,*q;
+#else
+ float *p,*q;
+#endif
+ float s,r,z;
+ __int32_t ix;
+ GET_FLOAT_WORD(ix,x);
+ ix &= 0x7fffffff;
+ if(ix>=0x41000000) {p = qR8; q= qS8;}
+ else if(ix>=0x40f71c58){p = qR5; q= qS5;}
+ else if(ix>=0x4036db68){p = qR3; q= qS3;}
+ else if(ix>=0x40000000){p = qR2; q= qS2;}
+ z = one/(x*x);
+ r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
+ s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5])))));
+ return (-(float).125 + r/s)/x;
+}
diff --git a/newlib/libm/mathfp/ef_j1.c b/newlib/libm/mathfp/ef_j1.c
new file mode 100644
index 00000000000..04c12cff23f
--- /dev/null
+++ b/newlib/libm/mathfp/ef_j1.c
@@ -0,0 +1,439 @@
+/* ef_j1.c -- float version of e_j1.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static float ponef(float), qonef(float);
+#else
+static float ponef(), qonef();
+#endif
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+huge = 1e30,
+one = 1.0,
+invsqrtpi= 5.6418961287e-01, /* 0x3f106ebb */
+tpi = 6.3661974669e-01, /* 0x3f22f983 */
+ /* R0/S0 on [0,2] */
+r00 = -6.2500000000e-02, /* 0xbd800000 */
+r01 = 1.4070566976e-03, /* 0x3ab86cfd */
+r02 = -1.5995563444e-05, /* 0xb7862e36 */
+r03 = 4.9672799207e-08, /* 0x335557d2 */
+s01 = 1.9153760746e-02, /* 0x3c9ce859 */
+s02 = 1.8594678841e-04, /* 0x3942fab6 */
+s03 = 1.1771846857e-06, /* 0x359dffc2 */
+s04 = 5.0463624390e-09, /* 0x31ad6446 */
+s05 = 1.2354227016e-11; /* 0x2d59567e */
+
+#ifdef __STDC__
+static const float zero = 0.0;
+#else
+static float zero = 0.0;
+#endif
+
+#ifdef __STDC__
+ float j1f(float x)
+#else
+ float j1f(x)
+ float x;
+#endif
+{
+ float z, s,c,ss,cc,r,u,v,y;
+ __int32_t hx,ix;
+
+ GET_FLOAT_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x7f800000) return one/x;
+ y = fabsf(x);
+ if(ix >= 0x40000000) { /* |x| >= 2.0 */
+ s = sinf(y);
+ c = cosf(y);
+ ss = -s-c;
+ cc = s-c;
+ if(ix<0x7f000000) { /* make sure y+y not overflow */
+ z = cosf(y+y);
+ if ((s*c)>zero) cc = z/ss;
+ else ss = z/cc;
+ }
+ /*
+ * j1(x) = 1/sqrt(pi) * (P(1,x)*cc - Q(1,x)*ss) / sqrt(x)
+ * y1(x) = 1/sqrt(pi) * (P(1,x)*ss + Q(1,x)*cc) / sqrt(x)
+ */
+ if(ix>0x80000000) z = (invsqrtpi*cc)/sqrtf(y);
+ else {
+ u = ponef(y); v = qonef(y);
+ z = invsqrtpi*(u*cc-v*ss)/sqrtf(y);
+ }
+ if(hx<0) return -z;
+ else return z;
+ }
+ if(ix<0x32000000) { /* |x|<2**-27 */
+ if(huge+x>one) return (float)0.5*x;/* inexact if x!=0 necessary */
+ }
+ z = x*x;
+ r = z*(r00+z*(r01+z*(r02+z*r03)));
+ s = one+z*(s01+z*(s02+z*(s03+z*(s04+z*s05))));
+ r *= x;
+ return(x*(float)0.5+r/s);
+}
+
+#ifdef __STDC__
+static const float U0[5] = {
+#else
+static float U0[5] = {
+#endif
+ -1.9605709612e-01, /* 0xbe48c331 */
+ 5.0443872809e-02, /* 0x3d4e9e3c */
+ -1.9125689287e-03, /* 0xbafaaf2a */
+ 2.3525259166e-05, /* 0x37c5581c */
+ -9.1909917899e-08, /* 0xb3c56003 */
+};
+#ifdef __STDC__
+static const float V0[5] = {
+#else
+static float V0[5] = {
+#endif
+ 1.9916731864e-02, /* 0x3ca3286a */
+ 2.0255257550e-04, /* 0x3954644b */
+ 1.3560879779e-06, /* 0x35b602d4 */
+ 6.2274145840e-09, /* 0x31d5f8eb */
+ 1.6655924903e-11, /* 0x2d9281cf */
+};
+
+#ifdef __STDC__
+ float y1f(float x)
+#else
+ float y1f(x)
+ float x;
+#endif
+{
+ float z, s,c,ss,cc,u,v;
+ __int32_t hx,ix;
+
+ GET_FLOAT_WORD(hx,x);
+ ix = 0x7fffffff&hx;
+ /* if Y1(NaN) is NaN, Y1(-inf) is NaN, Y1(inf) is 0 */
+ if(ix>=0x7f800000) return one/(x+x*x);
+ if(ix==0) return -one/zero;
+ if(hx<0) return zero/zero;
+ if(ix >= 0x40000000) { /* |x| >= 2.0 */
+ s = sinf(x);
+ c = cosf(x);
+ ss = -s-c;
+ cc = s-c;
+ if(ix<0x7f000000) { /* make sure x+x not overflow */
+ z = cosf(x+x);
+ if ((s*c)>zero) cc = z/ss;
+ else ss = z/cc;
+ }
+ /* y1(x) = sqrt(2/(pi*x))*(p1(x)*sin(x0)+q1(x)*cos(x0))
+ * where x0 = x-3pi/4
+ * Better formula:
+ * cos(x0) = cos(x)cos(3pi/4)+sin(x)sin(3pi/4)
+ * = 1/sqrt(2) * (sin(x) - cos(x))
+ * sin(x0) = sin(x)cos(3pi/4)-cos(x)sin(3pi/4)
+ * = -1/sqrt(2) * (cos(x) + sin(x))
+ * To avoid cancellation, use
+ * sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x))
+ * to compute the worse one.
+ */
+ if(ix>0x48000000) z = (invsqrtpi*ss)/sqrtf(x);
+ else {
+ u = ponef(x); v = qonef(x);
+ z = invsqrtpi*(u*ss+v*cc)/sqrtf(x);
+ }
+ return z;
+ }
+ if(ix<=0x24800000) { /* x < 2**-54 */
+ return(-tpi/x);
+ }
+ z = x*x;
+ u = U0[0]+z*(U0[1]+z*(U0[2]+z*(U0[3]+z*U0[4])));
+ v = one+z*(V0[0]+z*(V0[1]+z*(V0[2]+z*(V0[3]+z*V0[4]))));
+ return(x*(u/v) + tpi*(j1f(x)*logf(x)-one/x));
+}
+
+/* For x >= 8, the asymptotic expansions of pone is
+ * 1 + 15/128 s^2 - 4725/2^15 s^4 - ..., where s = 1/x.
+ * We approximate pone by
+ * pone(x) = 1 + (R/S)
+ * where R = pr0 + pr1*s^2 + pr2*s^4 + ... + pr5*s^10
+ * S = 1 + ps0*s^2 + ... + ps4*s^10
+ * and
+ * | pone(x)-1-R/S | <= 2 ** ( -60.06)
+ */
+
+#ifdef __STDC__
+static const float pr8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#else
+static float pr8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#endif
+ 0.0000000000e+00, /* 0x00000000 */
+ 1.1718750000e-01, /* 0x3df00000 */
+ 1.3239480972e+01, /* 0x4153d4ea */
+ 4.1205184937e+02, /* 0x43ce06a3 */
+ 3.8747453613e+03, /* 0x45722bed */
+ 7.9144794922e+03, /* 0x45f753d6 */
+};
+#ifdef __STDC__
+static const float ps8[5] = {
+#else
+static float ps8[5] = {
+#endif
+ 1.1420736694e+02, /* 0x42e46a2c */
+ 3.6509309082e+03, /* 0x45642ee5 */
+ 3.6956207031e+04, /* 0x47105c35 */
+ 9.7602796875e+04, /* 0x47bea166 */
+ 3.0804271484e+04, /* 0x46f0a88b */
+};
+
+#ifdef __STDC__
+static const float pr5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#else
+static float pr5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#endif
+ 1.3199052094e-11, /* 0x2d68333f */
+ 1.1718749255e-01, /* 0x3defffff */
+ 6.8027510643e+00, /* 0x40d9b023 */
+ 1.0830818176e+02, /* 0x42d89dca */
+ 5.1763616943e+02, /* 0x440168b7 */
+ 5.2871520996e+02, /* 0x44042dc6 */
+};
+#ifdef __STDC__
+static const float ps5[5] = {
+#else
+static float ps5[5] = {
+#endif
+ 5.9280597687e+01, /* 0x426d1f55 */
+ 9.9140142822e+02, /* 0x4477d9b1 */
+ 5.3532670898e+03, /* 0x45a74a23 */
+ 7.8446904297e+03, /* 0x45f52586 */
+ 1.5040468750e+03, /* 0x44bc0180 */
+};
+
+#ifdef __STDC__
+static const float pr3[6] = {
+#else
+static float pr3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#endif
+ 3.0250391081e-09, /* 0x314fe10d */
+ 1.1718686670e-01, /* 0x3defffab */
+ 3.9329774380e+00, /* 0x407bb5e7 */
+ 3.5119403839e+01, /* 0x420c7a45 */
+ 9.1055007935e+01, /* 0x42b61c2a */
+ 4.8559066772e+01, /* 0x42423c7c */
+};
+#ifdef __STDC__
+static const float ps3[5] = {
+#else
+static float ps3[5] = {
+#endif
+ 3.4791309357e+01, /* 0x420b2a4d */
+ 3.3676245117e+02, /* 0x43a86198 */
+ 1.0468714600e+03, /* 0x4482dbe3 */
+ 8.9081134033e+02, /* 0x445eb3ed */
+ 1.0378793335e+02, /* 0x42cf936c */
+};
+
+#ifdef __STDC__
+static const float pr2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#else
+static float pr2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#endif
+ 1.0771083225e-07, /* 0x33e74ea8 */
+ 1.1717621982e-01, /* 0x3deffa16 */
+ 2.3685150146e+00, /* 0x401795c0 */
+ 1.2242610931e+01, /* 0x4143e1bc */
+ 1.7693971634e+01, /* 0x418d8d41 */
+ 5.0735230446e+00, /* 0x40a25a4d */
+};
+#ifdef __STDC__
+static const float ps2[5] = {
+#else
+static float ps2[5] = {
+#endif
+ 2.1436485291e+01, /* 0x41ab7dec */
+ 1.2529022980e+02, /* 0x42fa9499 */
+ 2.3227647400e+02, /* 0x436846c7 */
+ 1.1767937469e+02, /* 0x42eb5bd7 */
+ 8.3646392822e+00, /* 0x4105d590 */
+};
+
+#ifdef __STDC__
+ static float ponef(float x)
+#else
+ static float ponef(x)
+ float x;
+#endif
+{
+#ifdef __STDC__
+ const float *p,*q;
+#else
+ float *p,*q;
+#endif
+ float z,r,s;
+ __int32_t ix;
+ GET_FLOAT_WORD(ix,x);
+ ix &= 0x7fffffff;
+ if(ix>=0x41000000) {p = pr8; q= ps8;}
+ else if(ix>=0x40f71c58){p = pr5; q= ps5;}
+ else if(ix>=0x4036db68){p = pr3; q= ps3;}
+ else if(ix>=0x40000000){p = pr2; q= ps2;}
+ z = one/(x*x);
+ r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
+ s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4]))));
+ return one+ r/s;
+}
+
+
+/* For x >= 8, the asymptotic expansions of qone is
+ * 3/8 s - 105/1024 s^3 - ..., where s = 1/x.
+ * We approximate pone by
+ * qone(x) = s*(0.375 + (R/S))
+ * where R = qr1*s^2 + qr2*s^4 + ... + qr5*s^10
+ * S = 1 + qs1*s^2 + ... + qs6*s^12
+ * and
+ * | qone(x)/s -0.375-R/S | <= 2 ** ( -61.13)
+ */
+
+#ifdef __STDC__
+static const float qr8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#else
+static float qr8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
+#endif
+ 0.0000000000e+00, /* 0x00000000 */
+ -1.0253906250e-01, /* 0xbdd20000 */
+ -1.6271753311e+01, /* 0xc1822c8d */
+ -7.5960174561e+02, /* 0xc43de683 */
+ -1.1849806641e+04, /* 0xc639273a */
+ -4.8438511719e+04, /* 0xc73d3683 */
+};
+#ifdef __STDC__
+static const float qs8[6] = {
+#else
+static float qs8[6] = {
+#endif
+ 1.6139537048e+02, /* 0x43216537 */
+ 7.8253862305e+03, /* 0x45f48b17 */
+ 1.3387534375e+05, /* 0x4802bcd6 */
+ 7.1965775000e+05, /* 0x492fb29c */
+ 6.6660125000e+05, /* 0x4922be94 */
+ -2.9449025000e+05, /* 0xc88fcb48 */
+};
+
+#ifdef __STDC__
+static const float qr5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#else
+static float qr5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
+#endif
+ -2.0897993405e-11, /* 0xadb7d219 */
+ -1.0253904760e-01, /* 0xbdd1fffe */
+ -8.0564479828e+00, /* 0xc100e736 */
+ -1.8366960144e+02, /* 0xc337ab6b */
+ -1.3731937256e+03, /* 0xc4aba633 */
+ -2.6124443359e+03, /* 0xc523471c */
+};
+#ifdef __STDC__
+static const float qs5[6] = {
+#else
+static float qs5[6] = {
+#endif
+ 8.1276550293e+01, /* 0x42a28d98 */
+ 1.9917987061e+03, /* 0x44f8f98f */
+ 1.7468484375e+04, /* 0x468878f8 */
+ 4.9851425781e+04, /* 0x4742bb6d */
+ 2.7948074219e+04, /* 0x46da5826 */
+ -4.7191835938e+03, /* 0xc5937978 */
+};
+
+#ifdef __STDC__
+static const float qr3[6] = {
+#else
+static float qr3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
+#endif
+ -5.0783124372e-09, /* 0xb1ae7d4f */
+ -1.0253783315e-01, /* 0xbdd1ff5b */
+ -4.6101160049e+00, /* 0xc0938612 */
+ -5.7847221375e+01, /* 0xc267638e */
+ -2.2824453735e+02, /* 0xc3643e9a */
+ -2.1921012878e+02, /* 0xc35b35cb */
+};
+#ifdef __STDC__
+static const float qs3[6] = {
+#else
+static float qs3[6] = {
+#endif
+ 4.7665153503e+01, /* 0x423ea91e */
+ 6.7386511230e+02, /* 0x4428775e */
+ 3.3801528320e+03, /* 0x45534272 */
+ 5.5477290039e+03, /* 0x45ad5dd5 */
+ 1.9031191406e+03, /* 0x44ede3d0 */
+ -1.3520118713e+02, /* 0xc3073381 */
+};
+
+#ifdef __STDC__
+static const float qr2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#else
+static float qr2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
+#endif
+ -1.7838172539e-07, /* 0xb43f8932 */
+ -1.0251704603e-01, /* 0xbdd1f475 */
+ -2.7522056103e+00, /* 0xc0302423 */
+ -1.9663616180e+01, /* 0xc19d4f16 */
+ -4.2325313568e+01, /* 0xc2294d1f */
+ -2.1371921539e+01, /* 0xc1aaf9b2 */
+};
+#ifdef __STDC__
+static const float qs2[6] = {
+#else
+static float qs2[6] = {
+#endif
+ 2.9533363342e+01, /* 0x41ec4454 */
+ 2.5298155212e+02, /* 0x437cfb47 */
+ 7.5750280762e+02, /* 0x443d602e */
+ 7.3939318848e+02, /* 0x4438d92a */
+ 1.5594900513e+02, /* 0x431bf2f2 */
+ -4.9594988823e+00, /* 0xc09eb437 */
+};
+
+#ifdef __STDC__
+ static float qonef(float x)
+#else
+ static float qonef(x)
+ float x;
+#endif
+{
+#ifdef __STDC__
+ const float *p,*q;
+#else
+ float *p,*q;
+#endif
+ float s,r,z;
+ __int32_t ix;
+ GET_FLOAT_WORD(ix,x);
+ ix &= 0x7fffffff;
+ if(ix>=0x40200000) {p = qr8; q= qs8;}
+ else if(ix>=0x40f71c58){p = qr5; q= qs5;}
+ else if(ix>=0x4036db68){p = qr3; q= qs3;}
+ else if(ix>=0x40000000){p = qr2; q= qs2;}
+ z = one/(x*x);
+ r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
+ s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5])))));
+ return ((float).375 + r/s)/x;
+}
diff --git a/newlib/libm/mathfp/ef_remainder.c b/newlib/libm/mathfp/ef_remainder.c
new file mode 100644
index 00000000000..92958efc4d6
--- /dev/null
+++ b/newlib/libm/mathfp/ef_remainder.c
@@ -0,0 +1,68 @@
+/* ef_remainder.c -- float version of e_remainder.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float zero = 0.0;
+#else
+static float zero = 0.0;
+#endif
+
+
+#ifdef __STDC__
+ float remainderf(float x, float p)
+#else
+ float remainderf(x,p)
+ float x,p;
+#endif
+{
+ __int32_t hx,hp;
+ __uint32_t sx;
+ float p_half;
+
+ GET_FLOAT_WORD(hx,x);
+ GET_FLOAT_WORD(hp,p);
+ sx = hx&0x80000000;
+ hp &= 0x7fffffff;
+ hx &= 0x7fffffff;
+
+ /* purge off exception values */
+ if(hp==0) return (x*p)/(x*p); /* p = 0 */
+ if((hx>=0x7f800000)|| /* x not finite */
+ ((hp>0x7f800000))) /* p is NaN */
+ return (x*p)/(x*p);
+
+
+ if (hp<=0x7effffff) x = fmodf(x,p+p); /* now x < 2p */
+ if ((hx-hp)==0) return zero*x;
+ x = fabsf(x);
+ p = fabsf(p);
+ if (hp<0x01000000) {
+ if(x+x>p) {
+ x-=p;
+ if(x+x>=p) x -= p;
+ }
+ } else {
+ p_half = (float)0.5*p;
+ if(x>p_half) {
+ x-=p;
+ if(x>=p_half) x -= p;
+ }
+ }
+ GET_FLOAT_WORD(hx,x);
+ SET_FLOAT_WORD(x,hx^sx);
+ return x;
+}
diff --git a/newlib/libm/mathfp/ef_scalb.c b/newlib/libm/mathfp/ef_scalb.c
new file mode 100644
index 00000000000..901f1770746
--- /dev/null
+++ b/newlib/libm/mathfp/ef_scalb.c
@@ -0,0 +1,53 @@
+/* ef_scalb.c -- float version of e_scalb.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+#include <limits.h>
+
+#ifdef _SCALB_INT
+#ifdef __STDC__
+ float scalbf(float x, int fn)
+#else
+ float scalbf(x,fn)
+ float x; int fn;
+#endif
+#else
+#ifdef __STDC__
+ float scalbf(float x, float fn)
+#else
+ float scalbf(x,fn)
+ float x, fn;
+#endif
+#endif
+{
+#ifdef _SCALB_INT
+ return scalbnf(x,fn);
+#else
+ if (isnanf(x)||isnanf(fn)) return x*fn;
+ if (!finitef(fn)) {
+ if(fn>(float)0.0) return x*fn;
+ else return x/(-fn);
+ }
+ if (rintf(fn)!=fn) return (fn-fn)/(fn-fn);
+#if INT_MAX > 65000
+ if ( fn > (float)65000.0) return scalbnf(x, 65000);
+ if (-fn > (float)65000.0) return scalbnf(x,-65000);
+#else
+ if ( fn > (float)32000.0) return scalbnf(x, 32000);
+ if (-fn > (float)32000.0) return scalbnf(x,-32000);
+#endif
+ return scalbnf(x,(int)fn);
+#endif
+}
diff --git a/newlib/libm/mathfp/er_gamma.c b/newlib/libm/mathfp/er_gamma.c
new file mode 100644
index 00000000000..6246c880bfd
--- /dev/null
+++ b/newlib/libm/mathfp/er_gamma.c
@@ -0,0 +1,32 @@
+
+/* @(#)er_gamma.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/* gamma_r(x, signgamp)
+ * Reentrant version of the logarithm of the Gamma function
+ * with user provide pointer for the sign of Gamma(x).
+ *
+ * Method: See lgamma_r
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+ double gamma_r(double x, int *signgamp)
+#else
+ double gamma_r(x,signgamp)
+ double x; int *signgamp;
+#endif
+{
+ return lgamma_r(x,signgamp);
+}
diff --git a/newlib/libm/mathfp/er_lgamma.c b/newlib/libm/mathfp/er_lgamma.c
new file mode 100644
index 00000000000..9d8e370fa62
--- /dev/null
+++ b/newlib/libm/mathfp/er_lgamma.c
@@ -0,0 +1,422 @@
+
+/* @(#)er_lgamma.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/*
+FUNCTION
+ <<gamma>>, <<gammaf>>, <<lgamma>>, <<lgammaf>>, <<gamma_r>>,
+ <<gammaf_r>>, <<lgamma_r>>, <<lgammaf_r>>---logarithmic gamma
+ function
+INDEX
+gamma
+INDEX
+gammaf
+INDEX
+lgamma
+INDEX
+lgammaf
+INDEX
+gamma_r
+INDEX
+gammaf_r
+INDEX
+lgamma_r
+INDEX
+lgammaf_r
+
+ANSI_SYNOPSIS
+#include <math.h>
+double gamma(double <[x]>);
+float gammaf(float <[x]>);
+double lgamma(double <[x]>);
+float lgammaf(float <[x]>);
+double gamma_r(double <[x]>, int *<[signgamp]>);
+float gammaf_r(float <[x]>, int *<[signgamp]>);
+double lgamma_r(double <[x]>, int *<[signgamp]>);
+float lgammaf_r(float <[x]>, int *<[signgamp]>);
+
+TRAD_SYNOPSIS
+#include <math.h>
+double gamma(<[x]>)
+double <[x]>;
+float gammaf(<[x]>)
+float <[x]>;
+double lgamma(<[x]>)
+double <[x]>;
+float lgammaf(<[x]>)
+float <[x]>;
+double gamma_r(<[x]>, <[signgamp]>)
+double <[x]>;
+int <[signgamp]>;
+float gammaf_r(<[x]>, <[signgamp]>)
+float <[x]>;
+int <[signgamp]>;
+double lgamma_r(<[x]>, <[signgamp]>)
+double <[x]>;
+int <[signgamp]>;
+float lgammaf_r(<[x]>, <[signgamp]>)
+float <[x]>;
+int <[signgamp]>;
+
+DESCRIPTION
+<<gamma>> calculates
+@tex
+$\mit ln\bigl(\Gamma(x)\bigr)$,
+@end tex
+the natural logarithm of the gamma function of <[x]>. The gamma function
+(<<exp(gamma(<[x]>))>>) is a generalization of factorial, and retains
+the property that
+@ifinfo
+<<exp(gamma(N))>> is equivalent to <<N*exp(gamma(N-1))>>.
+@end ifinfo
+@tex
+$\mit \Gamma(N)\equiv N\times\Gamma(N-1)$.
+@end tex
+Accordingly, the results of the gamma function itself grow very
+quickly. <<gamma>> is defined as
+@tex
+$\mit ln\bigl(\Gamma(x)\bigr)$ rather than simply $\mit \Gamma(x)$
+@end tex
+@ifinfo
+the natural log of the gamma function, rather than the gamma function
+itself,
+@end ifinfo
+to extend the useful range of results representable.
+
+The sign of the result is returned in the global variable <<signgam>>,
+which is declared in math.h.
+
+<<gammaf>> performs the same calculation as <<gamma>>, but uses and
+returns <<float>> values.
+
+<<lgamma>> and <<lgammaf>> are alternate names for <<gamma>> and
+<<gammaf>>. The use of <<lgamma>> instead of <<gamma>> is a reminder
+that these functions compute the log of the gamma function, rather
+than the gamma function itself.
+
+The functions <<gamma_r>>, <<gammaf_r>>, <<lgamma_r>>, and
+<<lgammaf_r>> are just like <<gamma>>, <<gammaf>>, <<lgamma>>, and
+<<lgammaf>>, respectively, but take an additional argument. This
+additional argument is a pointer to an integer. This additional
+argument is used to return the sign of the result, and the global
+variable <<signgam>> is not used. These functions may be used for
+reentrant calls (but they will still set the global variable <<errno>>
+if an error occurs).
+
+RETURNS
+Normally, the computed result is returned.
+
+When <[x]> is a nonpositive integer, <<gamma>> returns <<HUGE_VAL>>
+and <<errno>> is set to <<EDOM>>. If the result overflows, <<gamma>>
+returns <<HUGE_VAL>> and <<errno>> is set to <<ERANGE>>.
+
+You can modify this error treatment using <<matherr>>.
+
+PORTABILITY
+Neither <<gamma>> nor <<gammaf>> is ANSI C. */
+
+/* lgamma_r(x, signgamp)
+ * Reentrant version of the logarithm of the Gamma function
+ * with user provide pointer for the sign of Gamma(x).
+ *
+ * Method:
+ * 1. Argument Reduction for 0 < x <= 8
+ * Since gamma(1+s)=s*gamma(s), for x in [0,8], we may
+ * reduce x to a number in [1.5,2.5] by
+ * lgamma(1+s) = log(s) + lgamma(s)
+ * for example,
+ * lgamma(7.3) = log(6.3) + lgamma(6.3)
+ * = log(6.3*5.3) + lgamma(5.3)
+ * = log(6.3*5.3*4.3*3.3*2.3) + lgamma(2.3)
+ * 2. Polynomial approximation of lgamma around its
+ * minimun ymin=1.461632144968362245 to maintain monotonicity.
+ * On [ymin-0.23, ymin+0.27] (i.e., [1.23164,1.73163]), use
+ * Let z = x-ymin;
+ * lgamma(x) = -1.214862905358496078218 + z^2*poly(z)
+ * where
+ * poly(z) is a 14 degree polynomial.
+ * 2. Rational approximation in the primary interval [2,3]
+ * We use the following approximation:
+ * s = x-2.0;
+ * lgamma(x) = 0.5*s + s*P(s)/Q(s)
+ * with accuracy
+ * |P/Q - (lgamma(x)-0.5s)| < 2**-61.71
+ * Our algorithms are based on the following observation
+ *
+ * zeta(2)-1 2 zeta(3)-1 3
+ * lgamma(2+s) = s*(1-Euler) + --------- * s - --------- * s + ...
+ * 2 3
+ *
+ * where Euler = 0.5771... is the Euler constant, which is very
+ * close to 0.5.
+ *
+ * 3. For x>=8, we have
+ * lgamma(x)~(x-0.5)log(x)-x+0.5*log(2pi)+1/(12x)-1/(360x**3)+....
+ * (better formula:
+ * lgamma(x)~(x-0.5)*(log(x)-1)-.5*(log(2pi)-1) + ...)
+ * Let z = 1/x, then we approximation
+ * f(z) = lgamma(x) - (x-0.5)(log(x)-1)
+ * by
+ * 3 5 11
+ * w = w0 + w1*z + w2*z + w3*z + ... + w6*z
+ * where
+ * |w - f(z)| < 2**-58.74
+ *
+ * 4. For negative x, since (G is gamma function)
+ * -x*G(-x)*G(x) = pi/sin(pi*x),
+ * we have
+ * G(x) = pi/(sin(pi*x)*(-x)*G(-x))
+ * since G(-x) is positive, sign(G(x)) = sign(sin(pi*x)) for x<0
+ * Hence, for x<0, signgam = sign(sin(pi*x)) and
+ * lgamma(x) = log(|Gamma(x)|)
+ * = log(pi/(|x*sin(pi*x)|)) - lgamma(-x);
+ * Note: one should avoid compute pi*(-x) directly in the
+ * computation of sin(pi*(-x)).
+ *
+ * 5. Special Cases
+ * lgamma(2+s) ~ s*(1-Euler) for tiny s
+ * lgamma(1)=lgamma(2)=0
+ * lgamma(x) ~ -log(x) for tiny x
+ * lgamma(0) = lgamma(inf) = inf
+ * lgamma(-integer) = +-inf
+ *
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+two52= 4.50359962737049600000e+15, /* 0x43300000, 0x00000000 */
+half= 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */
+one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
+pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */
+a0 = 7.72156649015328655494e-02, /* 0x3FB3C467, 0xE37DB0C8 */
+a1 = 3.22467033424113591611e-01, /* 0x3FD4A34C, 0xC4A60FAD */
+a2 = 6.73523010531292681824e-02, /* 0x3FB13E00, 0x1A5562A7 */
+a3 = 2.05808084325167332806e-02, /* 0x3F951322, 0xAC92547B */
+a4 = 7.38555086081402883957e-03, /* 0x3F7E404F, 0xB68FEFE8 */
+a5 = 2.89051383673415629091e-03, /* 0x3F67ADD8, 0xCCB7926B */
+a6 = 1.19270763183362067845e-03, /* 0x3F538A94, 0x116F3F5D */
+a7 = 5.10069792153511336608e-04, /* 0x3F40B6C6, 0x89B99C00 */
+a8 = 2.20862790713908385557e-04, /* 0x3F2CF2EC, 0xED10E54D */
+a9 = 1.08011567247583939954e-04, /* 0x3F1C5088, 0x987DFB07 */
+a10 = 2.52144565451257326939e-05, /* 0x3EFA7074, 0x428CFA52 */
+a11 = 4.48640949618915160150e-05, /* 0x3F07858E, 0x90A45837 */
+tc = 1.46163214496836224576e+00, /* 0x3FF762D8, 0x6356BE3F */
+tf = -1.21486290535849611461e-01, /* 0xBFBF19B9, 0xBCC38A42 */
+/* tt = -(tail of tf) */
+tt = -3.63867699703950536541e-18, /* 0xBC50C7CA, 0xA48A971F */
+t0 = 4.83836122723810047042e-01, /* 0x3FDEF72B, 0xC8EE38A2 */
+t1 = -1.47587722994593911752e-01, /* 0xBFC2E427, 0x8DC6C509 */
+t2 = 6.46249402391333854778e-02, /* 0x3FB08B42, 0x94D5419B */
+t3 = -3.27885410759859649565e-02, /* 0xBFA0C9A8, 0xDF35B713 */
+t4 = 1.79706750811820387126e-02, /* 0x3F9266E7, 0x970AF9EC */
+t5 = -1.03142241298341437450e-02, /* 0xBF851F9F, 0xBA91EC6A */
+t6 = 6.10053870246291332635e-03, /* 0x3F78FCE0, 0xE370E344 */
+t7 = -3.68452016781138256760e-03, /* 0xBF6E2EFF, 0xB3E914D7 */
+t8 = 2.25964780900612472250e-03, /* 0x3F6282D3, 0x2E15C915 */
+t9 = -1.40346469989232843813e-03, /* 0xBF56FE8E, 0xBF2D1AF1 */
+t10 = 8.81081882437654011382e-04, /* 0x3F4CDF0C, 0xEF61A8E9 */
+t11 = -5.38595305356740546715e-04, /* 0xBF41A610, 0x9C73E0EC */
+t12 = 3.15632070903625950361e-04, /* 0x3F34AF6D, 0x6C0EBBF7 */
+t13 = -3.12754168375120860518e-04, /* 0xBF347F24, 0xECC38C38 */
+t14 = 3.35529192635519073543e-04, /* 0x3F35FD3E, 0xE8C2D3F4 */
+u0 = -7.72156649015328655494e-02, /* 0xBFB3C467, 0xE37DB0C8 */
+u1 = 6.32827064025093366517e-01, /* 0x3FE4401E, 0x8B005DFF */
+u2 = 1.45492250137234768737e+00, /* 0x3FF7475C, 0xD119BD6F */
+u3 = 9.77717527963372745603e-01, /* 0x3FEF4976, 0x44EA8450 */
+u4 = 2.28963728064692451092e-01, /* 0x3FCD4EAE, 0xF6010924 */
+u5 = 1.33810918536787660377e-02, /* 0x3F8B678B, 0xBF2BAB09 */
+v1 = 2.45597793713041134822e+00, /* 0x4003A5D7, 0xC2BD619C */
+v2 = 2.12848976379893395361e+00, /* 0x40010725, 0xA42B18F5 */
+v3 = 7.69285150456672783825e-01, /* 0x3FE89DFB, 0xE45050AF */
+v4 = 1.04222645593369134254e-01, /* 0x3FBAAE55, 0xD6537C88 */
+v5 = 3.21709242282423911810e-03, /* 0x3F6A5ABB, 0x57D0CF61 */
+s0 = -7.72156649015328655494e-02, /* 0xBFB3C467, 0xE37DB0C8 */
+s1 = 2.14982415960608852501e-01, /* 0x3FCB848B, 0x36E20878 */
+s2 = 3.25778796408930981787e-01, /* 0x3FD4D98F, 0x4F139F59 */
+s3 = 1.46350472652464452805e-01, /* 0x3FC2BB9C, 0xBEE5F2F7 */
+s4 = 2.66422703033638609560e-02, /* 0x3F9B481C, 0x7E939961 */
+s5 = 1.84028451407337715652e-03, /* 0x3F5E26B6, 0x7368F239 */
+s6 = 3.19475326584100867617e-05, /* 0x3F00BFEC, 0xDD17E945 */
+r1 = 1.39200533467621045958e+00, /* 0x3FF645A7, 0x62C4AB74 */
+r2 = 7.21935547567138069525e-01, /* 0x3FE71A18, 0x93D3DCDC */
+r3 = 1.71933865632803078993e-01, /* 0x3FC601ED, 0xCCFBDF27 */
+r4 = 1.86459191715652901344e-02, /* 0x3F9317EA, 0x742ED475 */
+r5 = 7.77942496381893596434e-04, /* 0x3F497DDA, 0xCA41A95B */
+r6 = 7.32668430744625636189e-06, /* 0x3EDEBAF7, 0xA5B38140 */
+w0 = 4.18938533204672725052e-01, /* 0x3FDACFE3, 0x90C97D69 */
+w1 = 8.33333333333329678849e-02, /* 0x3FB55555, 0x5555553B */
+w2 = -2.77777777728775536470e-03, /* 0xBF66C16C, 0x16B02E5C */
+w3 = 7.93650558643019558500e-04, /* 0x3F4A019F, 0x98CF38B6 */
+w4 = -5.95187557450339963135e-04, /* 0xBF4380CB, 0x8C0FE741 */
+w5 = 8.36339918996282139126e-04, /* 0x3F4B67BA, 0x4CDAD5D1 */
+w6 = -1.63092934096575273989e-03; /* 0xBF5AB89D, 0x0B9E43E4 */
+
+#ifdef __STDC__
+static const double zero= 0.00000000000000000000e+00;
+#else
+static double zero= 0.00000000000000000000e+00;
+#endif
+
+#ifdef __STDC__
+ static double sin_pi(double x)
+#else
+ static double sin_pi(x)
+ double x;
+#endif
+{
+ double y,z;
+ __int32_t n,ix;
+
+ GET_HIGH_WORD(ix,x);
+ ix &= 0x7fffffff;
+
+ if(ix<0x3fd00000) return __kernel_sin(pi*x,zero,0);
+ y = -x; /* x is assume negative */
+
+ /*
+ * argument reduction, make sure inexact flag not raised if input
+ * is an integer
+ */
+ z = floor(y);
+ if(z!=y) { /* inexact anyway */
+ y *= 0.5;
+ y = 2.0*(y - floor(y)); /* y = |x| mod 2.0 */
+ n = (__int32_t) (y*4.0);
+ } else {
+ if(ix>=0x43400000) {
+ y = zero; n = 0; /* y must be even */
+ } else {
+ if(ix<0x43300000) z = y+two52; /* exact */
+ GET_LOW_WORD(n,z);
+ n &= 1;
+ y = n;
+ n<<= 2;
+ }
+ }
+ switch (n) {
+ case 0: y = __kernel_sin(pi*y,zero,0); break;
+ case 1:
+ case 2: y = __kernel_cos(pi*(0.5-y),zero); break;
+ case 3:
+ case 4: y = __kernel_sin(pi*(one-y),zero,0); break;
+ case 5:
+ case 6: y = -__kernel_cos(pi*(y-1.5),zero); break;
+ default: y = __kernel_sin(pi*(y-2.0),zero,0); break;
+ }
+ return -y;
+}
+
+
+#ifdef __STDC__
+ double lgamma_r(double x, int *signgamp)
+#else
+ double lgamma_r(x,signgamp)
+ double x; int *signgamp;
+#endif
+{
+ double t,y,z,nadj,p,p1,p2,p3,q,r,w;
+ __int32_t i,hx,lx,ix;
+
+ EXTRACT_WORDS(hx,lx,x);
+
+ /* purge off +-inf, NaN, +-0, and negative arguments */
+ *signgamp = 1;
+ ix = hx&0x7fffffff;
+ if(ix>=0x7ff00000) return x*x;
+ if((ix|lx)==0) return one/zero;
+ if(ix<0x3b900000) { /* |x|<2**-70, return -log(|x|) */
+ if(hx<0) {
+ *signgamp = -1;
+ return -log(-x);
+ } else return -log(x);
+ }
+ if(hx<0) {
+ if(ix>=0x43300000) /* |x|>=2**52, must be -integer */
+ return one/zero;
+ t = sin_pi(x);
+ if(t==zero) return one/zero; /* -integer */
+ nadj = log(pi/fabs(t*x));
+ if(t<zero) *signgamp = -1;
+ x = -x;
+ }
+
+ /* purge off 1 and 2 */
+ if((((ix-0x3ff00000)|lx)==0)||(((ix-0x40000000)|lx)==0)) r = 0;
+ /* for x < 2.0 */
+ else if(ix<0x40000000) {
+ if(ix<=0x3feccccc) { /* lgamma(x) = lgamma(x+1)-log(x) */
+ r = -log(x);
+ if(ix>=0x3FE76944) {y = one-x; i= 0;}
+ else if(ix>=0x3FCDA661) {y= x-(tc-one); i=1;}
+ else {y = x; i=2;}
+ } else {
+ r = zero;
+ if(ix>=0x3FFBB4C3) {y=2.0-x;i=0;} /* [1.7316,2] */
+ else if(ix>=0x3FF3B4C4) {y=x-tc;i=1;} /* [1.23,1.73] */
+ else {y=x-one;i=2;}
+ }
+ switch(i) {
+ case 0:
+ z = y*y;
+ p1 = a0+z*(a2+z*(a4+z*(a6+z*(a8+z*a10))));
+ p2 = z*(a1+z*(a3+z*(a5+z*(a7+z*(a9+z*a11)))));
+ p = y*p1+p2;
+ r += (p-0.5*y); break;
+ case 1:
+ z = y*y;
+ w = z*y;
+ p1 = t0+w*(t3+w*(t6+w*(t9 +w*t12))); /* parallel comp */
+ p2 = t1+w*(t4+w*(t7+w*(t10+w*t13)));
+ p3 = t2+w*(t5+w*(t8+w*(t11+w*t14)));
+ p = z*p1-(tt-w*(p2+y*p3));
+ r += (tf + p); break;
+ case 2:
+ p1 = y*(u0+y*(u1+y*(u2+y*(u3+y*(u4+y*u5)))));
+ p2 = one+y*(v1+y*(v2+y*(v3+y*(v4+y*v5))));
+ r += (-0.5*y + p1/p2);
+ }
+ }
+ else if(ix<0x40200000) { /* x < 8.0 */
+ i = (__int32_t)x;
+ t = zero;
+ y = x-(double)i;
+ p = y*(s0+y*(s1+y*(s2+y*(s3+y*(s4+y*(s5+y*s6))))));
+ q = one+y*(r1+y*(r2+y*(r3+y*(r4+y*(r5+y*r6)))));
+ r = half*y+p/q;
+ z = one; /* lgamma(1+s) = log(s) + lgamma(s) */
+ switch(i) {
+ case 7: z *= (y+6.0); /* FALLTHRU */
+ case 6: z *= (y+5.0); /* FALLTHRU */
+ case 5: z *= (y+4.0); /* FALLTHRU */
+ case 4: z *= (y+3.0); /* FALLTHRU */
+ case 3: z *= (y+2.0); /* FALLTHRU */
+ r += log(z); break;
+ }
+ /* 8.0 <= x < 2**58 */
+ } else if (ix < 0x43900000) {
+ t = log(x);
+ z = one/x;
+ y = z*z;
+ w = w0+z*(w1+y*(w2+y*(w3+y*(w4+y*(w5+y*w6)))));
+ r = (x-half)*(t-one)+w;
+ } else
+ /* 2**58 <= x <= inf */
+ r = x*(log(x)-one);
+ if(hx<0) r = nadj - r;
+ return r;
+}
diff --git a/newlib/libm/mathfp/erf_gamma.c b/newlib/libm/mathfp/erf_gamma.c
new file mode 100644
index 00000000000..96e8c46ab29
--- /dev/null
+++ b/newlib/libm/mathfp/erf_gamma.c
@@ -0,0 +1,34 @@
+/* erf_gamma.c -- float version of er_gamma.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/* gammaf_r(x, signgamp)
+ * Reentrant version of the logarithm of the Gamma function
+ * with user provide pointer for the sign of Gamma(x).
+ *
+ * Method: See lgammaf_r
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+ float gammaf_r(float x, int *signgamp)
+#else
+ float gammaf_r(x,signgamp)
+ float x; int *signgamp;
+#endif
+{
+ return lgammaf_r(x,signgamp);
+}
diff --git a/newlib/libm/mathfp/erf_lgamma.c b/newlib/libm/mathfp/erf_lgamma.c
new file mode 100644
index 00000000000..664812d81e8
--- /dev/null
+++ b/newlib/libm/mathfp/erf_lgamma.c
@@ -0,0 +1,244 @@
+/* erf_lgamma.c -- float version of er_lgamma.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+two23= 8.3886080000e+06, /* 0x4b000000 */
+half= 5.0000000000e-01, /* 0x3f000000 */
+one = 1.0000000000e+00, /* 0x3f800000 */
+pi = 3.1415927410e+00, /* 0x40490fdb */
+a0 = 7.7215664089e-02, /* 0x3d9e233f */
+a1 = 3.2246702909e-01, /* 0x3ea51a66 */
+a2 = 6.7352302372e-02, /* 0x3d89f001 */
+a3 = 2.0580807701e-02, /* 0x3ca89915 */
+a4 = 7.3855509982e-03, /* 0x3bf2027e */
+a5 = 2.8905137442e-03, /* 0x3b3d6ec6 */
+a6 = 1.1927076848e-03, /* 0x3a9c54a1 */
+a7 = 5.1006977446e-04, /* 0x3a05b634 */
+a8 = 2.2086278477e-04, /* 0x39679767 */
+a9 = 1.0801156895e-04, /* 0x38e28445 */
+a10 = 2.5214456400e-05, /* 0x37d383a2 */
+a11 = 4.4864096708e-05, /* 0x383c2c75 */
+tc = 1.4616321325e+00, /* 0x3fbb16c3 */
+tf = -1.2148628384e-01, /* 0xbdf8cdcd */
+/* tt = -(tail of tf) */
+tt = 6.6971006518e-09, /* 0x31e61c52 */
+t0 = 4.8383611441e-01, /* 0x3ef7b95e */
+t1 = -1.4758771658e-01, /* 0xbe17213c */
+t2 = 6.4624942839e-02, /* 0x3d845a15 */
+t3 = -3.2788541168e-02, /* 0xbd064d47 */
+t4 = 1.7970675603e-02, /* 0x3c93373d */
+t5 = -1.0314224288e-02, /* 0xbc28fcfe */
+t6 = 6.1005386524e-03, /* 0x3bc7e707 */
+t7 = -3.6845202558e-03, /* 0xbb7177fe */
+t8 = 2.2596477065e-03, /* 0x3b141699 */
+t9 = -1.4034647029e-03, /* 0xbab7f476 */
+t10 = 8.8108185446e-04, /* 0x3a66f867 */
+t11 = -5.3859531181e-04, /* 0xba0d3085 */
+t12 = 3.1563205994e-04, /* 0x39a57b6b */
+t13 = -3.1275415677e-04, /* 0xb9a3f927 */
+t14 = 3.3552918467e-04, /* 0x39afe9f7 */
+u0 = -7.7215664089e-02, /* 0xbd9e233f */
+u1 = 6.3282704353e-01, /* 0x3f2200f4 */
+u2 = 1.4549225569e+00, /* 0x3fba3ae7 */
+u3 = 9.7771751881e-01, /* 0x3f7a4bb2 */
+u4 = 2.2896373272e-01, /* 0x3e6a7578 */
+u5 = 1.3381091878e-02, /* 0x3c5b3c5e */
+v1 = 2.4559779167e+00, /* 0x401d2ebe */
+v2 = 2.1284897327e+00, /* 0x4008392d */
+v3 = 7.6928514242e-01, /* 0x3f44efdf */
+v4 = 1.0422264785e-01, /* 0x3dd572af */
+v5 = 3.2170924824e-03, /* 0x3b52d5db */
+s0 = -7.7215664089e-02, /* 0xbd9e233f */
+s1 = 2.1498242021e-01, /* 0x3e5c245a */
+s2 = 3.2577878237e-01, /* 0x3ea6cc7a */
+s3 = 1.4635047317e-01, /* 0x3e15dce6 */
+s4 = 2.6642270386e-02, /* 0x3cda40e4 */
+s5 = 1.8402845599e-03, /* 0x3af135b4 */
+s6 = 3.1947532989e-05, /* 0x3805ff67 */
+r1 = 1.3920053244e+00, /* 0x3fb22d3b */
+r2 = 7.2193557024e-01, /* 0x3f38d0c5 */
+r3 = 1.7193385959e-01, /* 0x3e300f6e */
+r4 = 1.8645919859e-02, /* 0x3c98bf54 */
+r5 = 7.7794247773e-04, /* 0x3a4beed6 */
+r6 = 7.3266842264e-06, /* 0x36f5d7bd */
+w0 = 4.1893854737e-01, /* 0x3ed67f1d */
+w1 = 8.3333335817e-02, /* 0x3daaaaab */
+w2 = -2.7777778450e-03, /* 0xbb360b61 */
+w3 = 7.9365057172e-04, /* 0x3a500cfd */
+w4 = -5.9518753551e-04, /* 0xba1c065c */
+w5 = 8.3633989561e-04, /* 0x3a5b3dd2 */
+w6 = -1.6309292987e-03; /* 0xbad5c4e8 */
+
+#ifdef __STDC__
+static const float zero= 0.0000000000e+00;
+#else
+static float zero= 0.0000000000e+00;
+#endif
+
+#ifdef __STDC__
+ static float sin_pif(float x)
+#else
+ static float sin_pif(x)
+ float x;
+#endif
+{
+ float y,z;
+ __int32_t n,ix;
+
+ GET_FLOAT_WORD(ix,x);
+ ix &= 0x7fffffff;
+
+ if(ix<0x3e800000) return __kernel_sinf(pi*x,zero,0);
+ y = -x; /* x is assume negative */
+
+ /*
+ * argument reduction, make sure inexact flag not raised if input
+ * is an integer
+ */
+ z = floorf(y);
+ if(z!=y) { /* inexact anyway */
+ y *= (float)0.5;
+ y = (float)2.0*(y - floorf(y)); /* y = |x| mod 2.0 */
+ n = (__int32_t) (y*(float)4.0);
+ } else {
+ if(ix>=0x4b800000) {
+ y = zero; n = 0; /* y must be even */
+ } else {
+ if(ix<0x4b000000) z = y+two23; /* exact */
+ GET_FLOAT_WORD(n,z);
+ n &= 1;
+ y = n;
+ n<<= 2;
+ }
+ }
+ switch (n) {
+ case 0: y = __kernel_sinf(pi*y,zero,0); break;
+ case 1:
+ case 2: y = __kernel_cosf(pi*((float)0.5-y),zero); break;
+ case 3:
+ case 4: y = __kernel_sinf(pi*(one-y),zero,0); break;
+ case 5:
+ case 6: y = -__kernel_cosf(pi*(y-(float)1.5),zero); break;
+ default: y = __kernel_sinf(pi*(y-(float)2.0),zero,0); break;
+ }
+ return -y;
+}
+
+
+#ifdef __STDC__
+ float lgammaf_r(float x, int *signgamp)
+#else
+ float lgammaf_r(x,signgamp)
+ float x; int *signgamp;
+#endif
+{
+ float t,y,z,nadj,p,p1,p2,p3,q,r,w;
+ __int32_t i,hx,ix;
+
+ GET_FLOAT_WORD(hx,x);
+
+ /* purge off +-inf, NaN, +-0, and negative arguments */
+ *signgamp = 1;
+ ix = hx&0x7fffffff;
+ if(ix>=0x7f800000) return x*x;
+ if(ix==0) return one/zero;
+ if(ix<0x1c800000) { /* |x|<2**-70, return -log(|x|) */
+ if(hx<0) {
+ *signgamp = -1;
+ return -logf(-x);
+ } else return -logf(x);
+ }
+ if(hx<0) {
+ if(ix>=0x4b000000) /* |x|>=2**23, must be -integer */
+ return one/zero;
+ t = sin_pif(x);
+ if(t==zero) return one/zero; /* -integer */
+ nadj = logf(pi/fabsf(t*x));
+ if(t<zero) *signgamp = -1;
+ x = -x;
+ }
+
+ /* purge off 1 and 2 */
+ if (ix==0x3f800000||ix==0x40000000) r = 0;
+ /* for x < 2.0 */
+ else if(ix<0x40000000) {
+ if(ix<=0x3f666666) { /* lgamma(x) = lgamma(x+1)-log(x) */
+ r = -logf(x);
+ if(ix>=0x3f3b4a20) {y = one-x; i= 0;}
+ else if(ix>=0x3e6d3308) {y= x-(tc-one); i=1;}
+ else {y = x; i=2;}
+ } else {
+ r = zero;
+ if(ix>=0x3fdda618) {y=(float)2.0-x;i=0;} /* [1.7316,2] */
+ else if(ix>=0x3F9da620) {y=x-tc;i=1;} /* [1.23,1.73] */
+ else {y=x-one;i=2;}
+ }
+ switch(i) {
+ case 0:
+ z = y*y;
+ p1 = a0+z*(a2+z*(a4+z*(a6+z*(a8+z*a10))));
+ p2 = z*(a1+z*(a3+z*(a5+z*(a7+z*(a9+z*a11)))));
+ p = y*p1+p2;
+ r += (p-(float)0.5*y); break;
+ case 1:
+ z = y*y;
+ w = z*y;
+ p1 = t0+w*(t3+w*(t6+w*(t9 +w*t12))); /* parallel comp */
+ p2 = t1+w*(t4+w*(t7+w*(t10+w*t13)));
+ p3 = t2+w*(t5+w*(t8+w*(t11+w*t14)));
+ p = z*p1-(tt-w*(p2+y*p3));
+ r += (tf + p); break;
+ case 2:
+ p1 = y*(u0+y*(u1+y*(u2+y*(u3+y*(u4+y*u5)))));
+ p2 = one+y*(v1+y*(v2+y*(v3+y*(v4+y*v5))));
+ r += (-(float)0.5*y + p1/p2);
+ }
+ }
+ else if(ix<0x41000000) { /* x < 8.0 */
+ i = (__int32_t)x;
+ t = zero;
+ y = x-(float)i;
+ p = y*(s0+y*(s1+y*(s2+y*(s3+y*(s4+y*(s5+y*s6))))));
+ q = one+y*(r1+y*(r2+y*(r3+y*(r4+y*(r5+y*r6)))));
+ r = half*y+p/q;
+ z = one; /* lgamma(1+s) = log(s) + lgamma(s) */
+ switch(i) {
+ case 7: z *= (y+(float)6.0); /* FALLTHRU */
+ case 6: z *= (y+(float)5.0); /* FALLTHRU */
+ case 5: z *= (y+(float)4.0); /* FALLTHRU */
+ case 4: z *= (y+(float)3.0); /* FALLTHRU */
+ case 3: z *= (y+(float)2.0); /* FALLTHRU */
+ r += logf(z); break;
+ }
+ /* 8.0 <= x < 2**58 */
+ } else if (ix < 0x5c800000) {
+ t = logf(x);
+ z = one/x;
+ y = z*z;
+ w = w0+z*(w1+y*(w2+y*(w3+y*(w4+y*(w5+y*w6)))));
+ r = (x-half)*(t-one)+w;
+ } else
+ /* 2**58 <= x <= inf */
+ r = x*(logf(x)-one);
+ if(hx<0) r = nadj - r;
+ return r;
+}
diff --git a/newlib/libm/mathfp/mathfp.tex b/newlib/libm/mathfp/mathfp.tex
new file mode 100644
index 00000000000..e7f897a9771
--- /dev/null
+++ b/newlib/libm/mathfp/mathfp.tex
@@ -0,0 +1,199 @@
+@node Math
+@chapter Mathematical Functions (@file{math.h})
+
+This chapter groups a wide variety of mathematical functions. The
+corresponding definitions and declarations are in @file{math.h}.
+Two definitions from @file{math.h} are of particular interest.
+
+@enumerate
+@item
+The representation of infinity as a @code{double} is defined as
+@code{HUGE_VAL}; this number is returned on overflow by many functions.
+
+@item
+The structure @code{exception} is used when you write customized error
+handlers for the mathematical functions. You can customize error
+handling for most of these functions by defining your own version of
+@code{matherr}; see the section on @code{matherr} for details.
+@end enumerate
+
+@cindex system calls
+@cindex support subroutines
+@cindex stubs
+@cindex OS stubs
+Since the error handling code calls @code{fputs}, the mathematical
+subroutines require stubs or minimal implementations for the same list
+of OS subroutines as @code{fputs}: @code{close}, @code{fstat},
+@code{isatty}, @code{lseek}, @code{read}, @code{sbrk}, @code{write}.
+@xref{syscalls,,System Calls, libc.info, The Cygnus C Support Library},
+for a discussion and for sample minimal implementations of these support
+subroutines.
+
+Alternative declarations of the mathematical functions, which exploit
+specific machine capabilities to operate faster---but generally have
+less error checking and may reflect additional limitations on some
+machines---are available when you include @file{fastmath.h} instead of
+@file{math.h}.
+
+@menu
+* version:: Version of library
+* acos:: Arccosine
+* acosh:: Inverse hyperbolic cosine
+* asin:: Arcsine
+* asinh:: Inverse hyperbolic sine
+* atan:: Arctangent
+* atan2:: Arctangent of y/x
+* atanh:: Inverse hyperbolic tangent
+* jN:: Bessel functions (jN, yN)
+* cbrt:: Cube root
+* copysign:: Sign of Y, magnitude of X
+* cosh:: Hyperbolic cosine
+* erf:: Error function (erf, erfc)
+* exp:: Exponential
+* expm1:: Exponential of x, - 1
+* fabs:: Absolute value (magnitude)
+* floor:: Floor and ceiling (floor, ceil)
+* fmod:: Floating-point remainder (modulo)
+* frexp:: Split floating-point number
+* gamma:: Logarithmic gamma function
+* hypot:: Distance from origin
+* ilogb:: Get exponent
+* infinity:: Floating infinity
+* isnan:: Check type of number
+* ldexp:: Load exponent
+* log:: Natural logarithms
+* log10:: Base 10 logarithms
+* log1p:: Log of 1 + X
+* matherr:: Modifiable math error handler
+* modf:: Split fractional and integer parts
+* nan:: Floating Not a Number
+* nextafter:: Get next representable number
+* pow:: X to the power Y
+* remainder:: remainder of X divided by Y
+* scalbn:: scalbn
+* sin:: Sine or cosine (sin, cos)
+* sinh:: Hyperbolic sine
+* sqrt:: Positive square root
+* tan:: Tangent
+* tanh:: Hyperbolic tangent
+@end menu
+
+@page
+@node version
+@section Version of library
+
+There are four different versions of the math library routines: IEEE,
+POSIX, X/Open, or SVID. The version may be selected at runtime by
+setting the global variable @code{_LIB_VERSION}, defined in
+@file{math.h}. It may be set to one of the following constants defined
+in @file{math.h}: @code{_IEEE_}, @code{_POSIX_}, @code{_XOPEN_}, or
+@code{_SVID_}. The @code{_LIB_VERSION} variable is not specific to any
+thread, and changing it will affect all threads.
+
+The versions of the library differ only in how errors are handled.
+
+In IEEE mode, the @code{matherr} function is never called, no warning
+messages are printed, and @code{errno} is never set.
+
+In POSIX mode, @code{errno} is set correctly, but the @code{matherr}
+function is never called and no warning messages are printed.
+
+In X/Open mode, @code{errno} is set correctly, and @code{matherr} is
+called, but warning message are not printed.
+
+In SVID mode, functions which overflow return 3.40282346638528860e+38,
+the maximum single precision floating point value, rather than infinity.
+Also, @code{errno} is set correctly, @code{matherr} is called, and, if
+@code{matherr} returns 0, warning messages are printed for some errors.
+For example, by default @samp{log(-1.0)} writes this message on standard
+error output:
+
+@example
+log: DOMAIN error
+@end example
+
+The library is set to X/Open mode by default.
+
+@page
+@include mathfp/sacos.def
+
+@page
+@include mathfp/eacosh.def
+
+@page
+@include mathfp/sasine.def
+
+@page
+@include mathfp/sasinh.def
+
+@page
+@include mathfp/satan.def
+
+@page
+@include mathfp/satan2.def
+
+@page
+@include mathfp/eatanh.def
+
+@page
+@include mathfp/wjn.def
+
+@page
+@include mathfp/scosh.def
+
+@page
+@include mathfp/serf.def
+
+@page
+@include mathfp/sexp.def
+
+@page
+@include mathfp/sfabs.def
+
+@page
+@include mathfp/sfloor.def
+
+@page
+@include mathfp/sfmod.def
+
+@page
+@include mathfp/sfrexp.def
+
+@page
+@include mathfp/erlgamma.def
+
+@page
+@include mathfp/ehypot.def
+
+@page
+@include mathfp/sisnan.def
+
+@page
+@include mathfp/sldexp.def
+
+@page
+@include mathfp/slogarithm.def
+
+@page
+@include mathfp/slog10.def
+
+@page
+@include mathfp/spow.def
+
+@page
+@include mathfp/eremainder.def
+
+@page
+@include mathfp/ssqrt.def
+
+@page
+@include mathfp/ssine.def
+
+@page
+@include mathfp/ssineh.def
+
+@page
+@include mathfp/stan.def
+
+@page
+@include mathfp/stanh.def
diff --git a/newlib/libm/mathfp/s_acos.c b/newlib/libm/mathfp/s_acos.c
new file mode 100644
index 00000000000..e03344e7de9
--- /dev/null
+++ b/newlib/libm/mathfp/s_acos.c
@@ -0,0 +1,93 @@
+
+/* @(#)z_acos.c 1.0 98/08/13 */
+
+/*
+FUNCTION
+ <<acos>>, <<acosf>>---arc cosine
+
+INDEX
+ acos
+INDEX
+ acosf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double acos(double <[x]>);
+ float acosf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double acos(<[x]>)
+ double <[x]>;
+
+ float acosf(<[x]>)
+ float <[x]>;
+
+
+
+DESCRIPTION
+
+ <<acos>> computes the inverse cosine (arc cosine) of the input value.
+ Arguments to <<acos>> must be in the range @minus{}1 to 1.
+
+ <<acosf>> is identical to <<acos>>, except that it performs
+ its calculations on <<floats>>.
+
+RETURNS
+ @ifinfo
+ <<acos>> and <<acosf>> return values in radians, in the range of 0 to pi
+.
+ @end ifinfo
+ @tex
+ <<acos>> and <<acosf>> return values in radians, in the range of <<0>> t
+o $\pi$.
+ @end tex
+
+ If <[x]> is not between @minus{}1 and 1, the returned value is NaN
+ (not a number) the global variable <<errno>> is set to <<EDOM>>, and a
+ <<DOMAIN error>> message is sent as standard error output.
+
+ You can modify error handling for these functions using <<matherr>>.
+
+
+QUICKREF ANSI SVID POSIX RENTRANT
+ acos y,y,y,m
+ acosf n,n,n,m
+
+MATHREF
+ acos, [-1,1], acos(arg),,,
+ acos, NAN, arg,DOMAIN,EDOM
+
+MATHREF
+ acosf, [-1,1], acosf(arg),,,
+ acosf, NAN, argf,DOMAIN,EDOM
+
+*/
+
+/*****************************************************************
+ * Arccosine
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * arccosine of x
+ *
+ * Description:
+ * This routine returns the arccosine of x.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+double
+_DEFUN (acos, (double),
+ double x)
+{
+ return (asine (x, 1));
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_asin.c b/newlib/libm/mathfp/s_asin.c
new file mode 100644
index 00000000000..477bbf5cb02
--- /dev/null
+++ b/newlib/libm/mathfp/s_asin.c
@@ -0,0 +1,29 @@
+
+/* @(#)z_asin.c 1.0 98/08/13 */
+/******************************************************************
+ * Arcsine
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * arcsine of x
+ *
+ * Description:
+ * This routine returns the arcsine of x.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+double
+_DEFUN (asin, (double),
+ double x)
+{
+ return (asine (x, 0));
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_asine.c b/newlib/libm/mathfp/s_asine.c
new file mode 100644
index 00000000000..efc0a81305f
--- /dev/null
+++ b/newlib/libm/mathfp/s_asine.c
@@ -0,0 +1,186 @@
+
+/* @(#)z_asine.c 1.0 98/08/13 */
+/******************************************************************
+ * The following routines are coded directly from the algorithms
+ * and coefficients given in "Software Manual for the Elementary
+ * Functions" by William J. Cody, Jr. and William Waite, Prentice
+ * Hall, 1980.
+ ******************************************************************/
+
+/*
+FUNCTION
+ <<asin>>, <<asinf>>, <<acos>>, <<acosf>>, <<asine>>, <<asinef>>---arc sine or cosine
+
+INDEX
+ asin
+INDEX
+ asinf
+INDEX
+ acos
+INDEX
+ acosf
+INDEX
+ asine
+INDEX
+ asinef
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double asine(double <[x]>);
+ float asinef(float <[x]>);
+ double asin(double <[x]>);
+ float asinf(float <[x]>);
+ double acos(double <[x]>);
+ float acosf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double asine(<[x]>);
+ double <[x]>;
+
+ float asinef(<[x]>);
+ float <[x]>;
+
+ double asin(<[x]>)
+ double <[x]>;
+
+ float asinf(<[x]>)
+ float <[x]>;
+
+ double acos(<[x]>)
+ double <[x]>;
+
+ float acosf(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+
+<<asin>> computes the inverse sine or cosine of the argument <[x]>.
+Arguments to <<asin>> and <<acos>> must be in the range @minus{}1 to 1.
+
+<<asinf>> and <<acosf>> are identical to <<asin>> and <<acos>>, other
+than taking and returning floats.
+
+RETURNS
+@ifinfo
+<<asin>> and <<acos>> return values in radians, in the range of -pi/2 to pi/2.
+@end ifinfo
+@tex
+<<asin>> and <<acos>> return values in radians, in the range of $-\pi/2$ to $\pi/2$.
+@end tex
+
+If <[x]> is not in the range @minus{}1 to 1, <<asin>> and <<asinf>>
+return NaN (not a number), set the global variable <<errno>> to
+<<EDOM>>, and issue a <<DOMAIN error>> message.
+
+*/
+
+/******************************************************************
+ * Arcsine
+ *
+ * Input:
+ * x - floating point value
+ * acosine - indicates acos calculation
+ *
+ * Output:
+ * Arcsine of x.
+ *
+ * Description:
+ * This routine calculates arcsine / arccosine.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+static const double p[] = { -0.27368494524164255994e+2,
+ 0.57208227877891731407e+2,
+ -0.39688862997404877339e+2,
+ 0.10152522233806463645e+2,
+ -0.69674573447350646411 };
+static const double q[] = { -0.16421096714498560795e+3,
+ 0.41714430248260412556e+3,
+ -0.38186303361750149284e+3,
+ 0.15095270841030604719e+3,
+ -0.23823859153670238830e+2 };
+static const double a[] = { 0.0, 0.78539816339744830962 };
+static const double b[] = { 1.57079632679489661923, 0.78539816339744830962 };
+
+double
+_DEFUN (asine, (double, int),
+ double x _AND
+ int acosine)
+{
+ int flag, i;
+ int branch = 0;
+ double g, res, R, P, Q, y;
+
+ /* Check for special values. */
+ i = numtest (x);
+ if (i == NAN || i == INF)
+ {
+ errno = EDOM;
+ if (i == NAN)
+ return (x);
+ else
+ return (z_infinity.d);
+ }
+
+ y = fabs (x);
+ flag = acosine;
+
+ if (y > 0.5)
+ {
+ i = 1 - flag;
+
+ /* Check for range error. */
+ if (y > 1.0)
+ {
+ errno = ERANGE;
+ return (z_notanum.d);
+ }
+
+ g = (1 - y) / 2.0;
+ y = -2 * sqrt (g);
+ branch = 1;
+ }
+ else
+ {
+ i = flag;
+ if (y < z_rooteps)
+ res = y;
+ else
+ g = y * y;
+ }
+
+ if (y >= z_rooteps || branch == 1)
+ {
+ /* Calculate the Taylor series. */
+ P = ((((p[4] * g + p[3]) * g + p[2]) * g + p[1]) * g + p[0]) * g;
+ Q = ((((g + q[4]) * g + q[3]) * g + q[2]) * g + q[1]) * g + q[0];
+ R = P / Q;
+
+ res = y + y * R;
+ }
+
+ /* Calculate asine or acose. */
+ if (flag == 0)
+ {
+ res = (a[i] + res) + a[i];
+ if (x < 0.0)
+ res = -res;
+ }
+ else
+ {
+ if (x < 0.0)
+ res = (b[i] + res) + b[i];
+ else
+ res = (a[i] - res) + a[i];
+ }
+
+ return (res);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_asinh.c b/newlib/libm/mathfp/s_asinh.c
new file mode 100644
index 00000000000..43b9d49fa5e
--- /dev/null
+++ b/newlib/libm/mathfp/s_asinh.c
@@ -0,0 +1,107 @@
+
+/* @(#)s_asinh.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<asinh>>, <<asinhf>>---inverse hyperbolic sine
+
+INDEX
+ asinh
+INDEX
+ asinhf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double asinh(double <[x]>);
+ float asinhf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double asinh(<[x]>)
+ double <[x]>;
+
+ float asinhf(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+<<asinh>> calculates the inverse hyperbolic sine of <[x]>.
+<<asinh>> is defined as
+@ifinfo
+. sgn(<[x]>) * log(abs(<[x]>) + sqrt(1+<[x]>*<[x]>))
+@end ifinfo
+@tex
+$$sign(x) \times ln\Bigl(|x| + \sqrt{1+x^2}\Bigr)$$
+@end tex
+
+<<asinhf>> is identical, other than taking and returning floats.
+
+RETURNS
+<<asinh>> and <<asinhf>> return the calculated value.
+
+PORTABILITY
+Neither <<asinh>> nor <<asinhf>> are ANSI C.
+
+*/
+
+/* asinh(x)
+ * Method :
+ * Based on
+ * asinh(x) = sign(x) * log [ |x| + sqrt(x*x+1) ]
+ * we have
+ * asinh(x) := x if 1+x*x=1,
+ * := sign(x)*(log(x)+ln2)) for large |x|, else
+ * := sign(x)*log(2|x|+1/(|x|+sqrt(x*x+1))) if|x|>2, else
+ * := sign(x)*log1p(|x| + x^2/(1 + sqrt(1+x^2)))
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
+ln2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */
+huge= 1.00000000000000000000e+300;
+
+#ifdef __STDC__
+ double asinh(double x)
+#else
+ double asinh(x)
+ double x;
+#endif
+{
+ double t,w;
+ __int32_t hx,ix;
+ GET_HIGH_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x7ff00000) return x+x; /* x is inf or NaN */
+ if(ix< 0x3e300000) { /* |x|<2**-28 */
+ if(huge+x>one) return x; /* return x inexact except 0 */
+ }
+ if(ix>0x41b00000) { /* |x| > 2**28 */
+ w = log(fabs(x))+ln2;
+ } else if (ix>0x40000000) { /* 2**28 > |x| > 2.0 */
+ t = fabs(x);
+ w = log(2.0*t+one/(sqrt(x*x+one)+t));
+ } else { /* 2.0 > |x| > 2**-28 */
+ t = x*x;
+ w =log1p(fabs(x)+t/(one+sqrt(one+t)));
+ }
+ if(hx>0) return w; else return -w;
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_atan.c b/newlib/libm/mathfp/s_atan.c
new file mode 100644
index 00000000000..b8e633e3dfb
--- /dev/null
+++ b/newlib/libm/mathfp/s_atan.c
@@ -0,0 +1,83 @@
+
+/* @(#)z_atan.c 1.0 98/08/13 */
+
+/*
+FUNCTION
+ <<atan>>, <<atanf>>---arc tangent
+
+INDEX
+ atan
+INDEX
+ atanf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double atan(double <[x]>);
+ float atanf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double atan(<[x]>);
+ double <[x]>;
+
+ float atanf(<[x]>);
+ float <[x]>;
+
+DESCRIPTION
+
+<<atan>> computes the inverse tangent (arc tangent) of the input value.
+
+<<atanf>> is identical to <<atan>>, save that it operates on <<floats>>.
+
+RETURNS
+@ifinfo
+<<atan>> returns a value in radians, in the range of -pi/2 to pi/2.
+@end ifinfo
+@tex
+<<atan>> returns a value in radians, in the range of $-\pi/2$ to $\pi/2$.
+@end tex
+
+PORTABILITY
+<<atan>> is ANSI C. <<atanf>> is an extension.
+
+*/
+
+/******************************************************************
+ * Arctangent
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * arctan of x
+ *
+ * Description:
+ * This routine returns the arctan of x.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+double
+_DEFUN (atan, (double),
+ double x)
+{
+ switch (numtest (x))
+ {
+ case NAN:
+ errno = EDOM;
+ return (x);
+ case INF:
+ /* this should check to see if neg NaN or pos NaN... */
+ return (__PI_OVER_TWO);
+ case 0:
+ return (0.0);
+ default:
+ return (atangent (x, 0, 0, 0));
+ }
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_atan2.c b/newlib/libm/mathfp/s_atan2.c
new file mode 100644
index 00000000000..d73a6efc0f7
--- /dev/null
+++ b/newlib/libm/mathfp/s_atan2.c
@@ -0,0 +1,89 @@
+
+/* @(#)z_atan2.c 1.0 98/08/13 */
+
+/*
+FUNCTION
+ <<atan2>>, <<atan2f>>---arc tangent of y/x
+
+INDEX
+ atan2
+INDEX
+ atan2f
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double atan2(double <[y]>,double <[x]>);
+ float atan2f(float <[y]>,float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double atan2(<[y]>,<[x]>);
+ double <[y]>;
+ double <[x]>;
+
+ float atan2f(<[y]>,<[x]>);
+ float <[y]>;
+ float <[x]>;
+
+DESCRIPTION
+
+<<atan2>> computes the inverse tangent (arc tangent) of <[y]>/<[x]>.
+<<atan2>> produces the correct result even for angles near
+@ifinfo
+pi/2 or -pi/2
+@end ifinfo
+@tex
+$\pi/2$ or $-\pi/2$
+@end tex
+(that is, when <[x]> is near 0).
+
+<<atan2f>> is identical to <<atan2>>, save that it takes and returns
+<<float>>.
+
+RETURNS
+<<atan2>> and <<atan2f>> return a value in radians, in the range of
+@ifinfo
+-pi to pi.
+@end ifinfo
+@tex
+$-\pi$ to $\pi$.
+@end tex
+
+If both <[x]> and <[y]> are 0.0, <<atan2>> causes a <<DOMAIN>> error.
+
+You can modify error handling for these functions using <<matherr>>.
+
+PORTABILITY
+<<atan2>> is ANSI C. <<atan2f>> is an extension.
+
+
+*/
+
+/******************************************************************
+ * Arctangent2
+ *
+ * Input:
+ * v, u - floating point values
+ *
+ * Output:
+ * arctan2 of v / u
+ *
+ * Description:
+ * This routine returns the arctan2 of v / u.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+double
+_DEFUN (atan2, (double, double),
+ double v _AND
+ double u)
+{
+ return (atangent (0.0, v, u, 1));
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_atangent.c b/newlib/libm/mathfp/s_atangent.c
new file mode 100644
index 00000000000..c6f3c9bd6bc
--- /dev/null
+++ b/newlib/libm/mathfp/s_atangent.c
@@ -0,0 +1,213 @@
+
+/* @(#)z_atangent.c 1.0 98/08/13 */
+/******************************************************************
+ * The following routines are coded directly from the algorithms
+ * and coefficients given in "Software Manual for the Elementary
+ * Functions" by William J. Cody, Jr. and William Waite, Prentice
+ * Hall, 1980.
+ ******************************************************************/
+
+/*
+FUNCTION
+ <<atan>>, <<atanf>>, <<atan2>>, <<atan2f>>, <<atangent>>, <<atangentf>>---arc tangent
+
+INDEX
+ atan2
+INDEX
+ atan2f
+INDEX
+ atan
+INDEX
+ atanf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double atan(double <[x]>);
+ float atan(float <[x]>);
+ double atan2(double <[y]>,double <[x]>);
+ float atan2f(float <[y]>,float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double atan2(<[y]>,<[x]>);
+ double <[y]>;
+ double <[x]>;
+
+ float atan2f(<[y]>,<[x]>);
+ float <[y]>;
+ float <[x]>;
+
+ #include <math.h>
+ double atan(<[x]>);
+ double <[x]>;
+
+ float atanf(<[x]>);
+ float <[x]>;
+
+DESCRIPTION
+
+<<atan2>> computes the inverse tangent (arc tangent) of y / x.
+
+<<atan2f>> is identical to <<atan2>>, save that it operates on <<floats>>.
+
+<<atan>> computes the inverse tangent (arc tangent) of the input value.
+
+<<atanf>> is identical to <<atan>>, save that it operates on <<floats>>.
+
+RETURNS
+@ifinfo
+<<atan>> returns a value in radians, in the range of -pi/2 to pi/2.
+<<atan2>> returns a value in radians, in the range of -pi/2 to pi/2.
+@end ifinfo
+@tex
+<<atan>> returns a value in radians, in the range of $-\pi/2$ to $\pi/2$.
+<<atan2>> returns a value in radians, in the range of $-\pi/2$ to $\pi/2$.
+@end tex
+
+PORTABILITY
+<<atan>> is ANSI C. <<atanf>> is an extension.
+<<atan2>> is ANSI C. <<atan2f>> is an extension.
+
+*/
+
+/******************************************************************
+ * Arctangent
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * arctangent of x
+ *
+ * Description:
+ * This routine calculates arctangents.
+ *
+ *****************************************************************/
+#include <float.h>
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+static const double ROOT3 = 1.73205080756887729353;
+static const double a[] = { 0.0, 0.52359877559829887308, 1.57079632679489661923,
+ 1.04719755119659774615 };
+static const double q[] = { 0.41066306682575781263e+2,
+ 0.86157349597130242515e+2,
+ 0.59578436142597344465e+2,
+ 0.15024001160028576121e+2 };
+static const double p[] = { -0.13688768894191926929e+2,
+ -0.20505855195861651981e+2,
+ -0.84946240351320683534e+1,
+ -0.83758299368150059274 };
+
+double
+_DEFUN (atangent, (double, double, double, int),
+ double x _AND
+ double v _AND
+ double u _AND
+ int arctan2)
+{
+ double f, g, R, P, Q, A, res;
+ int N;
+ int branch = 0;
+ int expv, expu;
+
+ /* Preparation for calculating arctan2. */
+ if (arctan2)
+ {
+ if (u == 0.0)
+ if (v == 0.0)
+ {
+ errno = ERANGE;
+ return (z_notanum.d);
+ }
+ else
+ {
+ branch = 1;
+ res = __PI_OVER_TWO;
+ }
+
+ if (!branch)
+ {
+ int e;
+ /* Get the exponent values of the inputs. */
+ g = frexp (v, &expv);
+ g = frexp (u, &expu);
+
+ /* See if a divide will overflow. */
+ e = expv - expu;
+ if (e > DBL_MAX_EXP)
+ {
+ branch = 1;
+ res = __PI_OVER_TWO;
+ }
+
+ /* Also check for underflow. */
+ else if (e < DBL_MIN_EXP)
+ {
+ branch = 2;
+ res = 0.0;
+ }
+ }
+ }
+
+ if (!branch)
+ {
+ if (arctan2)
+ f = fabs (v / u);
+ else
+ f = fabs (x);
+
+ if (f > 1.0)
+ {
+ f = 1.0 / f;
+ N = 2;
+ }
+ else
+ N = 0;
+
+ if (f > (2.0 - ROOT3))
+ {
+ A = ROOT3 - 1.0;
+ f = (((A * f - 0.5) - 0.5) + f) / (ROOT3 + f);
+ N++;
+ }
+
+ /* Check for values that are too small. */
+ if (-z_rooteps < f && f < z_rooteps)
+ res = f;
+
+ /* Calculate the Taylor series. */
+ else
+ {
+ g = f * f;
+ P = (((p[3] * g + p[2]) * g + p[1]) * g + p[0]) * g;
+ Q = (((g + q[3]) * g + q[2]) * g + q[1]) * g + q[0];
+ R = P / Q;
+
+ res = f + f * R;
+ }
+
+ if (N > 1)
+ res = -res;
+
+ res += a[N];
+ }
+
+ if (arctan2)
+ {
+ if (u < 0.0 || branch == 2)
+ res = __PI - res;
+ if (v < 0.0 || branch == 1)
+ res = -res;
+ }
+ else if (x < 0.0)
+ {
+ res = -res;
+ }
+
+ return (res);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_ceil.c b/newlib/libm/mathfp/s_ceil.c
new file mode 100644
index 00000000000..c6ecbe32351
--- /dev/null
+++ b/newlib/libm/mathfp/s_ceil.c
@@ -0,0 +1,38 @@
+
+/* @(#)z_ceil.c 1.0 98/08/13 */
+/*****************************************************************
+ * ceil
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * Smallest integer greater than x.
+ *
+ * Description:
+ * This routine returns the smallest integer greater than x.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+double
+_DEFUN (ceil, (double),
+ double x)
+{
+ double f, y;
+
+ y = modf (x, &f);
+
+ if (y == 0.0)
+ return (x);
+ else if (x > -1.0 && x < 1.0)
+ return (x > 0 ? 1.0 : 0.0);
+ else
+ return (x > 0 ? f + 1.0 : f);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_cos.c b/newlib/libm/mathfp/s_cos.c
new file mode 100644
index 00000000000..6f63a404ec4
--- /dev/null
+++ b/newlib/libm/mathfp/s_cos.c
@@ -0,0 +1,29 @@
+
+/* @(#)z_cos.c 1.0 98/08/13 */
+/******************************************************************
+ * Cosine
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * cosine of x
+ *
+ * Description:
+ * This routine returns the cosine of x.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+double
+_DEFUN (cos, (double),
+ double x)
+{
+ return (sine (x, 1));
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_cosh.c b/newlib/libm/mathfp/s_cosh.c
new file mode 100644
index 00000000000..6550e9ce777
--- /dev/null
+++ b/newlib/libm/mathfp/s_cosh.c
@@ -0,0 +1,80 @@
+
+/* @(#)z_cosh.c 1.0 98/08/13 */
+
+/*
+
+FUNCTION
+ <<cosh>>, <<coshf>>---hyperbolic cosine
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double cosh(double <[x]>);
+ float coshf(float <[x]>)
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double cosh(<[x]>)
+ double <[x]>;
+
+ float coshf(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+
+ <<cosh>> computes the hyperbolic cosine of the argument <[x]>.
+ <<cosh(<[x]>)>> is defined as
+ @ifinfo
+ . (exp(x) + exp(-x))/2
+ @end ifinfo
+ @tex
+ $${(e^x + e^{-x})} \over 2$$
+ @end tex
+
+ Angles are specified in radians.
+
+ <<coshf>> is identical, save that it takes and returns <<float>>.
+
+RETURNS
+ The computed value is returned. When the correct value would create
+ an overflow, <<cosh>> returns the value <<HUGE_VAL>> with the
+ appropriate sign, and the global value <<errno>> is set to <<ERANGE>>.
+
+ You can modify error handling for these functions using the
+ function <<matherr>>.
+
+PORTABILITY
+ <<cosh>> is ANSI.
+ <<coshf>> is an extension.
+
+QUICKREF
+ cosh ansi pure
+ coshf - pure
+*/
+
+/******************************************************************
+ * Hyperbolic Cosine
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * hyperbolic cosine of x
+ *
+ * Description:
+ * This routine returns the hyperbolic cosine of x.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+double
+_DEFUN (cosh, (double),
+ double x)
+{
+ return (sineh (x, 1));
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_erf.c b/newlib/libm/mathfp/s_erf.c
new file mode 100644
index 00000000000..2d8faa3d8fc
--- /dev/null
+++ b/newlib/libm/mathfp/s_erf.c
@@ -0,0 +1,373 @@
+
+/* @(#)s_erf.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<erf>>, <<erff>>, <<erfc>>, <<erfcf>>---error function
+INDEX
+ erf
+INDEX
+ erff
+INDEX
+ erfc
+INDEX
+ erfcf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double erf(double <[x]>);
+ float erff(float <[x]>);
+ double erfc(double <[x]>);
+ float erfcf(float <[x]>);
+TRAD_SYNOPSIS
+ #include <math.h>
+
+ double erf(<[x]>)
+ double <[x]>;
+
+ float erff(<[x]>)
+ float <[x]>;
+
+ double erfc(<[x]>)
+ double <[x]>;
+
+ float erfcf(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+ <<erf>> calculates an approximation to the ``error function'',
+ which estimates the probability that an observation will fall within
+ <[x]> standard deviations of the mean (assuming a normal
+ distribution).
+ @tex
+ The error function is defined as
+ $${2\over\sqrt\pi}\times\int_0^x e^{-t^2}dt$$
+ @end tex
+
+ <<erfc>> calculates the complementary probability; that is,
+ <<erfc(<[x]>)>> is <<1 - erf(<[x]>)>>. <<erfc>> is computed directly,
+ so that you can use it to avoid the loss of precision that would
+ result from subtracting large probabilities (on large <[x]>) from 1.
+
+ <<erff>> and <<erfcf>> differ from <<erf>> and <<erfc>> only in the
+ argument and result types.
+
+RETURNS
+ For positive arguments, <<erf>> and all its variants return a
+ probability---a number between 0 and 1.
+
+PORTABILITY
+ None of the variants of <<erf>> are ANSI C.
+*/
+
+/* double erf(double x)
+ * double erfc(double x)
+ * x
+ * 2 |\
+ * erf(x) = --------- | exp(-t*t)dt
+ * sqrt(pi) \|
+ * 0
+ *
+ * erfc(x) = 1-erf(x)
+ * Note that
+ * erf(-x) = -erf(x)
+ * erfc(-x) = 2 - erfc(x)
+ *
+ * Method:
+ * 1. For |x| in [0, 0.84375]
+ * erf(x) = x + x*R(x^2)
+ * erfc(x) = 1 - erf(x) if x in [-.84375,0.25]
+ * = 0.5 + ((0.5-x)-x*R) if x in [0.25,0.84375]
+ * where R = P/Q where P is an odd poly of degree 8 and
+ * Q is an odd poly of degree 10.
+ * -57.90
+ * | R - (erf(x)-x)/x | <= 2
+ *
+ *
+ * Remark. The formula is derived by noting
+ * erf(x) = (2/sqrt(pi))*(x - x^3/3 + x^5/10 - x^7/42 + ....)
+ * and that
+ * 2/sqrt(pi) = 1.128379167095512573896158903121545171688
+ * is close to one. The interval is chosen because the fix
+ * point of erf(x) is near 0.6174 (i.e., erf(x)=x when x is
+ * near 0.6174), and by some experiment, 0.84375 is chosen to
+ * guarantee the error is less than one ulp for erf.
+ *
+ * 2. For |x| in [0.84375,1.25], let s = |x| - 1, and
+ * c = 0.84506291151 rounded to single (24 bits)
+ * erf(x) = sign(x) * (c + P1(s)/Q1(s))
+ * erfc(x) = (1-c) - P1(s)/Q1(s) if x > 0
+ * 1+(c+P1(s)/Q1(s)) if x < 0
+ * |P1/Q1 - (erf(|x|)-c)| <= 2**-59.06
+ * Remark: here we use the taylor series expansion at x=1.
+ * erf(1+s) = erf(1) + s*Poly(s)
+ * = 0.845.. + P1(s)/Q1(s)
+ * That is, we use rational approximation to approximate
+ * erf(1+s) - (c = (single)0.84506291151)
+ * Note that |P1/Q1|< 0.078 for x in [0.84375,1.25]
+ * where
+ * P1(s) = degree 6 poly in s
+ * Q1(s) = degree 6 poly in s
+ *
+ * 3. For x in [1.25,1/0.35(~2.857143)],
+ * erfc(x) = (1/x)*exp(-x*x-0.5625+R1/S1)
+ * erf(x) = 1 - erfc(x)
+ * where
+ * R1(z) = degree 7 poly in z, (z=1/x^2)
+ * S1(z) = degree 8 poly in z
+ *
+ * 4. For x in [1/0.35,28]
+ * erfc(x) = (1/x)*exp(-x*x-0.5625+R2/S2) if x > 0
+ * = 2.0 - (1/x)*exp(-x*x-0.5625+R2/S2) if -6<x<0
+ * = 2.0 - tiny (if x <= -6)
+ * erf(x) = sign(x)*(1.0 - erfc(x)) if x < 6, else
+ * erf(x) = sign(x)*(1.0 - tiny)
+ * where
+ * R2(z) = degree 6 poly in z, (z=1/x^2)
+ * S2(z) = degree 7 poly in z
+ *
+ * Note1:
+ * To compute exp(-x*x-0.5625+R/S), let s be a single
+ * precision number and s := x; then
+ * -x*x = -s*s + (s-x)*(s+x)
+ * exp(-x*x-0.5626+R/S) =
+ * exp(-s*s-0.5625)*exp((s-x)*(s+x)+R/S);
+ * Note2:
+ * Here 4 and 5 make use of the asymptotic series
+ * exp(-x*x)
+ * erfc(x) ~ ---------- * ( 1 + Poly(1/x^2) )
+ * x*sqrt(pi)
+ * We use rational approximation to approximate
+ * g(s)=f(1/x^2) = log(erfc(x)*x) - x*x + 0.5625
+ * Here is the error bound for R1/S1 and R2/S2
+ * |R1/S1 - f(x)| < 2**(-62.57)
+ * |R2/S2 - f(x)| < 2**(-61.52)
+ *
+ * 5. For inf > x >= 28
+ * erf(x) = sign(x) *(1 - tiny) (raise inexact)
+ * erfc(x) = tiny*tiny (raise underflow) if x > 0
+ * = 2 - tiny if x<0
+ *
+ * 7. Special case:
+ * erf(0) = 0, erf(inf) = 1, erf(-inf) = -1,
+ * erfc(0) = 1, erfc(inf) = 0, erfc(-inf) = 2,
+ * erfc/erf(NaN) is NaN
+ */
+
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+tiny = 1e-300,
+half= 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */
+one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
+two = 2.00000000000000000000e+00, /* 0x40000000, 0x00000000 */
+ /* c = (float)0.84506291151 */
+erx = 8.45062911510467529297e-01, /* 0x3FEB0AC1, 0x60000000 */
+/*
+ * Coefficients for approximation to erf on [0,0.84375]
+ */
+efx = 1.28379167095512586316e-01, /* 0x3FC06EBA, 0x8214DB69 */
+efx8= 1.02703333676410069053e+00, /* 0x3FF06EBA, 0x8214DB69 */
+pp0 = 1.28379167095512558561e-01, /* 0x3FC06EBA, 0x8214DB68 */
+pp1 = -3.25042107247001499370e-01, /* 0xBFD4CD7D, 0x691CB913 */
+pp2 = -2.84817495755985104766e-02, /* 0xBF9D2A51, 0xDBD7194F */
+pp3 = -5.77027029648944159157e-03, /* 0xBF77A291, 0x236668E4 */
+pp4 = -2.37630166566501626084e-05, /* 0xBEF8EAD6, 0x120016AC */
+qq1 = 3.97917223959155352819e-01, /* 0x3FD97779, 0xCDDADC09 */
+qq2 = 6.50222499887672944485e-02, /* 0x3FB0A54C, 0x5536CEBA */
+qq3 = 5.08130628187576562776e-03, /* 0x3F74D022, 0xC4D36B0F */
+qq4 = 1.32494738004321644526e-04, /* 0x3F215DC9, 0x221C1A10 */
+qq5 = -3.96022827877536812320e-06, /* 0xBED09C43, 0x42A26120 */
+/*
+ * Coefficients for approximation to erf in [0.84375,1.25]
+ */
+pa0 = -2.36211856075265944077e-03, /* 0xBF6359B8, 0xBEF77538 */
+pa1 = 4.14856118683748331666e-01, /* 0x3FDA8D00, 0xAD92B34D */
+pa2 = -3.72207876035701323847e-01, /* 0xBFD7D240, 0xFBB8C3F1 */
+pa3 = 3.18346619901161753674e-01, /* 0x3FD45FCA, 0x805120E4 */
+pa4 = -1.10894694282396677476e-01, /* 0xBFBC6398, 0x3D3E28EC */
+pa5 = 3.54783043256182359371e-02, /* 0x3FA22A36, 0x599795EB */
+pa6 = -2.16637559486879084300e-03, /* 0xBF61BF38, 0x0A96073F */
+qa1 = 1.06420880400844228286e-01, /* 0x3FBB3E66, 0x18EEE323 */
+qa2 = 5.40397917702171048937e-01, /* 0x3FE14AF0, 0x92EB6F33 */
+qa3 = 7.18286544141962662868e-02, /* 0x3FB2635C, 0xD99FE9A7 */
+qa4 = 1.26171219808761642112e-01, /* 0x3FC02660, 0xE763351F */
+qa5 = 1.36370839120290507362e-02, /* 0x3F8BEDC2, 0x6B51DD1C */
+qa6 = 1.19844998467991074170e-02, /* 0x3F888B54, 0x5735151D */
+/*
+ * Coefficients for approximation to erfc in [1.25,1/0.35]
+ */
+ra0 = -9.86494403484714822705e-03, /* 0xBF843412, 0x600D6435 */
+ra1 = -6.93858572707181764372e-01, /* 0xBFE63416, 0xE4BA7360 */
+ra2 = -1.05586262253232909814e+01, /* 0xC0251E04, 0x41B0E726 */
+ra3 = -6.23753324503260060396e+01, /* 0xC04F300A, 0xE4CBA38D */
+ra4 = -1.62396669462573470355e+02, /* 0xC0644CB1, 0x84282266 */
+ra5 = -1.84605092906711035994e+02, /* 0xC067135C, 0xEBCCABB2 */
+ra6 = -8.12874355063065934246e+01, /* 0xC0545265, 0x57E4D2F2 */
+ra7 = -9.81432934416914548592e+00, /* 0xC023A0EF, 0xC69AC25C */
+sa1 = 1.96512716674392571292e+01, /* 0x4033A6B9, 0xBD707687 */
+sa2 = 1.37657754143519042600e+02, /* 0x4061350C, 0x526AE721 */
+sa3 = 4.34565877475229228821e+02, /* 0x407B290D, 0xD58A1A71 */
+sa4 = 6.45387271733267880336e+02, /* 0x40842B19, 0x21EC2868 */
+sa5 = 4.29008140027567833386e+02, /* 0x407AD021, 0x57700314 */
+sa6 = 1.08635005541779435134e+02, /* 0x405B28A3, 0xEE48AE2C */
+sa7 = 6.57024977031928170135e+00, /* 0x401A47EF, 0x8E484A93 */
+sa8 = -6.04244152148580987438e-02, /* 0xBFAEEFF2, 0xEE749A62 */
+/*
+ * Coefficients for approximation to erfc in [1/.35,28]
+ */
+rb0 = -9.86494292470009928597e-03, /* 0xBF843412, 0x39E86F4A */
+rb1 = -7.99283237680523006574e-01, /* 0xBFE993BA, 0x70C285DE */
+rb2 = -1.77579549177547519889e+01, /* 0xC031C209, 0x555F995A */
+rb3 = -1.60636384855821916062e+02, /* 0xC064145D, 0x43C5ED98 */
+rb4 = -6.37566443368389627722e+02, /* 0xC083EC88, 0x1375F228 */
+rb5 = -1.02509513161107724954e+03, /* 0xC0900461, 0x6A2E5992 */
+rb6 = -4.83519191608651397019e+02, /* 0xC07E384E, 0x9BDC383F */
+sb1 = 3.03380607434824582924e+01, /* 0x403E568B, 0x261D5190 */
+sb2 = 3.25792512996573918826e+02, /* 0x40745CAE, 0x221B9F0A */
+sb3 = 1.53672958608443695994e+03, /* 0x409802EB, 0x189D5118 */
+sb4 = 3.19985821950859553908e+03, /* 0x40A8FFB7, 0x688C246A */
+sb5 = 2.55305040643316442583e+03, /* 0x40A3F219, 0xCEDF3BE6 */
+sb6 = 4.74528541206955367215e+02, /* 0x407DA874, 0xE79FE763 */
+sb7 = -2.24409524465858183362e+01; /* 0xC03670E2, 0x42712D62 */
+
+#ifdef __STDC__
+ double erf(double x)
+#else
+ double erf(x)
+ double x;
+#endif
+{
+ __int32_t hx,ix,i;
+ double R,S,P,Q,s,y,z,r;
+ GET_HIGH_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x7ff00000) { /* erf(nan)=nan */
+ i = ((__uint32_t)hx>>31)<<1;
+ return (double)(1-i)+one/x; /* erf(+-inf)=+-1 */
+ }
+
+ if(ix < 0x3feb0000) { /* |x|<0.84375 */
+ if(ix < 0x3e300000) { /* |x|<2**-28 */
+ if (ix < 0x00800000)
+ return 0.125*(8.0*x+efx8*x); /*avoid underflow */
+ return x + efx*x;
+ }
+ z = x*x;
+ r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4)));
+ s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5))));
+ y = r/s;
+ return x + x*y;
+ }
+ if(ix < 0x3ff40000) { /* 0.84375 <= |x| < 1.25 */
+ s = fabs(x)-one;
+ P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6)))));
+ Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6)))));
+ if(hx>=0) return erx + P/Q; else return -erx - P/Q;
+ }
+ if (ix >= 0x40180000) { /* inf>|x|>=6 */
+ if(hx>=0) return one-tiny; else return tiny-one;
+ }
+ x = fabs(x);
+ s = one/(x*x);
+ if(ix< 0x4006DB6E) { /* |x| < 1/0.35 */
+ R=ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*(
+ ra5+s*(ra6+s*ra7))))));
+ S=one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*(
+ sa5+s*(sa6+s*(sa7+s*sa8)))))));
+ } else { /* |x| >= 1/0.35 */
+ R=rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*(
+ rb5+s*rb6)))));
+ S=one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*(
+ sb5+s*(sb6+s*sb7))))));
+ }
+ z = x;
+ SET_LOW_WORD(z,0);
+ r = exp(-z*z-0.5625)*exp((z-x)*(z+x)+R/S);
+ if(hx>=0) return one-r/x; else return r/x-one;
+}
+
+#ifdef __STDC__
+ double erfc(double x)
+#else
+ double erfc(x)
+ double x;
+#endif
+{
+ __int32_t hx,ix;
+ double R,S,P,Q,s,y,z,r;
+ GET_HIGH_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x7ff00000) { /* erfc(nan)=nan */
+ /* erfc(+-inf)=0,2 */
+ return (double)(((__uint32_t)hx>>31)<<1)+one/x;
+ }
+
+ if(ix < 0x3feb0000) { /* |x|<0.84375 */
+ if(ix < 0x3c700000) /* |x|<2**-56 */
+ return one-x;
+ z = x*x;
+ r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4)));
+ s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5))));
+ y = r/s;
+ if(hx < 0x3fd00000) { /* x<1/4 */
+ return one-(x+x*y);
+ } else {
+ r = x*y;
+ r += (x-half);
+ return half - r ;
+ }
+ }
+ if(ix < 0x3ff40000) { /* 0.84375 <= |x| < 1.25 */
+ s = fabs(x)-one;
+ P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6)))));
+ Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6)))));
+ if(hx>=0) {
+ z = one-erx; return z - P/Q;
+ } else {
+ z = erx+P/Q; return one+z;
+ }
+ }
+ if (ix < 0x403c0000) { /* |x|<28 */
+ x = fabs(x);
+ s = one/(x*x);
+ if(ix< 0x4006DB6D) { /* |x| < 1/.35 ~ 2.857143*/
+ R=ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*(
+ ra5+s*(ra6+s*ra7))))));
+ S=one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*(
+ sa5+s*(sa6+s*(sa7+s*sa8)))))));
+ } else { /* |x| >= 1/.35 ~ 2.857143 */
+ if(hx<0&&ix>=0x40180000) return two-tiny;/* x < -6 */
+ R=rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*(
+ rb5+s*rb6)))));
+ S=one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*(
+ sb5+s*(sb6+s*sb7))))));
+ }
+ z = x;
+ SET_LOW_WORD(z,0);
+ r = exp(-z*z-0.5625)*
+ exp((z-x)*(z+x)+R/S);
+ if(hx>0) return r/x; else return two-r/x;
+ } else {
+ if(hx>0) return tiny*tiny; else return two-tiny;
+ }
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_exp.c b/newlib/libm/mathfp/s_exp.c
new file mode 100644
index 00000000000..8c7f723fe13
--- /dev/null
+++ b/newlib/libm/mathfp/s_exp.c
@@ -0,0 +1,133 @@
+
+/* @(#)z_exp.c 1.0 98/08/13 */
+/******************************************************************
+ * The following routines are coded directly from the algorithms
+ * and coefficients given in "Software Manual for the Elementary
+ * Functions" by William J. Cody, Jr. and William Waite, Prentice
+ * Hall, 1980.
+ ******************************************************************/
+
+/*
+FUNCTION
+ <<exp>>, <<expf>>---exponential
+INDEX
+ exp
+INDEX
+ expf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double exp(double <[x]>);
+ float expf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double exp(<[x]>);
+ double <[x]>;
+
+ float expf(<[x]>);
+ float <[x]>;
+
+DESCRIPTION
+ <<exp>> and <<expf>> calculate the exponential of <[x]>, that is,
+ @ifinfo
+ e raised to the power <[x]> (where e
+ @end ifinfo
+ @tex
+ $e^x$ (where $e$
+ @end tex
+ is the base of the natural system of logarithms, approximately 2.71828).
+
+RETURNS
+ On success, <<exp>> and <<expf>> return the calculated value.
+ If the result underflows, the returned value is <<0>>. If the
+ result overflows, the returned value is <<HUGE_VAL>>. In
+ either case, <<errno>> is set to <<ERANGE>>.
+
+PORTABILITY
+ <<exp>> is ANSI C. <<expf>> is an extension.
+
+*/
+
+/*****************************************************************
+ * Exponential Function
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * e raised to x.
+ *
+ * Description:
+ * This routine returns e raised to the xth power.
+ *
+ *****************************************************************/
+
+#include <float.h>
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+static const double INV_LN2 = 1.4426950408889634074;
+static const double LN2 = 0.6931471805599453094172321;
+static const double p[] = { 0.25, 0.75753180159422776666e-2,
+ 0.31555192765684646356e-4 };
+static const double q[] = { 0.5, 0.56817302698551221787e-1,
+ 0.63121894374398504557e-3,
+ 0.75104028399870046114e-6 };
+
+double
+_DEFUN (exp, (double),
+ double x)
+{
+ int N;
+ double g, z, R, P, Q;
+
+ switch (numtest (x))
+ {
+ case NAN:
+ errno = EDOM;
+ return (x);
+ case INF:
+ errno = ERANGE;
+ if (ispos (x))
+ return (z_infinity.d);
+ else
+ return (0.0);
+ case 0:
+ return (1.0);
+ }
+
+ /* Check for out of bounds. */
+ if (x > BIGX || x < SMALLX)
+ {
+ errno = ERANGE;
+ return (x);
+ }
+
+ /* Check for a value too small to calculate. */
+ if (-z_rooteps < x && x < z_rooteps)
+ {
+ return (1.0);
+ }
+
+ /* Calculate the exponent. */
+ if (x < 0.0)
+ N = (int) (x * INV_LN2 - 0.5);
+ else
+ N = (int) (x * INV_LN2 + 0.5);
+
+ /* Construct the mantissa. */
+ g = x - N * LN2;
+ z = g * g;
+ P = g * ((p[2] * z + p[1]) * z + p[0]);
+ Q = ((q[3] * z + q[2]) * z + q[1]) * z + q[0];
+ R = 0.5 + P / (Q - P);
+
+ /* Return the floating point value. */
+ N++;
+ return (ldexp (R, N));
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_fabs.c b/newlib/libm/mathfp/s_fabs.c
new file mode 100644
index 00000000000..9e1d75eb336
--- /dev/null
+++ b/newlib/libm/mathfp/s_fabs.c
@@ -0,0 +1,80 @@
+
+/* @(#)z_fabs.c 1.0 98/08/13 */
+
+/*
+FUNCTION
+ <<fabs>>, <<fabsf>>---absolute value (magnitude)
+INDEX
+ fabs
+INDEX
+ fabsf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double fabs(double <[x]>);
+ float fabsf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double fabs(<[x]>)
+ double <[x]>;
+
+ float fabsf(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+<<fabs>> and <<fabsf>> calculate
+@tex
+$|x|$,
+@end tex
+the absolute value (magnitude) of the argument <[x]>, by direct
+manipulation of the bit representation of <[x]>.
+
+RETURNS
+The calculated value is returned.
+
+PORTABILITY
+<<fabs>> is ANSI.
+<<fabsf>> is an extension.
+
+*/
+
+/******************************************************************
+ * Floating-Point Absolute Value
+ *
+ * Input:
+ * x - floating-point number
+ *
+ * Output:
+ * absolute value of x
+ *
+ * Description:
+ * fabs computes the absolute value of a floating point number.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+double
+_DEFUN (fabs, (double),
+ double x)
+{
+ switch (numtest (x))
+ {
+ case NAN:
+ errno = EDOM;
+ return (x);
+ case INF:
+ errno = ERANGE;
+ return (x);
+ case 0:
+ return (0.0);
+ default:
+ return (x < 0.0 ? -x : x);
+ }
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_floor.c b/newlib/libm/mathfp/s_floor.c
new file mode 100644
index 00000000000..0dbc207f3fc
--- /dev/null
+++ b/newlib/libm/mathfp/s_floor.c
@@ -0,0 +1,92 @@
+
+/* @(#)z_floor.c 1.0 98/08/13 */
+
+/*
+FUNCTION
+<<floor>>, <<floorf>>, <<ceil>>, <<ceilf>>---floor and ceiling
+INDEX
+ floor
+INDEX
+ floorf
+INDEX
+ ceil
+INDEX
+ ceilf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double floor(double <[x]>);
+ float floorf(float <[x]>);
+ double ceil(double <[x]>);
+ float ceilf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double floor(<[x]>)
+ double <[x]>;
+ float floorf(<[x]>)
+ float <[x]>;
+ double ceil(<[x]>)
+ double <[x]>;
+ float ceilf(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+<<floor>> and <<floorf>> find
+@tex
+$\lfloor x \rfloor$,
+@end tex
+the nearest integer less than or equal to <[x]>.
+<<ceil>> and <<ceilf>> find
+@tex
+$\lceil x\rceil$,
+@end tex
+the nearest integer greater than or equal to <[x]>.
+
+RETURNS
+<<floor>> and <<ceil>> return the integer result as a double.
+<<floorf>> and <<ceilf>> return the integer result as a float.
+
+PORTABILITY
+<<floor>> and <<ceil>> are ANSI.
+<<floorf>> and <<ceilf>> are extensions.
+
+*/
+
+/*****************************************************************
+ * floor
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * Smallest integer less than x.
+ *
+ * Description:
+ * This routine returns the smallest integer less than x.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+double
+_DEFUN (floor, (double),
+ double x)
+{
+ double f, y;
+
+ if (x > -1.0 && x < 1.0)
+ return (x >= 0 ? 0 : -1.0);
+
+ y = modf (x, &f);
+
+ if (y == 0.0)
+ return (x);
+
+ return (x >= 0 ? f : f - 1.0);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_fmod.c b/newlib/libm/mathfp/s_fmod.c
new file mode 100644
index 00000000000..3af7300dab0
--- /dev/null
+++ b/newlib/libm/mathfp/s_fmod.c
@@ -0,0 +1,187 @@
+
+/* @(#)z_fmod.c 1.0 98/08/13 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+<<fmod>>, <<fmodf>>---floating-point remainder (modulo)
+
+INDEX
+fmod
+INDEX
+fmodf
+
+ANSI_SYNOPSIS
+#include <math.h>
+double fmod(double <[x]>, double <[y]>)
+float fmodf(float <[x]>, float <[y]>)
+
+TRAD_SYNOPSIS
+#include <math.h>
+double fmod(<[x]>, <[y]>)
+double (<[x]>, <[y]>);
+
+float fmodf(<[x]>, <[y]>)
+float (<[x]>, <[y]>);
+
+DESCRIPTION
+The <<fmod>> and <<fmodf>> functions compute the floating-point
+remainder of <[x]>/<[y]> (<[x]> modulo <[y]>).
+
+RETURNS
+The <<fmod>> function returns the value
+@ifinfo
+<[x]>-<[i]>*<[y]>,
+@end ifinfo
+@tex
+$x-i\times y$,
+@end tex
+for the largest integer <[i]> such that, if <[y]> is nonzero, the
+result has the same sign as <[x]> and magnitude less than the
+magnitude of <[y]>.
+
+<<fmod(<[x]>,0)>> returns NaN, and sets <<errno>> to <<EDOM>>.
+
+You can modify error treatment for these functions using <<matherr>>.
+
+PORTABILITY
+<<fmod>> is ANSI C. <<fmodf>> is an extension.
+*/
+
+/*
+ * fmod(x,y)
+ * Return x mod y in exact arithmetic
+ * Method: shift and subtract
+ */
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double one = 1.0, Zero[] = {0.0, -0.0,};
+#else
+static double one = 1.0, Zero[] = {0.0, -0.0,};
+#endif
+
+#ifdef __STDC__
+ double fmod(double x, double y)
+#else
+ double fmod(x,y)
+ double x,y ;
+#endif
+{
+ __int32_t n,hx,hy,hz,ix,iy,sx,i;
+ __uint32_t lx,ly,lz;
+
+ EXTRACT_WORDS(hx,lx,x);
+ EXTRACT_WORDS(hy,ly,y);
+ sx = hx&0x80000000; /* sign of x */
+ hx ^=sx; /* |x| */
+ hy &= 0x7fffffff; /* |y| */
+
+ /* purge off exception values */
+ if((hy|ly)==0||(hx>=0x7ff00000)|| /* y=0,or x not finite */
+ ((hy|((ly|-ly)>>31))>0x7ff00000)) /* or y is NaN */
+ return (x*y)/(x*y);
+ if(hx<=hy) {
+ if((hx<hy)||(lx<ly)) return x; /* |x|<|y| return x */
+ if(lx==ly)
+ return Zero[(__uint32_t)sx>>31]; /* |x|=|y| return x*0*/
+ }
+
+ /* determine ix = ilogb(x) */
+ if(hx<0x00100000) { /* subnormal x */
+ if(hx==0) {
+ for (ix = -1043, i=lx; i>0; i<<=1) ix -=1;
+ } else {
+ for (ix = -1022,i=(hx<<11); i>0; i<<=1) ix -=1;
+ }
+ } else ix = (hx>>20)-1023;
+
+ /* determine iy = ilogb(y) */
+ if(hy<0x00100000) { /* subnormal y */
+ if(hy==0) {
+ for (iy = -1043, i=ly; i>0; i<<=1) iy -=1;
+ } else {
+ for (iy = -1022,i=(hy<<11); i>0; i<<=1) iy -=1;
+ }
+ } else iy = (hy>>20)-1023;
+
+ /* set up {hx,lx}, {hy,ly} and align y to x */
+ if(ix >= -1022)
+ hx = 0x00100000|(0x000fffff&hx);
+ else { /* subnormal x, shift x to normal */
+ n = -1022-ix;
+ if(n<=31) {
+ hx = (hx<<n)|(lx>>(32-n));
+ lx <<= n;
+ } else {
+ hx = lx<<(n-32);
+ lx = 0;
+ }
+ }
+ if(iy >= -1022)
+ hy = 0x00100000|(0x000fffff&hy);
+ else { /* subnormal y, shift y to normal */
+ n = -1022-iy;
+ if(n<=31) {
+ hy = (hy<<n)|(ly>>(32-n));
+ ly <<= n;
+ } else {
+ hy = ly<<(n-32);
+ ly = 0;
+ }
+ }
+
+ /* fix point fmod */
+ n = ix - iy;
+ while(n--) {
+ hz=hx-hy;lz=lx-ly; if(lx<ly) hz -= 1;
+ if(hz<0){hx = hx+hx+(lx>>31); lx = lx+lx;}
+ else {
+ if((hz|lz)==0) /* return sign(x)*0 */
+ return Zero[(__uint32_t)sx>>31];
+ hx = hz+hz+(lz>>31); lx = lz+lz;
+ }
+ }
+ hz=hx-hy;lz=lx-ly; if(lx<ly) hz -= 1;
+ if(hz>=0) {hx=hz;lx=lz;}
+
+ /* convert back to floating value and restore the sign */
+ if((hx|lx)==0) /* return sign(x)*0 */
+ return Zero[(__uint32_t)sx>>31];
+ while(hx<0x00100000) { /* normalize x */
+ hx = hx+hx+(lx>>31); lx = lx+lx;
+ iy -= 1;
+ }
+ if(iy>= -1022) { /* normalize output */
+ hx = ((hx-0x00100000)|((iy+1023)<<20));
+ INSERT_WORDS(x,hx|sx,lx);
+ } else { /* subnormal output */
+ n = -1022 - iy;
+ if(n<=20) {
+ lx = (lx>>n)|((__uint32_t)hx<<(32-n));
+ hx >>= n;
+ } else if (n<=31) {
+ lx = (hx<<(32-n))|(lx>>n); hx = sx;
+ } else {
+ lx = hx>>(n-32); hx = sx;
+ }
+ INSERT_WORDS(x,hx|sx,lx);
+ x *= one; /* create necessary signal */
+ }
+ return x; /* exact output */
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/s_frexp.c b/newlib/libm/mathfp/s_frexp.c
new file mode 100644
index 00000000000..6145c472f99
--- /dev/null
+++ b/newlib/libm/mathfp/s_frexp.c
@@ -0,0 +1,110 @@
+
+/* @(#)z_frexp.c 1.0 98/08/13 */
+
+/*
+FUNCTION
+ <<frexp>>, <<frexpf>>---split floating-point number
+INDEX
+ frexp
+INDEX
+ frexpf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double frexp(double <[val]>, int *<[exp]>);
+ float frexpf(float <[val]>, int *<[exp]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double frexp(<[val]>, <[exp]>)
+ double <[val]>;
+ int *<[exp]>;
+
+ float frexpf(<[val]>, <[exp]>)
+ float <[val]>;
+ int *<[exp]>;
+
+
+DESCRIPTION
+ All non zero, normal numbers can be described as <[m]> * 2**<[p]>.
+ <<frexp>> represents the double <[val]> as a mantissa <[m]>
+ and a power of two <[p]>. The resulting mantissa will always
+ be greater than or equal to <<0.5>>, and less than <<1.0>> (as
+ long as <[val]> is nonzero). The power of two will be stored
+ in <<*>><[exp]>.
+
+@ifinfo
+<[m]> and <[p]> are calculated so that
+<[val]> is <[m]> times <<2>> to the power <[p]>.
+@end ifinfo
+@tex
+<[m]> and <[p]> are calculated so that
+$ val = m \times 2^p $.
+@end tex
+
+<<frexpf>> is identical, other than taking and returning
+floats rather than doubles.
+
+RETURNS
+<<frexp>> returns the mantissa <[m]>. If <[val]> is <<0>>, infinity,
+or Nan, <<frexp>> will set <<*>><[exp]> to <<0>> and return <[val]>.
+
+PORTABILITY
+<<frexp>> is ANSI.
+<<frexpf>> is an extension.
+
+
+*/
+
+/*****************************************************************
+ * frexp
+ *
+ * Input:
+ * d - floating point value
+ * exp - exponent value
+ *
+ * Output:
+ * A floating point value in the range [0.5, 1).
+ *
+ * Description:
+ * This routine breaks a floating point value into a number f and
+ * an exponent exp such that d = f * 2 ^ exp.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+double frexp (double d, int *exp)
+{
+ double f;
+ __uint32_t hd, ld, hf, lf;
+
+ EXTRACT_WORDS (hd, ld, d);
+
+ /* Get the exponent. */
+ *exp = ((hd & 0x7ff00000) >> 20) - 1022;
+
+ /* Get the mantissa. */
+ lf = ld;
+ hf = hd & 0x800fffff;
+ hf |= 0x3fe00000;
+
+ INSERT_WORDS (f, hf, lf);
+
+ /* Check for special values. */
+ switch (numtest (f))
+ {
+ case NAN:
+ case INF:
+ errno = EDOM;
+ *exp = 0;
+ return (f);
+ }
+
+ return (f);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_infconst.c b/newlib/libm/mathfp/s_infconst.c
new file mode 100644
index 00000000000..85b3b689c9d
--- /dev/null
+++ b/newlib/libm/mathfp/s_infconst.c
@@ -0,0 +1,15 @@
+/* Infinity as a constant value. This is used for HUGE_VAL.
+ * Added by Cygnus Support.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+#ifdef __IEEE_BIG_ENDIAN
+const union __dmath __infinity = { 0x7ff00000, 0 };
+#else
+const union __dmath __infinity = { 0, 0x7ff00000 };
+#endif
+#else /* defined (_DOUBLE_IS_32BITS) */
+const union __dmath __infinity = { 0x7f800000, 0 };
+#endif /* defined (_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/s_isinf.c b/newlib/libm/mathfp/s_isinf.c
new file mode 100644
index 00000000000..fe9f547990c
--- /dev/null
+++ b/newlib/libm/mathfp/s_isinf.c
@@ -0,0 +1,37 @@
+
+/* @(#)z_isinf.c 1.0 98/08/13 */
+/******************************************************************
+ * isinf
+ *
+ * Input:
+ * x - pointer to a floating point value
+ *
+ * Output:
+ * An integer that indicates if the number is infinite.
+ *
+ * Description:
+ * This routine returns an integer that indicates if the number
+ * passed in is infinite (1) or is finite (0).
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+int isinf (double x)
+{
+ __uint32_t lx, hx;
+ int exp;
+
+ EXTRACT_WORDS (hx, lx, x);
+ exp = (hx & 0x7ff00000) >> 20;
+
+ if ((exp == 0x7ff) && ((hx & 0xf0000 || lx) == 0))
+ return (1);
+ else
+ return (0);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_isnan.c b/newlib/libm/mathfp/s_isnan.c
new file mode 100644
index 00000000000..776baa239bf
--- /dev/null
+++ b/newlib/libm/mathfp/s_isnan.c
@@ -0,0 +1,125 @@
+
+/* @(#)z_isnan.c 1.0 98/08/13 */
+
+/*
+FUNCTION
+ <<isnan>>,<<isnanf>>,<<isinf>>,<<isinff>>,<<finite>>,<<finitef>>---test
+for exceptional numbers
+
+INDEX
+ isnan
+INDEX
+ isinf
+INDEX
+ finite
+
+INDEX
+ isnanf
+INDEX
+ isinff
+INDEX
+ finitef
+
+ANSI_SYNOPSIS
+ #include <ieeefp.h>
+ int isnan(double <[arg]>);
+ int isinf(double <[arg]>);
+ int finite(double <[arg]>);
+ int isnanf(float <[arg]>);
+ int isinff(float <[arg]>);
+ int finitef(float <[arg]>);
+
+TRAD_SYNOPSIS
+ #include <ieeefp.h>
+ int isnan(<[arg]>)
+ double <[arg]>;
+ int isinf(<[arg]>)
+ double <[arg]>;
+ int finite(<[arg]>);
+ double <[arg]>;
+ int isnanf(<[arg]>);
+ float <[arg]>;
+ int isinff(<[arg]>);
+ float <[arg]>;
+ int finitef(<[arg]>);
+ float <[arg]>;
+
+
+DESCRIPTION
+ These functions provide information on the floating point
+ argument supplied.
+
+ There are five major number formats -
+ o+
+ o zero
+ a number which contains all zero bits.
+ o subnormal
+ Is used to represent number with a zero exponent, but a non zero fract
+ion.
+ o normal
+ A number with an exponent, and a fraction
+ o infinity
+ A number with an all 1's exponent and a zero fraction.
+ o NAN
+ A number with an all 1's exponent and a non zero fraction.
+
+ o-
+
+ <<isnan>> returns 1 if the argument is a nan. <<isinf>>
+ returns 1 if the argument is infinity. <<finite>> returns 1 if the
+ argument is zero, subnormal or normal.
+
+ The <<isnanf>>, <<isinff>> and <<finitef>> perform the same
+ operations as their <<isnan>>, <<isinf>> and <<finite>>
+ counterparts, but on single precision floating point numbers.
+
+QUICKREF
+ isnan - pure
+QUICKREF
+ isinf - pure
+QUICKREF
+ finite - pure
+QUICKREF
+ isnan - pure
+QUICKREF
+ isinf - pure
+QUICKREF
+ finite - pure
+*/
+
+
+/******************************************************************
+ * isnan
+ *
+ * Input:
+ * x - pointer to a floating point value
+ *
+ * Output:
+ * An integer that indicates if the number is NaN.
+ *
+ * Description:
+ * This routine returns an integer that indicates if the number
+ * passed in is NaN (1) or is finite (0).
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+int isnan (double x)
+{
+ __uint32_t lx, hx;
+ int exp;
+
+ EXTRACT_WORDS (hx, lx, x);
+ exp = (hx & 0x7ff00000) >> 20;
+
+ if ((exp == 0x7ff) && (hx & 0xf0000 || lx))
+ return (1);
+ else
+ return (0);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_ispos.c b/newlib/libm/mathfp/s_ispos.c
new file mode 100644
index 00000000000..2077999c3ea
--- /dev/null
+++ b/newlib/libm/mathfp/s_ispos.c
@@ -0,0 +1,35 @@
+
+/* @(#)z_ispos.c 1.0 98/08/13 */
+/******************************************************************
+ * Numtest
+ *
+ * Input:
+ * x - pointer to a floating point value
+ *
+ * Output:
+ * An integer that indicates if the number is positive.
+ *
+ * Description:
+ * This routine returns an integer that indicates if the number
+ * passed in is positive (1) or negative (0).
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+int ispos (double x)
+{
+ __uint32_t hx;
+
+ GET_HIGH_WORD (hx, x);
+
+ if (hx & 0x80000000)
+ return (0);
+ else
+ return (1);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_ldexp.c b/newlib/libm/mathfp/s_ldexp.c
new file mode 100644
index 00000000000..97d8a3ba546
--- /dev/null
+++ b/newlib/libm/mathfp/s_ldexp.c
@@ -0,0 +1,125 @@
+
+/* @(#)z_ldexp.c 1.0 98/08/13 */
+
+/*
+FUNCTION
+ <<ldexp>>, <<ldexpf>>---load exponent
+
+INDEX
+ ldexp
+INDEX
+ ldexpf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double ldexp(double <[val]>, int <[exp]>);
+ float ldexpf(float <[val]>, int <[exp]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+
+ double ldexp(<[val]>, <[exp]>)
+ double <[val]>;
+ int <[exp]>;
+
+ float ldexpf(<[val]>, <[exp]>)
+ float <[val]>;
+ int <[exp]>;
+
+DESCRIPTION
+<<ldexp>> calculates the value
+@ifinfo
+<[val]> times 2 to the power <[exp]>.
+@end ifinfo
+@tex
+$val\times 2^{exp}$.
+@end tex
+<<ldexpf>> is identical, save that it takes and returns <<float>>
+rather than <<double>> values.
+
+RETURNS
+<<ldexp>> returns the calculated value.
+
+Underflow and overflow both set <<errno>> to <<ERANGE>>.
+On underflow, <<ldexp>> and <<ldexpf>> return 0.0.
+On overflow, <<ldexp>> returns plus or minus <<HUGE_VAL>>.
+
+PORTABILITY
+<<ldexp>> is ANSI, <<ldexpf>> is an extension.
+
+*/
+
+/******************************************************************
+ * ldexp
+ *
+ * Input:
+ * d - a floating point value
+ * e - an exponent value
+ *
+ * Output:
+ * A floating point value f such that f = d * 2 ^ e.
+ *
+ * Description:
+ * This function creates a floating point number f such that
+ * f = d * 2 ^ e.
+ *
+ *****************************************************************/
+
+#include <float.h>
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#define DOUBLE_EXP_OFFS 1023
+
+double
+_DEFUN (ldexp, (double, int),
+ double d _AND
+ int e)
+{
+ int exp;
+ __uint32_t hd;
+
+ GET_HIGH_WORD (hd, d);
+
+ /* Check for special values and then scale d by e. */
+ switch (numtest (d))
+ {
+ case NAN:
+ errno = EDOM;
+ break;
+
+ case INF:
+ errno = ERANGE;
+ break;
+
+ case 0:
+ break;
+
+ default:
+ exp = (hd & 0x7ff00000) >> 20;
+ exp += e;
+
+ if (exp > DBL_MAX_EXP + DOUBLE_EXP_OFFS)
+ {
+ errno = ERANGE;
+ d = z_infinity.d;
+ }
+ else if (exp < DBL_MIN_EXP + DOUBLE_EXP_OFFS)
+ {
+ errno = ERANGE;
+ d = -z_infinity.d;
+ }
+ else
+ {
+ hd &= 0x800fffff;
+ hd |= exp << 20;
+ SET_HIGH_WORD (d, hd);
+ }
+ }
+
+ return (d);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_log.c b/newlib/libm/mathfp/s_log.c
new file mode 100644
index 00000000000..27b959831aa
--- /dev/null
+++ b/newlib/libm/mathfp/s_log.c
@@ -0,0 +1,29 @@
+
+/* @(#)z_log.c 1.0 98/08/13 */
+/******************************************************************
+ * Logarithm
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * natural logarithm of x
+ *
+ * Description:
+ * This routine returns the natural logarithm of x.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+double
+_DEFUN (log, (double),
+ double x)
+{
+ return (logarithm (x, 0));
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_log10.c b/newlib/libm/mathfp/s_log10.c
new file mode 100644
index 00000000000..080cecd81a8
--- /dev/null
+++ b/newlib/libm/mathfp/s_log10.c
@@ -0,0 +1,68 @@
+
+/* @(#)z_log10.c 1.0 98/08/13 */
+/******************************************************************
+ * Logarithm
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * logarithm of x
+ *
+ * Description:
+ * This routine returns the logarithm of x (base 10).
+ *
+ *****************************************************************/
+
+/*
+FUNCTION
+ <<log10>>, <<log10f>>---base 10 logarithms
+
+INDEX
+log10
+INDEX
+log10f
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double log10(double <[x]>);
+ float log10f(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double log10(<[x]>)
+ double <[x]>;
+
+ float log10f(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+<<log10>> returns the base 10 logarithm of <[x]>.
+It is implemented as <<log(<[x]>) / log(10)>>.
+
+<<log10f>> is identical, save that it takes and returns <<float>> values.
+
+RETURNS
+<<log10>> and <<log10f>> return the calculated value.
+
+See the description of <<log>> for information on errors.
+
+PORTABILITY
+<<log10>> is ANSI C. <<log10f>> is an extension.
+
+*/
+
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+double
+_DEFUN (log10, (double),
+ double x)
+{
+ return (logarithm (x, 1));
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_logarithm.c b/newlib/libm/mathfp/s_logarithm.c
new file mode 100644
index 00000000000..ee7c7069ebf
--- /dev/null
+++ b/newlib/libm/mathfp/s_logarithm.c
@@ -0,0 +1,135 @@
+
+/* @(#)z_logarithm.c 1.0 98/08/13 */
+/******************************************************************
+ * The following routines are coded directly from the algorithms
+ * and coefficients given in "Software Manual for the Elementary
+ * Functions" by William J. Cody, Jr. and William Waite, Prentice
+ * Hall, 1980.
+ ******************************************************************/
+
+/*
+FUNCTION
+ <<log>>, <<logf>>, <<log10>>, <<log10f>>, <<logarithm>>, <<logarithmf>>---natural or base 10 logarithms
+
+INDEX
+ log
+INDEX
+ logf
+INDEX
+ log10
+INDEX
+ log10f
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double log(double <[x]>);
+ float logf(float <[x]>);
+ double log10(double <[x]>);
+ float log10f(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double log(<[x]>);
+ double <[x]>;
+
+ float logf(<[x]>);
+ float <[x]>;
+
+ double log10(<[x]>);
+ double <[x]>;
+
+ float log10f(<[x]>);
+ float <[x]>;
+
+DESCRIPTION
+Return the natural or base 10 logarithm of <[x]>, that is, its logarithm base e
+(where e is the base of the natural system of logarithms, 2.71828@dots{}) or
+base 10.
+<<log>> and <<logf>> are identical save for the return and argument types.
+<<log10>> and <<log10f>> are identical save for the return and argument types.
+
+RETURNS
+Normally, returns the calculated value. When <[x]> is zero, the
+returned value is <<-HUGE_VAL>> and <<errno>> is set to <<ERANGE>>.
+When <[x]> is negative, the returned value is <<-HUGE_VAL>> and
+<<errno>> is set to <<EDOM>>. You can control the error behavior via
+<<matherr>>.
+
+PORTABILITY
+<<log>> is ANSI, <<logf>> is an extension.
+<<log10>> is ANSI, <<log10f>> is an extension.
+*/
+
+
+/******************************************************************
+ * Logarithm
+ *
+ * Input:
+ * x - floating point value
+ * ten - indicates base ten numbers
+ *
+ * Output:
+ * logarithm of x
+ *
+ * Description:
+ * This routine calculates logarithms.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+static const double a[] = { -0.64124943423745581147e+02,
+ 0.16383943563021534222e+02,
+ -0.78956112887481257267 };
+static const double b[] = { -0.76949932108494879777e+03,
+ 0.31203222091924532844e+03,
+ -0.35667977739034646171e+02 };
+static const double C1 = 22713.0 / 32768.0;
+static const double C2 = 1.428606820309417232e-06;
+static const double C3 = 0.43429448190325182765;
+
+double
+_DEFUN (logarithm, (double, int),
+ double x _AND
+ int ten)
+{
+ int N;
+ double f, w, z;
+
+ /* Check for domain error here. */
+ if (x <= 0.0)
+ {
+ errno = ERANGE;
+ return (z_notanum.d);
+ }
+
+ /* Get the exponent and mantissa where x = f * 2^N. */
+ f = frexp (x, &N);
+
+ z = f - 0.5;
+
+ if (f > __SQRT_HALF)
+ z = (z - 0.5) / (f * 0.5 + 0.5);
+ else
+ {
+ N--;
+ z /= (z * 0.5 + 0.5);
+ }
+ w = z * z;
+
+ /* Use Newton's method with 4 terms. */
+ z += z * w * ((a[2] * w + a[1]) * w + a[0]) / (((w + b[2]) * w + b[1]) * w + b[0]);
+
+ if (N != 0)
+ z = (N * C2 + z) + N * C1;
+
+ if (ten)
+ z *= C3;
+
+ return (z);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_mathcnst.c b/newlib/libm/mathfp/s_mathcnst.c
new file mode 100644
index 00000000000..7865c7f78a3
--- /dev/null
+++ b/newlib/libm/mathfp/s_mathcnst.c
@@ -0,0 +1,24 @@
+/* @(#)z_mathcnst.c 1.0 98/08/13 */
+
+#include "zmath.h"
+#include "fdlibm.h"
+
+double BIGX = 7.09782712893383973096e+02;
+double SMALLX = -7.45133219101941108420e+02;
+double z_rooteps = 7.4505859692e-9;
+float z_rooteps_f = 1.7263349182589107e-4;
+
+ufloat z_hugeval_f = { 0x7f800000 };
+ufloat z_infinity_f = { 0x7f800000 };
+ufloat z_notanum_f = { 0xffd00000 };
+
+#ifdef ___IEEE_LITTLE_ENDIAN
+udouble z_hugeval = { 0x7ff00000, 0 };
+udouble z_infinity = { 0x7ff00000, 0 };
+udouble z_notanum = { 0xfff80000, 0 };
+#else
+udouble z_hugeval = { 0, 0x7ff00000 };
+udouble z_infinity = { 0, 0x7ff00000 };
+udouble z_notanum = { 0, 0xfff80000 };
+#endif /* ___IEEE_LITTLE_ENDIAN */
+
diff --git a/newlib/libm/mathfp/s_numtest.c b/newlib/libm/mathfp/s_numtest.c
new file mode 100644
index 00000000000..b41bb87f4d7
--- /dev/null
+++ b/newlib/libm/mathfp/s_numtest.c
@@ -0,0 +1,58 @@
+
+/* @(#)z_numtest.c 1.0 98/08/13 */
+/******************************************************************
+ * Numtest
+ *
+ * Input:
+ * x - pointer to a floating point value
+ *
+ * Output:
+ * An integer that indicates what kind of number was passed in:
+ * NUM = 3 - a finite value
+ * NAN = 2 - not a number
+ * INF = 1 - an infinite value
+ * 0 - zero
+ *
+ * Description:
+ * This routine returns an integer that indicates the character-
+ * istics of the number that was passed in.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+int
+_DEFUN (numtest, (double),
+ double x)
+{
+ __uint32_t hx, lx;
+ int exp;
+
+ EXTRACT_WORDS (hx, lx, x);
+
+ exp = (hx & 0x7ff00000) >> 20;
+
+ /* Check for a zero input. */
+ if (x == 0.0)
+ {
+ return (0);
+ }
+
+ /* Check for not a number or infinity. */
+ if (exp == 0x7ff)
+ {
+ if(hx & 0xf0000 || lx)
+ return (NAN);
+ else
+ return (INF);
+ }
+
+ /* Otherwise it's a finite value. */
+ else
+ return (NUM);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_pow.c b/newlib/libm/mathfp/s_pow.c
new file mode 100644
index 00000000000..7c0a38a208c
--- /dev/null
+++ b/newlib/libm/mathfp/s_pow.c
@@ -0,0 +1,146 @@
+
+/* @(#)z_pow.c 1.0 98/08/13 */
+
+/*
+FUNCTION
+ <<pow>>, <<powf>>---x to the power y
+INDEX
+ pow
+INDEX
+ powf
+
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double pow(double <[x]>, double <[y]>);
+ float pow(float <[x]>, float <[y]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double pow(<[x]>, <[y]>);
+ double <[x]>, <[y]>;
+
+ float pow(<[x]>, <[y]>);
+ float <[x]>, <[y]>;
+
+DESCRIPTION
+ <<pow>> and <<powf>> calculate <[x]> raised to the exp1.0nt <[y]>.
+ @tex
+ (That is, $x^y$.)
+ @end tex
+
+RETURNS
+ On success, <<pow>> and <<powf>> return the value calculated.
+
+ When the argument values would produce overflow, <<pow>>
+ returns <<HUGE_VAL>> and set <<errno>> to <<ERANGE>>. If the
+ argument <[x]> passed to <<pow>> or <<powf>> is a negative
+ noninteger, and <[y]> is also not an integer, then <<errno>>
+ is set to <<EDOM>>. If <[x]> and <[y]> are both 0, then
+ <<pow>> and <<powf>> return <<1>>.
+
+ You can modify error handling for these functions using <<matherr>>.
+
+PORTABILITY
+ <<pow>> is ANSI C. <<powf>> is an extension. */
+
+#include <float.h>
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+double pow (double x, double y)
+{
+ double d, t, r = 1.0;
+ int n, k, sign = 0;
+ __uint32_t px;
+
+ GET_HIGH_WORD (px, x);
+
+ k = modf (y, &d);
+ if (k == 0.0)
+ {
+ if (modf (ldexp (y, -1), &t))
+ sign = 0;
+ else
+ sign = 1;
+ }
+
+ if (x == 0.0 && y <= 0.0)
+ errno = EDOM;
+
+ else if ((t = y * log (fabs (x))) >= BIGX)
+ {
+ errno = ERANGE;
+ if (px & 0x80000000)
+ {
+ if (!k)
+ {
+ errno = EDOM;
+ x = 0.0;
+ }
+ else if (sign)
+ x = -z_infinity.d;
+ else
+ x = z_infinity.d;
+ }
+
+ else
+ x = z_infinity.d;
+ }
+
+ else if (t < SMALLX)
+ {
+ errno = ERANGE;
+ x = 0.0;
+ }
+
+ else
+ {
+ if ( k && fabs(d) <= 32767 )
+ {
+ n = (int) d;
+
+ if (sign = (n < 0))
+ n = -n;
+
+ while ( n > 0 )
+ {
+ if ((unsigned int) n % 2)
+ r *= x;
+ x *= x;
+ n = (unsigned int) n / 2;
+ }
+
+ if (sign)
+ r = 1.0 / r;
+
+ return r;
+ }
+
+ else
+ {
+ if ( px & 0x80000000 )
+ {
+ if ( !k )
+ {
+ errno = EDOM;
+ return 0.0;
+ }
+ }
+
+ x = exp (t);
+
+ if ( sign )
+ {
+ px ^= 0x80000000;
+ SET_HIGH_WORD (x, px);
+ }
+ }
+ }
+
+ return x;
+}
+
+#endif _DOUBLE_IS_32BITS
diff --git a/newlib/libm/mathfp/s_signif.c b/newlib/libm/mathfp/s_signif.c
new file mode 100644
index 00000000000..76b5f7cb629
--- /dev/null
+++ b/newlib/libm/mathfp/s_signif.c
@@ -0,0 +1,34 @@
+
+/* @(#)s_signif.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * significand(x) computes just
+ * scalb(x, (double) -ilogb(x)),
+ * for exercising the fraction-part(F) IEEE 754-1985 test vector.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double significand(double x)
+#else
+ double significand(x)
+ double x;
+#endif
+{
+ return scalb(x,(double) -ilogb(x));
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_sin.c b/newlib/libm/mathfp/s_sin.c
new file mode 100644
index 00000000000..2051304e010
--- /dev/null
+++ b/newlib/libm/mathfp/s_sin.c
@@ -0,0 +1,29 @@
+
+/* @(#)z_sin.c 1.0 98/08/13 */
+/******************************************************************
+ * Sine
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * sine of x
+ *
+ * Description:
+ * This routine returns the sine of x.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+double
+_DEFUN (sin, (double),
+ double x)
+{
+ return (sine (x, 0));
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_sine.c b/newlib/libm/mathfp/s_sine.c
new file mode 100644
index 00000000000..9642f4a562b
--- /dev/null
+++ b/newlib/libm/mathfp/s_sine.c
@@ -0,0 +1,166 @@
+
+/* @(#)z_sine.c 1.0 98/08/13 */
+/******************************************************************
+ * The following routines are coded directly from the algorithms
+ * and coefficients given in "Software Manual for the Elementary
+ * Functions" by William J. Cody, Jr. and William Waite, Prentice
+ * Hall, 1980.
+ ******************************************************************/
+
+/*
+FUNCTION
+ <<sin>>, <<cos>>, <<sine>>, <<sinf>>, <<cosf>>, <<sinef>>---sine or cosine
+INDEX
+sin
+INDEX
+sinf
+INDEX
+cos
+INDEX
+cosf
+ANSI_SYNOPSIS
+ #include <math.h>
+ double sin(double <[x]>);
+ float sinf(float <[x]>);
+ double cos(double <[x]>);
+ float cosf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double sin(<[x]>)
+ double <[x]>;
+ float sinf(<[x]>)
+ float <[x]>;
+
+ double cos(<[x]>)
+ double <[x]>;
+ float cosf(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+ <<sin>> and <<cos>> compute (respectively) the sine and cosine
+ of the argument <[x]>. Angles are specified in radians.
+RETURNS
+ The sine or cosine of <[x]> is returned.
+
+PORTABILITY
+ <<sin>> and <<cos>> are ANSI C.
+ <<sinf>> and <<cosf>> are extensions.
+
+QUICKREF
+ sin ansi pure
+ sinf - pure
+*/
+
+/******************************************************************
+ * sine
+ *
+ * Input:
+ * x - floating point value
+ * cosine - indicates cosine value
+ *
+ * Output:
+ * Sine of x.
+ *
+ * Description:
+ * This routine calculates sines and cosines.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+static const double HALF_PI = 1.57079632679489661923;
+static const double ONE_OVER_PI = 0.31830988618379067154;
+static const double r[] = { -0.16666666666666665052,
+ 0.83333333333331650314e-02,
+ -0.19841269841201840457e-03,
+ 0.27557319210152756119e-05,
+ -0.25052106798274584544e-07,
+ 0.16058936490371589114e-09,
+ -0.76429178068910467734e-12,
+ 0.27204790957888846175e-14 };
+
+double
+_DEFUN (sine, (double, int),
+ double x _AND
+ int cosine)
+{
+ int sgn, N;
+ double y, XN, g, R, res;
+ double YMAX = 210828714.0;
+
+ switch (numtest (x))
+ {
+ case NAN:
+ errno = EDOM;
+ return (x);
+ case INF:
+ errno = EDOM;
+ return (z_notanum.d);
+ }
+
+ /* Use sin and cos properties to ease computations. */
+ if (cosine)
+ {
+ sgn = 1;
+ y = fabs (x) + HALF_PI;
+ }
+ else
+ {
+ if (x < 0.0)
+ {
+ sgn = -1;
+ y = -x;
+ }
+ else
+ {
+ sgn = 1;
+ y = x;
+ }
+ }
+
+ /* Check for values of y that will overflow here. */
+ if (y > YMAX)
+ {
+ errno = ERANGE;
+ return (x);
+ }
+
+ /* Calculate the exponent. */
+ if (y < 0.0)
+ N = (int) (y * ONE_OVER_PI - 0.5);
+ else
+ N = (int) (y * ONE_OVER_PI + 0.5);
+ XN = (double) N;
+
+ if (N & 1)
+ sgn = -sgn;
+
+ if (cosine)
+ XN -= 0.5;
+
+ y = fabs (x) - XN * __PI;
+
+ if (-z_rooteps < y && y < z_rooteps)
+ res = y;
+
+ else
+ {
+ g = y * y;
+
+ /* Calculate the Taylor series. */
+ R = (((((((r[6] * g + r[5]) * g + r[4]) * g + r[3]) * g + r[2]) * g + r[1]) * g + r[0]) * g);
+
+ /* Finally, compute the result. */
+ res = y + y * R;
+ }
+
+ res *= sgn;
+
+ return (res);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_sineh.c b/newlib/libm/mathfp/s_sineh.c
new file mode 100644
index 00000000000..6b3480d73a2
--- /dev/null
+++ b/newlib/libm/mathfp/s_sineh.c
@@ -0,0 +1,185 @@
+
+/* @(#)z_sineh.c 1.0 98/08/13 */
+/******************************************************************
+ * The following routines are coded directly from the algorithms
+ * and coefficients given in "Software Manual for the Elementary
+ * Functions" by William J. Cody, Jr. and William Waite, Prentice
+ * Hall, 1980.
+ ******************************************************************/
+
+/*
+FUNCTION
+ <<sinh>>, <<sinhf>>, <<cosh>>, <<coshf>>, <<sineh>>---hyperbolic sine or cosine
+
+INDEX
+ sinh
+INDEX
+ sinhf
+INDEX
+ cosh
+INDEX
+ coshf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double sinh(double <[x]>);
+ float sinhf(float <[x]>);
+ double cosh(double <[x]>);
+ float coshf(float <[x]>);
+TRAD_SYNOPSIS
+ #include <math.h>
+ double sinh(<[x]>)
+ double <[x]>;
+
+ float sinhf(<[x]>)
+ float <[x]>;
+
+ double cosh(<[x]>)
+ double <[x]>;
+
+ float coshf(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+ <<sinh>> and <<cosh>> compute the hyperbolic sine or cosine
+ of the argument <[x]>.
+ Angles are specified in radians. <<sinh>>(<[x]>) is defined as
+ @ifinfo
+ . (exp(<[x]>) - exp(-<[x]>))/2
+ @end ifinfo
+ @tex
+ $${e^x - e^{-x}}\over 2$$
+ @end tex
+ <<cosh>> is defined as
+ @ifinfo
+ . (exp(<[x]>) - exp(-<[x]>))/2
+ @end ifinfo
+ @tex
+ $${e^x + e^{-x}}\over 2$$
+ @end tex
+
+ <<sinhf>> and <<coshf>> are identical, save that they take
+ and returns <<float>> values.
+
+RETURNS
+ The hyperbolic sine or cosine of <[x]> is returned.
+
+ When the correct result is too large to be representable (an
+ overflow), the functions return <<HUGE_VAL>> with the
+ appropriate sign, and sets the global value <<errno>> to
+ <<ERANGE>>.
+
+PORTABILITY
+ <<sinh>> is ANSI C.
+ <<sinhf>> is an extension.
+ <<cosh>> is ANSI C.
+ <<coshf>> is an extension.
+
+*/
+
+/******************************************************************
+ * Hyperbolic Sine
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * hyperbolic sine of x
+ *
+ * Description:
+ * This routine calculates hyperbolic sines.
+ *
+ *****************************************************************/
+
+#include <float.h>
+#include "fdlibm.h"
+#include "zmath.h"
+
+static const double q[] = { -0.21108770058106271242e+7,
+ 0.36162723109421836460e+5,
+ -0.27773523119650701667e+3 };
+static const double p[] = { -0.35181283430177117881e+6,
+ -0.11563521196851768270e+5,
+ -0.16375798202630751372e+3,
+ -0.78966127417357099479 };
+static const double LNV = 0.6931610107421875000;
+static const double INV_V2 = 0.24999308500451499336;
+static const double V_OVER2_MINUS1 = 0.13830277879601902638e-4;
+
+double
+_DEFUN (sineh, (double, int),
+ double x _AND
+ int cosineh)
+{
+ double y, f, P, Q, R, res, z, w;
+ int sgn = 1;
+ double WBAR = 18.55;
+
+ /* Check for special values. */
+ switch (numtest (x))
+ {
+ case NAN:
+ errno = EDOM;
+ return (x);
+ case INF:
+ errno = ERANGE;
+ return (ispos (x) ? z_infinity.d : -z_infinity.d);
+ }
+
+ y = fabs (x);
+
+ if (!cosineh && x < 0.0)
+ sgn = -1;
+
+ if ((y > 1.0 && !cosineh) || cosineh)
+ {
+ if (y > BIGX)
+ {
+ w = y - LNV;
+
+ /* Check for w > maximum here. */
+ if (w > BIGX)
+ {
+ errno = ERANGE;
+ return (x);
+ }
+
+ z = exp (w);
+
+ if (w > WBAR)
+ res = z * (V_OVER2_MINUS1 + 1.0);
+ }
+
+ else
+ {
+ z = exp (y);
+ if (cosineh)
+ res = (z + 1 / z) / 2.0;
+ else
+ res = (z - 1 / z) / 2.0;
+ }
+
+ if (sgn < 0)
+ res = -res;
+ }
+ else
+ {
+ /* Check for y being too small. */
+ if (y < z_rooteps)
+ {
+ res = x;
+ }
+ /* Calculate the Taylor series. */
+ else
+ {
+ f = x * x;
+ Q = ((f + q[2]) * f + q[1]) * f + q[0];
+ P = ((p[3] * f + p[2]) * f + p[1]) * f + p[0];
+ R = f * (P / Q);
+
+ res = x + x * R;
+ }
+ }
+
+ return (res);
+}
diff --git a/newlib/libm/mathfp/s_sinf.c b/newlib/libm/mathfp/s_sinf.c
new file mode 100644
index 00000000000..b738a49b91a
--- /dev/null
+++ b/newlib/libm/mathfp/s_sinf.c
@@ -0,0 +1,34 @@
+
+/* @(#)z_sinf.c 1.0 98/08/13 */
+/******************************************************************
+ * Sine
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * sine of x
+ *
+ * Description:
+ * This routine returns the sine of x.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+float
+_DEFUN (sinf, (float),
+ float x)
+{
+ return (sinef (x, 0));
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+double sin (double x)
+{
+ return (double) sinf ((float) x);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_sinh.c b/newlib/libm/mathfp/s_sinh.c
new file mode 100644
index 00000000000..c600ee0da6f
--- /dev/null
+++ b/newlib/libm/mathfp/s_sinh.c
@@ -0,0 +1,29 @@
+
+/* @(#)z_sinh.c 1.0 98/08/13 */
+/******************************************************************
+ * Hyperbolic Sine
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * hyperbolic sine of x
+ *
+ * Description:
+ * This routine returns the hyperbolic sine of x.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+double
+_DEFUN (sinh, (double),
+ double x)
+{
+ return (sineh (x, 0));
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_sqrt.c b/newlib/libm/mathfp/s_sqrt.c
new file mode 100644
index 00000000000..bafbb38b14f
--- /dev/null
+++ b/newlib/libm/mathfp/s_sqrt.c
@@ -0,0 +1,129 @@
+
+/* @(#)z_sqrt.c 1.0 98/08/13 */
+/*****************************************************************
+ * The following routines are coded directly from the algorithms
+ * and coefficients given in "Software Manual for the Elementary
+ * Functions" by William J. Cody, Jr. and William Waite, Prentice
+ * Hall, 1980.
+ *****************************************************************/
+
+/*
+FUNCTION
+ <<sqrt>>, <<sqrtf>>---positive square root
+
+INDEX
+ sqrt
+INDEX
+ sqrtf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double sqrt(double <[x]>);
+ float sqrtf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double sqrt(<[x]>);
+ float sqrtf(<[x]>);
+
+DESCRIPTION
+ <<sqrt>> computes the positive square root of the argument.
+
+RETURNS
+ On success, the square root is returned. If <[x]> is real and
+ positive, then the result is positive. If <[x]> is real and
+ negative, the global value <<errno>> is set to <<EDOM>> (domain error).
+
+
+PORTABILITY
+ <<sqrt>> is ANSI C. <<sqrtf>> is an extension.
+*/
+
+/******************************************************************
+ * Square Root
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * square-root of x
+ *
+ * Description:
+ * This routine performs floating point square root.
+ *
+ * The initial approximation is computed as
+ * y0 = 0.41731 + 0.59016 * f
+ * where f is a fraction such that x = f * 2^exp.
+ *
+ * Three Newton iterations in the form of Heron's formula
+ * are then performed to obtain the final value:
+ * y[i] = (y[i-1] + f / y[i-1]) / 2, i = 1, 2, 3.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+double
+_DEFUN (sqrt, (double),
+ double x)
+{
+ double f, y;
+ int exp, i, odd;
+
+ /* Check for special values. */
+ switch (numtest (x))
+ {
+ case NAN:
+ errno = EDOM;
+ return (x);
+ case INF:
+ if (ispos (x))
+ {
+ errno = EDOM;
+ return (z_notanum.d);
+ }
+ else
+ {
+ errno = ERANGE;
+ return (z_infinity.d);
+ }
+ }
+
+ /* Initial checks are performed here. */
+ if (x == 0.0)
+ return (0.0);
+ if (x < 0)
+ {
+ errno = EDOM;
+ return (z_notanum.d);
+ }
+
+ /* Find the exponent and mantissa for the form x = f * 2^exp. */
+ f = frexp (x, &exp);
+
+ odd = exp & 1;
+
+ /* Get the initial approximation. */
+ y = 0.41731 + 0.59016 * f;
+
+ f /= 2.0;
+ /* Calculate the remaining iterations. */
+ for (i = 0; i < 3; ++i)
+ y = y / 2.0 + f / y;
+
+ /* Calculate the final value. */
+ if (odd)
+ {
+ y *= __SQRT_HALF;
+ exp++;
+ }
+ exp >>= 1;
+ y = ldexp (y, exp);
+
+ return (y);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_tan.c b/newlib/libm/mathfp/s_tan.c
new file mode 100644
index 00000000000..725aeec265d
--- /dev/null
+++ b/newlib/libm/mathfp/s_tan.c
@@ -0,0 +1,139 @@
+
+/* @(#)z_tan.c 1.0 98/08/13 */
+/******************************************************************
+ * The following routines are coded directly from the algorithms
+ * and coefficients given in "Software Manual for the Elementary
+ * Functions" by William J. Cody, Jr. and William Waite, Prentice
+ * Hall, 1980.
+ ******************************************************************/
+
+/*
+FUNCTION
+ <<tan>>, <<tanf>>---tangent
+
+INDEX
+tan
+INDEX
+tanf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double tan(double <[x]>);
+ float tanf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double tan(<[x]>)
+ double <[x]>;
+
+ float tanf(<[x]>)
+ float <[x]>;
+
+
+DESCRIPTION
+<<tan>> computes the tangent of the argument <[x]>.
+Angles are specified in radians.
+
+<<tanf>> is identical, save that it takes and returns <<float>> values.
+
+RETURNS
+The tangent of <[x]> is returned.
+
+PORTABILITY
+<<tan>> is ANSI. <<tanf>> is an extension.
+*/
+
+/******************************************************************
+ * Tangent
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * tangent of x
+ *
+ * Description:
+ * This routine calculates the tangent of x.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+static const double TWO_OVER_PI = 0.63661977236758134308;
+static const double p[] = { -0.13338350006421960681,
+ 0.34248878235890589960e-2,
+ -0.17861707342254426711e-4 };
+static const double q[] = { -0.46671683339755294240,
+ 0.25663832289440112864e-1,
+ -0.31181531907010027307e-3,
+ 0.49819433993786512270e-6 };
+
+double
+_DEFUN (tan, (double),
+ double x)
+{
+ double y, f, g, XN, xnum, xden, res;
+ int N;
+
+ /* Check for special values. */
+ switch (numtest (x))
+ {
+ case NAN:
+ errno = EDOM;
+ return (x);
+ case INF:
+ errno = EDOM;
+ return (z_notanum.d);
+ }
+
+ y = fabs (x);
+
+ /* Check for values that are out of our range. */
+ if (y > 105414357.0)
+ {
+ errno = ERANGE;
+ return (y);
+ }
+
+ if (x < 0.0)
+ N = (int) (x * TWO_OVER_PI - 0.5);
+ else
+ N = (int) (x * TWO_OVER_PI + 0.5);
+
+ XN = (double) N;
+
+ f = x - N * __PI_OVER_TWO;
+
+ /* Check for values that are too small. */
+ if (-z_rooteps < f && f < z_rooteps)
+ {
+ xnum = f;
+ xden = 1.0;
+ }
+
+ /* Calculate the polynomial. */
+ else
+ {
+ g = f * f;
+
+ xnum = f * ((p[2] * g + p[1]) * g + p[0]) * g + f;
+ xden = (((q[3] * g + q[2]) * g + q[1]) * g + q[0]) * g + 1.0;
+ }
+
+ if (N & 1)
+ {
+ xnum = -xnum;
+ res = xden / xnum;
+ }
+ else
+ {
+ res = xnum / xden;
+ }
+
+ return (res);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/s_tanh.c b/newlib/libm/mathfp/s_tanh.c
new file mode 100644
index 00000000000..a19855e0b01
--- /dev/null
+++ b/newlib/libm/mathfp/s_tanh.c
@@ -0,0 +1,117 @@
+
+/* @(#)z_tanh.c 1.0 98/08/13 */
+/*****************************************************************
+ * The following routines are coded directly from the algorithms
+ * and coefficients given in "Software Manual for the Elementary
+ * Functions" by William J. Cody, Jr. and William Waite, Prentice
+ * Hall, 1980.
+ *****************************************************************/
+
+/*
+
+FUNCTION
+ <<tanh>>, <<tanhf>>---hyperbolic tangent
+
+INDEX
+tanh
+INDEX
+tanhf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double tanh(double <[x]>);
+ float tanhf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double tanh(<[x]>)
+ double <[x]>;
+
+ float tanhf(<[x]>)
+ float <[x]>;
+
+
+DESCRIPTION
+
+<<tanh>> computes the hyperbolic tangent of
+the argument <[x]>. Angles are specified in radians.
+
+<<tanh(<[x]>)>> is defined as
+. sinh(<[x]>)/cosh(<[x]>)
+
+<<tanhf>> is identical, save that it takes and returns <<float>> values.
+
+RETURNS
+The hyperbolic tangent of <[x]> is returned.
+
+PORTABILITY
+<<tanh>> is ANSI C. <<tanhf>> is an extension.
+
+*/
+
+/******************************************************************
+ * Hyperbolic Tangent
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * hyperbolic tangent of x
+ *
+ * Description:
+ * This routine calculates hyperbolic tangent.
+ *
+ *****************************************************************/
+
+#include <float.h>
+#include "fdlibm.h"
+#include "zmath.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+static const double LN3_OVER2 = 0.54930614433405484570;
+static const double p[] = { -0.16134119023996228053e+4,
+ -0.99225929672236083313e+2,
+ -0.96437492777225469787 };
+static const double q[] = { 0.48402357071988688686e+4,
+ 0.22337720718962312926e+4,
+ 0.11274474380534949335e+3 };
+
+double
+_DEFUN (tanh, (double),
+ double x)
+{
+ double f, res, g, P, Q, R;
+
+ f = fabs (x);
+
+ /* Check if the input is too big. */
+ if (f > BIGX)
+ res = 1.0;
+
+ else if (f > LN3_OVER2)
+ res = 1.0 - 2.0 / (exp (2 * f) + 1.0);
+
+ /* Check if the input is too small. */
+ else if (f < z_rooteps)
+ res = f;
+
+ /* Calculate the Taylor series. */
+ else
+ {
+ g = f * f;
+
+ P = (p[2] * g + p[1]) * g + p[0];
+ Q = ((g + q[2]) * g + q[1]) * g + q[0];
+ R = g * (P / Q);
+
+ res = f + f * R;
+ }
+
+ if (x < 0.0)
+ res = -res;
+
+ return (res);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/sf_acos.c b/newlib/libm/mathfp/sf_acos.c
new file mode 100644
index 00000000000..6bef9804152
--- /dev/null
+++ b/newlib/libm/mathfp/sf_acos.c
@@ -0,0 +1,33 @@
+
+/* @(#)z_acosf.c 1.0 98/08/13 */
+/******************************************************************
+ * Arccosine
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * arccosine of x
+ *
+ * Description:
+ * This routine returns the arccosine of x.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+float
+_DEFUN (acosf, (float),
+ float x)
+{
+ return (asinef (x, 1));
+}
+
+#ifdef _DOUBLE_IS_32BITS
+double acos (double x)
+{
+ return (double) asinef ((float) x, 1);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/sf_asin.c b/newlib/libm/mathfp/sf_asin.c
new file mode 100644
index 00000000000..92c33fda325
--- /dev/null
+++ b/newlib/libm/mathfp/sf_asin.c
@@ -0,0 +1,34 @@
+
+/* @(#)z_asinf.c 1.0 98/08/13 */
+/******************************************************************
+ * Arcsine
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * arcsine of x
+ *
+ * Description:
+ * This routine returns the arcsine of x.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+float
+_DEFUN (asinf, (float),
+ float x)
+{
+ return (asinef (x, 0));
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+double asin (double x)
+{
+ return (double) asinef ((float) x, 0);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/sf_asine.c b/newlib/libm/mathfp/sf_asine.c
new file mode 100644
index 00000000000..12ba28927d7
--- /dev/null
+++ b/newlib/libm/mathfp/sf_asine.c
@@ -0,0 +1,105 @@
+
+/* @(#)z_asinef.c 1.0 98/08/13 */
+/******************************************************************
+ * The following routines are coded directly from the algorithms
+ * and coefficients given in "Software Manual for the Elementary
+ * Functions" by William J. Cody, Jr. and William Waite, Prentice
+ * Hall, 1980.
+ ******************************************************************/
+/******************************************************************
+ * Arcsine
+ *
+ * Input:
+ * x - floating point value
+ * acosine - indicates acos calculation
+ *
+ * Output:
+ * Arcsine of x.
+ *
+ * Description:
+ * This routine calculates arcsine / arccosine.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+static const float p[] = { 0.933935835, -0.504400557 };
+static const float q[] = { 0.560363004e+1, -0.554846723e+1 };
+static const float a[] = { 0.0, 0.785398163 };
+static const float b[] = { 1.570796326, 0.785398163 };
+
+float
+_DEFUN (asinef, (float, int),
+ float x _AND
+ int acosine)
+{
+ int flag, i;
+ int branch = 0;
+ float g, res, R, P, Q, y;
+
+ /* Check for special values. */
+ i = numtestf (x);
+ if (i == NAN || i == INF)
+ {
+ errno = EDOM;
+ if (i == NAN)
+ return (x);
+ else
+ return (z_infinity_f.f);
+ }
+
+ y = fabsf (x);
+ flag = acosine;
+
+ if (y > 0.5)
+ {
+ i = 1 - flag;
+
+ /* Check for range error. */
+ if (y > 1.0)
+ {
+ errno = ERANGE;
+ return (z_notanum_f.f);
+ }
+
+ g = (1 - y) / 2.0;
+ y = -2 * sqrt (g);
+ branch = 1;
+ }
+ else
+ {
+ i = flag;
+ if (y < z_rooteps_f)
+ res = y;
+ else
+ g = y * y;
+ }
+
+ if (y >= z_rooteps_f || branch == 1)
+ {
+ /* Calculate the Taylor series. */
+ P = (p[1] * g + p[0]) * g;
+ Q = (g + q[1]) * g + q[0];
+ R = P / Q;
+
+ res = y + y * R;
+ }
+
+ /* Calculate asine or acose. */
+ if (flag == 0)
+ {
+ res = (a[i] + res) + a[i];
+ if (x < 0.0)
+ res = -res;
+ }
+ else
+ {
+ if (x < 0.0)
+ res = (b[i] + res) + b[i];
+ else
+ res = (a[i] - res) + a[i];
+ }
+
+ return (res);
+}
diff --git a/newlib/libm/mathfp/sf_asinh.c b/newlib/libm/mathfp/sf_asinh.c
new file mode 100644
index 00000000000..ee07e39f0fa
--- /dev/null
+++ b/newlib/libm/mathfp/sf_asinh.c
@@ -0,0 +1,66 @@
+/* sf_asinh.c -- float version of s_asinh.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+one = 1.0000000000e+00, /* 0x3F800000 */
+ln2 = 6.9314718246e-01, /* 0x3f317218 */
+huge= 1.0000000000e+30;
+
+#ifdef __STDC__
+ float asinhf(float x)
+#else
+ float asinhf(x)
+ float x;
+#endif
+{
+ float t,w;
+ __int32_t hx,ix;
+ GET_FLOAT_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x7f800000) return x+x; /* x is inf or NaN */
+ if(ix< 0x31800000) { /* |x|<2**-28 */
+ if(huge+x>one) return x; /* return x inexact except 0 */
+ }
+ if(ix>0x4d800000) { /* |x| > 2**28 */
+ w = logf(fabsf(x))+ln2;
+ } else if (ix>0x40000000) { /* 2**28 > |x| > 2.0 */
+ t = fabsf(x);
+ w = logf((float)2.0*t+one/(sqrtf(x*x+one)+t));
+ } else { /* 2.0 > |x| > 2**-28 */
+ t = x*x;
+ w =log1pf(fabsf(x)+t/(one+sqrtf(one+t)));
+ }
+ if(hx>0) return w; else return -w;
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double asinh(double x)
+#else
+ double asinh(x)
+ double x;
+#endif
+{
+ return (double) asinhf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/sf_atan.c b/newlib/libm/mathfp/sf_atan.c
new file mode 100644
index 00000000000..26be2fafa41
--- /dev/null
+++ b/newlib/libm/mathfp/sf_atan.c
@@ -0,0 +1,45 @@
+
+/* @(#)z_atanf.c 1.0 98/08/13 */
+/******************************************************************
+ * Arctangent
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * arctan of x
+ *
+ * Description:
+ * This routine returns the arctan of x.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+float
+_DEFUN (atanf, (float),
+ float x)
+{
+ switch (numtestf (x))
+ {
+ case NAN:
+ errno = EDOM;
+ return (x);
+ case INF:
+ /* this should check to see if neg NaN or pos NaN... */
+ return (__PI_OVER_TWO);
+ case 0:
+ return (0.0);
+ default:
+ return (atangentf (x, 0, 0, 0));
+ }
+}
+
+#ifdef _DOUBLE_IS_32BITS
+double atan (double x)
+{
+ return (double) atangentf ((float) x, 0);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/sf_atan2.c b/newlib/libm/mathfp/sf_atan2.c
new file mode 100644
index 00000000000..f3237a5e613
--- /dev/null
+++ b/newlib/libm/mathfp/sf_atan2.c
@@ -0,0 +1,34 @@
+
+/* @(#)z_atan2f.c 1.0 98/08/13 */
+/******************************************************************
+ * Arctangent2
+ *
+ * Input:
+ * v, u - floating point values
+ *
+ * Output:
+ * arctan2 of v / u
+ *
+ * Description:
+ * This routine returns the arctan2 of v / u.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+float
+_DEFUN (atan2f, (float, float),
+ float v _AND
+ float u)
+{
+ return (atangentf (0.0, v, u, 1));
+}
+
+#ifdef _DOUBLE_IS_32BITS
+double atan2f (double v, double u)
+{
+ return (double) atangentf (0.0, (float) v, (float) u, 1);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/sf_atangent.c b/newlib/libm/mathfp/sf_atangent.c
new file mode 100644
index 00000000000..55a90063c3e
--- /dev/null
+++ b/newlib/libm/mathfp/sf_atangent.c
@@ -0,0 +1,140 @@
+
+/* @(#)z_atangentf.c 1.0 98/08/13 */
+/******************************************************************
+ * The following routines are coded directly from the algorithms
+ * and coefficients given in "Software Manual for the Elementary
+ * Functions" by William J. Cody, Jr. and William Waite, Prentice
+ * Hall, 1980.
+ ******************************************************************/
+/******************************************************************
+ * Arctangent
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * arctangent of x
+ *
+ * Description:
+ * This routine calculates arctangents.
+ *
+ *****************************************************************/
+
+#include <float.h>
+#include "fdlibm.h"
+#include "zmath.h"
+
+static const float ROOT3 = 1.732050807;
+static const float a[] = { 0.0, 0.523598775, 1.570796326,
+ 1.047197551 };
+static const float q[] = { 0.1412500740e+1 };
+static const float p[] = { -0.4708325141, -0.5090958253e-1 };
+
+float
+_DEFUN (atangentf, (float, float, float, int),
+ float x _AND
+ float v _AND
+ float u _AND
+ int arctan2)
+{
+ float f, g, R, P, Q, A, res;
+ int N;
+ int branch = 0;
+ int expv, expu;
+
+ /* Preparation for calculating arctan2. */
+ if (arctan2)
+ {
+ if (u == 0.0)
+ if (v == 0.0)
+ {
+ errno = ERANGE;
+ return (z_notanum_f.f);
+ }
+ else
+ {
+ branch = 1;
+ res = __PI_OVER_TWO;
+ }
+
+ if (!branch)
+ {
+ int e;
+ /* Get the exponent values of the inputs. */
+ g = frexpf (v, &expv);
+ g = frexpf (u, &expu);
+
+ /* See if a divide will overflow. */
+ e = expv - expu;
+ if (e > FLT_MAX_EXP)
+ {
+ branch = 1;
+ res = __PI_OVER_TWO;
+ }
+
+ /* Also check for underflow. */
+ else if (e < FLT_MIN_EXP)
+ {
+ branch = 2;
+ res = 0.0;
+ }
+ }
+ }
+
+ if (!branch)
+ {
+ if (arctan2)
+ f = fabsf (v / u);
+ else
+ f = fabsf (x);
+
+ if (f > 1.0)
+ {
+ f = 1.0 / f;
+ N = 2;
+ }
+ else
+ N = 0;
+
+ if (f > (2.0 - ROOT3))
+ {
+ A = ROOT3 - 1.0;
+ f = (((A * f - 0.5) - 0.5) + f) / (ROOT3 + f);
+ N++;
+ }
+
+ /* Check for values that are too small. */
+ if (-z_rooteps_f < f && f < z_rooteps_f)
+ res = f;
+
+ /* Calculate the Taylor series. */
+ else
+ {
+ g = f * f;
+ P = (p[1] * g + p[0]) * g;
+ Q = g + q[0];
+ R = P / Q;
+
+ res = f + f * R;
+ }
+
+ if (N > 1)
+ res = -res;
+
+ res += a[N];
+ }
+
+ if (arctan2)
+ {
+ if (u < 0.0 || branch == 2)
+ res = __PI - res;
+ if (v < 0.0 || branch == 1)
+ res = -res;
+ }
+ else if (x < 0.0)
+ {
+ res = -res;
+ }
+
+ return (res);
+}
diff --git a/newlib/libm/mathfp/sf_ceil.c b/newlib/libm/mathfp/sf_ceil.c
new file mode 100644
index 00000000000..bc8e1403b3d
--- /dev/null
+++ b/newlib/libm/mathfp/sf_ceil.c
@@ -0,0 +1,42 @@
+
+/* @(#)z_ceilf.c 1.0 98/08/13 */
+/*****************************************************************
+ * ceil
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * Smallest integer greater than x.
+ *
+ * Description:
+ * This routine returns the smallest integer greater than x.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+float
+_DEFUN (ceilf, (float),
+ float x)
+{
+ float f, y;
+
+ y = modff (x, &f);
+
+ if (y == 0.0)
+ return (x);
+ else if (x > -1.0 && x < 1.0)
+ return (x > 0 ? 1.0 : 0.0);
+ else
+ return (x > 0 ? f + 1.0 : f);
+}
+
+#ifdef _DOUBLE_IS_32BITS
+double ceil (double x)
+{
+ return (double) ceilf ((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/sf_cos.c b/newlib/libm/mathfp/sf_cos.c
new file mode 100644
index 00000000000..057663e6932
--- /dev/null
+++ b/newlib/libm/mathfp/sf_cos.c
@@ -0,0 +1,34 @@
+
+/* @(#)z_cosf.c 1.0 98/08/13 */
+/******************************************************************
+ * Cosine
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * cosine of x
+ *
+ * Description:
+ * This routine returns the cosine of x.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+float
+_DEFUN (cosf, (float),
+ float x)
+{
+ return (sinef (x, 1));
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+double cos (double x)
+{
+ return (double) sinef ((float) x, 1);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/sf_cosh.c b/newlib/libm/mathfp/sf_cosh.c
new file mode 100644
index 00000000000..4635b7144dd
--- /dev/null
+++ b/newlib/libm/mathfp/sf_cosh.c
@@ -0,0 +1,33 @@
+
+/* @(#)z_coshf.c 1.0 98/08/13 */
+/******************************************************************
+ * Hyperbolic Cosine
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * hyperbolic cosine of x
+ *
+ * Description:
+ * This routine returns the hyperbolic cosine of x.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+float
+_DEFUN (coshf, (float),
+ float x)
+{
+ return (sinehf (x, 1));
+}
+
+#ifdef _DOUBLE_IS_32BITS
+double cosh (double x)
+{
+ return (double) sinehf ((float) x, 1);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/sf_erf.c b/newlib/libm/mathfp/sf_erf.c
new file mode 100644
index 00000000000..aa209f65aa8
--- /dev/null
+++ b/newlib/libm/mathfp/sf_erf.c
@@ -0,0 +1,246 @@
+/* sf_erf.c -- float version of s_erf.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __v810__
+#define const
+#endif
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+tiny = 1e-30,
+half= 5.0000000000e-01, /* 0x3F000000 */
+one = 1.0000000000e+00, /* 0x3F800000 */
+two = 2.0000000000e+00, /* 0x40000000 */
+ /* c = (subfloat)0.84506291151 */
+erx = 8.4506291151e-01, /* 0x3f58560b */
+/*
+ * Coefficients for approximation to erf on [0,0.84375]
+ */
+efx = 1.2837916613e-01, /* 0x3e0375d4 */
+efx8= 1.0270333290e+00, /* 0x3f8375d4 */
+pp0 = 1.2837916613e-01, /* 0x3e0375d4 */
+pp1 = -3.2504209876e-01, /* 0xbea66beb */
+pp2 = -2.8481749818e-02, /* 0xbce9528f */
+pp3 = -5.7702702470e-03, /* 0xbbbd1489 */
+pp4 = -2.3763017452e-05, /* 0xb7c756b1 */
+qq1 = 3.9791721106e-01, /* 0x3ecbbbce */
+qq2 = 6.5022252500e-02, /* 0x3d852a63 */
+qq3 = 5.0813062117e-03, /* 0x3ba68116 */
+qq4 = 1.3249473704e-04, /* 0x390aee49 */
+qq5 = -3.9602282413e-06, /* 0xb684e21a */
+/*
+ * Coefficients for approximation to erf in [0.84375,1.25]
+ */
+pa0 = -2.3621185683e-03, /* 0xbb1acdc6 */
+pa1 = 4.1485610604e-01, /* 0x3ed46805 */
+pa2 = -3.7220788002e-01, /* 0xbebe9208 */
+pa3 = 3.1834661961e-01, /* 0x3ea2fe54 */
+pa4 = -1.1089469492e-01, /* 0xbde31cc2 */
+pa5 = 3.5478305072e-02, /* 0x3d1151b3 */
+pa6 = -2.1663755178e-03, /* 0xbb0df9c0 */
+qa1 = 1.0642088205e-01, /* 0x3dd9f331 */
+qa2 = 5.4039794207e-01, /* 0x3f0a5785 */
+qa3 = 7.1828655899e-02, /* 0x3d931ae7 */
+qa4 = 1.2617121637e-01, /* 0x3e013307 */
+qa5 = 1.3637083583e-02, /* 0x3c5f6e13 */
+qa6 = 1.1984500103e-02, /* 0x3c445aa3 */
+/*
+ * Coefficients for approximation to erfc in [1.25,1/0.35]
+ */
+ra0 = -9.8649440333e-03, /* 0xbc21a093 */
+ra1 = -6.9385856390e-01, /* 0xbf31a0b7 */
+ra2 = -1.0558626175e+01, /* 0xc128f022 */
+ra3 = -6.2375331879e+01, /* 0xc2798057 */
+ra4 = -1.6239666748e+02, /* 0xc322658c */
+ra5 = -1.8460508728e+02, /* 0xc3389ae7 */
+ra6 = -8.1287437439e+01, /* 0xc2a2932b */
+ra7 = -9.8143291473e+00, /* 0xc11d077e */
+sa1 = 1.9651271820e+01, /* 0x419d35ce */
+sa2 = 1.3765776062e+02, /* 0x4309a863 */
+sa3 = 4.3456588745e+02, /* 0x43d9486f */
+sa4 = 6.4538726807e+02, /* 0x442158c9 */
+sa5 = 4.2900814819e+02, /* 0x43d6810b */
+sa6 = 1.0863500214e+02, /* 0x42d9451f */
+sa7 = 6.5702495575e+00, /* 0x40d23f7c */
+sa8 = -6.0424413532e-02, /* 0xbd777f97 */
+/*
+ * Coefficients for approximation to erfc in [1/.35,28]
+ */
+rb0 = -9.8649431020e-03, /* 0xbc21a092 */
+rb1 = -7.9928326607e-01, /* 0xbf4c9dd4 */
+rb2 = -1.7757955551e+01, /* 0xc18e104b */
+rb3 = -1.6063638306e+02, /* 0xc320a2ea */
+rb4 = -6.3756646729e+02, /* 0xc41f6441 */
+rb5 = -1.0250950928e+03, /* 0xc480230b */
+rb6 = -4.8351919556e+02, /* 0xc3f1c275 */
+sb1 = 3.0338060379e+01, /* 0x41f2b459 */
+sb2 = 3.2579251099e+02, /* 0x43a2e571 */
+sb3 = 1.5367296143e+03, /* 0x44c01759 */
+sb4 = 3.1998581543e+03, /* 0x4547fdbb */
+sb5 = 2.5530502930e+03, /* 0x451f90ce */
+sb6 = 4.7452853394e+02, /* 0x43ed43a7 */
+sb7 = -2.2440952301e+01; /* 0xc1b38712 */
+
+#ifdef __STDC__
+ float erff(float x)
+#else
+ float erff(x)
+ float x;
+#endif
+{
+ __int32_t hx,ix,i;
+ float R,S,P,Q,s,y,z,r;
+ GET_FLOAT_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x7f800000) { /* erf(nan)=nan */
+ i = ((__uint32_t)hx>>31)<<1;
+ return (float)(1-i)+one/x; /* erf(+-inf)=+-1 */
+ }
+
+ if(ix < 0x3f580000) { /* |x|<0.84375 */
+ if(ix < 0x31800000) { /* |x|<2**-28 */
+ if (ix < 0x04000000)
+ /*avoid underflow */
+ return (float)0.125*((float)8.0*x+efx8*x);
+ return x + efx*x;
+ }
+ z = x*x;
+ r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4)));
+ s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5))));
+ y = r/s;
+ return x + x*y;
+ }
+ if(ix < 0x3fa00000) { /* 0.84375 <= |x| < 1.25 */
+ s = fabsf(x)-one;
+ P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6)))));
+ Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6)))));
+ if(hx>=0) return erx + P/Q; else return -erx - P/Q;
+ }
+ if (ix >= 0x40c00000) { /* inf>|x|>=6 */
+ if(hx>=0) return one-tiny; else return tiny-one;
+ }
+ x = fabsf(x);
+ s = one/(x*x);
+ if(ix< 0x4036DB6E) { /* |x| < 1/0.35 */
+ R=ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*(
+ ra5+s*(ra6+s*ra7))))));
+ S=one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*(
+ sa5+s*(sa6+s*(sa7+s*sa8)))))));
+ } else { /* |x| >= 1/0.35 */
+ R=rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*(
+ rb5+s*rb6)))));
+ S=one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*(
+ sb5+s*(sb6+s*sb7))))));
+ }
+ GET_FLOAT_WORD(ix,x);
+ SET_FLOAT_WORD(z,ix&0xfffff000);
+ r = expf(-z*z-(float)0.5625)*expf((z-x)*(z+x)+R/S);
+ if(hx>=0) return one-r/x; else return r/x-one;
+}
+
+#ifdef __STDC__
+ float erfcf(float x)
+#else
+ float erfcf(x)
+ float x;
+#endif
+{
+ __int32_t hx,ix;
+ float R,S,P,Q,s,y,z,r;
+ GET_FLOAT_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x7f800000) { /* erfc(nan)=nan */
+ /* erfc(+-inf)=0,2 */
+ return (float)(((__uint32_t)hx>>31)<<1)+one/x;
+ }
+
+ if(ix < 0x3f580000) { /* |x|<0.84375 */
+ if(ix < 0x23800000) /* |x|<2**-56 */
+ return one-x;
+ z = x*x;
+ r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4)));
+ s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5))));
+ y = r/s;
+ if(hx < 0x3e800000) { /* x<1/4 */
+ return one-(x+x*y);
+ } else {
+ r = x*y;
+ r += (x-half);
+ return half - r ;
+ }
+ }
+ if(ix < 0x3fa00000) { /* 0.84375 <= |x| < 1.25 */
+ s = fabsf(x)-one;
+ P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6)))));
+ Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6)))));
+ if(hx>=0) {
+ z = one-erx; return z - P/Q;
+ } else {
+ z = erx+P/Q; return one+z;
+ }
+ }
+ if (ix < 0x41e00000) { /* |x|<28 */
+ x = fabsf(x);
+ s = one/(x*x);
+ if(ix< 0x4036DB6D) { /* |x| < 1/.35 ~ 2.857143*/
+ R=ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*(
+ ra5+s*(ra6+s*ra7))))));
+ S=one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*(
+ sa5+s*(sa6+s*(sa7+s*sa8)))))));
+ } else { /* |x| >= 1/.35 ~ 2.857143 */
+ if(hx<0&&ix>=0x40c00000) return two-tiny;/* x < -6 */
+ R=rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*(
+ rb5+s*rb6)))));
+ S=one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*(
+ sb5+s*(sb6+s*sb7))))));
+ }
+ GET_FLOAT_WORD(ix,x);
+ SET_FLOAT_WORD(z,ix&0xfffff000);
+ r = expf(-z*z-(float)0.5625)*
+ expf((z-x)*(z+x)+R/S);
+ if(hx>0) return r/x; else return two-r/x;
+ } else {
+ if(hx>0) return tiny*tiny; else return two-tiny;
+ }
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double erf(double x)
+#else
+ double erf(x)
+ double x;
+#endif
+{
+ return (double) erff((float) x);
+}
+
+#ifdef __STDC__
+ double erfc(double x)
+#else
+ double erfc(x)
+ double x;
+#endif
+{
+ return (double) erfcf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/sf_exp.c b/newlib/libm/mathfp/sf_exp.c
new file mode 100644
index 00000000000..45d9c31fc44
--- /dev/null
+++ b/newlib/libm/mathfp/sf_exp.c
@@ -0,0 +1,92 @@
+
+/* @(#)z_expf.c 1.0 98/08/13 */
+/******************************************************************
+ * The following routines are coded directly from the algorithms
+ * and coefficients given in "Software Manual for the Elementary
+ * Functions" by William J. Cody, Jr. and William Waite, Prentice
+ * Hall, 1980.
+ ******************************************************************/
+/******************************************************************
+ * Exponential Function
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * e raised to x.
+ *
+ * Description:
+ * This routine returns e raised to the xth power.
+ *
+ *****************************************************************/
+
+#include <float.h>
+#include "fdlibm.h"
+#include "zmath.h"
+
+static const float INV_LN2 = 1.442695040;
+static const float LN2 = 0.693147180;
+static const float p[] = { 0.249999999950, 0.00416028863 };
+static const float q[] = { 0.5, 0.04998717878 };
+
+float
+_DEFUN (expf, (float),
+ float x)
+{
+ int N;
+ float g, z, R, P, Q;
+
+ switch (numtestf (x))
+ {
+ case NAN:
+ errno = EDOM;
+ return (x);
+ case INF:
+ errno = ERANGE;
+ if (isposf (x))
+ return (z_infinity_f.f);
+ else
+ return (0.0);
+ case 0:
+ return (1.0);
+ }
+
+ /* Check for out of bounds. */
+ if (x > BIGX || x < SMALLX)
+ {
+ errno = ERANGE;
+ return (x);
+ }
+
+ /* Check for a value too small to calculate. */
+ if (-z_rooteps_f < x && x < z_rooteps_f)
+ {
+ return (1.0);
+ }
+
+ /* Calculate the exponent. */
+ if (x < 0.0)
+ N = (int) (x * INV_LN2 - 0.5);
+ else
+ N = (int) (x * INV_LN2 + 0.5);
+
+ /* Construct the mantissa. */
+ g = x - N * LN2;
+ z = g * g;
+ P = g * (p[1] * z + p[0]);
+ Q = q[1] * z + q[0];
+ R = 0.5 + P / (Q - P);
+
+ /* Return the floating point value. */
+ N++;
+ return (ldexpf (R, N));
+}
+
+#ifdef _DOUBLE_IS_32_BITS
+
+double exp (double x)
+{
+ return (double) expf ((float) x);
+}
+
+#endif /* _DOUBLE_IS_32_BITS */
diff --git a/newlib/libm/mathfp/sf_fabs.c b/newlib/libm/mathfp/sf_fabs.c
new file mode 100644
index 00000000000..2661eabc078
--- /dev/null
+++ b/newlib/libm/mathfp/sf_fabs.c
@@ -0,0 +1,45 @@
+
+/* @(#)z_fabsf.c 1.0 98/08/13 */
+/******************************************************************
+ * Floating-Point Absolute Value
+ *
+ * Input:
+ * x - floating-point number
+ *
+ * Output:
+ * absolute value of x
+ *
+ * Description:
+ * fabs computes the absolute value of a floating point number.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+float
+_DEFUN (fabsf, (float),
+ float x)
+{
+ switch (numtestf (x))
+ {
+ case NAN:
+ errno = EDOM;
+ return (x);
+ case INF:
+ errno = ERANGE;
+ return (x);
+ case 0:
+ return (0.0);
+ default:
+ return (x < 0.0 ? -x : x);
+ }
+}
+
+#ifdef _DOUBLE_IS_32BITS
+double fabs (double x)
+{
+ return (double) fabsf ((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/sf_floor.c b/newlib/libm/mathfp/sf_floor.c
new file mode 100644
index 00000000000..1e0fb9e4496
--- /dev/null
+++ b/newlib/libm/mathfp/sf_floor.c
@@ -0,0 +1,43 @@
+
+/* @(#)z_floorf.c 1.0 98/08/13 */
+/*****************************************************************
+ * floor
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * Smallest integer less than x.
+ *
+ * Description:
+ * This routine returns the smallest integer less than x.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+float
+_DEFUN (floorf, (float),
+ float x)
+{
+ float f, y;
+
+ if (x > -1.0 && x < 1.0)
+ return (x >= 0 ? 0 : -1.0);
+
+ y = modff (x, &f);
+
+ if (y == 0.0)
+ return (x);
+
+ return (x >= 0 ? f : f - 1.0);
+}
+
+#ifdef _DOUBLE_IS_32BITS
+double floor (double x)
+{
+ return (double) floorf ((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/sf_fmod.c b/newlib/libm/mathfp/sf_fmod.c
new file mode 100644
index 00000000000..0ac86bbefe2
--- /dev/null
+++ b/newlib/libm/mathfp/sf_fmod.c
@@ -0,0 +1,103 @@
+/* ef_fmod.c -- float version of e_fmod.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * fmodf(x,y)
+ * Return x mod y in exact arithmetic
+ * Method: shift and subtract
+ */
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+static const float one = 1.0, Zero[] = {0.0, -0.0,};
+
+float
+_DEFUN (fmodf, (float, float),
+ float x _AND
+ float y)
+{
+ __int32_t n,hx,hy,hz,ix,iy,sx,i;
+
+ GET_FLOAT_WORD(hx,x);
+ GET_FLOAT_WORD(hy,y);
+ sx = hx&0x80000000; /* sign of x */
+ hx ^=sx; /* |x| */
+ hy &= 0x7fffffff; /* |y| */
+
+ /* purge off exception values */
+ if(hy==0||(hx>=0x7f800000)|| /* y=0,or x not finite */
+ (hy>0x7f800000)) /* or y is NaN */
+ return (x*y)/(x*y);
+ if(hx<hy) return x; /* |x|<|y| return x */
+ if(hx==hy)
+ return Zero[(__uint32_t)sx>>31]; /* |x|=|y| return x*0*/
+
+ /* determine ix = ilogb(x) */
+ if(hx<0x00800000) { /* subnormal x */
+ for (ix = -126,i=(hx<<8); i>0; i<<=1) ix -=1;
+ } else ix = (hx>>23)-127;
+
+ /* determine iy = ilogb(y) */
+ if(hy<0x00800000) { /* subnormal y */
+ for (iy = -126,i=(hy<<8); i>=0; i<<=1) iy -=1;
+ } else iy = (hy>>23)-127;
+
+ /* set up {hx,lx}, {hy,ly} and align y to x */
+ if(ix >= -126)
+ hx = 0x00800000|(0x007fffff&hx);
+ else { /* subnormal x, shift x to normal */
+ n = -126-ix;
+ hx = hx<<n;
+ }
+ if(iy >= -126)
+ hy = 0x00800000|(0x007fffff&hy);
+ else { /* subnormal y, shift y to normal */
+ n = -126-iy;
+ hy = hy<<n;
+ }
+
+ /* fix point fmod */
+ n = ix - iy;
+ while(n--) {
+ hz=hx-hy;
+ if(hz<0){hx = hx+hx;}
+ else {
+ if(hz==0) /* return sign(x)*0 */
+ return Zero[(__uint32_t)sx>>31];
+ hx = hz+hz;
+ }
+ }
+ hz=hx-hy;
+ if(hz>=0) {hx=hz;}
+
+ /* convert back to floating value and restore the sign */
+ if(hx==0) /* return sign(x)*0 */
+ return Zero[(__uint32_t)sx>>31];
+ while(hx<0x00800000) { /* normalize x */
+ hx = hx+hx;
+ iy -= 1;
+ }
+ if(iy>= -126) { /* normalize output */
+ hx = ((hx-0x00800000)|((iy+127)<<23));
+ SET_FLOAT_WORD(x,hx|sx);
+ } else { /* subnormal output */
+ n = -126 - iy;
+ hx >>= n;
+ SET_FLOAT_WORD(x,hx|sx);
+ x *= one; /* create necessary signal */
+ }
+ return x; /* exact output */
+}
diff --git a/newlib/libm/mathfp/sf_frexp.c b/newlib/libm/mathfp/sf_frexp.c
new file mode 100644
index 00000000000..c2751f65c5c
--- /dev/null
+++ b/newlib/libm/mathfp/sf_frexp.c
@@ -0,0 +1,58 @@
+
+/* @(#)z_frexpf.c 1.0 98/08/13 */
+/******************************************************************
+ * frexp
+ *
+ * Input:
+ * d - floating point value
+ * exp - exponent value
+ *
+ * Output:
+ * A floating point value in the range [0.5, 1).
+ *
+ * Description:
+ * This routine breaks a floating point value into a number f and
+ * an exponent exp such that d = f * 2 ^ exp.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+float frexpf (float d, int *exp)
+{
+ float f;
+ __int32_t wf, wd;
+
+ GET_FLOAT_WORD (wd, d);
+
+ /* Get the exponent. */
+ *exp = ((wd & 0x7f800000) >> 23) - 126;
+
+ /* Get the mantissa. */
+ wf = wd & 0x7fffff;
+ wf |= 0x3f000000;
+
+ SET_FLOAT_WORD (f, wf);
+
+ /* Check for special values. */
+ switch (numtestf (f))
+ {
+ case NAN:
+ case INF:
+ errno = EDOM;
+ *exp = 0;
+ return (f);
+ }
+
+ return (f);
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+double frexp (double x, int *exp)
+{
+ return (double) frexpf ((float) x, exp);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/sf_isinf.c b/newlib/libm/mathfp/sf_isinf.c
new file mode 100644
index 00000000000..5d537607abb
--- /dev/null
+++ b/newlib/libm/mathfp/sf_isinf.c
@@ -0,0 +1,33 @@
+
+/* @(#)z_isinff.c 1.0 98/08/13 */
+/******************************************************************
+ * isinff
+ *
+ * Input:
+ * x - pointer to a floating point value
+ *
+ * Output:
+ * An integer that indicates if the number is infinite.
+ *
+ * Description:
+ * This routine returns an integer that indicates if the number
+ * passed in is infinite (1) or is finite (0).
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+int isinff (float x)
+{
+ __uint32_t wx;
+ int exp;
+
+ GET_FLOAT_WORD (wx, x);
+ exp = (wx & 0x7f800000) >> 23;
+
+ if ((exp == 0x7f8) && !(wx & 0xf0000))
+ return (1);
+ else
+ return (0);
+}
diff --git a/newlib/libm/mathfp/sf_isnan.c b/newlib/libm/mathfp/sf_isnan.c
new file mode 100644
index 00000000000..3dcdbf452be
--- /dev/null
+++ b/newlib/libm/mathfp/sf_isnan.c
@@ -0,0 +1,33 @@
+
+/* @(#)z_isnanf.c 1.0 98/08/13 */
+/******************************************************************
+ * isnanf
+ *
+ * Input:
+ * x - pointer to a floating point value
+ *
+ * Output:
+ * An integer that indicates if the number is NaN.
+ *
+ * Description:
+ * This routine returns an integer that indicates if the number
+ * passed in is NaN (1) or is finite (0).
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+int isnanf (float x)
+{
+ __int32_t wx;
+ int exp;
+
+ GET_FLOAT_WORD (wx, x);
+ exp = (wx & 0x7f800000) >> 23;
+
+ if ((exp == 0x7f8) && (wx & 0x7fffff))
+ return (1);
+ else
+ return (0);
+}
diff --git a/newlib/libm/mathfp/sf_ispos.c b/newlib/libm/mathfp/sf_ispos.c
new file mode 100644
index 00000000000..1b91f399f9e
--- /dev/null
+++ b/newlib/libm/mathfp/sf_ispos.c
@@ -0,0 +1,40 @@
+
+/* @(#)z_isposf.c 1.0 98/08/13 */
+/******************************************************************
+ * Positive value test
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * An integer that indicates if the number is positive.
+ *
+ * Description:
+ * This routine returns an integer that indicates if the number
+ * passed in is positive (1) or negative (0).
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+int isposf (float x)
+{
+ __int32_t wx;
+
+ GET_FLOAT_WORD (wx, x);
+
+ if (wx & 0x80000000)
+ return (0);
+ else
+ return (1);
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+int ispos (double x)
+{
+ return isposf ((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/sf_ldexp.c b/newlib/libm/mathfp/sf_ldexp.c
new file mode 100644
index 00000000000..6b6c2c00b50
--- /dev/null
+++ b/newlib/libm/mathfp/sf_ldexp.c
@@ -0,0 +1,81 @@
+
+/* @(#)z_ldexpf.c 1.0 98/08/13 */
+/******************************************************************
+ * ldexp
+ *
+ * Input:
+ * d - a floating point value
+ * e - an exponent value
+ *
+ * Output:
+ * A floating point value f such that f = d * 2 ^ e.
+ *
+ * Description:
+ * This function creates a floating point number f such that
+ * f = d * 2 ^ e.
+ *
+ *****************************************************************/
+
+#include <float.h>
+#include "fdlibm.h"
+#include "zmath.h"
+
+#define FLOAT_EXP_OFFS 127
+
+float
+_DEFUN (ldexpf, (float, int),
+ float d _AND
+ int e)
+{
+ int exp;
+ __int32_t wd;
+
+ GET_FLOAT_WORD (wd, d);
+
+ /* Check for special values and then scale d by e. */
+ switch (numtestf (wd))
+ {
+ case NAN:
+ errno = EDOM;
+ break;
+
+ case INF:
+ errno = ERANGE;
+ break;
+
+ case 0:
+ break;
+
+ default:
+ exp = (wd & 0x7f800000) >> 23;
+ exp += e;
+
+ if (exp > FLT_MAX_EXP + FLOAT_EXP_OFFS)
+ {
+ errno = ERANGE;
+ d = z_infinity_f.f;
+ }
+ else if (exp < FLT_MIN_EXP + FLOAT_EXP_OFFS)
+ {
+ errno = ERANGE;
+ d = -z_infinity_f.f;
+ }
+ else
+ {
+ wd &= 0x807fffff;
+ wd |= exp << 23;
+ SET_FLOAT_WORD (d, wd);
+ }
+ }
+
+ return (d);
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+double ldexp (double x, int e)
+{
+ return (double) ldexpf ((float) x, e);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/sf_log.c b/newlib/libm/mathfp/sf_log.c
new file mode 100644
index 00000000000..b746d444f63
--- /dev/null
+++ b/newlib/libm/mathfp/sf_log.c
@@ -0,0 +1,34 @@
+
+/* @(#)z_logf.c 1.0 98/08/13 */
+/******************************************************************
+ * Logarithm
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * natural logarithm of x
+ *
+ * Description:
+ * This routine returns the natural logarithm of x.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+float
+_DEFUN (logf, (float),
+ float x)
+{
+ return (logarithmf (x, 0));
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+double log (double x)
+{
+ return (double) logf ((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/sf_log10.c b/newlib/libm/mathfp/sf_log10.c
new file mode 100644
index 00000000000..444e535e0f9
--- /dev/null
+++ b/newlib/libm/mathfp/sf_log10.c
@@ -0,0 +1,34 @@
+
+/* @(#)z_log10f.c 1.0 98/08/13 */
+/******************************************************************
+ * Logarithm
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * logarithm of x
+ *
+ * Description:
+ * This routine returns the logarithm of x (base 10).
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+float
+_DEFUN (log10f, (float),
+ float x)
+{
+ return (logarithmf (x, 1));
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+double log10 (double x)
+{
+ return (double) log10f ((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/sf_logarithm.c b/newlib/libm/mathfp/sf_logarithm.c
new file mode 100644
index 00000000000..224482f133d
--- /dev/null
+++ b/newlib/libm/mathfp/sf_logarithm.c
@@ -0,0 +1,72 @@
+
+/* @(#)z_logarithmf.c 1.0 98/08/13 */
+/******************************************************************
+ * The following routines are coded directly from the algorithms
+ * and coefficients given in "Software Manual for the Elementary
+ * Functions" by William J. Cody, Jr. and William Waite, Prentice
+ * Hall, 1980.
+ ******************************************************************/
+/******************************************************************
+ * Logarithm
+ *
+ * Input:
+ * x - floating point value
+ * ten - indicates base ten numbers
+ *
+ * Output:
+ * logarithm of x
+ *
+ * Description:
+ * This routine calculates logarithms.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+static const float a[] = { -0.5527074855 };
+static const float b[] = { -0.6632718214e+1 };
+static const float C1 = 0.693145752;
+static const float C2 = 1.428606820e-06;
+static const float C3 = 0.4342944819;
+
+float
+_DEFUN (logarithmf, (float, int),
+ float x _AND
+ int ten)
+{
+ int N;
+ float f, w, z;
+
+ /* Check for domain error here. */
+ if (x <= 0.0)
+ {
+ errno = ERANGE;
+ return (z_notanum_f.f);
+ }
+
+ /* Get the exponent and mantissa where x = f * 2^N. */
+ f = frexpf (x, &N);
+
+ z = f - 0.5;
+
+ if (f > __SQRT_HALF)
+ z = (z - 0.5) / (f * 0.5 + 0.5);
+ else
+ {
+ N--;
+ z /= (z * 0.5 + 0.5);
+ }
+ w = z * z;
+
+ /* Use Newton's method with 4 terms. */
+ z += z * w * (a[0]) / ((w + 1.0) * w + b[0]);
+
+ if (N != 0)
+ z = (N * C2 + z) + N * C1;
+
+ if (ten)
+ z *= C3;
+
+ return (z);
+}
diff --git a/newlib/libm/mathfp/sf_numtest.c b/newlib/libm/mathfp/sf_numtest.c
new file mode 100644
index 00000000000..675086c415e
--- /dev/null
+++ b/newlib/libm/mathfp/sf_numtest.c
@@ -0,0 +1,63 @@
+
+/* @(#)z_numtestf.c 1.0 98/08/13 */
+/******************************************************************
+ * Numtest
+ *
+ * Input:
+ * x - pointer to a floating point value
+ *
+ * Output:
+ * An integer that indicates what kind of number was passed in:
+ * NUM = 3 - a finite value
+ * NAN = 2 - not a number
+ * INF = 1 - an infinite value
+ * 0 - zero
+ *
+ * Description:
+ * This routine returns an integer that indicates the character-
+ * istics of the number that was passed in.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+int
+_DEFUN (numtestf, (float),
+ float x)
+{
+ __int32_t wx;
+ int exp;
+
+ GET_FLOAT_WORD (wx, x);
+
+ exp = (wx & 0x7f800000) >> 23;
+
+ /* Check for a zero input. */
+ if (x == 0.0)
+ {
+ return (0);
+ }
+
+ /* Check for not a number or infinity. */
+ if (exp == 0x7f8)
+ {
+ if(wx & 0x7fffff)
+ return (NAN);
+ else
+ return (INF);
+ }
+
+ /* Otherwise it's a finite value. */
+ else
+ return (NUM);
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+int numtest (double x)
+{
+ return numtestf ((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/sf_pow.c b/newlib/libm/mathfp/sf_pow.c
new file mode 100644
index 00000000000..2b3bed3c745
--- /dev/null
+++ b/newlib/libm/mathfp/sf_pow.c
@@ -0,0 +1,107 @@
+
+/* @(#)z_powf.c 1.0 98/08/13 */
+#include <float.h>
+#include "fdlibm.h"
+#include "zmath.h"
+
+float powf (float x, float y)
+{
+ float d, t, r = 1.0;
+ int n, k, sign = 0;
+ __int32_t px;
+
+ GET_FLOAT_WORD (px, x);
+
+ k = modff (y, &d);
+ if (k == 0.0)
+ {
+ if (modff (ldexpf (y, -1), &t))
+ sign = 0;
+ else
+ sign = 1;
+ }
+
+ if (x == 0.0 && y <= 0.0)
+ errno = EDOM;
+
+ else if ((t = y * log (fabsf (x))) >= BIGX)
+ {
+ errno = ERANGE;
+ if (px & 0x80000000)
+ {
+ if (!k)
+ {
+ errno = EDOM;
+ x = 0.0;
+ }
+ else if (sign)
+ x = -z_infinity_f.f;
+ else
+ x = z_infinity_f.f;
+ }
+
+ else
+ x = z_infinity_f.f;
+ }
+
+ else if (t < SMALLX)
+ {
+ errno = ERANGE;
+ x = 0.0;
+ }
+
+ else
+ {
+ if ( k && fabsf (d) <= 32767 )
+ {
+ n = (int) d;
+
+ if (sign = (n < 0))
+ n = -n;
+
+ while ( n > 0 )
+ {
+ if ((unsigned int) n % 2)
+ r *= x;
+ x *= x;
+ n = (unsigned int) n / 2;
+ }
+
+ if (sign)
+ r = 1.0 / r;
+
+ return r;
+ }
+
+ else
+ {
+ if ( px & 0x80000000 )
+ {
+ if ( !k )
+ {
+ errno = EDOM;
+ return 0.0;
+ }
+ }
+
+ x = exp (t);
+
+ if ( sign )
+ {
+ px ^= 0x80000000;
+ SET_FLOAT_WORD (x, px);
+ }
+ }
+ }
+
+ return x;
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+double pow (double x, double y)
+{
+ return (double) powf ((float) x, (float) y);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/sf_signif.c b/newlib/libm/mathfp/sf_signif.c
new file mode 100644
index 00000000000..35427f94730
--- /dev/null
+++ b/newlib/libm/mathfp/sf_signif.c
@@ -0,0 +1,40 @@
+/* sf_signif.c -- float version of s_signif.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+ float significandf(float x)
+#else
+ float significandf(x)
+ float x;
+#endif
+{
+ return scalbf(x,(float) -ilogbf(x));
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double significand(double x)
+#else
+ double significand(x)
+ double x;
+#endif
+{
+ return (double) significandf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/sf_sin.c b/newlib/libm/mathfp/sf_sin.c
new file mode 100644
index 00000000000..c68e18e503b
--- /dev/null
+++ b/newlib/libm/mathfp/sf_sin.c
@@ -0,0 +1,34 @@
+
+/* @(#)z_sinf.c 1.0 98/08/13 */
+/******************************************************************
+ * Sine
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * sine of x
+ *
+ * Description:
+ * This routine returns the sine of x.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+float
+_DEFUN (sinf, (float),
+ float x)
+{
+ return (sinef (x, 0));
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+double sin (double x)
+{
+ return (double) sinef ((float) x, 0);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/sf_sine.c b/newlib/libm/mathfp/sf_sine.c
new file mode 100644
index 00000000000..6932de26ca9
--- /dev/null
+++ b/newlib/libm/mathfp/sf_sine.c
@@ -0,0 +1,112 @@
+
+/* @(#)z_sinef.c 1.0 98/08/13 */
+/******************************************************************
+ * The following routines are coded directly from the algorithms
+ * and coefficients given in "Software Manual for the Elementary
+ * Functions" by William J. Cody, Jr. and William Waite, Prentice
+ * Hall, 1980.
+ ******************************************************************/
+/******************************************************************
+ * sine generator
+ *
+ * Input:
+ * x - floating point value
+ * cosine - indicates cosine value
+ *
+ * Output:
+ * Sine of x.
+ *
+ * Description:
+ * This routine calculates sines and cosines.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+static const float HALF_PI = 1.570796326;
+static const float ONE_OVER_PI = 0.318309886;
+static const float r[] = { -0.1666665668,
+ 0.8333025139e-02,
+ -0.1980741872e-03,
+ 0.2601903036e-5 };
+
+float
+_DEFUN (sinef, (float, int),
+ float x _AND
+ int cosine)
+{
+ int sgn, N;
+ float y, XN, g, R, res;
+ float YMAX = 210828714.0;
+
+ switch (numtestf (x))
+ {
+ case NAN:
+ errno = EDOM;
+ return (x);
+ case INF:
+ errno = EDOM;
+ return (z_notanum_f.f);
+ }
+
+ /* Use sin and cos properties to ease computations. */
+ if (cosine)
+ {
+ sgn = 1;
+ y = fabsf (x) + HALF_PI;
+ }
+ else
+ {
+ if (x < 0.0)
+ {
+ sgn = -1;
+ y = -x;
+ }
+ else
+ {
+ sgn = 1;
+ y = x;
+ }
+ }
+
+ /* Check for values of y that will overflow here. */
+ if (y > YMAX)
+ {
+ errno = ERANGE;
+ return (x);
+ }
+
+ /* Calculate the exponent. */
+ if (y < 0.0)
+ N = (int) (y * ONE_OVER_PI - 0.5);
+ else
+ N = (int) (y * ONE_OVER_PI + 0.5);
+ XN = (float) N;
+
+ if (N & 1)
+ sgn = -sgn;
+
+ if (cosine)
+ XN -= 0.5;
+
+ y = fabsf (x) - XN * __PI;
+
+ if (-z_rooteps_f < y && y < z_rooteps_f)
+ res = y;
+
+ else
+ {
+ g = y * y;
+
+ /* Calculate the Taylor series. */
+ R = (((r[3] * g + r[2]) * g + r[1]) * g + r[0]) * g;
+
+ /* Finally, compute the result. */
+ res = y + y * R;
+ }
+
+ res *= sgn;
+
+ return (res);
+}
diff --git a/newlib/libm/mathfp/sf_sineh.c b/newlib/libm/mathfp/sf_sineh.c
new file mode 100644
index 00000000000..4eee2c92772
--- /dev/null
+++ b/newlib/libm/mathfp/sf_sineh.c
@@ -0,0 +1,110 @@
+
+/* @(#)z_sinehf.c 1.0 98/08/13 */
+/******************************************************************
+ * The following routines are coded directly from the algorithms
+ * and coefficients given in "Software Manual for the Elementary
+ * Functions" by William J. Cody, Jr. and William Waite, Prentice
+ * Hall, 1980.
+ ******************************************************************/
+/******************************************************************
+ * Hyperbolic Sine
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * hyperbolic sine of x
+ *
+ * Description:
+ * This routine calculates hyperbolic sines.
+ *
+ *****************************************************************/
+
+#include <float.h>
+#include "fdlibm.h"
+#include "zmath.h"
+
+static const float q[] = { -0.428277109e+2 };
+static const float p[] = { -0.713793159e+1,
+ -0.190333399 };
+static const float LNV = 0.6931610107;
+static const float INV_V2 = 0.2499930850;
+static const float V_OVER2_MINUS1 = 0.1383027787e-4;
+
+float
+_DEFUN (sinehf, (float, int),
+ float x _AND
+ int cosineh)
+{
+ float y, f, P, Q, R, res, z, w;
+ int sgn = 1;
+ float WBAR = 18.55;
+
+ /* Check for special values. */
+ switch (numtestf (x))
+ {
+ case NAN:
+ errno = EDOM;
+ return (x);
+ case INF:
+ errno = ERANGE;
+ return (ispos (x) ? z_infinity_f.f : -z_infinity_f.f);
+ }
+
+ y = fabs (x);
+
+ if (!cosineh && x < 0.0)
+ sgn = -1;
+
+ if ((y > 1.0 && !cosineh) || cosineh)
+ {
+ if (y > BIGX)
+ {
+ w = y - LNV;
+
+ /* Check for w > maximum here. */
+ if (w > BIGX)
+ {
+ errno = ERANGE;
+ return (x);
+ }
+
+ z = exp (w);
+
+ if (w > WBAR)
+ res = z * (V_OVER2_MINUS1 + 1.0);
+ }
+
+ else
+ {
+ z = exp (y);
+ if (cosineh)
+ res = (z + 1 / z) / 2.0;
+ else
+ res = (z - 1 / z) / 2.0;
+ }
+
+ if (sgn < 0)
+ res = -res;
+ }
+ else
+ {
+ /* Check for y being too small. */
+ if (y < z_rooteps_f)
+ {
+ res = x;
+ }
+ /* Calculate the Taylor series. */
+ else
+ {
+ f = x * x;
+ Q = f + q[0];
+ P = p[1] * f + p[0];
+ R = f * (P / Q);
+
+ res = x + x * R;
+ }
+ }
+
+ return (res);
+}
diff --git a/newlib/libm/mathfp/sf_sinh.c b/newlib/libm/mathfp/sf_sinh.c
new file mode 100644
index 00000000000..a50e566068f
--- /dev/null
+++ b/newlib/libm/mathfp/sf_sinh.c
@@ -0,0 +1,34 @@
+
+/* @(#)z_sinhf.c 1.0 98/08/13 */
+/******************************************************************
+ * Hyperbolic Sine
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * hyperbolic sine of x
+ *
+ * Description:
+ * This routine returns the hyperbolic sine of x.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+float
+_DEFUN (sinhf, (float),
+ float x)
+{
+ return (sinehf (x, 0));
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+double sinh (double x)
+{
+ return (double) sinhf ((float) x);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/sf_sqrt.c b/newlib/libm/mathfp/sf_sqrt.c
new file mode 100644
index 00000000000..04fa07f6a48
--- /dev/null
+++ b/newlib/libm/mathfp/sf_sqrt.c
@@ -0,0 +1,100 @@
+
+/* @(#)z_sqrtf.c 1.0 98/08/13 */
+/*****************************************************************
+ * The following routines are coded directly from the algorithms
+ * and coefficients given in "Software Manual for the Elementary
+ * Functions" by William J. Cody, Jr. and William Waite, Prentice
+ * Hall, 1980.
+ *****************************************************************/
+/******************************************************************
+ * Square Root
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * square-root of x
+ *
+ * Description:
+ * This routine performs floating point square root.
+ *
+ * The initial approximation is computed as
+ * y0 = 0.41731 + 0.59016 * f
+ * where f is a fraction such that x = f * 2^exp.
+ *
+ * Three Newton iterations in the form of Heron's formula
+ * are then performed to obtain the final value:
+ * y[i] = (y[i-1] + f / y[i-1]) / 2, i = 1, 2, 3.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+float
+_DEFUN (sqrtf, (float),
+ float x)
+{
+ float f, y;
+ int exp, i, odd;
+
+ /* Check for special values. */
+ switch (numtestf (x))
+ {
+ case NAN:
+ errno = EDOM;
+ return (x);
+ case INF:
+ if (isposf (x))
+ {
+ errno = EDOM;
+ return (z_notanum_f.f);
+ }
+ else
+ {
+ errno = ERANGE;
+ return (z_infinity_f.f);
+ }
+ }
+
+ /* Initial checks are performed here. */
+ if (x == 0.0)
+ return (0.0);
+ if (x < 0)
+ {
+ errno = EDOM;
+ return (z_notanum_f.f);
+ }
+
+ /* Find the exponent and mantissa for the form x = f * 2^exp. */
+ f = frexpf (x, &exp);
+ odd = exp & 1;
+
+ /* Get the initial approximation. */
+ y = 0.41731 + 0.59016 * f;
+
+ f *= 0.5;
+ /* Calculate the remaining iterations. */
+ for (i = 0; i < 2; ++i)
+ y = y * 0.5 + f / y;
+
+ /* Calculate the final value. */
+ if (odd)
+ {
+ y *= __SQRT_HALF;
+ exp++;
+ }
+ exp >>= 1;
+ y = ldexpf (y, exp);
+
+ return (y);
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+double sqrt (double x)
+{
+ return (double) sqrt ((float) x);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/sf_tan.c b/newlib/libm/mathfp/sf_tan.c
new file mode 100644
index 00000000000..fcde19ab3d4
--- /dev/null
+++ b/newlib/libm/mathfp/sf_tan.c
@@ -0,0 +1,104 @@
+
+/* @(#)z_tanf.c 1.0 98/08/13 */
+/******************************************************************
+ * The following routines are coded directly from the algorithms
+ * and coefficients given in "Software Manual for the Elementary
+ * Functions" by William J. Cody, Jr. and William Waite, Prentice
+ * Hall, 1980.
+ ******************************************************************/
+/******************************************************************
+ * Tangent
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * tangent of x
+ *
+ * Description:
+ * This routine calculates the tangent of x.
+ *
+ *****************************************************************/
+
+#include "fdlibm.h"
+#include "zmath.h"
+
+static const float TWO_OVER_PI = 0.6366197723;
+static const float p[] = { -0.958017723e-1 };
+static const float q[] = { -0.429135777,
+ 0.971685835e-2 };
+
+float
+_DEFUN (tanf, (float),
+ float x)
+{
+ float y, f, g, XN, xnum, xden, res;
+ int N;
+
+ /* Check for special values. */
+ switch (numtestf (x))
+ {
+ case NAN:
+ errno = EDOM;
+ return (x);
+ case INF:
+ errno = EDOM;
+ return (z_notanum_f.f);
+ }
+
+ y = fabsf (x);
+
+ /* Check for values that are out of our range. */
+ if (y > 105414357.0)
+ {
+ errno = ERANGE;
+ return (y);
+ }
+
+ if (x < 0.0)
+ N = (int) (x * TWO_OVER_PI - 0.5);
+ else
+ N = (int) (x * TWO_OVER_PI + 0.5);
+
+ XN = (float) N;
+
+ f = x - N * __PI_OVER_TWO;
+
+ /* Check for values that are too small. */
+ if (-z_rooteps_f < f && f < z_rooteps_f)
+ {
+ xnum = f;
+ xden = 1.0;
+ }
+
+ /* Calculate the polynomial. */
+ else
+ {
+ g = f * f;
+
+ xnum = f * (p[0] * g) + f;
+ xden = (q[1] * g + q[0]) * g + 1.0;
+ }
+
+ /* Check for odd or even values. */
+ if (N & 1)
+ {
+ xnum = -xnum;
+ res = xden / xnum;
+ }
+ else
+ {
+ res = xnum / xden;
+ }
+
+ return (res);
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+double tan (double x)
+{
+ return (double) tanf ((float) x);
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/newlib/libm/mathfp/sf_tanh.c b/newlib/libm/mathfp/sf_tanh.c
new file mode 100644
index 00000000000..51806af456f
--- /dev/null
+++ b/newlib/libm/mathfp/sf_tanh.c
@@ -0,0 +1,77 @@
+
+/* @(#)z_tanhf.c 1.0 98/08/13 */
+/*****************************************************************
+ * The following routines are coded directly from the algorithms
+ * and coefficients given in "Software Manual for the Elementary
+ * Functions" by William J. Cody, Jr. and William Waite, Prentice
+ * Hall, 1980.
+ *****************************************************************/
+/******************************************************************
+ * Hyperbolic Tangent
+ *
+ * Input:
+ * x - floating point value
+ *
+ * Output:
+ * hyperbolic tangent of x
+ *
+ * Description:
+ * This routine calculates hyperbolic tangent.
+ *
+ *****************************************************************/
+
+#include <float.h>
+#include "fdlibm.h"
+#include "zmath.h"
+
+static const float LN3_OVER2 = 0.5493061443;
+static const float p[] = { -0.2059432032,
+ -0.0009577527 };
+static const float q[] = { 0.6178299136,
+ 0.25 };
+
+float
+_DEFUN (tanhf, (float),
+ float x)
+{
+ float f, res, g, P, Q, R;
+
+ f = fabsf (x);
+
+ /* Check if the input is too big. */
+ if (f > BIGX)
+ res = 1.0;
+
+ else if (f > LN3_OVER2)
+ res = 1.0 - 2.0 / (exp (2 * f) + 1.0);
+
+ /* Check if the input is too small. */
+ else if (f < z_rooteps_f)
+ res = f;
+
+ /* Calculate the Taylor series. */
+ else
+ {
+ g = f * f;
+
+ P = p[1] * g + p[0];
+ Q = (g + q[1]) * g + q[0];
+ R = g * (P / Q);
+
+ res = f + f * R;
+ }
+
+ if (x < 0.0)
+ res = -res;
+
+ return (res);
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+double tanh (double x)
+{
+ return (double) tanhf ((float) x);
+}
+
+#endif _DOUBLE_IS_32BITS
diff --git a/newlib/libm/mathfp/w_cabs.c b/newlib/libm/mathfp/w_cabs.c
new file mode 100644
index 00000000000..bef76680c06
--- /dev/null
+++ b/newlib/libm/mathfp/w_cabs.c
@@ -0,0 +1,20 @@
+/*
+ * cabs() wrapper for hypot().
+ *
+ * Written by J.T. Conklin, <jtc@wimsey.com>
+ * Placed into the Public Domain, 1994.
+ */
+
+#include "fdlibm.h"
+
+struct complex {
+ double x;
+ double y;
+};
+
+double
+cabs(z)
+ struct complex z;
+{
+ return hypot(z.x, z.y);
+}
diff --git a/newlib/libm/mathfp/w_drem.c b/newlib/libm/mathfp/w_drem.c
new file mode 100644
index 00000000000..d289bdaac9e
--- /dev/null
+++ b/newlib/libm/mathfp/w_drem.c
@@ -0,0 +1,15 @@
+/*
+ * drem() wrapper for remainder().
+ *
+ * Written by J.T. Conklin, <jtc@wimsey.com>
+ * Placed into the Public Domain, 1994.
+ */
+
+#include "fdlibm.h"
+
+double
+drem(x, y)
+ double x, y;
+{
+ return remainder(x, y);
+}
diff --git a/newlib/libm/mathfp/w_jn.c b/newlib/libm/mathfp/w_jn.c
new file mode 100644
index 00000000000..6806f01d998
--- /dev/null
+++ b/newlib/libm/mathfp/w_jn.c
@@ -0,0 +1,248 @@
+
+/* @(#)w_jn.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+<<jN>>,<<jNf>>,<<yN>>,<<yNf>>---Bessel functions
+
+INDEX
+j0
+INDEX
+j0f
+INDEX
+j1
+INDEX
+j1f
+INDEX
+jn
+INDEX
+jnf
+INDEX
+y0
+INDEX
+y0f
+INDEX
+y1
+INDEX
+y1f
+INDEX
+yn
+INDEX
+ynf
+
+ANSI_SYNOPSIS
+#include <math.h>
+double j0(double <[x]>);
+float j0f(float <[x]>);
+double j1(double <[x]>);
+float j1f(float <[x]>);
+double jn(int <[n]>, double <[x]>);
+float jnf(int <[n]>, float <[x]>);
+double y0(double <[x]>);
+float y0f(float <[x]>);
+double y1(double <[x]>);
+float y1f(float <[x]>);
+double yn(int <[n]>, double <[x]>);
+float ynf(int <[n]>, float <[x]>);
+
+TRAD_SYNOPSIS
+#include <math.h>
+
+double j0(<[x]>)
+double <[x]>;
+float j0f(<[x]>)
+float <[x]>;
+double j1(<[x]>)
+double <[x]>;
+float j1f(<[x]>)
+float <[x]>;
+double jn(<[n]>, <[x]>)
+int <[n]>;
+double <[x]>;
+float jnf(<[n]>, <[x]>)
+int <[n]>;
+float <[x]>;
+
+double y0(<[x]>)
+double <[x]>;
+float y0f(<[x]>)
+float <[x]>;
+double y1(<[x]>)
+double <[x]>;
+float y1f(<[x]>)
+float <[x]>;
+double yn(<[n]>, <[x]>)
+int <[n]>;
+double <[x]>;
+float ynf(<[n]>, <[x]>)
+int <[n]>;
+float <[x]>;
+
+DESCRIPTION
+The Bessel functions are a family of functions that solve the
+differential equation
+@ifinfo
+. 2 2 2
+. x y'' + xy' + (x - p )y = 0
+@end ifinfo
+@tex
+$$x^2{d^2y\over dx^2} + x{dy\over dx} + (x^2-p^2)y = 0$$
+@end tex
+These functions have many applications in engineering and physics.
+
+<<jn>> calculates the Bessel function of the first kind of order
+<[n]>. <<j0>> and <<j1>> are special cases for order 0 and order
+1 respectively.
+
+Similarly, <<yn>> calculates the Bessel function of the second kind of
+order <[n]>, and <<y0>> and <<y1>> are special cases for order 0 and
+1.
+
+<<jnf>>, <<j0f>>, <<j1f>>, <<ynf>>, <<y0f>>, and <<y1f>> perform the
+same calculations, but on <<float>> rather than <<double>> values.
+
+RETURNS
+The value of each Bessel function at <[x]> is returned.
+
+PORTABILITY
+None of the Bessel functions are in ANSI C.
+*/
+
+/*
+ * wrapper jn(int n, double x), yn(int n, double x)
+ * floating point Bessel's function of the 1st and 2nd kind
+ * of order n
+ *
+ * Special cases:
+ * y0(0)=y1(0)=yn(n,0) = -inf with division by zero signal;
+ * y0(-ve)=y1(-ve)=yn(n,-ve) are NaN with invalid signal.
+ * Note 2. About jn(n,x), yn(n,x)
+ * For n=0, j0(x) is called,
+ * for n=1, j1(x) is called,
+ * for n<x, forward recursion us used starting
+ * from values of j0(x) and j1(x).
+ * for n>x, a continued fraction approximation to
+ * j(n,x)/j(n-1,x) is evaluated and then backward
+ * recursion is used starting from a supposed value
+ * for j(n,x). The resulting value of j(0,x) is
+ * compared with the actual value to correct the
+ * supposed value of j(n,x).
+ *
+ * yn(n,x) is similar in all respects, except
+ * that forward recursion is used for all
+ * values of n>1.
+ *
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double jn(int n, double x) /* wrapper jn */
+#else
+ double jn(n,x) /* wrapper jn */
+ double x; int n;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return jn(n,x);
+#else
+ double z;
+ struct exception exc;
+ z = jn(n,x);
+ if(_LIB_VERSION == _IEEE_ || isnan(x) ) return z;
+ if(fabs(x)>X_TLOSS) {
+ /* jn(|x|>X_TLOSS) */
+ exc.type = TLOSS;
+ exc.name = "jn";
+ exc.err = 0;
+ exc.arg1 = n;
+ exc.arg2 = x;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef __STDC__
+ double yn(int n, double x) /* wrapper yn */
+#else
+ double yn(n,x) /* wrapper yn */
+ double x; int n;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return yn(n,x);
+#else
+ double z;
+ struct exception exc;
+ z = yn(n,x);
+ if(_LIB_VERSION == _IEEE_ || isnan(x) ) return z;
+ if(x <= 0.0){
+ /* yn(n,0) = -inf or yn(x<0) = NaN */
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.type = DOMAIN; /* should be SING for IEEE */
+ exc.name = "yn";
+ exc.err = 0;
+ exc.arg1 = n;
+ exc.arg2 = x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = -HUGE;
+ else
+ exc.retval = -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ }
+ if(x>X_TLOSS) {
+ /* yn(x>X_TLOSS) */
+ exc.type = TLOSS;
+ exc.name = "yn";
+ exc.err = 0;
+ exc.arg1 = n;
+ exc.arg2 = x;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/wf_cabs.c b/newlib/libm/mathfp/wf_cabs.c
new file mode 100644
index 00000000000..c3ed0caa241
--- /dev/null
+++ b/newlib/libm/mathfp/wf_cabs.c
@@ -0,0 +1,20 @@
+/*
+ * cabsf() wrapper for hypotf().
+ *
+ * Written by J.T. Conklin, <jtc@wimsey.com>
+ * Placed into the Public Domain, 1994.
+ */
+
+#include "fdlibm.h"
+
+struct complex {
+ float x;
+ float y;
+};
+
+float
+cabsf(z)
+ struct complex z;
+{
+ return hypotf(z.x, z.y);
+}
diff --git a/newlib/libm/mathfp/wf_drem.c b/newlib/libm/mathfp/wf_drem.c
new file mode 100644
index 00000000000..7c3f7c58eca
--- /dev/null
+++ b/newlib/libm/mathfp/wf_drem.c
@@ -0,0 +1,19 @@
+/*
+ * dremf() wrapper for remainderf().
+ *
+ * Written by J.T. Conklin, <jtc@wimsey.com>
+ * Placed into the Public Domain, 1994.
+ */
+
+#include "fdlibm.h"
+
+float
+#ifdef __STDC__
+dremf(float x, float y)
+#else
+dremf(x, y)
+ float x, y;
+#endif
+{
+ return remainderf(x, y);
+}
diff --git a/newlib/libm/mathfp/wf_jn.c b/newlib/libm/mathfp/wf_jn.c
new file mode 100644
index 00000000000..ebc886de9b0
--- /dev/null
+++ b/newlib/libm/mathfp/wf_jn.c
@@ -0,0 +1,138 @@
+/* wf_jn.c -- float version of w_jn.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+
+#ifdef __STDC__
+ float jnf(int n, float x) /* wrapper jnf */
+#else
+ float jnf(n,x) /* wrapper jnf */
+ float x; int n;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return jnf(n,x);
+#else
+ float z;
+ struct exception exc;
+ z = jnf(n,x);
+ if(_LIB_VERSION == _IEEE_ || isnanf(x) ) return z;
+ if(fabsf(x)>(float)X_TLOSS) {
+ /* jnf(|x|>X_TLOSS) */
+ exc.type = TLOSS;
+ exc.name = "jnf";
+ exc.err = 0;
+ exc.arg1 = (double)n;
+ exc.arg2 = (double)x;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef __STDC__
+ float ynf(int n, float x) /* wrapper ynf */
+#else
+ float ynf(n,x) /* wrapper ynf */
+ float x; int n;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return ynf(n,x);
+#else
+ float z;
+ struct exception exc;
+ z = ynf(n,x);
+ if(_LIB_VERSION == _IEEE_ || isnanf(x) ) return z;
+ if(x <= (float)0.0){
+ /* ynf(n,0) = -inf or ynf(x<0) = NaN */
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.type = DOMAIN; /* should be SING for IEEE */
+ exc.name = "ynf";
+ exc.err = 0;
+ exc.arg1 = (double)n;
+ exc.arg2 = (double)x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = -HUGE;
+ else
+ exc.retval = -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ }
+ if(x>(float)X_TLOSS) {
+ /* ynf(x>X_TLOSS) */
+ exc.type = TLOSS;
+ exc.name = "ynf";
+ exc.err = 0;
+ exc.arg1 = (double)n;
+ exc.arg2 = (double)x;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return (float)exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double jn(int n, double x)
+#else
+ double jn(n,x)
+ double x; int n;
+#endif
+{
+ return (double) jnf(n, (float) x);
+}
+
+#ifdef __STDC__
+ double yn(int n, double x)
+#else
+ double yn(n,x)
+ double x; int n;
+#endif
+{
+ return (double) ynf(n, (float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/newlib/libm/mathfp/zmath.h b/newlib/libm/mathfp/zmath.h
new file mode 100644
index 00000000000..369bfec49f0
--- /dev/null
+++ b/newlib/libm/mathfp/zmath.h
@@ -0,0 +1,55 @@
+#ifndef __ZMATH_H
+#define __ZMATH_H
+
+#include <errno.h>
+
+#define NUM 3
+#define NAN 2
+#define INF 1
+
+#define __PI 3.14159265358979323846
+#define __SQRT_HALF 0.70710678118654752440
+#define __PI_OVER_TWO 1.57079632679489661923132
+
+extern double BIGX;
+extern double SMALLX;
+
+typedef const union
+{
+ long l[2];
+ double d;
+} udouble;
+
+typedef const union
+{
+ long l;
+ float f;
+} ufloat;
+
+extern double BIGX;
+extern double SMALLX;
+
+extern udouble z_infinity;
+extern udouble z_notanum;
+extern double z_rooteps;
+
+extern ufloat z_infinity_f;
+extern ufloat z_notanum_f;
+extern float z_rooteps_f;
+
+/* Core math routines. */
+
+int _EXFUN (numtest, (double));
+int _EXFUN (numtestf, (float));
+double _EXFUN (logarithm, (double, int));
+float _EXFUN (logarithmf, (float, int));
+double _EXFUN (sine, (double, int));
+float _EXFUN (sinef, (float, int));
+double _EXFUN (asine, (double, int));
+float _EXFUN (asinef, (float, int));
+double _EXFUN (atangent, (double, double, double, int));
+float _EXFUN (atangentf, (float, float, float, int));
+double _EXFUN (sineh, (double, int));
+float _EXFUN (sinehf, (float, int));
+
+#endif /* no __ZMATH_H */
diff --git a/newlib/libm/test/Makefile.in b/newlib/libm/test/Makefile.in
new file mode 100644
index 00000000000..b012369bedc
--- /dev/null
+++ b/newlib/libm/test/Makefile.in
@@ -0,0 +1,190 @@
+# Makefile for newlib/libm/test.
+# Copyright (c) 1994 Cygnus Support.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms are permitted
+# provided that the above copyright notice and this paragraph are
+# duplicated in all such forms and that any documentation,
+# advertising materials, and other materials related to such
+# distribution and use acknowledge that the software was developed
+# at Cygnus Support, Inc. Cygnus Support, Inc. may not be used to
+# endorse or promote products derived from this software without
+# specific prior written permission.
+# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+TOP=..
+SRCTOP=..
+
+#### Host, target, and site specific Makefile fragments come in here.
+###
+
+
+OFILES=test.o string.o convert.o conv_vec.o iconv_vec.o test_is.o dvec.o sprint_vec.o sprint_ivec.o math2.o test_ieee.o
+
+VEC_OFILES=\
+ math.o \
+ atan2_vec.o \
+ atan2f_vec.o \
+ jn_vec.o \
+ jnf_vec.o \
+ log2_vec.o \
+ log2f_vec.o \
+ yn_vec.o \
+ ynf_vec.o \
+ acos_vec.o \
+ acosf_vec.o \
+ acosh_vec.o \
+ acoshf_vec.o \
+ asin_vec.o \
+ asinf_vec.o \
+ asinh_vec.o \
+ asinhf_vec.o \
+ atan_vec.o \
+ atanf_vec.o \
+ atanh_vec.o \
+ atanhf_vec.o \
+ ceil_vec.o \
+ ceilf_vec.o \
+ cos_vec.o \
+ cosf_vec.o \
+ cosh_vec.o \
+ coshf_vec.o \
+ erf_vec.o \
+ erfc_vec.o \
+ erfcf_vec.o \
+ erff_vec.o \
+ exp_vec.o \
+ expf_vec.o \
+ fabs_vec.o \
+ fabsf_vec.o \
+ floor_vec.o \
+ floorf_vec.o \
+ gamma_vec.o \
+ gammaf_vec.o \
+ j0_vec.o \
+ j0f_vec.o \
+ j1_vec.o \
+ j1f_vec.o \
+ log10_vec.o \
+ log10f_vec.o \
+ log1p_vec.o \
+ log1pf_vec.o \
+ log_vec.o \
+ logf_vec.o \
+ sin_vec.o \
+ sinf_vec.o \
+ sinh_vec.o \
+ sinhf_vec.o \
+ sqrt_vec.o \
+ sqrtf_vec.o \
+ tan_vec.o \
+ tanf_vec.o \
+ tanh_vec.o \
+ tanhf_vec.o \
+ y0_vec.o \
+ y0f_vec.o \
+ y1_vec.o \
+ y1f_vec.o \
+ hypotf_vec.o \
+ hypot_vec.o \
+ fmod_vec.o \
+ fmodf_vec.o
+
+
+all:$(OFILES) $(VEC_OFILES)
+ $(CROSS_LD) -o test ../../crt0.o $(OFILES) $(VEC_OFILES) ../../libc.a ../../libm.a
+
+
+clean mostlyclean:
+ $(RM) $(OFILES) $(VEC_OFILES) *~
+
+distclean maintainer-clean realclean: clean
+ rm -f Makefile config.status
+
+
+Makefile:Makefile.in
+ $(SHELL) config.status
+
+# to support SunOS VPATH
+acos_vec.o: acos_vec.c
+acosf_vec.o: acosf_vec.c
+acosh_vec.o: acosh_vec.c
+acoshf_vec.o: acoshf_vec.c
+asin_vec.o: asin_vec.c
+asinf_vec.o: asinf_vec.c
+asinh_vec.o: asinh_vec.c
+asinhf_vec.o: asinhf_vec.c
+atan2_vec.o: atan2_vec.c
+atan2f_vec.o: atan2f_vec.c
+atan_vec.o: atan_vec.c
+atanf_vec.o: atanf_vec.c
+atanh_vec.o: atanh_vec.c
+atanhf_vec.o: atanhf_vec.c
+ceil_vec.o: ceil_vec.c
+ceilf_vec.o: ceilf_vec.c
+conv_vec.o: conv_vec.c
+convert.o: convert.c
+cos_vec.o: cos_vec.c
+cosf_vec.o: cosf_vec.c
+cosh_vec.o: cosh_vec.c
+coshf_vec.o: coshf_vec.c
+dcvt.o: dcvt.c
+dvec.o: dvec.c
+erf_vec.o: erf_vec.c
+erfc_vec.o: erfc_vec.c
+erfcf_vec.o: erfcf_vec.c
+erff_vec.o: erff_vec.c
+exp_vec.o: exp_vec.c
+expf_vec.o: expf_vec.c
+fabs_vec.o: fabs_vec.c
+fabsf_vec.o: fabsf_vec.c
+floor_vec.o: floor_vec.c
+floorf_vec.o: floorf_vec.c
+fmod_vec.o: fmod_vec.c
+fmodf_vec.o: fmodf_vec.c
+gamma_vec.o: gamma_vec.c
+gammaf_vec.o: gammaf_vec.c
+hypot_vec.o: hypot_vec.c
+hypotf_vec.o: hypotf_vec.c
+iconv_vec.o: iconv_vec.c
+j0_vec.o: j0_vec.c
+j0f_vec.o: j0f_vec.c
+j1_vec.o: j1_vec.c
+j1f_vec.o: j1f_vec.c
+jn_vec.o: jn_vec.c
+jnf_vec.o: jnf_vec.c
+log10_vec.o: log10_vec.c
+log10f_vec.o: log10f_vec.c
+log1p_vec.o: log1p_vec.c
+log1pf_vec.o: log1pf_vec.c
+log2_vec.o: log2_vec.c
+log2f_vec.o: log2f_vec.c
+log_vec.o: log_vec.c
+logf_vec.o: logf_vec.c
+math.o: math.c
+math2.o: math2.c
+sin_vec.o: sin_vec.c
+sinf_vec.o: sinf_vec.c
+sinh_vec.o: sinh_vec.c
+sinhf_vec.o: sinhf_vec.c
+sprint_ivec.o: sprint_ivec.c
+sprint_vec.o: sprint_vec.c
+sqrt_vec.o: sqrt_vec.c
+sqrtf_vec.o: sqrtf_vec.c
+string.o: string.c
+tan_vec.o: tan_vec.c
+tanf_vec.o: tanf_vec.c
+tanh_vec.o: tanh_vec.c
+tanhf_vec.o: tanhf_vec.c
+test.o: test.c
+test_ieee.o: test_ieee.c
+test_is.o: test_is.c
+y0_vec.o: y0_vec.c
+y0f_vec.o: y0f_vec.c
+y1_vec.o: y1_vec.c
+y1f_vec.o: y1f_vec.c
+yn_vec.o: yn_vec.c
+ynf_vec.o: ynf_vec.c
diff --git a/newlib/libm/test/acos_vec.c b/newlib/libm/test/acos_vec.c
new file mode 100644
index 00000000000..4288b7b82fa
--- /dev/null
+++ b/newlib/libm/test/acos_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type acos_vec[] = {
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff33333, 0x33333333}, /* 64.0000=f(-1.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* 64.0000=f(-1.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* 64.0000=f(-1.18000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* 64.0000=f(-1.17000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* 64.0000=f(-1.16000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff26666, 0x66666666}, /* 64.0000=f(-1.15000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* 64.0000=f(-1.14000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* 64.0000=f(-1.13000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* 64.0000=f(-1.12000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* 64.0000=f(-1.11000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x99999999}, /* 64.0000=f(-1.10000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* 64.0000=f(-1.09000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff147ae, 0x147ae147}, /* 64.0000=f(-1.08000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* 64.0000=f(-1.07000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* 64.0000=f(-1.06000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* 64.0000=f(-1.05000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* 64.0000=f(-1.04000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* 64.0000=f(-1.03000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff051eb, 0x851eb851}, /* 64.0000=f(-1.02000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* 64.0000=f(-1.01000)*/
+{64, 0,123,__LINE__, 0x400921fb, 0x5170194b, 0xbfefffff, 0xfffffffe}, /* 3.14159=f(-0.01000)*/
+{64, 0,123,__LINE__, 0x4008001b, 0xe1bc0117, 0xbfefae14, 0x7ae147ac}, /* 3.00005=f(-0.99000)*/
+{64, 0,123,__LINE__, 0x400787b2, 0x2ce3f58d, 0xbfef5c28, 0xf5c28f5a}, /* 2.94125=f(-0.98000)*/
+{64, 0,123,__LINE__, 0x40072b10, 0x466e25ee, 0xbfef0a3d, 0x70a3d708}, /* 2.89602=f(-0.97000)*/
+{64, 0,123,__LINE__, 0x4006dcc5, 0x7bb565fa, 0xbfeeb851, 0xeb851eb6}, /* 2.85779=f(-0.96000)*/
+{64, 0,123,__LINE__, 0x4006979e, 0x34f1b08f, 0xbfee6666, 0x66666664}, /* 2.82403=f(-0.95000)*/
+{64, 0,123,__LINE__, 0x400658f0, 0x0fec9c13, 0xbfee147a, 0xe147ae12}, /* 2.79342=f(-0.94000)*/
+{64, 0,123,__LINE__, 0x40061f25, 0xfc69b3c5, 0xbfedc28f, 0x5c28f5c0}, /* 2.76520=f(-0.93000)*/
+{64, 0,123,__LINE__, 0x4005e938, 0x3efad0cf, 0xbfed70a3, 0xd70a3d6e}, /* 2.73887=f(-0.92000)*/
+{64, 0,123,__LINE__, 0x4005b66f, 0xc75f8f2e, 0xbfed1eb8, 0x51eb851c}, /* 2.71408=f(-0.91000)*/
+{64, 0,123,__LINE__, 0x40058647, 0x6251e743, 0xbfeccccc, 0xccccccca}, /* 2.69056=f(-0.90000)*/
+{64, 0,123,__LINE__, 0x4005585a, 0x919e47f6, 0xbfec7ae1, 0x47ae1478}, /* 2.66814=f(-0.89000)*/
+{64, 0,123,__LINE__, 0x40052c5b, 0x4e51b553, 0xbfec28f5, 0xc28f5c26}, /* 2.64665=f(-0.88000)*/
+{64, 0,123,__LINE__, 0x4005020b, 0x942d7396, 0xbfebd70a, 0x3d70a3d4}, /* 2.62599=f(-0.87000)*/
+{64, 0,123,__LINE__, 0x4004d939, 0x2170d7e8, 0xbfeb851e, 0xb851eb82}, /* 2.60606=f(-0.86000)*/
+{64, 0,123,__LINE__, 0x4004b1ba, 0x8ff34d12, 0xbfeb3333, 0x33333330}, /* 2.58678=f(-0.85000)*/
+{64, 0,123,__LINE__, 0x40048b6d, 0x4a69943d, 0xbfeae147, 0xae147ade}, /* 2.56808=f(-0.84000)*/
+{64, 0,123,__LINE__, 0x40046634, 0x12ff153e, 0xbfea8f5c, 0x28f5c28c}, /* 2.54990=f(-0.83000)*/
+{64, 0,123,__LINE__, 0x400441f5, 0xecbeef57, 0xbfea3d70, 0xa3d70a3a}, /* 2.53220=f(-0.82000)*/
+{64, 0,123,__LINE__, 0x40041e9d, 0x49ea60f0, 0xbfe9eb85, 0x1eb851e8}, /* 2.51494=f(-0.81000)*/
+{64, 0,123,__LINE__, 0x4003fc17, 0x6b7a855e, 0xbfe99999, 0x99999996}, /* 2.49809=f(-0.80000)*/
+{64, 0,123,__LINE__, 0x4003da53, 0xe4683a05, 0xbfe947ae, 0x147ae144}, /* 2.48160=f(-0.79000)*/
+{64, 0,123,__LINE__, 0x4003b944, 0x37710c9d, 0xbfe8f5c2, 0x8f5c28f2}, /* 2.46546=f(-0.78000)*/
+{64, 0,123,__LINE__, 0x400398db, 0x88c873c7, 0xbfe8a3d7, 0x0a3d70a0}, /* 2.44963=f(-0.77000)*/
+{64, 0,123,__LINE__, 0x4003790e, 0x5efbaf81, 0xbfe851eb, 0x851eb84e}, /* 2.43410=f(-0.76000)*/
+{64, 0,123,__LINE__, 0x400359d2, 0x6f93b6c2, 0xbfe7ffff, 0xfffffffc}, /* 2.41885=f(-0.75000)*/
+{64, 0,123,__LINE__, 0x40033b1e, 0x74e4d7d4, 0xbfe7ae14, 0x7ae147aa}, /* 2.40386=f(-0.74000)*/
+{64, 0,123,__LINE__, 0x40031cea, 0x0b1e9471, 0xbfe75c28, 0xf5c28f58}, /* 2.38911=f(-0.73000)*/
+{64, 0,123,__LINE__, 0x4002ff2d, 0x932437fa, 0xbfe70a3d, 0x70a3d706}, /* 2.37459=f(-0.72000)*/
+{64, 0,123,__LINE__, 0x4002e1e2, 0x1a0d3a1d, 0xbfe6b851, 0xeb851eb4}, /* 2.36029=f(-0.71000)*/
+{64, 0,123,__LINE__, 0x4002c501, 0x446cd5f0, 0xbfe66666, 0x66666662}, /* 2.34619=f(-0.70000)*/
+{64, 0,123,__LINE__, 0x4002a885, 0x3cb097c7, 0xbfe6147a, 0xe147ae10}, /* 2.33228=f(-0.69000)*/
+{64, 0,123,__LINE__, 0x40028c68, 0xa40a5e8a, 0xbfe5c28f, 0x5c28f5be}, /* 2.31855=f(-0.68000)*/
+{64, 0,123,__LINE__, 0x400270a6, 0x857678d4, 0xbfe570a3, 0xd70a3d6c}, /* 2.30500=f(-0.67000)*/
+{64, 0,123,__LINE__, 0x4002553a, 0x4a84548e, 0xbfe51eb8, 0x51eb851a}, /* 2.29161=f(-0.66000)*/
+{64, 0,123,__LINE__, 0x40023a1f, 0xb1993d6b, 0xbfe4cccc, 0xccccccc8}, /* 2.27838=f(-0.65000)*/
+{64, 0,123,__LINE__, 0x40021f52, 0xc5720bd9, 0xbfe47ae1, 0x47ae1476}, /* 2.26529=f(-0.64000)*/
+{64, 0,123,__LINE__, 0x400204cf, 0xd5b34454, 0xbfe428f5, 0xc28f5c24}, /* 2.25235=f(-0.63000)*/
+{64, 0,123,__LINE__, 0x4001ea93, 0x705fa170, 0xbfe3d70a, 0x3d70a3d2}, /* 2.23953=f(-0.62000)*/
+{64, 0,123,__LINE__, 0x4001d09a, 0x5c13d2e9, 0xbfe3851e, 0xb851eb80}, /* 2.22685=f(-0.61000)*/
+{64, 0,123,__LINE__, 0x4001b6e1, 0x92ebbe42, 0xbfe33333, 0x3333332e}, /* 2.21429=f(-0.60000)*/
+{64, 0,123,__LINE__, 0x40019d66, 0x3dfa08c4, 0xbfe2e147, 0xae147adc}, /* 2.20185=f(-0.59000)*/
+{64, 0,123,__LINE__, 0x40018425, 0xb13e5c9f, 0xbfe28f5c, 0x28f5c28a}, /* 2.18952=f(-0.58000)*/
+{64, 0,123,__LINE__, 0x40016b1d, 0x6809deac, 0xbfe23d70, 0xa3d70a38}, /* 2.17730=f(-0.57000)*/
+{64, 0,123,__LINE__, 0x4001524b, 0x01c3c767, 0xbfe1eb85, 0x1eb851e6}, /* 2.16518=f(-0.56000)*/
+{64, 0,123,__LINE__, 0x400139ac, 0x3f022346, 0xbfe19999, 0x99999994}, /* 2.15316=f(-0.55000)*/
+{64, 0,123,__LINE__, 0x4001213e, 0xfeec77b2, 0xbfe147ae, 0x147ae142}, /* 2.14123=f(-0.54000)*/
+{64, 0,123,__LINE__, 0x40010901, 0x3cdf7bcb, 0xbfe0f5c2, 0x8f5c28f0}, /* 2.12939=f(-0.53000)*/
+{64, 0,123,__LINE__, 0x4000f0f1, 0x0e4a4af2, 0xbfe0a3d7, 0x0a3d709e}, /* 2.11764=f(-0.52000)*/
+{64, 0,123,__LINE__, 0x4000d90c, 0xa0be7d98, 0xbfe051eb, 0x851eb84c}, /* 2.10598=f(-0.51000)*/
+{64, 0,123,__LINE__, 0x4000c152, 0x382d7364, 0xbfdfffff, 0xfffffff4}, /* 2.09439=f(-0.50000)*/
+{64, 0,123,__LINE__, 0x4000a9c0, 0x2d4dd6d1, 0xbfdf5c28, 0xf5c28f50}, /* 2.08288=f(-0.49000)*/
+{64, 0,123,__LINE__, 0x40009254, 0xec250417, 0xbfdeb851, 0xeb851eac}, /* 2.07145=f(-0.48000)*/
+{64, 0,123,__LINE__, 0x40007b0e, 0xf2b0873a, 0xbfde147a, 0xe147ae08}, /* 2.06008=f(-0.47000)*/
+{64, 0,123,__LINE__, 0x400063ec, 0xcfac5c06, 0xbfdd70a3, 0xd70a3d64}, /* 2.04879=f(-0.46000)*/
+{64, 0,123,__LINE__, 0x40004ced, 0x21730104, 0xbfdccccc, 0xccccccc0}, /* 2.03756=f(-0.45000)*/
+{64, 0,123,__LINE__, 0x4000360e, 0x94f4c6c4, 0xbfdc28f5, 0xc28f5c1c}, /* 2.02639=f(-0.44000)*/
+{64, 0,123,__LINE__, 0x40001f4f, 0xe4c4118e, 0xbfdb851e, 0xb851eb78}, /* 2.01528=f(-0.43000)*/
+{64, 0,123,__LINE__, 0x400008af, 0xd83485fa, 0xbfdae147, 0xae147ad4}, /* 2.00424=f(-0.42000)*/
+{64, 0,123,__LINE__, 0x3fffe45a, 0x8516a5c6, 0xbfda3d70, 0xa3d70a30}, /* 1.99325=f(-0.41000)*/
+{64, 0,123,__LINE__, 0x3fffb78e, 0x047dfba1, 0xbfd99999, 0x9999998c}, /* 1.98231=f(-0.40000)*/
+{64, 0,123,__LINE__, 0x3fff8af8, 0x008a864f, 0xbfd8f5c2, 0x8f5c28e8}, /* 1.97142=f(-0.39000)*/
+{64, 0,123,__LINE__, 0x3fff5e96, 0x5edb849c, 0xbfd851eb, 0x851eb844}, /* 1.96059=f(-0.38000)*/
+{64, 0,123,__LINE__, 0x3fff3267, 0x1790a029, 0xbfd7ae14, 0x7ae147a0}, /* 1.94980=f(-0.37000)*/
+{64, 0,123,__LINE__, 0x3fff0668, 0x342bcf9e, 0xbfd70a3d, 0x70a3d6fc}, /* 1.93906=f(-0.36000)*/
+{64, 0,123,__LINE__, 0x3ffeda97, 0xce869c0d, 0xbfd66666, 0x66666658}, /* 1.92836=f(-0.35000)*/
+{64, 0,123,__LINE__, 0x3ffeaef4, 0x0fd91e82, 0xbfd5c28f, 0x5c28f5b4}, /* 1.91771=f(-0.34000)*/
+{64, 0,123,__LINE__, 0x3ffe837b, 0x2fd13424, 0xbfd51eb8, 0x51eb8510}, /* 1.90710=f(-0.33000)*/
+{64, 0,123,__LINE__, 0x3ffe582b, 0x73b88c73, 0xbfd47ae1, 0x47ae146c}, /* 1.89652=f(-0.32000)*/
+{64, 0,123,__LINE__, 0x3ffe2d03, 0x2da855f3, 0xbfd3d70a, 0x3d70a3c8}, /* 1.88598=f(-0.31000)*/
+{64, 0,123,__LINE__, 0x3ffe0200, 0xbbc96ad4, 0xbfd33333, 0x33333324}, /* 1.87548=f(-0.30000)*/
+{64, 0,123,__LINE__, 0x3ffdd722, 0x879ff961, 0xbfd28f5c, 0x28f5c280}, /* 1.86502=f(-0.29000)*/
+{64, 0,123,__LINE__, 0x3ffdac67, 0x0561bb4b, 0xbfd1eb85, 0x1eb851dc}, /* 1.85459=f(-0.28000)*/
+{64, 0,123,__LINE__, 0x3ffd81cc, 0xb355e3be, 0xbfd147ae, 0x147ae138}, /* 1.84418=f(-0.27000)*/
+{64, 0,123,__LINE__, 0x3ffd5752, 0x193dff00, 0xbfd0a3d7, 0x0a3d7094}, /* 1.83381=f(-0.26000)*/
+{64, 0,123,__LINE__, 0x3ffd2cf5, 0xc7c70f07, 0xbfcfffff, 0xffffffe0}, /* 1.82347=f(-0.25000)*/
+{64, 0,123,__LINE__, 0x3ffd02b6, 0x58023fbc, 0xbfceb851, 0xeb851e98}, /* 1.81316=f(-0.24000)*/
+{64, 0,123,__LINE__, 0x3ffcd892, 0x6ae49ae7, 0xbfcd70a3, 0xd70a3d50}, /* 1.80287=f(-0.23000)*/
+{64, 0,123,__LINE__, 0x3ffcae88, 0xa8cd304f, 0xbfcc28f5, 0xc28f5c08}, /* 1.79261=f(-0.22000)*/
+{64, 0,123,__LINE__, 0x3ffc8497, 0xc1113153, 0xbfcae147, 0xae147ac0}, /* 1.78237=f(-0.21000)*/
+{60, 0,123,__LINE__, 0x3ffc5abe, 0x698d895c, 0xbfc99999, 0x99999978}, /* 1.77215=f(-0.20000)*/
+{64, 0,123,__LINE__, 0x3ffc30fb, 0x5e3d8564, 0xbfc851eb, 0x851eb830}, /* 1.76195=f(-0.19000)*/
+{64, 0,123,__LINE__, 0x3ffc074d, 0x60d624f8, 0xbfc70a3d, 0x70a3d6e8}, /* 1.75178=f(-0.18000)*/
+{64, 0,123,__LINE__, 0x3ffbddb3, 0x3865b650, 0xbfc5c28f, 0x5c28f5a0}, /* 1.74162=f(-0.17000)*/
+{64, 0,123,__LINE__, 0x3ffbb42b, 0xb0f765c6, 0xbfc47ae1, 0x47ae1458}, /* 1.73148=f(-0.16000)*/
+{64, 0,123,__LINE__, 0x3ffb8ab5, 0x9b3a6eea, 0xbfc33333, 0x33333310}, /* 1.72136=f(-0.15000)*/
+{64, 0,123,__LINE__, 0x3ffb614f, 0xcc2ca2bb, 0xbfc1eb85, 0x1eb851c8}, /* 1.71125=f(-0.14000)*/
+{64, 0,123,__LINE__, 0x3ffb37f9, 0x1cc7fb82, 0xbfc0a3d7, 0x0a3d7080}, /* 1.70116=f(-0.13000)*/
+{64, 0,123,__LINE__, 0x3ffb0eb0, 0x69b2fb1c, 0xbfbeb851, 0xeb851e71}, /* 1.69108=f(-0.12000)*/
+{64, 0,123,__LINE__, 0x3ffae574, 0x92f3947b, 0xbfbc28f5, 0xc28f5be2}, /* 1.68101=f(-0.11000)*/
+{64, 0,123,__LINE__, 0x3ffabc44, 0x7ba4649c, 0xbfb99999, 0x99999953}, /* 1.67096=f(-0.00100)*/
+{64, 0,123,__LINE__, 0x3ffa931f, 0x09ac0277, 0xbfb70a3d, 0x70a3d6c4}, /* 1.66091=f(-0.09000)*/
+{64, 0,123,__LINE__, 0x3ffa6a03, 0x2576302c, 0xbfb47ae1, 0x47ae1435}, /* 1.65088=f(-0.08000)*/
+{64, 0,123,__LINE__, 0x3ffa40ef, 0xb9aeba3c, 0xbfb1eb85, 0x1eb851a6}, /* 1.64085=f(-0.07000)*/
+{64, 0,123,__LINE__, 0x3ffa17e3, 0xb2fdd3d9, 0xbfaeb851, 0xeb851e2d}, /* 1.63083=f(-0.06000)*/
+{64, 0,123,__LINE__, 0x3ff9eedd, 0xffc5c146, 0xbfa99999, 0x9999990e}, /* 1.62081=f(-0.05000)*/
+{64, 0,123,__LINE__, 0x3ff9c5dd, 0x8fe1a2fe, 0xbfa47ae1, 0x47ae13ef}, /* 1.61080=f(-0.04000)*/
+{64, 0,123,__LINE__, 0x3ff99ce1, 0x546535b4, 0xbf9eb851, 0xeb851da0}, /* 1.60080=f(-0.03000)*/
+{64, 0,123,__LINE__, 0x3ff973e8, 0x3f5d5c96, 0xbf947ae1, 0x47ae1362}, /* 1.59079=f(-0.02000)*/
+{64, 0,123,__LINE__, 0x3ff94af1, 0x43914c32, 0xbf847ae1, 0x47ae1249}, /* 1.58079=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x3ff921fb, 0x54442d14, 0x3cd19000, 0x00000000}, /* 1.57079=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0x3ff8f905, 0x64f70df6, 0x3f847ae1, 0x47ae16ad}, /* 1.56079=f(0.01000)*/
+{64, 0,123,__LINE__, 0x3ff8d00e, 0x692afd91, 0x3f947ae1, 0x47ae1594}, /* 1.55079=f(0.02000)*/
+{64, 0,123,__LINE__, 0x3ff8a715, 0x54232474, 0x3f9eb851, 0xeb851fd2}, /* 1.54079=f(0.03000)*/
+{64, 0,123,__LINE__, 0x3ff87e19, 0x18a6b729, 0x3fa47ae1, 0x47ae1508}, /* 1.53078=f(0.04000)*/
+{64, 0,123,__LINE__, 0x3ff85518, 0xa8c298e1, 0x3fa99999, 0x99999a27}, /* 1.52077=f(0.05000)*/
+{64, 0,123,__LINE__, 0x3ff82c12, 0xf58a864e, 0x3faeb851, 0xeb851f46}, /* 1.51076=f(0.06000)*/
+{64, 0,123,__LINE__, 0x3ff80306, 0xeed99feb, 0x3fb1eb85, 0x1eb85232}, /* 1.50073=f(0.07000)*/
+{64, 0,123,__LINE__, 0x3ff7d9f3, 0x831229fb, 0x3fb47ae1, 0x47ae14c1}, /* 1.49071=f(0.08000)*/
+{64, 0,123,__LINE__, 0x3ff7b0d7, 0x9edc57b0, 0x3fb70a3d, 0x70a3d750}, /* 1.48067=f(0.09000)*/
+{64, 0,123,__LINE__, 0x3ff787b2, 0x2ce3f58c, 0x3fb99999, 0x999999df}, /* 1.47062=f(0.10000)*/
+{64, 0,123,__LINE__, 0x3ff75e82, 0x1594c5ac, 0x3fbc28f5, 0xc28f5c6e}, /* 1.46057=f(0.11000)*/
+{64, 0,123,__LINE__, 0x3ff73546, 0x3ed55f0c, 0x3fbeb851, 0xeb851efd}, /* 1.45050=f(0.12000)*/
+{64, 0,123,__LINE__, 0x3ff70bfd, 0x8bc05ea6, 0x3fc0a3d7, 0x0a3d70c6}, /* 1.44042=f(0.13000)*/
+{64, 0,123,__LINE__, 0x3ff6e2a6, 0xdc5bb76c, 0x3fc1eb85, 0x1eb8520e}, /* 1.43033=f(0.14000)*/
+{64, 0,123,__LINE__, 0x3ff6b941, 0x0d4deb3d, 0x3fc33333, 0x33333356}, /* 1.42022=f(0.15000)*/
+{64, 0,123,__LINE__, 0x3ff68fca, 0xf790f461, 0x3fc47ae1, 0x47ae149e}, /* 1.41010=f(0.16000)*/
+{64, 0,123,__LINE__, 0x3ff66643, 0x7022a3d8, 0x3fc5c28f, 0x5c28f5e6}, /* 1.39996=f(0.17000)*/
+{64, 0,123,__LINE__, 0x3ff63ca9, 0x47b2352f, 0x3fc70a3d, 0x70a3d72e}, /* 1.38981=f(0.18000)*/
+{64, 0,123,__LINE__, 0x3ff612fb, 0x4a4ad4c3, 0x3fc851eb, 0x851eb876}, /* 1.37963=f(0.19000)*/
+{64, 0,123,__LINE__, 0x3ff5e938, 0x3efad0cc, 0x3fc99999, 0x999999be}, /* 1.36943=f(0.20000)*/
+{64, 0,123,__LINE__, 0x3ff5bf5e, 0xe77728d4, 0x3fcae147, 0xae147b06}, /* 1.35922=f(0.21000)*/
+{64, 0,123,__LINE__, 0x3ff5956d, 0xffbb29d8, 0x3fcc28f5, 0xc28f5c4e}, /* 1.34898=f(0.22000)*/
+{64, 0,123,__LINE__, 0x3ff56b64, 0x3da3bf40, 0x3fcd70a3, 0xd70a3d96}, /* 1.33871=f(0.23000)*/
+{64, 0,123,__LINE__, 0x3ff54140, 0x50861a6b, 0x3fceb851, 0xeb851ede}, /* 1.32843=f(0.24000)*/
+{64, 0,123,__LINE__, 0x3ff51700, 0xe0c14b20, 0x3fd00000, 0x00000013}, /* 1.31811=f(0.25000)*/
+{64, 0,123,__LINE__, 0x3ff4eca4, 0x8f4a5b28, 0x3fd0a3d7, 0x0a3d70b7}, /* 1.30777=f(0.26000)*/
+{64, 0,123,__LINE__, 0x3ff4c229, 0xf5327668, 0x3fd147ae, 0x147ae15b}, /* 1.29740=f(0.27000)*/
+{64, 0,123,__LINE__, 0x3ff4978f, 0xa3269edc, 0x3fd1eb85, 0x1eb851ff}, /* 1.28700=f(0.28000)*/
+{64, 0,123,__LINE__, 0x3ff46cd4, 0x20e860c6, 0x3fd28f5c, 0x28f5c2a3}, /* 1.27656=f(0.29000)*/
+{64, 0,123,__LINE__, 0x3ff441f5, 0xecbeef53, 0x3fd33333, 0x33333347}, /* 1.26610=f(0.30000)*/
+{64, 0,123,__LINE__, 0x3ff416f3, 0x7ae00434, 0x3fd3d70a, 0x3d70a3eb}, /* 1.25560=f(0.31000)*/
+{64, 0,123,__LINE__, 0x3ff3ebcb, 0x34cfcdb4, 0x3fd47ae1, 0x47ae148f}, /* 1.24506=f(0.32000)*/
+{64, 0,123,__LINE__, 0x3ff3c07b, 0x78b72603, 0x3fd51eb8, 0x51eb8533}, /* 1.23449=f(0.33000)*/
+{64, 0,123,__LINE__, 0x3ff39502, 0x98af3ba4, 0x3fd5c28f, 0x5c28f5d7}, /* 1.22387=f(0.34000)*/
+{62, 0,123,__LINE__, 0x3ff3695e, 0xda01be19, 0x3fd66666, 0x6666667b}, /* 1.21322=f(0.35000)*/
+{64, 0,123,__LINE__, 0x3ff33d8e, 0x745c8a89, 0x3fd70a3d, 0x70a3d71f}, /* 1.20252=f(0.36000)*/
+{64, 0,123,__LINE__, 0x3ff3118f, 0x90f7b9fe, 0x3fd7ae14, 0x7ae147c3}, /* 1.19178=f(0.37000)*/
+{64, 0,123,__LINE__, 0x3ff2e560, 0x49acd58b, 0x3fd851eb, 0x851eb867}, /* 1.18100=f(0.38000)*/
+{ 60, 0,123,__LINE__, 0x3ff2b8fe, 0xa7fdd3d7, 0x3fd8f5c2, 0x8f5c290b}, /* 1.17016=f(0.39000)*/
+{64, 0,123,__LINE__, 0x3ff28c68, 0xa40a5e85, 0x3fd99999, 0x999999af}, /* 1.15927=f(0.40000)*/
+{64, 0,123,__LINE__, 0x3ff25f9c, 0x2371b460, 0x3fda3d70, 0xa3d70a53}, /* 1.14834=f(0.41000)*/
+{64, 0,123,__LINE__, 0x3ff23296, 0xf81f4e32, 0x3fdae147, 0xae147af7}, /* 1.13735=f(0.42000)*/
+{64, 0,123,__LINE__, 0x3ff20556, 0xdf00370a, 0x3fdb851e, 0xb851eb9b}, /* 1.12630=f(0.43000)*/
+{64, 0,123,__LINE__, 0x3ff1d7d9, 0x7e9ecca0, 0x3fdc28f5, 0xc28f5c3f}, /* 1.11519=f(0.44000)*/
+{64, 0,123,__LINE__, 0x3ff1aa1c, 0x65a2581f, 0x3fdccccc, 0xcccccce3}, /* 1.10403=f(0.45000)*/
+{64, 0,123,__LINE__, 0x3ff17c1d, 0x092fa21a, 0x3fdd70a3, 0xd70a3d87}, /* 1.09280=f(0.46000)*/
+{64, 0,123,__LINE__, 0x3ff14dd8, 0xc3274bb2, 0x3fde147a, 0xe147ae2b}, /* 1.08150=f(0.47000)*/
+{64, 0,123,__LINE__, 0x3ff11f4c, 0xd03e51f8, 0x3fdeb851, 0xeb851ecf}, /* 1.07014=f(0.48000)*/
+{64, 0,123,__LINE__, 0x3ff0f076, 0x4decac84, 0x3fdf5c28, 0xf5c28f73}, /* 1.05870=f(0.49000)*/
+{64, 0,123,__LINE__, 0x3ff0c152, 0x382d735f, 0x3fe00000, 0x0000000b}, /* 1.04719=f(0.50000)*/
+{64, 0,123,__LINE__, 0x3ff091dd, 0x670b5ef5, 0x3fe051eb, 0x851eb85d}, /* 1.03561=f(0.51000)*/
+{64, 0,123,__LINE__, 0x3ff06214, 0x8bf3c442, 0x3fe0a3d7, 0x0a3d70af}, /* 1.02394=f(0.52000)*/
+{64, 0,123,__LINE__, 0x3ff031f4, 0x2ec96290, 0x3fe0f5c2, 0x8f5c2901}, /* 1.01219=f(0.53000)*/
+{64, 0,123,__LINE__, 0x3ff00178, 0xaaaf6ac2, 0x3fe147ae, 0x147ae153}, /* 1.00035=f(0.54000)*/
+{64, 0,123,__LINE__, 0x3fefa13c, 0x55082733, 0x3fe19999, 0x999999a5}, /* 0.98843=f(0.55000)*/
+{ 59, 0,123,__LINE__, 0x3fef3ec1, 0x4a0196b0, 0x3fe1eb85, 0x1eb851f7}, /* 0.97641=f(0.56000)*/
+{64, 0,123,__LINE__, 0x3feedb77, 0xb0e9399e, 0x3fe23d70, 0xa3d70a49}, /* 0.96429=f(0.57000)*/
+{64, 0,123,__LINE__, 0x3fee7756, 0x8c1741d0, 0x3fe28f5c, 0x28f5c29b}, /* 0.95206=f(0.58000)*/
+{64, 0,123,__LINE__, 0x3fee1254, 0x5928913d, 0x3fe2e147, 0xae147aed}, /* 0.93973=f(0.59000)*/
+{64, 0,123,__LINE__, 0x3fedac67, 0x0561bb41, 0x3fe33333, 0x3333333f}, /* 0.92729=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3fed4583, 0xe0c168a7, 0x3fe3851e, 0xb851eb91}, /* 0.91473=f(0.61000)*/
+{64, 0,123,__LINE__, 0x3fecdd9f, 0x8f922e89, 0x3fe3d70a, 0x3d70a3e3}, /* 0.90205=f(0.62000)*/
+{64, 0,123,__LINE__, 0x3fec74ad, 0xfa43a2fd, 0x3fe428f5, 0xc28f5c35}, /* 0.88924=f(0.63000)*/
+{64, 0,123,__LINE__, 0x3fec0aa2, 0x3b4884e6, 0x3fe47ae1, 0x47ae1487}, /* 0.87629=f(0.64000)*/
+{64, 0,123,__LINE__, 0x3feb9f6e, 0x8aabbe9e, 0x3fe4cccc, 0xccccccd9}, /* 0.86321=f(0.65000)*/
+{64, 0,123,__LINE__, 0x3feb3304, 0x26ff6214, 0x3fe51eb8, 0x51eb852b}, /* 0.84997=f(0.66000)*/
+{64, 0,123,__LINE__, 0x3feac553, 0x3b36d0fa, 0x3fe570a3, 0xd70a3d7d}, /* 0.83658=f(0.67000)*/
+{64, 0,123,__LINE__, 0x3fea564a, 0xc0e73a22, 0x3fe5c28f, 0x5c28f5cf}, /* 0.82303=f(0.68000)*/
+{62, 0,123,__LINE__, 0x3fe9e5d8, 0x5e4e552e, 0x3fe6147a, 0xe147ae21}, /* 0.80930=f(0.69000)*/
+{62, 0,123,__LINE__, 0x3fe973e8, 0x3f5d5c8a, 0x3fe66666, 0x66666673}, /* 0.79539=f(0.70000)*/
+{64, 0,123,__LINE__, 0x3fe90064, 0xe8dbcbd3, 0x3fe6b851, 0xeb851ec5}, /* 0.78129=f(0.71000)*/
+{64, 0,123,__LINE__, 0x3fe88b37, 0x047fd461, 0x3fe70a3d, 0x70a3d717}, /* 0.76699=f(0.72000)*/
+{64, 0,123,__LINE__, 0x3fe81445, 0x24966281, 0x3fe75c28, 0xf5c28f69}, /* 0.75247=f(0.73000)*/
+{64, 0,123,__LINE__, 0x3fe79b73, 0x7d7d54f8, 0x3fe7ae14, 0x7ae147bb}, /* 0.73772=f(0.74000)*/
+{64, 0,123,__LINE__, 0x3fe720a3, 0x92c1d941, 0x3fe80000, 0x0000000d}, /* 0.72273=f(0.75000)*/
+{64, 0,123,__LINE__, 0x3fe6a3b3, 0xd521f641, 0x3fe851eb, 0x851eb85f}, /* 0.70748=f(0.76000)*/
+{64, 0,123,__LINE__, 0x3fe6247f, 0x2deee529, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.69195=f(0.77000)*/
+{64, 0,123,__LINE__, 0x3fe5a2dc, 0x734c81d0, 0x3fe8f5c2, 0x8f5c2903}, /* 0.67613=f(0.78000)*/
+{64, 0,123,__LINE__, 0x3fe51e9d, 0xbf6fcc30, 0x3fe947ae, 0x147ae155}, /* 0.65998=f(0.79000)*/
+{64, 0,123,__LINE__, 0x3fe4978f, 0xa3269ecb, 0x3fe99999, 0x999999a7}, /* 0.64350=f(0.80000)*/
+{64, 0,123,__LINE__, 0x3fe40d78, 0x29673085, 0x3fe9eb85, 0x1eb851f9}, /* 0.62664=f(0.81000)*/
+{64, 0,123,__LINE__, 0x3fe38015, 0x9e14f6e6, 0x3fea3d70, 0xa3d70a4b}, /* 0.60938=f(0.82000)*/
+{64, 0,123,__LINE__, 0x3fe2ef1d, 0x05145f4b, 0x3fea8f5c, 0x28f5c29d}, /* 0.59168=f(0.83000)*/
+{64, 0,123,__LINE__, 0x3fe25a38, 0x276a634d, 0x3feae147, 0xae147aef}, /* 0.57351=f(0.84000)*/
+{64, 0,123,__LINE__, 0x3fe1c103, 0x11437ff9, 0x3feb3333, 0x33333341}, /* 0.55481=f(0.85000)*/
+{64, 0,123,__LINE__, 0x3fe12308, 0xcb4d549f, 0x3feb851e, 0xb851eb93}, /* 0.53552=f(0.86000)*/
+{64, 0,123,__LINE__, 0x3fe07fbf, 0x005ae5e9, 0x3febd70a, 0x3d70a3e5}, /* 0.51559=f(0.87000)*/
+{64, 0,123,__LINE__, 0x3fdfad00, 0x2f93bde1, 0x3fec28f5, 0xc28f5c37}, /* 0.49493=f(0.88000)*/
+{64, 0,123,__LINE__, 0x3fde4d06, 0x152f28c1, 0x3fec7ae1, 0x47ae1489}, /* 0.47345=f(0.89000)*/
+{64, 0,123,__LINE__, 0x3fdcdd9f, 0x8f922e58, 0x3feccccc, 0xccccccdb}, /* 0.45102=f(0.90000)*/
+{64, 0,123,__LINE__, 0x3fdb5c5c, 0x6724eef9, 0x3fed1eb8, 0x51eb852d}, /* 0.42751=f(0.91000)*/
+{64, 0,123,__LINE__, 0x3fd9c618, 0xaa4ae1f4, 0x3fed70a3, 0xd70a3d7f}, /* 0.40271=f(0.92000)*/
+{64, 0,123,__LINE__, 0x3fd816aa, 0xbed3ca3c, 0x3fedc28f, 0x5c28f5d1}, /* 0.37638=f(0.93000)*/
+{64, 0,123,__LINE__, 0x3fd6485a, 0x22bc87c6, 0x3fee147a, 0xe147ae23}, /* 0.34816=f(0.94000)*/
+{64, 0,123,__LINE__, 0x3fd452e8, 0xfa93e3db, 0x3fee6666, 0x66666675}, /* 0.31756=f(0.95000)*/
+{64, 0,123,__LINE__, 0x3fd229ae, 0xc4763873, 0x3feeb851, 0xeb851ec7}, /* 0.28379=f(0.96000)*/
+{64, 0,123,__LINE__, 0x3fcf6eb0, 0xdd60718f, 0x3fef0a3d, 0x70a3d719}, /* 0.24556=f(0.97000)*/
+{64, 0,123,__LINE__, 0x3fc9a492, 0x7603775a, 0x3fef5c28, 0xf5c28f6b}, /* 0.20033=f(0.98000)*/
+{64, 0,123,__LINE__, 0x3fc21df7, 0x2882be2e, 0x3fefae14, 0x7ae147bd}, /* 0.14153=f(0.99000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff00000, 0x00000007}, /* 64.0000=f(1.00000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff028f5, 0xc28f5c30}, /* 64.0000=f(1.01000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff051eb, 0x851eb859}, /* 64.0000=f(1.02000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff07ae1, 0x47ae1482}, /* 64.0000=f(1.03000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff0a3d7, 0x0a3d70ab}, /* 64.0000=f(1.04000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff0cccc, 0xccccccd4}, /* 64.0000=f(1.05000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff0f5c2, 0x8f5c28fd}, /* 64.0000=f(1.06000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff11eb8, 0x51eb8526}, /* 64.0000=f(1.07000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff147ae, 0x147ae14f}, /* 64.0000=f(1.08000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff170a3, 0xd70a3d78}, /* 64.0000=f(1.09000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff19999, 0x999999a1}, /* 64.0000=f(1.10000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff1c28f, 0x5c28f5ca}, /* 64.0000=f(1.11000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff1eb85, 0x1eb851f3}, /* 64.0000=f(1.12000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff2147a, 0xe147ae1c}, /* 64.0000=f(1.13000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff23d70, 0xa3d70a45}, /* 64.0000=f(1.14000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff26666, 0x6666666e}, /* 64.0000=f(1.15000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff28f5c, 0x28f5c297}, /* 64.0000=f(1.16000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff2b851, 0xeb851ec0}, /* 64.0000=f(1.17000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff2e147, 0xae147ae9}, /* 64.0000=f(1.18000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff30a3d, 0x70a3d712}, /* 64.0000=f(1.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01921fb, 0x54442d18}, /* 64.0000=f(-6.28318)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* 64.0000=f(-4.71238)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc00921fb, 0x54442d18}, /* 64.0000=f(-3.14159)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff921fb, 0x54442d18}, /* 64.0000=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x3ff921fb, 0x54442d18, 0x00000000, 0x00000000}, /* 1.57079=f(0.00000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff921fb, 0x54442d18}, /* 64.0000=f(1.57079)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x400921fb, 0x54442d18}, /* 64.0000=f(3.14159)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4012d97c, 0x7f3321d2}, /* 64.0000=f(4.71238)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03e0000, 0x00000000}, /* 64.0000=f(-30.0000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* 64.0000=f(-28.3000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03a9999, 0x9999999a}, /* 64.0000=f(-26.6000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc038e666, 0x66666667}, /* 64.0000=f(-24.9000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0373333, 0x33333334}, /* 64.0000=f(-23.2000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0358000, 0x00000001}, /* 64.0000=f(-21.5000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc033cccc, 0xccccccce}, /* 64.0000=f(-19.8000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0321999, 0x9999999b}, /* 64.0000=f(-18.1000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0306666, 0x66666668}, /* 64.0000=f(-16.4000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02d6666, 0x6666666a}, /* 64.0000=f(-14.7000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02a0000, 0x00000004}, /* 64.0000=f(-13.0000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0269999, 0x9999999e}, /* 64.0000=f(-11.3000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0233333, 0x33333338}, /* 64.0000=f(-9.60000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01f9999, 0x999999a3}, /* 64.0000=f(-7.90000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* 64.0000=f(-6.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0120000, 0x00000009}, /* 64.0000=f(-4.50000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0066666, 0x66666678}, /* 64.0000=f(-2.80000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x999999bd}, /* 64.0000=f(-1.10000)*/
+{63, 0,123,__LINE__, 0x3fedac67, 0x0561bba9, 0x3fe33333, 0x333332ec}, /* 0.92729=f(0.60000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40026666, 0x66666654}, /* 64.0000=f(2.30000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x400fffff, 0xffffffee}, /* 64.0000=f(4.00000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4016cccc, 0xccccccc4}, /* 64.0000=f(5.70000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x401d9999, 0x99999991}, /* 64.0000=f(7.40000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40223333, 0x3333332f}, /* 64.0000=f(9.10000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40259999, 0x99999995}, /* 64.0000=f(10.8000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4028ffff, 0xfffffffb}, /* 64.0000=f(12.5000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x402c6666, 0x66666661}, /* 64.0000=f(14.2000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x402fcccc, 0xccccccc7}, /* 64.0000=f(15.9000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40319999, 0x99999997}, /* 64.0000=f(17.6000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40334ccc, 0xccccccca}, /* 64.0000=f(19.3000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4034ffff, 0xfffffffd}, /* 64.0000=f(21.0000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4036b333, 0x33333330}, /* 64.0000=f(22.7000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40386666, 0x66666663}, /* 64.0000=f(24.4000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x403a1999, 0x99999996}, /* 64.0000=f(26.1000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x403bcccc, 0xccccccc9}, /* 64.0000=f(27.8000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x403d7fff, 0xfffffffc}, /* 64.0000=f(29.5000)*/
+0,};
+test_acos(m) {run_vector_1(m,acos_vec,(char *)(acos),"acos","dd"); }
diff --git a/newlib/libm/test/acosf_vec.c b/newlib/libm/test/acosf_vec.c
new file mode 100644
index 00000000000..f7ed3dbe769
--- /dev/null
+++ b/newlib/libm/test/acosf_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type acosf_vec[] = {
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff33333, 0x33333333}, /* 64.0000=f(-1.20000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* 64.0000=f(-1.19000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* 64.0000=f(-1.18000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* 64.0000=f(-1.17000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* 64.0000=f(-1.16000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff26666, 0x66666666}, /* 64.0000=f(-1.15000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* 64.0000=f(-1.14000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* 64.0000=f(-1.13000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* 64.0000=f(-1.12000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* 64.0000=f(-1.11000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x99999999}, /* 64.0000=f(-1.10000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* 64.0000=f(-1.09000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff147ae, 0x147ae147}, /* 64.0000=f(-1.08000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* 64.0000=f(-1.07000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* 64.0000=f(-1.06000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* 64.0000=f(-1.05000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* 64.0000=f(-1.04000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* 64.0000=f(-1.03000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff051eb, 0x851eb851}, /* 64.0000=f(-1.02000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* 64.0000=f(-1.01000)*/
+{ 1, 0,123,__LINE__, 0x400921fb, 0x60000000, 0xbfefffff, 0xfffffffe}, /* 3.14159=f(-0.01000)*/
+{ 1, 0,123,__LINE__, 0x4008001c, 0x00000000, 0xbfefae14, 0x7ae147ac}, /* 3.00005=f(-0.99000)*/
+{ 1, 0,123,__LINE__, 0x400787b2, 0x40000000, 0xbfef5c28, 0xf5c28f5a}, /* 2.94125=f(-0.98000)*/
+{ 1, 0,123,__LINE__, 0x40072b10, 0x60000000, 0xbfef0a3d, 0x70a3d708}, /* 2.89602=f(-0.97000)*/
+{ 1, 0,123,__LINE__, 0x4006dcc5, 0x80000000, 0xbfeeb851, 0xeb851eb6}, /* 2.85779=f(-0.96000)*/
+{ 1, 0,123,__LINE__, 0x4006979e, 0x40000000, 0xbfee6666, 0x66666664}, /* 2.82403=f(-0.95000)*/
+{ 1, 0,123,__LINE__, 0x400658f0, 0x20000000, 0xbfee147a, 0xe147ae12}, /* 2.79342=f(-0.94000)*/
+{ 1, 0,123,__LINE__, 0x40061f26, 0x00000000, 0xbfedc28f, 0x5c28f5c0}, /* 2.76520=f(-0.93000)*/
+{ 1, 0,123,__LINE__, 0x4005e938, 0x60000000, 0xbfed70a3, 0xd70a3d6e}, /* 2.73887=f(-0.92000)*/
+{ 1, 0,123,__LINE__, 0x4005b66f, 0xe0000000, 0xbfed1eb8, 0x51eb851c}, /* 2.71408=f(-0.91000)*/
+{ 1, 0,123,__LINE__, 0x40058647, 0x60000000, 0xbfeccccc, 0xccccccca}, /* 2.69056=f(-0.90000)*/
+{ 1, 0,123,__LINE__, 0x4005585a, 0xa0000000, 0xbfec7ae1, 0x47ae1478}, /* 2.66814=f(-0.89000)*/
+{ 1, 0,123,__LINE__, 0x40052c5b, 0x60000000, 0xbfec28f5, 0xc28f5c26}, /* 2.64665=f(-0.88000)*/
+{ 1, 0,123,__LINE__, 0x4005020b, 0xa0000000, 0xbfebd70a, 0x3d70a3d4}, /* 2.62599=f(-0.87000)*/
+{ 1, 0,123,__LINE__, 0x4004d939, 0x40000000, 0xbfeb851e, 0xb851eb82}, /* 2.60606=f(-0.86000)*/
+{ 1, 0,123,__LINE__, 0x4004b1ba, 0xa0000000, 0xbfeb3333, 0x33333330}, /* 2.58678=f(-0.85000)*/
+{ 1, 0,123,__LINE__, 0x40048b6d, 0x40000000, 0xbfeae147, 0xae147ade}, /* 2.56807=f(-0.84000)*/
+{ 1, 0,123,__LINE__, 0x40046634, 0x20000000, 0xbfea8f5c, 0x28f5c28c}, /* 2.54990=f(-0.83000)*/
+{ 1, 0,123,__LINE__, 0x400441f6, 0x00000000, 0xbfea3d70, 0xa3d70a3a}, /* 2.53220=f(-0.82000)*/
+{ 1, 0,123,__LINE__, 0x40041e9d, 0x60000000, 0xbfe9eb85, 0x1eb851e8}, /* 2.51494=f(-0.81000)*/
+{ 1, 0,123,__LINE__, 0x4003fc17, 0x80000000, 0xbfe99999, 0x99999996}, /* 2.49809=f(-0.80000)*/
+{ 1, 0,123,__LINE__, 0x4003da54, 0x00000000, 0xbfe947ae, 0x147ae144}, /* 2.48160=f(-0.79000)*/
+{ 1, 0,123,__LINE__, 0x4003b944, 0x40000000, 0xbfe8f5c2, 0x8f5c28f2}, /* 2.46546=f(-0.78000)*/
+{ 1, 0,123,__LINE__, 0x400398db, 0x80000000, 0xbfe8a3d7, 0x0a3d70a0}, /* 2.44963=f(-0.77000)*/
+{ 1, 0,123,__LINE__, 0x4003790e, 0x80000000, 0xbfe851eb, 0x851eb84e}, /* 2.43411=f(-0.76000)*/
+{ 1, 0,123,__LINE__, 0x400359d2, 0x80000000, 0xbfe7ffff, 0xfffffffc}, /* 2.41885=f(-0.75000)*/
+{ 1, 0,123,__LINE__, 0x40033b1e, 0x80000000, 0xbfe7ae14, 0x7ae147aa}, /* 2.40386=f(-0.74000)*/
+{ 1, 0,123,__LINE__, 0x40031cea, 0x20000000, 0xbfe75c28, 0xf5c28f58}, /* 2.38911=f(-0.73000)*/
+{ 1, 0,123,__LINE__, 0x4002ff2d, 0xa0000000, 0xbfe70a3d, 0x70a3d706}, /* 2.37459=f(-0.72000)*/
+{ 1, 0,123,__LINE__, 0x4002e1e2, 0x20000000, 0xbfe6b851, 0xeb851eb4}, /* 2.36029=f(-0.71000)*/
+{ 1, 0,123,__LINE__, 0x4002c501, 0x40000000, 0xbfe66666, 0x66666662}, /* 2.34619=f(-0.70000)*/
+{ 1, 0,123,__LINE__, 0x4002a885, 0x40000000, 0xbfe6147a, 0xe147ae10}, /* 2.33228=f(-0.69000)*/
+{ 1, 0,123,__LINE__, 0x40028c68, 0xc0000000, 0xbfe5c28f, 0x5c28f5be}, /* 2.31855=f(-0.68000)*/
+{ 1, 0,123,__LINE__, 0x400270a6, 0xa0000000, 0xbfe570a3, 0xd70a3d6c}, /* 2.30500=f(-0.67000)*/
+{ 1, 0,123,__LINE__, 0x4002553a, 0x60000000, 0xbfe51eb8, 0x51eb851a}, /* 2.29161=f(-0.66000)*/
+{ 1, 0,123,__LINE__, 0x40023a1f, 0xc0000000, 0xbfe4cccc, 0xccccccc8}, /* 2.27838=f(-0.65000)*/
+{ 1, 0,123,__LINE__, 0x40021f52, 0xc0000000, 0xbfe47ae1, 0x47ae1476}, /* 2.26529=f(-0.64000)*/
+{ 1, 0,123,__LINE__, 0x400204cf, 0xe0000000, 0xbfe428f5, 0xc28f5c24}, /* 2.25235=f(-0.63000)*/
+{ 1, 0,123,__LINE__, 0x4001ea93, 0x80000000, 0xbfe3d70a, 0x3d70a3d2}, /* 2.23953=f(-0.62000)*/
+{ 1, 0,123,__LINE__, 0x4001d09a, 0x60000000, 0xbfe3851e, 0xb851eb80}, /* 2.22685=f(-0.61000)*/
+{ 1, 0,123,__LINE__, 0x4001b6e1, 0xa0000000, 0xbfe33333, 0x3333332e}, /* 2.21429=f(-0.60000)*/
+{ 1, 0,123,__LINE__, 0x40019d66, 0x40000000, 0xbfe2e147, 0xae147adc}, /* 2.20185=f(-0.59000)*/
+{ 1, 0,123,__LINE__, 0x40018425, 0xc0000000, 0xbfe28f5c, 0x28f5c28a}, /* 2.18952=f(-0.58000)*/
+{ 1, 0,123,__LINE__, 0x40016b1d, 0x80000000, 0xbfe23d70, 0xa3d70a38}, /* 2.17730=f(-0.57000)*/
+{ 1, 0,123,__LINE__, 0x4001524b, 0x00000000, 0xbfe1eb85, 0x1eb851e6}, /* 2.16518=f(-0.56000)*/
+{ 1, 0,123,__LINE__, 0x400139ac, 0x40000000, 0xbfe19999, 0x99999994}, /* 2.15316=f(-0.55000)*/
+{ 1, 0,123,__LINE__, 0x4001213f, 0x00000000, 0xbfe147ae, 0x147ae142}, /* 2.14123=f(-0.54000)*/
+{ 1, 0,123,__LINE__, 0x40010901, 0x40000000, 0xbfe0f5c2, 0x8f5c28f0}, /* 2.12939=f(-0.53000)*/
+{ 1, 0,123,__LINE__, 0x4000f0f1, 0x00000000, 0xbfe0a3d7, 0x0a3d709e}, /* 2.11764=f(-0.52000)*/
+{ 1, 0,123,__LINE__, 0x4000d90c, 0xc0000000, 0xbfe051eb, 0x851eb84c}, /* 2.10598=f(-0.51000)*/
+{ 1, 0,123,__LINE__, 0x4000c152, 0x40000000, 0xbfdfffff, 0xfffffff4}, /* 2.09439=f(-0.50000)*/
+{ 1, 0,123,__LINE__, 0x4000a9c0, 0x40000000, 0xbfdf5c28, 0xf5c28f50}, /* 2.08288=f(-0.49000)*/
+{ 1, 0,123,__LINE__, 0x40009255, 0x00000000, 0xbfdeb851, 0xeb851eac}, /* 2.07145=f(-0.48000)*/
+{ 1, 0,123,__LINE__, 0x40007b0f, 0x00000000, 0xbfde147a, 0xe147ae08}, /* 2.06008=f(-0.47000)*/
+{ 1, 0,123,__LINE__, 0x400063ec, 0xe0000000, 0xbfdd70a3, 0xd70a3d64}, /* 2.04879=f(-0.46000)*/
+{ 1, 0,123,__LINE__, 0x40004ced, 0x20000000, 0xbfdccccc, 0xccccccc0}, /* 2.03756=f(-0.45000)*/
+{ 1, 0,123,__LINE__, 0x4000360e, 0xa0000000, 0xbfdc28f5, 0xc28f5c1c}, /* 2.02639=f(-0.44000)*/
+{ 1, 0,123,__LINE__, 0x40001f4f, 0xe0000000, 0xbfdb851e, 0xb851eb78}, /* 2.01528=f(-0.43000)*/
+{ 1, 0,123,__LINE__, 0x400008af, 0xe0000000, 0xbfdae147, 0xae147ad4}, /* 2.00424=f(-0.42000)*/
+{16, 0,123,__LINE__, 0x3fffe45a, 0x80000000, 0xbfda3d70, 0xa3d70a30}, /* 1.99325=f(-0.41000)*/
+{16, 0,123,__LINE__, 0x3fffb78e, 0x00000000, 0xbfd99999, 0x9999998c}, /* 1.98231=f(-0.40000)*/
+{16, 0,123,__LINE__, 0x3fff8af8, 0x00000000, 0xbfd8f5c2, 0x8f5c28e8}, /* 1.97142=f(-0.39000)*/
+{17, 0,123,__LINE__, 0x3fff5e96, 0x60000000, 0xbfd851eb, 0x851eb844}, /* 1.96059=f(-0.38000)*/
+{19, 0,123,__LINE__, 0x3fff3267, 0x20000000, 0xbfd7ae14, 0x7ae147a0}, /* 1.94980=f(-0.37000)*/
+{18, 0,123,__LINE__, 0x3fff0668, 0x40000000, 0xbfd70a3d, 0x70a3d6fc}, /* 1.93906=f(-0.36000)*/
+{15, 0,123,__LINE__, 0x3ffeda97, 0xe0000000, 0xbfd66666, 0x66666658}, /* 1.92836=f(-0.35000)*/
+{15, 0,123,__LINE__, 0x3ffeaef4, 0x20000000, 0xbfd5c28f, 0x5c28f5b4}, /* 1.91771=f(-0.34000)*/
+{15, 0,123,__LINE__, 0x3ffe837b, 0x40000000, 0xbfd51eb8, 0x51eb8510}, /* 1.90710=f(-0.33000)*/
+{15, 0,123,__LINE__, 0x3ffe582b, 0x80000000, 0xbfd47ae1, 0x47ae146c}, /* 1.89652=f(-0.32000)*/
+{15, 0,123,__LINE__, 0x3ffe2d03, 0x40000000, 0xbfd3d70a, 0x3d70a3c8}, /* 1.88598=f(-0.31000)*/
+{15, 0,123,__LINE__, 0x3ffe0200, 0xc0000000, 0xbfd33333, 0x33333324}, /* 1.87548=f(-0.30000)*/
+{14, 0,123,__LINE__, 0x3ffdd722, 0x80000000, 0xbfd28f5c, 0x28f5c280}, /* 1.86502=f(-0.29000)*/
+{14, 0,123,__LINE__, 0x3ffdac67, 0x00000000, 0xbfd1eb85, 0x1eb851dc}, /* 1.85459=f(-0.28000)*/
+{14, 0,123,__LINE__, 0x3ffd81cc, 0xc0000000, 0xbfd147ae, 0x147ae138}, /* 1.84418=f(-0.27000)*/
+{14, 0,123,__LINE__, 0x3ffd5752, 0x20000000, 0xbfd0a3d7, 0x0a3d7094}, /* 1.83381=f(-0.26000)*/
+{14, 0,123,__LINE__, 0x3ffd2cf5, 0xc0000000, 0xbfcfffff, 0xffffffe0}, /* 1.82347=f(-0.25000)*/
+{14, 0,123,__LINE__, 0x3ffd02b6, 0x60000000, 0xbfceb851, 0xeb851e98}, /* 1.81316=f(-0.24000)*/
+{14, 0,123,__LINE__, 0x3ffcd892, 0x80000000, 0xbfcd70a3, 0xd70a3d50}, /* 1.80287=f(-0.23000)*/
+{14, 0,123,__LINE__, 0x3ffcae88, 0xc0000000, 0xbfcc28f5, 0xc28f5c08}, /* 1.79261=f(-0.22000)*/
+{14, 0,123,__LINE__, 0x3ffc8497, 0xc0000000, 0xbfcae147, 0xae147ac0}, /* 1.78237=f(-0.21000)*/
+{14, 0,123,__LINE__, 0x3ffc5abe, 0x80000000, 0xbfc99999, 0x99999978}, /* 1.77215=f(-0.20000)*/
+{14, 0,123,__LINE__, 0x3ffc30fb, 0x60000000, 0xbfc851eb, 0x851eb830}, /* 1.76195=f(-0.19000)*/
+{14, 0,123,__LINE__, 0x3ffc074d, 0x80000000, 0xbfc70a3d, 0x70a3d6e8}, /* 1.75178=f(-0.18000)*/
+{13, 0,123,__LINE__, 0x3ffbddb3, 0x40000000, 0xbfc5c28f, 0x5c28f5a0}, /* 1.74162=f(-0.17000)*/
+{13, 0,123,__LINE__, 0x3ffbb42b, 0xc0000000, 0xbfc47ae1, 0x47ae1458}, /* 1.73148=f(-0.16000)*/
+{13, 0,123,__LINE__, 0x3ffb8ab5, 0xa0000000, 0xbfc33333, 0x33333310}, /* 1.72136=f(-0.15000)*/
+{13, 0,123,__LINE__, 0x3ffb614f, 0xe0000000, 0xbfc1eb85, 0x1eb851c8}, /* 1.71125=f(-0.14000)*/
+{13, 0,123,__LINE__, 0x3ffb37f9, 0x20000000, 0xbfc0a3d7, 0x0a3d7080}, /* 1.70116=f(-0.13000)*/
+{13, 0,123,__LINE__, 0x3ffb0eb0, 0x80000000, 0xbfbeb851, 0xeb851e71}, /* 1.69108=f(-0.12000)*/
+{13, 0,123,__LINE__, 0x3ffae574, 0xa0000000, 0xbfbc28f5, 0xc28f5be2}, /* 1.68101=f(-0.11000)*/
+{13, 0,123,__LINE__, 0x3ffabc44, 0x80000000, 0xbfb99999, 0x99999953}, /* 1.67096=f(-0.00100)*/
+{13, 0,123,__LINE__, 0x3ffa931f, 0x20000000, 0xbfb70a3d, 0x70a3d6c4}, /* 1.66091=f(-0.09000)*/
+{13, 0,123,__LINE__, 0x3ffa6a03, 0x40000000, 0xbfb47ae1, 0x47ae1435}, /* 1.65088=f(-0.08000)*/
+{13, 0,123,__LINE__, 0x3ffa40ef, 0xc0000000, 0xbfb1eb85, 0x1eb851a6}, /* 1.64085=f(-0.07000)*/
+{13, 0,123,__LINE__, 0x3ffa17e3, 0xc0000000, 0xbfaeb851, 0xeb851e2d}, /* 1.63083=f(-0.06000)*/
+{13, 0,123,__LINE__, 0x3ff9eede, 0x00000000, 0xbfa99999, 0x9999990e}, /* 1.62081=f(-0.05000)*/
+{13, 0,123,__LINE__, 0x3ff9c5dd, 0xa0000000, 0xbfa47ae1, 0x47ae13ef}, /* 1.61080=f(-0.04000)*/
+{13, 0,123,__LINE__, 0x3ff99ce1, 0x60000000, 0xbf9eb851, 0xeb851da0}, /* 1.60080=f(-0.03000)*/
+{13, 0,123,__LINE__, 0x3ff973e8, 0x40000000, 0xbf947ae1, 0x47ae1362}, /* 1.59079=f(-0.02000)*/
+{13, 0,123,__LINE__, 0x3ff94af1, 0x40000000, 0xbf847ae1, 0x47ae1249}, /* 1.58079=f(-0.00010)*/
+{13, 0,123,__LINE__, 0x3ff921fb, 0x60000000, 0x3cd19000, 0x00000000}, /* 1.57079=f(9.74915e-16)*/
+{13, 0,123,__LINE__, 0x3ff8f905, 0x80000000, 0x3f847ae1, 0x47ae16ad}, /* 1.56079=f(0.01000)*/
+{13, 0,123,__LINE__, 0x3ff8d00e, 0x80000000, 0x3f947ae1, 0x47ae1594}, /* 1.55079=f(0.02000)*/
+{13, 0,123,__LINE__, 0x3ff8a715, 0x60000000, 0x3f9eb851, 0xeb851fd2}, /* 1.54079=f(0.03000)*/
+{13, 0,123,__LINE__, 0x3ff87e19, 0x20000000, 0x3fa47ae1, 0x47ae1508}, /* 1.53078=f(0.04000)*/
+{13, 0,123,__LINE__, 0x3ff85518, 0xc0000000, 0x3fa99999, 0x99999a27}, /* 1.52077=f(0.05000)*/
+{13, 0,123,__LINE__, 0x3ff82c13, 0x00000000, 0x3faeb851, 0xeb851f46}, /* 1.51076=f(0.06000)*/
+{13, 0,123,__LINE__, 0x3ff80307, 0x00000000, 0x3fb1eb85, 0x1eb85232}, /* 1.50073=f(0.07000)*/
+{12, 0,123,__LINE__, 0x3ff7d9f3, 0x80000000, 0x3fb47ae1, 0x47ae14c1}, /* 1.49071=f(0.08000)*/
+{12, 0,123,__LINE__, 0x3ff7b0d7, 0xa0000000, 0x3fb70a3d, 0x70a3d750}, /* 1.48067=f(0.09000)*/
+{12, 0,123,__LINE__, 0x3ff787b2, 0x40000000, 0x3fb99999, 0x999999df}, /* 1.47062=f(0.10000)*/
+{12, 0,123,__LINE__, 0x3ff75e82, 0x20000000, 0x3fbc28f5, 0xc28f5c6e}, /* 1.46057=f(0.11000)*/
+{12, 0,123,__LINE__, 0x3ff73546, 0x40000000, 0x3fbeb851, 0xeb851efd}, /* 1.45050=f(0.12000)*/
+{12, 0,123,__LINE__, 0x3ff70bfd, 0xa0000000, 0x3fc0a3d7, 0x0a3d70c6}, /* 1.44042=f(0.13000)*/
+{12, 0,123,__LINE__, 0x3ff6e2a6, 0xe0000000, 0x3fc1eb85, 0x1eb8520e}, /* 1.43033=f(0.14000)*/
+{12, 0,123,__LINE__, 0x3ff6b941, 0x20000000, 0x3fc33333, 0x33333356}, /* 1.42022=f(0.15000)*/
+{12, 0,123,__LINE__, 0x3ff68fcb, 0x00000000, 0x3fc47ae1, 0x47ae149e}, /* 1.41010=f(0.16000)*/
+{12, 0,123,__LINE__, 0x3ff66643, 0x80000000, 0x3fc5c28f, 0x5c28f5e6}, /* 1.39996=f(0.17000)*/
+{12, 0,123,__LINE__, 0x3ff63ca9, 0x40000000, 0x3fc70a3d, 0x70a3d72e}, /* 1.38981=f(0.18000)*/
+{12, 0,123,__LINE__, 0x3ff612fb, 0x60000000, 0x3fc851eb, 0x851eb876}, /* 1.37963=f(0.19000)*/
+{12, 0,123,__LINE__, 0x3ff5e938, 0x40000000, 0x3fc99999, 0x999999be}, /* 1.36943=f(0.20000)*/
+{12, 0,123,__LINE__, 0x3ff5bf5f, 0x00000000, 0x3fcae147, 0xae147b06}, /* 1.35922=f(0.21000)*/
+{12, 0,123,__LINE__, 0x3ff5956e, 0x00000000, 0x3fcc28f5, 0xc28f5c4e}, /* 1.34898=f(0.22000)*/
+{12, 0,123,__LINE__, 0x3ff56b64, 0x40000000, 0x3fcd70a3, 0xd70a3d96}, /* 1.33871=f(0.23000)*/
+{12, 0,123,__LINE__, 0x3ff54140, 0x60000000, 0x3fceb851, 0xeb851ede}, /* 1.32843=f(0.24000)*/
+{12, 0,123,__LINE__, 0x3ff51701, 0x00000000, 0x3fd00000, 0x00000013}, /* 1.31811=f(0.25000)*/
+{12, 0,123,__LINE__, 0x3ff4eca4, 0xa0000000, 0x3fd0a3d7, 0x0a3d70b7}, /* 1.30777=f(0.26000)*/
+{12, 0,123,__LINE__, 0x3ff4c22a, 0x00000000, 0x3fd147ae, 0x147ae15b}, /* 1.29740=f(0.27000)*/
+{12, 0,123,__LINE__, 0x3ff4978f, 0xc0000000, 0x3fd1eb85, 0x1eb851ff}, /* 1.28700=f(0.28000)*/
+{12, 0,123,__LINE__, 0x3ff46cd4, 0x40000000, 0x3fd28f5c, 0x28f5c2a3}, /* 1.27657=f(0.29000)*/
+{12, 0,123,__LINE__, 0x3ff441f6, 0x00000000, 0x3fd33333, 0x33333347}, /* 1.26610=f(0.30000)*/
+{12, 0,123,__LINE__, 0x3ff416f3, 0x80000000, 0x3fd3d70a, 0x3d70a3eb}, /* 1.25560=f(0.31000)*/
+{12, 0,123,__LINE__, 0x3ff3ebcb, 0x40000000, 0x3fd47ae1, 0x47ae148f}, /* 1.24506=f(0.32000)*/
+{12, 0,123,__LINE__, 0x3ff3c07b, 0x80000000, 0x3fd51eb8, 0x51eb8533}, /* 1.23449=f(0.33000)*/
+{12, 0,123,__LINE__, 0x3ff39502, 0xa0000000, 0x3fd5c28f, 0x5c28f5d7}, /* 1.22387=f(0.34000)*/
+{12, 0,123,__LINE__, 0x3ff3695e, 0xe0000000, 0x3fd66666, 0x6666667b}, /* 1.21322=f(0.35000)*/
+{12, 0,123,__LINE__, 0x3ff33d8e, 0x80000000, 0x3fd70a3d, 0x70a3d71f}, /* 1.20252=f(0.36000)*/
+{12, 0,123,__LINE__, 0x3ff3118f, 0xa0000000, 0x3fd7ae14, 0x7ae147c3}, /* 1.19178=f(0.37000)*/
+{12, 0,123,__LINE__, 0x3ff2e560, 0x60000000, 0x3fd851eb, 0x851eb867}, /* 1.18100=f(0.38000)*/
+{12, 0,123,__LINE__, 0x3ff2b8fe, 0xc0000000, 0x3fd8f5c2, 0x8f5c290b}, /* 1.17016=f(0.39000)*/
+{12, 0,123,__LINE__, 0x3ff28c68, 0xc0000000, 0x3fd99999, 0x999999af}, /* 1.15928=f(0.40000)*/
+{12, 0,123,__LINE__, 0x3ff25f9c, 0x40000000, 0x3fda3d70, 0xa3d70a53}, /* 1.14834=f(0.41000)*/
+{12, 0,123,__LINE__, 0x3ff23297, 0x00000000, 0x3fdae147, 0xae147af7}, /* 1.13735=f(0.42000)*/
+{12, 0,123,__LINE__, 0x3ff20556, 0xe0000000, 0x3fdb851e, 0xb851eb9b}, /* 1.12630=f(0.43000)*/
+{12, 0,123,__LINE__, 0x3ff1d7d9, 0x80000000, 0x3fdc28f5, 0xc28f5c3f}, /* 1.11519=f(0.44000)*/
+{12, 0,123,__LINE__, 0x3ff1aa1c, 0x80000000, 0x3fdccccc, 0xcccccce3}, /* 1.10403=f(0.45000)*/
+{12, 0,123,__LINE__, 0x3ff17c1d, 0x00000000, 0x3fdd70a3, 0xd70a3d87}, /* 1.09280=f(0.46000)*/
+{12, 0,123,__LINE__, 0x3ff14dd8, 0xc0000000, 0x3fde147a, 0xe147ae2b}, /* 1.08150=f(0.47000)*/
+{12, 0,123,__LINE__, 0x3ff11f4c, 0xe0000000, 0x3fdeb851, 0xeb851ecf}, /* 1.07014=f(0.48000)*/
+{12, 0,123,__LINE__, 0x3ff0f076, 0x40000000, 0x3fdf5c28, 0xf5c28f73}, /* 1.05870=f(0.49000)*/
+{12, 0,123,__LINE__, 0x3ff0c152, 0x40000000, 0x3fe00000, 0x0000000b}, /* 1.04719=f(0.50000)*/
+{12, 0,123,__LINE__, 0x3ff091dd, 0x60000000, 0x3fe051eb, 0x851eb85d}, /* 1.03561=f(0.51000)*/
+{12, 0,123,__LINE__, 0x3ff06214, 0xa0000000, 0x3fe0a3d7, 0x0a3d70af}, /* 1.02394=f(0.52000)*/
+{12, 0,123,__LINE__, 0x3ff031f4, 0x40000000, 0x3fe0f5c2, 0x8f5c2901}, /* 1.01219=f(0.53000)*/
+{12, 0,123,__LINE__, 0x3ff00178, 0xa0000000, 0x3fe147ae, 0x147ae153}, /* 1.00035=f(0.54000)*/
+{11, 0,123,__LINE__, 0x3fefa13c, 0x40000000, 0x3fe19999, 0x999999a5}, /* 0.98843=f(0.55000)*/
+{11, 0,123,__LINE__, 0x3fef3ec1, 0x60000000, 0x3fe1eb85, 0x1eb851f7}, /* 0.97641=f(0.56000)*/
+{11, 0,123,__LINE__, 0x3feedb77, 0xa0000000, 0x3fe23d70, 0xa3d70a49}, /* 0.96429=f(0.57000)*/
+{11, 0,123,__LINE__, 0x3fee7756, 0xa0000000, 0x3fe28f5c, 0x28f5c29b}, /* 0.95206=f(0.58000)*/
+{11, 0,123,__LINE__, 0x3fee1254, 0x80000000, 0x3fe2e147, 0xae147aed}, /* 0.93973=f(0.59000)*/
+{11, 0,123,__LINE__, 0x3fedac67, 0x00000000, 0x3fe33333, 0x3333333f}, /* 0.92729=f(0.60000)*/
+{11, 0,123,__LINE__, 0x3fed4583, 0xe0000000, 0x3fe3851e, 0xb851eb91}, /* 0.91473=f(0.61000)*/
+{11, 0,123,__LINE__, 0x3fecdd9f, 0xa0000000, 0x3fe3d70a, 0x3d70a3e3}, /* 0.90205=f(0.62000)*/
+{11, 0,123,__LINE__, 0x3fec74ae, 0x00000000, 0x3fe428f5, 0xc28f5c35}, /* 0.88924=f(0.63000)*/
+{11, 0,123,__LINE__, 0x3fec0aa2, 0x40000000, 0x3fe47ae1, 0x47ae1487}, /* 0.87629=f(0.64000)*/
+{11, 0,123,__LINE__, 0x3feb9f6e, 0x80000000, 0x3fe4cccc, 0xccccccd9}, /* 0.86321=f(0.65000)*/
+{11, 0,123,__LINE__, 0x3feb3304, 0x00000000, 0x3fe51eb8, 0x51eb852b}, /* 0.84997=f(0.66000)*/
+{11, 0,123,__LINE__, 0x3feac553, 0x20000000, 0x3fe570a3, 0xd70a3d7d}, /* 0.83658=f(0.67000)*/
+{11, 0,123,__LINE__, 0x3fea564a, 0xc0000000, 0x3fe5c28f, 0x5c28f5cf}, /* 0.82303=f(0.68000)*/
+{11, 0,123,__LINE__, 0x3fe9e5d8, 0x60000000, 0x3fe6147a, 0xe147ae21}, /* 0.80930=f(0.69000)*/
+{11, 0,123,__LINE__, 0x3fe973e8, 0x40000000, 0x3fe66666, 0x66666673}, /* 0.79539=f(0.70000)*/
+{11, 0,123,__LINE__, 0x3fe90065, 0x00000000, 0x3fe6b851, 0xeb851ec5}, /* 0.78129=f(0.71000)*/
+{11, 0,123,__LINE__, 0x3fe88b36, 0xe0000000, 0x3fe70a3d, 0x70a3d717}, /* 0.76699=f(0.72000)*/
+{11, 0,123,__LINE__, 0x3fe81445, 0x20000000, 0x3fe75c28, 0xf5c28f69}, /* 0.75247=f(0.73000)*/
+{11, 0,123,__LINE__, 0x3fe79b73, 0x60000000, 0x3fe7ae14, 0x7ae147bb}, /* 0.73772=f(0.74000)*/
+{11, 0,123,__LINE__, 0x3fe720a3, 0x80000000, 0x3fe80000, 0x0000000d}, /* 0.72273=f(0.75000)*/
+{11, 0,123,__LINE__, 0x3fe6a3b3, 0xc0000000, 0x3fe851eb, 0x851eb85f}, /* 0.70748=f(0.76000)*/
+{11, 0,123,__LINE__, 0x3fe6247f, 0x40000000, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.69195=f(0.77000)*/
+{11, 0,123,__LINE__, 0x3fe5a2dc, 0xa0000000, 0x3fe8f5c2, 0x8f5c2903}, /* 0.67613=f(0.78000)*/
+{11, 0,123,__LINE__, 0x3fe51e9d, 0xa0000000, 0x3fe947ae, 0x147ae155}, /* 0.65998=f(0.79000)*/
+{11, 0,123,__LINE__, 0x3fe4978f, 0xa0000000, 0x3fe99999, 0x999999a7}, /* 0.64350=f(0.80000)*/
+{11, 0,123,__LINE__, 0x3fe40d78, 0x20000000, 0x3fe9eb85, 0x1eb851f9}, /* 0.62664=f(0.81000)*/
+{11, 0,123,__LINE__, 0x3fe38015, 0xa0000000, 0x3fea3d70, 0xa3d70a4b}, /* 0.60938=f(0.82000)*/
+{11, 0,123,__LINE__, 0x3fe2ef1d, 0x00000000, 0x3fea8f5c, 0x28f5c29d}, /* 0.59168=f(0.83000)*/
+{11, 0,123,__LINE__, 0x3fe25a38, 0x40000000, 0x3feae147, 0xae147aef}, /* 0.57351=f(0.84000)*/
+{11, 0,123,__LINE__, 0x3fe1c103, 0x00000000, 0x3feb3333, 0x33333341}, /* 0.55481=f(0.85000)*/
+{11, 0,123,__LINE__, 0x3fe12308, 0xc0000000, 0x3feb851e, 0xb851eb93}, /* 0.53552=f(0.86000)*/
+{11, 0,123,__LINE__, 0x3fe07fbf, 0x00000000, 0x3febd70a, 0x3d70a3e5}, /* 0.51559=f(0.87000)*/
+{10, 0,123,__LINE__, 0x3fdfad00, 0x40000000, 0x3fec28f5, 0xc28f5c37}, /* 0.49493=f(0.88000)*/
+{10, 0,123,__LINE__, 0x3fde4d06, 0x40000000, 0x3fec7ae1, 0x47ae1489}, /* 0.47345=f(0.89000)*/
+{10, 0,123,__LINE__, 0x3fdcdd9f, 0xc0000000, 0x3feccccc, 0xccccccdb}, /* 0.45102=f(0.90000)*/
+{10, 0,123,__LINE__, 0x3fdb5c5c, 0x20000000, 0x3fed1eb8, 0x51eb852d}, /* 0.42751=f(0.91000)*/
+{10, 0,123,__LINE__, 0x3fd9c618, 0x60000000, 0x3fed70a3, 0xd70a3d7f}, /* 0.40271=f(0.92000)*/
+{10, 0,123,__LINE__, 0x3fd816aa, 0xa0000000, 0x3fedc28f, 0x5c28f5d1}, /* 0.37638=f(0.93000)*/
+{10, 0,123,__LINE__, 0x3fd6485a, 0x20000000, 0x3fee147a, 0xe147ae23}, /* 0.34816=f(0.94000)*/
+{10, 0,123,__LINE__, 0x3fd452e9, 0x20000000, 0x3fee6666, 0x66666675}, /* 0.31756=f(0.95000)*/
+{10, 0,123,__LINE__, 0x3fd229af, 0x20000000, 0x3feeb851, 0xeb851ec7}, /* 0.28379=f(0.96000)*/
+{10, 0,123,__LINE__, 0x3fcf6eaf, 0xe0000000, 0x3fef0a3d, 0x70a3d719}, /* 0.24556=f(0.97000)*/
+{10, 0,123,__LINE__, 0x3fc9a491, 0xa0000000, 0x3fef5c28, 0xf5c28f6b}, /* 0.20033=f(0.98000)*/
+{10, 0,123,__LINE__, 0x3fc21df6, 0xa0000000, 0x3fefae14, 0x7ae147bd}, /* 0.14153=f(0.99000)*/
+{ 2, 0,123,__LINE__, 0x00000000, 0x00000000, 0x3ff00000, 0x00000007}, /* 0.00000=f(1.00000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff028f5, 0xc28f5c30}, /* 64.0000=f(1.01000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff051eb, 0x851eb859}, /* 64.0000=f(1.02000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff07ae1, 0x47ae1482}, /* 64.0000=f(1.03000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff0a3d7, 0x0a3d70ab}, /* 64.0000=f(1.04000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff0cccc, 0xccccccd4}, /* 64.0000=f(1.05000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff0f5c2, 0x8f5c28fd}, /* 64.0000=f(1.06000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff11eb8, 0x51eb8526}, /* 64.0000=f(1.07000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff147ae, 0x147ae14f}, /* 64.0000=f(1.08000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff170a3, 0xd70a3d78}, /* 64.0000=f(1.09000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff19999, 0x999999a1}, /* 64.0000=f(1.10000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff1c28f, 0x5c28f5ca}, /* 64.0000=f(1.11000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff1eb85, 0x1eb851f3}, /* 64.0000=f(1.12000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff2147a, 0xe147ae1c}, /* 64.0000=f(1.13000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff23d70, 0xa3d70a45}, /* 64.0000=f(1.14000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff26666, 0x6666666e}, /* 64.0000=f(1.15000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff28f5c, 0x28f5c297}, /* 64.0000=f(1.16000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff2b851, 0xeb851ec0}, /* 64.0000=f(1.17000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff2e147, 0xae147ae9}, /* 64.0000=f(1.18000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff30a3d, 0x70a3d712}, /* 64.0000=f(1.19000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01921fb, 0x54442d18}, /* 64.0000=f(-6.28318)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* 64.0000=f(-4.71238)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc00921fb, 0x54442d18}, /* 64.0000=f(-3.14159)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff921fb, 0x54442d18}, /* 64.0000=f(-1.57079)*/
+{13, 0,123,__LINE__, 0x3ff921fb, 0x60000000, 0x00000000, 0x00000000}, /* 1.57079=f(0.00000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff921fb, 0x54442d18}, /* 64.0000=f(1.57079)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x400921fb, 0x54442d18}, /* 64.0000=f(3.14159)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4012d97c, 0x7f3321d2}, /* 64.0000=f(4.71238)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03e0000, 0x00000000}, /* 64.0000=f(-30.0000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* 64.0000=f(-28.3000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03a9999, 0x9999999a}, /* 64.0000=f(-26.6000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc038e666, 0x66666667}, /* 64.0000=f(-24.9000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0373333, 0x33333334}, /* 64.0000=f(-23.2000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0358000, 0x00000001}, /* 64.0000=f(-21.5000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc033cccc, 0xccccccce}, /* 64.0000=f(-19.8000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0321999, 0x9999999b}, /* 64.0000=f(-18.1000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0306666, 0x66666668}, /* 64.0000=f(-16.4000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02d6666, 0x6666666a}, /* 64.0000=f(-14.7000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02a0000, 0x00000004}, /* 64.0000=f(-13.0000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0269999, 0x9999999e}, /* 64.0000=f(-11.3000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0233333, 0x33333338}, /* 64.0000=f(-9.60000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01f9999, 0x999999a3}, /* 64.0000=f(-7.90000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* 64.0000=f(-6.20000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0120000, 0x00000009}, /* 64.0000=f(-4.50000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0066666, 0x66666678}, /* 64.0000=f(-2.80000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x999999bd}, /* 64.0000=f(-1.10000)*/
+{11, 0,123,__LINE__, 0x3fedac67, 0x00000000, 0x3fe33333, 0x333332ec}, /* 0.92729=f(0.60000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40026666, 0x66666654}, /* 64.0000=f(2.30000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x400fffff, 0xffffffee}, /* 64.0000=f(4.00000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4016cccc, 0xccccccc4}, /* 64.0000=f(5.70000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x401d9999, 0x99999991}, /* 64.0000=f(7.40000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40223333, 0x3333332f}, /* 64.0000=f(9.10000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40259999, 0x99999995}, /* 64.0000=f(10.8000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4028ffff, 0xfffffffb}, /* 64.0000=f(12.5000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x402c6666, 0x66666661}, /* 64.0000=f(14.2000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x402fcccc, 0xccccccc7}, /* 64.0000=f(15.9000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40319999, 0x99999997}, /* 64.0000=f(17.6000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40334ccc, 0xccccccca}, /* 64.0000=f(19.3000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4034ffff, 0xfffffffd}, /* 64.0000=f(21.0000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4036b333, 0x33333330}, /* 64.0000=f(22.7000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40386666, 0x66666663}, /* 64.0000=f(24.4000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x403a1999, 0x99999996}, /* 64.0000=f(26.1000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x403bcccc, 0xccccccc9}, /* 64.0000=f(27.8000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x403d7fff, 0xfffffffc}, /* 64.0000=f(29.5000)*/
+0,};
+test_acosf(m) {run_vector_1(m,acosf_vec,(char *)(acosf),"acosf","ff"); }
diff --git a/newlib/libm/test/acosh_vec.c b/newlib/libm/test/acosh_vec.c
new file mode 100644
index 00000000000..48f169c8b1c
--- /dev/null
+++ b/newlib/libm/test/acosh_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type acosh_vec[] = {
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff33333, 0x33333333}, /* 64.0000=f(-1.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* 64.0000=f(-1.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* 64.0000=f(-1.18000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* 64.0000=f(-1.17000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* 64.0000=f(-1.16000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff26666, 0x66666666}, /* 64.0000=f(-1.15000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* 64.0000=f(-1.14000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* 64.0000=f(-1.13000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* 64.0000=f(-1.12000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* 64.0000=f(-1.11000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x99999999}, /* 64.0000=f(-1.10000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* 64.0000=f(-1.09000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff147ae, 0x147ae147}, /* 64.0000=f(-1.08000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* 64.0000=f(-1.07000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* 64.0000=f(-1.06000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* 64.0000=f(-1.05000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* 64.0000=f(-1.04000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* 64.0000=f(-1.03000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff051eb, 0x851eb851}, /* 64.0000=f(-1.02000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* 64.0000=f(-1.01000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefffff, 0xfffffffe}, /* 64.0000=f(-0.01000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefae14, 0x7ae147ac}, /* 64.0000=f(-0.99000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef5c28, 0xf5c28f5a}, /* 64.0000=f(-0.98000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef0a3d, 0x70a3d708}, /* 64.0000=f(-0.97000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeeb851, 0xeb851eb6}, /* 64.0000=f(-0.96000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee6666, 0x66666664}, /* 64.0000=f(-0.95000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee147a, 0xe147ae12}, /* 64.0000=f(-0.94000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfedc28f, 0x5c28f5c0}, /* 64.0000=f(-0.93000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed70a3, 0xd70a3d6e}, /* 64.0000=f(-0.92000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed1eb8, 0x51eb851c}, /* 64.0000=f(-0.91000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeccccc, 0xccccccca}, /* 64.0000=f(-0.90000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec7ae1, 0x47ae1478}, /* 64.0000=f(-0.89000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec28f5, 0xc28f5c26}, /* 64.0000=f(-0.88000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfebd70a, 0x3d70a3d4}, /* 64.0000=f(-0.87000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb851e, 0xb851eb82}, /* 64.0000=f(-0.86000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb3333, 0x33333330}, /* 64.0000=f(-0.85000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeae147, 0xae147ade}, /* 64.0000=f(-0.84000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea8f5c, 0x28f5c28c}, /* 64.0000=f(-0.83000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea3d70, 0xa3d70a3a}, /* 64.0000=f(-0.82000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe9eb85, 0x1eb851e8}, /* 64.0000=f(-0.81000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe99999, 0x99999996}, /* 64.0000=f(-0.80000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe947ae, 0x147ae144}, /* 64.0000=f(-0.79000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8f5c2, 0x8f5c28f2}, /* 64.0000=f(-0.78000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8a3d7, 0x0a3d70a0}, /* 64.0000=f(-0.77000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe851eb, 0x851eb84e}, /* 64.0000=f(-0.76000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ffff, 0xfffffffc}, /* 64.0000=f(-0.75000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ae14, 0x7ae147aa}, /* 64.0000=f(-0.74000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe75c28, 0xf5c28f58}, /* 64.0000=f(-0.73000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe70a3d, 0x70a3d706}, /* 64.0000=f(-0.72000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6b851, 0xeb851eb4}, /* 64.0000=f(-0.71000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe66666, 0x66666662}, /* 64.0000=f(-0.70000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6147a, 0xe147ae10}, /* 64.0000=f(-0.69000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe5c28f, 0x5c28f5be}, /* 64.0000=f(-0.68000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe570a3, 0xd70a3d6c}, /* 64.0000=f(-0.67000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe51eb8, 0x51eb851a}, /* 64.0000=f(-0.66000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe4cccc, 0xccccccc8}, /* 64.0000=f(-0.65000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe47ae1, 0x47ae1476}, /* 64.0000=f(-0.64000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe428f5, 0xc28f5c24}, /* 64.0000=f(-0.63000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3d70a, 0x3d70a3d2}, /* 64.0000=f(-0.62000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3851e, 0xb851eb80}, /* 64.0000=f(-0.61000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe33333, 0x3333332e}, /* 64.0000=f(-0.60000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe2e147, 0xae147adc}, /* 64.0000=f(-0.59000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe28f5c, 0x28f5c28a}, /* 64.0000=f(-0.58000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe23d70, 0xa3d70a38}, /* 64.0000=f(-0.57000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe1eb85, 0x1eb851e6}, /* 64.0000=f(-0.56000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe19999, 0x99999994}, /* 64.0000=f(-0.55000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe147ae, 0x147ae142}, /* 64.0000=f(-0.54000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0f5c2, 0x8f5c28f0}, /* 64.0000=f(-0.53000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0a3d7, 0x0a3d709e}, /* 64.0000=f(-0.52000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe051eb, 0x851eb84c}, /* 64.0000=f(-0.51000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdfffff, 0xfffffff4}, /* 64.0000=f(-0.50000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdf5c28, 0xf5c28f50}, /* 64.0000=f(-0.49000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdeb851, 0xeb851eac}, /* 64.0000=f(-0.48000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfde147a, 0xe147ae08}, /* 64.0000=f(-0.47000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdd70a3, 0xd70a3d64}, /* 64.0000=f(-0.46000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdccccc, 0xccccccc0}, /* 64.0000=f(-0.45000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdc28f5, 0xc28f5c1c}, /* 64.0000=f(-0.44000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdb851e, 0xb851eb78}, /* 64.0000=f(-0.43000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdae147, 0xae147ad4}, /* 64.0000=f(-0.42000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfda3d70, 0xa3d70a30}, /* 64.0000=f(-0.41000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd99999, 0x9999998c}, /* 64.0000=f(-0.40000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd8f5c2, 0x8f5c28e8}, /* 64.0000=f(-0.39000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd851eb, 0x851eb844}, /* 64.0000=f(-0.38000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd7ae14, 0x7ae147a0}, /* 64.0000=f(-0.37000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd70a3d, 0x70a3d6fc}, /* 64.0000=f(-0.36000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd66666, 0x66666658}, /* 64.0000=f(-0.35000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd5c28f, 0x5c28f5b4}, /* 64.0000=f(-0.34000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd51eb8, 0x51eb8510}, /* 64.0000=f(-0.33000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd47ae1, 0x47ae146c}, /* 64.0000=f(-0.32000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd3d70a, 0x3d70a3c8}, /* 64.0000=f(-0.31000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd33333, 0x33333324}, /* 64.0000=f(-0.30000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd28f5c, 0x28f5c280}, /* 64.0000=f(-0.29000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd1eb85, 0x1eb851dc}, /* 64.0000=f(-0.28000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd147ae, 0x147ae138}, /* 64.0000=f(-0.27000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd0a3d7, 0x0a3d7094}, /* 64.0000=f(-0.26000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcfffff, 0xffffffe0}, /* 64.0000=f(-0.25000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfceb851, 0xeb851e98}, /* 64.0000=f(-0.24000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcd70a3, 0xd70a3d50}, /* 64.0000=f(-0.23000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcc28f5, 0xc28f5c08}, /* 64.0000=f(-0.22000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcae147, 0xae147ac0}, /* 64.0000=f(-0.21000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc99999, 0x99999978}, /* 64.0000=f(-0.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc851eb, 0x851eb830}, /* 64.0000=f(-0.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc70a3d, 0x70a3d6e8}, /* 64.0000=f(-0.18000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc5c28f, 0x5c28f5a0}, /* 64.0000=f(-0.17000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc47ae1, 0x47ae1458}, /* 64.0000=f(-0.16000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc33333, 0x33333310}, /* 64.0000=f(-0.15000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc1eb85, 0x1eb851c8}, /* 64.0000=f(-0.14000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc0a3d7, 0x0a3d7080}, /* 64.0000=f(-0.13000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbeb851, 0xeb851e71}, /* 64.0000=f(-0.12000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbc28f5, 0xc28f5be2}, /* 64.0000=f(-0.11000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb99999, 0x99999953}, /* 64.0000=f(-0.00100)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb70a3d, 0x70a3d6c4}, /* 64.0000=f(-0.09000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb47ae1, 0x47ae1435}, /* 64.0000=f(-0.08000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb1eb85, 0x1eb851a6}, /* 64.0000=f(-0.07000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfaeb851, 0xeb851e2d}, /* 64.0000=f(-0.06000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa99999, 0x9999990e}, /* 64.0000=f(-0.05000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa47ae1, 0x47ae13ef}, /* 64.0000=f(-0.04000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf9eb851, 0xeb851da0}, /* 64.0000=f(-0.03000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf947ae1, 0x47ae1362}, /* 64.0000=f(-0.02000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf847ae1, 0x47ae1249}, /* 64.0000=f(-0.00010)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3cd19000, 0x00000000}, /* 64.0000=f(9.74915e-16)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3f847ae1, 0x47ae16ad}, /* 64.0000=f(0.01000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3f947ae1, 0x47ae1594}, /* 64.0000=f(0.02000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3f9eb851, 0xeb851fd2}, /* 64.0000=f(0.03000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fa47ae1, 0x47ae1508}, /* 64.0000=f(0.04000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fa99999, 0x99999a27}, /* 64.0000=f(0.05000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3faeb851, 0xeb851f46}, /* 64.0000=f(0.06000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fb1eb85, 0x1eb85232}, /* 64.0000=f(0.07000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fb47ae1, 0x47ae14c1}, /* 64.0000=f(0.08000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fb70a3d, 0x70a3d750}, /* 64.0000=f(0.09000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fb99999, 0x999999df}, /* 64.0000=f(0.10000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fbc28f5, 0xc28f5c6e}, /* 64.0000=f(0.11000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fbeb851, 0xeb851efd}, /* 64.0000=f(0.12000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fc0a3d7, 0x0a3d70c6}, /* 64.0000=f(0.13000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fc1eb85, 0x1eb8520e}, /* 64.0000=f(0.14000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fc33333, 0x33333356}, /* 64.0000=f(0.15000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fc47ae1, 0x47ae149e}, /* 64.0000=f(0.16000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fc5c28f, 0x5c28f5e6}, /* 64.0000=f(0.17000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fc70a3d, 0x70a3d72e}, /* 64.0000=f(0.18000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fc851eb, 0x851eb876}, /* 64.0000=f(0.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fc99999, 0x999999be}, /* 64.0000=f(0.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fcae147, 0xae147b06}, /* 64.0000=f(0.21000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fcc28f5, 0xc28f5c4e}, /* 64.0000=f(0.22000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fcd70a3, 0xd70a3d96}, /* 64.0000=f(0.23000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fceb851, 0xeb851ede}, /* 64.0000=f(0.24000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd00000, 0x00000013}, /* 64.0000=f(0.25000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd0a3d7, 0x0a3d70b7}, /* 64.0000=f(0.26000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd147ae, 0x147ae15b}, /* 64.0000=f(0.27000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd1eb85, 0x1eb851ff}, /* 64.0000=f(0.28000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd28f5c, 0x28f5c2a3}, /* 64.0000=f(0.29000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd33333, 0x33333347}, /* 64.0000=f(0.30000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd3d70a, 0x3d70a3eb}, /* 64.0000=f(0.31000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd47ae1, 0x47ae148f}, /* 64.0000=f(0.32000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd51eb8, 0x51eb8533}, /* 64.0000=f(0.33000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd5c28f, 0x5c28f5d7}, /* 64.0000=f(0.34000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd66666, 0x6666667b}, /* 64.0000=f(0.35000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd70a3d, 0x70a3d71f}, /* 64.0000=f(0.36000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd7ae14, 0x7ae147c3}, /* 64.0000=f(0.37000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd851eb, 0x851eb867}, /* 64.0000=f(0.38000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd8f5c2, 0x8f5c290b}, /* 64.0000=f(0.39000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd99999, 0x999999af}, /* 64.0000=f(0.40000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fda3d70, 0xa3d70a53}, /* 64.0000=f(0.41000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fdae147, 0xae147af7}, /* 64.0000=f(0.42000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fdb851e, 0xb851eb9b}, /* 64.0000=f(0.43000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fdc28f5, 0xc28f5c3f}, /* 64.0000=f(0.44000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fdccccc, 0xcccccce3}, /* 64.0000=f(0.45000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fdd70a3, 0xd70a3d87}, /* 64.0000=f(0.46000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fde147a, 0xe147ae2b}, /* 64.0000=f(0.47000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fdeb851, 0xeb851ecf}, /* 64.0000=f(0.48000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fdf5c28, 0xf5c28f73}, /* 64.0000=f(0.49000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe00000, 0x0000000b}, /* 64.0000=f(0.50000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe051eb, 0x851eb85d}, /* 64.0000=f(0.51000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe0a3d7, 0x0a3d70af}, /* 64.0000=f(0.52000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe0f5c2, 0x8f5c2901}, /* 64.0000=f(0.53000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe147ae, 0x147ae153}, /* 64.0000=f(0.54000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe19999, 0x999999a5}, /* 64.0000=f(0.55000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe1eb85, 0x1eb851f7}, /* 64.0000=f(0.56000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe23d70, 0xa3d70a49}, /* 64.0000=f(0.57000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe28f5c, 0x28f5c29b}, /* 64.0000=f(0.58000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe2e147, 0xae147aed}, /* 64.0000=f(0.59000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe33333, 0x3333333f}, /* 64.0000=f(0.60000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe3851e, 0xb851eb91}, /* 64.0000=f(0.61000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe3d70a, 0x3d70a3e3}, /* 64.0000=f(0.62000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe428f5, 0xc28f5c35}, /* 64.0000=f(0.63000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe47ae1, 0x47ae1487}, /* 64.0000=f(0.64000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe4cccc, 0xccccccd9}, /* 64.0000=f(0.65000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe51eb8, 0x51eb852b}, /* 64.0000=f(0.66000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe570a3, 0xd70a3d7d}, /* 64.0000=f(0.67000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe5c28f, 0x5c28f5cf}, /* 64.0000=f(0.68000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe6147a, 0xe147ae21}, /* 64.0000=f(0.69000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe66666, 0x66666673}, /* 64.0000=f(0.70000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe6b851, 0xeb851ec5}, /* 64.0000=f(0.71000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe70a3d, 0x70a3d717}, /* 64.0000=f(0.72000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe75c28, 0xf5c28f69}, /* 64.0000=f(0.73000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe7ae14, 0x7ae147bb}, /* 64.0000=f(0.74000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe80000, 0x0000000d}, /* 64.0000=f(0.75000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe851eb, 0x851eb85f}, /* 64.0000=f(0.76000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe8a3d7, 0x0a3d70b1}, /* 64.0000=f(0.77000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe8f5c2, 0x8f5c2903}, /* 64.0000=f(0.78000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe947ae, 0x147ae155}, /* 64.0000=f(0.79000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe99999, 0x999999a7}, /* 64.0000=f(0.80000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe9eb85, 0x1eb851f9}, /* 64.0000=f(0.81000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fea3d70, 0xa3d70a4b}, /* 64.0000=f(0.82000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fea8f5c, 0x28f5c29d}, /* 64.0000=f(0.83000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3feae147, 0xae147aef}, /* 64.0000=f(0.84000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3feb3333, 0x33333341}, /* 64.0000=f(0.85000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3feb851e, 0xb851eb93}, /* 64.0000=f(0.86000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3febd70a, 0x3d70a3e5}, /* 64.0000=f(0.87000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fec28f5, 0xc28f5c37}, /* 64.0000=f(0.88000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fec7ae1, 0x47ae1489}, /* 64.0000=f(0.89000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3feccccc, 0xccccccdb}, /* 64.0000=f(0.90000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fed1eb8, 0x51eb852d}, /* 64.0000=f(0.91000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fed70a3, 0xd70a3d7f}, /* 64.0000=f(0.92000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fedc28f, 0x5c28f5d1}, /* 64.0000=f(0.93000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fee147a, 0xe147ae23}, /* 64.0000=f(0.94000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fee6666, 0x66666675}, /* 64.0000=f(0.95000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3feeb851, 0xeb851ec7}, /* 64.0000=f(0.96000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fef0a3d, 0x70a3d719}, /* 64.0000=f(0.97000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fef5c28, 0xf5c28f6b}, /* 64.0000=f(0.98000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fefae14, 0x7ae147bd}, /* 64.0000=f(0.99000)*/
+{64, 0,123,__LINE__, 0x3e6deeea, 0x11683f4a, 0x3ff00000, 0x00000007}, /* 5.57550e-08=f(1.00000)*/
+{64, 0,123,__LINE__, 0x3fc2163d, 0xee5f07f9, 0x3ff028f5, 0xc28f5c30}, /* 0.14130=f(1.01000)*/
+{64, 0,123,__LINE__, 0x3fc98eb9, 0xe7e5fd58, 0x3ff051eb, 0x851eb859}, /* 0.19966=f(1.02000)*/
+{64, 0,123,__LINE__, 0x3fcf468e, 0x57434f4b, 0x3ff07ae1, 0x47ae1482}, /* 0.24434=f(1.03000)*/
+{64, 0,123,__LINE__, 0x3fd20ac9, 0x107d5e9a, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.28190=f(1.04000)*/
+{64, 0,123,__LINE__, 0x3fd427ba, 0x2a941d9f, 0x3ff0cccc, 0xccccccd4}, /* 0.31492=f(1.05000)*/
+{64, 0,123,__LINE__, 0x3fd60f95, 0x22de1cc2, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.34470=f(1.06000)*/
+{64, 0,123,__LINE__, 0x3fd7cf1f, 0x7a34d794, 0x3ff11eb8, 0x51eb8526}, /* 0.37201=f(1.07000)*/
+{64, 0,123,__LINE__, 0x3fd96ead, 0x72fe8b7b, 0x3ff147ae, 0x147ae14f}, /* 0.39738=f(1.08000)*/
+{64, 0,123,__LINE__, 0x3fdaf409, 0x85d31cf8, 0x3ff170a3, 0xd70a3d78}, /* 0.42114=f(1.09000)*/
+{64, 0,123,__LINE__, 0x3fdc636c, 0x1a882f69, 0x3ff19999, 0x999999a1}, /* 0.44356=f(1.10000)*/
+{64, 0,123,__LINE__, 0x3fddc005, 0x97e5fb4d, 0x3ff1c28f, 0x5c28f5ca}, /* 0.46484=f(1.11000)*/
+{64, 0,123,__LINE__, 0x3fdf0c50, 0xde26552c, 0x3ff1eb85, 0x1eb851f3}, /* 0.48512=f(1.12000)*/
+{64, 0,123,__LINE__, 0x3fe02523, 0xa6a3357e, 0x3ff2147a, 0xe147ae1c}, /* 0.50453=f(1.13000)*/
+{64, 0,123,__LINE__, 0x3fe0bdc1, 0x86cd1a78, 0x3ff23d70, 0xa3d70a45}, /* 0.52316=f(1.14000)*/
+{64, 0,123,__LINE__, 0x3fe150ab, 0x3dddd7d0, 0x3ff26666, 0x6666666e}, /* 0.54109=f(1.15000)*/
+{64, 0,123,__LINE__, 0x3fe1de6e, 0x5347350c, 0x3ff28f5c, 0x28f5c297}, /* 0.55840=f(1.16000)*/
+{64, 0,123,__LINE__, 0x3fe26782, 0x9cd65ec3, 0x3ff2b851, 0xeb851ec0}, /* 0.57513=f(1.17000)*/
+{64, 0,123,__LINE__, 0x3fe2ec4e, 0xa565fcda, 0x3ff2e147, 0xae147ae9}, /* 0.59134=f(1.18000)*/
+{64, 0,123,__LINE__, 0x3fe36d2a, 0xfd6a7945, 0x3ff30a3d, 0x70a3d712}, /* 0.60707=f(1.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01921fb, 0x54442d18}, /* 64.0000=f(-6.28318)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* 64.0000=f(-4.71238)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc00921fb, 0x54442d18}, /* 64.0000=f(-3.14159)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff921fb, 0x54442d18}, /* 64.0000=f(-1.57079)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x00000000, 0x00000000}, /* 64.0000=f(0.00000)*/
+{64, 0,123,__LINE__, 0x3ff05f23, 0xc6cbaf31, 0x3ff921fb, 0x54442d18}, /* 1.02322=f(1.57079)*/
+{64, 0,123,__LINE__, 0x3ffcfc02, 0xf90106c2, 0x400921fb, 0x54442d18}, /* 1.81152=f(3.14159)*/
+{64, 0,123,__LINE__, 0x4001dae8, 0xc0b16d3a, 0x4012d97c, 0x7f3321d2}, /* 2.23188=f(4.71238)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03e0000, 0x00000000}, /* 64.0000=f(-30.0000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* 64.0000=f(-28.3000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03a9999, 0x9999999a}, /* 64.0000=f(-26.6000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc038e666, 0x66666667}, /* 64.0000=f(-24.9000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0373333, 0x33333334}, /* 64.0000=f(-23.2000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0358000, 0x00000001}, /* 64.0000=f(-21.5000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc033cccc, 0xccccccce}, /* 64.0000=f(-19.8000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0321999, 0x9999999b}, /* 64.0000=f(-18.1000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0306666, 0x66666668}, /* 64.0000=f(-16.4000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02d6666, 0x6666666a}, /* 64.0000=f(-14.7000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02a0000, 0x00000004}, /* 64.0000=f(-13.0000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0269999, 0x9999999e}, /* 64.0000=f(-11.3000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0233333, 0x33333338}, /* 64.0000=f(-9.60000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01f9999, 0x999999a3}, /* 64.0000=f(-7.90000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* 64.0000=f(-6.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0120000, 0x00000009}, /* 64.0000=f(-4.50000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0066666, 0x66666678}, /* 64.0000=f(-2.80000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x999999bd}, /* 64.0000=f(-1.10000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe33333, 0x333332ec}, /* 64.0000=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3ff799c8, 0x8e7913fb, 0x40026666, 0x66666654}, /* 1.47504=f(2.30000)*/
+{64, 0,123,__LINE__, 0x400081eb, 0x4b42158d, 0x400fffff, 0xffffffee}, /* 2.06343=f(4.00000)*/
+{64, 0,123,__LINE__, 0x40036818, 0xad5efded, 0x4016cccc, 0xccccccc4}, /* 2.42582=f(5.70000)*/
+{64, 0,123,__LINE__, 0x4005852e, 0x905215c9, 0x401d9999, 0x99999991}, /* 2.69003=f(7.40000)*/
+{64, 0,123,__LINE__, 0x40072fe6, 0x812dfbf7, 0x40223333, 0x3333332f}, /* 2.89838=f(9.10000)*/
+{64, 0,123,__LINE__, 0x40089078, 0xdf0e2775, 0x40259999, 0x99999995}, /* 3.07054=f(10.8000)*/
+{64, 0,123,__LINE__, 0x4009bcf9, 0x1653a9ba, 0x4028ffff, 0xfffffffb}, /* 3.21727=f(12.5000)*/
+{64, 0,123,__LINE__, 0x400ac2dc, 0x6e1e5efd, 0x402c6666, 0x66666661}, /* 3.34514=f(14.2000)*/
+{64, 0,123,__LINE__, 0x400baaf5, 0x6e4f1835, 0x402fcccc, 0xccccccc7}, /* 3.45847=f(15.9000)*/
+{64, 0,123,__LINE__, 0x400c7b5e, 0x132b5044, 0x40319999, 0x99999997}, /* 3.56023=f(17.6000)*/
+{64, 0,123,__LINE__, 0x400d387c, 0x181abbba, 0x40334ccc, 0xccccccca}, /* 3.65258=f(19.3000)*/
+{64, 0,123,__LINE__, 0x400de595, 0xdc406bd2, 0x4034ffff, 0xfffffffd}, /* 3.73710=f(21.0000)*/
+{64, 0,123,__LINE__, 0x400e852c, 0xa8e313ce, 0x4036b333, 0x33333330}, /* 3.81502=f(22.7000)*/
+{64, 0,123,__LINE__, 0x400f1936, 0x0e3b986c, 0x40386666, 0x66666663}, /* 3.88731=f(24.4000)*/
+{64, 0,123,__LINE__, 0x400fa341, 0xc64646d7, 0x403a1999, 0x99999996}, /* 3.95471=f(26.1000)*/
+{64, 0,123,__LINE__, 0x40101249, 0xc6ea2cbb, 0x403bcccc, 0xccccccc9}, /* 4.01786=f(27.8000)*/
+{64, 0,123,__LINE__, 0x40104f1a, 0xa2d94c29, 0x403d7fff, 0xfffffffc}, /* 4.07725=f(29.5000)*/
+0,};
+test_acosh(m) {run_vector_1(m,acosh_vec,(char *)(acosh),"acosh","dd"); }
diff --git a/newlib/libm/test/acoshf_vec.c b/newlib/libm/test/acoshf_vec.c
new file mode 100644
index 00000000000..ba40d298762
--- /dev/null
+++ b/newlib/libm/test/acoshf_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type acoshf_vec[] = {
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff33333, 0x33333333}, /* 64.0000=f(-1.20000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* 64.0000=f(-1.19000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* 64.0000=f(-1.18000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* 64.0000=f(-1.17000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* 64.0000=f(-1.16000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff26666, 0x66666666}, /* 64.0000=f(-1.15000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* 64.0000=f(-1.14000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* 64.0000=f(-1.13000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* 64.0000=f(-1.12000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* 64.0000=f(-1.11000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x99999999}, /* 64.0000=f(-1.10000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* 64.0000=f(-1.09000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff147ae, 0x147ae147}, /* 64.0000=f(-1.08000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* 64.0000=f(-1.07000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* 64.0000=f(-1.06000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* 64.0000=f(-1.05000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* 64.0000=f(-1.04000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* 64.0000=f(-1.03000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff051eb, 0x851eb851}, /* 64.0000=f(-1.02000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* 64.0000=f(-1.01000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefffff, 0xfffffffe}, /* 64.0000=f(-0.01000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefae14, 0x7ae147ac}, /* 64.0000=f(-0.99000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef5c28, 0xf5c28f5a}, /* 64.0000=f(-0.98000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef0a3d, 0x70a3d708}, /* 64.0000=f(-0.97000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeeb851, 0xeb851eb6}, /* 64.0000=f(-0.96000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee6666, 0x66666664}, /* 64.0000=f(-0.95000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee147a, 0xe147ae12}, /* 64.0000=f(-0.94000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfedc28f, 0x5c28f5c0}, /* 64.0000=f(-0.93000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed70a3, 0xd70a3d6e}, /* 64.0000=f(-0.92000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed1eb8, 0x51eb851c}, /* 64.0000=f(-0.91000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeccccc, 0xccccccca}, /* 64.0000=f(-0.90000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec7ae1, 0x47ae1478}, /* 64.0000=f(-0.89000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec28f5, 0xc28f5c26}, /* 64.0000=f(-0.88000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfebd70a, 0x3d70a3d4}, /* 64.0000=f(-0.87000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb851e, 0xb851eb82}, /* 64.0000=f(-0.86000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb3333, 0x33333330}, /* 64.0000=f(-0.85000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeae147, 0xae147ade}, /* 64.0000=f(-0.84000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea8f5c, 0x28f5c28c}, /* 64.0000=f(-0.83000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea3d70, 0xa3d70a3a}, /* 64.0000=f(-0.82000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe9eb85, 0x1eb851e8}, /* 64.0000=f(-0.81000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe99999, 0x99999996}, /* 64.0000=f(-0.80000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe947ae, 0x147ae144}, /* 64.0000=f(-0.79000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8f5c2, 0x8f5c28f2}, /* 64.0000=f(-0.78000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8a3d7, 0x0a3d70a0}, /* 64.0000=f(-0.77000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe851eb, 0x851eb84e}, /* 64.0000=f(-0.76000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ffff, 0xfffffffc}, /* 64.0000=f(-0.75000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ae14, 0x7ae147aa}, /* 64.0000=f(-0.74000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe75c28, 0xf5c28f58}, /* 64.0000=f(-0.73000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe70a3d, 0x70a3d706}, /* 64.0000=f(-0.72000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6b851, 0xeb851eb4}, /* 64.0000=f(-0.71000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe66666, 0x66666662}, /* 64.0000=f(-0.70000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6147a, 0xe147ae10}, /* 64.0000=f(-0.69000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe5c28f, 0x5c28f5be}, /* 64.0000=f(-0.68000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe570a3, 0xd70a3d6c}, /* 64.0000=f(-0.67000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe51eb8, 0x51eb851a}, /* 64.0000=f(-0.66000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe4cccc, 0xccccccc8}, /* 64.0000=f(-0.65000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe47ae1, 0x47ae1476}, /* 64.0000=f(-0.64000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe428f5, 0xc28f5c24}, /* 64.0000=f(-0.63000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3d70a, 0x3d70a3d2}, /* 64.0000=f(-0.62000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3851e, 0xb851eb80}, /* 64.0000=f(-0.61000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe33333, 0x3333332e}, /* 64.0000=f(-0.60000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe2e147, 0xae147adc}, /* 64.0000=f(-0.59000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe28f5c, 0x28f5c28a}, /* 64.0000=f(-0.58000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe23d70, 0xa3d70a38}, /* 64.0000=f(-0.57000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe1eb85, 0x1eb851e6}, /* 64.0000=f(-0.56000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe19999, 0x99999994}, /* 64.0000=f(-0.55000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe147ae, 0x147ae142}, /* 64.0000=f(-0.54000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0f5c2, 0x8f5c28f0}, /* 64.0000=f(-0.53000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0a3d7, 0x0a3d709e}, /* 64.0000=f(-0.52000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe051eb, 0x851eb84c}, /* 64.0000=f(-0.51000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdfffff, 0xfffffff4}, /* 64.0000=f(-0.50000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdf5c28, 0xf5c28f50}, /* 64.0000=f(-0.49000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdeb851, 0xeb851eac}, /* 64.0000=f(-0.48000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfde147a, 0xe147ae08}, /* 64.0000=f(-0.47000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdd70a3, 0xd70a3d64}, /* 64.0000=f(-0.46000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdccccc, 0xccccccc0}, /* 64.0000=f(-0.45000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdc28f5, 0xc28f5c1c}, /* 64.0000=f(-0.44000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdb851e, 0xb851eb78}, /* 64.0000=f(-0.43000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdae147, 0xae147ad4}, /* 64.0000=f(-0.42000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfda3d70, 0xa3d70a30}, /* 64.0000=f(-0.41000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd99999, 0x9999998c}, /* 64.0000=f(-0.40000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd8f5c2, 0x8f5c28e8}, /* 64.0000=f(-0.39000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd851eb, 0x851eb844}, /* 64.0000=f(-0.38000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd7ae14, 0x7ae147a0}, /* 64.0000=f(-0.37000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd70a3d, 0x70a3d6fc}, /* 64.0000=f(-0.36000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd66666, 0x66666658}, /* 64.0000=f(-0.35000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd5c28f, 0x5c28f5b4}, /* 64.0000=f(-0.34000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd51eb8, 0x51eb8510}, /* 64.0000=f(-0.33000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd47ae1, 0x47ae146c}, /* 64.0000=f(-0.32000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd3d70a, 0x3d70a3c8}, /* 64.0000=f(-0.31000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd33333, 0x33333324}, /* 64.0000=f(-0.30000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd28f5c, 0x28f5c280}, /* 64.0000=f(-0.29000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd1eb85, 0x1eb851dc}, /* 64.0000=f(-0.28000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd147ae, 0x147ae138}, /* 64.0000=f(-0.27000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd0a3d7, 0x0a3d7094}, /* 64.0000=f(-0.26000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcfffff, 0xffffffe0}, /* 64.0000=f(-0.25000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfceb851, 0xeb851e98}, /* 64.0000=f(-0.24000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcd70a3, 0xd70a3d50}, /* 64.0000=f(-0.23000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcc28f5, 0xc28f5c08}, /* 64.0000=f(-0.22000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcae147, 0xae147ac0}, /* 64.0000=f(-0.21000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc99999, 0x99999978}, /* 64.0000=f(-0.20000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc851eb, 0x851eb830}, /* 64.0000=f(-0.19000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc70a3d, 0x70a3d6e8}, /* 64.0000=f(-0.18000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc5c28f, 0x5c28f5a0}, /* 64.0000=f(-0.17000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc47ae1, 0x47ae1458}, /* 64.0000=f(-0.16000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc33333, 0x33333310}, /* 64.0000=f(-0.15000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc1eb85, 0x1eb851c8}, /* 64.0000=f(-0.14000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc0a3d7, 0x0a3d7080}, /* 64.0000=f(-0.13000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbeb851, 0xeb851e71}, /* 64.0000=f(-0.12000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbc28f5, 0xc28f5be2}, /* 64.0000=f(-0.11000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb99999, 0x99999953}, /* 64.0000=f(-0.00100)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb70a3d, 0x70a3d6c4}, /* 64.0000=f(-0.09000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb47ae1, 0x47ae1435}, /* 64.0000=f(-0.08000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb1eb85, 0x1eb851a6}, /* 64.0000=f(-0.07000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfaeb851, 0xeb851e2d}, /* 64.0000=f(-0.06000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa99999, 0x9999990e}, /* 64.0000=f(-0.05000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa47ae1, 0x47ae13ef}, /* 64.0000=f(-0.04000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf9eb851, 0xeb851da0}, /* 64.0000=f(-0.03000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf947ae1, 0x47ae1362}, /* 64.0000=f(-0.02000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf847ae1, 0x47ae1249}, /* 64.0000=f(-0.00010)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3cd19000, 0x00000000}, /* 64.0000=f(9.74915e-16)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3f847ae1, 0x47ae16ad}, /* 64.0000=f(0.01000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3f947ae1, 0x47ae1594}, /* 64.0000=f(0.02000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3f9eb851, 0xeb851fd2}, /* 64.0000=f(0.03000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fa47ae1, 0x47ae1508}, /* 64.0000=f(0.04000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fa99999, 0x99999a27}, /* 64.0000=f(0.05000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3faeb851, 0xeb851f46}, /* 64.0000=f(0.06000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fb1eb85, 0x1eb85232}, /* 64.0000=f(0.07000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fb47ae1, 0x47ae14c1}, /* 64.0000=f(0.08000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fb70a3d, 0x70a3d750}, /* 64.0000=f(0.09000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fb99999, 0x999999df}, /* 64.0000=f(0.10000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fbc28f5, 0xc28f5c6e}, /* 64.0000=f(0.11000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fbeb851, 0xeb851efd}, /* 64.0000=f(0.12000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fc0a3d7, 0x0a3d70c6}, /* 64.0000=f(0.13000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fc1eb85, 0x1eb8520e}, /* 64.0000=f(0.14000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fc33333, 0x33333356}, /* 64.0000=f(0.15000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fc47ae1, 0x47ae149e}, /* 64.0000=f(0.16000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fc5c28f, 0x5c28f5e6}, /* 64.0000=f(0.17000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fc70a3d, 0x70a3d72e}, /* 64.0000=f(0.18000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fc851eb, 0x851eb876}, /* 64.0000=f(0.19000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fc99999, 0x999999be}, /* 64.0000=f(0.20000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fcae147, 0xae147b06}, /* 64.0000=f(0.21000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fcc28f5, 0xc28f5c4e}, /* 64.0000=f(0.22000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fcd70a3, 0xd70a3d96}, /* 64.0000=f(0.23000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fceb851, 0xeb851ede}, /* 64.0000=f(0.24000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd00000, 0x00000013}, /* 64.0000=f(0.25000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd0a3d7, 0x0a3d70b7}, /* 64.0000=f(0.26000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd147ae, 0x147ae15b}, /* 64.0000=f(0.27000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd1eb85, 0x1eb851ff}, /* 64.0000=f(0.28000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd28f5c, 0x28f5c2a3}, /* 64.0000=f(0.29000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd33333, 0x33333347}, /* 64.0000=f(0.30000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd3d70a, 0x3d70a3eb}, /* 64.0000=f(0.31000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd47ae1, 0x47ae148f}, /* 64.0000=f(0.32000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd51eb8, 0x51eb8533}, /* 64.0000=f(0.33000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd5c28f, 0x5c28f5d7}, /* 64.0000=f(0.34000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd66666, 0x6666667b}, /* 64.0000=f(0.35000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd70a3d, 0x70a3d71f}, /* 64.0000=f(0.36000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd7ae14, 0x7ae147c3}, /* 64.0000=f(0.37000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd851eb, 0x851eb867}, /* 64.0000=f(0.38000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd8f5c2, 0x8f5c290b}, /* 64.0000=f(0.39000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fd99999, 0x999999af}, /* 64.0000=f(0.40000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fda3d70, 0xa3d70a53}, /* 64.0000=f(0.41000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fdae147, 0xae147af7}, /* 64.0000=f(0.42000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fdb851e, 0xb851eb9b}, /* 64.0000=f(0.43000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fdc28f5, 0xc28f5c3f}, /* 64.0000=f(0.44000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fdccccc, 0xcccccce3}, /* 64.0000=f(0.45000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fdd70a3, 0xd70a3d87}, /* 64.0000=f(0.46000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fde147a, 0xe147ae2b}, /* 64.0000=f(0.47000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fdeb851, 0xeb851ecf}, /* 64.0000=f(0.48000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fdf5c28, 0xf5c28f73}, /* 64.0000=f(0.49000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe00000, 0x0000000b}, /* 64.0000=f(0.50000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe051eb, 0x851eb85d}, /* 64.0000=f(0.51000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe0a3d7, 0x0a3d70af}, /* 64.0000=f(0.52000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe0f5c2, 0x8f5c2901}, /* 64.0000=f(0.53000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe147ae, 0x147ae153}, /* 64.0000=f(0.54000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe19999, 0x999999a5}, /* 64.0000=f(0.55000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe1eb85, 0x1eb851f7}, /* 64.0000=f(0.56000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe23d70, 0xa3d70a49}, /* 64.0000=f(0.57000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe28f5c, 0x28f5c29b}, /* 64.0000=f(0.58000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe2e147, 0xae147aed}, /* 64.0000=f(0.59000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe33333, 0x3333333f}, /* 64.0000=f(0.60000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe3851e, 0xb851eb91}, /* 64.0000=f(0.61000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe3d70a, 0x3d70a3e3}, /* 64.0000=f(0.62000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe428f5, 0xc28f5c35}, /* 64.0000=f(0.63000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe47ae1, 0x47ae1487}, /* 64.0000=f(0.64000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe4cccc, 0xccccccd9}, /* 64.0000=f(0.65000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe51eb8, 0x51eb852b}, /* 64.0000=f(0.66000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe570a3, 0xd70a3d7d}, /* 64.0000=f(0.67000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe5c28f, 0x5c28f5cf}, /* 64.0000=f(0.68000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe6147a, 0xe147ae21}, /* 64.0000=f(0.69000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe66666, 0x66666673}, /* 64.0000=f(0.70000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe6b851, 0xeb851ec5}, /* 64.0000=f(0.71000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe70a3d, 0x70a3d717}, /* 64.0000=f(0.72000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe75c28, 0xf5c28f69}, /* 64.0000=f(0.73000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe7ae14, 0x7ae147bb}, /* 64.0000=f(0.74000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe80000, 0x0000000d}, /* 64.0000=f(0.75000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe851eb, 0x851eb85f}, /* 64.0000=f(0.76000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe8a3d7, 0x0a3d70b1}, /* 64.0000=f(0.77000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe8f5c2, 0x8f5c2903}, /* 64.0000=f(0.78000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe947ae, 0x147ae155}, /* 64.0000=f(0.79000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe99999, 0x999999a7}, /* 64.0000=f(0.80000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe9eb85, 0x1eb851f9}, /* 64.0000=f(0.81000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fea3d70, 0xa3d70a4b}, /* 64.0000=f(0.82000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fea8f5c, 0x28f5c29d}, /* 64.0000=f(0.83000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3feae147, 0xae147aef}, /* 64.0000=f(0.84000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3feb3333, 0x33333341}, /* 64.0000=f(0.85000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3feb851e, 0xb851eb93}, /* 64.0000=f(0.86000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3febd70a, 0x3d70a3e5}, /* 64.0000=f(0.87000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fec28f5, 0xc28f5c37}, /* 64.0000=f(0.88000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fec7ae1, 0x47ae1489}, /* 64.0000=f(0.89000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3feccccc, 0xccccccdb}, /* 64.0000=f(0.90000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fed1eb8, 0x51eb852d}, /* 64.0000=f(0.91000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fed70a3, 0xd70a3d7f}, /* 64.0000=f(0.92000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fedc28f, 0x5c28f5d1}, /* 64.0000=f(0.93000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fee147a, 0xe147ae23}, /* 64.0000=f(0.94000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fee6666, 0x66666675}, /* 64.0000=f(0.95000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3feeb851, 0xeb851ec7}, /* 64.0000=f(0.96000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fef0a3d, 0x70a3d719}, /* 64.0000=f(0.97000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fef5c28, 0xf5c28f6b}, /* 64.0000=f(0.98000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fefae14, 0x7ae147bd}, /* 64.0000=f(0.99000)*/
+{ 1, 0,123,__LINE__, 0x00000000, 0x00000000, 0x3ff00000, 0x00000007}, /* 0.00000=f(1.00000)*/
+{ 1, 0,123,__LINE__, 0x3fc2163d, 0x40000000, 0x3ff028f5, 0xc28f5c30}, /* 0.14130=f(1.01000)*/
+{ 1, 0,123,__LINE__, 0x3fc98eb9, 0x20000000, 0x3ff051eb, 0x851eb859}, /* 0.19966=f(1.02000)*/
+{ 1, 0,123,__LINE__, 0x3fcf468d, 0x80000000, 0x3ff07ae1, 0x47ae1482}, /* 0.24434=f(1.03000)*/
+{ 1, 0,123,__LINE__, 0x3fd20ac8, 0x80000000, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.28190=f(1.04000)*/
+{ 1, 0,123,__LINE__, 0x3fd427b9, 0xa0000000, 0x3ff0cccc, 0xccccccd4}, /* 0.31492=f(1.05000)*/
+{ 1, 0,123,__LINE__, 0x3fd60f94, 0x80000000, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.34470=f(1.06000)*/
+{ 1, 0,123,__LINE__, 0x3fd7cf20, 0x3dc00000, 0x3ff11eb8, 0x51eb8526}, /* 0.37201=f(1.07000)*/
+{ 1, 0,123,__LINE__, 0x3fd96ead, 0xbdc00000, 0x3ff147ae, 0x147ae14f}, /* 0.39738=f(1.08000)*/
+{ 1, 0,123,__LINE__, 0x3fdaf409, 0xbdc00000, 0x3ff170a3, 0xd70a3d78}, /* 0.42114=f(1.09000)*/
+{ 1, 0,123,__LINE__, 0x3fdc636c, 0x4dc00000, 0x3ff19999, 0x999999a1}, /* 0.44356=f(1.10000)*/
+{ 1, 0,123,__LINE__, 0x3fddc005, 0xadc00000, 0x3ff1c28f, 0x5c28f5ca}, /* 0.46484=f(1.11000)*/
+{ 1, 0,123,__LINE__, 0x3fdf0c50, 0xbdc00000, 0x3ff1eb85, 0x1eb851f3}, /* 0.48512=f(1.12000)*/
+{ 1, 0,123,__LINE__, 0x3fe02523, 0x9ee00000, 0x3ff2147a, 0xe147ae1c}, /* 0.50453=f(1.13000)*/
+{ 1, 0,123,__LINE__, 0x3fe0bdc1, 0x66e00000, 0x3ff23d70, 0xa3d70a45}, /* 0.52316=f(1.14000)*/
+{ 1, 0,123,__LINE__, 0x3fe150ab, 0x2ee00000, 0x3ff26666, 0x6666666e}, /* 0.54109=f(1.15000)*/
+{ 1, 0,123,__LINE__, 0x3fe1de6e, 0x2ee00000, 0x3ff28f5c, 0x28f5c297}, /* 0.55840=f(1.16000)*/
+{ 1, 0,123,__LINE__, 0x3fe26782, 0x6ee00000, 0x3ff2b851, 0xeb851ec0}, /* 0.57513=f(1.17000)*/
+{ 1, 0,123,__LINE__, 0x3fe2ec4e, 0x76e00000, 0x3ff2e147, 0xae147ae9}, /* 0.59134=f(1.18000)*/
+{ 1, 0,123,__LINE__, 0x3fe36d2b, 0x22e00000, 0x3ff30a3d, 0x70a3d712}, /* 0.60707=f(1.19000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01921fb, 0x54442d18}, /* 64.0000=f(-6.28318)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* 64.0000=f(-4.71238)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc00921fb, 0x54442d18}, /* 64.0000=f(-3.14159)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff921fb, 0x54442d18}, /* 64.0000=f(-1.57079)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x00000000, 0x00000000}, /* 64.0000=f(0.00000)*/
+{ 1, 0,123,__LINE__, 0x3ff05f23, 0xd7700000, 0x3ff921fb, 0x54442d18}, /* 1.02322=f(1.57079)*/
+{ 1, 0,123,__LINE__, 0x3ffcfc03, 0x06500000, 0x400921fb, 0x54442d18}, /* 1.81152=f(3.14159)*/
+{14, 0,123,__LINE__, 0x4001dae8, 0xbf280000, 0x4012d97c, 0x7f3321d2}, /* 2.23188=f(4.71238)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03e0000, 0x00000000}, /* 64.0000=f(-30.0000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* 64.0000=f(-28.3000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03a9999, 0x9999999a}, /* 64.0000=f(-26.6000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc038e666, 0x66666667}, /* 64.0000=f(-24.9000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0373333, 0x33333334}, /* 64.0000=f(-23.2000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0358000, 0x00000001}, /* 64.0000=f(-21.5000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc033cccc, 0xccccccce}, /* 64.0000=f(-19.8000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0321999, 0x9999999b}, /* 64.0000=f(-18.1000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0306666, 0x66666668}, /* 64.0000=f(-16.4000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02d6666, 0x6666666a}, /* 64.0000=f(-14.7000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02a0000, 0x00000004}, /* 64.0000=f(-13.0000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0269999, 0x9999999e}, /* 64.0000=f(-11.3000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0233333, 0x33333338}, /* 64.0000=f(-9.60000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01f9999, 0x999999a3}, /* 64.0000=f(-7.90000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* 64.0000=f(-6.20000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0120000, 0x00000009}, /* 64.0000=f(-4.50000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0066666, 0x66666678}, /* 64.0000=f(-2.80000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x999999bd}, /* 64.0000=f(-1.10000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3fe33333, 0x333332ec}, /* 64.0000=f(0.60000)*/
+{ 1, 0,123,__LINE__, 0x3ff799c8, 0x90e00000, 0x40026666, 0x66666654}, /* 1.47504=f(2.30000)*/
+{14, 0,123,__LINE__, 0x400081eb, 0x4d280000, 0x400fffff, 0xffffffee}, /* 2.06343=f(4.00000)*/
+{13, 0,123,__LINE__, 0x40036818, 0xab280000, 0x4016cccc, 0xccccccc4}, /* 2.42582=f(5.70000)*/
+{15, 0,123,__LINE__, 0x4005852e, 0x93e00000, 0x401d9999, 0x99999991}, /* 2.69003=f(7.40000)*/
+{14, 0,123,__LINE__, 0x40072fe6, 0x8ee00000, 0x40223333, 0x3333332f}, /* 2.89838=f(9.10000)*/
+{12, 0,123,__LINE__, 0x40089078, 0xeae00000, 0x40259999, 0x99999995}, /* 3.07054=f(10.8000)*/
+{12, 0,123,__LINE__, 0x4009bcf9, 0x18980000, 0x4028ffff, 0xfffffffb}, /* 3.21727=f(12.5000)*/
+{12, 0,123,__LINE__, 0x400ac2dc, 0x6a980000, 0x402c6666, 0x66666661}, /* 3.34514=f(14.2000)*/
+{12, 0,123,__LINE__, 0x400baaf5, 0x6e280000, 0x402fcccc, 0xccccccc7}, /* 3.45847=f(15.9000)*/
+{12, 0,123,__LINE__, 0x400c7b5e, 0x1a980000, 0x40319999, 0x99999997}, /* 3.56023=f(17.6000)*/
+{12, 0,123,__LINE__, 0x400d387c, 0x04980000, 0x40334ccc, 0xccccccca}, /* 3.65258=f(19.3000)*/
+{12, 0,123,__LINE__, 0x400de595, 0xde980000, 0x4034ffff, 0xfffffffd}, /* 3.73710=f(21.0000)*/
+{12, 0,123,__LINE__, 0x400e852c, 0xb6500000, 0x4036b333, 0x33333330}, /* 3.81502=f(22.7000)*/
+{12, 0,123,__LINE__, 0x400f1936, 0x0e500000, 0x40386666, 0x66666663}, /* 3.88731=f(24.4000)*/
+{12, 0,123,__LINE__, 0x400fa341, 0xd0500000, 0x403a1999, 0x99999996}, /* 3.95471=f(26.1000)*/
+{11, 0,123,__LINE__, 0x40101249, 0xc6280000, 0x403bcccc, 0xccccccc9}, /* 4.01785=f(27.8000)*/
+{11, 0,123,__LINE__, 0x40104f1a, 0xa0280000, 0x403d7fff, 0xfffffffc}, /* 4.07725=f(29.5000)*/
+0,};
+test_acoshf(m) {run_vector_1(m,acoshf_vec,(char *)(acoshf),"acoshf","ff"); }
diff --git a/newlib/libm/test/asin_vec.c b/newlib/libm/test/asin_vec.c
new file mode 100644
index 00000000000..4215cc70d24
--- /dev/null
+++ b/newlib/libm/test/asin_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type asin_vec[] = {
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff33333, 0x33333333}, /* 64.0000=f(-1.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* 64.0000=f(-1.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* 64.0000=f(-1.18000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* 64.0000=f(-1.17000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* 64.0000=f(-1.16000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff26666, 0x66666666}, /* 64.0000=f(-1.15000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* 64.0000=f(-1.14000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* 64.0000=f(-1.13000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* 64.0000=f(-1.12000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* 64.0000=f(-1.11000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x99999999}, /* 64.0000=f(-1.10000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* 64.0000=f(-1.09000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff147ae, 0x147ae147}, /* 64.0000=f(-1.08000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* 64.0000=f(-1.07000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* 64.0000=f(-1.06000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* 64.0000=f(-1.05000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* 64.0000=f(-1.04000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* 64.0000=f(-1.03000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff051eb, 0x851eb851}, /* 64.0000=f(-1.02000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* 64.0000=f(-1.01000)*/
+{64, 0,123,__LINE__, 0xbff921fb, 0x4e9c057e, 0xbfefffff, 0xfffffffe}, /* -1.57079=f(-0.01000)*/
+{64, 0,123,__LINE__, 0xbff6de3c, 0x6f33d516, 0xbfefae14, 0x7ae147ac}, /* -1.42925=f(-0.99000)*/
+{64, 0,123,__LINE__, 0xbff5ed69, 0x0583be02, 0xbfef5c28, 0xf5c28f5a}, /* -1.37046=f(-0.98000)*/
+{64, 0,123,__LINE__, 0xbff53425, 0x38981ec3, 0xbfef0a3d, 0x70a3d708}, /* -1.32523=f(-0.97000)*/
+{64, 0,123,__LINE__, 0xbff4978f, 0xa3269edd, 0xbfeeb851, 0xeb851eb6}, /* -1.28700=f(-0.96000)*/
+{64, 0,123,__LINE__, 0xbff40d41, 0x159f3406, 0xbfee6666, 0x66666664}, /* -1.25323=f(-0.95000)*/
+{64, 0,123,__LINE__, 0xbff38fe4, 0xcb950b0e, 0xbfee147a, 0xe147ae12}, /* -1.22263=f(-0.94000)*/
+{64, 0,123,__LINE__, 0xbff31c50, 0xa48f3a72, 0xbfedc28f, 0x5c28f5c0}, /* -1.19441=f(-0.93000)*/
+{64, 0,123,__LINE__, 0xbff2b075, 0x29b17486, 0xbfed70a3, 0xd70a3d6e}, /* -1.16808=f(-0.92000)*/
+{64, 0,123,__LINE__, 0xbff24ae4, 0x3a7af145, 0xbfed1eb8, 0x51eb851c}, /* -1.14328=f(-0.91000)*/
+{64, 0,123,__LINE__, 0xbff1ea93, 0x705fa16e, 0xbfeccccc, 0xccccccca}, /* -1.11977=f(-0.90000)*/
+{64, 0,123,__LINE__, 0xbff18eb9, 0xcef862d5, 0xbfec7ae1, 0x47ae1478}, /* -1.09734=f(-0.89000)*/
+{64, 0,123,__LINE__, 0xbff136bb, 0x485f3d8e, 0xbfec28f5, 0xc28f5c26}, /* -1.07586=f(-0.88000)*/
+{64, 0,123,__LINE__, 0xbff0e21b, 0xd416ba13, 0xbfebd70a, 0x3d70a3d4}, /* -1.05520=f(-0.87000)*/
+{64, 0,123,__LINE__, 0xbff09076, 0xee9d82b8, 0xbfeb851e, 0xb851eb82}, /* -1.03527=f(-0.86000)*/
+{64, 0,123,__LINE__, 0xbff04179, 0xcba26d0b, 0xbfeb3333, 0x33333330}, /* -1.01598=f(-0.85000)*/
+{64, 0,123,__LINE__, 0xbfefe9be, 0x811df6c4, 0xbfeae147, 0xae147ade}, /* -0.99728=f(-0.84000)*/
+{64, 0,123,__LINE__, 0xbfef54d9, 0xa373fac6, 0xbfea8f5c, 0x28f5c28c}, /* -0.97910=f(-0.83000)*/
+{64, 0,123,__LINE__, 0xbfeec3e1, 0x0a73632b, 0xbfea3d70, 0xa3d70a3a}, /* -0.96141=f(-0.82000)*/
+{64, 0,123,__LINE__, 0xbfee367e, 0x7f21298e, 0xbfe9eb85, 0x1eb851e8}, /* -0.94415=f(-0.81000)*/
+{64, 0,123,__LINE__, 0xbfedac67, 0x0561bb49, 0xbfe99999, 0x99999996}, /* -0.92729=f(-0.80000)*/
+{64, 0,123,__LINE__, 0xbfed2558, 0xe9188de5, 0xbfe947ae, 0x147ae144}, /* -0.91080=f(-0.79000)*/
+{64, 0,123,__LINE__, 0xbfeca11a, 0x353bd845, 0xbfe8f5c2, 0x8f5c28f2}, /* -0.89466=f(-0.78000)*/
+{64, 0,123,__LINE__, 0xbfec1f77, 0x7a9974eb, 0xbfe8a3d7, 0x0a3d70a0}, /* -0.87884=f(-0.77000)*/
+{64, 0,123,__LINE__, 0xbfeba042, 0xd36663d4, 0xbfe851eb, 0x851eb84e}, /* -0.86331=f(-0.76000)*/
+{64, 0,123,__LINE__, 0xbfeb2353, 0x15c680d6, 0xbfe7ffff, 0xfffffffc}, /* -0.84806=f(-0.75000)*/
+{64, 0,123,__LINE__, 0xbfeaa883, 0x2b0b051f, 0xbfe7ae14, 0x7ae147aa}, /* -0.83307=f(-0.74000)*/
+{64, 0,123,__LINE__, 0xbfea2fb1, 0x83f1f795, 0xbfe75c28, 0xf5c28f58}, /* -0.81832=f(-0.73000)*/
+{64, 0,123,__LINE__, 0xbfe9b8bf, 0xa40885b7, 0xbfe70a3d, 0x70a3d706}, /* -0.80380=f(-0.72000)*/
+{64, 0,123,__LINE__, 0xbfe94391, 0xbfac8e45, 0xbfe6b851, 0xeb851eb4}, /* -0.78949=f(-0.71000)*/
+{64, 0,123,__LINE__, 0xbfe8d00e, 0x692afd8f, 0xbfe66666, 0x66666662}, /* -0.77539=f(-0.70000)*/
+{64, 0,123,__LINE__, 0xbfe85e1e, 0x4a3a04ec, 0xbfe6147a, 0xe147ae10}, /* -0.76148=f(-0.69000)*/
+{64, 0,123,__LINE__, 0xbfe7edab, 0xe7a11ff6, 0xbfe5c28f, 0x5c28f5be}, /* -0.74776=f(-0.68000)*/
+{64, 0,123,__LINE__, 0xbfe77ea3, 0x6d51891f, 0xbfe570a3, 0xd70a3d6c}, /* -0.73420=f(-0.67000)*/
+{64, 0,123,__LINE__, 0xbfe710f2, 0x8188f806, 0xbfe51eb8, 0x51eb851a}, /* -0.72081=f(-0.66000)*/
+{64, 0,123,__LINE__, 0xbfe6a488, 0x1ddc9b7c, 0xbfe4cccc, 0xccccccc8}, /* -0.70758=f(-0.65000)*/
+{64, 0,123,__LINE__, 0xbfe63954, 0x6d3fd534, 0xbfe47ae1, 0x47ae1476}, /* -0.69449=f(-0.64000)*/
+{64, 0,123,__LINE__, 0xbfe5cf48, 0xae44b71e, 0xbfe428f5, 0xc28f5c24}, /* -0.68155=f(-0.63000)*/
+{63, 0,123,__LINE__, 0xbfe56657, 0x18f62b90, 0xbfe3d70a, 0x3d70a3d2}, /* -0.66874=f(-0.62000)*/
+{64, 0,123,__LINE__, 0xbfe4fe72, 0xc7c6f173, 0xbfe3851e, 0xb851eb80}, /* -0.65606=f(-0.61000)*/
+{64, 0,123,__LINE__, 0xbfe4978f, 0xa3269eda, 0xbfe33333, 0x3333332e}, /* -0.64350=f(-0.60000)*/
+{64, 0,123,__LINE__, 0xbfe431a2, 0x4f5fc8de, 0xbfe2e147, 0xae147adc}, /* -0.63105=f(-0.59000)*/
+{64, 0,123,__LINE__, 0xbfe3cca0, 0x1c71184b, 0xbfe28f5c, 0x28f5c28a}, /* -0.61872=f(-0.58000)*/
+{64, 0,123,__LINE__, 0xbfe3687e, 0xf79f207e, 0xbfe23d70, 0xa3d70a38}, /* -0.60650=f(-0.57000)*/
+{64, 0,123,__LINE__, 0xbfe30535, 0x5e86c36c, 0xbfe1eb85, 0x1eb851e6}, /* -0.59438=f(-0.56000)*/
+{64, 0,123,__LINE__, 0xbfe2a2ba, 0x538032e9, 0xbfe19999, 0x99999994}, /* -0.58236=f(-0.55000)*/
+{64, 0,123,__LINE__, 0xbfe24105, 0x53298498, 0xbfe147ae, 0x147ae142}, /* -0.57043=f(-0.54000)*/
+{64, 0,123,__LINE__, 0xbfe1e00e, 0x4af594fc, 0xbfe0f5c2, 0x8f5c28f0}, /* -0.55860=f(-0.53000)*/
+{64, 0,123,__LINE__, 0xbfe17fcd, 0x90a0d198, 0xbfe0a3d7, 0x0a3d709e}, /* -0.54685=f(-0.52000)*/
+{64, 0,123,__LINE__, 0xbfe1203b, 0xda719c32, 0xbfe051eb, 0x851eb84c}, /* -0.53518=f(-0.51000)*/
+{63, 0,123,__LINE__, 0xbfe0c152, 0x382d735f, 0xbfdfffff, 0xfffffff4}, /* -0.52359=f(-0.50000)*/
+{61, 0,123,__LINE__, 0xbfe0630a, 0x0caf0114, 0xbfdf5c28, 0xf5c28f50}, /* -0.51208=f(-0.49000)*/
+{64, 0,123,__LINE__, 0xbfe0055d, 0x080bb62d, 0xbfdeb851, 0xeb851eac}, /* -0.50065=f(-0.48000)*/
+{64, 0,123,__LINE__, 0xbfdf508a, 0x44738570, 0xbfde147a, 0xe147ae08}, /* -0.48929=f(-0.47000)*/
+{64, 0,123,__LINE__, 0xbfde9779, 0x2c522bd2, 0xbfdd70a3, 0xd70a3d64}, /* -0.47799=f(-0.46000)*/
+{64, 0,123,__LINE__, 0xbfdddf7b, 0xba8753be, 0xbfdccccc, 0xccccccc0}, /* -0.46676=f(-0.45000)*/
+{64, 0,123,__LINE__, 0xbfdd2887, 0x569581bb, 0xbfdc28f5, 0xc28f5c1c}, /* -0.45559=f(-0.44000)*/
+{64, 0,123,__LINE__, 0xbfdc7291, 0xd50fd810, 0xbfdb851e, 0xb851eb78}, /* -0.44449=f(-0.43000)*/
+{64, 0,123,__LINE__, 0xbfdbbd91, 0x70937b71, 0xbfdae147, 0xae147ad4}, /* -0.43344=f(-0.42000)*/
+{60, 0,123,__LINE__, 0xbfdb097c, 0xc349e2b8, 0xbfda3d70, 0xa3d70a30}, /* -0.42245=f(-0.41000)*/
+{64, 0,123,__LINE__, 0xbfda564a, 0xc0e73a24, 0xbfd99999, 0x9999998c}, /* -0.41151=f(-0.40000)*/
+{64, 0,123,__LINE__, 0xbfd9a3f2, 0xb11964dc, 0xbfd8f5c2, 0x8f5c28e8}, /* -0.40063=f(-0.39000)*/
+{64, 0,123,__LINE__, 0xbfd8f26c, 0x2a5d5e0e, 0xbfd851eb, 0x851eb844}, /* -0.38979=f(-0.38000)*/
+{64, 0,123,__LINE__, 0xbfd841af, 0x0d31cc44, 0xbfd7ae14, 0x7ae147a0}, /* -0.37900=f(-0.37000)*/
+{64, 0,123,__LINE__, 0xbfd791b3, 0x7f9e8a16, 0xbfd70a3d, 0x70a3d6fc}, /* -0.36826=f(-0.36000)*/
+{64, 0,123,__LINE__, 0xbfd6e271, 0xe909bbd5, 0xbfd66666, 0x66666658}, /* -0.35757=f(-0.35000)*/
+{64, 0,123,__LINE__, 0xbfd633e2, 0xee53c5a9, 0xbfd5c28f, 0x5c28f5b4}, /* -0.34691=f(-0.34000)*/
+{64, 0,123,__LINE__, 0xbfd585ff, 0x6e341c2e, 0xbfd51eb8, 0x51eb8510}, /* -0.33630=f(-0.33000)*/
+{64, 0,123,__LINE__, 0xbfd4d8c0, 0x7dd17d6d, 0xbfd47ae1, 0x47ae146c}, /* -0.32572=f(-0.32000)*/
+{64, 0,123,__LINE__, 0xbfd42c1f, 0x6590a36d, 0xbfd3d70a, 0x3d70a3c8}, /* -0.31519=f(-0.31000)*/
+{64, 0,123,__LINE__, 0xbfd38015, 0x9e14f6ef, 0xbfd33333, 0x33333324}, /* -0.30469=f(-0.30000)*/
+{64, 0,123,__LINE__, 0xbfd2d49c, 0xcd6f3123, 0xbfd28f5c, 0x28f5c280}, /* -0.29422=f(-0.29000)*/
+{64, 0,123,__LINE__, 0xbfd229ae, 0xc47638cc, 0xbfd1eb85, 0x1eb851dc}, /* -0.28379=f(-0.28000)*/
+{64, 0,123,__LINE__, 0xbfd17f45, 0x7c46da9a, 0xbfd147ae, 0x147ae138}, /* -0.27339=f(-0.27000)*/
+{64, 0,123,__LINE__, 0xbfd0d55b, 0x13e7479e, 0xbfd0a3d7, 0x0a3d7094}, /* -0.26302=f(-0.26000)*/
+{64, 0,123,__LINE__, 0xbfd02be9, 0xce0b87bd, 0xbfcfffff, 0xffffffe0}, /* -0.25268=f(-0.25000)*/
+{64, 0,123,__LINE__, 0xbfcf05d8, 0x1df0951e, 0xbfceb851, 0xeb851e98}, /* -0.24236=f(-0.24000)*/
+{64, 0,123,__LINE__, 0xbfcdb4b8, 0xb5036e78, 0xbfcd70a3, 0xd70a3d50}, /* -0.23207=f(-0.23000)*/
+{64, 0,123,__LINE__, 0xbfcc646a, 0xa44819b8, 0xbfcc28f5, 0xc28f5c08}, /* -0.22181=f(-0.22000)*/
+{64, 0,123,__LINE__, 0xbfcb14e3, 0x666821d7, 0xbfcae147, 0xae147ac0}, /* -0.21157=f(-0.21000)*/
+{63, 0,123,__LINE__, 0xbfc9c618, 0xaa4ae21b, 0xbfc99999, 0x99999978}, /* -0.20135=f(-0.20000)*/
+{64, 0,123,__LINE__, 0xbfc87800, 0x4fcac25f, 0xbfc851eb, 0x851eb830}, /* -0.19116=f(-0.19000)*/
+{64, 0,123,__LINE__, 0xbfc72a90, 0x648fbf03, 0xbfc70a3d, 0x70a3d6e8}, /* -0.18098=f(-0.18000)*/
+{64, 0,123,__LINE__, 0xbfc5ddbf, 0x210c49be, 0xbfc5c28f, 0x5c28f5a0}, /* -0.17082=f(-0.17000)*/
+{64, 0,123,__LINE__, 0xbfc49182, 0xe599c56f, 0xbfc47ae1, 0x47ae1458}, /* -0.16069=f(-0.16000)*/
+{64, 0,123,__LINE__, 0xbfc345d2, 0x37b20e8f, 0xbfc33333, 0x33333310}, /* -0.15056=f(-0.15000)*/
+{64, 0,123,__LINE__, 0xbfc1faa3, 0xbf43ad16, 0xbfc1eb85, 0x1eb851c8}, /* -0.14046=f(-0.14000)*/
+{64, 0,123,__LINE__, 0xbfc0afee, 0x441e734b, 0xbfc0a3d7, 0x0a3d7080}, /* -0.13036=f(-0.13000)*/
+{64, 0,123,__LINE__, 0xbfbecb51, 0x56ece03e, 0xbfbeb851, 0xeb851e71}, /* -0.12028=f(-0.12000)*/
+{64, 0,123,__LINE__, 0xbfbc3793, 0xeaf6762d, 0xbfbc28f5, 0xc28f5be2}, /* -0.11022=f(-0.11000)*/
+{64, 0,123,__LINE__, 0xbfb9a492, 0x7603783d, 0xbfb99999, 0x99999953}, /* -0.10016=f(-0.00100)*/
+{64, 0,123,__LINE__, 0xbfb7123b, 0x567d55f2, 0xbfb70a3d, 0x70a3d6c4}, /* -0.09012=f(-0.09000)*/
+{64, 0,123,__LINE__, 0xbfb4807d, 0x13203146, 0xbfb47ae1, 0x47ae1435}, /* -0.08008=f(-0.08000)*/
+{64, 0,123,__LINE__, 0xbfb1ef46, 0x56a8d246, 0xbfb1eb85, 0x1eb851a6}, /* -0.07005=f(-0.07000)*/
+{64, 0,123,__LINE__, 0xbfaebd0b, 0xd734d81c, 0xbfaeb851, 0xeb851e2d}, /* -0.06003=f(-0.06000)*/
+{64, 0,123,__LINE__, 0xbfa99c55, 0x703285cd, 0xbfa99999, 0x9999990e}, /* -0.05002=f(-0.05000)*/
+{64, 0,123,__LINE__, 0xbfa47c47, 0x73aebccd, 0xbfa47ae1, 0x47ae13ef}, /* -0.04001=f(-0.04000)*/
+{64, 0,123,__LINE__, 0xbf9eb980, 0x084226ee, 0xbf9eb851, 0xeb851da0}, /* -0.03000=f(-0.03000)*/
+{64, 0,123,__LINE__, 0xbf947b3a, 0xc64bdf81, 0xbf947ae1, 0x47ae1362}, /* -0.02000=f(-0.02000)*/
+{64, 0,123,__LINE__, 0xbf847af7, 0xa68f8cbd, 0xbf847ae1, 0x47ae1249}, /* -0.01000=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x3cd19000, 0x00000000, 0x3cd19000, 0x00000000}, /* 9.74915e-16=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0x3f847af7, 0xa68f9121, 0x3f847ae1, 0x47ae16ad}, /* 0.01000=f(0.01000)*/
+{64, 0,123,__LINE__, 0x3f947b3a, 0xc64be1b3, 0x3f947ae1, 0x47ae1594}, /* 0.02000=f(0.02000)*/
+{64, 0,123,__LINE__, 0x3f9eb980, 0x08422920, 0x3f9eb851, 0xeb851fd2}, /* 0.03000=f(0.03000)*/
+{64, 0,123,__LINE__, 0x3fa47c47, 0x73aebde6, 0x3fa47ae1, 0x47ae1508}, /* 0.04001=f(0.04000)*/
+{64, 0,123,__LINE__, 0x3fa99c55, 0x703286e6, 0x3fa99999, 0x99999a27}, /* 0.05002=f(0.05000)*/
+{64, 0,123,__LINE__, 0x3faebd0b, 0xd734d935, 0x3faeb851, 0xeb851f46}, /* 0.06003=f(0.06000)*/
+{64, 0,123,__LINE__, 0x3fb1ef46, 0x56a8d2d3, 0x3fb1eb85, 0x1eb85232}, /* 0.07005=f(0.07000)*/
+{64, 0,123,__LINE__, 0x3fb4807d, 0x132031d3, 0x3fb47ae1, 0x47ae14c1}, /* 0.08008=f(0.08000)*/
+{64, 0,123,__LINE__, 0x3fb7123b, 0x567d567e, 0x3fb70a3d, 0x70a3d750}, /* 0.09012=f(0.09000)*/
+{64, 0,123,__LINE__, 0x3fb9a492, 0x760378c9, 0x3fb99999, 0x999999df}, /* 0.10016=f(0.10000)*/
+{64, 0,123,__LINE__, 0x3fbc3793, 0xeaf676ba, 0x3fbc28f5, 0xc28f5c6e}, /* 0.11022=f(0.11000)*/
+{64, 0,123,__LINE__, 0x3fbecb51, 0x56ece0cb, 0x3fbeb851, 0xeb851efd}, /* 0.12028=f(0.12000)*/
+{64, 0,123,__LINE__, 0x3fc0afee, 0x441e7392, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.13036=f(0.13000)*/
+{64, 0,123,__LINE__, 0x3fc1faa3, 0xbf43ad5d, 0x3fc1eb85, 0x1eb8520e}, /* 0.14046=f(0.14000)*/
+{64, 0,123,__LINE__, 0x3fc345d2, 0x37b20ed6, 0x3fc33333, 0x33333356}, /* 0.15056=f(0.15000)*/
+{64, 0,123,__LINE__, 0x3fc49182, 0xe599c5b6, 0x3fc47ae1, 0x47ae149e}, /* 0.16069=f(0.16000)*/
+{64, 0,123,__LINE__, 0x3fc5ddbf, 0x210c4a05, 0x3fc5c28f, 0x5c28f5e6}, /* 0.17082=f(0.17000)*/
+{64, 0,123,__LINE__, 0x3fc72a90, 0x648fbf4a, 0x3fc70a3d, 0x70a3d72e}, /* 0.18098=f(0.18000)*/
+{64, 0,123,__LINE__, 0x3fc87800, 0x4fcac2a6, 0x3fc851eb, 0x851eb876}, /* 0.19116=f(0.19000)*/
+{64, 0,123,__LINE__, 0x3fc9c618, 0xaa4ae262, 0x3fc99999, 0x999999be}, /* 0.20135=f(0.20000)*/
+{64, 0,123,__LINE__, 0x3fcb14e3, 0x6668221e, 0x3fcae147, 0xae147b06}, /* 0.21157=f(0.21000)*/
+{64, 0,123,__LINE__, 0x3fcc646a, 0xa44819ff, 0x3fcc28f5, 0xc28f5c4e}, /* 0.22181=f(0.22000)*/
+{64, 0,123,__LINE__, 0x3fcdb4b8, 0xb5036ec0, 0x3fcd70a3, 0xd70a3d96}, /* 0.23207=f(0.23000)*/
+{64, 0,123,__LINE__, 0x3fcf05d8, 0x1df09566, 0x3fceb851, 0xeb851ede}, /* 0.24236=f(0.24000)*/
+{64, 0,123,__LINE__, 0x3fd02be9, 0xce0b87e1, 0x3fd00000, 0x00000013}, /* 0.25268=f(0.25000)*/
+{64, 0,123,__LINE__, 0x3fd0d55b, 0x13e747c2, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.26302=f(0.26000)*/
+{64, 0,123,__LINE__, 0x3fd17f45, 0x7c46dabf, 0x3fd147ae, 0x147ae15b}, /* 0.27339=f(0.27000)*/
+{64, 0,123,__LINE__, 0x3fd229ae, 0xc47638f1, 0x3fd1eb85, 0x1eb851ff}, /* 0.28379=f(0.28000)*/
+{64, 0,123,__LINE__, 0x3fd2d49c, 0xcd6f3148, 0x3fd28f5c, 0x28f5c2a3}, /* 0.29422=f(0.29000)*/
+{64, 0,123,__LINE__, 0x3fd38015, 0x9e14f713, 0x3fd33333, 0x33333347}, /* 0.30469=f(0.30000)*/
+{64, 0,123,__LINE__, 0x3fd42c1f, 0x6590a392, 0x3fd3d70a, 0x3d70a3eb}, /* 0.31519=f(0.31000)*/
+{64, 0,123,__LINE__, 0x3fd4d8c0, 0x7dd17d92, 0x3fd47ae1, 0x47ae148f}, /* 0.32572=f(0.32000)*/
+{64, 0,123,__LINE__, 0x3fd585ff, 0x6e341c53, 0x3fd51eb8, 0x51eb8533}, /* 0.33630=f(0.33000)*/
+{64, 0,123,__LINE__, 0x3fd633e2, 0xee53c5ce, 0x3fd5c28f, 0x5c28f5d7}, /* 0.34691=f(0.34000)*/
+{63, 0,123,__LINE__, 0x3fd6e271, 0xe909bbfb, 0x3fd66666, 0x6666667b}, /* 0.35757=f(0.35000)*/
+{64, 0,123,__LINE__, 0x3fd791b3, 0x7f9e8a3c, 0x3fd70a3d, 0x70a3d71f}, /* 0.36826=f(0.36000)*/
+{64, 0,123,__LINE__, 0x3fd841af, 0x0d31cc69, 0x3fd7ae14, 0x7ae147c3}, /* 0.37900=f(0.37000)*/
+{64, 0,123,__LINE__, 0x3fd8f26c, 0x2a5d5e34, 0x3fd851eb, 0x851eb867}, /* 0.38979=f(0.38000)*/
+{63, 0,123,__LINE__, 0x3fd9a3f2, 0xb1196503, 0x3fd8f5c2, 0x8f5c290b}, /* 0.40063=f(0.39000)*/
+{64, 0,123,__LINE__, 0x3fda564a, 0xc0e73a4b, 0x3fd99999, 0x999999af}, /* 0.41151=f(0.40000)*/
+{64, 0,123,__LINE__, 0x3fdb097c, 0xc349e2de, 0x3fda3d70, 0xa3d70a53}, /* 0.42245=f(0.41000)*/
+{64, 0,123,__LINE__, 0x3fdbbd91, 0x70937b97, 0x3fdae147, 0xae147af7}, /* 0.43344=f(0.42000)*/
+{64, 0,123,__LINE__, 0x3fdc7291, 0xd50fd837, 0x3fdb851e, 0xb851eb9b}, /* 0.44449=f(0.43000)*/
+{64, 0,123,__LINE__, 0x3fdd2887, 0x569581e2, 0x3fdc28f5, 0xc28f5c3f}, /* 0.45559=f(0.44000)*/
+{64, 0,123,__LINE__, 0x3fdddf7b, 0xba8753e5, 0x3fdccccc, 0xcccccce3}, /* 0.46676=f(0.45000)*/
+{64, 0,123,__LINE__, 0x3fde9779, 0x2c522bfa, 0x3fdd70a3, 0xd70a3d87}, /* 0.47799=f(0.46000)*/
+{64, 0,123,__LINE__, 0x3fdf508a, 0x44738598, 0x3fde147a, 0xe147ae2b}, /* 0.48929=f(0.47000)*/
+{64, 0,123,__LINE__, 0x3fe0055d, 0x080bb641, 0x3fdeb851, 0xeb851ecf}, /* 0.50065=f(0.48000)*/
+{64, 0,123,__LINE__, 0x3fe0630a, 0x0caf0128, 0x3fdf5c28, 0xf5c28f73}, /* 0.51208=f(0.49000)*/
+{64, 0,123,__LINE__, 0x3fe0c152, 0x382d7372, 0x3fe00000, 0x0000000b}, /* 0.52359=f(0.50000)*/
+{64, 0,123,__LINE__, 0x3fe1203b, 0xda719c46, 0x3fe051eb, 0x851eb85d}, /* 0.53518=f(0.51000)*/
+{64, 0,123,__LINE__, 0x3fe17fcd, 0x90a0d1ac, 0x3fe0a3d7, 0x0a3d70af}, /* 0.54685=f(0.52000)*/
+{64, 0,123,__LINE__, 0x3fe1e00e, 0x4af59510, 0x3fe0f5c2, 0x8f5c2901}, /* 0.55860=f(0.53000)*/
+{64, 0,123,__LINE__, 0x3fe24105, 0x532984ac, 0x3fe147ae, 0x147ae153}, /* 0.57043=f(0.54000)*/
+{64, 0,123,__LINE__, 0x3fe2a2ba, 0x538032fd, 0x3fe19999, 0x999999a5}, /* 0.58236=f(0.55000)*/
+{63, 0,123,__LINE__, 0x3fe30535, 0x5e86c380, 0x3fe1eb85, 0x1eb851f7}, /* 0.59438=f(0.56000)*/
+{64, 0,123,__LINE__, 0x3fe3687e, 0xf79f2092, 0x3fe23d70, 0xa3d70a49}, /* 0.60650=f(0.57000)*/
+{64, 0,123,__LINE__, 0x3fe3cca0, 0x1c711860, 0x3fe28f5c, 0x28f5c29b}, /* 0.61872=f(0.58000)*/
+{64, 0,123,__LINE__, 0x3fe431a2, 0x4f5fc8f3, 0x3fe2e147, 0xae147aed}, /* 0.63105=f(0.59000)*/
+{64, 0,123,__LINE__, 0x3fe4978f, 0xa3269eef, 0x3fe33333, 0x3333333f}, /* 0.64350=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3fe4fe72, 0xc7c6f189, 0x3fe3851e, 0xb851eb91}, /* 0.65606=f(0.61000)*/
+{64, 0,123,__LINE__, 0x3fe56657, 0x18f62ba7, 0x3fe3d70a, 0x3d70a3e3}, /* 0.66874=f(0.62000)*/
+{64, 0,123,__LINE__, 0x3fe5cf48, 0xae44b733, 0x3fe428f5, 0xc28f5c35}, /* 0.68155=f(0.63000)*/
+{64, 0,123,__LINE__, 0x3fe63954, 0x6d3fd54a, 0x3fe47ae1, 0x47ae1487}, /* 0.69449=f(0.64000)*/
+{64, 0,123,__LINE__, 0x3fe6a488, 0x1ddc9b92, 0x3fe4cccc, 0xccccccd9}, /* 0.70758=f(0.65000)*/
+{64, 0,123,__LINE__, 0x3fe710f2, 0x8188f81c, 0x3fe51eb8, 0x51eb852b}, /* 0.72081=f(0.66000)*/
+{64, 0,123,__LINE__, 0x3fe77ea3, 0x6d518936, 0x3fe570a3, 0xd70a3d7d}, /* 0.73420=f(0.67000)*/
+{64, 0,123,__LINE__, 0x3fe7edab, 0xe7a1200e, 0x3fe5c28f, 0x5c28f5cf}, /* 0.74776=f(0.68000)*/
+{63, 0,123,__LINE__, 0x3fe85e1e, 0x4a3a0502, 0x3fe6147a, 0xe147ae21}, /* 0.76148=f(0.69000)*/
+{63, 0,123,__LINE__, 0x3fe8d00e, 0x692afda6, 0x3fe66666, 0x66666673}, /* 0.77539=f(0.70000)*/
+{64, 0,123,__LINE__, 0x3fe94391, 0xbfac8e5d, 0x3fe6b851, 0xeb851ec5}, /* 0.78949=f(0.71000)*/
+{64, 0,123,__LINE__, 0x3fe9b8bf, 0xa40885cf, 0x3fe70a3d, 0x70a3d717}, /* 0.80380=f(0.72000)*/
+{64, 0,123,__LINE__, 0x3fea2fb1, 0x83f1f7af, 0x3fe75c28, 0xf5c28f69}, /* 0.81832=f(0.73000)*/
+{64, 0,123,__LINE__, 0x3feaa883, 0x2b0b0538, 0x3fe7ae14, 0x7ae147bb}, /* 0.83307=f(0.74000)*/
+{64, 0,123,__LINE__, 0x3feb2353, 0x15c680ef, 0x3fe80000, 0x0000000d}, /* 0.84806=f(0.75000)*/
+{64, 0,123,__LINE__, 0x3feba042, 0xd36663ef, 0x3fe851eb, 0x851eb85f}, /* 0.86331=f(0.76000)*/
+{64, 0,123,__LINE__, 0x3fec1f77, 0x7a997507, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.87884=f(0.77000)*/
+{64, 0,123,__LINE__, 0x3feca11a, 0x353bd860, 0x3fe8f5c2, 0x8f5c2903}, /* 0.89466=f(0.78000)*/
+{64, 0,123,__LINE__, 0x3fed2558, 0xe9188e00, 0x3fe947ae, 0x147ae155}, /* 0.91080=f(0.79000)*/
+{64, 0,123,__LINE__, 0x3fedac67, 0x0561bb65, 0x3fe99999, 0x999999a7}, /* 0.92729=f(0.80000)*/
+{64, 0,123,__LINE__, 0x3fee367e, 0x7f2129ab, 0x3fe9eb85, 0x1eb851f9}, /* 0.94415=f(0.81000)*/
+{64, 0,123,__LINE__, 0x3feec3e1, 0x0a73634a, 0x3fea3d70, 0xa3d70a4b}, /* 0.96141=f(0.82000)*/
+{64, 0,123,__LINE__, 0x3fef54d9, 0xa373fae5, 0x3fea8f5c, 0x28f5c29d}, /* 0.97910=f(0.83000)*/
+{64, 0,123,__LINE__, 0x3fefe9be, 0x811df6e3, 0x3feae147, 0xae147aef}, /* 0.99728=f(0.84000)*/
+{64, 0,123,__LINE__, 0x3ff04179, 0xcba26d1c, 0x3feb3333, 0x33333341}, /* 1.01598=f(0.85000)*/
+{64, 0,123,__LINE__, 0x3ff09076, 0xee9d82c8, 0x3feb851e, 0xb851eb93}, /* 1.03527=f(0.86000)*/
+{64, 0,123,__LINE__, 0x3ff0e21b, 0xd416ba24, 0x3febd70a, 0x3d70a3e5}, /* 1.05520=f(0.87000)*/
+{64, 0,123,__LINE__, 0x3ff136bb, 0x485f3da0, 0x3fec28f5, 0xc28f5c37}, /* 1.07586=f(0.88000)*/
+{64, 0,123,__LINE__, 0x3ff18eb9, 0xcef862e8, 0x3fec7ae1, 0x47ae1489}, /* 1.09734=f(0.89000)*/
+{64, 0,123,__LINE__, 0x3ff1ea93, 0x705fa182, 0x3feccccc, 0xccccccdb}, /* 1.11977=f(0.90000)*/
+{64, 0,123,__LINE__, 0x3ff24ae4, 0x3a7af15a, 0x3fed1eb8, 0x51eb852d}, /* 1.14328=f(0.91000)*/
+{64, 0,123,__LINE__, 0x3ff2b075, 0x29b1749b, 0x3fed70a3, 0xd70a3d7f}, /* 1.16808=f(0.92000)*/
+{64, 0,123,__LINE__, 0x3ff31c50, 0xa48f3a89, 0x3fedc28f, 0x5c28f5d1}, /* 1.19441=f(0.93000)*/
+{64, 0,123,__LINE__, 0x3ff38fe4, 0xcb950b26, 0x3fee147a, 0xe147ae23}, /* 1.22263=f(0.94000)*/
+{64, 0,123,__LINE__, 0x3ff40d41, 0x159f3421, 0x3fee6666, 0x66666675}, /* 1.25323=f(0.95000)*/
+{64, 0,123,__LINE__, 0x3ff4978f, 0xa3269efb, 0x3feeb851, 0xeb851ec7}, /* 1.28700=f(0.96000)*/
+{64, 0,123,__LINE__, 0x3ff53425, 0x38981ee6, 0x3fef0a3d, 0x70a3d719}, /* 1.32523=f(0.97000)*/
+{64, 0,123,__LINE__, 0x3ff5ed69, 0x0583be2d, 0x3fef5c28, 0xf5c28f6b}, /* 1.37046=f(0.98000)*/
+{64, 0,123,__LINE__, 0x3ff6de3c, 0x6f33d552, 0x3fefae14, 0x7ae147bd}, /* 1.42925=f(0.99000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff00000, 0x00000007}, /* 64.0000=f(1.00000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff028f5, 0xc28f5c30}, /* 64.0000=f(1.01000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff051eb, 0x851eb859}, /* 64.0000=f(1.02000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff07ae1, 0x47ae1482}, /* 64.0000=f(1.03000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff0a3d7, 0x0a3d70ab}, /* 64.0000=f(1.04000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff0cccc, 0xccccccd4}, /* 64.0000=f(1.05000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff0f5c2, 0x8f5c28fd}, /* 64.0000=f(1.06000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff11eb8, 0x51eb8526}, /* 64.0000=f(1.07000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff147ae, 0x147ae14f}, /* 64.0000=f(1.08000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff170a3, 0xd70a3d78}, /* 64.0000=f(1.09000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff19999, 0x999999a1}, /* 64.0000=f(1.10000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff1c28f, 0x5c28f5ca}, /* 64.0000=f(1.11000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff1eb85, 0x1eb851f3}, /* 64.0000=f(1.12000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff2147a, 0xe147ae1c}, /* 64.0000=f(1.13000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff23d70, 0xa3d70a45}, /* 64.0000=f(1.14000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff26666, 0x6666666e}, /* 64.0000=f(1.15000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff28f5c, 0x28f5c297}, /* 64.0000=f(1.16000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff2b851, 0xeb851ec0}, /* 64.0000=f(1.17000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff2e147, 0xae147ae9}, /* 64.0000=f(1.18000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff30a3d, 0x70a3d712}, /* 64.0000=f(1.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01921fb, 0x54442d18}, /* 64.0000=f(-6.28318)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* 64.0000=f(-4.71238)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc00921fb, 0x54442d18}, /* 64.0000=f(-3.14159)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff921fb, 0x54442d18}, /* 64.0000=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff921fb, 0x54442d18}, /* 64.0000=f(1.57079)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x400921fb, 0x54442d18}, /* 64.0000=f(3.14159)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4012d97c, 0x7f3321d2}, /* 64.0000=f(4.71238)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03e0000, 0x00000000}, /* 64.0000=f(-30.0000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* 64.0000=f(-28.3000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03a9999, 0x9999999a}, /* 64.0000=f(-26.6000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc038e666, 0x66666667}, /* 64.0000=f(-24.9000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0373333, 0x33333334}, /* 64.0000=f(-23.2000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0358000, 0x00000001}, /* 64.0000=f(-21.5000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc033cccc, 0xccccccce}, /* 64.0000=f(-19.8000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0321999, 0x9999999b}, /* 64.0000=f(-18.1000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0306666, 0x66666668}, /* 64.0000=f(-16.4000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02d6666, 0x6666666a}, /* 64.0000=f(-14.7000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02a0000, 0x00000004}, /* 64.0000=f(-13.0000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0269999, 0x9999999e}, /* 64.0000=f(-11.3000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0233333, 0x33333338}, /* 64.0000=f(-9.60000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01f9999, 0x999999a3}, /* 64.0000=f(-7.90000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* 64.0000=f(-6.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0120000, 0x00000009}, /* 64.0000=f(-4.50000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0066666, 0x66666678}, /* 64.0000=f(-2.80000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x999999bd}, /* 64.0000=f(-1.10000)*/
+{60, 0,123,__LINE__, 0x3fe4978f, 0xa3269e87, 0x3fe33333, 0x333332ec}, /* 0.64350=f(0.60000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40026666, 0x66666654}, /* 64.0000=f(2.30000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x400fffff, 0xffffffee}, /* 64.0000=f(4.00000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4016cccc, 0xccccccc4}, /* 64.0000=f(5.70000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x401d9999, 0x99999991}, /* 64.0000=f(7.40000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40223333, 0x3333332f}, /* 64.0000=f(9.10000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40259999, 0x99999995}, /* 64.0000=f(10.8000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4028ffff, 0xfffffffb}, /* 64.0000=f(12.5000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x402c6666, 0x66666661}, /* 64.0000=f(14.2000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x402fcccc, 0xccccccc7}, /* 64.0000=f(15.9000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40319999, 0x99999997}, /* 64.0000=f(17.6000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40334ccc, 0xccccccca}, /* 64.0000=f(19.3000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4034ffff, 0xfffffffd}, /* 64.0000=f(21.0000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4036b333, 0x33333330}, /* 64.0000=f(22.7000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40386666, 0x66666663}, /* 64.0000=f(24.4000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x403a1999, 0x99999996}, /* 64.0000=f(26.1000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x403bcccc, 0xccccccc9}, /* 64.0000=f(27.8000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x403d7fff, 0xfffffffc}, /* 64.0000=f(29.5000)*/
+0,};
+test_asin(m) {run_vector_1(m,asin_vec,(char *)(asin),"asin","dd"); }
diff --git a/newlib/libm/test/asinf_vec.c b/newlib/libm/test/asinf_vec.c
new file mode 100644
index 00000000000..7e1b271f201
--- /dev/null
+++ b/newlib/libm/test/asinf_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type asinf_vec[] = {
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff33333, 0x33333333}, /* 64.0000=f(-1.20000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* 64.0000=f(-1.19000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* 64.0000=f(-1.18000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* 64.0000=f(-1.17000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* 64.0000=f(-1.16000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff26666, 0x66666666}, /* 64.0000=f(-1.15000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* 64.0000=f(-1.14000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* 64.0000=f(-1.13000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* 64.0000=f(-1.12000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* 64.0000=f(-1.11000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x99999999}, /* 64.0000=f(-1.10000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* 64.0000=f(-1.09000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff147ae, 0x147ae147}, /* 64.0000=f(-1.08000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* 64.0000=f(-1.07000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* 64.0000=f(-1.06000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* 64.0000=f(-1.05000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* 64.0000=f(-1.04000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* 64.0000=f(-1.03000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff051eb, 0x851eb851}, /* 64.0000=f(-1.02000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* 64.0000=f(-1.01000)*/
+{12, 0,123,__LINE__, 0xbff921fb, 0x60000000, 0xbfefffff, 0xfffffffe}, /* -1.57079=f(-0.01000)*/
+{11, 0,123,__LINE__, 0xbff6de3c, 0x80000000, 0xbfefae14, 0x7ae147ac}, /* -1.42925=f(-0.99000)*/
+{11, 0,123,__LINE__, 0xbff5ed69, 0x20000000, 0xbfef5c28, 0xf5c28f5a}, /* -1.37046=f(-0.98000)*/
+{11, 0,123,__LINE__, 0xbff53425, 0x60000000, 0xbfef0a3d, 0x70a3d708}, /* -1.32523=f(-0.97000)*/
+{11, 0,123,__LINE__, 0xbff4978f, 0xa0000000, 0xbfeeb851, 0xeb851eb6}, /* -1.28700=f(-0.96000)*/
+{11, 0,123,__LINE__, 0xbff40d41, 0x20000000, 0xbfee6666, 0x66666664}, /* -1.25323=f(-0.95000)*/
+{11, 0,123,__LINE__, 0xbff38fe4, 0xe0000000, 0xbfee147a, 0xe147ae12}, /* -1.22263=f(-0.94000)*/
+{11, 0,123,__LINE__, 0xbff31c50, 0xc0000000, 0xbfedc28f, 0x5c28f5c0}, /* -1.19441=f(-0.93000)*/
+{11, 0,123,__LINE__, 0xbff2b075, 0x40000000, 0xbfed70a3, 0xd70a3d6e}, /* -1.16808=f(-0.92000)*/
+{11, 0,123,__LINE__, 0xbff24ae4, 0x60000000, 0xbfed1eb8, 0x51eb851c}, /* -1.14328=f(-0.91000)*/
+{11, 0,123,__LINE__, 0xbff1ea93, 0x80000000, 0xbfeccccc, 0xccccccca}, /* -1.11977=f(-0.90000)*/
+{11, 0,123,__LINE__, 0xbff18eb9, 0xc0000000, 0xbfec7ae1, 0x47ae1478}, /* -1.09734=f(-0.89000)*/
+{11, 0,123,__LINE__, 0xbff136bb, 0x40000000, 0xbfec28f5, 0xc28f5c26}, /* -1.07586=f(-0.88000)*/
+{11, 0,123,__LINE__, 0xbff0e21b, 0xe0000000, 0xbfebd70a, 0x3d70a3d4}, /* -1.05520=f(-0.87000)*/
+{11, 0,123,__LINE__, 0xbff09077, 0x00000000, 0xbfeb851e, 0xb851eb82}, /* -1.03527=f(-0.86000)*/
+{11, 0,123,__LINE__, 0xbff04179, 0xe0000000, 0xbfeb3333, 0x33333330}, /* -1.01598=f(-0.85000)*/
+{13, 0,123,__LINE__, 0xbfefe9be, 0x80000000, 0xbfeae147, 0xae147ade}, /* -0.99728=f(-0.84000)*/
+{13, 0,123,__LINE__, 0xbfef54d9, 0xc0000000, 0xbfea8f5c, 0x28f5c28c}, /* -0.97910=f(-0.83000)*/
+{13, 0,123,__LINE__, 0xbfeec3e1, 0x20000000, 0xbfea3d70, 0xa3d70a3a}, /* -0.96141=f(-0.82000)*/
+{13, 0,123,__LINE__, 0xbfee367e, 0xa0000000, 0xbfe9eb85, 0x1eb851e8}, /* -0.94415=f(-0.81000)*/
+{13, 0,123,__LINE__, 0xbfedac67, 0x20000000, 0xbfe99999, 0x99999996}, /* -0.92729=f(-0.80000)*/
+{13, 0,123,__LINE__, 0xbfed2559, 0x20000000, 0xbfe947ae, 0x147ae144}, /* -0.91080=f(-0.79000)*/
+{13, 0,123,__LINE__, 0xbfeca11a, 0x20000000, 0xbfe8f5c2, 0x8f5c28f2}, /* -0.89466=f(-0.78000)*/
+{13, 0,123,__LINE__, 0xbfec1f77, 0x80000000, 0xbfe8a3d7, 0x0a3d70a0}, /* -0.87884=f(-0.77000)*/
+{14, 0,123,__LINE__, 0xbfeba043, 0x00000000, 0xbfe851eb, 0x851eb84e}, /* -0.86331=f(-0.76000)*/
+{14, 0,123,__LINE__, 0xbfeb2353, 0x40000000, 0xbfe7ffff, 0xfffffffc}, /* -0.84806=f(-0.75000)*/
+{12, 0,123,__LINE__, 0xbfeaa883, 0x60000000, 0xbfe7ae14, 0x7ae147aa}, /* -0.83307=f(-0.74000)*/
+{12, 0,123,__LINE__, 0xbfea2fb1, 0xa0000000, 0xbfe75c28, 0xf5c28f58}, /* -0.81832=f(-0.73000)*/
+{12, 0,123,__LINE__, 0xbfe9b8bf, 0xe0000000, 0xbfe70a3d, 0x70a3d706}, /* -0.80380=f(-0.72000)*/
+{12, 0,123,__LINE__, 0xbfe94391, 0xc0000000, 0xbfe6b851, 0xeb851eb4}, /* -0.78949=f(-0.71000)*/
+{12, 0,123,__LINE__, 0xbfe8d00e, 0x80000000, 0xbfe66666, 0x66666662}, /* -0.77539=f(-0.70000)*/
+{12, 0,123,__LINE__, 0xbfe85e1e, 0x60000000, 0xbfe6147a, 0xe147ae10}, /* -0.76148=f(-0.69000)*/
+{14, 0,123,__LINE__, 0xbfe7edac, 0x00000000, 0xbfe5c28f, 0x5c28f5be}, /* -0.74776=f(-0.68000)*/
+{14, 0,123,__LINE__, 0xbfe77ea3, 0xa0000000, 0xbfe570a3, 0xd70a3d6c}, /* -0.73420=f(-0.67000)*/
+{14, 0,123,__LINE__, 0xbfe710f2, 0xc0000000, 0xbfe51eb8, 0x51eb851a}, /* -0.72081=f(-0.66000)*/
+{14, 0,123,__LINE__, 0xbfe6a488, 0x40000000, 0xbfe4cccc, 0xccccccc8}, /* -0.70758=f(-0.65000)*/
+{14, 0,123,__LINE__, 0xbfe63954, 0x80000000, 0xbfe47ae1, 0x47ae1476}, /* -0.69449=f(-0.64000)*/
+{15, 0,123,__LINE__, 0xbfe5cf48, 0xc0000000, 0xbfe428f5, 0xc28f5c24}, /* -0.68155=f(-0.63000)*/
+{13, 0,123,__LINE__, 0xbfe56657, 0x20000000, 0xbfe3d70a, 0x3d70a3d2}, /* -0.66874=f(-0.62000)*/
+{13, 0,123,__LINE__, 0xbfe4fe72, 0xe0000000, 0xbfe3851e, 0xb851eb80}, /* -0.65606=f(-0.61000)*/
+{13, 0,123,__LINE__, 0xbfe4978f, 0xc0000000, 0xbfe33333, 0x3333332e}, /* -0.64350=f(-0.60000)*/
+{13, 0,123,__LINE__, 0xbfe431a2, 0x40000000, 0xbfe2e147, 0xae147adc}, /* -0.63105=f(-0.59000)*/
+{15, 0,123,__LINE__, 0xbfe3cca0, 0x20000000, 0xbfe28f5c, 0x28f5c28a}, /* -0.61872=f(-0.58000)*/
+{15, 0,123,__LINE__, 0xbfe3687f, 0x20000000, 0xbfe23d70, 0xa3d70a38}, /* -0.60650=f(-0.57000)*/
+{14, 0,123,__LINE__, 0xbfe30535, 0x60000000, 0xbfe1eb85, 0x1eb851e6}, /* -0.59438=f(-0.56000)*/
+{14, 0,123,__LINE__, 0xbfe2a2ba, 0x80000000, 0xbfe19999, 0x99999994}, /* -0.58236=f(-0.55000)*/
+{14, 0,123,__LINE__, 0xbfe24105, 0x80000000, 0xbfe147ae, 0x147ae142}, /* -0.57043=f(-0.54000)*/
+{15, 0,123,__LINE__, 0xbfe1e00e, 0x40000000, 0xbfe0f5c2, 0x8f5c28f0}, /* -0.55860=f(-0.53000)*/
+{15, 0,123,__LINE__, 0xbfe17fcd, 0x80000000, 0xbfe0a3d7, 0x0a3d709e}, /* -0.54685=f(-0.52000)*/
+{15, 0,123,__LINE__, 0xbfe1203c, 0x00000000, 0xbfe051eb, 0x851eb84c}, /* -0.53518=f(-0.51000)*/
+{16, 0,123,__LINE__, 0xbfe0c152, 0x40000000, 0xbfdfffff, 0xfffffff4}, /* -0.52359=f(-0.50000)*/
+{10, 0,123,__LINE__, 0xbfe0630a, 0x20000000, 0xbfdf5c28, 0xf5c28f50}, /* -0.51208=f(-0.49000)*/
+{10, 0,123,__LINE__, 0xbfe0055d, 0x00000000, 0xbfdeb851, 0xeb851eac}, /* -0.50065=f(-0.48000)*/
+{15, 0,123,__LINE__, 0xbfdf508a, 0x40000000, 0xbfde147a, 0xe147ae08}, /* -0.48929=f(-0.47000)*/
+{14, 0,123,__LINE__, 0xbfde9779, 0x40000000, 0xbfdd70a3, 0xd70a3d64}, /* -0.47799=f(-0.46000)*/
+{15, 0,123,__LINE__, 0xbfdddf7b, 0xa0000000, 0xbfdccccc, 0xccccccc0}, /* -0.46676=f(-0.45000)*/
+{15, 0,123,__LINE__, 0xbfdd2887, 0x60000000, 0xbfdc28f5, 0xc28f5c1c}, /* -0.45559=f(-0.44000)*/
+{13, 0,123,__LINE__, 0xbfdc7291, 0xe0000000, 0xbfdb851e, 0xb851eb78}, /* -0.44449=f(-0.43000)*/
+{15, 0,123,__LINE__, 0xbfdbbd91, 0x60000000, 0xbfdae147, 0xae147ad4}, /* -0.43344=f(-0.42000)*/
+{15, 0,123,__LINE__, 0xbfdb097c, 0xc0000000, 0xbfda3d70, 0xa3d70a30}, /* -0.42245=f(-0.41000)*/
+{14, 0,123,__LINE__, 0xbfda564a, 0xc0000000, 0xbfd99999, 0x9999998c}, /* -0.41151=f(-0.40000)*/
+{15, 0,123,__LINE__, 0xbfd9a3f2, 0xa0000000, 0xbfd8f5c2, 0x8f5c28e8}, /* -0.40063=f(-0.39000)*/
+{16, 0,123,__LINE__, 0xbfd8f26c, 0x20000000, 0xbfd851eb, 0x851eb844}, /* -0.38979=f(-0.38000)*/
+{12, 0,123,__LINE__, 0xbfd841af, 0x20000000, 0xbfd7ae14, 0x7ae147a0}, /* -0.37900=f(-0.37000)*/
+{16, 0,123,__LINE__, 0xbfd791b3, 0x80000000, 0xbfd70a3d, 0x70a3d6fc}, /* -0.36826=f(-0.36000)*/
+{16, 0,123,__LINE__, 0xbfd6e271, 0xe0000000, 0xbfd66666, 0x66666658}, /* -0.35757=f(-0.35000)*/
+{14, 0,123,__LINE__, 0xbfd633e3, 0x00000000, 0xbfd5c28f, 0x5c28f5b4}, /* -0.34691=f(-0.34000)*/
+{16, 0,123,__LINE__, 0xbfd585ff, 0x80000000, 0xbfd51eb8, 0x51eb8510}, /* -0.33630=f(-0.33000)*/
+{16, 0,123,__LINE__, 0xbfd4d8c0, 0x80000000, 0xbfd47ae1, 0x47ae146c}, /* -0.32572=f(-0.32000)*/
+{13, 0,123,__LINE__, 0xbfd42c1f, 0x60000000, 0xbfd3d70a, 0x3d70a3c8}, /* -0.31519=f(-0.31000)*/
+{16, 0,123,__LINE__, 0xbfd38015, 0xa0000000, 0xbfd33333, 0x33333324}, /* -0.30469=f(-0.30000)*/
+{17, 0,123,__LINE__, 0xbfd2d49c, 0xc0000000, 0xbfd28f5c, 0x28f5c280}, /* -0.29422=f(-0.29000)*/
+{14, 0,123,__LINE__, 0xbfd229ae, 0xc0000000, 0xbfd1eb85, 0x1eb851dc}, /* -0.28379=f(-0.28000)*/
+{18, 0,123,__LINE__, 0xbfd17f45, 0x80000000, 0xbfd147ae, 0x147ae138}, /* -0.27339=f(-0.27000)*/
+{17, 0,123,__LINE__, 0xbfd0d55b, 0x00000000, 0xbfd0a3d7, 0x0a3d7094}, /* -0.26302=f(-0.26000)*/
+{18, 0,123,__LINE__, 0xbfd02be9, 0xc0000000, 0xbfcfffff, 0xffffffe0}, /* -0.25268=f(-0.25000)*/
+{15, 0,123,__LINE__, 0xbfcf05d8, 0x20000000, 0xbfceb851, 0xeb851e98}, /* -0.24236=f(-0.24000)*/
+{16, 0,123,__LINE__, 0xbfcdb4b8, 0xc0000000, 0xbfcd70a3, 0xd70a3d50}, /* -0.23207=f(-0.23000)*/
+{17, 0,123,__LINE__, 0xbfcc646a, 0xa0000000, 0xbfcc28f5, 0xc28f5c08}, /* -0.22181=f(-0.22000)*/
+{15, 0,123,__LINE__, 0xbfcb14e3, 0x60000000, 0xbfcae147, 0xae147ac0}, /* -0.21157=f(-0.21000)*/
+{17, 0,123,__LINE__, 0xbfc9c618, 0xc0000000, 0xbfc99999, 0x99999978}, /* -0.20135=f(-0.20000)*/
+{18, 0,123,__LINE__, 0xbfc87800, 0x40000000, 0xbfc851eb, 0x851eb830}, /* -0.19116=f(-0.19000)*/
+{18, 0,123,__LINE__, 0xbfc72a90, 0x80000000, 0xbfc70a3d, 0x70a3d6e8}, /* -0.18098=f(-0.18000)*/
+{19, 0,123,__LINE__, 0xbfc5ddbf, 0x20000000, 0xbfc5c28f, 0x5c28f5a0}, /* -0.17082=f(-0.17000)*/
+{16, 0,123,__LINE__, 0xbfc49182, 0xe0000000, 0xbfc47ae1, 0x47ae1458}, /* -0.16069=f(-0.16000)*/
+{17, 0,123,__LINE__, 0xbfc345d2, 0x40000000, 0xbfc33333, 0x33333310}, /* -0.15056=f(-0.15000)*/
+{19, 0,123,__LINE__, 0xbfc1faa3, 0xc0000000, 0xbfc1eb85, 0x1eb851c8}, /* -0.14046=f(-0.14000)*/
+{20, 0,123,__LINE__, 0xbfc0afee, 0x40000000, 0xbfc0a3d7, 0x0a3d7080}, /* -0.13036=f(-0.13000)*/
+{17, 0,123,__LINE__, 0xbfbecb51, 0x40000000, 0xbfbeb851, 0xeb851e71}, /* -0.12028=f(-0.12000)*/
+{19, 0,123,__LINE__, 0xbfbc3793, 0xe0000000, 0xbfbc28f5, 0xc28f5be2}, /* -0.11022=f(-0.11000)*/
+{18, 0,123,__LINE__, 0xbfb9a492, 0x80000000, 0xbfb99999, 0x99999953}, /* -0.10016=f(-0.00100)*/
+{19, 0,123,__LINE__, 0xbfb7123b, 0x60000000, 0xbfb70a3d, 0x70a3d6c4}, /* -0.09012=f(-0.09000)*/
+{16, 0,123,__LINE__, 0xbfb4807d, 0x00000000, 0xbfb47ae1, 0x47ae1435}, /* -0.08008=f(-0.08000)*/
+{21, 0,123,__LINE__, 0xbfb1ef46, 0x60000000, 0xbfb1eb85, 0x1eb851a6}, /* -0.07005=f(-0.07000)*/
+{21, 0,123,__LINE__, 0xbfaebd0b, 0xc0000000, 0xbfaeb851, 0xeb851e2d}, /* -0.06003=f(-0.06000)*/
+{21, 0,123,__LINE__, 0xbfa99c55, 0x80000000, 0xbfa99999, 0x9999990e}, /* -0.05002=f(-0.05000)*/
+{21, 0,123,__LINE__, 0xbfa47c47, 0x60000000, 0xbfa47ae1, 0x47ae13ef}, /* -0.04001=f(-0.04000)*/
+{23, 0,123,__LINE__, 0xbf9eb980, 0x00000000, 0xbf9eb851, 0xeb851da0}, /* -0.03000=f(-0.03000)*/
+{23, 0,123,__LINE__, 0xbf947b3a, 0xc0000000, 0xbf947ae1, 0x47ae1362}, /* -0.02000=f(-0.02000)*/
+{27, 0,123,__LINE__, 0xbf847af7, 0xa0000000, 0xbf847ae1, 0x47ae1249}, /* -0.01000=f(-0.00010)*/
+{ 2, 0,123,__LINE__, 0x3cd19000, 0x00000000, 0x3cd19000, 0x00000000}, /* 9.74915e-16=f(9.74915e-16)*/
+{27, 0,123,__LINE__, 0x3f847af7, 0xa0000000, 0x3f847ae1, 0x47ae16ad}, /* 0.01000=f(0.01000)*/
+{23, 0,123,__LINE__, 0x3f947b3a, 0xc0000000, 0x3f947ae1, 0x47ae1594}, /* 0.02000=f(0.02000)*/
+{23, 0,123,__LINE__, 0x3f9eb980, 0x00000000, 0x3f9eb851, 0xeb851fd2}, /* 0.03000=f(0.03000)*/
+{21, 0,123,__LINE__, 0x3fa47c47, 0x60000000, 0x3fa47ae1, 0x47ae1508}, /* 0.04001=f(0.04000)*/
+{21, 0,123,__LINE__, 0x3fa99c55, 0x80000000, 0x3fa99999, 0x99999a27}, /* 0.05002=f(0.05000)*/
+{21, 0,123,__LINE__, 0x3faebd0b, 0xc0000000, 0x3faeb851, 0xeb851f46}, /* 0.06003=f(0.06000)*/
+{21, 0,123,__LINE__, 0x3fb1ef46, 0x60000000, 0x3fb1eb85, 0x1eb85232}, /* 0.07005=f(0.07000)*/
+{16, 0,123,__LINE__, 0x3fb4807d, 0x00000000, 0x3fb47ae1, 0x47ae14c1}, /* 0.08008=f(0.08000)*/
+{19, 0,123,__LINE__, 0x3fb7123b, 0x60000000, 0x3fb70a3d, 0x70a3d750}, /* 0.09012=f(0.09000)*/
+{18, 0,123,__LINE__, 0x3fb9a492, 0x80000000, 0x3fb99999, 0x999999df}, /* 0.10016=f(0.10000)*/
+{19, 0,123,__LINE__, 0x3fbc3793, 0xe0000000, 0x3fbc28f5, 0xc28f5c6e}, /* 0.11022=f(0.11000)*/
+{17, 0,123,__LINE__, 0x3fbecb51, 0x40000000, 0x3fbeb851, 0xeb851efd}, /* 0.12028=f(0.12000)*/
+{20, 0,123,__LINE__, 0x3fc0afee, 0x40000000, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.13036=f(0.13000)*/
+{19, 0,123,__LINE__, 0x3fc1faa3, 0xc0000000, 0x3fc1eb85, 0x1eb8520e}, /* 0.14046=f(0.14000)*/
+{17, 0,123,__LINE__, 0x3fc345d2, 0x40000000, 0x3fc33333, 0x33333356}, /* 0.15056=f(0.15000)*/
+{16, 0,123,__LINE__, 0x3fc49182, 0xe0000000, 0x3fc47ae1, 0x47ae149e}, /* 0.16069=f(0.16000)*/
+{19, 0,123,__LINE__, 0x3fc5ddbf, 0x20000000, 0x3fc5c28f, 0x5c28f5e6}, /* 0.17082=f(0.17000)*/
+{18, 0,123,__LINE__, 0x3fc72a90, 0x80000000, 0x3fc70a3d, 0x70a3d72e}, /* 0.18098=f(0.18000)*/
+{18, 0,123,__LINE__, 0x3fc87800, 0x40000000, 0x3fc851eb, 0x851eb876}, /* 0.19116=f(0.19000)*/
+{17, 0,123,__LINE__, 0x3fc9c618, 0xc0000000, 0x3fc99999, 0x999999be}, /* 0.20135=f(0.20000)*/
+{15, 0,123,__LINE__, 0x3fcb14e3, 0x60000000, 0x3fcae147, 0xae147b06}, /* 0.21157=f(0.21000)*/
+{17, 0,123,__LINE__, 0x3fcc646a, 0xa0000000, 0x3fcc28f5, 0xc28f5c4e}, /* 0.22181=f(0.22000)*/
+{16, 0,123,__LINE__, 0x3fcdb4b8, 0xc0000000, 0x3fcd70a3, 0xd70a3d96}, /* 0.23207=f(0.23000)*/
+{15, 0,123,__LINE__, 0x3fcf05d8, 0x20000000, 0x3fceb851, 0xeb851ede}, /* 0.24236=f(0.24000)*/
+{18, 0,123,__LINE__, 0x3fd02be9, 0xc0000000, 0x3fd00000, 0x00000013}, /* 0.25268=f(0.25000)*/
+{17, 0,123,__LINE__, 0x3fd0d55b, 0x00000000, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.26302=f(0.26000)*/
+{18, 0,123,__LINE__, 0x3fd17f45, 0x80000000, 0x3fd147ae, 0x147ae15b}, /* 0.27339=f(0.27000)*/
+{14, 0,123,__LINE__, 0x3fd229ae, 0xc0000000, 0x3fd1eb85, 0x1eb851ff}, /* 0.28379=f(0.28000)*/
+{17, 0,123,__LINE__, 0x3fd2d49c, 0xc0000000, 0x3fd28f5c, 0x28f5c2a3}, /* 0.29422=f(0.29000)*/
+{16, 0,123,__LINE__, 0x3fd38015, 0xa0000000, 0x3fd33333, 0x33333347}, /* 0.30469=f(0.30000)*/
+{13, 0,123,__LINE__, 0x3fd42c1f, 0x60000000, 0x3fd3d70a, 0x3d70a3eb}, /* 0.31519=f(0.31000)*/
+{16, 0,123,__LINE__, 0x3fd4d8c0, 0x80000000, 0x3fd47ae1, 0x47ae148f}, /* 0.32572=f(0.32000)*/
+{16, 0,123,__LINE__, 0x3fd585ff, 0x80000000, 0x3fd51eb8, 0x51eb8533}, /* 0.33630=f(0.33000)*/
+{14, 0,123,__LINE__, 0x3fd633e3, 0x00000000, 0x3fd5c28f, 0x5c28f5d7}, /* 0.34691=f(0.34000)*/
+{16, 0,123,__LINE__, 0x3fd6e271, 0xe0000000, 0x3fd66666, 0x6666667b}, /* 0.35757=f(0.35000)*/
+{16, 0,123,__LINE__, 0x3fd791b3, 0x80000000, 0x3fd70a3d, 0x70a3d71f}, /* 0.36826=f(0.36000)*/
+{12, 0,123,__LINE__, 0x3fd841af, 0x20000000, 0x3fd7ae14, 0x7ae147c3}, /* 0.37900=f(0.37000)*/
+{16, 0,123,__LINE__, 0x3fd8f26c, 0x20000000, 0x3fd851eb, 0x851eb867}, /* 0.38979=f(0.38000)*/
+{15, 0,123,__LINE__, 0x3fd9a3f2, 0xa0000000, 0x3fd8f5c2, 0x8f5c290b}, /* 0.40063=f(0.39000)*/
+{14, 0,123,__LINE__, 0x3fda564a, 0xc0000000, 0x3fd99999, 0x999999af}, /* 0.41151=f(0.40000)*/
+{15, 0,123,__LINE__, 0x3fdb097c, 0xc0000000, 0x3fda3d70, 0xa3d70a53}, /* 0.42245=f(0.41000)*/
+{15, 0,123,__LINE__, 0x3fdbbd91, 0x60000000, 0x3fdae147, 0xae147af7}, /* 0.43344=f(0.42000)*/
+{13, 0,123,__LINE__, 0x3fdc7291, 0xe0000000, 0x3fdb851e, 0xb851eb9b}, /* 0.44449=f(0.43000)*/
+{15, 0,123,__LINE__, 0x3fdd2887, 0x60000000, 0x3fdc28f5, 0xc28f5c3f}, /* 0.45559=f(0.44000)*/
+{15, 0,123,__LINE__, 0x3fdddf7b, 0xa0000000, 0x3fdccccc, 0xcccccce3}, /* 0.46676=f(0.45000)*/
+{14, 0,123,__LINE__, 0x3fde9779, 0x40000000, 0x3fdd70a3, 0xd70a3d87}, /* 0.47799=f(0.46000)*/
+{15, 0,123,__LINE__, 0x3fdf508a, 0x40000000, 0x3fde147a, 0xe147ae2b}, /* 0.48929=f(0.47000)*/
+{10, 0,123,__LINE__, 0x3fe0055d, 0x00000000, 0x3fdeb851, 0xeb851ecf}, /* 0.50065=f(0.48000)*/
+{10, 0,123,__LINE__, 0x3fe0630a, 0x20000000, 0x3fdf5c28, 0xf5c28f73}, /* 0.51208=f(0.49000)*/
+{16, 0,123,__LINE__, 0x3fe0c152, 0x40000000, 0x3fe00000, 0x0000000b}, /* 0.52359=f(0.50000)*/
+{15, 0,123,__LINE__, 0x3fe1203c, 0x00000000, 0x3fe051eb, 0x851eb85d}, /* 0.53518=f(0.51000)*/
+{15, 0,123,__LINE__, 0x3fe17fcd, 0x80000000, 0x3fe0a3d7, 0x0a3d70af}, /* 0.54685=f(0.52000)*/
+{15, 0,123,__LINE__, 0x3fe1e00e, 0x40000000, 0x3fe0f5c2, 0x8f5c2901}, /* 0.55860=f(0.53000)*/
+{14, 0,123,__LINE__, 0x3fe24105, 0x80000000, 0x3fe147ae, 0x147ae153}, /* 0.57043=f(0.54000)*/
+{14, 0,123,__LINE__, 0x3fe2a2ba, 0x80000000, 0x3fe19999, 0x999999a5}, /* 0.58236=f(0.55000)*/
+{14, 0,123,__LINE__, 0x3fe30535, 0x60000000, 0x3fe1eb85, 0x1eb851f7}, /* 0.59438=f(0.56000)*/
+{15, 0,123,__LINE__, 0x3fe3687f, 0x20000000, 0x3fe23d70, 0xa3d70a49}, /* 0.60650=f(0.57000)*/
+{15, 0,123,__LINE__, 0x3fe3cca0, 0x20000000, 0x3fe28f5c, 0x28f5c29b}, /* 0.61872=f(0.58000)*/
+{13, 0,123,__LINE__, 0x3fe431a2, 0x40000000, 0x3fe2e147, 0xae147aed}, /* 0.63105=f(0.59000)*/
+{13, 0,123,__LINE__, 0x3fe4978f, 0xc0000000, 0x3fe33333, 0x3333333f}, /* 0.64350=f(0.60000)*/
+{13, 0,123,__LINE__, 0x3fe4fe72, 0xe0000000, 0x3fe3851e, 0xb851eb91}, /* 0.65606=f(0.61000)*/
+{13, 0,123,__LINE__, 0x3fe56657, 0x20000000, 0x3fe3d70a, 0x3d70a3e3}, /* 0.66874=f(0.62000)*/
+{15, 0,123,__LINE__, 0x3fe5cf48, 0xc0000000, 0x3fe428f5, 0xc28f5c35}, /* 0.68155=f(0.63000)*/
+{14, 0,123,__LINE__, 0x3fe63954, 0x80000000, 0x3fe47ae1, 0x47ae1487}, /* 0.69449=f(0.64000)*/
+{14, 0,123,__LINE__, 0x3fe6a488, 0x40000000, 0x3fe4cccc, 0xccccccd9}, /* 0.70758=f(0.65000)*/
+{14, 0,123,__LINE__, 0x3fe710f2, 0xc0000000, 0x3fe51eb8, 0x51eb852b}, /* 0.72081=f(0.66000)*/
+{14, 0,123,__LINE__, 0x3fe77ea3, 0xa0000000, 0x3fe570a3, 0xd70a3d7d}, /* 0.73420=f(0.67000)*/
+{14, 0,123,__LINE__, 0x3fe7edac, 0x00000000, 0x3fe5c28f, 0x5c28f5cf}, /* 0.74776=f(0.68000)*/
+{12, 0,123,__LINE__, 0x3fe85e1e, 0x60000000, 0x3fe6147a, 0xe147ae21}, /* 0.76148=f(0.69000)*/
+{12, 0,123,__LINE__, 0x3fe8d00e, 0x80000000, 0x3fe66666, 0x66666673}, /* 0.77539=f(0.70000)*/
+{12, 0,123,__LINE__, 0x3fe94391, 0xc0000000, 0x3fe6b851, 0xeb851ec5}, /* 0.78949=f(0.71000)*/
+{12, 0,123,__LINE__, 0x3fe9b8bf, 0xe0000000, 0x3fe70a3d, 0x70a3d717}, /* 0.80380=f(0.72000)*/
+{12, 0,123,__LINE__, 0x3fea2fb1, 0xa0000000, 0x3fe75c28, 0xf5c28f69}, /* 0.81832=f(0.73000)*/
+{12, 0,123,__LINE__, 0x3feaa883, 0x60000000, 0x3fe7ae14, 0x7ae147bb}, /* 0.83307=f(0.74000)*/
+{14, 0,123,__LINE__, 0x3feb2353, 0x40000000, 0x3fe80000, 0x0000000d}, /* 0.84806=f(0.75000)*/
+{14, 0,123,__LINE__, 0x3feba043, 0x00000000, 0x3fe851eb, 0x851eb85f}, /* 0.86331=f(0.76000)*/
+{13, 0,123,__LINE__, 0x3fec1f77, 0x80000000, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.87884=f(0.77000)*/
+{13, 0,123,__LINE__, 0x3feca11a, 0x20000000, 0x3fe8f5c2, 0x8f5c2903}, /* 0.89466=f(0.78000)*/
+{13, 0,123,__LINE__, 0x3fed2559, 0x20000000, 0x3fe947ae, 0x147ae155}, /* 0.91080=f(0.79000)*/
+{13, 0,123,__LINE__, 0x3fedac67, 0x20000000, 0x3fe99999, 0x999999a7}, /* 0.92729=f(0.80000)*/
+{13, 0,123,__LINE__, 0x3fee367e, 0xa0000000, 0x3fe9eb85, 0x1eb851f9}, /* 0.94415=f(0.81000)*/
+{13, 0,123,__LINE__, 0x3feec3e1, 0x20000000, 0x3fea3d70, 0xa3d70a4b}, /* 0.96141=f(0.82000)*/
+{13, 0,123,__LINE__, 0x3fef54d9, 0xc0000000, 0x3fea8f5c, 0x28f5c29d}, /* 0.97910=f(0.83000)*/
+{13, 0,123,__LINE__, 0x3fefe9be, 0x80000000, 0x3feae147, 0xae147aef}, /* 0.99728=f(0.84000)*/
+{11, 0,123,__LINE__, 0x3ff04179, 0xe0000000, 0x3feb3333, 0x33333341}, /* 1.01598=f(0.85000)*/
+{11, 0,123,__LINE__, 0x3ff09077, 0x00000000, 0x3feb851e, 0xb851eb93}, /* 1.03527=f(0.86000)*/
+{11, 0,123,__LINE__, 0x3ff0e21b, 0xe0000000, 0x3febd70a, 0x3d70a3e5}, /* 1.05520=f(0.87000)*/
+{11, 0,123,__LINE__, 0x3ff136bb, 0x40000000, 0x3fec28f5, 0xc28f5c37}, /* 1.07586=f(0.88000)*/
+{11, 0,123,__LINE__, 0x3ff18eb9, 0xc0000000, 0x3fec7ae1, 0x47ae1489}, /* 1.09734=f(0.89000)*/
+{11, 0,123,__LINE__, 0x3ff1ea93, 0x80000000, 0x3feccccc, 0xccccccdb}, /* 1.11977=f(0.90000)*/
+{11, 0,123,__LINE__, 0x3ff24ae4, 0x60000000, 0x3fed1eb8, 0x51eb852d}, /* 1.14328=f(0.91000)*/
+{11, 0,123,__LINE__, 0x3ff2b075, 0x40000000, 0x3fed70a3, 0xd70a3d7f}, /* 1.16808=f(0.92000)*/
+{11, 0,123,__LINE__, 0x3ff31c50, 0xc0000000, 0x3fedc28f, 0x5c28f5d1}, /* 1.19441=f(0.93000)*/
+{11, 0,123,__LINE__, 0x3ff38fe4, 0xe0000000, 0x3fee147a, 0xe147ae23}, /* 1.22263=f(0.94000)*/
+{11, 0,123,__LINE__, 0x3ff40d41, 0x20000000, 0x3fee6666, 0x66666675}, /* 1.25323=f(0.95000)*/
+{11, 0,123,__LINE__, 0x3ff4978f, 0xa0000000, 0x3feeb851, 0xeb851ec7}, /* 1.28700=f(0.96000)*/
+{11, 0,123,__LINE__, 0x3ff53425, 0x60000000, 0x3fef0a3d, 0x70a3d719}, /* 1.32523=f(0.97000)*/
+{11, 0,123,__LINE__, 0x3ff5ed69, 0x20000000, 0x3fef5c28, 0xf5c28f6b}, /* 1.37046=f(0.98000)*/
+{11, 0,123,__LINE__, 0x3ff6de3c, 0x80000000, 0x3fefae14, 0x7ae147bd}, /* 1.42925=f(0.99000)*/
+{12, 0,123,__LINE__, 0x3ff921fb, 0x60000000, 0x3ff00000, 0x00000007}, /* 1.57079=f(1.00000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff028f5, 0xc28f5c30}, /* 64.0000=f(1.01000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff051eb, 0x851eb859}, /* 64.0000=f(1.02000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff07ae1, 0x47ae1482}, /* 64.0000=f(1.03000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff0a3d7, 0x0a3d70ab}, /* 64.0000=f(1.04000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff0cccc, 0xccccccd4}, /* 64.0000=f(1.05000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff0f5c2, 0x8f5c28fd}, /* 64.0000=f(1.06000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff11eb8, 0x51eb8526}, /* 64.0000=f(1.07000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff147ae, 0x147ae14f}, /* 64.0000=f(1.08000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff170a3, 0xd70a3d78}, /* 64.0000=f(1.09000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff19999, 0x999999a1}, /* 64.0000=f(1.10000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff1c28f, 0x5c28f5ca}, /* 64.0000=f(1.11000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff1eb85, 0x1eb851f3}, /* 64.0000=f(1.12000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff2147a, 0xe147ae1c}, /* 64.0000=f(1.13000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff23d70, 0xa3d70a45}, /* 64.0000=f(1.14000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff26666, 0x6666666e}, /* 64.0000=f(1.15000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff28f5c, 0x28f5c297}, /* 64.0000=f(1.16000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff2b851, 0xeb851ec0}, /* 64.0000=f(1.17000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff2e147, 0xae147ae9}, /* 64.0000=f(1.18000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff30a3d, 0x70a3d712}, /* 64.0000=f(1.19000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01921fb, 0x54442d18}, /* 64.0000=f(-6.28318)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* 64.0000=f(-4.71238)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc00921fb, 0x54442d18}, /* 64.0000=f(-3.14159)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff921fb, 0x54442d18}, /* 64.0000=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff921fb, 0x54442d18}, /* 64.0000=f(1.57079)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x400921fb, 0x54442d18}, /* 64.0000=f(3.14159)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4012d97c, 0x7f3321d2}, /* 64.0000=f(4.71238)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03e0000, 0x00000000}, /* 64.0000=f(-30.0000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* 64.0000=f(-28.3000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03a9999, 0x9999999a}, /* 64.0000=f(-26.6000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc038e666, 0x66666667}, /* 64.0000=f(-24.9000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0373333, 0x33333334}, /* 64.0000=f(-23.2000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0358000, 0x00000001}, /* 64.0000=f(-21.5000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc033cccc, 0xccccccce}, /* 64.0000=f(-19.8000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0321999, 0x9999999b}, /* 64.0000=f(-18.1000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0306666, 0x66666668}, /* 64.0000=f(-16.4000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02d6666, 0x6666666a}, /* 64.0000=f(-14.7000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02a0000, 0x00000004}, /* 64.0000=f(-13.0000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0269999, 0x9999999e}, /* 64.0000=f(-11.3000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0233333, 0x33333338}, /* 64.0000=f(-9.60000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01f9999, 0x999999a3}, /* 64.0000=f(-7.90000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* 64.0000=f(-6.20000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0120000, 0x00000009}, /* 64.0000=f(-4.50000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0066666, 0x66666678}, /* 64.0000=f(-2.80000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x999999bd}, /* 64.0000=f(-1.10000)*/
+{13, 0,123,__LINE__, 0x3fe4978f, 0xc0000000, 0x3fe33333, 0x333332ec}, /* 0.64350=f(0.60000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40026666, 0x66666654}, /* 64.0000=f(2.30000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x400fffff, 0xffffffee}, /* 64.0000=f(4.00000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4016cccc, 0xccccccc4}, /* 64.0000=f(5.70000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x401d9999, 0x99999991}, /* 64.0000=f(7.40000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40223333, 0x3333332f}, /* 64.0000=f(9.10000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40259999, 0x99999995}, /* 64.0000=f(10.8000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4028ffff, 0xfffffffb}, /* 64.0000=f(12.5000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x402c6666, 0x66666661}, /* 64.0000=f(14.2000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x402fcccc, 0xccccccc7}, /* 64.0000=f(15.9000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40319999, 0x99999997}, /* 64.0000=f(17.6000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40334ccc, 0xccccccca}, /* 64.0000=f(19.3000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4034ffff, 0xfffffffd}, /* 64.0000=f(21.0000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4036b333, 0x33333330}, /* 64.0000=f(22.7000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40386666, 0x66666663}, /* 64.0000=f(24.4000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x403a1999, 0x99999996}, /* 64.0000=f(26.1000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x403bcccc, 0xccccccc9}, /* 64.0000=f(27.8000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x403d7fff, 0xfffffffc}, /* 64.0000=f(29.5000)*/
+0,};
+test_asinf(m) {run_vector_1(m,asinf_vec,(char *)(asinf),"asinf","ff"); }
diff --git a/newlib/libm/test/asinh_vec.c b/newlib/libm/test/asinh_vec.c
new file mode 100644
index 00000000000..67926d95b99
--- /dev/null
+++ b/newlib/libm/test/asinh_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type asinh_vec[] = {
+{64, 0,123,__LINE__, 0xbff0416d, 0x0b8ea990, 0xbff33333, 0x33333333}, /* -1.01597=f(-1.20000)*/
+{64, 0,123,__LINE__, 0xbff02723, 0xaed3e28c, 0xbff30a3d, 0x70a3d70a}, /* -1.00955=f(-1.19000)*/
+{64, 0,123,__LINE__, 0xbff00cb9, 0x18514e77, 0xbff2e147, 0xae147ae1}, /* -1.00310=f(-1.18000)*/
+{64, 0,123,__LINE__, 0xbfefe45a, 0x23bb819a, 0xbff2b851, 0xeb851eb8}, /* -0.99662=f(-1.17000)*/
+{64, 0,123,__LINE__, 0xbfefaefe, 0xcad19f15, 0xbff28f5c, 0x28f5c28f}, /* -0.99011=f(-1.16000)*/
+{64, 0,123,__LINE__, 0xbfef795f, 0xba0209ba, 0xbff26666, 0x66666666}, /* -0.98356=f(-1.15000)*/
+{64, 0,123,__LINE__, 0xbfef437c, 0x85b4a6d2, 0xbff23d70, 0xa3d70a3d}, /* -0.97698=f(-1.14000)*/
+{64, 0,123,__LINE__, 0xbfef0d54, 0xc2a99e3a, 0xbff2147a, 0xe147ae14}, /* -0.97037=f(-1.13000)*/
+{64, 0,123,__LINE__, 0xbfeed6e8, 0x060758e3, 0xbff1eb85, 0x1eb851eb}, /* -0.96373=f(-1.12000)*/
+{64, 0,123,__LINE__, 0xbfeea035, 0xe5691026, 0xbff1c28f, 0x5c28f5c2}, /* -0.95705=f(-1.11000)*/
+{64, 0,123,__LINE__, 0xbfee693d, 0xf6edf1e5, 0xbff19999, 0x99999999}, /* -0.95034=f(-1.10000)*/
+{64, 0,123,__LINE__, 0xbfee31ff, 0xd148dd59, 0xbff170a3, 0xd70a3d70}, /* -0.94360=f(-1.09000)*/
+{64, 0,123,__LINE__, 0xbfedfa7b, 0x0bd0bc8a, 0xbff147ae, 0x147ae147}, /* -0.93682=f(-1.08000)*/
+{64, 0,123,__LINE__, 0xbfedc2af, 0x3e917e7a, 0xbff11eb8, 0x51eb851e}, /* -0.93001=f(-1.07000)*/
+{64, 0,123,__LINE__, 0xbfed8a9c, 0x025db5de, 0xbff0f5c2, 0x8f5c28f5}, /* -0.92317=f(-1.06000)*/
+{64, 0,123,__LINE__, 0xbfed5240, 0xf0e0e077, 0xbff0cccc, 0xcccccccc}, /* -0.91629=f(-1.05000)*/
+{64, 0,123,__LINE__, 0xbfed199d, 0xa4b25ad8, 0xbff0a3d7, 0x0a3d70a3}, /* -0.90937=f(-1.04000)*/
+{64, 0,123,__LINE__, 0xbfece0b1, 0xb969049f, 0xbff07ae1, 0x47ae147a}, /* -0.90242=f(-1.03000)*/
+{64, 0,123,__LINE__, 0xbfeca77c, 0xcbaf98d6, 0xbff051eb, 0x851eb851}, /* -0.89544=f(-1.02000)*/
+{64, 0,123,__LINE__, 0xbfec6dfe, 0x7959be65, 0xbff028f5, 0xc28f5c28}, /* -0.88842=f(-1.01000)*/
+{64, 0,123,__LINE__, 0xbfec3436, 0x6179d425, 0xbfefffff, 0xfffffffe}, /* -0.88137=f(-0.01000)*/
+{64, 0,123,__LINE__, 0xbfebfa24, 0x24777c61, 0xbfefae14, 0x7ae147ac}, /* -0.87428=f(-0.99000)*/
+{64, 0,123,__LINE__, 0xbfebbfc7, 0x6426eb13, 0xbfef5c28, 0xf5c28f5a}, /* -0.86716=f(-0.98000)*/
+{64, 0,123,__LINE__, 0xbfeb851f, 0xc3e0fa68, 0xbfef0a3d, 0x70a3d708}, /* -0.86000=f(-0.97000)*/
+{64, 0,123,__LINE__, 0xbfeb4a2c, 0xe89c08b3, 0xbfeeb851, 0xeb851eb6}, /* -0.85280=f(-0.96000)*/
+{64, 0,123,__LINE__, 0xbfeb0eee, 0x7905a2fa, 0xbfee6666, 0x66666664}, /* -0.84557=f(-0.95000)*/
+{64, 0,123,__LINE__, 0xbfead364, 0x1d9cfee2, 0xbfee147a, 0xe147ae12}, /* -0.83830=f(-0.94000)*/
+{64, 0,123,__LINE__, 0xbfea978d, 0x80ce46dc, 0xbfedc28f, 0x5c28f5c0}, /* -0.83100=f(-0.93000)*/
+{64, 0,123,__LINE__, 0xbfea5b6a, 0x4f0ebada, 0xbfed70a3, 0xd70a3d6e}, /* -0.82365=f(-0.92000)*/
+{64, 0,123,__LINE__, 0xbfea1efa, 0x36f9a7f3, 0xbfed1eb8, 0x51eb851c}, /* -0.81628=f(-0.91000)*/
+{64, 0,123,__LINE__, 0xbfe9e23c, 0xe96e38d2, 0xbfeccccc, 0xccccccca}, /* -0.80886=f(-0.90000)*/
+{64, 0,123,__LINE__, 0xbfe9a532, 0x19ae208e, 0xbfec7ae1, 0x47ae1478}, /* -0.80141=f(-0.89000)*/
+{64, 0,123,__LINE__, 0xbfe967d9, 0x7d7d215b, 0xbfec28f5, 0xc28f5c26}, /* -0.79392=f(-0.88000)*/
+{64, 0,123,__LINE__, 0xbfe92a32, 0xcd416fe8, 0xbfebd70a, 0x3d70a3d4}, /* -0.78640=f(-0.87000)*/
+{64, 0,123,__LINE__, 0xbfe8ec3d, 0xc424f41d, 0xbfeb851e, 0xb851eb82}, /* -0.77883=f(-0.86000)*/
+{64, 0,123,__LINE__, 0xbfe8adfa, 0x2037673e, 0xbfeb3333, 0x33333330}, /* -0.77123=f(-0.85000)*/
+{64, 0,123,__LINE__, 0xbfe86f67, 0xa2914f46, 0xbfeae147, 0xae147ade}, /* -0.76359=f(-0.84000)*/
+{64, 0,123,__LINE__, 0xbfe83086, 0x0f77d693, 0xbfea8f5c, 0x28f5c28c}, /* -0.75592=f(-0.83000)*/
+{64, 0,123,__LINE__, 0xbfe7f155, 0x2e817eac, 0xbfea3d70, 0xa3d70a3a}, /* -0.74820=f(-0.82000)*/
+{64, 0,123,__LINE__, 0xbfe7b1d4, 0xcabbac2a, 0xbfe9eb85, 0x1eb851e8}, /* -0.74045=f(-0.81000)*/
+{64, 0,123,__LINE__, 0xbfe77204, 0xb2d1095d, 0xbfe99999, 0x99999996}, /* -0.73266=f(-0.80000)*/
+{64, 0,123,__LINE__, 0xbfe731e4, 0xb930bc87, 0xbfe947ae, 0x147ae144}, /* -0.72484=f(-0.79000)*/
+{64, 0,123,__LINE__, 0xbfe6f174, 0xb4366df1, 0xbfe8f5c2, 0x8f5c28f2}, /* -0.71697=f(-0.78000)*/
+{64, 0,123,__LINE__, 0xbfe6b0b4, 0x7e531942, 0xbfe8a3d7, 0x0a3d70a0}, /* -0.70907=f(-0.77000)*/
+{64, 0,123,__LINE__, 0xbfe66fa3, 0xf636a4fb, 0xbfe851eb, 0x851eb84e}, /* -0.70112=f(-0.76000)*/
+{64, 0,123,__LINE__, 0xbfe62e42, 0xfefa39ec, 0xbfe7ffff, 0xfffffffc}, /* -0.69314=f(-0.75000)*/
+{64, 0,123,__LINE__, 0xbfe5ec91, 0x804b53dc, 0xbfe7ae14, 0x7ae147aa}, /* -0.68512=f(-0.74000)*/
+{64, 0,123,__LINE__, 0xbfe5aa8f, 0x66978381, 0xbfe75c28, 0xf5c28f58}, /* -0.67707=f(-0.73000)*/
+{64, 0,123,__LINE__, 0xbfe5683c, 0xa338d93d, 0xbfe70a3d, 0x70a3d706}, /* -0.66897=f(-0.72000)*/
+{64, 0,123,__LINE__, 0xbfe52599, 0x2ca2eee0, 0xbfe6b851, 0xeb851eb4}, /* -0.66083=f(-0.71000)*/
+{64, 0,123,__LINE__, 0xbfe4e2a4, 0xfe9085da, 0xbfe66666, 0x66666662}, /* -0.65266=f(-0.70000)*/
+{64, 0,123,__LINE__, 0xbfe49f60, 0x1a31ae2f, 0xbfe6147a, 0xe147ae10}, /* -0.64445=f(-0.69000)*/
+{64, 0,123,__LINE__, 0xbfe45bca, 0x865a6965, 0xbfe5c28f, 0x5c28f5be}, /* -0.63620=f(-0.68000)*/
+{64, 0,123,__LINE__, 0xbfe417e4, 0x4fb1bb94, 0xbfe570a3, 0xd70a3d6c}, /* -0.62791=f(-0.67000)*/
+{64, 0,123,__LINE__, 0xbfe3d3ad, 0x88e11b93, 0xbfe51eb8, 0x51eb851a}, /* -0.61958=f(-0.66000)*/
+{64, 0,123,__LINE__, 0xbfe38f26, 0x4ac4320f, 0xbfe4cccc, 0xccccccc8}, /* -0.61122=f(-0.65000)*/
+{64, 0,123,__LINE__, 0xbfe34a4e, 0xb498d62a, 0xbfe47ae1, 0x47ae1476}, /* -0.60282=f(-0.64000)*/
+{64, 0,123,__LINE__, 0xbfe30526, 0xec2f34f5, 0xbfe428f5, 0xc28f5c24}, /* -0.59437=f(-0.63000)*/
+{64, 0,123,__LINE__, 0xbfe2bfaf, 0x1e1a0fec, 0xbfe3d70a, 0x3d70a3d2}, /* -0.58589=f(-0.62000)*/
+{64, 0,123,__LINE__, 0xbfe279e7, 0x7ddefd46, 0xbfe3851e, 0xb851eb80}, /* -0.57738=f(-0.61000)*/
+{64, 0,123,__LINE__, 0xbfe233d0, 0x46269390, 0xbfe33333, 0x3333332e}, /* -0.56882=f(-0.60000)*/
+{64, 0,123,__LINE__, 0xbfe1ed69, 0xb8ec68f2, 0xbfe2e147, 0xae147adc}, /* -0.56023=f(-0.59000)*/
+{64, 0,123,__LINE__, 0xbfe1a6b4, 0x1faeccee, 0xbfe28f5c, 0x28f5c28a}, /* -0.55159=f(-0.58000)*/
+{64, 0,123,__LINE__, 0xbfe15faf, 0xcb9e2242, 0xbfe23d70, 0xa3d70a38}, /* -0.54293=f(-0.57000)*/
+{64, 0,123,__LINE__, 0xbfe1185d, 0x15cbbd57, 0xbfe1eb85, 0x1eb851e6}, /* -0.53422=f(-0.56000)*/
+{64, 0,123,__LINE__, 0xbfe0d0bc, 0x5f582a21, 0xbfe19999, 0x99999994}, /* -0.52548=f(-0.55000)*/
+{64, 0,123,__LINE__, 0xbfe088ce, 0x11a0bb69, 0xbfe147ae, 0x147ae142}, /* -0.51669=f(-0.54000)*/
+{64, 0,123,__LINE__, 0xbfe04092, 0x9e6c43fb, 0xbfe0f5c2, 0x8f5c28f0}, /* -0.50788=f(-0.53000)*/
+{64, 0,123,__LINE__, 0xbfdff015, 0x002db22e, 0xbfe0a3d7, 0x0a3d709e}, /* -0.49902=f(-0.52000)*/
+{64, 0,123,__LINE__, 0xbfdf5e6c, 0x7378f8ec, 0xbfe051eb, 0x851eb84c}, /* -0.49013=f(-0.51000)*/
+{64, 0,123,__LINE__, 0xbfdecc2c, 0xaec515ff, 0xbfdfffff, 0xfffffff4}, /* -0.48121=f(-0.50000)*/
+{64, 0,123,__LINE__, 0xbfde3956, 0xdc3f98b0, 0xbfdf5c28, 0xf5c28f50}, /* -0.47224=f(-0.49000)*/
+{64, 0,123,__LINE__, 0xbfdda5ec, 0x3885fd17, 0xbfdeb851, 0xeb851eac}, /* -0.46325=f(-0.48000)*/
+{64, 0,123,__LINE__, 0xbfdd11ee, 0x12ef7038, 0xbfde147a, 0xe147ae08}, /* -0.45421=f(-0.47000)*/
+{64, 0,123,__LINE__, 0xbfdc7d5d, 0xcdd2f44f, 0xbfdd70a3, 0xd70a3d64}, /* -0.44515=f(-0.46000)*/
+{64, 0,123,__LINE__, 0xbfdbe83c, 0xdec9972f, 0xbfdccccc, 0xccccccc0}, /* -0.43604=f(-0.45000)*/
+{64, 0,123,__LINE__, 0xbfdb528c, 0xceec6b8c, 0xbfdc28f5, 0xc28f5c1c}, /* -0.42691=f(-0.44000)*/
+{64, 0,123,__LINE__, 0xbfdabc4f, 0x3b0df56d, 0xbfdb851e, 0xb851eb78}, /* -0.41774=f(-0.43000)*/
+{64, 0,123,__LINE__, 0xbfda2585, 0xd3eeb962, 0xbfdae147, 0xae147ad4}, /* -0.40854=f(-0.42000)*/
+{64, 0,123,__LINE__, 0xbfd98e32, 0x5e6c9df0, 0xbfda3d70, 0xa3d70a30}, /* -0.39930=f(-0.41000)*/
+{64, 0,123,__LINE__, 0xbfd8f656, 0xb3acceca, 0xbfd99999, 0x9999998c}, /* -0.39003=f(-0.40000)*/
+{64, 0,123,__LINE__, 0xbfd85df4, 0xc13fd1f5, 0xbfd8f5c2, 0x8f5c28e8}, /* -0.38073=f(-0.39000)*/
+{64, 0,123,__LINE__, 0xbfd7c50e, 0x893f7fd0, 0xbfd851eb, 0x851eb844}, /* -0.37140=f(-0.38000)*/
+{64, 0,123,__LINE__, 0xbfd72ba6, 0x22669021, 0xbfd7ae14, 0x7ae147a0}, /* -0.36203=f(-0.37000)*/
+{64, 0,123,__LINE__, 0xbfd691bd, 0xb8217006, 0xbfd70a3d, 0x70a3d6fc}, /* -0.35264=f(-0.36000)*/
+{64, 0,123,__LINE__, 0xbfd5f757, 0x8a9816c0, 0xbfd66666, 0x66666658}, /* -0.34322=f(-0.35000)*/
+{64, 0,123,__LINE__, 0xbfd55c75, 0xeeb091a1, 0xbfd5c28f, 0x5c28f5b4}, /* -0.33376=f(-0.34000)*/
+{64, 0,123,__LINE__, 0xbfd4c11b, 0x4e0a028a, 0xbfd51eb8, 0x51eb8510}, /* -0.32428=f(-0.33000)*/
+{64, 0,123,__LINE__, 0xbfd4254a, 0x26efcfab, 0xbfd47ae1, 0x47ae146c}, /* -0.31477=f(-0.32000)*/
+{64, 0,123,__LINE__, 0xbfd38905, 0x0c44c709, 0xbfd3d70a, 0x3d70a3c8}, /* -0.30523=f(-0.31000)*/
+{64, 0,123,__LINE__, 0xbfd2ec4e, 0xa565fcb3, 0xbfd33333, 0x33333324}, /* -0.29567=f(-0.30000)*/
+{64, 0,123,__LINE__, 0xbfd24f29, 0xae052f2f, 0xbfd28f5c, 0x28f5c280}, /* -0.28608=f(-0.29000)*/
+{64, 0,123,__LINE__, 0xbfd1b198, 0xf5fa8300, 0xbfd1eb85, 0x1eb851dc}, /* -0.27646=f(-0.28000)*/
+{64, 0,123,__LINE__, 0xbfd1139f, 0x610d6ba0, 0xbfd147ae, 0x147ae138}, /* -0.26682=f(-0.27000)*/
+{64, 0,123,__LINE__, 0xbfd0753f, 0xe6b49e7e, 0xbfd0a3d7, 0x0a3d7094}, /* -0.25715=f(-0.26000)*/
+{64, 0,123,__LINE__, 0xbfcfacfb, 0x2399e618, 0xbfcfffff, 0xffffffe0}, /* -0.24746=f(-0.25000)*/
+{64, 0,123,__LINE__, 0xbfce6eb7, 0x008e3359, 0xbfceb851, 0xeb851e98}, /* -0.23775=f(-0.24000)*/
+{64, 0,123,__LINE__, 0xbfcd2fb9, 0xc5983561, 0xbfcd70a3, 0xd70a3d50}, /* -0.22801=f(-0.23000)*/
+{64, 0,123,__LINE__, 0xbfcbf009, 0xf8b12c56, 0xbfcc28f5, 0xc28f5c08}, /* -0.21826=f(-0.22000)*/
+{64, 0,123,__LINE__, 0xbfcaafae, 0x439d8a6b, 0xbfcae147, 0xae147ac0}, /* -0.20848=f(-0.21000)*/
+{64, 0,123,__LINE__, 0xbfc96ead, 0x72fe8b12, 0xbfc99999, 0x99999978}, /* -0.19869=f(-0.20000)*/
+{64, 0,123,__LINE__, 0xbfc82d0e, 0x7551814f, 0xbfc851eb, 0x851eb830}, /* -0.18887=f(-0.19000)*/
+{64, 0,123,__LINE__, 0xbfc6ead8, 0x59dd1101, 0xbfc70a3d, 0x70a3d6e8}, /* -0.17904=f(-0.18000)*/
+{64, 0,123,__LINE__, 0xbfc5a812, 0x4f8c9853, 0xbfc5c28f, 0x5c28f5a0}, /* -0.16919=f(-0.17000)*/
+{64, 0,123,__LINE__, 0xbfc464c3, 0xa3ba2071, 0xbfc47ae1, 0x47ae1458}, /* -0.15932=f(-0.16000)*/
+{64, 0,123,__LINE__, 0xbfc320f3, 0xc0e73e3a, 0xbfc33333, 0x33333310}, /* -0.14944=f(-0.15000)*/
+{64, 0,123,__LINE__, 0xbfc1dcaa, 0x2d655d91, 0xbfc1eb85, 0x1eb851c8}, /* -0.13954=f(-0.14000)*/
+{64, 0,123,__LINE__, 0xbfc097ee, 0x89ee0391, 0xbfc0a3d7, 0x0a3d7080}, /* -0.12963=f(-0.13000)*/
+{64, 0,123,__LINE__, 0xbfbea591, 0x20574a8c, 0xbfbeb851, 0xeb851e71}, /* -0.11971=f(-0.12000)*/
+{64, 0,123,__LINE__, 0xbfbc1a80, 0x22678345, 0xbfbc28f5, 0xc28f5be2}, /* -0.10977=f(-0.11000)*/
+{64, 0,123,__LINE__, 0xbfb98eb9, 0xe7e5fbf8, 0xbfb99999, 0x99999953}, /* -0.09983=f(-0.00100)*/
+{64, 0,123,__LINE__, 0xbfb7024e, 0x67182895, 0xbfb70a3d, 0x70a3d6c4}, /* -0.08987=f(-0.09000)*/
+{64, 0,123,__LINE__, 0xbfb4754d, 0xbb54e357, 0xbfb47ae1, 0x47ae1435}, /* -0.07991=f(-0.08000)*/
+{64, 0,123,__LINE__, 0xbfb1e7c8, 0x2192e439, 0xbfb1eb85, 0x1eb851a6}, /* -0.06994=f(-0.07000)*/
+{64, 0,123,__LINE__, 0xbfaeb39b, 0xe9c4cf8a, 0xbfaeb851, 0xeb851e2d}, /* -0.05996=f(-0.06000)*/
+{64, 0,123,__LINE__, 0xbfa996df, 0x55a82630, 0xbfa99999, 0x9999990e}, /* -0.04997=f(-0.05000)*/
+{64, 0,123,__LINE__, 0xbfa4797b, 0x9f9e7351, 0xbfa47ae1, 0x47ae13ef}, /* -0.03998=f(-0.04000)*/
+{64, 0,123,__LINE__, 0xbf9eb724, 0x0d66f6d4, 0xbf9eb851, 0xeb851da0}, /* -0.02999=f(-0.03000)*/
+{64, 0,123,__LINE__, 0xbf947a87, 0xd14f5740, 0xbf947ae1, 0x47ae1362}, /* -0.01999=f(-0.02000)*/
+{64, 0,123,__LINE__, 0xbf847aca, 0xe95088d5, 0xbf847ae1, 0x47ae1249}, /* -0.00999=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x3cd19000, 0x00000000, 0x3cd19000, 0x00000000}, /* 9.74915e-16=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0x3f847aca, 0xe9508d39, 0x3f847ae1, 0x47ae16ad}, /* 0.00999=f(0.01000)*/
+{64, 0,123,__LINE__, 0x3f947a87, 0xd14f5972, 0x3f947ae1, 0x47ae1594}, /* 0.01999=f(0.02000)*/
+{64, 0,123,__LINE__, 0x3f9eb724, 0x0d66f906, 0x3f9eb851, 0xeb851fd2}, /* 0.02999=f(0.03000)*/
+{64, 0,123,__LINE__, 0x3fa4797b, 0x9f9e746a, 0x3fa47ae1, 0x47ae1508}, /* 0.03998=f(0.04000)*/
+{64, 0,123,__LINE__, 0x3fa996df, 0x55a82748, 0x3fa99999, 0x99999a27}, /* 0.04997=f(0.05000)*/
+{64, 0,123,__LINE__, 0x3faeb39b, 0xe9c4d0a3, 0x3faeb851, 0xeb851f46}, /* 0.05996=f(0.06000)*/
+{64, 0,123,__LINE__, 0x3fb1e7c8, 0x2192e4c5, 0x3fb1eb85, 0x1eb85232}, /* 0.06994=f(0.07000)*/
+{64, 0,123,__LINE__, 0x3fb4754d, 0xbb54e3e3, 0x3fb47ae1, 0x47ae14c1}, /* 0.07991=f(0.08000)*/
+{64, 0,123,__LINE__, 0x3fb7024e, 0x67182921, 0x3fb70a3d, 0x70a3d750}, /* 0.08987=f(0.09000)*/
+{64, 0,123,__LINE__, 0x3fb98eb9, 0xe7e5fc83, 0x3fb99999, 0x999999df}, /* 0.09983=f(0.10000)*/
+{64, 0,123,__LINE__, 0x3fbc1a80, 0x226783d0, 0x3fbc28f5, 0xc28f5c6e}, /* 0.10977=f(0.11000)*/
+{64, 0,123,__LINE__, 0x3fbea591, 0x20574b16, 0x3fbeb851, 0xeb851efd}, /* 0.11971=f(0.12000)*/
+{64, 0,123,__LINE__, 0x3fc097ee, 0x89ee03d6, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.12963=f(0.13000)*/
+{64, 0,123,__LINE__, 0x3fc1dcaa, 0x2d655dd5, 0x3fc1eb85, 0x1eb8520e}, /* 0.13954=f(0.14000)*/
+{64, 0,123,__LINE__, 0x3fc320f3, 0xc0e73e7f, 0x3fc33333, 0x33333356}, /* 0.14944=f(0.15000)*/
+{64, 0,123,__LINE__, 0x3fc464c3, 0xa3ba20b7, 0x3fc47ae1, 0x47ae149e}, /* 0.15932=f(0.16000)*/
+{64, 0,123,__LINE__, 0x3fc5a812, 0x4f8c9898, 0x3fc5c28f, 0x5c28f5e6}, /* 0.16919=f(0.17000)*/
+{64, 0,123,__LINE__, 0x3fc6ead8, 0x59dd1146, 0x3fc70a3d, 0x70a3d72e}, /* 0.17904=f(0.18000)*/
+{64, 0,123,__LINE__, 0x3fc82d0e, 0x75518194, 0x3fc851eb, 0x851eb876}, /* 0.18887=f(0.19000)*/
+{64, 0,123,__LINE__, 0x3fc96ead, 0x72fe8b56, 0x3fc99999, 0x999999be}, /* 0.19869=f(0.20000)*/
+{64, 0,123,__LINE__, 0x3fcaafae, 0x439d8ab0, 0x3fcae147, 0xae147b06}, /* 0.20848=f(0.21000)*/
+{64, 0,123,__LINE__, 0x3fcbf009, 0xf8b12c9a, 0x3fcc28f5, 0xc28f5c4e}, /* 0.21826=f(0.22000)*/
+{64, 0,123,__LINE__, 0x3fcd2fb9, 0xc59835a6, 0x3fcd70a3, 0xd70a3d96}, /* 0.22801=f(0.23000)*/
+{64, 0,123,__LINE__, 0x3fce6eb7, 0x008e339d, 0x3fceb851, 0xeb851ede}, /* 0.23775=f(0.24000)*/
+{64, 0,123,__LINE__, 0x3fcfacfb, 0x2399e65d, 0x3fd00000, 0x00000013}, /* 0.24746=f(0.25000)*/
+{64, 0,123,__LINE__, 0x3fd0753f, 0xe6b49e9f, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.25715=f(0.26000)*/
+{64, 0,123,__LINE__, 0x3fd1139f, 0x610d6bc1, 0x3fd147ae, 0x147ae15b}, /* 0.26682=f(0.27000)*/
+{64, 0,123,__LINE__, 0x3fd1b198, 0xf5fa8322, 0x3fd1eb85, 0x1eb851ff}, /* 0.27646=f(0.28000)*/
+{64, 0,123,__LINE__, 0x3fd24f29, 0xae052f50, 0x3fd28f5c, 0x28f5c2a3}, /* 0.28608=f(0.29000)*/
+{64, 0,123,__LINE__, 0x3fd2ec4e, 0xa565fcd4, 0x3fd33333, 0x33333347}, /* 0.29567=f(0.30000)*/
+{64, 0,123,__LINE__, 0x3fd38905, 0x0c44c72a, 0x3fd3d70a, 0x3d70a3eb}, /* 0.30523=f(0.31000)*/
+{64, 0,123,__LINE__, 0x3fd4254a, 0x26efcfcc, 0x3fd47ae1, 0x47ae148f}, /* 0.31477=f(0.32000)*/
+{64, 0,123,__LINE__, 0x3fd4c11b, 0x4e0a02ab, 0x3fd51eb8, 0x51eb8533}, /* 0.32428=f(0.33000)*/
+{64, 0,123,__LINE__, 0x3fd55c75, 0xeeb091c2, 0x3fd5c28f, 0x5c28f5d7}, /* 0.33376=f(0.34000)*/
+{64, 0,123,__LINE__, 0x3fd5f757, 0x8a9816e1, 0x3fd66666, 0x6666667b}, /* 0.34322=f(0.35000)*/
+{64, 0,123,__LINE__, 0x3fd691bd, 0xb8217026, 0x3fd70a3d, 0x70a3d71f}, /* 0.35264=f(0.36000)*/
+{64, 0,123,__LINE__, 0x3fd72ba6, 0x22669042, 0x3fd7ae14, 0x7ae147c3}, /* 0.36203=f(0.37000)*/
+{64, 0,123,__LINE__, 0x3fd7c50e, 0x893f7ff1, 0x3fd851eb, 0x851eb867}, /* 0.37140=f(0.38000)*/
+{64, 0,123,__LINE__, 0x3fd85df4, 0xc13fd215, 0x3fd8f5c2, 0x8f5c290b}, /* 0.38073=f(0.39000)*/
+{64, 0,123,__LINE__, 0x3fd8f656, 0xb3acceea, 0x3fd99999, 0x999999af}, /* 0.39003=f(0.40000)*/
+{64, 0,123,__LINE__, 0x3fd98e32, 0x5e6c9e11, 0x3fda3d70, 0xa3d70a53}, /* 0.39930=f(0.41000)*/
+{64, 0,123,__LINE__, 0x3fda2585, 0xd3eeb982, 0x3fdae147, 0xae147af7}, /* 0.40854=f(0.42000)*/
+{64, 0,123,__LINE__, 0x3fdabc4f, 0x3b0df58c, 0x3fdb851e, 0xb851eb9b}, /* 0.41774=f(0.43000)*/
+{64, 0,123,__LINE__, 0x3fdb528c, 0xceec6bac, 0x3fdc28f5, 0xc28f5c3f}, /* 0.42691=f(0.44000)*/
+{64, 0,123,__LINE__, 0x3fdbe83c, 0xdec9974f, 0x3fdccccc, 0xcccccce3}, /* 0.43604=f(0.45000)*/
+{64, 0,123,__LINE__, 0x3fdc7d5d, 0xcdd2f46f, 0x3fdd70a3, 0xd70a3d87}, /* 0.44515=f(0.46000)*/
+{64, 0,123,__LINE__, 0x3fdd11ee, 0x12ef7057, 0x3fde147a, 0xe147ae2b}, /* 0.45421=f(0.47000)*/
+{64, 0,123,__LINE__, 0x3fdda5ec, 0x3885fd36, 0x3fdeb851, 0xeb851ecf}, /* 0.46325=f(0.48000)*/
+{64, 0,123,__LINE__, 0x3fde3956, 0xdc3f98d0, 0x3fdf5c28, 0xf5c28f73}, /* 0.47224=f(0.49000)*/
+{64, 0,123,__LINE__, 0x3fdecc2c, 0xaec5161c, 0x3fe00000, 0x0000000b}, /* 0.48121=f(0.50000)*/
+{64, 0,123,__LINE__, 0x3fdf5e6c, 0x7378f90c, 0x3fe051eb, 0x851eb85d}, /* 0.49013=f(0.51000)*/
+{64, 0,123,__LINE__, 0x3fdff015, 0x002db24d, 0x3fe0a3d7, 0x0a3d70af}, /* 0.49902=f(0.52000)*/
+{64, 0,123,__LINE__, 0x3fe04092, 0x9e6c440a, 0x3fe0f5c2, 0x8f5c2901}, /* 0.50788=f(0.53000)*/
+{64, 0,123,__LINE__, 0x3fe088ce, 0x11a0bb78, 0x3fe147ae, 0x147ae153}, /* 0.51669=f(0.54000)*/
+{64, 0,123,__LINE__, 0x3fe0d0bc, 0x5f582a30, 0x3fe19999, 0x999999a5}, /* 0.52548=f(0.55000)*/
+{64, 0,123,__LINE__, 0x3fe1185d, 0x15cbbd66, 0x3fe1eb85, 0x1eb851f7}, /* 0.53422=f(0.56000)*/
+{64, 0,123,__LINE__, 0x3fe15faf, 0xcb9e2251, 0x3fe23d70, 0xa3d70a49}, /* 0.54293=f(0.57000)*/
+{64, 0,123,__LINE__, 0x3fe1a6b4, 0x1faeccfc, 0x3fe28f5c, 0x28f5c29b}, /* 0.55159=f(0.58000)*/
+{64, 0,123,__LINE__, 0x3fe1ed69, 0xb8ec6901, 0x3fe2e147, 0xae147aed}, /* 0.56023=f(0.59000)*/
+{64, 0,123,__LINE__, 0x3fe233d0, 0x4626939e, 0x3fe33333, 0x3333333f}, /* 0.56882=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3fe279e7, 0x7ddefd54, 0x3fe3851e, 0xb851eb91}, /* 0.57738=f(0.61000)*/
+{64, 0,123,__LINE__, 0x3fe2bfaf, 0x1e1a0ffb, 0x3fe3d70a, 0x3d70a3e3}, /* 0.58589=f(0.62000)*/
+{64, 0,123,__LINE__, 0x3fe30526, 0xec2f3503, 0x3fe428f5, 0xc28f5c35}, /* 0.59437=f(0.63000)*/
+{64, 0,123,__LINE__, 0x3fe34a4e, 0xb498d638, 0x3fe47ae1, 0x47ae1487}, /* 0.60282=f(0.64000)*/
+{64, 0,123,__LINE__, 0x3fe38f26, 0x4ac4321d, 0x3fe4cccc, 0xccccccd9}, /* 0.61122=f(0.65000)*/
+{64, 0,123,__LINE__, 0x3fe3d3ad, 0x88e11ba1, 0x3fe51eb8, 0x51eb852b}, /* 0.61958=f(0.66000)*/
+{64, 0,123,__LINE__, 0x3fe417e4, 0x4fb1bba2, 0x3fe570a3, 0xd70a3d7d}, /* 0.62791=f(0.67000)*/
+{64, 0,123,__LINE__, 0x3fe45bca, 0x865a6973, 0x3fe5c28f, 0x5c28f5cf}, /* 0.63620=f(0.68000)*/
+{64, 0,123,__LINE__, 0x3fe49f60, 0x1a31ae3d, 0x3fe6147a, 0xe147ae21}, /* 0.64445=f(0.69000)*/
+{64, 0,123,__LINE__, 0x3fe4e2a4, 0xfe9085e8, 0x3fe66666, 0x66666673}, /* 0.65266=f(0.70000)*/
+{64, 0,123,__LINE__, 0x3fe52599, 0x2ca2eeee, 0x3fe6b851, 0xeb851ec5}, /* 0.66083=f(0.71000)*/
+{64, 0,123,__LINE__, 0x3fe5683c, 0xa338d94b, 0x3fe70a3d, 0x70a3d717}, /* 0.66897=f(0.72000)*/
+{64, 0,123,__LINE__, 0x3fe5aa8f, 0x6697838f, 0x3fe75c28, 0xf5c28f69}, /* 0.67707=f(0.73000)*/
+{64, 0,123,__LINE__, 0x3fe5ec91, 0x804b53e9, 0x3fe7ae14, 0x7ae147bb}, /* 0.68512=f(0.74000)*/
+{64, 0,123,__LINE__, 0x3fe62e42, 0xfefa39f9, 0x3fe80000, 0x0000000d}, /* 0.69314=f(0.75000)*/
+{64, 0,123,__LINE__, 0x3fe66fa3, 0xf636a508, 0x3fe851eb, 0x851eb85f}, /* 0.70112=f(0.76000)*/
+{64, 0,123,__LINE__, 0x3fe6b0b4, 0x7e53194f, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.70907=f(0.77000)*/
+{64, 0,123,__LINE__, 0x3fe6f174, 0xb4366dff, 0x3fe8f5c2, 0x8f5c2903}, /* 0.71697=f(0.78000)*/
+{64, 0,123,__LINE__, 0x3fe731e4, 0xb930bc95, 0x3fe947ae, 0x147ae155}, /* 0.72484=f(0.79000)*/
+{64, 0,123,__LINE__, 0x3fe77204, 0xb2d1096a, 0x3fe99999, 0x999999a7}, /* 0.73266=f(0.80000)*/
+{64, 0,123,__LINE__, 0x3fe7b1d4, 0xcabbac37, 0x3fe9eb85, 0x1eb851f9}, /* 0.74045=f(0.81000)*/
+{64, 0,123,__LINE__, 0x3fe7f155, 0x2e817eba, 0x3fea3d70, 0xa3d70a4b}, /* 0.74820=f(0.82000)*/
+{64, 0,123,__LINE__, 0x3fe83086, 0x0f77d6a0, 0x3fea8f5c, 0x28f5c29d}, /* 0.75592=f(0.83000)*/
+{64, 0,123,__LINE__, 0x3fe86f67, 0xa2914f53, 0x3feae147, 0xae147aef}, /* 0.76359=f(0.84000)*/
+{64, 0,123,__LINE__, 0x3fe8adfa, 0x2037674b, 0x3feb3333, 0x33333341}, /* 0.77123=f(0.85000)*/
+{64, 0,123,__LINE__, 0x3fe8ec3d, 0xc424f42a, 0x3feb851e, 0xb851eb93}, /* 0.77883=f(0.86000)*/
+{64, 0,123,__LINE__, 0x3fe92a32, 0xcd416ff5, 0x3febd70a, 0x3d70a3e5}, /* 0.78640=f(0.87000)*/
+{64, 0,123,__LINE__, 0x3fe967d9, 0x7d7d2167, 0x3fec28f5, 0xc28f5c37}, /* 0.79392=f(0.88000)*/
+{64, 0,123,__LINE__, 0x3fe9a532, 0x19ae209b, 0x3fec7ae1, 0x47ae1489}, /* 0.80141=f(0.89000)*/
+{64, 0,123,__LINE__, 0x3fe9e23c, 0xe96e38df, 0x3feccccc, 0xccccccdb}, /* 0.80886=f(0.90000)*/
+{64, 0,123,__LINE__, 0x3fea1efa, 0x36f9a800, 0x3fed1eb8, 0x51eb852d}, /* 0.81628=f(0.91000)*/
+{64, 0,123,__LINE__, 0x3fea5b6a, 0x4f0ebae6, 0x3fed70a3, 0xd70a3d7f}, /* 0.82365=f(0.92000)*/
+{64, 0,123,__LINE__, 0x3fea978d, 0x80ce46e8, 0x3fedc28f, 0x5c28f5d1}, /* 0.83100=f(0.93000)*/
+{64, 0,123,__LINE__, 0x3fead364, 0x1d9cfef0, 0x3fee147a, 0xe147ae23}, /* 0.83830=f(0.94000)*/
+{64, 0,123,__LINE__, 0x3feb0eee, 0x7905a306, 0x3fee6666, 0x66666675}, /* 0.84557=f(0.95000)*/
+{64, 0,123,__LINE__, 0x3feb4a2c, 0xe89c08bf, 0x3feeb851, 0xeb851ec7}, /* 0.85280=f(0.96000)*/
+{64, 0,123,__LINE__, 0x3feb851f, 0xc3e0fa73, 0x3fef0a3d, 0x70a3d719}, /* 0.86000=f(0.97000)*/
+{64, 0,123,__LINE__, 0x3febbfc7, 0x6426eb20, 0x3fef5c28, 0xf5c28f6b}, /* 0.86716=f(0.98000)*/
+{64, 0,123,__LINE__, 0x3febfa24, 0x24777c6e, 0x3fefae14, 0x7ae147bd}, /* 0.87428=f(0.99000)*/
+{64, 0,123,__LINE__, 0x3fec3436, 0x6179d430, 0x3ff00000, 0x00000007}, /* 0.88137=f(1.00000)*/
+{64, 0,123,__LINE__, 0x3fec6dfe, 0x7959be70, 0x3ff028f5, 0xc28f5c30}, /* 0.88842=f(1.01000)*/
+{64, 0,123,__LINE__, 0x3feca77c, 0xcbaf98e2, 0x3ff051eb, 0x851eb859}, /* 0.89544=f(1.02000)*/
+{64, 0,123,__LINE__, 0x3fece0b1, 0xb96904aa, 0x3ff07ae1, 0x47ae1482}, /* 0.90242=f(1.03000)*/
+{64, 0,123,__LINE__, 0x3fed199d, 0xa4b25ae3, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.90937=f(1.04000)*/
+{64, 0,123,__LINE__, 0x3fed5240, 0xf0e0e081, 0x3ff0cccc, 0xccccccd4}, /* 0.91629=f(1.05000)*/
+{64, 0,123,__LINE__, 0x3fed8a9c, 0x025db5e9, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.92317=f(1.06000)*/
+{64, 0,123,__LINE__, 0x3fedc2af, 0x3e917e85, 0x3ff11eb8, 0x51eb8526}, /* 0.93001=f(1.07000)*/
+{64, 0,123,__LINE__, 0x3fedfa7b, 0x0bd0bc95, 0x3ff147ae, 0x147ae14f}, /* 0.93682=f(1.08000)*/
+{64, 0,123,__LINE__, 0x3fee31ff, 0xd148dd64, 0x3ff170a3, 0xd70a3d78}, /* 0.94360=f(1.09000)*/
+{64, 0,123,__LINE__, 0x3fee693d, 0xf6edf1f0, 0x3ff19999, 0x999999a1}, /* 0.95034=f(1.10000)*/
+{64, 0,123,__LINE__, 0x3feea035, 0xe5691030, 0x3ff1c28f, 0x5c28f5ca}, /* 0.95705=f(1.11000)*/
+{64, 0,123,__LINE__, 0x3feed6e8, 0x060758ed, 0x3ff1eb85, 0x1eb851f3}, /* 0.96373=f(1.12000)*/
+{64, 0,123,__LINE__, 0x3fef0d54, 0xc2a99e45, 0x3ff2147a, 0xe147ae1c}, /* 0.97037=f(1.13000)*/
+{64, 0,123,__LINE__, 0x3fef437c, 0x85b4a6dc, 0x3ff23d70, 0xa3d70a45}, /* 0.97698=f(1.14000)*/
+{64, 0,123,__LINE__, 0x3fef795f, 0xba0209c4, 0x3ff26666, 0x6666666e}, /* 0.98356=f(1.15000)*/
+{64, 0,123,__LINE__, 0x3fefaefe, 0xcad19f20, 0x3ff28f5c, 0x28f5c297}, /* 0.99011=f(1.16000)*/
+{64, 0,123,__LINE__, 0x3fefe45a, 0x23bb81a4, 0x3ff2b851, 0xeb851ec0}, /* 0.99662=f(1.17000)*/
+{64, 0,123,__LINE__, 0x3ff00cb9, 0x18514e7c, 0x3ff2e147, 0xae147ae9}, /* 1.00310=f(1.18000)*/
+{64, 0,123,__LINE__, 0x3ff02723, 0xaed3e291, 0x3ff30a3d, 0x70a3d712}, /* 1.00955=f(1.19000)*/
+{64, 0,123,__LINE__, 0xc0044c62, 0xa1e4f804, 0xc01921fb, 0x54442d18}, /* -2.53729=f(-6.28318)*/
+{64, 0,123,__LINE__, 0xc002090a, 0x84a43b1b, 0xc012d97c, 0x7f3321d2}, /* -2.25441=f(-4.71238)*/
+{64, 0,123,__LINE__, 0xbffdcbf6, 0x9f10006d, 0xc00921fb, 0x54442d18}, /* -1.86229=f(-3.14159)*/
+{64, 0,123,__LINE__, 0xbff3bc04, 0xe847ec05, 0xbff921fb, 0x54442d18}, /* -1.23340=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{64, 0,123,__LINE__, 0x3ff3bc04, 0xe847ec05, 0x3ff921fb, 0x54442d18}, /* 1.23340=f(1.57079)*/
+{64, 0,123,__LINE__, 0x3ffdcbf6, 0x9f10006d, 0x400921fb, 0x54442d18}, /* 1.86229=f(3.14159)*/
+{64, 0,123,__LINE__, 0x4002090a, 0x84a43b1b, 0x4012d97c, 0x7f3321d2}, /* 2.25441=f(4.71238)*/
+{64, 0,123,__LINE__, 0xc01060e4, 0xa5fbe5ca, 0xc03e0000, 0x00000000}, /* -4.09462=f(-30.0000)*/
+{64, 0,123,__LINE__, 0xc0102531, 0x54812870, 0xc03c4ccc, 0xcccccccd}, /* -4.03632=f(-28.3000)*/
+{64, 0,123,__LINE__, 0xc00fcb98, 0x4685405f, 0xc03a9999, 0x9999999a}, /* -3.97441=f(-26.6000)*/
+{64, 0,123,__LINE__, 0xc00f4470, 0xa29f290c, 0xc038e666, 0x66666667}, /* -3.90841=f(-24.9000)*/
+{64, 0,123,__LINE__, 0xc00eb3bd, 0x68b50b69, 0xc0373333, 0x33333334}, /* -3.83776=f(-23.2000)*/
+{64, 0,123,__LINE__, 0xc00e180b, 0x68a00467, 0xc0358000, 0x00000001}, /* -3.76174=f(-21.5000)*/
+{64, 0,123,__LINE__, 0xc00d6f8b, 0xf981cc3a, 0xc033cccc, 0xccccccce}, /* -3.67946=f(-19.8000)*/
+{64, 0,123,__LINE__, 0xc00cb7f4, 0x416d82e3, 0xc0321999, 0x9999999b}, /* -3.58982=f(-18.1000)*/
+{64, 0,123,__LINE__, 0xc00bee4c, 0x6fb6e99b, 0xc0306666, 0x66666668}, /* -3.49135=f(-16.4000)*/
+{64, 0,123,__LINE__, 0xc00b0ea4, 0x72aedff4, 0xc02d6666, 0x6666666a}, /* -3.38215=f(-14.7000)*/
+{64, 0,123,__LINE__, 0xc00a139a, 0xc6c0b4fc, 0xc02a0000, 0x00000004}, /* -3.25957=f(-13.0000)*/
+{64, 0,123,__LINE__, 0xc008f58f, 0x34777dd3, 0xc0269999, 0x9999999e}, /* -3.11990=f(-11.3000)*/
+{64, 0,123,__LINE__, 0xc007a930, 0x785ee482, 0xc0233333, 0x33333338}, /* -2.95761=f(-9.60000)*/
+{64, 0,123,__LINE__, 0xc0061ca7, 0xc27714a7, 0xc01f9999, 0x999999a3}, /* -2.76399=f(-7.90000)*/
+{64, 0,123,__LINE__, 0xc004316f, 0x09d4ec2c, 0xc018cccc, 0xccccccd6}, /* -2.52413=f(-6.20000)*/
+{64, 0,123,__LINE__, 0xc001acbe, 0x7dcff697, 0xc0120000, 0x00000009}, /* -2.20934=f(-4.50000)*/
+{64, 0,123,__LINE__, 0xbffc0d39, 0xbf8abae7, 0xc0066666, 0x66666678}, /* -1.75322=f(-2.80000)*/
+{64, 0,123,__LINE__, 0xbfee693d, 0xf6edf216, 0xbff19999, 0x999999bd}, /* -0.95034=f(-1.10000)*/
+{64, 0,123,__LINE__, 0x3fe233d0, 0x46269357, 0x3fe33333, 0x333332ec}, /* 0.56882=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3ff91fdc, 0x64de0e42, 0x40026666, 0x66666654}, /* 1.57027=f(2.30000)*/
+{64, 0,123,__LINE__, 0x4000c1f8, 0xa6e80ee7, 0x400fffff, 0xffffffee}, /* 2.09471=f(4.00000)*/
+{64, 0,123,__LINE__, 0x4003879e, 0xb8dfd8bc, 0x4016cccc, 0xccccccc4}, /* 2.44122=f(5.70000)*/
+{64, 0,123,__LINE__, 0x400597e2, 0x0a50c554, 0x401d9999, 0x99999991}, /* 2.69916=f(7.40000)*/
+{64, 0,123,__LINE__, 0x40073c44, 0x35744319, 0x40223333, 0x3333332f}, /* 2.90442=f(9.10000)*/
+{64, 0,123,__LINE__, 0x40089940, 0x5e357d29, 0x40259999, 0x99999995}, /* 3.07483=f(10.8000)*/
+{64, 0,123,__LINE__, 0x4009c386, 0xd2b8b56c, 0x4028ffff, 0xfffffffb}, /* 3.22047=f(12.5000)*/
+{64, 0,123,__LINE__, 0x400ac7f0, 0x7f0f1e89, 0x402c6666, 0x66666661}, /* 3.34762=f(14.2000)*/
+{64, 0,123,__LINE__, 0x400baf02, 0x5af3c784, 0x402fcccc, 0xccccccc7}, /* 3.46045=f(15.9000)*/
+{64, 0,123,__LINE__, 0x400c7eac, 0x5b92cf44, 0x40319999, 0x99999997}, /* 3.56185=f(17.6000)*/
+{64, 0,123,__LINE__, 0x400d3b3b, 0xdb3c5660, 0x40334ccc, 0xccccccca}, /* 3.65392=f(19.3000)*/
+{64, 0,123,__LINE__, 0x400de7e8, 0x4ab59e16, 0x4034ffff, 0xfffffffd}, /* 3.73823=f(21.0000)*/
+{64, 0,123,__LINE__, 0x400e8729, 0x64206f74, 0x4036b333, 0x33333330}, /* 3.81599=f(22.7000)*/
+{64, 0,123,__LINE__, 0x400f1aee, 0x5e1b0559, 0x40386666, 0x66666663}, /* 3.88815=f(24.4000)*/
+{64, 0,123,__LINE__, 0x400fa4c2, 0x9886fc48, 0x403a1999, 0x99999996}, /* 3.95544=f(26.1000)*/
+{64, 0,123,__LINE__, 0x401012f3, 0x5ffa8bd3, 0x403bcccc, 0xccccccc9}, /* 4.01850=f(27.8000)*/
+{64, 0,123,__LINE__, 0x40104fb1, 0x4017a7cb, 0x403d7fff, 0xfffffffc}, /* 4.07782=f(29.5000)*/
+0,};
+test_asinh(m) {run_vector_1(m,asinh_vec,(char *)(asinh),"asinh","dd"); }
diff --git a/newlib/libm/test/asinhf_vec.c b/newlib/libm/test/asinhf_vec.c
new file mode 100644
index 00000000000..d4b85eb928d
--- /dev/null
+++ b/newlib/libm/test/asinhf_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type asinhf_vec[] = {
+{14, 0,123,__LINE__, 0xbff0416d, 0x20000000, 0xbff33333, 0x33333333}, /* -1.01597=f(-1.20000)*/
+{14, 0,123,__LINE__, 0xbff02723, 0xa0000000, 0xbff30a3d, 0x70a3d70a}, /* -1.00955=f(-1.19000)*/
+{14, 0,123,__LINE__, 0xbff00cb9, 0x00000000, 0xbff2e147, 0xae147ae1}, /* -1.00310=f(-1.18000)*/
+{11, 0,123,__LINE__, 0xbfefe45a, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* -0.99662=f(-1.17000)*/
+{11, 0,123,__LINE__, 0xbfefaefe, 0xc0000000, 0xbff28f5c, 0x28f5c28f}, /* -0.99011=f(-1.16000)*/
+{11, 0,123,__LINE__, 0xbfef795f, 0xa0000000, 0xbff26666, 0x66666666}, /* -0.98356=f(-1.15000)*/
+{11, 0,123,__LINE__, 0xbfef437c, 0x80000000, 0xbff23d70, 0xa3d70a3d}, /* -0.97698=f(-1.14000)*/
+{11, 0,123,__LINE__, 0xbfef0d54, 0xc0000000, 0xbff2147a, 0xe147ae14}, /* -0.97037=f(-1.13000)*/
+{11, 0,123,__LINE__, 0xbfeed6e8, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* -0.96373=f(-1.12000)*/
+{11, 0,123,__LINE__, 0xbfeea035, 0xe0000000, 0xbff1c28f, 0x5c28f5c2}, /* -0.95705=f(-1.11000)*/
+{11, 0,123,__LINE__, 0xbfee693d, 0xe0000000, 0xbff19999, 0x99999999}, /* -0.95034=f(-1.10000)*/
+{11, 0,123,__LINE__, 0xbfee31ff, 0xe0000000, 0xbff170a3, 0xd70a3d70}, /* -0.94360=f(-1.09000)*/
+{11, 0,123,__LINE__, 0xbfedfa7b, 0x20000000, 0xbff147ae, 0x147ae147}, /* -0.93682=f(-1.08000)*/
+{11, 0,123,__LINE__, 0xbfedc2af, 0x40000000, 0xbff11eb8, 0x51eb851e}, /* -0.93001=f(-1.07000)*/
+{11, 0,123,__LINE__, 0xbfed8a9b, 0xe0000000, 0xbff0f5c2, 0x8f5c28f5}, /* -0.92317=f(-1.06000)*/
+{11, 0,123,__LINE__, 0xbfed5240, 0xe0000000, 0xbff0cccc, 0xcccccccc}, /* -0.91629=f(-1.05000)*/
+{11, 0,123,__LINE__, 0xbfed199d, 0xa0000000, 0xbff0a3d7, 0x0a3d70a3}, /* -0.90937=f(-1.04000)*/
+{11, 0,123,__LINE__, 0xbfece0b1, 0xa0000000, 0xbff07ae1, 0x47ae147a}, /* -0.90242=f(-1.03000)*/
+{11, 0,123,__LINE__, 0xbfeca77c, 0xc0000000, 0xbff051eb, 0x851eb851}, /* -0.89544=f(-1.02000)*/
+{11, 0,123,__LINE__, 0xbfec6dfe, 0x60000000, 0xbff028f5, 0xc28f5c28}, /* -0.88842=f(-1.01000)*/
+{14, 0,123,__LINE__, 0xbfec3436, 0x60000000, 0xbfefffff, 0xfffffffe}, /* -0.88137=f(-0.01000)*/
+{13, 0,123,__LINE__, 0xbfebfa24, 0x20000000, 0xbfefae14, 0x7ae147ac}, /* -0.87428=f(-0.99000)*/
+{13, 0,123,__LINE__, 0xbfebbfc7, 0x80000000, 0xbfef5c28, 0xf5c28f5a}, /* -0.86716=f(-0.98000)*/
+{13, 0,123,__LINE__, 0xbfeb851f, 0xc0000000, 0xbfef0a3d, 0x70a3d708}, /* -0.86000=f(-0.97000)*/
+{13, 0,123,__LINE__, 0xbfeb4a2c, 0xe0000000, 0xbfeeb851, 0xeb851eb6}, /* -0.85280=f(-0.96000)*/
+{13, 0,123,__LINE__, 0xbfeb0eee, 0x60000000, 0xbfee6666, 0x66666664}, /* -0.84557=f(-0.95000)*/
+{13, 0,123,__LINE__, 0xbfead364, 0x00000000, 0xbfee147a, 0xe147ae12}, /* -0.83830=f(-0.94000)*/
+{13, 0,123,__LINE__, 0xbfea978d, 0x80000000, 0xbfedc28f, 0x5c28f5c0}, /* -0.83100=f(-0.93000)*/
+{13, 0,123,__LINE__, 0xbfea5b6a, 0x40000000, 0xbfed70a3, 0xd70a3d6e}, /* -0.82365=f(-0.92000)*/
+{13, 0,123,__LINE__, 0xbfea1efa, 0x40000000, 0xbfed1eb8, 0x51eb851c}, /* -0.81628=f(-0.91000)*/
+{13, 0,123,__LINE__, 0xbfe9e23c, 0xe0000000, 0xbfeccccc, 0xccccccca}, /* -0.80886=f(-0.90000)*/
+{13, 0,123,__LINE__, 0xbfe9a532, 0x20000000, 0xbfec7ae1, 0x47ae1478}, /* -0.80141=f(-0.89000)*/
+{13, 0,123,__LINE__, 0xbfe967d9, 0x80000000, 0xbfec28f5, 0xc28f5c26}, /* -0.79392=f(-0.88000)*/
+{14, 0,123,__LINE__, 0xbfe92a32, 0xe0000000, 0xbfebd70a, 0x3d70a3d4}, /* -0.78640=f(-0.87000)*/
+{14, 0,123,__LINE__, 0xbfe8ec3d, 0xc0000000, 0xbfeb851e, 0xb851eb82}, /* -0.77883=f(-0.86000)*/
+{14, 0,123,__LINE__, 0xbfe8adfa, 0x20000000, 0xbfeb3333, 0x33333330}, /* -0.77123=f(-0.85000)*/
+{14, 0,123,__LINE__, 0xbfe86f67, 0xa0000000, 0xbfeae147, 0xae147ade}, /* -0.76359=f(-0.84000)*/
+{14, 0,123,__LINE__, 0xbfe83086, 0x00000000, 0xbfea8f5c, 0x28f5c28c}, /* -0.75592=f(-0.83000)*/
+{12, 0,123,__LINE__, 0xbfe7f155, 0x40000000, 0xbfea3d70, 0xa3d70a3a}, /* -0.74820=f(-0.82000)*/
+{12, 0,123,__LINE__, 0xbfe7b1d4, 0xc0000000, 0xbfe9eb85, 0x1eb851e8}, /* -0.74045=f(-0.81000)*/
+{12, 0,123,__LINE__, 0xbfe77204, 0xa0000000, 0xbfe99999, 0x99999996}, /* -0.73266=f(-0.80000)*/
+{12, 0,123,__LINE__, 0xbfe731e4, 0xc0000000, 0xbfe947ae, 0x147ae144}, /* -0.72484=f(-0.79000)*/
+{12, 0,123,__LINE__, 0xbfe6f174, 0xa0000000, 0xbfe8f5c2, 0x8f5c28f2}, /* -0.71697=f(-0.78000)*/
+{12, 0,123,__LINE__, 0xbfe6b0b4, 0x80000000, 0xbfe8a3d7, 0x0a3d70a0}, /* -0.70907=f(-0.77000)*/
+{12, 0,123,__LINE__, 0xbfe66fa3, 0xe0000000, 0xbfe851eb, 0x851eb84e}, /* -0.70112=f(-0.76000)*/
+{15, 0,123,__LINE__, 0xbfe62e43, 0x00000000, 0xbfe7ffff, 0xfffffffc}, /* -0.69314=f(-0.75000)*/
+{14, 0,123,__LINE__, 0xbfe5ec91, 0x80000000, 0xbfe7ae14, 0x7ae147aa}, /* -0.68512=f(-0.74000)*/
+{14, 0,123,__LINE__, 0xbfe5aa8f, 0x60000000, 0xbfe75c28, 0xf5c28f58}, /* -0.67707=f(-0.73000)*/
+{14, 0,123,__LINE__, 0xbfe5683c, 0xa0000000, 0xbfe70a3d, 0x70a3d706}, /* -0.66897=f(-0.72000)*/
+{14, 0,123,__LINE__, 0xbfe52599, 0x20000000, 0xbfe6b851, 0xeb851eb4}, /* -0.66083=f(-0.71000)*/
+{14, 0,123,__LINE__, 0xbfe4e2a5, 0x00000000, 0xbfe66666, 0x66666662}, /* -0.65266=f(-0.70000)*/
+{14, 0,123,__LINE__, 0xbfe49f60, 0x20000000, 0xbfe6147a, 0xe147ae10}, /* -0.64445=f(-0.69000)*/
+{15, 0,123,__LINE__, 0xbfe45bca, 0x80000000, 0xbfe5c28f, 0x5c28f5be}, /* -0.63620=f(-0.68000)*/
+{15, 0,123,__LINE__, 0xbfe417e4, 0x60000000, 0xbfe570a3, 0xd70a3d6c}, /* -0.62791=f(-0.67000)*/
+{13, 0,123,__LINE__, 0xbfe3d3ad, 0xa0000000, 0xbfe51eb8, 0x51eb851a}, /* -0.61958=f(-0.66000)*/
+{13, 0,123,__LINE__, 0xbfe38f26, 0x40000000, 0xbfe4cccc, 0xccccccc8}, /* -0.61122=f(-0.65000)*/
+{13, 0,123,__LINE__, 0xbfe34a4e, 0xa0000000, 0xbfe47ae1, 0x47ae1476}, /* -0.60282=f(-0.64000)*/
+{13, 0,123,__LINE__, 0xbfe30526, 0xe0000000, 0xbfe428f5, 0xc28f5c24}, /* -0.59437=f(-0.63000)*/
+{15, 0,123,__LINE__, 0xbfe2bfaf, 0x20000000, 0xbfe3d70a, 0x3d70a3d2}, /* -0.58589=f(-0.62000)*/
+{15, 0,123,__LINE__, 0xbfe279e7, 0x80000000, 0xbfe3851e, 0xb851eb80}, /* -0.57738=f(-0.61000)*/
+{15, 0,123,__LINE__, 0xbfe233d0, 0x40000000, 0xbfe33333, 0x3333332e}, /* -0.56882=f(-0.60000)*/
+{14, 0,123,__LINE__, 0xbfe1ed69, 0xa0000000, 0xbfe2e147, 0xae147adc}, /* -0.56023=f(-0.59000)*/
+{14, 0,123,__LINE__, 0xbfe1a6b4, 0x20000000, 0xbfe28f5c, 0x28f5c28a}, /* -0.55159=f(-0.58000)*/
+{14, 0,123,__LINE__, 0xbfe15faf, 0xc0000000, 0xbfe23d70, 0xa3d70a38}, /* -0.54293=f(-0.57000)*/
+{16, 0,123,__LINE__, 0xbfe1185d, 0x00000000, 0xbfe1eb85, 0x1eb851e6}, /* -0.53422=f(-0.56000)*/
+{15, 0,123,__LINE__, 0xbfe0d0bc, 0x60000000, 0xbfe19999, 0x99999994}, /* -0.52548=f(-0.55000)*/
+{15, 0,123,__LINE__, 0xbfe088ce, 0x20000000, 0xbfe147ae, 0x147ae142}, /* -0.51669=f(-0.54000)*/
+{16, 0,123,__LINE__, 0xbfe04092, 0xa0000000, 0xbfe0f5c2, 0x8f5c28f0}, /* -0.50788=f(-0.53000)*/
+{10, 0,123,__LINE__, 0xbfdff014, 0xe0000000, 0xbfe0a3d7, 0x0a3d709e}, /* -0.49902=f(-0.52000)*/
+{10, 0,123,__LINE__, 0xbfdf5e6c, 0x80000000, 0xbfe051eb, 0x851eb84c}, /* -0.49013=f(-0.51000)*/
+{10, 0,123,__LINE__, 0xbfdecc2c, 0xc0000000, 0xbfdfffff, 0xfffffff4}, /* -0.48121=f(-0.50000)*/
+{15, 0,123,__LINE__, 0xbfde3956, 0xc0000000, 0xbfdf5c28, 0xf5c28f50}, /* -0.47224=f(-0.49000)*/
+{14, 0,123,__LINE__, 0xbfdda5ec, 0x20000000, 0xbfdeb851, 0xeb851eac}, /* -0.46325=f(-0.48000)*/
+{14, 0,123,__LINE__, 0xbfdd11ee, 0x00000000, 0xbfde147a, 0xe147ae08}, /* -0.45421=f(-0.47000)*/
+{15, 0,123,__LINE__, 0xbfdc7d5d, 0xe0000000, 0xbfdd70a3, 0xd70a3d64}, /* -0.44515=f(-0.46000)*/
+{13, 0,123,__LINE__, 0xbfdbe83c, 0xe0000000, 0xbfdccccc, 0xccccccc0}, /* -0.43604=f(-0.45000)*/
+{13, 0,123,__LINE__, 0xbfdb528c, 0xc0000000, 0xbfdc28f5, 0xc28f5c1c}, /* -0.42691=f(-0.44000)*/
+{15, 0,123,__LINE__, 0xbfdabc4f, 0x40000000, 0xbfdb851e, 0xb851eb78}, /* -0.41774=f(-0.43000)*/
+{16, 0,123,__LINE__, 0xbfda2585, 0xc0000000, 0xbfdae147, 0xae147ad4}, /* -0.40854=f(-0.42000)*/
+{14, 0,123,__LINE__, 0xbfd98e32, 0x60000000, 0xbfda3d70, 0xa3d70a30}, /* -0.39930=f(-0.41000)*/
+{15, 0,123,__LINE__, 0xbfd8f656, 0xc0000000, 0xbfd99999, 0x9999998c}, /* -0.39003=f(-0.40000)*/
+{16, 0,123,__LINE__, 0xbfd85df4, 0xc0000000, 0xbfd8f5c2, 0x8f5c28e8}, /* -0.38073=f(-0.39000)*/
+{12, 0,123,__LINE__, 0xbfd7c50e, 0xa0000000, 0xbfd851eb, 0x851eb844}, /* -0.37140=f(-0.38000)*/
+{16, 0,123,__LINE__, 0xbfd72ba6, 0x20000000, 0xbfd7ae14, 0x7ae147a0}, /* -0.36203=f(-0.37000)*/
+{15, 0,123,__LINE__, 0xbfd691bd, 0xc0000000, 0xbfd70a3d, 0x70a3d6fc}, /* -0.35264=f(-0.36000)*/
+{14, 0,123,__LINE__, 0xbfd5f757, 0x80000000, 0xbfd66666, 0x66666658}, /* -0.34322=f(-0.35000)*/
+{16, 0,123,__LINE__, 0xbfd55c76, 0x00000000, 0xbfd5c28f, 0x5c28f5b4}, /* -0.33376=f(-0.34000)*/
+{15, 0,123,__LINE__, 0xbfd4c11b, 0x60000000, 0xbfd51eb8, 0x51eb8510}, /* -0.32428=f(-0.33000)*/
+{17, 0,123,__LINE__, 0xbfd4254a, 0x20000000, 0xbfd47ae1, 0x47ae146c}, /* -0.31477=f(-0.32000)*/
+{17, 0,123,__LINE__, 0xbfd38905, 0x20000000, 0xbfd3d70a, 0x3d70a3c8}, /* -0.30523=f(-0.31000)*/
+{15, 0,123,__LINE__, 0xbfd2ec4e, 0xc0000000, 0xbfd33333, 0x33333324}, /* -0.29567=f(-0.30000)*/
+{16, 0,123,__LINE__, 0xbfd24f29, 0xa0000000, 0xbfd28f5c, 0x28f5c280}, /* -0.28608=f(-0.29000)*/
+{17, 0,123,__LINE__, 0xbfd1b199, 0x00000000, 0xbfd1eb85, 0x1eb851dc}, /* -0.27646=f(-0.28000)*/
+{17, 0,123,__LINE__, 0xbfd1139f, 0x60000000, 0xbfd147ae, 0x147ae138}, /* -0.26682=f(-0.27000)*/
+{16, 0,123,__LINE__, 0xbfd0753f, 0xe0000000, 0xbfd0a3d7, 0x0a3d7094}, /* -0.25715=f(-0.26000)*/
+{11, 0,123,__LINE__, 0xbfcfacfb, 0x20000000, 0xbfcfffff, 0xffffffe0}, /* -0.24746=f(-0.25000)*/
+{16, 0,123,__LINE__, 0xbfce6eb6, 0xe0000000, 0xbfceb851, 0xeb851e98}, /* -0.23775=f(-0.24000)*/
+{17, 0,123,__LINE__, 0xbfcd2fb9, 0xc0000000, 0xbfcd70a3, 0xd70a3d50}, /* -0.22801=f(-0.23000)*/
+{13, 0,123,__LINE__, 0xbfcbf009, 0xe0000000, 0xbfcc28f5, 0xc28f5c08}, /* -0.21826=f(-0.22000)*/
+{17, 0,123,__LINE__, 0xbfcaafae, 0x40000000, 0xbfcae147, 0xae147ac0}, /* -0.20848=f(-0.21000)*/
+{16, 0,123,__LINE__, 0xbfc96ead, 0x60000000, 0xbfc99999, 0x99999978}, /* -0.19869=f(-0.20000)*/
+{17, 0,123,__LINE__, 0xbfc82d0e, 0x80000000, 0xbfc851eb, 0x851eb830}, /* -0.18887=f(-0.19000)*/
+{15, 0,123,__LINE__, 0xbfc6ead8, 0x60000000, 0xbfc70a3d, 0x70a3d6e8}, /* -0.17904=f(-0.18000)*/
+{17, 0,123,__LINE__, 0xbfc5a812, 0x40000000, 0xbfc5c28f, 0x5c28f5a0}, /* -0.16919=f(-0.17000)*/
+{19, 0,123,__LINE__, 0xbfc464c3, 0xa0000000, 0xbfc47ae1, 0x47ae1458}, /* -0.15932=f(-0.16000)*/
+{19, 0,123,__LINE__, 0xbfc320f3, 0xc0000000, 0xbfc33333, 0x33333310}, /* -0.14944=f(-0.15000)*/
+{18, 0,123,__LINE__, 0xbfc1dcaa, 0x40000000, 0xbfc1eb85, 0x1eb851c8}, /* -0.13954=f(-0.14000)*/
+{18, 0,123,__LINE__, 0xbfc097ee, 0x80000000, 0xbfc0a3d7, 0x0a3d7080}, /* -0.12963=f(-0.13000)*/
+{19, 0,123,__LINE__, 0xbfbea591, 0x00000000, 0xbfbeb851, 0xeb851e71}, /* -0.11971=f(-0.12000)*/
+{18, 0,123,__LINE__, 0xbfbc1a80, 0x20000000, 0xbfbc28f5, 0xc28f5be2}, /* -0.10977=f(-0.11000)*/
+{19, 0,123,__LINE__, 0xbfb98eb9, 0xe0000000, 0xbfb99999, 0x99999953}, /* -0.09983=f(-0.00100)*/
+{20, 0,123,__LINE__, 0xbfb7024e, 0x80000000, 0xbfb70a3d, 0x70a3d6c4}, /* -0.08987=f(-0.09000)*/
+{20, 0,123,__LINE__, 0xbfb4754d, 0xc0000000, 0xbfb47ae1, 0x47ae1435}, /* -0.07991=f(-0.08000)*/
+{20, 0,123,__LINE__, 0xbfb1e7c8, 0x20000000, 0xbfb1eb85, 0x1eb851a6}, /* -0.06994=f(-0.07000)*/
+{20, 0,123,__LINE__, 0xbfaeb39b, 0xe0000000, 0xbfaeb851, 0xeb851e2d}, /* -0.05996=f(-0.06000)*/
+{20, 0,123,__LINE__, 0xbfa996df, 0x60000000, 0xbfa99999, 0x9999990e}, /* -0.04997=f(-0.05000)*/
+{22, 0,123,__LINE__, 0xbfa4797b, 0xa0000000, 0xbfa47ae1, 0x47ae13ef}, /* -0.03998=f(-0.04000)*/
+{20, 0,123,__LINE__, 0xbf9eb724, 0x00000000, 0xbf9eb851, 0xeb851da0}, /* -0.02999=f(-0.03000)*/
+{25, 0,123,__LINE__, 0xbf947a87, 0xc0000000, 0xbf947ae1, 0x47ae1362}, /* -0.01999=f(-0.02000)*/
+{26, 0,123,__LINE__, 0xbf847aca, 0xe0000000, 0xbf847ae1, 0x47ae1249}, /* -0.00999=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x3cd19000, 0x00000000, 0x3cd19000, 0x00000000}, /* 9.74915e-16=f(9.74915e-16)*/
+{26, 0,123,__LINE__, 0x3f847aca, 0xe0000000, 0x3f847ae1, 0x47ae16ad}, /* 0.00999=f(0.01000)*/
+{25, 0,123,__LINE__, 0x3f947a87, 0xc0000000, 0x3f947ae1, 0x47ae1594}, /* 0.01999=f(0.02000)*/
+{20, 0,123,__LINE__, 0x3f9eb724, 0x00000000, 0x3f9eb851, 0xeb851fd2}, /* 0.02999=f(0.03000)*/
+{22, 0,123,__LINE__, 0x3fa4797b, 0xa0000000, 0x3fa47ae1, 0x47ae1508}, /* 0.03998=f(0.04000)*/
+{20, 0,123,__LINE__, 0x3fa996df, 0x60000000, 0x3fa99999, 0x99999a27}, /* 0.04997=f(0.05000)*/
+{20, 0,123,__LINE__, 0x3faeb39b, 0xe0000000, 0x3faeb851, 0xeb851f46}, /* 0.05996=f(0.06000)*/
+{20, 0,123,__LINE__, 0x3fb1e7c8, 0x20000000, 0x3fb1eb85, 0x1eb85232}, /* 0.06994=f(0.07000)*/
+{20, 0,123,__LINE__, 0x3fb4754d, 0xc0000000, 0x3fb47ae1, 0x47ae14c1}, /* 0.07991=f(0.08000)*/
+{20, 0,123,__LINE__, 0x3fb7024e, 0x80000000, 0x3fb70a3d, 0x70a3d750}, /* 0.08987=f(0.09000)*/
+{19, 0,123,__LINE__, 0x3fb98eb9, 0xe0000000, 0x3fb99999, 0x999999df}, /* 0.09983=f(0.10000)*/
+{18, 0,123,__LINE__, 0x3fbc1a80, 0x20000000, 0x3fbc28f5, 0xc28f5c6e}, /* 0.10977=f(0.11000)*/
+{19, 0,123,__LINE__, 0x3fbea591, 0x00000000, 0x3fbeb851, 0xeb851efd}, /* 0.11971=f(0.12000)*/
+{18, 0,123,__LINE__, 0x3fc097ee, 0x80000000, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.12963=f(0.13000)*/
+{18, 0,123,__LINE__, 0x3fc1dcaa, 0x40000000, 0x3fc1eb85, 0x1eb8520e}, /* 0.13954=f(0.14000)*/
+{19, 0,123,__LINE__, 0x3fc320f3, 0xc0000000, 0x3fc33333, 0x33333356}, /* 0.14944=f(0.15000)*/
+{19, 0,123,__LINE__, 0x3fc464c3, 0xa0000000, 0x3fc47ae1, 0x47ae149e}, /* 0.15932=f(0.16000)*/
+{17, 0,123,__LINE__, 0x3fc5a812, 0x40000000, 0x3fc5c28f, 0x5c28f5e6}, /* 0.16919=f(0.17000)*/
+{15, 0,123,__LINE__, 0x3fc6ead8, 0x60000000, 0x3fc70a3d, 0x70a3d72e}, /* 0.17904=f(0.18000)*/
+{17, 0,123,__LINE__, 0x3fc82d0e, 0x80000000, 0x3fc851eb, 0x851eb876}, /* 0.18887=f(0.19000)*/
+{16, 0,123,__LINE__, 0x3fc96ead, 0x60000000, 0x3fc99999, 0x999999be}, /* 0.19869=f(0.20000)*/
+{17, 0,123,__LINE__, 0x3fcaafae, 0x40000000, 0x3fcae147, 0xae147b06}, /* 0.20848=f(0.21000)*/
+{13, 0,123,__LINE__, 0x3fcbf009, 0xe0000000, 0x3fcc28f5, 0xc28f5c4e}, /* 0.21826=f(0.22000)*/
+{17, 0,123,__LINE__, 0x3fcd2fb9, 0xc0000000, 0x3fcd70a3, 0xd70a3d96}, /* 0.22801=f(0.23000)*/
+{16, 0,123,__LINE__, 0x3fce6eb6, 0xe0000000, 0x3fceb851, 0xeb851ede}, /* 0.23775=f(0.24000)*/
+{11, 0,123,__LINE__, 0x3fcfacfb, 0x20000000, 0x3fd00000, 0x00000013}, /* 0.24746=f(0.25000)*/
+{16, 0,123,__LINE__, 0x3fd0753f, 0xe0000000, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.25715=f(0.26000)*/
+{17, 0,123,__LINE__, 0x3fd1139f, 0x60000000, 0x3fd147ae, 0x147ae15b}, /* 0.26682=f(0.27000)*/
+{17, 0,123,__LINE__, 0x3fd1b199, 0x00000000, 0x3fd1eb85, 0x1eb851ff}, /* 0.27646=f(0.28000)*/
+{16, 0,123,__LINE__, 0x3fd24f29, 0xa0000000, 0x3fd28f5c, 0x28f5c2a3}, /* 0.28608=f(0.29000)*/
+{15, 0,123,__LINE__, 0x3fd2ec4e, 0xc0000000, 0x3fd33333, 0x33333347}, /* 0.29567=f(0.30000)*/
+{17, 0,123,__LINE__, 0x3fd38905, 0x20000000, 0x3fd3d70a, 0x3d70a3eb}, /* 0.30523=f(0.31000)*/
+{17, 0,123,__LINE__, 0x3fd4254a, 0x20000000, 0x3fd47ae1, 0x47ae148f}, /* 0.31477=f(0.32000)*/
+{15, 0,123,__LINE__, 0x3fd4c11b, 0x60000000, 0x3fd51eb8, 0x51eb8533}, /* 0.32428=f(0.33000)*/
+{16, 0,123,__LINE__, 0x3fd55c76, 0x00000000, 0x3fd5c28f, 0x5c28f5d7}, /* 0.33376=f(0.34000)*/
+{14, 0,123,__LINE__, 0x3fd5f757, 0x80000000, 0x3fd66666, 0x6666667b}, /* 0.34322=f(0.35000)*/
+{15, 0,123,__LINE__, 0x3fd691bd, 0xc0000000, 0x3fd70a3d, 0x70a3d71f}, /* 0.35264=f(0.36000)*/
+{16, 0,123,__LINE__, 0x3fd72ba6, 0x20000000, 0x3fd7ae14, 0x7ae147c3}, /* 0.36203=f(0.37000)*/
+{12, 0,123,__LINE__, 0x3fd7c50e, 0xa0000000, 0x3fd851eb, 0x851eb867}, /* 0.37140=f(0.38000)*/
+{16, 0,123,__LINE__, 0x3fd85df4, 0xc0000000, 0x3fd8f5c2, 0x8f5c290b}, /* 0.38073=f(0.39000)*/
+{15, 0,123,__LINE__, 0x3fd8f656, 0xc0000000, 0x3fd99999, 0x999999af}, /* 0.39003=f(0.40000)*/
+{14, 0,123,__LINE__, 0x3fd98e32, 0x60000000, 0x3fda3d70, 0xa3d70a53}, /* 0.39930=f(0.41000)*/
+{16, 0,123,__LINE__, 0x3fda2585, 0xc0000000, 0x3fdae147, 0xae147af7}, /* 0.40854=f(0.42000)*/
+{15, 0,123,__LINE__, 0x3fdabc4f, 0x40000000, 0x3fdb851e, 0xb851eb9b}, /* 0.41774=f(0.43000)*/
+{13, 0,123,__LINE__, 0x3fdb528c, 0xc0000000, 0x3fdc28f5, 0xc28f5c3f}, /* 0.42691=f(0.44000)*/
+{13, 0,123,__LINE__, 0x3fdbe83c, 0xe0000000, 0x3fdccccc, 0xcccccce3}, /* 0.43604=f(0.45000)*/
+{15, 0,123,__LINE__, 0x3fdc7d5d, 0xe0000000, 0x3fdd70a3, 0xd70a3d87}, /* 0.44515=f(0.46000)*/
+{14, 0,123,__LINE__, 0x3fdd11ee, 0x00000000, 0x3fde147a, 0xe147ae2b}, /* 0.45421=f(0.47000)*/
+{14, 0,123,__LINE__, 0x3fdda5ec, 0x20000000, 0x3fdeb851, 0xeb851ecf}, /* 0.46325=f(0.48000)*/
+{15, 0,123,__LINE__, 0x3fde3956, 0xc0000000, 0x3fdf5c28, 0xf5c28f73}, /* 0.47224=f(0.49000)*/
+{10, 0,123,__LINE__, 0x3fdecc2c, 0xc0000000, 0x3fe00000, 0x0000000b}, /* 0.48121=f(0.50000)*/
+{10, 0,123,__LINE__, 0x3fdf5e6c, 0x80000000, 0x3fe051eb, 0x851eb85d}, /* 0.49013=f(0.51000)*/
+{10, 0,123,__LINE__, 0x3fdff014, 0xe0000000, 0x3fe0a3d7, 0x0a3d70af}, /* 0.49902=f(0.52000)*/
+{16, 0,123,__LINE__, 0x3fe04092, 0xa0000000, 0x3fe0f5c2, 0x8f5c2901}, /* 0.50788=f(0.53000)*/
+{15, 0,123,__LINE__, 0x3fe088ce, 0x20000000, 0x3fe147ae, 0x147ae153}, /* 0.51669=f(0.54000)*/
+{15, 0,123,__LINE__, 0x3fe0d0bc, 0x60000000, 0x3fe19999, 0x999999a5}, /* 0.52548=f(0.55000)*/
+{16, 0,123,__LINE__, 0x3fe1185d, 0x00000000, 0x3fe1eb85, 0x1eb851f7}, /* 0.53422=f(0.56000)*/
+{14, 0,123,__LINE__, 0x3fe15faf, 0xc0000000, 0x3fe23d70, 0xa3d70a49}, /* 0.54293=f(0.57000)*/
+{14, 0,123,__LINE__, 0x3fe1a6b4, 0x20000000, 0x3fe28f5c, 0x28f5c29b}, /* 0.55159=f(0.58000)*/
+{14, 0,123,__LINE__, 0x3fe1ed69, 0xa0000000, 0x3fe2e147, 0xae147aed}, /* 0.56023=f(0.59000)*/
+{15, 0,123,__LINE__, 0x3fe233d0, 0x40000000, 0x3fe33333, 0x3333333f}, /* 0.56882=f(0.60000)*/
+{15, 0,123,__LINE__, 0x3fe279e7, 0x80000000, 0x3fe3851e, 0xb851eb91}, /* 0.57738=f(0.61000)*/
+{15, 0,123,__LINE__, 0x3fe2bfaf, 0x20000000, 0x3fe3d70a, 0x3d70a3e3}, /* 0.58589=f(0.62000)*/
+{13, 0,123,__LINE__, 0x3fe30526, 0xe0000000, 0x3fe428f5, 0xc28f5c35}, /* 0.59437=f(0.63000)*/
+{13, 0,123,__LINE__, 0x3fe34a4e, 0xa0000000, 0x3fe47ae1, 0x47ae1487}, /* 0.60282=f(0.64000)*/
+{13, 0,123,__LINE__, 0x3fe38f26, 0x40000000, 0x3fe4cccc, 0xccccccd9}, /* 0.61122=f(0.65000)*/
+{13, 0,123,__LINE__, 0x3fe3d3ad, 0xa0000000, 0x3fe51eb8, 0x51eb852b}, /* 0.61958=f(0.66000)*/
+{15, 0,123,__LINE__, 0x3fe417e4, 0x60000000, 0x3fe570a3, 0xd70a3d7d}, /* 0.62791=f(0.67000)*/
+{15, 0,123,__LINE__, 0x3fe45bca, 0x80000000, 0x3fe5c28f, 0x5c28f5cf}, /* 0.63620=f(0.68000)*/
+{14, 0,123,__LINE__, 0x3fe49f60, 0x20000000, 0x3fe6147a, 0xe147ae21}, /* 0.64445=f(0.69000)*/
+{14, 0,123,__LINE__, 0x3fe4e2a5, 0x00000000, 0x3fe66666, 0x66666673}, /* 0.65266=f(0.70000)*/
+{14, 0,123,__LINE__, 0x3fe52599, 0x20000000, 0x3fe6b851, 0xeb851ec5}, /* 0.66083=f(0.71000)*/
+{14, 0,123,__LINE__, 0x3fe5683c, 0xa0000000, 0x3fe70a3d, 0x70a3d717}, /* 0.66897=f(0.72000)*/
+{14, 0,123,__LINE__, 0x3fe5aa8f, 0x60000000, 0x3fe75c28, 0xf5c28f69}, /* 0.67707=f(0.73000)*/
+{14, 0,123,__LINE__, 0x3fe5ec91, 0x80000000, 0x3fe7ae14, 0x7ae147bb}, /* 0.68512=f(0.74000)*/
+{15, 0,123,__LINE__, 0x3fe62e43, 0x00000000, 0x3fe80000, 0x0000000d}, /* 0.69314=f(0.75000)*/
+{12, 0,123,__LINE__, 0x3fe66fa3, 0xe0000000, 0x3fe851eb, 0x851eb85f}, /* 0.70112=f(0.76000)*/
+{12, 0,123,__LINE__, 0x3fe6b0b4, 0x80000000, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.70907=f(0.77000)*/
+{12, 0,123,__LINE__, 0x3fe6f174, 0xa0000000, 0x3fe8f5c2, 0x8f5c2903}, /* 0.71697=f(0.78000)*/
+{12, 0,123,__LINE__, 0x3fe731e4, 0xc0000000, 0x3fe947ae, 0x147ae155}, /* 0.72484=f(0.79000)*/
+{12, 0,123,__LINE__, 0x3fe77204, 0xa0000000, 0x3fe99999, 0x999999a7}, /* 0.73266=f(0.80000)*/
+{12, 0,123,__LINE__, 0x3fe7b1d4, 0xc0000000, 0x3fe9eb85, 0x1eb851f9}, /* 0.74045=f(0.81000)*/
+{12, 0,123,__LINE__, 0x3fe7f155, 0x40000000, 0x3fea3d70, 0xa3d70a4b}, /* 0.74820=f(0.82000)*/
+{14, 0,123,__LINE__, 0x3fe83086, 0x00000000, 0x3fea8f5c, 0x28f5c29d}, /* 0.75592=f(0.83000)*/
+{14, 0,123,__LINE__, 0x3fe86f67, 0xa0000000, 0x3feae147, 0xae147aef}, /* 0.76359=f(0.84000)*/
+{14, 0,123,__LINE__, 0x3fe8adfa, 0x20000000, 0x3feb3333, 0x33333341}, /* 0.77123=f(0.85000)*/
+{14, 0,123,__LINE__, 0x3fe8ec3d, 0xc0000000, 0x3feb851e, 0xb851eb93}, /* 0.77883=f(0.86000)*/
+{14, 0,123,__LINE__, 0x3fe92a32, 0xe0000000, 0x3febd70a, 0x3d70a3e5}, /* 0.78640=f(0.87000)*/
+{13, 0,123,__LINE__, 0x3fe967d9, 0x80000000, 0x3fec28f5, 0xc28f5c37}, /* 0.79392=f(0.88000)*/
+{13, 0,123,__LINE__, 0x3fe9a532, 0x20000000, 0x3fec7ae1, 0x47ae1489}, /* 0.80141=f(0.89000)*/
+{13, 0,123,__LINE__, 0x3fe9e23c, 0xe0000000, 0x3feccccc, 0xccccccdb}, /* 0.80886=f(0.90000)*/
+{13, 0,123,__LINE__, 0x3fea1efa, 0x40000000, 0x3fed1eb8, 0x51eb852d}, /* 0.81628=f(0.91000)*/
+{13, 0,123,__LINE__, 0x3fea5b6a, 0x40000000, 0x3fed70a3, 0xd70a3d7f}, /* 0.82365=f(0.92000)*/
+{13, 0,123,__LINE__, 0x3fea978d, 0x80000000, 0x3fedc28f, 0x5c28f5d1}, /* 0.83100=f(0.93000)*/
+{13, 0,123,__LINE__, 0x3fead364, 0x00000000, 0x3fee147a, 0xe147ae23}, /* 0.83830=f(0.94000)*/
+{13, 0,123,__LINE__, 0x3feb0eee, 0x60000000, 0x3fee6666, 0x66666675}, /* 0.84557=f(0.95000)*/
+{13, 0,123,__LINE__, 0x3feb4a2c, 0xe0000000, 0x3feeb851, 0xeb851ec7}, /* 0.85280=f(0.96000)*/
+{13, 0,123,__LINE__, 0x3feb851f, 0xc0000000, 0x3fef0a3d, 0x70a3d719}, /* 0.86000=f(0.97000)*/
+{13, 0,123,__LINE__, 0x3febbfc7, 0x80000000, 0x3fef5c28, 0xf5c28f6b}, /* 0.86716=f(0.98000)*/
+{13, 0,123,__LINE__, 0x3febfa24, 0x20000000, 0x3fefae14, 0x7ae147bd}, /* 0.87428=f(0.99000)*/
+{14, 0,123,__LINE__, 0x3fec3436, 0x60000000, 0x3ff00000, 0x00000007}, /* 0.88137=f(1.00000)*/
+{11, 0,123,__LINE__, 0x3fec6dfe, 0x60000000, 0x3ff028f5, 0xc28f5c30}, /* 0.88842=f(1.01000)*/
+{11, 0,123,__LINE__, 0x3feca77c, 0xc0000000, 0x3ff051eb, 0x851eb859}, /* 0.89544=f(1.02000)*/
+{11, 0,123,__LINE__, 0x3fece0b1, 0xa0000000, 0x3ff07ae1, 0x47ae1482}, /* 0.90242=f(1.03000)*/
+{11, 0,123,__LINE__, 0x3fed199d, 0xa0000000, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.90937=f(1.04000)*/
+{11, 0,123,__LINE__, 0x3fed5240, 0xe0000000, 0x3ff0cccc, 0xccccccd4}, /* 0.91629=f(1.05000)*/
+{11, 0,123,__LINE__, 0x3fed8a9b, 0xe0000000, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.92317=f(1.06000)*/
+{11, 0,123,__LINE__, 0x3fedc2af, 0x40000000, 0x3ff11eb8, 0x51eb8526}, /* 0.93001=f(1.07000)*/
+{11, 0,123,__LINE__, 0x3fedfa7b, 0x20000000, 0x3ff147ae, 0x147ae14f}, /* 0.93682=f(1.08000)*/
+{11, 0,123,__LINE__, 0x3fee31ff, 0xe0000000, 0x3ff170a3, 0xd70a3d78}, /* 0.94360=f(1.09000)*/
+{11, 0,123,__LINE__, 0x3fee693d, 0xe0000000, 0x3ff19999, 0x999999a1}, /* 0.95034=f(1.10000)*/
+{11, 0,123,__LINE__, 0x3feea035, 0xe0000000, 0x3ff1c28f, 0x5c28f5ca}, /* 0.95705=f(1.11000)*/
+{11, 0,123,__LINE__, 0x3feed6e8, 0x00000000, 0x3ff1eb85, 0x1eb851f3}, /* 0.96373=f(1.12000)*/
+{11, 0,123,__LINE__, 0x3fef0d54, 0xc0000000, 0x3ff2147a, 0xe147ae1c}, /* 0.97037=f(1.13000)*/
+{11, 0,123,__LINE__, 0x3fef437c, 0x80000000, 0x3ff23d70, 0xa3d70a45}, /* 0.97698=f(1.14000)*/
+{11, 0,123,__LINE__, 0x3fef795f, 0xa0000000, 0x3ff26666, 0x6666666e}, /* 0.98356=f(1.15000)*/
+{11, 0,123,__LINE__, 0x3fefaefe, 0xc0000000, 0x3ff28f5c, 0x28f5c297}, /* 0.99011=f(1.16000)*/
+{11, 0,123,__LINE__, 0x3fefe45a, 0x00000000, 0x3ff2b851, 0xeb851ec0}, /* 0.99662=f(1.17000)*/
+{14, 0,123,__LINE__, 0x3ff00cb9, 0x00000000, 0x3ff2e147, 0xae147ae9}, /* 1.00310=f(1.18000)*/
+{14, 0,123,__LINE__, 0x3ff02723, 0xa0000000, 0x3ff30a3d, 0x70a3d712}, /* 1.00955=f(1.19000)*/
+{16, 0,123,__LINE__, 0xc0044c62, 0xa0000000, 0xc01921fb, 0x54442d18}, /* -2.53729=f(-6.28318)*/
+{15, 0,123,__LINE__, 0xc002090a, 0x80000000, 0xc012d97c, 0x7f3321d2}, /* -2.25441=f(-4.71238)*/
+{ 1, 0,123,__LINE__, 0xbffdcbf6, 0xa0000000, 0xc00921fb, 0x54442d18}, /* -1.86229=f(-3.14159)*/
+{12, 0,123,__LINE__, 0xbff3bc04, 0xe0000000, 0xbff921fb, 0x54442d18}, /* -1.23340=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{12, 0,123,__LINE__, 0x3ff3bc04, 0xe0000000, 0x3ff921fb, 0x54442d18}, /* 1.23340=f(1.57079)*/
+{ 1, 0,123,__LINE__, 0x3ffdcbf6, 0xa0000000, 0x400921fb, 0x54442d18}, /* 1.86229=f(3.14159)*/
+{15, 0,123,__LINE__, 0x4002090a, 0x80000000, 0x4012d97c, 0x7f3321d2}, /* 2.25441=f(4.71238)*/
+{11, 0,123,__LINE__, 0xc01060e4, 0xa0000000, 0xc03e0000, 0x00000000}, /* -4.09462=f(-30.0000)*/
+{11, 0,123,__LINE__, 0xc0102531, 0x60000000, 0xc03c4ccc, 0xcccccccd}, /* -4.03632=f(-28.3000)*/
+{12, 0,123,__LINE__, 0xc00fcb98, 0x40000000, 0xc03a9999, 0x9999999a}, /* -3.97441=f(-26.6000)*/
+{12, 0,123,__LINE__, 0xc00f4470, 0xa0000000, 0xc038e666, 0x66666667}, /* -3.90841=f(-24.9000)*/
+{12, 0,123,__LINE__, 0xc00eb3bd, 0x60000000, 0xc0373333, 0x33333334}, /* -3.83776=f(-23.2000)*/
+{12, 0,123,__LINE__, 0xc00e180b, 0x60000000, 0xc0358000, 0x00000001}, /* -3.76174=f(-21.5000)*/
+{12, 0,123,__LINE__, 0xc00d6f8b, 0xe0000000, 0xc033cccc, 0xccccccce}, /* -3.67946=f(-19.8000)*/
+{12, 0,123,__LINE__, 0xc00cb7f4, 0x40000000, 0xc0321999, 0x9999999b}, /* -3.58982=f(-18.1000)*/
+{12, 0,123,__LINE__, 0xc00bee4c, 0x80000000, 0xc0306666, 0x66666668}, /* -3.49135=f(-16.4000)*/
+{12, 0,123,__LINE__, 0xc00b0ea4, 0x60000000, 0xc02d6666, 0x6666666a}, /* -3.38214=f(-14.7000)*/
+{12, 0,123,__LINE__, 0xc00a139a, 0xc0000000, 0xc02a0000, 0x00000004}, /* -3.25957=f(-13.0000)*/
+{12, 0,123,__LINE__, 0xc008f58f, 0x40000000, 0xc0269999, 0x9999999e}, /* -3.11990=f(-11.3000)*/
+{14, 0,123,__LINE__, 0xc007a930, 0x80000000, 0xc0233333, 0x33333338}, /* -2.95761=f(-9.60000)*/
+{14, 0,123,__LINE__, 0xc0061ca7, 0xc0000000, 0xc01f9999, 0x999999a3}, /* -2.76399=f(-7.90000)*/
+{16, 0,123,__LINE__, 0xc004316f, 0x00000000, 0xc018cccc, 0xccccccd6}, /* -2.52413=f(-6.20000)*/
+{14, 0,123,__LINE__, 0xc001acbe, 0x80000000, 0xc0120000, 0x00000009}, /* -2.20934=f(-4.50000)*/
+{ 1, 0,123,__LINE__, 0xbffc0d39, 0xa0000000, 0xc0066666, 0x66666678}, /* -1.75322=f(-2.80000)*/
+{11, 0,123,__LINE__, 0xbfee693d, 0xe0000000, 0xbff19999, 0x999999bd}, /* -0.95034=f(-1.10000)*/
+{15, 0,123,__LINE__, 0x3fe233d0, 0x40000000, 0x3fe33333, 0x333332ec}, /* 0.56882=f(0.60000)*/
+{ 1, 0,123,__LINE__, 0x3ff91fdc, 0x60000000, 0x40026666, 0x66666654}, /* 1.57027=f(2.30000)*/
+{14, 0,123,__LINE__, 0x4000c1f8, 0xa0000000, 0x400fffff, 0xffffffee}, /* 2.09471=f(4.00000)*/
+{13, 0,123,__LINE__, 0x4003879e, 0xc0000000, 0x4016cccc, 0xccccccc4}, /* 2.44122=f(5.70000)*/
+{15, 0,123,__LINE__, 0x400597e2, 0x00000000, 0x401d9999, 0x99999991}, /* 2.69916=f(7.40000)*/
+{14, 0,123,__LINE__, 0x40073c44, 0x40000000, 0x40223333, 0x3333332f}, /* 2.90442=f(9.10000)*/
+{12, 0,123,__LINE__, 0x40089940, 0x60000000, 0x40259999, 0x99999995}, /* 3.07483=f(10.8000)*/
+{12, 0,123,__LINE__, 0x4009c386, 0xe0000000, 0x4028ffff, 0xfffffffb}, /* 3.22047=f(12.5000)*/
+{12, 0,123,__LINE__, 0x400ac7f0, 0x80000000, 0x402c6666, 0x66666661}, /* 3.34762=f(14.2000)*/
+{12, 0,123,__LINE__, 0x400baf02, 0x60000000, 0x402fcccc, 0xccccccc7}, /* 3.46045=f(15.9000)*/
+{12, 0,123,__LINE__, 0x400c7eac, 0x60000000, 0x40319999, 0x99999997}, /* 3.56185=f(17.6000)*/
+{12, 0,123,__LINE__, 0x400d3b3b, 0xe0000000, 0x40334ccc, 0xccccccca}, /* 3.65392=f(19.3000)*/
+{12, 0,123,__LINE__, 0x400de7e8, 0x40000000, 0x4034ffff, 0xfffffffd}, /* 3.73823=f(21.0000)*/
+{12, 0,123,__LINE__, 0x400e8729, 0x60000000, 0x4036b333, 0x33333330}, /* 3.81599=f(22.7000)*/
+{12, 0,123,__LINE__, 0x400f1aee, 0x60000000, 0x40386666, 0x66666663}, /* 3.88815=f(24.4000)*/
+{12, 0,123,__LINE__, 0x400fa4c2, 0xa0000000, 0x403a1999, 0x99999996}, /* 3.95544=f(26.1000)*/
+{11, 0,123,__LINE__, 0x401012f3, 0x60000000, 0x403bcccc, 0xccccccc9}, /* 4.01850=f(27.8000)*/
+{11, 0,123,__LINE__, 0x40104fb1, 0x40000000, 0x403d7fff, 0xfffffffc}, /* 4.07782=f(29.5000)*/
+0,};
+test_asinhf(m) {run_vector_1(m,asinhf_vec,(char *)(asinhf),"asinhf","ff"); }
diff --git a/newlib/libm/test/atan2_vec.c b/newlib/libm/test/atan2_vec.c
new file mode 100644
index 00000000000..802108453d8
--- /dev/null
+++ b/newlib/libm/test/atan2_vec.c
@@ -0,0 +1,1604 @@
+#include "test.h"
+ one_line_type atan2_vec[] = {
+{62,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbff00000, 0x00000000, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0xc002a4fc, 0x28e95ed8, 0xbff00000, 0x00000000, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0xc0026dcb, 0xd423977c, 0xbff00000, 0x00000000, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0xc00233cb, 0x72d34279, 0xbff00000, 0x00000000, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0xc001f6dc, 0x3e631130, 0xbff00000, 0x00000000, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0xc001b6e1, 0x92ebbe44, 0xbff00000, 0x00000000, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0xc00173c1, 0xf5810bb7, 0xbff00000, 0x00000000, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0xc0012d68, 0x46b76641, 0xbff00000, 0x00000000, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0xc000e3c5, 0x1fa059c4, 0xbff00000, 0x00000000, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0xc00096d0, 0x5371b1c4, 0xbff00000, 0x00000000, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0xc000468a, 0x8ace4df6, 0xbff00000, 0x00000000, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0xbfffe5fd, 0xcebfcb86, 0xbff00000, 0x00000000, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0xbfff3889, 0x2f1e0c87, 0xbff00000, 0x00000000, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0xbffe8500, 0x76ee9e8d, 0xbff00000, 0x00000000, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0xbffdcbc9, 0xedcbd8d9, 0xbff00000, 0x00000000, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0xbffd0d6a, 0x1369bd33, 0xbff00000, 0x00000000, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0xbffc4a83, 0x936311d9, 0xbff00000, 0x00000000, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0xbffb83d5, 0xc13f26b8, 0xbff00000, 0x00000000, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0xbffaba39, 0x7c7259dc, 0xbff00000, 0x00000000, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0xbff9ee9c, 0x8100c211, 0xbff00000, 0x00000000, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0xbff921fb, 0x54442d17, 0xbff00000, 0x00000000, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0xbff8555a, 0x2787981e, 0xbff00000, 0x00000000, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0xbff789bd, 0x2c160052, 0xbff00000, 0x00000000, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0xbff6c020, 0xe7493376, 0xbff00000, 0x00000000, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0xbff5f973, 0x15254855, 0xbff00000, 0x00000000, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0xbff5368c, 0x951e9cfb, 0xbff00000, 0x00000000, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0xbff4782c, 0xbabc8156, 0xbff00000, 0x00000000, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0xbff3bef6, 0x3199bba1, 0xbff00000, 0x00000000, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0xbff30b6d, 0x796a4da7, 0xbff00000, 0x00000000, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbff25df8, 0xd9c88ea8, 0xbff00000, 0x00000000, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0xbff1b6e1, 0x92ebbe43, 0xbff00000, 0x00000000, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0xbff11656, 0x01a4f6a5, 0xbff00000, 0x00000000, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0xbff07c6c, 0x6947a6a6, 0xbff00000, 0x00000000, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0xbfefd24c, 0x36331b59, 0xbff00000, 0x00000000, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0xbfeeb8e5, 0x7b0c8580, 0xbff00000, 0x00000000, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0xbfedac67, 0x0561bb4c, 0xbff00000, 0x00000000, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0xbfecac7c, 0x57846f9b, 0xbff00000, 0x00000000, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfebb8bf, 0x85c3aa79, 0xbff00000, 0x00000000, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0xbfead0be, 0x0082566f, 0xbff00000, 0x00000000, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0xbfe9f3fc, 0xad6b38ff, 0xbff00000, 0x00000000, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0xc0030dfc, 0xd57ce4cd, 0xbfee6666, 0x66666666, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfee6666, 0x66666666, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0xc002a225, 0xffe678cc, 0xbfee6666, 0x66666666, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0xc00267d3, 0x4beb12ff, 0xbfee6666, 0x66666666, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0xc0022a5f, 0x18f3451e, 0xbfee6666, 0x66666666, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0xc001e9a5, 0xc99335b0, 0xbfee6666, 0x66666666, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0xc001a586, 0x8fc6c8d0, 0xbfee6666, 0x66666666, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0xc0015de4, 0xca763c22, 0xbfee6666, 0x66666666, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0xc00112a9, 0x9ee56458, 0xbfee6666, 0x66666666, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0xc000c3c5, 0xca449e52, 0xbfee6666, 0x66666666, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0xc0007133, 0xa108dee4, 0xbfee6666, 0x66666666, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0xc0001af9, 0x294450fa, 0xbfee6666, 0x66666666, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0xbfff8254, 0x66b1ec6c, 0xbfee6666, 0x66666666, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0xbffec7d4, 0x93fc7aa8, 0xbfee6666, 0x66666666, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0xbffe06dc, 0x9297b73f, 0xbfee6666, 0x66666666, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0xbffd3ffa, 0xcd08c0c2, 0xbfee6666, 0x66666666, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0xbffc73e2, 0xe46d7f72, 0xbfee6666, 0x66666666, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0xbffba36c, 0x4c864174, 0xbfee6666, 0x66666666, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0xbffacf8e, 0xc523642f, 0xbfee6666, 0x66666666, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0xbff9f95c, 0xaa6341c4, 0xbfee6666, 0x66666666, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0xbff921fb, 0x54442d17, 0xbfee6666, 0x66666666, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0xbff84a99, 0xfe25186a, 0xbfee6666, 0x66666666, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0xbff77467, 0xe364f5ff, 0xbfee6666, 0x66666666, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0xbff6a08a, 0x5c0218ba, 0xbfee6666, 0x66666666, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0xbff5d013, 0xc41adabc, 0xbfee6666, 0x66666666, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0xbff503fb, 0xdb7f996c, 0xbfee6666, 0x66666666, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0xbff43d1a, 0x15f0a2ef, 0xbfee6666, 0x66666666, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0xbff37c22, 0x148bdf86, 0xbfee6666, 0x66666666, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0xbff2c1a2, 0x41d66dc2, 0xbfee6666, 0x66666666, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbff20e04, 0x55ffb83a, 0xbfee6666, 0x66666666, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0xbff1618f, 0x66769c68, 0xbfee6666, 0x66666666, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0xbff0bc6b, 0x13ff1d8c, 0xbfee6666, 0x66666666, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0xbff01ea3, 0x6abd917e, 0xbfee6666, 0x66666666, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0xbfef105a, 0x2737c3d5, 0xbfee6666, 0x66666666, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0xbfedf1d3, 0x11f5911e, 0xbfee6666, 0x66666666, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0xbfece156, 0x2ac3dd9e, 0xbfee6666, 0x66666666, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0xbfebde70, 0xed439fe3, 0xbfee6666, 0x66666666, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfeae8a0, 0x21646861, 0xbfee6666, 0x66666666, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0xbfe9ff55, 0x5176d12f, 0xbfee6666, 0x66666666, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0xbfe921fb, 0x54442d15, 0xbfee6666, 0x66666666, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0xc003452d, 0x2a42ac29, 0xbfeccccc, 0xcccccccc, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0xc00310d2, 0xfe7fcad9, 0xbfeccccc, 0xcccccccc, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfeccccc, 0xcccccccc, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0xc0029efc, 0xe9f0f591, 0xbfeccccc, 0xcccccccc, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0xc0026127, 0x862b05f6, 0xbfeccccc, 0xcccccccc, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0xc0021fd0, 0x9b1e712e, 0xbfeccccc, 0xcccccccc, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0xc001dace, 0xaa5dc056, 0xbfeccccc, 0xcccccccc, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0xc00191fb, 0xf721ce52, 0xbfeccccc, 0xcccccccc, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0xc0014538, 0x5fa3af71, 0xbfeccccc, 0xcccccccc, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0xc000f46b, 0x88a03601, 0xbfeccccc, 0xcccccccc, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0xc0009f87, 0x5343d018, 0xbfeccccc, 0xcccccccc, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0xc000468a, 0x8ace4df6, 0xbfeccccc, 0xcccccccc, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0xbfffd307, 0x52e3200b, 0xbfeccccc, 0xcccccccc, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0xbfff1127, 0x088152ad, 0xbfeccccc, 0xcccccccc, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0xbffe47df, 0x3d0dd4d0, 0xbfeccccc, 0xcccccccc, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0xbffd77c7, 0xb196b320, 0xbfeccccc, 0xcccccccc, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0xbffca1a6, 0x56770bcf, 0xbfeccccc, 0xcccccccc, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0xbffbc66e, 0x44cbc073, 0xbfeccccc, 0xcccccccc, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0xbffae73b, 0xd5e44e5a, 0xbfeccccc, 0xcccccccc, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0xbffa054d, 0xbad44abd, 0xbfeccccc, 0xcccccccc, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0xbff921fb, 0x54442d17, 0xbfeccccc, 0xcccccccc, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0xbff83ea8, 0xedb40f71, 0xbfeccccc, 0xcccccccc, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0xbff75cba, 0xd2a40bd4, 0xbfeccccc, 0xcccccccc, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0xbff67d88, 0x63bc99bb, 0xbfeccccc, 0xcccccccc, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0xbff5a250, 0x52114e5e, 0xbfeccccc, 0xcccccccc, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0xbff4cc2e, 0xf6f1a70e, 0xbfeccccc, 0xcccccccc, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0xbff3fc17, 0x6b7a855e, 0xbfeccccc, 0xcccccccc, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0xbff332cf, 0xa0070782, 0xbfeccccc, 0xcccccccc, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0xbff270ef, 0x55a53a23, 0xbfeccccc, 0xcccccccc, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbff1b6e1, 0x92ebbe43, 0xbfeccccc, 0xcccccccc, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0xbff104e8, 0x0200b9fe, 0xbfeccccc, 0xcccccccc, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0xbff05b1f, 0x9747ee2c, 0xbfeccccc, 0xcccccccc, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0xbfef730b, 0xd281f698, 0xbfeccccc, 0xcccccccc, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0xbfee3ffd, 0x74897b16, 0xbfeccccc, 0xcccccccc, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0xbfed1cb2, 0xa799b303, 0xbfeccccc, 0xcccccccc, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0xbfec08aa, 0xe496efa3, 0xbfeccccc, 0xcccccccc, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0xbfeb034f, 0x38649c84, 0xbfeccccc, 0xcccccccc, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfea0bf9, 0xa94cde18, 0xbfeccccc, 0xcccccccc, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0xbfe921fb, 0x54442d14, 0xbfeccccc, 0xcccccccc, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0xbfe844a1, 0x571188fa, 0xbfeccccc, 0xcccccccc, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0xc0037f2d, 0x8b93012c, 0xbfeb3333, 0x33333332, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0xc0034b25, 0xb27b30a5, 0xbfeb3333, 0x33333332, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0xc00313fc, 0x14754e13, 0xbfeb3333, 0x33333332, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfeb3333, 0x33333332, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0xc0029b71, 0xd79223d7, 0xbfeb3333, 0x33333332, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0xc00259a7, 0x10566dda, 0xbfeb3333, 0x33333332, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0xc00213e8, 0x74487c34, 0xbfeb3333, 0x33333332, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0xc001ca05, 0x51b12411, 0xbfeb3333, 0x33333332, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0xc0017bd2, 0x1306a2e0, 0xbfeb3333, 0x33333332, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0xc001292a, 0xcb9e5e97, 0xbfeb3333, 0x33333332, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0xc000d1f6, 0x365d11c8, 0xbfeb3333, 0x33333332, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0xc0007629, 0x16cab416, 0xbfeb3333, 0x33333332, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0xc00015c9, 0xda46bdfc, 0xbfeb3333, 0x33333332, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0xbfff61e8, 0x80287a21, 0xbfeb3333, 0x33333332, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0xbffe8fb9, 0x6bf1d8f4, 0xbfeb3333, 0x33333332, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0xbffdb5a6, 0x01769193, 0xbfeb3333, 0x33333332, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0xbffcd487, 0x74e47389, 0xbfeb3333, 0x33333332, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0xbffbed70, 0x67a8594d, 0xbfeb3333, 0x33333332, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0xbffb01a8, 0xbf84055c, 0xbfeb3333, 0x33333332, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0xbffa12a5, 0x465464cf, 0xbfeb3333, 0x33333332, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0xbff921fb, 0x54442d17, 0xbfeb3333, 0x33333332, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0xbff83151, 0x6233f55f, 0xbfeb3333, 0x33333332, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0xbff7424d, 0xe90454d2, 0xbfeb3333, 0x33333332, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0xbff65686, 0x40e000e1, 0xbfeb3333, 0x33333332, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0xbff56f6f, 0x33a3e6a5, 0xbfeb3333, 0x33333332, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0xbff48e50, 0xa711c89b, 0xbfeb3333, 0x33333332, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0xbff3b43d, 0x3c96813a, 0xbfeb3333, 0x33333332, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0xbff2e20e, 0x285fe00d, 0xbfeb3333, 0x33333332, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0xbff21862, 0xf3fade35, 0xbfeb3333, 0x33333332, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbff157a4, 0x7af2f203, 0xbfeb3333, 0x33333332, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0xbff0a00a, 0x3bce369d, 0xbfeb3333, 0x33333332, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0xbfefe342, 0x229739ff, 0xbfeb3333, 0x33333332, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0xbfee98a5, 0x04f628d9, 0xbfeb3333, 0x33333332, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0xbfed5fd8, 0x0a4c2417, 0xbfeb3333, 0x33333332, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0xbfec384b, 0x7feec38c, 0xbfeb3333, 0x33333332, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0xbfeb2151, 0x0fb6fcf3, 0xbfeb3333, 0x33333332, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0xbfea1a25, 0xf2c82502, 0xbfeb3333, 0x33333332, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfe921fb, 0x54442d14, 0xbfeb3333, 0x33333332, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0xbfe837fc, 0xff3b7c10, 0xbfeb3333, 0x33333332, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0xbfe75b56, 0x8723f1c8, 0xbfeb3333, 0x33333332, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0xc003bc1c, 0xc0033274, 0xbfe99999, 0x99999998, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0xc0038899, 0xe572fe86, 0xbfe99999, 0x99999998, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0xc00351d1, 0x783b3dae, 0xbfe99999, 0x99999998, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0xc0031787, 0x26d41fce, 0xbfe99999, 0x99999998, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfe99999, 0x99999998, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0xc0029771, 0xd7e7791f, 0xbfe99999, 0x99999998, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0xc0025127, 0x9b802819, 0xbfe99999, 0x99999998, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0xc0020660, 0x0be7bd52, 0xbfe99999, 0x99999998, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0xc001b6e1, 0x92ebbe44, 0xbfe99999, 0x99999998, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0xc0016279, 0xb155a47a, 0xbfe99999, 0x99999998, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0xc0010900, 0x9519d638, 0xbfe99999, 0x99999998, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0xc000aa5d, 0x4f58e2c0, 0xbfe99999, 0x99999998, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0xc000468a, 0x8ace4df6, 0xbfe99999, 0x99999998, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0xbfffbb37, 0x05373617, 0xbfe99999, 0x99999998, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0xbffedf81, 0xa4bd64d3, 0xbfe99999, 0x99999998, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0xbffdfa99, 0x2206280a, 0xbfe99999, 0x99999998, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0xbffd0d6a, 0x1369bd33, 0xbfe99999, 0x99999998, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0xbffc192a, 0xbdbdf878, 0xbfe99999, 0x99999998, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0xbffb1f56, 0xfdeef00e, 0xbfe99999, 0x99999998, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0xbffa21a6, 0x31fd9506, 0xbfe99999, 0x99999998, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0xbff921fb, 0x54442d16, 0xbfe99999, 0x99999998, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0xbff82250, 0x768ac527, 0xbfe99999, 0x99999998, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0xbff7249f, 0xaa996a20, 0xbfe99999, 0x99999998, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0xbff62acb, 0xeaca61b6, 0xbfe99999, 0x99999998, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0xbff5368c, 0x951e9cfb, 0xbfe99999, 0x99999998, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0xbff4495d, 0x86823223, 0xbfe99999, 0x99999998, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0xbff36475, 0x03caf55a, 0xbfe99999, 0x99999998, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0xbff288bf, 0xa3512417, 0xbfe99999, 0x99999998, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0xbff1b6e1, 0x92ebbe43, 0xbfe99999, 0x99999998, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbff0ef3c, 0x09d694af, 0xbfe99999, 0x99999998, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0xbff031f5, 0x7e54adbc, 0xbfe99999, 0x99999998, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0xbfeefe06, 0x8bba2272, 0xbfe99999, 0x99999998, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0xbfedac67, 0x0561bb4c, 0xbfe99999, 0x99999998, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0xbfec6e6d, 0x2171bf14, 0xbfe99999, 0x99999998, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0xbfeb434e, 0xe31013f8, 0xbfe99999, 0x99999998, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0xbfea2a25, 0xf172cfdf, 0xbfe99999, 0x99999998, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0xbfe921fb, 0x54442d14, 0xbfe99999, 0x99999998, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfe829d0, 0xb5c03526, 0xbfe99999, 0x99999998, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0xbfe740a7, 0x7023bda5, 0xbfe99999, 0x99999998, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0xbfe66585, 0xbb44ba45, 0xbfe99999, 0x99999998, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0xc003fc17, 0x6b7a8560, 0xbfe7ffff, 0xfffffffe, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0xc003c953, 0x34d30df5, 0xbfe7ffff, 0xfffffffe, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0xc0039328, 0x6347d276, 0xbfe7ffff, 0xfffffffe, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0xc0035951, 0xee0fd5ca, 0xbfe7ffff, 0xfffffffe, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0xc0031b87, 0x267eca85, 0xbfe7ffff, 0xfffffffe, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfe7ffff, 0xfffffffe, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0xc00292e4, 0xc2c70244, 0xbfe7ffff, 0xfffffffe, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0xc0024772, 0xd9496c96, 0xbfe7ffff, 0xfffffffe, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0xc001f6dc, 0x3e631130, 0xbfe7ffff, 0xfffffffe, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0xc001a0dc, 0x49296b7e, 0xbfe7ffff, 0xfffffffe, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0xc0014538, 0x5fa3af71, 0xbfe7ffff, 0xfffffffe, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0xc000e3c5, 0x1fa059c4, 0xbfe7ffff, 0xfffffffe, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0xc0007c6c, 0x6947a6a8, 0xbfe7ffff, 0xfffffffe, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0xc0000f34, 0x0b81a4ef, 0xbfe7ffff, 0xfffffffe, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0xbfff3889, 0x2f1e0c87, 0xbfe7ffff, 0xfffffffe, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0xbffe47df, 0x3d0dd4d0, 0xbfe7ffff, 0xfffffffe, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0xbffd4d68, 0xbe213418, 0xbfe7ffff, 0xfffffffe, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0xbffc4a83, 0x936311d9, 0xbfe7ffff, 0xfffffffe, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0xbffb40e9, 0xaf482898, 0xbfe7ffff, 0xfffffffe, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0xbffa32a5, 0x1baa2089, 0xbfe7ffff, 0xfffffffe, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0xbff921fb, 0x54442d16, 0xbfe7ffff, 0xfffffffe, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0xbff81151, 0x8cde39a4, 0xbfe7ffff, 0xfffffffe, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0xbff7030c, 0xf9403195, 0xbfe7ffff, 0xfffffffe, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0xbff5f973, 0x15254855, 0xbfe7ffff, 0xfffffffe, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0xbff4f68d, 0xea672615, 0xbfe7ffff, 0xfffffffe, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0xbff3fc17, 0x6b7a855e, 0xbfe7ffff, 0xfffffffe, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0xbff30b6d, 0x796a4da6, 0xbfe7ffff, 0xfffffffe, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0xbff2258e, 0x9185104f, 0xbfe7ffff, 0xfffffffe, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0xbff14b1d, 0xd5f90cdf, 0xbfe7ffff, 0xfffffffe, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbff07c6c, 0x6947a6a6, 0xbfe7ffff, 0xfffffffe, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0xbfef730b, 0xd281f697, 0xbfe7ffff, 0xfffffffe, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0xbfee047c, 0x2c6b0665, 0xbfe7ffff, 0xfffffffe, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0xbfecac7c, 0x57846f9a, 0xbfe7ffff, 0xfffffffe, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0xbfeb6a21, 0xebeb0204, 0xbfe7ffff, 0xfffffffe, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0xbfea3c5a, 0x45f4ab4c, 0xbfe7ffff, 0xfffffffe, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0xbfe921fb, 0x54442d14, 0xbfe7ffff, 0xfffffffe, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0xbfe819d0, 0xb7158a48, 0xbfe7ffff, 0xfffffffe, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfe722a5, 0x98d15d35, 0xbfe7ffff, 0xfffffffe, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0xbfe63b4b, 0xc3f16a86, 0xbfe7ffff, 0xfffffffe, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0xbfe562a0, 0x7dc47c8a, 0xbfe7ffff, 0xfffffffe, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0xc0043f37, 0x08e537ed, 0xbfe66666, 0x66666664, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0xc0040d72, 0x6e9f7ad5, 0xbfe66666, 0x66666664, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0xc003d82a, 0x5408834e, 0xbfe66666, 0x66666664, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0xc0039f10, 0x8a1dc770, 0xbfe66666, 0x66666664, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0xc00361d1, 0x62e61b8c, 0xbfe66666, 0x66666664, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0xc0032014, 0x3b9f4160, 0xbfe66666, 0x66666664, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfe66666, 0x66666664, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0xc0028dab, 0x4b5b59d0, 0xbfe66666, 0x66666664, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0xc0023c41, 0xea611604, 0xbfe66666, 0x66666664, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0xc001e4e5, 0x5817921e, 0xbfe66666, 0x66666664, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0xc0018743, 0x06ef5824, 0xbfe66666, 0x66666664, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0xc0012317, 0x0c990104, 0xbfe66666, 0x66666664, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0xc000b833, 0xbe165cc8, 0xbfe66666, 0x66666664, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0xc000468a, 0x8ace4df6, 0xbfe66666, 0x66666664, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0xbfff9c6b, 0x238c6434, 0xbfe66666, 0x66666664, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0xbffe9f02, 0x0021cec6, 0xbfe66666, 0x66666664, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0xbffd95e5, 0xac22d08b, 0xbfe66666, 0x66666664, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0xbffc829e, 0xbb6db38c, 0xbfe66666, 0x66666664, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0xbffb6731, 0x2cd2f433, 0xbfe66666, 0x66666664, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0xbffa460e, 0xa017978f, 0xbfe66666, 0x66666664, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0xbff921fb, 0x54442d16, 0xbfe66666, 0x66666664, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0xbff7fde8, 0x0870c29e, 0xbfe66666, 0x66666664, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0xbff6dcc5, 0x7bb565fa, 0xbfe66666, 0x66666664, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0xbff5c157, 0xed1aa6a1, 0xbfe66666, 0x66666664, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0xbff4ae10, 0xfc6589a2, 0xbfe66666, 0x66666664, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0xbff3a4f4, 0xa8668b67, 0xbfe66666, 0x66666664, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0xbff2a78b, 0x84fbf5fa, 0xbfe66666, 0x66666664, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0xbff1b6e1, 0x92ebbe42, 0xbfe66666, 0x66666664, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0xbff0d38f, 0x2c5ba09c, 0xbfe66666, 0x66666664, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfeffb91, 0x1eacb04d, 0xbfe66666, 0x66666664, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0xbfee6ae1, 0x355353cb, 0xbfe66666, 0x66666664, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0xbfecf457, 0xf0b26be3, 0xbfe66666, 0x66666664, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0xbfeb96e5, 0xa78c5c4d, 0xbfe66666, 0x66666664, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0xbfea5140, 0x23a34d1b, 0xbfe66666, 0x66666664, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0xbfe921fb, 0x54442d13, 0xbfe66666, 0x66666664, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0xbfe8079c, 0x6293aeda, 0xbfe66666, 0x66666664, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0xbfe700a7, 0xc578462f, 0xbfe66666, 0x66666664, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfe60bab, 0x2899969c, 0xbfe66666, 0x66666664, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0xbfe52744, 0x00eea726, 0xbfe66666, 0x66666664, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0xbfe45223, 0x9692c90b, 0xbfe66666, 0x66666664, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0xc0048590, 0xb7aedd64, 0xbfe4cccc, 0xccccccca, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0xc0045514, 0x33f00783, 0xbfe4cccc, 0xccccccca, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0xc00420fd, 0x07447553, 0xbfe4cccc, 0xccccccca, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0xc003e8f3, 0xacb51f93, 0xbfe4cccc, 0xccccccca, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0xc003ac98, 0xf27e8652, 0xbfe4cccc, 0xccccccca, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0xc0036b86, 0x251cd70e, 0xbfe4cccc, 0xccccccca, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0xc003254d, 0xb30ae9d4, 0xbfe4cccc, 0xccccccca, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfe4cccc, 0xccccccca, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0xc002879c, 0x26a5479d, 0xbfe4cccc, 0xccccccca, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0xc0022f36, 0x8bf3da20, 0xbfe4cccc, 0xccccccca, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0xc001cfdb, 0x0358ca07, 0xbfe4cccc, 0xccccccca, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0xc0016925, 0x7715b184, 0xbfe4cccc, 0xccccccca, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0xc000fac7, 0xc0872c2c, 0xbfe4cccc, 0xccccccca, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0xc0008495, 0x326f4bf1, 0xbfe4cccc, 0xccccccca, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0xc000068f, 0xdf56fb0a, 0xbfe4cccc, 0xccccccca, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0xbfff01ec, 0xffc750b0, 0xbfe4cccc, 0xccccccca, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0xbffde8a2, 0x25150890, 0xbfe4cccc, 0xccccccca, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0xbffcc2f3, 0x2876c449, 0xbfe4cccc, 0xccccccca, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0xbffb933b, 0xc05799c0, 0xbfe4cccc, 0xccccccca, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0xbffa5c70, 0x7de844b3, 0xbfe4cccc, 0xccccccca, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0xbff921fb, 0x54442d16, 0xbfe4cccc, 0xccccccca, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0xbff7e786, 0x2aa01579, 0xbfe4cccc, 0xccccccca, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0xbff6b0ba, 0xe830c06d, 0xbfe4cccc, 0xccccccca, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0xbff58103, 0x801195e3, 0xbfe4cccc, 0xccccccca, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0xbff45b54, 0x8373519d, 0xbfe4cccc, 0xccccccca, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0xbff34209, 0xa8c1097d, 0xbfe4cccc, 0xccccccca, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0xbff236d6, 0xe9da641a, 0xbfe4cccc, 0xccccccca, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0xbff13acc, 0x43a9c24b, 0xbfe4cccc, 0xccccccca, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0xbff04e67, 0x277a01d5, 0xbfe4cccc, 0xccccccca, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfeee357, 0x74b9ee4d, 0xbfe4cccc, 0xccccccca, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0xbfed4881, 0x43ad8c3f, 0xbfe4cccc, 0xccccccca, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0xbfebcb13, 0x21414bdb, 0xbfe4cccc, 0xccccccca, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0xbfea697c, 0xb67b95e9, 0xbfe4cccc, 0xccccccca, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0xbfe921fb, 0x54442d13, 0xbfe4cccc, 0xccccccca, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0xbfe7f2b6, 0x84e50d0b, 0xbfe4cccc, 0xccccccca, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0xbfe6d9d4, 0xbc9d5822, 0xbfe4cccc, 0xccccccca, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0xbfe5d589, 0x87169b13, 0xbfe4cccc, 0xccccccca, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfe4e41e, 0x9e3c3610, 0xbfe4cccc, 0xccccccca, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0xbfe403f9, 0x33fedf12, 0xbfe4cccc, 0xccccccca, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0xbfe3339c, 0x81509652, 0xbfe4cccc, 0xccccccca, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0xc004cf33, 0xdec5e9e0, 0xbfe33333, 0x33333330, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0xc004a04f, 0x5f80df4c, 0xbfe33333, 0x33333330, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0xc0046dc0, 0x9ec29434, 0xbfe33333, 0x33333330, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0xc0043726, 0xeb5fa0c4, 0xbfe33333, 0x33333330, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0xc003fc17, 0x6b7a8560, 0xbfe33333, 0x33333330, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0xc003bc1c, 0xc0033274, 0xbfe33333, 0x33333330, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0xc00376b7, 0x14052da1, 0xbfe33333, 0x33333330, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0xc0032b5c, 0xd7c0fc08, 0xbfe33333, 0x33333330, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfe33333, 0x33333330, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0xc002807f, 0xb6bd9fb0, 0xbfe33333, 0x33333330, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0xc0021fd0, 0x9b1e712e, 0xbfe33333, 0x33333330, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0xc001b6e1, 0x92ebbe44, 0xbfe33333, 0x33333330, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0xc0014538, 0x5fa3af71, 0xbfe33333, 0x33333330, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0xc000ca7c, 0xc2d0d7fc, 0xbfe33333, 0x33333330, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0xc000468a, 0x8ace4df6, 0xbfe33333, 0x33333330, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0xbfff730b, 0xd281f69a, 0xbfe33333, 0x33333330, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0xbffe47df, 0x3d0dd4d0, 0xbfe33333, 0x33333330, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0xbffd0d6a, 0x1369bd33, 0xbfe33333, 0x33333330, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0xbffbc66e, 0x44cbc073, 0xbfe33333, 0x33333330, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0xbffa7687, 0x3ac2bc7b, 0xbfe33333, 0x33333330, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0xbff921fb, 0x54442d16, 0xbfe33333, 0x33333330, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0xbff7cd6f, 0x6dc59db2, 0xbfe33333, 0x33333330, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0xbff67d88, 0x63bc99ba, 0xbfe33333, 0x33333330, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0xbff5368c, 0x951e9cfa, 0xbfe33333, 0x33333330, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0xbff3fc17, 0x6b7a855d, 0xbfe33333, 0x33333330, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0xbff2d0ea, 0xd6066392, 0xbfe33333, 0x33333330, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0xbff1b6e1, 0x92ebbe41, 0xbfe33333, 0x33333330, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0xbff0aefd, 0x22e6aa34, 0xbfe33333, 0x33333330, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0xbfef730b, 0xd281f696, 0xbfe33333, 0x33333330, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfedac67, 0x0561bb4a, 0xbfe33333, 0x33333330, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0xbfec08aa, 0xe496efa0, 0xbfe33333, 0x33333330, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0xbfea85ee, 0x761a359c, 0xbfe33333, 0x33333330, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0xbfe921fb, 0x54442d12, 0xbfe33333, 0x33333330, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0xbfe7da79, 0xf20cc43d, 0xbfe33333, 0x33333330, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0xbfe6ad11, 0x00fbfdd9, 0xbfe33333, 0x33333330, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0xbfe5977a, 0x5103ea8c, 0xbfe33333, 0x33333330, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0xbfe4978f, 0xa3269edb, 0xbfe33333, 0x33333330, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfe3ab51, 0xa392314e, 0xbfe33333, 0x33333330, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0xbfe2d0ea, 0xd6066390, 0xbfe33333, 0x33333330, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0xbfe206af, 0xd30d372c, 0xbfe33333, 0x33333330, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0xc0051c28, 0xaaf491e0, 0xbfe19999, 0x99999996, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0xc004ef33, 0x3421a553, 0xbfe19999, 0x99999996, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0xc004be8d, 0x75c60da4, 0xbfe19999, 0x99999996, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0xc00489ce, 0x32c7e50e, 0xbfe19999, 0x99999996, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0xc004507f, 0x4d109f2a, 0xbfe19999, 0x99999996, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0xc004121c, 0xb53cd827, 0xbfe19999, 0x99999996, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0xc003ce13, 0xa64eb186, 0xbfe19999, 0x99999996, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0xc00383c2, 0x72726984, 0xbfe19999, 0x99999996, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0xc0033279, 0x47a8a3f5, 0xbfe19999, 0x99999996, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfe19999, 0x99999996, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0xc0027809, 0x3f2fcc25, 0xbfe19999, 0x99999996, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0xc0020d5d, 0x6b1c0b70, 0xbfe19999, 0x99999996, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0xc00198c4, 0x031217a4, 0xbfe19999, 0x99999996, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0xc00119a6, 0xfe19b276, 0xbfe19999, 0x99999996, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0xc0008fa7, 0x2899ef94, 0xbfe19999, 0x99999996, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0xbffff572, 0xaded0be8, 0xbfe19999, 0x99999996, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0xbffeb68c, 0x3ba726dd, 0xbfe19999, 0x99999996, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0xbffd648c, 0xd67db72a, 0xbfe19999, 0x99999996, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0xbffc02a9, 0x647f0db4, 0xbfe19999, 0x99999996, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0xbffa9553, 0x1c6d8e5d, 0xbfe19999, 0x99999996, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0xbff921fb, 0x54442d16, 0xbfe19999, 0x99999996, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0xbff7aea3, 0x8c1acbce, 0xbfe19999, 0x99999996, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0xbff6414d, 0x44094c78, 0xbfe19999, 0x99999996, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0xbff4df69, 0xd20aa302, 0xbfe19999, 0x99999996, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0xbff38d6a, 0x6ce1334f, 0xbfe19999, 0x99999996, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0xbff24e83, 0xfa9b4e45, 0xbfe19999, 0x99999996, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0xbff124a8, 0x57547b04, 0xbfe19999, 0x99999996, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0xbff010a8, 0xac54f541, 0xbfe19999, 0x99999996, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0xbfee24dd, 0x44c855cb, 0xbfe19999, 0x99999996, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfec5277, 0xa4a0869c, 0xbfe19999, 0x99999996, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0xbfeaa7c8, 0x545183c7, 0xbfe19999, 0x99999996, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0xbfe921fb, 0x54442d12, 0xbfe19999, 0x99999996, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0xbfe7be08, 0x326e2489, 0xbfe19999, 0x99999996, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0xbfe678e3, 0x87470e4a, 0xbfe19999, 0x99999996, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0xbfe54f9e, 0xb7d5ee43, 0xbfe19999, 0x99999996, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0xbfe43f7a, 0x7c1d53c1, 0xbfe19999, 0x99999996, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0xbfe345f0, 0x1cce37b5, 0xbfe19999, 0x99999996, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfe260b4, 0x85f12028, 0xbfe19999, 0x99999996, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0xbfe18db7, 0x79f87dcf, 0xbfe19999, 0x99999996, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0xbfe0cb20, 0x808a1f11, 0xbfe19999, 0x99999996, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0xc0056c6e, 0x7397f5af, 0xbfdfffff, 0xfffffff9, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0xc00541c5, 0x5d5d64c1, 0xbfdfffff, 0xfffffff9, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0xc0051371, 0xab22738d, 0xbfdfffff, 0xfffffff9, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0xc004e102, 0xc80931dc, 0xbfdfffff, 0xfffffff9, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0xc004a9f8, 0x694c6d6c, 0xbfdfffff, 0xfffffff9, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0xc0046dc0, 0x9ec29434, 0xbfdfffff, 0xfffffff9, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0xc0042bb5, 0xf776eb80, 0xbfdfffff, 0xfffffff9, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0xc003e31d, 0xfb0d799d, 0xbfdfffff, 0xfffffff9, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0xc0039328, 0x6347d276, 0xbfdfffff, 0xfffffff9, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0xc0033aef, 0xbf36777f, 0xbfdfffff, 0xfffffff9, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfdfffff, 0xfffffff9, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0xc0026dcb, 0xd423977c, 0xbfdfffff, 0xfffffff9, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0xc001f6dc, 0x3e631130, 0xbfdfffff, 0xfffffff9, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0xc00173c1, 0xf5810bb7, 0xbfdfffff, 0xfffffff9, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0xc000e3c5, 0x1fa059c4, 0xbfdfffff, 0xfffffff9, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0xc000468a, 0x8ace4df6, 0xbfdfffff, 0xfffffff9, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0xbfff3889, 0x2f1e0c87, 0xbfdfffff, 0xfffffff9, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0xbffdcbc9, 0xedcbd8d9, 0xbfdfffff, 0xfffffff9, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0xbffc4a83, 0x936311d8, 0xbfdfffff, 0xfffffff9, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0xbffaba39, 0x7c7259db, 0xbfdfffff, 0xfffffff9, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0xbff921fb, 0x54442d15, 0xbfdfffff, 0xfffffff9, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0xbff789bd, 0x2c160050, 0xbfdfffff, 0xfffffff9, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0xbff5f973, 0x15254853, 0xbfdfffff, 0xfffffff9, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0xbff4782c, 0xbabc8153, 0xbfdfffff, 0xfffffff9, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0xbff30b6d, 0x796a4da4, 0xbfdfffff, 0xfffffff9, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0xbff1b6e1, 0x92ebbe41, 0xbfdfffff, 0xfffffff9, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0xbff07c6c, 0x6947a6a4, 0xbfdfffff, 0xfffffff9, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0xbfeeb8e5, 0x7b0c857c, 0xbfdfffff, 0xfffffff9, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0xbfecac7c, 0x57846f97, 0xbfdfffff, 0xfffffff9, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfead0be, 0x0082566c, 0xbfdfffff, 0xfffffff9, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0xbfe921fb, 0x54442d12, 0xbfdfffff, 0xfffffff9, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0xbfe79c2e, 0x5436d65d, 0xbfdfffff, 0xfffffff9, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0xbfe63b4b, 0xc3f16a84, 0xbfdfffff, 0xfffffff9, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0xbfe4fb75, 0x64dacde6, 0xbfdfffff, 0xfffffff9, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0xbfe3d915, 0x7335065a, 0xbfdfffff, 0xfffffff9, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0xbfe2d0ea, 0xd606638f, 0xbfdfffff, 0xfffffff9, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0xbfe1e00b, 0xabdefead, 0xbfdfffff, 0xfffffff9, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfe103e2, 0x30ebeced, 0xbfdfffff, 0xfffffff9, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0xbfe03a26, 0xa486e62b, 0xbfdfffff, 0xfffffff9, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0xbfdf01af, 0xb73642b2, 0xbfdfffff, 0xfffffff9, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0xc005bffa, 0x17065de2, 0xbfdccccc, 0xccccccc6, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0xc00597ff, 0xd521f2aa, 0xbfdccccc, 0xccccccc6, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0xc0056c6e, 0x7397f5af, 0xbfdccccc, 0xccccccc6, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0xc0053ccf, 0xe79b8f8f, 0xbfdccccc, 0xccccccc6, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0xc005089b, 0xaf0d60e5, 0xbfdccccc, 0xccccccc6, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0xc004cf33, 0xdec5e9e0, 0xbfdccccc, 0xccccccc6, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0xc0048fe1, 0xf1cd42a1, 0xbfdccccc, 0xccccccc6, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0xc00449d3, 0x87509221, 0xbfdccccc, 0xccccccc6, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0xc003fc17, 0x6b7a8560, 0xbfdccccc, 0xccccccc6, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0xc003a59b, 0x934a3835, 0xbfdccccc, 0xccccccc6, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0xc003452d, 0x2a42ac29, 0xbfdccccc, 0xccccccc6, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfdccccc, 0xccccccc6, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0xc0026127, 0x862b05f6, 0xbfdccccc, 0xccccccc6, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0xc001dace, 0xaa5dc056, 0xbfdccccc, 0xccccccc6, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0xc0014538, 0x5fa3af71, 0xbfdccccc, 0xccccccc6, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0xc0009f87, 0x5343d018, 0xbfdccccc, 0xccccccc6, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0xbfffd307, 0x52e3200b, 0xbfdccccc, 0xccccccc6, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0xbffe47df, 0x3d0dd4cf, 0xbfdccccc, 0xccccccc6, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0xbffca1a6, 0x56770bcf, 0xbfdccccc, 0xccccccc6, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0xbffae73b, 0xd5e44e59, 0xbfdccccc, 0xccccccc6, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0xbff921fb, 0x54442d15, 0xbfdccccc, 0xccccccc6, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0xbff75cba, 0xd2a40bd2, 0xbfdccccc, 0xccccccc6, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0xbff5a250, 0x52114e5c, 0xbfdccccc, 0xccccccc6, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0xbff3fc17, 0x6b7a855c, 0xbfdccccc, 0xccccccc6, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0xbff270ef, 0x55a53a20, 0xbfdccccc, 0xccccccc6, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0xbff104e8, 0x0200b9fc, 0xbfdccccc, 0xccccccc6, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0xbfef730b, 0xd281f693, 0xbfdccccc, 0xccccccc6, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0xbfed1cb2, 0xa799b2ff, 0xbfdccccc, 0xccccccc6, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0xbfeb034f, 0x38649c81, 0xbfdccccc, 0xccccccc6, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfe921fb, 0x54442d12, 0xbfdccccc, 0xccccccc6, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0xbfe77338, 0xa80603b8, 0xbfdccccc, 0xccccccc6, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0xbfe5f17f, 0x03e7d388, 0xbfdccccc, 0xccccccc6, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0xbfe4978f, 0xa3269edb, 0xbfdccccc, 0xccccccc6, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0xbfe3609f, 0x33ce6bd8, 0xbfdccccc, 0xccccccc6, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0xbfe24865, 0x89dba9d9, 0xbfdccccc, 0xccccccc6, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0xbfe14b1d, 0xd5f90cdb, 0xbfdccccc, 0xccccccc6, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0xbfe0657e, 0x94db30ca, 0xbfdccccc, 0xccccccc6, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfdf295b, 0x6544ec43, 0xbfdccccc, 0xccccccc6, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0xbfddac67, 0x0561bb44, 0xbfdccccc, 0xccccccc6, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0xbfdc4fdb, 0xf911d369, 0xbfdccccc, 0xccccccc6, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0xc00616b4, 0x66d73d61, 0xbfd99999, 0x99999993, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0xc005f1ce, 0xcb0d4d6e, 0xbfd99999, 0x99999993, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0xc005c975, 0x54f4b39f, 0xbfd99999, 0x99999993, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0xc0059d2f, 0x241f85a8, 0xbfd99999, 0x99999993, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0xc0056c6e, 0x7397f5af, 0xbfd99999, 0x99999993, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0xc005368c, 0x951e9cfd, 0xbfd99999, 0x99999993, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0xc004fac5, 0x404fe6dc, 0xbfd99999, 0x99999993, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0xc004b831, 0x3ddf1778, 0xbfd99999, 0x99999993, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0xc0046dc0, 0x9ec29433, 0xbfd99999, 0x99999993, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0xc0041a34, 0xfb542c00, 0xbfd99999, 0x99999993, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0xc003bc1c, 0xc0033274, 0xbfd99999, 0x99999993, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0xc00351d1, 0x783b3dae, 0xbfd99999, 0x99999993, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfd99999, 0x99999993, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0xc0025127, 0x9b802819, 0xbfd99999, 0x99999993, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0xc001b6e1, 0x92ebbe44, 0xbfd99999, 0x99999993, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0xc0010900, 0x9519d639, 0xbfd99999, 0x99999993, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0xc000468a, 0x8ace4df6, 0xbfd99999, 0x99999993, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0xbffedf81, 0xa4bd64d3, 0xbfd99999, 0x99999993, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0xbffd0d6a, 0x1369bd32, 0xbfd99999, 0x99999993, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0xbffb1f56, 0xfdeef00d, 0xbfd99999, 0x99999993, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0xbff921fb, 0x54442d15, 0xbfd99999, 0x99999993, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0xbff7249f, 0xaa996a1d, 0xbfd99999, 0x99999993, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0xbff5368c, 0x951e9cf8, 0xbfd99999, 0x99999993, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0xbff36475, 0x03caf558, 0xbfd99999, 0x99999993, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0xbff1b6e1, 0x92ebbe40, 0xbfd99999, 0x99999993, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0xbff031f5, 0x7e54adba, 0xbfd99999, 0x99999993, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0xbfedac67, 0x0561bb47, 0xbfd99999, 0x99999993, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0xbfeb434e, 0xe31013f5, 0xbfd99999, 0x99999993, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0xbfe921fb, 0x54442d11, 0xbfd99999, 0x99999993, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfe740a7, 0x7023bda2, 0xbfd99999, 0x99999993, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0xbfe5977a, 0x5103ea8b, 0xbfd99999, 0x99999993, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0xbfe41f19, 0x63c00458, 0xbfd99999, 0x99999993, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0xbfe2d0ea, 0xd606638f, 0xbfd99999, 0x99999993, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0xbfe1a728, 0x5994567c, 0xbfd99999, 0x99999993, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0xbfe09cd8, 0x4fd118ed, 0xbfd99999, 0x99999993, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0xbfdf5b75, 0xf92c80d1, 0xbfd99999, 0x99999993, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0xbfddac67, 0x0561bb43, 0xbfd99999, 0x99999993, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfdc2661, 0x81253b7c, 0xbfd99999, 0x99999993, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0xbfdac42f, 0xfa7bcbc4, 0xbfd99999, 0x99999993, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0xbfd98164, 0x49b6fd49, 0xbfd99999, 0x99999993, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0xc0067078, 0xc2eef45e, 0xbfd66666, 0x66666660, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0xc0064f0e, 0xb4680650, 0xbfd66666, 0x66666660, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0xc0062a65, 0x7a259a4e, 0xbfd66666, 0x66666660, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0xc0060204, 0xbe520694, 0xbfd66666, 0x66666660, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0xc005d55d, 0x7bcaa899, 0xbfd66666, 0x66666660, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0xc005a3c4, 0xf2e49eb6, 0xbfd66666, 0x66666660, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0xc0056c6e, 0x7397f5af, 0xbfd66666, 0x66666660, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0xc0052e63, 0xcbf6f7b3, 0xbfd66666, 0x66666660, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0xc004e87c, 0x3b956ba8, 0xbfd66666, 0x66666660, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0xc0049952, 0x004c912f, 0xbfd66666, 0x66666660, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0xc0043f37, 0x08e537ed, 0xbfd66666, 0x66666660, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0xc003d82a, 0x5408834e, 0xbfd66666, 0x66666660, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0xc00361d1, 0x62e61b8c, 0xbfd66666, 0x66666660, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfd66666, 0x66666660, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0xc0023c41, 0xea611604, 0xbfd66666, 0x66666660, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0xc0018743, 0x06ef5824, 0xbfd66666, 0x66666660, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0xc000b833, 0xbe165cc8, 0xbfd66666, 0x66666660, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0xbfff9c6b, 0x238c6433, 0xbfd66666, 0x66666660, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0xbffd95e5, 0xac22d08a, 0xbfd66666, 0x66666660, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0xbffb6731, 0x2cd2f431, 0xbfd66666, 0x66666660, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0xbff921fb, 0x54442d14, 0xbfd66666, 0x66666660, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0xbff6dcc5, 0x7bb565f8, 0xbfd66666, 0x66666660, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0xbff4ae10, 0xfc6589a0, 0xbfd66666, 0x66666660, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0xbff2a78b, 0x84fbf5f7, 0xbfd66666, 0x66666660, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0xbff0d38f, 0x2c5ba099, 0xbfd66666, 0x66666660, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0xbfee6ae1, 0x355353c6, 0xbfd66666, 0x66666660, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0xbfeb96e5, 0xa78c5c48, 0xbfd66666, 0x66666660, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0xbfe921fb, 0x54442d10, 0xbfd66666, 0x66666660, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0xbfe700a7, 0xc578462c, 0xbfd66666, 0x66666660, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfe52744, 0x00eea723, 0xbfd66666, 0x66666660, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0xbfe38b11, 0x2d7bd4a6, 0xbfd66666, 0x66666660, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0xbfe222a5, 0x4fde6fa1, 0xbfd66666, 0x66666660, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0xbfe0e5fc, 0x62bb05bd, 0xbfd66666, 0x66666660, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0xbfdf9cbc, 0x4269ab1e, 0xbfd66666, 0x66666660, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0xbfddac67, 0x0561bb43, 0xbfd66666, 0x66666660, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0xbfdbf1b3, 0x0afc730f, 0xbfd66666, 0x66666660, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0xbfda64ee, 0xc3cc23f1, 0xbfd66666, 0x66666660, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfd8ffb4, 0xaf91341a, 0xbfd66666, 0x66666660, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0xbfd7bcae, 0xd0f4964a, 0xbfd66666, 0x66666660, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0xbfd69764, 0xfee13639, 0xbfd66666, 0x66666660, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0xc006cd14, 0x07805738, 0xbfd33333, 0x3333332d, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0xc006af8a, 0xb51a6805, 0xbfd33333, 0x3333332d, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0xc0068f09, 0x5fdf593d, 0xbfd33333, 0x3333332d, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0xc0066b1c, 0x486d572a, 0xbfd33333, 0x3333332d, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0xc0064338, 0x2c07913b, 0xbfd33333, 0x3333332d, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0xc00616b4, 0x66d73d61, 0xbfd33333, 0x3333332d, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0xc005e4c3, 0x6ca0118b, 0xbfd33333, 0x3333332d, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0xc005ac69, 0x1f0f489b, 0xbfd33333, 0x3333332d, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0xc0056c6e, 0x7397f5af, 0xbfd33333, 0x3333332d, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0xc0052351, 0xd5cc5410, 0xbfd33333, 0x3333332d, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0xc004cf33, 0xdec5e9e0, 0xbfd33333, 0x3333332d, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0xc0046dc0, 0x9ec29433, 0xbfd33333, 0x3333332d, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0xc003fc17, 0x6b7a8560, 0xbfd33333, 0x3333332d, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0xc00376b7, 0x14052da1, 0xbfd33333, 0x3333332d, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfd33333, 0x3333332d, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0xc0021fd0, 0x9b1e712e, 0xbfd33333, 0x3333332d, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0xc0014538, 0x5fa3af71, 0xbfd33333, 0x3333332d, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0xc000468a, 0x8ace4df6, 0xbfd33333, 0x3333332d, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0xbffe47df, 0x3d0dd4ce, 0xbfd33333, 0x3333332d, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0xbffbc66e, 0x44cbc071, 0xbfd33333, 0x3333332d, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0xbff921fb, 0x54442d13, 0xbfd33333, 0x3333332d, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0xbff67d88, 0x63bc99b7, 0xbfd33333, 0x3333332d, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0xbff3fc17, 0x6b7a855a, 0xbfd33333, 0x3333332d, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0xbff1b6e1, 0x92ebbe3e, 0xbfd33333, 0x3333332d, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0xbfef730b, 0xd281f68f, 0xbfd33333, 0x3333332d, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0xbfec08aa, 0xe496ef9b, 0xbfd33333, 0x3333332d, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0xbfe921fb, 0x54442d0e, 0xbfd33333, 0x3333332d, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0xbfe6ad11, 0x00fbfdd6, 0xbfd33333, 0x3333332d, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0xbfe4978f, 0xa3269ed9, 0xbfd33333, 0x3333332d, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfe2d0ea, 0xd606638e, 0xbfd33333, 0x3333332d, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0xbfe14b1d, 0xd5f90cd9, 0xbfd33333, 0x3333332d, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0xbfdff54b, 0xf3bec834, 0xbfd33333, 0x3333332d, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0xbfddac67, 0x0561bb42, 0xbfd33333, 0x3333332d, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0xbfdbac91, 0xa9a723e0, 0xbfd33333, 0x3333332d, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0xbfd9e9bf, 0x3d20dc65, 0xbfd33333, 0x3333332d, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0xbfd85a37, 0x6b677db4, 0xbfd33333, 0x3333332d, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0xbfd6f619, 0x41e4dee5, 0xbfd33333, 0x3333332d, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfd5b6f8, 0x5eb6af69, 0xbfd33333, 0x3333332d, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0xbfd4978f, 0xa3269ed7, 0xbfd33333, 0x3333332d, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0xbfd39384, 0xf94e2896, 0xbfd33333, 0x3333332d, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0xc0072c43, 0xf4b1650b, 0xbfcfffff, 0xfffffff4, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0xc00712fb, 0x97e1e344, 0xbfcfffff, 0xfffffff4, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0xc006f715, 0x259aea15, 0xbfcfffff, 0xfffffff4, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0xc006d825, 0xfdaafadb, 0xbfcfffff, 0xfffffff4, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0xc006b5ac, 0x6d632fa0, 0xbfcfffff, 0xfffffff4, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0xc0068f09, 0x5fdf593d, 0xbfcfffff, 0xfffffff4, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0xc0066377, 0xfe555c41, 0xbfcfffff, 0xfffffff4, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0xc0063202, 0x7e829b4d, 0xbfcfffff, 0xfffffff4, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0xc005f973, 0x15254857, 0xbfcfffff, 0xfffffff4, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0xc005b83f, 0xa76fbdb1, 0xbfcfffff, 0xfffffff4, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0xc0056c6e, 0x7397f5af, 0xbfcfffff, 0xfffffff4, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0xc0051371, 0xab22738c, 0xbfcfffff, 0xfffffff4, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0xc004a9f8, 0x694c6d6c, 0xbfcfffff, 0xfffffff4, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0xc0042bb5, 0xf776eb80, 0xbfcfffff, 0xfffffff4, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0xc0039328, 0x6347d276, 0xbfcfffff, 0xfffffff4, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfcfffff, 0xfffffff4, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0xc001f6dc, 0x3e631130, 0xbfcfffff, 0xfffffff4, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0xc000e3c5, 0x1fa059c4, 0xbfcfffff, 0xfffffff4, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0xbfff3889, 0x2f1e0c86, 0xbfcfffff, 0xfffffff4, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0xbffc4a83, 0x936311d6, 0xbfcfffff, 0xfffffff4, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0xbff921fb, 0x54442d13, 0xbfcfffff, 0xfffffff4, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0xbff5f973, 0x15254850, 0xbfcfffff, 0xfffffff4, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0xbff30b6d, 0x796a4da1, 0xbfcfffff, 0xfffffff4, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0xbff07c6c, 0x6947a6a1, 0xbfcfffff, 0xfffffff4, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0xbfecac7c, 0x57846f91, 0xbfcfffff, 0xfffffff4, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0xbfe921fb, 0x54442d0c, 0xbfcfffff, 0xfffffff4, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0xbfe63b4b, 0xc3f16a80, 0xbfcfffff, 0xfffffff4, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0xbfe3d915, 0x73350658, 0xbfcfffff, 0xfffffff4, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0xbfe1e00b, 0xabdefeab, 0xbfcfffff, 0xfffffff4, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfe03a26, 0xa486e62a, 0xbfcfffff, 0xfffffff4, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0xbfddac67, 0x0561bb41, 0xbfcfffff, 0xfffffff4, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0xbfdb4ddd, 0x66a37b33, 0xbfcfffff, 0xfffffff4, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0xbfd94441, 0xf8f725fe, 0xbfcfffff, 0xfffffff4, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0xbfd77fc6, 0xae0c8e55, 0xbfcfffff, 0xfffffff4, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0xbfd5f41a, 0xaf7686b1, 0xbfcfffff, 0xfffffff4, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0xbfd4978f, 0xa3269ed6, 0xbfcfffff, 0xfffffff4, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0xbfd36277, 0x3707ebc1, 0xbfcfffff, 0xfffffff4, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfd24eaa, 0xb4c991e4, 0xbfcfffff, 0xfffffff4, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0xbfd15731, 0x754a1817, 0xbfcfffff, 0xfffffff4, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0xbfd077fd, 0xe3124ea1, 0xbfcfffff, 0xfffffff4, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0xc0078db7, 0x34b4bab8, 0xbfc99999, 0x9999998e, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0xc0077907, 0x8c2f83ec, 0xbfc99999, 0x9999998e, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0xc0076225, 0xd32abdbd, 0xbfc99999, 0x9999998e, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0xc00748b5, 0x43f409e0, 0xbfc99999, 0x9999998e, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0xc0072c43, 0xf4b1650b, 0xbfc99999, 0x9999998e, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0xc0070c44, 0x9f55a998, 0xbfc99999, 0x9999998e, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0xc006e806, 0x2854db5f, 0xbfc99999, 0x9999998e, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0xc006bea7, 0xebdbbf5d, 0xbfc99999, 0x9999998e, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0xc0068f09, 0x5fdf593d, 0xbfc99999, 0x9999998e, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0xc00657b2, 0xe092b036, 0xbfc99999, 0x9999998e, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0xc00616b4, 0x66d73d61, 0xbfc99999, 0x9999998e, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0xc005c975, 0x54f4b39f, 0xbfc99999, 0x9999998e, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0xc0056c6e, 0x7397f5af, 0xbfc99999, 0x9999998e, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0xc004fac5, 0x404fe6dc, 0xbfc99999, 0x9999998e, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0xc0046dc0, 0x9ec29433, 0xbfc99999, 0x9999998e, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0xc003bc1c, 0xc0033274, 0xbfc99999, 0x9999998e, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfc99999, 0x9999998e, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0xc001b6e1, 0x92ebbe44, 0xbfc99999, 0x9999998e, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0xc000468a, 0x8ace4df5, 0xbfc99999, 0x9999998e, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0xbffd0d6a, 0x1369bd2f, 0xbfc99999, 0x9999998e, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0xbff921fb, 0x54442d11, 0xbfc99999, 0x9999998e, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0xbff5368c, 0x951e9cf4, 0xbfc99999, 0x9999998e, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0xbff1b6e1, 0x92ebbe3c, 0xbfc99999, 0x9999998e, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0xbfedac67, 0x0561bb3f, 0xbfc99999, 0x9999998e, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0xbfe921fb, 0x54442d09, 0xbfc99999, 0x9999998e, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0xbfe5977a, 0x5103ea85, 0xbfc99999, 0x9999998e, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0xbfe2d0ea, 0xd606638a, 0xbfc99999, 0x9999998e, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0xbfe09cd8, 0x4fd118e9, 0xbfc99999, 0x9999998e, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0xbfddac67, 0x0561bb3f, 0xbfc99999, 0x9999998e, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfdac42f, 0xfa7bcbbf, 0xbfc99999, 0x9999998e, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0xbfd85a37, 0x6b677db1, 0xbfc99999, 0x9999998e, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0xbfd65243, 0x9d8be709, 0xbfc99999, 0x9999998e, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0xbfd4978f, 0xa3269ed4, 0xbfc99999, 0x9999998e, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0xbfd31a9b, 0x43436dd5, 0xbfc99999, 0x9999998e, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0xbfd1cfa9, 0x5f7a8dc3, 0xbfc99999, 0x9999998e, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0xbfd0adb5, 0xa7741bf9, 0xbfc99999, 0x9999998e, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0xbfcf5b75, 0xf92c80ca, 0xbfc99999, 0x9999998e, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfcd9461, 0x05023378, 0xbfc99999, 0x9999998e, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0xbfcbfd58, 0x1196f5af, 0xbfc99999, 0x9999998e, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0xbfca8f3c, 0x814a92c5, 0xbfc99999, 0x9999998e, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0xc007f10e, 0x1dc6b049, 0xbfc33333, 0x33333328, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0xc007e142, 0xd82322eb, 0xbfc33333, 0x33333328, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0xc007cfc1, 0xdc00636b, 0xbfc33333, 0x33333328, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0xc007bc40, 0xca9216fe, 0xbfc33333, 0x33333328, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0xc007a663, 0x9f874769, 0xbfc33333, 0x33333328, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0xc0078db7, 0x34b4bab8, 0xbfc33333, 0x33333328, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0xc00771a9, 0xa0af69de, 0xbfc33333, 0x33333328, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0xc007517f, 0x6a2ae180, 0xbfc33333, 0x33333328, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0xc0072c43, 0xf4b1650b, 0xbfc33333, 0x33333328, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0xc00700b2, 0x93276810, 0xbfc33333, 0x33333328, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0xc006cd14, 0x07805738, 0xbfc33333, 0x33333328, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0xc0068f09, 0x5fdf593d, 0xbfc33333, 0x33333328, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0xc0064338, 0x2c07913b, 0xbfc33333, 0x33333328, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0xc005e4c3, 0x6ca0118b, 0xbfc33333, 0x33333328, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0xc0056c6e, 0x7397f5af, 0xbfc33333, 0x33333328, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0xc004cf33, 0xdec5e9e1, 0xbfc33333, 0x33333328, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0xc003fc17, 0x6b7a8560, 0xbfc33333, 0x33333328, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfc33333, 0x33333328, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0xc0014538, 0x5fa3af70, 0xbfc33333, 0x33333328, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0xbffe47df, 0x3d0dd4cb, 0xbfc33333, 0x33333328, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0xbff921fb, 0x54442d0f, 0xbfc33333, 0x33333328, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0xbff3fc17, 0x6b7a8555, 0xbfc33333, 0x33333328, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0xbfef730b, 0xd281f685, 0xbfc33333, 0x33333328, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0xbfe921fb, 0x54442d05, 0xbfc33333, 0x33333328, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0xbfe4978f, 0xa3269ed1, 0xbfc33333, 0x33333328, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0xbfe14b1d, 0xd5f90cd4, 0xbfc33333, 0x33333328, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0xbfddac67, 0x0561bb39, 0xbfc33333, 0x33333328, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0xbfd9e9bf, 0x3d20dc5e, 0xbfc33333, 0x33333328, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0xbfd6f619, 0x41e4dee0, 0xbfc33333, 0x33333328, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfd4978f, 0xa3269ed2, 0xbfc33333, 0x33333328, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0xbfd2a73a, 0x661eaef8, 0xbfc33333, 0x33333328, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0xbfd10a46, 0x08e6283d, 0xbfc33333, 0x33333328, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0xbfcf5b75, 0xf92c80c6, 0xbfc33333, 0x33333328, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0xbfcd07be, 0xa194b97b, 0xbfc33333, 0x33333328, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0xbfcb051b, 0x394c3396, 0xbfc33333, 0x33333328, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0xbfc94441, 0xf8f725f8, 0xbfc33333, 0x33333328, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0xbfc7b97b, 0x4bce5af0, 0xbfc33333, 0x33333328, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfc65ba8, 0x9b21619a, 0xbfc33333, 0x33333328, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0xbfc52397, 0x843c9acd, 0xbfc33333, 0x33333328, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0xbfc40b87, 0xc210a2d5, 0xbfc33333, 0x33333328, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0xc00855dc, 0x402d16b7, 0xbfb99999, 0x99999983, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0xc0084b31, 0x9bd4918d, 0xbfb99999, 0x99999983, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0xc0083f5b, 0x13741c78, 0xbfb99999, 0x99999983, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0xc0083224, 0x9ea440f7, 0xbfb99999, 0x99999983, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0xc008234d, 0x7f6ecb9e, 0xbfb99999, 0x99999983, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0xc0081284, 0x26c22f58, 0xbfb99999, 0x99999983, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0xc007ff60, 0x67fcc98b, 0xbfb99999, 0x99999983, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0xc007e95b, 0x1e3a76c5, 0xbfb99999, 0x99999983, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0xc007cfc1, 0xdc00636b, 0xbfb99999, 0x99999983, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0xc007b1a4, 0x4c26bccb, 0xbfb99999, 0x99999983, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0xc0078db7, 0x34b4bab9, 0xbfb99999, 0x99999983, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0xc0076225, 0xd32abdbd, 0xbfb99999, 0x99999983, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0xc0072c43, 0xf4b1650c, 0xbfb99999, 0x99999983, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0xc006e806, 0x2854db60, 0xbfb99999, 0x99999983, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0xc0068f09, 0x5fdf593e, 0xbfb99999, 0x99999983, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0xc00616b4, 0x66d73d62, 0xbfb99999, 0x99999983, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0xc0056c6e, 0x7397f5b0, 0xbfb99999, 0x99999983, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0xc0046dc0, 0x9ec29434, 0xbfb99999, 0x99999983, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfb99999, 0x99999983, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0xc000468a, 0x8ace4df4, 0xbfb99999, 0x99999983, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0xbff921fb, 0x54442d0a, 0xbfb99999, 0x99999983, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0xbff1b6e1, 0x92ebbe33, 0xbfb99999, 0x99999983, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0xbfe921fb, 0x54442cfc, 0xbfb99999, 0x99999983, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0xbfe2d0ea, 0xd606637f, 0xbfb99999, 0x99999983, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0xbfddac67, 0x0561bb2c, 0xbfb99999, 0x99999983, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0xbfd85a37, 0x6b677da4, 0xbfb99999, 0x99999983, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0xbfd4978f, 0xa3269eca, 0xbfb99999, 0x99999983, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0xbfd1cfa9, 0x5f7a8dbc, 0xbfb99999, 0x99999983, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0xbfcf5b75, 0xf92c80bc, 0xbfb99999, 0x99999983, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfcbfd58, 0x1196f5a4, 0xbfb99999, 0x99999983, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0xbfc94441, 0xf8f725f1, 0xbfb99999, 0x99999983, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0xbfc70570, 0x81d704ce, 0xbfb99999, 0x99999983, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0xbfc52397, 0x843c9ac7, 0xbfb99999, 0x99999983, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0xbfc38a03, 0x609b6530, 0xbfb99999, 0x99999983, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0xbfc229ae, 0xc47638c9, 0xbfb99999, 0x99999983, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0xbfc0f772, 0xd81fdbf8, 0xbfb99999, 0x99999983, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0xbfbfd5ba, 0x9aac2f4b, 0xbfb99999, 0x99999983, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfbdfad6, 0xb3fd8429, 0xbfb99999, 0x99999983, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0xbfbc5408, 0x1a021411, 0xbfb99999, 0x99999983, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0xbfbad937, 0x0df3715e, 0xbfb99999, 0x99999983, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0xc008bbaa, 0xbde5e29c, 0xbfa99999, 0x9999996c, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0xc008b64a, 0xa934a2c3, 0xbfa99999, 0x9999996c, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0xc008b052, 0x20fc1e46, 0xbfa99999, 0x9999996c, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0xc008a9a6, 0x5b3c113d, 0xbfa99999, 0x9999996c, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0xc008a225, 0xe5677921, 0xbfa99999, 0x9999996c, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0xc00899a6, 0x70913360, 0xbfa99999, 0x9999996c, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0xc0088ff1, 0xae5a77dd, 0xbfa99999, 0x9999996c, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0xc00884c0, 0xbf72214b, 0xbfa99999, 0x9999996c, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0xc00877b5, 0x6104e567, 0xbfa99999, 0x9999996c, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0xc008684f, 0x702f7c76, 0xbfa99999, 0x9999996c, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0xc00855dc, 0x402d16b7, 0xbfa99999, 0x9999996c, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0xc0083f5b, 0x13741c78, 0xbfa99999, 0x9999996c, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0xc008234d, 0x7f6ecb9e, 0xbfa99999, 0x9999996c, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0xc007ff60, 0x67fcc98c, 0xbfa99999, 0x9999996c, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0xc007cfc1, 0xdc00636c, 0xbfa99999, 0x9999996c, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0xc0078db7, 0x34b4baba, 0xbfa99999, 0x9999996c, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0xc0072c43, 0xf4b1650d, 0xbfa99999, 0x9999996c, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0xc0068f09, 0x5fdf593f, 0xbfa99999, 0x9999996c, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0xc0056c6e, 0x7397f5b1, 0xbfa99999, 0x9999996c, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfa99999, 0x9999996c, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0xbff921fb, 0x54442cfc, 0xbfa99999, 0x9999996c, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0xbfe921fb, 0x54442cdf, 0xbfa99999, 0x9999996c, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0xbfddac67, 0x0561bb0b, 0xbfa99999, 0x9999996c, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0xbfd4978f, 0xa3269eb3, 0xbfa99999, 0x9999996c, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0xbfcf5b75, 0xf92c809a, 0xbfa99999, 0x9999996c, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0xbfc94441, 0xf8f725d6, 0xbfa99999, 0x9999996c, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0xbfc52397, 0x843c9ab2, 0xbfa99999, 0x9999996c, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0xbfc229ae, 0xc47638b8, 0xbfa99999, 0x9999996c, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0xbfbfd5ba, 0x9aac2f2f, 0xbfa99999, 0x9999996c, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfbc5408, 0x1a0213f9, 0xbfa99999, 0x9999996c, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0xbfb983e2, 0x82e2cc1a, 0xbfa99999, 0x9999996c, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0xbfb7357c, 0x82961441, 0xbfa99999, 0x9999996c, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0xbfb548be, 0x67e8f615, 0xbfa99999, 0x9999996c, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0xbfb3a752, 0x9a4179a3, 0xbfa99999, 0x9999996c, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0xbfb24134, 0xbd36a760, 0xbfa99999, 0x9999996c, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0xbfb10a9c, 0x765f3702, 0xbfa99999, 0x9999996c, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0xbfaff55b, 0xb72cfdaa, 0xbfa99999, 0x9999996c, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0xbfae153e, 0x4206f6b9, 0xbfa99999, 0x9999996c, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0xbfac6a4c, 0xd203b483, 0xbfa99999, 0x9999996c, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0xbfaaec2a, 0xc3e29569, 0xbfa99999, 0x9999996c, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0x400921fb, 0x54442d18, 0x3cb70000, 0x00000000, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0x400921fb, 0x54442d18, 0x3cb70000, 0x00000000, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0x400921fb, 0x54442d17, 0x3cb70000, 0x00000000, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0x400921fb, 0x54442d17, 0x3cb70000, 0x00000000, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0x400921fb, 0x54442d17, 0x3cb70000, 0x00000000, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0x400921fb, 0x54442d17, 0x3cb70000, 0x00000000, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0x400921fb, 0x54442d17, 0x3cb70000, 0x00000000, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0x400921fb, 0x54442d17, 0x3cb70000, 0x00000000, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0x400921fb, 0x54442d17, 0x3cb70000, 0x00000000, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0x400921fb, 0x54442d17, 0x3cb70000, 0x00000000, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0x400921fb, 0x54442d17, 0x3cb70000, 0x00000000, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0x400921fb, 0x54442d17, 0x3cb70000, 0x00000000, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0x400921fb, 0x54442d16, 0x3cb70000, 0x00000000, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0x400921fb, 0x54442d16, 0x3cb70000, 0x00000000, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0x400921fb, 0x54442d16, 0x3cb70000, 0x00000000, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0x400921fb, 0x54442d15, 0x3cb70000, 0x00000000, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0x400921fb, 0x54442d15, 0x3cb70000, 0x00000000, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0x400921fb, 0x54442d13, 0x3cb70000, 0x00000000, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0x400921fb, 0x54442d11, 0x3cb70000, 0x00000000, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0x400921fb, 0x54442d0a, 0x3cb70000, 0x00000000, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3cb70000, 0x00000000, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0x3cfcbfff, 0xffffffcc, 0x3cb70000, 0x00000000, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0x3cecbfff, 0xffffffe6, 0x3cb70000, 0x00000000, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0x3ce32aaa, 0xaaaaaa9f, 0x3cb70000, 0x00000000, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0x3cdcbfff, 0xfffffff2, 0x3cb70000, 0x00000000, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0x3cd6ffff, 0xfffffff7, 0x3cb70000, 0x00000000, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0x3cd32aaa, 0xaaaaaaa5, 0x3cb70000, 0x00000000, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0x3cd06db6, 0xdb6db6d7, 0x3cb70000, 0x00000000, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0x3cccbfff, 0xfffffffa, 0x3cb70000, 0x00000000, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3cc98e38, 0xe38e38df, 0x3cb70000, 0x00000000, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0x3cc6ffff, 0xfffffffc, 0x3cb70000, 0x00000000, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0x3cc4e8ba, 0x2e8ba2e5, 0x3cb70000, 0x00000000, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0x3cc32aaa, 0xaaaaaaa7, 0x3cb70000, 0x00000000, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0x3cc1b13b, 0x13b13b10, 0x3cb70000, 0x00000000, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0x3cc06db6, 0xdb6db6d8, 0x3cb70000, 0x00000000, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0x3cbeaaaa, 0xaaaaaaa4, 0x3cb70000, 0x00000000, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0x3cbcbfff, 0xfffffffa, 0x3cb70000, 0x00000000, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3cbb0f0f, 0x0f0f0f09, 0x3cb70000, 0x00000000, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0x3cb98e38, 0xe38e38de, 0x3cb70000, 0x00000000, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0x3cb835e5, 0x0d794359, 0x3cb70000, 0x00000000, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0x4008bbaa, 0xbde5e29b, 0x3fa99999, 0x999999c8, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0x4008b64a, 0xa934a2c1, 0x3fa99999, 0x999999c8, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0x4008b052, 0x20fc1e45, 0x3fa99999, 0x999999c8, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0x4008a9a6, 0x5b3c113c, 0x3fa99999, 0x999999c8, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0x4008a225, 0xe5677920, 0x3fa99999, 0x999999c8, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0x400899a6, 0x7091335e, 0x3fa99999, 0x999999c8, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0x40088ff1, 0xae5a77db, 0x3fa99999, 0x999999c8, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0x400884c0, 0xbf722149, 0x3fa99999, 0x999999c8, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0x400877b5, 0x6104e565, 0x3fa99999, 0x999999c8, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0x4008684f, 0x702f7c73, 0x3fa99999, 0x999999c8, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0x400855dc, 0x402d16b4, 0x3fa99999, 0x999999c8, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0x40083f5b, 0x13741c75, 0x3fa99999, 0x999999c8, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0x4008234d, 0x7f6ecb9b, 0x3fa99999, 0x999999c8, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0x4007ff60, 0x67fcc988, 0x3fa99999, 0x999999c8, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0x4007cfc1, 0xdc006368, 0x3fa99999, 0x999999c8, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0x40078db7, 0x34b4bab4, 0x3fa99999, 0x999999c8, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0x40072c43, 0xf4b16506, 0x3fa99999, 0x999999c8, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0x40068f09, 0x5fdf5936, 0x3fa99999, 0x999999c8, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0x40056c6e, 0x7397f5a6, 0x3fa99999, 0x999999c8, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0x4002d97c, 0x7f3321c4, 0x3fa99999, 0x999999c8, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0x3ff921fb, 0x54442cfc, 0x3fa99999, 0x999999c8, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fa99999, 0x999999c8, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0x3fddac67, 0x0561bb66, 0x3fa99999, 0x999999c8, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0x3fd4978f, 0xa3269ef8, 0x3fa99999, 0x999999c8, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0x3fcf5b75, 0xf92c8105, 0x3fa99999, 0x999999c8, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0x3fc94441, 0xf8f7262e, 0x3fa99999, 0x999999c8, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0x3fc52397, 0x843c9afd, 0x3fa99999, 0x999999c8, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0x3fc229ae, 0xc47638f9, 0x3fa99999, 0x999999c8, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0x3fbfd5ba, 0x9aac2fa1, 0x3fa99999, 0x999999c8, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fbc5408, 0x1a02145e, 0x3fa99999, 0x999999c8, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0x3fb983e2, 0x82e2cc75, 0x3fa99999, 0x999999c8, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0x3fb7357c, 0x82961494, 0x3fa99999, 0x999999c8, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0x3fb548be, 0x67e8f661, 0x3fa99999, 0x999999c8, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0x3fb3a752, 0x9a4179e9, 0x3fa99999, 0x999999c8, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0x3fb24134, 0xbd36a7a2, 0x3fa99999, 0x999999c8, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0x3fb10a9c, 0x765f373f, 0x3fa99999, 0x999999c8, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0x3faff55b, 0xb72cfe1e, 0x3fa99999, 0x999999c8, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fae153e, 0x4206f724, 0x3fa99999, 0x999999c8, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0x3fac6a4c, 0xd203b4e9, 0x3fa99999, 0x999999c8, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0x3faaec2a, 0xc3e295c9, 0x3fa99999, 0x999999c8, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0x400855dc, 0x402d16b5, 0x3fb99999, 0x999999b1, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0x40084b31, 0x9bd4918c, 0x3fb99999, 0x999999b1, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0x40083f5b, 0x13741c76, 0x3fb99999, 0x999999b1, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0x40083224, 0x9ea440f5, 0x3fb99999, 0x999999b1, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0x4008234d, 0x7f6ecb9c, 0x3fb99999, 0x999999b1, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0x40081284, 0x26c22f56, 0x3fb99999, 0x999999b1, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0x4007ff60, 0x67fcc989, 0x3fb99999, 0x999999b1, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0x4007e95b, 0x1e3a76c3, 0x3fb99999, 0x999999b1, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0x4007cfc1, 0xdc006369, 0x3fb99999, 0x999999b1, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0x4007b1a4, 0x4c26bcc8, 0x3fb99999, 0x999999b1, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0x40078db7, 0x34b4bab6, 0x3fb99999, 0x999999b1, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0x40076225, 0xd32abdba, 0x3fb99999, 0x999999b1, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0x40072c43, 0xf4b16508, 0x3fb99999, 0x999999b1, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0x4006e806, 0x2854db5c, 0x3fb99999, 0x999999b1, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0x40068f09, 0x5fdf5939, 0x3fb99999, 0x999999b1, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0x400616b4, 0x66d73d5d, 0x3fb99999, 0x999999b1, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0x40056c6e, 0x7397f5aa, 0x3fb99999, 0x999999b1, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0x40046dc0, 0x9ec2942e, 0x3fb99999, 0x999999b1, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0x4002d97c, 0x7f3321cb, 0x3fb99999, 0x999999b1, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0x4000468a, 0x8ace4dee, 0x3fb99999, 0x999999b1, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0x3ff921fb, 0x54442d0a, 0x3fb99999, 0x999999b1, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0x3ff1b6e1, 0x92ebbe3f, 0x3fb99999, 0x999999b1, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fb99999, 0x999999b1, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0x3fe2d0ea, 0xd606639a, 0x3fb99999, 0x999999b1, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0x3fddac67, 0x0561bb5b, 0x3fb99999, 0x999999b1, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0x3fd85a37, 0x6b677dcb, 0x3fb99999, 0x999999b1, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0x3fd4978f, 0xa3269eed, 0x3fb99999, 0x999999b1, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0x3fd1cfa9, 0x5f7a8dd9, 0x3fb99999, 0x999999b1, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0x3fcf5b75, 0xf92c80f2, 0x3fb99999, 0x999999b1, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fcbfd58, 0x1196f5d5, 0x3fb99999, 0x999999b1, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0x3fc94441, 0xf8f7261d, 0x3fb99999, 0x999999b1, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0x3fc70570, 0x81d704f6, 0x3fb99999, 0x999999b1, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0x3fc52397, 0x843c9aed, 0x3fb99999, 0x999999b1, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0x3fc38a03, 0x609b6553, 0x3fb99999, 0x999999b1, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0x3fc229ae, 0xc47638e9, 0x3fb99999, 0x999999b1, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0x3fc0f772, 0xd81fdc17, 0x3fb99999, 0x999999b1, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0x3fbfd5ba, 0x9aac2f83, 0x3fb99999, 0x999999b1, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fbdfad6, 0xb3fd845e, 0x3fb99999, 0x999999b1, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0x3fbc5408, 0x1a021443, 0x3fb99999, 0x999999b1, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0x3fbad937, 0x0df3718e, 0x3fb99999, 0x999999b1, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0x4007f10e, 0x1dc6b047, 0x3fc33333, 0x3333333f, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0x4007e142, 0xd82322e9, 0x3fc33333, 0x3333333f, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0x4007cfc1, 0xdc00636a, 0x3fc33333, 0x3333333f, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0x4007bc40, 0xca9216fd, 0x3fc33333, 0x3333333f, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0x4007a663, 0x9f874767, 0x3fc33333, 0x3333333f, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0x40078db7, 0x34b4bab6, 0x3fc33333, 0x3333333f, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0x400771a9, 0xa0af69dc, 0x3fc33333, 0x3333333f, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0x4007517f, 0x6a2ae17e, 0x3fc33333, 0x3333333f, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0x40072c43, 0xf4b16509, 0x3fc33333, 0x3333333f, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0x400700b2, 0x9327680d, 0x3fc33333, 0x3333333f, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0x4006cd14, 0x07805736, 0x3fc33333, 0x3333333f, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0x40068f09, 0x5fdf593a, 0x3fc33333, 0x3333333f, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0x40064338, 0x2c079138, 0x3fc33333, 0x3333333f, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0x4005e4c3, 0x6ca01188, 0x3fc33333, 0x3333333f, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0x40056c6e, 0x7397f5ab, 0x3fc33333, 0x3333333f, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0x4004cf33, 0xdec5e9dc, 0x3fc33333, 0x3333333f, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0x4003fc17, 0x6b7a855c, 0x3fc33333, 0x3333333f, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0x4002d97c, 0x7f3321ce, 0x3fc33333, 0x3333333f, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0x40014538, 0x5fa3af6c, 0x3fc33333, 0x3333333f, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0x3ffe47df, 0x3d0dd4c5, 0x3fc33333, 0x3333333f, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0x3ff921fb, 0x54442d0f, 0x3fc33333, 0x3333333f, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0x3ff3fc17, 0x6b7a855a, 0x3fc33333, 0x3333333f, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0x3fef730b, 0xd281f697, 0x3fc33333, 0x3333333f, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fc33333, 0x3333333f, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0x3fe4978f, 0xa3269ee3, 0x3fc33333, 0x3333333f, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0x3fe14b1d, 0xd5f90ce4, 0x3fc33333, 0x3333333f, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0x3fddac67, 0x0561bb57, 0x3fc33333, 0x3333333f, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0x3fd9e9bf, 0x3d20dc79, 0x3fc33333, 0x3333333f, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0x3fd6f619, 0x41e4def9, 0x3fc33333, 0x3333333f, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fd4978f, 0xa3269eea, 0x3fc33333, 0x3333333f, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0x3fd2a73a, 0x661eaf0d, 0x3fc33333, 0x3333333f, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0x3fd10a46, 0x08e62851, 0x3fc33333, 0x3333333f, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0x3fcf5b75, 0xf92c80eb, 0x3fc33333, 0x3333333f, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0x3fcd07be, 0xa194b99d, 0x3fc33333, 0x3333333f, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0x3fcb051b, 0x394c33b5, 0x3fc33333, 0x3333333f, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0x3fc94441, 0xf8f72615, 0x3fc33333, 0x3333333f, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0x3fc7b97b, 0x4bce5b0c, 0x3fc33333, 0x3333333f, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fc65ba8, 0x9b2161b4, 0x3fc33333, 0x3333333f, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0x3fc52397, 0x843c9ae6, 0x3fc33333, 0x3333333f, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0x3fc40b87, 0xc210a2ec, 0x3fc33333, 0x3333333f, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0x40078db7, 0x34b4bab7, 0x3fc99999, 0x999999a6, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0x40077907, 0x8c2f83ea, 0x3fc99999, 0x999999a6, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0x40076225, 0xd32abdbb, 0x3fc99999, 0x999999a6, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0x400748b5, 0x43f409df, 0x3fc99999, 0x999999a6, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0x40072c43, 0xf4b16509, 0x3fc99999, 0x999999a6, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0x40070c44, 0x9f55a997, 0x3fc99999, 0x999999a6, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0x4006e806, 0x2854db5d, 0x3fc99999, 0x999999a6, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0x4006bea7, 0xebdbbf5b, 0x3fc99999, 0x999999a6, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0x40068f09, 0x5fdf593b, 0x3fc99999, 0x999999a6, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0x400657b2, 0xe092b034, 0x3fc99999, 0x999999a6, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0x400616b4, 0x66d73d5e, 0x3fc99999, 0x999999a6, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0x4005c975, 0x54f4b39c, 0x3fc99999, 0x999999a6, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0x40056c6e, 0x7397f5ac, 0x3fc99999, 0x999999a6, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0x4004fac5, 0x404fe6d9, 0x3fc99999, 0x999999a6, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0x40046dc0, 0x9ec29430, 0x3fc99999, 0x999999a6, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0x4003bc1c, 0xc0033270, 0x3fc99999, 0x999999a6, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0x4002d97c, 0x7f3321ce, 0x3fc99999, 0x999999a6, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0x4001b6e1, 0x92ebbe40, 0x3fc99999, 0x999999a6, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0x4000468a, 0x8ace4df2, 0x3fc99999, 0x999999a6, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0x3ffd0d6a, 0x1369bd2c, 0x3fc99999, 0x999999a6, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0x3ff921fb, 0x54442d11, 0x3fc99999, 0x999999a6, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0x3ff5368c, 0x951e9cf8, 0x3fc99999, 0x999999a6, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0x3ff1b6e1, 0x92ebbe42, 0x3fc99999, 0x999999a6, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0x3fedac67, 0x0561bb4e, 0x3fc99999, 0x999999a6, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fc99999, 0x999999a6, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0x3fe5977a, 0x5103ea94, 0x3fc99999, 0x999999a6, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0x3fe2d0ea, 0xd6066398, 0x3fc99999, 0x999999a6, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0x3fe09cd8, 0x4fd118f7, 0x3fc99999, 0x999999a6, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0x3fddac67, 0x0561bb56, 0x3fc99999, 0x999999a6, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fdac42f, 0xfa7bcbd6, 0x3fc99999, 0x999999a6, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0x3fd85a37, 0x6b677dc6, 0x3fc99999, 0x999999a6, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0x3fd65243, 0x9d8be71c, 0x3fc99999, 0x999999a6, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0x3fd4978f, 0xa3269ee6, 0x3fc99999, 0x999999a6, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0x3fd31a9b, 0x43436de6, 0x3fc99999, 0x999999a6, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0x3fd1cfa9, 0x5f7a8dd3, 0x3fc99999, 0x999999a6, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0x3fd0adb5, 0xa7741c08, 0x3fc99999, 0x999999a6, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0x3fcf5b75, 0xf92c80e5, 0x3fc99999, 0x999999a6, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fcd9461, 0x05023393, 0x3fc99999, 0x999999a6, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0x3fcbfd58, 0x1196f5c9, 0x3fc99999, 0x999999a6, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0x3fca8f3c, 0x814a92de, 0x3fc99999, 0x999999a6, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0x40072c43, 0xf4b1650a, 0x3fd00000, 0x00000006, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0x400712fb, 0x97e1e342, 0x3fd00000, 0x00000006, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0x4006f715, 0x259aea13, 0x3fd00000, 0x00000006, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0x4006d825, 0xfdaafada, 0x3fd00000, 0x00000006, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0x4006b5ac, 0x6d632f9e, 0x3fd00000, 0x00000006, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0x40068f09, 0x5fdf593b, 0x3fd00000, 0x00000006, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0x40066377, 0xfe555c40, 0x3fd00000, 0x00000006, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0x40063202, 0x7e829b4b, 0x3fd00000, 0x00000006, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0x4005f973, 0x15254855, 0x3fd00000, 0x00000006, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0x4005b83f, 0xa76fbdae, 0x3fd00000, 0x00000006, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0x40056c6e, 0x7397f5ac, 0x3fd00000, 0x00000006, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0x40051371, 0xab22738a, 0x3fd00000, 0x00000006, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0x4004a9f8, 0x694c6d69, 0x3fd00000, 0x00000006, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0x40042bb5, 0xf776eb7e, 0x3fd00000, 0x00000006, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0x40039328, 0x6347d273, 0x3fd00000, 0x00000006, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0x4002d97c, 0x7f3321cf, 0x3fd00000, 0x00000006, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0x4001f6dc, 0x3e63112d, 0x3fd00000, 0x00000006, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0x4000e3c5, 0x1fa059c1, 0x3fd00000, 0x00000006, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0x3fff3889, 0x2f1e0c82, 0x3fd00000, 0x00000006, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0x3ffc4a83, 0x936311d4, 0x3fd00000, 0x00000006, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0x3ff921fb, 0x54442d13, 0x3fd00000, 0x00000006, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0x3ff5f973, 0x15254852, 0x3fd00000, 0x00000006, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0x3ff30b6d, 0x796a4da5, 0x3fd00000, 0x00000006, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0x3ff07c6c, 0x6947a6a6, 0x3fd00000, 0x00000006, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0x3fecac7c, 0x57846f9d, 0x3fd00000, 0x00000006, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fd00000, 0x00000006, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0x3fe63b4b, 0xc3f16a8c, 0x3fd00000, 0x00000006, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0x3fe3d915, 0x73350663, 0x3fd00000, 0x00000006, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0x3fe1e00b, 0xabdefeb6, 0x3fd00000, 0x00000006, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fe03a26, 0xa486e634, 0x3fd00000, 0x00000006, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0x3fddac67, 0x0561bb54, 0x3fd00000, 0x00000006, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0x3fdb4ddd, 0x66a37b45, 0x3fd00000, 0x00000006, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0x3fd94441, 0xf8f7260f, 0x3fd00000, 0x00000006, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0x3fd77fc6, 0xae0c8e66, 0x3fd00000, 0x00000006, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0x3fd5f41a, 0xaf7686c0, 0x3fd00000, 0x00000006, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0x3fd4978f, 0xa3269ee4, 0x3fd00000, 0x00000006, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0x3fd36277, 0x3707ebcf, 0x3fd00000, 0x00000006, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fd24eaa, 0xb4c991f1, 0x3fd00000, 0x00000006, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0x3fd15731, 0x754a1824, 0x3fd00000, 0x00000006, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0x3fd077fd, 0xe3124ead, 0x3fd00000, 0x00000006, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0x4006cd14, 0x07805737, 0x3fd33333, 0x33333339, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0x4006af8a, 0xb51a6804, 0x3fd33333, 0x33333339, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0x40068f09, 0x5fdf593b, 0x3fd33333, 0x33333339, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0x40066b1c, 0x486d5729, 0x3fd33333, 0x33333339, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0x40064338, 0x2c079139, 0x3fd33333, 0x33333339, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0x400616b4, 0x66d73d5f, 0x3fd33333, 0x33333339, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0x4005e4c3, 0x6ca01189, 0x3fd33333, 0x33333339, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0x4005ac69, 0x1f0f4899, 0x3fd33333, 0x33333339, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0x40056c6e, 0x7397f5ad, 0x3fd33333, 0x33333339, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0x40052351, 0xd5cc540e, 0x3fd33333, 0x33333339, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0x4004cf33, 0xdec5e9de, 0x3fd33333, 0x33333339, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0x40046dc0, 0x9ec29431, 0x3fd33333, 0x33333339, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0x4003fc17, 0x6b7a855e, 0x3fd33333, 0x33333339, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0x400376b7, 0x14052d9e, 0x3fd33333, 0x33333339, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0x4002d97c, 0x7f3321d0, 0x3fd33333, 0x33333339, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0x40021fd0, 0x9b1e712c, 0x3fd33333, 0x33333339, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0x40014538, 0x5fa3af6f, 0x3fd33333, 0x33333339, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0x4000468a, 0x8ace4df4, 0x3fd33333, 0x33333339, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0x3ffe47df, 0x3d0dd4cb, 0x3fd33333, 0x33333339, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0x3ffbc66e, 0x44cbc06f, 0x3fd33333, 0x33333339, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0x3ff921fb, 0x54442d13, 0x3fd33333, 0x33333339, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0x3ff67d88, 0x63bc99b9, 0x3fd33333, 0x33333339, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0x3ff3fc17, 0x6b7a855d, 0x3fd33333, 0x33333339, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0x3ff1b6e1, 0x92ebbe42, 0x3fd33333, 0x33333339, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0x3fef730b, 0xd281f699, 0x3fd33333, 0x33333339, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0x3fec08aa, 0xe496efa5, 0x3fd33333, 0x33333339, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fd33333, 0x33333339, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0x3fe6ad11, 0x00fbfde0, 0x3fd33333, 0x33333339, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0x3fe4978f, 0xa3269ee2, 0x3fd33333, 0x33333339, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fe2d0ea, 0xd6066397, 0x3fd33333, 0x33333339, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0x3fe14b1d, 0xd5f90ce2, 0x3fd33333, 0x33333339, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0x3fdff54b, 0xf3bec845, 0x3fd33333, 0x33333339, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0x3fddac67, 0x0561bb53, 0x3fd33333, 0x33333339, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0x3fdbac91, 0xa9a723ef, 0x3fd33333, 0x33333339, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0x3fd9e9bf, 0x3d20dc73, 0x3fd33333, 0x33333339, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0x3fd85a37, 0x6b677dc2, 0x3fd33333, 0x33333339, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0x3fd6f619, 0x41e4def2, 0x3fd33333, 0x33333339, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fd5b6f8, 0x5eb6af76, 0x3fd33333, 0x33333339, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0x3fd4978f, 0xa3269ee3, 0x3fd33333, 0x33333339, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0x3fd39384, 0xf94e28a1, 0x3fd33333, 0x33333339, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0x40067078, 0xc2eef45d, 0x3fd66666, 0x6666666c, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0x40064f0e, 0xb468064f, 0x3fd66666, 0x6666666c, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0x40062a65, 0x7a259a4d, 0x3fd66666, 0x6666666c, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0x40060204, 0xbe520693, 0x3fd66666, 0x6666666c, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0x4005d55d, 0x7bcaa898, 0x3fd66666, 0x6666666c, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0x4005a3c4, 0xf2e49eb4, 0x3fd66666, 0x6666666c, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0x40056c6e, 0x7397f5ad, 0x3fd66666, 0x6666666c, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0x40052e63, 0xcbf6f7b2, 0x3fd66666, 0x6666666c, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0x4004e87c, 0x3b956ba6, 0x3fd66666, 0x6666666c, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0x40049952, 0x004c912d, 0x3fd66666, 0x6666666c, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0x40043f37, 0x08e537eb, 0x3fd66666, 0x6666666c, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0x4003d82a, 0x5408834c, 0x3fd66666, 0x6666666c, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0x400361d1, 0x62e61b89, 0x3fd66666, 0x6666666c, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0x4002d97c, 0x7f3321d0, 0x3fd66666, 0x6666666c, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0x40023c41, 0xea611602, 0x3fd66666, 0x6666666c, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0x40018743, 0x06ef5822, 0x3fd66666, 0x6666666c, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0x4000b833, 0xbe165cc7, 0x3fd66666, 0x6666666c, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0x3fff9c6b, 0x238c6430, 0x3fd66666, 0x6666666c, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0x3ffd95e5, 0xac22d087, 0x3fd66666, 0x6666666c, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0x3ffb6731, 0x2cd2f430, 0x3fd66666, 0x6666666c, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0x3ff921fb, 0x54442d14, 0x3fd66666, 0x6666666c, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0x3ff6dcc5, 0x7bb565f9, 0x3fd66666, 0x6666666c, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0x3ff4ae10, 0xfc6589a2, 0x3fd66666, 0x6666666c, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0x3ff2a78b, 0x84fbf5fa, 0x3fd66666, 0x6666666c, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0x3ff0d38f, 0x2c5ba09d, 0x3fd66666, 0x6666666c, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0x3fee6ae1, 0x355353ce, 0x3fd66666, 0x6666666c, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0x3feb96e5, 0xa78c5c51, 0x3fd66666, 0x6666666c, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fd66666, 0x6666666c, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0x3fe700a7, 0xc5784634, 0x3fd66666, 0x6666666c, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fe52744, 0x00eea72c, 0x3fd66666, 0x6666666c, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0x3fe38b11, 0x2d7bd4af, 0x3fd66666, 0x6666666c, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0x3fe222a5, 0x4fde6fa9, 0x3fd66666, 0x6666666c, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0x3fe0e5fc, 0x62bb05c4, 0x3fd66666, 0x6666666c, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0x3fdf9cbc, 0x4269ab2c, 0x3fd66666, 0x6666666c, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0x3fddac67, 0x0561bb51, 0x3fd66666, 0x6666666c, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0x3fdbf1b3, 0x0afc731c, 0x3fd66666, 0x6666666c, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0x3fda64ee, 0xc3cc23fe, 0x3fd66666, 0x6666666c, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fd8ffb4, 0xaf913426, 0x3fd66666, 0x6666666c, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0x3fd7bcae, 0xd0f49656, 0x3fd66666, 0x6666666c, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0x3fd69764, 0xfee13644, 0x3fd66666, 0x6666666c, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0x400616b4, 0x66d73d60, 0x3fd99999, 0x9999999f, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0x4005f1ce, 0xcb0d4d6d, 0x3fd99999, 0x9999999f, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0x4005c975, 0x54f4b39e, 0x3fd99999, 0x9999999f, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0x40059d2f, 0x241f85a6, 0x3fd99999, 0x9999999f, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0x40056c6e, 0x7397f5ae, 0x3fd99999, 0x9999999f, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0x4005368c, 0x951e9cfc, 0x3fd99999, 0x9999999f, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0x4004fac5, 0x404fe6da, 0x3fd99999, 0x9999999f, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0x4004b831, 0x3ddf1776, 0x3fd99999, 0x9999999f, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0x40046dc0, 0x9ec29432, 0x3fd99999, 0x9999999f, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0x40041a34, 0xfb542bff, 0x3fd99999, 0x9999999f, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0x4003bc1c, 0xc0033272, 0x3fd99999, 0x9999999f, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0x400351d1, 0x783b3dac, 0x3fd99999, 0x9999999f, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0x4002d97c, 0x7f3321d0, 0x3fd99999, 0x9999999f, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0x40025127, 0x9b802817, 0x3fd99999, 0x9999999f, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0x4001b6e1, 0x92ebbe42, 0x3fd99999, 0x9999999f, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0x40010900, 0x9519d637, 0x3fd99999, 0x9999999f, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0x4000468a, 0x8ace4df4, 0x3fd99999, 0x9999999f, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0x3ffedf81, 0xa4bd64d1, 0x3fd99999, 0x9999999f, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0x3ffd0d6a, 0x1369bd30, 0x3fd99999, 0x9999999f, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0x3ffb1f56, 0xfdeef00c, 0x3fd99999, 0x9999999f, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0x3ff921fb, 0x54442d15, 0x3fd99999, 0x9999999f, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0x3ff7249f, 0xaa996a1e, 0x3fd99999, 0x9999999f, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0x3ff5368c, 0x951e9cfa, 0x3fd99999, 0x9999999f, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0x3ff36475, 0x03caf55a, 0x3fd99999, 0x9999999f, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0x3ff1b6e1, 0x92ebbe43, 0x3fd99999, 0x9999999f, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0x3ff031f5, 0x7e54adbd, 0x3fd99999, 0x9999999f, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0x3fedac67, 0x0561bb4e, 0x3fd99999, 0x9999999f, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0x3feb434e, 0xe31013fc, 0x3fd99999, 0x9999999f, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fd99999, 0x9999999f, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fe740a7, 0x7023bda9, 0x3fd99999, 0x9999999f, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0x3fe5977a, 0x5103ea93, 0x3fd99999, 0x9999999f, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0x3fe41f19, 0x63c0045f, 0x3fd99999, 0x9999999f, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0x3fe2d0ea, 0xd6066396, 0x3fd99999, 0x9999999f, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0x3fe1a728, 0x59945683, 0x3fd99999, 0x9999999f, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0x3fe09cd8, 0x4fd118f3, 0x3fd99999, 0x9999999f, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0x3fdf5b75, 0xf92c80dd, 0x3fd99999, 0x9999999f, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0x3fddac67, 0x0561bb4f, 0x3fd99999, 0x9999999f, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fdc2661, 0x81253b88, 0x3fd99999, 0x9999999f, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0x3fdac42f, 0xfa7bcbce, 0x3fd99999, 0x9999999f, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0x3fd98164, 0x49b6fd53, 0x3fd99999, 0x9999999f, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0x4005bffa, 0x17065de0, 0x3fdccccc, 0xccccccd2, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0x400597ff, 0xd521f2a9, 0x3fdccccc, 0xccccccd2, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0x40056c6e, 0x7397f5ae, 0x3fdccccc, 0xccccccd2, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0x40053ccf, 0xe79b8f8e, 0x3fdccccc, 0xccccccd2, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0x4005089b, 0xaf0d60e4, 0x3fdccccc, 0xccccccd2, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0x4004cf33, 0xdec5e9df, 0x3fdccccc, 0xccccccd2, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0x40048fe1, 0xf1cd429f, 0x3fdccccc, 0xccccccd2, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0x400449d3, 0x87509220, 0x3fdccccc, 0xccccccd2, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0x4003fc17, 0x6b7a855f, 0x3fdccccc, 0xccccccd2, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0x4003a59b, 0x934a3833, 0x3fdccccc, 0xccccccd2, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0x4003452d, 0x2a42ac27, 0x3fdccccc, 0xccccccd2, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0x4002d97c, 0x7f3321d0, 0x3fdccccc, 0xccccccd2, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0x40026127, 0x862b05f4, 0x3fdccccc, 0xccccccd2, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0x4001dace, 0xaa5dc055, 0x3fdccccc, 0xccccccd2, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0x40014538, 0x5fa3af70, 0x3fdccccc, 0xccccccd2, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0x40009f87, 0x5343d016, 0x3fdccccc, 0xccccccd2, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0x3fffd307, 0x52e32009, 0x3fdccccc, 0xccccccd2, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0x3ffe47df, 0x3d0dd4cd, 0x3fdccccc, 0xccccccd2, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0x3ffca1a6, 0x56770bcd, 0x3fdccccc, 0xccccccd2, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0x3ffae73b, 0xd5e44e58, 0x3fdccccc, 0xccccccd2, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0x3ff921fb, 0x54442d15, 0x3fdccccc, 0xccccccd2, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0x3ff75cba, 0xd2a40bd2, 0x3fdccccc, 0xccccccd2, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0x3ff5a250, 0x52114e5e, 0x3fdccccc, 0xccccccd2, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0x3ff3fc17, 0x6b7a855e, 0x3fdccccc, 0xccccccd2, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0x3ff270ef, 0x55a53a23, 0x3fdccccc, 0xccccccd2, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0x3ff104e8, 0x0200b9fe, 0x3fdccccc, 0xccccccd2, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0x3fef730b, 0xd281f699, 0x3fdccccc, 0xccccccd2, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0x3fed1cb2, 0xa799b305, 0x3fdccccc, 0xccccccd2, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0x3feb034f, 0x38649c87, 0x3fdccccc, 0xccccccd2, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fdccccc, 0xccccccd2, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0x3fe77338, 0xa80603be, 0x3fdccccc, 0xccccccd2, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0x3fe5f17f, 0x03e7d38e, 0x3fdccccc, 0xccccccd2, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0x3fe4978f, 0xa3269ee1, 0x3fdccccc, 0xccccccd2, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0x3fe3609f, 0x33ce6bdf, 0x3fdccccc, 0xccccccd2, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0x3fe24865, 0x89dba9df, 0x3fdccccc, 0xccccccd2, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0x3fe14b1d, 0xd5f90ce1, 0x3fdccccc, 0xccccccd2, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0x3fe0657e, 0x94db30cf, 0x3fdccccc, 0xccccccd2, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fdf295b, 0x6544ec4e, 0x3fdccccc, 0xccccccd2, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0x3fddac67, 0x0561bb4f, 0x3fdccccc, 0xccccccd2, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0x3fdc4fdb, 0xf911d373, 0x3fdccccc, 0xccccccd2, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0x40056c6e, 0x7397f5ae, 0x3fe00000, 0x00000003, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0x400541c5, 0x5d5d64c0, 0x3fe00000, 0x00000003, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0x40051371, 0xab22738b, 0x3fe00000, 0x00000003, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0x4004e102, 0xc80931db, 0x3fe00000, 0x00000003, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0x4004a9f8, 0x694c6d6a, 0x3fe00000, 0x00000003, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0x40046dc0, 0x9ec29432, 0x3fe00000, 0x00000003, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0x40042bb5, 0xf776eb7f, 0x3fe00000, 0x00000003, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0x4003e31d, 0xfb0d799c, 0x3fe00000, 0x00000003, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0x40039328, 0x6347d274, 0x3fe00000, 0x00000003, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0x40033aef, 0xbf36777e, 0x3fe00000, 0x00000003, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0x4002d97c, 0x7f3321d0, 0x3fe00000, 0x00000003, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0x40026dcb, 0xd423977a, 0x3fe00000, 0x00000003, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0x4001f6dc, 0x3e63112f, 0x3fe00000, 0x00000003, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0x400173c1, 0xf5810bb6, 0x3fe00000, 0x00000003, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0x4000e3c5, 0x1fa059c3, 0x3fe00000, 0x00000003, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0x4000468a, 0x8ace4df4, 0x3fe00000, 0x00000003, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0x3fff3889, 0x2f1e0c85, 0x3fe00000, 0x00000003, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0x3ffdcbc9, 0xedcbd8d7, 0x3fe00000, 0x00000003, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0x3ffc4a83, 0x936311d7, 0x3fe00000, 0x00000003, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0x3ffaba39, 0x7c7259da, 0x3fe00000, 0x00000003, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0x3ff921fb, 0x54442d15, 0x3fe00000, 0x00000003, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0x3ff789bd, 0x2c160051, 0x3fe00000, 0x00000003, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0x3ff5f973, 0x15254855, 0x3fe00000, 0x00000003, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0x3ff4782c, 0xbabc8155, 0x3fe00000, 0x00000003, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0x3ff30b6d, 0x796a4da7, 0x3fe00000, 0x00000003, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0x3ff1b6e1, 0x92ebbe43, 0x3fe00000, 0x00000003, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0x3ff07c6c, 0x6947a6a7, 0x3fe00000, 0x00000003, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0x3feeb8e5, 0x7b0c8582, 0x3fe00000, 0x00000003, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0x3fecac7c, 0x57846f9e, 0x3fe00000, 0x00000003, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fead0be, 0x00825672, 0x3fe00000, 0x00000003, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fe00000, 0x00000003, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0x3fe79c2e, 0x5436d664, 0x3fe00000, 0x00000003, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0x3fe63b4b, 0xc3f16a8a, 0x3fe00000, 0x00000003, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0x3fe4fb75, 0x64dacded, 0x3fe00000, 0x00000003, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0x3fe3d915, 0x73350660, 0x3fe00000, 0x00000003, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0x3fe2d0ea, 0xd6066395, 0x3fe00000, 0x00000003, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0x3fe1e00b, 0xabdefeb4, 0x3fe00000, 0x00000003, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fe103e2, 0x30ebecf2, 0x3fe00000, 0x00000003, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0x3fe03a26, 0xa486e631, 0x3fe00000, 0x00000003, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0x3fdf01af, 0xb73642bd, 0x3fe00000, 0x00000003, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0x40051c28, 0xaaf491df, 0x3fe19999, 0x9999999d, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0x4004ef33, 0x3421a552, 0x3fe19999, 0x9999999d, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0x4004be8d, 0x75c60da2, 0x3fe19999, 0x9999999d, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0x400489ce, 0x32c7e50c, 0x3fe19999, 0x9999999d, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0x4004507f, 0x4d109f28, 0x3fe19999, 0x9999999d, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0x4004121c, 0xb53cd826, 0x3fe19999, 0x9999999d, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0x4003ce13, 0xa64eb185, 0x3fe19999, 0x9999999d, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0x400383c2, 0x72726983, 0x3fe19999, 0x9999999d, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0x40033279, 0x47a8a3f3, 0x3fe19999, 0x9999999d, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0x4002d97c, 0x7f3321d1, 0x3fe19999, 0x9999999d, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0x40027809, 0x3f2fcc24, 0x3fe19999, 0x9999999d, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0x40020d5d, 0x6b1c0b6e, 0x3fe19999, 0x9999999d, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0x400198c4, 0x031217a2, 0x3fe19999, 0x9999999d, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0x400119a6, 0xfe19b274, 0x3fe19999, 0x9999999d, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0x40008fa7, 0x2899ef93, 0x3fe19999, 0x9999999d, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0x3ffff572, 0xaded0be5, 0x3fe19999, 0x9999999d, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0x3ffeb68c, 0x3ba726db, 0x3fe19999, 0x9999999d, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0x3ffd648c, 0xd67db728, 0x3fe19999, 0x9999999d, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0x3ffc02a9, 0x647f0db2, 0x3fe19999, 0x9999999d, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0x3ffa9553, 0x1c6d8e5d, 0x3fe19999, 0x9999999d, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0x3ff921fb, 0x54442d16, 0x3fe19999, 0x9999999d, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0x3ff7aea3, 0x8c1acbcf, 0x3fe19999, 0x9999999d, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0x3ff6414d, 0x44094c7a, 0x3fe19999, 0x9999999d, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0x3ff4df69, 0xd20aa304, 0x3fe19999, 0x9999999d, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0x3ff38d6a, 0x6ce13351, 0x3fe19999, 0x9999999d, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0x3ff24e83, 0xfa9b4e47, 0x3fe19999, 0x9999999d, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0x3ff124a8, 0x57547b07, 0x3fe19999, 0x9999999d, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0x3ff010a8, 0xac54f544, 0x3fe19999, 0x9999999d, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0x3fee24dd, 0x44c855d1, 0x3fe19999, 0x9999999d, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fec5277, 0xa4a086a2, 0x3fe19999, 0x9999999d, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0x3feaa7c8, 0x545183cd, 0x3fe19999, 0x9999999d, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fe19999, 0x9999999d, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0x3fe7be08, 0x326e248f, 0x3fe19999, 0x9999999d, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0x3fe678e3, 0x87470e50, 0x3fe19999, 0x9999999d, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0x3fe54f9e, 0xb7d5ee49, 0x3fe19999, 0x9999999d, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0x3fe43f7a, 0x7c1d53c7, 0x3fe19999, 0x9999999d, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0x3fe345f0, 0x1cce37bb, 0x3fe19999, 0x9999999d, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fe260b4, 0x85f1202d, 0x3fe19999, 0x9999999d, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0x3fe18db7, 0x79f87dd4, 0x3fe19999, 0x9999999d, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0x3fe0cb20, 0x808a1f16, 0x3fe19999, 0x9999999d, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0x4004cf33, 0xdec5e9df, 0x3fe33333, 0x33333337, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0x4004a04f, 0x5f80df4b, 0x3fe33333, 0x33333337, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0x40046dc0, 0x9ec29432, 0x3fe33333, 0x33333337, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0x40043726, 0xeb5fa0c2, 0x3fe33333, 0x33333337, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0x4003fc17, 0x6b7a855f, 0x3fe33333, 0x33333337, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0x4003bc1c, 0xc0033272, 0x3fe33333, 0x33333337, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0x400376b7, 0x14052d9f, 0x3fe33333, 0x33333337, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0x40032b5c, 0xd7c0fc06, 0x3fe33333, 0x33333337, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0x4002d97c, 0x7f3321d1, 0x3fe33333, 0x33333337, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0x4002807f, 0xb6bd9fae, 0x3fe33333, 0x33333337, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0x40021fd0, 0x9b1e712d, 0x3fe33333, 0x33333337, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0x4001b6e1, 0x92ebbe43, 0x3fe33333, 0x33333337, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0x40014538, 0x5fa3af70, 0x3fe33333, 0x33333337, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0x4000ca7c, 0xc2d0d7fc, 0x3fe33333, 0x33333337, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0x4000468a, 0x8ace4df4, 0x3fe33333, 0x33333337, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0x3fff730b, 0xd281f698, 0x3fe33333, 0x33333337, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0x3ffe47df, 0x3d0dd4ce, 0x3fe33333, 0x33333337, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0x3ffd0d6a, 0x1369bd31, 0x3fe33333, 0x33333337, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0x3ffbc66e, 0x44cbc072, 0x3fe33333, 0x33333337, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0x3ffa7687, 0x3ac2bc7a, 0x3fe33333, 0x33333337, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0x3ff921fb, 0x54442d16, 0x3fe33333, 0x33333337, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0x3ff7cd6f, 0x6dc59db2, 0x3fe33333, 0x33333337, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0x3ff67d88, 0x63bc99bb, 0x3fe33333, 0x33333337, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0x3ff5368c, 0x951e9cfb, 0x3fe33333, 0x33333337, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0x3ff3fc17, 0x6b7a855f, 0x3fe33333, 0x33333337, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0x3ff2d0ea, 0xd6066394, 0x3fe33333, 0x33333337, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0x3ff1b6e1, 0x92ebbe44, 0x3fe33333, 0x33333337, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0x3ff0aefd, 0x22e6aa36, 0x3fe33333, 0x33333337, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0x3fef730b, 0xd281f69b, 0x3fe33333, 0x33333337, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fedac67, 0x0561bb50, 0x3fe33333, 0x33333337, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0x3fec08aa, 0xe496efa6, 0x3fe33333, 0x33333337, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0x3fea85ee, 0x761a35a1, 0x3fe33333, 0x33333337, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fe33333, 0x33333337, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0x3fe7da79, 0xf20cc443, 0x3fe33333, 0x33333337, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0x3fe6ad11, 0x00fbfddf, 0x3fe33333, 0x33333337, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0x3fe5977a, 0x5103ea92, 0x3fe33333, 0x33333337, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0x3fe4978f, 0xa3269ee1, 0x3fe33333, 0x33333337, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fe3ab51, 0xa3923153, 0x3fe33333, 0x33333337, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0x3fe2d0ea, 0xd6066395, 0x3fe33333, 0x33333337, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0x3fe206af, 0xd30d3731, 0x3fe33333, 0x33333337, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0x40048590, 0xb7aedd62, 0x3fe4cccc, 0xccccccd1, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0x40045514, 0x33f00782, 0x3fe4cccc, 0xccccccd1, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0x400420fd, 0x07447552, 0x3fe4cccc, 0xccccccd1, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0x4003e8f3, 0xacb51f92, 0x3fe4cccc, 0xccccccd1, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0x4003ac98, 0xf27e8651, 0x3fe4cccc, 0xccccccd1, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0x40036b86, 0x251cd70d, 0x3fe4cccc, 0xccccccd1, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0x4003254d, 0xb30ae9d3, 0x3fe4cccc, 0xccccccd1, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0x4002d97c, 0x7f3321d1, 0x3fe4cccc, 0xccccccd1, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0x4002879c, 0x26a5479b, 0x3fe4cccc, 0xccccccd1, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0x40022f36, 0x8bf3da1f, 0x3fe4cccc, 0xccccccd1, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0x4001cfdb, 0x0358ca06, 0x3fe4cccc, 0xccccccd1, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0x40016925, 0x7715b182, 0x3fe4cccc, 0xccccccd1, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0x4000fac7, 0xc0872c2c, 0x3fe4cccc, 0xccccccd1, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0x40008495, 0x326f4bf0, 0x3fe4cccc, 0xccccccd1, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0x4000068f, 0xdf56fb08, 0x3fe4cccc, 0xccccccd1, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0x3fff01ec, 0xffc750ae, 0x3fe4cccc, 0xccccccd1, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0x3ffde8a2, 0x2515088e, 0x3fe4cccc, 0xccccccd1, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0x3ffcc2f3, 0x2876c448, 0x3fe4cccc, 0xccccccd1, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0x3ffb933b, 0xc05799bf, 0x3fe4cccc, 0xccccccd1, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0x3ffa5c70, 0x7de844b3, 0x3fe4cccc, 0xccccccd1, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0x3ff921fb, 0x54442d16, 0x3fe4cccc, 0xccccccd1, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0x3ff7e786, 0x2aa0157a, 0x3fe4cccc, 0xccccccd1, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0x3ff6b0ba, 0xe830c06e, 0x3fe4cccc, 0xccccccd1, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0x3ff58103, 0x801195e5, 0x3fe4cccc, 0xccccccd1, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0x3ff45b54, 0x8373519f, 0x3fe4cccc, 0xccccccd1, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0x3ff34209, 0xa8c1097f, 0x3fe4cccc, 0xccccccd1, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0x3ff236d6, 0xe9da641d, 0x3fe4cccc, 0xccccccd1, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0x3ff13acc, 0x43a9c24d, 0x3fe4cccc, 0xccccccd1, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0x3ff04e67, 0x277a01d7, 0x3fe4cccc, 0xccccccd1, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3feee357, 0x74b9ee52, 0x3fe4cccc, 0xccccccd1, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0x3fed4881, 0x43ad8c44, 0x3fe4cccc, 0xccccccd1, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0x3febcb13, 0x21414be0, 0x3fe4cccc, 0xccccccd1, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0x3fea697c, 0xb67b95ed, 0x3fe4cccc, 0xccccccd1, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fe4cccc, 0xccccccd1, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0x3fe7f2b6, 0x84e50d11, 0x3fe4cccc, 0xccccccd1, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0x3fe6d9d4, 0xbc9d5828, 0x3fe4cccc, 0xccccccd1, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0x3fe5d589, 0x87169b18, 0x3fe4cccc, 0xccccccd1, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fe4e41e, 0x9e3c3615, 0x3fe4cccc, 0xccccccd1, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0x3fe403f9, 0x33fedf17, 0x3fe4cccc, 0xccccccd1, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0x3fe3339c, 0x81509658, 0x3fe4cccc, 0xccccccd1, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0x40043f37, 0x08e537ec, 0x3fe66666, 0x6666666b, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0x40040d72, 0x6e9f7ad4, 0x3fe66666, 0x6666666b, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0x4003d82a, 0x5408834d, 0x3fe66666, 0x6666666b, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0x40039f10, 0x8a1dc76f, 0x3fe66666, 0x6666666b, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0x400361d1, 0x62e61b8a, 0x3fe66666, 0x6666666b, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0x40032014, 0x3b9f415f, 0x3fe66666, 0x6666666b, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0x4002d97c, 0x7f3321d1, 0x3fe66666, 0x6666666b, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0x40028dab, 0x4b5b59cf, 0x3fe66666, 0x6666666b, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0x40023c41, 0xea611602, 0x3fe66666, 0x6666666b, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0x4001e4e5, 0x5817921d, 0x3fe66666, 0x6666666b, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0x40018743, 0x06ef5823, 0x3fe66666, 0x6666666b, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0x40012317, 0x0c990102, 0x3fe66666, 0x6666666b, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0x4000b833, 0xbe165cc8, 0x3fe66666, 0x6666666b, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0x4000468a, 0x8ace4df4, 0x3fe66666, 0x6666666b, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0x3fff9c6b, 0x238c6432, 0x3fe66666, 0x6666666b, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0x3ffe9f02, 0x0021cec5, 0x3fe66666, 0x6666666b, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0x3ffd95e5, 0xac22d08a, 0x3fe66666, 0x6666666b, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0x3ffc829e, 0xbb6db38b, 0x3fe66666, 0x6666666b, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0x3ffb6731, 0x2cd2f432, 0x3fe66666, 0x6666666b, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0x3ffa460e, 0xa017978f, 0x3fe66666, 0x6666666b, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0x3ff921fb, 0x54442d16, 0x3fe66666, 0x6666666b, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0x3ff7fde8, 0x0870c29e, 0x3fe66666, 0x6666666b, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0x3ff6dcc5, 0x7bb565fb, 0x3fe66666, 0x6666666b, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0x3ff5c157, 0xed1aa6a2, 0x3fe66666, 0x6666666b, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0x3ff4ae10, 0xfc6589a3, 0x3fe66666, 0x6666666b, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0x3ff3a4f4, 0xa8668b68, 0x3fe66666, 0x6666666b, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0x3ff2a78b, 0x84fbf5fc, 0x3fe66666, 0x6666666b, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0x3ff1b6e1, 0x92ebbe44, 0x3fe66666, 0x6666666b, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0x3ff0d38f, 0x2c5ba09f, 0x3fe66666, 0x6666666b, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3feffb91, 0x1eacb051, 0x3fe66666, 0x6666666b, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0x3fee6ae1, 0x355353d0, 0x3fe66666, 0x6666666b, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0x3fecf457, 0xf0b26be7, 0x3fe66666, 0x6666666b, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0x3feb96e5, 0xa78c5c52, 0x3fe66666, 0x6666666b, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0x3fea5140, 0x23a34d20, 0x3fe66666, 0x6666666b, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fe66666, 0x6666666b, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0x3fe8079c, 0x6293aee0, 0x3fe66666, 0x6666666b, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0x3fe700a7, 0xc5784634, 0x3fe66666, 0x6666666b, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fe60bab, 0x289996a1, 0x3fe66666, 0x6666666b, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0x3fe52744, 0x00eea72b, 0x3fe66666, 0x6666666b, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0x3fe45223, 0x9692c90f, 0x3fe66666, 0x6666666b, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0x4003fc17, 0x6b7a855f, 0x3fe80000, 0x00000005, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0x4003c953, 0x34d30df4, 0x3fe80000, 0x00000005, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0x40039328, 0x6347d275, 0x3fe80000, 0x00000005, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0x40035951, 0xee0fd5c9, 0x3fe80000, 0x00000005, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0x40031b87, 0x267eca84, 0x3fe80000, 0x00000005, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0x4002d97c, 0x7f3321d1, 0x3fe80000, 0x00000005, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0x400292e4, 0xc2c70243, 0x3fe80000, 0x00000005, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0x40024772, 0xd9496c95, 0x3fe80000, 0x00000005, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0x4001f6dc, 0x3e63112f, 0x3fe80000, 0x00000005, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0x4001a0dc, 0x49296b7c, 0x3fe80000, 0x00000005, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0x40014538, 0x5fa3af70, 0x3fe80000, 0x00000005, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0x4000e3c5, 0x1fa059c3, 0x3fe80000, 0x00000005, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0x40007c6c, 0x6947a6a6, 0x3fe80000, 0x00000005, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0x40000f34, 0x0b81a4ee, 0x3fe80000, 0x00000005, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0x3fff3889, 0x2f1e0c86, 0x3fe80000, 0x00000005, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0x3ffe47df, 0x3d0dd4ce, 0x3fe80000, 0x00000005, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0x3ffd4d68, 0xbe213417, 0x3fe80000, 0x00000005, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0x3ffc4a83, 0x936311d8, 0x3fe80000, 0x00000005, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0x3ffb40e9, 0xaf482898, 0x3fe80000, 0x00000005, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0x3ffa32a5, 0x1baa2089, 0x3fe80000, 0x00000005, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0x3ff921fb, 0x54442d16, 0x3fe80000, 0x00000005, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0x3ff81151, 0x8cde39a4, 0x3fe80000, 0x00000005, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0x3ff7030c, 0xf9403195, 0x3fe80000, 0x00000005, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0x3ff5f973, 0x15254856, 0x3fe80000, 0x00000005, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0x3ff4f68d, 0xea672616, 0x3fe80000, 0x00000005, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0x3ff3fc17, 0x6b7a855f, 0x3fe80000, 0x00000005, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0x3ff30b6d, 0x796a4da8, 0x3fe80000, 0x00000005, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0x3ff2258e, 0x91851051, 0x3fe80000, 0x00000005, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0x3ff14b1d, 0xd5f90ce1, 0x3fe80000, 0x00000005, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3ff07c6c, 0x6947a6a8, 0x3fe80000, 0x00000005, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0x3fef730b, 0xd281f69b, 0x3fe80000, 0x00000005, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0x3fee047c, 0x2c6b066a, 0x3fe80000, 0x00000005, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0x3fecac7c, 0x57846f9e, 0x3fe80000, 0x00000005, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0x3feb6a21, 0xebeb0209, 0x3fe80000, 0x00000005, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0x3fea3c5a, 0x45f4ab51, 0x3fe80000, 0x00000005, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fe80000, 0x00000005, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0x3fe819d0, 0xb7158a4d, 0x3fe80000, 0x00000005, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fe722a5, 0x98d15d3a, 0x3fe80000, 0x00000005, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0x3fe63b4b, 0xc3f16a8a, 0x3fe80000, 0x00000005, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0x3fe562a0, 0x7dc47c8f, 0x3fe80000, 0x00000005, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0x4003bc1c, 0xc0033273, 0x3fe99999, 0x9999999f, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0x40038899, 0xe572fe85, 0x3fe99999, 0x9999999f, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0x400351d1, 0x783b3dad, 0x3fe99999, 0x9999999f, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0x40031787, 0x26d41fcc, 0x3fe99999, 0x9999999f, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0x4002d97c, 0x7f3321d1, 0x3fe99999, 0x9999999f, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0x40029771, 0xd7e7791e, 0x3fe99999, 0x9999999f, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0x40025127, 0x9b802818, 0x3fe99999, 0x9999999f, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0x40020660, 0x0be7bd51, 0x3fe99999, 0x9999999f, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0x4001b6e1, 0x92ebbe43, 0x3fe99999, 0x9999999f, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0x40016279, 0xb155a47a, 0x3fe99999, 0x9999999f, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0x40010900, 0x9519d638, 0x3fe99999, 0x9999999f, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0x4000aa5d, 0x4f58e2bf, 0x3fe99999, 0x9999999f, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0x4000468a, 0x8ace4df4, 0x3fe99999, 0x9999999f, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0x3fffbb37, 0x05373615, 0x3fe99999, 0x9999999f, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0x3ffedf81, 0xa4bd64d2, 0x3fe99999, 0x9999999f, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0x3ffdfa99, 0x22062809, 0x3fe99999, 0x9999999f, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0x3ffd0d6a, 0x1369bd32, 0x3fe99999, 0x9999999f, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0x3ffc192a, 0xbdbdf877, 0x3fe99999, 0x9999999f, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0x3ffb1f56, 0xfdeef00d, 0x3fe99999, 0x9999999f, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0x3ffa21a6, 0x31fd9506, 0x3fe99999, 0x9999999f, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0x3ff921fb, 0x54442d16, 0x3fe99999, 0x9999999f, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0x3ff82250, 0x768ac527, 0x3fe99999, 0x9999999f, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0x3ff7249f, 0xaa996a20, 0x3fe99999, 0x9999999f, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0x3ff62acb, 0xeaca61b7, 0x3fe99999, 0x9999999f, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0x3ff5368c, 0x951e9cfc, 0x3fe99999, 0x9999999f, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0x3ff4495d, 0x86823225, 0x3fe99999, 0x9999999f, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0x3ff36475, 0x03caf55c, 0x3fe99999, 0x9999999f, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0x3ff288bf, 0xa3512419, 0x3fe99999, 0x9999999f, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0x3ff1b6e1, 0x92ebbe44, 0x3fe99999, 0x9999999f, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3ff0ef3c, 0x09d694b1, 0x3fe99999, 0x9999999f, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0x3ff031f5, 0x7e54adbe, 0x3fe99999, 0x9999999f, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0x3feefe06, 0x8bba2275, 0x3fe99999, 0x9999999f, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0x3fedac67, 0x0561bb50, 0x3fe99999, 0x9999999f, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0x3fec6e6d, 0x2171bf19, 0x3fe99999, 0x9999999f, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0x3feb434e, 0xe31013fc, 0x3fe99999, 0x9999999f, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0x3fea2a25, 0xf172cfe4, 0x3fe99999, 0x9999999f, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fe99999, 0x9999999f, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fe829d0, 0xb5c0352b, 0x3fe99999, 0x9999999f, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0x3fe740a7, 0x7023bda9, 0x3fe99999, 0x9999999f, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0x3fe66585, 0xbb44ba4a, 0x3fe99999, 0x9999999f, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0x40037f2d, 0x8b93012a, 0x3feb3333, 0x33333339, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0x40034b25, 0xb27b30a4, 0x3feb3333, 0x33333339, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0x400313fc, 0x14754e12, 0x3feb3333, 0x33333339, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0x4002d97c, 0x7f3321d1, 0x3feb3333, 0x33333339, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0x40029b71, 0xd79223d6, 0x3feb3333, 0x33333339, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0x400259a7, 0x10566dd9, 0x3feb3333, 0x33333339, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0x400213e8, 0x74487c33, 0x3feb3333, 0x33333339, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0x4001ca05, 0x51b12410, 0x3feb3333, 0x33333339, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0x40017bd2, 0x1306a2e0, 0x3feb3333, 0x33333339, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0x4001292a, 0xcb9e5e96, 0x3feb3333, 0x33333339, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0x4000d1f6, 0x365d11c8, 0x3feb3333, 0x33333339, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0x40007629, 0x16cab415, 0x3feb3333, 0x33333339, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0x400015c9, 0xda46bdfc, 0x3feb3333, 0x33333339, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0x3fff61e8, 0x80287a1f, 0x3feb3333, 0x33333339, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0x3ffe8fb9, 0x6bf1d8f3, 0x3feb3333, 0x33333339, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0x3ffdb5a6, 0x01769192, 0x3feb3333, 0x33333339, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0x3ffcd487, 0x74e47388, 0x3feb3333, 0x33333339, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0x3ffbed70, 0x67a8594c, 0x3feb3333, 0x33333339, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0x3ffb01a8, 0xbf84055b, 0x3feb3333, 0x33333339, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0x3ffa12a5, 0x465464cf, 0x3feb3333, 0x33333339, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0x3ff921fb, 0x54442d17, 0x3feb3333, 0x33333339, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0x3ff83151, 0x6233f55f, 0x3feb3333, 0x33333339, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0x3ff7424d, 0xe90454d2, 0x3feb3333, 0x33333339, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0x3ff65686, 0x40e000e2, 0x3feb3333, 0x33333339, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0x3ff56f6f, 0x33a3e6a6, 0x3feb3333, 0x33333339, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0x3ff48e50, 0xa711c89c, 0x3feb3333, 0x33333339, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0x3ff3b43d, 0x3c96813b, 0x3feb3333, 0x33333339, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0x3ff2e20e, 0x285fe00f, 0x3feb3333, 0x33333339, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0x3ff21862, 0xf3fade36, 0x3feb3333, 0x33333339, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3ff157a4, 0x7af2f204, 0x3feb3333, 0x33333339, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0x3ff0a00a, 0x3bce369f, 0x3feb3333, 0x33333339, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0x3fefe342, 0x22973a03, 0x3feb3333, 0x33333339, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0x3fee98a5, 0x04f628dd, 0x3feb3333, 0x33333339, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0x3fed5fd8, 0x0a4c241b, 0x3feb3333, 0x33333339, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0x3fec384b, 0x7feec390, 0x3feb3333, 0x33333339, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0x3feb2151, 0x0fb6fcf7, 0x3feb3333, 0x33333339, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0x3fea1a25, 0xf2c82506, 0x3feb3333, 0x33333339, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3feb3333, 0x33333339, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0x3fe837fc, 0xff3b7c14, 0x3feb3333, 0x33333339, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0x3fe75b56, 0x8723f1cd, 0x3feb3333, 0x33333339, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0x4003452d, 0x2a42ac28, 0x3feccccc, 0xccccccd3, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0x400310d2, 0xfe7fcad8, 0x3feccccc, 0xccccccd3, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0x4002d97c, 0x7f3321d1, 0x3feccccc, 0xccccccd3, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0x40029efc, 0xe9f0f590, 0x3feccccc, 0xccccccd3, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0x40026127, 0x862b05f5, 0x3feccccc, 0xccccccd3, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0x40021fd0, 0x9b1e712e, 0x3feccccc, 0xccccccd3, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0x4001dace, 0xaa5dc056, 0x3feccccc, 0xccccccd3, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0x400191fb, 0xf721ce50, 0x3feccccc, 0xccccccd3, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0x40014538, 0x5fa3af70, 0x3feccccc, 0xccccccd3, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0x4000f46b, 0x88a03600, 0x3feccccc, 0xccccccd3, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0x40009f87, 0x5343d017, 0x3feccccc, 0xccccccd3, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0x4000468a, 0x8ace4df5, 0x3feccccc, 0xccccccd3, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0x3fffd307, 0x52e32009, 0x3feccccc, 0xccccccd3, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0x3fff1127, 0x088152ab, 0x3feccccc, 0xccccccd3, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0x3ffe47df, 0x3d0dd4ce, 0x3feccccc, 0xccccccd3, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0x3ffd77c7, 0xb196b31f, 0x3feccccc, 0xccccccd3, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0x3ffca1a6, 0x56770bcf, 0x3feccccc, 0xccccccd3, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0x3ffbc66e, 0x44cbc072, 0x3feccccc, 0xccccccd3, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0x3ffae73b, 0xd5e44e5a, 0x3feccccc, 0xccccccd3, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0x3ffa054d, 0xbad44abd, 0x3feccccc, 0xccccccd3, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0x3ff921fb, 0x54442d17, 0x3feccccc, 0xccccccd3, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0x3ff83ea8, 0xedb40f71, 0x3feccccc, 0xccccccd3, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0x3ff75cba, 0xd2a40bd4, 0x3feccccc, 0xccccccd3, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0x3ff67d88, 0x63bc99bc, 0x3feccccc, 0xccccccd3, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0x3ff5a250, 0x52114e5f, 0x3feccccc, 0xccccccd3, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0x3ff4cc2e, 0xf6f1a70f, 0x3feccccc, 0xccccccd3, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0x3ff3fc17, 0x6b7a8560, 0x3feccccc, 0xccccccd3, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0x3ff332cf, 0xa0070783, 0x3feccccc, 0xccccccd3, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0x3ff270ef, 0x55a53a25, 0x3feccccc, 0xccccccd3, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3ff1b6e1, 0x92ebbe45, 0x3feccccc, 0xccccccd3, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0x3ff104e8, 0x0200ba00, 0x3feccccc, 0xccccccd3, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0x3ff05b1f, 0x9747ee2e, 0x3feccccc, 0xccccccd3, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0x3fef730b, 0xd281f69b, 0x3feccccc, 0xccccccd3, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0x3fee3ffd, 0x74897b19, 0x3feccccc, 0xccccccd3, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0x3fed1cb2, 0xa799b306, 0x3feccccc, 0xccccccd3, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0x3fec08aa, 0xe496efa6, 0x3feccccc, 0xccccccd3, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0x3feb034f, 0x38649c88, 0x3feccccc, 0xccccccd3, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3fea0bf9, 0xa94cde1c, 0x3feccccc, 0xccccccd3, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3feccccc, 0xccccccd3, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0x3fe844a1, 0x571188fe, 0x3feccccc, 0xccccccd3, 0x3fee6666, 0x6666666d},
+{62,0,123,__LINE__, 0x40030dfc, 0xd57ce4cc, 0x3fee6666, 0x6666666d, 0xbff00000, 0x00000000},
+{62,0,123,__LINE__, 0x4002d97c, 0x7f3321d1, 0x3fee6666, 0x6666666d, 0xbfee6666, 0x66666666},
+{62,0,123,__LINE__, 0x4002a225, 0xffe678cb, 0x3fee6666, 0x6666666d, 0xbfeccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0x400267d3, 0x4beb12fe, 0x3fee6666, 0x6666666d, 0xbfeb3333, 0x33333332},
+{62,0,123,__LINE__, 0x40022a5f, 0x18f3451e, 0x3fee6666, 0x6666666d, 0xbfe99999, 0x99999998},
+{62,0,123,__LINE__, 0x4001e9a5, 0xc99335af, 0x3fee6666, 0x6666666d, 0xbfe7ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0x4001a586, 0x8fc6c8cf, 0x3fee6666, 0x6666666d, 0xbfe66666, 0x66666664},
+{62,0,123,__LINE__, 0x40015de4, 0xca763c21, 0x3fee6666, 0x6666666d, 0xbfe4cccc, 0xccccccca},
+{62,0,123,__LINE__, 0x400112a9, 0x9ee56458, 0x3fee6666, 0x6666666d, 0xbfe33333, 0x33333330},
+{62,0,123,__LINE__, 0x4000c3c5, 0xca449e50, 0x3fee6666, 0x6666666d, 0xbfe19999, 0x99999996},
+{62,0,123,__LINE__, 0x40007133, 0xa108dee2, 0x3fee6666, 0x6666666d, 0xbfdfffff, 0xfffffff9},
+{62,0,123,__LINE__, 0x40001af9, 0x294450fa, 0x3fee6666, 0x6666666d, 0xbfdccccc, 0xccccccc6},
+{62,0,123,__LINE__, 0x3fff8254, 0x66b1ec6b, 0x3fee6666, 0x6666666d, 0xbfd99999, 0x99999993},
+{62,0,123,__LINE__, 0x3ffec7d4, 0x93fc7aa7, 0x3fee6666, 0x6666666d, 0xbfd66666, 0x66666660},
+{62,0,123,__LINE__, 0x3ffe06dc, 0x9297b73e, 0x3fee6666, 0x6666666d, 0xbfd33333, 0x3333332d},
+{62,0,123,__LINE__, 0x3ffd3ffa, 0xcd08c0c1, 0x3fee6666, 0x6666666d, 0xbfcfffff, 0xfffffff4},
+{62,0,123,__LINE__, 0x3ffc73e2, 0xe46d7f71, 0x3fee6666, 0x6666666d, 0xbfc99999, 0x9999998e},
+{62,0,123,__LINE__, 0x3ffba36c, 0x4c864173, 0x3fee6666, 0x6666666d, 0xbfc33333, 0x33333328},
+{62,0,123,__LINE__, 0x3ffacf8e, 0xc523642f, 0x3fee6666, 0x6666666d, 0xbfb99999, 0x99999983},
+{62,0,123,__LINE__, 0x3ff9f95c, 0xaa6341c4, 0x3fee6666, 0x6666666d, 0xbfa99999, 0x9999996c},
+{62,0,123,__LINE__, 0x3ff921fb, 0x54442d17, 0x3fee6666, 0x6666666d, 0x3cb70000, 0x00000000},
+{62,0,123,__LINE__, 0x3ff84a99, 0xfe25186a, 0x3fee6666, 0x6666666d, 0x3fa99999, 0x999999c8},
+{62,0,123,__LINE__, 0x3ff77467, 0xe364f5ff, 0x3fee6666, 0x6666666d, 0x3fb99999, 0x999999b1},
+{62,0,123,__LINE__, 0x3ff6a08a, 0x5c0218bb, 0x3fee6666, 0x6666666d, 0x3fc33333, 0x3333333f},
+{62,0,123,__LINE__, 0x3ff5d013, 0xc41adabd, 0x3fee6666, 0x6666666d, 0x3fc99999, 0x999999a6},
+{62,0,123,__LINE__, 0x3ff503fb, 0xdb7f996d, 0x3fee6666, 0x6666666d, 0x3fd00000, 0x00000006},
+{62,0,123,__LINE__, 0x3ff43d1a, 0x15f0a2f0, 0x3fee6666, 0x6666666d, 0x3fd33333, 0x33333339},
+{62,0,123,__LINE__, 0x3ff37c22, 0x148bdf87, 0x3fee6666, 0x6666666d, 0x3fd66666, 0x6666666c},
+{62,0,123,__LINE__, 0x3ff2c1a2, 0x41d66dc3, 0x3fee6666, 0x6666666d, 0x3fd99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3ff20e04, 0x55ffb83c, 0x3fee6666, 0x6666666d, 0x3fdccccc, 0xccccccd2},
+{62,0,123,__LINE__, 0x3ff1618f, 0x66769c69, 0x3fee6666, 0x6666666d, 0x3fe00000, 0x00000003},
+{62,0,123,__LINE__, 0x3ff0bc6b, 0x13ff1d8d, 0x3fee6666, 0x6666666d, 0x3fe19999, 0x9999999d},
+{62,0,123,__LINE__, 0x3ff01ea3, 0x6abd9180, 0x3fee6666, 0x6666666d, 0x3fe33333, 0x33333337},
+{62,0,123,__LINE__, 0x3fef105a, 0x2737c3d9, 0x3fee6666, 0x6666666d, 0x3fe4cccc, 0xccccccd1},
+{62,0,123,__LINE__, 0x3fedf1d3, 0x11f59121, 0x3fee6666, 0x6666666d, 0x3fe66666, 0x6666666b},
+{62,0,123,__LINE__, 0x3fece156, 0x2ac3dda1, 0x3fee6666, 0x6666666d, 0x3fe80000, 0x00000005},
+{62,0,123,__LINE__, 0x3febde70, 0xed439fe7, 0x3fee6666, 0x6666666d, 0x3fe99999, 0x9999999f},
+{62,0,123,__LINE__, 0x3feae8a0, 0x21646864, 0x3fee6666, 0x6666666d, 0x3feb3333, 0x33333339},
+{62,0,123,__LINE__, 0x3fe9ff55, 0x5176d133, 0x3fee6666, 0x6666666d, 0x3feccccc, 0xccccccd3},
+{62,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fee6666, 0x6666666d, 0x3fee6666, 0x6666666d},
+0,};
+test_atan2(m) {run_vector_1(m,atan2_vec,(char *)(atan2),"atan2","ddd"); }
diff --git a/newlib/libm/test/atan2f_vec.c b/newlib/libm/test/atan2f_vec.c
new file mode 100644
index 00000000000..f07ac8d0e16
--- /dev/null
+++ b/newlib/libm/test/atan2f_vec.c
@@ -0,0 +1,1604 @@
+#include "test.h"
+ one_line_type atan2f_vec[] = {
+{32,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbff00000, 0x00000000, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0xc002a4fc, 0x28e95ed8, 0xbff00000, 0x00000000, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0xc0026dcb, 0xd423977c, 0xbff00000, 0x00000000, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xc00233cb, 0x72d34279, 0xbff00000, 0x00000000, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0xc001f6dc, 0x3e631130, 0xbff00000, 0x00000000, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0xc001b6e1, 0x92ebbe44, 0xbff00000, 0x00000000, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0xc00173c1, 0xf5810bb7, 0xbff00000, 0x00000000, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0xc0012d68, 0x46b76641, 0xbff00000, 0x00000000, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0xc000e3c5, 0x1fa059c4, 0xbff00000, 0x00000000, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0xc00096d0, 0x5371b1c4, 0xbff00000, 0x00000000, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0xc000468a, 0x8ace4df6, 0xbff00000, 0x00000000, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0xbfffe5fd, 0xcebfcb86, 0xbff00000, 0x00000000, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0xbfff3889, 0x2f1e0c87, 0xbff00000, 0x00000000, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0xbffe8500, 0x76ee9e8d, 0xbff00000, 0x00000000, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0xbffdcbc9, 0xedcbd8d9, 0xbff00000, 0x00000000, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0xbffd0d6a, 0x1369bd33, 0xbff00000, 0x00000000, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0xbffc4a83, 0x936311d9, 0xbff00000, 0x00000000, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0xbffb83d5, 0xc13f26b8, 0xbff00000, 0x00000000, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0xbffaba39, 0x7c7259dc, 0xbff00000, 0x00000000, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0xbff9ee9c, 0x8100c211, 0xbff00000, 0x00000000, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0xbff921fb, 0x54442d17, 0xbff00000, 0x00000000, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0xbff8555a, 0x2787981e, 0xbff00000, 0x00000000, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0xbff789bd, 0x2c160052, 0xbff00000, 0x00000000, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0xbff6c020, 0xe7493376, 0xbff00000, 0x00000000, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0xbff5f973, 0x15254855, 0xbff00000, 0x00000000, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0xbff5368c, 0x951e9cfb, 0xbff00000, 0x00000000, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0xbff4782c, 0xbabc8156, 0xbff00000, 0x00000000, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0xbff3bef6, 0x3199bba1, 0xbff00000, 0x00000000, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0xbff30b6d, 0x796a4da7, 0xbff00000, 0x00000000, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbff25df8, 0xd9c88ea8, 0xbff00000, 0x00000000, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0xbff1b6e1, 0x92ebbe43, 0xbff00000, 0x00000000, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0xbff11656, 0x01a4f6a5, 0xbff00000, 0x00000000, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0xbff07c6c, 0x6947a6a6, 0xbff00000, 0x00000000, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0xbfefd24c, 0x36331b59, 0xbff00000, 0x00000000, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xbfeeb8e5, 0x7b0c8580, 0xbff00000, 0x00000000, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0xbfedac67, 0x0561bb4c, 0xbff00000, 0x00000000, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0xbfecac7c, 0x57846f9b, 0xbff00000, 0x00000000, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfebb8bf, 0x85c3aa79, 0xbff00000, 0x00000000, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0xbfead0be, 0x0082566f, 0xbff00000, 0x00000000, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0xbfe9f3fc, 0xad6b38ff, 0xbff00000, 0x00000000, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0xc0030dfc, 0xd57ce4cd, 0xbfee6666, 0x66666666, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfee6666, 0x66666666, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0xc002a225, 0xffe678cc, 0xbfee6666, 0x66666666, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xc00267d3, 0x4beb12ff, 0xbfee6666, 0x66666666, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0xc0022a5f, 0x18f3451e, 0xbfee6666, 0x66666666, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0xc001e9a5, 0xc99335b0, 0xbfee6666, 0x66666666, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0xc001a586, 0x8fc6c8d0, 0xbfee6666, 0x66666666, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0xc0015de4, 0xca763c22, 0xbfee6666, 0x66666666, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0xc00112a9, 0x9ee56458, 0xbfee6666, 0x66666666, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0xc000c3c5, 0xca449e52, 0xbfee6666, 0x66666666, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0xc0007133, 0xa108dee4, 0xbfee6666, 0x66666666, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0xc0001af9, 0x294450fa, 0xbfee6666, 0x66666666, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0xbfff8254, 0x66b1ec6c, 0xbfee6666, 0x66666666, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0xbffec7d4, 0x93fc7aa8, 0xbfee6666, 0x66666666, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0xbffe06dc, 0x9297b73f, 0xbfee6666, 0x66666666, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0xbffd3ffa, 0xcd08c0c2, 0xbfee6666, 0x66666666, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0xbffc73e2, 0xe46d7f72, 0xbfee6666, 0x66666666, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0xbffba36c, 0x4c864174, 0xbfee6666, 0x66666666, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0xbffacf8e, 0xc523642f, 0xbfee6666, 0x66666666, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0xbff9f95c, 0xaa6341c4, 0xbfee6666, 0x66666666, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0xbff921fb, 0x54442d17, 0xbfee6666, 0x66666666, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0xbff84a99, 0xfe25186a, 0xbfee6666, 0x66666666, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0xbff77467, 0xe364f5ff, 0xbfee6666, 0x66666666, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0xbff6a08a, 0x5c0218ba, 0xbfee6666, 0x66666666, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0xbff5d013, 0xc41adabc, 0xbfee6666, 0x66666666, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0xbff503fb, 0xdb7f996c, 0xbfee6666, 0x66666666, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0xbff43d1a, 0x15f0a2ef, 0xbfee6666, 0x66666666, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0xbff37c22, 0x148bdf86, 0xbfee6666, 0x66666666, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0xbff2c1a2, 0x41d66dc2, 0xbfee6666, 0x66666666, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbff20e04, 0x55ffb83a, 0xbfee6666, 0x66666666, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0xbff1618f, 0x66769c68, 0xbfee6666, 0x66666666, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0xbff0bc6b, 0x13ff1d8c, 0xbfee6666, 0x66666666, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0xbff01ea3, 0x6abd917e, 0xbfee6666, 0x66666666, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0xbfef105a, 0x2737c3d5, 0xbfee6666, 0x66666666, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xbfedf1d3, 0x11f5911e, 0xbfee6666, 0x66666666, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0xbfece156, 0x2ac3dd9e, 0xbfee6666, 0x66666666, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0xbfebde70, 0xed439fe3, 0xbfee6666, 0x66666666, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfeae8a0, 0x21646861, 0xbfee6666, 0x66666666, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0xbfe9ff55, 0x5176d12f, 0xbfee6666, 0x66666666, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0xbfe921fb, 0x54442d15, 0xbfee6666, 0x66666666, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0xc003452d, 0x2a42ac29, 0xbfeccccc, 0xcccccccc, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0xc00310d2, 0xfe7fcad9, 0xbfeccccc, 0xcccccccc, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfeccccc, 0xcccccccc, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xc0029efc, 0xe9f0f591, 0xbfeccccc, 0xcccccccc, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0xc0026127, 0x862b05f6, 0xbfeccccc, 0xcccccccc, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0xc0021fd0, 0x9b1e712e, 0xbfeccccc, 0xcccccccc, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0xc001dace, 0xaa5dc056, 0xbfeccccc, 0xcccccccc, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0xc00191fb, 0xf721ce52, 0xbfeccccc, 0xcccccccc, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0xc0014538, 0x5fa3af71, 0xbfeccccc, 0xcccccccc, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0xc000f46b, 0x88a03601, 0xbfeccccc, 0xcccccccc, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0xc0009f87, 0x5343d018, 0xbfeccccc, 0xcccccccc, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0xc000468a, 0x8ace4df6, 0xbfeccccc, 0xcccccccc, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0xbfffd307, 0x52e3200b, 0xbfeccccc, 0xcccccccc, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0xbfff1127, 0x088152ad, 0xbfeccccc, 0xcccccccc, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0xbffe47df, 0x3d0dd4d0, 0xbfeccccc, 0xcccccccc, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0xbffd77c7, 0xb196b320, 0xbfeccccc, 0xcccccccc, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0xbffca1a6, 0x56770bcf, 0xbfeccccc, 0xcccccccc, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0xbffbc66e, 0x44cbc073, 0xbfeccccc, 0xcccccccc, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0xbffae73b, 0xd5e44e5a, 0xbfeccccc, 0xcccccccc, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0xbffa054d, 0xbad44abd, 0xbfeccccc, 0xcccccccc, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0xbff921fb, 0x54442d17, 0xbfeccccc, 0xcccccccc, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0xbff83ea8, 0xedb40f71, 0xbfeccccc, 0xcccccccc, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0xbff75cba, 0xd2a40bd4, 0xbfeccccc, 0xcccccccc, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0xbff67d88, 0x63bc99bb, 0xbfeccccc, 0xcccccccc, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0xbff5a250, 0x52114e5e, 0xbfeccccc, 0xcccccccc, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0xbff4cc2e, 0xf6f1a70e, 0xbfeccccc, 0xcccccccc, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0xbff3fc17, 0x6b7a855e, 0xbfeccccc, 0xcccccccc, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0xbff332cf, 0xa0070782, 0xbfeccccc, 0xcccccccc, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0xbff270ef, 0x55a53a23, 0xbfeccccc, 0xcccccccc, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbff1b6e1, 0x92ebbe43, 0xbfeccccc, 0xcccccccc, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0xbff104e8, 0x0200b9fe, 0xbfeccccc, 0xcccccccc, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0xbff05b1f, 0x9747ee2c, 0xbfeccccc, 0xcccccccc, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0xbfef730b, 0xd281f698, 0xbfeccccc, 0xcccccccc, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0xbfee3ffd, 0x74897b16, 0xbfeccccc, 0xcccccccc, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xbfed1cb2, 0xa799b303, 0xbfeccccc, 0xcccccccc, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0xbfec08aa, 0xe496efa3, 0xbfeccccc, 0xcccccccc, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0xbfeb034f, 0x38649c84, 0xbfeccccc, 0xcccccccc, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfea0bf9, 0xa94cde18, 0xbfeccccc, 0xcccccccc, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0xbfe921fb, 0x54442d14, 0xbfeccccc, 0xcccccccc, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0xbfe844a1, 0x571188fa, 0xbfeccccc, 0xcccccccc, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0xc0037f2d, 0x8b93012c, 0xbfeb3333, 0x33333332, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0xc0034b25, 0xb27b30a5, 0xbfeb3333, 0x33333332, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0xc00313fc, 0x14754e13, 0xbfeb3333, 0x33333332, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfeb3333, 0x33333332, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0xc0029b71, 0xd79223d7, 0xbfeb3333, 0x33333332, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0xc00259a7, 0x10566dda, 0xbfeb3333, 0x33333332, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0xc00213e8, 0x74487c34, 0xbfeb3333, 0x33333332, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0xc001ca05, 0x51b12411, 0xbfeb3333, 0x33333332, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0xc0017bd2, 0x1306a2e0, 0xbfeb3333, 0x33333332, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0xc001292a, 0xcb9e5e97, 0xbfeb3333, 0x33333332, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0xc000d1f6, 0x365d11c8, 0xbfeb3333, 0x33333332, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0xc0007629, 0x16cab416, 0xbfeb3333, 0x33333332, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0xc00015c9, 0xda46bdfc, 0xbfeb3333, 0x33333332, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0xbfff61e8, 0x80287a21, 0xbfeb3333, 0x33333332, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0xbffe8fb9, 0x6bf1d8f4, 0xbfeb3333, 0x33333332, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0xbffdb5a6, 0x01769193, 0xbfeb3333, 0x33333332, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0xbffcd487, 0x74e47389, 0xbfeb3333, 0x33333332, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0xbffbed70, 0x67a8594d, 0xbfeb3333, 0x33333332, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0xbffb01a8, 0xbf84055c, 0xbfeb3333, 0x33333332, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0xbffa12a5, 0x465464cf, 0xbfeb3333, 0x33333332, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0xbff921fb, 0x54442d17, 0xbfeb3333, 0x33333332, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0xbff83151, 0x6233f55f, 0xbfeb3333, 0x33333332, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0xbff7424d, 0xe90454d2, 0xbfeb3333, 0x33333332, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0xbff65686, 0x40e000e1, 0xbfeb3333, 0x33333332, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0xbff56f6f, 0x33a3e6a5, 0xbfeb3333, 0x33333332, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0xbff48e50, 0xa711c89b, 0xbfeb3333, 0x33333332, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0xbff3b43d, 0x3c96813a, 0xbfeb3333, 0x33333332, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0xbff2e20e, 0x285fe00d, 0xbfeb3333, 0x33333332, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0xbff21862, 0xf3fade35, 0xbfeb3333, 0x33333332, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbff157a4, 0x7af2f203, 0xbfeb3333, 0x33333332, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0xbff0a00a, 0x3bce369d, 0xbfeb3333, 0x33333332, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0xbfefe342, 0x229739ff, 0xbfeb3333, 0x33333332, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0xbfee98a5, 0x04f628d9, 0xbfeb3333, 0x33333332, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0xbfed5fd8, 0x0a4c2417, 0xbfeb3333, 0x33333332, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xbfec384b, 0x7feec38c, 0xbfeb3333, 0x33333332, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0xbfeb2151, 0x0fb6fcf3, 0xbfeb3333, 0x33333332, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0xbfea1a25, 0xf2c82502, 0xbfeb3333, 0x33333332, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfe921fb, 0x54442d14, 0xbfeb3333, 0x33333332, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0xbfe837fc, 0xff3b7c10, 0xbfeb3333, 0x33333332, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0xbfe75b56, 0x8723f1c8, 0xbfeb3333, 0x33333332, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0xc003bc1c, 0xc0033274, 0xbfe99999, 0x99999998, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0xc0038899, 0xe572fe86, 0xbfe99999, 0x99999998, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0xc00351d1, 0x783b3dae, 0xbfe99999, 0x99999998, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xc0031787, 0x26d41fce, 0xbfe99999, 0x99999998, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfe99999, 0x99999998, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0xc0029771, 0xd7e7791f, 0xbfe99999, 0x99999998, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0xc0025127, 0x9b802819, 0xbfe99999, 0x99999998, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0xc0020660, 0x0be7bd52, 0xbfe99999, 0x99999998, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0xc001b6e1, 0x92ebbe44, 0xbfe99999, 0x99999998, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0xc0016279, 0xb155a47a, 0xbfe99999, 0x99999998, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0xc0010900, 0x9519d638, 0xbfe99999, 0x99999998, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0xc000aa5d, 0x4f58e2c0, 0xbfe99999, 0x99999998, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0xc000468a, 0x8ace4df6, 0xbfe99999, 0x99999998, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0xbfffbb37, 0x05373617, 0xbfe99999, 0x99999998, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0xbffedf81, 0xa4bd64d3, 0xbfe99999, 0x99999998, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0xbffdfa99, 0x2206280a, 0xbfe99999, 0x99999998, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0xbffd0d6a, 0x1369bd33, 0xbfe99999, 0x99999998, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0xbffc192a, 0xbdbdf878, 0xbfe99999, 0x99999998, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0xbffb1f56, 0xfdeef00e, 0xbfe99999, 0x99999998, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0xbffa21a6, 0x31fd9506, 0xbfe99999, 0x99999998, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0xbff921fb, 0x54442d16, 0xbfe99999, 0x99999998, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0xbff82250, 0x768ac527, 0xbfe99999, 0x99999998, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0xbff7249f, 0xaa996a20, 0xbfe99999, 0x99999998, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0xbff62acb, 0xeaca61b6, 0xbfe99999, 0x99999998, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0xbff5368c, 0x951e9cfb, 0xbfe99999, 0x99999998, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0xbff4495d, 0x86823223, 0xbfe99999, 0x99999998, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0xbff36475, 0x03caf55a, 0xbfe99999, 0x99999998, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0xbff288bf, 0xa3512417, 0xbfe99999, 0x99999998, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0xbff1b6e1, 0x92ebbe43, 0xbfe99999, 0x99999998, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbff0ef3c, 0x09d694af, 0xbfe99999, 0x99999998, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0xbff031f5, 0x7e54adbc, 0xbfe99999, 0x99999998, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0xbfeefe06, 0x8bba2272, 0xbfe99999, 0x99999998, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0xbfedac67, 0x0561bb4c, 0xbfe99999, 0x99999998, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0xbfec6e6d, 0x2171bf14, 0xbfe99999, 0x99999998, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xbfeb434e, 0xe31013f8, 0xbfe99999, 0x99999998, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0xbfea2a25, 0xf172cfdf, 0xbfe99999, 0x99999998, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0xbfe921fb, 0x54442d14, 0xbfe99999, 0x99999998, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfe829d0, 0xb5c03526, 0xbfe99999, 0x99999998, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0xbfe740a7, 0x7023bda5, 0xbfe99999, 0x99999998, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0xbfe66585, 0xbb44ba45, 0xbfe99999, 0x99999998, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0xc003fc17, 0x6b7a8560, 0xbfe7ffff, 0xfffffffe, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0xc003c953, 0x34d30df5, 0xbfe7ffff, 0xfffffffe, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0xc0039328, 0x6347d276, 0xbfe7ffff, 0xfffffffe, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xc0035951, 0xee0fd5ca, 0xbfe7ffff, 0xfffffffe, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0xc0031b87, 0x267eca85, 0xbfe7ffff, 0xfffffffe, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfe7ffff, 0xfffffffe, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0xc00292e4, 0xc2c70244, 0xbfe7ffff, 0xfffffffe, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0xc0024772, 0xd9496c96, 0xbfe7ffff, 0xfffffffe, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0xc001f6dc, 0x3e631130, 0xbfe7ffff, 0xfffffffe, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0xc001a0dc, 0x49296b7e, 0xbfe7ffff, 0xfffffffe, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0xc0014538, 0x5fa3af71, 0xbfe7ffff, 0xfffffffe, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0xc000e3c5, 0x1fa059c4, 0xbfe7ffff, 0xfffffffe, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0xc0007c6c, 0x6947a6a8, 0xbfe7ffff, 0xfffffffe, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0xc0000f34, 0x0b81a4ef, 0xbfe7ffff, 0xfffffffe, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0xbfff3889, 0x2f1e0c87, 0xbfe7ffff, 0xfffffffe, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0xbffe47df, 0x3d0dd4d0, 0xbfe7ffff, 0xfffffffe, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0xbffd4d68, 0xbe213418, 0xbfe7ffff, 0xfffffffe, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0xbffc4a83, 0x936311d9, 0xbfe7ffff, 0xfffffffe, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0xbffb40e9, 0xaf482898, 0xbfe7ffff, 0xfffffffe, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0xbffa32a5, 0x1baa2089, 0xbfe7ffff, 0xfffffffe, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0xbff921fb, 0x54442d16, 0xbfe7ffff, 0xfffffffe, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0xbff81151, 0x8cde39a4, 0xbfe7ffff, 0xfffffffe, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0xbff7030c, 0xf9403195, 0xbfe7ffff, 0xfffffffe, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0xbff5f973, 0x15254855, 0xbfe7ffff, 0xfffffffe, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0xbff4f68d, 0xea672615, 0xbfe7ffff, 0xfffffffe, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0xbff3fc17, 0x6b7a855e, 0xbfe7ffff, 0xfffffffe, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0xbff30b6d, 0x796a4da6, 0xbfe7ffff, 0xfffffffe, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0xbff2258e, 0x9185104f, 0xbfe7ffff, 0xfffffffe, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0xbff14b1d, 0xd5f90cdf, 0xbfe7ffff, 0xfffffffe, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbff07c6c, 0x6947a6a6, 0xbfe7ffff, 0xfffffffe, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0xbfef730b, 0xd281f697, 0xbfe7ffff, 0xfffffffe, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0xbfee047c, 0x2c6b0665, 0xbfe7ffff, 0xfffffffe, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0xbfecac7c, 0x57846f9a, 0xbfe7ffff, 0xfffffffe, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0xbfeb6a21, 0xebeb0204, 0xbfe7ffff, 0xfffffffe, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xbfea3c5a, 0x45f4ab4c, 0xbfe7ffff, 0xfffffffe, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0xbfe921fb, 0x54442d14, 0xbfe7ffff, 0xfffffffe, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0xbfe819d0, 0xb7158a48, 0xbfe7ffff, 0xfffffffe, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfe722a5, 0x98d15d35, 0xbfe7ffff, 0xfffffffe, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0xbfe63b4b, 0xc3f16a86, 0xbfe7ffff, 0xfffffffe, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0xbfe562a0, 0x7dc47c8a, 0xbfe7ffff, 0xfffffffe, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0xc0043f37, 0x08e537ed, 0xbfe66666, 0x66666664, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0xc0040d72, 0x6e9f7ad5, 0xbfe66666, 0x66666664, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0xc003d82a, 0x5408834e, 0xbfe66666, 0x66666664, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xc0039f10, 0x8a1dc770, 0xbfe66666, 0x66666664, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0xc00361d1, 0x62e61b8c, 0xbfe66666, 0x66666664, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0xc0032014, 0x3b9f4160, 0xbfe66666, 0x66666664, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfe66666, 0x66666664, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0xc0028dab, 0x4b5b59d0, 0xbfe66666, 0x66666664, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0xc0023c41, 0xea611604, 0xbfe66666, 0x66666664, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0xc001e4e5, 0x5817921e, 0xbfe66666, 0x66666664, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0xc0018743, 0x06ef5824, 0xbfe66666, 0x66666664, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0xc0012317, 0x0c990104, 0xbfe66666, 0x66666664, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0xc000b833, 0xbe165cc8, 0xbfe66666, 0x66666664, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0xc000468a, 0x8ace4df6, 0xbfe66666, 0x66666664, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0xbfff9c6b, 0x238c6434, 0xbfe66666, 0x66666664, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0xbffe9f02, 0x0021cec6, 0xbfe66666, 0x66666664, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0xbffd95e5, 0xac22d08b, 0xbfe66666, 0x66666664, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0xbffc829e, 0xbb6db38c, 0xbfe66666, 0x66666664, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0xbffb6731, 0x2cd2f433, 0xbfe66666, 0x66666664, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0xbffa460e, 0xa017978f, 0xbfe66666, 0x66666664, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0xbff921fb, 0x54442d16, 0xbfe66666, 0x66666664, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0xbff7fde8, 0x0870c29e, 0xbfe66666, 0x66666664, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0xbff6dcc5, 0x7bb565fa, 0xbfe66666, 0x66666664, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0xbff5c157, 0xed1aa6a1, 0xbfe66666, 0x66666664, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0xbff4ae10, 0xfc6589a2, 0xbfe66666, 0x66666664, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0xbff3a4f4, 0xa8668b67, 0xbfe66666, 0x66666664, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0xbff2a78b, 0x84fbf5fa, 0xbfe66666, 0x66666664, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0xbff1b6e1, 0x92ebbe42, 0xbfe66666, 0x66666664, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0xbff0d38f, 0x2c5ba09c, 0xbfe66666, 0x66666664, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfeffb91, 0x1eacb04d, 0xbfe66666, 0x66666664, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0xbfee6ae1, 0x355353cb, 0xbfe66666, 0x66666664, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0xbfecf457, 0xf0b26be3, 0xbfe66666, 0x66666664, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0xbfeb96e5, 0xa78c5c4d, 0xbfe66666, 0x66666664, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0xbfea5140, 0x23a34d1b, 0xbfe66666, 0x66666664, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xbfe921fb, 0x54442d13, 0xbfe66666, 0x66666664, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0xbfe8079c, 0x6293aeda, 0xbfe66666, 0x66666664, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0xbfe700a7, 0xc578462f, 0xbfe66666, 0x66666664, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfe60bab, 0x2899969c, 0xbfe66666, 0x66666664, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0xbfe52744, 0x00eea726, 0xbfe66666, 0x66666664, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0xbfe45223, 0x9692c90b, 0xbfe66666, 0x66666664, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0xc0048590, 0xb7aedd64, 0xbfe4cccc, 0xccccccca, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0xc0045514, 0x33f00783, 0xbfe4cccc, 0xccccccca, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0xc00420fd, 0x07447553, 0xbfe4cccc, 0xccccccca, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xc003e8f3, 0xacb51f93, 0xbfe4cccc, 0xccccccca, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0xc003ac98, 0xf27e8652, 0xbfe4cccc, 0xccccccca, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0xc0036b86, 0x251cd70e, 0xbfe4cccc, 0xccccccca, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0xc003254d, 0xb30ae9d4, 0xbfe4cccc, 0xccccccca, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfe4cccc, 0xccccccca, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0xc002879c, 0x26a5479d, 0xbfe4cccc, 0xccccccca, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0xc0022f36, 0x8bf3da20, 0xbfe4cccc, 0xccccccca, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0xc001cfdb, 0x0358ca07, 0xbfe4cccc, 0xccccccca, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0xc0016925, 0x7715b184, 0xbfe4cccc, 0xccccccca, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0xc000fac7, 0xc0872c2c, 0xbfe4cccc, 0xccccccca, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0xc0008495, 0x326f4bf1, 0xbfe4cccc, 0xccccccca, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0xc000068f, 0xdf56fb0a, 0xbfe4cccc, 0xccccccca, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0xbfff01ec, 0xffc750b0, 0xbfe4cccc, 0xccccccca, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0xbffde8a2, 0x25150890, 0xbfe4cccc, 0xccccccca, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0xbffcc2f3, 0x2876c449, 0xbfe4cccc, 0xccccccca, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0xbffb933b, 0xc05799c0, 0xbfe4cccc, 0xccccccca, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0xbffa5c70, 0x7de844b3, 0xbfe4cccc, 0xccccccca, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0xbff921fb, 0x54442d16, 0xbfe4cccc, 0xccccccca, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0xbff7e786, 0x2aa01579, 0xbfe4cccc, 0xccccccca, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0xbff6b0ba, 0xe830c06d, 0xbfe4cccc, 0xccccccca, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0xbff58103, 0x801195e3, 0xbfe4cccc, 0xccccccca, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0xbff45b54, 0x8373519d, 0xbfe4cccc, 0xccccccca, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0xbff34209, 0xa8c1097d, 0xbfe4cccc, 0xccccccca, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0xbff236d6, 0xe9da641a, 0xbfe4cccc, 0xccccccca, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0xbff13acc, 0x43a9c24b, 0xbfe4cccc, 0xccccccca, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0xbff04e67, 0x277a01d5, 0xbfe4cccc, 0xccccccca, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfeee357, 0x74b9ee4d, 0xbfe4cccc, 0xccccccca, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0xbfed4881, 0x43ad8c3f, 0xbfe4cccc, 0xccccccca, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0xbfebcb13, 0x21414bdb, 0xbfe4cccc, 0xccccccca, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0xbfea697c, 0xb67b95e9, 0xbfe4cccc, 0xccccccca, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0xbfe921fb, 0x54442d13, 0xbfe4cccc, 0xccccccca, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xbfe7f2b6, 0x84e50d0b, 0xbfe4cccc, 0xccccccca, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0xbfe6d9d4, 0xbc9d5822, 0xbfe4cccc, 0xccccccca, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0xbfe5d589, 0x87169b13, 0xbfe4cccc, 0xccccccca, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfe4e41e, 0x9e3c3610, 0xbfe4cccc, 0xccccccca, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0xbfe403f9, 0x33fedf12, 0xbfe4cccc, 0xccccccca, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0xbfe3339c, 0x81509652, 0xbfe4cccc, 0xccccccca, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0xc004cf33, 0xdec5e9e0, 0xbfe33333, 0x33333330, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0xc004a04f, 0x5f80df4c, 0xbfe33333, 0x33333330, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0xc0046dc0, 0x9ec29434, 0xbfe33333, 0x33333330, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xc0043726, 0xeb5fa0c4, 0xbfe33333, 0x33333330, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0xc003fc17, 0x6b7a8560, 0xbfe33333, 0x33333330, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0xc003bc1c, 0xc0033274, 0xbfe33333, 0x33333330, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0xc00376b7, 0x14052da1, 0xbfe33333, 0x33333330, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0xc0032b5c, 0xd7c0fc08, 0xbfe33333, 0x33333330, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfe33333, 0x33333330, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0xc002807f, 0xb6bd9fb0, 0xbfe33333, 0x33333330, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0xc0021fd0, 0x9b1e712e, 0xbfe33333, 0x33333330, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0xc001b6e1, 0x92ebbe44, 0xbfe33333, 0x33333330, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0xc0014538, 0x5fa3af71, 0xbfe33333, 0x33333330, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0xc000ca7c, 0xc2d0d7fc, 0xbfe33333, 0x33333330, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0xc000468a, 0x8ace4df6, 0xbfe33333, 0x33333330, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0xbfff730b, 0xd281f69a, 0xbfe33333, 0x33333330, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0xbffe47df, 0x3d0dd4d0, 0xbfe33333, 0x33333330, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0xbffd0d6a, 0x1369bd33, 0xbfe33333, 0x33333330, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0xbffbc66e, 0x44cbc073, 0xbfe33333, 0x33333330, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0xbffa7687, 0x3ac2bc7b, 0xbfe33333, 0x33333330, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0xbff921fb, 0x54442d16, 0xbfe33333, 0x33333330, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0xbff7cd6f, 0x6dc59db2, 0xbfe33333, 0x33333330, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0xbff67d88, 0x63bc99ba, 0xbfe33333, 0x33333330, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0xbff5368c, 0x951e9cfa, 0xbfe33333, 0x33333330, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0xbff3fc17, 0x6b7a855d, 0xbfe33333, 0x33333330, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0xbff2d0ea, 0xd6066392, 0xbfe33333, 0x33333330, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0xbff1b6e1, 0x92ebbe41, 0xbfe33333, 0x33333330, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0xbff0aefd, 0x22e6aa34, 0xbfe33333, 0x33333330, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0xbfef730b, 0xd281f696, 0xbfe33333, 0x33333330, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfedac67, 0x0561bb4a, 0xbfe33333, 0x33333330, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0xbfec08aa, 0xe496efa0, 0xbfe33333, 0x33333330, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0xbfea85ee, 0x761a359c, 0xbfe33333, 0x33333330, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0xbfe921fb, 0x54442d12, 0xbfe33333, 0x33333330, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0xbfe7da79, 0xf20cc43d, 0xbfe33333, 0x33333330, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xbfe6ad11, 0x00fbfdd9, 0xbfe33333, 0x33333330, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0xbfe5977a, 0x5103ea8c, 0xbfe33333, 0x33333330, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0xbfe4978f, 0xa3269edb, 0xbfe33333, 0x33333330, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfe3ab51, 0xa392314e, 0xbfe33333, 0x33333330, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0xbfe2d0ea, 0xd6066390, 0xbfe33333, 0x33333330, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0xbfe206af, 0xd30d372c, 0xbfe33333, 0x33333330, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0xc0051c28, 0xaaf491e0, 0xbfe19999, 0x99999996, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0xc004ef33, 0x3421a553, 0xbfe19999, 0x99999996, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0xc004be8d, 0x75c60da4, 0xbfe19999, 0x99999996, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xc00489ce, 0x32c7e50e, 0xbfe19999, 0x99999996, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0xc004507f, 0x4d109f2a, 0xbfe19999, 0x99999996, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0xc004121c, 0xb53cd827, 0xbfe19999, 0x99999996, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0xc003ce13, 0xa64eb186, 0xbfe19999, 0x99999996, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0xc00383c2, 0x72726984, 0xbfe19999, 0x99999996, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0xc0033279, 0x47a8a3f5, 0xbfe19999, 0x99999996, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfe19999, 0x99999996, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0xc0027809, 0x3f2fcc25, 0xbfe19999, 0x99999996, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0xc0020d5d, 0x6b1c0b70, 0xbfe19999, 0x99999996, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0xc00198c4, 0x031217a4, 0xbfe19999, 0x99999996, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0xc00119a6, 0xfe19b276, 0xbfe19999, 0x99999996, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0xc0008fa7, 0x2899ef94, 0xbfe19999, 0x99999996, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0xbffff572, 0xaded0be8, 0xbfe19999, 0x99999996, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0xbffeb68c, 0x3ba726dd, 0xbfe19999, 0x99999996, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0xbffd648c, 0xd67db72a, 0xbfe19999, 0x99999996, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0xbffc02a9, 0x647f0db4, 0xbfe19999, 0x99999996, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0xbffa9553, 0x1c6d8e5d, 0xbfe19999, 0x99999996, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0xbff921fb, 0x54442d16, 0xbfe19999, 0x99999996, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0xbff7aea3, 0x8c1acbce, 0xbfe19999, 0x99999996, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0xbff6414d, 0x44094c78, 0xbfe19999, 0x99999996, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0xbff4df69, 0xd20aa302, 0xbfe19999, 0x99999996, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0xbff38d6a, 0x6ce1334f, 0xbfe19999, 0x99999996, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0xbff24e83, 0xfa9b4e45, 0xbfe19999, 0x99999996, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0xbff124a8, 0x57547b04, 0xbfe19999, 0x99999996, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0xbff010a8, 0xac54f541, 0xbfe19999, 0x99999996, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0xbfee24dd, 0x44c855cb, 0xbfe19999, 0x99999996, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfec5277, 0xa4a0869c, 0xbfe19999, 0x99999996, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0xbfeaa7c8, 0x545183c7, 0xbfe19999, 0x99999996, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0xbfe921fb, 0x54442d12, 0xbfe19999, 0x99999996, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0xbfe7be08, 0x326e2489, 0xbfe19999, 0x99999996, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0xbfe678e3, 0x87470e4a, 0xbfe19999, 0x99999996, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xbfe54f9e, 0xb7d5ee43, 0xbfe19999, 0x99999996, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0xbfe43f7a, 0x7c1d53c1, 0xbfe19999, 0x99999996, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0xbfe345f0, 0x1cce37b5, 0xbfe19999, 0x99999996, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfe260b4, 0x85f12028, 0xbfe19999, 0x99999996, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0xbfe18db7, 0x79f87dcf, 0xbfe19999, 0x99999996, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0xbfe0cb20, 0x808a1f11, 0xbfe19999, 0x99999996, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0xc0056c6e, 0x7397f5af, 0xbfdfffff, 0xfffffff9, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0xc00541c5, 0x5d5d64c1, 0xbfdfffff, 0xfffffff9, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0xc0051371, 0xab22738d, 0xbfdfffff, 0xfffffff9, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xc004e102, 0xc80931dc, 0xbfdfffff, 0xfffffff9, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0xc004a9f8, 0x694c6d6c, 0xbfdfffff, 0xfffffff9, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0xc0046dc0, 0x9ec29434, 0xbfdfffff, 0xfffffff9, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0xc0042bb5, 0xf776eb80, 0xbfdfffff, 0xfffffff9, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0xc003e31d, 0xfb0d799d, 0xbfdfffff, 0xfffffff9, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0xc0039328, 0x6347d276, 0xbfdfffff, 0xfffffff9, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0xc0033aef, 0xbf36777f, 0xbfdfffff, 0xfffffff9, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfdfffff, 0xfffffff9, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0xc0026dcb, 0xd423977c, 0xbfdfffff, 0xfffffff9, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0xc001f6dc, 0x3e631130, 0xbfdfffff, 0xfffffff9, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0xc00173c1, 0xf5810bb7, 0xbfdfffff, 0xfffffff9, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0xc000e3c5, 0x1fa059c4, 0xbfdfffff, 0xfffffff9, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0xc000468a, 0x8ace4df6, 0xbfdfffff, 0xfffffff9, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0xbfff3889, 0x2f1e0c87, 0xbfdfffff, 0xfffffff9, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0xbffdcbc9, 0xedcbd8d9, 0xbfdfffff, 0xfffffff9, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0xbffc4a83, 0x936311d8, 0xbfdfffff, 0xfffffff9, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0xbffaba39, 0x7c7259db, 0xbfdfffff, 0xfffffff9, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0xbff921fb, 0x54442d15, 0xbfdfffff, 0xfffffff9, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0xbff789bd, 0x2c160050, 0xbfdfffff, 0xfffffff9, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0xbff5f973, 0x15254853, 0xbfdfffff, 0xfffffff9, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0xbff4782c, 0xbabc8153, 0xbfdfffff, 0xfffffff9, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0xbff30b6d, 0x796a4da4, 0xbfdfffff, 0xfffffff9, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0xbff1b6e1, 0x92ebbe41, 0xbfdfffff, 0xfffffff9, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0xbff07c6c, 0x6947a6a4, 0xbfdfffff, 0xfffffff9, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0xbfeeb8e5, 0x7b0c857c, 0xbfdfffff, 0xfffffff9, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0xbfecac7c, 0x57846f97, 0xbfdfffff, 0xfffffff9, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfead0be, 0x0082566c, 0xbfdfffff, 0xfffffff9, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0xbfe921fb, 0x54442d12, 0xbfdfffff, 0xfffffff9, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0xbfe79c2e, 0x5436d65d, 0xbfdfffff, 0xfffffff9, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0xbfe63b4b, 0xc3f16a84, 0xbfdfffff, 0xfffffff9, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0xbfe4fb75, 0x64dacde6, 0xbfdfffff, 0xfffffff9, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xbfe3d915, 0x7335065a, 0xbfdfffff, 0xfffffff9, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0xbfe2d0ea, 0xd606638f, 0xbfdfffff, 0xfffffff9, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0xbfe1e00b, 0xabdefead, 0xbfdfffff, 0xfffffff9, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfe103e2, 0x30ebeced, 0xbfdfffff, 0xfffffff9, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0xbfe03a26, 0xa486e62b, 0xbfdfffff, 0xfffffff9, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0xbfdf01af, 0xb73642b2, 0xbfdfffff, 0xfffffff9, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0xc005bffa, 0x17065de2, 0xbfdccccc, 0xccccccc6, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0xc00597ff, 0xd521f2aa, 0xbfdccccc, 0xccccccc6, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0xc0056c6e, 0x7397f5af, 0xbfdccccc, 0xccccccc6, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xc0053ccf, 0xe79b8f8f, 0xbfdccccc, 0xccccccc6, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0xc005089b, 0xaf0d60e5, 0xbfdccccc, 0xccccccc6, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0xc004cf33, 0xdec5e9e0, 0xbfdccccc, 0xccccccc6, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0xc0048fe1, 0xf1cd42a1, 0xbfdccccc, 0xccccccc6, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0xc00449d3, 0x87509221, 0xbfdccccc, 0xccccccc6, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0xc003fc17, 0x6b7a8560, 0xbfdccccc, 0xccccccc6, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0xc003a59b, 0x934a3835, 0xbfdccccc, 0xccccccc6, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0xc003452d, 0x2a42ac29, 0xbfdccccc, 0xccccccc6, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfdccccc, 0xccccccc6, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0xc0026127, 0x862b05f6, 0xbfdccccc, 0xccccccc6, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0xc001dace, 0xaa5dc056, 0xbfdccccc, 0xccccccc6, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0xc0014538, 0x5fa3af71, 0xbfdccccc, 0xccccccc6, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0xc0009f87, 0x5343d018, 0xbfdccccc, 0xccccccc6, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0xbfffd307, 0x52e3200b, 0xbfdccccc, 0xccccccc6, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0xbffe47df, 0x3d0dd4cf, 0xbfdccccc, 0xccccccc6, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0xbffca1a6, 0x56770bcf, 0xbfdccccc, 0xccccccc6, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0xbffae73b, 0xd5e44e59, 0xbfdccccc, 0xccccccc6, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0xbff921fb, 0x54442d15, 0xbfdccccc, 0xccccccc6, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0xbff75cba, 0xd2a40bd2, 0xbfdccccc, 0xccccccc6, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0xbff5a250, 0x52114e5c, 0xbfdccccc, 0xccccccc6, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0xbff3fc17, 0x6b7a855c, 0xbfdccccc, 0xccccccc6, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0xbff270ef, 0x55a53a20, 0xbfdccccc, 0xccccccc6, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0xbff104e8, 0x0200b9fc, 0xbfdccccc, 0xccccccc6, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0xbfef730b, 0xd281f693, 0xbfdccccc, 0xccccccc6, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0xbfed1cb2, 0xa799b2ff, 0xbfdccccc, 0xccccccc6, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0xbfeb034f, 0x38649c81, 0xbfdccccc, 0xccccccc6, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfe921fb, 0x54442d12, 0xbfdccccc, 0xccccccc6, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0xbfe77338, 0xa80603b8, 0xbfdccccc, 0xccccccc6, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0xbfe5f17f, 0x03e7d388, 0xbfdccccc, 0xccccccc6, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0xbfe4978f, 0xa3269edb, 0xbfdccccc, 0xccccccc6, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0xbfe3609f, 0x33ce6bd8, 0xbfdccccc, 0xccccccc6, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xbfe24865, 0x89dba9d9, 0xbfdccccc, 0xccccccc6, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0xbfe14b1d, 0xd5f90cdb, 0xbfdccccc, 0xccccccc6, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0xbfe0657e, 0x94db30ca, 0xbfdccccc, 0xccccccc6, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfdf295b, 0x6544ec43, 0xbfdccccc, 0xccccccc6, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0xbfddac67, 0x0561bb44, 0xbfdccccc, 0xccccccc6, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0xbfdc4fdb, 0xf911d369, 0xbfdccccc, 0xccccccc6, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0xc00616b4, 0x66d73d61, 0xbfd99999, 0x99999993, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0xc005f1ce, 0xcb0d4d6e, 0xbfd99999, 0x99999993, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0xc005c975, 0x54f4b39f, 0xbfd99999, 0x99999993, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xc0059d2f, 0x241f85a8, 0xbfd99999, 0x99999993, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0xc0056c6e, 0x7397f5af, 0xbfd99999, 0x99999993, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0xc005368c, 0x951e9cfd, 0xbfd99999, 0x99999993, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0xc004fac5, 0x404fe6dc, 0xbfd99999, 0x99999993, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0xc004b831, 0x3ddf1778, 0xbfd99999, 0x99999993, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0xc0046dc0, 0x9ec29433, 0xbfd99999, 0x99999993, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0xc0041a34, 0xfb542c00, 0xbfd99999, 0x99999993, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0xc003bc1c, 0xc0033274, 0xbfd99999, 0x99999993, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0xc00351d1, 0x783b3dae, 0xbfd99999, 0x99999993, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfd99999, 0x99999993, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0xc0025127, 0x9b802819, 0xbfd99999, 0x99999993, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0xc001b6e1, 0x92ebbe44, 0xbfd99999, 0x99999993, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0xc0010900, 0x9519d639, 0xbfd99999, 0x99999993, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0xc000468a, 0x8ace4df6, 0xbfd99999, 0x99999993, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0xbffedf81, 0xa4bd64d3, 0xbfd99999, 0x99999993, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0xbffd0d6a, 0x1369bd32, 0xbfd99999, 0x99999993, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0xbffb1f56, 0xfdeef00d, 0xbfd99999, 0x99999993, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0xbff921fb, 0x54442d15, 0xbfd99999, 0x99999993, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0xbff7249f, 0xaa996a1d, 0xbfd99999, 0x99999993, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0xbff5368c, 0x951e9cf8, 0xbfd99999, 0x99999993, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0xbff36475, 0x03caf558, 0xbfd99999, 0x99999993, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0xbff1b6e1, 0x92ebbe40, 0xbfd99999, 0x99999993, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0xbff031f5, 0x7e54adba, 0xbfd99999, 0x99999993, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0xbfedac67, 0x0561bb47, 0xbfd99999, 0x99999993, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0xbfeb434e, 0xe31013f5, 0xbfd99999, 0x99999993, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0xbfe921fb, 0x54442d11, 0xbfd99999, 0x99999993, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfe740a7, 0x7023bda2, 0xbfd99999, 0x99999993, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0xbfe5977a, 0x5103ea8b, 0xbfd99999, 0x99999993, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0xbfe41f19, 0x63c00458, 0xbfd99999, 0x99999993, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0xbfe2d0ea, 0xd606638f, 0xbfd99999, 0x99999993, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0xbfe1a728, 0x5994567c, 0xbfd99999, 0x99999993, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xbfe09cd8, 0x4fd118ed, 0xbfd99999, 0x99999993, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0xbfdf5b75, 0xf92c80d1, 0xbfd99999, 0x99999993, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0xbfddac67, 0x0561bb43, 0xbfd99999, 0x99999993, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfdc2661, 0x81253b7c, 0xbfd99999, 0x99999993, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0xbfdac42f, 0xfa7bcbc4, 0xbfd99999, 0x99999993, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0xbfd98164, 0x49b6fd49, 0xbfd99999, 0x99999993, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0xc0067078, 0xc2eef45e, 0xbfd66666, 0x66666660, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0xc0064f0e, 0xb4680650, 0xbfd66666, 0x66666660, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0xc0062a65, 0x7a259a4e, 0xbfd66666, 0x66666660, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xc0060204, 0xbe520694, 0xbfd66666, 0x66666660, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0xc005d55d, 0x7bcaa899, 0xbfd66666, 0x66666660, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0xc005a3c4, 0xf2e49eb6, 0xbfd66666, 0x66666660, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0xc0056c6e, 0x7397f5af, 0xbfd66666, 0x66666660, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0xc0052e63, 0xcbf6f7b3, 0xbfd66666, 0x66666660, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0xc004e87c, 0x3b956ba8, 0xbfd66666, 0x66666660, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0xc0049952, 0x004c912f, 0xbfd66666, 0x66666660, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0xc0043f37, 0x08e537ed, 0xbfd66666, 0x66666660, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0xc003d82a, 0x5408834e, 0xbfd66666, 0x66666660, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0xc00361d1, 0x62e61b8c, 0xbfd66666, 0x66666660, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfd66666, 0x66666660, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0xc0023c41, 0xea611604, 0xbfd66666, 0x66666660, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0xc0018743, 0x06ef5824, 0xbfd66666, 0x66666660, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0xc000b833, 0xbe165cc8, 0xbfd66666, 0x66666660, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0xbfff9c6b, 0x238c6433, 0xbfd66666, 0x66666660, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0xbffd95e5, 0xac22d08a, 0xbfd66666, 0x66666660, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0xbffb6731, 0x2cd2f431, 0xbfd66666, 0x66666660, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0xbff921fb, 0x54442d14, 0xbfd66666, 0x66666660, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0xbff6dcc5, 0x7bb565f8, 0xbfd66666, 0x66666660, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0xbff4ae10, 0xfc6589a0, 0xbfd66666, 0x66666660, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0xbff2a78b, 0x84fbf5f7, 0xbfd66666, 0x66666660, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0xbff0d38f, 0x2c5ba099, 0xbfd66666, 0x66666660, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0xbfee6ae1, 0x355353c6, 0xbfd66666, 0x66666660, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0xbfeb96e5, 0xa78c5c48, 0xbfd66666, 0x66666660, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0xbfe921fb, 0x54442d10, 0xbfd66666, 0x66666660, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0xbfe700a7, 0xc578462c, 0xbfd66666, 0x66666660, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfe52744, 0x00eea723, 0xbfd66666, 0x66666660, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0xbfe38b11, 0x2d7bd4a6, 0xbfd66666, 0x66666660, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0xbfe222a5, 0x4fde6fa1, 0xbfd66666, 0x66666660, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0xbfe0e5fc, 0x62bb05bd, 0xbfd66666, 0x66666660, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0xbfdf9cbc, 0x4269ab1e, 0xbfd66666, 0x66666660, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xbfddac67, 0x0561bb43, 0xbfd66666, 0x66666660, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0xbfdbf1b3, 0x0afc730f, 0xbfd66666, 0x66666660, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0xbfda64ee, 0xc3cc23f1, 0xbfd66666, 0x66666660, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfd8ffb4, 0xaf91341a, 0xbfd66666, 0x66666660, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0xbfd7bcae, 0xd0f4964a, 0xbfd66666, 0x66666660, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0xbfd69764, 0xfee13639, 0xbfd66666, 0x66666660, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0xc006cd14, 0x07805738, 0xbfd33333, 0x3333332d, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0xc006af8a, 0xb51a6805, 0xbfd33333, 0x3333332d, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0xc0068f09, 0x5fdf593d, 0xbfd33333, 0x3333332d, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xc0066b1c, 0x486d572a, 0xbfd33333, 0x3333332d, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0xc0064338, 0x2c07913b, 0xbfd33333, 0x3333332d, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0xc00616b4, 0x66d73d61, 0xbfd33333, 0x3333332d, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0xc005e4c3, 0x6ca0118b, 0xbfd33333, 0x3333332d, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0xc005ac69, 0x1f0f489b, 0xbfd33333, 0x3333332d, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0xc0056c6e, 0x7397f5af, 0xbfd33333, 0x3333332d, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0xc0052351, 0xd5cc5410, 0xbfd33333, 0x3333332d, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0xc004cf33, 0xdec5e9e0, 0xbfd33333, 0x3333332d, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0xc0046dc0, 0x9ec29433, 0xbfd33333, 0x3333332d, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0xc003fc17, 0x6b7a8560, 0xbfd33333, 0x3333332d, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0xc00376b7, 0x14052da1, 0xbfd33333, 0x3333332d, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfd33333, 0x3333332d, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0xc0021fd0, 0x9b1e712e, 0xbfd33333, 0x3333332d, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0xc0014538, 0x5fa3af71, 0xbfd33333, 0x3333332d, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0xc000468a, 0x8ace4df6, 0xbfd33333, 0x3333332d, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0xbffe47df, 0x3d0dd4ce, 0xbfd33333, 0x3333332d, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0xbffbc66e, 0x44cbc071, 0xbfd33333, 0x3333332d, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0xbff921fb, 0x54442d13, 0xbfd33333, 0x3333332d, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0xbff67d88, 0x63bc99b7, 0xbfd33333, 0x3333332d, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0xbff3fc17, 0x6b7a855a, 0xbfd33333, 0x3333332d, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0xbff1b6e1, 0x92ebbe3e, 0xbfd33333, 0x3333332d, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0xbfef730b, 0xd281f68f, 0xbfd33333, 0x3333332d, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0xbfec08aa, 0xe496ef9b, 0xbfd33333, 0x3333332d, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0xbfe921fb, 0x54442d0e, 0xbfd33333, 0x3333332d, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0xbfe6ad11, 0x00fbfdd6, 0xbfd33333, 0x3333332d, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0xbfe4978f, 0xa3269ed9, 0xbfd33333, 0x3333332d, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfe2d0ea, 0xd606638e, 0xbfd33333, 0x3333332d, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0xbfe14b1d, 0xd5f90cd9, 0xbfd33333, 0x3333332d, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0xbfdff54b, 0xf3bec834, 0xbfd33333, 0x3333332d, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0xbfddac67, 0x0561bb42, 0xbfd33333, 0x3333332d, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0xbfdbac91, 0xa9a723e0, 0xbfd33333, 0x3333332d, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xbfd9e9bf, 0x3d20dc65, 0xbfd33333, 0x3333332d, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0xbfd85a37, 0x6b677db4, 0xbfd33333, 0x3333332d, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0xbfd6f619, 0x41e4dee5, 0xbfd33333, 0x3333332d, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfd5b6f8, 0x5eb6af69, 0xbfd33333, 0x3333332d, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0xbfd4978f, 0xa3269ed7, 0xbfd33333, 0x3333332d, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0xbfd39384, 0xf94e2896, 0xbfd33333, 0x3333332d, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0xc0072c43, 0xf4b1650b, 0xbfcfffff, 0xfffffff4, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0xc00712fb, 0x97e1e344, 0xbfcfffff, 0xfffffff4, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0xc006f715, 0x259aea15, 0xbfcfffff, 0xfffffff4, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xc006d825, 0xfdaafadb, 0xbfcfffff, 0xfffffff4, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0xc006b5ac, 0x6d632fa0, 0xbfcfffff, 0xfffffff4, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0xc0068f09, 0x5fdf593d, 0xbfcfffff, 0xfffffff4, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0xc0066377, 0xfe555c41, 0xbfcfffff, 0xfffffff4, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0xc0063202, 0x7e829b4d, 0xbfcfffff, 0xfffffff4, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0xc005f973, 0x15254857, 0xbfcfffff, 0xfffffff4, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0xc005b83f, 0xa76fbdb1, 0xbfcfffff, 0xfffffff4, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0xc0056c6e, 0x7397f5af, 0xbfcfffff, 0xfffffff4, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0xc0051371, 0xab22738c, 0xbfcfffff, 0xfffffff4, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0xc004a9f8, 0x694c6d6c, 0xbfcfffff, 0xfffffff4, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0xc0042bb5, 0xf776eb80, 0xbfcfffff, 0xfffffff4, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0xc0039328, 0x6347d276, 0xbfcfffff, 0xfffffff4, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfcfffff, 0xfffffff4, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0xc001f6dc, 0x3e631130, 0xbfcfffff, 0xfffffff4, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0xc000e3c5, 0x1fa059c4, 0xbfcfffff, 0xfffffff4, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0xbfff3889, 0x2f1e0c86, 0xbfcfffff, 0xfffffff4, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0xbffc4a83, 0x936311d6, 0xbfcfffff, 0xfffffff4, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0xbff921fb, 0x54442d13, 0xbfcfffff, 0xfffffff4, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0xbff5f973, 0x15254850, 0xbfcfffff, 0xfffffff4, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0xbff30b6d, 0x796a4da1, 0xbfcfffff, 0xfffffff4, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0xbff07c6c, 0x6947a6a1, 0xbfcfffff, 0xfffffff4, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0xbfecac7c, 0x57846f91, 0xbfcfffff, 0xfffffff4, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0xbfe921fb, 0x54442d0c, 0xbfcfffff, 0xfffffff4, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0xbfe63b4b, 0xc3f16a80, 0xbfcfffff, 0xfffffff4, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0xbfe3d915, 0x73350658, 0xbfcfffff, 0xfffffff4, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0xbfe1e00b, 0xabdefeab, 0xbfcfffff, 0xfffffff4, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfe03a26, 0xa486e62a, 0xbfcfffff, 0xfffffff4, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0xbfddac67, 0x0561bb41, 0xbfcfffff, 0xfffffff4, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0xbfdb4ddd, 0x66a37b33, 0xbfcfffff, 0xfffffff4, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0xbfd94441, 0xf8f725fe, 0xbfcfffff, 0xfffffff4, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0xbfd77fc6, 0xae0c8e55, 0xbfcfffff, 0xfffffff4, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xbfd5f41a, 0xaf7686b1, 0xbfcfffff, 0xfffffff4, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0xbfd4978f, 0xa3269ed6, 0xbfcfffff, 0xfffffff4, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0xbfd36277, 0x3707ebc1, 0xbfcfffff, 0xfffffff4, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfd24eaa, 0xb4c991e4, 0xbfcfffff, 0xfffffff4, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0xbfd15731, 0x754a1817, 0xbfcfffff, 0xfffffff4, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0xbfd077fd, 0xe3124ea1, 0xbfcfffff, 0xfffffff4, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0xc0078db7, 0x34b4bab8, 0xbfc99999, 0x9999998e, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0xc0077907, 0x8c2f83ec, 0xbfc99999, 0x9999998e, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0xc0076225, 0xd32abdbd, 0xbfc99999, 0x9999998e, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xc00748b5, 0x43f409e0, 0xbfc99999, 0x9999998e, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0xc0072c43, 0xf4b1650b, 0xbfc99999, 0x9999998e, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0xc0070c44, 0x9f55a998, 0xbfc99999, 0x9999998e, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0xc006e806, 0x2854db5f, 0xbfc99999, 0x9999998e, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0xc006bea7, 0xebdbbf5d, 0xbfc99999, 0x9999998e, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0xc0068f09, 0x5fdf593d, 0xbfc99999, 0x9999998e, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0xc00657b2, 0xe092b036, 0xbfc99999, 0x9999998e, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0xc00616b4, 0x66d73d61, 0xbfc99999, 0x9999998e, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0xc005c975, 0x54f4b39f, 0xbfc99999, 0x9999998e, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0xc0056c6e, 0x7397f5af, 0xbfc99999, 0x9999998e, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0xc004fac5, 0x404fe6dc, 0xbfc99999, 0x9999998e, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0xc0046dc0, 0x9ec29433, 0xbfc99999, 0x9999998e, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0xc003bc1c, 0xc0033274, 0xbfc99999, 0x9999998e, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfc99999, 0x9999998e, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0xc001b6e1, 0x92ebbe44, 0xbfc99999, 0x9999998e, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0xc000468a, 0x8ace4df5, 0xbfc99999, 0x9999998e, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0xbffd0d6a, 0x1369bd2f, 0xbfc99999, 0x9999998e, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0xbff921fb, 0x54442d11, 0xbfc99999, 0x9999998e, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0xbff5368c, 0x951e9cf4, 0xbfc99999, 0x9999998e, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0xbff1b6e1, 0x92ebbe3c, 0xbfc99999, 0x9999998e, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0xbfedac67, 0x0561bb3f, 0xbfc99999, 0x9999998e, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0xbfe921fb, 0x54442d09, 0xbfc99999, 0x9999998e, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0xbfe5977a, 0x5103ea85, 0xbfc99999, 0x9999998e, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0xbfe2d0ea, 0xd606638a, 0xbfc99999, 0x9999998e, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0xbfe09cd8, 0x4fd118e9, 0xbfc99999, 0x9999998e, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0xbfddac67, 0x0561bb3f, 0xbfc99999, 0x9999998e, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfdac42f, 0xfa7bcbbf, 0xbfc99999, 0x9999998e, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0xbfd85a37, 0x6b677db1, 0xbfc99999, 0x9999998e, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0xbfd65243, 0x9d8be709, 0xbfc99999, 0x9999998e, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0xbfd4978f, 0xa3269ed4, 0xbfc99999, 0x9999998e, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0xbfd31a9b, 0x43436dd5, 0xbfc99999, 0x9999998e, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xbfd1cfa9, 0x5f7a8dc3, 0xbfc99999, 0x9999998e, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0xbfd0adb5, 0xa7741bf9, 0xbfc99999, 0x9999998e, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0xbfcf5b75, 0xf92c80ca, 0xbfc99999, 0x9999998e, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfcd9461, 0x05023378, 0xbfc99999, 0x9999998e, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0xbfcbfd58, 0x1196f5af, 0xbfc99999, 0x9999998e, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0xbfca8f3c, 0x814a92c5, 0xbfc99999, 0x9999998e, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0xc007f10e, 0x1dc6b049, 0xbfc33333, 0x33333328, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0xc007e142, 0xd82322eb, 0xbfc33333, 0x33333328, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0xc007cfc1, 0xdc00636b, 0xbfc33333, 0x33333328, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xc007bc40, 0xca9216fe, 0xbfc33333, 0x33333328, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0xc007a663, 0x9f874769, 0xbfc33333, 0x33333328, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0xc0078db7, 0x34b4bab8, 0xbfc33333, 0x33333328, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0xc00771a9, 0xa0af69de, 0xbfc33333, 0x33333328, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0xc007517f, 0x6a2ae180, 0xbfc33333, 0x33333328, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0xc0072c43, 0xf4b1650b, 0xbfc33333, 0x33333328, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0xc00700b2, 0x93276810, 0xbfc33333, 0x33333328, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0xc006cd14, 0x07805738, 0xbfc33333, 0x33333328, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0xc0068f09, 0x5fdf593d, 0xbfc33333, 0x33333328, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0xc0064338, 0x2c07913b, 0xbfc33333, 0x33333328, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0xc005e4c3, 0x6ca0118b, 0xbfc33333, 0x33333328, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0xc0056c6e, 0x7397f5af, 0xbfc33333, 0x33333328, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0xc004cf33, 0xdec5e9e1, 0xbfc33333, 0x33333328, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0xc003fc17, 0x6b7a8560, 0xbfc33333, 0x33333328, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfc33333, 0x33333328, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0xc0014538, 0x5fa3af70, 0xbfc33333, 0x33333328, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0xbffe47df, 0x3d0dd4cb, 0xbfc33333, 0x33333328, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0xbff921fb, 0x54442d0f, 0xbfc33333, 0x33333328, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0xbff3fc17, 0x6b7a8555, 0xbfc33333, 0x33333328, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0xbfef730b, 0xd281f685, 0xbfc33333, 0x33333328, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0xbfe921fb, 0x54442d05, 0xbfc33333, 0x33333328, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0xbfe4978f, 0xa3269ed1, 0xbfc33333, 0x33333328, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0xbfe14b1d, 0xd5f90cd4, 0xbfc33333, 0x33333328, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0xbfddac67, 0x0561bb39, 0xbfc33333, 0x33333328, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0xbfd9e9bf, 0x3d20dc5e, 0xbfc33333, 0x33333328, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0xbfd6f619, 0x41e4dee0, 0xbfc33333, 0x33333328, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfd4978f, 0xa3269ed2, 0xbfc33333, 0x33333328, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0xbfd2a73a, 0x661eaef8, 0xbfc33333, 0x33333328, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0xbfd10a46, 0x08e6283d, 0xbfc33333, 0x33333328, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0xbfcf5b75, 0xf92c80c6, 0xbfc33333, 0x33333328, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0xbfcd07be, 0xa194b97b, 0xbfc33333, 0x33333328, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xbfcb051b, 0x394c3396, 0xbfc33333, 0x33333328, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0xbfc94441, 0xf8f725f8, 0xbfc33333, 0x33333328, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0xbfc7b97b, 0x4bce5af0, 0xbfc33333, 0x33333328, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfc65ba8, 0x9b21619a, 0xbfc33333, 0x33333328, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0xbfc52397, 0x843c9acd, 0xbfc33333, 0x33333328, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0xbfc40b87, 0xc210a2d5, 0xbfc33333, 0x33333328, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0xc00855dc, 0x402d16b7, 0xbfb99999, 0x99999983, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0xc0084b31, 0x9bd4918d, 0xbfb99999, 0x99999983, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0xc0083f5b, 0x13741c78, 0xbfb99999, 0x99999983, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xc0083224, 0x9ea440f7, 0xbfb99999, 0x99999983, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0xc008234d, 0x7f6ecb9e, 0xbfb99999, 0x99999983, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0xc0081284, 0x26c22f58, 0xbfb99999, 0x99999983, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0xc007ff60, 0x67fcc98b, 0xbfb99999, 0x99999983, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0xc007e95b, 0x1e3a76c5, 0xbfb99999, 0x99999983, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0xc007cfc1, 0xdc00636b, 0xbfb99999, 0x99999983, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0xc007b1a4, 0x4c26bccb, 0xbfb99999, 0x99999983, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0xc0078db7, 0x34b4bab9, 0xbfb99999, 0x99999983, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0xc0076225, 0xd32abdbd, 0xbfb99999, 0x99999983, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0xc0072c43, 0xf4b1650c, 0xbfb99999, 0x99999983, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0xc006e806, 0x2854db60, 0xbfb99999, 0x99999983, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0xc0068f09, 0x5fdf593e, 0xbfb99999, 0x99999983, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0xc00616b4, 0x66d73d62, 0xbfb99999, 0x99999983, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0xc0056c6e, 0x7397f5b0, 0xbfb99999, 0x99999983, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0xc0046dc0, 0x9ec29434, 0xbfb99999, 0x99999983, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfb99999, 0x99999983, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0xc000468a, 0x8ace4df4, 0xbfb99999, 0x99999983, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0xbff921fb, 0x54442d0a, 0xbfb99999, 0x99999983, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0xbff1b6e1, 0x92ebbe33, 0xbfb99999, 0x99999983, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0xbfe921fb, 0x54442cfc, 0xbfb99999, 0x99999983, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0xbfe2d0ea, 0xd606637f, 0xbfb99999, 0x99999983, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0xbfddac67, 0x0561bb2c, 0xbfb99999, 0x99999983, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0xbfd85a37, 0x6b677da4, 0xbfb99999, 0x99999983, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0xbfd4978f, 0xa3269eca, 0xbfb99999, 0x99999983, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0xbfd1cfa9, 0x5f7a8dbc, 0xbfb99999, 0x99999983, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0xbfcf5b75, 0xf92c80bc, 0xbfb99999, 0x99999983, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfcbfd58, 0x1196f5a4, 0xbfb99999, 0x99999983, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0xbfc94441, 0xf8f725f1, 0xbfb99999, 0x99999983, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0xbfc70570, 0x81d704ce, 0xbfb99999, 0x99999983, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0xbfc52397, 0x843c9ac7, 0xbfb99999, 0x99999983, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0xbfc38a03, 0x609b6530, 0xbfb99999, 0x99999983, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xbfc229ae, 0xc47638c9, 0xbfb99999, 0x99999983, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0xbfc0f772, 0xd81fdbf8, 0xbfb99999, 0x99999983, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0xbfbfd5ba, 0x9aac2f4b, 0xbfb99999, 0x99999983, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfbdfad6, 0xb3fd8429, 0xbfb99999, 0x99999983, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0xbfbc5408, 0x1a021411, 0xbfb99999, 0x99999983, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0xbfbad937, 0x0df3715e, 0xbfb99999, 0x99999983, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0xc008bbaa, 0xbde5e29c, 0xbfa99999, 0x9999996c, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0xc008b64a, 0xa934a2c3, 0xbfa99999, 0x9999996c, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0xc008b052, 0x20fc1e46, 0xbfa99999, 0x9999996c, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xc008a9a6, 0x5b3c113d, 0xbfa99999, 0x9999996c, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0xc008a225, 0xe5677921, 0xbfa99999, 0x9999996c, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0xc00899a6, 0x70913360, 0xbfa99999, 0x9999996c, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0xc0088ff1, 0xae5a77dd, 0xbfa99999, 0x9999996c, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0xc00884c0, 0xbf72214b, 0xbfa99999, 0x9999996c, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0xc00877b5, 0x6104e567, 0xbfa99999, 0x9999996c, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0xc008684f, 0x702f7c76, 0xbfa99999, 0x9999996c, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0xc00855dc, 0x402d16b7, 0xbfa99999, 0x9999996c, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0xc0083f5b, 0x13741c78, 0xbfa99999, 0x9999996c, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0xc008234d, 0x7f6ecb9e, 0xbfa99999, 0x9999996c, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0xc007ff60, 0x67fcc98c, 0xbfa99999, 0x9999996c, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0xc007cfc1, 0xdc00636c, 0xbfa99999, 0x9999996c, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0xc0078db7, 0x34b4baba, 0xbfa99999, 0x9999996c, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0xc0072c43, 0xf4b1650d, 0xbfa99999, 0x9999996c, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0xc0068f09, 0x5fdf593f, 0xbfa99999, 0x9999996c, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0xc0056c6e, 0x7397f5b1, 0xbfa99999, 0x9999996c, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0xc002d97c, 0x7f3321d2, 0xbfa99999, 0x9999996c, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0xbff921fb, 0x54442cfc, 0xbfa99999, 0x9999996c, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0xbfe921fb, 0x54442cdf, 0xbfa99999, 0x9999996c, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0xbfddac67, 0x0561bb0b, 0xbfa99999, 0x9999996c, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0xbfd4978f, 0xa3269eb3, 0xbfa99999, 0x9999996c, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0xbfcf5b75, 0xf92c809a, 0xbfa99999, 0x9999996c, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0xbfc94441, 0xf8f725d6, 0xbfa99999, 0x9999996c, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0xbfc52397, 0x843c9ab2, 0xbfa99999, 0x9999996c, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0xbfc229ae, 0xc47638b8, 0xbfa99999, 0x9999996c, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0xbfbfd5ba, 0x9aac2f2f, 0xbfa99999, 0x9999996c, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfbc5408, 0x1a0213f9, 0xbfa99999, 0x9999996c, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0xbfb983e2, 0x82e2cc1a, 0xbfa99999, 0x9999996c, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0xbfb7357c, 0x82961441, 0xbfa99999, 0x9999996c, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0xbfb548be, 0x67e8f615, 0xbfa99999, 0x9999996c, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0xbfb3a752, 0x9a4179a3, 0xbfa99999, 0x9999996c, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xbfb24134, 0xbd36a760, 0xbfa99999, 0x9999996c, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0xbfb10a9c, 0x765f3702, 0xbfa99999, 0x9999996c, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0xbfaff55b, 0xb72cfdaa, 0xbfa99999, 0x9999996c, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0xbfae153e, 0x4206f6b9, 0xbfa99999, 0x9999996c, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0xbfac6a4c, 0xd203b483, 0xbfa99999, 0x9999996c, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0xbfaaec2a, 0xc3e29569, 0xbfa99999, 0x9999996c, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0x400921fb, 0x54442d18, 0x3cb70000, 0x00000000, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0x400921fb, 0x54442d18, 0x3cb70000, 0x00000000, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0x400921fb, 0x54442d17, 0x3cb70000, 0x00000000, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x400921fb, 0x54442d17, 0x3cb70000, 0x00000000, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0x400921fb, 0x54442d17, 0x3cb70000, 0x00000000, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0x400921fb, 0x54442d17, 0x3cb70000, 0x00000000, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0x400921fb, 0x54442d17, 0x3cb70000, 0x00000000, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0x400921fb, 0x54442d17, 0x3cb70000, 0x00000000, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0x400921fb, 0x54442d17, 0x3cb70000, 0x00000000, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0x400921fb, 0x54442d17, 0x3cb70000, 0x00000000, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0x400921fb, 0x54442d17, 0x3cb70000, 0x00000000, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0x400921fb, 0x54442d17, 0x3cb70000, 0x00000000, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0x400921fb, 0x54442d16, 0x3cb70000, 0x00000000, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0x400921fb, 0x54442d16, 0x3cb70000, 0x00000000, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0x400921fb, 0x54442d16, 0x3cb70000, 0x00000000, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0x400921fb, 0x54442d15, 0x3cb70000, 0x00000000, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0x400921fb, 0x54442d15, 0x3cb70000, 0x00000000, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0x400921fb, 0x54442d13, 0x3cb70000, 0x00000000, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0x400921fb, 0x54442d11, 0x3cb70000, 0x00000000, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0x400921fb, 0x54442d0a, 0x3cb70000, 0x00000000, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3cb70000, 0x00000000, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0x3cfcbfff, 0xffffffcc, 0x3cb70000, 0x00000000, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0x3cecbfff, 0xffffffe6, 0x3cb70000, 0x00000000, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0x3ce32aaa, 0xaaaaaa9f, 0x3cb70000, 0x00000000, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0x3cdcbfff, 0xfffffff2, 0x3cb70000, 0x00000000, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0x3cd6ffff, 0xfffffff7, 0x3cb70000, 0x00000000, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0x3cd32aaa, 0xaaaaaaa5, 0x3cb70000, 0x00000000, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0x3cd06db6, 0xdb6db6d7, 0x3cb70000, 0x00000000, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0x3cccbfff, 0xfffffffa, 0x3cb70000, 0x00000000, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3cc98e38, 0xe38e38df, 0x3cb70000, 0x00000000, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0x3cc6ffff, 0xfffffffc, 0x3cb70000, 0x00000000, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0x3cc4e8ba, 0x2e8ba2e5, 0x3cb70000, 0x00000000, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0x3cc32aaa, 0xaaaaaaa7, 0x3cb70000, 0x00000000, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0x3cc1b13b, 0x13b13b10, 0x3cb70000, 0x00000000, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3cc06db6, 0xdb6db6d8, 0x3cb70000, 0x00000000, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0x3cbeaaaa, 0xaaaaaaa4, 0x3cb70000, 0x00000000, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0x3cbcbfff, 0xfffffffa, 0x3cb70000, 0x00000000, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3cbb0f0f, 0x0f0f0f09, 0x3cb70000, 0x00000000, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0x3cb98e38, 0xe38e38de, 0x3cb70000, 0x00000000, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0x3cb835e5, 0x0d794359, 0x3cb70000, 0x00000000, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0x4008bbaa, 0xbde5e29b, 0x3fa99999, 0x999999c8, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0x4008b64a, 0xa934a2c1, 0x3fa99999, 0x999999c8, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0x4008b052, 0x20fc1e45, 0x3fa99999, 0x999999c8, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x4008a9a6, 0x5b3c113c, 0x3fa99999, 0x999999c8, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0x4008a225, 0xe5677920, 0x3fa99999, 0x999999c8, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0x400899a6, 0x7091335e, 0x3fa99999, 0x999999c8, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0x40088ff1, 0xae5a77db, 0x3fa99999, 0x999999c8, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0x400884c0, 0xbf722149, 0x3fa99999, 0x999999c8, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0x400877b5, 0x6104e565, 0x3fa99999, 0x999999c8, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0x4008684f, 0x702f7c73, 0x3fa99999, 0x999999c8, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0x400855dc, 0x402d16b4, 0x3fa99999, 0x999999c8, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0x40083f5b, 0x13741c75, 0x3fa99999, 0x999999c8, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0x4008234d, 0x7f6ecb9b, 0x3fa99999, 0x999999c8, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0x4007ff60, 0x67fcc988, 0x3fa99999, 0x999999c8, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0x4007cfc1, 0xdc006368, 0x3fa99999, 0x999999c8, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0x40078db7, 0x34b4bab4, 0x3fa99999, 0x999999c8, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0x40072c43, 0xf4b16506, 0x3fa99999, 0x999999c8, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0x40068f09, 0x5fdf5936, 0x3fa99999, 0x999999c8, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0x40056c6e, 0x7397f5a6, 0x3fa99999, 0x999999c8, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0x4002d97c, 0x7f3321c4, 0x3fa99999, 0x999999c8, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0x3ff921fb, 0x54442cfc, 0x3fa99999, 0x999999c8, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fa99999, 0x999999c8, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0x3fddac67, 0x0561bb66, 0x3fa99999, 0x999999c8, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0x3fd4978f, 0xa3269ef8, 0x3fa99999, 0x999999c8, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0x3fcf5b75, 0xf92c8105, 0x3fa99999, 0x999999c8, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0x3fc94441, 0xf8f7262e, 0x3fa99999, 0x999999c8, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0x3fc52397, 0x843c9afd, 0x3fa99999, 0x999999c8, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0x3fc229ae, 0xc47638f9, 0x3fa99999, 0x999999c8, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0x3fbfd5ba, 0x9aac2fa1, 0x3fa99999, 0x999999c8, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fbc5408, 0x1a02145e, 0x3fa99999, 0x999999c8, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0x3fb983e2, 0x82e2cc75, 0x3fa99999, 0x999999c8, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0x3fb7357c, 0x82961494, 0x3fa99999, 0x999999c8, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0x3fb548be, 0x67e8f661, 0x3fa99999, 0x999999c8, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0x3fb3a752, 0x9a4179e9, 0x3fa99999, 0x999999c8, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3fb24134, 0xbd36a7a2, 0x3fa99999, 0x999999c8, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0x3fb10a9c, 0x765f373f, 0x3fa99999, 0x999999c8, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0x3faff55b, 0xb72cfe1e, 0x3fa99999, 0x999999c8, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fae153e, 0x4206f724, 0x3fa99999, 0x999999c8, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0x3fac6a4c, 0xd203b4e9, 0x3fa99999, 0x999999c8, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0x3faaec2a, 0xc3e295c9, 0x3fa99999, 0x999999c8, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0x400855dc, 0x402d16b5, 0x3fb99999, 0x999999b1, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0x40084b31, 0x9bd4918c, 0x3fb99999, 0x999999b1, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0x40083f5b, 0x13741c76, 0x3fb99999, 0x999999b1, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x40083224, 0x9ea440f5, 0x3fb99999, 0x999999b1, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0x4008234d, 0x7f6ecb9c, 0x3fb99999, 0x999999b1, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0x40081284, 0x26c22f56, 0x3fb99999, 0x999999b1, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0x4007ff60, 0x67fcc989, 0x3fb99999, 0x999999b1, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0x4007e95b, 0x1e3a76c3, 0x3fb99999, 0x999999b1, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0x4007cfc1, 0xdc006369, 0x3fb99999, 0x999999b1, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0x4007b1a4, 0x4c26bcc8, 0x3fb99999, 0x999999b1, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0x40078db7, 0x34b4bab6, 0x3fb99999, 0x999999b1, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0x40076225, 0xd32abdba, 0x3fb99999, 0x999999b1, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0x40072c43, 0xf4b16508, 0x3fb99999, 0x999999b1, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0x4006e806, 0x2854db5c, 0x3fb99999, 0x999999b1, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0x40068f09, 0x5fdf5939, 0x3fb99999, 0x999999b1, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0x400616b4, 0x66d73d5d, 0x3fb99999, 0x999999b1, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0x40056c6e, 0x7397f5aa, 0x3fb99999, 0x999999b1, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0x40046dc0, 0x9ec2942e, 0x3fb99999, 0x999999b1, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0x4002d97c, 0x7f3321cb, 0x3fb99999, 0x999999b1, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0x4000468a, 0x8ace4dee, 0x3fb99999, 0x999999b1, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0x3ff921fb, 0x54442d0a, 0x3fb99999, 0x999999b1, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0x3ff1b6e1, 0x92ebbe3f, 0x3fb99999, 0x999999b1, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fb99999, 0x999999b1, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0x3fe2d0ea, 0xd606639a, 0x3fb99999, 0x999999b1, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0x3fddac67, 0x0561bb5b, 0x3fb99999, 0x999999b1, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0x3fd85a37, 0x6b677dcb, 0x3fb99999, 0x999999b1, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0x3fd4978f, 0xa3269eed, 0x3fb99999, 0x999999b1, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0x3fd1cfa9, 0x5f7a8dd9, 0x3fb99999, 0x999999b1, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0x3fcf5b75, 0xf92c80f2, 0x3fb99999, 0x999999b1, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fcbfd58, 0x1196f5d5, 0x3fb99999, 0x999999b1, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0x3fc94441, 0xf8f7261d, 0x3fb99999, 0x999999b1, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0x3fc70570, 0x81d704f6, 0x3fb99999, 0x999999b1, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0x3fc52397, 0x843c9aed, 0x3fb99999, 0x999999b1, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0x3fc38a03, 0x609b6553, 0x3fb99999, 0x999999b1, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3fc229ae, 0xc47638e9, 0x3fb99999, 0x999999b1, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0x3fc0f772, 0xd81fdc17, 0x3fb99999, 0x999999b1, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0x3fbfd5ba, 0x9aac2f83, 0x3fb99999, 0x999999b1, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fbdfad6, 0xb3fd845e, 0x3fb99999, 0x999999b1, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0x3fbc5408, 0x1a021443, 0x3fb99999, 0x999999b1, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0x3fbad937, 0x0df3718e, 0x3fb99999, 0x999999b1, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0x4007f10e, 0x1dc6b047, 0x3fc33333, 0x3333333f, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0x4007e142, 0xd82322e9, 0x3fc33333, 0x3333333f, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0x4007cfc1, 0xdc00636a, 0x3fc33333, 0x3333333f, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x4007bc40, 0xca9216fd, 0x3fc33333, 0x3333333f, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0x4007a663, 0x9f874767, 0x3fc33333, 0x3333333f, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0x40078db7, 0x34b4bab6, 0x3fc33333, 0x3333333f, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0x400771a9, 0xa0af69dc, 0x3fc33333, 0x3333333f, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0x4007517f, 0x6a2ae17e, 0x3fc33333, 0x3333333f, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0x40072c43, 0xf4b16509, 0x3fc33333, 0x3333333f, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0x400700b2, 0x9327680d, 0x3fc33333, 0x3333333f, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0x4006cd14, 0x07805736, 0x3fc33333, 0x3333333f, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0x40068f09, 0x5fdf593a, 0x3fc33333, 0x3333333f, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0x40064338, 0x2c079138, 0x3fc33333, 0x3333333f, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0x4005e4c3, 0x6ca01188, 0x3fc33333, 0x3333333f, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0x40056c6e, 0x7397f5ab, 0x3fc33333, 0x3333333f, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0x4004cf33, 0xdec5e9dc, 0x3fc33333, 0x3333333f, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0x4003fc17, 0x6b7a855c, 0x3fc33333, 0x3333333f, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0x4002d97c, 0x7f3321ce, 0x3fc33333, 0x3333333f, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0x40014538, 0x5fa3af6c, 0x3fc33333, 0x3333333f, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0x3ffe47df, 0x3d0dd4c5, 0x3fc33333, 0x3333333f, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0x3ff921fb, 0x54442d0f, 0x3fc33333, 0x3333333f, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0x3ff3fc17, 0x6b7a855a, 0x3fc33333, 0x3333333f, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0x3fef730b, 0xd281f697, 0x3fc33333, 0x3333333f, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fc33333, 0x3333333f, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0x3fe4978f, 0xa3269ee3, 0x3fc33333, 0x3333333f, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0x3fe14b1d, 0xd5f90ce4, 0x3fc33333, 0x3333333f, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0x3fddac67, 0x0561bb57, 0x3fc33333, 0x3333333f, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0x3fd9e9bf, 0x3d20dc79, 0x3fc33333, 0x3333333f, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0x3fd6f619, 0x41e4def9, 0x3fc33333, 0x3333333f, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fd4978f, 0xa3269eea, 0x3fc33333, 0x3333333f, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0x3fd2a73a, 0x661eaf0d, 0x3fc33333, 0x3333333f, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0x3fd10a46, 0x08e62851, 0x3fc33333, 0x3333333f, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0x3fcf5b75, 0xf92c80eb, 0x3fc33333, 0x3333333f, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0x3fcd07be, 0xa194b99d, 0x3fc33333, 0x3333333f, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3fcb051b, 0x394c33b5, 0x3fc33333, 0x3333333f, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0x3fc94441, 0xf8f72615, 0x3fc33333, 0x3333333f, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0x3fc7b97b, 0x4bce5b0c, 0x3fc33333, 0x3333333f, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fc65ba8, 0x9b2161b4, 0x3fc33333, 0x3333333f, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0x3fc52397, 0x843c9ae6, 0x3fc33333, 0x3333333f, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0x3fc40b87, 0xc210a2ec, 0x3fc33333, 0x3333333f, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0x40078db7, 0x34b4bab7, 0x3fc99999, 0x999999a6, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0x40077907, 0x8c2f83ea, 0x3fc99999, 0x999999a6, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0x40076225, 0xd32abdbb, 0x3fc99999, 0x999999a6, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x400748b5, 0x43f409df, 0x3fc99999, 0x999999a6, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0x40072c43, 0xf4b16509, 0x3fc99999, 0x999999a6, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0x40070c44, 0x9f55a997, 0x3fc99999, 0x999999a6, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0x4006e806, 0x2854db5d, 0x3fc99999, 0x999999a6, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0x4006bea7, 0xebdbbf5b, 0x3fc99999, 0x999999a6, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0x40068f09, 0x5fdf593b, 0x3fc99999, 0x999999a6, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0x400657b2, 0xe092b034, 0x3fc99999, 0x999999a6, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0x400616b4, 0x66d73d5e, 0x3fc99999, 0x999999a6, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0x4005c975, 0x54f4b39c, 0x3fc99999, 0x999999a6, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0x40056c6e, 0x7397f5ac, 0x3fc99999, 0x999999a6, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0x4004fac5, 0x404fe6d9, 0x3fc99999, 0x999999a6, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0x40046dc0, 0x9ec29430, 0x3fc99999, 0x999999a6, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0x4003bc1c, 0xc0033270, 0x3fc99999, 0x999999a6, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0x4002d97c, 0x7f3321ce, 0x3fc99999, 0x999999a6, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0x4001b6e1, 0x92ebbe40, 0x3fc99999, 0x999999a6, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0x4000468a, 0x8ace4df2, 0x3fc99999, 0x999999a6, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0x3ffd0d6a, 0x1369bd2c, 0x3fc99999, 0x999999a6, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0x3ff921fb, 0x54442d11, 0x3fc99999, 0x999999a6, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0x3ff5368c, 0x951e9cf8, 0x3fc99999, 0x999999a6, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0x3ff1b6e1, 0x92ebbe42, 0x3fc99999, 0x999999a6, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0x3fedac67, 0x0561bb4e, 0x3fc99999, 0x999999a6, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fc99999, 0x999999a6, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0x3fe5977a, 0x5103ea94, 0x3fc99999, 0x999999a6, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0x3fe2d0ea, 0xd6066398, 0x3fc99999, 0x999999a6, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0x3fe09cd8, 0x4fd118f7, 0x3fc99999, 0x999999a6, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0x3fddac67, 0x0561bb56, 0x3fc99999, 0x999999a6, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fdac42f, 0xfa7bcbd6, 0x3fc99999, 0x999999a6, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0x3fd85a37, 0x6b677dc6, 0x3fc99999, 0x999999a6, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0x3fd65243, 0x9d8be71c, 0x3fc99999, 0x999999a6, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0x3fd4978f, 0xa3269ee6, 0x3fc99999, 0x999999a6, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0x3fd31a9b, 0x43436de6, 0x3fc99999, 0x999999a6, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3fd1cfa9, 0x5f7a8dd3, 0x3fc99999, 0x999999a6, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0x3fd0adb5, 0xa7741c08, 0x3fc99999, 0x999999a6, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0x3fcf5b75, 0xf92c80e5, 0x3fc99999, 0x999999a6, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fcd9461, 0x05023393, 0x3fc99999, 0x999999a6, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0x3fcbfd58, 0x1196f5c9, 0x3fc99999, 0x999999a6, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0x3fca8f3c, 0x814a92de, 0x3fc99999, 0x999999a6, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0x40072c43, 0xf4b1650a, 0x3fd00000, 0x00000006, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0x400712fb, 0x97e1e342, 0x3fd00000, 0x00000006, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0x4006f715, 0x259aea13, 0x3fd00000, 0x00000006, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x4006d825, 0xfdaafada, 0x3fd00000, 0x00000006, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0x4006b5ac, 0x6d632f9e, 0x3fd00000, 0x00000006, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0x40068f09, 0x5fdf593b, 0x3fd00000, 0x00000006, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0x40066377, 0xfe555c40, 0x3fd00000, 0x00000006, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0x40063202, 0x7e829b4b, 0x3fd00000, 0x00000006, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0x4005f973, 0x15254855, 0x3fd00000, 0x00000006, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0x4005b83f, 0xa76fbdae, 0x3fd00000, 0x00000006, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0x40056c6e, 0x7397f5ac, 0x3fd00000, 0x00000006, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0x40051371, 0xab22738a, 0x3fd00000, 0x00000006, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0x4004a9f8, 0x694c6d69, 0x3fd00000, 0x00000006, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0x40042bb5, 0xf776eb7e, 0x3fd00000, 0x00000006, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0x40039328, 0x6347d273, 0x3fd00000, 0x00000006, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0x4002d97c, 0x7f3321cf, 0x3fd00000, 0x00000006, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0x4001f6dc, 0x3e63112d, 0x3fd00000, 0x00000006, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0x4000e3c5, 0x1fa059c1, 0x3fd00000, 0x00000006, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0x3fff3889, 0x2f1e0c82, 0x3fd00000, 0x00000006, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0x3ffc4a83, 0x936311d4, 0x3fd00000, 0x00000006, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0x3ff921fb, 0x54442d13, 0x3fd00000, 0x00000006, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0x3ff5f973, 0x15254852, 0x3fd00000, 0x00000006, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0x3ff30b6d, 0x796a4da5, 0x3fd00000, 0x00000006, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0x3ff07c6c, 0x6947a6a6, 0x3fd00000, 0x00000006, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0x3fecac7c, 0x57846f9d, 0x3fd00000, 0x00000006, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fd00000, 0x00000006, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0x3fe63b4b, 0xc3f16a8c, 0x3fd00000, 0x00000006, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0x3fe3d915, 0x73350663, 0x3fd00000, 0x00000006, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0x3fe1e00b, 0xabdefeb6, 0x3fd00000, 0x00000006, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fe03a26, 0xa486e634, 0x3fd00000, 0x00000006, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0x3fddac67, 0x0561bb54, 0x3fd00000, 0x00000006, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0x3fdb4ddd, 0x66a37b45, 0x3fd00000, 0x00000006, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0x3fd94441, 0xf8f7260f, 0x3fd00000, 0x00000006, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0x3fd77fc6, 0xae0c8e66, 0x3fd00000, 0x00000006, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3fd5f41a, 0xaf7686c0, 0x3fd00000, 0x00000006, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0x3fd4978f, 0xa3269ee4, 0x3fd00000, 0x00000006, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0x3fd36277, 0x3707ebcf, 0x3fd00000, 0x00000006, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fd24eaa, 0xb4c991f1, 0x3fd00000, 0x00000006, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0x3fd15731, 0x754a1824, 0x3fd00000, 0x00000006, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0x3fd077fd, 0xe3124ead, 0x3fd00000, 0x00000006, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0x4006cd14, 0x07805737, 0x3fd33333, 0x33333339, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0x4006af8a, 0xb51a6804, 0x3fd33333, 0x33333339, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0x40068f09, 0x5fdf593b, 0x3fd33333, 0x33333339, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x40066b1c, 0x486d5729, 0x3fd33333, 0x33333339, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0x40064338, 0x2c079139, 0x3fd33333, 0x33333339, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0x400616b4, 0x66d73d5f, 0x3fd33333, 0x33333339, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0x4005e4c3, 0x6ca01189, 0x3fd33333, 0x33333339, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0x4005ac69, 0x1f0f4899, 0x3fd33333, 0x33333339, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0x40056c6e, 0x7397f5ad, 0x3fd33333, 0x33333339, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0x40052351, 0xd5cc540e, 0x3fd33333, 0x33333339, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0x4004cf33, 0xdec5e9de, 0x3fd33333, 0x33333339, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0x40046dc0, 0x9ec29431, 0x3fd33333, 0x33333339, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0x4003fc17, 0x6b7a855e, 0x3fd33333, 0x33333339, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0x400376b7, 0x14052d9e, 0x3fd33333, 0x33333339, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0x4002d97c, 0x7f3321d0, 0x3fd33333, 0x33333339, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0x40021fd0, 0x9b1e712c, 0x3fd33333, 0x33333339, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0x40014538, 0x5fa3af6f, 0x3fd33333, 0x33333339, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0x4000468a, 0x8ace4df4, 0x3fd33333, 0x33333339, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0x3ffe47df, 0x3d0dd4cb, 0x3fd33333, 0x33333339, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0x3ffbc66e, 0x44cbc06f, 0x3fd33333, 0x33333339, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0x3ff921fb, 0x54442d13, 0x3fd33333, 0x33333339, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0x3ff67d88, 0x63bc99b9, 0x3fd33333, 0x33333339, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0x3ff3fc17, 0x6b7a855d, 0x3fd33333, 0x33333339, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0x3ff1b6e1, 0x92ebbe42, 0x3fd33333, 0x33333339, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0x3fef730b, 0xd281f699, 0x3fd33333, 0x33333339, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0x3fec08aa, 0xe496efa5, 0x3fd33333, 0x33333339, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fd33333, 0x33333339, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0x3fe6ad11, 0x00fbfde0, 0x3fd33333, 0x33333339, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0x3fe4978f, 0xa3269ee2, 0x3fd33333, 0x33333339, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fe2d0ea, 0xd6066397, 0x3fd33333, 0x33333339, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0x3fe14b1d, 0xd5f90ce2, 0x3fd33333, 0x33333339, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0x3fdff54b, 0xf3bec845, 0x3fd33333, 0x33333339, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0x3fddac67, 0x0561bb53, 0x3fd33333, 0x33333339, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0x3fdbac91, 0xa9a723ef, 0x3fd33333, 0x33333339, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3fd9e9bf, 0x3d20dc73, 0x3fd33333, 0x33333339, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0x3fd85a37, 0x6b677dc2, 0x3fd33333, 0x33333339, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0x3fd6f619, 0x41e4def2, 0x3fd33333, 0x33333339, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fd5b6f8, 0x5eb6af76, 0x3fd33333, 0x33333339, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0x3fd4978f, 0xa3269ee3, 0x3fd33333, 0x33333339, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0x3fd39384, 0xf94e28a1, 0x3fd33333, 0x33333339, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0x40067078, 0xc2eef45d, 0x3fd66666, 0x6666666c, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0x40064f0e, 0xb468064f, 0x3fd66666, 0x6666666c, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0x40062a65, 0x7a259a4d, 0x3fd66666, 0x6666666c, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x40060204, 0xbe520693, 0x3fd66666, 0x6666666c, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0x4005d55d, 0x7bcaa898, 0x3fd66666, 0x6666666c, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0x4005a3c4, 0xf2e49eb4, 0x3fd66666, 0x6666666c, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0x40056c6e, 0x7397f5ad, 0x3fd66666, 0x6666666c, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0x40052e63, 0xcbf6f7b2, 0x3fd66666, 0x6666666c, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0x4004e87c, 0x3b956ba6, 0x3fd66666, 0x6666666c, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0x40049952, 0x004c912d, 0x3fd66666, 0x6666666c, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0x40043f37, 0x08e537eb, 0x3fd66666, 0x6666666c, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0x4003d82a, 0x5408834c, 0x3fd66666, 0x6666666c, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0x400361d1, 0x62e61b89, 0x3fd66666, 0x6666666c, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0x4002d97c, 0x7f3321d0, 0x3fd66666, 0x6666666c, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0x40023c41, 0xea611602, 0x3fd66666, 0x6666666c, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0x40018743, 0x06ef5822, 0x3fd66666, 0x6666666c, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0x4000b833, 0xbe165cc7, 0x3fd66666, 0x6666666c, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0x3fff9c6b, 0x238c6430, 0x3fd66666, 0x6666666c, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0x3ffd95e5, 0xac22d087, 0x3fd66666, 0x6666666c, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0x3ffb6731, 0x2cd2f430, 0x3fd66666, 0x6666666c, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0x3ff921fb, 0x54442d14, 0x3fd66666, 0x6666666c, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0x3ff6dcc5, 0x7bb565f9, 0x3fd66666, 0x6666666c, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0x3ff4ae10, 0xfc6589a2, 0x3fd66666, 0x6666666c, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0x3ff2a78b, 0x84fbf5fa, 0x3fd66666, 0x6666666c, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0x3ff0d38f, 0x2c5ba09d, 0x3fd66666, 0x6666666c, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0x3fee6ae1, 0x355353ce, 0x3fd66666, 0x6666666c, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0x3feb96e5, 0xa78c5c51, 0x3fd66666, 0x6666666c, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fd66666, 0x6666666c, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0x3fe700a7, 0xc5784634, 0x3fd66666, 0x6666666c, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fe52744, 0x00eea72c, 0x3fd66666, 0x6666666c, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0x3fe38b11, 0x2d7bd4af, 0x3fd66666, 0x6666666c, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0x3fe222a5, 0x4fde6fa9, 0x3fd66666, 0x6666666c, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0x3fe0e5fc, 0x62bb05c4, 0x3fd66666, 0x6666666c, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0x3fdf9cbc, 0x4269ab2c, 0x3fd66666, 0x6666666c, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3fddac67, 0x0561bb51, 0x3fd66666, 0x6666666c, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0x3fdbf1b3, 0x0afc731c, 0x3fd66666, 0x6666666c, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0x3fda64ee, 0xc3cc23fe, 0x3fd66666, 0x6666666c, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fd8ffb4, 0xaf913426, 0x3fd66666, 0x6666666c, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0x3fd7bcae, 0xd0f49656, 0x3fd66666, 0x6666666c, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0x3fd69764, 0xfee13644, 0x3fd66666, 0x6666666c, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0x400616b4, 0x66d73d60, 0x3fd99999, 0x9999999f, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0x4005f1ce, 0xcb0d4d6d, 0x3fd99999, 0x9999999f, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0x4005c975, 0x54f4b39e, 0x3fd99999, 0x9999999f, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x40059d2f, 0x241f85a6, 0x3fd99999, 0x9999999f, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0x40056c6e, 0x7397f5ae, 0x3fd99999, 0x9999999f, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0x4005368c, 0x951e9cfc, 0x3fd99999, 0x9999999f, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0x4004fac5, 0x404fe6da, 0x3fd99999, 0x9999999f, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0x4004b831, 0x3ddf1776, 0x3fd99999, 0x9999999f, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0x40046dc0, 0x9ec29432, 0x3fd99999, 0x9999999f, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0x40041a34, 0xfb542bff, 0x3fd99999, 0x9999999f, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0x4003bc1c, 0xc0033272, 0x3fd99999, 0x9999999f, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0x400351d1, 0x783b3dac, 0x3fd99999, 0x9999999f, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0x4002d97c, 0x7f3321d0, 0x3fd99999, 0x9999999f, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0x40025127, 0x9b802817, 0x3fd99999, 0x9999999f, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0x4001b6e1, 0x92ebbe42, 0x3fd99999, 0x9999999f, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0x40010900, 0x9519d637, 0x3fd99999, 0x9999999f, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0x4000468a, 0x8ace4df4, 0x3fd99999, 0x9999999f, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0x3ffedf81, 0xa4bd64d1, 0x3fd99999, 0x9999999f, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0x3ffd0d6a, 0x1369bd30, 0x3fd99999, 0x9999999f, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0x3ffb1f56, 0xfdeef00c, 0x3fd99999, 0x9999999f, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0x3ff921fb, 0x54442d15, 0x3fd99999, 0x9999999f, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0x3ff7249f, 0xaa996a1e, 0x3fd99999, 0x9999999f, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0x3ff5368c, 0x951e9cfa, 0x3fd99999, 0x9999999f, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0x3ff36475, 0x03caf55a, 0x3fd99999, 0x9999999f, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0x3ff1b6e1, 0x92ebbe43, 0x3fd99999, 0x9999999f, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0x3ff031f5, 0x7e54adbd, 0x3fd99999, 0x9999999f, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0x3fedac67, 0x0561bb4e, 0x3fd99999, 0x9999999f, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0x3feb434e, 0xe31013fc, 0x3fd99999, 0x9999999f, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fd99999, 0x9999999f, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fe740a7, 0x7023bda9, 0x3fd99999, 0x9999999f, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0x3fe5977a, 0x5103ea93, 0x3fd99999, 0x9999999f, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0x3fe41f19, 0x63c0045f, 0x3fd99999, 0x9999999f, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0x3fe2d0ea, 0xd6066396, 0x3fd99999, 0x9999999f, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0x3fe1a728, 0x59945683, 0x3fd99999, 0x9999999f, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3fe09cd8, 0x4fd118f3, 0x3fd99999, 0x9999999f, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0x3fdf5b75, 0xf92c80dd, 0x3fd99999, 0x9999999f, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0x3fddac67, 0x0561bb4f, 0x3fd99999, 0x9999999f, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fdc2661, 0x81253b88, 0x3fd99999, 0x9999999f, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0x3fdac42f, 0xfa7bcbce, 0x3fd99999, 0x9999999f, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0x3fd98164, 0x49b6fd53, 0x3fd99999, 0x9999999f, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0x4005bffa, 0x17065de0, 0x3fdccccc, 0xccccccd2, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0x400597ff, 0xd521f2a9, 0x3fdccccc, 0xccccccd2, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0x40056c6e, 0x7397f5ae, 0x3fdccccc, 0xccccccd2, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x40053ccf, 0xe79b8f8e, 0x3fdccccc, 0xccccccd2, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0x4005089b, 0xaf0d60e4, 0x3fdccccc, 0xccccccd2, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0x4004cf33, 0xdec5e9df, 0x3fdccccc, 0xccccccd2, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0x40048fe1, 0xf1cd429f, 0x3fdccccc, 0xccccccd2, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0x400449d3, 0x87509220, 0x3fdccccc, 0xccccccd2, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0x4003fc17, 0x6b7a855f, 0x3fdccccc, 0xccccccd2, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0x4003a59b, 0x934a3833, 0x3fdccccc, 0xccccccd2, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0x4003452d, 0x2a42ac27, 0x3fdccccc, 0xccccccd2, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0x4002d97c, 0x7f3321d0, 0x3fdccccc, 0xccccccd2, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0x40026127, 0x862b05f4, 0x3fdccccc, 0xccccccd2, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0x4001dace, 0xaa5dc055, 0x3fdccccc, 0xccccccd2, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0x40014538, 0x5fa3af70, 0x3fdccccc, 0xccccccd2, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0x40009f87, 0x5343d016, 0x3fdccccc, 0xccccccd2, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0x3fffd307, 0x52e32009, 0x3fdccccc, 0xccccccd2, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0x3ffe47df, 0x3d0dd4cd, 0x3fdccccc, 0xccccccd2, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0x3ffca1a6, 0x56770bcd, 0x3fdccccc, 0xccccccd2, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0x3ffae73b, 0xd5e44e58, 0x3fdccccc, 0xccccccd2, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0x3ff921fb, 0x54442d15, 0x3fdccccc, 0xccccccd2, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0x3ff75cba, 0xd2a40bd2, 0x3fdccccc, 0xccccccd2, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0x3ff5a250, 0x52114e5e, 0x3fdccccc, 0xccccccd2, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0x3ff3fc17, 0x6b7a855e, 0x3fdccccc, 0xccccccd2, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0x3ff270ef, 0x55a53a23, 0x3fdccccc, 0xccccccd2, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0x3ff104e8, 0x0200b9fe, 0x3fdccccc, 0xccccccd2, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0x3fef730b, 0xd281f699, 0x3fdccccc, 0xccccccd2, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0x3fed1cb2, 0xa799b305, 0x3fdccccc, 0xccccccd2, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0x3feb034f, 0x38649c87, 0x3fdccccc, 0xccccccd2, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fdccccc, 0xccccccd2, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0x3fe77338, 0xa80603be, 0x3fdccccc, 0xccccccd2, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0x3fe5f17f, 0x03e7d38e, 0x3fdccccc, 0xccccccd2, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0x3fe4978f, 0xa3269ee1, 0x3fdccccc, 0xccccccd2, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0x3fe3609f, 0x33ce6bdf, 0x3fdccccc, 0xccccccd2, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3fe24865, 0x89dba9df, 0x3fdccccc, 0xccccccd2, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0x3fe14b1d, 0xd5f90ce1, 0x3fdccccc, 0xccccccd2, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0x3fe0657e, 0x94db30cf, 0x3fdccccc, 0xccccccd2, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fdf295b, 0x6544ec4e, 0x3fdccccc, 0xccccccd2, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0x3fddac67, 0x0561bb4f, 0x3fdccccc, 0xccccccd2, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0x3fdc4fdb, 0xf911d373, 0x3fdccccc, 0xccccccd2, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0x40056c6e, 0x7397f5ae, 0x3fe00000, 0x00000003, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0x400541c5, 0x5d5d64c0, 0x3fe00000, 0x00000003, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0x40051371, 0xab22738b, 0x3fe00000, 0x00000003, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x4004e102, 0xc80931db, 0x3fe00000, 0x00000003, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0x4004a9f8, 0x694c6d6a, 0x3fe00000, 0x00000003, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0x40046dc0, 0x9ec29432, 0x3fe00000, 0x00000003, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0x40042bb5, 0xf776eb7f, 0x3fe00000, 0x00000003, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0x4003e31d, 0xfb0d799c, 0x3fe00000, 0x00000003, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0x40039328, 0x6347d274, 0x3fe00000, 0x00000003, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0x40033aef, 0xbf36777e, 0x3fe00000, 0x00000003, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0x4002d97c, 0x7f3321d0, 0x3fe00000, 0x00000003, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0x40026dcb, 0xd423977a, 0x3fe00000, 0x00000003, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0x4001f6dc, 0x3e63112f, 0x3fe00000, 0x00000003, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0x400173c1, 0xf5810bb6, 0x3fe00000, 0x00000003, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0x4000e3c5, 0x1fa059c3, 0x3fe00000, 0x00000003, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0x4000468a, 0x8ace4df4, 0x3fe00000, 0x00000003, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0x3fff3889, 0x2f1e0c85, 0x3fe00000, 0x00000003, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0x3ffdcbc9, 0xedcbd8d7, 0x3fe00000, 0x00000003, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0x3ffc4a83, 0x936311d7, 0x3fe00000, 0x00000003, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0x3ffaba39, 0x7c7259da, 0x3fe00000, 0x00000003, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0x3ff921fb, 0x54442d15, 0x3fe00000, 0x00000003, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0x3ff789bd, 0x2c160051, 0x3fe00000, 0x00000003, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0x3ff5f973, 0x15254855, 0x3fe00000, 0x00000003, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0x3ff4782c, 0xbabc8155, 0x3fe00000, 0x00000003, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0x3ff30b6d, 0x796a4da7, 0x3fe00000, 0x00000003, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0x3ff1b6e1, 0x92ebbe43, 0x3fe00000, 0x00000003, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0x3ff07c6c, 0x6947a6a7, 0x3fe00000, 0x00000003, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0x3feeb8e5, 0x7b0c8582, 0x3fe00000, 0x00000003, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0x3fecac7c, 0x57846f9e, 0x3fe00000, 0x00000003, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fead0be, 0x00825672, 0x3fe00000, 0x00000003, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fe00000, 0x00000003, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0x3fe79c2e, 0x5436d664, 0x3fe00000, 0x00000003, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0x3fe63b4b, 0xc3f16a8a, 0x3fe00000, 0x00000003, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0x3fe4fb75, 0x64dacded, 0x3fe00000, 0x00000003, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3fe3d915, 0x73350660, 0x3fe00000, 0x00000003, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0x3fe2d0ea, 0xd6066395, 0x3fe00000, 0x00000003, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0x3fe1e00b, 0xabdefeb4, 0x3fe00000, 0x00000003, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fe103e2, 0x30ebecf2, 0x3fe00000, 0x00000003, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0x3fe03a26, 0xa486e631, 0x3fe00000, 0x00000003, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0x3fdf01af, 0xb73642bd, 0x3fe00000, 0x00000003, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0x40051c28, 0xaaf491df, 0x3fe19999, 0x9999999d, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0x4004ef33, 0x3421a552, 0x3fe19999, 0x9999999d, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0x4004be8d, 0x75c60da2, 0x3fe19999, 0x9999999d, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x400489ce, 0x32c7e50c, 0x3fe19999, 0x9999999d, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0x4004507f, 0x4d109f28, 0x3fe19999, 0x9999999d, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0x4004121c, 0xb53cd826, 0x3fe19999, 0x9999999d, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0x4003ce13, 0xa64eb185, 0x3fe19999, 0x9999999d, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0x400383c2, 0x72726983, 0x3fe19999, 0x9999999d, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0x40033279, 0x47a8a3f3, 0x3fe19999, 0x9999999d, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0x4002d97c, 0x7f3321d1, 0x3fe19999, 0x9999999d, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0x40027809, 0x3f2fcc24, 0x3fe19999, 0x9999999d, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0x40020d5d, 0x6b1c0b6e, 0x3fe19999, 0x9999999d, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0x400198c4, 0x031217a2, 0x3fe19999, 0x9999999d, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0x400119a6, 0xfe19b274, 0x3fe19999, 0x9999999d, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0x40008fa7, 0x2899ef93, 0x3fe19999, 0x9999999d, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0x3ffff572, 0xaded0be5, 0x3fe19999, 0x9999999d, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0x3ffeb68c, 0x3ba726db, 0x3fe19999, 0x9999999d, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0x3ffd648c, 0xd67db728, 0x3fe19999, 0x9999999d, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0x3ffc02a9, 0x647f0db2, 0x3fe19999, 0x9999999d, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0x3ffa9553, 0x1c6d8e5d, 0x3fe19999, 0x9999999d, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0x3ff921fb, 0x54442d16, 0x3fe19999, 0x9999999d, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0x3ff7aea3, 0x8c1acbcf, 0x3fe19999, 0x9999999d, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0x3ff6414d, 0x44094c7a, 0x3fe19999, 0x9999999d, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0x3ff4df69, 0xd20aa304, 0x3fe19999, 0x9999999d, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0x3ff38d6a, 0x6ce13351, 0x3fe19999, 0x9999999d, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0x3ff24e83, 0xfa9b4e47, 0x3fe19999, 0x9999999d, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0x3ff124a8, 0x57547b07, 0x3fe19999, 0x9999999d, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0x3ff010a8, 0xac54f544, 0x3fe19999, 0x9999999d, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0x3fee24dd, 0x44c855d1, 0x3fe19999, 0x9999999d, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fec5277, 0xa4a086a2, 0x3fe19999, 0x9999999d, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0x3feaa7c8, 0x545183cd, 0x3fe19999, 0x9999999d, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fe19999, 0x9999999d, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0x3fe7be08, 0x326e248f, 0x3fe19999, 0x9999999d, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0x3fe678e3, 0x87470e50, 0x3fe19999, 0x9999999d, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3fe54f9e, 0xb7d5ee49, 0x3fe19999, 0x9999999d, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0x3fe43f7a, 0x7c1d53c7, 0x3fe19999, 0x9999999d, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0x3fe345f0, 0x1cce37bb, 0x3fe19999, 0x9999999d, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fe260b4, 0x85f1202d, 0x3fe19999, 0x9999999d, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0x3fe18db7, 0x79f87dd4, 0x3fe19999, 0x9999999d, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0x3fe0cb20, 0x808a1f16, 0x3fe19999, 0x9999999d, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0x4004cf33, 0xdec5e9df, 0x3fe33333, 0x33333337, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0x4004a04f, 0x5f80df4b, 0x3fe33333, 0x33333337, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0x40046dc0, 0x9ec29432, 0x3fe33333, 0x33333337, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x40043726, 0xeb5fa0c2, 0x3fe33333, 0x33333337, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0x4003fc17, 0x6b7a855f, 0x3fe33333, 0x33333337, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0x4003bc1c, 0xc0033272, 0x3fe33333, 0x33333337, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0x400376b7, 0x14052d9f, 0x3fe33333, 0x33333337, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0x40032b5c, 0xd7c0fc06, 0x3fe33333, 0x33333337, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0x4002d97c, 0x7f3321d1, 0x3fe33333, 0x33333337, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0x4002807f, 0xb6bd9fae, 0x3fe33333, 0x33333337, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0x40021fd0, 0x9b1e712d, 0x3fe33333, 0x33333337, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0x4001b6e1, 0x92ebbe43, 0x3fe33333, 0x33333337, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0x40014538, 0x5fa3af70, 0x3fe33333, 0x33333337, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0x4000ca7c, 0xc2d0d7fc, 0x3fe33333, 0x33333337, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0x4000468a, 0x8ace4df4, 0x3fe33333, 0x33333337, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0x3fff730b, 0xd281f698, 0x3fe33333, 0x33333337, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0x3ffe47df, 0x3d0dd4ce, 0x3fe33333, 0x33333337, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0x3ffd0d6a, 0x1369bd31, 0x3fe33333, 0x33333337, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0x3ffbc66e, 0x44cbc072, 0x3fe33333, 0x33333337, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0x3ffa7687, 0x3ac2bc7a, 0x3fe33333, 0x33333337, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0x3ff921fb, 0x54442d16, 0x3fe33333, 0x33333337, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0x3ff7cd6f, 0x6dc59db2, 0x3fe33333, 0x33333337, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0x3ff67d88, 0x63bc99bb, 0x3fe33333, 0x33333337, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0x3ff5368c, 0x951e9cfb, 0x3fe33333, 0x33333337, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0x3ff3fc17, 0x6b7a855f, 0x3fe33333, 0x33333337, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0x3ff2d0ea, 0xd6066394, 0x3fe33333, 0x33333337, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0x3ff1b6e1, 0x92ebbe44, 0x3fe33333, 0x33333337, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0x3ff0aefd, 0x22e6aa36, 0x3fe33333, 0x33333337, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0x3fef730b, 0xd281f69b, 0x3fe33333, 0x33333337, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fedac67, 0x0561bb50, 0x3fe33333, 0x33333337, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0x3fec08aa, 0xe496efa6, 0x3fe33333, 0x33333337, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0x3fea85ee, 0x761a35a1, 0x3fe33333, 0x33333337, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fe33333, 0x33333337, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0x3fe7da79, 0xf20cc443, 0x3fe33333, 0x33333337, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3fe6ad11, 0x00fbfddf, 0x3fe33333, 0x33333337, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0x3fe5977a, 0x5103ea92, 0x3fe33333, 0x33333337, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0x3fe4978f, 0xa3269ee1, 0x3fe33333, 0x33333337, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fe3ab51, 0xa3923153, 0x3fe33333, 0x33333337, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0x3fe2d0ea, 0xd6066395, 0x3fe33333, 0x33333337, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0x3fe206af, 0xd30d3731, 0x3fe33333, 0x33333337, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0x40048590, 0xb7aedd62, 0x3fe4cccc, 0xccccccd1, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0x40045514, 0x33f00782, 0x3fe4cccc, 0xccccccd1, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0x400420fd, 0x07447552, 0x3fe4cccc, 0xccccccd1, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x4003e8f3, 0xacb51f92, 0x3fe4cccc, 0xccccccd1, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0x4003ac98, 0xf27e8651, 0x3fe4cccc, 0xccccccd1, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0x40036b86, 0x251cd70d, 0x3fe4cccc, 0xccccccd1, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0x4003254d, 0xb30ae9d3, 0x3fe4cccc, 0xccccccd1, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0x4002d97c, 0x7f3321d1, 0x3fe4cccc, 0xccccccd1, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0x4002879c, 0x26a5479b, 0x3fe4cccc, 0xccccccd1, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0x40022f36, 0x8bf3da1f, 0x3fe4cccc, 0xccccccd1, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0x4001cfdb, 0x0358ca06, 0x3fe4cccc, 0xccccccd1, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0x40016925, 0x7715b182, 0x3fe4cccc, 0xccccccd1, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0x4000fac7, 0xc0872c2c, 0x3fe4cccc, 0xccccccd1, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0x40008495, 0x326f4bf0, 0x3fe4cccc, 0xccccccd1, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0x4000068f, 0xdf56fb08, 0x3fe4cccc, 0xccccccd1, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0x3fff01ec, 0xffc750ae, 0x3fe4cccc, 0xccccccd1, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0x3ffde8a2, 0x2515088e, 0x3fe4cccc, 0xccccccd1, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0x3ffcc2f3, 0x2876c448, 0x3fe4cccc, 0xccccccd1, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0x3ffb933b, 0xc05799bf, 0x3fe4cccc, 0xccccccd1, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0x3ffa5c70, 0x7de844b3, 0x3fe4cccc, 0xccccccd1, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0x3ff921fb, 0x54442d16, 0x3fe4cccc, 0xccccccd1, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0x3ff7e786, 0x2aa0157a, 0x3fe4cccc, 0xccccccd1, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0x3ff6b0ba, 0xe830c06e, 0x3fe4cccc, 0xccccccd1, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0x3ff58103, 0x801195e5, 0x3fe4cccc, 0xccccccd1, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0x3ff45b54, 0x8373519f, 0x3fe4cccc, 0xccccccd1, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0x3ff34209, 0xa8c1097f, 0x3fe4cccc, 0xccccccd1, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0x3ff236d6, 0xe9da641d, 0x3fe4cccc, 0xccccccd1, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0x3ff13acc, 0x43a9c24d, 0x3fe4cccc, 0xccccccd1, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0x3ff04e67, 0x277a01d7, 0x3fe4cccc, 0xccccccd1, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3feee357, 0x74b9ee52, 0x3fe4cccc, 0xccccccd1, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0x3fed4881, 0x43ad8c44, 0x3fe4cccc, 0xccccccd1, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0x3febcb13, 0x21414be0, 0x3fe4cccc, 0xccccccd1, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0x3fea697c, 0xb67b95ed, 0x3fe4cccc, 0xccccccd1, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fe4cccc, 0xccccccd1, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3fe7f2b6, 0x84e50d11, 0x3fe4cccc, 0xccccccd1, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0x3fe6d9d4, 0xbc9d5828, 0x3fe4cccc, 0xccccccd1, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0x3fe5d589, 0x87169b18, 0x3fe4cccc, 0xccccccd1, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fe4e41e, 0x9e3c3615, 0x3fe4cccc, 0xccccccd1, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0x3fe403f9, 0x33fedf17, 0x3fe4cccc, 0xccccccd1, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0x3fe3339c, 0x81509658, 0x3fe4cccc, 0xccccccd1, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0x40043f37, 0x08e537ec, 0x3fe66666, 0x6666666b, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0x40040d72, 0x6e9f7ad4, 0x3fe66666, 0x6666666b, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0x4003d82a, 0x5408834d, 0x3fe66666, 0x6666666b, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x40039f10, 0x8a1dc76f, 0x3fe66666, 0x6666666b, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0x400361d1, 0x62e61b8a, 0x3fe66666, 0x6666666b, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0x40032014, 0x3b9f415f, 0x3fe66666, 0x6666666b, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0x4002d97c, 0x7f3321d1, 0x3fe66666, 0x6666666b, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0x40028dab, 0x4b5b59cf, 0x3fe66666, 0x6666666b, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0x40023c41, 0xea611602, 0x3fe66666, 0x6666666b, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0x4001e4e5, 0x5817921d, 0x3fe66666, 0x6666666b, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0x40018743, 0x06ef5823, 0x3fe66666, 0x6666666b, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0x40012317, 0x0c990102, 0x3fe66666, 0x6666666b, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0x4000b833, 0xbe165cc8, 0x3fe66666, 0x6666666b, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0x4000468a, 0x8ace4df4, 0x3fe66666, 0x6666666b, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0x3fff9c6b, 0x238c6432, 0x3fe66666, 0x6666666b, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0x3ffe9f02, 0x0021cec5, 0x3fe66666, 0x6666666b, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0x3ffd95e5, 0xac22d08a, 0x3fe66666, 0x6666666b, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0x3ffc829e, 0xbb6db38b, 0x3fe66666, 0x6666666b, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0x3ffb6731, 0x2cd2f432, 0x3fe66666, 0x6666666b, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0x3ffa460e, 0xa017978f, 0x3fe66666, 0x6666666b, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0x3ff921fb, 0x54442d16, 0x3fe66666, 0x6666666b, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0x3ff7fde8, 0x0870c29e, 0x3fe66666, 0x6666666b, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0x3ff6dcc5, 0x7bb565fb, 0x3fe66666, 0x6666666b, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0x3ff5c157, 0xed1aa6a2, 0x3fe66666, 0x6666666b, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0x3ff4ae10, 0xfc6589a3, 0x3fe66666, 0x6666666b, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0x3ff3a4f4, 0xa8668b68, 0x3fe66666, 0x6666666b, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0x3ff2a78b, 0x84fbf5fc, 0x3fe66666, 0x6666666b, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0x3ff1b6e1, 0x92ebbe44, 0x3fe66666, 0x6666666b, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0x3ff0d38f, 0x2c5ba09f, 0x3fe66666, 0x6666666b, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3feffb91, 0x1eacb051, 0x3fe66666, 0x6666666b, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0x3fee6ae1, 0x355353d0, 0x3fe66666, 0x6666666b, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0x3fecf457, 0xf0b26be7, 0x3fe66666, 0x6666666b, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0x3feb96e5, 0xa78c5c52, 0x3fe66666, 0x6666666b, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0x3fea5140, 0x23a34d20, 0x3fe66666, 0x6666666b, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fe66666, 0x6666666b, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0x3fe8079c, 0x6293aee0, 0x3fe66666, 0x6666666b, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0x3fe700a7, 0xc5784634, 0x3fe66666, 0x6666666b, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fe60bab, 0x289996a1, 0x3fe66666, 0x6666666b, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0x3fe52744, 0x00eea72b, 0x3fe66666, 0x6666666b, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0x3fe45223, 0x9692c90f, 0x3fe66666, 0x6666666b, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0x4003fc17, 0x6b7a855f, 0x3fe80000, 0x00000005, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0x4003c953, 0x34d30df4, 0x3fe80000, 0x00000005, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0x40039328, 0x6347d275, 0x3fe80000, 0x00000005, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x40035951, 0xee0fd5c9, 0x3fe80000, 0x00000005, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0x40031b87, 0x267eca84, 0x3fe80000, 0x00000005, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0x4002d97c, 0x7f3321d1, 0x3fe80000, 0x00000005, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0x400292e4, 0xc2c70243, 0x3fe80000, 0x00000005, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0x40024772, 0xd9496c95, 0x3fe80000, 0x00000005, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0x4001f6dc, 0x3e63112f, 0x3fe80000, 0x00000005, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0x4001a0dc, 0x49296b7c, 0x3fe80000, 0x00000005, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0x40014538, 0x5fa3af70, 0x3fe80000, 0x00000005, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0x4000e3c5, 0x1fa059c3, 0x3fe80000, 0x00000005, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0x40007c6c, 0x6947a6a6, 0x3fe80000, 0x00000005, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0x40000f34, 0x0b81a4ee, 0x3fe80000, 0x00000005, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0x3fff3889, 0x2f1e0c86, 0x3fe80000, 0x00000005, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0x3ffe47df, 0x3d0dd4ce, 0x3fe80000, 0x00000005, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0x3ffd4d68, 0xbe213417, 0x3fe80000, 0x00000005, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0x3ffc4a83, 0x936311d8, 0x3fe80000, 0x00000005, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0x3ffb40e9, 0xaf482898, 0x3fe80000, 0x00000005, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0x3ffa32a5, 0x1baa2089, 0x3fe80000, 0x00000005, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0x3ff921fb, 0x54442d16, 0x3fe80000, 0x00000005, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0x3ff81151, 0x8cde39a4, 0x3fe80000, 0x00000005, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0x3ff7030c, 0xf9403195, 0x3fe80000, 0x00000005, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0x3ff5f973, 0x15254856, 0x3fe80000, 0x00000005, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0x3ff4f68d, 0xea672616, 0x3fe80000, 0x00000005, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0x3ff3fc17, 0x6b7a855f, 0x3fe80000, 0x00000005, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0x3ff30b6d, 0x796a4da8, 0x3fe80000, 0x00000005, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0x3ff2258e, 0x91851051, 0x3fe80000, 0x00000005, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0x3ff14b1d, 0xd5f90ce1, 0x3fe80000, 0x00000005, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3ff07c6c, 0x6947a6a8, 0x3fe80000, 0x00000005, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0x3fef730b, 0xd281f69b, 0x3fe80000, 0x00000005, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0x3fee047c, 0x2c6b066a, 0x3fe80000, 0x00000005, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0x3fecac7c, 0x57846f9e, 0x3fe80000, 0x00000005, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0x3feb6a21, 0xebeb0209, 0x3fe80000, 0x00000005, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3fea3c5a, 0x45f4ab51, 0x3fe80000, 0x00000005, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fe80000, 0x00000005, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0x3fe819d0, 0xb7158a4d, 0x3fe80000, 0x00000005, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fe722a5, 0x98d15d3a, 0x3fe80000, 0x00000005, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0x3fe63b4b, 0xc3f16a8a, 0x3fe80000, 0x00000005, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0x3fe562a0, 0x7dc47c8f, 0x3fe80000, 0x00000005, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0x4003bc1c, 0xc0033273, 0x3fe99999, 0x9999999f, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0x40038899, 0xe572fe85, 0x3fe99999, 0x9999999f, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0x400351d1, 0x783b3dad, 0x3fe99999, 0x9999999f, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x40031787, 0x26d41fcc, 0x3fe99999, 0x9999999f, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0x4002d97c, 0x7f3321d1, 0x3fe99999, 0x9999999f, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0x40029771, 0xd7e7791e, 0x3fe99999, 0x9999999f, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0x40025127, 0x9b802818, 0x3fe99999, 0x9999999f, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0x40020660, 0x0be7bd51, 0x3fe99999, 0x9999999f, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0x4001b6e1, 0x92ebbe43, 0x3fe99999, 0x9999999f, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0x40016279, 0xb155a47a, 0x3fe99999, 0x9999999f, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0x40010900, 0x9519d638, 0x3fe99999, 0x9999999f, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0x4000aa5d, 0x4f58e2bf, 0x3fe99999, 0x9999999f, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0x4000468a, 0x8ace4df4, 0x3fe99999, 0x9999999f, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0x3fffbb37, 0x05373615, 0x3fe99999, 0x9999999f, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0x3ffedf81, 0xa4bd64d2, 0x3fe99999, 0x9999999f, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0x3ffdfa99, 0x22062809, 0x3fe99999, 0x9999999f, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0x3ffd0d6a, 0x1369bd32, 0x3fe99999, 0x9999999f, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0x3ffc192a, 0xbdbdf877, 0x3fe99999, 0x9999999f, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0x3ffb1f56, 0xfdeef00d, 0x3fe99999, 0x9999999f, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0x3ffa21a6, 0x31fd9506, 0x3fe99999, 0x9999999f, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0x3ff921fb, 0x54442d16, 0x3fe99999, 0x9999999f, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0x3ff82250, 0x768ac527, 0x3fe99999, 0x9999999f, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0x3ff7249f, 0xaa996a20, 0x3fe99999, 0x9999999f, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0x3ff62acb, 0xeaca61b7, 0x3fe99999, 0x9999999f, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0x3ff5368c, 0x951e9cfc, 0x3fe99999, 0x9999999f, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0x3ff4495d, 0x86823225, 0x3fe99999, 0x9999999f, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0x3ff36475, 0x03caf55c, 0x3fe99999, 0x9999999f, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0x3ff288bf, 0xa3512419, 0x3fe99999, 0x9999999f, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0x3ff1b6e1, 0x92ebbe44, 0x3fe99999, 0x9999999f, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3ff0ef3c, 0x09d694b1, 0x3fe99999, 0x9999999f, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0x3ff031f5, 0x7e54adbe, 0x3fe99999, 0x9999999f, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0x3feefe06, 0x8bba2275, 0x3fe99999, 0x9999999f, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0x3fedac67, 0x0561bb50, 0x3fe99999, 0x9999999f, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0x3fec6e6d, 0x2171bf19, 0x3fe99999, 0x9999999f, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3feb434e, 0xe31013fc, 0x3fe99999, 0x9999999f, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0x3fea2a25, 0xf172cfe4, 0x3fe99999, 0x9999999f, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fe99999, 0x9999999f, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fe829d0, 0xb5c0352b, 0x3fe99999, 0x9999999f, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0x3fe740a7, 0x7023bda9, 0x3fe99999, 0x9999999f, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0x3fe66585, 0xbb44ba4a, 0x3fe99999, 0x9999999f, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0x40037f2d, 0x8b93012a, 0x3feb3333, 0x33333339, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0x40034b25, 0xb27b30a4, 0x3feb3333, 0x33333339, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0x400313fc, 0x14754e12, 0x3feb3333, 0x33333339, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x4002d97c, 0x7f3321d1, 0x3feb3333, 0x33333339, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0x40029b71, 0xd79223d6, 0x3feb3333, 0x33333339, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0x400259a7, 0x10566dd9, 0x3feb3333, 0x33333339, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0x400213e8, 0x74487c33, 0x3feb3333, 0x33333339, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0x4001ca05, 0x51b12410, 0x3feb3333, 0x33333339, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0x40017bd2, 0x1306a2e0, 0x3feb3333, 0x33333339, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0x4001292a, 0xcb9e5e96, 0x3feb3333, 0x33333339, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0x4000d1f6, 0x365d11c8, 0x3feb3333, 0x33333339, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0x40007629, 0x16cab415, 0x3feb3333, 0x33333339, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0x400015c9, 0xda46bdfc, 0x3feb3333, 0x33333339, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0x3fff61e8, 0x80287a1f, 0x3feb3333, 0x33333339, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0x3ffe8fb9, 0x6bf1d8f3, 0x3feb3333, 0x33333339, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0x3ffdb5a6, 0x01769192, 0x3feb3333, 0x33333339, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0x3ffcd487, 0x74e47388, 0x3feb3333, 0x33333339, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0x3ffbed70, 0x67a8594c, 0x3feb3333, 0x33333339, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0x3ffb01a8, 0xbf84055b, 0x3feb3333, 0x33333339, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0x3ffa12a5, 0x465464cf, 0x3feb3333, 0x33333339, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0x3ff921fb, 0x54442d17, 0x3feb3333, 0x33333339, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0x3ff83151, 0x6233f55f, 0x3feb3333, 0x33333339, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0x3ff7424d, 0xe90454d2, 0x3feb3333, 0x33333339, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0x3ff65686, 0x40e000e2, 0x3feb3333, 0x33333339, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0x3ff56f6f, 0x33a3e6a6, 0x3feb3333, 0x33333339, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0x3ff48e50, 0xa711c89c, 0x3feb3333, 0x33333339, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0x3ff3b43d, 0x3c96813b, 0x3feb3333, 0x33333339, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0x3ff2e20e, 0x285fe00f, 0x3feb3333, 0x33333339, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0x3ff21862, 0xf3fade36, 0x3feb3333, 0x33333339, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3ff157a4, 0x7af2f204, 0x3feb3333, 0x33333339, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0x3ff0a00a, 0x3bce369f, 0x3feb3333, 0x33333339, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0x3fefe342, 0x22973a03, 0x3feb3333, 0x33333339, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0x3fee98a5, 0x04f628dd, 0x3feb3333, 0x33333339, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0x3fed5fd8, 0x0a4c241b, 0x3feb3333, 0x33333339, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3fec384b, 0x7feec390, 0x3feb3333, 0x33333339, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0x3feb2151, 0x0fb6fcf7, 0x3feb3333, 0x33333339, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0x3fea1a25, 0xf2c82506, 0x3feb3333, 0x33333339, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3feb3333, 0x33333339, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0x3fe837fc, 0xff3b7c14, 0x3feb3333, 0x33333339, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0x3fe75b56, 0x8723f1cd, 0x3feb3333, 0x33333339, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0x4003452d, 0x2a42ac28, 0x3feccccc, 0xccccccd3, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0x400310d2, 0xfe7fcad8, 0x3feccccc, 0xccccccd3, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0x4002d97c, 0x7f3321d1, 0x3feccccc, 0xccccccd3, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x40029efc, 0xe9f0f590, 0x3feccccc, 0xccccccd3, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0x40026127, 0x862b05f5, 0x3feccccc, 0xccccccd3, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0x40021fd0, 0x9b1e712e, 0x3feccccc, 0xccccccd3, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0x4001dace, 0xaa5dc056, 0x3feccccc, 0xccccccd3, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0x400191fb, 0xf721ce50, 0x3feccccc, 0xccccccd3, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0x40014538, 0x5fa3af70, 0x3feccccc, 0xccccccd3, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0x4000f46b, 0x88a03600, 0x3feccccc, 0xccccccd3, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0x40009f87, 0x5343d017, 0x3feccccc, 0xccccccd3, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0x4000468a, 0x8ace4df5, 0x3feccccc, 0xccccccd3, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0x3fffd307, 0x52e32009, 0x3feccccc, 0xccccccd3, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0x3fff1127, 0x088152ab, 0x3feccccc, 0xccccccd3, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0x3ffe47df, 0x3d0dd4ce, 0x3feccccc, 0xccccccd3, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0x3ffd77c7, 0xb196b31f, 0x3feccccc, 0xccccccd3, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0x3ffca1a6, 0x56770bcf, 0x3feccccc, 0xccccccd3, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0x3ffbc66e, 0x44cbc072, 0x3feccccc, 0xccccccd3, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0x3ffae73b, 0xd5e44e5a, 0x3feccccc, 0xccccccd3, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0x3ffa054d, 0xbad44abd, 0x3feccccc, 0xccccccd3, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0x3ff921fb, 0x54442d17, 0x3feccccc, 0xccccccd3, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0x3ff83ea8, 0xedb40f71, 0x3feccccc, 0xccccccd3, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0x3ff75cba, 0xd2a40bd4, 0x3feccccc, 0xccccccd3, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0x3ff67d88, 0x63bc99bc, 0x3feccccc, 0xccccccd3, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0x3ff5a250, 0x52114e5f, 0x3feccccc, 0xccccccd3, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0x3ff4cc2e, 0xf6f1a70f, 0x3feccccc, 0xccccccd3, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0x3ff3fc17, 0x6b7a8560, 0x3feccccc, 0xccccccd3, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0x3ff332cf, 0xa0070783, 0x3feccccc, 0xccccccd3, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0x3ff270ef, 0x55a53a25, 0x3feccccc, 0xccccccd3, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3ff1b6e1, 0x92ebbe45, 0x3feccccc, 0xccccccd3, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0x3ff104e8, 0x0200ba00, 0x3feccccc, 0xccccccd3, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0x3ff05b1f, 0x9747ee2e, 0x3feccccc, 0xccccccd3, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0x3fef730b, 0xd281f69b, 0x3feccccc, 0xccccccd3, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0x3fee3ffd, 0x74897b19, 0x3feccccc, 0xccccccd3, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3fed1cb2, 0xa799b306, 0x3feccccc, 0xccccccd3, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0x3fec08aa, 0xe496efa6, 0x3feccccc, 0xccccccd3, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0x3feb034f, 0x38649c88, 0x3feccccc, 0xccccccd3, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3fea0bf9, 0xa94cde1c, 0x3feccccc, 0xccccccd3, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3feccccc, 0xccccccd3, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0x3fe844a1, 0x571188fe, 0x3feccccc, 0xccccccd3, 0x3fee6666, 0x6666666d},
+{32,0,123,__LINE__, 0x40030dfc, 0xd57ce4cc, 0x3fee6666, 0x6666666d, 0xbff00000, 0x00000000},
+{32,0,123,__LINE__, 0x4002d97c, 0x7f3321d1, 0x3fee6666, 0x6666666d, 0xbfee6666, 0x66666666},
+{32,0,123,__LINE__, 0x4002a225, 0xffe678cb, 0x3fee6666, 0x6666666d, 0xbfeccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x400267d3, 0x4beb12fe, 0x3fee6666, 0x6666666d, 0xbfeb3333, 0x33333332},
+{32,0,123,__LINE__, 0x40022a5f, 0x18f3451e, 0x3fee6666, 0x6666666d, 0xbfe99999, 0x99999998},
+{32,0,123,__LINE__, 0x4001e9a5, 0xc99335af, 0x3fee6666, 0x6666666d, 0xbfe7ffff, 0xfffffffe},
+{32,0,123,__LINE__, 0x4001a586, 0x8fc6c8cf, 0x3fee6666, 0x6666666d, 0xbfe66666, 0x66666664},
+{32,0,123,__LINE__, 0x40015de4, 0xca763c21, 0x3fee6666, 0x6666666d, 0xbfe4cccc, 0xccccccca},
+{32,0,123,__LINE__, 0x400112a9, 0x9ee56458, 0x3fee6666, 0x6666666d, 0xbfe33333, 0x33333330},
+{32,0,123,__LINE__, 0x4000c3c5, 0xca449e50, 0x3fee6666, 0x6666666d, 0xbfe19999, 0x99999996},
+{32,0,123,__LINE__, 0x40007133, 0xa108dee2, 0x3fee6666, 0x6666666d, 0xbfdfffff, 0xfffffff9},
+{32,0,123,__LINE__, 0x40001af9, 0x294450fa, 0x3fee6666, 0x6666666d, 0xbfdccccc, 0xccccccc6},
+{32,0,123,__LINE__, 0x3fff8254, 0x66b1ec6b, 0x3fee6666, 0x6666666d, 0xbfd99999, 0x99999993},
+{32,0,123,__LINE__, 0x3ffec7d4, 0x93fc7aa7, 0x3fee6666, 0x6666666d, 0xbfd66666, 0x66666660},
+{32,0,123,__LINE__, 0x3ffe06dc, 0x9297b73e, 0x3fee6666, 0x6666666d, 0xbfd33333, 0x3333332d},
+{32,0,123,__LINE__, 0x3ffd3ffa, 0xcd08c0c1, 0x3fee6666, 0x6666666d, 0xbfcfffff, 0xfffffff4},
+{32,0,123,__LINE__, 0x3ffc73e2, 0xe46d7f71, 0x3fee6666, 0x6666666d, 0xbfc99999, 0x9999998e},
+{32,0,123,__LINE__, 0x3ffba36c, 0x4c864173, 0x3fee6666, 0x6666666d, 0xbfc33333, 0x33333328},
+{32,0,123,__LINE__, 0x3ffacf8e, 0xc523642f, 0x3fee6666, 0x6666666d, 0xbfb99999, 0x99999983},
+{32,0,123,__LINE__, 0x3ff9f95c, 0xaa6341c4, 0x3fee6666, 0x6666666d, 0xbfa99999, 0x9999996c},
+{32,0,123,__LINE__, 0x3ff921fb, 0x54442d17, 0x3fee6666, 0x6666666d, 0x3cb70000, 0x00000000},
+{32,0,123,__LINE__, 0x3ff84a99, 0xfe25186a, 0x3fee6666, 0x6666666d, 0x3fa99999, 0x999999c8},
+{32,0,123,__LINE__, 0x3ff77467, 0xe364f5ff, 0x3fee6666, 0x6666666d, 0x3fb99999, 0x999999b1},
+{32,0,123,__LINE__, 0x3ff6a08a, 0x5c0218bb, 0x3fee6666, 0x6666666d, 0x3fc33333, 0x3333333f},
+{32,0,123,__LINE__, 0x3ff5d013, 0xc41adabd, 0x3fee6666, 0x6666666d, 0x3fc99999, 0x999999a6},
+{32,0,123,__LINE__, 0x3ff503fb, 0xdb7f996d, 0x3fee6666, 0x6666666d, 0x3fd00000, 0x00000006},
+{32,0,123,__LINE__, 0x3ff43d1a, 0x15f0a2f0, 0x3fee6666, 0x6666666d, 0x3fd33333, 0x33333339},
+{32,0,123,__LINE__, 0x3ff37c22, 0x148bdf87, 0x3fee6666, 0x6666666d, 0x3fd66666, 0x6666666c},
+{32,0,123,__LINE__, 0x3ff2c1a2, 0x41d66dc3, 0x3fee6666, 0x6666666d, 0x3fd99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3ff20e04, 0x55ffb83c, 0x3fee6666, 0x6666666d, 0x3fdccccc, 0xccccccd2},
+{32,0,123,__LINE__, 0x3ff1618f, 0x66769c69, 0x3fee6666, 0x6666666d, 0x3fe00000, 0x00000003},
+{32,0,123,__LINE__, 0x3ff0bc6b, 0x13ff1d8d, 0x3fee6666, 0x6666666d, 0x3fe19999, 0x9999999d},
+{32,0,123,__LINE__, 0x3ff01ea3, 0x6abd9180, 0x3fee6666, 0x6666666d, 0x3fe33333, 0x33333337},
+{32,0,123,__LINE__, 0x3fef105a, 0x2737c3d9, 0x3fee6666, 0x6666666d, 0x3fe4cccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3fedf1d3, 0x11f59121, 0x3fee6666, 0x6666666d, 0x3fe66666, 0x6666666b},
+{32,0,123,__LINE__, 0x3fece156, 0x2ac3dda1, 0x3fee6666, 0x6666666d, 0x3fe80000, 0x00000005},
+{32,0,123,__LINE__, 0x3febde70, 0xed439fe7, 0x3fee6666, 0x6666666d, 0x3fe99999, 0x9999999f},
+{32,0,123,__LINE__, 0x3feae8a0, 0x21646864, 0x3fee6666, 0x6666666d, 0x3feb3333, 0x33333339},
+{32,0,123,__LINE__, 0x3fe9ff55, 0x5176d133, 0x3fee6666, 0x6666666d, 0x3feccccc, 0xccccccd3},
+{32,0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3fee6666, 0x6666666d, 0x3fee6666, 0x6666666d},
+0,};
+test_atan2f(m) {run_vector_1(m,atan2f_vec,(char *)(atan2f),"atan2f","fff"); }
diff --git a/newlib/libm/test/atan_vec.c b/newlib/libm/test/atan_vec.c
new file mode 100644
index 00000000000..12b44be747f
--- /dev/null
+++ b/newlib/libm/test/atan_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type atan_vec[] = {
+{64, 0,123,__LINE__, 0xbfec08aa, 0xe496efa6, 0xbff33333, 0x33333333}, /* -0.87605=f(-1.20000)*/
+{64, 0,123,__LINE__, 0xbfebe6ed, 0x93e2de0a, 0xbff30a3d, 0x70a3d70a}, /* -0.87193=f(-1.19000)*/
+{64, 0,123,__LINE__, 0xbfebc4da, 0xc279b378, 0xbff2e147, 0xae147ae1}, /* -0.86778=f(-1.18000)*/
+{64, 0,123,__LINE__, 0xbfeba271, 0x78241551, 0xbff2b851, 0xeb851eb8}, /* -0.86357=f(-1.17000)*/
+{64, 0,123,__LINE__, 0xbfeb7fb0, 0xbad89c3a, 0xbff28f5c, 0x28f5c28f}, /* -0.85933=f(-1.16000)*/
+{64, 0,123,__LINE__, 0xbfeb5c97, 0x8ec9f805, 0xbff26666, 0x66666666}, /* -0.85505=f(-1.15000)*/
+{64, 0,123,__LINE__, 0xbfeb3924, 0xf6762ef7, 0xbff23d70, 0xa3d70a3d}, /* -0.85072=f(-1.14000)*/
+{64, 0,123,__LINE__, 0xbfeb1557, 0xf2b704a7, 0xbff2147a, 0xe147ae14}, /* -0.84635=f(-1.13000)*/
+{64, 0,123,__LINE__, 0xbfeaf12f, 0x82d394f5, 0xbff1eb85, 0x1eb851eb}, /* -0.84194=f(-1.12000)*/
+{64, 0,123,__LINE__, 0xbfeaccaa, 0xa4932fec, 0xbff1c28f, 0x5c28f5c2}, /* -0.83748=f(-1.11000)*/
+{64, 0,123,__LINE__, 0xbfeaa7c8, 0x545183cc, 0xbff19999, 0x99999999}, /* -0.83298=f(-1.10000)*/
+{64, 0,123,__LINE__, 0xbfea8287, 0x8d142296, 0xbff170a3, 0xd70a3d70}, /* -0.82843=f(-1.09000)*/
+{64, 0,123,__LINE__, 0xbfea5ce7, 0x48a170fd, 0xbff147ae, 0x147ae147}, /* -0.82384=f(-1.08000)*/
+{64, 0,123,__LINE__, 0xbfea36e6, 0x7f990cb5, 0xbff11eb8, 0x51eb851e}, /* -0.81920=f(-1.07000)*/
+{64, 0,123,__LINE__, 0xbfea1084, 0x298db87a, 0xbff0f5c2, 0x8f5c28f5}, /* -0.81451=f(-1.06000)*/
+{64, 0,123,__LINE__, 0xbfe9e9bf, 0x3d20dc70, 0xbff0cccc, 0xcccccccc}, /* -0.80978=f(-1.05000)*/
+{64, 0,123,__LINE__, 0xbfe9c296, 0xb01fa9a4, 0xbff0a3d7, 0x0a3d70a3}, /* -0.80500=f(-1.04000)*/
+{64, 0,123,__LINE__, 0xbfe99b09, 0x77a1efc6, 0xbff07ae1, 0x47ae147a}, /* -0.80017=f(-1.03000)*/
+{64, 0,123,__LINE__, 0xbfe97316, 0x882ab459, 0xbff051eb, 0x851eb851}, /* -0.79529=f(-1.02000)*/
+{64, 0,123,__LINE__, 0xbfe94abc, 0xd5ca9ace, 0xbff028f5, 0xc28f5c28}, /* -0.79037=f(-1.01000)*/
+{64, 0,123,__LINE__, 0xbfe921fb, 0x54442d17, 0xbfefffff, 0xfffffffe}, /* -0.78539=f(-0.01000)*/
+{64, 0,123,__LINE__, 0xbfe8f8d0, 0xf7321466, 0xbfefae14, 0x7ae147ac}, /* -0.78037=f(-0.99000)*/
+{64, 0,123,__LINE__, 0xbfe8cf3c, 0xb22f51e4, 0xbfef5c28, 0xf5c28f5a}, /* -0.77529=f(-0.98000)*/
+{64, 0,123,__LINE__, 0xbfe8a53d, 0x79018729, 0xbfef0a3d, 0x70a3d708}, /* -0.77017=f(-0.97000)*/
+{64, 0,123,__LINE__, 0xbfe87ad2, 0x3fc55e45, 0xbfeeb851, 0xeb851eb6}, /* -0.76499=f(-0.96000)*/
+{64, 0,123,__LINE__, 0xbfe84ff9, 0xfb1d212c, 0xbfee6666, 0x66666664}, /* -0.75976=f(-0.95000)*/
+{64, 0,123,__LINE__, 0xbfe824b3, 0xa0619018, 0xbfee147a, 0xe147ae12}, /* -0.75448=f(-0.94000)*/
+{64, 0,123,__LINE__, 0xbfe7f8fe, 0x25d50679, 0xbfedc28f, 0x5c28f5c0}, /* -0.74914=f(-0.93000)*/
+{64, 0,123,__LINE__, 0xbfe7ccd8, 0x82d8fdbc, 0xbfed70a3, 0xd70a3d6e}, /* -0.74375=f(-0.92000)*/
+{64, 0,123,__LINE__, 0xbfe7a041, 0xb025fce7, 0xbfed1eb8, 0x51eb851c}, /* -0.73831=f(-0.91000)*/
+{64, 0,123,__LINE__, 0xbfe77338, 0xa80603bc, 0xbfeccccc, 0xccccccca}, /* -0.73281=f(-0.90000)*/
+{64, 0,123,__LINE__, 0xbfe745bc, 0x66917fae, 0xbfec7ae1, 0x47ae1478}, /* -0.72726=f(-0.89000)*/
+{64, 0,123,__LINE__, 0xbfe717cb, 0xe9eed851, 0xbfec28f5, 0xc28f5c26}, /* -0.72165=f(-0.88000)*/
+{64, 0,123,__LINE__, 0xbfe6e966, 0x3294a096, 0xbfebd70a, 0x3d70a3d4}, /* -0.71599=f(-0.87000)*/
+{64, 0,123,__LINE__, 0xbfe6ba8a, 0x438e7924, 0xbfeb851e, 0xb851eb82}, /* -0.71027=f(-0.86000)*/
+{64, 0,123,__LINE__, 0xbfe68b37, 0x22c4afb2, 0xbfeb3333, 0x33333330}, /* -0.70449=f(-0.85000)*/
+{64, 0,123,__LINE__, 0xbfe65b6b, 0xd946a619, 0xbfeae147, 0xae147ade}, /* -0.69865=f(-0.84000)*/
+{64, 0,123,__LINE__, 0xbfe62b27, 0x73980b0f, 0xbfea8f5c, 0x28f5c28c}, /* -0.69276=f(-0.83000)*/
+{64, 0,123,__LINE__, 0xbfe5fa69, 0x0200ed43, 0xbfea3d70, 0xa3d70a3a}, /* -0.68681=f(-0.82000)*/
+{64, 0,123,__LINE__, 0xbfe5c92f, 0x98e0b06f, 0xbfe9eb85, 0x1eb851e8}, /* -0.68080=f(-0.81000)*/
+{64, 0,123,__LINE__, 0xbfe5977a, 0x5103ea90, 0xbfe99999, 0x99999996}, /* -0.67474=f(-0.80000)*/
+{64, 0,123,__LINE__, 0xbfe56548, 0x47fd2dfe, 0xbfe947ae, 0x147ae144}, /* -0.66861=f(-0.79000)*/
+{64, 0,123,__LINE__, 0xbfe53298, 0xa080c38a, 0xbfe8f5c2, 0x8f5c28f2}, /* -0.66242=f(-0.78000)*/
+{64, 0,123,__LINE__, 0xbfe4ff6a, 0x82c355fd, 0xbfe8a3d7, 0x0a3d70a0}, /* -0.65617=f(-0.77000)*/
+{64, 0,123,__LINE__, 0xbfe4cbbd, 0x1cdb8e6d, 0xbfe851eb, 0x851eb84e}, /* -0.64987=f(-0.76000)*/
+{64, 0,123,__LINE__, 0xbfe4978f, 0xa3269ede, 0xbfe7ffff, 0xfffffffc}, /* -0.64350=f(-0.75000)*/
+{64, 0,123,__LINE__, 0xbfe462e1, 0x50afb65c, 0xbfe7ae14, 0x7ae147aa}, /* -0.63707=f(-0.74000)*/
+{64, 0,123,__LINE__, 0xbfe42db1, 0x679a576c, 0xbfe75c28, 0xf5c28f58}, /* -0.63057=f(-0.73000)*/
+{64, 0,123,__LINE__, 0xbfe3f7ff, 0x318f8720, 0xbfe70a3d, 0x70a3d706}, /* -0.62402=f(-0.72000)*/
+{64, 0,123,__LINE__, 0xbfe3c1ca, 0x002dc874, 0xbfe6b851, 0xeb851eb4}, /* -0.61740=f(-0.71000)*/
+{64, 0,123,__LINE__, 0xbfe38b11, 0x2d7bd4aa, 0xbfe66666, 0x66666662}, /* -0.61072=f(-0.70000)*/
+{64, 0,123,__LINE__, 0xbfe353d4, 0x1c5dfe64, 0xbfe6147a, 0xe147ae10}, /* -0.60398=f(-0.69000)*/
+{64, 0,123,__LINE__, 0xbfe31c12, 0x390e29f6, 0xbfe5c28f, 0x5c28f5be}, /* -0.59717=f(-0.68000)*/
+{64, 0,123,__LINE__, 0xbfe2e3ca, 0xf996421a, 0xbfe570a3, 0xd70a3d6c}, /* -0.59030=f(-0.67000)*/
+{64, 0,123,__LINE__, 0xbfe2aafd, 0xde4d0c9b, 0xbfe51eb8, 0x51eb851a}, /* -0.58337=f(-0.66000)*/
+{63, 0,123,__LINE__, 0xbfe271aa, 0x72553ed1, 0xbfe4cccc, 0xccccccc8}, /* -0.57637=f(-0.65000)*/
+{64, 0,123,__LINE__, 0xbfe237d0, 0x4c1eadfe, 0xbfe47ae1, 0x47ae1476}, /* -0.56931=f(-0.64000)*/
+{64, 0,123,__LINE__, 0xbfe1fd6f, 0x0de97384, 0xbfe428f5, 0xc28f5c24}, /* -0.56218=f(-0.63000)*/
+{62, 0,123,__LINE__, 0xbfe1c286, 0x664ad8c6, 0xbfe3d70a, 0x3d70a3d2}, /* -0.55499=f(-0.62000)*/
+{62, 0,123,__LINE__, 0xbfe18716, 0x10b3da3e, 0xbfe3851e, 0xb851eb80}, /* -0.54774=f(-0.61000)*/
+{64, 0,123,__LINE__, 0xbfe14b1d, 0xd5f90cdd, 0xbfe33333, 0x3333332e}, /* -0.54041=f(-0.60000)*/
+{64, 0,123,__LINE__, 0xbfe10e9d, 0x8cdbac44, 0xbfe2e147, 0xae147adc}, /* -0.53303=f(-0.59000)*/
+{64, 0,123,__LINE__, 0xbfe0d195, 0x1a9393b2, 0xbfe28f5c, 0x28f5c28a}, /* -0.52558=f(-0.58000)*/
+{64, 0,123,__LINE__, 0xbfe09404, 0x7359dee7, 0xbfe23d70, 0xa3d70a38}, /* -0.51806=f(-0.57000)*/
+{64, 0,123,__LINE__, 0xbfe055eb, 0x9af3eb46, 0xbfe1eb85, 0x1eb851e6}, /* -0.51048=f(-0.56000)*/
+{64, 0,123,__LINE__, 0xbfe0174a, 0xa53e6cdf, 0xbfe19999, 0x99999994}, /* -0.50284=f(-0.55000)*/
+{63, 0,123,__LINE__, 0xbfdfb043, 0x6d708c01, 0xbfe147ae, 0x147ae142}, /* -0.49513=f(-0.54000)*/
+{64, 0,123,__LINE__, 0xbfdf30e2, 0x0a19966b, 0xbfe0f5c2, 0x8f5c28f0}, /* -0.48735=f(-0.53000)*/
+{64, 0,123,__LINE__, 0xbfdeb071, 0xaf3a3187, 0xbfe0a3d7, 0x0a3d709e}, /* -0.47951=f(-0.52000)*/
+{62, 0,123,__LINE__, 0xbfde2ef3, 0x101033d6, 0xbfe051eb, 0x851eb84c}, /* -0.47161=f(-0.51000)*/
+{64, 0,123,__LINE__, 0xbfddac67, 0x0561bb45, 0xbfdfffff, 0xfffffff4}, /* -0.46364=f(-0.50000)*/
+{62, 0,123,__LINE__, 0xbfdd28ce, 0x8e859fe6, 0xbfdf5c28, 0xf5c28f50}, /* -0.45561=f(-0.49000)*/
+{64, 0,123,__LINE__, 0xbfdca42a, 0xd266d565, 0xbfdeb851, 0xeb851eac}, /* -0.44751=f(-0.48000)*/
+{60, 0,123,__LINE__, 0xbfdc1e7d, 0x2081d8d7, 0xbfde147a, 0xe147ae08}, /* -0.43936=f(-0.47000)*/
+{63, 0,123,__LINE__, 0xbfdb97c6, 0xf1db4027, 0xbfdd70a3, 0xd70a3d64}, /* -0.43113=f(-0.46000)*/
+{64, 0,123,__LINE__, 0xbfdb1009, 0xe9ee79b0, 0xbfdccccc, 0xccccccc0}, /* -0.42285=f(-0.45000)*/
+{64, 0,123,__LINE__, 0xbfda8747, 0xd793c3d1, 0xbfdc28f5, 0xc28f5c1c}, /* -0.41450=f(-0.44000)*/
+{61, 0,123,__LINE__, 0xbfd9fd82, 0xb5dc5e54, 0xbfdb851e, 0xb851eb78}, /* -0.40609=f(-0.43000)*/
+{62, 0,123,__LINE__, 0xbfd972bc, 0xace3f306, 0xbfdae147, 0xae147ad4}, /* -0.39762=f(-0.42000)*/
+{64, 0,123,__LINE__, 0xbfd8e6f8, 0x12962e43, 0xbfda3d70, 0xa3d70a30}, /* -0.38909=f(-0.41000)*/
+{64, 0,123,__LINE__, 0xbfd85a37, 0x6b677db4, 0xbfd99999, 0x9999998c}, /* -0.38050=f(-0.40000)*/
+{62, 0,123,__LINE__, 0xbfd7cc7d, 0x6affe94c, 0xbfd8f5c2, 0x8f5c28e8}, /* -0.37185=f(-0.39000)*/
+{64, 0,123,__LINE__, 0xbfd73dcc, 0xf4d6fa09, 0xbfd851eb, 0x851eb844}, /* -0.36314=f(-0.38000)*/
+{63, 0,123,__LINE__, 0xbfd6ae29, 0x1cbfa268, 0xbfd7ae14, 0x7ae147a0}, /* -0.35437=f(-0.37000)*/
+{64, 0,123,__LINE__, 0xbfd61d95, 0x27631e9d, 0xbfd70a3d, 0x70a3d6fc}, /* -0.34555=f(-0.36000)*/
+{64, 0,123,__LINE__, 0xbfd58c14, 0x8aa9c5ca, 0xbfd66666, 0x66666658}, /* -0.33667=f(-0.35000)*/
+{64, 0,123,__LINE__, 0xbfd4f9aa, 0xee10ca74, 0xbfd5c28f, 0x5c28f5b4}, /* -0.32773=f(-0.34000)*/
+{64, 0,123,__LINE__, 0xbfd4665c, 0x2aebeec6, 0xbfd51eb8, 0x51eb8510}, /* -0.31874=f(-0.33000)*/
+{59, 0,123,__LINE__, 0xbfd3d22c, 0x4c92394e, 0xbfd47ae1, 0x47ae146c}, /* -0.30970=f(-0.32000)*/
+{61, 0,123,__LINE__, 0xbfd33d1f, 0x9074c08c, 0xbfd3d70a, 0x3d70a3c8}, /* -0.30060=f(-0.31000)*/
+{60, 0,123,__LINE__, 0xbfd2a73a, 0x661eaef8, 0xbfd33333, 0x33333324}, /* -0.29145=f(-0.30000)*/
+{64, 0,123,__LINE__, 0xbfd21081, 0x6f1dae73, 0xbfd28f5c, 0x28f5c280}, /* -0.28225=f(-0.29000)*/
+{64, 0,123,__LINE__, 0xbfd178f9, 0x7ed1f883, 0xbfd1eb85, 0x1eb851dc}, /* -0.27300=f(-0.28000)*/
+{64, 0,123,__LINE__, 0xbfd0e0a7, 0x9a25599f, 0xbfd147ae, 0x147ae138}, /* -0.26371=f(-0.27000)*/
+{64, 0,123,__LINE__, 0xbfd04790, 0xf72887c5, 0xbfd0a3d7, 0x0a3d7094}, /* -0.25436=f(-0.26000)*/
+{57, 0,123,__LINE__, 0xbfcf5b75, 0xf92c80be, 0xbfcfffff, 0xffffffe0}, /* -0.24497=f(-0.25000)*/
+{64, 0,123,__LINE__, 0xbfce2656, 0x82776e58, 0xbfceb851, 0xeb851e98}, /* -0.23554=f(-0.24000)*/
+{64, 0,123,__LINE__, 0xbfccefcf, 0x168bece2, 0xbfcd70a3, 0xd70a3d50}, /* -0.22606=f(-0.23000)*/
+{64, 0,123,__LINE__, 0xbfcbb7eb, 0x9ee7d2f8, 0xbfcc28f5, 0xc28f5c08}, /* -0.21655=f(-0.22000)*/
+{64, 0,123,__LINE__, 0xbfca7eb8, 0x6059c7bb, 0xbfcae147, 0xae147ac0}, /* -0.20699=f(-0.21000)*/
+{64, 0,123,__LINE__, 0xbfc94441, 0xf8f725ec, 0xbfc99999, 0x99999978}, /* -0.19739=f(-0.20000)*/
+{64, 0,123,__LINE__, 0xbfc80895, 0x5ddac671, 0xbfc851eb, 0x851eb830}, /* -0.18776=f(-0.19000)*/
+{64, 0,123,__LINE__, 0xbfc6cbbf, 0xd8acff2f, 0xbfc70a3d, 0x70a3d6e8}, /* -0.17809=f(-0.18000)*/
+{64, 0,123,__LINE__, 0xbfc58dcf, 0x04f55e35, 0xbfc5c28f, 0x5c28f5a0}, /* -0.16839=f(-0.17000)*/
+{64, 0,123,__LINE__, 0xbfc44ed0, 0xcd36e60b, 0xbfc47ae1, 0x47ae1458}, /* -0.15865=f(-0.16000)*/
+{64, 0,123,__LINE__, 0xbfc30ed3, 0x67d7cce1, 0xbfc33333, 0x33333310}, /* -0.14888=f(-0.15000)*/
+{61, 0,123,__LINE__, 0xbfc1cde5, 0x53d5fe42, 0xbfc1eb85, 0x1eb851c8}, /* -0.13909=f(-0.14000)*/
+{64, 0,123,__LINE__, 0xbfc08c15, 0x5549dc61, 0xbfc0a3d7, 0x0a3d7080}, /* -0.12927=f(-0.13000)*/
+{64, 0,123,__LINE__, 0xbfbe92e4, 0xe371f633, 0xbfbeb851, 0xeb851e71}, /* -0.11942=f(-0.12000)*/
+{64, 0,123,__LINE__, 0xbfbc0c17, 0xd8759634, 0xbfbc28f5, 0xc28f5be2}, /* -0.10955=f(-0.11000)*/
+{64, 0,123,__LINE__, 0xbfb983e2, 0x82e2cc06, 0xbfb99999, 0x99999953}, /* -0.09966=f(-0.00100)*/
+{63, 0,123,__LINE__, 0xbfb6fa64, 0x46b1cb0e, 0xbfb70a3d, 0x70a3d6c4}, /* -0.08975=f(-0.09000)*/
+{64, 0,123,__LINE__, 0xbfb46fbc, 0xe9dfcbbb, 0xbfb47ae1, 0x47ae1435}, /* -0.07982=f(-0.08000)*/
+{64, 0,123,__LINE__, 0xbfb1e40c, 0x8b780f98, 0xbfb1eb85, 0x1eb851a6}, /* -0.06988=f(-0.07000)*/
+{64, 0,123,__LINE__, 0xbfaeaee7, 0x34b5dc99, 0xbfaeb851, 0xeb851e2d}, /* -0.05992=f(-0.06000)*/
+{64, 0,123,__LINE__, 0xbfa99425, 0x97929e9b, 0xbfa99999, 0x9999990e}, /* -0.04995=f(-0.05000)*/
+{64, 0,123,__LINE__, 0xbfa47816, 0x23768ccb, 0xbfa47ae1, 0x47ae13ef}, /* -0.03997=f(-0.04000)*/
+{62, 0,123,__LINE__, 0xbf9eb5f6, 0x44234a6b, 0xbf9eb851, 0xeb851da0}, /* -0.02999=f(-0.03000)*/
+{64, 0,123,__LINE__, 0xbf947a2e, 0x5daffdee, 0xbf947ae1, 0x47ae1362}, /* -0.01999=f(-0.02000)*/
+{64, 0,123,__LINE__, 0xbf847ab4, 0x8b1ef92b, 0xbf847ae1, 0x47ae1249}, /* -0.00999=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x3cd19000, 0x00000000, 0x3cd19000, 0x00000000}, /* 9.74915e-16=f(9.74915e-16)*/
+{62, 0,123,__LINE__, 0x3f847ab4, 0x8b1efd8f, 0x3f847ae1, 0x47ae16ad}, /* 0.00999=f(0.01000)*/
+{64, 0,123,__LINE__, 0x3f947a2e, 0x5db0001f, 0x3f947ae1, 0x47ae1594}, /* 0.01999=f(0.02000)*/
+{64, 0,123,__LINE__, 0x3f9eb5f6, 0x44234c9d, 0x3f9eb851, 0xeb851fd2}, /* 0.02999=f(0.03000)*/
+{64, 0,123,__LINE__, 0x3fa47816, 0x23768de3, 0x3fa47ae1, 0x47ae1508}, /* 0.03997=f(0.04000)*/
+{64, 0,123,__LINE__, 0x3fa99425, 0x97929fb4, 0x3fa99999, 0x99999a27}, /* 0.04995=f(0.05000)*/
+{63, 0,123,__LINE__, 0x3faeaee7, 0x34b5ddb1, 0x3faeb851, 0xeb851f46}, /* 0.05992=f(0.06000)*/
+{64, 0,123,__LINE__, 0x3fb1e40c, 0x8b781023, 0x3fb1eb85, 0x1eb85232}, /* 0.06988=f(0.07000)*/
+{64, 0,123,__LINE__, 0x3fb46fbc, 0xe9dfcc46, 0x3fb47ae1, 0x47ae14c1}, /* 0.07982=f(0.08000)*/
+{64, 0,123,__LINE__, 0x3fb6fa64, 0x46b1cb99, 0x3fb70a3d, 0x70a3d750}, /* 0.08975=f(0.09000)*/
+{64, 0,123,__LINE__, 0x3fb983e2, 0x82e2cc91, 0x3fb99999, 0x999999df}, /* 0.09966=f(0.10000)*/
+{64, 0,123,__LINE__, 0x3fbc0c17, 0xd87596bf, 0x3fbc28f5, 0xc28f5c6e}, /* 0.10955=f(0.11000)*/
+{64, 0,123,__LINE__, 0x3fbe92e4, 0xe371f6be, 0x3fbeb851, 0xeb851efd}, /* 0.11942=f(0.12000)*/
+{64, 0,123,__LINE__, 0x3fc08c15, 0x5549dca5, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.12927=f(0.13000)*/
+{64, 0,123,__LINE__, 0x3fc1cde5, 0x53d5fe87, 0x3fc1eb85, 0x1eb8520e}, /* 0.13909=f(0.14000)*/
+{64, 0,123,__LINE__, 0x3fc30ed3, 0x67d7cd26, 0x3fc33333, 0x33333356}, /* 0.14888=f(0.15000)*/
+{64, 0,123,__LINE__, 0x3fc44ed0, 0xcd36e650, 0x3fc47ae1, 0x47ae149e}, /* 0.15865=f(0.16000)*/
+{64, 0,123,__LINE__, 0x3fc58dcf, 0x04f55e79, 0x3fc5c28f, 0x5c28f5e6}, /* 0.16839=f(0.17000)*/
+{61, 0,123,__LINE__, 0x3fc6cbbf, 0xd8acff73, 0x3fc70a3d, 0x70a3d72e}, /* 0.17809=f(0.18000)*/
+{64, 0,123,__LINE__, 0x3fc80895, 0x5ddac6b5, 0x3fc851eb, 0x851eb876}, /* 0.18776=f(0.19000)*/
+{63, 0,123,__LINE__, 0x3fc94441, 0xf8f7262f, 0x3fc99999, 0x999999be}, /* 0.19739=f(0.20000)*/
+{64, 0,123,__LINE__, 0x3fca7eb8, 0x6059c7fe, 0x3fcae147, 0xae147b06}, /* 0.20699=f(0.21000)*/
+{64, 0,123,__LINE__, 0x3fcbb7eb, 0x9ee7d33b, 0x3fcc28f5, 0xc28f5c4e}, /* 0.21655=f(0.22000)*/
+{64, 0,123,__LINE__, 0x3fccefcf, 0x168bed26, 0x3fcd70a3, 0xd70a3d96}, /* 0.22606=f(0.23000)*/
+{64, 0,123,__LINE__, 0x3fce2656, 0x82776e9a, 0x3fceb851, 0xeb851ede}, /* 0.23554=f(0.24000)*/
+{64, 0,123,__LINE__, 0x3fcf5b75, 0xf92c8102, 0x3fd00000, 0x00000013}, /* 0.24497=f(0.25000)*/
+{64, 0,123,__LINE__, 0x3fd04790, 0xf72887e6, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.25436=f(0.26000)*/
+{63, 0,123,__LINE__, 0x3fd0e0a7, 0x9a2559c0, 0x3fd147ae, 0x147ae15b}, /* 0.26371=f(0.27000)*/
+{61, 0,123,__LINE__, 0x3fd178f9, 0x7ed1f8a4, 0x3fd1eb85, 0x1eb851ff}, /* 0.27300=f(0.28000)*/
+{64, 0,123,__LINE__, 0x3fd21081, 0x6f1dae93, 0x3fd28f5c, 0x28f5c2a3}, /* 0.28225=f(0.29000)*/
+{64, 0,123,__LINE__, 0x3fd2a73a, 0x661eaf18, 0x3fd33333, 0x33333347}, /* 0.29145=f(0.30000)*/
+{61, 0,123,__LINE__, 0x3fd33d1f, 0x9074c0aa, 0x3fd3d70a, 0x3d70a3eb}, /* 0.30060=f(0.31000)*/
+{64, 0,123,__LINE__, 0x3fd3d22c, 0x4c92396e, 0x3fd47ae1, 0x47ae148f}, /* 0.30970=f(0.32000)*/
+{64, 0,123,__LINE__, 0x3fd4665c, 0x2aebeee6, 0x3fd51eb8, 0x51eb8533}, /* 0.31874=f(0.33000)*/
+{64, 0,123,__LINE__, 0x3fd4f9aa, 0xee10ca93, 0x3fd5c28f, 0x5c28f5d7}, /* 0.32773=f(0.34000)*/
+{63, 0,123,__LINE__, 0x3fd58c14, 0x8aa9c5e8, 0x3fd66666, 0x6666667b}, /* 0.33667=f(0.35000)*/
+{64, 0,123,__LINE__, 0x3fd61d95, 0x27631ebc, 0x3fd70a3d, 0x70a3d71f}, /* 0.34555=f(0.36000)*/
+{63, 0,123,__LINE__, 0x3fd6ae29, 0x1cbfa286, 0x3fd7ae14, 0x7ae147c3}, /* 0.35437=f(0.37000)*/
+{64, 0,123,__LINE__, 0x3fd73dcc, 0xf4d6fa28, 0x3fd851eb, 0x851eb867}, /* 0.36314=f(0.38000)*/
+{64, 0,123,__LINE__, 0x3fd7cc7d, 0x6affe96b, 0x3fd8f5c2, 0x8f5c290b}, /* 0.37185=f(0.39000)*/
+{63, 0,123,__LINE__, 0x3fd85a37, 0x6b677dd3, 0x3fd99999, 0x999999af}, /* 0.38050=f(0.40000)*/
+{62, 0,123,__LINE__, 0x3fd8e6f8, 0x12962e60, 0x3fda3d70, 0xa3d70a53}, /* 0.38909=f(0.41000)*/
+{63, 0,123,__LINE__, 0x3fd972bc, 0xace3f325, 0x3fdae147, 0xae147af7}, /* 0.39762=f(0.42000)*/
+{64, 0,123,__LINE__, 0x3fd9fd82, 0xb5dc5e72, 0x3fdb851e, 0xb851eb9b}, /* 0.40609=f(0.43000)*/
+{63, 0,123,__LINE__, 0x3fda8747, 0xd793c3ef, 0x3fdc28f5, 0xc28f5c3f}, /* 0.41450=f(0.44000)*/
+{59, 0,123,__LINE__, 0x3fdb1009, 0xe9ee79d0, 0x3fdccccc, 0xcccccce3}, /* 0.42285=f(0.45000)*/
+{63, 0,123,__LINE__, 0x3fdb97c6, 0xf1db4044, 0x3fdd70a3, 0xd70a3d87}, /* 0.43113=f(0.46000)*/
+{64, 0,123,__LINE__, 0x3fdc1e7d, 0x2081d8f4, 0x3fde147a, 0xe147ae2b}, /* 0.43936=f(0.47000)*/
+{64, 0,123,__LINE__, 0x3fdca42a, 0xd266d583, 0x3fdeb851, 0xeb851ecf}, /* 0.44751=f(0.48000)*/
+{62, 0,123,__LINE__, 0x3fdd28ce, 0x8e85a002, 0x3fdf5c28, 0xf5c28f73}, /* 0.45561=f(0.49000)*/
+{64, 0,123,__LINE__, 0x3fddac67, 0x0561bb61, 0x3fe00000, 0x0000000b}, /* 0.46364=f(0.50000)*/
+{64, 0,123,__LINE__, 0x3fde2ef3, 0x101033ef, 0x3fe051eb, 0x851eb85d}, /* 0.47161=f(0.51000)*/
+{64, 0,123,__LINE__, 0x3fdeb071, 0xaf3a31a2, 0x3fe0a3d7, 0x0a3d70af}, /* 0.47951=f(0.52000)*/
+{62, 0,123,__LINE__, 0x3fdf30e2, 0x0a199684, 0x3fe0f5c2, 0x8f5c2901}, /* 0.48735=f(0.53000)*/
+{63, 0,123,__LINE__, 0x3fdfb043, 0x6d708c1b, 0x3fe147ae, 0x147ae153}, /* 0.49513=f(0.54000)*/
+{64, 0,123,__LINE__, 0x3fe0174a, 0xa53e6cec, 0x3fe19999, 0x999999a5}, /* 0.50284=f(0.55000)*/
+{64, 0,123,__LINE__, 0x3fe055eb, 0x9af3eb52, 0x3fe1eb85, 0x1eb851f7}, /* 0.51048=f(0.56000)*/
+{64, 0,123,__LINE__, 0x3fe09404, 0x7359def4, 0x3fe23d70, 0xa3d70a49}, /* 0.51806=f(0.57000)*/
+{64, 0,123,__LINE__, 0x3fe0d195, 0x1a9393c0, 0x3fe28f5c, 0x28f5c29b}, /* 0.52558=f(0.58000)*/
+{64, 0,123,__LINE__, 0x3fe10e9d, 0x8cdbac50, 0x3fe2e147, 0xae147aed}, /* 0.53303=f(0.59000)*/
+{64, 0,123,__LINE__, 0x3fe14b1d, 0xd5f90cea, 0x3fe33333, 0x3333333f}, /* 0.54041=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3fe18716, 0x10b3da4a, 0x3fe3851e, 0xb851eb91}, /* 0.54774=f(0.61000)*/
+{64, 0,123,__LINE__, 0x3fe1c286, 0x664ad8d2, 0x3fe3d70a, 0x3d70a3e3}, /* 0.55499=f(0.62000)*/
+{64, 0,123,__LINE__, 0x3fe1fd6f, 0x0de97390, 0x3fe428f5, 0xc28f5c35}, /* 0.56218=f(0.63000)*/
+{64, 0,123,__LINE__, 0x3fe237d0, 0x4c1eae0a, 0x3fe47ae1, 0x47ae1487}, /* 0.56931=f(0.64000)*/
+{64, 0,123,__LINE__, 0x3fe271aa, 0x72553edd, 0x3fe4cccc, 0xccccccd9}, /* 0.57637=f(0.65000)*/
+{64, 0,123,__LINE__, 0x3fe2aafd, 0xde4d0ca7, 0x3fe51eb8, 0x51eb852b}, /* 0.58337=f(0.66000)*/
+{64, 0,123,__LINE__, 0x3fe2e3ca, 0xf9964226, 0x3fe570a3, 0xd70a3d7d}, /* 0.59030=f(0.67000)*/
+{64, 0,123,__LINE__, 0x3fe31c12, 0x390e2a02, 0x3fe5c28f, 0x5c28f5cf}, /* 0.59717=f(0.68000)*/
+{64, 0,123,__LINE__, 0x3fe353d4, 0x1c5dfe70, 0x3fe6147a, 0xe147ae21}, /* 0.60398=f(0.69000)*/
+{64, 0,123,__LINE__, 0x3fe38b11, 0x2d7bd4b6, 0x3fe66666, 0x66666673}, /* 0.61072=f(0.70000)*/
+{64, 0,123,__LINE__, 0x3fe3c1ca, 0x002dc87f, 0x3fe6b851, 0xeb851ec5}, /* 0.61740=f(0.71000)*/
+{64, 0,123,__LINE__, 0x3fe3f7ff, 0x318f872b, 0x3fe70a3d, 0x70a3d717}, /* 0.62402=f(0.72000)*/
+{64, 0,123,__LINE__, 0x3fe42db1, 0x679a5777, 0x3fe75c28, 0xf5c28f69}, /* 0.63057=f(0.73000)*/
+{64, 0,123,__LINE__, 0x3fe462e1, 0x50afb668, 0x3fe7ae14, 0x7ae147bb}, /* 0.63707=f(0.74000)*/
+{64, 0,123,__LINE__, 0x3fe4978f, 0xa3269ee9, 0x3fe80000, 0x0000000d}, /* 0.64350=f(0.75000)*/
+{64, 0,123,__LINE__, 0x3fe4cbbd, 0x1cdb8e78, 0x3fe851eb, 0x851eb85f}, /* 0.64987=f(0.76000)*/
+{64, 0,123,__LINE__, 0x3fe4ff6a, 0x82c35607, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.65617=f(0.77000)*/
+{64, 0,123,__LINE__, 0x3fe53298, 0xa080c394, 0x3fe8f5c2, 0x8f5c2903}, /* 0.66242=f(0.78000)*/
+{64, 0,123,__LINE__, 0x3fe56548, 0x47fd2e08, 0x3fe947ae, 0x147ae155}, /* 0.66861=f(0.79000)*/
+{64, 0,123,__LINE__, 0x3fe5977a, 0x5103ea9a, 0x3fe99999, 0x999999a7}, /* 0.67474=f(0.80000)*/
+{64, 0,123,__LINE__, 0x3fe5c92f, 0x98e0b079, 0x3fe9eb85, 0x1eb851f9}, /* 0.68080=f(0.81000)*/
+{64, 0,123,__LINE__, 0x3fe5fa69, 0x0200ed4d, 0x3fea3d70, 0xa3d70a4b}, /* 0.68681=f(0.82000)*/
+{64, 0,123,__LINE__, 0x3fe62b27, 0x73980b19, 0x3fea8f5c, 0x28f5c29d}, /* 0.69276=f(0.83000)*/
+{64, 0,123,__LINE__, 0x3fe65b6b, 0xd946a623, 0x3feae147, 0xae147aef}, /* 0.69865=f(0.84000)*/
+{64, 0,123,__LINE__, 0x3fe68b37, 0x22c4afbc, 0x3feb3333, 0x33333341}, /* 0.70449=f(0.85000)*/
+{64, 0,123,__LINE__, 0x3fe6ba8a, 0x438e792e, 0x3feb851e, 0xb851eb93}, /* 0.71027=f(0.86000)*/
+{64, 0,123,__LINE__, 0x3fe6e966, 0x3294a09f, 0x3febd70a, 0x3d70a3e5}, /* 0.71599=f(0.87000)*/
+{64, 0,123,__LINE__, 0x3fe717cb, 0xe9eed85b, 0x3fec28f5, 0xc28f5c37}, /* 0.72165=f(0.88000)*/
+{64, 0,123,__LINE__, 0x3fe745bc, 0x66917fb7, 0x3fec7ae1, 0x47ae1489}, /* 0.72726=f(0.89000)*/
+{64, 0,123,__LINE__, 0x3fe77338, 0xa80603c6, 0x3feccccc, 0xccccccdb}, /* 0.73281=f(0.90000)*/
+{64, 0,123,__LINE__, 0x3fe7a041, 0xb025fcf0, 0x3fed1eb8, 0x51eb852d}, /* 0.73831=f(0.91000)*/
+{64, 0,123,__LINE__, 0x3fe7ccd8, 0x82d8fdc5, 0x3fed70a3, 0xd70a3d7f}, /* 0.74375=f(0.92000)*/
+{64, 0,123,__LINE__, 0x3fe7f8fe, 0x25d50682, 0x3fedc28f, 0x5c28f5d1}, /* 0.74914=f(0.93000)*/
+{64, 0,123,__LINE__, 0x3fe824b3, 0xa0619021, 0x3fee147a, 0xe147ae23}, /* 0.75448=f(0.94000)*/
+{64, 0,123,__LINE__, 0x3fe84ff9, 0xfb1d2135, 0x3fee6666, 0x66666675}, /* 0.75976=f(0.95000)*/
+{64, 0,123,__LINE__, 0x3fe87ad2, 0x3fc55e4e, 0x3feeb851, 0xeb851ec7}, /* 0.76499=f(0.96000)*/
+{64, 0,123,__LINE__, 0x3fe8a53d, 0x79018731, 0x3fef0a3d, 0x70a3d719}, /* 0.77017=f(0.97000)*/
+{64, 0,123,__LINE__, 0x3fe8cf3c, 0xb22f51ed, 0x3fef5c28, 0xf5c28f6b}, /* 0.77529=f(0.98000)*/
+{64, 0,123,__LINE__, 0x3fe8f8d0, 0xf732146f, 0x3fefae14, 0x7ae147bd}, /* 0.78037=f(0.99000)*/
+{64, 0,123,__LINE__, 0x3fe921fb, 0x54442d1f, 0x3ff00000, 0x00000007}, /* 0.78539=f(1.00000)*/
+{64, 0,123,__LINE__, 0x3fe94abc, 0xd5ca9ad6, 0x3ff028f5, 0xc28f5c30}, /* 0.79037=f(1.01000)*/
+{64, 0,123,__LINE__, 0x3fe97316, 0x882ab461, 0x3ff051eb, 0x851eb859}, /* 0.79529=f(1.02000)*/
+{64, 0,123,__LINE__, 0x3fe99b09, 0x77a1efcd, 0x3ff07ae1, 0x47ae1482}, /* 0.80017=f(1.03000)*/
+{64, 0,123,__LINE__, 0x3fe9c296, 0xb01fa9ac, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.80500=f(1.04000)*/
+{64, 0,123,__LINE__, 0x3fe9e9bf, 0x3d20dc77, 0x3ff0cccc, 0xccccccd4}, /* 0.80978=f(1.05000)*/
+{64, 0,123,__LINE__, 0x3fea1084, 0x298db881, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.81451=f(1.06000)*/
+{64, 0,123,__LINE__, 0x3fea36e6, 0x7f990cbc, 0x3ff11eb8, 0x51eb8526}, /* 0.81920=f(1.07000)*/
+{64, 0,123,__LINE__, 0x3fea5ce7, 0x48a17105, 0x3ff147ae, 0x147ae14f}, /* 0.82384=f(1.08000)*/
+{64, 0,123,__LINE__, 0x3fea8287, 0x8d14229d, 0x3ff170a3, 0xd70a3d78}, /* 0.82843=f(1.09000)*/
+{64, 0,123,__LINE__, 0x3feaa7c8, 0x545183d3, 0x3ff19999, 0x999999a1}, /* 0.83298=f(1.10000)*/
+{64, 0,123,__LINE__, 0x3feaccaa, 0xa4932ff4, 0x3ff1c28f, 0x5c28f5ca}, /* 0.83748=f(1.11000)*/
+{64, 0,123,__LINE__, 0x3feaf12f, 0x82d394fc, 0x3ff1eb85, 0x1eb851f3}, /* 0.84194=f(1.12000)*/
+{64, 0,123,__LINE__, 0x3feb1557, 0xf2b704ae, 0x3ff2147a, 0xe147ae1c}, /* 0.84635=f(1.13000)*/
+{64, 0,123,__LINE__, 0x3feb3924, 0xf6762efe, 0x3ff23d70, 0xa3d70a45}, /* 0.85072=f(1.14000)*/
+{64, 0,123,__LINE__, 0x3feb5c97, 0x8ec9f80c, 0x3ff26666, 0x6666666e}, /* 0.85505=f(1.15000)*/
+{64, 0,123,__LINE__, 0x3feb7fb0, 0xbad89c41, 0x3ff28f5c, 0x28f5c297}, /* 0.85933=f(1.16000)*/
+{64, 0,123,__LINE__, 0x3feba271, 0x78241558, 0x3ff2b851, 0xeb851ec0}, /* 0.86357=f(1.17000)*/
+{64, 0,123,__LINE__, 0x3febc4da, 0xc279b37f, 0x3ff2e147, 0xae147ae9}, /* 0.86778=f(1.18000)*/
+{64, 0,123,__LINE__, 0x3febe6ed, 0x93e2de10, 0x3ff30a3d, 0x70a3d712}, /* 0.87193=f(1.19000)*/
+{64, 0,123,__LINE__, 0xbff69b81, 0x54baf42e, 0xc01921fb, 0x54442d18}, /* -1.41296=f(-6.28318)*/
+{64, 0,123,__LINE__, 0xbff5c97d, 0x37d98aa3, 0xc012d97c, 0x7f3321d2}, /* -1.36169=f(-4.71238)*/
+{64, 0,123,__LINE__, 0xbff433b8, 0xa322ddd2, 0xc00921fb, 0x54442d18}, /* -1.26262=f(-3.14159)*/
+{64, 0,123,__LINE__, 0xbff00fe9, 0x87ed02ff, 0xbff921fb, 0x54442d18}, /* -1.00388=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{64, 0,123,__LINE__, 0x3ff00fe9, 0x87ed02ff, 0x3ff921fb, 0x54442d18}, /* 1.00388=f(1.57079)*/
+{64, 0,123,__LINE__, 0x3ff433b8, 0xa322ddd2, 0x400921fb, 0x54442d18}, /* 1.26262=f(3.14159)*/
+{64, 0,123,__LINE__, 0x3ff5c97d, 0x37d98aa3, 0x4012d97c, 0x7f3321d2}, /* 1.36169=f(4.71238)*/
+{64, 0,123,__LINE__, 0xbff8997f, 0xbb8b19c0, 0xc03e0000, 0x00000000}, /* -1.53747=f(-30.0000)*/
+{64, 0,123,__LINE__, 0xbff8914e, 0x9558e14d, 0xc03c4ccc, 0xcccccccd}, /* -1.53547=f(-28.3000)*/
+{64, 0,123,__LINE__, 0xbff88811, 0xbbe6dd19, 0xc03a9999, 0x9999999a}, /* -1.53322=f(-26.6000)*/
+{64, 0,123,__LINE__, 0xbff87d92, 0x7628865c, 0xc038e666, 0x66666667}, /* -1.53065=f(-24.9000)*/
+{64, 0,123,__LINE__, 0xbff8718a, 0x0c21772b, 0xc0373333, 0x33333334}, /* -1.52772=f(-23.2000)*/
+{64, 0,123,__LINE__, 0xbff8639b, 0x79e21172, 0xc0358000, 0x00000001}, /* -1.52431=f(-21.5000)*/
+{64, 0,123,__LINE__, 0xbff85349, 0xe792c6df, 0xc033cccc, 0xccccccce}, /* -1.52033=f(-19.8000)*/
+{64, 0,123,__LINE__, 0xbff83fe9, 0xca4b0fb2, 0xc0321999, 0x9999999b}, /* -1.51560=f(-18.1000)*/
+{64, 0,123,__LINE__, 0xbff82888, 0xd516330c, 0xc0306666, 0x66666668}, /* -1.50989=f(-16.4000)*/
+{64, 0,123,__LINE__, 0xbff80bc5, 0x5b9fbf46, 0xc02d6666, 0x6666666a}, /* -1.50287=f(-14.7000)*/
+{64, 0,123,__LINE__, 0xbff7e786, 0x2aa0157c, 0xc02a0000, 0x00000004}, /* -1.49402=f(-13.0000)*/
+{64, 0,123,__LINE__, 0xbff7b872, 0x197c1745, 0xc0269999, 0x9999999e}, /* -1.48253=f(-11.3000)*/
+{64, 0,123,__LINE__, 0xbff778d9, 0x2c06c36f, 0xc0233333, 0x33333338}, /* -1.46700=f(-9.60000)*/
+{64, 0,123,__LINE__, 0xbff71e3e, 0x5f2c979f, 0xc01f9999, 0x999999a3}, /* -1.44488=f(-7.90000)*/
+{64, 0,123,__LINE__, 0xbff692fa, 0x44218618, 0xc018cccc, 0xccccccd6}, /* -1.41088=f(-6.20000)*/
+{64, 0,123,__LINE__, 0xbff5a250, 0x52114e62, 0xc0120000, 0x00000009}, /* -1.35212=f(-4.50000)*/
+{64, 0,123,__LINE__, 0xbff3a4f4, 0xa8668b6d, 0xc0066666, 0x66666678}, /* -1.22777=f(-2.80000)*/
+{64, 0,123,__LINE__, 0xbfeaa7c8, 0x545183ed, 0xbff19999, 0x999999bd}, /* -0.83298=f(-1.10000)*/
+{64, 0,123,__LINE__, 0x3fe14b1d, 0xd5f90cac, 0x3fe33333, 0x333332ec}, /* 0.54041=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3ff29219, 0xa497099b, 0x40026666, 0x66666654}, /* 1.16066=f(2.30000)*/
+{64, 0,123,__LINE__, 0x3ff5368c, 0x951e9cfa, 0x400fffff, 0xffffffee}, /* 1.32581=f(4.00000)*/
+{64, 0,123,__LINE__, 0x3ff65a9f, 0xe0f20774, 0x4016cccc, 0xccccccc4}, /* 1.39712=f(5.70000)*/
+{64, 0,123,__LINE__, 0x3ff6fbcd, 0x16bebe3f, 0x401d9999, 0x99999991}, /* 1.43647=f(7.40000)*/
+{64, 0,123,__LINE__, 0x3ff761ab, 0xb0d2ec50, 0x40223333, 0x3333332f}, /* 1.46134=f(9.10000)*/
+{64, 0,123,__LINE__, 0x3ff7a7cd, 0x013209a5, 0x40259999, 0x99999995}, /* 1.47846=f(10.8000)*/
+{64, 0,123,__LINE__, 0x3ff7daff, 0x85a63058, 0x4028ffff, 0xfffffffb}, /* 1.49096=f(12.5000)*/
+{64, 0,123,__LINE__, 0x3ff80201, 0xa882c932, 0x402c6666, 0x66666661}, /* 1.50049=f(14.2000)*/
+{64, 0,123,__LINE__, 0x3ff820b5, 0xe69c2ec6, 0x402fcccc, 0xccccccc7}, /* 1.50798=f(15.9000)*/
+{64, 0,123,__LINE__, 0x3ff83981, 0x22b99e8c, 0x40319999, 0x99999997}, /* 1.51403=f(17.6000)*/
+{64, 0,123,__LINE__, 0x3ff84df1, 0x81e40544, 0x40334ccc, 0xccccccca}, /* 1.51902=f(19.3000)*/
+{64, 0,123,__LINE__, 0x3ff85f14, 0xd43d81be, 0x4034ffff, 0xfffffffd}, /* 1.52321=f(21.0000)*/
+{64, 0,123,__LINE__, 0x3ff86da8, 0x6687209e, 0x4036b333, 0x33333330}, /* 1.52677=f(22.7000)*/
+{64, 0,123,__LINE__, 0x3ff87a34, 0xf080f2f8, 0x40386666, 0x66666663}, /* 1.52983=f(24.4000)*/
+{64, 0,123,__LINE__, 0x3ff8851f, 0xa51ef694, 0x403a1999, 0x99999996}, /* 1.53250=f(26.1000)*/
+{64, 0,123,__LINE__, 0x3ff88eb5, 0x0616141e, 0x403bcccc, 0xccccccc9}, /* 1.53484=f(27.8000)*/
+{64, 0,123,__LINE__, 0x3ff8972f, 0xfc482372, 0x403d7fff, 0xfffffffc}, /* 1.53691=f(29.5000)*/
+0,};
+test_atan(m) {run_vector_1(m,atan_vec,(char *)(atan),"atan","dd"); }
diff --git a/newlib/libm/test/atanf_vec.c b/newlib/libm/test/atanf_vec.c
new file mode 100644
index 00000000000..c907fe5acb7
--- /dev/null
+++ b/newlib/libm/test/atanf_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type atanf_vec[] = {
+{11, 0,123,__LINE__, 0xbfec08aa, 0xed5c7cec, 0xbff33333, 0x33333333}, /* -0.87605=f(-1.20000)*/
+{11, 0,123,__LINE__, 0xbfebe6ed, 0x9fbacab8, 0xbff30a3d, 0x70a3d70a}, /* -0.87193=f(-1.19000)*/
+{11, 0,123,__LINE__, 0xbfebc4da, 0xb84ba54b, 0xbff2e147, 0xae147ae1}, /* -0.86778=f(-1.18000)*/
+{11, 0,123,__LINE__, 0xbfeba271, 0x6d27a852, 0xbff2b851, 0xeb851eb8}, /* -0.86357=f(-1.17000)*/
+{11, 0,123,__LINE__, 0xbfeb7fb0, 0xb4e51557, 0xbff28f5c, 0x28f5c28f}, /* -0.85933=f(-1.16000)*/
+{11, 0,123,__LINE__, 0xbfeb5c97, 0x88c89da5, 0xbff26666, 0x66666666}, /* -0.85505=f(-1.15000)*/
+{11, 0,123,__LINE__, 0xbfeb3924, 0xf3e86154, 0xbff23d70, 0xa3d70a3d}, /* -0.85072=f(-1.14000)*/
+{11, 0,123,__LINE__, 0xbfeb1557, 0xf23cdf13, 0xbff2147a, 0xe147ae14}, /* -0.84635=f(-1.13000)*/
+{11, 0,123,__LINE__, 0xbfeaf12f, 0x834a84a7, 0xbff1eb85, 0x1eb851eb}, /* -0.84194=f(-1.12000)*/
+{11, 0,123,__LINE__, 0xbfeaccaa, 0xa707e18c, 0xbff1c28f, 0x5c28f5c2}, /* -0.83748=f(-1.11000)*/
+{11, 0,123,__LINE__, 0xbfeaa7c8, 0x5a1121a9, 0xbff19999, 0x99999999}, /* -0.83298=f(-1.10000)*/
+{11, 0,123,__LINE__, 0xbfea8287, 0x94f6bb43, 0xbff170a3, 0xd70a3d70}, /* -0.82843=f(-1.09000)*/
+{11, 0,123,__LINE__, 0xbfea5ce7, 0x53d5c48d, 0xbff147ae, 0x147ae147}, /* -0.82384=f(-1.08000)*/
+{11, 0,123,__LINE__, 0xbfea36e6, 0x8c891b33, 0xbff11eb8, 0x51eb851e}, /* -0.81920=f(-1.07000)*/
+{11, 0,123,__LINE__, 0xbfea1084, 0x1aeb18ae, 0xbff0f5c2, 0x8f5c28f5}, /* -0.81451=f(-1.06000)*/
+{11, 0,123,__LINE__, 0xbfe9e9bf, 0x30abbe1d, 0xbff0cccc, 0xcccccccc}, /* -0.80978=f(-1.05000)*/
+{11, 0,123,__LINE__, 0xbfe9c296, 0xa60875e6, 0xbff0a3d7, 0x0a3d70a3}, /* -0.80500=f(-1.04000)*/
+{11, 0,123,__LINE__, 0xbfe99b09, 0x7047b825, 0xbff07ae1, 0x47ae147a}, /* -0.80017=f(-1.03000)*/
+{11, 0,123,__LINE__, 0xbfe97316, 0x83352f94, 0xbff051eb, 0x851eb851}, /* -0.79529=f(-1.02000)*/
+{11, 0,123,__LINE__, 0xbfe94abc, 0xd32a21dc, 0xbff028f5, 0xc28f5c28}, /* -0.79037=f(-1.01000)*/
+{13, 0,123,__LINE__, 0xbfe921fb, 0x54442d18, 0xbfefffff, 0xfffffffe}, /* -0.78539=f(-0.01000)*/
+{13, 0,123,__LINE__, 0xbfe8f8d0, 0xf9bf1e5c, 0xbfefae14, 0x7ae147ac}, /* -0.78037=f(-0.99000)*/
+{13, 0,123,__LINE__, 0xbfe8cf3c, 0xb73a3b37, 0xbfef5c28, 0xf5c28f5a}, /* -0.77529=f(-0.98000)*/
+{13, 0,123,__LINE__, 0xbfe8a53d, 0x810df2de, 0xbfef0a3d, 0x70a3d708}, /* -0.77017=f(-0.97000)*/
+{13, 0,123,__LINE__, 0xbfe87ad2, 0x395f26bf, 0xbfeeb851, 0xeb851eb6}, /* -0.76499=f(-0.96000)*/
+{13, 0,123,__LINE__, 0xbfe84ff9, 0xf77706bc, 0xbfee6666, 0x66666664}, /* -0.75976=f(-0.95000)*/
+{13, 0,123,__LINE__, 0xbfe824b3, 0x9f766e2d, 0xbfee147a, 0xe147ae12}, /* -0.75448=f(-0.94000)*/
+{12, 0,123,__LINE__, 0xbfe7f8fe, 0x26e8534c, 0xbfedc28f, 0x5c28f5c0}, /* -0.74914=f(-0.93000)*/
+{12, 0,123,__LINE__, 0xbfe7ccd8, 0x87ca915d, 0xbfed70a3, 0xd70a3d6e}, /* -0.74375=f(-0.92000)*/
+{12, 0,123,__LINE__, 0xbfe7a041, 0xb8a10028, 0xbfed1eb8, 0x51eb851c}, /* -0.73831=f(-0.91000)*/
+{12, 0,123,__LINE__, 0xbfe77338, 0xa16457bc, 0xbfeccccc, 0xccccccca}, /* -0.73281=f(-0.90000)*/
+{12, 0,123,__LINE__, 0xbfe745bc, 0x62166aea, 0xbfec7ae1, 0x47ae1478}, /* -0.72726=f(-0.89000)*/
+{12, 0,123,__LINE__, 0xbfe717cb, 0xe7ed10e9, 0xbfec28f5, 0xc28f5c26}, /* -0.72165=f(-0.88000)*/
+{12, 0,123,__LINE__, 0xbfe6e966, 0x33acb528, 0xbfebd70a, 0x3d70a3d4}, /* -0.71599=f(-0.87000)*/
+{12, 0,123,__LINE__, 0xbfe6ba8a, 0x482e8074, 0xbfeb851e, 0xb851eb82}, /* -0.71027=f(-0.86000)*/
+{12, 0,123,__LINE__, 0xbfe68b37, 0x2a6ebef1, 0xbfeb3333, 0x33333330}, /* -0.70449=f(-0.85000)*/
+{12, 0,123,__LINE__, 0xbfe65b6b, 0xd188e9f3, 0xbfeae147, 0xae147ade}, /* -0.69865=f(-0.84000)*/
+{12, 0,123,__LINE__, 0xbfe62b27, 0x6d01d27f, 0xbfea8f5c, 0x28f5c28c}, /* -0.69276=f(-0.83000)*/
+{12, 0,123,__LINE__, 0xbfe5fa69, 0x00056d81, 0xbfea3d70, 0xa3d70a3a}, /* -0.68681=f(-0.82000)*/
+{12, 0,123,__LINE__, 0xbfe5c92f, 0x9b0e5152, 0xbfe9eb85, 0x1eb851e8}, /* -0.68080=f(-0.81000)*/
+{12, 0,123,__LINE__, 0xbfe5977a, 0x54a52e38, 0xbfe99999, 0x99999996}, /* -0.67474=f(-0.80000)*/
+{12, 0,123,__LINE__, 0xbfe56548, 0x4e320115, 0xbfe947ae, 0x147ae144}, /* -0.66861=f(-0.79000)*/
+{12, 0,123,__LINE__, 0xbfe53298, 0x96200713, 0xbfe8f5c2, 0x8f5c28f2}, /* -0.66242=f(-0.78000)*/
+{12, 0,123,__LINE__, 0xbfe4ff6a, 0x7f7bb194, 0xbfe8a3d7, 0x0a3d70a0}, /* -0.65617=f(-0.77000)*/
+{12, 0,123,__LINE__, 0xbfe4cbbd, 0x15582c7e, 0xbfe851eb, 0x851eb84e}, /* -0.64987=f(-0.76000)*/
+{14, 0,123,__LINE__, 0xbfe4978f, 0xa1fb0886, 0xbfe7ffff, 0xfffffffc}, /* -0.64350=f(-0.75000)*/
+{14, 0,123,__LINE__, 0xbfe462e1, 0x5335bbc3, 0xbfe7ae14, 0x7ae147aa}, /* -0.63707=f(-0.74000)*/
+{14, 0,123,__LINE__, 0xbfe42db1, 0x6e1b3f75, 0xbfe75c28, 0xf5c28f58}, /* -0.63057=f(-0.73000)*/
+{13, 0,123,__LINE__, 0xbfe3f7ff, 0x3959c7d8, 0xbfe70a3d, 0x70a3d706}, /* -0.62402=f(-0.72000)*/
+{13, 0,123,__LINE__, 0xbfe3c1c9, 0xf6f0d59c, 0xbfe6b851, 0xeb851eb4}, /* -0.61740=f(-0.71000)*/
+{13, 0,123,__LINE__, 0xbfe38b11, 0x2c1e201f, 0xbfe66666, 0x66666662}, /* -0.61072=f(-0.70000)*/
+{13, 0,123,__LINE__, 0xbfe353d4, 0x193fe9ed, 0xbfe6147a, 0xe147ae10}, /* -0.60398=f(-0.69000)*/
+{13, 0,123,__LINE__, 0xbfe31c12, 0x3e930158, 0xbfe5c28f, 0x5c28f5be}, /* -0.59717=f(-0.68000)*/
+{13, 0,123,__LINE__, 0xbfe2e3cb, 0x01e4390e, 0xbfe570a3, 0xd70a3d6c}, /* -0.59030=f(-0.67000)*/
+{13, 0,123,__LINE__, 0xbfe2aafd, 0xe986dd76, 0xbfe51eb8, 0x51eb851a}, /* -0.58337=f(-0.66000)*/
+{13, 0,123,__LINE__, 0xbfe271aa, 0x6ee11b45, 0xbfe4cccc, 0xccccccc8}, /* -0.57637=f(-0.65000)*/
+{13, 0,123,__LINE__, 0xbfe237d0, 0x460f2953, 0xbfe47ae1, 0x47ae1476}, /* -0.56931=f(-0.64000)*/
+{13, 0,123,__LINE__, 0xbfe1fd6f, 0x0a84c353, 0xbfe428f5, 0xc28f5c24}, /* -0.56218=f(-0.63000)*/
+{14, 0,123,__LINE__, 0xbfe1c286, 0x6531e75a, 0xbfe3d70a, 0x3d70a3d2}, /* -0.55499=f(-0.62000)*/
+{14, 0,123,__LINE__, 0xbfe18716, 0x19161382, 0xbfe3851e, 0xb851eb80}, /* -0.54774=f(-0.61000)*/
+{14, 0,123,__LINE__, 0xbfe14b1d, 0xde10c1f6, 0xbfe33333, 0x3333332e}, /* -0.54041=f(-0.60000)*/
+{14, 0,123,__LINE__, 0xbfe10e9d, 0x7e7f3fbb, 0xbfe2e147, 0xae147adc}, /* -0.53303=f(-0.59000)*/
+{14, 0,123,__LINE__, 0xbfe0d195, 0x0c70aa84, 0xbfe28f5c, 0x28f5c28a}, /* -0.52558=f(-0.58000)*/
+{14, 0,123,__LINE__, 0xbfe09404, 0x778b2a8c, 0xbfe23d70, 0xa3d70a38}, /* -0.51806=f(-0.57000)*/
+{15, 0,123,__LINE__, 0xbfe055eb, 0x9964e91c, 0xbfe1eb85, 0x1eb851e6}, /* -0.51048=f(-0.56000)*/
+{15, 0,123,__LINE__, 0xbfe0174a, 0xa8ef77cf, 0xbfe19999, 0x99999994}, /* -0.50284=f(-0.55000)*/
+{10, 0,123,__LINE__, 0xbfdfb043, 0x6ef23d12, 0xbfe147ae, 0x147ae142}, /* -0.49513=f(-0.54000)*/
+{10, 0,123,__LINE__, 0xbfdf30e1, 0xf58d3f1e, 0xbfe0f5c2, 0x8f5c28f0}, /* -0.48735=f(-0.53000)*/
+{10, 0,123,__LINE__, 0xbfdeb071, 0x9e18ea06, 0xbfe0a3d7, 0x0a3d709e}, /* -0.47951=f(-0.52000)*/
+{10, 0,123,__LINE__, 0xbfde2ef3, 0x066ab640, 0xbfe051eb, 0x851eb84c}, /* -0.47161=f(-0.51000)*/
+{10, 0,123,__LINE__, 0xbfddac67, 0x133304db, 0xbfdfffff, 0xfffffff4}, /* -0.46364=f(-0.50000)*/
+{14, 0,123,__LINE__, 0xbfdd28ce, 0xa41ae9c9, 0xbfdf5c28, 0xf5c28f50}, /* -0.45561=f(-0.49000)*/
+{14, 0,123,__LINE__, 0xbfdca42a, 0xcd1ebc0a, 0xbfdeb851, 0xeb851eac}, /* -0.44751=f(-0.48000)*/
+{14, 0,123,__LINE__, 0xbfdc1e7d, 0x1f8f11f0, 0xbfde147a, 0xe147ae08}, /* -0.43936=f(-0.47000)*/
+{13, 0,123,__LINE__, 0xbfdb97c6, 0xec3383f5, 0xbfdd70a3, 0xd70a3d64}, /* -0.43113=f(-0.46000)*/
+{13, 0,123,__LINE__, 0xbfdb1009, 0xdce51463, 0xbfdccccc, 0xccccccc0}, /* -0.42285=f(-0.45000)*/
+{13, 0,123,__LINE__, 0xbfda8747, 0xd7f49e2d, 0xbfdc28f5, 0xc28f5c1c}, /* -0.41450=f(-0.44000)*/
+{14, 0,123,__LINE__, 0xbfd9fd82, 0xb105defd, 0xbfdb851e, 0xb851eb78}, /* -0.40609=f(-0.43000)*/
+{14, 0,123,__LINE__, 0xbfd972bc, 0x9d13b9e5, 0xbfdae147, 0xae147ad4}, /* -0.39762=f(-0.42000)*/
+{14, 0,123,__LINE__, 0xbfd8e6f7, 0xf7e032a0, 0xbfda3d70, 0xa3d70a30}, /* -0.38909=f(-0.41000)*/
+{15, 0,123,__LINE__, 0xbfd85a37, 0x52e35aa0, 0xbfd99999, 0x9999998c}, /* -0.38050=f(-0.40000)*/
+{12, 0,123,__LINE__, 0xbfd7cc7d, 0x50b6ef80, 0xbfd8f5c2, 0x8f5c28e8}, /* -0.37185=f(-0.39000)*/
+{12, 0,123,__LINE__, 0xbfd73dcc, 0xf225a680, 0xbfd851eb, 0x851eb844}, /* -0.36314=f(-0.38000)*/
+{15, 0,123,__LINE__, 0xbfd6ae29, 0x2776bf00, 0xbfd7ae14, 0x7ae147a0}, /* -0.35437=f(-0.37000)*/
+{15, 0,123,__LINE__, 0xbfd61d95, 0x30061180, 0xbfd70a3d, 0x70a3d6fc}, /* -0.34555=f(-0.36000)*/
+{14, 0,123,__LINE__, 0xbfd58c14, 0x737193c0, 0xbfd66666, 0x66666658}, /* -0.33667=f(-0.35000)*/
+{15, 0,123,__LINE__, 0xbfd4f9aa, 0xf9762600, 0xbfd5c28f, 0x5c28f5b4}, /* -0.32773=f(-0.34000)*/
+{15, 0,123,__LINE__, 0xbfd4665c, 0x2f8517e0, 0xbfd51eb8, 0x51eb8510}, /* -0.31874=f(-0.33000)*/
+{13, 0,123,__LINE__, 0xbfd3d22c, 0x4a7cb480, 0xbfd47ae1, 0x47ae146c}, /* -0.30970=f(-0.32000)*/
+{16, 0,123,__LINE__, 0xbfd33d1f, 0x9f484cc0, 0xbfd3d70a, 0x3d70a3c8}, /* -0.30060=f(-0.31000)*/
+{15, 0,123,__LINE__, 0xbfd2a73a, 0x6c6f7c40, 0xbfd33333, 0x33333324}, /* -0.29145=f(-0.30000)*/
+{16, 0,123,__LINE__, 0xbfd21081, 0x588f2900, 0xbfd28f5c, 0x28f5c280}, /* -0.28225=f(-0.29000)*/
+{16, 0,123,__LINE__, 0xbfd178f9, 0x6cc49e40, 0xbfd1eb85, 0x1eb851dc}, /* -0.27300=f(-0.28000)*/
+{15, 0,123,__LINE__, 0xbfd0e0a7, 0x94363240, 0xbfd147ae, 0x147ae138}, /* -0.26371=f(-0.27000)*/
+{16, 0,123,__LINE__, 0xbfd04790, 0xf5fb5800, 0xbfd0a3d7, 0x0a3d7094}, /* -0.25436=f(-0.26000)*/
+{11, 0,123,__LINE__, 0xbfcf5b76, 0x00000000, 0xbfcfffff, 0xffffffe0}, /* -0.24497=f(-0.25000)*/
+{16, 0,123,__LINE__, 0xbfce2656, 0x840dc880, 0xbfceb851, 0xeb851e98}, /* -0.23554=f(-0.24000)*/
+{15, 0,123,__LINE__, 0xbfccefcf, 0x063f30c0, 0xbfcd70a3, 0xd70a3d50}, /* -0.22606=f(-0.23000)*/
+{13, 0,123,__LINE__, 0xbfcbb7eb, 0x9c333c80, 0xbfcc28f5, 0xc28f5c08}, /* -0.21655=f(-0.22000)*/
+{16, 0,123,__LINE__, 0xbfca7eb8, 0x55f62fc0, 0xbfcae147, 0xae147ac0}, /* -0.20699=f(-0.21000)*/
+{16, 0,123,__LINE__, 0xbfc94442, 0x06511080, 0xbfc99999, 0x99999978}, /* -0.19739=f(-0.20000)*/
+{17, 0,123,__LINE__, 0xbfc80895, 0x50b34780, 0xbfc851eb, 0x851eb830}, /* -0.18776=f(-0.19000)*/
+{15, 0,123,__LINE__, 0xbfc6cbbf, 0xe8cc1980, 0xbfc70a3d, 0x70a3d6e8}, /* -0.17809=f(-0.18000)*/
+{17, 0,123,__LINE__, 0xbfc58dce, 0xfff6b0e0, 0xbfc5c28f, 0x5c28f5a0}, /* -0.16839=f(-0.17000)*/
+{18, 0,123,__LINE__, 0xbfc44ed0, 0xc52f3e80, 0xbfc47ae1, 0x47ae1458}, /* -0.15865=f(-0.16000)*/
+{18, 0,123,__LINE__, 0xbfc30ed3, 0x664e2680, 0xbfc33333, 0x33333310}, /* -0.14888=f(-0.15000)*/
+{18, 0,123,__LINE__, 0xbfc1cde5, 0x53311580, 0xbfc1eb85, 0x1eb851c8}, /* -0.13909=f(-0.14000)*/
+{18, 0,123,__LINE__, 0xbfc08c15, 0x46750500, 0xbfc0a3d7, 0x0a3d7080}, /* -0.12927=f(-0.13000)*/
+{18, 0,123,__LINE__, 0xbfbe92e4, 0xd5d09840, 0xbfbeb851, 0xeb851e71}, /* -0.11942=f(-0.12000)*/
+{18, 0,123,__LINE__, 0xbfbc0c17, 0xd70cdd40, 0xbfbc28f5, 0xc28f5be2}, /* -0.10955=f(-0.11000)*/
+{19, 0,123,__LINE__, 0xbfb983e2, 0x8660f8a0, 0xbfb99999, 0x99999953}, /* -0.09966=f(-0.00100)*/
+{15, 0,123,__LINE__, 0xbfb6fa64, 0x63cc7980, 0xbfb70a3d, 0x70a3d6c4}, /* -0.08975=f(-0.09000)*/
+{19, 0,123,__LINE__, 0xbfb46fbc, 0xd99dc740, 0xbfb47ae1, 0x47ae1435}, /* -0.07982=f(-0.08000)*/
+{20, 0,123,__LINE__, 0xbfb1e40c, 0x83d681a0, 0xbfb1eb85, 0x1eb851a6}, /* -0.06988=f(-0.07000)*/
+{19, 0,123,__LINE__, 0xbfaeaee7, 0x31ef0d20, 0xbfaeb851, 0xeb851e2d}, /* -0.05992=f(-0.06000)*/
+{20, 0,123,__LINE__, 0xbfa99425, 0x9ffea300, 0xbfa99999, 0x9999990e}, /* -0.04995=f(-0.05000)*/
+{22, 0,123,__LINE__, 0xbfa47816, 0x2148ba40, 0xbfa47ae1, 0x47ae13ef}, /* -0.03997=f(-0.04000)*/
+{20, 0,123,__LINE__, 0xbf9eb5f6, 0x466748c0, 0xbf9eb851, 0xeb851da0}, /* -0.02999=f(-0.03000)*/
+{24, 0,123,__LINE__, 0xbf947a2e, 0x4a3db3c0, 0xbf947ae1, 0x47ae1362}, /* -0.01999=f(-0.02000)*/
+{25, 0,123,__LINE__, 0xbf847ab4, 0x87ae2540, 0xbf847ae1, 0x47ae1249}, /* -0.00999=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x3cd19000, 0x00000000, 0x3cd19000, 0x00000000}, /* 9.74915e-16=f(9.74915e-16)*/
+{25, 0,123,__LINE__, 0x3f847ab4, 0x87ae2540, 0x3f847ae1, 0x47ae16ad}, /* 0.00999=f(0.01000)*/
+{24, 0,123,__LINE__, 0x3f947a2e, 0x4a3db3c0, 0x3f947ae1, 0x47ae1594}, /* 0.01999=f(0.02000)*/
+{20, 0,123,__LINE__, 0x3f9eb5f6, 0x466748c0, 0x3f9eb851, 0xeb851fd2}, /* 0.02999=f(0.03000)*/
+{22, 0,123,__LINE__, 0x3fa47816, 0x2148ba40, 0x3fa47ae1, 0x47ae1508}, /* 0.03997=f(0.04000)*/
+{20, 0,123,__LINE__, 0x3fa99425, 0x9ffea300, 0x3fa99999, 0x99999a27}, /* 0.04995=f(0.05000)*/
+{19, 0,123,__LINE__, 0x3faeaee7, 0x31ef0d20, 0x3faeb851, 0xeb851f46}, /* 0.05992=f(0.06000)*/
+{20, 0,123,__LINE__, 0x3fb1e40c, 0x83d681a0, 0x3fb1eb85, 0x1eb85232}, /* 0.06988=f(0.07000)*/
+{19, 0,123,__LINE__, 0x3fb46fbc, 0xd99dc740, 0x3fb47ae1, 0x47ae14c1}, /* 0.07982=f(0.08000)*/
+{15, 0,123,__LINE__, 0x3fb6fa64, 0x63cc7980, 0x3fb70a3d, 0x70a3d750}, /* 0.08975=f(0.09000)*/
+{19, 0,123,__LINE__, 0x3fb983e2, 0x8660f8a0, 0x3fb99999, 0x999999df}, /* 0.09966=f(0.10000)*/
+{18, 0,123,__LINE__, 0x3fbc0c17, 0xd70cdd40, 0x3fbc28f5, 0xc28f5c6e}, /* 0.10955=f(0.11000)*/
+{18, 0,123,__LINE__, 0x3fbe92e4, 0xd5d09840, 0x3fbeb851, 0xeb851efd}, /* 0.11942=f(0.12000)*/
+{18, 0,123,__LINE__, 0x3fc08c15, 0x46750500, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.12927=f(0.13000)*/
+{18, 0,123,__LINE__, 0x3fc1cde5, 0x53311580, 0x3fc1eb85, 0x1eb8520e}, /* 0.13909=f(0.14000)*/
+{18, 0,123,__LINE__, 0x3fc30ed3, 0x664e2680, 0x3fc33333, 0x33333356}, /* 0.14888=f(0.15000)*/
+{18, 0,123,__LINE__, 0x3fc44ed0, 0xc52f3e80, 0x3fc47ae1, 0x47ae149e}, /* 0.15865=f(0.16000)*/
+{17, 0,123,__LINE__, 0x3fc58dce, 0xfff6b0e0, 0x3fc5c28f, 0x5c28f5e6}, /* 0.16839=f(0.17000)*/
+{15, 0,123,__LINE__, 0x3fc6cbbf, 0xe8cc1980, 0x3fc70a3d, 0x70a3d72e}, /* 0.17809=f(0.18000)*/
+{17, 0,123,__LINE__, 0x3fc80895, 0x50b34780, 0x3fc851eb, 0x851eb876}, /* 0.18776=f(0.19000)*/
+{16, 0,123,__LINE__, 0x3fc94442, 0x06511080, 0x3fc99999, 0x999999be}, /* 0.19739=f(0.20000)*/
+{16, 0,123,__LINE__, 0x3fca7eb8, 0x55f62fc0, 0x3fcae147, 0xae147b06}, /* 0.20699=f(0.21000)*/
+{13, 0,123,__LINE__, 0x3fcbb7eb, 0x9c333c80, 0x3fcc28f5, 0xc28f5c4e}, /* 0.21655=f(0.22000)*/
+{15, 0,123,__LINE__, 0x3fccefcf, 0x063f30c0, 0x3fcd70a3, 0xd70a3d96}, /* 0.22606=f(0.23000)*/
+{16, 0,123,__LINE__, 0x3fce2656, 0x840dc880, 0x3fceb851, 0xeb851ede}, /* 0.23554=f(0.24000)*/
+{11, 0,123,__LINE__, 0x3fcf5b76, 0x00000000, 0x3fd00000, 0x00000013}, /* 0.24497=f(0.25000)*/
+{16, 0,123,__LINE__, 0x3fd04790, 0xf5fb5800, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.25436=f(0.26000)*/
+{15, 0,123,__LINE__, 0x3fd0e0a7, 0x94363240, 0x3fd147ae, 0x147ae15b}, /* 0.26371=f(0.27000)*/
+{16, 0,123,__LINE__, 0x3fd178f9, 0x6cc49e40, 0x3fd1eb85, 0x1eb851ff}, /* 0.27300=f(0.28000)*/
+{16, 0,123,__LINE__, 0x3fd21081, 0x588f2900, 0x3fd28f5c, 0x28f5c2a3}, /* 0.28225=f(0.29000)*/
+{15, 0,123,__LINE__, 0x3fd2a73a, 0x6c6f7c40, 0x3fd33333, 0x33333347}, /* 0.29145=f(0.30000)*/
+{16, 0,123,__LINE__, 0x3fd33d1f, 0x9f484cc0, 0x3fd3d70a, 0x3d70a3eb}, /* 0.30060=f(0.31000)*/
+{13, 0,123,__LINE__, 0x3fd3d22c, 0x4a7cb480, 0x3fd47ae1, 0x47ae148f}, /* 0.30970=f(0.32000)*/
+{15, 0,123,__LINE__, 0x3fd4665c, 0x2f8517e0, 0x3fd51eb8, 0x51eb8533}, /* 0.31874=f(0.33000)*/
+{15, 0,123,__LINE__, 0x3fd4f9aa, 0xf9762600, 0x3fd5c28f, 0x5c28f5d7}, /* 0.32773=f(0.34000)*/
+{14, 0,123,__LINE__, 0x3fd58c14, 0x737193c0, 0x3fd66666, 0x6666667b}, /* 0.33667=f(0.35000)*/
+{15, 0,123,__LINE__, 0x3fd61d95, 0x30061180, 0x3fd70a3d, 0x70a3d71f}, /* 0.34555=f(0.36000)*/
+{15, 0,123,__LINE__, 0x3fd6ae29, 0x2776bf00, 0x3fd7ae14, 0x7ae147c3}, /* 0.35437=f(0.37000)*/
+{12, 0,123,__LINE__, 0x3fd73dcc, 0xf225a680, 0x3fd851eb, 0x851eb867}, /* 0.36314=f(0.38000)*/
+{12, 0,123,__LINE__, 0x3fd7cc7d, 0x50b6ef80, 0x3fd8f5c2, 0x8f5c290b}, /* 0.37185=f(0.39000)*/
+{15, 0,123,__LINE__, 0x3fd85a37, 0x52e35aa0, 0x3fd99999, 0x999999af}, /* 0.38050=f(0.40000)*/
+{14, 0,123,__LINE__, 0x3fd8e6f7, 0xf7e032a0, 0x3fda3d70, 0xa3d70a53}, /* 0.38909=f(0.41000)*/
+{14, 0,123,__LINE__, 0x3fd972bc, 0x9d13b9e5, 0x3fdae147, 0xae147af7}, /* 0.39762=f(0.42000)*/
+{14, 0,123,__LINE__, 0x3fd9fd82, 0xb105defd, 0x3fdb851e, 0xb851eb9b}, /* 0.40609=f(0.43000)*/
+{13, 0,123,__LINE__, 0x3fda8747, 0xd7f49e2d, 0x3fdc28f5, 0xc28f5c3f}, /* 0.41450=f(0.44000)*/
+{13, 0,123,__LINE__, 0x3fdb1009, 0xdce51463, 0x3fdccccc, 0xcccccce3}, /* 0.42285=f(0.45000)*/
+{13, 0,123,__LINE__, 0x3fdb97c6, 0xec3383f5, 0x3fdd70a3, 0xd70a3d87}, /* 0.43113=f(0.46000)*/
+{14, 0,123,__LINE__, 0x3fdc1e7d, 0x1f8f11f0, 0x3fde147a, 0xe147ae2b}, /* 0.43936=f(0.47000)*/
+{14, 0,123,__LINE__, 0x3fdca42a, 0xcd1ebc0a, 0x3fdeb851, 0xeb851ecf}, /* 0.44751=f(0.48000)*/
+{14, 0,123,__LINE__, 0x3fdd28ce, 0xa41ae9c9, 0x3fdf5c28, 0xf5c28f73}, /* 0.45561=f(0.49000)*/
+{10, 0,123,__LINE__, 0x3fddac67, 0x133304db, 0x3fe00000, 0x0000000b}, /* 0.46364=f(0.50000)*/
+{10, 0,123,__LINE__, 0x3fde2ef3, 0x066ab640, 0x3fe051eb, 0x851eb85d}, /* 0.47161=f(0.51000)*/
+{10, 0,123,__LINE__, 0x3fdeb071, 0x9e18ea06, 0x3fe0a3d7, 0x0a3d70af}, /* 0.47951=f(0.52000)*/
+{10, 0,123,__LINE__, 0x3fdf30e1, 0xf58d3f1e, 0x3fe0f5c2, 0x8f5c2901}, /* 0.48735=f(0.53000)*/
+{10, 0,123,__LINE__, 0x3fdfb043, 0x6ef23d12, 0x3fe147ae, 0x147ae153}, /* 0.49513=f(0.54000)*/
+{15, 0,123,__LINE__, 0x3fe0174a, 0xa8ef77cf, 0x3fe19999, 0x999999a5}, /* 0.50284=f(0.55000)*/
+{15, 0,123,__LINE__, 0x3fe055eb, 0x9964e91c, 0x3fe1eb85, 0x1eb851f7}, /* 0.51048=f(0.56000)*/
+{14, 0,123,__LINE__, 0x3fe09404, 0x778b2a8c, 0x3fe23d70, 0xa3d70a49}, /* 0.51806=f(0.57000)*/
+{14, 0,123,__LINE__, 0x3fe0d195, 0x0c70aa84, 0x3fe28f5c, 0x28f5c29b}, /* 0.52558=f(0.58000)*/
+{14, 0,123,__LINE__, 0x3fe10e9d, 0x7e7f3fbb, 0x3fe2e147, 0xae147aed}, /* 0.53303=f(0.59000)*/
+{14, 0,123,__LINE__, 0x3fe14b1d, 0xde10c1f6, 0x3fe33333, 0x3333333f}, /* 0.54041=f(0.60000)*/
+{14, 0,123,__LINE__, 0x3fe18716, 0x19161382, 0x3fe3851e, 0xb851eb91}, /* 0.54774=f(0.61000)*/
+{14, 0,123,__LINE__, 0x3fe1c286, 0x6531e75a, 0x3fe3d70a, 0x3d70a3e3}, /* 0.55499=f(0.62000)*/
+{13, 0,123,__LINE__, 0x3fe1fd6f, 0x0a84c353, 0x3fe428f5, 0xc28f5c35}, /* 0.56218=f(0.63000)*/
+{13, 0,123,__LINE__, 0x3fe237d0, 0x460f2953, 0x3fe47ae1, 0x47ae1487}, /* 0.56931=f(0.64000)*/
+{13, 0,123,__LINE__, 0x3fe271aa, 0x6ee11b45, 0x3fe4cccc, 0xccccccd9}, /* 0.57637=f(0.65000)*/
+{13, 0,123,__LINE__, 0x3fe2aafd, 0xe986dd76, 0x3fe51eb8, 0x51eb852b}, /* 0.58337=f(0.66000)*/
+{13, 0,123,__LINE__, 0x3fe2e3cb, 0x01e4390e, 0x3fe570a3, 0xd70a3d7d}, /* 0.59030=f(0.67000)*/
+{13, 0,123,__LINE__, 0x3fe31c12, 0x3e930158, 0x3fe5c28f, 0x5c28f5cf}, /* 0.59717=f(0.68000)*/
+{13, 0,123,__LINE__, 0x3fe353d4, 0x193fe9ed, 0x3fe6147a, 0xe147ae21}, /* 0.60398=f(0.69000)*/
+{13, 0,123,__LINE__, 0x3fe38b11, 0x2c1e201f, 0x3fe66666, 0x66666673}, /* 0.61072=f(0.70000)*/
+{13, 0,123,__LINE__, 0x3fe3c1c9, 0xf6f0d59c, 0x3fe6b851, 0xeb851ec5}, /* 0.61740=f(0.71000)*/
+{13, 0,123,__LINE__, 0x3fe3f7ff, 0x3959c7d8, 0x3fe70a3d, 0x70a3d717}, /* 0.62402=f(0.72000)*/
+{14, 0,123,__LINE__, 0x3fe42db1, 0x6e1b3f75, 0x3fe75c28, 0xf5c28f69}, /* 0.63057=f(0.73000)*/
+{14, 0,123,__LINE__, 0x3fe462e1, 0x5335bbc3, 0x3fe7ae14, 0x7ae147bb}, /* 0.63707=f(0.74000)*/
+{14, 0,123,__LINE__, 0x3fe4978f, 0xa1fb0886, 0x3fe80000, 0x0000000d}, /* 0.64350=f(0.75000)*/
+{12, 0,123,__LINE__, 0x3fe4cbbd, 0x15582c7e, 0x3fe851eb, 0x851eb85f}, /* 0.64987=f(0.76000)*/
+{12, 0,123,__LINE__, 0x3fe4ff6a, 0x7f7bb194, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.65617=f(0.77000)*/
+{12, 0,123,__LINE__, 0x3fe53298, 0x96200713, 0x3fe8f5c2, 0x8f5c2903}, /* 0.66242=f(0.78000)*/
+{12, 0,123,__LINE__, 0x3fe56548, 0x4e320115, 0x3fe947ae, 0x147ae155}, /* 0.66861=f(0.79000)*/
+{12, 0,123,__LINE__, 0x3fe5977a, 0x54a52e38, 0x3fe99999, 0x999999a7}, /* 0.67474=f(0.80000)*/
+{12, 0,123,__LINE__, 0x3fe5c92f, 0x9b0e5152, 0x3fe9eb85, 0x1eb851f9}, /* 0.68080=f(0.81000)*/
+{12, 0,123,__LINE__, 0x3fe5fa69, 0x00056d81, 0x3fea3d70, 0xa3d70a4b}, /* 0.68681=f(0.82000)*/
+{12, 0,123,__LINE__, 0x3fe62b27, 0x6d01d27f, 0x3fea8f5c, 0x28f5c29d}, /* 0.69276=f(0.83000)*/
+{12, 0,123,__LINE__, 0x3fe65b6b, 0xd188e9f3, 0x3feae147, 0xae147aef}, /* 0.69865=f(0.84000)*/
+{12, 0,123,__LINE__, 0x3fe68b37, 0x2a6ebef1, 0x3feb3333, 0x33333341}, /* 0.70449=f(0.85000)*/
+{12, 0,123,__LINE__, 0x3fe6ba8a, 0x482e8074, 0x3feb851e, 0xb851eb93}, /* 0.71027=f(0.86000)*/
+{12, 0,123,__LINE__, 0x3fe6e966, 0x33acb528, 0x3febd70a, 0x3d70a3e5}, /* 0.71599=f(0.87000)*/
+{12, 0,123,__LINE__, 0x3fe717cb, 0xe7ed10e9, 0x3fec28f5, 0xc28f5c37}, /* 0.72165=f(0.88000)*/
+{12, 0,123,__LINE__, 0x3fe745bc, 0x62166aea, 0x3fec7ae1, 0x47ae1489}, /* 0.72726=f(0.89000)*/
+{12, 0,123,__LINE__, 0x3fe77338, 0xa16457bc, 0x3feccccc, 0xccccccdb}, /* 0.73281=f(0.90000)*/
+{12, 0,123,__LINE__, 0x3fe7a041, 0xb8a10028, 0x3fed1eb8, 0x51eb852d}, /* 0.73831=f(0.91000)*/
+{12, 0,123,__LINE__, 0x3fe7ccd8, 0x87ca915d, 0x3fed70a3, 0xd70a3d7f}, /* 0.74375=f(0.92000)*/
+{12, 0,123,__LINE__, 0x3fe7f8fe, 0x26e8534c, 0x3fedc28f, 0x5c28f5d1}, /* 0.74914=f(0.93000)*/
+{13, 0,123,__LINE__, 0x3fe824b3, 0x9f766e2d, 0x3fee147a, 0xe147ae23}, /* 0.75448=f(0.94000)*/
+{13, 0,123,__LINE__, 0x3fe84ff9, 0xf77706bc, 0x3fee6666, 0x66666675}, /* 0.75976=f(0.95000)*/
+{13, 0,123,__LINE__, 0x3fe87ad2, 0x395f26bf, 0x3feeb851, 0xeb851ec7}, /* 0.76499=f(0.96000)*/
+{13, 0,123,__LINE__, 0x3fe8a53d, 0x810df2de, 0x3fef0a3d, 0x70a3d719}, /* 0.77017=f(0.97000)*/
+{13, 0,123,__LINE__, 0x3fe8cf3c, 0xb73a3b37, 0x3fef5c28, 0xf5c28f6b}, /* 0.77529=f(0.98000)*/
+{13, 0,123,__LINE__, 0x3fe8f8d0, 0xf9bf1e5c, 0x3fefae14, 0x7ae147bd}, /* 0.78037=f(0.99000)*/
+{13, 0,123,__LINE__, 0x3fe921fb, 0x54442d18, 0x3ff00000, 0x00000007}, /* 0.78539=f(1.00000)*/
+{11, 0,123,__LINE__, 0x3fe94abc, 0xd32a21dc, 0x3ff028f5, 0xc28f5c30}, /* 0.79037=f(1.01000)*/
+{11, 0,123,__LINE__, 0x3fe97316, 0x83352f94, 0x3ff051eb, 0x851eb859}, /* 0.79529=f(1.02000)*/
+{11, 0,123,__LINE__, 0x3fe99b09, 0x7047b825, 0x3ff07ae1, 0x47ae1482}, /* 0.80017=f(1.03000)*/
+{11, 0,123,__LINE__, 0x3fe9c296, 0xa60875e6, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.80500=f(1.04000)*/
+{11, 0,123,__LINE__, 0x3fe9e9bf, 0x30abbe1d, 0x3ff0cccc, 0xccccccd4}, /* 0.80978=f(1.05000)*/
+{11, 0,123,__LINE__, 0x3fea1084, 0x1aeb18ae, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.81451=f(1.06000)*/
+{11, 0,123,__LINE__, 0x3fea36e6, 0x8c891b33, 0x3ff11eb8, 0x51eb8526}, /* 0.81920=f(1.07000)*/
+{11, 0,123,__LINE__, 0x3fea5ce7, 0x53d5c48d, 0x3ff147ae, 0x147ae14f}, /* 0.82384=f(1.08000)*/
+{11, 0,123,__LINE__, 0x3fea8287, 0x94f6bb43, 0x3ff170a3, 0xd70a3d78}, /* 0.82843=f(1.09000)*/
+{11, 0,123,__LINE__, 0x3feaa7c8, 0x5a1121a9, 0x3ff19999, 0x999999a1}, /* 0.83298=f(1.10000)*/
+{11, 0,123,__LINE__, 0x3feaccaa, 0xa707e18c, 0x3ff1c28f, 0x5c28f5ca}, /* 0.83748=f(1.11000)*/
+{11, 0,123,__LINE__, 0x3feaf12f, 0x834a84a7, 0x3ff1eb85, 0x1eb851f3}, /* 0.84194=f(1.12000)*/
+{11, 0,123,__LINE__, 0x3feb1557, 0xf23cdf13, 0x3ff2147a, 0xe147ae1c}, /* 0.84635=f(1.13000)*/
+{11, 0,123,__LINE__, 0x3feb3924, 0xf3e86154, 0x3ff23d70, 0xa3d70a45}, /* 0.85072=f(1.14000)*/
+{11, 0,123,__LINE__, 0x3feb5c97, 0x88c89da5, 0x3ff26666, 0x6666666e}, /* 0.85505=f(1.15000)*/
+{11, 0,123,__LINE__, 0x3feb7fb0, 0xb4e51557, 0x3ff28f5c, 0x28f5c297}, /* 0.85933=f(1.16000)*/
+{11, 0,123,__LINE__, 0x3feba271, 0x6d27a852, 0x3ff2b851, 0xeb851ec0}, /* 0.86357=f(1.17000)*/
+{11, 0,123,__LINE__, 0x3febc4da, 0xb84ba54b, 0x3ff2e147, 0xae147ae9}, /* 0.86778=f(1.18000)*/
+{11, 0,123,__LINE__, 0x3febe6ed, 0x9fbacab8, 0x3ff30a3d, 0x70a3d712}, /* 0.87193=f(1.19000)*/
+{12, 0,123,__LINE__, 0xbff69b81, 0x570da865, 0xc01921fb, 0x54442d18}, /* -1.41296=f(-6.28318)*/
+{12, 0,123,__LINE__, 0xbff5c97d, 0x3a56b9b2, 0xc012d97c, 0x7f3321d2}, /* -1.36169=f(-4.71238)*/
+{12, 0,123,__LINE__, 0xbff433b8, 0xa19dfff7, 0xc00921fb, 0x54442d18}, /* -1.26262=f(-3.14159)*/
+{12, 0,123,__LINE__, 0xbff00fe9, 0x8afa9c80, 0xbff921fb, 0x54442d18}, /* -1.00388=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{12, 0,123,__LINE__, 0x3ff00fe9, 0x8afa9c80, 0x3ff921fb, 0x54442d18}, /* 1.00388=f(1.57079)*/
+{12, 0,123,__LINE__, 0x3ff433b8, 0xa19dfff7, 0x400921fb, 0x54442d18}, /* 1.26262=f(3.14159)*/
+{12, 0,123,__LINE__, 0x3ff5c97d, 0x3a56b9b2, 0x4012d97c, 0x7f3321d2}, /* 1.36169=f(4.71238)*/
+{13, 0,123,__LINE__, 0xbff8997f, 0xbbbba48f, 0xc03e0000, 0x00000000}, /* -1.53747=f(-30.0000)*/
+{13, 0,123,__LINE__, 0xbff8914e, 0x955e1aaa, 0xc03c4ccc, 0xcccccccd}, /* -1.53547=f(-28.3000)*/
+{13, 0,123,__LINE__, 0xbff88811, 0xbbfd6b12, 0xc03a9999, 0x9999999a}, /* -1.53322=f(-26.6000)*/
+{13, 0,123,__LINE__, 0xbff87d92, 0x768b02b8, 0xc038e666, 0x66666667}, /* -1.53065=f(-24.9000)*/
+{13, 0,123,__LINE__, 0xbff8718a, 0x0cc8d586, 0xc0373333, 0x33333334}, /* -1.52771=f(-23.2000)*/
+{13, 0,123,__LINE__, 0xbff8639b, 0x7979c1ee, 0xc0358000, 0x00000001}, /* -1.52431=f(-21.5000)*/
+{13, 0,123,__LINE__, 0xbff85349, 0xe6fa07f8, 0xc033cccc, 0xccccccce}, /* -1.52033=f(-19.8000)*/
+{13, 0,123,__LINE__, 0xbff83fe9, 0xca804f95, 0xc0321999, 0x9999999b}, /* -1.51560=f(-18.1000)*/
+{13, 0,123,__LINE__, 0xbff82888, 0xd5407d4a, 0xc0306666, 0x66666668}, /* -1.50989=f(-16.4000)*/
+{13, 0,123,__LINE__, 0xbff80bc5, 0x5c158b94, 0xc02d6666, 0x6666666a}, /* -1.50287=f(-14.7000)*/
+{12, 0,123,__LINE__, 0xbff7e786, 0x2ba6a33f, 0xc02a0000, 0x00000004}, /* -1.49402=f(-13.0000)*/
+{12, 0,123,__LINE__, 0xbff7b872, 0x1b2df4ce, 0xc0269999, 0x9999999e}, /* -1.48253=f(-11.3000)*/
+{12, 0,123,__LINE__, 0xbff778d9, 0x2c5f9933, 0xc0233333, 0x33333338}, /* -1.46700=f(-9.60000)*/
+{12, 0,123,__LINE__, 0xbff71e3e, 0x5dfda460, 0xc01f9999, 0x999999a3}, /* -1.44488=f(-7.90000)*/
+{12, 0,123,__LINE__, 0xbff692fa, 0x43fa5e18, 0xc018cccc, 0xccccccd6}, /* -1.41088=f(-6.20000)*/
+{12, 0,123,__LINE__, 0xbff5a250, 0x54442d18, 0xc0120000, 0x00000009}, /* -1.35212=f(-4.50000)*/
+{12, 0,123,__LINE__, 0xbff3a4f4, 0xa6207454, 0xc0066666, 0x66666678}, /* -1.22777=f(-2.80000)*/
+{11, 0,123,__LINE__, 0xbfeaa7c8, 0x5a1121a9, 0xbff19999, 0x999999bd}, /* -0.83298=f(-1.10000)*/
+{14, 0,123,__LINE__, 0x3fe14b1d, 0xde10c1f6, 0x3fe33333, 0x333332ec}, /* 0.54041=f(0.60000)*/
+{12, 0,123,__LINE__, 0x3ff29219, 0x9c41e5ee, 0x40026666, 0x66666654}, /* 1.16066=f(2.30000)*/
+{12, 0,123,__LINE__, 0x3ff5368c, 0x94442d18, 0x400fffff, 0xffffffee}, /* 1.32581=f(4.00000)*/
+{12, 0,123,__LINE__, 0x3ff65a9f, 0xe0bdccd7, 0x4016cccc, 0xccccccc4}, /* 1.39712=f(5.70000)*/
+{12, 0,123,__LINE__, 0x3ff6fbcd, 0x190e2940, 0x401d9999, 0x99999991}, /* 1.43647=f(7.40000)*/
+{12, 0,123,__LINE__, 0x3ff761ab, 0xb2554627, 0x40223333, 0x3333332f}, /* 1.46134=f(9.10000)*/
+{12, 0,123,__LINE__, 0x3ff7a7cd, 0x02099027, 0x40259999, 0x99999995}, /* 1.47846=f(10.8000)*/
+{12, 0,123,__LINE__, 0x3ff7daff, 0x862fb237, 0x4028ffff, 0xfffffffb}, /* 1.49096=f(12.5000)*/
+{13, 0,123,__LINE__, 0x3ff80201, 0xa8f876a2, 0x402c6666, 0x66666661}, /* 1.50049=f(14.2000)*/
+{13, 0,123,__LINE__, 0x3ff820b5, 0xe6942ae9, 0x402fcccc, 0xccccccc7}, /* 1.50798=f(15.9000)*/
+{13, 0,123,__LINE__, 0x3ff83981, 0x22f5cde4, 0x40319999, 0x99999997}, /* 1.51403=f(17.6000)*/
+{13, 0,123,__LINE__, 0x3ff84df1, 0x80fb3284, 0x40334ccc, 0xccccccca}, /* 1.51902=f(19.3000)*/
+{13, 0,123,__LINE__, 0x3ff85f14, 0xd4442d18, 0x4034ffff, 0xfffffffd}, /* 1.52321=f(21.0000)*/
+{13, 0,123,__LINE__, 0x3ff86da8, 0x66b52257, 0x4036b333, 0x33333330}, /* 1.52677=f(22.7000)*/
+{13, 0,123,__LINE__, 0x3ff87a34, 0xefc43c34, 0x40386666, 0x66666663}, /* 1.52983=f(24.4000)*/
+{13, 0,123,__LINE__, 0x3ff8851f, 0xa5b433e2, 0x403a1999, 0x99999996}, /* 1.53250=f(26.1000)*/
+{13, 0,123,__LINE__, 0x3ff88eb5, 0x0612c894, 0x403bcccc, 0xccccccc9}, /* 1.53484=f(27.8000)*/
+{13, 0,123,__LINE__, 0x3ff8972f, 0xfbdc0a62, 0x403d7fff, 0xfffffffc}, /* 1.53691=f(29.5000)*/
+0,};
+test_atanf(m) {run_vector_1(m,atanf_vec,(char *)(atanf),"atanf","ff"); }
diff --git a/newlib/libm/test/atanh_vec.c b/newlib/libm/test/atanh_vec.c
new file mode 100644
index 00000000000..3b53849574b
--- /dev/null
+++ b/newlib/libm/test/atanh_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type atanh_vec[] = {
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff33333, 0x33333333}, /* 64.0000=f(-1.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* 64.0000=f(-1.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* 64.0000=f(-1.18000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* 64.0000=f(-1.17000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* 64.0000=f(-1.16000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff26666, 0x66666666}, /* 64.0000=f(-1.15000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* 64.0000=f(-1.14000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* 64.0000=f(-1.13000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* 64.0000=f(-1.12000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* 64.0000=f(-1.11000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x99999999}, /* 64.0000=f(-1.10000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* 64.0000=f(-1.09000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff147ae, 0x147ae147}, /* 64.0000=f(-1.08000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* 64.0000=f(-1.07000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* 64.0000=f(-1.06000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* 64.0000=f(-1.05000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* 64.0000=f(-1.04000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* 64.0000=f(-1.03000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff051eb, 0x851eb851}, /* 64.0000=f(-1.02000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* 64.0000=f(-1.01000)*/
+{64, 0,123,__LINE__, 0xc0325e4f, 0x7b2737fa, 0xbfefffff, 0xfffffffe}, /* -18.3684=f(-0.01000)*/
+{64, 0,123,__LINE__, 0xc0052c58, 0x1997cd6c, 0xbfefae14, 0x7ae147ac}, /* -2.64665=f(-0.99000)*/
+{64, 0,123,__LINE__, 0xc0026167, 0x19161d1e, 0xbfef5c28, 0xf5c28f5a}, /* -2.29756=f(-0.98000)*/
+{64, 0,123,__LINE__, 0xc000bd05, 0x89d8e2f5, 0xbfef0a3d, 0x70a3d708}, /* -2.09229=f(-0.97000)*/
+{64, 0,123,__LINE__, 0xbfff2272, 0xae325a49, 0xbfeeb851, 0xeb851eb6}, /* -1.94591=f(-0.96000)*/
+{64, 0,123,__LINE__, 0xbffd4ef9, 0x68880dca, 0xbfee6666, 0x66666664}, /* -1.83178=f(-0.95000)*/
+{64, 0,123,__LINE__, 0xbffbcf0c, 0xd4741660, 0xbfee147a, 0xe147ae12}, /* -1.73804=f(-0.94000)*/
+{64, 0,123,__LINE__, 0xbffa88c3, 0xf9396f8f, 0xbfedc28f, 0x5c28f5c0}, /* -1.65839=f(-0.93000)*/
+{64, 0,123,__LINE__, 0xbff96ca7, 0x7c922cf0, 0xbfed70a3, 0xd70a3d6e}, /* -1.58902=f(-0.92000)*/
+{64, 0,123,__LINE__, 0xbff870bd, 0x73abde61, 0xbfed1eb8, 0x51eb851c}, /* -1.52752=f(-0.91000)*/
+{64, 0,123,__LINE__, 0xbff78e36, 0x0604b325, 0xbfeccccc, 0xccccccca}, /* -1.47221=f(-0.90000)*/
+{64, 0,123,__LINE__, 0xbff6c035, 0x579d7a69, 0xbfec7ae1, 0x47ae1478}, /* -1.42192=f(-0.89000)*/
+{64, 0,123,__LINE__, 0xbff60324, 0xf23a6f2b, 0xbfec28f5, 0xc28f5c26}, /* -1.37576=f(-0.88000)*/
+{64, 0,123,__LINE__, 0xbff5544b, 0x4e482a6e, 0xbfebd70a, 0x3d70a3d4}, /* -1.33308=f(-0.87000)*/
+{64, 0,123,__LINE__, 0xbff4b18a, 0x2ece7fae, 0xbfeb851e, 0xb851eb82}, /* -1.29334=f(-0.86000)*/
+{64, 0,123,__LINE__, 0xbff41933, 0xb0e44632, 0xbfeb3333, 0x33333330}, /* -1.25615=f(-0.85000)*/
+{64, 0,123,__LINE__, 0xbff389ed, 0x3e13256f, 0xbfeae147, 0xae147ade}, /* -1.22117=f(-0.84000)*/
+{64, 0,123,__LINE__, 0xbff3029b, 0x5180da20, 0xbfea8f5c, 0x28f5c28c}, /* -1.18813=f(-0.83000)*/
+{64, 0,123,__LINE__, 0xbff28253, 0x079db66d, 0xbfea3d70, 0xa3d70a3a}, /* -1.15681=f(-0.82000)*/
+{64, 0,123,__LINE__, 0xbff2084f, 0x96886b24, 0xbfe9eb85, 0x1eb851e8}, /* -1.12702=f(-0.81000)*/
+{64, 0,123,__LINE__, 0xbff193ea, 0x7aad0306, 0xbfe99999, 0x99999996}, /* -1.09861=f(-0.80000)*/
+{64, 0,123,__LINE__, 0xbff12495, 0x8caee1fa, 0xbfe947ae, 0x147ae144}, /* -1.07143=f(-0.79000)*/
+{64, 0,123,__LINE__, 0xbff0b9d6, 0x77ddde9c, 0xbfe8f5c2, 0x8f5c28f2}, /* -1.04537=f(-0.78000)*/
+{64, 0,123,__LINE__, 0xbff05343, 0x33132082, 0xbfe8a3d7, 0x0a3d70a0}, /* -1.02032=f(-0.77000)*/
+{64, 0,123,__LINE__, 0xbfefe0fe, 0x73ce887b, 0xbfe851eb, 0x851eb84e}, /* -0.99621=f(-0.76000)*/
+{64, 0,123,__LINE__, 0xbfef2272, 0xae325a4e, 0xbfe7ffff, 0xfffffffc}, /* -0.97295=f(-0.75000)*/
+{64, 0,123,__LINE__, 0xbfee6a53, 0xbbe5e69d, 0xbfe7ae14, 0x7ae147aa}, /* -0.95047=f(-0.74000)*/
+{64, 0,123,__LINE__, 0xbfedb822, 0x730ae0f2, 0xbfe75c28, 0xf5c28f58}, /* -0.92872=f(-0.73000)*/
+{64, 0,123,__LINE__, 0xbfed0b6d, 0x7df77dc2, 0xbfe70a3d, 0x70a3d706}, /* -0.90764=f(-0.72000)*/
+{64, 0,123,__LINE__, 0xbfec63cf, 0x69c77028, 0xbfe6b851, 0xeb851eb4}, /* -0.88718=f(-0.71000)*/
+{64, 0,123,__LINE__, 0xbfebc0ed, 0x0947fbe0, 0xbfe66666, 0x66666662}, /* -0.86730=f(-0.70000)*/
+{64, 0,123,__LINE__, 0xbfeb2274, 0x1ba3da88, 0xbfe6147a, 0xe147ae10}, /* -0.84795=f(-0.69000)*/
+{64, 0,123,__LINE__, 0xbfea881a, 0x29e5236a, 0xbfe5c28f, 0x5c28f5be}, /* -0.82911=f(-0.68000)*/
+{64, 0,123,__LINE__, 0xbfe9f19b, 0x912bebd0, 0xbfe570a3, 0xd70a3d6c}, /* -0.81074=f(-0.67000)*/
+{64, 0,123,__LINE__, 0xbfe95eba, 0xb196930b, 0xbfe51eb8, 0x51eb851a}, /* -0.79281=f(-0.66000)*/
+{64, 0,123,__LINE__, 0xbfe8cf3f, 0x3b791742, 0xbfe4cccc, 0xccccccc8}, /* -0.77529=f(-0.65000)*/
+{64, 0,123,__LINE__, 0xbfe842f5, 0x95c3527e, 0xbfe47ae1, 0x47ae1476}, /* -0.75817=f(-0.64000)*/
+{64, 0,123,__LINE__, 0xbfe7b9ae, 0x5971c669, 0xbfe428f5, 0xc28f5c24}, /* -0.74141=f(-0.63000)*/
+{64, 0,123,__LINE__, 0xbfe7333d, 0xdeaaa5c9, 0xbfe3d70a, 0x3d70a3d2}, /* -0.72500=f(-0.62000)*/
+{64, 0,123,__LINE__, 0xbfe6af7b, 0xd8c5a683, 0xbfe3851e, 0xb851eb80}, /* -0.70892=f(-0.61000)*/
+{64, 0,123,__LINE__, 0xbfe62e42, 0xfefa39e7, 0xbfe33333, 0x3333332e}, /* -0.69314=f(-0.60000)*/
+{64, 0,123,__LINE__, 0xbfe5af70, 0xbfd423bd, 0xbfe2e147, 0xae147adc}, /* -0.67766=f(-0.59000)*/
+{64, 0,123,__LINE__, 0xbfe532e4, 0xfddf6862, 0xbfe28f5c, 0x28f5c28a}, /* -0.66246=f(-0.58000)*/
+{64, 0,123,__LINE__, 0xbfe4b881, 0xd43e4948, 0xbfe23d70, 0xa3d70a38}, /* -0.64752=f(-0.57000)*/
+{64, 0,123,__LINE__, 0xbfe4402b, 0x6211ad0d, 0xbfe1eb85, 0x1eb851e6}, /* -0.63283=f(-0.56000)*/
+{64, 0,123,__LINE__, 0xbfe3c9c7, 0x9bc85097, 0xbfe19999, 0x99999994}, /* -0.61838=f(-0.55000)*/
+{64, 0,123,__LINE__, 0xbfe3553e, 0x218d6107, 0xbfe147ae, 0x147ae142}, /* -0.60415=f(-0.54000)*/
+{64, 0,123,__LINE__, 0xbfe2e278, 0x1a2d2394, 0xbfe0f5c2, 0x8f5c28f0}, /* -0.59014=f(-0.53000)*/
+{64, 0,123,__LINE__, 0xbfe27160, 0x11df464f, 0xbfe0a3d7, 0x0a3d709e}, /* -0.57633=f(-0.52000)*/
+{64, 0,123,__LINE__, 0xbfe201e1, 0xdc7b4c95, 0xbfe051eb, 0x851eb84c}, /* -0.56272=f(-0.51000)*/
+{64, 0,123,__LINE__, 0xbfe193ea, 0x7aad0302, 0xbfdfffff, 0xfffffff4}, /* -0.54930=f(-0.50000)*/
+{64, 0,123,__LINE__, 0xbfe12768, 0x01cd9aae, 0xbfdf5c28, 0xf5c28f50}, /* -0.53606=f(-0.49000)*/
+{64, 0,123,__LINE__, 0xbfe0bc49, 0x861276d0, 0xbfdeb851, 0xeb851eac}, /* -0.52298=f(-0.48000)*/
+{64, 0,123,__LINE__, 0xbfe0527f, 0x06cd3e5c, 0xbfde147a, 0xe147ae08}, /* -0.51007=f(-0.47000)*/
+{64, 0,123,__LINE__, 0xbfdfd3f2, 0xb9036ce2, 0xbfdd70a3, 0xd70a3d64}, /* -0.49731=f(-0.46000)*/
+{64, 0,123,__LINE__, 0xbfdf0554, 0x513b1b3c, 0xbfdccccc, 0xccccccc0}, /* -0.48470=f(-0.45000)*/
+{64, 0,123,__LINE__, 0xbfde3907, 0x8d49915a, 0xbfdc28f5, 0xc28f5c1c}, /* -0.47223=f(-0.44000)*/
+{64, 0,123,__LINE__, 0xbfdd6ef2, 0x7d563b9c, 0xbfdb851e, 0xb851eb78}, /* -0.45989=f(-0.43000)*/
+{64, 0,123,__LINE__, 0xbfdca6fc, 0x71eebdbc, 0xbfdae147, 0xae147ad4}, /* -0.44769=f(-0.42000)*/
+{64, 0,123,__LINE__, 0xbfdbe10d, 0xe5647d18, 0xbfda3d70, 0xa3d70a30}, /* -0.43561=f(-0.41000)*/
+{64, 0,123,__LINE__, 0xbfdb1d10, 0x670aae89, 0xbfd99999, 0x9999998c}, /* -0.42364=f(-0.40000)*/
+{64, 0,123,__LINE__, 0xbfda5aee, 0x8824f81b, 0xbfd8f5c2, 0x8f5c28e8}, /* -0.41180=f(-0.39000)*/
+{64, 0,123,__LINE__, 0xbfd99a93, 0xca5c285e, 0xbfd851eb, 0x851eb844}, /* -0.40005=f(-0.38000)*/
+{64, 0,123,__LINE__, 0xbfd8dbec, 0x8f9343fd, 0xbfd7ae14, 0x7ae147a0}, /* -0.38842=f(-0.37000)*/
+{64, 0,123,__LINE__, 0xbfd81ee6, 0x0afb500a, 0xbfd70a3d, 0x70a3d6fc}, /* -0.37688=f(-0.36000)*/
+{64, 0,123,__LINE__, 0xbfd7636e, 0x3347e0eb, 0xbfd66666, 0x66666658}, /* -0.36544=f(-0.35000)*/
+{64, 0,123,__LINE__, 0xbfd6a973, 0xb5e9a616, 0xbfd5c28f, 0x5c28f5b4}, /* -0.35409=f(-0.34000)*/
+{64, 0,123,__LINE__, 0xbfd5f0e5, 0xeb36f7e5, 0xbfd51eb8, 0x51eb8510}, /* -0.34282=f(-0.33000)*/
+{64, 0,123,__LINE__, 0xbfd539b4, 0xcb6ce54c, 0xbfd47ae1, 0x47ae146c}, /* -0.33164=f(-0.32000)*/
+{64, 0,123,__LINE__, 0xbfd483d0, 0xe4756d2d, 0xbfd3d70a, 0x3d70a3c8}, /* -0.32054=f(-0.31000)*/
+{64, 0,123,__LINE__, 0xbfd3cf2b, 0x50617c84, 0xbfd33333, 0x33333324}, /* -0.30951=f(-0.30000)*/
+{64, 0,123,__LINE__, 0xbfd31bb5, 0xac870001, 0xbfd28f5c, 0x28f5c280}, /* -0.29856=f(-0.29000)*/
+{64, 0,123,__LINE__, 0xbfd26962, 0x1134db82, 0xbfd1eb85, 0x1eb851dc}, /* -0.28768=f(-0.28000)*/
+{64, 0,123,__LINE__, 0xbfd1b823, 0x09eff2ce, 0xbfd147ae, 0x147ae138}, /* -0.27686=f(-0.27000)*/
+{64, 0,123,__LINE__, 0xbfd107eb, 0x8e2da1d3, 0xbfd0a3d7, 0x0a3d7094}, /* -0.26610=f(-0.26000)*/
+{64, 0,123,__LINE__, 0xbfd058ae, 0xfa811441, 0xbfcfffff, 0xffffffe0}, /* -0.25541=f(-0.25000)*/
+{64, 0,123,__LINE__, 0xbfcf54c2, 0x1463c149, 0xbfceb851, 0xeb851e98}, /* -0.24477=f(-0.24000)*/
+{64, 0,123,__LINE__, 0xbfcdf9eb, 0xa2664aba, 0xbfcd70a3, 0xd70a3d50}, /* -0.23418=f(-0.23000)*/
+{64, 0,123,__LINE__, 0xbfcca0c3, 0x6ce651f9, 0xbfcc28f5, 0xc28f5c08}, /* -0.22365=f(-0.22000)*/
+{64, 0,123,__LINE__, 0xbfcb4932, 0xdcf85d69, 0xbfcae147, 0xae147ac0}, /* -0.21317=f(-0.21000)*/
+{64, 0,123,__LINE__, 0xbfc9f323, 0xecbf9829, 0xbfc99999, 0x99999978}, /* -0.20273=f(-0.20000)*/
+{64, 0,123,__LINE__, 0xbfc89e81, 0x1dcd345f, 0xbfc851eb, 0x851eb830}, /* -0.19233=f(-0.19000)*/
+{64, 0,123,__LINE__, 0xbfc74b35, 0x6ffd34fb, 0xbfc70a3d, 0x70a3d6e8}, /* -0.18198=f(-0.18000)*/
+{64, 0,123,__LINE__, 0xbfc5f92c, 0x58c6329f, 0xbfc5c28f, 0x5c28f5a0}, /* -0.17166=f(-0.17000)*/
+{64, 0,123,__LINE__, 0xbfc4a851, 0xbaf27b4a, 0xbfc47ae1, 0x47ae1458}, /* -0.16138=f(-0.16000)*/
+{64, 0,123,__LINE__, 0xbfc35891, 0xdeb9a38e, 0xbfc33333, 0x33333310}, /* -0.15114=f(-0.15000)*/
+{64, 0,123,__LINE__, 0xbfc209d9, 0x6a3244e1, 0xbfc1eb85, 0x1eb851c8}, /* -0.14092=f(-0.14000)*/
+{64, 0,123,__LINE__, 0xbfc0bc15, 0x5a143877, 0xbfc0a3d7, 0x0a3d7080}, /* -0.13073=f(-0.13000)*/
+{64, 0,123,__LINE__, 0xbfbede65, 0xf5884573, 0xbfbeb851, 0xeb851e71}, /* -0.12058=f(-0.12000)*/
+{64, 0,123,__LINE__, 0xbfbc463f, 0xc3433519, 0xbfbc28f5, 0xc28f5be2}, /* -0.11044=f(-0.11000)*/
+{64, 0,123,__LINE__, 0xbfb9af93, 0xcd2343ca, 0xbfb99999, 0x99999953}, /* -0.10033=f(-0.00100)*/
+{64, 0,123,__LINE__, 0xbfb71a3e, 0x3b7f08b7, 0xbfb70a3d, 0x70a3d6c4}, /* -0.09024=f(-0.09000)*/
+{64, 0,123,__LINE__, 0xbfb4861b, 0xa31d09b8, 0xbfb47ae1, 0x47ae1435}, /* -0.08017=f(-0.08000)*/
+{64, 0,123,__LINE__, 0xbfb1f308, 0xf96e1d35, 0xbfb1eb85, 0x1eb851a6}, /* -0.07011=f(-0.07000)*/
+{64, 0,123,__LINE__, 0xbfaec1c7, 0x12297e00, 0xbfaeb851, 0xeb851e2d}, /* -0.06007=f(-0.06000)*/
+{64, 0,123,__LINE__, 0xbfa99f11, 0xcd5f7005, 0xbfa99999, 0x9999990e}, /* -0.05004=f(-0.05000)*/
+{64, 0,123,__LINE__, 0xbfa47dad, 0xcbbdb9f7, 0xbfa47ae1, 0x47ae13ef}, /* -0.04002=f(-0.04000)*/
+{64, 0,123,__LINE__, 0xbf9ebaae, 0x39e3f8da, 0xbf9eb851, 0xeb851da0}, /* -0.03000=f(-0.03000)*/
+{64, 0,123,__LINE__, 0xbf947b94, 0x47a9a8d9, 0xbf947ae1, 0x47ae1362}, /* -0.02000=f(-0.02000)*/
+{64, 0,123,__LINE__, 0xbf847b0e, 0x059d0364, 0xbf847ae1, 0x47ae1249}, /* -0.01000=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x3cd19000, 0x00000000, 0x3cd19000, 0x00000000}, /* 9.74915e-16=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0x3f847b0e, 0x059d07c9, 0x3f847ae1, 0x47ae16ad}, /* 0.01000=f(0.01000)*/
+{64, 0,123,__LINE__, 0x3f947b94, 0x47a9ab0b, 0x3f947ae1, 0x47ae1594}, /* 0.02000=f(0.02000)*/
+{64, 0,123,__LINE__, 0x3f9ebaae, 0x39e3fb0d, 0x3f9eb851, 0xeb851fd2}, /* 0.03000=f(0.03000)*/
+{64, 0,123,__LINE__, 0x3fa47dad, 0xcbbdbb10, 0x3fa47ae1, 0x47ae1508}, /* 0.04002=f(0.04000)*/
+{64, 0,123,__LINE__, 0x3fa99f11, 0xcd5f711e, 0x3fa99999, 0x99999a27}, /* 0.05004=f(0.05000)*/
+{64, 0,123,__LINE__, 0x3faec1c7, 0x12297f19, 0x3faeb851, 0xeb851f46}, /* 0.06007=f(0.06000)*/
+{64, 0,123,__LINE__, 0x3fb1f308, 0xf96e1dc1, 0x3fb1eb85, 0x1eb85232}, /* 0.07011=f(0.07000)*/
+{64, 0,123,__LINE__, 0x3fb4861b, 0xa31d0a44, 0x3fb47ae1, 0x47ae14c1}, /* 0.08017=f(0.08000)*/
+{64, 0,123,__LINE__, 0x3fb71a3e, 0x3b7f0945, 0x3fb70a3d, 0x70a3d750}, /* 0.09024=f(0.09000)*/
+{64, 0,123,__LINE__, 0x3fb9af93, 0xcd234458, 0x3fb99999, 0x999999df}, /* 0.10033=f(0.10000)*/
+{64, 0,123,__LINE__, 0x3fbc463f, 0xc34335a8, 0x3fbc28f5, 0xc28f5c6e}, /* 0.11044=f(0.11000)*/
+{64, 0,123,__LINE__, 0x3fbede65, 0xf5884602, 0x3fbeb851, 0xeb851efd}, /* 0.12058=f(0.12000)*/
+{64, 0,123,__LINE__, 0x3fc0bc15, 0x5a1438be, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.13073=f(0.13000)*/
+{64, 0,123,__LINE__, 0x3fc209d9, 0x6a324529, 0x3fc1eb85, 0x1eb8520e}, /* 0.14092=f(0.14000)*/
+{64, 0,123,__LINE__, 0x3fc35891, 0xdeb9a3d6, 0x3fc33333, 0x33333356}, /* 0.15114=f(0.15000)*/
+{64, 0,123,__LINE__, 0x3fc4a851, 0xbaf27b93, 0x3fc47ae1, 0x47ae149e}, /* 0.16138=f(0.16000)*/
+{64, 0,123,__LINE__, 0x3fc5f92c, 0x58c632e8, 0x3fc5c28f, 0x5c28f5e6}, /* 0.17166=f(0.17000)*/
+{64, 0,123,__LINE__, 0x3fc74b35, 0x6ffd3544, 0x3fc70a3d, 0x70a3d72e}, /* 0.18198=f(0.18000)*/
+{64, 0,123,__LINE__, 0x3fc89e81, 0x1dcd34a8, 0x3fc851eb, 0x851eb876}, /* 0.19233=f(0.19000)*/
+{64, 0,123,__LINE__, 0x3fc9f323, 0xecbf9873, 0x3fc99999, 0x999999be}, /* 0.20273=f(0.20000)*/
+{64, 0,123,__LINE__, 0x3fcb4932, 0xdcf85db2, 0x3fcae147, 0xae147b06}, /* 0.21317=f(0.21000)*/
+{64, 0,123,__LINE__, 0x3fcca0c3, 0x6ce65244, 0x3fcc28f5, 0xc28f5c4e}, /* 0.22365=f(0.22000)*/
+{64, 0,123,__LINE__, 0x3fcdf9eb, 0xa2664b04, 0x3fcd70a3, 0xd70a3d96}, /* 0.23418=f(0.23000)*/
+{64, 0,123,__LINE__, 0x3fcf54c2, 0x1463c194, 0x3fceb851, 0xeb851ede}, /* 0.24477=f(0.24000)*/
+{64, 0,123,__LINE__, 0x3fd058ae, 0xfa811466, 0x3fd00000, 0x00000013}, /* 0.25541=f(0.25000)*/
+{64, 0,123,__LINE__, 0x3fd107eb, 0x8e2da1f9, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.26610=f(0.26000)*/
+{64, 0,123,__LINE__, 0x3fd1b823, 0x09eff2f4, 0x3fd147ae, 0x147ae15b}, /* 0.27686=f(0.27000)*/
+{64, 0,123,__LINE__, 0x3fd26962, 0x1134dba8, 0x3fd1eb85, 0x1eb851ff}, /* 0.28768=f(0.28000)*/
+{64, 0,123,__LINE__, 0x3fd31bb5, 0xac870027, 0x3fd28f5c, 0x28f5c2a3}, /* 0.29856=f(0.29000)*/
+{64, 0,123,__LINE__, 0x3fd3cf2b, 0x50617cab, 0x3fd33333, 0x33333347}, /* 0.30951=f(0.30000)*/
+{64, 0,123,__LINE__, 0x3fd483d0, 0xe4756d55, 0x3fd3d70a, 0x3d70a3eb}, /* 0.32054=f(0.31000)*/
+{64, 0,123,__LINE__, 0x3fd539b4, 0xcb6ce573, 0x3fd47ae1, 0x47ae148f}, /* 0.33164=f(0.32000)*/
+{64, 0,123,__LINE__, 0x3fd5f0e5, 0xeb36f80c, 0x3fd51eb8, 0x51eb8533}, /* 0.34282=f(0.33000)*/
+{64, 0,123,__LINE__, 0x3fd6a973, 0xb5e9a63e, 0x3fd5c28f, 0x5c28f5d7}, /* 0.35409=f(0.34000)*/
+{64, 0,123,__LINE__, 0x3fd7636e, 0x3347e113, 0x3fd66666, 0x6666667b}, /* 0.36544=f(0.35000)*/
+{64, 0,123,__LINE__, 0x3fd81ee6, 0x0afb5032, 0x3fd70a3d, 0x70a3d71f}, /* 0.37688=f(0.36000)*/
+{64, 0,123,__LINE__, 0x3fd8dbec, 0x8f934427, 0x3fd7ae14, 0x7ae147c3}, /* 0.38842=f(0.37000)*/
+{64, 0,123,__LINE__, 0x3fd99a93, 0xca5c2887, 0x3fd851eb, 0x851eb867}, /* 0.40005=f(0.38000)*/
+{64, 0,123,__LINE__, 0x3fda5aee, 0x8824f845, 0x3fd8f5c2, 0x8f5c290b}, /* 0.41180=f(0.39000)*/
+{64, 0,123,__LINE__, 0x3fdb1d10, 0x670aaeb4, 0x3fd99999, 0x999999af}, /* 0.42364=f(0.40000)*/
+{64, 0,123,__LINE__, 0x3fdbe10d, 0xe5647d43, 0x3fda3d70, 0xa3d70a53}, /* 0.43561=f(0.41000)*/
+{64, 0,123,__LINE__, 0x3fdca6fc, 0x71eebde8, 0x3fdae147, 0xae147af7}, /* 0.44769=f(0.42000)*/
+{64, 0,123,__LINE__, 0x3fdd6ef2, 0x7d563bc7, 0x3fdb851e, 0xb851eb9b}, /* 0.45989=f(0.43000)*/
+{64, 0,123,__LINE__, 0x3fde3907, 0x8d499187, 0x3fdc28f5, 0xc28f5c3f}, /* 0.47223=f(0.44000)*/
+{64, 0,123,__LINE__, 0x3fdf0554, 0x513b1b68, 0x3fdccccc, 0xcccccce3}, /* 0.48470=f(0.45000)*/
+{64, 0,123,__LINE__, 0x3fdfd3f2, 0xb9036d0f, 0x3fdd70a3, 0xd70a3d87}, /* 0.49731=f(0.46000)*/
+{64, 0,123,__LINE__, 0x3fe0527f, 0x06cd3e73, 0x3fde147a, 0xe147ae2b}, /* 0.51007=f(0.47000)*/
+{64, 0,123,__LINE__, 0x3fe0bc49, 0x861276e8, 0x3fdeb851, 0xeb851ecf}, /* 0.52298=f(0.48000)*/
+{64, 0,123,__LINE__, 0x3fe12768, 0x01cd9ac5, 0x3fdf5c28, 0xf5c28f73}, /* 0.53606=f(0.49000)*/
+{64, 0,123,__LINE__, 0x3fe193ea, 0x7aad0319, 0x3fe00000, 0x0000000b}, /* 0.54930=f(0.50000)*/
+{64, 0,123,__LINE__, 0x3fe201e1, 0xdc7b4cac, 0x3fe051eb, 0x851eb85d}, /* 0.56272=f(0.51000)*/
+{64, 0,123,__LINE__, 0x3fe27160, 0x11df4666, 0x3fe0a3d7, 0x0a3d70af}, /* 0.57633=f(0.52000)*/
+{64, 0,123,__LINE__, 0x3fe2e278, 0x1a2d23ac, 0x3fe0f5c2, 0x8f5c2901}, /* 0.59014=f(0.53000)*/
+{64, 0,123,__LINE__, 0x3fe3553e, 0x218d611e, 0x3fe147ae, 0x147ae153}, /* 0.60415=f(0.54000)*/
+{64, 0,123,__LINE__, 0x3fe3c9c7, 0x9bc850af, 0x3fe19999, 0x999999a5}, /* 0.61838=f(0.55000)*/
+{64, 0,123,__LINE__, 0x3fe4402b, 0x6211ad26, 0x3fe1eb85, 0x1eb851f7}, /* 0.63283=f(0.56000)*/
+{64, 0,123,__LINE__, 0x3fe4b881, 0xd43e4961, 0x3fe23d70, 0xa3d70a49}, /* 0.64752=f(0.57000)*/
+{64, 0,123,__LINE__, 0x3fe532e4, 0xfddf687c, 0x3fe28f5c, 0x28f5c29b}, /* 0.66246=f(0.58000)*/
+{64, 0,123,__LINE__, 0x3fe5af70, 0xbfd423d7, 0x3fe2e147, 0xae147aed}, /* 0.67766=f(0.59000)*/
+{64, 0,123,__LINE__, 0x3fe62e42, 0xfefa3a02, 0x3fe33333, 0x3333333f}, /* 0.69314=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3fe6af7b, 0xd8c5a69e, 0x3fe3851e, 0xb851eb91}, /* 0.70892=f(0.61000)*/
+{64, 0,123,__LINE__, 0x3fe7333d, 0xdeaaa5e5, 0x3fe3d70a, 0x3d70a3e3}, /* 0.72500=f(0.62000)*/
+{64, 0,123,__LINE__, 0x3fe7b9ae, 0x5971c685, 0x3fe428f5, 0xc28f5c35}, /* 0.74141=f(0.63000)*/
+{64, 0,123,__LINE__, 0x3fe842f5, 0x95c3529b, 0x3fe47ae1, 0x47ae1487}, /* 0.75817=f(0.64000)*/
+{64, 0,123,__LINE__, 0x3fe8cf3f, 0x3b791760, 0x3fe4cccc, 0xccccccd9}, /* 0.77529=f(0.65000)*/
+{64, 0,123,__LINE__, 0x3fe95eba, 0xb1969328, 0x3fe51eb8, 0x51eb852b}, /* 0.79281=f(0.66000)*/
+{64, 0,123,__LINE__, 0x3fe9f19b, 0x912bebee, 0x3fe570a3, 0xd70a3d7d}, /* 0.81074=f(0.67000)*/
+{64, 0,123,__LINE__, 0x3fea881a, 0x29e5238a, 0x3fe5c28f, 0x5c28f5cf}, /* 0.82911=f(0.68000)*/
+{64, 0,123,__LINE__, 0x3feb2274, 0x1ba3daa8, 0x3fe6147a, 0xe147ae21}, /* 0.84795=f(0.69000)*/
+{64, 0,123,__LINE__, 0x3febc0ed, 0x0947fc02, 0x3fe66666, 0x66666673}, /* 0.86730=f(0.70000)*/
+{64, 0,123,__LINE__, 0x3fec63cf, 0x69c7704a, 0x3fe6b851, 0xeb851ec5}, /* 0.88718=f(0.71000)*/
+{64, 0,123,__LINE__, 0x3fed0b6d, 0x7df77de5, 0x3fe70a3d, 0x70a3d717}, /* 0.90764=f(0.72000)*/
+{64, 0,123,__LINE__, 0x3fedb822, 0x730ae116, 0x3fe75c28, 0xf5c28f69}, /* 0.92872=f(0.73000)*/
+{64, 0,123,__LINE__, 0x3fee6a53, 0xbbe5e6c3, 0x3fe7ae14, 0x7ae147bb}, /* 0.95047=f(0.74000)*/
+{64, 0,123,__LINE__, 0x3fef2272, 0xae325a75, 0x3fe80000, 0x0000000d}, /* 0.97295=f(0.75000)*/
+{64, 0,123,__LINE__, 0x3fefe0fe, 0x73ce88a3, 0x3fe851eb, 0x851eb85f}, /* 0.99621=f(0.76000)*/
+{64, 0,123,__LINE__, 0x3ff05343, 0x33132097, 0x3fe8a3d7, 0x0a3d70b1}, /* 1.02032=f(0.77000)*/
+{64, 0,123,__LINE__, 0x3ff0b9d6, 0x77dddeb2, 0x3fe8f5c2, 0x8f5c2903}, /* 1.04537=f(0.78000)*/
+{64, 0,123,__LINE__, 0x3ff12495, 0x8caee211, 0x3fe947ae, 0x147ae155}, /* 1.07143=f(0.79000)*/
+{64, 0,123,__LINE__, 0x3ff193ea, 0x7aad031d, 0x3fe99999, 0x999999a7}, /* 1.09861=f(0.80000)*/
+{64, 0,123,__LINE__, 0x3ff2084f, 0x96886b3c, 0x3fe9eb85, 0x1eb851f9}, /* 1.12702=f(0.81000)*/
+{64, 0,123,__LINE__, 0x3ff28253, 0x079db687, 0x3fea3d70, 0xa3d70a4b}, /* 1.15681=f(0.82000)*/
+{64, 0,123,__LINE__, 0x3ff3029b, 0x5180da3b, 0x3fea8f5c, 0x28f5c29d}, /* 1.18813=f(0.83000)*/
+{64, 0,123,__LINE__, 0x3ff389ed, 0x3e13258c, 0x3feae147, 0xae147aef}, /* 1.22117=f(0.84000)*/
+{64, 0,123,__LINE__, 0x3ff41933, 0xb0e44651, 0x3feb3333, 0x33333341}, /* 1.25615=f(0.85000)*/
+{64, 0,123,__LINE__, 0x3ff4b18a, 0x2ece7fce, 0x3feb851e, 0xb851eb93}, /* 1.29334=f(0.86000)*/
+{64, 0,123,__LINE__, 0x3ff5544b, 0x4e482a91, 0x3febd70a, 0x3d70a3e5}, /* 1.33308=f(0.87000)*/
+{64, 0,123,__LINE__, 0x3ff60324, 0xf23a6f50, 0x3fec28f5, 0xc28f5c37}, /* 1.37576=f(0.88000)*/
+{64, 0,123,__LINE__, 0x3ff6c035, 0x579d7a92, 0x3fec7ae1, 0x47ae1489}, /* 1.42192=f(0.89000)*/
+{64, 0,123,__LINE__, 0x3ff78e36, 0x0604b352, 0x3feccccc, 0xccccccdb}, /* 1.47221=f(0.90000)*/
+{64, 0,123,__LINE__, 0x3ff870bd, 0x73abde93, 0x3fed1eb8, 0x51eb852d}, /* 1.52752=f(0.91000)*/
+{64, 0,123,__LINE__, 0x3ff96ca7, 0x7c922d27, 0x3fed70a3, 0xd70a3d7f}, /* 1.58902=f(0.92000)*/
+{64, 0,123,__LINE__, 0x3ffa88c3, 0xf9396fce, 0x3fedc28f, 0x5c28f5d1}, /* 1.65839=f(0.93000)*/
+{64, 0,123,__LINE__, 0x3ffbcf0c, 0xd47416a9, 0x3fee147a, 0xe147ae23}, /* 1.73804=f(0.94000)*/
+{64, 0,123,__LINE__, 0x3ffd4ef9, 0x68880e21, 0x3fee6666, 0x66666675}, /* 1.83178=f(0.95000)*/
+{64, 0,123,__LINE__, 0x3fff2272, 0xae325ab5, 0x3feeb851, 0xeb851ec7}, /* 1.94591=f(0.96000)*/
+{64, 0,123,__LINE__, 0x4000bd05, 0x89d8e33d, 0x3fef0a3d, 0x70a3d719}, /* 2.09229=f(0.97000)*/
+{64, 0,123,__LINE__, 0x40026167, 0x19161d89, 0x3fef5c28, 0xf5c28f6b}, /* 2.29756=f(0.98000)*/
+{64, 0,123,__LINE__, 0x40052c58, 0x1997ce42, 0x3fefae14, 0x7ae147bd}, /* 2.64665=f(0.99000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff00000, 0x00000007}, /* 64.0000=f(1.00000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff028f5, 0xc28f5c30}, /* 64.0000=f(1.01000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff051eb, 0x851eb859}, /* 64.0000=f(1.02000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff07ae1, 0x47ae1482}, /* 64.0000=f(1.03000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff0a3d7, 0x0a3d70ab}, /* 64.0000=f(1.04000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff0cccc, 0xccccccd4}, /* 64.0000=f(1.05000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff0f5c2, 0x8f5c28fd}, /* 64.0000=f(1.06000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff11eb8, 0x51eb8526}, /* 64.0000=f(1.07000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff147ae, 0x147ae14f}, /* 64.0000=f(1.08000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff170a3, 0xd70a3d78}, /* 64.0000=f(1.09000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff19999, 0x999999a1}, /* 64.0000=f(1.10000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff1c28f, 0x5c28f5ca}, /* 64.0000=f(1.11000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff1eb85, 0x1eb851f3}, /* 64.0000=f(1.12000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff2147a, 0xe147ae1c}, /* 64.0000=f(1.13000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff23d70, 0xa3d70a45}, /* 64.0000=f(1.14000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff26666, 0x6666666e}, /* 64.0000=f(1.15000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff28f5c, 0x28f5c297}, /* 64.0000=f(1.16000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff2b851, 0xeb851ec0}, /* 64.0000=f(1.17000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff2e147, 0xae147ae9}, /* 64.0000=f(1.18000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff30a3d, 0x70a3d712}, /* 64.0000=f(1.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01921fb, 0x54442d18}, /* 64.0000=f(-6.28318)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* 64.0000=f(-4.71238)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc00921fb, 0x54442d18}, /* 64.0000=f(-3.14159)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff921fb, 0x54442d18}, /* 64.0000=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff921fb, 0x54442d18}, /* 64.0000=f(1.57079)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x400921fb, 0x54442d18}, /* 64.0000=f(3.14159)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4012d97c, 0x7f3321d2}, /* 64.0000=f(4.71238)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03e0000, 0x00000000}, /* 64.0000=f(-30.0000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* 64.0000=f(-28.3000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03a9999, 0x9999999a}, /* 64.0000=f(-26.6000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc038e666, 0x66666667}, /* 64.0000=f(-24.9000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0373333, 0x33333334}, /* 64.0000=f(-23.2000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0358000, 0x00000001}, /* 64.0000=f(-21.5000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc033cccc, 0xccccccce}, /* 64.0000=f(-19.8000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0321999, 0x9999999b}, /* 64.0000=f(-18.1000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0306666, 0x66666668}, /* 64.0000=f(-16.4000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02d6666, 0x6666666a}, /* 64.0000=f(-14.7000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02a0000, 0x00000004}, /* 64.0000=f(-13.0000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0269999, 0x9999999e}, /* 64.0000=f(-11.3000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0233333, 0x33333338}, /* 64.0000=f(-9.60000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01f9999, 0x999999a3}, /* 64.0000=f(-7.90000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* 64.0000=f(-6.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0120000, 0x00000009}, /* 64.0000=f(-4.50000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0066666, 0x66666678}, /* 64.0000=f(-2.80000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x999999bd}, /* 64.0000=f(-1.10000)*/
+{64, 0,123,__LINE__, 0x3fe62e42, 0xfefa3980, 0x3fe33333, 0x333332ec}, /* 0.69314=f(0.60000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40026666, 0x66666654}, /* 64.0000=f(2.30000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x400fffff, 0xffffffee}, /* 64.0000=f(4.00000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4016cccc, 0xccccccc4}, /* 64.0000=f(5.70000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x401d9999, 0x99999991}, /* 64.0000=f(7.40000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40223333, 0x3333332f}, /* 64.0000=f(9.10000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40259999, 0x99999995}, /* 64.0000=f(10.8000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4028ffff, 0xfffffffb}, /* 64.0000=f(12.5000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x402c6666, 0x66666661}, /* 64.0000=f(14.2000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x402fcccc, 0xccccccc7}, /* 64.0000=f(15.9000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40319999, 0x99999997}, /* 64.0000=f(17.6000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40334ccc, 0xccccccca}, /* 64.0000=f(19.3000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4034ffff, 0xfffffffd}, /* 64.0000=f(21.0000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4036b333, 0x33333330}, /* 64.0000=f(22.7000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40386666, 0x66666663}, /* 64.0000=f(24.4000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x403a1999, 0x99999996}, /* 64.0000=f(26.1000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x403bcccc, 0xccccccc9}, /* 64.0000=f(27.8000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x403d7fff, 0xfffffffc}, /* 64.0000=f(29.5000)*/
+0,};
+test_atanh(m) {run_vector_1(m,atanh_vec,(char *)(atanh),"atanh","dd"); }
diff --git a/newlib/libm/test/atanhf_vec.c b/newlib/libm/test/atanhf_vec.c
new file mode 100644
index 00000000000..16a114419d3
--- /dev/null
+++ b/newlib/libm/test/atanhf_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type atanhf_vec[] = {
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff33333, 0x33333333}, /* 64.0000=f(-1.20000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* 64.0000=f(-1.19000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* 64.0000=f(-1.18000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* 64.0000=f(-1.17000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* 64.0000=f(-1.16000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff26666, 0x66666666}, /* 64.0000=f(-1.15000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* 64.0000=f(-1.14000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* 64.0000=f(-1.13000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* 64.0000=f(-1.12000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* 64.0000=f(-1.11000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x99999999}, /* 64.0000=f(-1.10000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* 64.0000=f(-1.09000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff147ae, 0x147ae147}, /* 64.0000=f(-1.08000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* 64.0000=f(-1.07000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* 64.0000=f(-1.06000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* 64.0000=f(-1.05000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* 64.0000=f(-1.04000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* 64.0000=f(-1.03000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff051eb, 0x851eb851}, /* 64.0000=f(-1.02000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* 64.0000=f(-1.01000)*/
+{ 0,15, 39,__LINE__, 0x40500000, 0x00000000, 0xbfefffff, 0xfffffffe}, /* 64.0000=f(-0.01000)*/
+{ 1, 0,123,__LINE__, 0xc0052c58, 0x60000000, 0xbfefae14, 0x7ae147ac}, /* -2.64665=f(-0.99000)*/
+{ 1, 0,123,__LINE__, 0xc0026167, 0x60000000, 0xbfef5c28, 0xf5c28f5a}, /* -2.29756=f(-0.98000)*/
+{ 1, 0,123,__LINE__, 0xc000bd05, 0xc0000000, 0xbfef0a3d, 0x70a3d708}, /* -2.09229=f(-0.97000)*/
+{11, 0,123,__LINE__, 0xbfff2272, 0x60000000, 0xbfeeb851, 0xeb851eb6}, /* -1.94591=f(-0.96000)*/
+{11, 0,123,__LINE__, 0xbffd4ef9, 0x40000000, 0xbfee6666, 0x66666664}, /* -1.83178=f(-0.95000)*/
+{11, 0,123,__LINE__, 0xbffbcf0c, 0xc0000000, 0xbfee147a, 0xe147ae12}, /* -1.73804=f(-0.94000)*/
+{11, 0,123,__LINE__, 0xbffa88c4, 0x00000000, 0xbfedc28f, 0x5c28f5c0}, /* -1.65839=f(-0.93000)*/
+{11, 0,123,__LINE__, 0xbff96ca7, 0xa0000000, 0xbfed70a3, 0xd70a3d6e}, /* -1.58902=f(-0.92000)*/
+{11, 0,123,__LINE__, 0xbff870bd, 0xa0000000, 0xbfed1eb8, 0x51eb851c}, /* -1.52752=f(-0.91000)*/
+{11, 0,123,__LINE__, 0xbff78e35, 0xe0000000, 0xbfeccccc, 0xccccccca}, /* -1.47221=f(-0.90000)*/
+{11, 0,123,__LINE__, 0xbff6c035, 0x40000000, 0xbfec7ae1, 0x47ae1478}, /* -1.42192=f(-0.89000)*/
+{11, 0,123,__LINE__, 0xbff60324, 0xe0000000, 0xbfec28f5, 0xc28f5c26}, /* -1.37576=f(-0.88000)*/
+{11, 0,123,__LINE__, 0xbff5544b, 0x60000000, 0xbfebd70a, 0x3d70a3d4}, /* -1.33308=f(-0.87000)*/
+{11, 0,123,__LINE__, 0xbff4b18a, 0x40000000, 0xbfeb851e, 0xb851eb82}, /* -1.29334=f(-0.86000)*/
+{11, 0,123,__LINE__, 0xbff41933, 0xc0000000, 0xbfeb3333, 0x33333330}, /* -1.25615=f(-0.85000)*/
+{11, 0,123,__LINE__, 0xbff389ed, 0x20000000, 0xbfeae147, 0xae147ade}, /* -1.22117=f(-0.84000)*/
+{11, 0,123,__LINE__, 0xbff3029b, 0x40000000, 0xbfea8f5c, 0x28f5c28c}, /* -1.18813=f(-0.83000)*/
+{11, 0,123,__LINE__, 0xbff28253, 0x00000000, 0xbfea3d70, 0xa3d70a3a}, /* -1.15681=f(-0.82000)*/
+{11, 0,123,__LINE__, 0xbff2084f, 0xa0000000, 0xbfe9eb85, 0x1eb851e8}, /* -1.12702=f(-0.81000)*/
+{11, 0,123,__LINE__, 0xbff193ea, 0x80000000, 0xbfe99999, 0x99999996}, /* -1.09861=f(-0.80000)*/
+{11, 0,123,__LINE__, 0xbff12495, 0xa0000000, 0xbfe947ae, 0x147ae144}, /* -1.07143=f(-0.79000)*/
+{11, 0,123,__LINE__, 0xbff0b9d6, 0x60000000, 0xbfe8f5c2, 0x8f5c28f2}, /* -1.04537=f(-0.78000)*/
+{11, 0,123,__LINE__, 0xbff05343, 0x20000000, 0xbfe8a3d7, 0x0a3d70a0}, /* -1.02032=f(-0.77000)*/
+{13, 0,123,__LINE__, 0xbfefe0fe, 0x60000000, 0xbfe851eb, 0x851eb84e}, /* -0.99621=f(-0.76000)*/
+{13, 0,123,__LINE__, 0xbfef2272, 0xa0000000, 0xbfe7ffff, 0xfffffffc}, /* -0.97295=f(-0.75000)*/
+{12, 0,123,__LINE__, 0xbfee6a53, 0xc0000000, 0xbfe7ae14, 0x7ae147aa}, /* -0.95047=f(-0.74000)*/
+{12, 0,123,__LINE__, 0xbfedb822, 0x80000000, 0xbfe75c28, 0xf5c28f58}, /* -0.92872=f(-0.73000)*/
+{12, 0,123,__LINE__, 0xbfed0b6d, 0xa0000000, 0xbfe70a3d, 0x70a3d706}, /* -0.90764=f(-0.72000)*/
+{12, 0,123,__LINE__, 0xbfec63cf, 0x40000000, 0xbfe6b851, 0xeb851eb4}, /* -0.88718=f(-0.71000)*/
+{12, 0,123,__LINE__, 0xbfebc0ed, 0x00000000, 0xbfe66666, 0x66666662}, /* -0.86730=f(-0.70000)*/
+{12, 0,123,__LINE__, 0xbfeb2274, 0x20000000, 0xbfe6147a, 0xe147ae10}, /* -0.84795=f(-0.69000)*/
+{12, 0,123,__LINE__, 0xbfea881a, 0x20000000, 0xbfe5c28f, 0x5c28f5be}, /* -0.82911=f(-0.68000)*/
+{12, 0,123,__LINE__, 0xbfe9f19b, 0xa0000000, 0xbfe570a3, 0xd70a3d6c}, /* -0.81074=f(-0.67000)*/
+{12, 0,123,__LINE__, 0xbfe95eba, 0xc0000000, 0xbfe51eb8, 0x51eb851a}, /* -0.79281=f(-0.66000)*/
+{12, 0,123,__LINE__, 0xbfe8cf3f, 0x20000000, 0xbfe4cccc, 0xccccccc8}, /* -0.77529=f(-0.65000)*/
+{12, 0,123,__LINE__, 0xbfe842f5, 0x80000000, 0xbfe47ae1, 0x47ae1476}, /* -0.75817=f(-0.64000)*/
+{14, 0,123,__LINE__, 0xbfe7b9ae, 0x60000000, 0xbfe428f5, 0xc28f5c24}, /* -0.74141=f(-0.63000)*/
+{13, 0,123,__LINE__, 0xbfe7333d, 0xe0000000, 0xbfe3d70a, 0x3d70a3d2}, /* -0.72500=f(-0.62000)*/
+{13, 0,123,__LINE__, 0xbfe6af7b, 0xe0000000, 0xbfe3851e, 0xb851eb80}, /* -0.70892=f(-0.61000)*/
+{13, 0,123,__LINE__, 0xbfe62e43, 0x00000000, 0xbfe33333, 0x3333332e}, /* -0.69314=f(-0.60000)*/
+{13, 0,123,__LINE__, 0xbfe5af70, 0xa0000000, 0xbfe2e147, 0xae147adc}, /* -0.67766=f(-0.59000)*/
+{13, 0,123,__LINE__, 0xbfe532e4, 0xe0000000, 0xbfe28f5c, 0x28f5c28a}, /* -0.66246=f(-0.58000)*/
+{13, 0,123,__LINE__, 0xbfe4b881, 0xc0000000, 0xbfe23d70, 0xa3d70a38}, /* -0.64752=f(-0.57000)*/
+{13, 0,123,__LINE__, 0xbfe4402b, 0x60000000, 0xbfe1eb85, 0x1eb851e6}, /* -0.63283=f(-0.56000)*/
+{14, 0,123,__LINE__, 0xbfe3c9c7, 0xa0000000, 0xbfe19999, 0x99999994}, /* -0.61838=f(-0.55000)*/
+{14, 0,123,__LINE__, 0xbfe3553e, 0x20000000, 0xbfe147ae, 0x147ae142}, /* -0.60415=f(-0.54000)*/
+{14, 0,123,__LINE__, 0xbfe2e278, 0x00000000, 0xbfe0f5c2, 0x8f5c28f0}, /* -0.59014=f(-0.53000)*/
+{14, 0,123,__LINE__, 0xbfe27160, 0x00000000, 0xbfe0a3d7, 0x0a3d709e}, /* -0.57633=f(-0.52000)*/
+{14, 0,123,__LINE__, 0xbfe201e1, 0xe0000000, 0xbfe051eb, 0x851eb84c}, /* -0.56272=f(-0.51000)*/
+{15, 0,123,__LINE__, 0xbfe193ea, 0x80000000, 0xbfdfffff, 0xfffffff4}, /* -0.54930=f(-0.50000)*/
+{10, 0,123,__LINE__, 0xbfe12768, 0x00000000, 0xbfdf5c28, 0xf5c28f50}, /* -0.53606=f(-0.49000)*/
+{10, 0,123,__LINE__, 0xbfe0bc49, 0x80000000, 0xbfdeb851, 0xeb851eac}, /* -0.52298=f(-0.48000)*/
+{10, 0,123,__LINE__, 0xbfe0527f, 0x00000000, 0xbfde147a, 0xe147ae08}, /* -0.51007=f(-0.47000)*/
+{14, 0,123,__LINE__, 0xbfdfd3f2, 0xc0000000, 0xbfdd70a3, 0xd70a3d64}, /* -0.49731=f(-0.46000)*/
+{14, 0,123,__LINE__, 0xbfdf0554, 0x20000000, 0xbfdccccc, 0xccccccc0}, /* -0.48470=f(-0.45000)*/
+{14, 0,123,__LINE__, 0xbfde3907, 0x80000000, 0xbfdc28f5, 0xc28f5c1c}, /* -0.47223=f(-0.44000)*/
+{13, 0,123,__LINE__, 0xbfdd6ef2, 0x80000000, 0xbfdb851e, 0xb851eb78}, /* -0.45989=f(-0.43000)*/
+{13, 0,123,__LINE__, 0xbfdca6fc, 0x60000000, 0xbfdae147, 0xae147ad4}, /* -0.44769=f(-0.42000)*/
+{15, 0,123,__LINE__, 0xbfdbe10d, 0xe0000000, 0xbfda3d70, 0xa3d70a30}, /* -0.43561=f(-0.41000)*/
+{14, 0,123,__LINE__, 0xbfdb1d10, 0x60000000, 0xbfd99999, 0x9999998c}, /* -0.42364=f(-0.40000)*/
+{14, 0,123,__LINE__, 0xbfda5aee, 0x60000000, 0xbfd8f5c2, 0x8f5c28e8}, /* -0.41180=f(-0.39000)*/
+{15, 0,123,__LINE__, 0xbfd99a93, 0xc0000000, 0xbfd851eb, 0x851eb844}, /* -0.40005=f(-0.38000)*/
+{12, 0,123,__LINE__, 0xbfd8dbec, 0xa0000000, 0xbfd7ae14, 0x7ae147a0}, /* -0.38842=f(-0.37000)*/
+{12, 0,123,__LINE__, 0xbfd81ee6, 0x20000000, 0xbfd70a3d, 0x70a3d6fc}, /* -0.37688=f(-0.36000)*/
+{15, 0,123,__LINE__, 0xbfd7636e, 0x20000000, 0xbfd66666, 0x66666658}, /* -0.36544=f(-0.35000)*/
+{14, 0,123,__LINE__, 0xbfd6a973, 0xa0000000, 0xbfd5c28f, 0x5c28f5b4}, /* -0.35409=f(-0.34000)*/
+{16, 0,123,__LINE__, 0xbfd5f0e6, 0x00000000, 0xbfd51eb8, 0x51eb8510}, /* -0.34282=f(-0.33000)*/
+{15, 0,123,__LINE__, 0xbfd539b4, 0xc0000000, 0xbfd47ae1, 0x47ae146c}, /* -0.33164=f(-0.32000)*/
+{13, 0,123,__LINE__, 0xbfd483d0, 0xe0000000, 0xbfd3d70a, 0x3d70a3c8}, /* -0.32054=f(-0.31000)*/
+{16, 0,123,__LINE__, 0xbfd3cf2b, 0x60000000, 0xbfd33333, 0x33333324}, /* -0.30951=f(-0.30000)*/
+{15, 0,123,__LINE__, 0xbfd31bb5, 0xa0000000, 0xbfd28f5c, 0x28f5c280}, /* -0.29856=f(-0.29000)*/
+{14, 0,123,__LINE__, 0xbfd26962, 0x20000000, 0xbfd1eb85, 0x1eb851dc}, /* -0.28768=f(-0.28000)*/
+{16, 0,123,__LINE__, 0xbfd1b823, 0x20000000, 0xbfd147ae, 0x147ae138}, /* -0.27686=f(-0.27000)*/
+{15, 0,123,__LINE__, 0xbfd107eb, 0x80000000, 0xbfd0a3d7, 0x0a3d7094}, /* -0.26610=f(-0.26000)*/
+{17, 0,123,__LINE__, 0xbfd058af, 0x00000000, 0xbfcfffff, 0xffffffe0}, /* -0.25541=f(-0.25000)*/
+{15, 0,123,__LINE__, 0xbfcf54c2, 0x00000000, 0xbfceb851, 0xeb851e98}, /* -0.24477=f(-0.24000)*/
+{16, 0,123,__LINE__, 0xbfcdf9eb, 0xc0000000, 0xbfcd70a3, 0xd70a3d50}, /* -0.23418=f(-0.23000)*/
+{16, 0,123,__LINE__, 0xbfcca0c3, 0x60000000, 0xbfcc28f5, 0xc28f5c08}, /* -0.22365=f(-0.22000)*/
+{15, 0,123,__LINE__, 0xbfcb4932, 0xc0000000, 0xbfcae147, 0xae147ac0}, /* -0.21317=f(-0.21000)*/
+{17, 0,123,__LINE__, 0xbfc9f323, 0xe0000000, 0xbfc99999, 0x99999978}, /* -0.20273=f(-0.20000)*/
+{16, 0,123,__LINE__, 0xbfc89e81, 0x20000000, 0xbfc851eb, 0x851eb830}, /* -0.19233=f(-0.19000)*/
+{17, 0,123,__LINE__, 0xbfc74b35, 0x80000000, 0xbfc70a3d, 0x70a3d6e8}, /* -0.18198=f(-0.18000)*/
+{18, 0,123,__LINE__, 0xbfc5f92c, 0x60000000, 0xbfc5c28f, 0x5c28f5a0}, /* -0.17166=f(-0.17000)*/
+{16, 0,123,__LINE__, 0xbfc4a851, 0xa0000000, 0xbfc47ae1, 0x47ae1458}, /* -0.16138=f(-0.16000)*/
+{17, 0,123,__LINE__, 0xbfc35891, 0xe0000000, 0xbfc33333, 0x33333310}, /* -0.15114=f(-0.15000)*/
+{14, 0,123,__LINE__, 0xbfc209d9, 0x80000000, 0xbfc1eb85, 0x1eb851c8}, /* -0.14092=f(-0.14000)*/
+{19, 0,123,__LINE__, 0xbfc0bc15, 0x60000000, 0xbfc0a3d7, 0x0a3d7080}, /* -0.13073=f(-0.13000)*/
+{17, 0,123,__LINE__, 0xbfbede65, 0xe0000000, 0xbfbeb851, 0xeb851e71}, /* -0.12058=f(-0.12000)*/
+{17, 0,123,__LINE__, 0xbfbc463f, 0xc0000000, 0xbfbc28f5, 0xc28f5be2}, /* -0.11044=f(-0.11000)*/
+{18, 0,123,__LINE__, 0xbfb9af93, 0xe0000000, 0xbfb99999, 0x99999953}, /* -0.10033=f(-0.00100)*/
+{19, 0,123,__LINE__, 0xbfb71a3e, 0x40000000, 0xbfb70a3d, 0x70a3d6c4}, /* -0.09024=f(-0.09000)*/
+{16, 0,123,__LINE__, 0xbfb4861b, 0x80000000, 0xbfb47ae1, 0x47ae1435}, /* -0.08017=f(-0.08000)*/
+{19, 0,123,__LINE__, 0xbfb1f309, 0x00000000, 0xbfb1eb85, 0x1eb851a6}, /* -0.07011=f(-0.07000)*/
+{17, 0,123,__LINE__, 0xbfaec1c7, 0x20000000, 0xbfaeb851, 0xeb851e2d}, /* -0.06007=f(-0.06000)*/
+{21, 0,123,__LINE__, 0xbfa99f11, 0xc0000000, 0xbfa99999, 0x9999990e}, /* -0.05004=f(-0.05000)*/
+{21, 0,123,__LINE__, 0xbfa47dad, 0xc0000000, 0xbfa47ae1, 0x47ae13ef}, /* -0.04002=f(-0.04000)*/
+{22, 0,123,__LINE__, 0xbf9ebaae, 0x40000000, 0xbf9eb851, 0xeb851da0}, /* -0.03000=f(-0.03000)*/
+{23, 0,123,__LINE__, 0xbf947b94, 0x40000000, 0xbf947ae1, 0x47ae1362}, /* -0.02000=f(-0.02000)*/
+{23, 0,123,__LINE__, 0xbf847b0e, 0x00000000, 0xbf847ae1, 0x47ae1249}, /* -0.01000=f(-0.00010)*/
+{ 2, 0,123,__LINE__, 0x3cd19000, 0x00000000, 0x3cd19000, 0x00000000}, /* 9.74915e-16=f(9.74915e-16)*/
+{23, 0,123,__LINE__, 0x3f847b0e, 0x00000000, 0x3f847ae1, 0x47ae16ad}, /* 0.01000=f(0.01000)*/
+{23, 0,123,__LINE__, 0x3f947b94, 0x40000000, 0x3f947ae1, 0x47ae1594}, /* 0.02000=f(0.02000)*/
+{22, 0,123,__LINE__, 0x3f9ebaae, 0x40000000, 0x3f9eb851, 0xeb851fd2}, /* 0.03000=f(0.03000)*/
+{21, 0,123,__LINE__, 0x3fa47dad, 0xc0000000, 0x3fa47ae1, 0x47ae1508}, /* 0.04002=f(0.04000)*/
+{21, 0,123,__LINE__, 0x3fa99f11, 0xc0000000, 0x3fa99999, 0x99999a27}, /* 0.05004=f(0.05000)*/
+{17, 0,123,__LINE__, 0x3faec1c7, 0x20000000, 0x3faeb851, 0xeb851f46}, /* 0.06007=f(0.06000)*/
+{19, 0,123,__LINE__, 0x3fb1f309, 0x00000000, 0x3fb1eb85, 0x1eb85232}, /* 0.07011=f(0.07000)*/
+{16, 0,123,__LINE__, 0x3fb4861b, 0x80000000, 0x3fb47ae1, 0x47ae14c1}, /* 0.08017=f(0.08000)*/
+{19, 0,123,__LINE__, 0x3fb71a3e, 0x40000000, 0x3fb70a3d, 0x70a3d750}, /* 0.09024=f(0.09000)*/
+{18, 0,123,__LINE__, 0x3fb9af93, 0xe0000000, 0x3fb99999, 0x999999df}, /* 0.10033=f(0.10000)*/
+{17, 0,123,__LINE__, 0x3fbc463f, 0xc0000000, 0x3fbc28f5, 0xc28f5c6e}, /* 0.11044=f(0.11000)*/
+{17, 0,123,__LINE__, 0x3fbede65, 0xe0000000, 0x3fbeb851, 0xeb851efd}, /* 0.12058=f(0.12000)*/
+{19, 0,123,__LINE__, 0x3fc0bc15, 0x60000000, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.13073=f(0.13000)*/
+{14, 0,123,__LINE__, 0x3fc209d9, 0x80000000, 0x3fc1eb85, 0x1eb8520e}, /* 0.14092=f(0.14000)*/
+{17, 0,123,__LINE__, 0x3fc35891, 0xe0000000, 0x3fc33333, 0x33333356}, /* 0.15114=f(0.15000)*/
+{16, 0,123,__LINE__, 0x3fc4a851, 0xa0000000, 0x3fc47ae1, 0x47ae149e}, /* 0.16138=f(0.16000)*/
+{18, 0,123,__LINE__, 0x3fc5f92c, 0x60000000, 0x3fc5c28f, 0x5c28f5e6}, /* 0.17166=f(0.17000)*/
+{17, 0,123,__LINE__, 0x3fc74b35, 0x80000000, 0x3fc70a3d, 0x70a3d72e}, /* 0.18198=f(0.18000)*/
+{16, 0,123,__LINE__, 0x3fc89e81, 0x20000000, 0x3fc851eb, 0x851eb876}, /* 0.19233=f(0.19000)*/
+{17, 0,123,__LINE__, 0x3fc9f323, 0xe0000000, 0x3fc99999, 0x999999be}, /* 0.20273=f(0.20000)*/
+{15, 0,123,__LINE__, 0x3fcb4932, 0xc0000000, 0x3fcae147, 0xae147b06}, /* 0.21317=f(0.21000)*/
+{16, 0,123,__LINE__, 0x3fcca0c3, 0x60000000, 0x3fcc28f5, 0xc28f5c4e}, /* 0.22365=f(0.22000)*/
+{16, 0,123,__LINE__, 0x3fcdf9eb, 0xc0000000, 0x3fcd70a3, 0xd70a3d96}, /* 0.23418=f(0.23000)*/
+{15, 0,123,__LINE__, 0x3fcf54c2, 0x00000000, 0x3fceb851, 0xeb851ede}, /* 0.24477=f(0.24000)*/
+{17, 0,123,__LINE__, 0x3fd058af, 0x00000000, 0x3fd00000, 0x00000013}, /* 0.25541=f(0.25000)*/
+{15, 0,123,__LINE__, 0x3fd107eb, 0x80000000, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.26610=f(0.26000)*/
+{16, 0,123,__LINE__, 0x3fd1b823, 0x20000000, 0x3fd147ae, 0x147ae15b}, /* 0.27686=f(0.27000)*/
+{14, 0,123,__LINE__, 0x3fd26962, 0x20000000, 0x3fd1eb85, 0x1eb851ff}, /* 0.28768=f(0.28000)*/
+{15, 0,123,__LINE__, 0x3fd31bb5, 0xa0000000, 0x3fd28f5c, 0x28f5c2a3}, /* 0.29856=f(0.29000)*/
+{16, 0,123,__LINE__, 0x3fd3cf2b, 0x60000000, 0x3fd33333, 0x33333347}, /* 0.30951=f(0.30000)*/
+{13, 0,123,__LINE__, 0x3fd483d0, 0xe0000000, 0x3fd3d70a, 0x3d70a3eb}, /* 0.32054=f(0.31000)*/
+{15, 0,123,__LINE__, 0x3fd539b4, 0xc0000000, 0x3fd47ae1, 0x47ae148f}, /* 0.33164=f(0.32000)*/
+{16, 0,123,__LINE__, 0x3fd5f0e6, 0x00000000, 0x3fd51eb8, 0x51eb8533}, /* 0.34282=f(0.33000)*/
+{14, 0,123,__LINE__, 0x3fd6a973, 0xa0000000, 0x3fd5c28f, 0x5c28f5d7}, /* 0.35409=f(0.34000)*/
+{15, 0,123,__LINE__, 0x3fd7636e, 0x20000000, 0x3fd66666, 0x6666667b}, /* 0.36544=f(0.35000)*/
+{12, 0,123,__LINE__, 0x3fd81ee6, 0x20000000, 0x3fd70a3d, 0x70a3d71f}, /* 0.37688=f(0.36000)*/
+{12, 0,123,__LINE__, 0x3fd8dbec, 0xa0000000, 0x3fd7ae14, 0x7ae147c3}, /* 0.38842=f(0.37000)*/
+{15, 0,123,__LINE__, 0x3fd99a93, 0xc0000000, 0x3fd851eb, 0x851eb867}, /* 0.40005=f(0.38000)*/
+{14, 0,123,__LINE__, 0x3fda5aee, 0x60000000, 0x3fd8f5c2, 0x8f5c290b}, /* 0.41180=f(0.39000)*/
+{14, 0,123,__LINE__, 0x3fdb1d10, 0x60000000, 0x3fd99999, 0x999999af}, /* 0.42364=f(0.40000)*/
+{15, 0,123,__LINE__, 0x3fdbe10d, 0xe0000000, 0x3fda3d70, 0xa3d70a53}, /* 0.43561=f(0.41000)*/
+{13, 0,123,__LINE__, 0x3fdca6fc, 0x60000000, 0x3fdae147, 0xae147af7}, /* 0.44769=f(0.42000)*/
+{13, 0,123,__LINE__, 0x3fdd6ef2, 0x80000000, 0x3fdb851e, 0xb851eb9b}, /* 0.45989=f(0.43000)*/
+{14, 0,123,__LINE__, 0x3fde3907, 0x80000000, 0x3fdc28f5, 0xc28f5c3f}, /* 0.47223=f(0.44000)*/
+{14, 0,123,__LINE__, 0x3fdf0554, 0x20000000, 0x3fdccccc, 0xcccccce3}, /* 0.48470=f(0.45000)*/
+{14, 0,123,__LINE__, 0x3fdfd3f2, 0xc0000000, 0x3fdd70a3, 0xd70a3d87}, /* 0.49731=f(0.46000)*/
+{10, 0,123,__LINE__, 0x3fe0527f, 0x00000000, 0x3fde147a, 0xe147ae2b}, /* 0.51007=f(0.47000)*/
+{10, 0,123,__LINE__, 0x3fe0bc49, 0x80000000, 0x3fdeb851, 0xeb851ecf}, /* 0.52298=f(0.48000)*/
+{10, 0,123,__LINE__, 0x3fe12768, 0x00000000, 0x3fdf5c28, 0xf5c28f73}, /* 0.53606=f(0.49000)*/
+{15, 0,123,__LINE__, 0x3fe193ea, 0x80000000, 0x3fe00000, 0x0000000b}, /* 0.54930=f(0.50000)*/
+{14, 0,123,__LINE__, 0x3fe201e1, 0xe0000000, 0x3fe051eb, 0x851eb85d}, /* 0.56272=f(0.51000)*/
+{14, 0,123,__LINE__, 0x3fe27160, 0x00000000, 0x3fe0a3d7, 0x0a3d70af}, /* 0.57633=f(0.52000)*/
+{14, 0,123,__LINE__, 0x3fe2e278, 0x00000000, 0x3fe0f5c2, 0x8f5c2901}, /* 0.59014=f(0.53000)*/
+{14, 0,123,__LINE__, 0x3fe3553e, 0x20000000, 0x3fe147ae, 0x147ae153}, /* 0.60415=f(0.54000)*/
+{14, 0,123,__LINE__, 0x3fe3c9c7, 0xa0000000, 0x3fe19999, 0x999999a5}, /* 0.61838=f(0.55000)*/
+{13, 0,123,__LINE__, 0x3fe4402b, 0x60000000, 0x3fe1eb85, 0x1eb851f7}, /* 0.63283=f(0.56000)*/
+{13, 0,123,__LINE__, 0x3fe4b881, 0xc0000000, 0x3fe23d70, 0xa3d70a49}, /* 0.64752=f(0.57000)*/
+{13, 0,123,__LINE__, 0x3fe532e4, 0xe0000000, 0x3fe28f5c, 0x28f5c29b}, /* 0.66246=f(0.58000)*/
+{13, 0,123,__LINE__, 0x3fe5af70, 0xa0000000, 0x3fe2e147, 0xae147aed}, /* 0.67766=f(0.59000)*/
+{13, 0,123,__LINE__, 0x3fe62e43, 0x00000000, 0x3fe33333, 0x3333333f}, /* 0.69314=f(0.60000)*/
+{13, 0,123,__LINE__, 0x3fe6af7b, 0xe0000000, 0x3fe3851e, 0xb851eb91}, /* 0.70892=f(0.61000)*/
+{13, 0,123,__LINE__, 0x3fe7333d, 0xe0000000, 0x3fe3d70a, 0x3d70a3e3}, /* 0.72500=f(0.62000)*/
+{14, 0,123,__LINE__, 0x3fe7b9ae, 0x60000000, 0x3fe428f5, 0xc28f5c35}, /* 0.74141=f(0.63000)*/
+{12, 0,123,__LINE__, 0x3fe842f5, 0x80000000, 0x3fe47ae1, 0x47ae1487}, /* 0.75817=f(0.64000)*/
+{12, 0,123,__LINE__, 0x3fe8cf3f, 0x20000000, 0x3fe4cccc, 0xccccccd9}, /* 0.77529=f(0.65000)*/
+{12, 0,123,__LINE__, 0x3fe95eba, 0xc0000000, 0x3fe51eb8, 0x51eb852b}, /* 0.79281=f(0.66000)*/
+{12, 0,123,__LINE__, 0x3fe9f19b, 0xa0000000, 0x3fe570a3, 0xd70a3d7d}, /* 0.81074=f(0.67000)*/
+{12, 0,123,__LINE__, 0x3fea881a, 0x20000000, 0x3fe5c28f, 0x5c28f5cf}, /* 0.82911=f(0.68000)*/
+{12, 0,123,__LINE__, 0x3feb2274, 0x20000000, 0x3fe6147a, 0xe147ae21}, /* 0.84795=f(0.69000)*/
+{12, 0,123,__LINE__, 0x3febc0ed, 0x00000000, 0x3fe66666, 0x66666673}, /* 0.86730=f(0.70000)*/
+{12, 0,123,__LINE__, 0x3fec63cf, 0x40000000, 0x3fe6b851, 0xeb851ec5}, /* 0.88718=f(0.71000)*/
+{12, 0,123,__LINE__, 0x3fed0b6d, 0xa0000000, 0x3fe70a3d, 0x70a3d717}, /* 0.90764=f(0.72000)*/
+{12, 0,123,__LINE__, 0x3fedb822, 0x80000000, 0x3fe75c28, 0xf5c28f69}, /* 0.92872=f(0.73000)*/
+{12, 0,123,__LINE__, 0x3fee6a53, 0xc0000000, 0x3fe7ae14, 0x7ae147bb}, /* 0.95047=f(0.74000)*/
+{13, 0,123,__LINE__, 0x3fef2272, 0xa0000000, 0x3fe80000, 0x0000000d}, /* 0.97295=f(0.75000)*/
+{13, 0,123,__LINE__, 0x3fefe0fe, 0x60000000, 0x3fe851eb, 0x851eb85f}, /* 0.99621=f(0.76000)*/
+{11, 0,123,__LINE__, 0x3ff05343, 0x20000000, 0x3fe8a3d7, 0x0a3d70b1}, /* 1.02032=f(0.77000)*/
+{11, 0,123,__LINE__, 0x3ff0b9d6, 0x60000000, 0x3fe8f5c2, 0x8f5c2903}, /* 1.04537=f(0.78000)*/
+{11, 0,123,__LINE__, 0x3ff12495, 0xa0000000, 0x3fe947ae, 0x147ae155}, /* 1.07143=f(0.79000)*/
+{11, 0,123,__LINE__, 0x3ff193ea, 0x80000000, 0x3fe99999, 0x999999a7}, /* 1.09861=f(0.80000)*/
+{11, 0,123,__LINE__, 0x3ff2084f, 0xa0000000, 0x3fe9eb85, 0x1eb851f9}, /* 1.12702=f(0.81000)*/
+{11, 0,123,__LINE__, 0x3ff28253, 0x00000000, 0x3fea3d70, 0xa3d70a4b}, /* 1.15681=f(0.82000)*/
+{11, 0,123,__LINE__, 0x3ff3029b, 0x40000000, 0x3fea8f5c, 0x28f5c29d}, /* 1.18813=f(0.83000)*/
+{11, 0,123,__LINE__, 0x3ff389ed, 0x20000000, 0x3feae147, 0xae147aef}, /* 1.22117=f(0.84000)*/
+{11, 0,123,__LINE__, 0x3ff41933, 0xc0000000, 0x3feb3333, 0x33333341}, /* 1.25615=f(0.85000)*/
+{11, 0,123,__LINE__, 0x3ff4b18a, 0x40000000, 0x3feb851e, 0xb851eb93}, /* 1.29334=f(0.86000)*/
+{11, 0,123,__LINE__, 0x3ff5544b, 0x60000000, 0x3febd70a, 0x3d70a3e5}, /* 1.33308=f(0.87000)*/
+{11, 0,123,__LINE__, 0x3ff60324, 0xe0000000, 0x3fec28f5, 0xc28f5c37}, /* 1.37576=f(0.88000)*/
+{11, 0,123,__LINE__, 0x3ff6c035, 0x40000000, 0x3fec7ae1, 0x47ae1489}, /* 1.42192=f(0.89000)*/
+{11, 0,123,__LINE__, 0x3ff78e35, 0xe0000000, 0x3feccccc, 0xccccccdb}, /* 1.47221=f(0.90000)*/
+{11, 0,123,__LINE__, 0x3ff870bd, 0xa0000000, 0x3fed1eb8, 0x51eb852d}, /* 1.52752=f(0.91000)*/
+{11, 0,123,__LINE__, 0x3ff96ca7, 0xa0000000, 0x3fed70a3, 0xd70a3d7f}, /* 1.58902=f(0.92000)*/
+{11, 0,123,__LINE__, 0x3ffa88c4, 0x00000000, 0x3fedc28f, 0x5c28f5d1}, /* 1.65839=f(0.93000)*/
+{11, 0,123,__LINE__, 0x3ffbcf0c, 0xc0000000, 0x3fee147a, 0xe147ae23}, /* 1.73804=f(0.94000)*/
+{11, 0,123,__LINE__, 0x3ffd4ef9, 0x40000000, 0x3fee6666, 0x66666675}, /* 1.83178=f(0.95000)*/
+{11, 0,123,__LINE__, 0x3fff2272, 0x60000000, 0x3feeb851, 0xeb851ec7}, /* 1.94591=f(0.96000)*/
+{ 1, 0,123,__LINE__, 0x4000bd05, 0xc0000000, 0x3fef0a3d, 0x70a3d719}, /* 2.09229=f(0.97000)*/
+{ 1, 0,123,__LINE__, 0x40026167, 0x60000000, 0x3fef5c28, 0xf5c28f6b}, /* 2.29756=f(0.98000)*/
+{ 1, 0,123,__LINE__, 0x40052c58, 0x60000000, 0x3fefae14, 0x7ae147bd}, /* 2.64665=f(0.99000)*/
+{ 1,15, 39,__LINE__, 0x40500000, 0x00000000, 0x3ff00000, 0x00000007}, /* 64.0000=f(1.00000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff028f5, 0xc28f5c30}, /* 64.0000=f(1.01000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff051eb, 0x851eb859}, /* 64.0000=f(1.02000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff07ae1, 0x47ae1482}, /* 64.0000=f(1.03000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff0a3d7, 0x0a3d70ab}, /* 64.0000=f(1.04000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff0cccc, 0xccccccd4}, /* 64.0000=f(1.05000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff0f5c2, 0x8f5c28fd}, /* 64.0000=f(1.06000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff11eb8, 0x51eb8526}, /* 64.0000=f(1.07000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff147ae, 0x147ae14f}, /* 64.0000=f(1.08000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff170a3, 0xd70a3d78}, /* 64.0000=f(1.09000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff19999, 0x999999a1}, /* 64.0000=f(1.10000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff1c28f, 0x5c28f5ca}, /* 64.0000=f(1.11000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff1eb85, 0x1eb851f3}, /* 64.0000=f(1.12000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff2147a, 0xe147ae1c}, /* 64.0000=f(1.13000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff23d70, 0xa3d70a45}, /* 64.0000=f(1.14000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff26666, 0x6666666e}, /* 64.0000=f(1.15000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff28f5c, 0x28f5c297}, /* 64.0000=f(1.16000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff2b851, 0xeb851ec0}, /* 64.0000=f(1.17000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff2e147, 0xae147ae9}, /* 64.0000=f(1.18000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff30a3d, 0x70a3d712}, /* 64.0000=f(1.19000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01921fb, 0x54442d18}, /* 64.0000=f(-6.28318)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* 64.0000=f(-4.71238)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc00921fb, 0x54442d18}, /* 64.0000=f(-3.14159)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff921fb, 0x54442d18}, /* 64.0000=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{ 1,13, 37,__LINE__, 0x40500000, 0x00000000, 0x3ff921fb, 0x54442d18}, /* 64.0000=f(1.57079)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x400921fb, 0x54442d18}, /* 64.0000=f(3.14159)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4012d97c, 0x7f3321d2}, /* 64.0000=f(4.71238)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03e0000, 0x00000000}, /* 64.0000=f(-30.0000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* 64.0000=f(-28.3000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03a9999, 0x9999999a}, /* 64.0000=f(-26.6000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc038e666, 0x66666667}, /* 64.0000=f(-24.9000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0373333, 0x33333334}, /* 64.0000=f(-23.2000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0358000, 0x00000001}, /* 64.0000=f(-21.5000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc033cccc, 0xccccccce}, /* 64.0000=f(-19.8000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0321999, 0x9999999b}, /* 64.0000=f(-18.1000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0306666, 0x66666668}, /* 64.0000=f(-16.4000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02d6666, 0x6666666a}, /* 64.0000=f(-14.7000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02a0000, 0x00000004}, /* 64.0000=f(-13.0000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0269999, 0x9999999e}, /* 64.0000=f(-11.3000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0233333, 0x33333338}, /* 64.0000=f(-9.60000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01f9999, 0x999999a3}, /* 64.0000=f(-7.90000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* 64.0000=f(-6.20000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0120000, 0x00000009}, /* 64.0000=f(-4.50000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0066666, 0x66666678}, /* 64.0000=f(-2.80000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x999999bd}, /* 64.0000=f(-1.10000)*/
+{13, 0,123,__LINE__, 0x3fe62e43, 0x00000000, 0x3fe33333, 0x333332ec}, /* 0.69314=f(0.60000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40026666, 0x66666654}, /* 64.0000=f(2.30000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x400fffff, 0xffffffee}, /* 64.0000=f(4.00000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4016cccc, 0xccccccc4}, /* 64.0000=f(5.70000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x401d9999, 0x99999991}, /* 64.0000=f(7.40000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40223333, 0x3333332f}, /* 64.0000=f(9.10000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40259999, 0x99999995}, /* 64.0000=f(10.8000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4028ffff, 0xfffffffb}, /* 64.0000=f(12.5000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x402c6666, 0x66666661}, /* 64.0000=f(14.2000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x402fcccc, 0xccccccc7}, /* 64.0000=f(15.9000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40319999, 0x99999997}, /* 64.0000=f(17.6000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40334ccc, 0xccccccca}, /* 64.0000=f(19.3000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4034ffff, 0xfffffffd}, /* 64.0000=f(21.0000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x4036b333, 0x33333330}, /* 64.0000=f(22.7000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x40386666, 0x66666663}, /* 64.0000=f(24.4000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x403a1999, 0x99999996}, /* 64.0000=f(26.1000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x403bcccc, 0xccccccc9}, /* 64.0000=f(27.8000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x403d7fff, 0xfffffffc}, /* 64.0000=f(29.5000)*/
+0,};
+test_atanhf(m) {run_vector_1(m,atanhf_vec,(char *)(atanhf),"atanhf","ff"); }
diff --git a/newlib/libm/test/ceil_vec.c b/newlib/libm/test/ceil_vec.c
new file mode 100644
index 00000000000..94222997cce
--- /dev/null
+++ b/newlib/libm/test/ceil_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type ceil_vec[] = {
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff33333, 0x33333333}, /* -1.00000=f(-1.20000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* -1.00000=f(-1.19000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* -1.00000=f(-1.18000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* -1.00000=f(-1.17000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* -1.00000=f(-1.16000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff26666, 0x66666666}, /* -1.00000=f(-1.15000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* -1.00000=f(-1.14000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* -1.00000=f(-1.13000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* -1.00000=f(-1.12000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* -1.00000=f(-1.11000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff19999, 0x99999999}, /* -1.00000=f(-1.10000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* -1.00000=f(-1.09000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff147ae, 0x147ae147}, /* -1.00000=f(-1.08000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* -1.00000=f(-1.07000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* -1.00000=f(-1.06000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* -1.00000=f(-1.05000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* -1.00000=f(-1.04000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* -1.00000=f(-1.03000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff051eb, 0x851eb851}, /* -1.00000=f(-1.02000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* -1.00000=f(-1.01000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfefffff, 0xfffffffe}, /* 0.00000=f(-0.01000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfefae14, 0x7ae147ac}, /* 0.00000=f(-0.99000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfef5c28, 0xf5c28f5a}, /* 0.00000=f(-0.98000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfef0a3d, 0x70a3d708}, /* 0.00000=f(-0.97000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfeeb851, 0xeb851eb6}, /* 0.00000=f(-0.96000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfee6666, 0x66666664}, /* 0.00000=f(-0.95000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfee147a, 0xe147ae12}, /* 0.00000=f(-0.94000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfedc28f, 0x5c28f5c0}, /* 0.00000=f(-0.93000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfed70a3, 0xd70a3d6e}, /* 0.00000=f(-0.92000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfed1eb8, 0x51eb851c}, /* 0.00000=f(-0.91000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfeccccc, 0xccccccca}, /* 0.00000=f(-0.90000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfec7ae1, 0x47ae1478}, /* 0.00000=f(-0.89000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfec28f5, 0xc28f5c26}, /* 0.00000=f(-0.88000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfebd70a, 0x3d70a3d4}, /* 0.00000=f(-0.87000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfeb851e, 0xb851eb82}, /* 0.00000=f(-0.86000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfeb3333, 0x33333330}, /* 0.00000=f(-0.85000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfeae147, 0xae147ade}, /* 0.00000=f(-0.84000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfea8f5c, 0x28f5c28c}, /* 0.00000=f(-0.83000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfea3d70, 0xa3d70a3a}, /* 0.00000=f(-0.82000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe9eb85, 0x1eb851e8}, /* 0.00000=f(-0.81000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe99999, 0x99999996}, /* 0.00000=f(-0.80000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe947ae, 0x147ae144}, /* 0.00000=f(-0.79000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe8f5c2, 0x8f5c28f2}, /* 0.00000=f(-0.78000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe8a3d7, 0x0a3d70a0}, /* 0.00000=f(-0.77000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe851eb, 0x851eb84e}, /* 0.00000=f(-0.76000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe7ffff, 0xfffffffc}, /* 0.00000=f(-0.75000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe7ae14, 0x7ae147aa}, /* 0.00000=f(-0.74000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe75c28, 0xf5c28f58}, /* 0.00000=f(-0.73000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe70a3d, 0x70a3d706}, /* 0.00000=f(-0.72000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe6b851, 0xeb851eb4}, /* 0.00000=f(-0.71000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe66666, 0x66666662}, /* 0.00000=f(-0.70000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe6147a, 0xe147ae10}, /* 0.00000=f(-0.69000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe5c28f, 0x5c28f5be}, /* 0.00000=f(-0.68000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe570a3, 0xd70a3d6c}, /* 0.00000=f(-0.67000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe51eb8, 0x51eb851a}, /* 0.00000=f(-0.66000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe4cccc, 0xccccccc8}, /* 0.00000=f(-0.65000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe47ae1, 0x47ae1476}, /* 0.00000=f(-0.64000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe428f5, 0xc28f5c24}, /* 0.00000=f(-0.63000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe3d70a, 0x3d70a3d2}, /* 0.00000=f(-0.62000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe3851e, 0xb851eb80}, /* 0.00000=f(-0.61000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe33333, 0x3333332e}, /* 0.00000=f(-0.60000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe2e147, 0xae147adc}, /* 0.00000=f(-0.59000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe28f5c, 0x28f5c28a}, /* 0.00000=f(-0.58000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe23d70, 0xa3d70a38}, /* 0.00000=f(-0.57000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe1eb85, 0x1eb851e6}, /* 0.00000=f(-0.56000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe19999, 0x99999994}, /* 0.00000=f(-0.55000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe147ae, 0x147ae142}, /* 0.00000=f(-0.54000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe0f5c2, 0x8f5c28f0}, /* 0.00000=f(-0.53000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe0a3d7, 0x0a3d709e}, /* 0.00000=f(-0.52000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe051eb, 0x851eb84c}, /* 0.00000=f(-0.51000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfdfffff, 0xfffffff4}, /* 0.00000=f(-0.50000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfdf5c28, 0xf5c28f50}, /* 0.00000=f(-0.49000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfdeb851, 0xeb851eac}, /* 0.00000=f(-0.48000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfde147a, 0xe147ae08}, /* 0.00000=f(-0.47000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfdd70a3, 0xd70a3d64}, /* 0.00000=f(-0.46000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfdccccc, 0xccccccc0}, /* 0.00000=f(-0.45000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfdc28f5, 0xc28f5c1c}, /* 0.00000=f(-0.44000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfdb851e, 0xb851eb78}, /* 0.00000=f(-0.43000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfdae147, 0xae147ad4}, /* 0.00000=f(-0.42000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfda3d70, 0xa3d70a30}, /* 0.00000=f(-0.41000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd99999, 0x9999998c}, /* 0.00000=f(-0.40000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd8f5c2, 0x8f5c28e8}, /* 0.00000=f(-0.39000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd851eb, 0x851eb844}, /* 0.00000=f(-0.38000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd7ae14, 0x7ae147a0}, /* 0.00000=f(-0.37000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd70a3d, 0x70a3d6fc}, /* 0.00000=f(-0.36000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd66666, 0x66666658}, /* 0.00000=f(-0.35000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd5c28f, 0x5c28f5b4}, /* 0.00000=f(-0.34000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd51eb8, 0x51eb8510}, /* 0.00000=f(-0.33000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd47ae1, 0x47ae146c}, /* 0.00000=f(-0.32000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd3d70a, 0x3d70a3c8}, /* 0.00000=f(-0.31000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd33333, 0x33333324}, /* 0.00000=f(-0.30000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd28f5c, 0x28f5c280}, /* 0.00000=f(-0.29000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd1eb85, 0x1eb851dc}, /* 0.00000=f(-0.28000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd147ae, 0x147ae138}, /* 0.00000=f(-0.27000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd0a3d7, 0x0a3d7094}, /* 0.00000=f(-0.26000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfcfffff, 0xffffffe0}, /* 0.00000=f(-0.25000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfceb851, 0xeb851e98}, /* 0.00000=f(-0.24000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfcd70a3, 0xd70a3d50}, /* 0.00000=f(-0.23000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfcc28f5, 0xc28f5c08}, /* 0.00000=f(-0.22000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfcae147, 0xae147ac0}, /* 0.00000=f(-0.21000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfc99999, 0x99999978}, /* 0.00000=f(-0.20000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfc851eb, 0x851eb830}, /* 0.00000=f(-0.19000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfc70a3d, 0x70a3d6e8}, /* 0.00000=f(-0.18000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfc5c28f, 0x5c28f5a0}, /* 0.00000=f(-0.17000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfc47ae1, 0x47ae1458}, /* 0.00000=f(-0.16000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfc33333, 0x33333310}, /* 0.00000=f(-0.15000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfc1eb85, 0x1eb851c8}, /* 0.00000=f(-0.14000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfc0a3d7, 0x0a3d7080}, /* 0.00000=f(-0.13000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfbeb851, 0xeb851e71}, /* 0.00000=f(-0.12000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfbc28f5, 0xc28f5be2}, /* 0.00000=f(-0.11000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfb99999, 0x99999953}, /* 0.00000=f(-0.00100)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfb70a3d, 0x70a3d6c4}, /* 0.00000=f(-0.09000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfb47ae1, 0x47ae1435}, /* 0.00000=f(-0.08000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfb1eb85, 0x1eb851a6}, /* 0.00000=f(-0.07000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfaeb851, 0xeb851e2d}, /* 0.00000=f(-0.06000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfa99999, 0x9999990e}, /* 0.00000=f(-0.05000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfa47ae1, 0x47ae13ef}, /* 0.00000=f(-0.04000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbf9eb851, 0xeb851da0}, /* 0.00000=f(-0.03000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbf947ae1, 0x47ae1362}, /* 0.00000=f(-0.02000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbf847ae1, 0x47ae1249}, /* 0.00000=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3cd19000, 0x00000000}, /* 1.00000=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3f847ae1, 0x47ae16ad}, /* 1.00000=f(0.01000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3f947ae1, 0x47ae1594}, /* 1.00000=f(0.02000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3f9eb851, 0xeb851fd2}, /* 1.00000=f(0.03000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fa47ae1, 0x47ae1508}, /* 1.00000=f(0.04000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fa99999, 0x99999a27}, /* 1.00000=f(0.05000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3faeb851, 0xeb851f46}, /* 1.00000=f(0.06000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fb1eb85, 0x1eb85232}, /* 1.00000=f(0.07000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fb47ae1, 0x47ae14c1}, /* 1.00000=f(0.08000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fb70a3d, 0x70a3d750}, /* 1.00000=f(0.09000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fb99999, 0x999999df}, /* 1.00000=f(0.10000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fbc28f5, 0xc28f5c6e}, /* 1.00000=f(0.11000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fbeb851, 0xeb851efd}, /* 1.00000=f(0.12000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fc0a3d7, 0x0a3d70c6}, /* 1.00000=f(0.13000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fc1eb85, 0x1eb8520e}, /* 1.00000=f(0.14000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fc33333, 0x33333356}, /* 1.00000=f(0.15000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fc47ae1, 0x47ae149e}, /* 1.00000=f(0.16000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fc5c28f, 0x5c28f5e6}, /* 1.00000=f(0.17000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fc70a3d, 0x70a3d72e}, /* 1.00000=f(0.18000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fc851eb, 0x851eb876}, /* 1.00000=f(0.19000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fc99999, 0x999999be}, /* 1.00000=f(0.20000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fcae147, 0xae147b06}, /* 1.00000=f(0.21000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fcc28f5, 0xc28f5c4e}, /* 1.00000=f(0.22000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fcd70a3, 0xd70a3d96}, /* 1.00000=f(0.23000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fceb851, 0xeb851ede}, /* 1.00000=f(0.24000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd00000, 0x00000013}, /* 1.00000=f(0.25000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd0a3d7, 0x0a3d70b7}, /* 1.00000=f(0.26000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd147ae, 0x147ae15b}, /* 1.00000=f(0.27000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd1eb85, 0x1eb851ff}, /* 1.00000=f(0.28000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd28f5c, 0x28f5c2a3}, /* 1.00000=f(0.29000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd33333, 0x33333347}, /* 1.00000=f(0.30000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd3d70a, 0x3d70a3eb}, /* 1.00000=f(0.31000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd47ae1, 0x47ae148f}, /* 1.00000=f(0.32000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd51eb8, 0x51eb8533}, /* 1.00000=f(0.33000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd5c28f, 0x5c28f5d7}, /* 1.00000=f(0.34000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd66666, 0x6666667b}, /* 1.00000=f(0.35000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd70a3d, 0x70a3d71f}, /* 1.00000=f(0.36000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd7ae14, 0x7ae147c3}, /* 1.00000=f(0.37000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd851eb, 0x851eb867}, /* 1.00000=f(0.38000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd8f5c2, 0x8f5c290b}, /* 1.00000=f(0.39000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd99999, 0x999999af}, /* 1.00000=f(0.40000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fda3d70, 0xa3d70a53}, /* 1.00000=f(0.41000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fdae147, 0xae147af7}, /* 1.00000=f(0.42000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fdb851e, 0xb851eb9b}, /* 1.00000=f(0.43000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fdc28f5, 0xc28f5c3f}, /* 1.00000=f(0.44000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fdccccc, 0xcccccce3}, /* 1.00000=f(0.45000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fdd70a3, 0xd70a3d87}, /* 1.00000=f(0.46000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fde147a, 0xe147ae2b}, /* 1.00000=f(0.47000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fdeb851, 0xeb851ecf}, /* 1.00000=f(0.48000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fdf5c28, 0xf5c28f73}, /* 1.00000=f(0.49000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe00000, 0x0000000b}, /* 1.00000=f(0.50000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe051eb, 0x851eb85d}, /* 1.00000=f(0.51000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe0a3d7, 0x0a3d70af}, /* 1.00000=f(0.52000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe0f5c2, 0x8f5c2901}, /* 1.00000=f(0.53000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe147ae, 0x147ae153}, /* 1.00000=f(0.54000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe19999, 0x999999a5}, /* 1.00000=f(0.55000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe1eb85, 0x1eb851f7}, /* 1.00000=f(0.56000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe23d70, 0xa3d70a49}, /* 1.00000=f(0.57000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe28f5c, 0x28f5c29b}, /* 1.00000=f(0.58000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe2e147, 0xae147aed}, /* 1.00000=f(0.59000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe33333, 0x3333333f}, /* 1.00000=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe3851e, 0xb851eb91}, /* 1.00000=f(0.61000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe3d70a, 0x3d70a3e3}, /* 1.00000=f(0.62000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe428f5, 0xc28f5c35}, /* 1.00000=f(0.63000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe47ae1, 0x47ae1487}, /* 1.00000=f(0.64000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe4cccc, 0xccccccd9}, /* 1.00000=f(0.65000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe51eb8, 0x51eb852b}, /* 1.00000=f(0.66000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe570a3, 0xd70a3d7d}, /* 1.00000=f(0.67000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe5c28f, 0x5c28f5cf}, /* 1.00000=f(0.68000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe6147a, 0xe147ae21}, /* 1.00000=f(0.69000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe66666, 0x66666673}, /* 1.00000=f(0.70000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe6b851, 0xeb851ec5}, /* 1.00000=f(0.71000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe70a3d, 0x70a3d717}, /* 1.00000=f(0.72000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe75c28, 0xf5c28f69}, /* 1.00000=f(0.73000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe7ae14, 0x7ae147bb}, /* 1.00000=f(0.74000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe80000, 0x0000000d}, /* 1.00000=f(0.75000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe851eb, 0x851eb85f}, /* 1.00000=f(0.76000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe8a3d7, 0x0a3d70b1}, /* 1.00000=f(0.77000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe8f5c2, 0x8f5c2903}, /* 1.00000=f(0.78000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe947ae, 0x147ae155}, /* 1.00000=f(0.79000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe99999, 0x999999a7}, /* 1.00000=f(0.80000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe9eb85, 0x1eb851f9}, /* 1.00000=f(0.81000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fea3d70, 0xa3d70a4b}, /* 1.00000=f(0.82000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fea8f5c, 0x28f5c29d}, /* 1.00000=f(0.83000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3feae147, 0xae147aef}, /* 1.00000=f(0.84000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3feb3333, 0x33333341}, /* 1.00000=f(0.85000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3feb851e, 0xb851eb93}, /* 1.00000=f(0.86000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3febd70a, 0x3d70a3e5}, /* 1.00000=f(0.87000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fec28f5, 0xc28f5c37}, /* 1.00000=f(0.88000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fec7ae1, 0x47ae1489}, /* 1.00000=f(0.89000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3feccccc, 0xccccccdb}, /* 1.00000=f(0.90000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fed1eb8, 0x51eb852d}, /* 1.00000=f(0.91000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fed70a3, 0xd70a3d7f}, /* 1.00000=f(0.92000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fedc28f, 0x5c28f5d1}, /* 1.00000=f(0.93000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fee147a, 0xe147ae23}, /* 1.00000=f(0.94000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fee6666, 0x66666675}, /* 1.00000=f(0.95000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3feeb851, 0xeb851ec7}, /* 1.00000=f(0.96000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fef0a3d, 0x70a3d719}, /* 1.00000=f(0.97000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fef5c28, 0xf5c28f6b}, /* 1.00000=f(0.98000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fefae14, 0x7ae147bd}, /* 1.00000=f(0.99000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff00000, 0x00000007}, /* 2.00000=f(1.00000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff028f5, 0xc28f5c30}, /* 2.00000=f(1.01000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff051eb, 0x851eb859}, /* 2.00000=f(1.02000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff07ae1, 0x47ae1482}, /* 2.00000=f(1.03000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff0a3d7, 0x0a3d70ab}, /* 2.00000=f(1.04000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff0cccc, 0xccccccd4}, /* 2.00000=f(1.05000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff0f5c2, 0x8f5c28fd}, /* 2.00000=f(1.06000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff11eb8, 0x51eb8526}, /* 2.00000=f(1.07000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff147ae, 0x147ae14f}, /* 2.00000=f(1.08000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff170a3, 0xd70a3d78}, /* 2.00000=f(1.09000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff19999, 0x999999a1}, /* 2.00000=f(1.10000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff1c28f, 0x5c28f5ca}, /* 2.00000=f(1.11000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff1eb85, 0x1eb851f3}, /* 2.00000=f(1.12000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff2147a, 0xe147ae1c}, /* 2.00000=f(1.13000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff23d70, 0xa3d70a45}, /* 2.00000=f(1.14000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff26666, 0x6666666e}, /* 2.00000=f(1.15000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff28f5c, 0x28f5c297}, /* 2.00000=f(1.16000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff2b851, 0xeb851ec0}, /* 2.00000=f(1.17000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff2e147, 0xae147ae9}, /* 2.00000=f(1.18000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff30a3d, 0x70a3d712}, /* 2.00000=f(1.19000)*/
+{64, 0,123,__LINE__, 0xc0180000, 0x00000000, 0xc01921fb, 0x54442d18}, /* -6.00000=f(-6.28318)*/
+{64, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* -4.00000=f(-4.71238)*/
+{64, 0,123,__LINE__, 0xc0080000, 0x00000000, 0xc00921fb, 0x54442d18}, /* -3.00000=f(-3.14159)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff921fb, 0x54442d18}, /* -1.00000=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff921fb, 0x54442d18}, /* 2.00000=f(1.57079)*/
+{64, 0,123,__LINE__, 0x40100000, 0x00000000, 0x400921fb, 0x54442d18}, /* 4.00000=f(3.14159)*/
+{64, 0,123,__LINE__, 0x40140000, 0x00000000, 0x4012d97c, 0x7f3321d2}, /* 5.00000=f(4.71238)*/
+{64, 0,123,__LINE__, 0xc03e0000, 0x00000000, 0xc03e0000, 0x00000000}, /* -30.0000=f(-30.0000)*/
+{64, 0,123,__LINE__, 0xc03c0000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* -28.0000=f(-28.3000)*/
+{64, 0,123,__LINE__, 0xc03a0000, 0x00000000, 0xc03a9999, 0x9999999a}, /* -26.0000=f(-26.6000)*/
+{64, 0,123,__LINE__, 0xc0380000, 0x00000000, 0xc038e666, 0x66666667}, /* -24.0000=f(-24.9000)*/
+{64, 0,123,__LINE__, 0xc0370000, 0x00000000, 0xc0373333, 0x33333334}, /* -23.0000=f(-23.2000)*/
+{64, 0,123,__LINE__, 0xc0350000, 0x00000000, 0xc0358000, 0x00000001}, /* -21.0000=f(-21.5000)*/
+{64, 0,123,__LINE__, 0xc0330000, 0x00000000, 0xc033cccc, 0xccccccce}, /* -19.0000=f(-19.8000)*/
+{64, 0,123,__LINE__, 0xc0320000, 0x00000000, 0xc0321999, 0x9999999b}, /* -18.0000=f(-18.1000)*/
+{64, 0,123,__LINE__, 0xc0300000, 0x00000000, 0xc0306666, 0x66666668}, /* -16.0000=f(-16.4000)*/
+{64, 0,123,__LINE__, 0xc02c0000, 0x00000000, 0xc02d6666, 0x6666666a}, /* -14.0000=f(-14.7000)*/
+{64, 0,123,__LINE__, 0xc02a0000, 0x00000000, 0xc02a0000, 0x00000004}, /* -13.0000=f(-13.0000)*/
+{64, 0,123,__LINE__, 0xc0260000, 0x00000000, 0xc0269999, 0x9999999e}, /* -11.0000=f(-11.3000)*/
+{64, 0,123,__LINE__, 0xc0220000, 0x00000000, 0xc0233333, 0x33333338}, /* -9.00000=f(-9.60000)*/
+{64, 0,123,__LINE__, 0xc01c0000, 0x00000000, 0xc01f9999, 0x999999a3}, /* -7.00000=f(-7.90000)*/
+{64, 0,123,__LINE__, 0xc0180000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* -6.00000=f(-6.20000)*/
+{64, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc0120000, 0x00000009}, /* -4.00000=f(-4.50000)*/
+{64, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xc0066666, 0x66666678}, /* -2.00000=f(-2.80000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff19999, 0x999999bd}, /* -1.00000=f(-1.10000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe33333, 0x333332ec}, /* 1.00000=f(0.60000)*/
+{64, 0,123,__LINE__, 0x40080000, 0x00000000, 0x40026666, 0x66666654}, /* 3.00000=f(2.30000)*/
+{64, 0,123,__LINE__, 0x40100000, 0x00000000, 0x400fffff, 0xffffffee}, /* 4.00000=f(4.00000)*/
+{64, 0,123,__LINE__, 0x40180000, 0x00000000, 0x4016cccc, 0xccccccc4}, /* 6.00000=f(5.70000)*/
+{64, 0,123,__LINE__, 0x40200000, 0x00000000, 0x401d9999, 0x99999991}, /* 8.00000=f(7.40000)*/
+{64, 0,123,__LINE__, 0x40240000, 0x00000000, 0x40223333, 0x3333332f}, /* 10.0000=f(9.10000)*/
+{64, 0,123,__LINE__, 0x40260000, 0x00000000, 0x40259999, 0x99999995}, /* 11.0000=f(10.8000)*/
+{64, 0,123,__LINE__, 0x402a0000, 0x00000000, 0x4028ffff, 0xfffffffb}, /* 13.0000=f(12.5000)*/
+{64, 0,123,__LINE__, 0x402e0000, 0x00000000, 0x402c6666, 0x66666661}, /* 15.0000=f(14.2000)*/
+{64, 0,123,__LINE__, 0x40300000, 0x00000000, 0x402fcccc, 0xccccccc7}, /* 16.0000=f(15.9000)*/
+{64, 0,123,__LINE__, 0x40320000, 0x00000000, 0x40319999, 0x99999997}, /* 18.0000=f(17.6000)*/
+{64, 0,123,__LINE__, 0x40340000, 0x00000000, 0x40334ccc, 0xccccccca}, /* 20.0000=f(19.3000)*/
+{64, 0,123,__LINE__, 0x40350000, 0x00000000, 0x4034ffff, 0xfffffffd}, /* 21.0000=f(21.0000)*/
+{64, 0,123,__LINE__, 0x40370000, 0x00000000, 0x4036b333, 0x33333330}, /* 23.0000=f(22.7000)*/
+{64, 0,123,__LINE__, 0x40390000, 0x00000000, 0x40386666, 0x66666663}, /* 25.0000=f(24.4000)*/
+{64, 0,123,__LINE__, 0x403b0000, 0x00000000, 0x403a1999, 0x99999996}, /* 27.0000=f(26.1000)*/
+{64, 0,123,__LINE__, 0x403c0000, 0x00000000, 0x403bcccc, 0xccccccc9}, /* 28.0000=f(27.8000)*/
+{64, 0,123,__LINE__, 0x403e0000, 0x00000000, 0x403d7fff, 0xfffffffc}, /* 30.0000=f(29.5000)*/
+0,};
+test_ceil(m) {run_vector_1(m,ceil_vec,(char *)(ceil),"ceil","dd"); }
diff --git a/newlib/libm/test/ceilf_vec.c b/newlib/libm/test/ceilf_vec.c
new file mode 100644
index 00000000000..2c86955cd1a
--- /dev/null
+++ b/newlib/libm/test/ceilf_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type ceilf_vec[] = {
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff33333, 0x33333333}, /* -1.00000=f(-1.20000)*/
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* -1.00000=f(-1.19000)*/
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* -1.00000=f(-1.18000)*/
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* -1.00000=f(-1.17000)*/
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* -1.00000=f(-1.16000)*/
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff26666, 0x66666666}, /* -1.00000=f(-1.15000)*/
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* -1.00000=f(-1.14000)*/
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* -1.00000=f(-1.13000)*/
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* -1.00000=f(-1.12000)*/
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* -1.00000=f(-1.11000)*/
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff19999, 0x99999999}, /* -1.00000=f(-1.10000)*/
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* -1.00000=f(-1.09000)*/
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff147ae, 0x147ae147}, /* -1.00000=f(-1.08000)*/
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* -1.00000=f(-1.07000)*/
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* -1.00000=f(-1.06000)*/
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* -1.00000=f(-1.05000)*/
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* -1.00000=f(-1.04000)*/
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* -1.00000=f(-1.03000)*/
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff051eb, 0x851eb851}, /* -1.00000=f(-1.02000)*/
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* -1.00000=f(-1.01000)*/
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfefffff, 0xfffffffe}, /* -1.00000=f(-0.01000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfefae14, 0x7ae147ac}, /* 0.00000=f(-0.99000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfef5c28, 0xf5c28f5a}, /* 0.00000=f(-0.98000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfef0a3d, 0x70a3d708}, /* 0.00000=f(-0.97000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfeeb851, 0xeb851eb6}, /* 0.00000=f(-0.96000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfee6666, 0x66666664}, /* 0.00000=f(-0.95000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfee147a, 0xe147ae12}, /* 0.00000=f(-0.94000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfedc28f, 0x5c28f5c0}, /* 0.00000=f(-0.93000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfed70a3, 0xd70a3d6e}, /* 0.00000=f(-0.92000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfed1eb8, 0x51eb851c}, /* 0.00000=f(-0.91000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfeccccc, 0xccccccca}, /* 0.00000=f(-0.90000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfec7ae1, 0x47ae1478}, /* 0.00000=f(-0.89000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfec28f5, 0xc28f5c26}, /* 0.00000=f(-0.88000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfebd70a, 0x3d70a3d4}, /* 0.00000=f(-0.87000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfeb851e, 0xb851eb82}, /* 0.00000=f(-0.86000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfeb3333, 0x33333330}, /* 0.00000=f(-0.85000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfeae147, 0xae147ade}, /* 0.00000=f(-0.84000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfea8f5c, 0x28f5c28c}, /* 0.00000=f(-0.83000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfea3d70, 0xa3d70a3a}, /* 0.00000=f(-0.82000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe9eb85, 0x1eb851e8}, /* 0.00000=f(-0.81000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe99999, 0x99999996}, /* 0.00000=f(-0.80000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe947ae, 0x147ae144}, /* 0.00000=f(-0.79000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe8f5c2, 0x8f5c28f2}, /* 0.00000=f(-0.78000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe8a3d7, 0x0a3d70a0}, /* 0.00000=f(-0.77000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe851eb, 0x851eb84e}, /* 0.00000=f(-0.76000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe7ffff, 0xfffffffc}, /* 0.00000=f(-0.75000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe7ae14, 0x7ae147aa}, /* 0.00000=f(-0.74000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe75c28, 0xf5c28f58}, /* 0.00000=f(-0.73000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe70a3d, 0x70a3d706}, /* 0.00000=f(-0.72000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe6b851, 0xeb851eb4}, /* 0.00000=f(-0.71000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe66666, 0x66666662}, /* 0.00000=f(-0.70000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe6147a, 0xe147ae10}, /* 0.00000=f(-0.69000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe5c28f, 0x5c28f5be}, /* 0.00000=f(-0.68000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe570a3, 0xd70a3d6c}, /* 0.00000=f(-0.67000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe51eb8, 0x51eb851a}, /* 0.00000=f(-0.66000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe4cccc, 0xccccccc8}, /* 0.00000=f(-0.65000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe47ae1, 0x47ae1476}, /* 0.00000=f(-0.64000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe428f5, 0xc28f5c24}, /* 0.00000=f(-0.63000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe3d70a, 0x3d70a3d2}, /* 0.00000=f(-0.62000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe3851e, 0xb851eb80}, /* 0.00000=f(-0.61000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe33333, 0x3333332e}, /* 0.00000=f(-0.60000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe2e147, 0xae147adc}, /* 0.00000=f(-0.59000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe28f5c, 0x28f5c28a}, /* 0.00000=f(-0.58000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe23d70, 0xa3d70a38}, /* 0.00000=f(-0.57000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe1eb85, 0x1eb851e6}, /* 0.00000=f(-0.56000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe19999, 0x99999994}, /* 0.00000=f(-0.55000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe147ae, 0x147ae142}, /* 0.00000=f(-0.54000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe0f5c2, 0x8f5c28f0}, /* 0.00000=f(-0.53000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe0a3d7, 0x0a3d709e}, /* 0.00000=f(-0.52000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfe051eb, 0x851eb84c}, /* 0.00000=f(-0.51000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfdfffff, 0xfffffff4}, /* 0.00000=f(-0.50000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfdf5c28, 0xf5c28f50}, /* 0.00000=f(-0.49000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfdeb851, 0xeb851eac}, /* 0.00000=f(-0.48000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfde147a, 0xe147ae08}, /* 0.00000=f(-0.47000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfdd70a3, 0xd70a3d64}, /* 0.00000=f(-0.46000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfdccccc, 0xccccccc0}, /* 0.00000=f(-0.45000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfdc28f5, 0xc28f5c1c}, /* 0.00000=f(-0.44000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfdb851e, 0xb851eb78}, /* 0.00000=f(-0.43000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfdae147, 0xae147ad4}, /* 0.00000=f(-0.42000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfda3d70, 0xa3d70a30}, /* 0.00000=f(-0.41000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd99999, 0x9999998c}, /* 0.00000=f(-0.40000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd8f5c2, 0x8f5c28e8}, /* 0.00000=f(-0.39000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd851eb, 0x851eb844}, /* 0.00000=f(-0.38000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd7ae14, 0x7ae147a0}, /* 0.00000=f(-0.37000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd70a3d, 0x70a3d6fc}, /* 0.00000=f(-0.36000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd66666, 0x66666658}, /* 0.00000=f(-0.35000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd5c28f, 0x5c28f5b4}, /* 0.00000=f(-0.34000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd51eb8, 0x51eb8510}, /* 0.00000=f(-0.33000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd47ae1, 0x47ae146c}, /* 0.00000=f(-0.32000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd3d70a, 0x3d70a3c8}, /* 0.00000=f(-0.31000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd33333, 0x33333324}, /* 0.00000=f(-0.30000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd28f5c, 0x28f5c280}, /* 0.00000=f(-0.29000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd1eb85, 0x1eb851dc}, /* 0.00000=f(-0.28000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd147ae, 0x147ae138}, /* 0.00000=f(-0.27000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfd0a3d7, 0x0a3d7094}, /* 0.00000=f(-0.26000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfcfffff, 0xffffffe0}, /* 0.00000=f(-0.25000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfceb851, 0xeb851e98}, /* 0.00000=f(-0.24000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfcd70a3, 0xd70a3d50}, /* 0.00000=f(-0.23000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfcc28f5, 0xc28f5c08}, /* 0.00000=f(-0.22000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfcae147, 0xae147ac0}, /* 0.00000=f(-0.21000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfc99999, 0x99999978}, /* 0.00000=f(-0.20000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfc851eb, 0x851eb830}, /* 0.00000=f(-0.19000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfc70a3d, 0x70a3d6e8}, /* 0.00000=f(-0.18000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfc5c28f, 0x5c28f5a0}, /* 0.00000=f(-0.17000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfc47ae1, 0x47ae1458}, /* 0.00000=f(-0.16000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfc33333, 0x33333310}, /* 0.00000=f(-0.15000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfc1eb85, 0x1eb851c8}, /* 0.00000=f(-0.14000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfc0a3d7, 0x0a3d7080}, /* 0.00000=f(-0.13000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfbeb851, 0xeb851e71}, /* 0.00000=f(-0.12000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfbc28f5, 0xc28f5be2}, /* 0.00000=f(-0.11000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfb99999, 0x99999953}, /* 0.00000=f(-0.00100)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfb70a3d, 0x70a3d6c4}, /* 0.00000=f(-0.09000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfb47ae1, 0x47ae1435}, /* 0.00000=f(-0.08000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfb1eb85, 0x1eb851a6}, /* 0.00000=f(-0.07000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfaeb851, 0xeb851e2d}, /* 0.00000=f(-0.06000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfa99999, 0x9999990e}, /* 0.00000=f(-0.05000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfa47ae1, 0x47ae13ef}, /* 0.00000=f(-0.04000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbf9eb851, 0xeb851da0}, /* 0.00000=f(-0.03000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbf947ae1, 0x47ae1362}, /* 0.00000=f(-0.02000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbf847ae1, 0x47ae1249}, /* 0.00000=f(-0.00010)*/
+{ 2, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3cd19000, 0x00000000}, /* 1.00000=f(9.74915e-16)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3f847ae1, 0x47ae16ad}, /* 1.00000=f(0.01000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3f947ae1, 0x47ae1594}, /* 1.00000=f(0.02000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3f9eb851, 0xeb851fd2}, /* 1.00000=f(0.03000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fa47ae1, 0x47ae1508}, /* 1.00000=f(0.04000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fa99999, 0x99999a27}, /* 1.00000=f(0.05000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3faeb851, 0xeb851f46}, /* 1.00000=f(0.06000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fb1eb85, 0x1eb85232}, /* 1.00000=f(0.07000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fb47ae1, 0x47ae14c1}, /* 1.00000=f(0.08000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fb70a3d, 0x70a3d750}, /* 1.00000=f(0.09000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fb99999, 0x999999df}, /* 1.00000=f(0.10000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fbc28f5, 0xc28f5c6e}, /* 1.00000=f(0.11000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fbeb851, 0xeb851efd}, /* 1.00000=f(0.12000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fc0a3d7, 0x0a3d70c6}, /* 1.00000=f(0.13000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fc1eb85, 0x1eb8520e}, /* 1.00000=f(0.14000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fc33333, 0x33333356}, /* 1.00000=f(0.15000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fc47ae1, 0x47ae149e}, /* 1.00000=f(0.16000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fc5c28f, 0x5c28f5e6}, /* 1.00000=f(0.17000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fc70a3d, 0x70a3d72e}, /* 1.00000=f(0.18000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fc851eb, 0x851eb876}, /* 1.00000=f(0.19000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fc99999, 0x999999be}, /* 1.00000=f(0.20000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fcae147, 0xae147b06}, /* 1.00000=f(0.21000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fcc28f5, 0xc28f5c4e}, /* 1.00000=f(0.22000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fcd70a3, 0xd70a3d96}, /* 1.00000=f(0.23000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fceb851, 0xeb851ede}, /* 1.00000=f(0.24000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd00000, 0x00000013}, /* 1.00000=f(0.25000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd0a3d7, 0x0a3d70b7}, /* 1.00000=f(0.26000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd147ae, 0x147ae15b}, /* 1.00000=f(0.27000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd1eb85, 0x1eb851ff}, /* 1.00000=f(0.28000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd28f5c, 0x28f5c2a3}, /* 1.00000=f(0.29000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd33333, 0x33333347}, /* 1.00000=f(0.30000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd3d70a, 0x3d70a3eb}, /* 1.00000=f(0.31000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd47ae1, 0x47ae148f}, /* 1.00000=f(0.32000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd51eb8, 0x51eb8533}, /* 1.00000=f(0.33000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd5c28f, 0x5c28f5d7}, /* 1.00000=f(0.34000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd66666, 0x6666667b}, /* 1.00000=f(0.35000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd70a3d, 0x70a3d71f}, /* 1.00000=f(0.36000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd7ae14, 0x7ae147c3}, /* 1.00000=f(0.37000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd851eb, 0x851eb867}, /* 1.00000=f(0.38000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd8f5c2, 0x8f5c290b}, /* 1.00000=f(0.39000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fd99999, 0x999999af}, /* 1.00000=f(0.40000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fda3d70, 0xa3d70a53}, /* 1.00000=f(0.41000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fdae147, 0xae147af7}, /* 1.00000=f(0.42000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fdb851e, 0xb851eb9b}, /* 1.00000=f(0.43000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fdc28f5, 0xc28f5c3f}, /* 1.00000=f(0.44000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fdccccc, 0xcccccce3}, /* 1.00000=f(0.45000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fdd70a3, 0xd70a3d87}, /* 1.00000=f(0.46000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fde147a, 0xe147ae2b}, /* 1.00000=f(0.47000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fdeb851, 0xeb851ecf}, /* 1.00000=f(0.48000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fdf5c28, 0xf5c28f73}, /* 1.00000=f(0.49000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe00000, 0x0000000b}, /* 1.00000=f(0.50000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe051eb, 0x851eb85d}, /* 1.00000=f(0.51000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe0a3d7, 0x0a3d70af}, /* 1.00000=f(0.52000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe0f5c2, 0x8f5c2901}, /* 1.00000=f(0.53000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe147ae, 0x147ae153}, /* 1.00000=f(0.54000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe19999, 0x999999a5}, /* 1.00000=f(0.55000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe1eb85, 0x1eb851f7}, /* 1.00000=f(0.56000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe23d70, 0xa3d70a49}, /* 1.00000=f(0.57000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe28f5c, 0x28f5c29b}, /* 1.00000=f(0.58000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe2e147, 0xae147aed}, /* 1.00000=f(0.59000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe33333, 0x3333333f}, /* 1.00000=f(0.60000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe3851e, 0xb851eb91}, /* 1.00000=f(0.61000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe3d70a, 0x3d70a3e3}, /* 1.00000=f(0.62000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe428f5, 0xc28f5c35}, /* 1.00000=f(0.63000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe47ae1, 0x47ae1487}, /* 1.00000=f(0.64000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe4cccc, 0xccccccd9}, /* 1.00000=f(0.65000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe51eb8, 0x51eb852b}, /* 1.00000=f(0.66000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe570a3, 0xd70a3d7d}, /* 1.00000=f(0.67000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe5c28f, 0x5c28f5cf}, /* 1.00000=f(0.68000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe6147a, 0xe147ae21}, /* 1.00000=f(0.69000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe66666, 0x66666673}, /* 1.00000=f(0.70000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe6b851, 0xeb851ec5}, /* 1.00000=f(0.71000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe70a3d, 0x70a3d717}, /* 1.00000=f(0.72000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe75c28, 0xf5c28f69}, /* 1.00000=f(0.73000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe7ae14, 0x7ae147bb}, /* 1.00000=f(0.74000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe80000, 0x0000000d}, /* 1.00000=f(0.75000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe851eb, 0x851eb85f}, /* 1.00000=f(0.76000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe8a3d7, 0x0a3d70b1}, /* 1.00000=f(0.77000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe8f5c2, 0x8f5c2903}, /* 1.00000=f(0.78000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe947ae, 0x147ae155}, /* 1.00000=f(0.79000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe99999, 0x999999a7}, /* 1.00000=f(0.80000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe9eb85, 0x1eb851f9}, /* 1.00000=f(0.81000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fea3d70, 0xa3d70a4b}, /* 1.00000=f(0.82000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fea8f5c, 0x28f5c29d}, /* 1.00000=f(0.83000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3feae147, 0xae147aef}, /* 1.00000=f(0.84000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3feb3333, 0x33333341}, /* 1.00000=f(0.85000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3feb851e, 0xb851eb93}, /* 1.00000=f(0.86000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3febd70a, 0x3d70a3e5}, /* 1.00000=f(0.87000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fec28f5, 0xc28f5c37}, /* 1.00000=f(0.88000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fec7ae1, 0x47ae1489}, /* 1.00000=f(0.89000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3feccccc, 0xccccccdb}, /* 1.00000=f(0.90000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fed1eb8, 0x51eb852d}, /* 1.00000=f(0.91000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fed70a3, 0xd70a3d7f}, /* 1.00000=f(0.92000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fedc28f, 0x5c28f5d1}, /* 1.00000=f(0.93000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fee147a, 0xe147ae23}, /* 1.00000=f(0.94000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fee6666, 0x66666675}, /* 1.00000=f(0.95000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3feeb851, 0xeb851ec7}, /* 1.00000=f(0.96000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fef0a3d, 0x70a3d719}, /* 1.00000=f(0.97000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fef5c28, 0xf5c28f6b}, /* 1.00000=f(0.98000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fefae14, 0x7ae147bd}, /* 1.00000=f(0.99000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff00000, 0x00000007}, /* 1.00000=f(1.00000)*/
+{ 1, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff028f5, 0xc28f5c30}, /* 2.00000=f(1.01000)*/
+{ 1, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff051eb, 0x851eb859}, /* 2.00000=f(1.02000)*/
+{ 1, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff07ae1, 0x47ae1482}, /* 2.00000=f(1.03000)*/
+{ 1, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff0a3d7, 0x0a3d70ab}, /* 2.00000=f(1.04000)*/
+{ 1, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff0cccc, 0xccccccd4}, /* 2.00000=f(1.05000)*/
+{ 1, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff0f5c2, 0x8f5c28fd}, /* 2.00000=f(1.06000)*/
+{ 1, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff11eb8, 0x51eb8526}, /* 2.00000=f(1.07000)*/
+{ 1, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff147ae, 0x147ae14f}, /* 2.00000=f(1.08000)*/
+{ 1, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff170a3, 0xd70a3d78}, /* 2.00000=f(1.09000)*/
+{ 1, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff19999, 0x999999a1}, /* 2.00000=f(1.10000)*/
+{ 1, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff1c28f, 0x5c28f5ca}, /* 2.00000=f(1.11000)*/
+{ 1, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff1eb85, 0x1eb851f3}, /* 2.00000=f(1.12000)*/
+{ 1, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff2147a, 0xe147ae1c}, /* 2.00000=f(1.13000)*/
+{ 1, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff23d70, 0xa3d70a45}, /* 2.00000=f(1.14000)*/
+{ 1, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff26666, 0x6666666e}, /* 2.00000=f(1.15000)*/
+{ 1, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff28f5c, 0x28f5c297}, /* 2.00000=f(1.16000)*/
+{ 1, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff2b851, 0xeb851ec0}, /* 2.00000=f(1.17000)*/
+{ 1, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff2e147, 0xae147ae9}, /* 2.00000=f(1.18000)*/
+{ 1, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff30a3d, 0x70a3d712}, /* 2.00000=f(1.19000)*/
+{15, 0,123,__LINE__, 0xc0180000, 0x00000000, 0xc01921fb, 0x54442d18}, /* -6.00000=f(-6.28318)*/
+{14, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* -4.00000=f(-4.71238)*/
+{15, 0,123,__LINE__, 0xc0080000, 0x00000000, 0xc00921fb, 0x54442d18}, /* -3.00000=f(-3.14159)*/
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff921fb, 0x54442d18}, /* -1.00000=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{ 1, 0,123,__LINE__, 0x40000000, 0x00000000, 0x3ff921fb, 0x54442d18}, /* 2.00000=f(1.57079)*/
+{11, 0,123,__LINE__, 0x40100000, 0x00000000, 0x400921fb, 0x54442d18}, /* 4.00000=f(3.14159)*/
+{13, 0,123,__LINE__, 0x40140000, 0x00000000, 0x4012d97c, 0x7f3321d2}, /* 5.00000=f(4.71238)*/
+{64, 0,123,__LINE__, 0xc03e0000, 0x00000000, 0xc03e0000, 0x00000000}, /* -30.0000=f(-30.0000)*/
+{17, 0,123,__LINE__, 0xc03c0000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* -28.0000=f(-28.3000)*/
+{16, 0,123,__LINE__, 0xc03a0000, 0x00000000, 0xc03a9999, 0x9999999a}, /* -26.0000=f(-26.6000)*/
+{16, 0,123,__LINE__, 0xc0380000, 0x00000000, 0xc038e666, 0x66666667}, /* -24.0000=f(-24.9000)*/
+{18, 0,123,__LINE__, 0xc0370000, 0x00000000, 0xc0373333, 0x33333334}, /* -23.0000=f(-23.2000)*/
+{16, 0,123,__LINE__, 0xc0350000, 0x00000000, 0xc0358000, 0x00000001}, /* -21.0000=f(-21.5000)*/
+{16, 0,123,__LINE__, 0xc0330000, 0x00000000, 0xc033cccc, 0xccccccce}, /* -19.0000=f(-19.8000)*/
+{19, 0,123,__LINE__, 0xc0320000, 0x00000000, 0xc0321999, 0x9999999b}, /* -18.0000=f(-18.1000)*/
+{17, 0,123,__LINE__, 0xc0300000, 0x00000000, 0xc0306666, 0x66666668}, /* -16.0000=f(-16.4000)*/
+{15, 0,123,__LINE__, 0xc02c0000, 0x00000000, 0xc02d6666, 0x6666666a}, /* -14.0000=f(-14.7000)*/
+{64, 0,123,__LINE__, 0xc02a0000, 0x00000000, 0xc02a0000, 0x00000004}, /* -13.0000=f(-13.0000)*/
+{16, 0,123,__LINE__, 0xc0260000, 0x00000000, 0xc0269999, 0x9999999e}, /* -11.0000=f(-11.3000)*/
+{15, 0,123,__LINE__, 0xc0220000, 0x00000000, 0xc0233333, 0x33333338}, /* -9.00000=f(-9.60000)*/
+{14, 0,123,__LINE__, 0xc01c0000, 0x00000000, 0xc01f9999, 0x999999a3}, /* -7.00000=f(-7.90000)*/
+{16, 0,123,__LINE__, 0xc0180000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* -6.00000=f(-6.20000)*/
+{14, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc0120000, 0x00000009}, /* -4.00000=f(-4.50000)*/
+{13, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xc0066666, 0x66666678}, /* -2.00000=f(-2.80000)*/
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbff19999, 0x999999bd}, /* -1.00000=f(-1.10000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3fe33333, 0x333332ec}, /* 1.00000=f(0.60000)*/
+{12, 0,123,__LINE__, 0x40080000, 0x00000000, 0x40026666, 0x66666654}, /* 3.00000=f(2.30000)*/
+{64, 0,123,__LINE__, 0x40100000, 0x00000000, 0x400fffff, 0xffffffee}, /* 4.00000=f(4.00000)*/
+{12, 0,123,__LINE__, 0x40180000, 0x00000000, 0x4016cccc, 0xccccccc4}, /* 6.00000=f(5.70000)*/
+{10, 0,123,__LINE__, 0x40200000, 0x00000000, 0x401d9999, 0x99999991}, /* 8.00000=f(7.40000)*/
+{13, 0,123,__LINE__, 0x40240000, 0x00000000, 0x40223333, 0x3333332f}, /* 10.0000=f(9.10000)*/
+{14, 0,123,__LINE__, 0x40260000, 0x00000000, 0x40259999, 0x99999995}, /* 11.0000=f(10.8000)*/
+{14, 0,123,__LINE__, 0x402a0000, 0x00000000, 0x4028ffff, 0xfffffffb}, /* 13.0000=f(12.5000)*/
+{14, 0,123,__LINE__, 0x402e0000, 0x00000000, 0x402c6666, 0x66666661}, /* 15.0000=f(14.2000)*/
+{11, 0,123,__LINE__, 0x40300000, 0x00000000, 0x402fcccc, 0xccccccc7}, /* 16.0000=f(15.9000)*/
+{14, 0,123,__LINE__, 0x40320000, 0x00000000, 0x40319999, 0x99999997}, /* 18.0000=f(17.6000)*/
+{13, 0,123,__LINE__, 0x40340000, 0x00000000, 0x40334ccc, 0xccccccca}, /* 20.0000=f(19.3000)*/
+{64, 0,123,__LINE__, 0x40350000, 0x00000000, 0x4034ffff, 0xfffffffd}, /* 21.0000=f(21.0000)*/
+{15, 0,123,__LINE__, 0x40370000, 0x00000000, 0x4036b333, 0x33333330}, /* 23.0000=f(22.7000)*/
+{15, 0,123,__LINE__, 0x40390000, 0x00000000, 0x40386666, 0x66666663}, /* 25.0000=f(24.4000)*/
+{15, 0,123,__LINE__, 0x403b0000, 0x00000000, 0x403a1999, 0x99999996}, /* 27.0000=f(26.1000)*/
+{13, 0,123,__LINE__, 0x403c0000, 0x00000000, 0x403bcccc, 0xccccccc9}, /* 28.0000=f(27.8000)*/
+{14, 0,123,__LINE__, 0x403e0000, 0x00000000, 0x403d7fff, 0xfffffffc}, /* 30.0000=f(29.5000)*/
+0,};
+test_ceilf(m) {run_vector_1(m,ceilf_vec,(char *)(ceilf),"ceilf","ff"); }
diff --git a/newlib/libm/test/conv_vec.c b/newlib/libm/test/conv_vec.c
new file mode 100644
index 00000000000..1190e1b0004
--- /dev/null
+++ b/newlib/libm/test/conv_vec.c
@@ -0,0 +1,3640 @@
+#include "test.h"
+
+double_type doubles[] =
+{
+__LINE__, " -211.8+", -2.1180000000e+02, 7,
+__LINE__, "-3267-45", -3.2670000000e+03, 5,
+__LINE__, "-45 .32", -4.5000000000e+01, 3,
+__LINE__, "-45-", -4.5000000000e+01, 3,
+__LINE__, "-45.", -4.5000000000e+01, 4,
+__LINE__, "-67e+32", -6.7000000000e+33, 7,
+__LINE__, "-67.32 ", -6.7320000000e+01, 6,
+__LINE__, " ", 0.0000000000e+00, 0,
+__LINE__, " +", 0.0000000000e+00, 0,
+__LINE__, " +-", 0.0000000000e+00, 0,
+__LINE__, " -e", 0.0000000000e+00, 0,
+__LINE__, " .", 0.0000000000e+00,0,
+__LINE__, " .- -32", 0.0000000000e+00,0,
+__LINE__, " e", 0.0000000000e+00, 0,
+__LINE__, " e+67", 0.0000000000e+00, 0,
+__LINE__, " e-45", 0.0000000000e+00, 0,
+__LINE__, " e-67.-", 0.0000000000e+00, 0,
+__LINE__, " e.+", 0.0000000000e+00, 0,
+__LINE__, "+ . ", 0.0000000000e+00, 0,
+__LINE__, "+ e-e-", 0.0000000000e+00, 0,
+__LINE__, "+", 0.0000000000e+00, 0,
+__LINE__, "++ 45ee", 0.0000000000e+00, 0,
+__LINE__, "++ e", 0.0000000000e+00, 0,
+__LINE__, "++", 0.0000000000e+00, 0,
+__LINE__, "++e32", 0.0000000000e+00, 0,
+__LINE__, "++ee+67", 0.0000000000e+00, 0,
+__LINE__, "+- ", 0.0000000000e+00, 0,
+__LINE__, "+---.", 0.0000000000e+00, 0,
+__LINE__, "+.", 0.0000000000e+00,0,
+__LINE__, "+..45", 0.0000000000e+00,0,
+__LINE__, "+.e67", 0.0000000000e+00,0,
+__LINE__, "+e", 0.0000000000e+00, 0,
+__LINE__, "+ee ", 0.0000000000e+00, 0,
+__LINE__, "+ee.++", 0.0000000000e+00, 0,
+__LINE__, "- ", 0.0000000000e+00, 0,
+__LINE__, "- 32.", 0.0000000000e+00, 0,
+__LINE__, "-", 0.0000000000e+00, 0,
+__LINE__, "-+-+--", 0.0000000000e+00, 0,
+__LINE__, "-+4545", 0.0000000000e+00, 0,
+__LINE__, "--", 0.0000000000e+00, 0,
+__LINE__, "--32e", 0.0000000000e+00, 0,
+__LINE__, "--45+e45", 0.0000000000e+00, 0,
+__LINE__, "-. ", 0.0000000000e+00,0,
+__LINE__, "-. ", 0.0000000000e+00,0,
+__LINE__, "-.", 0.0000000000e+00,0,
+__LINE__, "-.--", 0.0000000000e+00,0,
+__LINE__, "-e ", 0.0000000000e+00, 0,
+__LINE__, "-e", 0.0000000000e+00, 0,
+__LINE__, "-e+", 0.0000000000e+00, 0,
+__LINE__, "-e.- ", 0.0000000000e+00, 0,
+__LINE__, ". 45-", 0.0000000000e+00,0,
+__LINE__, ". e-32", 0.0000000000e+00,0,
+__LINE__, ".", 0.0000000000e+00,0,
+__LINE__, ".+ 32", 0.0000000000e+00,0,
+__LINE__, ".++", 0.0000000000e+00,0,
+__LINE__, ".+.ee", 0.0000000000e+00,0,
+__LINE__, ".+e", 0.0000000000e+00,0,
+__LINE__, ".- 67e", 0.0000000000e+00,0,
+__LINE__, "..", 0.0000000000e+00,0,
+__LINE__, "..45673267", 0.0000000000e+00,0,
+__LINE__, "..6767", 0.0000000000e+00,0,
+__LINE__, ".e45 32", 0.0000000000e+00,0,
+__LINE__, ".e67 ", 0.0000000000e+00,0,
+__LINE__, ".e67.32-", 0.0000000000e+00,0,
+__LINE__, ".ee.", 0.0000000000e+00,0,
+__LINE__, "e 45e", 0.0000000000e+00, 0,
+__LINE__, "e +", 0.0000000000e+00, 0,
+__LINE__, "e 3245-", 0.0000000000e+00, 0,
+__LINE__, "e", 0.0000000000e+00, 0,
+__LINE__, "e+45", 0.0000000000e+00, 0,
+__LINE__, "e+45--", 0.0000000000e+00, 0,
+__LINE__, "e-6745.", 0.0000000000e+00, 0,
+__LINE__, "e-e", 0.0000000000e+00, 0,
+
+__LINE__, "e. ", 0.0000000000e+00, 0,
+__LINE__, "e.+", 0.0000000000e+00, 0,
+__LINE__, "e.-.-", 0.0000000000e+00, 0,
+__LINE__, "e32", 0.0000000000e+00, 0,
+__LINE__, "e32.e", 0.0000000000e+00, 0,
+__LINE__, "e45 45.67", 0.0000000000e+00, 0,
+__LINE__, "e45", 0.0000000000e+00, 0,
+__LINE__, "e45+.6767", 0.0000000000e+00, 0,
+__LINE__, "e45.67+32", 0.0000000000e+00, 0,
+__LINE__, "e45ee+-", 0.0000000000e+00, 0,
+__LINE__, "e67", 0.0000000000e+00, 0,
+__LINE__, "e6745+ ", 0.0000000000e+00, 0,
+__LINE__, "e6745e", 0.0000000000e+00, 0,
+__LINE__, "e67e-e ", 0.0000000000e+00, 0,
+__LINE__, "ee +", 0.0000000000e+00, 0,
+__LINE__, " 32.", 3.2000000000e+01, 5,
+__LINE__, " +32", 3.2000000000e+01, 4,
+__LINE__, "+32+", 3.2000000000e+01, 3,
+__LINE__, "+32+++", 3.2000000000e+01, 3,
+__LINE__, "32 32", 3.2000000000e+01, 2,
+__LINE__, "32 . . ", 3.2000000000e+01, 2,
+__LINE__, "32 45.", 3.2000000000e+01, 2,
+__LINE__, "32", 3.2000000000e+01, 2,
+__LINE__, "32+", 3.2000000000e+01, 2,
+__LINE__, "32++.67-", 3.2000000000e+01, 2,
+__LINE__, "32+.3267+", 3.2000000000e+01, 2,
+__LINE__, "32+45e32 ", 3.2000000000e+01, 2,
+__LINE__, "32+e67", 3.2000000000e+01, 2,
+__LINE__, "32- +6732", 3.2000000000e+01, 2,
+__LINE__, "32- -", 3.2000000000e+01, 2,
+__LINE__, "32-+-+32", 3.2000000000e+01, 2,
+__LINE__, "32-+32", 3.2000000000e+01, 2,
+__LINE__, "32--32.67", 3.2000000000e+01, 2,
+__LINE__, "32--67", 3.2000000000e+01, 2,
+__LINE__, "32..4545", 3.2000000000e+01, 3,
+__LINE__, "32.e", 3.2000000000e+01, 3,
+__LINE__, ".32 .32", 3.2000000000e-01, 3,
+__LINE__, ".32.", 3.2000000000e-01, 3,
+__LINE__, "3232 e", 3.2320000000e+03, 4,
+__LINE__, "3232", 3.2320000000e+03, 4,
+__LINE__, "323232+.45", 3.2323200000e+05, 6,
+__LINE__, "32.45", 3.2450000000e+01, 5,
+__LINE__, "32.45--", 3.2450000000e+01, 5,
+__LINE__, "324532", 3.2453200000e+05, 6,
+__LINE__, "324567-45", 3.2456700000e+05, 6,
+__LINE__, " 3267+45", 3.2670000000e+03, 5,
+__LINE__, "3267-", 3.2670000000e+03, 4,
+__LINE__, " 45", 4.5000000000e+01, 3,
+__LINE__, "45 67e", 4.5000000000e+01, 2,
+__LINE__, "45 45 45", 4.5000000000e+01, 2,
+__LINE__, "45 45", 4.5000000000e+01, 2,
+__LINE__, "45 e+32", 4.5000000000e+01, 2,
+__LINE__, "45", 4.5000000000e+01, 2,
+__LINE__, "45+ .32", 4.5000000000e+01, 2,
+__LINE__, "45+.4545", 4.5000000000e+01, 2,
+__LINE__, "45- -67.", 4.5000000000e+01, 2,
+__LINE__, "45- 32", 4.5000000000e+01, 2,
+__LINE__, "45-", 4.5000000000e+01, 2,
+__LINE__, "45-.+", 4.5000000000e+01, 2,
+__LINE__, "45-.+..", 4.5000000000e+01, 2,
+__LINE__, "45e", 4.5000000000e+01, 2,
+__LINE__, "45e32", 4.5000000000e+33, 5,
+__LINE__, "4532", 4.5320000000e+03, 4,
+__LINE__, "+4545--", 4.5450000000e+03, 5,
+__LINE__, "4545", 4.5450000000e+03, 4,
+__LINE__, "4545-+", 4.5450000000e+03, 4,
+__LINE__, "45.45", 4.5450000000e+01, 5,
+__LINE__, "454532+.45", 4.5453200000e+05, 6,
+__LINE__, "45454567324", 4.5454567324e+10, 11,
+__LINE__, "45456767", 4.5456767000e+07, 8,
+__LINE__, "+4567", 4.5670000000e+03, 5,
+__LINE__, "4567", 4.5670000000e+03, 4,
+__LINE__, " +456732", 4.5673200000e+05, 8,
+__LINE__, "456732e", 4.5673200000e+05, 6,
+__LINE__, "456767.", 4.5676700000e+05, 7,
+__LINE__, " 67. 45", 6.7000000000e+01, 5,
+__LINE__, " +67-45", 6.7000000000e+01, 4,
+__LINE__, " 67 ", 6.7000000000e+01, 3,
+__LINE__, " 67e -", 6.7000000000e+01, 3,
+__LINE__, "+67+", 6.7000000000e+01, 3,
+__LINE__, "+67+4567", 6.7000000000e+01, 3,
+__LINE__, "+67-", 6.7000000000e+01, 3,
+__LINE__, "67 -", 6.7000000000e+01, 2,
+__LINE__, "67 32", 6.7000000000e+01, 2,
+__LINE__, "67 6745", 6.7000000000e+01, 2,
+__LINE__, "67", 6.7000000000e+01, 2,
+__LINE__, "67+", 6.7000000000e+01, 2,
+__LINE__, "67+-3267", 6.7000000000e+01, 2,
+__LINE__, "67+3232 .", 6.7000000000e+01, 2,
+__LINE__, "67-", 6.7000000000e+01, 2,
+__LINE__, "67-32e45 ", 6.7000000000e+01, 2,
+__LINE__, "67e ", 6.7000000000e+01, 2,
+__LINE__, "67ee", 6.7000000000e+01, 2,
+__LINE__, ".67", 6.7000000000e-01, 3,
+__LINE__, "6732", 6.7320000000e+03, 4,
+__LINE__, "6732e32", 6.7320000000e+35, 7,
+__LINE__, "+673267-", 6.7326700000e+05, 7,
+__LINE__, "67326767", 6.7326767000e+07, 8,
+__LINE__, "6745+e67", 6.7450000000e+03, 4,
+__LINE__, "6745..e", 6.7450000000e+03, 5,
+__LINE__, "6745ee", 6.7450000000e+03, 4,
+__LINE__, "+6767", 6.7670000000e+03, 5,
+__LINE__, "6767", 6.7670000000e+03, 4,
+__LINE__, "676767+", 6.7676700000e+05, 6,
+__LINE__, " -01", -1.0000000000e+00, 4,
+__LINE__, " -1", -1.0000000000e+00, 3,
+__LINE__, "-01", -1.0000000000e+00, 3,
+__LINE__, "-1", -1.0000000000e+00, 2,
+__LINE__, " -.1", -1.0000000000e-01, 4,
+__LINE__, " -0.1", -1.0000000000e-01, 5,
+__LINE__, "-.1", -1.0000000000e-01, 3,
+__LINE__, "-0.1", -1.0000000000e-01, 4,
+__LINE__, " -01241e-1", -1.2410000000e+02, 10,
+__LINE__, " -1241e-1", -1.2410000000e+02, 9,
+__LINE__, "-01241e-1", -1.2410000000e+02, 9,
+__LINE__, "-1241e-1", -1.2410000000e+02, 8,
+__LINE__, " -.1241e-1", -1.2410000000e-02, 10,
+__LINE__, " -0.1241e-1", -1.2410000000e-02, 11,
+__LINE__, "-.1241e-1", -1.2410000000e-02, 9,
+__LINE__, "-0.1241e-1", -1.2410000000e-02, 10,
+__LINE__, " -01241e-20", -1.2410000000e-17, 11,
+__LINE__, " -1241e-20", -1.2410000000e-17, 10,
+__LINE__, "-01241e-20", -1.2410000000e-17, 10,
+__LINE__, "-1241e-20", -1.2410000000e-17, 9,
+__LINE__, " -.1241e+1", -1.2410000000e+00, 10,
+__LINE__, " -.1241e1", -1.2410000000e+00, 9,
+__LINE__, " -0.1241e+1", -1.2410000000e+00, 11,
+__LINE__, " -0.1241e1", -1.2410000000e+00, 10,
+__LINE__, "-.1241e+1", -1.2410000000e+00, 9,
+__LINE__, "-.1241e1", -1.2410000000e+00, 8,
+__LINE__, "-0.1241e+1", -1.2410000000e+00, 10,
+__LINE__, "-0.1241e1", -1.2410000000e+00, 9,
+__LINE__, " -01241", -1.2410000000e+03, 7,
+__LINE__, " -01241+", -1.2410000000e+03, 7,
+__LINE__, " -01241+1", -1.2410000000e+03, 7,
+__LINE__, " -01241+20", -1.2410000000e+03, 7,
+__LINE__, " -01241-", -1.2410000000e+03, 7,
+__LINE__, " -01241-1", -1.2410000000e+03, 7,
+__LINE__, " -01241-20", -1.2410000000e+03, 7,
+__LINE__, " -01241e", -1.2410000000e+03, 7,
+__LINE__, " -01241e+", -1.2410000000e+03, 7,
+__LINE__, " -01241e-", -1.2410000000e+03, 7,
+__LINE__, " -1241", -1.2410000000e+03, 6,
+__LINE__, " -1241+", -1.2410000000e+03, 6,
+__LINE__, " -1241+1", -1.2410000000e+03, 6,
+__LINE__, " -1241+20", -1.2410000000e+03, 6,
+__LINE__, " -1241-", -1.2410000000e+03, 6,
+__LINE__, " -1241-1", -1.2410000000e+03, 6,
+__LINE__, " -1241-20", -1.2410000000e+03, 6,
+__LINE__, " -1241e", -1.2410000000e+03, 6,
+__LINE__, " -1241e+", -1.2410000000e+03, 6,
+__LINE__, " -1241e-", -1.2410000000e+03, 6,
+__LINE__, "-01241", -1.2410000000e+03, 6,
+__LINE__, "-01241+", -1.2410000000e+03, 6,
+__LINE__, "-01241+1", -1.2410000000e+03, 6,
+__LINE__, "-01241+20", -1.2410000000e+03, 6,
+__LINE__, "-01241-", -1.2410000000e+03, 6,
+__LINE__, "-01241-1", -1.2410000000e+03, 6,
+__LINE__, "-01241-20", -1.2410000000e+03, 6,
+__LINE__, "-01241e", -1.2410000000e+03, 6,
+__LINE__, "-01241e+", -1.2410000000e+03, 6,
+__LINE__, "-01241e-", -1.2410000000e+03, 6,
+__LINE__, "-1241", -1.2410000000e+03, 5,
+__LINE__, "-1241+", -1.2410000000e+03, 5,
+__LINE__, "-1241+1", -1.2410000000e+03, 5,
+__LINE__, "-1241+20", -1.2410000000e+03, 5,
+__LINE__, "-1241-", -1.2410000000e+03, 5,
+__LINE__, "-1241-1", -1.2410000000e+03, 5,
+__LINE__, "-1241-20", -1.2410000000e+03, 5,
+__LINE__, "-1241e", -1.2410000000e+03, 5,
+__LINE__, "-1241e+", -1.2410000000e+03, 5,
+__LINE__, "-1241e-", -1.2410000000e+03, 5,
+__LINE__, " -01241e+1", -1.2410000000e+04, 10,
+__LINE__, " -01241e1", -1.2410000000e+04, 9,
+__LINE__, " -1241e+1", -1.2410000000e+04, 9,
+__LINE__, " -1241e1", -1.2410000000e+04, 8,
+__LINE__, "-01241e+1", -1.2410000000e+04, 9,
+__LINE__, "-01241e1", -1.2410000000e+04, 8,
+__LINE__, "-1241e+1", -1.2410000000e+04, 8,
+__LINE__, "-1241e1", -1.2410000000e+04, 7,
+__LINE__, " -.1241e+20", -1.2410000000e+19, 11,
+__LINE__, " -.1241e20", -1.2410000000e+19, 10,
+__LINE__, " -0.1241e+20", -1.2410000000e+19, 12,
+__LINE__, " -0.1241e20", -1.2410000000e+19, 11,
+__LINE__, "-.1241e+20", -1.2410000000e+19, 10,
+__LINE__, "-.1241e20", -1.2410000000e+19, 9,
+__LINE__, "-0.1241e+20", -1.2410000000e+19, 11,
+__LINE__, "-0.1241e20", -1.2410000000e+19, 10,
+__LINE__, " -01241e+20", -1.2410000000e+23, 11,
+__LINE__, " -01241e20", -1.2410000000e+23, 10,
+__LINE__, " -1241e+20", -1.2410000000e+23, 10,
+__LINE__, " -1241e20", -1.2410000000e+23, 9,
+__LINE__, "-01241e+20", -1.2410000000e+23, 10,
+__LINE__, "-01241e20", -1.2410000000e+23, 9,
+__LINE__, "-1241e+20", -1.2410000000e+23, 9,
+__LINE__, "-1241e20", -1.2410000000e+23, 8,
+__LINE__, " -.1241", -1.2410000000e-01, 7,
+__LINE__, " -.1241+", -1.2410000000e-01, 7,
+__LINE__, " -.1241+1", -1.2410000000e-01, 7,
+__LINE__, " -.1241+20", -1.2410000000e-01, 7,
+__LINE__, " -.1241-", -1.2410000000e-01, 7,
+__LINE__, " -.1241-1", -1.2410000000e-01, 7,
+__LINE__, " -.1241-20", -1.2410000000e-01, 7,
+
+__LINE__, " -.1241e", -1.2410000000e-01, 7,
+__LINE__, " -.1241e+", -1.2410000000e-01, 7,
+__LINE__, " -.1241e-", -1.2410000000e-01, 7,
+__LINE__, " -0.1241", -1.2410000000e-01, 8,
+__LINE__, " -0.1241+", -1.2410000000e-01, 8,
+__LINE__, " -0.1241+1", -1.2410000000e-01, 8,
+__LINE__, " -0.1241+20", -1.2410000000e-01, 8,
+__LINE__, " -0.1241-", -1.2410000000e-01, 8,
+__LINE__, " -0.1241-1", -1.2410000000e-01, 8,
+__LINE__, " -0.1241-20", -1.2410000000e-01, 8,
+__LINE__, " -0.1241e", -1.2410000000e-01, 8,
+__LINE__, " -0.1241e+", -1.2410000000e-01, 8,
+__LINE__, " -0.1241e-", -1.2410000000e-01, 8,
+__LINE__, "-.1241", -1.2410000000e-01, 6,
+__LINE__, "-.1241+", -1.2410000000e-01, 6,
+__LINE__, "-.1241+1", -1.2410000000e-01, 6,
+__LINE__, "-.1241+20", -1.2410000000e-01, 6,
+__LINE__, "-.1241-", -1.2410000000e-01, 6,
+__LINE__, "-.1241-1", -1.2410000000e-01, 6,
+__LINE__, "-.1241-20", -1.2410000000e-01, 6,
+__LINE__, "-.1241e", -1.2410000000e-01, 6,
+__LINE__, "-.1241e+", -1.2410000000e-01, 6,
+__LINE__, "-.1241e-", -1.2410000000e-01, 6,
+__LINE__, "-0.1241", -1.2410000000e-01, 7,
+__LINE__, "-0.1241+", -1.2410000000e-01, 7,
+__LINE__, "-0.1241+1", -1.2410000000e-01, 7,
+__LINE__, "-0.1241+20", -1.2410000000e-01, 7,
+__LINE__, "-0.1241-", -1.2410000000e-01, 7,
+__LINE__, "-0.1241-1", -1.2410000000e-01, 7,
+__LINE__, "-0.1241-20", -1.2410000000e-01, 7,
+__LINE__, "-0.1241e", -1.2410000000e-01, 7,
+__LINE__, "-0.1241e+", -1.2410000000e-01, 7,
+__LINE__, "-0.1241e-", -1.2410000000e-01, 7,
+__LINE__, " -.1241e-20", -1.2410000000e-21, 11,
+__LINE__, " -0.1241e-20", -1.2410000000e-21, 12,
+__LINE__, "-.1241e-20", -1.2410000000e-21, 10,
+__LINE__, "-0.1241e-20", -1.2410000000e-21, 11,
+__LINE__, " -.12411", -1.2411000000e-01, 8,
+__LINE__, " -0.12411", -1.2411000000e-01, 9,
+__LINE__, "-.12411", -1.2411000000e-01, 7,
+__LINE__, "-0.12411", -1.2411000000e-01, 8,
+__LINE__, " -012411", -1.2411000000e+04, 8,
+__LINE__, " -12411", -1.2411000000e+04, 7,
+__LINE__, "-012411", -1.2411000000e+04, 7,
+__LINE__, "-12411", -1.2411000000e+04, 6,
+__LINE__, " -.124120", -1.2412000000e-01, 9,
+__LINE__, " -0.124120", -1.2412000000e-01, 10,
+__LINE__, "-.124120", -1.2412000000e-01, 8,
+__LINE__, "-0.124120", -1.2412000000e-01, 9,
+__LINE__, " -0124120", -1.2412000000e+05, 9,
+__LINE__, " -124120", -1.2412000000e+05, 8,
+__LINE__, "-0124120", -1.2412000000e+05, 8,
+__LINE__, "-124120", -1.2412000000e+05, 7,
+__LINE__, " -020", -2.0000000000e+01, 5,
+__LINE__, " -20", -2.0000000000e+01, 4,
+__LINE__, "-020", -2.0000000000e+01, 4,
+__LINE__, "-20", -2.0000000000e+01, 3,
+__LINE__, " -.20", -2.0000000000e-01, 5,
+__LINE__, " -0.20", -2.0000000000e-01, 6,
+__LINE__, "-.20", -2.0000000000e-01, 4,
+__LINE__, "-0.20", -2.0000000000e-01, 5,
+__LINE__, " -211", -2.1100000000e+02, 5,
+__LINE__, " -211+", -2.1100000000e+02, 5,
+__LINE__, " -211+1", -2.1100000000e+02, 5,
+__LINE__, " -211+20", -2.1100000000e+02, 5,
+__LINE__, " -211-", -2.1100000000e+02, 5,
+__LINE__, " -211-1", -2.1100000000e+02, 5,
+__LINE__, " -211-20", -2.1100000000e+02, 5,
+__LINE__, " -211.", -2.1100000000e+02, 6,
+__LINE__, " -211.+", -2.1100000000e+02, 6,
+__LINE__, " -211.+1", -2.1100000000e+02, 6,
+__LINE__, " -211.+20", -2.1100000000e+02, 6,
+__LINE__, " -211.-", -2.1100000000e+02, 6,
+__LINE__, " -211.-1", -2.1100000000e+02, 6,
+__LINE__, " -211.-20", -2.1100000000e+02, 6,
+__LINE__, " -211.e", -2.1100000000e+02, 6,
+__LINE__, " -211.e+", -2.1100000000e+02, 6,
+__LINE__, " -211.e-", -2.1100000000e+02, 6,
+__LINE__, " -211e", -2.1100000000e+02, 5,
+__LINE__, " -211e+", -2.1100000000e+02, 5,
+__LINE__, " -211e-", -2.1100000000e+02, 5,
+__LINE__, "-211", -2.1100000000e+02, 4,
+__LINE__, "-211+", -2.1100000000e+02, 4,
+__LINE__, "-211+1", -2.1100000000e+02, 4,
+__LINE__, "-211+20", -2.1100000000e+02, 4,
+__LINE__, "-211-", -2.1100000000e+02, 4,
+__LINE__, "-211-1", -2.1100000000e+02, 4,
+__LINE__, "-211-20", -2.1100000000e+02, 4,
+__LINE__, "-211.", -2.1100000000e+02, 5,
+__LINE__, "-211.+", -2.1100000000e+02, 5,
+__LINE__, "-211.+1", -2.1100000000e+02, 5,
+__LINE__, "-211.+20", -2.1100000000e+02, 5,
+__LINE__, "-211.-", -2.1100000000e+02, 5,
+__LINE__, "-211.-1", -2.1100000000e+02, 5,
+__LINE__, "-211.-20", -2.1100000000e+02, 5,
+__LINE__, "-211.e", -2.1100000000e+02, 5,
+__LINE__, "-211.e+", -2.1100000000e+02, 5,
+__LINE__, "-211.e-", -2.1100000000e+02, 5,
+__LINE__, "-211e", -2.1100000000e+02, 4,
+__LINE__, "-211e+", -2.1100000000e+02, 4,
+__LINE__, "-211e-", -2.1100000000e+02, 4,
+__LINE__, " -211.e+20", -2.1100000000e+22, 10,
+__LINE__, " -211.e20", -2.1100000000e+22, 9,
+__LINE__, " -211e+20", -2.1100000000e+22, 9,
+__LINE__, " -211e20", -2.1100000000e+22, 8,
+__LINE__, "-211.e+20", -2.1100000000e+22, 9,
+__LINE__, "-211.e20", -2.1100000000e+22, 8,
+__LINE__, "-211e+20", -2.1100000000e+22, 8,
+__LINE__, "-211e20", -2.1100000000e+22, 7,
+__LINE__, " -211.e-1", -2.1100000000e+01, 9,
+__LINE__, " -211e-1", -2.1100000000e+01, 8,
+__LINE__, "-211.e-1", -2.1100000000e+01, 8,
+__LINE__, "-211e-1", -2.1100000000e+01, 7,
+__LINE__, " -211.e+1", -2.1100000000e+03, 9,
+__LINE__, " -211.e1", -2.1100000000e+03, 8,
+__LINE__, " -211e+1", -2.1100000000e+03, 8,
+__LINE__, " -211e1", -2.1100000000e+03, 7,
+__LINE__, "-211.e+1", -2.1100000000e+03, 8,
+__LINE__, "-211.e1", -2.1100000000e+03, 7,
+__LINE__, "-211e+1", -2.1100000000e+03, 7,
+__LINE__, "-211e1", -2.1100000000e+03, 6,
+__LINE__, " -211.e-20", -2.1100000000e-18, 10,
+__LINE__, " -211e-20", -2.1100000000e-18, 9,
+__LINE__, "-211.e-20", -2.1100000000e-18, 9,
+__LINE__, "-211e-20", -2.1100000000e-18, 8,
+__LINE__, " -211.1", -2.1110000000e+02, 7,
+__LINE__, "-211.1", -2.1110000000e+02, 6,
+__LINE__, " -2111", -2.1110000000e+03, 6,
+__LINE__, "-2111", -2.1110000000e+03, 5,
+__LINE__, " -2111241e-20", -2.1112410000e-14, 13,
+__LINE__, "-2111241e-20", -2.1112410000e-14, 12,
+__LINE__, " -211.1241e-1", -2.1112410000e+01, 13,
+__LINE__, "-211.1241e-1", -2.1112410000e+01, 12,
+__LINE__, " -211.1241", -2.1112410000e+02, 10,
+__LINE__, " -211.1241+", -2.1112410000e+02, 10,
+__LINE__, " -211.1241+1", -2.1112410000e+02, 10,
+__LINE__, " -211.1241+20", -2.1112410000e+02, 10,
+__LINE__, " -211.1241-", -2.1112410000e+02, 10,
+__LINE__, " -211.1241-1", -2.1112410000e+02, 10,
+__LINE__, " -211.1241-20", -2.1112410000e+02, 10,
+__LINE__, " -211.1241e", -2.1112410000e+02, 10,
+__LINE__, " -211.1241e+", -2.1112410000e+02, 10,
+__LINE__, " -211.1241e-", -2.1112410000e+02, 10,
+__LINE__, "-211.1241", -2.1112410000e+02, 9,
+__LINE__, "-211.1241+", -2.1112410000e+02, 9,
+__LINE__, "-211.1241+1", -2.1112410000e+02, 9,
+__LINE__, "-211.1241+20", -2.1112410000e+02, 9,
+__LINE__, "-211.1241-", -2.1112410000e+02, 9,
+__LINE__, "-211.1241-1", -2.1112410000e+02, 9,
+__LINE__, "-211.1241-20", -2.1112410000e+02, 9,
+__LINE__, "-211.1241e", -2.1112410000e+02, 9,
+__LINE__, "-211.1241e+", -2.1112410000e+02, 9,
+__LINE__, "-211.1241e-", -2.1112410000e+02, 9,
+__LINE__, " -211.1241e+1", -2.1112410000e+03, 13,
+__LINE__, " -211.1241e1", -2.1112410000e+03, 12,
+__LINE__, "-211.1241e+1", -2.1112410000e+03, 12,
+__LINE__, "-211.1241e1", -2.1112410000e+03, 11,
+__LINE__, " -2111241e-1", -2.1112410000e+05, 12,
+__LINE__, "-2111241e-1", -2.1112410000e+05, 11,
+__LINE__, " -2111241", -2.1112410000e+06, 9,
+__LINE__, " -2111241+", -2.1112410000e+06, 9,
+__LINE__, " -2111241+1", -2.1112410000e+06, 9,
+__LINE__, " -2111241+20", -2.1112410000e+06, 9,
+__LINE__, " -2111241-", -2.1112410000e+06, 9,
+__LINE__, " -2111241-1", -2.1112410000e+06, 9,
+__LINE__, " -2111241-20", -2.1112410000e+06, 9,
+__LINE__, " -2111241e", -2.1112410000e+06, 9,
+__LINE__, " -2111241e+", -2.1112410000e+06, 9,
+__LINE__, " -2111241e-", -2.1112410000e+06, 9,
+__LINE__, "-2111241", -2.1112410000e+06, 8,
+__LINE__, "-2111241+", -2.1112410000e+06, 8,
+__LINE__, "-2111241+1", -2.1112410000e+06, 8,
+__LINE__, "-2111241+20", -2.1112410000e+06, 8,
+__LINE__, "-2111241-", -2.1112410000e+06, 8,
+__LINE__, "-2111241-1", -2.1112410000e+06, 8,
+__LINE__, "-2111241-20", -2.1112410000e+06, 8,
+__LINE__, "-2111241e", -2.1112410000e+06, 8,
+__LINE__, "-2111241e+", -2.1112410000e+06, 8,
+__LINE__, "-2111241e-", -2.1112410000e+06, 8,
+__LINE__, " -2111241e+1", -2.1112410000e+07, 12,
+__LINE__, " -2111241e1", -2.1112410000e+07, 11,
+__LINE__, "-2111241e+1", -2.1112410000e+07, 11,
+__LINE__, "-2111241e1", -2.1112410000e+07, 10,
+__LINE__, " -211.1241e+20", -2.1112410000e+22, 14,
+__LINE__, " -211.1241e20", -2.1112410000e+22, 13,
+__LINE__, "-211.1241e+20", -2.1112410000e+22, 13,
+__LINE__, "-211.1241e20", -2.1112410000e+22, 12,
+__LINE__, " -2111241e+20", -2.1112410000e+26, 13,
+__LINE__, " -2111241e20", -2.1112410000e+26, 12,
+__LINE__, "-2111241e+20", -2.1112410000e+26, 12,
+__LINE__, "-2111241e20", -2.1112410000e+26, 11,
+__LINE__, " -211.1241e-20", -2.1112410000e-18, 14,
+__LINE__, "-211.1241e-20", -2.1112410000e-18, 13,
+__LINE__, " -211.12411", -2.1112411000e+02, 11,
+__LINE__, "-211.12411", -2.1112411000e+02, 10,
+__LINE__, " -21112411", -2.1112411000e+07, 10,
+__LINE__, "-21112411", -2.1112411000e+07, 9,
+__LINE__, " -211124120", -2.1112412000e+08, 11,
+__LINE__, "-211124120", -2.1112412000e+08, 10,
+__LINE__, " -211.124120", -2.1112412000e+02, 12,
+__LINE__, "-211.124120", -2.1112412000e+02, 11,
+__LINE__, " -211.20", -2.1120000000e+02, 8,
+__LINE__, "-211.20", -2.1120000000e+02, 7,
+__LINE__, " -21120", -2.1120000000e+04, 7,
+__LINE__, "-21120", -2.1120000000e+04, 6,
+__LINE__, " -211.8e-1", -2.1180000000e+01, 10,
+__LINE__, "-211.8e-1", -2.1180000000e+01, 9,
+__LINE__, " -211.8e+1", -2.1180000000e+03, 10,
+__LINE__, " -211.8e1", -2.1180000000e+03, 9,
+__LINE__, " -2118", -2.1180000000e+03, 6,
+__LINE__, " -2118+", -2.1180000000e+03, 6,
+__LINE__, " -2118+1", -2.1180000000e+03, 6,
+__LINE__, " -2118+20", -2.1180000000e+03, 6,
+__LINE__, " -2118-", -2.1180000000e+03, 6,
+__LINE__, " -2118-1", -2.1180000000e+03, 6,
+__LINE__, " -2118-20", -2.1180000000e+03, 6,
+__LINE__, " -2118e", -2.1180000000e+03, 6,
+__LINE__, " -2118e+", -2.1180000000e+03, 6,
+__LINE__, " -2118e-", -2.1180000000e+03, 6,
+__LINE__, "-211.8e+1", -2.1180000000e+03, 9,
+__LINE__, "-211.8e1", -2.1180000000e+03, 8,
+__LINE__, "-2118", -2.1180000000e+03, 5,
+__LINE__, "-2118+", -2.1180000000e+03, 5,
+__LINE__, "-2118+1", -2.1180000000e+03, 5,
+__LINE__, "-2118+20", -2.1180000000e+03, 5,
+__LINE__, "-2118-", -2.1180000000e+03, 5,
+__LINE__, "-2118-1", -2.1180000000e+03, 5,
+__LINE__, "-2118-20", -2.1180000000e+03, 5,
+__LINE__, "-2118e", -2.1180000000e+03, 5,
+__LINE__, "-2118e+", -2.1180000000e+03, 5,
+__LINE__, "-2118e-", -2.1180000000e+03, 5,
+__LINE__, " -2118e+1", -2.1180000000e+04, 9,
+__LINE__, " -2118e1", -2.1180000000e+04, 8,
+__LINE__, "-2118e+1", -2.1180000000e+04, 8,
+__LINE__, "-2118e1", -2.1180000000e+04, 7,
+__LINE__, " -2118e+20", -2.1180000000e+23, 10,
+__LINE__, " -2118e20", -2.1180000000e+23, 9,
+__LINE__, "-2118e+20", -2.1180000000e+23, 9,
+__LINE__, "-2118e20", -2.1180000000e+23, 8,
+__LINE__, " -2118e-20", -2.1180000000e-17, 10,
+__LINE__, "-2118e-20", -2.1180000000e-17, 9,
+__LINE__, " -211.8e-20", -2.1180000000e-18, 11,
+__LINE__, "-211.8e-20", -2.1180000000e-18, 10,
+__LINE__, " -211.8", -2.1180000000e+02, 7,
+__LINE__, " -211.8+", -2.1180000000e+02, 7,
+__LINE__, " -211.8+1", -2.1180000000e+02, 7,
+__LINE__, " -211.8+20", -2.1180000000e+02, 7,
+__LINE__, " -211.8-", -2.1180000000e+02, 7,
+__LINE__, " -211.8-1", -2.1180000000e+02, 7,
+__LINE__, " -211.8-20", -2.1180000000e+02, 7,
+__LINE__, " -211.8e", -2.1180000000e+02, 7,
+__LINE__, " -211.8e+", -2.1180000000e+02, 7,
+__LINE__, " -211.8e-", -2.1180000000e+02, 7,
+__LINE__, " -2118e-1", -2.1180000000e+02, 9,
+__LINE__, "-211.8", -2.1180000000e+02, 6,
+__LINE__, "-211.8+", -2.1180000000e+02, 6,
+__LINE__, "-211.8+1", -2.1180000000e+02, 6,
+__LINE__, "-211.8+20", -2.1180000000e+02, 6,
+__LINE__, "-211.8-", -2.1180000000e+02, 6,
+__LINE__, "-211.8-1", -2.1180000000e+02, 6,
+
+__LINE__, "-211.8-20", -2.1180000000e+02, 6,
+__LINE__, "-211.8e", -2.1180000000e+02, 6,
+__LINE__, "-211.8e+", -2.1180000000e+02, 6,
+__LINE__, "-211.8e-", -2.1180000000e+02, 6,
+__LINE__, "-2118e-1", -2.1180000000e+02, 8,
+__LINE__, " -211.8e+20", -2.1180000000e+22, 11,
+__LINE__, " -211.8e20", -2.1180000000e+22, 10,
+__LINE__, "-211.8e+20", -2.1180000000e+22, 10,
+__LINE__, "-211.8e20", -2.1180000000e+22, 9,
+__LINE__, " -211.81", -2.1181000000e+02, 8,
+__LINE__, "-211.81", -2.1181000000e+02, 7,
+__LINE__, " -21181", -2.1181000000e+04, 7,
+__LINE__, "-21181", -2.1181000000e+04, 6,
+__LINE__, " -211.820", -2.1182000000e+02, 9,
+__LINE__, "-211.820", -2.1182000000e+02, 8,
+__LINE__, " -211820", -2.1182000000e+05, 8,
+__LINE__, "-211820", -2.1182000000e+05, 7,
+__LINE__, " -2119e-20", -2.1190000000e-17, 10,
+__LINE__, "-2119e-20", -2.1190000000e-17, 9,
+__LINE__, " -211.9e-1", -2.1190000000e+01, 10,
+__LINE__, "-211.9e-1", -2.1190000000e+01, 9,
+__LINE__, " -211.9", -2.1190000000e+02, 7,
+__LINE__, " -211.9+", -2.1190000000e+02, 7,
+__LINE__, " -211.9+1", -2.1190000000e+02, 7,
+__LINE__, " -211.9+20", -2.1190000000e+02, 7,
+__LINE__, " -211.9-", -2.1190000000e+02, 7,
+__LINE__, " -211.9-1", -2.1190000000e+02, 7,
+__LINE__, " -211.9-20", -2.1190000000e+02, 7,
+__LINE__, " -211.9e", -2.1190000000e+02, 7,
+__LINE__, " -211.9e+", -2.1190000000e+02, 7,
+__LINE__, " -211.9e-", -2.1190000000e+02, 7,
+__LINE__, " -2119e-1", -2.1190000000e+02, 9,
+__LINE__, "-211.9", -2.1190000000e+02, 6,
+__LINE__, "-211.9+", -2.1190000000e+02, 6,
+__LINE__, "-211.9+1", -2.1190000000e+02, 6,
+__LINE__, "-211.9+20", -2.1190000000e+02, 6,
+__LINE__, "-211.9-", -2.1190000000e+02, 6,
+#ifndef __PCCNECV70__
+/* Nec assembler has built in limits which are exceeded by this table */
+
+__LINE__, "-211.9-1", -2.1190000000e+02, 6,
+__LINE__, "-211.9-20", -2.1190000000e+02, 6,
+__LINE__, "-211.9e", -2.1190000000e+02, 6,
+__LINE__, "-211.9e+", -2.1190000000e+02, 6,
+__LINE__, "-211.9e-", -2.1190000000e+02, 6,
+__LINE__, "-2119e-1", -2.1190000000e+02, 8,
+__LINE__, " -211.9e+1", -2.1190000000e+03, 10,
+__LINE__, " -211.9e1", -2.1190000000e+03, 9,
+__LINE__, " -2119", -2.1190000000e+03, 6,
+__LINE__, " -2119+", -2.1190000000e+03, 6,
+__LINE__, " -2119+1", -2.1190000000e+03, 6,
+__LINE__, " -2119+20", -2.1190000000e+03, 6,
+__LINE__, " -2119-", -2.1190000000e+03, 6,
+__LINE__, " -2119-1", -2.1190000000e+03, 6,
+__LINE__, " -2119-20", -2.1190000000e+03, 6,
+__LINE__, " -2119e", -2.1190000000e+03, 6,
+__LINE__, " -2119e+", -2.1190000000e+03, 6,
+__LINE__, " -2119e-", -2.1190000000e+03, 6,
+__LINE__, "-211.9e+1", -2.1190000000e+03, 9,
+__LINE__, "-211.9e1", -2.1190000000e+03, 8,
+__LINE__, "-2119", -2.1190000000e+03, 5,
+__LINE__, "-2119+", -2.1190000000e+03, 5,
+__LINE__, "-2119+1", -2.1190000000e+03, 5,
+__LINE__, "-2119+20", -2.1190000000e+03, 5,
+__LINE__, "-2119-", -2.1190000000e+03, 5,
+__LINE__, "-2119-1", -2.1190000000e+03, 5,
+__LINE__, "-2119-20", -2.1190000000e+03, 5,
+__LINE__, "-2119e", -2.1190000000e+03, 5,
+__LINE__, "-2119e+", -2.1190000000e+03, 5,
+__LINE__, "-2119e-", -2.1190000000e+03, 5,
+__LINE__, " -2119e+1", -2.1190000000e+04, 9,
+__LINE__, " -2119e1", -2.1190000000e+04, 8,
+__LINE__, "-2119e+1", -2.1190000000e+04, 8,
+__LINE__, "-2119e1", -2.1190000000e+04, 7,
+__LINE__, " -211.9e+20", -2.1190000000e+22, 11,
+__LINE__, " -211.9e20", -2.1190000000e+22, 10,
+__LINE__, "-211.9e+20", -2.1190000000e+22, 10,
+__LINE__, "-211.9e20", -2.1190000000e+22, 9,
+__LINE__, " -2119e+20", -2.1190000000e+23, 10,
+__LINE__, " -2119e20", -2.1190000000e+23, 9,
+__LINE__, "-2119e+20", -2.1190000000e+23, 9,
+__LINE__, "-2119e20", -2.1190000000e+23, 8,
+__LINE__, " -211.9e-20", -2.1190000000e-18, 11,
+__LINE__, "-211.9e-20", -2.1190000000e-18, 10,
+__LINE__, " -211.91", -2.1191000000e+02, 8,
+__LINE__, "-211.91", -2.1191000000e+02, 7,
+__LINE__, " -21191", -2.1191000000e+04, 7,
+__LINE__, "-21191", -2.1191000000e+04, 6,
+__LINE__, " -211.920", -2.1192000000e+02, 9,
+__LINE__, "-211.920", -2.1192000000e+02, 8,
+__LINE__, " -211920", -2.1192000000e+05, 8,
+__LINE__, "-211920", -2.1192000000e+05, 7,
+__LINE__, " -612.e-1", -6.1200000000e+01, 9,
+__LINE__, " -612e-1", -6.1200000000e+01, 8,
+__LINE__, "-612.e-1", -6.1200000000e+01, 8,
+__LINE__, "-612e-1", -6.1200000000e+01, 7,
+__LINE__, " -612", -6.1200000000e+02, 5,
+__LINE__, " -612+", -6.1200000000e+02, 5,
+__LINE__, " -612+1", -6.1200000000e+02, 5,
+__LINE__, " -612+20", -6.1200000000e+02, 5,
+__LINE__, " -612-", -6.1200000000e+02, 5,
+__LINE__, " -612-1", -6.1200000000e+02, 5,
+__LINE__, " -612-20", -6.1200000000e+02, 5,
+__LINE__, " -612.", -6.1200000000e+02, 6,
+__LINE__, " -612.+", -6.1200000000e+02, 6,
+__LINE__, " -612.+1", -6.1200000000e+02, 6,
+__LINE__, " -612.+20", -6.1200000000e+02, 6,
+__LINE__, " -612.-", -6.1200000000e+02, 6,
+__LINE__, " -612.-1", -6.1200000000e+02, 6,
+__LINE__, " -612.-20", -6.1200000000e+02, 6,
+__LINE__, " -612.e", -6.1200000000e+02, 6,
+__LINE__, " -612.e+", -6.1200000000e+02, 6,
+__LINE__, " -612.e-", -6.1200000000e+02, 6,
+__LINE__, " -612e", -6.1200000000e+02, 5,
+__LINE__, " -612e+", -6.1200000000e+02, 5,
+__LINE__, " -612e-", -6.1200000000e+02, 5,
+__LINE__, "-612", -6.1200000000e+02, 4,
+__LINE__, "-612+", -6.1200000000e+02, 4,
+__LINE__, "-612+1", -6.1200000000e+02, 4,
+__LINE__, "-612+20", -6.1200000000e+02, 4,
+__LINE__, "-612-", -6.1200000000e+02, 4,
+__LINE__, "-612-1", -6.1200000000e+02, 4,
+__LINE__, "-612-20", -6.1200000000e+02, 4,
+__LINE__, "-612.", -6.1200000000e+02, 5,
+__LINE__, "-612.+", -6.1200000000e+02, 5,
+__LINE__, "-612.+1", -6.1200000000e+02, 5,
+__LINE__, "-612.+20", -6.1200000000e+02, 5,
+__LINE__, "-612.-", -6.1200000000e+02, 5,
+__LINE__, "-612.-1", -6.1200000000e+02, 5,
+__LINE__, "-612.-20", -6.1200000000e+02, 5,
+__LINE__, "-612.e", -6.1200000000e+02, 5,
+__LINE__, "-612.e+", -6.1200000000e+02, 5,
+__LINE__, "-612.e-", -6.1200000000e+02, 5,
+__LINE__, "-612e", -6.1200000000e+02, 4,
+__LINE__, "-612e+", -6.1200000000e+02, 4,
+__LINE__, "-612e-", -6.1200000000e+02, 4,
+__LINE__, " -612.e+1", -6.1200000000e+03, 9,
+__LINE__, " -612.e1", -6.1200000000e+03, 8,
+__LINE__, " -612e+1", -6.1200000000e+03, 8,
+__LINE__, " -612e1", -6.1200000000e+03, 7,
+__LINE__, "-612.e+1", -6.1200000000e+03, 8,
+__LINE__, "-612.e1", -6.1200000000e+03, 7,
+__LINE__, "-612e+1", -6.1200000000e+03, 7,
+__LINE__, "-612e1", -6.1200000000e+03, 6,
+__LINE__, " -612.e+20", -6.1200000000e+22, 10,
+__LINE__, " -612.e20", -6.1200000000e+22, 9,
+__LINE__, " -612e+20", -6.1200000000e+22, 9,
+__LINE__, " -612e20", -6.1200000000e+22, 8,
+__LINE__, "-612.e+20", -6.1200000000e+22, 9,
+__LINE__, "-612.e20", -6.1200000000e+22, 8,
+__LINE__, "-612e+20", -6.1200000000e+22, 8,
+__LINE__, "-612e20", -6.1200000000e+22, 7,
+__LINE__, " -612.e-20", -6.1200000000e-18, 10,
+__LINE__, " -612e-20", -6.1200000000e-18, 9,
+__LINE__, "-612.e-20", -6.1200000000e-18, 9,
+__LINE__, "-612e-20", -6.1200000000e-18, 8,
+__LINE__, " -612.1", -6.1210000000e+02, 7,
+__LINE__, "-612.1", -6.1210000000e+02, 6,
+__LINE__, " -6121", -6.1210000000e+03, 6,
+__LINE__, "-6121", -6.1210000000e+03, 5,
+__LINE__, " -612.1241e-1", -6.1212410000e+01, 13,
+__LINE__, "-612.1241e-1", -6.1212410000e+01, 12,
+__LINE__, " -612.1241e+1", -6.1212410000e+03, 13,
+__LINE__, " -612.1241e1", -6.1212410000e+03, 12,
+__LINE__, "-612.1241e+1", -6.1212410000e+03, 12,
+__LINE__, "-612.1241e1", -6.1212410000e+03, 11,
+__LINE__, " -6121241e-1", -6.1212410000e+05, 12,
+__LINE__, "-6121241e-1", -6.1212410000e+05, 11,
+__LINE__, " -6121241e+1", -6.1212410000e+07, 12,
+__LINE__, " -6121241e1", -6.1212410000e+07, 11,
+__LINE__, "-6121241e+1", -6.1212410000e+07, 11,
+__LINE__, "-6121241e1", -6.1212410000e+07, 10,
+__LINE__, " -6121241e-20", -6.1212410000e-14, 13,
+__LINE__, "-6121241e-20", -6.1212410000e-14, 12,
+__LINE__, " -612.1241", -6.1212410000e+02, 10,
+__LINE__, " -612.1241+", -6.1212410000e+02, 10,
+__LINE__, " -612.1241+1", -6.1212410000e+02, 10,
+__LINE__, " -612.1241+20", -6.1212410000e+02, 10,
+__LINE__, " -612.1241-", -6.1212410000e+02, 10,
+__LINE__, " -612.1241-1", -6.1212410000e+02, 10,
+__LINE__, " -612.1241-20", -6.1212410000e+02, 10,
+__LINE__, " -612.1241e", -6.1212410000e+02, 10,
+__LINE__, " -612.1241e+", -6.1212410000e+02, 10,
+__LINE__, " -612.1241e-", -6.1212410000e+02, 10,
+__LINE__, "-612.1241", -6.1212410000e+02, 9,
+__LINE__, "-612.1241+", -6.1212410000e+02, 9,
+__LINE__, "-612.1241+1", -6.1212410000e+02, 9,
+__LINE__, "-612.1241+20", -6.1212410000e+02, 9,
+__LINE__, "-612.1241-", -6.1212410000e+02, 9,
+__LINE__, "-612.1241-1", -6.1212410000e+02, 9,
+__LINE__, "-612.1241-20", -6.1212410000e+02, 9,
+__LINE__, "-612.1241e", -6.1212410000e+02, 9,
+__LINE__, "-612.1241e+", -6.1212410000e+02, 9,
+__LINE__, "-612.1241e-", -6.1212410000e+02, 9,
+__LINE__, " -6121241", -6.1212410000e+06, 9,
+__LINE__, " -6121241+", -6.1212410000e+06, 9,
+__LINE__, " -6121241+1", -6.1212410000e+06, 9,
+__LINE__, " -6121241+20", -6.1212410000e+06, 9,
+__LINE__, " -6121241-", -6.1212410000e+06, 9,
+__LINE__, " -6121241-1", -6.1212410000e+06, 9,
+__LINE__, " -6121241-20", -6.1212410000e+06, 9,
+__LINE__, " -6121241e", -6.1212410000e+06, 9,
+__LINE__, " -6121241e+", -6.1212410000e+06, 9,
+__LINE__, " -6121241e-", -6.1212410000e+06, 9,
+__LINE__, "-6121241", -6.1212410000e+06, 8,
+__LINE__, "-6121241+", -6.1212410000e+06, 8,
+__LINE__, "-6121241+1", -6.1212410000e+06, 8,
+__LINE__, "-6121241+20", -6.1212410000e+06, 8,
+__LINE__, "-6121241-", -6.1212410000e+06, 8,
+__LINE__, "-6121241-1", -6.1212410000e+06, 8,
+__LINE__, "-6121241-20", -6.1212410000e+06, 8,
+__LINE__, "-6121241e", -6.1212410000e+06, 8,
+__LINE__, "-6121241e+", -6.1212410000e+06, 8,
+__LINE__, "-6121241e-", -6.1212410000e+06, 8,
+__LINE__, " -612.1241e+20", -6.1212410000e+22, 14,
+__LINE__, " -612.1241e20", -6.1212410000e+22, 13,
+__LINE__, "-612.1241e+20", -6.1212410000e+22, 13,
+__LINE__, "-612.1241e20", -6.1212410000e+22, 12,
+__LINE__, " -6121241e+20", -6.1212410000e+26, 13,
+__LINE__, " -6121241e20", -6.1212410000e+26, 12,
+__LINE__, "-6121241e+20", -6.1212410000e+26, 12,
+__LINE__, "-6121241e20", -6.1212410000e+26, 11,
+__LINE__, " -612.1241e-20", -6.1212410000e-18, 14,
+__LINE__, "-612.1241e-20", -6.1212410000e-18, 13,
+__LINE__, " -612.12411", -6.1212411000e+02, 11,
+__LINE__, "-612.12411", -6.1212411000e+02, 10,
+__LINE__, " -61212411", -6.1212411000e+07, 10,
+__LINE__, "-61212411", -6.1212411000e+07, 9,
+__LINE__, " -612.124120", -6.1212412000e+02, 12,
+__LINE__, "-612.124120", -6.1212412000e+02, 11,
+__LINE__, " -612124120", -6.1212412000e+08, 11,
+__LINE__, "-612124120", -6.1212412000e+08, 10,
+__LINE__, " -61220", -6.1220000000e+04, 7,
+__LINE__, "-61220", -6.1220000000e+04, 6,
+__LINE__, " -612.20", -6.1220000000e+02, 8,
+__LINE__, "-612.20", -6.1220000000e+02, 7,
+__LINE__, " -612.8", -6.1280000000e+02, 7,
+__LINE__, " -612.8+", -6.1280000000e+02, 7,
+__LINE__, " -612.8+1", -6.1280000000e+02, 7,
+__LINE__, " -612.8+20", -6.1280000000e+02, 7,
+__LINE__, " -612.8-", -6.1280000000e+02, 7,
+__LINE__, " -612.8-1", -6.1280000000e+02, 7,
+__LINE__, " -612.8-20", -6.1280000000e+02, 7,
+__LINE__, " -612.8e", -6.1280000000e+02, 7,
+__LINE__, " -612.8e+", -6.1280000000e+02, 7,
+__LINE__, " -612.8e-", -6.1280000000e+02, 7,
+__LINE__, " -6128e-1", -6.1280000000e+02, 9,
+__LINE__, "-612.8", -6.1280000000e+02, 6,
+__LINE__, "-612.8+", -6.1280000000e+02, 6,
+__LINE__, "-612.8+1", -6.1280000000e+02, 6,
+__LINE__, "-612.8+20", -6.1280000000e+02, 6,
+__LINE__, "-612.8-", -6.1280000000e+02, 6,
+__LINE__, "-612.8-1", -6.1280000000e+02, 6,
+__LINE__, "-612.8-20", -6.1280000000e+02, 6,
+__LINE__, "-612.8e", -6.1280000000e+02, 6,
+__LINE__, "-612.8e+", -6.1280000000e+02, 6,
+__LINE__, "-612.8e-", -6.1280000000e+02, 6,
+__LINE__, "-6128e-1", -6.1280000000e+02, 8,
+__LINE__, " -612.8e+20", -6.1280000000e+22, 11,
+__LINE__, " -612.8e20", -6.1280000000e+22, 10,
+__LINE__, "-612.8e+20", -6.1280000000e+22, 10,
+__LINE__, "-612.8e20", -6.1280000000e+22, 9,
+__LINE__, " -6128e-20", -6.1280000000e-17, 10,
+__LINE__, "-6128e-20", -6.1280000000e-17, 9,
+__LINE__, " -612.8e-1", -6.1280000000e+01, 10,
+__LINE__, "-612.8e-1", -6.1280000000e+01, 9,
+__LINE__, " -612.8e+1", -6.1280000000e+03, 10,
+__LINE__, " -612.8e1", -6.1280000000e+03, 9,
+__LINE__, " -6128", -6.1280000000e+03, 6,
+__LINE__, " -6128+", -6.1280000000e+03, 6,
+__LINE__, " -6128+1", -6.1280000000e+03, 6,
+__LINE__, " -6128+20", -6.1280000000e+03, 6,
+__LINE__, " -6128-", -6.1280000000e+03, 6,
+__LINE__, " -6128-1", -6.1280000000e+03, 6,
+__LINE__, " -6128-20", -6.1280000000e+03, 6,
+__LINE__, " -6128e", -6.1280000000e+03, 6,
+__LINE__, " -6128e+", -6.1280000000e+03, 6,
+__LINE__, " -6128e-", -6.1280000000e+03, 6,
+__LINE__, "-612.8e+1", -6.1280000000e+03, 9,
+__LINE__, "-612.8e1", -6.1280000000e+03, 8,
+__LINE__, "-6128", -6.1280000000e+03, 5,
+__LINE__, "-6128+", -6.1280000000e+03, 5,
+__LINE__, "-6128+1", -6.1280000000e+03, 5,
+__LINE__, "-6128+20", -6.1280000000e+03, 5,
+__LINE__, "-6128-", -6.1280000000e+03, 5,
+__LINE__, "-6128-1", -6.1280000000e+03, 5,
+__LINE__, "-6128-20", -6.1280000000e+03, 5,
+__LINE__, "-6128e", -6.1280000000e+03, 5,
+__LINE__, "-6128e+", -6.1280000000e+03, 5,
+__LINE__, "-6128e-", -6.1280000000e+03, 5,
+__LINE__, " -6128e+1", -6.1280000000e+04, 9,
+__LINE__, " -6128e1", -6.1280000000e+04, 8,
+__LINE__, "-6128e+1", -6.1280000000e+04, 8,
+__LINE__, "-6128e1", -6.1280000000e+04, 7,
+__LINE__, " -6128e+20", -6.1280000000e+23, 10,
+__LINE__, " -6128e20", -6.1280000000e+23, 9,
+__LINE__, "-6128e+20", -6.1280000000e+23, 9,
+__LINE__, "-6128e20", -6.1280000000e+23, 8,
+__LINE__, " -612.8e-20", -6.1280000000e-18, 11,
+__LINE__, "-612.8e-20", -6.1280000000e-18, 10,
+__LINE__, " -612.81", -6.1281000000e+02, 8,
+__LINE__, "-612.81", -6.1281000000e+02, 7,
+__LINE__, " -61281", -6.1281000000e+04, 7,
+__LINE__, "-61281", -6.1281000000e+04, 6,
+__LINE__, " -612820", -6.1282000000e+05, 8,
+__LINE__, "-612820", -6.1282000000e+05, 7,
+__LINE__, " -612.820", -6.1282000000e+02, 9,
+__LINE__, "-612.820", -6.1282000000e+02, 8,
+__LINE__, " -612.9e-1", -6.1290000000e+01, 10,
+__LINE__, "-612.9e-1", -6.1290000000e+01, 9,
+__LINE__, " -612.9", -6.1290000000e+02, 7,
+__LINE__, " -612.9+", -6.1290000000e+02, 7,
+__LINE__, " -612.9+1", -6.1290000000e+02, 7,
+__LINE__, " -612.9+20", -6.1290000000e+02, 7,
+__LINE__, " -612.9-", -6.1290000000e+02, 7,
+__LINE__, " -612.9-1", -6.1290000000e+02, 7,
+__LINE__, " -612.9-20", -6.1290000000e+02, 7,
+__LINE__, " -612.9e", -6.1290000000e+02, 7,
+__LINE__, " -612.9e+", -6.1290000000e+02, 7,
+__LINE__, " -612.9e-", -6.1290000000e+02, 7,
+__LINE__, " -6129e-1", -6.1290000000e+02, 9,
+__LINE__, "-612.9", -6.1290000000e+02, 6,
+__LINE__, "-612.9+", -6.1290000000e+02, 6,
+__LINE__, "-612.9+1", -6.1290000000e+02, 6,
+__LINE__, "-612.9+20", -6.1290000000e+02, 6,
+__LINE__, "-612.9-", -6.1290000000e+02, 6,
+__LINE__, "-612.9-1", -6.1290000000e+02, 6,
+__LINE__, "-612.9-20", -6.1290000000e+02, 6,
+__LINE__, "-612.9e", -6.1290000000e+02, 6,
+__LINE__, "-612.9e+", -6.1290000000e+02, 6,
+__LINE__, "-612.9e-", -6.1290000000e+02, 6,
+__LINE__, "-6129e-1", -6.1290000000e+02, 8,
+__LINE__, " -612.9e+1", -6.1290000000e+03, 10,
+__LINE__, " -612.9e1", -6.1290000000e+03, 9,
+__LINE__, " -6129", -6.1290000000e+03, 6,
+__LINE__, " -6129+", -6.1290000000e+03, 6,
+__LINE__, " -6129+1", -6.1290000000e+03, 6,
+__LINE__, " -6129+20", -6.1290000000e+03, 6,
+__LINE__, " -6129-", -6.1290000000e+03, 6,
+__LINE__, " -6129-1", -6.1290000000e+03, 6,
+__LINE__, " -6129-20", -6.1290000000e+03, 6,
+__LINE__, " -6129e", -6.1290000000e+03, 6,
+__LINE__, " -6129e+", -6.1290000000e+03, 6,
+__LINE__, " -6129e-", -6.1290000000e+03, 6,
+__LINE__, "-612.9e+1", -6.1290000000e+03, 9,
+__LINE__, "-612.9e1", -6.1290000000e+03, 8,
+__LINE__, "-6129", -6.1290000000e+03, 5,
+__LINE__, "-6129+", -6.1290000000e+03, 5,
+__LINE__, "-6129+1", -6.1290000000e+03, 5,
+__LINE__, "-6129+20", -6.1290000000e+03, 5,
+__LINE__, "-6129-", -6.1290000000e+03, 5,
+__LINE__, "-6129-1", -6.1290000000e+03, 5,
+__LINE__, "-6129-20", -6.1290000000e+03, 5,
+__LINE__, "-6129e", -6.1290000000e+03, 5,
+__LINE__, "-6129e+", -6.1290000000e+03, 5,
+__LINE__, "-6129e-", -6.1290000000e+03, 5,
+__LINE__, " -6129e+1", -6.1290000000e+04, 9,
+__LINE__, " -6129e1", -6.1290000000e+04, 8,
+__LINE__, "-6129e+1", -6.1290000000e+04, 8,
+__LINE__, "-6129e1", -6.1290000000e+04, 7,
+__LINE__, " -612.9e+20", -6.1290000000e+22, 11,
+__LINE__, " -612.9e20", -6.1290000000e+22, 10,
+__LINE__, "-612.9e+20", -6.1290000000e+22, 10,
+__LINE__, "-612.9e20", -6.1290000000e+22, 9,
+__LINE__, " -6129e+20", -6.1290000000e+23, 10,
+__LINE__, " -6129e20", -6.1290000000e+23, 9,
+__LINE__, "-6129e+20", -6.1290000000e+23, 9,
+__LINE__, "-6129e20", -6.1290000000e+23, 8,
+__LINE__, " -612.9e-20", -6.1290000000e-18, 11,
+__LINE__, "-612.9e-20", -6.1290000000e-18, 10,
+__LINE__, " -6129e-20", -6.1290000000e-17, 10,
+__LINE__, "-6129e-20", -6.1290000000e-17, 9,
+__LINE__, " -612.91", -6.1291000000e+02, 8,
+__LINE__, "-612.91", -6.1291000000e+02, 7,
+__LINE__, " -61291", -6.1291000000e+04, 7,
+__LINE__, "-61291", -6.1291000000e+04, 6,
+__LINE__, " -612.920", -6.1292000000e+02, 9,
+__LINE__, "-612.920", -6.1292000000e+02, 8,
+__LINE__, " -612920", -6.1292000000e+05, 8,
+__LINE__, "-612920", -6.1292000000e+05, 7,
+__LINE__, " -08e-20", -8.0000000000e-20, 8,
+__LINE__, " -8e-20", -8.0000000000e-20, 7,
+__LINE__, "-08e-20", -8.0000000000e-20, 7,
+__LINE__, "-8e-20", -8.0000000000e-20, 6,
+__LINE__, " -.8e-20", -8.0000000000e-21, 8,
+__LINE__, " -0.8e-20", -8.0000000000e-21, 9,
+__LINE__, "-.8e-20", -8.0000000000e-21, 7,
+__LINE__, "-0.8e-20", -8.0000000000e-21, 8,
+__LINE__, " -.8e+1", -8.0000000000e+00, 7,
+__LINE__, " -.8e1", -8.0000000000e+00, 6,
+__LINE__, " -0.8e+1", -8.0000000000e+00, 8,
+__LINE__, " -0.8e1", -8.0000000000e+00, 7,
+__LINE__, " -08", -8.0000000000e+00, 4,
+__LINE__, " -08+", -8.0000000000e+00, 4,
+__LINE__, " -08+1", -8.0000000000e+00, 4,
+__LINE__, " -08+20", -8.0000000000e+00, 4,
+__LINE__, " -08-", -8.0000000000e+00, 4,
+__LINE__, " -08-1", -8.0000000000e+00, 4,
+__LINE__, " -08-20", -8.0000000000e+00, 4,
+__LINE__, " -08e", -8.0000000000e+00, 4,
+__LINE__, " -08e+", -8.0000000000e+00, 4,
+__LINE__, " -08e-", -8.0000000000e+00, 4,
+__LINE__, " -8", -8.0000000000e+00, 3,
+__LINE__, " -8+", -8.0000000000e+00, 3,
+__LINE__, " -8+1", -8.0000000000e+00, 3,
+__LINE__, " -8+20", -8.0000000000e+00, 3,
+__LINE__, " -8-", -8.0000000000e+00, 3,
+__LINE__, " -8-1", -8.0000000000e+00, 3,
+__LINE__, " -8-20", -8.0000000000e+00, 3,
+__LINE__, " -8e", -8.0000000000e+00, 3,
+__LINE__, " -8e+", -8.0000000000e+00, 3,
+__LINE__, " -8e-", -8.0000000000e+00, 3,
+__LINE__, "-.8e+1", -8.0000000000e+00, 6,
+__LINE__, "-.8e1", -8.0000000000e+00, 5,
+__LINE__, "-0.8e+1", -8.0000000000e+00, 7,
+__LINE__, "-0.8e1", -8.0000000000e+00, 6,
+__LINE__, "-08", -8.0000000000e+00, 3,
+__LINE__, "-08+", -8.0000000000e+00, 3,
+__LINE__, "-08+1", -8.0000000000e+00, 3,
+__LINE__, "-08+20", -8.0000000000e+00, 3,
+__LINE__, "-08-", -8.0000000000e+00, 3,
+__LINE__, "-08-1", -8.0000000000e+00, 3,
+__LINE__, "-08-20", -8.0000000000e+00, 3,
+__LINE__, "-08e", -8.0000000000e+00, 3,
+__LINE__, "-08e+", -8.0000000000e+00, 3,
+__LINE__, "-08e-", -8.0000000000e+00, 3,
+__LINE__, "-8", -8.0000000000e+00, 2,
+__LINE__, "-8+", -8.0000000000e+00, 2,
+__LINE__, "-8+1", -8.0000000000e+00, 2,
+__LINE__, "-8+20", -8.0000000000e+00, 2,
+__LINE__, "-8-", -8.0000000000e+00, 2,
+__LINE__, "-8-1", -8.0000000000e+00, 2,
+__LINE__, "-8-20", -8.0000000000e+00, 2,
+__LINE__, "-8e", -8.0000000000e+00, 2,
+__LINE__, "-8e+", -8.0000000000e+00, 2,
+__LINE__, "-8e-", -8.0000000000e+00, 2,
+__LINE__, " -08e+1", -8.0000000000e+01, 7,
+__LINE__, " -08e1", -8.0000000000e+01, 6,
+__LINE__, " -8e+1", -8.0000000000e+01, 6,
+__LINE__, " -8e1", -8.0000000000e+01, 5,
+__LINE__, "-08e+1", -8.0000000000e+01, 6,
+__LINE__, "-08e1", -8.0000000000e+01, 5,
+__LINE__, "-8e+1", -8.0000000000e+01, 5,
+__LINE__, "-8e1", -8.0000000000e+01, 4,
+__LINE__, " -.8e+20", -8.0000000000e+19, 8,
+__LINE__, " -.8e20", -8.0000000000e+19, 7,
+__LINE__, " -0.8e+20", -8.0000000000e+19, 9,
+__LINE__, " -0.8e20", -8.0000000000e+19, 8,
+__LINE__, "-.8e+20", -8.0000000000e+19, 7,
+__LINE__, "-.8e20", -8.0000000000e+19, 6,
+__LINE__, "-0.8e+20", -8.0000000000e+19, 8,
+__LINE__, "-0.8e20", -8.0000000000e+19, 7,
+__LINE__, " -08e+20", -8.0000000000e+20, 8,
+__LINE__, " -08e20", -8.0000000000e+20, 7,
+__LINE__, " -8e+20", -8.0000000000e+20, 7,
+__LINE__, " -8e20", -8.0000000000e+20, 6,
+__LINE__, "-08e+20", -8.0000000000e+20, 7,
+__LINE__, "-08e20", -8.0000000000e+20, 6,
+__LINE__, "-8e+20", -8.0000000000e+20, 6,
+__LINE__, "-8e20", -8.0000000000e+20, 5,
+__LINE__, " -.8", -8.0000000000e-01, 4,
+__LINE__, " -.8+", -8.0000000000e-01, 4,
+__LINE__, " -.8+1", -8.0000000000e-01, 4,
+__LINE__, " -.8+20", -8.0000000000e-01, 4,
+__LINE__, " -.8-", -8.0000000000e-01, 4,
+__LINE__, " -.8-1", -8.0000000000e-01, 4,
+__LINE__, " -.8-20", -8.0000000000e-01, 4,
+__LINE__, " -.8e", -8.0000000000e-01, 4,
+__LINE__, " -.8e+", -8.0000000000e-01, 4,
+__LINE__, " -.8e-", -8.0000000000e-01, 4,
+__LINE__, " -0.8", -8.0000000000e-01, 5,
+__LINE__, " -0.8+", -8.0000000000e-01, 5,
+__LINE__, " -0.8+1", -8.0000000000e-01, 5,
+__LINE__, " -0.8+20", -8.0000000000e-01, 5,
+__LINE__, " -0.8-", -8.0000000000e-01, 5,
+__LINE__, " -0.8-1", -8.0000000000e-01, 5,
+__LINE__, " -0.8-20", -8.0000000000e-01, 5,
+__LINE__, " -0.8e", -8.0000000000e-01, 5,
+__LINE__, " -0.8e+", -8.0000000000e-01, 5,
+__LINE__, " -0.8e-", -8.0000000000e-01, 5,
+__LINE__, " -08e-1", -8.0000000000e-01, 7,
+__LINE__, " -8e-1", -8.0000000000e-01, 6,
+__LINE__, "-.8", -8.0000000000e-01, 3,
+__LINE__, "-.8+", -8.0000000000e-01, 3,
+__LINE__, "-.8+1", -8.0000000000e-01, 3,
+__LINE__, "-.8+20", -8.0000000000e-01, 3,
+__LINE__, "-.8-", -8.0000000000e-01, 3,
+__LINE__, "-.8-1", -8.0000000000e-01, 3,
+__LINE__, "-.8-20", -8.0000000000e-01, 3,
+__LINE__, "-.8e", -8.0000000000e-01, 3,
+__LINE__, "-.8e+", -8.0000000000e-01, 3,
+__LINE__, "-.8e-", -8.0000000000e-01, 3,
+__LINE__, "-0.8", -8.0000000000e-01, 4,
+__LINE__, "-0.8+", -8.0000000000e-01, 4,
+__LINE__, "-0.8+1", -8.0000000000e-01, 4,
+__LINE__, "-0.8+20", -8.0000000000e-01, 4,
+__LINE__, "-0.8-", -8.0000000000e-01, 4,
+__LINE__, "-0.8-1", -8.0000000000e-01, 4,
+__LINE__, "-0.8-20", -8.0000000000e-01, 4,
+__LINE__, "-0.8e", -8.0000000000e-01, 4,
+__LINE__, "-0.8e+", -8.0000000000e-01, 4,
+__LINE__, "-0.8e-", -8.0000000000e-01, 4,
+__LINE__, "-08e-1", -8.0000000000e-01, 6,
+__LINE__, "-8e-1", -8.0000000000e-01, 5,
+__LINE__, " -.8e-1", -8.0000000000e-02, 7,
+__LINE__, " -0.8e-1", -8.0000000000e-02, 8,
+__LINE__, "-.8e-1", -8.0000000000e-02, 6,
+__LINE__, "-0.8e-1", -8.0000000000e-02, 7,
+__LINE__, " -081", -8.1000000000e+01, 5,
+__LINE__, " -81", -8.1000000000e+01, 4,
+__LINE__, "-081", -8.1000000000e+01, 4,
+__LINE__, "-81", -8.1000000000e+01, 3,
+__LINE__, " -.81", -8.1000000000e-01, 5,
+__LINE__, " -0.81", -8.1000000000e-01, 6,
+__LINE__, "-.81", -8.1000000000e-01, 4,
+__LINE__, "-0.81", -8.1000000000e-01, 5,
+__LINE__, " -0820", -8.2000000000e+02, 6,
+__LINE__, " -820", -8.2000000000e+02, 5,
+__LINE__, "-0820", -8.2000000000e+02, 5,
+__LINE__, "-820", -8.2000000000e+02, 4,
+__LINE__, " -.820", -8.2000000000e-01, 6,
+__LINE__, " -0.820", -8.2000000000e-01, 7,
+__LINE__, "-.820", -8.2000000000e-01, 5,
+__LINE__, "-0.820", -8.2000000000e-01, 6,
+__LINE__, " -.9e+1", -9.0000000000e+00, 7,
+__LINE__, " -.9e1", -9.0000000000e+00, 6,
+__LINE__, " -0.9e+1", -9.0000000000e+00, 8,
+__LINE__, " -0.9e1", -9.0000000000e+00, 7,
+__LINE__, " -09", -9.0000000000e+00, 4,
+__LINE__, " -09+", -9.0000000000e+00, 4,
+__LINE__, " -09+1", -9.0000000000e+00, 4,
+__LINE__, " -09+20", -9.0000000000e+00, 4,
+__LINE__, " -09-", -9.0000000000e+00, 4,
+__LINE__, " -09-1", -9.0000000000e+00, 4,
+__LINE__, " -09-20", -9.0000000000e+00, 4,
+__LINE__, " -09e", -9.0000000000e+00, 4,
+__LINE__, " -09e+", -9.0000000000e+00, 4,
+__LINE__, " -09e-", -9.0000000000e+00, 4,
+__LINE__, " -9", -9.0000000000e+00, 3,
+__LINE__, " -9+", -9.0000000000e+00, 3,
+__LINE__, " -9+1", -9.0000000000e+00, 3,
+__LINE__, " -9+20", -9.0000000000e+00, 3,
+__LINE__, " -9-", -9.0000000000e+00, 3,
+__LINE__, " -9-1", -9.0000000000e+00, 3,
+__LINE__, " -9-20", -9.0000000000e+00, 3,
+__LINE__, " -9e", -9.0000000000e+00, 3,
+__LINE__, " -9e+", -9.0000000000e+00, 3,
+__LINE__, " -9e-", -9.0000000000e+00, 3,
+__LINE__, "-.9e+1", -9.0000000000e+00, 6,
+__LINE__, "-.9e1", -9.0000000000e+00, 5,
+__LINE__, "-0.9e+1", -9.0000000000e+00, 7,
+__LINE__, "-0.9e1", -9.0000000000e+00, 6,
+__LINE__, "-09", -9.0000000000e+00, 3,
+__LINE__, "-09+", -9.0000000000e+00, 3,
+__LINE__, "-09+1", -9.0000000000e+00, 3,
+__LINE__, "-09+20", -9.0000000000e+00, 3,
+__LINE__, "-09-", -9.0000000000e+00, 3,
+__LINE__, "-09-1", -9.0000000000e+00, 3,
+__LINE__, "-09-20", -9.0000000000e+00, 3,
+__LINE__, "-09e", -9.0000000000e+00, 3,
+__LINE__, "-09e+", -9.0000000000e+00, 3,
+__LINE__, "-09e-", -9.0000000000e+00, 3,
+__LINE__, "-9", -9.0000000000e+00, 2,
+__LINE__, "-9+", -9.0000000000e+00, 2,
+__LINE__, "-9+1", -9.0000000000e+00, 2,
+__LINE__, "-9+20", -9.0000000000e+00, 2,
+__LINE__, "-9-", -9.0000000000e+00, 2,
+__LINE__, "-9-1", -9.0000000000e+00, 2,
+__LINE__, "-9-20", -9.0000000000e+00, 2,
+__LINE__, "-9e", -9.0000000000e+00, 2,
+__LINE__, "-9e+", -9.0000000000e+00, 2,
+__LINE__, "-9e-", -9.0000000000e+00, 2,
+__LINE__, " -09e+1", -9.0000000000e+01, 7,
+__LINE__, " -09e1", -9.0000000000e+01, 6,
+__LINE__, " -9e+1", -9.0000000000e+01, 6,
+__LINE__, " -9e1", -9.0000000000e+01, 5,
+__LINE__, "-09e+1", -9.0000000000e+01, 6,
+__LINE__, "-09e1", -9.0000000000e+01, 5,
+__LINE__, "-9e+1", -9.0000000000e+01, 5,
+__LINE__, "-9e1", -9.0000000000e+01, 4,
+__LINE__, " -.9e+20", -9.0000000000e+19, 8,
+__LINE__, " -.9e20", -9.0000000000e+19, 7,
+__LINE__, " -0.9e+20", -9.0000000000e+19, 9,
+__LINE__, " -0.9e20", -9.0000000000e+19, 8,
+__LINE__, "-.9e+20", -9.0000000000e+19, 7,
+__LINE__, "-.9e20", -9.0000000000e+19, 6,
+__LINE__, "-0.9e+20", -9.0000000000e+19, 8,
+__LINE__, "-0.9e20", -9.0000000000e+19, 7,
+__LINE__, " -09e+20", -9.0000000000e+20, 8,
+__LINE__, " -09e20", -9.0000000000e+20, 7,
+__LINE__, " -9e+20", -9.0000000000e+20, 7,
+__LINE__, " -9e20", -9.0000000000e+20, 6,
+__LINE__, "-09e+20", -9.0000000000e+20, 7,
+__LINE__, "-09e20", -9.0000000000e+20, 6,
+__LINE__, "-9e+20", -9.0000000000e+20, 6,
+__LINE__, "-9e20", -9.0000000000e+20, 5,
+__LINE__, " -.9", -9.0000000000e-01, 4,
+__LINE__, " -.9+", -9.0000000000e-01, 4,
+__LINE__, " -.9+1", -9.0000000000e-01, 4,
+__LINE__, " -.9+20", -9.0000000000e-01, 4,
+__LINE__, " -.9-", -9.0000000000e-01, 4,
+__LINE__, " -.9-1", -9.0000000000e-01, 4,
+__LINE__, " -.9-20", -9.0000000000e-01, 4,
+__LINE__, " -.9e", -9.0000000000e-01, 4,
+__LINE__, " -.9e+", -9.0000000000e-01, 4,
+__LINE__, " -.9e-", -9.0000000000e-01, 4,
+__LINE__, " -0.9", -9.0000000000e-01, 5,
+__LINE__, " -0.9+", -9.0000000000e-01, 5,
+__LINE__, " -0.9+1", -9.0000000000e-01, 5,
+__LINE__, " -0.9+20", -9.0000000000e-01, 5,
+__LINE__, " -0.9-", -9.0000000000e-01, 5,
+__LINE__, " -0.9-1", -9.0000000000e-01, 5,
+__LINE__, " -0.9-20", -9.0000000000e-01, 5,
+__LINE__, " -0.9e", -9.0000000000e-01, 5,
+__LINE__, " -0.9e+", -9.0000000000e-01, 5,
+__LINE__, " -0.9e-", -9.0000000000e-01, 5,
+__LINE__, " -09e-1", -9.0000000000e-01, 7,
+__LINE__, " -9e-1", -9.0000000000e-01, 6,
+__LINE__, "-.9", -9.0000000000e-01, 3,
+__LINE__, "-.9+", -9.0000000000e-01, 3,
+__LINE__, "-.9+1", -9.0000000000e-01, 3,
+__LINE__, "-.9+20", -9.0000000000e-01, 3,
+__LINE__, "-.9-", -9.0000000000e-01, 3,
+__LINE__, "-.9-1", -9.0000000000e-01, 3,
+__LINE__, "-.9-20", -9.0000000000e-01, 3,
+__LINE__, "-.9e", -9.0000000000e-01, 3,
+__LINE__, "-.9e+", -9.0000000000e-01, 3,
+__LINE__, "-.9e-", -9.0000000000e-01, 3,
+__LINE__, "-0.9", -9.0000000000e-01, 4,
+__LINE__, "-0.9+", -9.0000000000e-01, 4,
+__LINE__, "-0.9+1", -9.0000000000e-01, 4,
+__LINE__, "-0.9+20", -9.0000000000e-01, 4,
+__LINE__, "-0.9-", -9.0000000000e-01, 4,
+__LINE__, "-0.9-1", -9.0000000000e-01, 4,
+__LINE__, "-0.9-20", -9.0000000000e-01, 4,
+__LINE__, "-0.9e", -9.0000000000e-01, 4,
+__LINE__, "-0.9e+", -9.0000000000e-01, 4,
+__LINE__, "-0.9e-", -9.0000000000e-01, 4,
+__LINE__, "-09e-1", -9.0000000000e-01, 6,
+__LINE__, "-9e-1", -9.0000000000e-01, 5,
+__LINE__, " -.9e-1", -9.0000000000e-02, 7,
+__LINE__, " -0.9e-1", -9.0000000000e-02, 8,
+__LINE__, "-.9e-1", -9.0000000000e-02, 6,
+__LINE__, "-0.9e-1", -9.0000000000e-02, 7,
+__LINE__, " -09e-20", -9.0000000000e-20, 8,
+__LINE__, " -9e-20", -9.0000000000e-20, 7,
+__LINE__, "-09e-20", -9.0000000000e-20, 7,
+__LINE__, "-9e-20", -9.0000000000e-20, 6,
+__LINE__, " -.9e-20", -9.0000000000e-21, 8,
+__LINE__, " -0.9e-20", -9.0000000000e-21, 9,
+__LINE__, "-.9e-20", -9.0000000000e-21, 7,
+__LINE__, "-0.9e-20", -9.0000000000e-21, 8,
+__LINE__, " -091", -9.1000000000e+01, 5,
+__LINE__, " -91", -9.1000000000e+01, 4,
+__LINE__, "-091", -9.1000000000e+01, 4,
+__LINE__, "-91", -9.1000000000e+01, 3,
+__LINE__, " -.91", -9.1000000000e-01, 5,
+__LINE__, " -0.91", -9.1000000000e-01, 6,
+__LINE__, "-.91", -9.1000000000e-01, 4,
+__LINE__, "-0.91", -9.1000000000e-01, 5,
+__LINE__, " -0920", -9.2000000000e+02, 6,
+__LINE__, " -920", -9.2000000000e+02, 5,
+__LINE__, "-0920", -9.2000000000e+02, 5,
+__LINE__, "-920", -9.2000000000e+02, 4,
+__LINE__, " -.920", -9.2000000000e-01, 6,
+__LINE__, " -0.920", -9.2000000000e-01, 7,
+__LINE__, "-.920", -9.2000000000e-01, 5,
+__LINE__, "-0.920", -9.2000000000e-01, 6,
+__LINE__, " ", 0.0000000000e+00, 0,
+__LINE__, " +", 0.0000000000e+00, 0,
+__LINE__, " ++", 0.0000000000e+00, 0,
+__LINE__, " ++1", 0.0000000000e+00, 0,
+__LINE__, " ++20", 0.0000000000e+00, 0,
+__LINE__, " +-", 0.0000000000e+00, 0,
+__LINE__, " +-1", 0.0000000000e+00, 0,
+__LINE__, " +-20", 0.0000000000e+00, 0,
+__LINE__, " +.", 0.0000000000e+00,0,
+__LINE__, " +.+", 0.0000000000e+00,0,
+__LINE__, " +.+1", 0.0000000000e+00,0,
+__LINE__, " +.+20", 0.0000000000e+00,0,
+__LINE__, " +.-", 0.0000000000e+00,0,
+__LINE__, " +.-1", 0.0000000000e+00,0,
+__LINE__, " +.-20", 0.0000000000e+00,0,
+__LINE__, " +.e", 0.0000000000e+00,0,
+__LINE__, " +.e+", 0.0000000000e+00,0,
+__LINE__, " +.e+1", 0.0000000000e+00,0,
+__LINE__, " +.e+20", 0.0000000000e+00,0,
+__LINE__, " +.e-", 0.0000000000e+00,0,
+__LINE__, " +.e-1", 0.0000000000e+00,0,
+__LINE__, " +.e-20", 0.0000000000e+00,0,
+__LINE__, " +.e1", 0.0000000000e+00,0,
+__LINE__, " +.e20", 0.0000000000e+00,0,
+__LINE__, " +0", 0.0000000000e+00, 3,
+__LINE__, " +0+", 0.0000000000e+00, 3,
+__LINE__, " +0+1", 0.0000000000e+00, 3,
+__LINE__, " +0+20", 0.0000000000e+00, 3,
+__LINE__, " +0-", 0.0000000000e+00, 3,
+__LINE__, " +0-1", 0.0000000000e+00, 3,
+__LINE__, " +0-20", 0.0000000000e+00, 3,
+__LINE__, " +0.", 0.0000000000e+00, 4,
+__LINE__, " +0.+", 0.0000000000e+00, 4,
+__LINE__, " +0.+1", 0.0000000000e+00, 4,
+__LINE__, " +0.+20", 0.0000000000e+00, 4,
+__LINE__, " +0.-", 0.0000000000e+00, 4,
+__LINE__, " +0.-1", 0.0000000000e+00, 4,
+__LINE__, " +0.-20", 0.0000000000e+00, 4,
+__LINE__, " +0.e", 0.0000000000e+00, 4,
+__LINE__, " +0.e+", 0.0000000000e+00, 4,
+__LINE__, " +0.e+1", 0.0000000000e+00, 7,
+__LINE__, " +0.e+20", 0.0000000000e+00, 8,
+__LINE__, " +0.e-", 0.0000000000e+00, 4,
+__LINE__, " +0.e-1", 0.0000000000e+00, 7,
+__LINE__, " +0.e-20", 0.0000000000e+00, 8,
+__LINE__, " +0.e1", 0.0000000000e+00, 6,
+__LINE__, " +0.e20", 0.0000000000e+00, 7,
+__LINE__, " +0e", 0.0000000000e+00, 3,
+__LINE__, " +0e+", 0.0000000000e+00, 3,
+__LINE__, " +0e+1", 0.0000000000e+00, 6,
+__LINE__, " +0e+20", 0.0000000000e+00, 7,
+__LINE__, " +0e-", 0.0000000000e+00, 3,
+__LINE__, " +0e-1", 0.0000000000e+00, 6,
+__LINE__, " +0e-20", 0.0000000000e+00, 7,
+__LINE__, " +0e1", 0.0000000000e+00, 5,
+__LINE__, " +0e20", 0.0000000000e+00, 6,
+__LINE__, " +e", 0.0000000000e+00, 0,
+__LINE__, " +e+", 0.0000000000e+00, 0,
+__LINE__, " +e+1", 0.0000000000e+00, 0,
+__LINE__, " +e+20", 0.0000000000e+00, 0,
+__LINE__, " +e-", 0.0000000000e+00, 0,
+__LINE__, " +e-1", 0.0000000000e+00, 0,
+__LINE__, " +e-20", 0.0000000000e+00, 0,
+__LINE__, " +e1", 0.0000000000e+00, 0,
+__LINE__, " +e20", 0.0000000000e+00, 0,
+__LINE__, " -", 0.0000000000e+00, 0,
+__LINE__, " -+", 0.0000000000e+00, 0,
+__LINE__, " -+1", 0.0000000000e+00, 0,
+__LINE__, " -+20", 0.0000000000e+00, 0,
+__LINE__, " --", 0.0000000000e+00, 0,
+__LINE__, " --1", 0.0000000000e+00, 0,
+__LINE__, " --20", 0.0000000000e+00, 0,
+__LINE__, " -.", 0.0000000000e+00,0,
+__LINE__, " -.+", 0.0000000000e+00,0,
+__LINE__, " -.+1", 0.0000000000e+00,0,
+__LINE__, " -.+20", 0.0000000000e+00,0,
+__LINE__, " -.-", 0.0000000000e+00,0,
+__LINE__, " -.-1", 0.0000000000e+00,0,
+__LINE__, " -.-20", 0.0000000000e+00,0,
+__LINE__, " -.e", 0.0000000000e+00,0,
+__LINE__, " -.e+", 0.0000000000e+00,0,
+__LINE__, " -.e+1", 0.0000000000e+00,0,
+__LINE__, " -.e+20", 0.0000000000e+00,0,
+__LINE__, " -.e-", 0.0000000000e+00,0,
+__LINE__, " -.e-1", 0.0000000000e+00,0,
+__LINE__, " -.e-20", 0.0000000000e+00,0,
+__LINE__, " -.e1", 0.0000000000e+00,0,
+__LINE__, " -.e20", 0.0000000000e+00,0,
+__LINE__, " -0", 0.0000000000e+00, 3,
+__LINE__, " -0+", 0.0000000000e+00, 3,
+__LINE__, " -0+1", 0.0000000000e+00, 3,
+__LINE__, " -0+20", 0.0000000000e+00, 3,
+__LINE__, " -0-", 0.0000000000e+00, 3,
+__LINE__, " -0-1", 0.0000000000e+00, 3,
+__LINE__, " -0-20", 0.0000000000e+00, 3,
+__LINE__, " -0.", 0.0000000000e+00, 4,
+__LINE__, " -0.+", 0.0000000000e+00, 4,
+__LINE__, " -0.+1", 0.0000000000e+00, 4,
+__LINE__, " -0.+20", 0.0000000000e+00, 4,
+__LINE__, " -0.-", 0.0000000000e+00, 4,
+__LINE__, " -0.-1", 0.0000000000e+00, 4,
+__LINE__, " -0.-20", 0.0000000000e+00, 4,
+__LINE__, " -0.e", 0.0000000000e+00, 4,
+__LINE__, " -0.e+", 0.0000000000e+00, 4,
+__LINE__, " -0.e+1", 0.0000000000e+00, 7,
+__LINE__, " -0.e+20", 0.0000000000e+00, 8,
+__LINE__, " -0.e-", 0.0000000000e+00, 4,
+__LINE__, " -0.e-1", 0.0000000000e+00, 7,
+__LINE__, " -0.e-20", 0.0000000000e+00, 8,
+__LINE__, " -0.e1", 0.0000000000e+00, 6,
+__LINE__, " -0.e20", 0.0000000000e+00, 7,
+__LINE__, " -0e", 0.0000000000e+00, 3,
+__LINE__, " -0e+", 0.0000000000e+00, 3,
+__LINE__, " -0e+1", 0.0000000000e+00, 6,
+__LINE__, " -0e+20", 0.0000000000e+00, 7,
+__LINE__, " -0e-", 0.0000000000e+00, 3,
+__LINE__, " -0e-1", 0.0000000000e+00, 6,
+__LINE__, " -0e-20", 0.0000000000e+00, 7,
+__LINE__, " -0e1", 0.0000000000e+00, 5,
+__LINE__, " -0e20", 0.0000000000e+00, 6,
+__LINE__, " -e", 0.0000000000e+00, 0,
+__LINE__, " -e+", 0.0000000000e+00, 0,
+__LINE__, " -e+1", 0.0000000000e+00, 0,
+__LINE__, " -e+20", 0.0000000000e+00, 0,
+__LINE__, " -e-", 0.0000000000e+00, 0,
+__LINE__, " -e-1", 0.0000000000e+00, 0,
+__LINE__, " -e-20", 0.0000000000e+00, 0,
+__LINE__, " -e1", 0.0000000000e+00, 0,
+__LINE__, " -e20", 0.0000000000e+00, 0,
+__LINE__, " .", 0.0000000000e+00,0,
+__LINE__, " .+", 0.0000000000e+00,0,
+__LINE__, " .+1", 0.0000000000e+00,0,
+__LINE__, " .+20", 0.0000000000e+00,0,
+__LINE__, " .-", 0.0000000000e+00,0,
+__LINE__, " .-1", 0.0000000000e+00,0,
+__LINE__, " .-20", 0.0000000000e+00,0,
+__LINE__, " .e", 0.0000000000e+00,0,
+__LINE__, " .e+", 0.0000000000e+00,0,
+__LINE__, " .e+1", 0.0000000000e+00,0,
+__LINE__, " .e+20", 0.0000000000e+00,0,
+__LINE__, " .e-", 0.0000000000e+00,0,
+__LINE__, " .e-1", 0.0000000000e+00,0,
+__LINE__, " .e-20", 0.0000000000e+00,0,
+__LINE__, " .e1", 0.0000000000e+00,0,
+__LINE__, " .e20", 0.0000000000e+00,0,
+__LINE__, " 0", 0.0000000000e+00, 2,
+__LINE__, " 0+", 0.0000000000e+00, 2,
+__LINE__, " 0+1", 0.0000000000e+00, 2,
+__LINE__, " 0+20", 0.0000000000e+00, 2,
+__LINE__, " 0-", 0.0000000000e+00, 2,
+__LINE__, " 0-1", 0.0000000000e+00, 2,
+__LINE__, " 0-20", 0.0000000000e+00, 2,
+__LINE__, " 0.", 0.0000000000e+00, 3,
+__LINE__, " 0.+", 0.0000000000e+00, 3,
+__LINE__, " 0.+1", 0.0000000000e+00, 3,
+__LINE__, " 0.+20", 0.0000000000e+00, 3,
+__LINE__, " 0.-", 0.0000000000e+00, 3,
+__LINE__, " 0.-1", 0.0000000000e+00, 3,
+__LINE__, " 0.-20", 0.0000000000e+00, 3,
+__LINE__, " 0.e", 0.0000000000e+00, 3,
+__LINE__, " 0.e+", 0.0000000000e+00, 3,
+__LINE__, " 0.e+1", 0.0000000000e+00, 6,
+__LINE__, " 0.e+20", 0.0000000000e+00, 7,
+__LINE__, " 0.e-", 0.0000000000e+00, 3,
+__LINE__, " 0.e-1", 0.0000000000e+00, 6,
+__LINE__, " 0.e-20", 0.0000000000e+00, 7,
+__LINE__, " 0.e1", 0.0000000000e+00, 5,
+__LINE__, " 0.e20", 0.0000000000e+00, 6,
+__LINE__, " 0e", 0.0000000000e+00, 2,
+__LINE__, " 0e+", 0.0000000000e+00, 2,
+__LINE__, " 0e+1", 0.0000000000e+00, 5,
+__LINE__, " 0e+20", 0.0000000000e+00, 6,
+__LINE__, " 0e-", 0.0000000000e+00, 2,
+__LINE__, " 0e-1", 0.0000000000e+00, 5,
+__LINE__, " 0e-20", 0.0000000000e+00, 6,
+__LINE__, " 0e1", 0.0000000000e+00, 4,
+__LINE__, " 0e20", 0.0000000000e+00, 5,
+__LINE__, " e", 0.0000000000e+00, 0,
+__LINE__, " e+", 0.0000000000e+00, 0,
+__LINE__, " e+1", 0.0000000000e+00, 0,
+__LINE__, " e+20", 0.0000000000e+00, 0,
+__LINE__, " e-", 0.0000000000e+00, 0,
+__LINE__, " e-1", 0.0000000000e+00, 0,
+__LINE__, " e-20", 0.0000000000e+00, 0,
+__LINE__, " e1", 0.0000000000e+00, 0,
+__LINE__, " e20", 0.0000000000e+00, 0,
+__LINE__, "", 0.0000000000e+00, 0,
+__LINE__, "+", 0.0000000000e+00, 0,
+__LINE__, "++", 0.0000000000e+00, 0,
+__LINE__, "++1", 0.0000000000e+00, 0,
+__LINE__, "++20", 0.0000000000e+00, 0,
+__LINE__, "+-", 0.0000000000e+00, 0,
+__LINE__, "+-1", 0.0000000000e+00, 0,
+__LINE__, "+-20", 0.0000000000e+00, 0,
+__LINE__, "+.", 0.0000000000e+00,0,
+__LINE__, "+.+", 0.0000000000e+00,0,
+__LINE__, "+.+1", 0.0000000000e+00,0,
+__LINE__, "+.+20", 0.0000000000e+00,0,
+__LINE__, "+.-", 0.0000000000e+00,0,
+__LINE__, "+.-1", 0.0000000000e+00,0,
+__LINE__, "+.-20", 0.0000000000e+00,0,
+__LINE__, "+.e", 0.0000000000e+00,0,
+__LINE__, "+.e+", 0.0000000000e+00,0,
+__LINE__, "+.e+1", 0.0000000000e+00,0,
+__LINE__, "+.e+20", 0.0000000000e+00,0,
+__LINE__, "+.e-", 0.0000000000e+00,0,
+__LINE__, "+.e-1", 0.0000000000e+00,0,
+__LINE__, "+.e-20", 0.0000000000e+00,0,
+__LINE__, "+.e1", 0.0000000000e+00,0,
+__LINE__, "+.e20", 0.0000000000e+00,0,
+__LINE__, "+0", 0.0000000000e+00, 2,
+__LINE__, "+0+", 0.0000000000e+00, 2,
+__LINE__, "+0+1", 0.0000000000e+00, 2,
+__LINE__, "+0+20", 0.0000000000e+00, 2,
+__LINE__, "+0-", 0.0000000000e+00, 2,
+__LINE__, "+0-1", 0.0000000000e+00, 2,
+__LINE__, "+0-20", 0.0000000000e+00, 2,
+__LINE__, "+0.", 0.0000000000e+00, 3,
+__LINE__, "+0.+", 0.0000000000e+00, 3,
+__LINE__, "+0.+1", 0.0000000000e+00, 3,
+__LINE__, "+0.+20", 0.0000000000e+00, 3,
+__LINE__, "+0.-", 0.0000000000e+00, 3,
+__LINE__, "+0.-1", 0.0000000000e+00, 3,
+__LINE__, "+0.-20", 0.0000000000e+00, 3,
+__LINE__, "+0.e", 0.0000000000e+00, 3,
+__LINE__, "+0.e+", 0.0000000000e+00, 3,
+__LINE__, "+0.e+1", 0.0000000000e+00, 6,
+__LINE__, "+0.e+20", 0.0000000000e+00, 7,
+__LINE__, "+0.e-", 0.0000000000e+00, 3,
+__LINE__, "+0.e-1", 0.0000000000e+00, 6,
+__LINE__, "+0.e-20", 0.0000000000e+00, 7,
+__LINE__, "+0.e1", 0.0000000000e+00, 5,
+__LINE__, "+0.e20", 0.0000000000e+00, 6,
+__LINE__, "+0e", 0.0000000000e+00, 2,
+__LINE__, "+0e+", 0.0000000000e+00, 2,
+__LINE__, "+0e+1", 0.0000000000e+00, 5,
+__LINE__, "+0e+20", 0.0000000000e+00, 6,
+__LINE__, "+0e-", 0.0000000000e+00, 2,
+__LINE__, "+0e-1", 0.0000000000e+00, 5,
+__LINE__, "+0e-20", 0.0000000000e+00, 6,
+__LINE__, "+0e1", 0.0000000000e+00, 4,
+__LINE__, "+0e20", 0.0000000000e+00, 5,
+__LINE__, "+e", 0.0000000000e+00, 0,
+__LINE__, "+e+", 0.0000000000e+00, 0,
+__LINE__, "+e+1", 0.0000000000e+00, 0,
+__LINE__, "+e+20", 0.0000000000e+00, 0,
+__LINE__, "+e-", 0.0000000000e+00, 0,
+__LINE__, "+e-1", 0.0000000000e+00, 0,
+__LINE__, "+e-20", 0.0000000000e+00, 0,
+__LINE__, "+e1", 0.0000000000e+00, 0,
+__LINE__, "+e20", 0.0000000000e+00, 0,
+__LINE__, "-", 0.0000000000e+00, 0,
+__LINE__, "-+", 0.0000000000e+00, 0,
+__LINE__, "-+1", 0.0000000000e+00, 0,
+__LINE__, "-+20", 0.0000000000e+00, 0,
+__LINE__, "--", 0.0000000000e+00, 0,
+__LINE__, "--1", 0.0000000000e+00, 0,
+__LINE__, "--20", 0.0000000000e+00, 0,
+__LINE__, "-.", 0.0000000000e+00,0,
+__LINE__, "-.+", 0.0000000000e+00,0,
+__LINE__, "-.+1", 0.0000000000e+00,0,
+__LINE__, "-.+20", 0.0000000000e+00,0,
+__LINE__, "-.-", 0.0000000000e+00,0,
+__LINE__, "-.-1", 0.0000000000e+00,0,
+__LINE__, "-.-20", 0.0000000000e+00,0,
+__LINE__, "-.e", 0.0000000000e+00,0,
+__LINE__, "-.e+", 0.0000000000e+00,0,
+__LINE__, "-.e+1", 0.0000000000e+00,0,
+__LINE__, "-.e+20", 0.0000000000e+00,0,
+__LINE__, "-.e-", 0.0000000000e+00,0,
+__LINE__, "-.e-1", 0.0000000000e+00,0,
+__LINE__, "-.e-20", 0.0000000000e+00,0,
+__LINE__, "-.e1", 0.0000000000e+00,0,
+__LINE__, "-.e20", 0.0000000000e+00,0,
+__LINE__, "-0", 0.0000000000e+00, 2,
+__LINE__, "-0+", 0.0000000000e+00, 2,
+__LINE__, "-0+1", 0.0000000000e+00, 2,
+__LINE__, "-0+20", 0.0000000000e+00, 2,
+__LINE__, "-0-", 0.0000000000e+00, 2,
+__LINE__, "-0-1", 0.0000000000e+00, 2,
+__LINE__, "-0-20", 0.0000000000e+00, 2,
+__LINE__, "-0.", 0.0000000000e+00, 3,
+__LINE__, "-0.+", 0.0000000000e+00, 3,
+__LINE__, "-0.+1", 0.0000000000e+00, 3,
+__LINE__, "-0.+20", 0.0000000000e+00, 3,
+__LINE__, "-0.-", 0.0000000000e+00, 3,
+__LINE__, "-0.-1", 0.0000000000e+00, 3,
+__LINE__, "-0.-20", 0.0000000000e+00, 3,
+__LINE__, "-0.e", 0.0000000000e+00, 3,
+__LINE__, "-0.e+", 0.0000000000e+00, 3,
+__LINE__, "-0.e+1", 0.0000000000e+00, 6,
+__LINE__, "-0.e+20", 0.0000000000e+00, 7,
+__LINE__, "-0.e-", 0.0000000000e+00, 3,
+__LINE__, "-0.e-1", 0.0000000000e+00, 6,
+__LINE__, "-0.e-20", 0.0000000000e+00, 7,
+__LINE__, "-0.e1", 0.0000000000e+00, 5,
+__LINE__, "-0.e20", 0.0000000000e+00, 6,
+__LINE__, "-0e", 0.0000000000e+00, 2,
+__LINE__, "-0e+", 0.0000000000e+00, 2,
+__LINE__, "-0e+1", 0.0000000000e+00, 5,
+__LINE__, "-0e+20", 0.0000000000e+00, 6,
+__LINE__, "-0e-", 0.0000000000e+00, 2,
+__LINE__, "-0e-1", 0.0000000000e+00, 5,
+__LINE__, "-0e-20", 0.0000000000e+00, 6,
+__LINE__, "-0e1", 0.0000000000e+00, 4,
+__LINE__, "-0e20", 0.0000000000e+00, 5,
+__LINE__, "-e", 0.0000000000e+00, 0,
+__LINE__, "-e+", 0.0000000000e+00, 0,
+__LINE__, "-e+1", 0.0000000000e+00, 0,
+__LINE__, "-e+20", 0.0000000000e+00, 0,
+__LINE__, "-e-", 0.0000000000e+00, 0,
+__LINE__, "-e-1", 0.0000000000e+00, 0,
+__LINE__, "-e-20", 0.0000000000e+00, 0,
+__LINE__, "-e1", 0.0000000000e+00, 0,
+__LINE__, "-e20", 0.0000000000e+00, 0,
+__LINE__, ".", 0.0000000000e+00,0,
+__LINE__, ".+", 0.0000000000e+00,0,
+__LINE__, ".+1", 0.0000000000e+00,0,
+__LINE__, ".+20", 0.0000000000e+00,0,
+__LINE__, ".-", 0.0000000000e+00,0,
+__LINE__, ".-1", 0.0000000000e+00,0,
+__LINE__, ".-20", 0.0000000000e+00,0,
+__LINE__, ".e", 0.0000000000e+00,0,
+__LINE__, ".e+", 0.0000000000e+00,0,
+__LINE__, ".e+1", 0.0000000000e+00,0,
+__LINE__, ".e+20", 0.0000000000e+00,0,
+__LINE__, ".e-", 0.0000000000e+00,0,
+__LINE__, ".e-1", 0.0000000000e+00,0,
+__LINE__, ".e-20", 0.0000000000e+00,0,
+__LINE__, ".e1", 0.0000000000e+00,0,
+__LINE__, ".e20", 0.0000000000e+00,0,
+__LINE__, "0", 0.0000000000e+00, 1,
+__LINE__, "0+", 0.0000000000e+00, 1,
+__LINE__, "0+1", 0.0000000000e+00, 1,
+__LINE__, "0+20", 0.0000000000e+00, 1,
+__LINE__, "0-", 0.0000000000e+00, 1,
+__LINE__, "0-1", 0.0000000000e+00, 1,
+__LINE__, "0-20", 0.0000000000e+00, 1,
+__LINE__, "0.", 0.0000000000e+00, 2,
+__LINE__, "0.+", 0.0000000000e+00, 2,
+__LINE__, "0.+1", 0.0000000000e+00, 2,
+__LINE__, "0.+20", 0.0000000000e+00, 2,
+__LINE__, "0.-", 0.0000000000e+00, 2,
+__LINE__, "0.-1", 0.0000000000e+00, 2,
+__LINE__, "0.-20", 0.0000000000e+00, 2,
+__LINE__, "0.e", 0.0000000000e+00, 2,
+__LINE__, "0.e+", 0.0000000000e+00, 2,
+__LINE__, "0.e+1", 0.0000000000e+00, 5,
+__LINE__, "0.e+20", 0.0000000000e+00, 6,
+__LINE__, "0.e-", 0.0000000000e+00, 2,
+__LINE__, "0.e-1", 0.0000000000e+00, 5,
+__LINE__, "0.e-20", 0.0000000000e+00, 6,
+__LINE__, "0.e1", 0.0000000000e+00, 4,
+__LINE__, "0.e20", 0.0000000000e+00, 5,
+__LINE__, "0e", 0.0000000000e+00, 1,
+__LINE__, "0e+", 0.0000000000e+00, 1,
+__LINE__, "0e+1", 0.0000000000e+00, 4,
+__LINE__, "0e+20", 0.0000000000e+00, 5,
+__LINE__, "0e-", 0.0000000000e+00, 1,
+__LINE__, "0e-1", 0.0000000000e+00, 4,
+__LINE__, "0e-20", 0.0000000000e+00, 5,
+__LINE__, "0e1", 0.0000000000e+00, 3,
+__LINE__, "0e20", 0.0000000000e+00, 4,
+__LINE__, "e", 0.0000000000e+00, 0,
+__LINE__, "e+", 0.0000000000e+00, 0,
+__LINE__, "e+1", 0.0000000000e+00, 0,
+__LINE__, "e+20", 0.0000000000e+00, 0,
+__LINE__, "e-", 0.0000000000e+00, 0,
+__LINE__, "e-1", 0.0000000000e+00, 0,
+__LINE__, "e-20", 0.0000000000e+00, 0,
+__LINE__, "e1", 0.0000000000e+00, 0,
+__LINE__, "e20", 0.0000000000e+00, 0,
+__LINE__, " +01", 1.0000000000e+00, 4,
+__LINE__, " +1", 1.0000000000e+00, 3,
+__LINE__, " 01", 1.0000000000e+00, 3,
+__LINE__, " 1", 1.0000000000e+00, 2,
+__LINE__, "+01", 1.0000000000e+00, 3,
+__LINE__, "+1", 1.0000000000e+00, 2,
+__LINE__, "01", 1.0000000000e+00, 2,
+__LINE__, "1", 1.0000000000e+00, 1,
+__LINE__, " +.1", 1.0000000000e-01, 4,
+__LINE__, " +0.1", 1.0000000000e-01, 5,
+__LINE__, " .1", 1.0000000000e-01, 3,
+__LINE__, " 0.1", 1.0000000000e-01, 4,
+__LINE__, "+.1", 1.0000000000e-01, 3,
+__LINE__, "+0.1", 1.0000000000e-01, 4,
+__LINE__, ".1", 1.0000000000e-01, 2,
+__LINE__, "0.1", 1.0000000000e-01, 3,
+__LINE__, " +01241e-1", 1.2410000000e+02, 10,
+__LINE__, " +1241e-1", 1.2410000000e+02, 9,
+__LINE__, " 01241e-1", 1.2410000000e+02, 9,
+__LINE__, " 1241e-1", 1.2410000000e+02, 8,
+__LINE__, "+01241e-1", 1.2410000000e+02, 9,
+__LINE__, "+1241e-1", 1.2410000000e+02, 8,
+__LINE__, "01241e-1", 1.2410000000e+02, 8,
+__LINE__, "1241e-1", 1.2410000000e+02, 7,
+__LINE__, " +.1241e-1", 1.2410000000e-02, 10,
+__LINE__, " +0.1241e-1", 1.2410000000e-02, 11,
+__LINE__, " .1241e-1", 1.2410000000e-02, 9,
+__LINE__, " 0.1241e-1", 1.2410000000e-02, 10,
+__LINE__, "+.1241e-1", 1.2410000000e-02, 9,
+__LINE__, "+0.1241e-1", 1.2410000000e-02, 10,
+__LINE__, ".1241e-1", 1.2410000000e-02, 8,
+__LINE__, "0.1241e-1", 1.2410000000e-02, 9,
+__LINE__, " +01241e-20", 1.2410000000e-17, 11,
+__LINE__, " +1241e-20", 1.2410000000e-17, 10,
+__LINE__, " 01241e-20", 1.2410000000e-17, 10,
+__LINE__, " 1241e-20", 1.2410000000e-17, 9,
+__LINE__, "+01241e-20", 1.2410000000e-17, 10,
+__LINE__, "+1241e-20", 1.2410000000e-17, 9,
+__LINE__, "01241e-20", 1.2410000000e-17, 9,
+__LINE__, "1241e-20", 1.2410000000e-17, 8,
+__LINE__, " +.1241e+1", 1.2410000000e+00, 10,
+__LINE__, " +.1241e1", 1.2410000000e+00, 9,
+__LINE__, " +0.1241e+1", 1.2410000000e+00, 11,
+__LINE__, " +0.1241e1", 1.2410000000e+00, 10,
+__LINE__, " .1241e+1", 1.2410000000e+00, 9,
+__LINE__, " .1241e1", 1.2410000000e+00, 8,
+__LINE__, " 0.1241e+1", 1.2410000000e+00, 10,
+__LINE__, " 0.1241e1", 1.2410000000e+00, 9,
+__LINE__, "+.1241e+1", 1.2410000000e+00, 9,
+__LINE__, "+.1241e1", 1.2410000000e+00, 8,
+__LINE__, "+0.1241e+1", 1.2410000000e+00, 10,
+__LINE__, "+0.1241e1", 1.2410000000e+00, 9,
+__LINE__, ".1241e+1", 1.2410000000e+00, 8,
+__LINE__, ".1241e1", 1.2410000000e+00, 7,
+__LINE__, "0.1241e+1", 1.2410000000e+00, 9,
+__LINE__, "0.1241e1", 1.2410000000e+00, 8,
+__LINE__, " +01241", 1.2410000000e+03, 7,
+__LINE__, " +01241+", 1.2410000000e+03, 7,
+__LINE__, " +01241+1", 1.2410000000e+03, 7,
+__LINE__, " +01241+20", 1.2410000000e+03, 7,
+__LINE__, " +01241-", 1.2410000000e+03, 7,
+__LINE__, " +01241-1", 1.2410000000e+03, 7,
+__LINE__, " +01241-20", 1.2410000000e+03, 7,
+__LINE__, " +01241e", 1.2410000000e+03, 7,
+__LINE__, " +01241e+", 1.2410000000e+03, 7,
+__LINE__, " +01241e-", 1.2410000000e+03, 7,
+__LINE__, " +1241", 1.2410000000e+03, 6,
+__LINE__, " +1241+", 1.2410000000e+03, 6,
+__LINE__, " +1241+1", 1.2410000000e+03, 6,
+__LINE__, " +1241+20", 1.2410000000e+03, 6,
+__LINE__, " +1241-", 1.2410000000e+03, 6,
+__LINE__, " +1241-1", 1.2410000000e+03, 6,
+__LINE__, " +1241-20", 1.2410000000e+03, 6,
+__LINE__, " +1241e", 1.2410000000e+03, 6,
+__LINE__, " +1241e+", 1.2410000000e+03, 6,
+__LINE__, " +1241e-", 1.2410000000e+03, 6,
+__LINE__, " 01241", 1.2410000000e+03, 6,
+__LINE__, " 01241+", 1.2410000000e+03, 6,
+__LINE__, " 01241+1", 1.2410000000e+03, 6,
+__LINE__, " 01241+20", 1.2410000000e+03, 6,
+__LINE__, " 01241-", 1.2410000000e+03, 6,
+__LINE__, " 01241-1", 1.2410000000e+03, 6,
+__LINE__, " 01241-20", 1.2410000000e+03, 6,
+__LINE__, " 01241e", 1.2410000000e+03, 6,
+__LINE__, " 01241e+", 1.2410000000e+03, 6,
+__LINE__, " 01241e-", 1.2410000000e+03, 6,
+__LINE__, " 1241", 1.2410000000e+03, 5,
+__LINE__, " 1241+", 1.2410000000e+03, 5,
+__LINE__, " 1241+1", 1.2410000000e+03, 5,
+__LINE__, " 1241+20", 1.2410000000e+03, 5,
+__LINE__, " 1241-", 1.2410000000e+03, 5,
+__LINE__, " 1241-1", 1.2410000000e+03, 5,
+__LINE__, " 1241-20", 1.2410000000e+03, 5,
+__LINE__, " 1241e", 1.2410000000e+03, 5,
+__LINE__, " 1241e+", 1.2410000000e+03, 5,
+__LINE__, " 1241e-", 1.2410000000e+03, 5,
+__LINE__, "+01241", 1.2410000000e+03, 6,
+__LINE__, "+01241+", 1.2410000000e+03, 6,
+__LINE__, "+01241+1", 1.2410000000e+03, 6,
+__LINE__, "+01241+20", 1.2410000000e+03, 6,
+__LINE__, "+01241-", 1.2410000000e+03, 6,
+__LINE__, "+01241-1", 1.2410000000e+03, 6,
+__LINE__, "+01241-20", 1.2410000000e+03, 6,
+__LINE__, "+01241e", 1.2410000000e+03, 6,
+__LINE__, "+01241e+", 1.2410000000e+03, 6,
+__LINE__, "+01241e-", 1.2410000000e+03, 6,
+__LINE__, "+1241", 1.2410000000e+03, 5,
+__LINE__, "+1241+", 1.2410000000e+03, 5,
+__LINE__, "+1241+1", 1.2410000000e+03, 5,
+__LINE__, "+1241+20", 1.2410000000e+03, 5,
+__LINE__, "+1241-", 1.2410000000e+03, 5,
+__LINE__, "+1241-1", 1.2410000000e+03, 5,
+__LINE__, "+1241-20", 1.2410000000e+03, 5,
+__LINE__, "+1241e", 1.2410000000e+03, 5,
+__LINE__, "+1241e+", 1.2410000000e+03, 5,
+__LINE__, "+1241e-", 1.2410000000e+03, 5,
+__LINE__, "01241", 1.2410000000e+03, 5,
+__LINE__, "01241+", 1.2410000000e+03, 5,
+__LINE__, "01241+1", 1.2410000000e+03, 5,
+__LINE__, "01241+20", 1.2410000000e+03, 5,
+__LINE__, "01241-", 1.2410000000e+03, 5,
+__LINE__, "01241-1", 1.2410000000e+03, 5,
+__LINE__, "01241-20", 1.2410000000e+03, 5,
+__LINE__, "01241e", 1.2410000000e+03, 5,
+__LINE__, "01241e+", 1.2410000000e+03, 5,
+__LINE__, "01241e-", 1.2410000000e+03, 5,
+__LINE__, "1241", 1.2410000000e+03, 4,
+__LINE__, "1241+", 1.2410000000e+03, 4,
+__LINE__, "1241+1", 1.2410000000e+03, 4,
+__LINE__, "1241+20", 1.2410000000e+03, 4,
+__LINE__, "1241-", 1.2410000000e+03, 4,
+__LINE__, "1241-1", 1.2410000000e+03, 4,
+__LINE__, "1241-20", 1.2410000000e+03, 4,
+__LINE__, "1241e", 1.2410000000e+03, 4,
+__LINE__, "1241e+", 1.2410000000e+03, 4,
+__LINE__, "1241e-", 1.2410000000e+03, 4,
+__LINE__, " +01241e+1", 1.2410000000e+04, 10,
+__LINE__, " +01241e1", 1.2410000000e+04, 9,
+__LINE__, " +1241e+1", 1.2410000000e+04, 9,
+__LINE__, " +1241e1", 1.2410000000e+04, 8,
+__LINE__, " 01241e+1", 1.2410000000e+04, 9,
+__LINE__, " 01241e1", 1.2410000000e+04, 8,
+__LINE__, " 1241e+1", 1.2410000000e+04, 8,
+__LINE__, " 1241e1", 1.2410000000e+04, 7,
+__LINE__, "+01241e+1", 1.2410000000e+04, 9,
+__LINE__, "+01241e1", 1.2410000000e+04, 8,
+__LINE__, "+1241e+1", 1.2410000000e+04, 8,
+__LINE__, "+1241e1", 1.2410000000e+04, 7,
+__LINE__, "01241e+1", 1.2410000000e+04, 8,
+__LINE__, "01241e1", 1.2410000000e+04, 7,
+__LINE__, "1241e+1", 1.2410000000e+04, 7,
+__LINE__, "1241e1", 1.2410000000e+04, 6,
+__LINE__, " +.1241e+20", 1.2410000000e+19, 11,
+__LINE__, " +.1241e20", 1.2410000000e+19, 10,
+__LINE__, " +0.1241e+20", 1.2410000000e+19, 12,
+__LINE__, " +0.1241e20", 1.2410000000e+19, 11,
+__LINE__, " .1241e+20", 1.2410000000e+19, 10,
+__LINE__, " .1241e20", 1.2410000000e+19, 9,
+__LINE__, " 0.1241e+20", 1.2410000000e+19, 11,
+__LINE__, " 0.1241e20", 1.2410000000e+19, 10,
+__LINE__, "+.1241e+20", 1.2410000000e+19, 10,
+__LINE__, "+.1241e20", 1.2410000000e+19, 9,
+__LINE__, "+0.1241e+20", 1.2410000000e+19, 11,
+__LINE__, "+0.1241e20", 1.2410000000e+19, 10,
+__LINE__, ".1241e+20", 1.2410000000e+19, 9,
+__LINE__, ".1241e20", 1.2410000000e+19, 8,
+__LINE__, "0.1241e+20", 1.2410000000e+19, 10,
+__LINE__, "0.1241e20", 1.2410000000e+19, 9,
+__LINE__, " +01241e+20", 1.2410000000e+23, 11,
+__LINE__, " +01241e20", 1.2410000000e+23, 10,
+__LINE__, " +1241e+20", 1.2410000000e+23, 10,
+__LINE__, " +1241e20", 1.2410000000e+23, 9,
+__LINE__, " 01241e+20", 1.2410000000e+23, 10,
+__LINE__, " 01241e20", 1.2410000000e+23, 9,
+__LINE__, " 1241e+20", 1.2410000000e+23, 9,
+__LINE__, " 1241e20", 1.2410000000e+23, 8,
+__LINE__, "+01241e+20", 1.2410000000e+23, 10,
+__LINE__, "+01241e20", 1.2410000000e+23, 9,
+__LINE__, "+1241e+20", 1.2410000000e+23, 9,
+__LINE__, "+1241e20", 1.2410000000e+23, 8,
+__LINE__, "01241e+20", 1.2410000000e+23, 9,
+__LINE__, "01241e20", 1.2410000000e+23, 8,
+__LINE__, "1241e+20", 1.2410000000e+23, 8,
+__LINE__, "1241e20", 1.2410000000e+23, 7,
+__LINE__, " +.1241", 1.2410000000e-01, 7,
+__LINE__, " +.1241+", 1.2410000000e-01, 7,
+__LINE__, " +.1241+1", 1.2410000000e-01, 7,
+__LINE__, " +.1241+20", 1.2410000000e-01, 7,
+__LINE__, " +.1241-", 1.2410000000e-01, 7,
+__LINE__, " +.1241-1", 1.2410000000e-01, 7,
+__LINE__, " +.1241-20", 1.2410000000e-01, 7,
+__LINE__, " +.1241e", 1.2410000000e-01, 7,
+__LINE__, " +.1241e+", 1.2410000000e-01, 7,
+__LINE__, " +.1241e-", 1.2410000000e-01, 7,
+__LINE__, " +0.1241", 1.2410000000e-01, 8,
+__LINE__, " +0.1241+", 1.2410000000e-01, 8,
+__LINE__, " +0.1241+1", 1.2410000000e-01, 8,
+__LINE__, " +0.1241+20", 1.2410000000e-01, 8,
+__LINE__, " +0.1241-", 1.2410000000e-01, 8,
+__LINE__, " +0.1241-1", 1.2410000000e-01, 8,
+__LINE__, " +0.1241-20", 1.2410000000e-01, 8,
+__LINE__, " +0.1241e", 1.2410000000e-01, 8,
+__LINE__, " +0.1241e+", 1.2410000000e-01, 8,
+__LINE__, " +0.1241e-", 1.2410000000e-01, 8,
+__LINE__, " .1241", 1.2410000000e-01, 6,
+__LINE__, " .1241+", 1.2410000000e-01, 6,
+__LINE__, " .1241+1", 1.2410000000e-01, 6,
+__LINE__, " .1241+20", 1.2410000000e-01, 6,
+__LINE__, " .1241-", 1.2410000000e-01, 6,
+__LINE__, " .1241-1", 1.2410000000e-01, 6,
+__LINE__, " .1241-20", 1.2410000000e-01, 6,
+__LINE__, " .1241e", 1.2410000000e-01, 6,
+__LINE__, " .1241e+", 1.2410000000e-01, 6,
+__LINE__, " .1241e-", 1.2410000000e-01, 6,
+__LINE__, " 0.1241", 1.2410000000e-01, 7,
+__LINE__, " 0.1241+", 1.2410000000e-01, 7,
+__LINE__, " 0.1241+1", 1.2410000000e-01, 7,
+__LINE__, " 0.1241+20", 1.2410000000e-01, 7,
+__LINE__, " 0.1241-", 1.2410000000e-01, 7,
+__LINE__, " 0.1241-1", 1.2410000000e-01, 7,
+__LINE__, " 0.1241-20", 1.2410000000e-01, 7,
+__LINE__, " 0.1241e", 1.2410000000e-01, 7,
+__LINE__, " 0.1241e+", 1.2410000000e-01, 7,
+__LINE__, " 0.1241e-", 1.2410000000e-01, 7,
+__LINE__, "+.1241", 1.2410000000e-01, 6,
+__LINE__, "+.1241+", 1.2410000000e-01, 6,
+__LINE__, "+.1241+1", 1.2410000000e-01, 6,
+__LINE__, "+.1241+20", 1.2410000000e-01, 6,
+__LINE__, "+.1241-", 1.2410000000e-01, 6,
+__LINE__, "+.1241-1", 1.2410000000e-01, 6,
+__LINE__, "+.1241-20", 1.2410000000e-01, 6,
+__LINE__, "+.1241e", 1.2410000000e-01, 6,
+__LINE__, "+.1241e+", 1.2410000000e-01, 6,
+__LINE__, "+.1241e-", 1.2410000000e-01, 6,
+__LINE__, "+0.1241", 1.2410000000e-01, 7,
+__LINE__, "+0.1241+", 1.2410000000e-01, 7,
+__LINE__, "+0.1241+1", 1.2410000000e-01, 7,
+__LINE__, "+0.1241+20", 1.2410000000e-01, 7,
+__LINE__, "+0.1241-", 1.2410000000e-01, 7,
+__LINE__, "+0.1241-1", 1.2410000000e-01, 7,
+__LINE__, "+0.1241-20", 1.2410000000e-01, 7,
+__LINE__, "+0.1241e", 1.2410000000e-01, 7,
+__LINE__, "+0.1241e+", 1.2410000000e-01, 7,
+__LINE__, "+0.1241e-", 1.2410000000e-01, 7,
+__LINE__, ".1241", 1.2410000000e-01, 5,
+__LINE__, ".1241+", 1.2410000000e-01, 5,
+__LINE__, ".1241+1", 1.2410000000e-01, 5,
+__LINE__, ".1241+20", 1.2410000000e-01, 5,
+__LINE__, ".1241-", 1.2410000000e-01, 5,
+__LINE__, ".1241-1", 1.2410000000e-01, 5,
+__LINE__, ".1241-20", 1.2410000000e-01, 5,
+__LINE__, ".1241e", 1.2410000000e-01, 5,
+__LINE__, ".1241e+", 1.2410000000e-01, 5,
+__LINE__, ".1241e-", 1.2410000000e-01, 5,
+__LINE__, "0.1241", 1.2410000000e-01, 6,
+__LINE__, "0.1241+", 1.2410000000e-01, 6,
+__LINE__, "0.1241+1", 1.2410000000e-01, 6,
+__LINE__, "0.1241+20", 1.2410000000e-01, 6,
+__LINE__, "0.1241-", 1.2410000000e-01, 6,
+__LINE__, "0.1241-1", 1.2410000000e-01, 6,
+__LINE__, "0.1241-20", 1.2410000000e-01, 6,
+__LINE__, "0.1241e", 1.2410000000e-01, 6,
+__LINE__, "0.1241e+", 1.2410000000e-01, 6,
+__LINE__, "0.1241e-", 1.2410000000e-01, 6,
+__LINE__, " +.1241e-20", 1.2410000000e-21, 11,
+__LINE__, " +0.1241e-20", 1.2410000000e-21, 12,
+__LINE__, " .1241e-20", 1.2410000000e-21, 10,
+__LINE__, " 0.1241e-20", 1.2410000000e-21, 11,
+__LINE__, "+.1241e-20", 1.2410000000e-21, 10,
+__LINE__, "+0.1241e-20", 1.2410000000e-21, 11,
+__LINE__, ".1241e-20", 1.2410000000e-21, 9,
+__LINE__, "0.1241e-20", 1.2410000000e-21, 10,
+__LINE__, " +.12411", 1.2411000000e-01, 8,
+__LINE__, " +0.12411", 1.2411000000e-01, 9,
+__LINE__, " .12411", 1.2411000000e-01, 7,
+__LINE__, " 0.12411", 1.2411000000e-01, 8,
+__LINE__, "+.12411", 1.2411000000e-01, 7,
+__LINE__, "+0.12411", 1.2411000000e-01, 8,
+__LINE__, ".12411", 1.2411000000e-01, 6,
+__LINE__, "0.12411", 1.2411000000e-01, 7,
+__LINE__, " +012411", 1.2411000000e+04, 8,
+__LINE__, " +12411", 1.2411000000e+04, 7,
+__LINE__, " 012411", 1.2411000000e+04, 7,
+__LINE__, " 12411", 1.2411000000e+04, 6,
+__LINE__, "+012411", 1.2411000000e+04, 7,
+__LINE__, "+12411", 1.2411000000e+04, 6,
+__LINE__, "012411", 1.2411000000e+04, 6,
+__LINE__, "12411", 1.2411000000e+04, 5,
+__LINE__, " +.124120", 1.2412000000e-01, 9,
+__LINE__, " +0.124120", 1.2412000000e-01, 10,
+__LINE__, " .124120", 1.2412000000e-01, 8,
+__LINE__, " 0.124120", 1.2412000000e-01, 9,
+__LINE__, "+.124120", 1.2412000000e-01, 8,
+__LINE__, "+0.124120", 1.2412000000e-01, 9,
+__LINE__, ".124120", 1.2412000000e-01, 7,
+__LINE__, "0.124120", 1.2412000000e-01, 8,
+__LINE__, " +0124120", 1.2412000000e+05, 9,
+__LINE__, " +124120", 1.2412000000e+05, 8,
+__LINE__, " 0124120", 1.2412000000e+05, 8,
+__LINE__, " 124120", 1.2412000000e+05, 7,
+__LINE__, "+0124120", 1.2412000000e+05, 8,
+__LINE__, "+124120", 1.2412000000e+05, 7,
+__LINE__, "0124120", 1.2412000000e+05, 7,
+__LINE__, "124120", 1.2412000000e+05, 6,
+__LINE__, " +020", 2.0000000000e+01, 5,
+__LINE__, " +20", 2.0000000000e+01, 4,
+__LINE__, " 020", 2.0000000000e+01, 4,
+__LINE__, " 20", 2.0000000000e+01, 3,
+__LINE__, "+020", 2.0000000000e+01, 4,
+__LINE__, "+20", 2.0000000000e+01, 3,
+__LINE__, "020", 2.0000000000e+01, 3,
+__LINE__, "20", 2.0000000000e+01, 2,
+__LINE__, " +.20", 2.0000000000e-01, 5,
+__LINE__, " +0.20", 2.0000000000e-01, 6,
+__LINE__, " .20", 2.0000000000e-01, 4,
+__LINE__, " 0.20", 2.0000000000e-01, 5,
+__LINE__, "+.20", 2.0000000000e-01, 4,
+__LINE__, "+0.20", 2.0000000000e-01, 5,
+__LINE__, ".20", 2.0000000000e-01, 3,
+__LINE__, "0.20", 2.0000000000e-01, 4,
+__LINE__, " +211", 2.1100000000e+02, 5,
+__LINE__, " +211+", 2.1100000000e+02, 5,
+__LINE__, " +211+1", 2.1100000000e+02, 5,
+__LINE__, " +211+20", 2.1100000000e+02, 5,
+__LINE__, " +211-", 2.1100000000e+02, 5,
+__LINE__, " +211-1", 2.1100000000e+02, 5,
+__LINE__, " +211-20", 2.1100000000e+02, 5,
+__LINE__, " +211.", 2.1100000000e+02, 6,
+__LINE__, " +211.+", 2.1100000000e+02, 6,
+__LINE__, " +211.+1", 2.1100000000e+02, 6,
+__LINE__, " +211.+20", 2.1100000000e+02, 6,
+__LINE__, " +211.-", 2.1100000000e+02, 6,
+__LINE__, " +211.-1", 2.1100000000e+02, 6,
+__LINE__, " +211.-20", 2.1100000000e+02, 6,
+__LINE__, " +211.e", 2.1100000000e+02, 6,
+__LINE__, " +211.e+", 2.1100000000e+02, 6,
+__LINE__, " +211.e-", 2.1100000000e+02, 6,
+__LINE__, " +211e", 2.1100000000e+02, 5,
+__LINE__, " +211e+", 2.1100000000e+02, 5,
+__LINE__, " +211e-", 2.1100000000e+02, 5,
+__LINE__, " 211", 2.1100000000e+02, 4,
+__LINE__, " 211+", 2.1100000000e+02, 4,
+__LINE__, " 211+1", 2.1100000000e+02, 4,
+__LINE__, " 211+20", 2.1100000000e+02, 4,
+__LINE__, " 211-", 2.1100000000e+02, 4,
+__LINE__, " 211-1", 2.1100000000e+02, 4,
+__LINE__, " 211-20", 2.1100000000e+02, 4,
+__LINE__, " 211.", 2.1100000000e+02, 5,
+__LINE__, " 211.+", 2.1100000000e+02, 5,
+__LINE__, " 211.+1", 2.1100000000e+02, 5,
+__LINE__, " 211.+20", 2.1100000000e+02, 5,
+__LINE__, " 211.-", 2.1100000000e+02, 5,
+__LINE__, " 211.-1", 2.1100000000e+02, 5,
+__LINE__, " 211.-20", 2.1100000000e+02, 5,
+__LINE__, " 211.e", 2.1100000000e+02, 5,
+__LINE__, " 211.e+", 2.1100000000e+02, 5,
+__LINE__, " 211.e-", 2.1100000000e+02, 5,
+__LINE__, " 211e", 2.1100000000e+02, 4,
+__LINE__, " 211e+", 2.1100000000e+02, 4,
+__LINE__, " 211e-", 2.1100000000e+02, 4,
+__LINE__, "+211", 2.1100000000e+02, 4,
+__LINE__, "+211+", 2.1100000000e+02, 4,
+__LINE__, "+211+1", 2.1100000000e+02, 4,
+__LINE__, "+211+20", 2.1100000000e+02, 4,
+__LINE__, "+211-", 2.1100000000e+02, 4,
+__LINE__, "+211-1", 2.1100000000e+02, 4,
+__LINE__, "+211-20", 2.1100000000e+02, 4,
+__LINE__, "+211.", 2.1100000000e+02, 5,
+__LINE__, "+211.+", 2.1100000000e+02, 5,
+__LINE__, "+211.+1", 2.1100000000e+02, 5,
+__LINE__, "+211.+20", 2.1100000000e+02, 5,
+__LINE__, "+211.-", 2.1100000000e+02, 5,
+__LINE__, "+211.-1", 2.1100000000e+02, 5,
+__LINE__, "+211.-20", 2.1100000000e+02, 5,
+__LINE__, "+211.e", 2.1100000000e+02, 5,
+__LINE__, "+211.e+", 2.1100000000e+02, 5,
+__LINE__, "+211.e-", 2.1100000000e+02, 5,
+__LINE__, "+211e", 2.1100000000e+02, 4,
+__LINE__, "+211e+", 2.1100000000e+02, 4,
+__LINE__, "+211e-", 2.1100000000e+02, 4,
+__LINE__, "211", 2.1100000000e+02, 3,
+__LINE__, "211+", 2.1100000000e+02, 3,
+__LINE__, "211+1", 2.1100000000e+02, 3,
+__LINE__, "211+20", 2.1100000000e+02, 3,
+__LINE__, "211-", 2.1100000000e+02, 3,
+__LINE__, "211-1", 2.1100000000e+02, 3,
+__LINE__, "211-20", 2.1100000000e+02, 3,
+__LINE__, "211.", 2.1100000000e+02, 4,
+__LINE__, "211.+", 2.1100000000e+02, 4,
+__LINE__, "211.+1", 2.1100000000e+02, 4,
+__LINE__, "211.+20", 2.1100000000e+02, 4,
+__LINE__, "211.-", 2.1100000000e+02, 4,
+__LINE__, "211.-1", 2.1100000000e+02, 4,
+__LINE__, "211.-20", 2.1100000000e+02, 4,
+__LINE__, "211.e", 2.1100000000e+02, 4,
+__LINE__, "211.e+", 2.1100000000e+02, 4,
+__LINE__, "211.e-", 2.1100000000e+02, 4,
+__LINE__, "211e", 2.1100000000e+02, 3,
+__LINE__, "211e+", 2.1100000000e+02, 3,
+__LINE__, "211e-", 2.1100000000e+02, 3,
+__LINE__, " +211.e+20", 2.1100000000e+22, 10,
+__LINE__, " +211.e20", 2.1100000000e+22, 9,
+__LINE__, " +211e+20", 2.1100000000e+22, 9,
+__LINE__, " +211e20", 2.1100000000e+22, 8,
+__LINE__, " 211.e+20", 2.1100000000e+22, 9,
+__LINE__, " 211.e20", 2.1100000000e+22, 8,
+__LINE__, " 211e+20", 2.1100000000e+22, 8,
+__LINE__, " 211e20", 2.1100000000e+22, 7,
+__LINE__, "+211.e+20", 2.1100000000e+22, 9,
+__LINE__, "+211.e20", 2.1100000000e+22, 8,
+__LINE__, "+211e+20", 2.1100000000e+22, 8,
+__LINE__, "+211e20", 2.1100000000e+22, 7,
+__LINE__, "211.e+20", 2.1100000000e+22, 8,
+__LINE__, "211.e20", 2.1100000000e+22, 7,
+__LINE__, "211e+20", 2.1100000000e+22, 7,
+__LINE__, "211e20", 2.1100000000e+22, 6,
+__LINE__, " +211.e-1", 2.1100000000e+01, 9,
+__LINE__, " +211e-1", 2.1100000000e+01, 8,
+__LINE__, " 211.e-1", 2.1100000000e+01, 8,
+__LINE__, " 211e-1", 2.1100000000e+01, 7,
+__LINE__, "+211.e-1", 2.1100000000e+01, 8,
+__LINE__, "+211e-1", 2.1100000000e+01, 7,
+__LINE__, "211.e-1", 2.1100000000e+01, 7,
+__LINE__, "211e-1", 2.1100000000e+01, 6,
+__LINE__, " +211.e+1", 2.1100000000e+03, 9,
+__LINE__, " +211.e1", 2.1100000000e+03, 8,
+__LINE__, " +211e+1", 2.1100000000e+03, 8,
+__LINE__, " +211e1", 2.1100000000e+03, 7,
+__LINE__, " 211.e+1", 2.1100000000e+03, 8,
+__LINE__, " 211.e1", 2.1100000000e+03, 7,
+__LINE__, " 211e+1", 2.1100000000e+03, 7,
+__LINE__, " 211e1", 2.1100000000e+03, 6,
+__LINE__, "+211.e+1", 2.1100000000e+03, 8,
+__LINE__, "+211.e1", 2.1100000000e+03, 7,
+__LINE__, "+211e+1", 2.1100000000e+03, 7,
+__LINE__, "+211e1", 2.1100000000e+03, 6,
+__LINE__, "211.e+1", 2.1100000000e+03, 7,
+__LINE__, "211.e1", 2.1100000000e+03, 6,
+__LINE__, "211e+1", 2.1100000000e+03, 6,
+__LINE__, "211e1", 2.1100000000e+03, 5,
+__LINE__, " +211.e-20", 2.1100000000e-18, 10,
+__LINE__, " +211e-20", 2.1100000000e-18, 9,
+__LINE__, " 211.e-20", 2.1100000000e-18, 9,
+__LINE__, " 211e-20", 2.1100000000e-18, 8,
+__LINE__, "+211.e-20", 2.1100000000e-18, 9,
+__LINE__, "+211e-20", 2.1100000000e-18, 8,
+__LINE__, "211.e-20", 2.1100000000e-18, 8,
+__LINE__, "211e-20", 2.1100000000e-18, 7,
+__LINE__, " +211.1", 2.1110000000e+02, 7,
+__LINE__, " 211.1", 2.1110000000e+02, 6,
+__LINE__, "+211.1", 2.1110000000e+02, 6,
+__LINE__, "211.1", 2.1110000000e+02, 5,
+__LINE__, " +2111", 2.1110000000e+03, 6,
+__LINE__, " 2111", 2.1110000000e+03, 5,
+__LINE__, "+2111", 2.1110000000e+03, 5,
+__LINE__, "2111", 2.1110000000e+03, 4,
+__LINE__, " +2111241e-20", 2.1112410000e-14, 13,
+__LINE__, " 2111241e-20", 2.1112410000e-14, 12,
+__LINE__, "+2111241e-20", 2.1112410000e-14, 12,
+__LINE__, "2111241e-20", 2.1112410000e-14, 11,
+__LINE__, " +211.1241e-1", 2.1112410000e+01, 13,
+__LINE__, " 211.1241e-1", 2.1112410000e+01, 12,
+__LINE__, "+211.1241e-1", 2.1112410000e+01, 12,
+__LINE__, "211.1241e-1", 2.1112410000e+01, 11,
+__LINE__, " +211.1241", 2.1112410000e+02, 10,
+__LINE__, " +211.1241+", 2.1112410000e+02, 10,
+__LINE__, " +211.1241+1", 2.1112410000e+02, 10,
+__LINE__, " +211.1241+20", 2.1112410000e+02, 10,
+__LINE__, " +211.1241-", 2.1112410000e+02, 10,
+__LINE__, " +211.1241-1", 2.1112410000e+02, 10,
+__LINE__, " +211.1241-20", 2.1112410000e+02, 10,
+__LINE__, " +211.1241e", 2.1112410000e+02, 10,
+__LINE__, " +211.1241e+", 2.1112410000e+02, 10,
+__LINE__, " +211.1241e-", 2.1112410000e+02, 10,
+__LINE__, " 211.1241", 2.1112410000e+02, 9,
+__LINE__, " 211.1241+", 2.1112410000e+02, 9,
+__LINE__, " 211.1241+1", 2.1112410000e+02, 9,
+__LINE__, " 211.1241+20", 2.1112410000e+02, 9,
+__LINE__, " 211.1241-", 2.1112410000e+02, 9,
+__LINE__, " 211.1241-1", 2.1112410000e+02, 9,
+__LINE__, " 211.1241-20", 2.1112410000e+02, 9,
+__LINE__, " 211.1241e", 2.1112410000e+02, 9,
+__LINE__, " 211.1241e+", 2.1112410000e+02, 9,
+__LINE__, " 211.1241e-", 2.1112410000e+02, 9,
+__LINE__, "+211.1241", 2.1112410000e+02, 9,
+__LINE__, "+211.1241+", 2.1112410000e+02, 9,
+__LINE__, "+211.1241+1", 2.1112410000e+02, 9,
+__LINE__, "+211.1241+20", 2.1112410000e+02, 9,
+__LINE__, "+211.1241-", 2.1112410000e+02, 9,
+__LINE__, "+211.1241-1", 2.1112410000e+02, 9,
+__LINE__, "+211.1241-20", 2.1112410000e+02, 9,
+__LINE__, "+211.1241e", 2.1112410000e+02, 9,
+__LINE__, "+211.1241e+", 2.1112410000e+02, 9,
+__LINE__, "+211.1241e-", 2.1112410000e+02, 9,
+__LINE__, "211.1241", 2.1112410000e+02, 8,
+__LINE__, "211.1241+", 2.1112410000e+02, 8,
+__LINE__, "211.1241+1", 2.1112410000e+02, 8,
+__LINE__, "211.1241+20", 2.1112410000e+02, 8,
+__LINE__, "211.1241-", 2.1112410000e+02, 8,
+__LINE__, "211.1241-1", 2.1112410000e+02, 8,
+__LINE__, "211.1241-20", 2.1112410000e+02, 8,
+__LINE__, "211.1241e", 2.1112410000e+02, 8,
+__LINE__, "211.1241e+", 2.1112410000e+02, 8,
+__LINE__, "211.1241e-", 2.1112410000e+02, 8,
+__LINE__, " +211.1241e+1", 2.1112410000e+03, 13,
+__LINE__, " +211.1241e1", 2.1112410000e+03, 12,
+__LINE__, " 211.1241e+1", 2.1112410000e+03, 12,
+__LINE__, " 211.1241e1", 2.1112410000e+03, 11,
+__LINE__, "+211.1241e+1", 2.1112410000e+03, 12,
+__LINE__, "+211.1241e1", 2.1112410000e+03, 11,
+__LINE__, "211.1241e+1", 2.1112410000e+03, 11,
+__LINE__, "211.1241e1", 2.1112410000e+03, 10,
+__LINE__, " +2111241e-1", 2.1112410000e+05, 12,
+__LINE__, " 2111241e-1", 2.1112410000e+05, 11,
+__LINE__, "+2111241e-1", 2.1112410000e+05, 11,
+__LINE__, "2111241e-1", 2.1112410000e+05, 10,
+__LINE__, " +2111241", 2.1112410000e+06, 9,
+__LINE__, " +2111241+", 2.1112410000e+06, 9,
+__LINE__, " +2111241+1", 2.1112410000e+06, 9,
+__LINE__, " +2111241+20", 2.1112410000e+06, 9,
+__LINE__, " +2111241-", 2.1112410000e+06, 9,
+__LINE__, " +2111241-1", 2.1112410000e+06, 9,
+__LINE__, " +2111241-20", 2.1112410000e+06, 9,
+__LINE__, " +2111241e", 2.1112410000e+06, 9,
+__LINE__, " +2111241e+", 2.1112410000e+06, 9,
+__LINE__, " +2111241e-", 2.1112410000e+06, 9,
+__LINE__, " 2111241", 2.1112410000e+06, 8,
+__LINE__, " 2111241+", 2.1112410000e+06, 8,
+__LINE__, " 2111241+1", 2.1112410000e+06, 8,
+__LINE__, " 2111241+20", 2.1112410000e+06, 8,
+__LINE__, " 2111241-", 2.1112410000e+06, 8,
+__LINE__, " 2111241-1", 2.1112410000e+06, 8,
+__LINE__, " 2111241-20", 2.1112410000e+06, 8,
+__LINE__, " 2111241e", 2.1112410000e+06, 8,
+__LINE__, " 2111241e+", 2.1112410000e+06, 8,
+__LINE__, " 2111241e-", 2.1112410000e+06, 8,
+__LINE__, "+2111241", 2.1112410000e+06, 8,
+__LINE__, "+2111241+", 2.1112410000e+06, 8,
+__LINE__, "+2111241+1", 2.1112410000e+06, 8,
+__LINE__, "+2111241+20", 2.1112410000e+06, 8,
+__LINE__, "+2111241-", 2.1112410000e+06, 8,
+__LINE__, "+2111241-1", 2.1112410000e+06, 8,
+__LINE__, "+2111241-20", 2.1112410000e+06, 8,
+__LINE__, "+2111241e", 2.1112410000e+06, 8,
+__LINE__, "+2111241e+", 2.1112410000e+06, 8,
+__LINE__, "+2111241e-", 2.1112410000e+06, 8,
+__LINE__, "2111241", 2.1112410000e+06, 7,
+__LINE__, "2111241+", 2.1112410000e+06, 7,
+__LINE__, "2111241+1", 2.1112410000e+06, 7,
+__LINE__, "2111241+20", 2.1112410000e+06, 7,
+__LINE__, "2111241-", 2.1112410000e+06, 7,
+__LINE__, "2111241-1", 2.1112410000e+06, 7,
+__LINE__, "2111241-20", 2.1112410000e+06, 7,
+__LINE__, "2111241e", 2.1112410000e+06, 7,
+__LINE__, "2111241e+", 2.1112410000e+06, 7,
+__LINE__, "2111241e-", 2.1112410000e+06, 7,
+__LINE__, " +2111241e+1", 2.1112410000e+07, 12,
+__LINE__, " +2111241e1", 2.1112410000e+07, 11,
+__LINE__, " 2111241e+1", 2.1112410000e+07, 11,
+__LINE__, " 2111241e1", 2.1112410000e+07, 10,
+__LINE__, "+2111241e+1", 2.1112410000e+07, 11,
+__LINE__, "+2111241e1", 2.1112410000e+07, 10,
+__LINE__, "2111241e+1", 2.1112410000e+07, 10,
+__LINE__, "2111241e1", 2.1112410000e+07, 9,
+__LINE__, " +211.1241e+20", 2.1112410000e+22, 14,
+__LINE__, " +211.1241e20", 2.1112410000e+22, 13,
+__LINE__, " 211.1241e+20", 2.1112410000e+22, 13,
+__LINE__, " 211.1241e20", 2.1112410000e+22, 12,
+__LINE__, "+211.1241e+20", 2.1112410000e+22, 13,
+__LINE__, "+211.1241e20", 2.1112410000e+22, 12,
+__LINE__, "211.1241e+20", 2.1112410000e+22, 12,
+__LINE__, "211.1241e20", 2.1112410000e+22, 11,
+__LINE__, " +2111241e+20", 2.1112410000e+26, 13,
+__LINE__, " +2111241e20", 2.1112410000e+26, 12,
+__LINE__, " 2111241e+20", 2.1112410000e+26, 12,
+__LINE__, " 2111241e20", 2.1112410000e+26, 11,
+__LINE__, "+2111241e+20", 2.1112410000e+26, 12,
+__LINE__, "+2111241e20", 2.1112410000e+26, 11,
+__LINE__, "2111241e+20", 2.1112410000e+26, 11,
+__LINE__, "2111241e20", 2.1112410000e+26, 10,
+__LINE__, " +211.1241e-20", 2.1112410000e-18, 14,
+__LINE__, " 211.1241e-20", 2.1112410000e-18, 13,
+__LINE__, "+211.1241e-20", 2.1112410000e-18, 13,
+__LINE__, "211.1241e-20", 2.1112410000e-18, 12,
+__LINE__, " +211.12411", 2.1112411000e+02, 11,
+__LINE__, " 211.12411", 2.1112411000e+02, 10,
+__LINE__, "+211.12411", 2.1112411000e+02, 10,
+__LINE__, "211.12411", 2.1112411000e+02, 9,
+__LINE__, " +21112411", 2.1112411000e+07, 10,
+__LINE__, " 21112411", 2.1112411000e+07, 9,
+__LINE__, "+21112411", 2.1112411000e+07, 9,
+__LINE__, "21112411", 2.1112411000e+07, 8,
+__LINE__, " +211124120", 2.1112412000e+08, 11,
+__LINE__, " 211124120", 2.1112412000e+08, 10,
+__LINE__, "+211124120", 2.1112412000e+08, 10,
+__LINE__, "211124120", 2.1112412000e+08, 9,
+__LINE__, " +211.124120", 2.1112412000e+02, 12,
+__LINE__, " 211.124120", 2.1112412000e+02, 11,
+__LINE__, "+211.124120", 2.1112412000e+02, 11,
+__LINE__, "211.124120", 2.1112412000e+02, 10,
+__LINE__, " +211.20", 2.1120000000e+02, 8,
+__LINE__, " 211.20", 2.1120000000e+02, 7,
+__LINE__, "+211.20", 2.1120000000e+02, 7,
+__LINE__, "211.20", 2.1120000000e+02, 6,
+__LINE__, " +21120", 2.1120000000e+04, 7,
+__LINE__, " 21120", 2.1120000000e+04, 6,
+__LINE__, "+21120", 2.1120000000e+04, 6,
+__LINE__, "21120", 2.1120000000e+04, 5,
+__LINE__, " +211.8e-1", 2.1180000000e+01, 10,
+__LINE__, " 211.8e-1", 2.1180000000e+01, 9,
+__LINE__, "+211.8e-1", 2.1180000000e+01, 9,
+__LINE__, "211.8e-1", 2.1180000000e+01, 8,
+__LINE__, " +211.8e+1", 2.1180000000e+03, 10,
+__LINE__, " +211.8e1", 2.1180000000e+03, 9,
+__LINE__, " +2118", 2.1180000000e+03, 6,
+__LINE__, " +2118+", 2.1180000000e+03, 6,
+__LINE__, " +2118+1", 2.1180000000e+03, 6,
+__LINE__, " +2118+20", 2.1180000000e+03, 6,
+__LINE__, " +2118-", 2.1180000000e+03, 6,
+__LINE__, " +2118-1", 2.1180000000e+03, 6,
+__LINE__, " +2118-20", 2.1180000000e+03, 6,
+__LINE__, " +2118e", 2.1180000000e+03, 6,
+__LINE__, " +2118e+", 2.1180000000e+03, 6,
+__LINE__, " +2118e-", 2.1180000000e+03, 6,
+__LINE__, " 211.8e+1", 2.1180000000e+03, 9,
+__LINE__, " 211.8e1", 2.1180000000e+03, 8,
+__LINE__, " 2118", 2.1180000000e+03, 5,
+__LINE__, " 2118+", 2.1180000000e+03, 5,
+__LINE__, " 2118+1", 2.1180000000e+03, 5,
+__LINE__, " 2118+20", 2.1180000000e+03, 5,
+__LINE__, " 2118-", 2.1180000000e+03, 5,
+__LINE__, " 2118-1", 2.1180000000e+03, 5,
+__LINE__, " 2118-20", 2.1180000000e+03, 5,
+__LINE__, " 2118e", 2.1180000000e+03, 5,
+__LINE__, " 2118e+", 2.1180000000e+03, 5,
+__LINE__, " 2118e-", 2.1180000000e+03, 5,
+__LINE__, "+211.8e+1", 2.1180000000e+03, 9,
+__LINE__, "+211.8e1", 2.1180000000e+03, 8,
+__LINE__, "+2118", 2.1180000000e+03, 5,
+__LINE__, "+2118+", 2.1180000000e+03, 5,
+__LINE__, "+2118+1", 2.1180000000e+03, 5,
+__LINE__, "+2118+20", 2.1180000000e+03, 5,
+__LINE__, "+2118-", 2.1180000000e+03, 5,
+__LINE__, "+2118-1", 2.1180000000e+03, 5,
+__LINE__, "+2118-20", 2.1180000000e+03, 5,
+__LINE__, "+2118e", 2.1180000000e+03, 5,
+__LINE__, "+2118e+", 2.1180000000e+03, 5,
+__LINE__, "+2118e-", 2.1180000000e+03, 5,
+__LINE__, "211.8e+1", 2.1180000000e+03, 8,
+__LINE__, "211.8e1", 2.1180000000e+03, 7,
+__LINE__, "2118", 2.1180000000e+03, 4,
+__LINE__, "2118+", 2.1180000000e+03, 4,
+__LINE__, "2118+1", 2.1180000000e+03, 4,
+__LINE__, "2118+20", 2.1180000000e+03, 4,
+__LINE__, "2118-", 2.1180000000e+03, 4,
+__LINE__, "2118-1", 2.1180000000e+03, 4,
+__LINE__, "2118-20", 2.1180000000e+03, 4,
+__LINE__, "2118e", 2.1180000000e+03, 4,
+__LINE__, "2118e+", 2.1180000000e+03, 4,
+__LINE__, "2118e-", 2.1180000000e+03, 4,
+__LINE__, " +2118e+1", 2.1180000000e+04, 9,
+__LINE__, " +2118e1", 2.1180000000e+04, 8,
+__LINE__, " 2118e+1", 2.1180000000e+04, 8,
+__LINE__, " 2118e1", 2.1180000000e+04, 7,
+__LINE__, "+2118e+1", 2.1180000000e+04, 8,
+__LINE__, "+2118e1", 2.1180000000e+04, 7,
+__LINE__, "2118e+1", 2.1180000000e+04, 7,
+__LINE__, "2118e1", 2.1180000000e+04, 6,
+__LINE__, " +2118e+20", 2.1180000000e+23, 10,
+__LINE__, " +2118e20", 2.1180000000e+23, 9,
+__LINE__, " 2118e+20", 2.1180000000e+23, 9,
+__LINE__, " 2118e20", 2.1180000000e+23, 8,
+__LINE__, "+2118e+20", 2.1180000000e+23, 9,
+__LINE__, "+2118e20", 2.1180000000e+23, 8,
+__LINE__, "2118e+20", 2.1180000000e+23, 8,
+__LINE__, "2118e20", 2.1180000000e+23, 7,
+__LINE__, " +2118e-20", 2.1180000000e-17, 10,
+__LINE__, " 2118e-20", 2.1180000000e-17, 9,
+__LINE__, "+2118e-20", 2.1180000000e-17, 9,
+__LINE__, "2118e-20", 2.1180000000e-17, 8,
+__LINE__, " +211.8e-20", 2.1180000000e-18, 11,
+__LINE__, " 211.8e-20", 2.1180000000e-18, 10,
+__LINE__, "+211.8e-20", 2.1180000000e-18, 10,
+__LINE__, "211.8e-20", 2.1180000000e-18, 9,
+__LINE__, " +211.8", 2.1180000000e+02, 7,
+__LINE__, " +211.8+", 2.1180000000e+02, 7,
+__LINE__, " +211.8+1", 2.1180000000e+02, 7,
+__LINE__, " +211.8+20", 2.1180000000e+02, 7,
+__LINE__, " +211.8-", 2.1180000000e+02, 7,
+__LINE__, " +211.8-1", 2.1180000000e+02, 7,
+__LINE__, " +211.8-20", 2.1180000000e+02, 7,
+__LINE__, " +211.8e", 2.1180000000e+02, 7,
+__LINE__, " +211.8e+", 2.1180000000e+02, 7,
+__LINE__, " +211.8e-", 2.1180000000e+02, 7,
+__LINE__, " +2118e-1", 2.1180000000e+02, 9,
+__LINE__, " 211.8", 2.1180000000e+02, 6,
+__LINE__, " 211.8+", 2.1180000000e+02, 6,
+__LINE__, " 211.8+1", 2.1180000000e+02, 6,
+__LINE__, " 211.8+20", 2.1180000000e+02, 6,
+__LINE__, " 211.8-", 2.1180000000e+02, 6,
+__LINE__, " 211.8-1", 2.1180000000e+02, 6,
+__LINE__, " 211.8-20", 2.1180000000e+02, 6,
+__LINE__, " 211.8e", 2.1180000000e+02, 6,
+__LINE__, " 211.8e+", 2.1180000000e+02, 6,
+__LINE__, " 211.8e-", 2.1180000000e+02, 6,
+__LINE__, " 2118e-1", 2.1180000000e+02, 8,
+__LINE__, "+211.8", 2.1180000000e+02, 6,
+__LINE__, "+211.8+", 2.1180000000e+02, 6,
+__LINE__, "+211.8+1", 2.1180000000e+02, 6,
+__LINE__, "+211.8+20", 2.1180000000e+02, 6,
+__LINE__, "+211.8-", 2.1180000000e+02, 6,
+__LINE__, "+211.8-1", 2.1180000000e+02, 6,
+__LINE__, "+211.8-20", 2.1180000000e+02, 6,
+__LINE__, "+211.8e", 2.1180000000e+02, 6,
+__LINE__, "+211.8e+", 2.1180000000e+02, 6,
+__LINE__, "+211.8e-", 2.1180000000e+02, 6,
+__LINE__, "+2118e-1", 2.1180000000e+02, 8,
+__LINE__, "211.8", 2.1180000000e+02, 5,
+__LINE__, "211.8+", 2.1180000000e+02, 5,
+__LINE__, "211.8+1", 2.1180000000e+02, 5,
+__LINE__, "211.8+20", 2.1180000000e+02, 5,
+__LINE__, "211.8-", 2.1180000000e+02, 5,
+__LINE__, "211.8-1", 2.1180000000e+02, 5,
+__LINE__, "211.8-20", 2.1180000000e+02, 5,
+__LINE__, "211.8e", 2.1180000000e+02, 5,
+__LINE__, "211.8e+", 2.1180000000e+02, 5,
+__LINE__, "211.8e-", 2.1180000000e+02, 5,
+__LINE__, "2118e-1", 2.1180000000e+02, 7,
+__LINE__, " +211.8e+20", 2.1180000000e+22, 11,
+__LINE__, " +211.8e20", 2.1180000000e+22, 10,
+__LINE__, " 211.8e+20", 2.1180000000e+22, 10,
+__LINE__, " 211.8e20", 2.1180000000e+22, 9,
+__LINE__, "+211.8e+20", 2.1180000000e+22, 10,
+__LINE__, "+211.8e20", 2.1180000000e+22, 9,
+__LINE__, "211.8e+20", 2.1180000000e+22, 9,
+__LINE__, "211.8e20", 2.1180000000e+22, 8,
+__LINE__, " +211.81", 2.1181000000e+02, 8,
+__LINE__, " 211.81", 2.1181000000e+02, 7,
+__LINE__, "+211.81", 2.1181000000e+02, 7,
+__LINE__, "211.81", 2.1181000000e+02, 6,
+__LINE__, " +21181", 2.1181000000e+04, 7,
+__LINE__, " 21181", 2.1181000000e+04, 6,
+__LINE__, "+21181", 2.1181000000e+04, 6,
+__LINE__, "21181", 2.1181000000e+04, 5,
+__LINE__, " +211.820", 2.1182000000e+02, 9,
+__LINE__, " 211.820", 2.1182000000e+02, 8,
+__LINE__, "+211.820", 2.1182000000e+02, 8,
+__LINE__, "211.820", 2.1182000000e+02, 7,
+__LINE__, " +211820", 2.1182000000e+05, 8,
+__LINE__, " 211820", 2.1182000000e+05, 7,
+__LINE__, "+211820", 2.1182000000e+05, 7,
+__LINE__, "211820", 2.1182000000e+05, 6,
+__LINE__, " +2119e-20", 2.1190000000e-17, 10,
+__LINE__, " 2119e-20", 2.1190000000e-17, 9,
+__LINE__, "+2119e-20", 2.1190000000e-17, 9,
+__LINE__, "2119e-20", 2.1190000000e-17, 8,
+__LINE__, " +211.9e-1", 2.1190000000e+01, 10,
+__LINE__, " 211.9e-1", 2.1190000000e+01, 9,
+__LINE__, "+211.9e-1", 2.1190000000e+01, 9,
+__LINE__, "211.9e-1", 2.1190000000e+01, 8,
+__LINE__, " +211.9", 2.1190000000e+02, 7,
+__LINE__, " +211.9+", 2.1190000000e+02, 7,
+__LINE__, " +211.9+1", 2.1190000000e+02, 7,
+__LINE__, " +211.9+20", 2.1190000000e+02, 7,
+__LINE__, " +211.9-", 2.1190000000e+02, 7,
+__LINE__, " +211.9-1", 2.1190000000e+02, 7,
+__LINE__, " +211.9-20", 2.1190000000e+02, 7,
+__LINE__, " +211.9e", 2.1190000000e+02, 7,
+__LINE__, " +211.9e+", 2.1190000000e+02, 7,
+__LINE__, " +211.9e-", 2.1190000000e+02, 7,
+__LINE__, " +2119e-1", 2.1190000000e+02, 9,
+__LINE__, " 211.9", 2.1190000000e+02, 6,
+__LINE__, " 211.9+", 2.1190000000e+02, 6,
+__LINE__, " 211.9+1", 2.1190000000e+02, 6,
+__LINE__, " 211.9+20", 2.1190000000e+02, 6,
+__LINE__, " 211.9-", 2.1190000000e+02, 6,
+__LINE__, " 211.9-1", 2.1190000000e+02, 6,
+__LINE__, " 211.9-20", 2.1190000000e+02, 6,
+__LINE__, " 211.9e", 2.1190000000e+02, 6,
+__LINE__, " 211.9e+", 2.1190000000e+02, 6,
+__LINE__, " 211.9e-", 2.1190000000e+02, 6,
+__LINE__, " 2119e-1", 2.1190000000e+02, 8,
+__LINE__, "+211.9", 2.1190000000e+02, 6,
+__LINE__, "+211.9+", 2.1190000000e+02, 6,
+__LINE__, "+211.9+1", 2.1190000000e+02, 6,
+__LINE__, "+211.9+20", 2.1190000000e+02, 6,
+__LINE__, "+211.9-", 2.1190000000e+02, 6,
+__LINE__, "+211.9-1", 2.1190000000e+02, 6,
+__LINE__, "+211.9-20", 2.1190000000e+02, 6,
+__LINE__, "+211.9e", 2.1190000000e+02, 6,
+__LINE__, "+211.9e+", 2.1190000000e+02, 6,
+__LINE__, "+211.9e-", 2.1190000000e+02, 6,
+__LINE__, "+2119e-1", 2.1190000000e+02, 8,
+__LINE__, "211.9", 2.1190000000e+02, 5,
+__LINE__, "211.9+", 2.1190000000e+02, 5,
+__LINE__, "211.9+1", 2.1190000000e+02, 5,
+__LINE__, "211.9+20", 2.1190000000e+02, 5,
+__LINE__, "211.9-", 2.1190000000e+02, 5,
+__LINE__, "211.9-1", 2.1190000000e+02, 5,
+__LINE__, "211.9-20", 2.1190000000e+02, 5,
+__LINE__, "211.9e", 2.1190000000e+02, 5,
+__LINE__, "211.9e+", 2.1190000000e+02, 5,
+__LINE__, "211.9e-", 2.1190000000e+02, 5,
+__LINE__, "2119e-1", 2.1190000000e+02, 7,
+__LINE__, " +211.9e+1", 2.1190000000e+03, 10,
+__LINE__, " +211.9e1", 2.1190000000e+03, 9,
+__LINE__, " +2119", 2.1190000000e+03, 6,
+__LINE__, " +2119+", 2.1190000000e+03, 6,
+__LINE__, " +2119+1", 2.1190000000e+03, 6,
+__LINE__, " +2119+20", 2.1190000000e+03, 6,
+__LINE__, " +2119-", 2.1190000000e+03, 6,
+__LINE__, " +2119-1", 2.1190000000e+03, 6,
+__LINE__, " +2119-20", 2.1190000000e+03, 6,
+__LINE__, " +2119e", 2.1190000000e+03, 6,
+__LINE__, " +2119e+", 2.1190000000e+03, 6,
+__LINE__, " +2119e-", 2.1190000000e+03, 6,
+__LINE__, " 211.9e+1", 2.1190000000e+03, 9,
+__LINE__, " 211.9e1", 2.1190000000e+03, 8,
+__LINE__, " 2119", 2.1190000000e+03, 5,
+__LINE__, " 2119+", 2.1190000000e+03, 5,
+__LINE__, " 2119+1", 2.1190000000e+03, 5,
+__LINE__, " 2119+20", 2.1190000000e+03, 5,
+__LINE__, " 2119-", 2.1190000000e+03, 5,
+__LINE__, " 2119-1", 2.1190000000e+03, 5,
+__LINE__, " 2119-20", 2.1190000000e+03, 5,
+__LINE__, " 2119e", 2.1190000000e+03, 5,
+__LINE__, " 2119e+", 2.1190000000e+03, 5,
+__LINE__, " 2119e-", 2.1190000000e+03, 5,
+__LINE__, "+211.9e+1", 2.1190000000e+03, 9,
+__LINE__, "+211.9e1", 2.1190000000e+03, 8,
+__LINE__, "+2119", 2.1190000000e+03, 5,
+__LINE__, "+2119+", 2.1190000000e+03, 5,
+__LINE__, "+2119+1", 2.1190000000e+03, 5,
+__LINE__, "+2119+20", 2.1190000000e+03, 5,
+__LINE__, "+2119-", 2.1190000000e+03, 5,
+__LINE__, "+2119-1", 2.1190000000e+03, 5,
+__LINE__, "+2119-20", 2.1190000000e+03, 5,
+__LINE__, "+2119e", 2.1190000000e+03, 5,
+__LINE__, "+2119e+", 2.1190000000e+03, 5,
+__LINE__, "+2119e-", 2.1190000000e+03, 5,
+__LINE__, "211.9e+1", 2.1190000000e+03, 8,
+__LINE__, "211.9e1", 2.1190000000e+03, 7,
+__LINE__, "2119", 2.1190000000e+03, 4,
+__LINE__, "2119+", 2.1190000000e+03, 4,
+__LINE__, "2119+1", 2.1190000000e+03, 4,
+__LINE__, "2119+20", 2.1190000000e+03, 4,
+__LINE__, "2119-", 2.1190000000e+03, 4,
+__LINE__, "2119-1", 2.1190000000e+03, 4,
+__LINE__, "2119-20", 2.1190000000e+03, 4,
+__LINE__, "2119e", 2.1190000000e+03, 4,
+__LINE__, "2119e+", 2.1190000000e+03, 4,
+__LINE__, "2119e-", 2.1190000000e+03, 4,
+__LINE__, " +2119e+1", 2.1190000000e+04, 9,
+__LINE__, " +2119e1", 2.1190000000e+04, 8,
+__LINE__, " 2119e+1", 2.1190000000e+04, 8,
+__LINE__, " 2119e1", 2.1190000000e+04, 7,
+__LINE__, "+2119e+1", 2.1190000000e+04, 8,
+__LINE__, "+2119e1", 2.1190000000e+04, 7,
+__LINE__, "2119e+1", 2.1190000000e+04, 7,
+__LINE__, "2119e1", 2.1190000000e+04, 6,
+__LINE__, " +211.9e+20", 2.1190000000e+22, 11,
+__LINE__, " +211.9e20", 2.1190000000e+22, 10,
+__LINE__, " 211.9e+20", 2.1190000000e+22, 10,
+__LINE__, " 211.9e20", 2.1190000000e+22, 9,
+__LINE__, "+211.9e+20", 2.1190000000e+22, 10,
+__LINE__, "+211.9e20", 2.1190000000e+22, 9,
+__LINE__, "211.9e+20", 2.1190000000e+22, 9,
+__LINE__, "211.9e20", 2.1190000000e+22, 8,
+__LINE__, " +2119e+20", 2.1190000000e+23, 10,
+__LINE__, " +2119e20", 2.1190000000e+23, 9,
+__LINE__, " 2119e+20", 2.1190000000e+23, 9,
+__LINE__, " 2119e20", 2.1190000000e+23, 8,
+__LINE__, "+2119e+20", 2.1190000000e+23, 9,
+__LINE__, "+2119e20", 2.1190000000e+23, 8,
+__LINE__, "2119e+20", 2.1190000000e+23, 8,
+__LINE__, "2119e20", 2.1190000000e+23, 7,
+__LINE__, " +211.9e-20", 2.1190000000e-18, 11,
+__LINE__, " 211.9e-20", 2.1190000000e-18, 10,
+__LINE__, "+211.9e-20", 2.1190000000e-18, 10,
+__LINE__, "211.9e-20", 2.1190000000e-18, 9,
+__LINE__, " +211.91", 2.1191000000e+02, 8,
+__LINE__, " 211.91", 2.1191000000e+02, 7,
+__LINE__, "+211.91", 2.1191000000e+02, 7,
+__LINE__, "211.91", 2.1191000000e+02, 6,
+__LINE__, " +21191", 2.1191000000e+04, 7,
+__LINE__, " 21191", 2.1191000000e+04, 6,
+__LINE__, "+21191", 2.1191000000e+04, 6,
+__LINE__, "21191", 2.1191000000e+04, 5,
+__LINE__, " +211.920", 2.1192000000e+02, 9,
+__LINE__, " 211.920", 2.1192000000e+02, 8,
+__LINE__, "+211.920", 2.1192000000e+02, 8,
+__LINE__, "211.920", 2.1192000000e+02, 7,
+__LINE__, " +211920", 2.1192000000e+05, 8,
+__LINE__, " 211920", 2.1192000000e+05, 7,
+__LINE__, "+211920", 2.1192000000e+05, 7,
+__LINE__, "211920", 2.1192000000e+05, 6,
+__LINE__, " +612.e-1", 6.1200000000e+01, 9,
+__LINE__, " +612e-1", 6.1200000000e+01, 8,
+__LINE__, " 612.e-1", 6.1200000000e+01, 8,
+__LINE__, " 612e-1", 6.1200000000e+01, 7,
+__LINE__, "+612.e-1", 6.1200000000e+01, 8,
+__LINE__, "+612e-1", 6.1200000000e+01, 7,
+__LINE__, "612.e-1", 6.1200000000e+01, 7,
+__LINE__, "612e-1", 6.1200000000e+01, 6,
+__LINE__, " +612", 6.1200000000e+02, 5,
+__LINE__, " +612+", 6.1200000000e+02, 5,
+__LINE__, " +612+1", 6.1200000000e+02, 5,
+__LINE__, " +612+20", 6.1200000000e+02, 5,
+__LINE__, " +612-", 6.1200000000e+02, 5,
+__LINE__, " +612-1", 6.1200000000e+02, 5,
+__LINE__, " +612-20", 6.1200000000e+02, 5,
+__LINE__, " +612.", 6.1200000000e+02, 6,
+__LINE__, " +612.+", 6.1200000000e+02, 6,
+__LINE__, " +612.+1", 6.1200000000e+02, 6,
+__LINE__, " +612.+20", 6.1200000000e+02, 6,
+__LINE__, " +612.-", 6.1200000000e+02, 6,
+__LINE__, " +612.-1", 6.1200000000e+02, 6,
+__LINE__, " +612.-20", 6.1200000000e+02, 6,
+__LINE__, " +612.e", 6.1200000000e+02, 6,
+__LINE__, " +612.e+", 6.1200000000e+02, 6,
+__LINE__, " +612.e-", 6.1200000000e+02, 6,
+__LINE__, " +612e", 6.1200000000e+02, 5,
+__LINE__, " +612e+", 6.1200000000e+02, 5,
+__LINE__, " +612e-", 6.1200000000e+02, 5,
+__LINE__, " 612", 6.1200000000e+02, 4,
+__LINE__, " 612+", 6.1200000000e+02, 4,
+__LINE__, " 612+1", 6.1200000000e+02, 4,
+__LINE__, " 612+20", 6.1200000000e+02, 4,
+__LINE__, " 612-", 6.1200000000e+02, 4,
+__LINE__, " 612-1", 6.1200000000e+02, 4,
+__LINE__, " 612-20", 6.1200000000e+02, 4,
+__LINE__, " 612.", 6.1200000000e+02, 5,
+__LINE__, " 612.+", 6.1200000000e+02, 5,
+__LINE__, " 612.+1", 6.1200000000e+02, 5,
+__LINE__, " 612.+20", 6.1200000000e+02, 5,
+__LINE__, " 612.-", 6.1200000000e+02, 5,
+__LINE__, " 612.-1", 6.1200000000e+02, 5,
+__LINE__, " 612.-20", 6.1200000000e+02, 5,
+__LINE__, " 612.e", 6.1200000000e+02, 5,
+__LINE__, " 612.e+", 6.1200000000e+02, 5,
+__LINE__, " 612.e-", 6.1200000000e+02, 5,
+__LINE__, " 612e", 6.1200000000e+02, 4,
+__LINE__, " 612e+", 6.1200000000e+02, 4,
+__LINE__, " 612e-", 6.1200000000e+02, 4,
+__LINE__, "+612", 6.1200000000e+02, 4,
+__LINE__, "+612+", 6.1200000000e+02, 4,
+__LINE__, "+612+1", 6.1200000000e+02, 4,
+__LINE__, "+612+20", 6.1200000000e+02, 4,
+__LINE__, "+612-", 6.1200000000e+02, 4,
+__LINE__, "+612-1", 6.1200000000e+02, 4,
+__LINE__, "+612-20", 6.1200000000e+02, 4,
+__LINE__, "+612.", 6.1200000000e+02, 5,
+__LINE__, "+612.+", 6.1200000000e+02, 5,
+__LINE__, "+612.+1", 6.1200000000e+02, 5,
+__LINE__, "+612.+20", 6.1200000000e+02, 5,
+__LINE__, "+612.-", 6.1200000000e+02, 5,
+__LINE__, "+612.-1", 6.1200000000e+02, 5,
+__LINE__, "+612.-20", 6.1200000000e+02, 5,
+__LINE__, "+612.e", 6.1200000000e+02, 5,
+__LINE__, "+612.e+", 6.1200000000e+02, 5,
+__LINE__, "+612.e-", 6.1200000000e+02, 5,
+__LINE__, "+612e", 6.1200000000e+02, 4,
+__LINE__, "+612e+", 6.1200000000e+02, 4,
+__LINE__, "+612e-", 6.1200000000e+02, 4,
+__LINE__, "612", 6.1200000000e+02, 3,
+__LINE__, "612+", 6.1200000000e+02, 3,
+__LINE__, "612+1", 6.1200000000e+02, 3,
+__LINE__, "612+20", 6.1200000000e+02, 3,
+__LINE__, "612-", 6.1200000000e+02, 3,
+__LINE__, "612-1", 6.1200000000e+02, 3,
+__LINE__, "612-20", 6.1200000000e+02, 3,
+__LINE__, "612.", 6.1200000000e+02, 4,
+__LINE__, "612.+", 6.1200000000e+02, 4,
+__LINE__, "612.+1", 6.1200000000e+02, 4,
+__LINE__, "612.+20", 6.1200000000e+02, 4,
+__LINE__, "612.-", 6.1200000000e+02, 4,
+__LINE__, "612.-1", 6.1200000000e+02, 4,
+__LINE__, "612.-20", 6.1200000000e+02, 4,
+__LINE__, "612.e", 6.1200000000e+02, 4,
+__LINE__, "612.e+", 6.1200000000e+02, 4,
+__LINE__, "612.e-", 6.1200000000e+02, 4,
+__LINE__, "612e", 6.1200000000e+02, 3,
+__LINE__, "612e+", 6.1200000000e+02, 3,
+__LINE__, "612e-", 6.1200000000e+02, 3,
+__LINE__, " +612.e+1", 6.1200000000e+03, 9,
+__LINE__, " +612.e1", 6.1200000000e+03, 8,
+__LINE__, " +612e+1", 6.1200000000e+03, 8,
+__LINE__, " +612e1", 6.1200000000e+03, 7,
+__LINE__, " 612.e+1", 6.1200000000e+03, 8,
+__LINE__, " 612.e1", 6.1200000000e+03, 7,
+__LINE__, " 612e+1", 6.1200000000e+03, 7,
+__LINE__, " 612e1", 6.1200000000e+03, 6,
+__LINE__, "+612.e+1", 6.1200000000e+03, 8,
+__LINE__, "+612.e1", 6.1200000000e+03, 7,
+__LINE__, "+612e+1", 6.1200000000e+03, 7,
+__LINE__, "+612e1", 6.1200000000e+03, 6,
+__LINE__, "612.e+1", 6.1200000000e+03, 7,
+__LINE__, "612.e1", 6.1200000000e+03, 6,
+__LINE__, "612e+1", 6.1200000000e+03, 6,
+__LINE__, "612e1", 6.1200000000e+03, 5,
+__LINE__, " +612.e+20", 6.1200000000e+22, 10,
+__LINE__, " +612.e20", 6.1200000000e+22, 9,
+__LINE__, " +612e+20", 6.1200000000e+22, 9,
+__LINE__, " +612e20", 6.1200000000e+22, 8,
+__LINE__, " 612.e+20", 6.1200000000e+22, 9,
+__LINE__, " 612.e20", 6.1200000000e+22, 8,
+__LINE__, " 612e+20", 6.1200000000e+22, 8,
+__LINE__, " 612e20", 6.1200000000e+22, 7,
+__LINE__, "+612.e+20", 6.1200000000e+22, 9,
+__LINE__, "+612.e20", 6.1200000000e+22, 8,
+__LINE__, "+612e+20", 6.1200000000e+22, 8,
+__LINE__, "+612e20", 6.1200000000e+22, 7,
+__LINE__, "612.e+20", 6.1200000000e+22, 8,
+__LINE__, "612.e20", 6.1200000000e+22, 7,
+__LINE__, "612e+20", 6.1200000000e+22, 7,
+__LINE__, "612e20", 6.1200000000e+22, 6,
+__LINE__, " +612.e-20", 6.1200000000e-18, 10,
+__LINE__, " +612e-20", 6.1200000000e-18, 9,
+__LINE__, " 612.e-20", 6.1200000000e-18, 9,
+__LINE__, " 612e-20", 6.1200000000e-18, 8,
+__LINE__, "+612.e-20", 6.1200000000e-18, 9,
+__LINE__, "+612e-20", 6.1200000000e-18, 8,
+__LINE__, "612.e-20", 6.1200000000e-18, 8,
+__LINE__, "612e-20", 6.1200000000e-18, 7,
+__LINE__, " +612.1", 6.1210000000e+02, 7,
+__LINE__, " 612.1", 6.1210000000e+02, 6,
+__LINE__, "+612.1", 6.1210000000e+02, 6,
+__LINE__, "612.1", 6.1210000000e+02, 5,
+__LINE__, " +6121", 6.1210000000e+03, 6,
+__LINE__, " 6121", 6.1210000000e+03, 5,
+__LINE__, "+6121", 6.1210000000e+03, 5,
+__LINE__, "6121", 6.1210000000e+03, 4,
+__LINE__, " +612.1241e-1", 6.1212410000e+01, 13,
+__LINE__, " 612.1241e-1", 6.1212410000e+01, 12,
+__LINE__, "+612.1241e-1", 6.1212410000e+01, 12,
+__LINE__, "612.1241e-1", 6.1212410000e+01, 11,
+__LINE__, " +612.1241e+1", 6.1212410000e+03, 13,
+__LINE__, " +612.1241e1", 6.1212410000e+03, 12,
+__LINE__, " 612.1241e+1", 6.1212410000e+03, 12,
+__LINE__, " 612.1241e1", 6.1212410000e+03, 11,
+__LINE__, "+612.1241e+1", 6.1212410000e+03, 12,
+__LINE__, "+612.1241e1", 6.1212410000e+03, 11,
+__LINE__, "612.1241e+1", 6.1212410000e+03, 11,
+__LINE__, "612.1241e1", 6.1212410000e+03, 10,
+__LINE__, " +6121241e-1", 6.1212410000e+05, 12,
+__LINE__, " 6121241e-1", 6.1212410000e+05, 11,
+__LINE__, "+6121241e-1", 6.1212410000e+05, 11,
+__LINE__, "6121241e-1", 6.1212410000e+05, 10,
+__LINE__, " +6121241e+1", 6.1212410000e+07, 12,
+__LINE__, " +6121241e1", 6.1212410000e+07, 11,
+__LINE__, " 6121241e+1", 6.1212410000e+07, 11,
+__LINE__, " 6121241e1", 6.1212410000e+07, 10,
+__LINE__, "+6121241e+1", 6.1212410000e+07, 11,
+__LINE__, "+6121241e1", 6.1212410000e+07, 10,
+__LINE__, "6121241e+1", 6.1212410000e+07, 10,
+__LINE__, "6121241e1", 6.1212410000e+07, 9,
+__LINE__, " +6121241e-20", 6.1212410000e-14, 13,
+__LINE__, " 6121241e-20", 6.1212410000e-14, 12,
+__LINE__, "+6121241e-20", 6.1212410000e-14, 12,
+__LINE__, "6121241e-20", 6.1212410000e-14, 11,
+__LINE__, " +612.1241", 6.1212410000e+02, 10,
+__LINE__, " +612.1241+", 6.1212410000e+02, 10,
+__LINE__, " +612.1241+1", 6.1212410000e+02, 10,
+__LINE__, " +612.1241+20", 6.1212410000e+02, 10,
+__LINE__, " +612.1241-", 6.1212410000e+02, 10,
+__LINE__, " +612.1241-1", 6.1212410000e+02, 10,
+__LINE__, " +612.1241-20", 6.1212410000e+02, 10,
+__LINE__, " +612.1241e", 6.1212410000e+02, 10,
+__LINE__, " +612.1241e+", 6.1212410000e+02, 10,
+__LINE__, " +612.1241e-", 6.1212410000e+02, 10,
+__LINE__, " 612.1241", 6.1212410000e+02, 9,
+__LINE__, " 612.1241+", 6.1212410000e+02, 9,
+__LINE__, " 612.1241+1", 6.1212410000e+02, 9,
+__LINE__, " 612.1241+20", 6.1212410000e+02, 9,
+__LINE__, " 612.1241-", 6.1212410000e+02, 9,
+__LINE__, " 612.1241-1", 6.1212410000e+02, 9,
+__LINE__, " 612.1241-20", 6.1212410000e+02, 9,
+__LINE__, " 612.1241e", 6.1212410000e+02, 9,
+__LINE__, " 612.1241e+", 6.1212410000e+02, 9,
+__LINE__, " 612.1241e-", 6.1212410000e+02, 9,
+__LINE__, "+612.1241", 6.1212410000e+02, 9,
+__LINE__, "+612.1241+", 6.1212410000e+02, 9,
+__LINE__, "+612.1241+1", 6.1212410000e+02, 9,
+__LINE__, "+612.1241+20", 6.1212410000e+02, 9,
+__LINE__, "+612.1241-", 6.1212410000e+02, 9,
+__LINE__, "+612.1241-1", 6.1212410000e+02, 9,
+__LINE__, "+612.1241-20", 6.1212410000e+02, 9,
+__LINE__, "+612.1241e", 6.1212410000e+02, 9,
+__LINE__, "+612.1241e+", 6.1212410000e+02, 9,
+__LINE__, "+612.1241e-", 6.1212410000e+02, 9,
+__LINE__, "612.1241", 6.1212410000e+02, 8,
+__LINE__, "612.1241+", 6.1212410000e+02, 8,
+__LINE__, "612.1241+1", 6.1212410000e+02, 8,
+__LINE__, "612.1241+20", 6.1212410000e+02, 8,
+__LINE__, "612.1241-", 6.1212410000e+02, 8,
+__LINE__, "612.1241-1", 6.1212410000e+02, 8,
+__LINE__, "612.1241-20", 6.1212410000e+02, 8,
+__LINE__, "612.1241e", 6.1212410000e+02, 8,
+__LINE__, "612.1241e+", 6.1212410000e+02, 8,
+__LINE__, "612.1241e-", 6.1212410000e+02, 8,
+__LINE__, " +6121241", 6.1212410000e+06, 9,
+__LINE__, " +6121241+", 6.1212410000e+06, 9,
+__LINE__, " +6121241+1", 6.1212410000e+06, 9,
+__LINE__, " +6121241+20", 6.1212410000e+06, 9,
+__LINE__, " +6121241-", 6.1212410000e+06, 9,
+__LINE__, " +6121241-1", 6.1212410000e+06, 9,
+__LINE__, " +6121241-20", 6.1212410000e+06, 9,
+__LINE__, " +6121241e", 6.1212410000e+06, 9,
+__LINE__, " +6121241e+", 6.1212410000e+06, 9,
+__LINE__, " +6121241e-", 6.1212410000e+06, 9,
+__LINE__, " 6121241", 6.1212410000e+06, 8,
+__LINE__, " 6121241+", 6.1212410000e+06, 8,
+__LINE__, " 6121241+1", 6.1212410000e+06, 8,
+__LINE__, " 6121241+20", 6.1212410000e+06, 8,
+__LINE__, " 6121241-", 6.1212410000e+06, 8,
+__LINE__, " 6121241-1", 6.1212410000e+06, 8,
+__LINE__, " 6121241-20", 6.1212410000e+06, 8,
+__LINE__, " 6121241e", 6.1212410000e+06, 8,
+__LINE__, " 6121241e+", 6.1212410000e+06, 8,
+__LINE__, " 6121241e-", 6.1212410000e+06, 8,
+__LINE__, "+6121241", 6.1212410000e+06, 8,
+__LINE__, "+6121241+", 6.1212410000e+06, 8,
+__LINE__, "+6121241+1", 6.1212410000e+06, 8,
+__LINE__, "+6121241+20", 6.1212410000e+06, 8,
+__LINE__, "+6121241-", 6.1212410000e+06, 8,
+__LINE__, "+6121241-1", 6.1212410000e+06, 8,
+__LINE__, "+6121241-20", 6.1212410000e+06, 8,
+__LINE__, "+6121241e", 6.1212410000e+06, 8,
+__LINE__, "+6121241e+", 6.1212410000e+06, 8,
+__LINE__, "+6121241e-", 6.1212410000e+06, 8,
+__LINE__, "6121241", 6.1212410000e+06, 7,
+__LINE__, "6121241+", 6.1212410000e+06, 7,
+__LINE__, "6121241+1", 6.1212410000e+06, 7,
+__LINE__, "6121241+20", 6.1212410000e+06, 7,
+__LINE__, "6121241-", 6.1212410000e+06, 7,
+__LINE__, "6121241-1", 6.1212410000e+06, 7,
+__LINE__, "6121241-20", 6.1212410000e+06, 7,
+__LINE__, "6121241e", 6.1212410000e+06, 7,
+__LINE__, "6121241e+", 6.1212410000e+06, 7,
+__LINE__, "6121241e-", 6.1212410000e+06, 7,
+__LINE__, " +612.1241e+20", 6.1212410000e+22, 14,
+__LINE__, " +612.1241e20", 6.1212410000e+22, 13,
+__LINE__, " 612.1241e+20", 6.1212410000e+22, 13,
+__LINE__, " 612.1241e20", 6.1212410000e+22, 12,
+__LINE__, "+612.1241e+20", 6.1212410000e+22, 13,
+__LINE__, "+612.1241e20", 6.1212410000e+22, 12,
+__LINE__, "612.1241e+20", 6.1212410000e+22, 12,
+__LINE__, "612.1241e20", 6.1212410000e+22, 11,
+__LINE__, " +6121241e+20", 6.1212410000e+26, 13,
+__LINE__, " +6121241e20", 6.1212410000e+26, 12,
+__LINE__, " 6121241e+20", 6.1212410000e+26, 12,
+__LINE__, " 6121241e20", 6.1212410000e+26, 11,
+__LINE__, "+6121241e+20", 6.1212410000e+26, 12,
+__LINE__, "+6121241e20", 6.1212410000e+26, 11,
+__LINE__, "6121241e+20", 6.1212410000e+26, 11,
+__LINE__, "6121241e20", 6.1212410000e+26, 10,
+__LINE__, " +612.1241e-20", 6.1212410000e-18, 14,
+__LINE__, " 612.1241e-20", 6.1212410000e-18, 13,
+__LINE__, "+612.1241e-20", 6.1212410000e-18, 13,
+__LINE__, "612.1241e-20", 6.1212410000e-18, 12,
+__LINE__, " +612.12411", 6.1212411000e+02, 11,
+__LINE__, " 612.12411", 6.1212411000e+02, 10,
+__LINE__, "+612.12411", 6.1212411000e+02, 10,
+__LINE__, "612.12411", 6.1212411000e+02, 9,
+__LINE__, " +61212411", 6.1212411000e+07, 10,
+__LINE__, " 61212411", 6.1212411000e+07, 9,
+__LINE__, "+61212411", 6.1212411000e+07, 9,
+__LINE__, "61212411", 6.1212411000e+07, 8,
+__LINE__, " +612.124120", 6.1212412000e+02, 12,
+__LINE__, " 612.124120", 6.1212412000e+02, 11,
+__LINE__, "+612.124120", 6.1212412000e+02, 11,
+__LINE__, "612.124120", 6.1212412000e+02, 10,
+__LINE__, " +612124120", 6.1212412000e+08, 11,
+__LINE__, " 612124120", 6.1212412000e+08, 10,
+__LINE__, "+612124120", 6.1212412000e+08, 10,
+__LINE__, "612124120", 6.1212412000e+08, 9,
+__LINE__, " +61220", 6.1220000000e+04, 7,
+__LINE__, " 61220", 6.1220000000e+04, 6,
+__LINE__, "+61220", 6.1220000000e+04, 6,
+__LINE__, "61220", 6.1220000000e+04, 5,
+__LINE__, " +612.20", 6.1220000000e+02, 8,
+__LINE__, " 612.20", 6.1220000000e+02, 7,
+__LINE__, "+612.20", 6.1220000000e+02, 7,
+__LINE__, "612.20", 6.1220000000e+02, 6,
+__LINE__, " +612.8", 6.1280000000e+02, 7,
+__LINE__, " +612.8+", 6.1280000000e+02, 7,
+__LINE__, " +612.8+1", 6.1280000000e+02, 7,
+__LINE__, " +612.8+20", 6.1280000000e+02, 7,
+__LINE__, " +612.8-", 6.1280000000e+02, 7,
+__LINE__, " +612.8-1", 6.1280000000e+02, 7,
+__LINE__, " +612.8-20", 6.1280000000e+02, 7,
+__LINE__, " +612.8e", 6.1280000000e+02, 7,
+__LINE__, " +612.8e+", 6.1280000000e+02, 7,
+__LINE__, " +612.8e-", 6.1280000000e+02, 7,
+__LINE__, " +6128e-1", 6.1280000000e+02, 9,
+__LINE__, " 612.8", 6.1280000000e+02, 6,
+__LINE__, " 612.8+", 6.1280000000e+02, 6,
+__LINE__, " 612.8+1", 6.1280000000e+02, 6,
+__LINE__, " 612.8+20", 6.1280000000e+02, 6,
+__LINE__, " 612.8-", 6.1280000000e+02, 6,
+__LINE__, " 612.8-1", 6.1280000000e+02, 6,
+__LINE__, " 612.8-20", 6.1280000000e+02, 6,
+__LINE__, " 612.8e", 6.1280000000e+02, 6,
+__LINE__, " 612.8e+", 6.1280000000e+02, 6,
+__LINE__, " 612.8e-", 6.1280000000e+02, 6,
+__LINE__, " 6128e-1", 6.1280000000e+02, 8,
+__LINE__, "+612.8", 6.1280000000e+02, 6,
+__LINE__, "+612.8+", 6.1280000000e+02, 6,
+__LINE__, "+612.8+1", 6.1280000000e+02, 6,
+__LINE__, "+612.8+20", 6.1280000000e+02, 6,
+__LINE__, "+612.8-", 6.1280000000e+02, 6,
+__LINE__, "+612.8-1", 6.1280000000e+02, 6,
+__LINE__, "+612.8-20", 6.1280000000e+02, 6,
+__LINE__, "+612.8e", 6.1280000000e+02, 6,
+__LINE__, "+612.8e+", 6.1280000000e+02, 6,
+__LINE__, "+612.8e-", 6.1280000000e+02, 6,
+__LINE__, "+6128e-1", 6.1280000000e+02, 8,
+__LINE__, "612.8", 6.1280000000e+02, 5,
+__LINE__, "612.8+", 6.1280000000e+02, 5,
+__LINE__, "612.8+1", 6.1280000000e+02, 5,
+__LINE__, "612.8+20", 6.1280000000e+02, 5,
+__LINE__, "612.8-", 6.1280000000e+02, 5,
+__LINE__, "612.8-1", 6.1280000000e+02, 5,
+__LINE__, "612.8-20", 6.1280000000e+02, 5,
+__LINE__, "612.8e", 6.1280000000e+02, 5,
+__LINE__, "612.8e+", 6.1280000000e+02, 5,
+__LINE__, "612.8e-", 6.1280000000e+02, 5,
+__LINE__, "6128e-1", 6.1280000000e+02, 7,
+__LINE__, " +612.8e+20", 6.1280000000e+22, 11,
+__LINE__, " +612.8e20", 6.1280000000e+22, 10,
+__LINE__, " 612.8e+20", 6.1280000000e+22, 10,
+__LINE__, " 612.8e20", 6.1280000000e+22, 9,
+__LINE__, "+612.8e+20", 6.1280000000e+22, 10,
+__LINE__, "+612.8e20", 6.1280000000e+22, 9,
+__LINE__, "612.8e+20", 6.1280000000e+22, 9,
+__LINE__, "612.8e20", 6.1280000000e+22, 8,
+__LINE__, " +6128e-20", 6.1280000000e-17, 10,
+__LINE__, " 6128e-20", 6.1280000000e-17, 9,
+__LINE__, "+6128e-20", 6.1280000000e-17, 9,
+__LINE__, "6128e-20", 6.1280000000e-17, 8,
+__LINE__, " +612.8e-1", 6.1280000000e+01, 10,
+__LINE__, " 612.8e-1", 6.1280000000e+01, 9,
+__LINE__, "+612.8e-1", 6.1280000000e+01, 9,
+__LINE__, "612.8e-1", 6.1280000000e+01, 8,
+__LINE__, " +612.8e+1", 6.1280000000e+03, 10,
+__LINE__, " +612.8e1", 6.1280000000e+03, 9,
+__LINE__, " +6128", 6.1280000000e+03, 6,
+__LINE__, " +6128+", 6.1280000000e+03, 6,
+__LINE__, " +6128+1", 6.1280000000e+03, 6,
+__LINE__, " +6128+20", 6.1280000000e+03, 6,
+__LINE__, " +6128-", 6.1280000000e+03, 6,
+__LINE__, " +6128-1", 6.1280000000e+03, 6,
+__LINE__, " +6128-20", 6.1280000000e+03, 6,
+__LINE__, " +6128e", 6.1280000000e+03, 6,
+__LINE__, " +6128e+", 6.1280000000e+03, 6,
+__LINE__, " +6128e-", 6.1280000000e+03, 6,
+__LINE__, " 612.8e+1", 6.1280000000e+03, 9,
+__LINE__, " 612.8e1", 6.1280000000e+03, 8,
+__LINE__, " 6128", 6.1280000000e+03, 5,
+__LINE__, " 6128+", 6.1280000000e+03, 5,
+__LINE__, " 6128+1", 6.1280000000e+03, 5,
+__LINE__, " 6128+20", 6.1280000000e+03, 5,
+__LINE__, " 6128-", 6.1280000000e+03, 5,
+__LINE__, " 6128-1", 6.1280000000e+03, 5,
+__LINE__, " 6128-20", 6.1280000000e+03, 5,
+__LINE__, " 6128e", 6.1280000000e+03, 5,
+__LINE__, " 6128e+", 6.1280000000e+03, 5,
+__LINE__, " 6128e-", 6.1280000000e+03, 5,
+__LINE__, "+612.8e+1", 6.1280000000e+03, 9,
+__LINE__, "+612.8e1", 6.1280000000e+03, 8,
+__LINE__, "+6128", 6.1280000000e+03, 5,
+__LINE__, "+6128+", 6.1280000000e+03, 5,
+__LINE__, "+6128+1", 6.1280000000e+03, 5,
+__LINE__, "+6128+20", 6.1280000000e+03, 5,
+__LINE__, "+6128-", 6.1280000000e+03, 5,
+__LINE__, "+6128-1", 6.1280000000e+03, 5,
+__LINE__, "+6128-20", 6.1280000000e+03, 5,
+__LINE__, "+6128e", 6.1280000000e+03, 5,
+__LINE__, "+6128e+", 6.1280000000e+03, 5,
+__LINE__, "+6128e-", 6.1280000000e+03, 5,
+__LINE__, "612.8e+1", 6.1280000000e+03, 8,
+__LINE__, "612.8e1", 6.1280000000e+03, 7,
+__LINE__, "6128", 6.1280000000e+03, 4,
+__LINE__, "6128+", 6.1280000000e+03, 4,
+__LINE__, "6128+1", 6.1280000000e+03, 4,
+__LINE__, "6128+20", 6.1280000000e+03, 4,
+__LINE__, "6128-", 6.1280000000e+03, 4,
+__LINE__, "6128-1", 6.1280000000e+03, 4,
+__LINE__, "6128-20", 6.1280000000e+03, 4,
+__LINE__, "6128e", 6.1280000000e+03, 4,
+__LINE__, "6128e+", 6.1280000000e+03, 4,
+__LINE__, "6128e-", 6.1280000000e+03, 4,
+__LINE__, " +6128e+1", 6.1280000000e+04, 9,
+__LINE__, " +6128e1", 6.1280000000e+04, 8,
+__LINE__, " 6128e+1", 6.1280000000e+04, 8,
+__LINE__, " 6128e1", 6.1280000000e+04, 7,
+__LINE__, "+6128e+1", 6.1280000000e+04, 8,
+__LINE__, "+6128e1", 6.1280000000e+04, 7,
+__LINE__, "6128e+1", 6.1280000000e+04, 7,
+__LINE__, "6128e1", 6.1280000000e+04, 6,
+__LINE__, " +6128e+20", 6.1280000000e+23, 10,
+__LINE__, " +6128e20", 6.1280000000e+23, 9,
+__LINE__, " 6128e+20", 6.1280000000e+23, 9,
+__LINE__, " 6128e20", 6.1280000000e+23, 8,
+__LINE__, "+6128e+20", 6.1280000000e+23, 9,
+__LINE__, "+6128e20", 6.1280000000e+23, 8,
+__LINE__, "6128e+20", 6.1280000000e+23, 8,
+__LINE__, "6128e20", 6.1280000000e+23, 7,
+__LINE__, " +612.8e-20", 6.1280000000e-18, 11,
+__LINE__, " 612.8e-20", 6.1280000000e-18, 10,
+__LINE__, "+612.8e-20", 6.1280000000e-18, 10,
+__LINE__, "612.8e-20", 6.1280000000e-18, 9,
+__LINE__, " +612.81", 6.1281000000e+02, 8,
+__LINE__, " 612.81", 6.1281000000e+02, 7,
+__LINE__, "+612.81", 6.1281000000e+02, 7,
+__LINE__, "612.81", 6.1281000000e+02, 6,
+__LINE__, " +61281", 6.1281000000e+04, 7,
+__LINE__, " 61281", 6.1281000000e+04, 6,
+__LINE__, "+61281", 6.1281000000e+04, 6,
+__LINE__, "61281", 6.1281000000e+04, 5,
+__LINE__, " +612820", 6.1282000000e+05, 8,
+__LINE__, " 612820", 6.1282000000e+05, 7,
+__LINE__, "+612820", 6.1282000000e+05, 7,
+__LINE__, "612820", 6.1282000000e+05, 6,
+__LINE__, " +612.820", 6.1282000000e+02, 9,
+__LINE__, " 612.820", 6.1282000000e+02, 8,
+__LINE__, "+612.820", 6.1282000000e+02, 8,
+__LINE__, "612.820", 6.1282000000e+02, 7,
+__LINE__, " +612.9e-1", 6.1290000000e+01, 10,
+__LINE__, " 612.9e-1", 6.1290000000e+01, 9,
+__LINE__, "+612.9e-1", 6.1290000000e+01, 9,
+__LINE__, "612.9e-1", 6.1290000000e+01, 8,
+__LINE__, " +612.9", 6.1290000000e+02, 7,
+__LINE__, " +612.9+", 6.1290000000e+02, 7,
+__LINE__, " +612.9+1", 6.1290000000e+02, 7,
+__LINE__, " +612.9+20", 6.1290000000e+02, 7,
+__LINE__, " +612.9-", 6.1290000000e+02, 7,
+__LINE__, " +612.9-1", 6.1290000000e+02, 7,
+__LINE__, " +612.9-20", 6.1290000000e+02, 7,
+__LINE__, " +612.9e", 6.1290000000e+02, 7,
+__LINE__, " +612.9e+", 6.1290000000e+02, 7,
+__LINE__, " +612.9e-", 6.1290000000e+02, 7,
+__LINE__, " +6129e-1", 6.1290000000e+02, 9,
+__LINE__, " 612.9", 6.1290000000e+02, 6,
+__LINE__, " 612.9+", 6.1290000000e+02, 6,
+__LINE__, " 612.9+1", 6.1290000000e+02, 6,
+__LINE__, " 612.9+20", 6.1290000000e+02, 6,
+__LINE__, " 612.9-", 6.1290000000e+02, 6,
+__LINE__, " 612.9-1", 6.1290000000e+02, 6,
+__LINE__, " 612.9-20", 6.1290000000e+02, 6,
+__LINE__, " 612.9e", 6.1290000000e+02, 6,
+__LINE__, " 612.9e+", 6.1290000000e+02, 6,
+__LINE__, " 612.9e-", 6.1290000000e+02, 6,
+__LINE__, " 6129e-1", 6.1290000000e+02, 8,
+__LINE__, "+612.9", 6.1290000000e+02, 6,
+__LINE__, "+612.9+", 6.1290000000e+02, 6,
+__LINE__, "+612.9+1", 6.1290000000e+02, 6,
+__LINE__, "+612.9+20", 6.1290000000e+02, 6,
+__LINE__, "+612.9-", 6.1290000000e+02, 6,
+__LINE__, "+612.9-1", 6.1290000000e+02, 6,
+__LINE__, "+612.9-20", 6.1290000000e+02, 6,
+__LINE__, "+612.9e", 6.1290000000e+02, 6,
+__LINE__, "+612.9e+", 6.1290000000e+02, 6,
+__LINE__, "+612.9e-", 6.1290000000e+02, 6,
+__LINE__, "+6129e-1", 6.1290000000e+02, 8,
+__LINE__, "612.9", 6.1290000000e+02, 5,
+__LINE__, "612.9+", 6.1290000000e+02, 5,
+__LINE__, "612.9+1", 6.1290000000e+02, 5,
+__LINE__, "612.9+20", 6.1290000000e+02, 5,
+__LINE__, "612.9-", 6.1290000000e+02, 5,
+__LINE__, "612.9-1", 6.1290000000e+02, 5,
+__LINE__, "612.9-20", 6.1290000000e+02, 5,
+__LINE__, "612.9e", 6.1290000000e+02, 5,
+__LINE__, "612.9e+", 6.1290000000e+02, 5,
+__LINE__, "612.9e-", 6.1290000000e+02, 5,
+__LINE__, "6129e-1", 6.1290000000e+02, 7,
+__LINE__, " +612.9e+1", 6.1290000000e+03, 10,
+__LINE__, " +612.9e1", 6.1290000000e+03, 9,
+__LINE__, " +6129", 6.1290000000e+03, 6,
+__LINE__, " +6129+", 6.1290000000e+03, 6,
+__LINE__, " +6129+1", 6.1290000000e+03, 6,
+__LINE__, " +6129+20", 6.1290000000e+03, 6,
+__LINE__, " +6129-", 6.1290000000e+03, 6,
+__LINE__, " +6129-1", 6.1290000000e+03, 6,
+__LINE__, " +6129-20", 6.1290000000e+03, 6,
+__LINE__, " +6129e", 6.1290000000e+03, 6,
+__LINE__, " +6129e+", 6.1290000000e+03, 6,
+__LINE__, " +6129e-", 6.1290000000e+03, 6,
+__LINE__, " 612.9e+1", 6.1290000000e+03, 9,
+__LINE__, " 612.9e1", 6.1290000000e+03, 8,
+__LINE__, " 6129", 6.1290000000e+03, 5,
+__LINE__, " 6129+", 6.1290000000e+03, 5,
+__LINE__, " 6129+1", 6.1290000000e+03, 5,
+__LINE__, " 6129+20", 6.1290000000e+03, 5,
+__LINE__, " 6129-", 6.1290000000e+03, 5,
+__LINE__, " 6129-1", 6.1290000000e+03, 5,
+__LINE__, " 6129-20", 6.1290000000e+03, 5,
+__LINE__, " 6129e", 6.1290000000e+03, 5,
+__LINE__, " 6129e+", 6.1290000000e+03, 5,
+__LINE__, " 6129e-", 6.1290000000e+03, 5,
+__LINE__, "+612.9e+1", 6.1290000000e+03, 9,
+__LINE__, "+612.9e1", 6.1290000000e+03, 8,
+__LINE__, "+6129", 6.1290000000e+03, 5,
+__LINE__, "+6129+", 6.1290000000e+03, 5,
+__LINE__, "+6129+1", 6.1290000000e+03, 5,
+__LINE__, "+6129+20", 6.1290000000e+03, 5,
+__LINE__, "+6129-", 6.1290000000e+03, 5,
+__LINE__, "+6129-1", 6.1290000000e+03, 5,
+__LINE__, "+6129-20", 6.1290000000e+03, 5,
+__LINE__, "+6129e", 6.1290000000e+03, 5,
+__LINE__, "+6129e+", 6.1290000000e+03, 5,
+__LINE__, "+6129e-", 6.1290000000e+03, 5,
+__LINE__, "612.9e+1", 6.1290000000e+03, 8,
+__LINE__, "612.9e1", 6.1290000000e+03, 7,
+__LINE__, "6129", 6.1290000000e+03, 4,
+__LINE__, "6129+", 6.1290000000e+03, 4,
+__LINE__, "6129+1", 6.1290000000e+03, 4,
+__LINE__, "6129+20", 6.1290000000e+03, 4,
+__LINE__, "6129-", 6.1290000000e+03, 4,
+__LINE__, "6129-1", 6.1290000000e+03, 4,
+__LINE__, "6129-20", 6.1290000000e+03, 4,
+__LINE__, "6129e", 6.1290000000e+03, 4,
+__LINE__, "6129e+", 6.1290000000e+03, 4,
+__LINE__, "6129e-", 6.1290000000e+03, 4,
+__LINE__, " +6129e+1", 6.1290000000e+04, 9,
+__LINE__, " +6129e1", 6.1290000000e+04, 8,
+__LINE__, " 6129e+1", 6.1290000000e+04, 8,
+__LINE__, " 6129e1", 6.1290000000e+04, 7,
+__LINE__, "+6129e+1", 6.1290000000e+04, 8,
+__LINE__, "+6129e1", 6.1290000000e+04, 7,
+__LINE__, "6129e+1", 6.1290000000e+04, 7,
+__LINE__, "6129e1", 6.1290000000e+04, 6,
+__LINE__, " +612.9e+20", 6.1290000000e+22, 11,
+__LINE__, " +612.9e20", 6.1290000000e+22, 10,
+__LINE__, " 612.9e+20", 6.1290000000e+22, 10,
+__LINE__, " 612.9e20", 6.1290000000e+22, 9,
+__LINE__, "+612.9e+20", 6.1290000000e+22, 10,
+__LINE__, "+612.9e20", 6.1290000000e+22, 9,
+__LINE__, "612.9e+20", 6.1290000000e+22, 9,
+__LINE__, "612.9e20", 6.1290000000e+22, 8,
+__LINE__, " +6129e+20", 6.1290000000e+23, 10,
+__LINE__, " +6129e20", 6.1290000000e+23, 9,
+__LINE__, " 6129e+20", 6.1290000000e+23, 9,
+__LINE__, " 6129e20", 6.1290000000e+23, 8,
+__LINE__, "+6129e+20", 6.1290000000e+23, 9,
+__LINE__, "+6129e20", 6.1290000000e+23, 8,
+__LINE__, "6129e+20", 6.1290000000e+23, 8,
+__LINE__, "6129e20", 6.1290000000e+23, 7,
+__LINE__, " +612.9e-20", 6.1290000000e-18, 11,
+__LINE__, " 612.9e-20", 6.1290000000e-18, 10,
+__LINE__, "+612.9e-20", 6.1290000000e-18, 10,
+__LINE__, "612.9e-20", 6.1290000000e-18, 9,
+__LINE__, " +6129e-20", 6.1290000000e-17, 10,
+__LINE__, " 6129e-20", 6.1290000000e-17, 9,
+__LINE__, "+6129e-20", 6.1290000000e-17, 9,
+__LINE__, "6129e-20", 6.1290000000e-17, 8,
+__LINE__, " +612.91", 6.1291000000e+02, 8,
+__LINE__, " 612.91", 6.1291000000e+02, 7,
+__LINE__, "+612.91", 6.1291000000e+02, 7,
+__LINE__, "612.91", 6.1291000000e+02, 6,
+__LINE__, " +61291", 6.1291000000e+04, 7,
+__LINE__, " 61291", 6.1291000000e+04, 6,
+__LINE__, "+61291", 6.1291000000e+04, 6,
+__LINE__, "61291", 6.1291000000e+04, 5,
+__LINE__, " +612.920", 6.1292000000e+02, 9,
+__LINE__, " 612.920", 6.1292000000e+02, 8,
+__LINE__, "+612.920", 6.1292000000e+02, 8,
+__LINE__, "612.920", 6.1292000000e+02, 7,
+__LINE__, " +612920", 6.1292000000e+05, 8,
+__LINE__, " 612920", 6.1292000000e+05, 7,
+__LINE__, "+612920", 6.1292000000e+05, 7,
+__LINE__, "612920", 6.1292000000e+05, 6,
+__LINE__, " +08e-20", 8.0000000000e-20, 8,
+__LINE__, " +8e-20", 8.0000000000e-20, 7,
+__LINE__, " 08e-20", 8.0000000000e-20, 7,
+__LINE__, " 8e-20", 8.0000000000e-20, 6,
+__LINE__, "+08e-20", 8.0000000000e-20, 7,
+__LINE__, "+8e-20", 8.0000000000e-20, 6,
+__LINE__, "08e-20", 8.0000000000e-20, 6,
+__LINE__, "8e-20", 8.0000000000e-20, 5,
+__LINE__, " +.8e-20", 8.0000000000e-21, 8,
+__LINE__, " +0.8e-20", 8.0000000000e-21, 9,
+__LINE__, " .8e-20", 8.0000000000e-21, 7,
+__LINE__, " 0.8e-20", 8.0000000000e-21, 8,
+__LINE__, "+.8e-20", 8.0000000000e-21, 7,
+__LINE__, "+0.8e-20", 8.0000000000e-21, 8,
+__LINE__, ".8e-20", 8.0000000000e-21, 6,
+__LINE__, "0.8e-20", 8.0000000000e-21, 7,
+__LINE__, " +.8e+1", 8.0000000000e+00, 7,
+__LINE__, " +.8e1", 8.0000000000e+00, 6,
+__LINE__, " +0.8e+1", 8.0000000000e+00, 8,
+__LINE__, " +0.8e1", 8.0000000000e+00, 7,
+__LINE__, " +08", 8.0000000000e+00, 4,
+__LINE__, " +08+", 8.0000000000e+00, 4,
+__LINE__, " +08+1", 8.0000000000e+00, 4,
+__LINE__, " +08+20", 8.0000000000e+00, 4,
+__LINE__, " +08-", 8.0000000000e+00, 4,
+__LINE__, " +08-1", 8.0000000000e+00, 4,
+__LINE__, " +08-20", 8.0000000000e+00, 4,
+__LINE__, " +08e", 8.0000000000e+00, 4,
+__LINE__, " +08e+", 8.0000000000e+00, 4,
+__LINE__, " +08e-", 8.0000000000e+00, 4,
+__LINE__, " +8", 8.0000000000e+00, 3,
+__LINE__, " +8+", 8.0000000000e+00, 3,
+__LINE__, " +8+1", 8.0000000000e+00, 3,
+__LINE__, " +8+20", 8.0000000000e+00, 3,
+__LINE__, " +8-", 8.0000000000e+00, 3,
+__LINE__, " +8-1", 8.0000000000e+00, 3,
+__LINE__, " +8-20", 8.0000000000e+00, 3,
+__LINE__, " +8e", 8.0000000000e+00, 3,
+__LINE__, " +8e+", 8.0000000000e+00, 3,
+__LINE__, " +8e-", 8.0000000000e+00, 3,
+__LINE__, " .8e+1", 8.0000000000e+00, 6,
+__LINE__, " .8e1", 8.0000000000e+00, 5,
+__LINE__, " 0.8e+1", 8.0000000000e+00, 7,
+__LINE__, " 0.8e1", 8.0000000000e+00, 6,
+__LINE__, " 08", 8.0000000000e+00, 3,
+__LINE__, " 08+", 8.0000000000e+00, 3,
+__LINE__, " 08+1", 8.0000000000e+00, 3,
+__LINE__, " 08+20", 8.0000000000e+00, 3,
+__LINE__, " 08-", 8.0000000000e+00, 3,
+__LINE__, " 08-1", 8.0000000000e+00, 3,
+__LINE__, " 08-20", 8.0000000000e+00, 3,
+__LINE__, " 08e", 8.0000000000e+00, 3,
+__LINE__, " 08e+", 8.0000000000e+00, 3,
+__LINE__, " 08e-", 8.0000000000e+00, 3,
+__LINE__, " 8", 8.0000000000e+00, 2,
+__LINE__, " 8+", 8.0000000000e+00, 2,
+__LINE__, " 8+1", 8.0000000000e+00, 2,
+__LINE__, " 8+20", 8.0000000000e+00, 2,
+__LINE__, " 8-", 8.0000000000e+00, 2,
+__LINE__, " 8-1", 8.0000000000e+00, 2,
+__LINE__, " 8-20", 8.0000000000e+00, 2,
+__LINE__, " 8e", 8.0000000000e+00, 2,
+__LINE__, " 8e+", 8.0000000000e+00, 2,
+__LINE__, " 8e-", 8.0000000000e+00, 2,
+__LINE__, "+.8e+1", 8.0000000000e+00, 6,
+__LINE__, "+.8e1", 8.0000000000e+00, 5,
+__LINE__, "+0.8e+1", 8.0000000000e+00, 7,
+__LINE__, "+0.8e1", 8.0000000000e+00, 6,
+__LINE__, "+08", 8.0000000000e+00, 3,
+__LINE__, "+08+", 8.0000000000e+00, 3,
+__LINE__, "+08+1", 8.0000000000e+00, 3,
+__LINE__, "+08+20", 8.0000000000e+00, 3,
+__LINE__, "+08-", 8.0000000000e+00, 3,
+__LINE__, "+08-1", 8.0000000000e+00, 3,
+__LINE__, "+08-20", 8.0000000000e+00, 3,
+__LINE__, "+08e", 8.0000000000e+00, 3,
+__LINE__, "+08e+", 8.0000000000e+00, 3,
+__LINE__, "+08e-", 8.0000000000e+00, 3,
+__LINE__, "+8", 8.0000000000e+00, 2,
+__LINE__, "+8+", 8.0000000000e+00, 2,
+__LINE__, "+8+1", 8.0000000000e+00, 2,
+__LINE__, "+8+20", 8.0000000000e+00, 2,
+__LINE__, "+8-", 8.0000000000e+00, 2,
+__LINE__, "+8-1", 8.0000000000e+00, 2,
+__LINE__, "+8-20", 8.0000000000e+00, 2,
+__LINE__, "+8e", 8.0000000000e+00, 2,
+__LINE__, "+8e+", 8.0000000000e+00, 2,
+__LINE__, "+8e-", 8.0000000000e+00, 2,
+__LINE__, ".8e+1", 8.0000000000e+00, 5,
+__LINE__, ".8e1", 8.0000000000e+00, 4,
+__LINE__, "0.8e+1", 8.0000000000e+00, 6,
+__LINE__, "0.8e1", 8.0000000000e+00, 5,
+__LINE__, "08", 8.0000000000e+00, 2,
+__LINE__, "08+", 8.0000000000e+00, 2,
+__LINE__, "08+1", 8.0000000000e+00, 2,
+__LINE__, "08+20", 8.0000000000e+00, 2,
+__LINE__, "08-", 8.0000000000e+00, 2,
+__LINE__, "08-1", 8.0000000000e+00, 2,
+__LINE__, "08-20", 8.0000000000e+00, 2,
+__LINE__, "08e", 8.0000000000e+00, 2,
+__LINE__, "08e+", 8.0000000000e+00, 2,
+__LINE__, "08e-", 8.0000000000e+00, 2,
+__LINE__, "8", 8.0000000000e+00, 1,
+__LINE__, "8+", 8.0000000000e+00, 1,
+__LINE__, "8+1", 8.0000000000e+00, 1,
+__LINE__, "8+20", 8.0000000000e+00, 1,
+__LINE__, "8-", 8.0000000000e+00, 1,
+__LINE__, "8-1", 8.0000000000e+00, 1,
+__LINE__, "8-20", 8.0000000000e+00, 1,
+__LINE__, "8e", 8.0000000000e+00, 1,
+__LINE__, "8e+", 8.0000000000e+00, 1,
+__LINE__, "8e-", 8.0000000000e+00, 1,
+__LINE__, " +08e+1", 8.0000000000e+01, 7,
+__LINE__, " +08e1", 8.0000000000e+01, 6,
+__LINE__, " +8e+1", 8.0000000000e+01, 6,
+__LINE__, " +8e1", 8.0000000000e+01, 5,
+__LINE__, " 08e+1", 8.0000000000e+01, 6,
+__LINE__, " 08e1", 8.0000000000e+01, 5,
+__LINE__, " 8e+1", 8.0000000000e+01, 5,
+__LINE__, " 8e1", 8.0000000000e+01, 4,
+__LINE__, "+08e+1", 8.0000000000e+01, 6,
+__LINE__, "+08e1", 8.0000000000e+01, 5,
+__LINE__, "+8e+1", 8.0000000000e+01, 5,
+__LINE__, "+8e1", 8.0000000000e+01, 4,
+__LINE__, "08e+1", 8.0000000000e+01, 5,
+__LINE__, "08e1", 8.0000000000e+01, 4,
+__LINE__, "8e+1", 8.0000000000e+01, 4,
+__LINE__, "8e1", 8.0000000000e+01, 3,
+__LINE__, " +.8e+20", 8.0000000000e+19, 8,
+__LINE__, " +.8e20", 8.0000000000e+19, 7,
+__LINE__, " +0.8e+20", 8.0000000000e+19, 9,
+__LINE__, " +0.8e20", 8.0000000000e+19, 8,
+__LINE__, " .8e+20", 8.0000000000e+19, 7,
+__LINE__, " .8e20", 8.0000000000e+19, 6,
+__LINE__, " 0.8e+20", 8.0000000000e+19, 8,
+__LINE__, " 0.8e20", 8.0000000000e+19, 7,
+__LINE__, "+.8e+20", 8.0000000000e+19, 7,
+__LINE__, "+.8e20", 8.0000000000e+19, 6,
+__LINE__, "+0.8e+20", 8.0000000000e+19, 8,
+__LINE__, "+0.8e20", 8.0000000000e+19, 7,
+__LINE__, ".8e+20", 8.0000000000e+19, 6,
+__LINE__, ".8e20", 8.0000000000e+19, 5,
+__LINE__, "0.8e+20", 8.0000000000e+19, 7,
+__LINE__, "0.8e20", 8.0000000000e+19, 6,
+__LINE__, " +08e+20", 8.0000000000e+20, 8,
+__LINE__, " +08e20", 8.0000000000e+20, 7,
+__LINE__, " +8e+20", 8.0000000000e+20, 7,
+__LINE__, " +8e20", 8.0000000000e+20, 6,
+__LINE__, " 08e+20", 8.0000000000e+20, 7,
+__LINE__, " 08e20", 8.0000000000e+20, 6,
+__LINE__, " 8e+20", 8.0000000000e+20, 6,
+__LINE__, " 8e20", 8.0000000000e+20, 5,
+__LINE__, "+08e+20", 8.0000000000e+20, 7,
+__LINE__, "+08e20", 8.0000000000e+20, 6,
+__LINE__, "+8e+20", 8.0000000000e+20, 6,
+__LINE__, "+8e20", 8.0000000000e+20, 5,
+__LINE__, "08e+20", 8.0000000000e+20, 6,
+__LINE__, "08e20", 8.0000000000e+20, 5,
+__LINE__, "8e+20", 8.0000000000e+20, 5,
+__LINE__, "8e20", 8.0000000000e+20, 4,
+__LINE__, " +.8", 8.0000000000e-01, 4,
+__LINE__, " +.8+", 8.0000000000e-01, 4,
+__LINE__, " +.8+1", 8.0000000000e-01, 4,
+__LINE__, " +.8+20", 8.0000000000e-01, 4,
+__LINE__, " +.8-", 8.0000000000e-01, 4,
+__LINE__, " +.8-1", 8.0000000000e-01, 4,
+__LINE__, " +.8-20", 8.0000000000e-01, 4,
+__LINE__, " +.8e", 8.0000000000e-01, 4,
+__LINE__, " +.8e+", 8.0000000000e-01, 4,
+__LINE__, " +.8e-", 8.0000000000e-01, 4,
+__LINE__, " +0.8", 8.0000000000e-01, 5,
+__LINE__, " +0.8+", 8.0000000000e-01, 5,
+__LINE__, " +0.8+1", 8.0000000000e-01, 5,
+__LINE__, " +0.8+20", 8.0000000000e-01, 5,
+__LINE__, " +0.8-", 8.0000000000e-01, 5,
+__LINE__, " +0.8-1", 8.0000000000e-01, 5,
+__LINE__, " +0.8-20", 8.0000000000e-01, 5,
+__LINE__, " +0.8e", 8.0000000000e-01, 5,
+__LINE__, " +0.8e+", 8.0000000000e-01, 5,
+__LINE__, " +0.8e-", 8.0000000000e-01, 5,
+__LINE__, " +08e-1", 8.0000000000e-01, 7,
+__LINE__, " +8e-1", 8.0000000000e-01, 6,
+__LINE__, " .8", 8.0000000000e-01, 3,
+__LINE__, " .8+", 8.0000000000e-01, 3,
+__LINE__, " .8+1", 8.0000000000e-01, 3,
+__LINE__, " .8+20", 8.0000000000e-01, 3,
+__LINE__, " .8-", 8.0000000000e-01, 3,
+__LINE__, " .8-1", 8.0000000000e-01, 3,
+__LINE__, " .8-20", 8.0000000000e-01, 3,
+__LINE__, " .8e", 8.0000000000e-01, 3,
+__LINE__, " .8e+", 8.0000000000e-01, 3,
+__LINE__, " .8e-", 8.0000000000e-01, 3,
+__LINE__, " 0.8", 8.0000000000e-01, 4,
+__LINE__, " 0.8+", 8.0000000000e-01, 4,
+__LINE__, " 0.8+1", 8.0000000000e-01, 4,
+__LINE__, " 0.8+20", 8.0000000000e-01, 4,
+__LINE__, " 0.8-", 8.0000000000e-01, 4,
+__LINE__, " 0.8-1", 8.0000000000e-01, 4,
+__LINE__, " 0.8-20", 8.0000000000e-01, 4,
+__LINE__, " 0.8e", 8.0000000000e-01, 4,
+__LINE__, " 0.8e+", 8.0000000000e-01, 4,
+__LINE__, " 0.8e-", 8.0000000000e-01, 4,
+__LINE__, " 08e-1", 8.0000000000e-01, 6,
+__LINE__, " 8e-1", 8.0000000000e-01, 5,
+__LINE__, "+.8", 8.0000000000e-01, 3,
+__LINE__, "+.8+", 8.0000000000e-01, 3,
+__LINE__, "+.8+1", 8.0000000000e-01, 3,
+__LINE__, "+.8+20", 8.0000000000e-01, 3,
+__LINE__, "+.8-", 8.0000000000e-01, 3,
+__LINE__, "+.8-1", 8.0000000000e-01, 3,
+__LINE__, "+.8-20", 8.0000000000e-01, 3,
+__LINE__, "+.8e", 8.0000000000e-01, 3,
+__LINE__, "+.8e+", 8.0000000000e-01, 3,
+__LINE__, "+.8e-", 8.0000000000e-01, 3,
+__LINE__, "+0.8", 8.0000000000e-01, 4,
+__LINE__, "+0.8+", 8.0000000000e-01, 4,
+__LINE__, "+0.8+1", 8.0000000000e-01, 4,
+__LINE__, "+0.8+20", 8.0000000000e-01, 4,
+__LINE__, "+0.8-", 8.0000000000e-01, 4,
+__LINE__, "+0.8-1", 8.0000000000e-01, 4,
+__LINE__, "+0.8-20", 8.0000000000e-01, 4,
+__LINE__, "+0.8e", 8.0000000000e-01, 4,
+__LINE__, "+0.8e+", 8.0000000000e-01, 4,
+__LINE__, "+0.8e-", 8.0000000000e-01, 4,
+__LINE__, "+08e-1", 8.0000000000e-01, 6,
+__LINE__, "+8e-1", 8.0000000000e-01, 5,
+__LINE__, ".8", 8.0000000000e-01, 2,
+__LINE__, ".8+", 8.0000000000e-01, 2,
+__LINE__, ".8+1", 8.0000000000e-01, 2,
+__LINE__, ".8+20", 8.0000000000e-01, 2,
+__LINE__, ".8-", 8.0000000000e-01, 2,
+__LINE__, ".8-1", 8.0000000000e-01, 2,
+__LINE__, ".8-20", 8.0000000000e-01, 2,
+__LINE__, ".8e", 8.0000000000e-01, 2,
+__LINE__, ".8e+", 8.0000000000e-01, 2,
+__LINE__, ".8e-", 8.0000000000e-01, 2,
+__LINE__, "0.8", 8.0000000000e-01, 3,
+__LINE__, "0.8+", 8.0000000000e-01, 3,
+__LINE__, "0.8+1", 8.0000000000e-01, 3,
+__LINE__, "0.8+20", 8.0000000000e-01, 3,
+__LINE__, "0.8-", 8.0000000000e-01, 3,
+__LINE__, "0.8-1", 8.0000000000e-01, 3,
+__LINE__, "0.8-20", 8.0000000000e-01, 3,
+__LINE__, "0.8e", 8.0000000000e-01, 3,
+__LINE__, "0.8e+", 8.0000000000e-01, 3,
+__LINE__, "0.8e-", 8.0000000000e-01, 3,
+__LINE__, "08e-1", 8.0000000000e-01, 5,
+__LINE__, "8e-1", 8.0000000000e-01, 4,
+__LINE__, " +.8e-1", 8.0000000000e-02, 7,
+__LINE__, " +0.8e-1", 8.0000000000e-02, 8,
+__LINE__, " .8e-1", 8.0000000000e-02, 6,
+__LINE__, " 0.8e-1", 8.0000000000e-02, 7,
+__LINE__, "+.8e-1", 8.0000000000e-02, 6,
+__LINE__, "+0.8e-1", 8.0000000000e-02, 7,
+__LINE__, ".8e-1", 8.0000000000e-02, 5,
+__LINE__, "0.8e-1", 8.0000000000e-02, 6,
+__LINE__, " +081", 8.1000000000e+01, 5,
+__LINE__, " +81", 8.1000000000e+01, 4,
+__LINE__, " 081", 8.1000000000e+01, 4,
+__LINE__, " 81", 8.1000000000e+01, 3,
+__LINE__, "+081", 8.1000000000e+01, 4,
+__LINE__, "+81", 8.1000000000e+01, 3,
+__LINE__, "081", 8.1000000000e+01, 3,
+__LINE__, "81", 8.1000000000e+01, 2,
+__LINE__, " +.81", 8.1000000000e-01, 5,
+__LINE__, " +0.81", 8.1000000000e-01, 6,
+__LINE__, " .81", 8.1000000000e-01, 4,
+__LINE__, " 0.81", 8.1000000000e-01, 5,
+__LINE__, "+.81", 8.1000000000e-01, 4,
+__LINE__, "+0.81", 8.1000000000e-01, 5,
+__LINE__, ".81", 8.1000000000e-01, 3,
+__LINE__, "0.81", 8.1000000000e-01, 4,
+__LINE__, " +0820", 8.2000000000e+02, 6,
+__LINE__, " +820", 8.2000000000e+02, 5,
+__LINE__, " 0820", 8.2000000000e+02, 5,
+__LINE__, " 820", 8.2000000000e+02, 4,
+__LINE__, "+0820", 8.2000000000e+02, 5,
+__LINE__, "+820", 8.2000000000e+02, 4,
+__LINE__, "0820", 8.2000000000e+02, 4,
+__LINE__, "820", 8.2000000000e+02, 3,
+__LINE__, " +.820", 8.2000000000e-01, 6,
+__LINE__, " +0.820", 8.2000000000e-01, 7,
+__LINE__, " .820", 8.2000000000e-01, 5,
+__LINE__, " 0.820", 8.2000000000e-01, 6,
+__LINE__, "+.820", 8.2000000000e-01, 5,
+__LINE__, "+0.820", 8.2000000000e-01, 6,
+__LINE__, ".820", 8.2000000000e-01, 4,
+__LINE__, "0.820", 8.2000000000e-01, 5,
+__LINE__, " +.9e+1", 9.0000000000e+00, 7,
+__LINE__, " +.9e1", 9.0000000000e+00, 6,
+__LINE__, " +0.9e+1", 9.0000000000e+00, 8,
+__LINE__, " +0.9e1", 9.0000000000e+00, 7,
+__LINE__, " +09", 9.0000000000e+00, 4,
+__LINE__, " +09+", 9.0000000000e+00, 4,
+__LINE__, " +09+1", 9.0000000000e+00, 4,
+__LINE__, " +09+20", 9.0000000000e+00, 4,
+__LINE__, " +09-", 9.0000000000e+00, 4,
+__LINE__, " +09-1", 9.0000000000e+00, 4,
+__LINE__, " +09-20", 9.0000000000e+00, 4,
+__LINE__, " +09e", 9.0000000000e+00, 4,
+__LINE__, " +09e+", 9.0000000000e+00, 4,
+__LINE__, " +09e-", 9.0000000000e+00, 4,
+__LINE__, " +9", 9.0000000000e+00, 3,
+__LINE__, " +9+", 9.0000000000e+00, 3,
+__LINE__, " +9+1", 9.0000000000e+00, 3,
+__LINE__, " +9+20", 9.0000000000e+00, 3,
+__LINE__, " +9-", 9.0000000000e+00, 3,
+__LINE__, " +9-1", 9.0000000000e+00, 3,
+__LINE__, " +9-20", 9.0000000000e+00, 3,
+__LINE__, " +9e", 9.0000000000e+00, 3,
+__LINE__, " +9e+", 9.0000000000e+00, 3,
+__LINE__, " +9e-", 9.0000000000e+00, 3,
+__LINE__, " .9e+1", 9.0000000000e+00, 6,
+__LINE__, " .9e1", 9.0000000000e+00, 5,
+__LINE__, " 0.9e+1", 9.0000000000e+00, 7,
+__LINE__, " 0.9e1", 9.0000000000e+00, 6,
+__LINE__, " 09", 9.0000000000e+00, 3,
+__LINE__, " 09+", 9.0000000000e+00, 3,
+__LINE__, " 09+1", 9.0000000000e+00, 3,
+__LINE__, " 09+20", 9.0000000000e+00, 3,
+__LINE__, " 09-", 9.0000000000e+00, 3,
+__LINE__, " 09-1", 9.0000000000e+00, 3,
+__LINE__, " 09-20", 9.0000000000e+00, 3,
+__LINE__, " 09e", 9.0000000000e+00, 3,
+__LINE__, " 09e+", 9.0000000000e+00, 3,
+__LINE__, " 09e-", 9.0000000000e+00, 3,
+__LINE__, " 9", 9.0000000000e+00, 2,
+__LINE__, " 9+", 9.0000000000e+00, 2,
+__LINE__, " 9+1", 9.0000000000e+00, 2,
+__LINE__, " 9+20", 9.0000000000e+00, 2,
+__LINE__, " 9-", 9.0000000000e+00, 2,
+__LINE__, " 9-1", 9.0000000000e+00, 2,
+__LINE__, " 9-20", 9.0000000000e+00, 2,
+__LINE__, " 9e", 9.0000000000e+00, 2,
+__LINE__, " 9e+", 9.0000000000e+00, 2,
+__LINE__, " 9e-", 9.0000000000e+00, 2,
+__LINE__, "+.9e+1", 9.0000000000e+00, 6,
+__LINE__, "+.9e1", 9.0000000000e+00, 5,
+__LINE__, "+0.9e+1", 9.0000000000e+00, 7,
+__LINE__, "+0.9e1", 9.0000000000e+00, 6,
+__LINE__, "+09", 9.0000000000e+00, 3,
+__LINE__, "+09+", 9.0000000000e+00, 3,
+__LINE__, "+09+1", 9.0000000000e+00, 3,
+__LINE__, "+09+20", 9.0000000000e+00, 3,
+__LINE__, "+09-", 9.0000000000e+00, 3,
+__LINE__, "+09-1", 9.0000000000e+00, 3,
+__LINE__, "+09-20", 9.0000000000e+00, 3,
+__LINE__, "+09e", 9.0000000000e+00, 3,
+__LINE__, "+09e+", 9.0000000000e+00, 3,
+__LINE__, "+09e-", 9.0000000000e+00, 3,
+__LINE__, "+9", 9.0000000000e+00, 2,
+__LINE__, "+9+", 9.0000000000e+00, 2,
+__LINE__, "+9+1", 9.0000000000e+00, 2,
+__LINE__, "+9+20", 9.0000000000e+00, 2,
+__LINE__, "+9-", 9.0000000000e+00, 2,
+__LINE__, "+9-1", 9.0000000000e+00, 2,
+__LINE__, "+9-20", 9.0000000000e+00, 2,
+__LINE__, "+9e", 9.0000000000e+00, 2,
+__LINE__, "+9e+", 9.0000000000e+00, 2,
+__LINE__, "+9e-", 9.0000000000e+00, 2,
+__LINE__, ".9e+1", 9.0000000000e+00, 5,
+__LINE__, ".9e1", 9.0000000000e+00, 4,
+__LINE__, "0.9e+1", 9.0000000000e+00, 6,
+__LINE__, "0.9e1", 9.0000000000e+00, 5,
+__LINE__, "09", 9.0000000000e+00, 2,
+__LINE__, "09+", 9.0000000000e+00, 2,
+__LINE__, "09+1", 9.0000000000e+00, 2,
+__LINE__, "09+20", 9.0000000000e+00, 2,
+__LINE__, "09-", 9.0000000000e+00, 2,
+__LINE__, "09-1", 9.0000000000e+00, 2,
+__LINE__, "09-20", 9.0000000000e+00, 2,
+__LINE__, "09e", 9.0000000000e+00, 2,
+__LINE__, "09e+", 9.0000000000e+00, 2,
+__LINE__, "09e-", 9.0000000000e+00, 2,
+__LINE__, "9", 9.0000000000e+00, 1,
+__LINE__, "9+", 9.0000000000e+00, 1,
+__LINE__, "9+1", 9.0000000000e+00, 1,
+__LINE__, "9+20", 9.0000000000e+00, 1,
+__LINE__, "9-", 9.0000000000e+00, 1,
+__LINE__, "9-1", 9.0000000000e+00, 1,
+__LINE__, "9-20", 9.0000000000e+00, 1,
+__LINE__, "9e", 9.0000000000e+00, 1,
+__LINE__, "9e+", 9.0000000000e+00, 1,
+__LINE__, "9e-", 9.0000000000e+00, 1,
+__LINE__, " +09e+1", 9.0000000000e+01, 7,
+__LINE__, " +09e1", 9.0000000000e+01, 6,
+__LINE__, " +9e+1", 9.0000000000e+01, 6,
+__LINE__, " +9e1", 9.0000000000e+01, 5,
+__LINE__, " 09e+1", 9.0000000000e+01, 6,
+__LINE__, " 09e1", 9.0000000000e+01, 5,
+__LINE__, " 9e+1", 9.0000000000e+01, 5,
+__LINE__, " 9e1", 9.0000000000e+01, 4,
+__LINE__, "+09e+1", 9.0000000000e+01, 6,
+__LINE__, "+09e1", 9.0000000000e+01, 5,
+__LINE__, "+9e+1", 9.0000000000e+01, 5,
+__LINE__, "+9e1", 9.0000000000e+01, 4,
+__LINE__, "09e+1", 9.0000000000e+01, 5,
+__LINE__, "09e1", 9.0000000000e+01, 4,
+__LINE__, "9e+1", 9.0000000000e+01, 4,
+__LINE__, "9e1", 9.0000000000e+01, 3,
+__LINE__, " +.9e+20", 9.0000000000e+19, 8,
+__LINE__, " +.9e20", 9.0000000000e+19, 7,
+__LINE__, " +0.9e+20", 9.0000000000e+19, 9,
+__LINE__, " +0.9e20", 9.0000000000e+19, 8,
+__LINE__, " .9e+20", 9.0000000000e+19, 7,
+__LINE__, " .9e20", 9.0000000000e+19, 6,
+__LINE__, " 0.9e+20", 9.0000000000e+19, 8,
+__LINE__, " 0.9e20", 9.0000000000e+19, 7,
+__LINE__, "+.9e+20", 9.0000000000e+19, 7,
+__LINE__, "+.9e20", 9.0000000000e+19, 6,
+__LINE__, "+0.9e+20", 9.0000000000e+19, 8,
+__LINE__, "+0.9e20", 9.0000000000e+19, 7,
+__LINE__, ".9e+20", 9.0000000000e+19, 6,
+__LINE__, ".9e20", 9.0000000000e+19, 5,
+__LINE__, "0.9e+20", 9.0000000000e+19, 7,
+__LINE__, "0.9e20", 9.0000000000e+19, 6,
+__LINE__, " +09e+20", 9.0000000000e+20, 8,
+__LINE__, " +09e20", 9.0000000000e+20, 7,
+__LINE__, " +9e+20", 9.0000000000e+20, 7,
+__LINE__, " +9e20", 9.0000000000e+20, 6,
+__LINE__, " 09e+20", 9.0000000000e+20, 7,
+__LINE__, " 09e20", 9.0000000000e+20, 6,
+__LINE__, " 9e+20", 9.0000000000e+20, 6,
+__LINE__, " 9e20", 9.0000000000e+20, 5,
+__LINE__, "+09e+20", 9.0000000000e+20, 7,
+__LINE__, "+09e20", 9.0000000000e+20, 6,
+__LINE__, "+9e+20", 9.0000000000e+20, 6,
+__LINE__, "+9e20", 9.0000000000e+20, 5,
+__LINE__, "09e+20", 9.0000000000e+20, 6,
+__LINE__, "09e20", 9.0000000000e+20, 5,
+__LINE__, "9e+20", 9.0000000000e+20, 5,
+__LINE__, "9e20", 9.0000000000e+20, 4,
+__LINE__, " +.9", 9.0000000000e-01, 4,
+__LINE__, " +.9+", 9.0000000000e-01, 4,
+__LINE__, " +.9+1", 9.0000000000e-01, 4,
+__LINE__, " +.9+20", 9.0000000000e-01, 4,
+__LINE__, " +.9-", 9.0000000000e-01, 4,
+__LINE__, " +.9-1", 9.0000000000e-01, 4,
+__LINE__, " +.9-20", 9.0000000000e-01, 4,
+__LINE__, " +.9e", 9.0000000000e-01, 4,
+__LINE__, " +.9e+", 9.0000000000e-01, 4,
+__LINE__, " +.9e-", 9.0000000000e-01, 4,
+__LINE__, " +0.9", 9.0000000000e-01, 5,
+__LINE__, " +0.9+", 9.0000000000e-01, 5,
+__LINE__, " +0.9+1", 9.0000000000e-01, 5,
+__LINE__, " +0.9+20", 9.0000000000e-01, 5,
+__LINE__, " +0.9-", 9.0000000000e-01, 5,
+__LINE__, " +0.9-1", 9.0000000000e-01, 5,
+__LINE__, " +0.9-20", 9.0000000000e-01, 5,
+__LINE__, " +0.9e", 9.0000000000e-01, 5,
+__LINE__, " +0.9e+", 9.0000000000e-01, 5,
+__LINE__, " +0.9e-", 9.0000000000e-01, 5,
+__LINE__, " +09e-1", 9.0000000000e-01, 7,
+__LINE__, " +9e-1", 9.0000000000e-01, 6,
+__LINE__, " .9", 9.0000000000e-01, 3,
+__LINE__, " .9+", 9.0000000000e-01, 3,
+__LINE__, " .9+1", 9.0000000000e-01, 3,
+__LINE__, " .9+20", 9.0000000000e-01, 3,
+__LINE__, " .9-", 9.0000000000e-01, 3,
+__LINE__, " .9-1", 9.0000000000e-01, 3,
+__LINE__, " .9-20", 9.0000000000e-01, 3,
+__LINE__, " .9e", 9.0000000000e-01, 3,
+__LINE__, " .9e+", 9.0000000000e-01, 3,
+__LINE__, " .9e-", 9.0000000000e-01, 3,
+__LINE__, " 0.9", 9.0000000000e-01, 4,
+__LINE__, " 0.9+", 9.0000000000e-01, 4,
+__LINE__, " 0.9+1", 9.0000000000e-01, 4,
+__LINE__, " 0.9+20", 9.0000000000e-01, 4,
+__LINE__, " 0.9-", 9.0000000000e-01, 4,
+__LINE__, " 0.9-1", 9.0000000000e-01, 4,
+__LINE__, " 0.9-20", 9.0000000000e-01, 4,
+__LINE__, " 0.9e", 9.0000000000e-01, 4,
+__LINE__, " 0.9e+", 9.0000000000e-01, 4,
+__LINE__, " 0.9e-", 9.0000000000e-01, 4,
+__LINE__, " 09e-1", 9.0000000000e-01, 6,
+__LINE__, " 9e-1", 9.0000000000e-01, 5,
+__LINE__, "+.9", 9.0000000000e-01, 3,
+__LINE__, "+.9+", 9.0000000000e-01, 3,
+__LINE__, "+.9+1", 9.0000000000e-01, 3,
+__LINE__, "+.9+20", 9.0000000000e-01, 3,
+__LINE__, "+.9-", 9.0000000000e-01, 3,
+__LINE__, "+.9-1", 9.0000000000e-01, 3,
+__LINE__, "+.9-20", 9.0000000000e-01, 3,
+__LINE__, "+.9e", 9.0000000000e-01, 3,
+__LINE__, "+.9e+", 9.0000000000e-01, 3,
+__LINE__, "+.9e-", 9.0000000000e-01, 3,
+__LINE__, "+0.9", 9.0000000000e-01, 4,
+__LINE__, "+0.9+", 9.0000000000e-01, 4,
+__LINE__, "+0.9+1", 9.0000000000e-01, 4,
+__LINE__, "+0.9+20", 9.0000000000e-01, 4,
+__LINE__, "+0.9-", 9.0000000000e-01, 4,
+__LINE__, "+0.9-1", 9.0000000000e-01, 4,
+__LINE__, "+0.9-20", 9.0000000000e-01, 4,
+__LINE__, "+0.9e", 9.0000000000e-01, 4,
+__LINE__, "+0.9e+", 9.0000000000e-01, 4,
+__LINE__, "+0.9e-", 9.0000000000e-01, 4,
+__LINE__, "+09e-1", 9.0000000000e-01, 6,
+__LINE__, "+9e-1", 9.0000000000e-01, 5,
+__LINE__, ".9", 9.0000000000e-01, 2,
+__LINE__, ".9+", 9.0000000000e-01, 2,
+__LINE__, ".9+1", 9.0000000000e-01, 2,
+__LINE__, ".9+20", 9.0000000000e-01, 2,
+__LINE__, ".9-", 9.0000000000e-01, 2,
+__LINE__, ".9-1", 9.0000000000e-01, 2,
+__LINE__, ".9-20", 9.0000000000e-01, 2,
+__LINE__, ".9e", 9.0000000000e-01, 2,
+__LINE__, ".9e+", 9.0000000000e-01, 2,
+__LINE__, ".9e-", 9.0000000000e-01, 2,
+__LINE__, "0.9", 9.0000000000e-01, 3,
+__LINE__, "0.9+", 9.0000000000e-01, 3,
+__LINE__, "0.9+1", 9.0000000000e-01, 3,
+__LINE__, "0.9+20", 9.0000000000e-01, 3,
+__LINE__, "0.9-", 9.0000000000e-01, 3,
+__LINE__, "0.9-1", 9.0000000000e-01, 3,
+__LINE__, "0.9-20", 9.0000000000e-01, 3,
+__LINE__, "0.9e", 9.0000000000e-01, 3,
+__LINE__, "0.9e+", 9.0000000000e-01, 3,
+__LINE__, "0.9e-", 9.0000000000e-01, 3,
+__LINE__, "09e-1", 9.0000000000e-01, 5,
+__LINE__, "9e-1", 9.0000000000e-01, 4,
+__LINE__, " +.9e-1", 9.0000000000e-02, 7,
+__LINE__, " +0.9e-1", 9.0000000000e-02, 8,
+__LINE__, " .9e-1", 9.0000000000e-02, 6,
+__LINE__, " 0.9e-1", 9.0000000000e-02, 7,
+__LINE__, "+.9e-1", 9.0000000000e-02, 6,
+__LINE__, "+0.9e-1", 9.0000000000e-02, 7,
+__LINE__, ".9e-1", 9.0000000000e-02, 5,
+__LINE__, "0.9e-1", 9.0000000000e-02, 6,
+__LINE__, " +09e-20", 9.0000000000e-20, 8,
+__LINE__, " +9e-20", 9.0000000000e-20, 7,
+__LINE__, " 09e-20", 9.0000000000e-20, 7,
+__LINE__, " 9e-20", 9.0000000000e-20, 6,
+__LINE__, "+09e-20", 9.0000000000e-20, 7,
+__LINE__, "+9e-20", 9.0000000000e-20, 6,
+__LINE__, "09e-20", 9.0000000000e-20, 6,
+__LINE__, "9e-20", 9.0000000000e-20, 5,
+__LINE__, " +.9e-20", 9.0000000000e-21, 8,
+__LINE__, " +0.9e-20", 9.0000000000e-21, 9,
+__LINE__, " .9e-20", 9.0000000000e-21, 7,
+__LINE__, " 0.9e-20", 9.0000000000e-21, 8,
+__LINE__, "+.9e-20", 9.0000000000e-21, 7,
+__LINE__, "+0.9e-20", 9.0000000000e-21, 8,
+__LINE__, ".9e-20", 9.0000000000e-21, 6,
+__LINE__, "0.9e-20", 9.0000000000e-21, 7,
+__LINE__, " +091", 9.1000000000e+01, 5,
+__LINE__, " +91", 9.1000000000e+01, 4,
+__LINE__, " 091", 9.1000000000e+01, 4,
+__LINE__, " 91", 9.1000000000e+01, 3,
+__LINE__, "+091", 9.1000000000e+01, 4,
+__LINE__, "+91", 9.1000000000e+01, 3,
+__LINE__, "091", 9.1000000000e+01, 3,
+__LINE__, "91", 9.1000000000e+01, 2,
+__LINE__, " +.91", 9.1000000000e-01, 5,
+__LINE__, " +0.91", 9.1000000000e-01, 6,
+__LINE__, " .91", 9.1000000000e-01, 4,
+__LINE__, " 0.91", 9.1000000000e-01, 5,
+__LINE__, "+.91", 9.1000000000e-01, 4,
+__LINE__, "+0.91", 9.1000000000e-01, 5,
+__LINE__, ".91", 9.1000000000e-01, 3,
+__LINE__, "0.91", 9.1000000000e-01, 4,
+__LINE__, " +0920", 9.2000000000e+02, 6,
+__LINE__, " +920", 9.2000000000e+02, 5,
+__LINE__, " 0920", 9.2000000000e+02, 5,
+__LINE__, " 920", 9.2000000000e+02, 4,
+__LINE__, "+0920", 9.2000000000e+02, 5,
+__LINE__, "+920", 9.2000000000e+02, 4,
+__LINE__, "0920", 9.2000000000e+02, 4,
+__LINE__, "920", 9.2000000000e+02, 3,
+__LINE__, " +.920", 9.2000000000e-01, 6,
+__LINE__, " +0.920", 9.2000000000e-01, 7,
+__LINE__, " .920", 9.2000000000e-01, 5,
+__LINE__, " 0.920", 9.2000000000e-01, 6,
+#endif
+__LINE__, "+.920", 9.2000000000e-01, 5,
+__LINE__, "+0.920", 9.2000000000e-01, 6,
+__LINE__, ".920", 9.2000000000e-01, 4,
+__LINE__, "0.920", 9.2000000000e-01, 5,
+__LINE__, " 1.234*", 1.2340000000e+00, 9,
+__LINE__, " 87.23*", 8.7230000000e+01, 7,
+__LINE__, " 1267*abc", 1.2670000000e+03, 5,
+__LINE__, " 1267*abc", 1.2670000000e+03, 5,
+0
+};
+
+
diff --git a/newlib/libm/test/convert.c b/newlib/libm/test/convert.c
new file mode 100644
index 00000000000..51bddfdfe80
--- /dev/null
+++ b/newlib/libm/test/convert.c
@@ -0,0 +1,366 @@
+/* Test conversions */
+
+#include "test.h"
+#include <stdlib.h>
+#include <errno.h>
+
+static char buffer[500];
+
+extern double_type doubles[];
+
+/* TEST ATOF ATOFF */
+
+double_type *pd = doubles;
+
+void
+_DEFUN_VOID(test_strtod)
+{
+ char *tail;
+ double v;
+ /* On average we'll loose 1/2 a bit, so the test is for within 1 bit */
+ v = strtod(pd->string, &tail);
+ test_mok(v, pd->value, 64);
+ test_iok(tail - pd->string, pd->endscan);
+}
+
+void
+_DEFUN_VOID(test_strtodf)
+{
+ char *tail;
+ double v;
+ /* On average we'll loose 1/2 a bit, so the test is for within 1 bit */
+ v = strtodf(pd->string, &tail);
+ test_mok(v, pd->value, 32);
+ test_iok(tail - pd->string, pd->endscan);
+}
+
+void
+_DEFUN_VOID(test_atof)
+{
+ test_mok(atof(pd->string), pd->value, 64);
+}
+
+void
+_DEFUN_VOID(test_atoff)
+{
+ test_mok(atoff(pd->string), pd->value, 32);
+}
+
+
+static
+void
+_DEFUN(iterate,(func, name),
+ void _EXFUN((*func),(void)) _AND
+ char *name)
+{
+
+ newfunc(name);
+ pd = doubles;
+ while (pd->string) {
+ line(pd->line);
+ func();
+ pd++;
+ }
+}
+
+
+extern int_type ints[];
+
+int_type *p = ints;
+
+
+static void
+_DEFUN(int_iterate,(func, name),
+ void (*func)() _AND
+ char *name)
+{
+ newfunc(name);
+
+ p = ints;
+ while (p->string) {
+ line(p->line);
+ errno = 0;
+ func();
+ p++;
+ }
+}
+
+void
+_DEFUN(test_strtol_base,(base, pi, string),
+ int base _AND
+ int_scan_type *pi _AND
+ char *string)
+{
+ long r;
+ char *ptr;
+ errno = 0;
+ r = strtol(string, &ptr, base);
+ test_iok(r, pi->value);
+ test_eok(errno, pi->errno_val);
+ test_iok(ptr - string, pi->end);
+}
+
+void
+_DEFUN_VOID(test_strtol)
+{
+ test_strtol_base(8,&(p->octal), p->string);
+ test_strtol_base(10,&(p->decimal), p->string);
+ test_strtol_base(16, &(p->hex), p->string);
+ test_strtol_base(0, &(p->normal), p->string);
+ test_strtol_base(26, &(p->alphabetical), p->string);
+}
+
+void
+_DEFUN_VOID(test_atoi)
+{
+ test_iok(atoi(p->string), p->decimal.value);
+ test_eok(errno, p->decimal.errno_val);
+}
+
+void
+_DEFUN_VOID(test_atol)
+{
+ test_iok(atol(p->string), p->decimal.value);
+ test_eok(errno, p->decimal.errno_val);
+}
+
+/* test ECVT and friends */
+extern ddouble_type ddoubles[];
+ddouble_type *pdd;
+void
+_DEFUN_VOID(test_ecvtbuf)
+{
+ int a2,a3;
+ char *s;
+ s = ecvtbuf(pdd->value, pdd->e1, &a2, &a3, buffer);
+
+ test_sok(s,pdd->estring);
+ test_iok(pdd->e2,a2);
+ test_iok(pdd->e3,a3);
+}
+
+void
+_DEFUN_VOID(test_ecvt)
+{
+ int a2,a3;
+ char *s;
+ s = ecvt(pdd->value, pdd->e1, &a2, &a3);
+
+ test_sok(s,pdd->estring);
+ test_iok(pdd->e2,a2);
+ test_iok(pdd->e3,a3);
+
+ s = ecvtf(pdd->value, pdd->e1, &a2, &a3);
+
+ test_sok(s,pdd->estring);
+ test_iok(pdd->e2,a2);
+ test_iok(pdd->e3,a3);
+}
+
+void
+_DEFUN_VOID(test_fcvtbuf)
+{
+ int a2,a3;
+ char *s;
+ s = fcvtbuf(pdd->value, pdd->f1, &a2, &a3, buffer);
+
+ test_scok(s,pdd->fstring,10);
+ test_iok(pdd->f2,a2);
+ test_iok(pdd->f3,a3);
+}
+
+void
+_DEFUN_VOID(test_gcvt)
+{
+ char *s = gcvt(pdd->value, pdd->g1, buffer);
+ test_scok(s, pdd->gstring, 9);
+
+ s = gcvtf(pdd->value, pdd->g1, buffer);
+ test_scok(s, pdd->gstring, 9);
+
+}
+
+void
+_DEFUN_VOID(test_fcvt)
+{
+ int a2,a3;
+ char *sd;
+ char *sf;
+ double v1;
+ double v2;
+ sd = fcvt(pdd->value, pdd->f1, &a2, &a3);
+
+ test_scok(sd,pdd->fstring,10);
+ test_iok(pdd->f2,a2);
+ test_iok(pdd->f3,a3);
+
+ /* Test the float version by converting and inspecting the numbers 3
+ after reconverting */
+ sf = fcvtf(pdd->value, pdd->f1, &a2, &a3);
+ sscanf(sd, "%lg", &v1);
+ sscanf(sf, "%lg", &v2);
+ test_mok(v1, v2,32);
+ test_iok(pdd->f2,a2);
+ test_iok(pdd->f3,a3);
+}
+
+static void
+
+_DEFUN(diterate,(func, name),
+ void (*func)() _AND
+ char *name)
+{
+ newfunc(name);
+
+ pdd = ddoubles;
+ while (pdd->estring) {
+ line(pdd->line);
+ errno = 0;
+ func();
+ pdd++;
+ }
+}
+
+
+void
+_DEFUN_VOID(deltest)
+{
+ newfunc("rounding");
+ line(1);
+ sprintf(buffer,"%.2f", 9.999);
+ test_sok(buffer,"10.00");
+ line(2);
+ sprintf(buffer,"%.2g", 1.0);
+ test_sok(buffer,"1");
+ line(3);
+ sprintf(buffer,"%.2g", 1.2e-6);
+ test_sok(buffer,"1.2e-06");
+ line(4);
+ sprintf(buffer,"%.0g", 1.0);
+ test_sok(buffer,"1");
+ line(5);
+ sprintf(buffer,"%.0e",1e1);
+ test_sok(buffer,"1e+01");
+ line(6);
+ sprintf(buffer, "%f", 12.3456789);
+ test_sok(buffer, "12.345679");
+ line(7);
+ sprintf(buffer, "%6.3f", 12.3456789);
+ test_sok(buffer, "12.346");
+ line(8);
+ sprintf(buffer,"%.0f", 12.3456789);
+ test_sok(buffer,"12");
+}
+
+/* Most of what sprint does is tested with the tests of
+ fcvt/ecvt/gcvt, but here are some more */
+void
+_DEFUN_VOID(test_sprint)
+{
+ extern sprint_double_type sprint_doubles[];
+ sprint_double_type *s = sprint_doubles;
+ extern sprint_int_type sprint_ints[];
+ sprint_int_type *si = sprint_ints;
+
+
+ newfunc( "sprintf");
+
+
+ while (s->line)
+ {
+ line( s->line);
+ sprintf(buffer, s->format_string, s->value);
+ test_scok(buffer, s->result, 12); /* Only check the first 12 digs,
+ other stuff is random */
+ s++;
+ }
+
+ while (si->line)
+ {
+ line( si->line);
+ sprintf(buffer, si->format_string, si->value);
+ test_sok(buffer, si->result);
+ si++;
+ }
+}
+
+/* Scanf calls strtod etc tested elsewhere, but also has some pattern matching skills */
+void
+_DEFUN_VOID(test_scan)
+{
+ int i,j;
+ extern sprint_double_type sprint_doubles[];
+ sprint_double_type *s = sprint_doubles;
+ extern sprint_int_type sprint_ints[];
+ sprint_int_type *si = sprint_ints;
+
+ newfunc( "scanf");
+
+ /* Test scanf by converting all the numbers in the sprint vectors
+ to and from their source and making sure nothing breaks */
+
+ while (s->line)
+ {
+
+ double d0,d1;
+ line( s->line);
+ sscanf(s->result, "%lg", &d0);
+ sprintf(buffer, "%20.17e", d0);
+ sscanf(buffer, "%lg", &d1);
+ test_mok(d0,d1, 64);
+ s++;
+ }
+
+ /* And integers too */
+ while (si->line)
+ {
+
+ long d0,d1;
+
+ line(si->line);
+ sscanf(si->result, "%d", &d0);
+ sprintf(buffer, "%d", d0);
+ sscanf(buffer, "%d", &d1);
+ test_iok(d0,d1);
+ si++;
+ }
+
+ /* And the string matching */
+
+ sscanf(" 9","%d", &i);
+ test_iok(i, 9);
+ sscanf("foo bar 123 zap 456","foo bar %d zap %d", &i, &j);
+ test_iok(i, 123);
+ test_iok(j, 456);
+
+ sscanf("magicXYZZYfoobar","magic%[XYZ]", buffer);
+ test_sok("XYZZY", buffer);
+ sscanf("magicXYZZYfoobar","%[^XYZ]", buffer);
+ test_sok("magic", buffer);
+}
+
+void
+_DEFUN_VOID(test_cvt)
+{
+ deltest();
+
+ diterate(test_fcvtbuf,"fcvtbuf");
+ diterate(test_fcvt,"fcvt/fcvtf");
+
+ diterate(test_gcvt,"gcvt/gcvtf");
+ diterate(test_ecvtbuf,"ecvtbuf");
+ diterate(test_ecvt,"ecvt/ecvtf");
+
+ iterate(test_strtod, "strtod");
+
+ test_scan();
+ test_sprint();
+ iterate(test_atof, "atof");
+ iterate(test_atoff, "atoff");
+
+ iterate(test_strtodf, "strtodf");
+
+ int_iterate(test_atoi,"atoi");
+ int_iterate(test_atol,"atol");
+ int_iterate(test_strtol, "strtol");
+}
diff --git a/newlib/libm/test/cos_vec.c b/newlib/libm/test/cos_vec.c
new file mode 100644
index 00000000000..37d669eefb8
--- /dev/null
+++ b/newlib/libm/test/cos_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type cos_vec[] = {
+{64, 0,123,__LINE__, 0x3fd730de, 0x943b79d3, 0xbff33333, 0x33333333}, /* 0.36235=f(-1.20000)*/
+{64, 0,123,__LINE__, 0x3fd7c946, 0x7d260cb9, 0xbff30a3d, 0x70a3d70a}, /* 0.37165=f(-1.19000)*/
+{64, 0,123,__LINE__, 0x3fd86112, 0x83b8fab2, 0xbff2e147, 0xae147ae1}, /* 0.38092=f(-1.18000)*/
+{64, 0,123,__LINE__, 0x3fd8f83e, 0xc5255294, 0xbff2b851, 0xeb851eb8}, /* 0.39015=f(-1.17000)*/
+{64, 0,123,__LINE__, 0x3fd98ec7, 0x62b332c4, 0xbff28f5c, 0x28f5c28f}, /* 0.39933=f(-1.16000)*/
+{64, 0,123,__LINE__, 0x3fda24a8, 0x81db25ea, 0xbff26666, 0x66666666}, /* 0.40848=f(-1.15000)*/
+{64, 0,123,__LINE__, 0x3fdab9de, 0x4c5f6433, 0xbff23d70, 0xa3d70a3d}, /* 0.41759=f(-1.14000)*/
+{64, 0,123,__LINE__, 0x3fdb4e64, 0xf064f880, 0xbff2147a, 0xe147ae14}, /* 0.42665=f(-1.13000)*/
+{64, 0,123,__LINE__, 0x3fdbe238, 0xa08cc8cd, 0xbff1eb85, 0x1eb851eb}, /* 0.43568=f(-1.12000)*/
+{64, 0,123,__LINE__, 0x3fdc7555, 0x940c813b, 0xbff1c28f, 0x5c28f5c2}, /* 0.44466=f(-1.11000)*/
+{64, 0,123,__LINE__, 0x3fdd07b8, 0x06c76113, 0xbff19999, 0x99999999}, /* 0.45359=f(-1.10000)*/
+{64, 0,123,__LINE__, 0x3fdd995c, 0x3966e922, 0xbff170a3, 0xd70a3d70}, /* 0.46248=f(-1.09000)*/
+{64, 0,123,__LINE__, 0x3fde2a3e, 0x71736ac6, 0xbff147ae, 0x147ae147}, /* 0.47132=f(-1.08000)*/
+{64, 0,123,__LINE__, 0x3fdeba5a, 0xf96c7715, 0xbff11eb8, 0x51eb851e}, /* 0.48012=f(-1.07000)*/
+{64, 0,123,__LINE__, 0x3fdf49ae, 0x20e12d7c, 0xbff0f5c2, 0x8f5c28f5}, /* 0.48887=f(-1.06000)*/
+{64, 0,123,__LINE__, 0x3fdfd834, 0x3c886925, 0xbff0cccc, 0xcccccccc}, /* 0.49757=f(-1.05000)*/
+{64, 0,123,__LINE__, 0x3fe032f4, 0xd32c6654, 0xbff0a3d7, 0x0a3d70a3}, /* 0.50622=f(-1.04000)*/
+{64, 0,123,__LINE__, 0x3fe07965, 0x5ed055a1, 0xbff07ae1, 0x47ae147a}, /* 0.51481=f(-1.03000)*/
+{64, 0,123,__LINE__, 0x3fe0bf69, 0xf38ee78d, 0xbff051eb, 0x851eb851}, /* 0.52336=f(-1.02000)*/
+{64, 0,123,__LINE__, 0x3fe10500, 0xc68a8dee, 0xbff028f5, 0xc28f5c28}, /* 0.53186=f(-1.01000)*/
+{64, 0,123,__LINE__, 0x3fe14a28, 0x0fb5068d, 0xbfefffff, 0xfffffffe}, /* 0.54030=f(-0.01000)*/
+{64, 0,123,__LINE__, 0x3fe18ede, 0x09db07f0, 0xbfefae14, 0x7ae147ac}, /* 0.54868=f(-0.99000)*/
+{64, 0,123,__LINE__, 0x3fe1d320, 0xf2afdb6b, 0xbfef5c28, 0xf5c28f5a}, /* 0.55702=f(-0.98000)*/
+{64, 0,123,__LINE__, 0x3fe216ef, 0x0ad8e431, 0xbfef0a3d, 0x70a3d708}, /* 0.56529=f(-0.97000)*/
+{64, 0,123,__LINE__, 0x3fe25a46, 0x95f91311, 0xbfeeb851, 0xeb851eb6}, /* 0.57351=f(-0.96000)*/
+{64, 0,123,__LINE__, 0x3fe29d25, 0xdabc46a3, 0xbfee6666, 0x66666664}, /* 0.58168=f(-0.95000)*/
+{64, 0,123,__LINE__, 0x3fe2df8b, 0x22e29787, 0xbfee147a, 0xe147ae12}, /* 0.58978=f(-0.94000)*/
+{64, 0,123,__LINE__, 0x3fe32174, 0xbb4b9082, 0xbfedc28f, 0x5c28f5c0}, /* 0.59783=f(-0.93000)*/
+{64, 0,123,__LINE__, 0x3fe362e0, 0xf4015217, 0xbfed70a3, 0xd70a3d6e}, /* 0.60582=f(-0.92000)*/
+{64, 0,123,__LINE__, 0x3fe3a3ce, 0x2043a16d, 0xbfed1eb8, 0x51eb851c}, /* 0.61374=f(-0.91000)*/
+{64, 0,123,__LINE__, 0x3fe3e43a, 0x9692e21e, 0xbfeccccc, 0xccccccca}, /* 0.62160=f(-0.90000)*/
+{64, 0,123,__LINE__, 0x3fe42424, 0xb0bafac6, 0xbfec7ae1, 0x47ae1478}, /* 0.62941=f(-0.89000)*/
+{64, 0,123,__LINE__, 0x3fe4638a, 0xcbde23e8, 0xbfec28f5, 0xc28f5c26}, /* 0.63715=f(-0.88000)*/
+{64, 0,123,__LINE__, 0x3fe4a26b, 0x487fa104, 0xbfebd70a, 0x3d70a3d4}, /* 0.64482=f(-0.87000)*/
+{64, 0,123,__LINE__, 0x3fe4e0c4, 0x8a8e637d, 0xbfeb851e, 0xb851eb82}, /* 0.65243=f(-0.86000)*/
+{64, 0,123,__LINE__, 0x3fe51e94, 0xf96f971d, 0xbfeb3333, 0x33333330}, /* 0.65998=f(-0.85000)*/
+{64, 0,123,__LINE__, 0x3fe55bdb, 0x000917dd, 0xbfeae147, 0xae147ade}, /* 0.66746=f(-0.84000)*/
+{64, 0,123,__LINE__, 0x3fe59895, 0x0ccbd0c8, 0xbfea8f5c, 0x28f5c28c}, /* 0.67487=f(-0.83000)*/
+{64, 0,123,__LINE__, 0x3fe5d4c1, 0x91be0397, 0xbfea3d70, 0xa3d70a3a}, /* 0.68222=f(-0.82000)*/
+{64, 0,123,__LINE__, 0x3fe6105f, 0x048578dc, 0xbfe9eb85, 0x1eb851e8}, /* 0.68949=f(-0.81000)*/
+{64, 0,123,__LINE__, 0x3fe64b6b, 0xde719867, 0xbfe99999, 0x99999996}, /* 0.69670=f(-0.80000)*/
+{64, 0,123,__LINE__, 0x3fe685e6, 0x9c8569b2, 0xbfe947ae, 0x147ae144}, /* 0.70384=f(-0.79000)*/
+{64, 0,123,__LINE__, 0x3fe6bfcd, 0xbf817bfd, 0xbfe8f5c2, 0x8f5c28f2}, /* 0.71091=f(-0.78000)*/
+{64, 0,123,__LINE__, 0x3fe6f91f, 0xcbedb5fa, 0xbfe8a3d7, 0x0a3d70a0}, /* 0.71791=f(-0.77000)*/
+{64, 0,123,__LINE__, 0x3fe731db, 0x4a230ca5, 0xbfe851eb, 0x851eb84e}, /* 0.72483=f(-0.76000)*/
+{64, 0,123,__LINE__, 0x3fe769fe, 0xc6552121, 0xbfe7ffff, 0xfffffffc}, /* 0.73168=f(-0.75000)*/
+{64, 0,123,__LINE__, 0x3fe7a188, 0xd09bc551, 0xbfe7ae14, 0x7ae147aa}, /* 0.73846=f(-0.74000)*/
+{64, 0,123,__LINE__, 0x3fe7d877, 0xfcfc66ef, 0xbfe75c28, 0xf5c28f58}, /* 0.74517=f(-0.73000)*/
+{64, 0,123,__LINE__, 0x3fe80eca, 0xe37360e8, 0xbfe70a3d, 0x70a3d706}, /* 0.75180=f(-0.72000)*/
+{64, 0,123,__LINE__, 0x3fe84480, 0x1ffd32b8, 0xbfe6b851, 0xeb851eb4}, /* 0.75836=f(-0.71000)*/
+{64, 0,123,__LINE__, 0x3fe87996, 0x529f9d95, 0xbfe66666, 0x66666662}, /* 0.76484=f(-0.70000)*/
+{64, 0,123,__LINE__, 0x3fe8ae0c, 0x1f72a71d, 0xbfe6147a, 0xe147ae10}, /* 0.77124=f(-0.69000)*/
+{64, 0,123,__LINE__, 0x3fe8e1e0, 0x2ea98160, 0xbfe5c28f, 0x5c28f5be}, /* 0.77757=f(-0.68000)*/
+{64, 0,123,__LINE__, 0x3fe91511, 0x2c9b57f7, 0xbfe570a3, 0xd70a3d6c}, /* 0.78382=f(-0.67000)*/
+{64, 0,123,__LINE__, 0x3fe9479d, 0xc9cc0203, 0xbfe51eb8, 0x51eb851a}, /* 0.78999=f(-0.66000)*/
+{64, 0,123,__LINE__, 0x3fe97984, 0xbaf498c4, 0xbfe4cccc, 0xccccccc8}, /* 0.79608=f(-0.65000)*/
+{64, 0,123,__LINE__, 0x3fe9aac4, 0xb90bf2aa, 0xbfe47ae1, 0x47ae1476}, /* 0.80209=f(-0.64000)*/
+{64, 0,123,__LINE__, 0x3fe9db5c, 0x814f028e, 0xbfe428f5, 0xc28f5c24}, /* 0.80802=f(-0.63000)*/
+{64, 0,123,__LINE__, 0x3fea0b4a, 0xd5491aef, 0xbfe3d70a, 0x3d70a3d2}, /* 0.81387=f(-0.62000)*/
+{64, 0,123,__LINE__, 0x3fea3a8e, 0x7adc14f9, 0xbfe3851e, 0xb851eb80}, /* 0.81964=f(-0.61000)*/
+{64, 0,123,__LINE__, 0x3fea6926, 0x3c485b17, 0xbfe33333, 0x3333332e}, /* 0.82533=f(-0.60000)*/
+{64, 0,123,__LINE__, 0x3fea9710, 0xe834d6e9, 0xbfe2e147, 0xae147adc}, /* 0.83094=f(-0.59000)*/
+{64, 0,123,__LINE__, 0x3feac44d, 0x51b6c25e, 0xbfe28f5c, 0x28f5c28a}, /* 0.83646=f(-0.58000)*/
+{64, 0,123,__LINE__, 0x3feaf0da, 0x50595bc8, 0xbfe23d70, 0xa3d70a38}, /* 0.84190=f(-0.57000)*/
+{64, 0,123,__LINE__, 0x3feb1cb6, 0xc0257cb5, 0xbfe1eb85, 0x1eb851e6}, /* 0.84725=f(-0.56000)*/
+{64, 0,123,__LINE__, 0x3feb47e1, 0x81a91353, 0xbfe19999, 0x99999994}, /* 0.85252=f(-0.55000)*/
+{64, 0,123,__LINE__, 0x3feb7259, 0x79fe7e3e, 0xbfe147ae, 0x147ae142}, /* 0.85770=f(-0.54000)*/
+{64, 0,123,__LINE__, 0x3feb9c1d, 0x92d3ca78, 0xbfe0f5c2, 0x8f5c28f0}, /* 0.86280=f(-0.53000)*/
+{64, 0,123,__LINE__, 0x3febc52c, 0xba71d366, 0xbfe0a3d7, 0x0a3d709e}, /* 0.86781=f(-0.52000)*/
+{64, 0,123,__LINE__, 0x3febed85, 0xe3c3449c, 0xbfe051eb, 0x851eb84c}, /* 0.87274=f(-0.51000)*/
+{64, 0,123,__LINE__, 0x3fec1528, 0x065b7d52, 0xbfdfffff, 0xfffffff4}, /* 0.87758=f(-0.50000)*/
+{64, 0,123,__LINE__, 0x3fec3c12, 0x1e7d5552, 0xbfdf5c28, 0xf5c28f50}, /* 0.88233=f(-0.49000)*/
+{64, 0,123,__LINE__, 0x3fec6243, 0x2d21c327, 0xbfdeb851, 0xeb851eac}, /* 0.88699=f(-0.48000)*/
+{64, 0,123,__LINE__, 0x3fec87ba, 0x37fe6377, 0xbfde147a, 0xe147ae08}, /* 0.89156=f(-0.47000)*/
+{64, 0,123,__LINE__, 0x3fecac76, 0x498be14e, 0xbfdd70a3, 0xd70a3d64}, /* 0.89605=f(-0.46000)*/
+{64, 0,123,__LINE__, 0x3fecd076, 0x710c3f30, 0xbfdccccc, 0xccccccc0}, /* 0.90044=f(-0.45000)*/
+{64, 0,123,__LINE__, 0x3fecf3b9, 0xc29100d2, 0xbfdc28f5, 0xc28f5c1c}, /* 0.90475=f(-0.44000)*/
+{64, 0,123,__LINE__, 0x3fed163f, 0x5701354b, 0xbfdb851e, 0xb851eb78}, /* 0.90896=f(-0.43000)*/
+{64, 0,123,__LINE__, 0x3fed3806, 0x4c1f6194, 0xbfdae147, 0xae147ad4}, /* 0.91308=f(-0.42000)*/
+{64, 0,123,__LINE__, 0x3fed590d, 0xc48f4b35, 0xbfda3d70, 0xa3d70a30}, /* 0.91712=f(-0.41000)*/
+{64, 0,123,__LINE__, 0x3fed7954, 0xe7dba2fa, 0xbfd99999, 0x9999998c}, /* 0.92106=f(-0.40000)*/
+{64, 0,123,__LINE__, 0x3fed98da, 0xe27b8f80, 0xbfd8f5c2, 0x8f5c28e8}, /* 0.92490=f(-0.39000)*/
+{64, 0,123,__LINE__, 0x3fedb79e, 0xe5d81784, 0xbfd851eb, 0x851eb844}, /* 0.92866=f(-0.38000)*/
+{64, 0,123,__LINE__, 0x3fedd5a0, 0x28516bca, 0xbfd7ae14, 0x7ae147a0}, /* 0.93232=f(-0.37000)*/
+{64, 0,123,__LINE__, 0x3fedf2dd, 0xe5441076, 0xbfd70a3d, 0x70a3d6fc}, /* 0.93589=f(-0.36000)*/
+{64, 0,123,__LINE__, 0x3fee0f57, 0x5d0de5ba, 0xbfd66666, 0x66666658}, /* 0.93937=f(-0.35000)*/
+{64, 0,123,__LINE__, 0x3fee2b0b, 0xd5130fb4, 0xbfd5c28f, 0x5c28f5b4}, /* 0.94275=f(-0.34000)*/
+{64, 0,123,__LINE__, 0x3fee45fa, 0x97c2bd66, 0xbfd51eb8, 0x51eb8510}, /* 0.94604=f(-0.33000)*/
+{64, 0,123,__LINE__, 0x3fee6022, 0xf49bce9e, 0xbfd47ae1, 0x47ae146c}, /* 0.94923=f(-0.32000)*/
+{64, 0,123,__LINE__, 0x3fee7984, 0x403158a4, 0xbfd3d70a, 0x3d70a3c8}, /* 0.95233=f(-0.31000)*/
+{64, 0,123,__LINE__, 0x3fee921d, 0xd42f09bc, 0xbfd33333, 0x33333324}, /* 0.95533=f(-0.30000)*/
+{64, 0,123,__LINE__, 0x3feea9ef, 0x0f5d6b28, 0xbfd28f5c, 0x28f5c280}, /* 0.95824=f(-0.29000)*/
+{64, 0,123,__LINE__, 0x3feec0f7, 0x55a601b4, 0xbfd1eb85, 0x1eb851dc}, /* 0.96105=f(-0.28000)*/
+{64, 0,123,__LINE__, 0x3feed736, 0x10174ca4, 0xbfd147ae, 0x147ae138}, /* 0.96377=f(-0.27000)*/
+{64, 0,123,__LINE__, 0x3feeecaa, 0xace8a2f0, 0xbfd0a3d7, 0x0a3d7094}, /* 0.96638=f(-0.26000)*/
+{64, 0,123,__LINE__, 0x3fef0154, 0x9f7deea3, 0xbfcfffff, 0xffffffe0}, /* 0.96891=f(-0.25000)*/
+{64, 0,123,__LINE__, 0x3fef1533, 0x606b465b, 0xbfceb851, 0xeb851e98}, /* 0.97133=f(-0.24000)*/
+{64, 0,123,__LINE__, 0x3fef2846, 0x6d7864ca, 0xbfcd70a3, 0xd70a3d50}, /* 0.97366=f(-0.23000)*/
+{64, 0,123,__LINE__, 0x3fef3a8d, 0x49a3fe1a, 0xbfcc28f5, 0xc28f5c08}, /* 0.97589=f(-0.22000)*/
+{64, 0,123,__LINE__, 0x3fef4c07, 0x7d26f328, 0xbfcae147, 0xae147ac0}, /* 0.97803=f(-0.21000)*/
+{64, 0,123,__LINE__, 0x3fef5cb4, 0x9577627c, 0xbfc99999, 0x99999978}, /* 0.98006=f(-0.20000)*/
+{64, 0,123,__LINE__, 0x3fef6c94, 0x254b96e8, 0xbfc851eb, 0x851eb830}, /* 0.98200=f(-0.19000)*/
+{64, 0,123,__LINE__, 0x3fef7ba5, 0xc49cd3ca, 0xbfc70a3d, 0x70a3d6e8}, /* 0.98384=f(-0.18000)*/
+{64, 0,123,__LINE__, 0x3fef89e9, 0x10a9febe, 0xbfc5c28f, 0x5c28f5a0}, /* 0.98558=f(-0.17000)*/
+{64, 0,123,__LINE__, 0x3fef975d, 0xabfa26da, 0xbfc47ae1, 0x47ae1458}, /* 0.98722=f(-0.16000)*/
+{64, 0,123,__LINE__, 0x3fefa403, 0x3e5ee938, 0xbfc33333, 0x33333310}, /* 0.98877=f(-0.15000)*/
+{64, 0,123,__LINE__, 0x3fefafd9, 0x74f6b2e3, 0xbfc1eb85, 0x1eb851c8}, /* 0.99021=f(-0.14000)*/
+{64, 0,123,__LINE__, 0x3fefbae0, 0x022edffe, 0xbfc0a3d7, 0x0a3d7080}, /* 0.99156=f(-0.13000)*/
+{64, 0,123,__LINE__, 0x3fefc516, 0x9dc5b826, 0xbfbeb851, 0xeb851e71}, /* 0.99280=f(-0.12000)*/
+{64, 0,123,__LINE__, 0x3fefce7d, 0x04cc47f9, 0xbfbc28f5, 0xc28f5be2}, /* 0.99395=f(-0.11000)*/
+{64, 0,123,__LINE__, 0x3fefd712, 0xf9a817c2, 0xbfb99999, 0x99999953}, /* 0.99500=f(-0.00100)*/
+{64, 0,123,__LINE__, 0x3fefded8, 0x4414bf2a, 0xbfb70a3d, 0x70a3d6c4}, /* 0.99595=f(-0.09000)*/
+{64, 0,123,__LINE__, 0x3fefe5cc, 0xb1255600, 0xbfb47ae1, 0x47ae1435}, /* 0.99680=f(-0.08000)*/
+{64, 0,123,__LINE__, 0x3fefebf0, 0x1345c1ef, 0xbfb1eb85, 0x1eb851a6}, /* 0.99755=f(-0.07000)*/
+{64, 0,123,__LINE__, 0x3feff142, 0x423be13a, 0xbfaeb851, 0xeb851e2d}, /* 0.99820=f(-0.06000)*/
+{64, 0,123,__LINE__, 0x3feff5c3, 0x1b289258, 0xbfa99999, 0x9999990e}, /* 0.99875=f(-0.05000)*/
+{64, 0,123,__LINE__, 0x3feff972, 0x80889878, 0xbfa47ae1, 0x47ae13ef}, /* 0.99920=f(-0.04000)*/
+{62, 0,123,__LINE__, 0x3feffc50, 0x5a355cf7, 0xbf9eb851, 0xeb851da0}, /* 0.99955=f(-0.03000)*/
+{64, 0,123,__LINE__, 0x3feffe5c, 0x95658d96, 0xbf947ae1, 0x47ae1362}, /* 0.99980=f(-0.02000)*/
+{64, 0,123,__LINE__, 0x3fefff97, 0x24ad97aa, 0xbf847ae1, 0x47ae1249}, /* 0.99995=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3cd19000, 0x00000000}, /* 1.00000=f(9.74915e-16)*/
+{62, 0,123,__LINE__, 0x3fefff97, 0x24ad97aa, 0x3f847ae1, 0x47ae16ad}, /* 0.99995=f(0.01000)*/
+{64, 0,123,__LINE__, 0x3feffe5c, 0x95658d95, 0x3f947ae1, 0x47ae1594}, /* 0.99980=f(0.02000)*/
+{64, 0,123,__LINE__, 0x3feffc50, 0x5a355cf6, 0x3f9eb851, 0xeb851fd2}, /* 0.99955=f(0.03000)*/
+{64, 0,123,__LINE__, 0x3feff972, 0x80889878, 0x3fa47ae1, 0x47ae1508}, /* 0.99920=f(0.04000)*/
+{63, 0,123,__LINE__, 0x3feff5c3, 0x1b289257, 0x3fa99999, 0x99999a27}, /* 0.99875=f(0.05000)*/
+{64, 0,123,__LINE__, 0x3feff142, 0x423be13a, 0x3faeb851, 0xeb851f46}, /* 0.99820=f(0.06000)*/
+{64, 0,123,__LINE__, 0x3fefebf0, 0x1345c1ef, 0x3fb1eb85, 0x1eb85232}, /* 0.99755=f(0.07000)*/
+{64, 0,123,__LINE__, 0x3fefe5cc, 0xb12555fe, 0x3fb47ae1, 0x47ae14c1}, /* 0.99680=f(0.08000)*/
+{64, 0,123,__LINE__, 0x3fefded8, 0x4414bf28, 0x3fb70a3d, 0x70a3d750}, /* 0.99595=f(0.09000)*/
+{64, 0,123,__LINE__, 0x3fefd712, 0xf9a817bf, 0x3fb99999, 0x999999df}, /* 0.99500=f(0.10000)*/
+{64, 0,123,__LINE__, 0x3fefce7d, 0x04cc47f6, 0x3fbc28f5, 0xc28f5c6e}, /* 0.99395=f(0.11000)*/
+{64, 0,123,__LINE__, 0x3fefc516, 0x9dc5b824, 0x3fbeb851, 0xeb851efd}, /* 0.99280=f(0.12000)*/
+{64, 0,123,__LINE__, 0x3fefbae0, 0x022edffc, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.99156=f(0.13000)*/
+{64, 0,123,__LINE__, 0x3fefafd9, 0x74f6b2e0, 0x3fc1eb85, 0x1eb8520e}, /* 0.99021=f(0.14000)*/
+{64, 0,123,__LINE__, 0x3fefa403, 0x3e5ee936, 0x3fc33333, 0x33333356}, /* 0.98877=f(0.15000)*/
+{64, 0,123,__LINE__, 0x3fef975d, 0xabfa26d7, 0x3fc47ae1, 0x47ae149e}, /* 0.98722=f(0.16000)*/
+{64, 0,123,__LINE__, 0x3fef89e9, 0x10a9febc, 0x3fc5c28f, 0x5c28f5e6}, /* 0.98558=f(0.17000)*/
+{64, 0,123,__LINE__, 0x3fef7ba5, 0xc49cd3c7, 0x3fc70a3d, 0x70a3d72e}, /* 0.98384=f(0.18000)*/
+{64, 0,123,__LINE__, 0x3fef6c94, 0x254b96e5, 0x3fc851eb, 0x851eb876}, /* 0.98200=f(0.19000)*/
+{64, 0,123,__LINE__, 0x3fef5cb4, 0x95776278, 0x3fc99999, 0x999999be}, /* 0.98006=f(0.20000)*/
+{64, 0,123,__LINE__, 0x3fef4c07, 0x7d26f324, 0x3fcae147, 0xae147b06}, /* 0.97803=f(0.21000)*/
+{64, 0,123,__LINE__, 0x3fef3a8d, 0x49a3fe16, 0x3fcc28f5, 0xc28f5c4e}, /* 0.97589=f(0.22000)*/
+{64, 0,123,__LINE__, 0x3fef2846, 0x6d7864c6, 0x3fcd70a3, 0xd70a3d96}, /* 0.97366=f(0.23000)*/
+{64, 0,123,__LINE__, 0x3fef1533, 0x606b4656, 0x3fceb851, 0xeb851ede}, /* 0.97133=f(0.24000)*/
+{64, 0,123,__LINE__, 0x3fef0154, 0x9f7dee9e, 0x3fd00000, 0x00000013}, /* 0.96891=f(0.25000)*/
+{64, 0,123,__LINE__, 0x3feeecaa, 0xace8a2ec, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.96638=f(0.26000)*/
+{64, 0,123,__LINE__, 0x3feed736, 0x10174ca0, 0x3fd147ae, 0x147ae15b}, /* 0.96377=f(0.27000)*/
+{64, 0,123,__LINE__, 0x3feec0f7, 0x55a601ae, 0x3fd1eb85, 0x1eb851ff}, /* 0.96105=f(0.28000)*/
+{64, 0,123,__LINE__, 0x3feea9ef, 0x0f5d6b22, 0x3fd28f5c, 0x28f5c2a3}, /* 0.95824=f(0.29000)*/
+{64, 0,123,__LINE__, 0x3fee921d, 0xd42f09b7, 0x3fd33333, 0x33333347}, /* 0.95533=f(0.30000)*/
+{64, 0,123,__LINE__, 0x3fee7984, 0x4031589e, 0x3fd3d70a, 0x3d70a3eb}, /* 0.95233=f(0.31000)*/
+{64, 0,123,__LINE__, 0x3fee6022, 0xf49bce98, 0x3fd47ae1, 0x47ae148f}, /* 0.94923=f(0.32000)*/
+{64, 0,123,__LINE__, 0x3fee45fa, 0x97c2bd61, 0x3fd51eb8, 0x51eb8533}, /* 0.94604=f(0.33000)*/
+{64, 0,123,__LINE__, 0x3fee2b0b, 0xd5130fae, 0x3fd5c28f, 0x5c28f5d7}, /* 0.94275=f(0.34000)*/
+{64, 0,123,__LINE__, 0x3fee0f57, 0x5d0de5b4, 0x3fd66666, 0x6666667b}, /* 0.93937=f(0.35000)*/
+{64, 0,123,__LINE__, 0x3fedf2dd, 0xe5441070, 0x3fd70a3d, 0x70a3d71f}, /* 0.93589=f(0.36000)*/
+{64, 0,123,__LINE__, 0x3fedd5a0, 0x28516bc4, 0x3fd7ae14, 0x7ae147c3}, /* 0.93232=f(0.37000)*/
+{64, 0,123,__LINE__, 0x3fedb79e, 0xe5d8177e, 0x3fd851eb, 0x851eb867}, /* 0.92866=f(0.38000)*/
+{64, 0,123,__LINE__, 0x3fed98da, 0xe27b8f79, 0x3fd8f5c2, 0x8f5c290b}, /* 0.92490=f(0.39000)*/
+{64, 0,123,__LINE__, 0x3fed7954, 0xe7dba2f3, 0x3fd99999, 0x999999af}, /* 0.92106=f(0.40000)*/
+{64, 0,123,__LINE__, 0x3fed590d, 0xc48f4b2e, 0x3fda3d70, 0xa3d70a53}, /* 0.91712=f(0.41000)*/
+{64, 0,123,__LINE__, 0x3fed3806, 0x4c1f618c, 0x3fdae147, 0xae147af7}, /* 0.91308=f(0.42000)*/
+{64, 0,123,__LINE__, 0x3fed163f, 0x57013544, 0x3fdb851e, 0xb851eb9b}, /* 0.90896=f(0.43000)*/
+{64, 0,123,__LINE__, 0x3fecf3b9, 0xc29100ca, 0x3fdc28f5, 0xc28f5c3f}, /* 0.90475=f(0.44000)*/
+{64, 0,123,__LINE__, 0x3fecd076, 0x710c3f28, 0x3fdccccc, 0xcccccce3}, /* 0.90044=f(0.45000)*/
+{64, 0,123,__LINE__, 0x3fecac76, 0x498be146, 0x3fdd70a3, 0xd70a3d87}, /* 0.89605=f(0.46000)*/
+{64, 0,123,__LINE__, 0x3fec87ba, 0x37fe6370, 0x3fde147a, 0xe147ae2b}, /* 0.89156=f(0.47000)*/
+{64, 0,123,__LINE__, 0x3fec6243, 0x2d21c31e, 0x3fdeb851, 0xeb851ecf}, /* 0.88699=f(0.48000)*/
+{64, 0,123,__LINE__, 0x3fec3c12, 0x1e7d554a, 0x3fdf5c28, 0xf5c28f73}, /* 0.88233=f(0.49000)*/
+{64, 0,123,__LINE__, 0x3fec1528, 0x065b7d4a, 0x3fe00000, 0x0000000b}, /* 0.87758=f(0.50000)*/
+{64, 0,123,__LINE__, 0x3febed85, 0xe3c34494, 0x3fe051eb, 0x851eb85d}, /* 0.87274=f(0.51000)*/
+{64, 0,123,__LINE__, 0x3febc52c, 0xba71d35c, 0x3fe0a3d7, 0x0a3d70af}, /* 0.86781=f(0.52000)*/
+{64, 0,123,__LINE__, 0x3feb9c1d, 0x92d3ca70, 0x3fe0f5c2, 0x8f5c2901}, /* 0.86280=f(0.53000)*/
+{64, 0,123,__LINE__, 0x3feb7259, 0x79fe7e35, 0x3fe147ae, 0x147ae153}, /* 0.85770=f(0.54000)*/
+{64, 0,123,__LINE__, 0x3feb47e1, 0x81a9134b, 0x3fe19999, 0x999999a5}, /* 0.85252=f(0.55000)*/
+{64, 0,123,__LINE__, 0x3feb1cb6, 0xc0257cab, 0x3fe1eb85, 0x1eb851f7}, /* 0.84725=f(0.56000)*/
+{64, 0,123,__LINE__, 0x3feaf0da, 0x50595bc0, 0x3fe23d70, 0xa3d70a49}, /* 0.84190=f(0.57000)*/
+{64, 0,123,__LINE__, 0x3feac44d, 0x51b6c254, 0x3fe28f5c, 0x28f5c29b}, /* 0.83646=f(0.58000)*/
+{64, 0,123,__LINE__, 0x3fea9710, 0xe834d6e0, 0x3fe2e147, 0xae147aed}, /* 0.83094=f(0.59000)*/
+{64, 0,123,__LINE__, 0x3fea6926, 0x3c485b0d, 0x3fe33333, 0x3333333f}, /* 0.82533=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3fea3a8e, 0x7adc14f0, 0x3fe3851e, 0xb851eb91}, /* 0.81964=f(0.61000)*/
+{64, 0,123,__LINE__, 0x3fea0b4a, 0xd5491ae4, 0x3fe3d70a, 0x3d70a3e3}, /* 0.81387=f(0.62000)*/
+{64, 0,123,__LINE__, 0x3fe9db5c, 0x814f0284, 0x3fe428f5, 0xc28f5c35}, /* 0.80802=f(0.63000)*/
+{58, 0,123,__LINE__, 0x3fe9aac4, 0xb90bf2a0, 0x3fe47ae1, 0x47ae1487}, /* 0.80209=f(0.64000)*/
+{64, 0,123,__LINE__, 0x3fe97984, 0xbaf498ba, 0x3fe4cccc, 0xccccccd9}, /* 0.79608=f(0.65000)*/
+{64, 0,123,__LINE__, 0x3fe9479d, 0xc9cc01f8, 0x3fe51eb8, 0x51eb852b}, /* 0.78999=f(0.66000)*/
+{64, 0,123,__LINE__, 0x3fe91511, 0x2c9b57ed, 0x3fe570a3, 0xd70a3d7d}, /* 0.78382=f(0.67000)*/
+{64, 0,123,__LINE__, 0x3fe8e1e0, 0x2ea98154, 0x3fe5c28f, 0x5c28f5cf}, /* 0.77757=f(0.68000)*/
+{64, 0,123,__LINE__, 0x3fe8ae0c, 0x1f72a713, 0x3fe6147a, 0xe147ae21}, /* 0.77124=f(0.69000)*/
+{64, 0,123,__LINE__, 0x3fe87996, 0x529f9d89, 0x3fe66666, 0x66666673}, /* 0.76484=f(0.70000)*/
+{64, 0,123,__LINE__, 0x3fe84480, 0x1ffd32ae, 0x3fe6b851, 0xeb851ec5}, /* 0.75836=f(0.71000)*/
+{64, 0,123,__LINE__, 0x3fe80eca, 0xe37360dc, 0x3fe70a3d, 0x70a3d717}, /* 0.75180=f(0.72000)*/
+{64, 0,123,__LINE__, 0x3fe7d877, 0xfcfc66e4, 0x3fe75c28, 0xf5c28f69}, /* 0.74517=f(0.73000)*/
+{64, 0,123,__LINE__, 0x3fe7a188, 0xd09bc545, 0x3fe7ae14, 0x7ae147bb}, /* 0.73846=f(0.74000)*/
+{64, 0,123,__LINE__, 0x3fe769fe, 0xc6552116, 0x3fe80000, 0x0000000d}, /* 0.73168=f(0.75000)*/
+{64, 0,123,__LINE__, 0x3fe731db, 0x4a230c99, 0x3fe851eb, 0x851eb85f}, /* 0.72483=f(0.76000)*/
+{64, 0,123,__LINE__, 0x3fe6f91f, 0xcbedb5ef, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.71791=f(0.77000)*/
+{64, 0,123,__LINE__, 0x3fe6bfcd, 0xbf817bf0, 0x3fe8f5c2, 0x8f5c2903}, /* 0.71091=f(0.78000)*/
+{64, 0,123,__LINE__, 0x3fe685e6, 0x9c8569a6, 0x3fe947ae, 0x147ae155}, /* 0.70384=f(0.79000)*/
+{64, 0,123,__LINE__, 0x3fe64b6b, 0xde71985a, 0x3fe99999, 0x999999a7}, /* 0.69670=f(0.80000)*/
+{64, 0,123,__LINE__, 0x3fe6105f, 0x048578d0, 0x3fe9eb85, 0x1eb851f9}, /* 0.68949=f(0.81000)*/
+{64, 0,123,__LINE__, 0x3fe5d4c1, 0x91be038a, 0x3fea3d70, 0xa3d70a4b}, /* 0.68222=f(0.82000)*/
+{64, 0,123,__LINE__, 0x3fe59895, 0x0ccbd0bc, 0x3fea8f5c, 0x28f5c29d}, /* 0.67487=f(0.83000)*/
+{64, 0,123,__LINE__, 0x3fe55bdb, 0x000917d0, 0x3feae147, 0xae147aef}, /* 0.66746=f(0.84000)*/
+{64, 0,123,__LINE__, 0x3fe51e94, 0xf96f9711, 0x3feb3333, 0x33333341}, /* 0.65998=f(0.85000)*/
+{64, 0,123,__LINE__, 0x3fe4e0c4, 0x8a8e6370, 0x3feb851e, 0xb851eb93}, /* 0.65243=f(0.86000)*/
+{64, 0,123,__LINE__, 0x3fe4a26b, 0x487fa0f8, 0x3febd70a, 0x3d70a3e5}, /* 0.64482=f(0.87000)*/
+{64, 0,123,__LINE__, 0x3fe4638a, 0xcbde23da, 0x3fec28f5, 0xc28f5c37}, /* 0.63715=f(0.88000)*/
+{64, 0,123,__LINE__, 0x3fe42424, 0xb0bafab9, 0x3fec7ae1, 0x47ae1489}, /* 0.62941=f(0.89000)*/
+{64, 0,123,__LINE__, 0x3fe3e43a, 0x9692e210, 0x3feccccc, 0xccccccdb}, /* 0.62160=f(0.90000)*/
+{64, 0,123,__LINE__, 0x3fe3a3ce, 0x2043a160, 0x3fed1eb8, 0x51eb852d}, /* 0.61374=f(0.91000)*/
+{64, 0,123,__LINE__, 0x3fe362e0, 0xf4015209, 0x3fed70a3, 0xd70a3d7f}, /* 0.60582=f(0.92000)*/
+{64, 0,123,__LINE__, 0x3fe32174, 0xbb4b9075, 0x3fedc28f, 0x5c28f5d1}, /* 0.59783=f(0.93000)*/
+{64, 0,123,__LINE__, 0x3fe2df8b, 0x22e29778, 0x3fee147a, 0xe147ae23}, /* 0.58978=f(0.94000)*/
+{64, 0,123,__LINE__, 0x3fe29d25, 0xdabc4696, 0x3fee6666, 0x66666675}, /* 0.58168=f(0.95000)*/
+{64, 0,123,__LINE__, 0x3fe25a46, 0x95f91302, 0x3feeb851, 0xeb851ec7}, /* 0.57351=f(0.96000)*/
+{64, 0,123,__LINE__, 0x3fe216ef, 0x0ad8e424, 0x3fef0a3d, 0x70a3d719}, /* 0.56529=f(0.97000)*/
+{64, 0,123,__LINE__, 0x3fe1d320, 0xf2afdb5c, 0x3fef5c28, 0xf5c28f6b}, /* 0.55702=f(0.98000)*/
+{64, 0,123,__LINE__, 0x3fe18ede, 0x09db07e2, 0x3fefae14, 0x7ae147bd}, /* 0.54868=f(0.99000)*/
+{64, 0,123,__LINE__, 0x3fe14a28, 0x0fb5067e, 0x3ff00000, 0x00000007}, /* 0.54030=f(1.00000)*/
+{64, 0,123,__LINE__, 0x3fe10500, 0xc68a8de1, 0x3ff028f5, 0xc28f5c30}, /* 0.53186=f(1.01000)*/
+{64, 0,123,__LINE__, 0x3fe0bf69, 0xf38ee782, 0x3ff051eb, 0x851eb859}, /* 0.52336=f(1.02000)*/
+{64, 0,123,__LINE__, 0x3fe07965, 0x5ed05593, 0x3ff07ae1, 0x47ae1482}, /* 0.51481=f(1.03000)*/
+{64, 0,123,__LINE__, 0x3fe032f4, 0xd32c6644, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.50622=f(1.04000)*/
+{64, 0,123,__LINE__, 0x3fdfd834, 0x3c88690a, 0x3ff0cccc, 0xccccccd4}, /* 0.49757=f(1.05000)*/
+{64, 0,123,__LINE__, 0x3fdf49ae, 0x20e12d63, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.48887=f(1.06000)*/
+{64, 0,123,__LINE__, 0x3fdeba5a, 0xf96c76f9, 0x3ff11eb8, 0x51eb8526}, /* 0.48012=f(1.07000)*/
+{64, 0,123,__LINE__, 0x3fde2a3e, 0x71736aa6, 0x3ff147ae, 0x147ae14f}, /* 0.47132=f(1.08000)*/
+{64, 0,123,__LINE__, 0x3fdd995c, 0x3966e906, 0x3ff170a3, 0xd70a3d78}, /* 0.46248=f(1.09000)*/
+{64, 0,123,__LINE__, 0x3fdd07b8, 0x06c760fa, 0x3ff19999, 0x999999a1}, /* 0.45359=f(1.10000)*/
+{64, 0,123,__LINE__, 0x3fdc7555, 0x940c811e, 0x3ff1c28f, 0x5c28f5ca}, /* 0.44466=f(1.11000)*/
+{64, 0,123,__LINE__, 0x3fdbe238, 0xa08cc8ad, 0x3ff1eb85, 0x1eb851f3}, /* 0.43568=f(1.12000)*/
+{64, 0,123,__LINE__, 0x3fdb4e64, 0xf064f863, 0x3ff2147a, 0xe147ae1c}, /* 0.42665=f(1.13000)*/
+{64, 0,123,__LINE__, 0x3fdab9de, 0x4c5f641a, 0x3ff23d70, 0xa3d70a45}, /* 0.41759=f(1.14000)*/
+{64, 0,123,__LINE__, 0x3fda24a8, 0x81db25cd, 0x3ff26666, 0x6666666e}, /* 0.40848=f(1.15000)*/
+{64, 0,123,__LINE__, 0x3fd98ec7, 0x62b332a3, 0x3ff28f5c, 0x28f5c297}, /* 0.39933=f(1.16000)*/
+{64, 0,123,__LINE__, 0x3fd8f83e, 0xc5255277, 0x3ff2b851, 0xeb851ec0}, /* 0.39015=f(1.17000)*/
+{64, 0,123,__LINE__, 0x3fd86112, 0x83b8fa98, 0x3ff2e147, 0xae147ae9}, /* 0.38092=f(1.18000)*/
+{64, 0,123,__LINE__, 0x3fd7c946, 0x7d260c9b, 0x3ff30a3d, 0x70a3d712}, /* 0.37165=f(1.19000)*/
+{64, 0,123,__LINE__, 0x3fefffff, 0xffffffff, 0xc01921fb, 0x54442d18}, /* 0.01000=f(-6.28318)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* 0.00000=f(-4.71238)*/
+{64, 0,123,__LINE__, 0xbfefffff, 0xffffffff, 0xc00921fb, 0x54442d18}, /* -0.01000=f(-3.14159)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbff921fb, 0x54442d18}, /* 0.00000=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x3fefffff, 0xffffffff, 0x00000000, 0x00000000}, /* 0.01000=f(0.00000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3ff921fb, 0x54442d18}, /* 0.00000=f(1.57079)*/
+{64, 0,123,__LINE__, 0xbfefffff, 0xffffffff, 0x400921fb, 0x54442d18}, /* -0.01000=f(3.14159)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x4012d97c, 0x7f3321d2}, /* 0.00000=f(4.71238)*/
+{64, 0,123,__LINE__, 0x3fc3be82, 0xf2505a3c, 0xc03e0000, 0x00000000}, /* 0.15425=f(-30.0000)*/
+{64, 0,123,__LINE__, 0xbfeffd4d, 0x49f5634f, 0xc03c4ccc, 0xcccccccd}, /* -0.99967=f(-28.3000)*/
+{64, 0,123,__LINE__, 0x3fba7552, 0x052a7a96, 0xc03a9999, 0x9999999a}, /* 0.10335=f(-26.6000)*/
+{64, 0,123,__LINE__, 0x3fef2320, 0x2a931b50, 0xc038e666, 0x66666667}, /* 0.97303=f(-24.9000)*/
+{64, 0,123,__LINE__, 0xbfd6a979, 0x0396a6d1, 0xc0373333, 0x33333334}, /* -0.35409=f(-23.2000)*/
+{64, 0,123,__LINE__, 0xbfec37a3, 0x48f58c04, 0xc0358000, 0x00000001}, /* -0.88179=f(-21.5000)*/
+{64, 0,123,__LINE__, 0x3fe29a30, 0x33463902, 0xc033cccc, 0xccccccce}, /* 0.58132=f(-19.8000)*/
+{64, 0,123,__LINE__, 0x3fe76c79, 0x6f014394, 0xc0321999, 0x9999999b}, /* 0.73199=f(-18.1000)*/
+{64, 0,123,__LINE__, 0xbfe8a369, 0xe7c4cd6a, 0xc0306666, 0x66666668}, /* -0.76994=f(-16.4000)*/
+{64, 0,123,__LINE__, 0xbfe1131f, 0x9041ceed, 0xc02d6666, 0x6666666a}, /* -0.53358=f(-14.7000)*/
+{64, 0,123,__LINE__, 0x3fed09cd, 0xd5260c9a, 0xc02a0000, 0x00000004}, /* 0.90744=f(-13.0000)*/
+{64, 0,123,__LINE__, 0x3fd32f07, 0x17a032d8, 0xc0269999, 0x9999999e}, /* 0.29974=f(-11.3000)*/
+{64, 0,123,__LINE__, 0xbfef8290, 0x1b2ceea7, 0xc0233333, 0x33333338}, /* -0.98468=f(-9.60000)*/
+{64, 0,123,__LINE__, 0xbfa78d97, 0x32562f56, 0xc01f9999, 0x999999a3}, /* -0.04600=f(-7.90000)*/
+{64, 0,123,__LINE__, 0x3fefe3ac, 0x4079a9d4, 0xc018cccc, 0xccccccd6}, /* 0.99654=f(-6.20000)*/
+{64, 0,123,__LINE__, 0xbfcafb5b, 0x54583c4a, 0xc0120000, 0x00000009}, /* -0.21079=f(-4.50000)*/
+{64, 0,123,__LINE__, 0xbfee26af, 0x77577062, 0xc0066666, 0x66666678}, /* -0.94222=f(-2.80000)*/
+{64, 0,123,__LINE__, 0x3fdd07b8, 0x06c76093, 0xbff19999, 0x999999bd}, /* 0.45359=f(-1.10000)*/
+{64, 0,123,__LINE__, 0x3fea6926, 0x3c485b3d, 0x3fe33333, 0x333332ec}, /* 0.82533=f(0.60000)*/
+{64, 0,123,__LINE__, 0xbfe55222, 0x17302fab, 0x40026666, 0x66666654}, /* -0.66627=f(2.30000)*/
+{64, 0,123,__LINE__, 0xbfe4eaa6, 0x06db24f6, 0x400fffff, 0xffffffee}, /* -0.65364=f(4.00000)*/
+{64, 0,123,__LINE__, 0x3feab5f7, 0x960dfe03, 0x4016cccc, 0xccccccc4}, /* 0.83471=f(5.70000)*/
+{64, 0,123,__LINE__, 0x3fdc1128, 0xcf6b88eb, 0x401d9999, 0x99999991}, /* 0.43854=f(7.40000)*/
+{64, 0,123,__LINE__, 0xbfee53bc, 0x40dbb4f7, 0x40223333, 0x3333332f}, /* -0.94772=f(9.10000)*/
+{64, 0,123,__LINE__, 0xbfc8dfcd, 0x686e22d4, 0x40259999, 0x99999995}, /* -0.19432=f(10.8000)*/
+{64, 0,123,__LINE__, 0x3fefedf6, 0xa822776f, 0x4028ffff, 0xfffffffb}, /* 0.99779=f(12.5000)*/
+{64, 0,123,__LINE__, 0xbfb0131e, 0x4c6b1b8a, 0x402c6666, 0x66666661}, /* -0.06279=f(14.2000)*/
+{64, 0,123,__LINE__, 0xbfef6969, 0x31df045e, 0x402fcccc, 0xccccccc7}, /* -0.98161=f(15.9000)*/
+{64, 0,123,__LINE__, 0x3fd43525, 0x4b52d67d, 0x40319999, 0x99999997}, /* 0.31574=f(17.6000)*/
+{64, 0,123,__LINE__, 0x3feccee1, 0x2c079a9a, 0x40334ccc, 0xccccccca}, /* 0.90025=f(19.3000)*/
+{64, 0,123,__LINE__, 0xbfe186ff, 0x83773702, 0x4034ffff, 0xfffffffd}, /* -0.54772=f(21.0000)*/
+{64, 0,123,__LINE__, 0xbfe84aa1, 0x2be3c2f1, 0x4036b333, 0x33333330}, /* -0.75911=f(22.7000)*/
+{64, 0,123,__LINE__, 0x3fe7c978, 0x706f1be6, 0x40386666, 0x66666663}, /* 0.74334=f(24.4000)*/
+{64, 0,123,__LINE__, 0x3fe22970, 0xa9c7540c, 0x403a1999, 0x99999996}, /* 0.56755=f(26.1000)*/
+{64, 0,123,__LINE__, 0xbfec7794, 0x7992f3fe, 0x403bcccc, 0xccccccc9}, /* -0.88959=f(27.8000)*/
+{64, 0,123,__LINE__, 0xbfd5a705, 0x9eaeac12, 0x403d7fff, 0xfffffffc}, /* -0.33831=f(29.5000)*/
+0,};
+test_cos(m) {run_vector_1(m,cos_vec,(char *)(cos),"cos","dd"); }
diff --git a/newlib/libm/test/cosf_vec.c b/newlib/libm/test/cosf_vec.c
new file mode 100644
index 00000000000..7e7d72011e8
--- /dev/null
+++ b/newlib/libm/test/cosf_vec.c
@@ -0,0 +1,287 @@
+#include "test.h"
+ one_line_type cosf_vec[] = {
+{10, 0,123,__LINE__, 0x3fd730de, 0x6472104d, 0xbff33333, 0x33333333}, /* 0.36235=f(-1.20000)*/
+{10, 0,123,__LINE__, 0x3fd7c946, 0x44916898, 0xbff30a3d, 0x70a3d70a}, /* 0.37165=f(-1.19000)*/
+{10, 0,123,__LINE__, 0x3fd86112, 0xb8048f74, 0xbff2e147, 0xae147ae1}, /* 0.38092=f(-1.18000)*/
+{10, 0,123,__LINE__, 0x3fd8f83e, 0xeece9b82, 0xbff2b851, 0xeb851eb8}, /* 0.39015=f(-1.17000)*/
+{10, 0,123,__LINE__, 0x3fd98ec7, 0x82e20910, 0xbff28f5c, 0x28f5c28f}, /* 0.39933=f(-1.16000)*/
+{10, 0,123,__LINE__, 0x3fda24a8, 0x99317fa1, 0xbff26666, 0x66666666}, /* 0.40848=f(-1.15000)*/
+{10, 0,123,__LINE__, 0x3fdab9de, 0x5ae860cf, 0xbff23d70, 0xa3d70a3d}, /* 0.41759=f(-1.14000)*/
+{10, 0,123,__LINE__, 0x3fdb4e64, 0xf3c101c3, 0xbff2147a, 0xe147ae14}, /* 0.42665=f(-1.13000)*/
+{10, 0,123,__LINE__, 0x3fdbe238, 0x9aef2562, 0xbff1eb85, 0x1eb851eb}, /* 0.43568=f(-1.12000)*/
+{10, 0,123,__LINE__, 0x3fdc7555, 0x85478abd, 0xbff1c28f, 0x5c28f5c2}, /* 0.44466=f(-1.11000)*/
+{10, 0,123,__LINE__, 0x3fdd07b7, 0xf0ca58aa, 0xbff19999, 0x99999999}, /* 0.45359=f(-1.10000)*/
+{10, 0,123,__LINE__, 0x3fdd995c, 0x19b2b427, 0xbff170a3, 0xd70a3d70}, /* 0.46248=f(-1.09000)*/
+{10, 0,123,__LINE__, 0x3fde2a3e, 0x479b2dea, 0xbff147ae, 0x147ae147}, /* 0.47132=f(-1.08000)*/
+{10, 0,123,__LINE__, 0x3fdeba5a, 0xc8481ce3, 0xbff11eb8, 0x51eb851e}, /* 0.48012=f(-1.07000)*/
+{10, 0,123,__LINE__, 0x3fdf49ae, 0x55edce4d, 0xbff0f5c2, 0x8f5c28f5}, /* 0.48887=f(-1.06000)*/
+{10, 0,123,__LINE__, 0x3fdfd834, 0x69a59055, 0xbff0cccc, 0xcccccccc}, /* 0.49757=f(-1.05000)*/
+{11, 0,123,__LINE__, 0x3fe032f4, 0xe5302499, 0xbff0a3d7, 0x0a3d70a3}, /* 0.50622=f(-1.04000)*/
+{11, 0,123,__LINE__, 0x3fe07965, 0x6b578e35, 0xbff07ae1, 0x47ae147a}, /* 0.51481=f(-1.03000)*/
+{11, 0,123,__LINE__, 0x3fe0bf69, 0xfc089254, 0xbff051eb, 0x851eb851}, /* 0.52336=f(-1.02000)*/
+{11, 0,123,__LINE__, 0x3fe10500, 0xcb0bc271, 0xbff028f5, 0xc28f5c28}, /* 0.53186=f(-1.01000)*/
+{11, 0,123,__LINE__, 0x3fe14a28, 0x109b247f, 0xbfefffff, 0xfffffffe}, /* 0.54030=f(-0.01000)*/
+{11, 0,123,__LINE__, 0x3fe18ede, 0x06194bac, 0xbfefae14, 0x7ae147ac}, /* 0.54868=f(-0.99000)*/
+{11, 0,123,__LINE__, 0x3fe1d320, 0xeab1b237, 0xbfef5c28, 0xf5c28f5a}, /* 0.55702=f(-0.98000)*/
+{11, 0,123,__LINE__, 0x3fe216ee, 0xfda37c59, 0xbfef0a3d, 0x70a3d708}, /* 0.56529=f(-0.97000)*/
+{11, 0,123,__LINE__, 0x3fe25a46, 0x9fc480b0, 0xbfeeb851, 0xeb851eb6}, /* 0.57352=f(-0.96000)*/
+{11, 0,123,__LINE__, 0x3fe29d25, 0xdf140a48, 0xbfee6666, 0x66666664}, /* 0.58168=f(-0.95000)*/
+{11, 0,123,__LINE__, 0x3fe2df8b, 0x24080e04, 0xbfee147a, 0xe147ae12}, /* 0.58978=f(-0.94000)*/
+{11, 0,123,__LINE__, 0x3fe32174, 0xb7b19b41, 0xbfedc28f, 0x5c28f5c0}, /* 0.59783=f(-0.93000)*/
+{11, 0,123,__LINE__, 0x3fe362e0, 0xee9020f0, 0xbfed70a3, 0xd70a3d6e}, /* 0.60582=f(-0.92000)*/
+{11, 0,123,__LINE__, 0x3fe3a3ce, 0x1571b662, 0xbfed1eb8, 0x51eb851c}, /* 0.61374=f(-0.91000)*/
+{11, 0,123,__LINE__, 0x3fe3e43a, 0xa115e4b3, 0xbfeccccc, 0xccccccca}, /* 0.62160=f(-0.90000)*/
+{11, 0,123,__LINE__, 0x3fe42424, 0xb55f3745, 0xbfec7ae1, 0x47ae1478}, /* 0.62941=f(-0.89000)*/
+{11, 0,123,__LINE__, 0x3fe4638a, 0xccccaec9, 0xbfec28f5, 0xc28f5c26}, /* 0.63715=f(-0.88000)*/
+{11, 0,123,__LINE__, 0x3fe4a26b, 0x46dce8de, 0xbfebd70a, 0x3d70a3d4}, /* 0.64482=f(-0.87000)*/
+{11, 0,123,__LINE__, 0x3fe4e0c4, 0x85c6d4e2, 0xbfeb851e, 0xb851eb82}, /* 0.65243=f(-0.86000)*/
+{11, 0,123,__LINE__, 0x3fe51e94, 0xf15bcc5f, 0xbfeb3333, 0x33333330}, /* 0.65998=f(-0.85000)*/
+{11, 0,123,__LINE__, 0x3fe55bdb, 0x08c37bdb, 0xbfeae147, 0xae147ade}, /* 0.66746=f(-0.84000)*/
+{11, 0,123,__LINE__, 0x3fe59895, 0x1075f62e, 0xbfea8f5c, 0x28f5c28c}, /* 0.67487=f(-0.83000)*/
+{11, 0,123,__LINE__, 0x3fe5d4c1, 0x93909c56, 0xbfea3d70, 0xa3d70a3a}, /* 0.68222=f(-0.82000)*/
+{11, 0,123,__LINE__, 0x3fe6105f, 0x029c4897, 0xbfe9eb85, 0x1eb851e8}, /* 0.68949=f(-0.81000)*/
+{11, 0,123,__LINE__, 0x3fe64b6b, 0xda1a09d4, 0xbfe99999, 0x99999996}, /* 0.69670=f(-0.80000)*/
+{11, 0,123,__LINE__, 0x3fe685e6, 0x937f0fd2, 0xbfe947ae, 0x147ae144}, /* 0.70384=f(-0.79000)*/
+{11, 0,123,__LINE__, 0x3fe6bfcd, 0xcb101331, 0xbfe8f5c2, 0x8f5c28f2}, /* 0.71091=f(-0.78000)*/
+{11, 0,123,__LINE__, 0x3fe6f91f, 0xd0223e86, 0xbfe8a3d7, 0x0a3d70a0}, /* 0.71791=f(-0.77000)*/
+{11, 0,123,__LINE__, 0x3fe731db, 0x4bdce1fd, 0xbfe851eb, 0x851eb84e}, /* 0.72483=f(-0.76000)*/
+{11, 0,123,__LINE__, 0x3fe769fe, 0xc759d4a6, 0xbfe7ffff, 0xfffffffc}, /* 0.73168=f(-0.75000)*/
+{11, 0,123,__LINE__, 0x3fe7a188, 0xcebd2ad0, 0xbfe7ae14, 0x7ae147aa}, /* 0.73846=f(-0.74000)*/
+{11, 0,123,__LINE__, 0x3fe7d877, 0xf4922fc2, 0xbfe75c28, 0xf5c28f58}, /* 0.74517=f(-0.73000)*/
+{11, 0,123,__LINE__, 0x3fe80eca, 0xd8cd0730, 0xbfe70a3d, 0x70a3d706}, /* 0.75180=f(-0.72000)*/
+{11, 0,123,__LINE__, 0x3fe84480, 0x26985537, 0xbfe6b851, 0xeb851eb4}, /* 0.75836=f(-0.71000)*/
+{11, 0,123,__LINE__, 0x3fe87996, 0x5a02a255, 0xbfe66666, 0x66666662}, /* 0.76484=f(-0.70000)*/
+{11, 0,123,__LINE__, 0x3fe8ae0c, 0x1de43e3a, 0xbfe6147a, 0xe147ae10}, /* 0.77124=f(-0.69000)*/
+{11, 0,123,__LINE__, 0x3fe8e1e0, 0x2df71e7a, 0xbfe5c28f, 0x5c28f5be}, /* 0.77757=f(-0.68000)*/
+{11, 0,123,__LINE__, 0x3fe91511, 0x263efc70, 0xbfe570a3, 0xd70a3d6c}, /* 0.78382=f(-0.67000)*/
+{11, 0,123,__LINE__, 0x3fe9479d, 0xbef879b6, 0xbfe51eb8, 0x51eb851a}, /* 0.78999=f(-0.66000)*/
+{11, 0,123,__LINE__, 0x3fe97984, 0xc1262700, 0xbfe4cccc, 0xccccccc8}, /* 0.79608=f(-0.65000)*/
+{11, 0,123,__LINE__, 0x3fe9aac4, 0xbc3dfc32, 0xbfe47ae1, 0x47ae1476}, /* 0.80209=f(-0.64000)*/
+{11, 0,123,__LINE__, 0x3fe9db5c, 0x80783b01, 0xbfe428f5, 0xc28f5c24}, /* 0.80802=f(-0.63000)*/
+{11, 0,123,__LINE__, 0x3fea0b4a, 0xd4b55b88, 0xbfe3d70a, 0x3d70a3d2}, /* 0.81387=f(-0.62000)*/
+{11, 0,123,__LINE__, 0x3fea3a8e, 0x744d73ec, 0xbfe3851e, 0xb851eb80}, /* 0.81964=f(-0.61000)*/
+{11, 0,123,__LINE__, 0x3fea6926, 0x35185fe0, 0xbfe33333, 0x3333332e}, /* 0.82533=f(-0.60000)*/
+{11, 0,123,__LINE__, 0x3fea9710, 0xecd09a47, 0xbfe2e147, 0xae147adc}, /* 0.83094=f(-0.59000)*/
+{11, 0,123,__LINE__, 0x3feac44d, 0x52335f02, 0xbfe28f5c, 0x28f5c28a}, /* 0.83646=f(-0.58000)*/
+{11, 0,123,__LINE__, 0x3feaf0da, 0x5249d088, 0xbfe23d70, 0xa3d70a38}, /* 0.84190=f(-0.57000)*/
+{11, 0,123,__LINE__, 0x3feb1cb6, 0xc26da5b0, 0xbfe1eb85, 0x1eb851e6}, /* 0.84725=f(-0.56000)*/
+{11, 0,123,__LINE__, 0x3feb47e1, 0x83a84b14, 0xbfe19999, 0x99999994}, /* 0.85252=f(-0.55000)*/
+{11, 0,123,__LINE__, 0x3feb7259, 0x729b252c, 0xbfe147ae, 0x147ae142}, /* 0.85770=f(-0.54000)*/
+{11, 0,123,__LINE__, 0x3feb9c1d, 0x9a9ae192, 0xbfe0f5c2, 0x8f5c28f0}, /* 0.86280=f(-0.53000)*/
+{11, 0,123,__LINE__, 0x3febc52c, 0xc3de6bbe, 0xbfe0a3d7, 0x0a3d709e}, /* 0.86781=f(-0.52000)*/
+{11, 0,123,__LINE__, 0x3febed85, 0xe8eda20c, 0xbfe051eb, 0x851eb84c}, /* 0.87274=f(-0.51000)*/
+{11, 0,123,__LINE__, 0x3fec1528, 0x06962121, 0xbfdfffff, 0xfffffff4}, /* 0.87758=f(-0.50000)*/
+{11, 0,123,__LINE__, 0x3fec3c12, 0x1dce7b20, 0xbfdf5c28, 0xf5c28f50}, /* 0.88233=f(-0.49000)*/
+{11, 0,123,__LINE__, 0x3fec6243, 0x2f4507c3, 0xbfdeb851, 0xeb851eac}, /* 0.88699=f(-0.48000)*/
+{11, 0,123,__LINE__, 0x3fec87ba, 0x3b519438, 0xbfde147a, 0xe147ae08}, /* 0.89156=f(-0.47000)*/
+{11, 0,123,__LINE__, 0x3fecac76, 0x41ccb4dc, 0xbfdd70a3, 0xd70a3d64}, /* 0.89605=f(-0.46000)*/
+{11, 0,123,__LINE__, 0x3fecd076, 0x72620196, 0xbfdccccc, 0xccccccc0}, /* 0.90044=f(-0.45000)*/
+{11, 0,123,__LINE__, 0x3fecf3b9, 0xbfc893c5, 0xbfdc28f5, 0xc28f5c1c}, /* 0.90475=f(-0.44000)*/
+{11, 0,123,__LINE__, 0x3fed163f, 0x505a028f, 0xbfdb851e, 0xb851eb78}, /* 0.90896=f(-0.43000)*/
+{11, 0,123,__LINE__, 0x3fed3806, 0x4e62a4e6, 0xbfdae147, 0xae147ad4}, /* 0.91308=f(-0.42000)*/
+{11, 0,123,__LINE__, 0x3fed590d, 0xc234348c, 0xbfda3d70, 0xa3d70a30}, /* 0.91712=f(-0.41000)*/
+{11, 0,123,__LINE__, 0x3fed7954, 0xe7d86d3a, 0xbfd99999, 0x9999998c}, /* 0.92106=f(-0.40000)*/
+{11, 0,123,__LINE__, 0x3fed98da, 0xecb82098, 0xbfd8f5c2, 0x8f5c28e8}, /* 0.92490=f(-0.39000)*/
+{11, 0,123,__LINE__, 0x3fedb79e, 0xe5f2ca89, 0xbfd851eb, 0x851eb844}, /* 0.92866=f(-0.38000)*/
+{11, 0,123,__LINE__, 0x3fedd5a0, 0x25bc63b0, 0xbfd7ae14, 0x7ae147a0}, /* 0.93232=f(-0.37000)*/
+{11, 0,123,__LINE__, 0x3fedf2dd, 0xe31ff682, 0xbfd70a3d, 0x70a3d6fc}, /* 0.93589=f(-0.36000)*/
+{11, 0,123,__LINE__, 0x3fee0f57, 0x5bdd1780, 0xbfd66666, 0x66666658}, /* 0.93937=f(-0.35000)*/
+{11, 0,123,__LINE__, 0x3fee2b0b, 0xd3ef6994, 0xbfd5c28f, 0x5c28f5b4}, /* 0.94275=f(-0.34000)*/
+{11, 0,123,__LINE__, 0x3fee45fa, 0x9bb5c431, 0xbfd51eb8, 0x51eb8510}, /* 0.94604=f(-0.33000)*/
+{11, 0,123,__LINE__, 0x3fee6022, 0xf37b1fb0, 0xbfd47ae1, 0x47ae146c}, /* 0.94923=f(-0.32000)*/
+{11, 0,123,__LINE__, 0x3fee7984, 0x412e563e, 0xbfd3d70a, 0x3d70a3c8}, /* 0.95233=f(-0.31000)*/
+{11, 0,123,__LINE__, 0x3fee921d, 0xd80bcbfe, 0xbfd33333, 0x33333324}, /* 0.95533=f(-0.30000)*/
+{11, 0,123,__LINE__, 0x3feea9ef, 0x0eec6bf8, 0xbfd28f5c, 0x28f5c280}, /* 0.95824=f(-0.29000)*/
+{11, 0,123,__LINE__, 0x3feec0f7, 0x64d0c8a7, 0xbfd1eb85, 0x1eb851dc}, /* 0.96105=f(-0.28000)*/
+{11, 0,123,__LINE__, 0x3feed736, 0x105c946a, 0xbfd147ae, 0x147ae138}, /* 0.96377=f(-0.27000)*/
+{11, 0,123,__LINE__, 0x3feeecaa, 0x9e6b8712, 0xbfd0a3d7, 0x0a3d7094}, /* 0.96638=f(-0.26000)*/
+{11, 0,123,__LINE__, 0x3fef0154, 0xa7c99bcd, 0xbfcfffff, 0xffffffe0}, /* 0.96891=f(-0.25000)*/
+{11, 0,123,__LINE__, 0x3fef1533, 0x5ff4d15a, 0xbfceb851, 0xeb851e98}, /* 0.97133=f(-0.24000)*/
+{11, 0,123,__LINE__, 0x3fef2846, 0x751b2ba3, 0xbfcd70a3, 0xd70a3d50}, /* 0.97366=f(-0.23000)*/
+{11, 0,123,__LINE__, 0x3fef3a8d, 0x471bfaae, 0xbfcc28f5, 0xc28f5c08}, /* 0.97589=f(-0.22000)*/
+{11, 0,123,__LINE__, 0x3fef4c07, 0x7ea42482, 0xbfcae147, 0xae147ac0}, /* 0.97803=f(-0.21000)*/
+{11, 0,123,__LINE__, 0x3fef5cb4, 0x9e642274, 0xbfc99999, 0x99999978}, /* 0.98006=f(-0.20000)*/
+{11, 0,123,__LINE__, 0x3fef6c94, 0x28a00592, 0xbfc851eb, 0x851eb830}, /* 0.98200=f(-0.19000)*/
+{11, 0,123,__LINE__, 0x3fef7ba5, 0xcf541e77, 0xbfc70a3d, 0x70a3d6e8}, /* 0.98384=f(-0.18000)*/
+{11, 0,123,__LINE__, 0x3fef89e9, 0x075aa14b, 0xbfc5c28f, 0x5c28f5a0}, /* 0.98558=f(-0.17000)*/
+{11, 0,123,__LINE__, 0x3fef975d, 0xa8944422, 0xbfc47ae1, 0x47ae1458}, /* 0.98722=f(-0.16000)*/
+{11, 0,123,__LINE__, 0x3fefa403, 0x3679104c, 0xbfc33333, 0x33333310}, /* 0.98877=f(-0.15000)*/
+{11, 0,123,__LINE__, 0x3fefafd9, 0x76dcdaa4, 0xbfc1eb85, 0x1eb851c8}, /* 0.99021=f(-0.14000)*/
+{11, 0,123,__LINE__, 0x3fefbadf, 0xf5d3a734, 0xbfc0a3d7, 0x0a3d7080}, /* 0.99156=f(-0.13000)*/
+{11, 0,123,__LINE__, 0x3fefc516, 0xa2febdda, 0xbfbeb851, 0xeb851e71}, /* 0.99280=f(-0.12000)*/
+{11, 0,123,__LINE__, 0x3fefce7d, 0x050a2a0c, 0xbfbc28f5, 0xc28f5be2}, /* 0.99395=f(-0.11000)*/
+{11, 0,123,__LINE__, 0x3fefd713, 0x01320271, 0xbfb99999, 0x99999953}, /* 0.99500=f(-0.00100)*/
+{11, 0,123,__LINE__, 0x3fefded8, 0x3b60e680, 0xbfb70a3d, 0x70a3d6c4}, /* 0.99595=f(-0.09000)*/
+{11, 0,123,__LINE__, 0x3fefe5cc, 0xbd6e6412, 0xbfb47ae1, 0x47ae1435}, /* 0.99680=f(-0.08000)*/
+{11, 0,123,__LINE__, 0x3fefebf0, 0x177e05a8, 0xbfb1eb85, 0x1eb851a6}, /* 0.99755=f(-0.07000)*/
+{11, 0,123,__LINE__, 0x3feff142, 0x46f7d8d4, 0xbfaeb851, 0xeb851e2d}, /* 0.99820=f(-0.06000)*/
+{11, 0,123,__LINE__, 0x3feff5c3, 0x17b28064, 0xbfa99999, 0x9999990e}, /* 0.99875=f(-0.05000)*/
+{11, 0,123,__LINE__, 0x3feff972, 0x9044e89d, 0xbfa47ae1, 0x47ae13ef}, /* 0.99920=f(-0.04000)*/
+{11, 0,123,__LINE__, 0x3feffc50, 0x6e785a45, 0xbf9eb851, 0xeb851da0}, /* 0.99955=f(-0.03000)*/
+{11, 0,123,__LINE__, 0x3feffe5c, 0x8f5db59d, 0xbf947ae1, 0x47ae1362}, /* 0.99979=f(-0.02000)*/
+{11, 0,123,__LINE__, 0x3fefff97, 0x1ec3ad85, 0xbf847ae1, 0x47ae1249}, /* 0.99994=f(-0.00010)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x01bcb4a0, 0x3cd19000, 0x00000000}, /* 1.00000=f(9.74915e-16)*/
+{11, 0,123,__LINE__, 0x3fefff97, 0x1ec3ad85, 0x3f847ae1, 0x47ae16ad}, /* 0.99994=f(0.01000)*/
+{11, 0,123,__LINE__, 0x3feffe5c, 0x8f5db59d, 0x3f947ae1, 0x47ae1594}, /* 0.99979=f(0.02000)*/
+{11, 0,123,__LINE__, 0x3feffc50, 0x6e785a45, 0x3f9eb851, 0xeb851fd2}, /* 0.99955=f(0.03000)*/
+{11, 0,123,__LINE__, 0x3feff972, 0x9044e89d, 0x3fa47ae1, 0x47ae1508}, /* 0.99920=f(0.04000)*/
+{11, 0,123,__LINE__, 0x3feff5c3, 0x17b28064, 0x3fa99999, 0x99999a27}, /* 0.99875=f(0.05000)*/
+{11, 0,123,__LINE__, 0x3feff142, 0x46f7d8d4, 0x3faeb851, 0xeb851f46}, /* 0.99820=f(0.06000)*/
+{11, 0,123,__LINE__, 0x3fefebf0, 0x177e05a8, 0x3fb1eb85, 0x1eb85232}, /* 0.99755=f(0.07000)*/
+{11, 0,123,__LINE__, 0x3fefe5cc, 0xbd6e6412, 0x3fb47ae1, 0x47ae14c1}, /* 0.99680=f(0.08000)*/
+{11, 0,123,__LINE__, 0x3fefded8, 0x3b60e680, 0x3fb70a3d, 0x70a3d750}, /* 0.99595=f(0.09000)*/
+{11, 0,123,__LINE__, 0x3fefd713, 0x01320271, 0x3fb99999, 0x999999df}, /* 0.99500=f(0.10000)*/
+{11, 0,123,__LINE__, 0x3fefce7d, 0x050a2a0c, 0x3fbc28f5, 0xc28f5c6e}, /* 0.99395=f(0.11000)*/
+{11, 0,123,__LINE__, 0x3fefc516, 0xa2febdda, 0x3fbeb851, 0xeb851efd}, /* 0.99280=f(0.12000)*/
+{11, 0,123,__LINE__, 0x3fefbadf, 0xf5d3a734, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.99156=f(0.13000)*/
+{11, 0,123,__LINE__, 0x3fefafd9, 0x76dcdaa4, 0x3fc1eb85, 0x1eb8520e}, /* 0.99021=f(0.14000)*/
+{11, 0,123,__LINE__, 0x3fefa403, 0x3679104c, 0x3fc33333, 0x33333356}, /* 0.98877=f(0.15000)*/
+{11, 0,123,__LINE__, 0x3fef975d, 0xa8944422, 0x3fc47ae1, 0x47ae149e}, /* 0.98722=f(0.16000)*/
+{11, 0,123,__LINE__, 0x3fef89e9, 0x075aa14b, 0x3fc5c28f, 0x5c28f5e6}, /* 0.98558=f(0.17000)*/
+{11, 0,123,__LINE__, 0x3fef7ba5, 0xcf541e77, 0x3fc70a3d, 0x70a3d72e}, /* 0.98384=f(0.18000)*/
+{11, 0,123,__LINE__, 0x3fef6c94, 0x28a00592, 0x3fc851eb, 0x851eb876}, /* 0.98200=f(0.19000)*/
+{11, 0,123,__LINE__, 0x3fef5cb4, 0x9e642274, 0x3fc99999, 0x999999be}, /* 0.98006=f(0.20000)*/
+{11, 0,123,__LINE__, 0x3fef4c07, 0x7ea42482, 0x3fcae147, 0xae147b06}, /* 0.97803=f(0.21000)*/
+{11, 0,123,__LINE__, 0x3fef3a8d, 0x471bfaae, 0x3fcc28f5, 0xc28f5c4e}, /* 0.97589=f(0.22000)*/
+{11, 0,123,__LINE__, 0x3fef2846, 0x751b2ba3, 0x3fcd70a3, 0xd70a3d96}, /* 0.97366=f(0.23000)*/
+{11, 0,123,__LINE__, 0x3fef1533, 0x5ff4d15a, 0x3fceb851, 0xeb851ede}, /* 0.97133=f(0.24000)*/
+{11, 0,123,__LINE__, 0x3fef0154, 0xa7c99bcd, 0x3fd00000, 0x00000013}, /* 0.96891=f(0.25000)*/
+{11, 0,123,__LINE__, 0x3feeecaa, 0x9e6b8712, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.96638=f(0.26000)*/
+{11, 0,123,__LINE__, 0x3feed736, 0x105c946a, 0x3fd147ae, 0x147ae15b}, /* 0.96377=f(0.27000)*/
+{11, 0,123,__LINE__, 0x3feec0f7, 0x64d0c8a7, 0x3fd1eb85, 0x1eb851ff}, /* 0.96105=f(0.28000)*/
+{11, 0,123,__LINE__, 0x3feea9ef, 0x0eec6bf8, 0x3fd28f5c, 0x28f5c2a3}, /* 0.95824=f(0.29000)*/
+{11, 0,123,__LINE__, 0x3fee921d, 0xd80bcbfe, 0x3fd33333, 0x33333347}, /* 0.95533=f(0.30000)*/
+{11, 0,123,__LINE__, 0x3fee7984, 0x412e563e, 0x3fd3d70a, 0x3d70a3eb}, /* 0.95233=f(0.31000)*/
+{11, 0,123,__LINE__, 0x3fee6022, 0xf37b1fb0, 0x3fd47ae1, 0x47ae148f}, /* 0.94923=f(0.32000)*/
+{11, 0,123,__LINE__, 0x3fee45fa, 0x9bb5c431, 0x3fd51eb8, 0x51eb8533}, /* 0.94604=f(0.33000)*/
+{11, 0,123,__LINE__, 0x3fee2b0b, 0xd3ef6994, 0x3fd5c28f, 0x5c28f5d7}, /* 0.94275=f(0.34000)*/
+{11, 0,123,__LINE__, 0x3fee0f57, 0x5bdd1780, 0x3fd66666, 0x6666667b}, /* 0.93937=f(0.35000)*/
+{11, 0,123,__LINE__, 0x3fedf2dd, 0xe31ff682, 0x3fd70a3d, 0x70a3d71f}, /* 0.93589=f(0.36000)*/
+{11, 0,123,__LINE__, 0x3fedd5a0, 0x25bc63b0, 0x3fd7ae14, 0x7ae147c3}, /* 0.93232=f(0.37000)*/
+{11, 0,123,__LINE__, 0x3fedb79e, 0xe5f2ca89, 0x3fd851eb, 0x851eb867}, /* 0.92866=f(0.38000)*/
+{11, 0,123,__LINE__, 0x3fed98da, 0xecb82098, 0x3fd8f5c2, 0x8f5c290b}, /* 0.92490=f(0.39000)*/
+{11, 0,123,__LINE__, 0x3fed7954, 0xe7d86d3a, 0x3fd99999, 0x999999af}, /* 0.92106=f(0.40000)*/
+{11, 0,123,__LINE__, 0x3fed590d, 0xc234348c, 0x3fda3d70, 0xa3d70a53}, /* 0.91712=f(0.41000)*/
+{11, 0,123,__LINE__, 0x3fed3806, 0x4e62a4e6, 0x3fdae147, 0xae147af7}, /* 0.91308=f(0.42000)*/
+{11, 0,123,__LINE__, 0x3fed163f, 0x505a028f, 0x3fdb851e, 0xb851eb9b}, /* 0.90896=f(0.43000)*/
+{11, 0,123,__LINE__, 0x3fecf3b9, 0xbfc893c5, 0x3fdc28f5, 0xc28f5c3f}, /* 0.90475=f(0.44000)*/
+{11, 0,123,__LINE__, 0x3fecd076, 0x72620196, 0x3fdccccc, 0xcccccce3}, /* 0.90044=f(0.45000)*/
+{11, 0,123,__LINE__, 0x3fecac76, 0x41ccb4dc, 0x3fdd70a3, 0xd70a3d87}, /* 0.89605=f(0.46000)*/
+{11, 0,123,__LINE__, 0x3fec87ba, 0x3b519438, 0x3fde147a, 0xe147ae2b}, /* 0.89156=f(0.47000)*/
+{11, 0,123,__LINE__, 0x3fec6243, 0x2f4507c3, 0x3fdeb851, 0xeb851ecf}, /* 0.88699=f(0.48000)*/
+{11, 0,123,__LINE__, 0x3fec3c12, 0x1dce7b20, 0x3fdf5c28, 0xf5c28f73}, /* 0.88233=f(0.49000)*/
+{11, 0,123,__LINE__, 0x3fec1528, 0x06962121, 0x3fe00000, 0x0000000b}, /* 0.87758=f(0.50000)*/
+{11, 0,123,__LINE__, 0x3febed85, 0xe8eda20c, 0x3fe051eb, 0x851eb85d}, /* 0.87274=f(0.51000)*/
+{11, 0,123,__LINE__, 0x3febc52c, 0xc3de6bbe, 0x3fe0a3d7, 0x0a3d70af}, /* 0.86781=f(0.52000)*/
+{11, 0,123,__LINE__, 0x3feb9c1d, 0x9a9ae192, 0x3fe0f5c2, 0x8f5c2901}, /* 0.86280=f(0.53000)*/
+{11, 0,123,__LINE__, 0x3feb7259, 0x729b252c, 0x3fe147ae, 0x147ae153}, /* 0.85770=f(0.54000)*/
+{11, 0,123,__LINE__, 0x3feb47e1, 0x83a84b14, 0x3fe19999, 0x999999a5}, /* 0.85252=f(0.55000)*/
+{11, 0,123,__LINE__, 0x3feb1cb6, 0xc26da5b0, 0x3fe1eb85, 0x1eb851f7}, /* 0.84725=f(0.56000)*/
+{11, 0,123,__LINE__, 0x3feaf0da, 0x5249d088, 0x3fe23d70, 0xa3d70a49}, /* 0.84190=f(0.57000)*/
+{11, 0,123,__LINE__, 0x3feac44d, 0x52335f02, 0x3fe28f5c, 0x28f5c29b}, /* 0.83646=f(0.58000)*/
+{11, 0,123,__LINE__, 0x3fea9710, 0xecd09a47, 0x3fe2e147, 0xae147aed}, /* 0.83094=f(0.59000)*/
+{11, 0,123,__LINE__, 0x3fea6926, 0x35185fe0, 0x3fe33333, 0x3333333f}, /* 0.82533=f(0.60000)*/
+{11, 0,123,__LINE__, 0x3fea3a8e, 0x744d73ec, 0x3fe3851e, 0xb851eb91}, /* 0.81964=f(0.61000)*/
+{11, 0,123,__LINE__, 0x3fea0b4a, 0xd4b55b88, 0x3fe3d70a, 0x3d70a3e3}, /* 0.81387=f(0.62000)*/
+{11, 0,123,__LINE__, 0x3fe9db5c, 0x80783b01, 0x3fe428f5, 0xc28f5c35}, /* 0.80802=f(0.63000)*/
+{11, 0,123,__LINE__, 0x3fe9aac4, 0xbc3dfc32, 0x3fe47ae1, 0x47ae1487}, /* 0.80209=f(0.64000)*/
+{11, 0,123,__LINE__, 0x3fe97984, 0xc1262700, 0x3fe4cccc, 0xccccccd9}, /* 0.79608=f(0.65000)*/
+{11, 0,123,__LINE__, 0x3fe9479d, 0xbef879b6, 0x3fe51eb8, 0x51eb852b}, /* 0.78999=f(0.66000)*/
+{11, 0,123,__LINE__, 0x3fe91511, 0x263efc70, 0x3fe570a3, 0xd70a3d7d}, /* 0.78382=f(0.67000)*/
+{11, 0,123,__LINE__, 0x3fe8e1e0, 0x2df71e7a, 0x3fe5c28f, 0x5c28f5cf}, /* 0.77757=f(0.68000)*/
+{11, 0,123,__LINE__, 0x3fe8ae0c, 0x1de43e3a, 0x3fe6147a, 0xe147ae21}, /* 0.77124=f(0.69000)*/
+{11, 0,123,__LINE__, 0x3fe87996, 0x5a02a255, 0x3fe66666, 0x66666673}, /* 0.76484=f(0.70000)*/
+{11, 0,123,__LINE__, 0x3fe84480, 0x26985537, 0x3fe6b851, 0xeb851ec5}, /* 0.75836=f(0.71000)*/
+{11, 0,123,__LINE__, 0x3fe80eca, 0xd8cd0730, 0x3fe70a3d, 0x70a3d717}, /* 0.75180=f(0.72000)*/
+{11, 0,123,__LINE__, 0x3fe7d877, 0xf4922fc2, 0x3fe75c28, 0xf5c28f69}, /* 0.74517=f(0.73000)*/
+{11, 0,123,__LINE__, 0x3fe7a188, 0xcebd2ad0, 0x3fe7ae14, 0x7ae147bb}, /* 0.73846=f(0.74000)*/
+{11, 0,123,__LINE__, 0x3fe769fe, 0xc759d4a6, 0x3fe80000, 0x0000000d}, /* 0.73168=f(0.75000)*/
+{11, 0,123,__LINE__, 0x3fe731db, 0x4bdce1fd, 0x3fe851eb, 0x851eb85f}, /* 0.72483=f(0.76000)*/
+{11, 0,123,__LINE__, 0x3fe6f91f, 0xd0223e86, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.71791=f(0.77000)*/
+{11, 0,123,__LINE__, 0x3fe6bfcd, 0xcb101331, 0x3fe8f5c2, 0x8f5c2903}, /* 0.71091=f(0.78000)*/
+{11, 0,123,__LINE__, 0x3fe685e6, 0x937f0fd2, 0x3fe947ae, 0x147ae155}, /* 0.70384=f(0.79000)*/
+{11, 0,123,__LINE__, 0x3fe64b6b, 0xda1a09d4, 0x3fe99999, 0x999999a7}, /* 0.69670=f(0.80000)*/
+{11, 0,123,__LINE__, 0x3fe6105f, 0x029c4897, 0x3fe9eb85, 0x1eb851f9}, /* 0.68949=f(0.81000)*/
+{11, 0,123,__LINE__, 0x3fe5d4c1, 0x93909c56, 0x3fea3d70, 0xa3d70a4b}, /* 0.68222=f(0.82000)*/
+{11, 0,123,__LINE__, 0x3fe59895, 0x1075f62e, 0x3fea8f5c, 0x28f5c29d}, /* 0.67487=f(0.83000)*/
+{11, 0,123,__LINE__, 0x3fe55bdb, 0x08c37bdb, 0x3feae147, 0xae147aef}, /* 0.66746=f(0.84000)*/
+{11, 0,123,__LINE__, 0x3fe51e94, 0xf15bcc5f, 0x3feb3333, 0x33333341}, /* 0.65998=f(0.85000)*/
+{11, 0,123,__LINE__, 0x3fe4e0c4, 0x85c6d4e2, 0x3feb851e, 0xb851eb93}, /* 0.65243=f(0.86000)*/
+{11, 0,123,__LINE__, 0x3fe4a26b, 0x46dce8de, 0x3febd70a, 0x3d70a3e5}, /* 0.64482=f(0.87000)*/
+{11, 0,123,__LINE__, 0x3fe4638a, 0xccccaec9, 0x3fec28f5, 0xc28f5c37}, /* 0.63715=f(0.88000)*/
+{11, 0,123,__LINE__, 0x3fe42424, 0xb55f3745, 0x3fec7ae1, 0x47ae1489}, /* 0.62941=f(0.89000)*/
+{11, 0,123,__LINE__, 0x3fe3e43a, 0xa115e4b3, 0x3feccccc, 0xccccccdb}, /* 0.62160=f(0.90000)*/
+{11, 0,123,__LINE__, 0x3fe3a3ce, 0x1571b662, 0x3fed1eb8, 0x51eb852d}, /* 0.61374=f(0.91000)*/
+{11, 0,123,__LINE__, 0x3fe362e0, 0xee9020f0, 0x3fed70a3, 0xd70a3d7f}, /* 0.60582=f(0.92000)*/
+{11, 0,123,__LINE__, 0x3fe32174, 0xb7b19b41, 0x3fedc28f, 0x5c28f5d1}, /* 0.59783=f(0.93000)*/
+{11, 0,123,__LINE__, 0x3fe2df8b, 0x24080e04, 0x3fee147a, 0xe147ae23}, /* 0.58978=f(0.94000)*/
+{11, 0,123,__LINE__, 0x3fe29d25, 0xdf140a48, 0x3fee6666, 0x66666675}, /* 0.58168=f(0.95000)*/
+{11, 0,123,__LINE__, 0x3fe25a46, 0x9fc480b0, 0x3feeb851, 0xeb851ec7}, /* 0.57352=f(0.96000)*/
+{11, 0,123,__LINE__, 0x3fe216ee, 0xfda37c59, 0x3fef0a3d, 0x70a3d719}, /* 0.56529=f(0.97000)*/
+{11, 0,123,__LINE__, 0x3fe1d320, 0xeab1b237, 0x3fef5c28, 0xf5c28f6b}, /* 0.55702=f(0.98000)*/
+{11, 0,123,__LINE__, 0x3fe18ede, 0x06194bac, 0x3fefae14, 0x7ae147bd}, /* 0.54868=f(0.99000)*/
+{11, 0,123,__LINE__, 0x3fe14a28, 0x109b247f, 0x3ff00000, 0x00000007}, /* 0.54030=f(1.00000)*/
+{11, 0,123,__LINE__, 0x3fe10500, 0xcb0bc271, 0x3ff028f5, 0xc28f5c30}, /* 0.53186=f(1.01000)*/
+{11, 0,123,__LINE__, 0x3fe0bf69, 0xfc089254, 0x3ff051eb, 0x851eb859}, /* 0.52336=f(1.02000)*/
+{11, 0,123,__LINE__, 0x3fe07965, 0x6b578e35, 0x3ff07ae1, 0x47ae1482}, /* 0.51481=f(1.03000)*/
+{11, 0,123,__LINE__, 0x3fe032f4, 0xe5302499, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.50622=f(1.04000)*/
+{10, 0,123,__LINE__, 0x3fdfd834, 0x69a59055, 0x3ff0cccc, 0xccccccd4}, /* 0.49757=f(1.05000)*/
+{10, 0,123,__LINE__, 0x3fdf49ae, 0x55edce4d, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.48887=f(1.06000)*/
+{10, 0,123,__LINE__, 0x3fdeba5a, 0xc8481ce3, 0x3ff11eb8, 0x51eb8526}, /* 0.48012=f(1.07000)*/
+{10, 0,123,__LINE__, 0x3fde2a3e, 0x479b2dea, 0x3ff147ae, 0x147ae14f}, /* 0.47132=f(1.08000)*/
+{10, 0,123,__LINE__, 0x3fdd995c, 0x19b2b427, 0x3ff170a3, 0xd70a3d78}, /* 0.46248=f(1.09000)*/
+{10, 0,123,__LINE__, 0x3fdd07b7, 0xf0ca58aa, 0x3ff19999, 0x999999a1}, /* 0.45359=f(1.10000)*/
+{10, 0,123,__LINE__, 0x3fdc7555, 0x85478abd, 0x3ff1c28f, 0x5c28f5ca}, /* 0.44466=f(1.11000)*/
+{10, 0,123,__LINE__, 0x3fdbe238, 0x9aef2562, 0x3ff1eb85, 0x1eb851f3}, /* 0.43568=f(1.12000)*/
+{10, 0,123,__LINE__, 0x3fdb4e64, 0xf3c101c3, 0x3ff2147a, 0xe147ae1c}, /* 0.42665=f(1.13000)*/
+{10, 0,123,__LINE__, 0x3fdab9de, 0x5ae860cf, 0x3ff23d70, 0xa3d70a45}, /* 0.41759=f(1.14000)*/
+{10, 0,123,__LINE__, 0x3fda24a8, 0x99317fa1, 0x3ff26666, 0x6666666e}, /* 0.40848=f(1.15000)*/
+{10, 0,123,__LINE__, 0x3fd98ec7, 0x82e20910, 0x3ff28f5c, 0x28f5c297}, /* 0.39933=f(1.16000)*/
+{10, 0,123,__LINE__, 0x3fd8f83e, 0xeece9b82, 0x3ff2b851, 0xeb851ec0}, /* 0.39015=f(1.17000)*/
+{10, 0,123,__LINE__, 0x3fd86112, 0xb8048f74, 0x3ff2e147, 0xae147ae9}, /* 0.38092=f(1.18000)*/
+{10, 0,123,__LINE__, 0x3fd7c946, 0x44916898, 0x3ff30a3d, 0x70a3d712}, /* 0.37165=f(1.19000)*/
+{11, 0,123,__LINE__, 0x3fefffff, 0xff660711, 0xc01921fb, 0x54442d18}, /* 1.00000=f(-6.28318)*/
+{ 0, 0,123,__LINE__, 0xbfefffff, 0xf488d2e8, 0xc00921fb, 0x54442d18}, /* -1.00000=f(-3.14159)*/
+{ 0, 0,123,__LINE__, 0xbe6777a5, 0xbffffffe, 0xbff921fb, 0x54442d18}, /* -4.37114e-08=f(-1.57079)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x01bcb4a2, 0x00000000, 0x00000000}, /* 1.00000=f(0.00000)*/
+{ 0, 0,123,__LINE__, 0xbe6777a5, 0xcffffffe, 0x3ff921fb, 0x54442d18}, /* -4.37114e-08=f(1.57079)*/
+{ 0, 0,123,__LINE__, 0xbfefffff, 0xfeba37c9, 0x400921fb, 0x54442d18}, /* -1.00000=f(3.14159)*/
+{ 2, 0,123,__LINE__, 0x00000000, 0x00000000, 0x4012d97c, 0x7f3321d2}, /* 0.00000=f(4.71238)*/
+{10, 0,123,__LINE__, 0x3fc3be77, 0xd9039f8f, 0xc03e0000, 0x00000000}, /* 0.15425=f(-30.0000)*/
+{11, 0,123,__LINE__, 0xbfeffd4d, 0x66996f21, 0xc03c4ccc, 0xcccccccd}, /* -0.99967=f(-28.3000)*/
+{ 9, 0,123,__LINE__, 0x3fba755f, 0x155c7118, 0xc03a9999, 0x9999999a}, /* 0.10335=f(-26.6000)*/
+{ 0, 0,123,__LINE__, 0x3fef231f, 0x6f3f3ca0, 0xc038e666, 0x66666667}, /* 0.97303=f(-24.9000)*/
+{ 0, 0,123,__LINE__, 0xbfd6a97a, 0x962ef6e4, 0xc0373333, 0x33333334}, /* -0.35409=f(-23.2000)*/
+{ 0, 0,123,__LINE__, 0xbfec37a2, 0x1e9b4f00, 0xc0358000, 0x00000001}, /* -0.88179=f(-21.5000)*/
+{ 0, 0,123,__LINE__, 0x3fe29a33, 0x30ebb046, 0xc033cccc, 0xccccccce}, /* 0.58132=f(-19.8000)*/
+{11, 0,123,__LINE__, 0x3fe76c78, 0x93585ae8, 0xc0321999, 0x9999999b}, /* 0.73199=f(-18.1000)*/
+{11, 0,123,__LINE__, 0xbfe8a36a, 0x745f3a49, 0xc0306666, 0x66666668}, /* -0.76994=f(-16.4000)*/
+{ 0, 0,123,__LINE__, 0xbfe1131f, 0x28a6a080, 0xc02d6666, 0x6666666a}, /* -0.53358=f(-14.7000)*/
+{11, 0,123,__LINE__, 0x3fed09cd, 0xb9999ea0, 0xc02a0000, 0x00000004}, /* 0.90744=f(-13.0000)*/
+{10, 0,123,__LINE__, 0x3fd32f08, 0x6966ae1f, 0xc0269999, 0x9999999e}, /* 0.29974=f(-11.3000)*/
+{11, 0,123,__LINE__, 0xbfef828f, 0xec560908, 0xc0233333, 0x33333338}, /* -0.98468=f(-9.60000)*/
+{ 9, 0,123,__LINE__, 0xbfa78d8f, 0x1258fe1a, 0xc01f9999, 0x999999a3}, /* -0.04600=f(-7.90000)*/
+{ 0, 0,123,__LINE__, 0x3fefe3ac, 0x2775c725, 0xc018cccc, 0xccccccd6}, /* 0.99654=f(-6.20000)*/
+{ 0, 0,123,__LINE__, 0xbfcafb5a, 0xb5b1666e, 0xc0120000, 0x00000009}, /* -0.21079=f(-4.50000)*/
+{ 0, 0,123,__LINE__, 0xbfee26af, 0x70735450, 0xc0066666, 0x66666678}, /* -0.94222=f(-2.80000)*/
+{10, 0,123,__LINE__, 0x3fdd07b7, 0xf0ca58aa, 0xbff19999, 0x999999bd}, /* 0.45359=f(-1.10000)*/
+{11, 0,123,__LINE__, 0x3fea6926, 0x35185fe0, 0x3fe33333, 0x333332ec}, /* 0.82533=f(0.60000)*/
+{ 0, 0,123,__LINE__, 0xbfe55222, 0x04e9b384, 0x40026666, 0x66666654}, /* -0.66627=f(2.30000)*/
+{11, 0,123,__LINE__, 0xbfe4eaa6, 0x04ad05cd, 0x400fffff, 0xffffffee}, /* -0.65364=f(4.00000)*/
+{ 0, 0,123,__LINE__, 0x3feab5f7, 0x57340e80, 0x4016cccc, 0xccccccc4}, /* 0.83471=f(5.70000)*/
+{ 0, 0,123,__LINE__, 0x3fdc1128, 0x7ee705d3, 0x401d9999, 0x99999991}, /* 0.43854=f(7.40000)*/
+{11, 0,123,__LINE__, 0xbfee53bc, 0x2ba72cdc, 0x40223333, 0x3333332f}, /* -0.94772=f(9.10000)*/
+{10, 0,123,__LINE__, 0xbfc8dfcf, 0xdc490833, 0x40259999, 0x99999995}, /* -0.19433=f(10.8000)*/
+{11, 0,123,__LINE__, 0x3fefedf6, 0x9b59a000, 0x4028ffff, 0xfffffffb}, /* 0.99779=f(12.5000)*/
+{ 0, 0,123,__LINE__, 0xbfb0130f, 0xfe49e1a7, 0x402c6666, 0x66666661}, /* -0.06279=f(14.2000)*/
+{ 0, 0,123,__LINE__, 0xbfef6969, 0x2efc6a80, 0x402fcccc, 0xccccccc7}, /* -0.98161=f(15.9000)*/
+{10, 0,123,__LINE__, 0x3fd43527, 0x45526310, 0x40319999, 0x99999997}, /* 0.31574=f(17.6000)*/
+{ 0, 0,123,__LINE__, 0x3feccee1, 0xc1484f2d, 0x40334ccc, 0xccccccca}, /* 0.90025=f(19.3000)*/
+{ 0, 0,123,__LINE__, 0xbfe186ff, 0xb77ac7fd, 0x4034ffff, 0xfffffffd}, /* -0.54772=f(21.0000)*/
+{11, 0,123,__LINE__, 0xbfe84a9f, 0xf8fc162d, 0x4036b333, 0x33333330}, /* -0.75910=f(22.7000)*/
+{11, 0,123,__LINE__, 0x3fe7c977, 0xd250fb00, 0x40386666, 0x66666663}, /* 0.74334=f(24.4000)*/
+{11, 0,123,__LINE__, 0x3fe22970, 0x1c349058, 0x403a1999, 0x99999996}, /* 0.56755=f(26.1000)*/
+{11, 0,123,__LINE__, 0xbfec7793, 0xaf30f05a, 0x403bcccc, 0xccccccc9}, /* -0.88959=f(27.8000)*/
+{ 0, 0,123,__LINE__, 0xbfd5a705, 0xdb0448d3, 0x403d7fff, 0xfffffffc}, /* -0.33831=f(29.5000)*/
+0,};
+test_cosf(m) {run_vector_1(m,cosf_vec,(char *)(cosf),"cosf","ff"); }
diff --git a/newlib/libm/test/cosh_vec.c b/newlib/libm/test/cosh_vec.c
new file mode 100644
index 00000000000..c8d47e398fc
--- /dev/null
+++ b/newlib/libm/test/cosh_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type cosh_vec[] = {
+{63, 0,123,__LINE__, 0x3ffcf871, 0xf8dfa802, 0xbff33333, 0x33333333}, /* 1.81065=f(-1.20000)*/
+{58, 0,123,__LINE__, 0x3ffcbafc, 0xca475e1f, 0xbff30a3d, 0x70a3d70a}, /* 1.79565=f(-1.19000)*/
+{63, 0,123,__LINE__, 0x3ffc7e43, 0xe5bb3dd8, 0xbff2e147, 0xae147ae1}, /* 1.78082=f(-1.18000)*/
+{61, 0,123,__LINE__, 0x3ffc4245, 0xbd476b73, 0xbff2b851, 0xeb851eb8}, /* 1.76618=f(-1.17000)*/
+{64, 0,123,__LINE__, 0x3ffc0700, 0xc7bfd6ca, 0xbff28f5c, 0x28f5c28f}, /* 1.75171=f(-1.16000)*/
+{64, 0,123,__LINE__, 0x3ffbcc73, 0x80b62a84, 0xbff26666, 0x66666666}, /* 1.73741=f(-1.15000)*/
+{64, 0,123,__LINE__, 0x3ffb929c, 0x686fda70, 0xbff23d70, 0xa3d70a3d}, /* 1.72329=f(-1.14000)*/
+{64, 0,123,__LINE__, 0x3ffb597a, 0x03dc50b7, 0xbff2147a, 0xe147ae14}, /* 1.70934=f(-1.13000)*/
+{61, 0,123,__LINE__, 0x3ffb210a, 0xdc8b399b, 0xbff1eb85, 0x1eb851eb}, /* 1.69556=f(-1.12000)*/
+{63, 0,123,__LINE__, 0x3ffae94d, 0x80a2ed80, 0xbff1c28f, 0x5c28f5c2}, /* 1.68195=f(-1.11000)*/
+{59, 0,123,__LINE__, 0x3ffab240, 0x82d6f90f, 0xbff19999, 0x99999999}, /* 1.66851=f(-1.10000)*/
+{63, 0,123,__LINE__, 0x3ffa7be2, 0x7a5ec32e, 0xbff170a3, 0xd70a3d70}, /* 1.65524=f(-1.09000)*/
+{62, 0,123,__LINE__, 0x3ffa4632, 0x02ec508a, 0xbff147ae, 0x147ae147}, /* 1.64213=f(-1.08000)*/
+{62, 0,123,__LINE__, 0x3ffa112d, 0xbca32482, 0xbff11eb8, 0x51eb851e}, /* 1.62919=f(-1.07000)*/
+{63, 0,123,__LINE__, 0x3ff9dcd4, 0x4c0f3f1f, 0xbff0f5c2, 0x8f5c28f5}, /* 1.61641=f(-1.06000)*/
+{63, 0,123,__LINE__, 0x3ff9a924, 0x5a1c3817, 0xbff0cccc, 0xcccccccc}, /* 1.60379=f(-1.05000)*/
+{63, 0,123,__LINE__, 0x3ff9761c, 0x940c7647, 0xbff0a3d7, 0x0a3d70a3}, /* 1.59133=f(-1.04000)*/
+{62, 0,123,__LINE__, 0x3ff943bb, 0xab7083c1, 0xbff07ae1, 0x47ae147a}, /* 1.57903=f(-1.03000)*/
+{63, 0,123,__LINE__, 0x3ff91200, 0x561e7e0c, 0xbff051eb, 0x851eb851}, /* 1.56689=f(-1.02000)*/
+{64, 0,123,__LINE__, 0x3ff8e0e9, 0x4e29a24a, 0xbff028f5, 0xc28f5c28}, /* 1.55491=f(-1.01000)*/
+{59, 0,123,__LINE__, 0x3ff8b075, 0x51d9f54f, 0xbfefffff, 0xfffffffe}, /* 1.54308=f(-0.01000)*/
+{58, 0,123,__LINE__, 0x3ff880a3, 0x23a40720, 0xbfefae14, 0x7ae147ac}, /* 1.53140=f(-0.99000)*/
+{64, 0,123,__LINE__, 0x3ff85171, 0x8a20d1e6, 0xbfef5c28, 0xf5c28f5a}, /* 1.51988=f(-0.98000)*/
+{64, 0,123,__LINE__, 0x3ff822df, 0x5005b406, 0xbfef0a3d, 0x70a3d708}, /* 1.50851=f(-0.97000)*/
+{64, 0,123,__LINE__, 0x3ff7f4eb, 0x441c8516, 0xbfeeb851, 0xeb851eb6}, /* 1.49729=f(-0.96000)*/
+{64, 0,123,__LINE__, 0x3ff7c794, 0x393bc5a6, 0xbfee6666, 0x66666664}, /* 1.48622=f(-0.95000)*/
+{63, 0,123,__LINE__, 0x3ff79ad9, 0x063ee989, 0xbfee147a, 0xe147ae12}, /* 1.47530=f(-0.94000)*/
+{61, 0,123,__LINE__, 0x3ff76eb8, 0x85febc75, 0xbfedc28f, 0x5c28f5c0}, /* 1.46453=f(-0.93000)*/
+{63, 0,123,__LINE__, 0x3ff74331, 0x9749e0c5, 0xbfed70a3, 0xd70a3d6e}, /* 1.45390=f(-0.92000)*/
+{61, 0,123,__LINE__, 0x3ff71843, 0x1cdd683c, 0xbfed1eb8, 0x51eb851c}, /* 1.44342=f(-0.91000)*/
+{62, 0,123,__LINE__, 0x3ff6edeb, 0xfd5d867d, 0xbfeccccc, 0xccccccca}, /* 1.43308=f(-0.90000)*/
+{61, 0,123,__LINE__, 0x3ff6c42b, 0x234e5d23, 0xbfec7ae1, 0x47ae1478}, /* 1.42289=f(-0.89000)*/
+{63, 0,123,__LINE__, 0x3ff69aff, 0x7d0ce134, 0xbfec28f5, 0xc28f5c26}, /* 1.41284=f(-0.88000)*/
+{64, 0,123,__LINE__, 0x3ff67267, 0xfcc7d9d2, 0xbfebd70a, 0x3d70a3d4}, /* 1.40293=f(-0.87000)*/
+{60, 0,123,__LINE__, 0x3ff64a63, 0x9878f7e8, 0xbfeb851e, 0xb851eb82}, /* 1.39316=f(-0.86000)*/
+{63, 0,123,__LINE__, 0x3ff622f1, 0x49de06d1, 0xbfeb3333, 0x33333330}, /* 1.38353=f(-0.85000)*/
+{63, 0,123,__LINE__, 0x3ff5fc10, 0x0e72357b, 0xbfeae147, 0xae147ade}, /* 1.37403=f(-0.84000)*/
+{57, 0,123,__LINE__, 0x3ff5d5be, 0xe7677840, 0xbfea8f5c, 0x28f5c28c}, /* 1.36468=f(-0.83000)*/
+{64, 0,123,__LINE__, 0x3ff5affc, 0xd9a002ef, 0xbfea3d70, 0xa3d70a3a}, /* 1.35546=f(-0.82000)*/
+{64, 0,123,__LINE__, 0x3ff58ac8, 0xeda7db19, 0xbfe9eb85, 0x1eb851e8}, /* 1.34638=f(-0.81000)*/
+{64, 0,123,__LINE__, 0x3ff56622, 0x2fae8258, 0xbfe99999, 0x99999996}, /* 1.33743=f(-0.80000)*/
+{64, 0,123,__LINE__, 0x3ff54207, 0xaf80b86e, 0xbfe947ae, 0x147ae144}, /* 1.32862=f(-0.79000)*/
+{64, 0,123,__LINE__, 0x3ff51e78, 0x80825514, 0xbfe8f5c2, 0x8f5c28f2}, /* 1.31993=f(-0.78000)*/
+{63, 0,123,__LINE__, 0x3ff4fb73, 0xb9a8394f, 0xbfe8a3d7, 0x0a3d70a0}, /* 1.31139=f(-0.77000)*/
+{64, 0,123,__LINE__, 0x3ff4d8f8, 0x7572582a, 0xbfe851eb, 0x851eb84e}, /* 1.30297=f(-0.76000)*/
+{64, 0,123,__LINE__, 0x3ff4b705, 0xd1e5d6a5, 0xbfe7ffff, 0xfffffffc}, /* 1.29468=f(-0.75000)*/
+{63, 0,123,__LINE__, 0x3ff4959a, 0xf08742b7, 0xbfe7ae14, 0x7ae147aa}, /* 1.28652=f(-0.74000)*/
+{64, 0,123,__LINE__, 0x3ff474b6, 0xf654e136, 0xbfe75c28, 0xf5c28f58}, /* 1.27849=f(-0.73000)*/
+{64, 0,123,__LINE__, 0x3ff45459, 0x0bc11295, 0xbfe70a3d, 0x70a3d706}, /* 1.27059=f(-0.72000)*/
+{64, 0,123,__LINE__, 0x3ff43480, 0x5cacce30, 0xbfe6b851, 0xeb851eb4}, /* 1.26281=f(-0.71000)*/
+{64, 0,123,__LINE__, 0x3ff4152c, 0x1862342d, 0xbfe66666, 0x66666662}, /* 1.25516=f(-0.70000)*/
+{63, 0,123,__LINE__, 0x3ff3f65b, 0x718f359f, 0xbfe6147a, 0xe147ae10}, /* 1.24764=f(-0.69000)*/
+{64, 0,123,__LINE__, 0x3ff3d80d, 0x9e4052f4, 0xbfe5c28f, 0x5c28f5be}, /* 1.24024=f(-0.68000)*/
+{62, 0,123,__LINE__, 0x3ff3ba41, 0xd7db706d, 0xbfe570a3, 0xd70a3d6c}, /* 1.23297=f(-0.67000)*/
+{59, 0,123,__LINE__, 0x3ff39cf7, 0x5b1ac090, 0xbfe51eb8, 0x51eb851a}, /* 1.22582=f(-0.66000)*/
+{62, 0,123,__LINE__, 0x3ff3802d, 0x6807c462, 0xbfe4cccc, 0xccccccc8}, /* 1.21879=f(-0.65000)*/
+{64, 0,123,__LINE__, 0x3ff363e3, 0x41f6615e, 0xbfe47ae1, 0x47ae1476}, /* 1.21188=f(-0.64000)*/
+{63, 0,123,__LINE__, 0x3ff34818, 0x2f800cf6, 0xbfe428f5, 0xc28f5c24}, /* 1.20510=f(-0.63000)*/
+{64, 0,123,__LINE__, 0x3ff32ccb, 0x7a7f0d82, 0xbfe3d70a, 0x3d70a3d2}, /* 1.19843=f(-0.62000)*/
+{64, 0,123,__LINE__, 0x3ff311fc, 0x7009d086, 0xbfe3851e, 0xb851eb80}, /* 1.19189=f(-0.61000)*/
+{63, 0,123,__LINE__, 0x3ff2f7aa, 0x606e562e, 0xbfe33333, 0x3333332e}, /* 1.18546=f(-0.60000)*/
+{64, 0,123,__LINE__, 0x3ff2ddd4, 0x9f2db1db, 0xbfe2e147, 0xae147adc}, /* 1.17915=f(-0.59000)*/
+{62, 0,123,__LINE__, 0x3ff2c47a, 0x82f79fa1, 0xbfe28f5c, 0x28f5c28a}, /* 1.17296=f(-0.58000)*/
+{61, 0,123,__LINE__, 0x3ff2ab9b, 0x65a62eb3, 0xbfe23d70, 0xa3d70a38}, /* 1.16689=f(-0.57000)*/
+{64, 0,123,__LINE__, 0x3ff29336, 0xa439807c, 0xbfe1eb85, 0x1eb851e6}, /* 1.16094=f(-0.56000)*/
+{64, 0,123,__LINE__, 0x3ff27b4b, 0x9ed39c60, 0xbfe19999, 0x99999994}, /* 1.15510=f(-0.55000)*/
+{60, 0,123,__LINE__, 0x3ff263d9, 0xb8b45807, 0xbfe147ae, 0x147ae142}, /* 1.14937=f(-0.54000)*/
+{64, 0,123,__LINE__, 0x3ff24ce0, 0x58355416, 0xbfe0f5c2, 0x8f5c28f0}, /* 1.14376=f(-0.53000)*/
+{62, 0,123,__LINE__, 0x3ff2365e, 0xe6c60d31, 0xbfe0a3d7, 0x0a3d709e}, /* 1.13827=f(-0.52000)*/
+{63, 0,123,__LINE__, 0x3ff22054, 0xd0e80140, 0xbfe051eb, 0x851eb84c}, /* 1.13289=f(-0.51000)*/
+{63, 0,123,__LINE__, 0x3ff20ac1, 0x862ae8ce, 0xbfdfffff, 0xfffffff4}, /* 1.12762=f(-0.50000)*/
+{63, 0,123,__LINE__, 0x3ff1f5a4, 0x7929046e, 0xbfdf5c28, 0xf5c28f50}, /* 1.12247=f(-0.49000)*/
+{64, 0,123,__LINE__, 0x3ff1e0fd, 0x1f837e10, 0xbfdeb851, 0xeb851eac}, /* 1.11742=f(-0.48000)*/
+{64, 0,123,__LINE__, 0x3ff1ccca, 0xf1dede2c, 0xbfde147a, 0xe147ae08}, /* 1.11249=f(-0.47000)*/
+{64, 0,123,__LINE__, 0x3ff1b90d, 0x6bdf94ad, 0xbfdd70a3, 0xd70a3d64}, /* 1.10767=f(-0.46000)*/
+{64, 0,123,__LINE__, 0x3ff1a5c4, 0x0c269582, 0xbfdccccc, 0xccccccc0}, /* 1.10297=f(-0.45000)*/
+{64, 0,123,__LINE__, 0x3ff192ee, 0x544e08c8, 0xbfdc28f5, 0xc28f5c1c}, /* 1.09837=f(-0.44000)*/
+{64, 0,123,__LINE__, 0x3ff1808b, 0xc8e60e64, 0xbfdb851e, 0xb851eb78}, /* 1.09388=f(-0.43000)*/
+{64, 0,123,__LINE__, 0x3ff16e9b, 0xf1719512, 0xbfdae147, 0xae147ad4}, /* 1.08950=f(-0.42000)*/
+{64, 0,123,__LINE__, 0x3ff15d1e, 0x586344c1, 0xbfda3d70, 0xa3d70a30}, /* 1.08523=f(-0.41000)*/
+{64, 0,123,__LINE__, 0x3ff14c12, 0x8b1a7c2a, 0xbfd99999, 0x9999998c}, /* 1.08107=f(-0.40000)*/
+{63, 0,123,__LINE__, 0x3ff13b78, 0x19e0619a, 0xbfd8f5c2, 0x8f5c28e8}, /* 1.07701=f(-0.39000)*/
+{64, 0,123,__LINE__, 0x3ff12b4e, 0x97e506cd, 0xbfd851eb, 0x851eb844}, /* 1.07307=f(-0.38000)*/
+{64, 0,123,__LINE__, 0x3ff11b95, 0x9b3c9fcd, 0xbfd7ae14, 0x7ae147a0}, /* 1.06923=f(-0.37000)*/
+{64, 0,123,__LINE__, 0x3ff10c4c, 0xbcdcccca, 0xbfd70a3d, 0x70a3d6fc}, /* 1.06550=f(-0.36000)*/
+{64, 0,123,__LINE__, 0x3ff0fd73, 0x9899f6d1, 0xbfd66666, 0x66666658}, /* 1.06187=f(-0.35000)*/
+{64, 0,123,__LINE__, 0x3ff0ef09, 0xcd24bf4b, 0xbfd5c28f, 0x5c28f5b4}, /* 1.05835=f(-0.34000)*/
+{64, 0,123,__LINE__, 0x3ff0e10e, 0xfc078243, 0xbfd51eb8, 0x51eb8510}, /* 1.05494=f(-0.33000)*/
+{64, 0,123,__LINE__, 0x3ff0d382, 0xc9a3eb5c, 0xbfd47ae1, 0x47ae146c}, /* 1.05163=f(-0.32000)*/
+{64, 0,123,__LINE__, 0x3ff0c664, 0xdd309d5c, 0xbfd3d70a, 0x3d70a3c8}, /* 1.04843=f(-0.31000)*/
+{64, 0,123,__LINE__, 0x3ff0b9b4, 0xe0b6ec4a, 0xbfd33333, 0x33333324}, /* 1.04533=f(-0.30000)*/
+{64, 0,123,__LINE__, 0x3ff0ad72, 0x8110aa19, 0xbfd28f5c, 0x28f5c280}, /* 1.04234=f(-0.29000)*/
+{64, 0,123,__LINE__, 0x3ff0a19d, 0x6de605ab, 0xbfd1eb85, 0x1eb851dc}, /* 1.03945=f(-0.28000)*/
+{64, 0,123,__LINE__, 0x3ff09635, 0x59ab7c50, 0xbfd147ae, 0x147ae138}, /* 1.03667=f(-0.27000)*/
+{64, 0,123,__LINE__, 0x3ff08b39, 0xf99fdd92, 0xbfd0a3d7, 0x0a3d7094}, /* 1.03399=f(-0.26000)*/
+{64, 0,123,__LINE__, 0x3ff080ab, 0x05ca6145, 0xbfcfffff, 0xffffffe0}, /* 1.03141=f(-0.25000)*/
+{64, 0,123,__LINE__, 0x3ff07688, 0x38f8cfde, 0xbfceb851, 0xeb851e98}, /* 1.02893=f(-0.24000)*/
+{64, 0,123,__LINE__, 0x3ff06cd1, 0x50bdbcf5, 0xbfcd70a3, 0xd70a3d50}, /* 1.02656=f(-0.23000)*/
+{64, 0,123,__LINE__, 0x3ff06386, 0x0d6ed3ec, 0xbfcc28f5, 0xc28f5c08}, /* 1.02429=f(-0.22000)*/
+{64, 0,123,__LINE__, 0x3ff05aa6, 0x322336b4, 0xbfcae147, 0xae147ac0}, /* 1.02213=f(-0.21000)*/
+{64, 0,123,__LINE__, 0x3ff05231, 0x84b1ee9c, 0xbfc99999, 0x99999978}, /* 1.02006=f(-0.20000)*/
+{64, 0,123,__LINE__, 0x3ff04a27, 0xcdb06f29, 0xbfc851eb, 0x851eb830}, /* 1.01810=f(-0.19000)*/
+{64, 0,123,__LINE__, 0x3ff04288, 0xd8712ae7, 0xbfc70a3d, 0x70a3d6e8}, /* 1.01624=f(-0.18000)*/
+{64, 0,123,__LINE__, 0x3ff03b54, 0x73023a32, 0xbfc5c28f, 0x5c28f5a0}, /* 1.01448=f(-0.17000)*/
+{64, 0,123,__LINE__, 0x3ff0348a, 0x6e2c13de, 0xbfc47ae1, 0x47ae1458}, /* 1.01282=f(-0.16000)*/
+{64, 0,123,__LINE__, 0x3ff02e2a, 0x9d7057c8, 0xbfc33333, 0x33333310}, /* 1.01127=f(-0.15000)*/
+{64, 0,123,__LINE__, 0x3ff02834, 0xd708ab3d, 0xbfc1eb85, 0x1eb851c8}, /* 1.00981=f(-0.14000)*/
+{64, 0,123,__LINE__, 0x3ff022a8, 0xf3e5a732, 0xbfc0a3d7, 0x0a3d7080}, /* 1.00846=f(-0.13000)*/
+{64, 0,123,__LINE__, 0x3ff01d86, 0xcfadd84c, 0xbfbeb851, 0xeb851e71}, /* 1.00720=f(-0.12000)*/
+{64, 0,123,__LINE__, 0x3ff018ce, 0x48bcd09e, 0xbfbc28f5, 0xc28f5be2}, /* 1.00605=f(-0.11000)*/
+{64, 0,123,__LINE__, 0x3ff0147f, 0x40224b38, 0xbfb99999, 0x99999953}, /* 1.00500=f(-0.00100)*/
+{64, 0,123,__LINE__, 0x3ff01099, 0x99a16160, 0xbfb70a3d, 0x70a3d6c4}, /* 1.00405=f(-0.09000)*/
+{64, 0,123,__LINE__, 0x3ff00d1d, 0x3bafd17f, 0xbfb47ae1, 0x47ae1435}, /* 1.00320=f(-0.08000)*/
+{60, 0,123,__LINE__, 0x3ff00a0a, 0x0f7557c8, 0xbfb1eb85, 0x1eb851a6}, /* 1.00245=f(-0.07000)*/
+{64, 0,123,__LINE__, 0x3ff00760, 0x00cb1875, 0xbfaeb851, 0xeb851e2d}, /* 1.00180=f(-0.06000)*/
+{64, 0,123,__LINE__, 0x3ff0051e, 0xfe3b1bc2, 0xbfa99999, 0x9999990e}, /* 1.00125=f(-0.05000)*/
+{64, 0,123,__LINE__, 0x3ff00346, 0xf8ffdb76, 0xbfa47ae1, 0x47ae13ef}, /* 1.00080=f(-0.04000)*/
+{64, 0,123,__LINE__, 0x3ff001d7, 0xe503e214, 0xbf9eb851, 0xeb851da0}, /* 1.00045=f(-0.03000)*/
+{64, 0,123,__LINE__, 0x3ff000d1, 0xb8e17bb0, 0xbf947ae1, 0x47ae1362}, /* 1.00020=f(-0.02000)*/
+{64, 0,123,__LINE__, 0x3ff00034, 0x6de27852, 0xbf847ae1, 0x47ae1249}, /* 1.00005=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3cd19000, 0x00000000}, /* 1.00000=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0x3ff00034, 0x6de27853, 0x3f847ae1, 0x47ae16ad}, /* 1.00005=f(0.01000)*/
+{64, 0,123,__LINE__, 0x3ff000d1, 0xb8e17bb0, 0x3f947ae1, 0x47ae1594}, /* 1.00020=f(0.02000)*/
+{64, 0,123,__LINE__, 0x3ff001d7, 0xe503e214, 0x3f9eb851, 0xeb851fd2}, /* 1.00045=f(0.03000)*/
+{64, 0,123,__LINE__, 0x3ff00346, 0xf8ffdb76, 0x3fa47ae1, 0x47ae1508}, /* 1.00080=f(0.04000)*/
+{64, 0,123,__LINE__, 0x3ff0051e, 0xfe3b1bc3, 0x3fa99999, 0x99999a27}, /* 1.00125=f(0.05000)*/
+{64, 0,123,__LINE__, 0x3ff00760, 0x00cb1876, 0x3faeb851, 0xeb851f46}, /* 1.00180=f(0.06000)*/
+{64, 0,123,__LINE__, 0x3ff00a0a, 0x0f7557c8, 0x3fb1eb85, 0x1eb85232}, /* 1.00245=f(0.07000)*/
+{64, 0,123,__LINE__, 0x3ff00d1d, 0x3bafd180, 0x3fb47ae1, 0x47ae14c1}, /* 1.00320=f(0.08000)*/
+{64, 0,123,__LINE__, 0x3ff01099, 0x99a16160, 0x3fb70a3d, 0x70a3d750}, /* 1.00405=f(0.09000)*/
+{64, 0,123,__LINE__, 0x3ff0147f, 0x40224b39, 0x3fb99999, 0x999999df}, /* 1.00500=f(0.10000)*/
+{64, 0,123,__LINE__, 0x3ff018ce, 0x48bcd09f, 0x3fbc28f5, 0xc28f5c6e}, /* 1.00605=f(0.11000)*/
+{64, 0,123,__LINE__, 0x3ff01d86, 0xcfadd84c, 0x3fbeb851, 0xeb851efd}, /* 1.00720=f(0.12000)*/
+{64, 0,123,__LINE__, 0x3ff022a8, 0xf3e5a734, 0x3fc0a3d7, 0x0a3d70c6}, /* 1.00846=f(0.13000)*/
+{64, 0,123,__LINE__, 0x3ff02834, 0xd708ab3e, 0x3fc1eb85, 0x1eb8520e}, /* 1.00981=f(0.14000)*/
+{64, 0,123,__LINE__, 0x3ff02e2a, 0x9d7057ca, 0x3fc33333, 0x33333356}, /* 1.01127=f(0.15000)*/
+{64, 0,123,__LINE__, 0x3ff0348a, 0x6e2c13e0, 0x3fc47ae1, 0x47ae149e}, /* 1.01282=f(0.16000)*/
+{64, 0,123,__LINE__, 0x3ff03b54, 0x73023a34, 0x3fc5c28f, 0x5c28f5e6}, /* 1.01448=f(0.17000)*/
+{64, 0,123,__LINE__, 0x3ff04288, 0xd8712ae9, 0x3fc70a3d, 0x70a3d72e}, /* 1.01624=f(0.18000)*/
+{64, 0,123,__LINE__, 0x3ff04a27, 0xcdb06f2a, 0x3fc851eb, 0x851eb876}, /* 1.01810=f(0.19000)*/
+{64, 0,123,__LINE__, 0x3ff05231, 0x84b1ee9e, 0x3fc99999, 0x999999be}, /* 1.02006=f(0.20000)*/
+{64, 0,123,__LINE__, 0x3ff05aa6, 0x322336b6, 0x3fcae147, 0xae147b06}, /* 1.02213=f(0.21000)*/
+{64, 0,123,__LINE__, 0x3ff06386, 0x0d6ed3ee, 0x3fcc28f5, 0xc28f5c4e}, /* 1.02429=f(0.22000)*/
+{64, 0,123,__LINE__, 0x3ff06cd1, 0x50bdbcf7, 0x3fcd70a3, 0xd70a3d96}, /* 1.02656=f(0.23000)*/
+{64, 0,123,__LINE__, 0x3ff07688, 0x38f8cfe0, 0x3fceb851, 0xeb851ede}, /* 1.02893=f(0.24000)*/
+{64, 0,123,__LINE__, 0x3ff080ab, 0x05ca6147, 0x3fd00000, 0x00000013}, /* 1.03141=f(0.25000)*/
+{64, 0,123,__LINE__, 0x3ff08b39, 0xf99fdd94, 0x3fd0a3d7, 0x0a3d70b7}, /* 1.03399=f(0.26000)*/
+{63, 0,123,__LINE__, 0x3ff09635, 0x59ab7c53, 0x3fd147ae, 0x147ae15b}, /* 1.03667=f(0.27000)*/
+{64, 0,123,__LINE__, 0x3ff0a19d, 0x6de605ad, 0x3fd1eb85, 0x1eb851ff}, /* 1.03945=f(0.28000)*/
+{64, 0,123,__LINE__, 0x3ff0ad72, 0x8110aa1c, 0x3fd28f5c, 0x28f5c2a3}, /* 1.04234=f(0.29000)*/
+{62, 0,123,__LINE__, 0x3ff0b9b4, 0xe0b6ec4e, 0x3fd33333, 0x33333347}, /* 1.04533=f(0.30000)*/
+{64, 0,123,__LINE__, 0x3ff0c664, 0xdd309d5e, 0x3fd3d70a, 0x3d70a3eb}, /* 1.04843=f(0.31000)*/
+{64, 0,123,__LINE__, 0x3ff0d382, 0xc9a3eb60, 0x3fd47ae1, 0x47ae148f}, /* 1.05163=f(0.32000)*/
+{63, 0,123,__LINE__, 0x3ff0e10e, 0xfc078246, 0x3fd51eb8, 0x51eb8533}, /* 1.05494=f(0.33000)*/
+{64, 0,123,__LINE__, 0x3ff0ef09, 0xcd24bf4e, 0x3fd5c28f, 0x5c28f5d7}, /* 1.05835=f(0.34000)*/
+{64, 0,123,__LINE__, 0x3ff0fd73, 0x9899f6d4, 0x3fd66666, 0x6666667b}, /* 1.06187=f(0.35000)*/
+{64, 0,123,__LINE__, 0x3ff10c4c, 0xbcdcccce, 0x3fd70a3d, 0x70a3d71f}, /* 1.06550=f(0.36000)*/
+{64, 0,123,__LINE__, 0x3ff11b95, 0x9b3c9fd0, 0x3fd7ae14, 0x7ae147c3}, /* 1.06923=f(0.37000)*/
+{64, 0,123,__LINE__, 0x3ff12b4e, 0x97e506d0, 0x3fd851eb, 0x851eb867}, /* 1.07307=f(0.38000)*/
+{64, 0,123,__LINE__, 0x3ff13b78, 0x19e0619e, 0x3fd8f5c2, 0x8f5c290b}, /* 1.07701=f(0.39000)*/
+{62, 0,123,__LINE__, 0x3ff14c12, 0x8b1a7c2d, 0x3fd99999, 0x999999af}, /* 1.08107=f(0.40000)*/
+{64, 0,123,__LINE__, 0x3ff15d1e, 0x586344c4, 0x3fda3d70, 0xa3d70a53}, /* 1.08523=f(0.41000)*/
+{64, 0,123,__LINE__, 0x3ff16e9b, 0xf1719516, 0x3fdae147, 0xae147af7}, /* 1.08950=f(0.42000)*/
+{64, 0,123,__LINE__, 0x3ff1808b, 0xc8e60e68, 0x3fdb851e, 0xb851eb9b}, /* 1.09388=f(0.43000)*/
+{64, 0,123,__LINE__, 0x3ff192ee, 0x544e08cc, 0x3fdc28f5, 0xc28f5c3f}, /* 1.09837=f(0.44000)*/
+{64, 0,123,__LINE__, 0x3ff1a5c4, 0x0c269587, 0x3fdccccc, 0xcccccce3}, /* 1.10297=f(0.45000)*/
+{64, 0,123,__LINE__, 0x3ff1b90d, 0x6bdf94b1, 0x3fdd70a3, 0xd70a3d87}, /* 1.10767=f(0.46000)*/
+{64, 0,123,__LINE__, 0x3ff1ccca, 0xf1dede30, 0x3fde147a, 0xe147ae2b}, /* 1.11249=f(0.47000)*/
+{64, 0,123,__LINE__, 0x3ff1e0fd, 0x1f837e14, 0x3fdeb851, 0xeb851ecf}, /* 1.11742=f(0.48000)*/
+{63, 0,123,__LINE__, 0x3ff1f5a4, 0x79290472, 0x3fdf5c28, 0xf5c28f73}, /* 1.12247=f(0.49000)*/
+{61, 0,123,__LINE__, 0x3ff20ac1, 0x862ae8d3, 0x3fe00000, 0x0000000b}, /* 1.12762=f(0.50000)*/
+{64, 0,123,__LINE__, 0x3ff22054, 0xd0e80146, 0x3fe051eb, 0x851eb85d}, /* 1.13289=f(0.51000)*/
+{64, 0,123,__LINE__, 0x3ff2365e, 0xe6c60d36, 0x3fe0a3d7, 0x0a3d70af}, /* 1.13827=f(0.52000)*/
+{63, 0,123,__LINE__, 0x3ff24ce0, 0x5835541a, 0x3fe0f5c2, 0x8f5c2901}, /* 1.14376=f(0.53000)*/
+{64, 0,123,__LINE__, 0x3ff263d9, 0xb8b4580c, 0x3fe147ae, 0x147ae153}, /* 1.14937=f(0.54000)*/
+{64, 0,123,__LINE__, 0x3ff27b4b, 0x9ed39c65, 0x3fe19999, 0x999999a5}, /* 1.15510=f(0.55000)*/
+{62, 0,123,__LINE__, 0x3ff29336, 0xa4398081, 0x3fe1eb85, 0x1eb851f7}, /* 1.16094=f(0.56000)*/
+{64, 0,123,__LINE__, 0x3ff2ab9b, 0x65a62eb8, 0x3fe23d70, 0xa3d70a49}, /* 1.16689=f(0.57000)*/
+{63, 0,123,__LINE__, 0x3ff2c47a, 0x82f79fa6, 0x3fe28f5c, 0x28f5c29b}, /* 1.17296=f(0.58000)*/
+{64, 0,123,__LINE__, 0x3ff2ddd4, 0x9f2db1e0, 0x3fe2e147, 0xae147aed}, /* 1.17915=f(0.59000)*/
+{63, 0,123,__LINE__, 0x3ff2f7aa, 0x606e5634, 0x3fe33333, 0x3333333f}, /* 1.18546=f(0.60000)*/
+{63, 0,123,__LINE__, 0x3ff311fc, 0x7009d08c, 0x3fe3851e, 0xb851eb91}, /* 1.19189=f(0.61000)*/
+{64, 0,123,__LINE__, 0x3ff32ccb, 0x7a7f0d88, 0x3fe3d70a, 0x3d70a3e3}, /* 1.19843=f(0.62000)*/
+{64, 0,123,__LINE__, 0x3ff34818, 0x2f800cfc, 0x3fe428f5, 0xc28f5c35}, /* 1.20510=f(0.63000)*/
+{63, 0,123,__LINE__, 0x3ff363e3, 0x41f66164, 0x3fe47ae1, 0x47ae1487}, /* 1.21188=f(0.64000)*/
+{63, 0,123,__LINE__, 0x3ff3802d, 0x6807c468, 0x3fe4cccc, 0xccccccd9}, /* 1.21879=f(0.65000)*/
+{62, 0,123,__LINE__, 0x3ff39cf7, 0x5b1ac095, 0x3fe51eb8, 0x51eb852b}, /* 1.22582=f(0.66000)*/
+{61, 0,123,__LINE__, 0x3ff3ba41, 0xd7db7073, 0x3fe570a3, 0xd70a3d7d}, /* 1.23297=f(0.67000)*/
+{64, 0,123,__LINE__, 0x3ff3d80d, 0x9e4052fa, 0x3fe5c28f, 0x5c28f5cf}, /* 1.24024=f(0.68000)*/
+{62, 0,123,__LINE__, 0x3ff3f65b, 0x718f35a5, 0x3fe6147a, 0xe147ae21}, /* 1.24764=f(0.69000)*/
+{64, 0,123,__LINE__, 0x3ff4152c, 0x18623434, 0x3fe66666, 0x66666673}, /* 1.25516=f(0.70000)*/
+{64, 0,123,__LINE__, 0x3ff43480, 0x5cacce37, 0x3fe6b851, 0xeb851ec5}, /* 1.26281=f(0.71000)*/
+{64, 0,123,__LINE__, 0x3ff45459, 0x0bc1129c, 0x3fe70a3d, 0x70a3d717}, /* 1.27059=f(0.72000)*/
+{64, 0,123,__LINE__, 0x3ff474b6, 0xf654e13d, 0x3fe75c28, 0xf5c28f69}, /* 1.27849=f(0.73000)*/
+{62, 0,123,__LINE__, 0x3ff4959a, 0xf08742be, 0x3fe7ae14, 0x7ae147bb}, /* 1.28652=f(0.74000)*/
+{63, 0,123,__LINE__, 0x3ff4b705, 0xd1e5d6ad, 0x3fe80000, 0x0000000d}, /* 1.29468=f(0.75000)*/
+{63, 0,123,__LINE__, 0x3ff4d8f8, 0x75725831, 0x3fe851eb, 0x851eb85f}, /* 1.30297=f(0.76000)*/
+{63, 0,123,__LINE__, 0x3ff4fb73, 0xb9a83955, 0x3fe8a3d7, 0x0a3d70b1}, /* 1.31139=f(0.77000)*/
+{64, 0,123,__LINE__, 0x3ff51e78, 0x8082551c, 0x3fe8f5c2, 0x8f5c2903}, /* 1.31993=f(0.78000)*/
+{64, 0,123,__LINE__, 0x3ff54207, 0xaf80b877, 0x3fe947ae, 0x147ae155}, /* 1.32862=f(0.79000)*/
+{64, 0,123,__LINE__, 0x3ff56622, 0x2fae825f, 0x3fe99999, 0x999999a7}, /* 1.33743=f(0.80000)*/
+{64, 0,123,__LINE__, 0x3ff58ac8, 0xeda7db20, 0x3fe9eb85, 0x1eb851f9}, /* 1.34638=f(0.81000)*/
+{64, 0,123,__LINE__, 0x3ff5affc, 0xd9a002f6, 0x3fea3d70, 0xa3d70a4b}, /* 1.35546=f(0.82000)*/
+{60, 0,123,__LINE__, 0x3ff5d5be, 0xe7677848, 0x3fea8f5c, 0x28f5c29d}, /* 1.36468=f(0.83000)*/
+{61, 0,123,__LINE__, 0x3ff5fc10, 0x0e723584, 0x3feae147, 0xae147aef}, /* 1.37403=f(0.84000)*/
+{63, 0,123,__LINE__, 0x3ff622f1, 0x49de06d9, 0x3feb3333, 0x33333341}, /* 1.38353=f(0.85000)*/
+{62, 0,123,__LINE__, 0x3ff64a63, 0x9878f7f2, 0x3feb851e, 0xb851eb93}, /* 1.39316=f(0.86000)*/
+{63, 0,123,__LINE__, 0x3ff67267, 0xfcc7d9d8, 0x3febd70a, 0x3d70a3e5}, /* 1.40293=f(0.87000)*/
+{63, 0,123,__LINE__, 0x3ff69aff, 0x7d0ce13c, 0x3fec28f5, 0xc28f5c37}, /* 1.41284=f(0.88000)*/
+{63, 0,123,__LINE__, 0x3ff6c42b, 0x234e5d2c, 0x3fec7ae1, 0x47ae1489}, /* 1.42289=f(0.89000)*/
+{60, 0,123,__LINE__, 0x3ff6edeb, 0xfd5d8687, 0x3feccccc, 0xccccccdb}, /* 1.43308=f(0.90000)*/
+{61, 0,123,__LINE__, 0x3ff71843, 0x1cdd6844, 0x3fed1eb8, 0x51eb852d}, /* 1.44342=f(0.91000)*/
+{62, 0,123,__LINE__, 0x3ff74331, 0x9749e0ce, 0x3fed70a3, 0xd70a3d7f}, /* 1.45390=f(0.92000)*/
+{63, 0,123,__LINE__, 0x3ff76eb8, 0x85febc7f, 0x3fedc28f, 0x5c28f5d1}, /* 1.46453=f(0.93000)*/
+{61, 0,123,__LINE__, 0x3ff79ad9, 0x063ee994, 0x3fee147a, 0xe147ae23}, /* 1.47530=f(0.94000)*/
+{63, 0,123,__LINE__, 0x3ff7c794, 0x393bc5af, 0x3fee6666, 0x66666675}, /* 1.48622=f(0.95000)*/
+{58, 0,123,__LINE__, 0x3ff7f4eb, 0x441c8520, 0x3feeb851, 0xeb851ec7}, /* 1.49729=f(0.96000)*/
+{63, 0,123,__LINE__, 0x3ff822df, 0x5005b40f, 0x3fef0a3d, 0x70a3d719}, /* 1.50851=f(0.97000)*/
+{62, 0,123,__LINE__, 0x3ff85171, 0x8a20d1f2, 0x3fef5c28, 0xf5c28f6b}, /* 1.51988=f(0.98000)*/
+{62, 0,123,__LINE__, 0x3ff880a3, 0x23a4072a, 0x3fefae14, 0x7ae147bd}, /* 1.53140=f(0.99000)*/
+{63, 0,123,__LINE__, 0x3ff8b075, 0x51d9f558, 0x3ff00000, 0x00000007}, /* 1.54308=f(1.00000)*/
+{61, 0,123,__LINE__, 0x3ff8e0e9, 0x4e29a253, 0x3ff028f5, 0xc28f5c30}, /* 1.55491=f(1.01000)*/
+{64, 0,123,__LINE__, 0x3ff91200, 0x561e7e16, 0x3ff051eb, 0x851eb859}, /* 1.56689=f(1.02000)*/
+{64, 0,123,__LINE__, 0x3ff943bb, 0xab7083ca, 0x3ff07ae1, 0x47ae1482}, /* 1.57903=f(1.03000)*/
+{59, 0,123,__LINE__, 0x3ff9761c, 0x940c7650, 0x3ff0a3d7, 0x0a3d70ab}, /* 1.59133=f(1.04000)*/
+{64, 0,123,__LINE__, 0x3ff9a924, 0x5a1c3820, 0x3ff0cccc, 0xccccccd4}, /* 1.60379=f(1.05000)*/
+{62, 0,123,__LINE__, 0x3ff9dcd4, 0x4c0f3f2a, 0x3ff0f5c2, 0x8f5c28fd}, /* 1.61641=f(1.06000)*/
+{64, 0,123,__LINE__, 0x3ffa112d, 0xbca3248b, 0x3ff11eb8, 0x51eb8526}, /* 1.62919=f(1.07000)*/
+{63, 0,123,__LINE__, 0x3ffa4632, 0x02ec5097, 0x3ff147ae, 0x147ae14f}, /* 1.64213=f(1.08000)*/
+{62, 0,123,__LINE__, 0x3ffa7be2, 0x7a5ec339, 0x3ff170a3, 0xd70a3d78}, /* 1.65524=f(1.09000)*/
+{63, 0,123,__LINE__, 0x3ffab240, 0x82d6f91c, 0x3ff19999, 0x999999a1}, /* 1.66851=f(1.10000)*/
+{64, 0,123,__LINE__, 0x3ffae94d, 0x80a2ed8b, 0x3ff1c28f, 0x5c28f5ca}, /* 1.68195=f(1.11000)*/
+{60, 0,123,__LINE__, 0x3ffb210a, 0xdc8b39a7, 0x3ff1eb85, 0x1eb851f3}, /* 1.69556=f(1.12000)*/
+{64, 0,123,__LINE__, 0x3ffb597a, 0x03dc50c2, 0x3ff2147a, 0xe147ae1c}, /* 1.70934=f(1.13000)*/
+{63, 0,123,__LINE__, 0x3ffb929c, 0x686fda7b, 0x3ff23d70, 0xa3d70a45}, /* 1.72329=f(1.14000)*/
+{64, 0,123,__LINE__, 0x3ffbcc73, 0x80b62a8f, 0x3ff26666, 0x6666666e}, /* 1.73741=f(1.15000)*/
+{64, 0,123,__LINE__, 0x3ffc0700, 0xc7bfd6d5, 0x3ff28f5c, 0x28f5c297}, /* 1.75171=f(1.16000)*/
+{62, 0,123,__LINE__, 0x3ffc4245, 0xbd476b80, 0x3ff2b851, 0xeb851ec0}, /* 1.76618=f(1.17000)*/
+{63, 0,123,__LINE__, 0x3ffc7e43, 0xe5bb3de2, 0x3ff2e147, 0xae147ae9}, /* 1.78082=f(1.18000)*/
+{61, 0,123,__LINE__, 0x3ffcbafc, 0xca475e2b, 0x3ff30a3d, 0x70a3d712}, /* 1.79565=f(1.19000)*/
+{60, 0,123,__LINE__, 0x4070bbf2, 0xbc2b69c8, 0xc01921fb, 0x54442d18}, /* 267.746=f(-6.28318)*/
+{62, 0,123,__LINE__, 0x404bd4e9, 0xaa3e9cdd, 0xc012d97c, 0x7f3321d2}, /* 55.6633=f(-4.71238)*/
+{63, 0,123,__LINE__, 0x40272f14, 0x7fee3fff, 0xc00921fb, 0x54442d18}, /* 11.5919=f(-3.14159)*/
+{58, 0,123,__LINE__, 0x400412cc, 0x2a8d4e9f, 0xbff921fb, 0x54442d18}, /* 2.50917=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x00000000, 0x00000000}, /* 1.00000=f(0.00000)*/
+{58, 0,123,__LINE__, 0x400412cc, 0x2a8d4e9f, 0x3ff921fb, 0x54442d18}, /* 2.50917=f(1.57079)*/
+{63, 0,123,__LINE__, 0x40272f14, 0x7fee3fff, 0x400921fb, 0x54442d18}, /* 11.5919=f(3.14159)*/
+{62, 0,123,__LINE__, 0x404bd4e9, 0xaa3e9cdd, 0x4012d97c, 0x7f3321d2}, /* 55.6633=f(4.71238)*/
+{63, 0,123,__LINE__, 0x42937047, 0x0aec28e4, 0xc03e0000, 0x00000000}, /* 5.34324e+12=f(-30.0000)*/
+{63, 0,123,__LINE__, 0x426c68ab, 0xda31cdb8, 0xc03c4ccc, 0xcccccccd}, /* 9.76121e+11=f(-28.3000)*/
+{60, 0,123,__LINE__, 0x4244c263, 0x8e2b5848, 0xc03a9999, 0x9999999a}, /* 1.78321e+11=f(-26.6000)*/
+{63, 0,123,__LINE__, 0x421e56cf, 0x7144c252, 0xc038e666, 0x66666667}, /* 3.25764e+10=f(-24.9000)*/
+{60, 0,123,__LINE__, 0x41f62b79, 0x1e77d137, 0xc0373333, 0x33333334}, /* 5.95116e+09=f(-23.2000)*/
+{64, 0,123,__LINE__, 0x41d03343, 0x003272a8, 0xc0358000, 0x00000001}, /* 1.08718e+09=f(-21.5000)*/
+{62, 0,123,__LINE__, 0x41a7ad17, 0x51ce1a0d, 0xc033cccc, 0xccccccce}, /* 1.98610e+08=f(-19.8000)*/
+{61, 0,123,__LINE__, 0x41814d0b, 0xc17d4224, 0xc0321999, 0x9999999b}, /* 3.62827e+07=f(-18.1000)*/
+{64, 0,123,__LINE__, 0x415948e8, 0xe47eadbc, 0xc0306666, 0x66666668}, /* 6.62826e+06=f(-16.4000)*/
+{63, 0,123,__LINE__, 0x413279f9, 0xd10e6ddb, 0xc02d6666, 0x6666666a}, /* 1.21087e+06=f(-14.7000)*/
+{63, 0,123,__LINE__, 0x410b00b5, 0x916b6132, 0xc02a0000, 0x00000004}, /* 221206=f(-13.0000)*/
+{63, 0,123,__LINE__, 0x40e3bb5a, 0x336a724a, 0xc0269999, 0x9999999e}, /* 40410=f(-11.3000)*/
+{63, 0,123,__LINE__, 0x40bcd664, 0x0c8f67aa, 0xc0233333, 0x33333338}, /* 7382.39=f(-9.60000)*/
+{62, 0,123,__LINE__, 0x40951290, 0xbdecc6ea, 0xc01f9999, 0x999999a3}, /* 1348.64=f(-7.90000)*/
+{62, 0,123,__LINE__, 0x406ecc04, 0x62869201, 0xc018cccc, 0xccccccd6}, /* 246.375=f(-6.20000)*/
+{62, 0,123,__LINE__, 0x404681ce, 0xb0641389, 0xc0120000, 0x00000009}, /* 45.0141=f(-4.50000)*/
+{64, 0,123,__LINE__, 0x40208165, 0x9e7a609e, 0xc0066666, 0x66666678}, /* 8.25272=f(-2.80000)*/
+{62, 0,123,__LINE__, 0x3ffab240, 0x82d6f941, 0xbff19999, 0x999999bd}, /* 1.66851=f(-1.10000)*/
+{64, 0,123,__LINE__, 0x3ff2f7aa, 0x606e561a, 0x3fe33333, 0x333332ec}, /* 1.18546=f(0.60000)*/
+{62, 0,123,__LINE__, 0x4014261d, 0x2b7d6152, 0x40026666, 0x66666654}, /* 5.03722=f(2.30000)*/
+{61, 0,123,__LINE__, 0x403b4ee8, 0x58de3e43, 0x400fffff, 0xffffffee}, /* 27.3082=f(4.00000)*/
+{63, 0,123,__LINE__, 0x4062adee, 0x9455e3ef, 0x4016cccc, 0xccccccc4}, /* 149.435=f(5.70000)*/
+{64, 0,123,__LINE__, 0x40898ff0, 0xaea73114, 0x401d9999, 0x99999991}, /* 817.992=f(7.40000)*/
+{64, 0,123,__LINE__, 0x40b17da5, 0x7af77ec3, 0x40223333, 0x3333332f}, /* 4477.64=f(9.10000)*/
+{63, 0,123,__LINE__, 0x40d7ef99, 0xa3138b94, 0x40259999, 0x99999995}, /* 24510=f(10.8000)*/
+{64, 0,123,__LINE__, 0x410060c5, 0x2566b454, 0x4028ffff, 0xfffffffb}, /* 134168=f(12.5000)*/
+{62, 0,123,__LINE__, 0x412669c0, 0x308d36dd, 0x402c6666, 0x66666661}, /* 734432=f(14.2000)*/
+{62, 0,123,__LINE__, 0x414eac09, 0x532f3e8a, 0x402fcccc, 0xccccccc7}, /* 4.02024e+06=f(15.9000)*/
+{62, 0,123,__LINE__, 0x4174fcb4, 0x4c4756da, 0x40319999, 0x99999997}, /* 2.20066e+07=f(17.6000)*/
+{63, 0,123,__LINE__, 0x419cb879, 0xa3e73668, 0x40334ccc, 0xccccccca}, /* 1.20463e+08=f(19.3000)*/
+{57, 0,123,__LINE__, 0x41c3a6e1, 0xfd9eecbf, 0x4034ffff, 0xfffffffd}, /* 6.59408e+08=f(21.0000)*/
+{60, 0,123,__LINE__, 0x41eae4b2, 0x68df16f6, 0x4036b333, 0x33333330}, /* 3.60956e+09=f(22.7000)*/
+{63, 0,123,__LINE__, 0x421266ce, 0xffa84595, 0x40386666, 0x66666663}, /* 1.97586e+10=f(24.4000)*/
+{64, 0,123,__LINE__, 0x42392ead, 0xfa09870a, 0x403a1999, 0x99999996}, /* 1.08157e+11=f(26.1000)*/
+{63, 0,123,__LINE__, 0x42613b19, 0x1e69fb25, 0x403bcccc, 0xccccccc9}, /* 5.92048e+11=f(27.8000)*/
+{61, 0,123,__LINE__, 0x42879487, 0x9e85b8dc, 0x403d7fff, 0xfffffffc}, /* 3.24084e+12=f(29.5000)*/
+0,};
+test_cosh(m) {run_vector_1(m,cosh_vec,(char *)(cosh),"cosh","dd"); }
diff --git a/newlib/libm/test/coshf_vec.c b/newlib/libm/test/coshf_vec.c
new file mode 100644
index 00000000000..d8f96bb53e2
--- /dev/null
+++ b/newlib/libm/test/coshf_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type coshf_vec[] = {
+{14, 0,123,__LINE__, 0x3ffcf872, 0x20000000, 0xbff33333, 0x33333333}, /* 1.81065=f(-1.20000)*/
+{14, 0,123,__LINE__, 0x3ffcbafc, 0xe0000000, 0xbff30a3d, 0x70a3d70a}, /* 1.79565=f(-1.19000)*/
+{14, 0,123,__LINE__, 0x3ffc7e43, 0xe0000000, 0xbff2e147, 0xae147ae1}, /* 1.78082=f(-1.18000)*/
+{14, 0,123,__LINE__, 0x3ffc4245, 0xa0000000, 0xbff2b851, 0xeb851eb8}, /* 1.76618=f(-1.17000)*/
+{14, 0,123,__LINE__, 0x3ffc0700, 0xa0000000, 0xbff28f5c, 0x28f5c28f}, /* 1.75171=f(-1.16000)*/
+{13, 0,123,__LINE__, 0x3ffbcc73, 0x80000000, 0xbff26666, 0x66666666}, /* 1.73741=f(-1.15000)*/
+{13, 0,123,__LINE__, 0x3ffb929c, 0x60000000, 0xbff23d70, 0xa3d70a3d}, /* 1.72329=f(-1.14000)*/
+{13, 0,123,__LINE__, 0x3ffb597a, 0x00000000, 0xbff2147a, 0xe147ae14}, /* 1.70934=f(-1.13000)*/
+{13, 0,123,__LINE__, 0x3ffb210b, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* 1.69556=f(-1.12000)*/
+{13, 0,123,__LINE__, 0x3ffae94d, 0x80000000, 0xbff1c28f, 0x5c28f5c2}, /* 1.68195=f(-1.11000)*/
+{13, 0,123,__LINE__, 0x3ffab240, 0xa0000000, 0xbff19999, 0x99999999}, /* 1.66851=f(-1.10000)*/
+{13, 0,123,__LINE__, 0x3ffa7be2, 0xa0000000, 0xbff170a3, 0xd70a3d70}, /* 1.65524=f(-1.09000)*/
+{13, 0,123,__LINE__, 0x3ffa4632, 0x20000000, 0xbff147ae, 0x147ae147}, /* 1.64213=f(-1.08000)*/
+{13, 0,123,__LINE__, 0x3ffa112d, 0xc0000000, 0xbff11eb8, 0x51eb851e}, /* 1.62919=f(-1.07000)*/
+{13, 0,123,__LINE__, 0x3ff9dcd4, 0x40000000, 0xbff0f5c2, 0x8f5c28f5}, /* 1.61641=f(-1.06000)*/
+{13, 0,123,__LINE__, 0x3ff9a924, 0x40000000, 0xbff0cccc, 0xcccccccc}, /* 1.60379=f(-1.05000)*/
+{13, 0,123,__LINE__, 0x3ff9761c, 0xa0000000, 0xbff0a3d7, 0x0a3d70a3}, /* 1.59133=f(-1.04000)*/
+{13, 0,123,__LINE__, 0x3ff943bb, 0xa0000000, 0xbff07ae1, 0x47ae147a}, /* 1.57903=f(-1.03000)*/
+{13, 0,123,__LINE__, 0x3ff91200, 0x60000000, 0xbff051eb, 0x851eb851}, /* 1.56689=f(-1.02000)*/
+{13, 0,123,__LINE__, 0x3ff8e0e9, 0x40000000, 0xbff028f5, 0xc28f5c28}, /* 1.55491=f(-1.01000)*/
+{13, 0,123,__LINE__, 0x3ff8b075, 0x40000000, 0xbfefffff, 0xfffffffe}, /* 1.54308=f(-0.01000)*/
+{13, 0,123,__LINE__, 0x3ff880a3, 0x40000000, 0xbfefae14, 0x7ae147ac}, /* 1.53140=f(-0.99000)*/
+{13, 0,123,__LINE__, 0x3ff85171, 0xa0000000, 0xbfef5c28, 0xf5c28f5a}, /* 1.51988=f(-0.98000)*/
+{13, 0,123,__LINE__, 0x3ff822df, 0x60000000, 0xbfef0a3d, 0x70a3d708}, /* 1.50851=f(-0.97000)*/
+{12, 0,123,__LINE__, 0x3ff7f4eb, 0x40000000, 0xbfeeb851, 0xeb851eb6}, /* 1.49729=f(-0.96000)*/
+{12, 0,123,__LINE__, 0x3ff7c794, 0x20000000, 0xbfee6666, 0x66666664}, /* 1.48622=f(-0.95000)*/
+{12, 0,123,__LINE__, 0x3ff79ad9, 0x00000000, 0xbfee147a, 0xe147ae12}, /* 1.47530=f(-0.94000)*/
+{12, 0,123,__LINE__, 0x3ff76eb8, 0x80000000, 0xbfedc28f, 0x5c28f5c0}, /* 1.46453=f(-0.93000)*/
+{12, 0,123,__LINE__, 0x3ff74331, 0x80000000, 0xbfed70a3, 0xd70a3d6e}, /* 1.45390=f(-0.92000)*/
+{12, 0,123,__LINE__, 0x3ff71843, 0x20000000, 0xbfed1eb8, 0x51eb851c}, /* 1.44342=f(-0.91000)*/
+{12, 0,123,__LINE__, 0x3ff6edec, 0x00000000, 0xbfeccccc, 0xccccccca}, /* 1.43308=f(-0.90000)*/
+{12, 0,123,__LINE__, 0x3ff6c42b, 0x20000000, 0xbfec7ae1, 0x47ae1478}, /* 1.42289=f(-0.89000)*/
+{12, 0,123,__LINE__, 0x3ff69aff, 0x80000000, 0xbfec28f5, 0xc28f5c26}, /* 1.41284=f(-0.88000)*/
+{12, 0,123,__LINE__, 0x3ff67268, 0x00000000, 0xbfebd70a, 0x3d70a3d4}, /* 1.40293=f(-0.87000)*/
+{12, 0,123,__LINE__, 0x3ff64a63, 0x80000000, 0xbfeb851e, 0xb851eb82}, /* 1.39316=f(-0.86000)*/
+{12, 0,123,__LINE__, 0x3ff622f1, 0x40000000, 0xbfeb3333, 0x33333330}, /* 1.38353=f(-0.85000)*/
+{12, 0,123,__LINE__, 0x3ff5fc0f, 0xe0000000, 0xbfeae147, 0xae147ade}, /* 1.37403=f(-0.84000)*/
+{12, 0,123,__LINE__, 0x3ff5d5be, 0xc0000000, 0xbfea8f5c, 0x28f5c28c}, /* 1.36468=f(-0.83000)*/
+{12, 0,123,__LINE__, 0x3ff5affc, 0xe0000000, 0xbfea3d70, 0xa3d70a3a}, /* 1.35546=f(-0.82000)*/
+{12, 0,123,__LINE__, 0x3ff58ac9, 0x00000000, 0xbfe9eb85, 0x1eb851e8}, /* 1.34638=f(-0.81000)*/
+{12, 0,123,__LINE__, 0x3ff56622, 0x40000000, 0xbfe99999, 0x99999996}, /* 1.33743=f(-0.80000)*/
+{12, 0,123,__LINE__, 0x3ff54207, 0xc0000000, 0xbfe947ae, 0x147ae144}, /* 1.32862=f(-0.79000)*/
+{12, 0,123,__LINE__, 0x3ff51e78, 0x80000000, 0xbfe8f5c2, 0x8f5c28f2}, /* 1.31993=f(-0.78000)*/
+{12, 0,123,__LINE__, 0x3ff4fb73, 0xa0000000, 0xbfe8a3d7, 0x0a3d70a0}, /* 1.31139=f(-0.77000)*/
+{12, 0,123,__LINE__, 0x3ff4d8f8, 0x60000000, 0xbfe851eb, 0x851eb84e}, /* 1.30297=f(-0.76000)*/
+{12, 0,123,__LINE__, 0x3ff4b705, 0xc0000000, 0xbfe7ffff, 0xfffffffc}, /* 1.29468=f(-0.75000)*/
+{12, 0,123,__LINE__, 0x3ff4959a, 0xe0000000, 0xbfe7ae14, 0x7ae147aa}, /* 1.28652=f(-0.74000)*/
+{12, 0,123,__LINE__, 0x3ff474b7, 0x00000000, 0xbfe75c28, 0xf5c28f58}, /* 1.27849=f(-0.73000)*/
+{12, 0,123,__LINE__, 0x3ff45459, 0x20000000, 0xbfe70a3d, 0x70a3d706}, /* 1.27059=f(-0.72000)*/
+{12, 0,123,__LINE__, 0x3ff43480, 0x40000000, 0xbfe6b851, 0xeb851eb4}, /* 1.26281=f(-0.71000)*/
+{12, 0,123,__LINE__, 0x3ff4152c, 0x20000000, 0xbfe66666, 0x66666662}, /* 1.25516=f(-0.70000)*/
+{12, 0,123,__LINE__, 0x3ff3f65b, 0x80000000, 0xbfe6147a, 0xe147ae10}, /* 1.24764=f(-0.69000)*/
+{12, 0,123,__LINE__, 0x3ff3d80d, 0xa0000000, 0xbfe5c28f, 0x5c28f5be}, /* 1.24024=f(-0.68000)*/
+{12, 0,123,__LINE__, 0x3ff3ba41, 0xe0000000, 0xbfe570a3, 0xd70a3d6c}, /* 1.23297=f(-0.67000)*/
+{12, 0,123,__LINE__, 0x3ff39cf7, 0x60000000, 0xbfe51eb8, 0x51eb851a}, /* 1.22582=f(-0.66000)*/
+{12, 0,123,__LINE__, 0x3ff3802d, 0x60000000, 0xbfe4cccc, 0xccccccc8}, /* 1.21879=f(-0.65000)*/
+{12, 0,123,__LINE__, 0x3ff363e3, 0x40000000, 0xbfe47ae1, 0x47ae1476}, /* 1.21188=f(-0.64000)*/
+{12, 0,123,__LINE__, 0x3ff34818, 0x20000000, 0xbfe428f5, 0xc28f5c24}, /* 1.20510=f(-0.63000)*/
+{12, 0,123,__LINE__, 0x3ff32ccb, 0x80000000, 0xbfe3d70a, 0x3d70a3d2}, /* 1.19843=f(-0.62000)*/
+{12, 0,123,__LINE__, 0x3ff311fc, 0x80000000, 0xbfe3851e, 0xb851eb80}, /* 1.19189=f(-0.61000)*/
+{12, 0,123,__LINE__, 0x3ff2f7aa, 0x60000000, 0xbfe33333, 0x3333332e}, /* 1.18546=f(-0.60000)*/
+{12, 0,123,__LINE__, 0x3ff2ddd4, 0xa0000000, 0xbfe2e147, 0xae147adc}, /* 1.17915=f(-0.59000)*/
+{12, 0,123,__LINE__, 0x3ff2c47a, 0x80000000, 0xbfe28f5c, 0x28f5c28a}, /* 1.17296=f(-0.58000)*/
+{12, 0,123,__LINE__, 0x3ff2ab9b, 0x60000000, 0xbfe23d70, 0xa3d70a38}, /* 1.16689=f(-0.57000)*/
+{12, 0,123,__LINE__, 0x3ff29336, 0xa0000000, 0xbfe1eb85, 0x1eb851e6}, /* 1.16094=f(-0.56000)*/
+{12, 0,123,__LINE__, 0x3ff27b4b, 0xa0000000, 0xbfe19999, 0x99999994}, /* 1.15510=f(-0.55000)*/
+{12, 0,123,__LINE__, 0x3ff263d9, 0xc0000000, 0xbfe147ae, 0x147ae142}, /* 1.14937=f(-0.54000)*/
+{12, 0,123,__LINE__, 0x3ff24ce0, 0x60000000, 0xbfe0f5c2, 0x8f5c28f0}, /* 1.14376=f(-0.53000)*/
+{12, 0,123,__LINE__, 0x3ff2365e, 0xe0000000, 0xbfe0a3d7, 0x0a3d709e}, /* 1.13827=f(-0.52000)*/
+{12, 0,123,__LINE__, 0x3ff22054, 0xe0000000, 0xbfe051eb, 0x851eb84c}, /* 1.13289=f(-0.51000)*/
+{12, 0,123,__LINE__, 0x3ff20ac1, 0x80000000, 0xbfdfffff, 0xfffffff4}, /* 1.12762=f(-0.50000)*/
+{12, 0,123,__LINE__, 0x3ff1f5a4, 0x80000000, 0xbfdf5c28, 0xf5c28f50}, /* 1.12247=f(-0.49000)*/
+{12, 0,123,__LINE__, 0x3ff1e0fd, 0x20000000, 0xbfdeb851, 0xeb851eac}, /* 1.11742=f(-0.48000)*/
+{12, 0,123,__LINE__, 0x3ff1cccb, 0x00000000, 0xbfde147a, 0xe147ae08}, /* 1.11249=f(-0.47000)*/
+{12, 0,123,__LINE__, 0x3ff1b90d, 0x60000000, 0xbfdd70a3, 0xd70a3d64}, /* 1.10767=f(-0.46000)*/
+{12, 0,123,__LINE__, 0x3ff1a5c4, 0x00000000, 0xbfdccccc, 0xccccccc0}, /* 1.10297=f(-0.45000)*/
+{12, 0,123,__LINE__, 0x3ff192ee, 0x60000000, 0xbfdc28f5, 0xc28f5c1c}, /* 1.09837=f(-0.44000)*/
+{12, 0,123,__LINE__, 0x3ff1808b, 0xc0000000, 0xbfdb851e, 0xb851eb78}, /* 1.09388=f(-0.43000)*/
+{12, 0,123,__LINE__, 0x3ff16e9c, 0x00000000, 0xbfdae147, 0xae147ad4}, /* 1.08950=f(-0.42000)*/
+{12, 0,123,__LINE__, 0x3ff15d1e, 0x60000000, 0xbfda3d70, 0xa3d70a30}, /* 1.08523=f(-0.41000)*/
+{12, 0,123,__LINE__, 0x3ff14c12, 0x80000000, 0xbfd99999, 0x9999998c}, /* 1.08107=f(-0.40000)*/
+{12, 0,123,__LINE__, 0x3ff13b78, 0x20000000, 0xbfd8f5c2, 0x8f5c28e8}, /* 1.07701=f(-0.39000)*/
+{12, 0,123,__LINE__, 0x3ff12b4e, 0xa0000000, 0xbfd851eb, 0x851eb844}, /* 1.07307=f(-0.38000)*/
+{12, 0,123,__LINE__, 0x3ff11b95, 0xa0000000, 0xbfd7ae14, 0x7ae147a0}, /* 1.06923=f(-0.37000)*/
+{12, 0,123,__LINE__, 0x3ff10c4c, 0xc0000000, 0xbfd70a3d, 0x70a3d6fc}, /* 1.06550=f(-0.36000)*/
+{12, 0,123,__LINE__, 0x3ff0fd73, 0xa0000000, 0xbfd66666, 0x66666658}, /* 1.06187=f(-0.35000)*/
+{12, 0,123,__LINE__, 0x3ff0ef09, 0xe0000000, 0xbfd5c28f, 0x5c28f5b4}, /* 1.05835=f(-0.34000)*/
+{12, 0,123,__LINE__, 0x3ff0e10f, 0x00000000, 0xbfd51eb8, 0x51eb8510}, /* 1.05494=f(-0.33000)*/
+{12, 0,123,__LINE__, 0x3ff0d382, 0xc0000000, 0xbfd47ae1, 0x47ae146c}, /* 1.05163=f(-0.32000)*/
+{12, 0,123,__LINE__, 0x3ff0c664, 0xe0000000, 0xbfd3d70a, 0x3d70a3c8}, /* 1.04843=f(-0.31000)*/
+{12, 0,123,__LINE__, 0x3ff0b9b4, 0xe0000000, 0xbfd33333, 0x33333324}, /* 1.04533=f(-0.30000)*/
+{12, 0,123,__LINE__, 0x3ff0ad72, 0x80000000, 0xbfd28f5c, 0x28f5c280}, /* 1.04234=f(-0.29000)*/
+{12, 0,123,__LINE__, 0x3ff0a19d, 0x80000000, 0xbfd1eb85, 0x1eb851dc}, /* 1.03945=f(-0.28000)*/
+{12, 0,123,__LINE__, 0x3ff09635, 0x60000000, 0xbfd147ae, 0x147ae138}, /* 1.03667=f(-0.27000)*/
+{12, 0,123,__LINE__, 0x3ff08b3a, 0x00000000, 0xbfd0a3d7, 0x0a3d7094}, /* 1.03399=f(-0.26000)*/
+{12, 0,123,__LINE__, 0x3ff080ab, 0x00000000, 0xbfcfffff, 0xffffffe0}, /* 1.03141=f(-0.25000)*/
+{12, 0,123,__LINE__, 0x3ff07688, 0x40000000, 0xbfceb851, 0xeb851e98}, /* 1.02893=f(-0.24000)*/
+{12, 0,123,__LINE__, 0x3ff06cd1, 0x60000000, 0xbfcd70a3, 0xd70a3d50}, /* 1.02656=f(-0.23000)*/
+{12, 0,123,__LINE__, 0x3ff06386, 0x00000000, 0xbfcc28f5, 0xc28f5c08}, /* 1.02429=f(-0.22000)*/
+{12, 0,123,__LINE__, 0x3ff05aa6, 0x20000000, 0xbfcae147, 0xae147ac0}, /* 1.02213=f(-0.21000)*/
+{12, 0,123,__LINE__, 0x3ff05231, 0x80000000, 0xbfc99999, 0x99999978}, /* 1.02006=f(-0.20000)*/
+{12, 0,123,__LINE__, 0x3ff04a27, 0xc0000000, 0xbfc851eb, 0x851eb830}, /* 1.01810=f(-0.19000)*/
+{12, 0,123,__LINE__, 0x3ff04288, 0xe0000000, 0xbfc70a3d, 0x70a3d6e8}, /* 1.01624=f(-0.18000)*/
+{12, 0,123,__LINE__, 0x3ff03b54, 0x60000000, 0xbfc5c28f, 0x5c28f5a0}, /* 1.01448=f(-0.17000)*/
+{12, 0,123,__LINE__, 0x3ff0348a, 0x60000000, 0xbfc47ae1, 0x47ae1458}, /* 1.01282=f(-0.16000)*/
+{12, 0,123,__LINE__, 0x3ff02e2a, 0xa0000000, 0xbfc33333, 0x33333310}, /* 1.01127=f(-0.15000)*/
+{12, 0,123,__LINE__, 0x3ff02834, 0xe0000000, 0xbfc1eb85, 0x1eb851c8}, /* 1.00981=f(-0.14000)*/
+{12, 0,123,__LINE__, 0x3ff022a9, 0x00000000, 0xbfc0a3d7, 0x0a3d7080}, /* 1.00846=f(-0.13000)*/
+{12, 0,123,__LINE__, 0x3ff01d86, 0xc0000000, 0xbfbeb851, 0xeb851e71}, /* 1.00720=f(-0.12000)*/
+{12, 0,123,__LINE__, 0x3ff018ce, 0x40000000, 0xbfbc28f5, 0xc28f5be2}, /* 1.00605=f(-0.11000)*/
+{12, 0,123,__LINE__, 0x3ff0147f, 0x40000000, 0xbfb99999, 0x99999953}, /* 1.00500=f(-0.00100)*/
+{12, 0,123,__LINE__, 0x3ff01099, 0xa0000000, 0xbfb70a3d, 0x70a3d6c4}, /* 1.00405=f(-0.09000)*/
+{12, 0,123,__LINE__, 0x3ff00d1d, 0x40000000, 0xbfb47ae1, 0x47ae1435}, /* 1.00320=f(-0.08000)*/
+{12, 0,123,__LINE__, 0x3ff00a0a, 0x00000000, 0xbfb1eb85, 0x1eb851a6}, /* 1.00245=f(-0.07000)*/
+{12, 0,123,__LINE__, 0x3ff00760, 0x00000000, 0xbfaeb851, 0xeb851e2d}, /* 1.00180=f(-0.06000)*/
+{12, 0,123,__LINE__, 0x3ff0051f, 0x00000000, 0xbfa99999, 0x9999990e}, /* 1.00125=f(-0.05000)*/
+{12, 0,123,__LINE__, 0x3ff00347, 0x00000000, 0xbfa47ae1, 0x47ae13ef}, /* 1.00080=f(-0.04000)*/
+{12, 0,123,__LINE__, 0x3ff001d7, 0xe0000000, 0xbf9eb851, 0xeb851da0}, /* 1.00045=f(-0.03000)*/
+{12, 0,123,__LINE__, 0x3ff000d1, 0xc0000000, 0xbf947ae1, 0x47ae1362}, /* 1.00020=f(-0.02000)*/
+{12, 0,123,__LINE__, 0x3ff00034, 0x60000000, 0xbf847ae1, 0x47ae1249}, /* 1.00005=f(-0.00010)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3cd19000, 0x00000000}, /* 1.00000=f(9.74915e-16)*/
+{12, 0,123,__LINE__, 0x3ff00034, 0x60000000, 0x3f847ae1, 0x47ae16ad}, /* 1.00005=f(0.01000)*/
+{12, 0,123,__LINE__, 0x3ff000d1, 0xc0000000, 0x3f947ae1, 0x47ae1594}, /* 1.00020=f(0.02000)*/
+{12, 0,123,__LINE__, 0x3ff001d7, 0xe0000000, 0x3f9eb851, 0xeb851fd2}, /* 1.00045=f(0.03000)*/
+{12, 0,123,__LINE__, 0x3ff00347, 0x00000000, 0x3fa47ae1, 0x47ae1508}, /* 1.00080=f(0.04000)*/
+{12, 0,123,__LINE__, 0x3ff0051f, 0x00000000, 0x3fa99999, 0x99999a27}, /* 1.00125=f(0.05000)*/
+{12, 0,123,__LINE__, 0x3ff00760, 0x00000000, 0x3faeb851, 0xeb851f46}, /* 1.00180=f(0.06000)*/
+{12, 0,123,__LINE__, 0x3ff00a0a, 0x00000000, 0x3fb1eb85, 0x1eb85232}, /* 1.00245=f(0.07000)*/
+{12, 0,123,__LINE__, 0x3ff00d1d, 0x40000000, 0x3fb47ae1, 0x47ae14c1}, /* 1.00320=f(0.08000)*/
+{12, 0,123,__LINE__, 0x3ff01099, 0xa0000000, 0x3fb70a3d, 0x70a3d750}, /* 1.00405=f(0.09000)*/
+{12, 0,123,__LINE__, 0x3ff0147f, 0x40000000, 0x3fb99999, 0x999999df}, /* 1.00500=f(0.10000)*/
+{12, 0,123,__LINE__, 0x3ff018ce, 0x40000000, 0x3fbc28f5, 0xc28f5c6e}, /* 1.00605=f(0.11000)*/
+{12, 0,123,__LINE__, 0x3ff01d86, 0xc0000000, 0x3fbeb851, 0xeb851efd}, /* 1.00720=f(0.12000)*/
+{12, 0,123,__LINE__, 0x3ff022a9, 0x00000000, 0x3fc0a3d7, 0x0a3d70c6}, /* 1.00846=f(0.13000)*/
+{12, 0,123,__LINE__, 0x3ff02834, 0xe0000000, 0x3fc1eb85, 0x1eb8520e}, /* 1.00981=f(0.14000)*/
+{12, 0,123,__LINE__, 0x3ff02e2a, 0xa0000000, 0x3fc33333, 0x33333356}, /* 1.01127=f(0.15000)*/
+{12, 0,123,__LINE__, 0x3ff0348a, 0x60000000, 0x3fc47ae1, 0x47ae149e}, /* 1.01282=f(0.16000)*/
+{12, 0,123,__LINE__, 0x3ff03b54, 0x60000000, 0x3fc5c28f, 0x5c28f5e6}, /* 1.01448=f(0.17000)*/
+{12, 0,123,__LINE__, 0x3ff04288, 0xe0000000, 0x3fc70a3d, 0x70a3d72e}, /* 1.01624=f(0.18000)*/
+{12, 0,123,__LINE__, 0x3ff04a27, 0xc0000000, 0x3fc851eb, 0x851eb876}, /* 1.01810=f(0.19000)*/
+{12, 0,123,__LINE__, 0x3ff05231, 0x80000000, 0x3fc99999, 0x999999be}, /* 1.02006=f(0.20000)*/
+{12, 0,123,__LINE__, 0x3ff05aa6, 0x20000000, 0x3fcae147, 0xae147b06}, /* 1.02213=f(0.21000)*/
+{12, 0,123,__LINE__, 0x3ff06386, 0x00000000, 0x3fcc28f5, 0xc28f5c4e}, /* 1.02429=f(0.22000)*/
+{12, 0,123,__LINE__, 0x3ff06cd1, 0x60000000, 0x3fcd70a3, 0xd70a3d96}, /* 1.02656=f(0.23000)*/
+{12, 0,123,__LINE__, 0x3ff07688, 0x40000000, 0x3fceb851, 0xeb851ede}, /* 1.02893=f(0.24000)*/
+{12, 0,123,__LINE__, 0x3ff080ab, 0x00000000, 0x3fd00000, 0x00000013}, /* 1.03141=f(0.25000)*/
+{12, 0,123,__LINE__, 0x3ff08b3a, 0x00000000, 0x3fd0a3d7, 0x0a3d70b7}, /* 1.03399=f(0.26000)*/
+{12, 0,123,__LINE__, 0x3ff09635, 0x60000000, 0x3fd147ae, 0x147ae15b}, /* 1.03667=f(0.27000)*/
+{12, 0,123,__LINE__, 0x3ff0a19d, 0x80000000, 0x3fd1eb85, 0x1eb851ff}, /* 1.03945=f(0.28000)*/
+{12, 0,123,__LINE__, 0x3ff0ad72, 0x80000000, 0x3fd28f5c, 0x28f5c2a3}, /* 1.04234=f(0.29000)*/
+{12, 0,123,__LINE__, 0x3ff0b9b4, 0xe0000000, 0x3fd33333, 0x33333347}, /* 1.04533=f(0.30000)*/
+{12, 0,123,__LINE__, 0x3ff0c664, 0xe0000000, 0x3fd3d70a, 0x3d70a3eb}, /* 1.04843=f(0.31000)*/
+{12, 0,123,__LINE__, 0x3ff0d382, 0xc0000000, 0x3fd47ae1, 0x47ae148f}, /* 1.05163=f(0.32000)*/
+{12, 0,123,__LINE__, 0x3ff0e10f, 0x00000000, 0x3fd51eb8, 0x51eb8533}, /* 1.05494=f(0.33000)*/
+{12, 0,123,__LINE__, 0x3ff0ef09, 0xe0000000, 0x3fd5c28f, 0x5c28f5d7}, /* 1.05835=f(0.34000)*/
+{12, 0,123,__LINE__, 0x3ff0fd73, 0xa0000000, 0x3fd66666, 0x6666667b}, /* 1.06187=f(0.35000)*/
+{12, 0,123,__LINE__, 0x3ff10c4c, 0xc0000000, 0x3fd70a3d, 0x70a3d71f}, /* 1.06550=f(0.36000)*/
+{12, 0,123,__LINE__, 0x3ff11b95, 0xa0000000, 0x3fd7ae14, 0x7ae147c3}, /* 1.06923=f(0.37000)*/
+{12, 0,123,__LINE__, 0x3ff12b4e, 0xa0000000, 0x3fd851eb, 0x851eb867}, /* 1.07307=f(0.38000)*/
+{12, 0,123,__LINE__, 0x3ff13b78, 0x20000000, 0x3fd8f5c2, 0x8f5c290b}, /* 1.07701=f(0.39000)*/
+{12, 0,123,__LINE__, 0x3ff14c12, 0x80000000, 0x3fd99999, 0x999999af}, /* 1.08107=f(0.40000)*/
+{12, 0,123,__LINE__, 0x3ff15d1e, 0x60000000, 0x3fda3d70, 0xa3d70a53}, /* 1.08523=f(0.41000)*/
+{12, 0,123,__LINE__, 0x3ff16e9c, 0x00000000, 0x3fdae147, 0xae147af7}, /* 1.08950=f(0.42000)*/
+{12, 0,123,__LINE__, 0x3ff1808b, 0xc0000000, 0x3fdb851e, 0xb851eb9b}, /* 1.09388=f(0.43000)*/
+{12, 0,123,__LINE__, 0x3ff192ee, 0x60000000, 0x3fdc28f5, 0xc28f5c3f}, /* 1.09837=f(0.44000)*/
+{12, 0,123,__LINE__, 0x3ff1a5c4, 0x00000000, 0x3fdccccc, 0xcccccce3}, /* 1.10297=f(0.45000)*/
+{12, 0,123,__LINE__, 0x3ff1b90d, 0x60000000, 0x3fdd70a3, 0xd70a3d87}, /* 1.10767=f(0.46000)*/
+{12, 0,123,__LINE__, 0x3ff1cccb, 0x00000000, 0x3fde147a, 0xe147ae2b}, /* 1.11249=f(0.47000)*/
+{12, 0,123,__LINE__, 0x3ff1e0fd, 0x20000000, 0x3fdeb851, 0xeb851ecf}, /* 1.11742=f(0.48000)*/
+{12, 0,123,__LINE__, 0x3ff1f5a4, 0x80000000, 0x3fdf5c28, 0xf5c28f73}, /* 1.12247=f(0.49000)*/
+{12, 0,123,__LINE__, 0x3ff20ac1, 0x80000000, 0x3fe00000, 0x0000000b}, /* 1.12762=f(0.50000)*/
+{12, 0,123,__LINE__, 0x3ff22054, 0xe0000000, 0x3fe051eb, 0x851eb85d}, /* 1.13289=f(0.51000)*/
+{12, 0,123,__LINE__, 0x3ff2365e, 0xe0000000, 0x3fe0a3d7, 0x0a3d70af}, /* 1.13827=f(0.52000)*/
+{12, 0,123,__LINE__, 0x3ff24ce0, 0x60000000, 0x3fe0f5c2, 0x8f5c2901}, /* 1.14376=f(0.53000)*/
+{12, 0,123,__LINE__, 0x3ff263d9, 0xc0000000, 0x3fe147ae, 0x147ae153}, /* 1.14937=f(0.54000)*/
+{12, 0,123,__LINE__, 0x3ff27b4b, 0xa0000000, 0x3fe19999, 0x999999a5}, /* 1.15510=f(0.55000)*/
+{12, 0,123,__LINE__, 0x3ff29336, 0xa0000000, 0x3fe1eb85, 0x1eb851f7}, /* 1.16094=f(0.56000)*/
+{12, 0,123,__LINE__, 0x3ff2ab9b, 0x60000000, 0x3fe23d70, 0xa3d70a49}, /* 1.16689=f(0.57000)*/
+{12, 0,123,__LINE__, 0x3ff2c47a, 0x80000000, 0x3fe28f5c, 0x28f5c29b}, /* 1.17296=f(0.58000)*/
+{12, 0,123,__LINE__, 0x3ff2ddd4, 0xa0000000, 0x3fe2e147, 0xae147aed}, /* 1.17915=f(0.59000)*/
+{12, 0,123,__LINE__, 0x3ff2f7aa, 0x60000000, 0x3fe33333, 0x3333333f}, /* 1.18546=f(0.60000)*/
+{12, 0,123,__LINE__, 0x3ff311fc, 0x80000000, 0x3fe3851e, 0xb851eb91}, /* 1.19189=f(0.61000)*/
+{12, 0,123,__LINE__, 0x3ff32ccb, 0x80000000, 0x3fe3d70a, 0x3d70a3e3}, /* 1.19843=f(0.62000)*/
+{12, 0,123,__LINE__, 0x3ff34818, 0x20000000, 0x3fe428f5, 0xc28f5c35}, /* 1.20510=f(0.63000)*/
+{12, 0,123,__LINE__, 0x3ff363e3, 0x40000000, 0x3fe47ae1, 0x47ae1487}, /* 1.21188=f(0.64000)*/
+{12, 0,123,__LINE__, 0x3ff3802d, 0x60000000, 0x3fe4cccc, 0xccccccd9}, /* 1.21879=f(0.65000)*/
+{12, 0,123,__LINE__, 0x3ff39cf7, 0x60000000, 0x3fe51eb8, 0x51eb852b}, /* 1.22582=f(0.66000)*/
+{12, 0,123,__LINE__, 0x3ff3ba41, 0xe0000000, 0x3fe570a3, 0xd70a3d7d}, /* 1.23297=f(0.67000)*/
+{12, 0,123,__LINE__, 0x3ff3d80d, 0xa0000000, 0x3fe5c28f, 0x5c28f5cf}, /* 1.24024=f(0.68000)*/
+{12, 0,123,__LINE__, 0x3ff3f65b, 0x80000000, 0x3fe6147a, 0xe147ae21}, /* 1.24764=f(0.69000)*/
+{12, 0,123,__LINE__, 0x3ff4152c, 0x20000000, 0x3fe66666, 0x66666673}, /* 1.25516=f(0.70000)*/
+{12, 0,123,__LINE__, 0x3ff43480, 0x40000000, 0x3fe6b851, 0xeb851ec5}, /* 1.26281=f(0.71000)*/
+{12, 0,123,__LINE__, 0x3ff45459, 0x20000000, 0x3fe70a3d, 0x70a3d717}, /* 1.27059=f(0.72000)*/
+{12, 0,123,__LINE__, 0x3ff474b7, 0x00000000, 0x3fe75c28, 0xf5c28f69}, /* 1.27849=f(0.73000)*/
+{12, 0,123,__LINE__, 0x3ff4959a, 0xe0000000, 0x3fe7ae14, 0x7ae147bb}, /* 1.28652=f(0.74000)*/
+{12, 0,123,__LINE__, 0x3ff4b705, 0xc0000000, 0x3fe80000, 0x0000000d}, /* 1.29468=f(0.75000)*/
+{12, 0,123,__LINE__, 0x3ff4d8f8, 0x60000000, 0x3fe851eb, 0x851eb85f}, /* 1.30297=f(0.76000)*/
+{12, 0,123,__LINE__, 0x3ff4fb73, 0xa0000000, 0x3fe8a3d7, 0x0a3d70b1}, /* 1.31139=f(0.77000)*/
+{12, 0,123,__LINE__, 0x3ff51e78, 0x80000000, 0x3fe8f5c2, 0x8f5c2903}, /* 1.31993=f(0.78000)*/
+{12, 0,123,__LINE__, 0x3ff54207, 0xc0000000, 0x3fe947ae, 0x147ae155}, /* 1.32862=f(0.79000)*/
+{12, 0,123,__LINE__, 0x3ff56622, 0x40000000, 0x3fe99999, 0x999999a7}, /* 1.33743=f(0.80000)*/
+{12, 0,123,__LINE__, 0x3ff58ac9, 0x00000000, 0x3fe9eb85, 0x1eb851f9}, /* 1.34638=f(0.81000)*/
+{12, 0,123,__LINE__, 0x3ff5affc, 0xe0000000, 0x3fea3d70, 0xa3d70a4b}, /* 1.35546=f(0.82000)*/
+{12, 0,123,__LINE__, 0x3ff5d5be, 0xc0000000, 0x3fea8f5c, 0x28f5c29d}, /* 1.36468=f(0.83000)*/
+{12, 0,123,__LINE__, 0x3ff5fc0f, 0xe0000000, 0x3feae147, 0xae147aef}, /* 1.37403=f(0.84000)*/
+{12, 0,123,__LINE__, 0x3ff622f1, 0x40000000, 0x3feb3333, 0x33333341}, /* 1.38353=f(0.85000)*/
+{12, 0,123,__LINE__, 0x3ff64a63, 0x80000000, 0x3feb851e, 0xb851eb93}, /* 1.39316=f(0.86000)*/
+{12, 0,123,__LINE__, 0x3ff67268, 0x00000000, 0x3febd70a, 0x3d70a3e5}, /* 1.40293=f(0.87000)*/
+{12, 0,123,__LINE__, 0x3ff69aff, 0x80000000, 0x3fec28f5, 0xc28f5c37}, /* 1.41284=f(0.88000)*/
+{12, 0,123,__LINE__, 0x3ff6c42b, 0x20000000, 0x3fec7ae1, 0x47ae1489}, /* 1.42289=f(0.89000)*/
+{12, 0,123,__LINE__, 0x3ff6edec, 0x00000000, 0x3feccccc, 0xccccccdb}, /* 1.43308=f(0.90000)*/
+{12, 0,123,__LINE__, 0x3ff71843, 0x20000000, 0x3fed1eb8, 0x51eb852d}, /* 1.44342=f(0.91000)*/
+{12, 0,123,__LINE__, 0x3ff74331, 0x80000000, 0x3fed70a3, 0xd70a3d7f}, /* 1.45390=f(0.92000)*/
+{12, 0,123,__LINE__, 0x3ff76eb8, 0x80000000, 0x3fedc28f, 0x5c28f5d1}, /* 1.46453=f(0.93000)*/
+{12, 0,123,__LINE__, 0x3ff79ad9, 0x00000000, 0x3fee147a, 0xe147ae23}, /* 1.47530=f(0.94000)*/
+{12, 0,123,__LINE__, 0x3ff7c794, 0x20000000, 0x3fee6666, 0x66666675}, /* 1.48622=f(0.95000)*/
+{12, 0,123,__LINE__, 0x3ff7f4eb, 0x40000000, 0x3feeb851, 0xeb851ec7}, /* 1.49729=f(0.96000)*/
+{13, 0,123,__LINE__, 0x3ff822df, 0x60000000, 0x3fef0a3d, 0x70a3d719}, /* 1.50851=f(0.97000)*/
+{13, 0,123,__LINE__, 0x3ff85171, 0xa0000000, 0x3fef5c28, 0xf5c28f6b}, /* 1.51988=f(0.98000)*/
+{13, 0,123,__LINE__, 0x3ff880a3, 0x40000000, 0x3fefae14, 0x7ae147bd}, /* 1.53140=f(0.99000)*/
+{13, 0,123,__LINE__, 0x3ff8b075, 0x40000000, 0x3ff00000, 0x00000007}, /* 1.54308=f(1.00000)*/
+{13, 0,123,__LINE__, 0x3ff8e0e9, 0x40000000, 0x3ff028f5, 0xc28f5c30}, /* 1.55491=f(1.01000)*/
+{13, 0,123,__LINE__, 0x3ff91200, 0x60000000, 0x3ff051eb, 0x851eb859}, /* 1.56689=f(1.02000)*/
+{13, 0,123,__LINE__, 0x3ff943bb, 0xa0000000, 0x3ff07ae1, 0x47ae1482}, /* 1.57903=f(1.03000)*/
+{13, 0,123,__LINE__, 0x3ff9761c, 0xa0000000, 0x3ff0a3d7, 0x0a3d70ab}, /* 1.59133=f(1.04000)*/
+{13, 0,123,__LINE__, 0x3ff9a924, 0x40000000, 0x3ff0cccc, 0xccccccd4}, /* 1.60379=f(1.05000)*/
+{13, 0,123,__LINE__, 0x3ff9dcd4, 0x40000000, 0x3ff0f5c2, 0x8f5c28fd}, /* 1.61641=f(1.06000)*/
+{13, 0,123,__LINE__, 0x3ffa112d, 0xc0000000, 0x3ff11eb8, 0x51eb8526}, /* 1.62919=f(1.07000)*/
+{13, 0,123,__LINE__, 0x3ffa4632, 0x20000000, 0x3ff147ae, 0x147ae14f}, /* 1.64213=f(1.08000)*/
+{13, 0,123,__LINE__, 0x3ffa7be2, 0xa0000000, 0x3ff170a3, 0xd70a3d78}, /* 1.65524=f(1.09000)*/
+{13, 0,123,__LINE__, 0x3ffab240, 0xa0000000, 0x3ff19999, 0x999999a1}, /* 1.66851=f(1.10000)*/
+{13, 0,123,__LINE__, 0x3ffae94d, 0x80000000, 0x3ff1c28f, 0x5c28f5ca}, /* 1.68195=f(1.11000)*/
+{13, 0,123,__LINE__, 0x3ffb210b, 0x00000000, 0x3ff1eb85, 0x1eb851f3}, /* 1.69556=f(1.12000)*/
+{13, 0,123,__LINE__, 0x3ffb597a, 0x00000000, 0x3ff2147a, 0xe147ae1c}, /* 1.70934=f(1.13000)*/
+{13, 0,123,__LINE__, 0x3ffb929c, 0x60000000, 0x3ff23d70, 0xa3d70a45}, /* 1.72329=f(1.14000)*/
+{13, 0,123,__LINE__, 0x3ffbcc73, 0x80000000, 0x3ff26666, 0x6666666e}, /* 1.73741=f(1.15000)*/
+{14, 0,123,__LINE__, 0x3ffc0700, 0xa0000000, 0x3ff28f5c, 0x28f5c297}, /* 1.75171=f(1.16000)*/
+{14, 0,123,__LINE__, 0x3ffc4245, 0xa0000000, 0x3ff2b851, 0xeb851ec0}, /* 1.76618=f(1.17000)*/
+{14, 0,123,__LINE__, 0x3ffc7e43, 0xe0000000, 0x3ff2e147, 0xae147ae9}, /* 1.78082=f(1.18000)*/
+{14, 0,123,__LINE__, 0x3ffcbafc, 0xe0000000, 0x3ff30a3d, 0x70a3d712}, /* 1.79565=f(1.19000)*/
+{ 9, 0,123,__LINE__, 0x4070bbf2, 0x80000000, 0xc01921fb, 0x54442d18}, /* 267.746=f(-6.28318)*/
+{ 9, 0,123,__LINE__, 0x404bd4e9, 0x80000000, 0xc012d97c, 0x7f3321d2}, /* 55.6633=f(-4.71238)*/
+{ 8, 0,123,__LINE__, 0x40272f14, 0x80000000, 0xc00921fb, 0x54442d18}, /* 11.5919=f(-3.14159)*/
+{ 1, 0,123,__LINE__, 0x400412cc, 0x40000000, 0xbff921fb, 0x54442d18}, /* 2.50917=f(-1.57079)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x00000000, 0x00000000}, /* 1.00000=f(0.00000)*/
+{ 1, 0,123,__LINE__, 0x400412cc, 0x40000000, 0x3ff921fb, 0x54442d18}, /* 2.50917=f(1.57079)*/
+{ 8, 0,123,__LINE__, 0x40272f14, 0x80000000, 0x400921fb, 0x54442d18}, /* 11.5919=f(3.14159)*/
+{ 9, 0,123,__LINE__, 0x404bd4e9, 0x80000000, 0x4012d97c, 0x7f3321d2}, /* 55.6633=f(4.71238)*/
+{ 6, 0,123,__LINE__, 0x42937046, 0x40000000, 0xc03e0000, 0x00000000}, /* 5.34323e+12=f(-30.0000)*/
+{ 6, 0,123,__LINE__, 0x426c68a8, 0x80000000, 0xc03c4ccc, 0xcccccccd}, /* 9.76120e+11=f(-28.3000)*/
+{ 6, 0,123,__LINE__, 0x4244c263, 0x20000000, 0xc03a9999, 0x9999999a}, /* 1.78321e+11=f(-26.6000)*/
+{ 6, 0,123,__LINE__, 0x421e56cc, 0x40000000, 0xc038e666, 0x66666667}, /* 3.25763e+10=f(-24.9000)*/
+{ 7, 0,123,__LINE__, 0x41f62b78, 0xe0000000, 0xc0373333, 0x33333334}, /* 5.95116e+09=f(-23.2000)*/
+{ 7, 0,123,__LINE__, 0x41d03342, 0xe0000000, 0xc0358000, 0x00000001}, /* 1.08718e+09=f(-21.5000)*/
+{ 7, 0,123,__LINE__, 0x41a7ad15, 0x80000000, 0xc033cccc, 0xccccccce}, /* 1.98610e+08=f(-19.8000)*/
+{ 7, 0,123,__LINE__, 0x41814d0b, 0xe0000000, 0xc0321999, 0x9999999b}, /* 3.62827e+07=f(-18.1000)*/
+{ 7, 0,123,__LINE__, 0x415948e7, 0x20000000, 0xc0306666, 0x66666668}, /* 6.62825e+06=f(-16.4000)*/
+{ 7, 0,123,__LINE__, 0x413279fa, 0x40000000, 0xc02d6666, 0x6666666a}, /* 1.21087e+06=f(-14.7000)*/
+{ 7, 0,123,__LINE__, 0x410b00b6, 0x80000000, 0xc02a0000, 0x00000004}, /* 221206=f(-13.0000)*/
+{ 8, 0,123,__LINE__, 0x40e3bb5a, 0x20000000, 0xc0269999, 0x9999999e}, /* 40410=f(-11.3000)*/
+{ 8, 0,123,__LINE__, 0x40bcd664, 0x40000000, 0xc0233333, 0x33333338}, /* 7382.39=f(-9.60000)*/
+{ 8, 0,123,__LINE__, 0x40951291, 0x20000000, 0xc01f9999, 0x999999a3}, /* 1348.64=f(-7.90000)*/
+{ 9, 0,123,__LINE__, 0x406ecc03, 0xa0000000, 0xc018cccc, 0xccccccd6}, /* 246.375=f(-6.20000)*/
+{ 9, 0,123,__LINE__, 0x404681ce, 0xc0000000, 0xc0120000, 0x00000009}, /* 45.0141=f(-4.50000)*/
+{11, 0,123,__LINE__, 0x40208165, 0xa0000000, 0xc0066666, 0x66666678}, /* 8.25272=f(-2.80000)*/
+{13, 0,123,__LINE__, 0x3ffab240, 0xa0000000, 0xbff19999, 0x999999bd}, /* 1.66851=f(-1.10000)*/
+{12, 0,123,__LINE__, 0x3ff2f7aa, 0x60000000, 0x3fe33333, 0x333332ec}, /* 1.18546=f(0.60000)*/
+{11, 0,123,__LINE__, 0x4014261d, 0x20000000, 0x40026666, 0x66666654}, /* 5.03722=f(2.30000)*/
+{10, 0,123,__LINE__, 0x403b4ee8, 0x20000000, 0x400fffff, 0xffffffee}, /* 27.3082=f(4.00000)*/
+{ 9, 0,123,__LINE__, 0x4062adee, 0x40000000, 0x4016cccc, 0xccccccc4}, /* 149.435=f(5.70000)*/
+{ 8, 0,123,__LINE__, 0x40898ff0, 0xa0000000, 0x401d9999, 0x99999991}, /* 817.992=f(7.40000)*/
+{ 8, 0,123,__LINE__, 0x40b17da6, 0x20000000, 0x40223333, 0x3333332f}, /* 4477.64=f(9.10000)*/
+{ 8, 0,123,__LINE__, 0x40d7ef9a, 0x60000000, 0x40259999, 0x99999995}, /* 24510=f(10.8000)*/
+{ 7, 0,123,__LINE__, 0x410060c5, 0x80000000, 0x4028ffff, 0xfffffffb}, /* 134168=f(12.5000)*/
+{ 7, 0,123,__LINE__, 0x412669c0, 0x80000000, 0x402c6666, 0x66666661}, /* 734432=f(14.2000)*/
+{ 7, 0,123,__LINE__, 0x414eac09, 0x80000000, 0x402fcccc, 0xccccccc7}, /* 4.02024e+06=f(15.9000)*/
+{ 7, 0,123,__LINE__, 0x4174fcb4, 0x40000000, 0x40319999, 0x99999997}, /* 2.20066e+07=f(17.6000)*/
+{ 7, 0,123,__LINE__, 0x419cb879, 0x60000000, 0x40334ccc, 0xccccccca}, /* 1.20463e+08=f(19.3000)*/
+{ 7, 0,123,__LINE__, 0x41c3a6e1, 0xa0000000, 0x4034ffff, 0xfffffffd}, /* 6.59408e+08=f(21.0000)*/
+{ 7, 0,123,__LINE__, 0x41eae4b4, 0x20000000, 0x4036b333, 0x33333330}, /* 3.60957e+09=f(22.7000)*/
+{ 6, 0,123,__LINE__, 0x421266cf, 0xe0000000, 0x40386666, 0x66666663}, /* 1.97586e+10=f(24.4000)*/
+{ 6, 0,123,__LINE__, 0x42392ead, 0x00000000, 0x403a1999, 0x99999996}, /* 1.08157e+11=f(26.1000)*/
+{ 6, 0,123,__LINE__, 0x42613b16, 0xc0000000, 0x403bcccc, 0xccccccc9}, /* 5.92046e+11=f(27.8000)*/
+{ 6, 0,123,__LINE__, 0x42879486, 0x60000000, 0x403d7fff, 0xfffffffc}, /* 3.24083e+12=f(29.5000)*/
+0,};
+test_coshf(m) {run_vector_1(m,coshf_vec,(char *)(coshf),"coshf","ff"); }
diff --git a/newlib/libm/test/dcvt.c b/newlib/libm/test/dcvt.c
new file mode 100644
index 00000000000..2aaa1af28ad
--- /dev/null
+++ b/newlib/libm/test/dcvt.c
@@ -0,0 +1,605 @@
+
+
+#include <limits.h>
+#include <math.h>
+#include <stdio.h>
+#include <float.h>
+#include <ieeefp.h>
+#include <stdlib.h>
+#include <string.h>
+#define _MAX_CHARS 512
+
+static char *lcset = "0123456789abcdef";
+
+static struct p {
+ double pvalue, nvalue;
+ int exp;
+} powers[] =
+{
+{ 1e32, 1e-32, 32},
+{ 1e16, 1e-16, 16},
+{ 1e8, 1e-8, 8},
+{ 1e4, 1e-4, 4},
+{ 1e2, 1e-2, 2},
+{ 1e1, 1e-1, 1 },
+{ 1e0, 1e-0, 0 }
+};
+
+#define _MAX_PREC 16
+
+static char
+_DEFUN(nextdigit,(value),
+double *value)
+{
+ double tmp;
+
+ *value = modf (*value * 10, &tmp) ;
+ return lcset[(int)tmp];
+}
+
+
+static char *
+_DEFUN(print_nan,(buffer, value, precision),
+ char *buffer _AND
+ double value _AND
+ int precision)
+{
+ size_t i;
+
+ if (isnan(value))
+ {
+ strcpy(buffer, "nan");
+ i = 3;
+
+ }
+ else
+ {
+ strcpy(buffer, "infinity");
+ i = 8;
+ }
+
+ while (i < precision)
+ {
+ buffer[i++] = ' ';
+ }
+ buffer[i++] = 0;
+ return buffer;
+
+}
+
+/* A convert info struct */
+typedef struct
+{
+ char *buffer ; /* Destination of conversion */
+ double value; /* scratch Value to convert */
+ double original_value; /* saved Value to convert */
+ int value_neg; /* OUT: 1 if value initialiy neg */
+ int abs_exp; /* abs Decimal exponent of value */
+ int abs_exp_sign; /* + or - */
+ int exp; /* exp not sgned */
+ int type; /* fFeEgG used in printing before exp */
+
+ int print_trailing_zeros; /* Print 00's after a . */
+
+ int null_idx; /* Index of the null at the end */
+
+/* These ones are read only */
+ int decimal_places; /* the number of digits to print after
+ the decimal */
+ int max_digits; /* total number of digits to print */
+ int buffer_size; /* Size of output buffer */
+
+ /* Two sorts of dot ness.
+ 0 never ever print a dot
+ 1 print a dot if followed by a digit
+ 2 always print a dot, even if no digit following
+ */
+ enum { dot_never, dot_sometimes, dot_always} dot; /* Print a decimal point, always */
+ int dot_idx; /* where the dot went, or would have gone */
+} cvt_info_type;
+
+
+void
+_DEFUN(renormalize,(in),
+ cvt_info_type *in)
+{
+
+ /* Make sure all numbers are less than 1 */
+
+ while (in->value >= 1.0)
+ {
+ in->value = in->value * 0.1;
+ in->exp++;
+ }
+
+ /* Now we have only numbers between 0 and .9999.., and have adjusted
+ exp to account for the shift */
+
+ if (in->exp >= 0)
+ {
+ in->abs_exp_sign = '+';
+ in->abs_exp = in->exp;
+ }
+ else
+ {
+ in->abs_exp_sign = '-';
+ in->abs_exp = -in->exp;
+ }
+
+}
+
+/* This routine looks at original_value, and makes it between 0 and 1,
+ modifying exp as it goes
+ */
+
+static void
+_DEFUN(normalize,(value, in),
+ double value _AND
+ cvt_info_type *in)
+{
+ int j;
+ int texp;
+ if (value != 0)
+ {
+ texp = -1;
+
+
+ if (value < 0.0)
+ {
+ in->value_neg =1 ;
+ value = - value;
+ }
+ else
+ {
+ in->value_neg = 0;
+ }
+
+
+ /* Work out texponent & normalise value */
+
+ /* If value > 1, then shrink it */
+ if (value >= 1.0)
+ {
+ for (j = 0; j < 6; j++)
+ {
+ while (value >= powers[j].pvalue)
+ {
+ value /= powers[j].pvalue;
+ texp += powers[j].exp;
+ }
+ }
+ }
+ else if (value != 0.0)
+ {
+ for (j = 0; j < 6; j++)
+ {
+ while (value <= powers[j].nvalue)
+ {
+ value *= powers[j].pvalue;
+ texp -= powers[j].exp;
+ }
+ }
+ }
+ }
+
+ else
+ {
+ texp = 0;
+ }
+
+
+ in->exp = texp;
+ in->value = value;
+ in->original_value = value;
+ renormalize(in);
+
+}
+int
+_DEFUN(round,(in, start, now, ch),
+ cvt_info_type *in _AND
+ char *start _AND
+ char *now _AND
+ char ch)
+{
+ double rounder = 5.0;
+
+ char *p;
+ int ok = 0;
+
+ now --;
+
+ /* If the next digit to output would have been a '5' run back and */
+ /* see if we can create a more rounded number. If we can then do it.
+ If not (like when the number was 9.9 and the last char was
+ another 9), then we'll have to modify the number and try again */
+ if (ch < '5')
+ return 0;
+
+
+ for (p = now;!ok && p >= start; p--)
+ {
+ switch (*p)
+ {
+ default:
+ abort();
+ case '.':
+ break;
+ case '9':
+ rounder = rounder * 0.1;
+ break;
+ case '8':
+ case '7':
+ case '6':
+ case '5':
+ case '4':
+ case '3':
+ case '2':
+ case '1':
+ case '0':
+ p = now;
+ while (1) {
+ if (*p == '9') {
+ *p = '0';
+ }
+ else if (*p != '.') {
+ (*p)++;
+ return 0;
+ }
+ p--;
+ }
+ }
+
+ }
+
+ /* Getting here means that we couldn't round the number in place
+ textually - there have been all nines.
+ We'll have to add to it and try the conversion again
+ eg
+ .99999[9] can't be rounded in place, so add
+ .000005 to it giving:
+ 1.000004 we notice that the result is > 1 so add to exp and
+ divide by 10
+ .100004
+ */
+
+ in->original_value = in->value = in->original_value + rounder;
+ normalize(in->original_value , in);
+ return 1;
+
+
+}
+
+
+
+void
+_DEFUN(_cvte,(in),
+ register cvt_info_type *in)
+{
+ int buffer_idx =0;
+ int digit = 0;
+
+ int after_decimal =0;
+
+ in->buffer[buffer_idx++] = nextdigit(&(in->value));
+ digit++;
+ in->dot_idx = buffer_idx;
+
+
+ switch (in->dot)
+ {
+ case dot_never:
+ break;
+ case dot_sometimes:
+ if (in->decimal_places
+ && digit < in->max_digits)
+ {
+ in->buffer[buffer_idx++] = '.';
+ }
+ break;
+ case dot_always:
+ in->buffer[buffer_idx++] = '.';
+ }
+
+
+ while (buffer_idx < in->buffer_size
+ && after_decimal < in->decimal_places
+ && digit < in->max_digits)
+ {
+ in->buffer[buffer_idx] = nextdigit(&(in->value));
+ after_decimal++;
+ buffer_idx++;
+ digit++;
+
+ }
+
+ if (round(in,
+ in->buffer,
+ in->buffer+buffer_idx,
+ nextdigit(&(in->value))))
+ {
+ _cvte(in);
+ }
+ else
+ {
+ in->buffer[buffer_idx++] = in->type;
+ in->buffer[buffer_idx++] = in->abs_exp_sign;
+
+ if (in->abs_exp >= 100)
+ {
+ in->buffer[buffer_idx++] = lcset[in->abs_exp / 100];
+ in->abs_exp %= 100;
+ }
+ in->buffer[buffer_idx++] = lcset[in->abs_exp / 10];
+ in->buffer[buffer_idx++] = lcset[in->abs_exp % 10];
+ }
+
+ in->buffer[buffer_idx++] = 0;
+}
+
+
+
+
+/* Produce NNNN.FFFF */
+void
+_DEFUN(_cvtf,(in),
+ cvt_info_type *in)
+{
+
+ int buffer_idx = 0; /* Current char being output */
+ int after_decimal = 0;
+ int digit =0;
+
+
+ in->dot_idx = in->exp + 1;
+
+ /* Two sorts of number, NNN.FFF and 0.0000...FFFF */
+
+
+ /* Print all the digits up to the decimal point */
+
+ while (buffer_idx <= in->exp
+ && digit < in->max_digits
+ && buffer_idx < in->buffer_size)
+ {
+ in->buffer[buffer_idx] = nextdigit(&(in->value));
+ buffer_idx++;
+ digit ++;
+ }
+
+
+ /* And the decimal point if we should */
+ if (buffer_idx < in->buffer_size)
+ {
+
+ switch (in->dot)
+ {
+ case dot_never:
+ break;
+ case dot_sometimes:
+ /* Only print a dot if following chars */
+ if (in->decimal_places
+ && digit < in->max_digits )
+ {
+ in->buffer[buffer_idx++] = '.';
+ }
+
+ break;
+ case dot_always:
+ in->buffer[buffer_idx++] = '.';
+ }
+
+ after_decimal = 0;
+
+ /* And the digits following the point if necessary */
+
+ /* Only print the leading zeros if a dot was possible */
+ if (in->dot || in->exp>0)
+ {
+ while (buffer_idx < in->buffer_size
+ && (in->abs_exp_sign == '-' && digit < in->abs_exp - 1)
+ && (after_decimal < in->decimal_places)
+ && (digit < in->max_digits))
+ {
+ in->buffer[buffer_idx] = '0';
+ buffer_idx++;
+ digit++;
+ after_decimal++;
+ }
+ }
+
+ while (buffer_idx < in->buffer_size
+ && after_decimal < in->decimal_places
+ && digit < in->max_digits)
+ {
+ in->buffer[buffer_idx] = nextdigit(&(in->value));
+ buffer_idx++;
+ digit++;
+ after_decimal++;
+ }
+ }
+
+ in->null_idx = buffer_idx;
+ in->buffer[buffer_idx] = 0;
+ if (round(in, in->buffer, in->buffer+buffer_idx,
+ nextdigit(&(in->value))))
+ {
+ _cvtf(in);
+ }
+
+
+
+
+}
+
+
+
+char *
+_DEFUN(_dcvt,(buffer, invalue, precision, width, type, dot),
+ char *buffer _AND
+ double invalue _AND
+ int precision _AND
+ int width _AND
+ char type _AND
+ int dot)
+{
+ cvt_info_type in;
+
+
+
+ in.buffer = buffer;
+ in.buffer_size = 512;
+
+ if (!finite(invalue))
+ {
+ return print_nan(buffer, invalue, precision);
+ }
+
+
+ normalize(invalue, &in);
+
+ in.type = type;
+ in.dot = dot? dot_always: dot_sometimes;
+
+ switch (type)
+ {
+
+ case 'g':
+ case 'G':
+ /* When formatting a g, the precision refers to the number of
+ char positions *total*, this leads to various off by ones */
+ {
+ /* A precision of 0 means 1 */
+ if (precision == 0)
+ precision = 1;
+
+ /* A g turns into an e if there are more digits than the
+ precision, or it's smaller than e-4 */
+ if (in.exp >= precision || in.exp < -4)
+ {
+ in.type = (type == 'g' ? 'e' : 'E');
+ in.decimal_places = _MAX_CHARS;
+ in.max_digits = precision;
+ in.print_trailing_zeros = 1;
+ _cvte(&in);
+ }
+ else
+ {
+ /* G means total number of chars to print */
+ in.decimal_places = _MAX_CHARS;
+ in.max_digits = precision;
+ in.type = (type == 'g' ? 'f' : 'F');
+ in.print_trailing_zeros = 0;
+ _cvtf(&in);
+
+ if (!dot) {
+ /* trim trailing zeros */
+ int j = in.null_idx -1;
+ while (j > 0 && in.buffer[j] == '0')
+ {
+ in.buffer[j] = 0;
+ j--;
+ }
+ /* Stamp on a . if not followed by zeros */
+ if (j > 0 && buffer[j] == '.')
+ in.buffer[j] = 0;
+ }
+ }
+
+
+ break;
+ case 'f':
+ case 'F':
+ in.decimal_places= precision;
+ in.max_digits = _MAX_CHARS;
+ in.print_trailing_zeros = 1;
+ _cvtf(&in);
+ break;
+ case 'e':
+ case 'E':
+ in.print_trailing_zeros = 1;
+ in.decimal_places = precision;
+ in.max_digits = _MAX_CHARS;
+ _cvte(&in);
+ break;
+ }
+
+ }
+
+
+ return buffer;
+}
+
+
+
+
+char *
+_DEFUN(fcvtbuf,(invalue,ndigit,decpt,sign, fcvt_buf),
+ double invalue _AND
+ int ndigit _AND
+ int *decpt _AND
+ int *sign _AND
+ char *fcvt_buf)
+{
+ cvt_info_type in;
+ in.buffer = fcvt_buf;
+ in.buffer_size = 512;
+
+ if (!finite(invalue))
+ {
+ return print_nan(fcvt_buf, invalue, ndigit);
+ }
+
+ normalize(invalue, &in);
+
+ in.dot = dot_never; /* Don't print a decimal point */
+ in.max_digits = _MAX_CHARS;
+ in.buffer_size = _MAX_CHARS; /* Take as many as needed */
+ in.decimal_places = ndigit;
+ _cvtf(&in);
+ *decpt = in.dot_idx;
+ *sign = in.value_neg;
+ return in.buffer;
+}
+
+
+char *
+_DEFUN(ecvtbuf,(invalue,ndigit,decpt,sign, fcvt_buf),
+ double invalue _AND
+ int ndigit _AND
+ int *decpt _AND
+ int *sign _AND
+ char *fcvt_buf)
+{
+ cvt_info_type in;
+ in.buffer = fcvt_buf;
+
+ if (!finite(invalue))
+ {
+ return print_nan(fcvt_buf, invalue, ndigit);
+ }
+
+ normalize(invalue, &in);
+
+
+ in.dot = dot_never; /* Don't print a decimal point */
+/* We can work out how many digits go after the decimal point */
+
+ in.buffer_size =_MAX_CHARS;
+ in.decimal_places = _MAX_CHARS;
+ in.max_digits = ndigit; /* Take as many as told */
+ _cvtf(&in);
+ *decpt = in.dot_idx;
+ *sign = in.value_neg;
+ return in.buffer;
+}
+
+
+
+char *
+_DEFUN(gcvt,(d,ndigit,buf),
+ double d _AND
+ int ndigit _AND
+ char *buf)
+{
+ return _dcvt(buf, d, ndigit, 0, 'g', 1);
+}
diff --git a/newlib/libm/test/dvec.c b/newlib/libm/test/dvec.c
new file mode 100644
index 00000000000..198faa18380
--- /dev/null
+++ b/newlib/libm/test/dvec.c
@@ -0,0 +1,602 @@
+#include "test.h"
+
+ddouble_type ddoubles[] = {
+__LINE__, 7.411456790099004e+08,"7411",4,9,0,"7411456790099",4,9,0,"7.411e+08",4,
+
+__LINE__, 6.779433073319225e-23,"6779433",7,-22,0,"6779433",7,-22,0,"6.779433e-23",7,
+
+__LINE__, 5.888272965262503e-03,"5888273",7,-2,0,"5888273",7,-2,0,".0058883",7,
+
+__LINE__, 1.705972712393192e-26,"17059727",8,-25,0,"17059727",8,-25,0,"1.7059727e-26",8,
+
+__LINE__, 5.790100803298969e-15,"6",1,-14,0,"6",1,-14,0,"6e-15",1,
+
+__LINE__, 7.563575126808102e-08,"7564",4,-7,0,"7564",4,-7,0,"7.564e-08",4,
+
+__LINE__, 2.065340498087056e+25,"206534",6,26,0,"20653404980870559981553924444597",6,26,0,"2.06534e+25",6,
+
+__LINE__, 1.047038124260123e+02,"1",1,3,0,"1047",1,3,0,"1e+02",1,
+
+__LINE__, 4.970783404568945e+28,"497",3,29,0,"49707834045689445190419064601883",3,29,0,"4.97e+28",3,
+
+__LINE__, 6.188542454563260e+02,"6",1,3,0,"6189",1,3,0,"6e+02",1,
+
+__LINE__, 1.913780290320816e+17,"191",3,18,0,"191378029032081631300",3,18,0,"1.91e+17",3,
+
+__LINE__, 6.911970810510094e-03,"691197",6,-2,0,"691197",6,-2,0,".006912",6,
+
+__LINE__, 6.530901390373796e-19,"7",1,-18,0,"7",1,-18,0,"7e-19",1,
+
+__LINE__, 1.688357491215602e+02,"168836",6,3,0,"168835749",6,3,0,"168.836",6,
+
+__LINE__, 1.347202777558724e-28,"13472028",8,-27,0,"13472028",8,-27,0,"1.3472028e-28",8,
+
+__LINE__, 4.198600486581023e+23,"42",2,24,0,"41986004865810233610545765",2,24,0,"4.2e+23",2,
+
+__LINE__, 6.626748168931517e-22,"66",2,-21,0,"66",2,-21,0,"6.6e-22",2,
+
+__LINE__, 8.271145287633235e+21,"82711",5,22,0,"827114528763323519910954928",5,22,0,"8.2711e+21",5,
+
+__LINE__, 2.569163640433771e+25,"3",1,26,0,"256916364043377054571237750",1,26,0,"3e+25",1,
+
+__LINE__, 7.764533336462913e-13,"776",3,-12,0,"776",3,-12,0,"7.76e-13",3,
+
+__LINE__, 4.619473758301567e-22,"46195",5,-21,0,"46195",5,-21,0,"4.6195e-22",5,
+
+__LINE__, 2.067935943396911e-13,"20679359",8,-12,0,"20679359",8,-12,0,"2.0679359e-13",8,
+
+__LINE__, 1.011355042357299e+02,"1011355",7,3,0,"1011355042",7,3,0,"101.1355",7,
+
+__LINE__, 4.814049311025340e+28,"5",1,29,0,"481404931102533950593169720378",1,29,0,"5e+28",1,
+
+__LINE__, 1.337365076329700e-30,"1337365",7,-29,0,"1337365",7,-29,0,"1.337365e-30",7,
+
+__LINE__, 9.501916506313627e-25,"950",3,-24,0,"950",3,-24,0,"9.50e-25",3,
+
+__LINE__, 1.529207539606606e-03,"15292",5,-2,0,"15292",5,-2,0,".00153",5,
+
+__LINE__, 4.077501222009158e+26,"408",3,27,0,"407750122200915754433481197339",3,27,0,"4.08e+26",3,
+
+__LINE__, 8.713312243134940e+00,"87133",5,1,0,"871331",5,1,0,"8.7133",5,
+
+__LINE__, 9.958770493219248e+29,"99587705",8,30,0,"99587704932192480100638931617140769958",8,30,0,"9.9587705e+29",8,
+
+__LINE__, 3.906559442060730e+27,"391",3,28,0,"3906559442060730447110472596250",3,28,0,"3.91e+27",3,
+
+__LINE__, 4.596864377904587e+09,"45968644",8,10,0,"459686437790458680",8,10,0,"4.5968644e+09",8,
+
+__LINE__, 1.011374744602721e+09,"10113747",8,10,0,"101137474460272125",8,10,0,"1.0113747e+09",8,
+
+__LINE__, 7.368531155948668e-29,"736853",6,-28,0,"736853",6,-28,0,"7.36853e-29",6,
+
+__LINE__, 9.501263936830290e-30,"9501264",7,-29,0,"9501264",7,-29,0,"9.501264e-30",7,
+
+__LINE__, 1.022516585955060e-21,"10",2,-20,0,"10",2,-20,0,"1.0e-21",2,
+
+__LINE__, 1.749461134391626e+03,"1749461",7,4,0,"17494611344",7,4,0,"1749.461",7,
+
+__LINE__, 1.597416186584641e+25,"159742",6,26,0,"15974161865846405738977864530170",6,26,0,"1.59742e+25",6,
+
+__LINE__, 1.191930545842576e-02,"1",1,-1,0,"1",1,-1,0,"",1,
+
+__LINE__, 4.401707995092183e-10,"440",3,-9,0,"440",3,-9,0,"4.40e-10",3,
+
+__LINE__, 5.842911524915387e-20,"5842912",7,-19,0,"5842912",7,-19,0,"5.842912e-20",7,
+
+__LINE__, 4.763038868476586e-17,"5",1,-16,0,"5",1,-16,0,"5e-17",1,
+
+__LINE__, 2.711250050689824e+04,"27112501",8,5,0,"2711250050690",8,5,0,"27112.501",8,
+
+__LINE__, 1.586825853752952e-28,"2",1,-27,0,"2",1,-27,0,"2e-28",1,
+
+__LINE__, 2.692606047104273e+11,"269261",6,12,0,"269260604710427298",6,12,0,"2.69261e+11",6,
+
+__LINE__, 3.179150601523438e+07,"3",1,8,0,"31791506",1,8,0,"3e+07",1,
+
+__LINE__, 2.504660553392644e+28,"2504661",7,29,0,"250466055339264359602680087846238166",7,29,0,"2.504661e+28",7,
+
+__LINE__, 2.337051102431064e+03,"2",1,4,0,"23371",1,4,0,"2e+03",1,
+
+__LINE__, 1.178118953346745e-26,"117812",6,-25,0,"117812",6,-25,0,"1.17812e-26",6,
+
+__LINE__, 3.686404114505492e-28,"36864041",8,-27,0,"36864041",8,-27,0,"3.6864041e-28",8,
+
+__LINE__, 5.762313620432176e+15,"5762314",7,16,0,"57623136204321756537183",7,16,0,"5.762314e+15",7,
+
+__LINE__, 4.452493864611241e-14,"44525",5,-13,0,"44525",5,-13,0,"4.4525e-14",5,
+
+__LINE__, 3.389385718740431e-19,"33893857",8,-18,0,"33893857",8,-18,0,"3.3893857e-19",8,
+
+__LINE__, 2.391576379695071e-10,"239",3,-9,0,"239",3,-9,0,"2.39e-10",3,
+
+__LINE__, 4.775469136289389e+28,"477547",6,29,0,"47754691362893888495477767719421536",6,29,0,"4.77547e+28",6,
+
+__LINE__, 1.880103319851404e-22,"18801033",8,-21,0,"18801033",8,-21,0,"1.8801033e-22",8,
+
+__LINE__, 3.623855580649127e-15,"36239",5,-14,0,"36239",5,-14,0,"3.6239e-15",5,
+
+__LINE__, 1.632057742810541e-14,"2",1,-13,0,"2",1,-13,0,"2e-14",1,
+
+__LINE__, 6.692624092583789e-22,"7",1,-21,0,"7",1,-21,0,"7e-22",1,
+
+__LINE__, 1.252002726173413e-16,"1252",4,-15,0,"1252",4,-15,0,"1.252e-16",4,
+
+__LINE__, 1.462408181475922e+10,"1462",4,11,0,"146240818147592",4,11,0,"1.462e+10",4,
+
+__LINE__, 4.005562902861667e+12,"4006",4,13,0,"40055629028616666",4,13,0,"4.006e+12",4,
+
+__LINE__, 1.131067062565773e-17,"1",1,-16,0,"1",1,-16,0,"1e-17",1,
+
+__LINE__, 2.397292973376075e+16,"2397293",7,17,0,"239729297337607505369306",7,17,0,"2.397293e+16",7,
+
+__LINE__, 1.247021255449452e+05,"124702",6,6,0,"124702125545",6,6,0,"124702",6,
+
+__LINE__, 3.222697929297968e-16,"32226979",8,-15,0,"32226979",8,-15,0,"3.2226979e-16",8,
+
+__LINE__, 5.930401483195766e-22,"59304015",8,-21,0,"59304015",8,-21,0,"5.9304015e-22",8,
+
+__LINE__, 1.741790451299310e-05,"2",1,-4,0,"2",1,-4,0,"2e-05",1,
+
+
+__LINE__, 5.560486576144616e-04,"56",2,-3,0,"56",2,-3,0,"",2,
+
+__LINE__, 3.721569132002345e+12,"4",1,13,0,"37215691320023",1,13,0,"4e+12",1,
+
+__LINE__, 5.602270485868007e+10,"56",2,11,0,"5602270485868",2,11,0,"5.6e+10",2,
+
+__LINE__, 1.872554953737922e-13,"187",3,-12,0,"187",3,-12,0,"1.87e-13",3,
+
+__LINE__, 3.078997528596941e+07,"308",3,8,0,"30789975286",3,8,0,"3.08e+07",3,
+
+__LINE__, 1.637490643914118e-06,"2",1,-5,0,"2",1,-5,0,"2e-06",1,
+
+__LINE__, 8.179181640418333e+24,"818",3,25,0,"8179181640418333287811947230",3,25,0,"8.18e+24",3,
+
+__LINE__, 6.171369234524714e-28,"6171",4,-27,0,"6171",4,-27,0,"6.171e-28",4,
+
+__LINE__, 1.791138795467072e+14,"18",2,15,0,"17911387954670723",2,15,0,"1.8e+14",2,
+
+__LINE__, 9.907740945357109e+25,"9907741",7,26,0,"990774094535710858622223895508796",7,26,0,"9.907741e+25",7,
+
+__LINE__, 2.530848135710619e-14,"253085",6,-13,0,"253085",6,-13,0,"2.53085e-14",6,
+
+__LINE__, 1.619815697846305e-25,"16198157",8,-24,0,"16198157",8,-24,0,"1.6198157e-25",8,
+
+__LINE__, 1.658806111939662e+06,"17",2,7,0,"165880611",2,7,0,"1.7e+06",2,
+
+__LINE__, 1.520841097485083e+25,"2",1,26,0,"152084109748508282677903480",1,26,0,"2e+25",1,
+
+__LINE__, 1.305213586757638e-18,"1305",4,-17,0,"1305",4,-17,0,"1.305e-18",4,
+
+__LINE__, 7.052058348992362e-12,"70520583",8,-11,0,"70520583",8,-11,0,"7.0520583e-12",8,
+
+__LINE__, 7.819308213692752e+20,"781931",6,21,0,"781930821369275186327740812",6,21,0,"7.81931e+20",6,
+
+__LINE__, 3.457215738335750e-13,"345722",6,-12,0,"345722",6,-12,0,"3.45722e-13",6,
+
+__LINE__, 5.673283287913788e+07,"56732833",8,8,0,"5673283287913788",8,8,0,"56732833",8,
+
+__LINE__, 1.471857261085004e+23,"1472",4,24,0,"1471857261085003809597537838",4,24,0,"1.472e+23",4,
+
+__LINE__, 1.793947117071970e+22,"17939471",8,23,0,"1793947117071969632462469235179",8,23,0,"1.7939471e+22",8,
+
+__LINE__, 5.121254629351260e-11,"51213",5,-10,0,"51213",5,-10,0,"5.1213e-11",5,
+
+__LINE__, 4.390732882355057e+16,"439073",6,17,0,"43907328823550573204670",6,17,0,"4.39073e+16",6,
+
+__LINE__, 2.427335872475672e+27,"24273359",8,28,0,"242733587247567239586487630731426179",8,28,0,"2.4273359e+27",8,
+
+__LINE__, 6.328085758887609e+19,"6328086",7,20,0,"632808575888760937999677481",7,20,0,"6.328086e+19",7,
+
+__LINE__, 7.399809184791178e+15,"7400",4,16,0,"73998091847911782182",4,16,0,"7.400e+15",4,
+
+__LINE__, 1.431701330887928e-11,"143",3,-10,0,"143",3,-10,0,"1.43e-11",3,
+
+__LINE__, 2.059594182326570e+24,"206",3,25,0,"2059594182326569988816800105",3,25,0,"2.06e+24",3,
+
+__LINE__, 1.754194250078728e-25,"175",3,-24,0,"175",3,-24,0,"1.75e-25",3,
+
+__LINE__, 4.941256641422608e-27,"494",3,-26,0,"494",3,-26,0,"4.94e-27",3,
+
+__LINE__, 2.206058544089213e-20,"22060585",8,-19,0,"22060585",8,-19,0,"2.2060585e-20",8,
+
+__LINE__, 6.994849795137307e+10,"699485",6,11,0,"69948497951373065",6,11,0,"6.99485e+10",6,
+
+__LINE__, 3.152798180026982e+28,"3153",4,29,0,"315279818002698153378560164128430",4,29,0,"3.153e+28",4,
+
+
+__LINE__, 1.348325903318616e-24,"1348326",7,-23,0,"1348326",7,-23,0,"1.348326e-24",7,
+
+__LINE__, 2.113465893194608e-15,"21134659",8,-14,0,"21134659",8,-14,0,"2.1134659e-15",8,
+
+__LINE__, 4.073170124707854e+02,"407",3,3,0,"407317",3,3,0,"407",3,
+
+__LINE__, 2.181347299147143e-17,"218135",6,-16,0,"218135",6,-16,0,"2.18135e-17",6,
+
+__LINE__, 2.103271966376922e+03,"21",2,4,0,"210327",2,4,0,"2.1e+03",2,
+
+__LINE__, 2.286252208932191e-30,"229",3,-29,0,"229",3,-29,0,"2.29e-30",3,
+
+__LINE__, 5.624350974502655e+25,"6",1,26,0,"562435097450265519825052252",1,26,0,"6e+25",1,
+
+__LINE__, 4.453486178405307e+05,"4453",4,6,0,"4453486178",4,6,0,"4.453e+05",4,
+
+__LINE__, 1.555010610051608e+13,"156",3,14,0,"15550106100516081",3,14,0,"1.56e+13",3,
+
+__LINE__, 7.719959471762408e-11,"8",1,-10,0,"8",1,-10,0,"8e-11",1,
+
+__LINE__, 6.649313805526527e+04,"6649314",7,5,0,"664931380553",7,5,0,"66493.14",7,
+
+__LINE__, 2.736862165988477e-29,"2737",4,-28,0,"2737",4,-28,0,"2.737e-29",4,
+
+__LINE__, 8.961141449916591e+05,"8961141",7,6,0,"8961141449917",7,6,0,"896114.1",7,
+
+__LINE__, 3.743832253349299e+03,"37438323",8,4,0,"374383225335",8,4,0,"3743.8323",8,
+
+__LINE__, 4.616542199119112e-19,"5",1,-18,0,"5",1,-18,0,"5e-19",1,
+
+__LINE__, 2.141990110663772e-10,"214",3,-9,0,"214",3,-9,0,"2.14e-10",3,
+
+__LINE__, 4.087808591469674e-14,"40878086",8,-13,0,"40878086",8,-13,0,"4.0878086e-14",8,
+
+
+__LINE__, 1.406420622355064e+19,"140642",6,20,0,"14064206223550643315434172",6,20,0,"1.40642e+19",6,
+
+__LINE__, 3.962213921914215e-30,"39622",5,-29,0,"39622",5,-29,0,"3.9622e-30",5,
+
+__LINE__, 1.851236839271498e-12,"19",2,-11,0,"19",2,-11,0,"1.9e-12",2,
+
+__LINE__, 1.752891467132837e-16,"1753",4,-15,0,"1753",4,-15,0,"1.753e-16",4,
+
+__LINE__, 1.313285975240631e+10,"1313286",7,11,0,"131328597524063095",7,11,0,"1.313286e+10",7,
+
+__LINE__, 4.797451776197904e-24,"480",3,-23,0,"480",3,-23,0,"4.80e-24",3,
+
+__LINE__, 5.632348260968011e+03,"6",1,4,0,"56323",1,4,0,"6e+03",1,
+
+__LINE__, 1.282189526481336e+17,"1282",4,18,0,"1282189526481336336872",4,18,0,"1.282e+17",4,
+
+__LINE__, 9.821689835700839e-26,"98217",5,-25,0,"98217",5,-25,0,"9.8217e-26",5,
+
+__LINE__, 3.380291727425090e-10,"3380",4,-9,0,"3380",4,-9,0,"3.380e-10",4,
+
+__LINE__, 4.869764742219911e-01,"4870",4,0,0,"4870",4,0,0,".487",4,
+
+__LINE__, 2.099154543729566e+23,"20992",5,24,0,"20991545437295662246413030516",5,24,0,"2.0992e+23",5,
+
+__LINE__, 1.768676806117752e+04,"17686768",8,5,0,"1768676806118",8,5,0,"17686.768",8,
+
+__LINE__, 4.303784934223482e-13,"4",1,-12,0,"4",1,-12,0,"4e-13",1,
+
+__LINE__, 6.523728950282939e+15,"65237290",8,16,0,"652372895028293875441250",8,16,0,"6.5237290e+15",8,
+
+__LINE__, 7.532898256664122e+08,"8",1,9,0,"7532898257",1,9,0,"8e+08",1,
+
+__LINE__, 1.442346036443942e+29,"1",1,30,0,"1442346036443941947879920917330",1,30,0,"1e+29",1,
+
+__LINE__, 2.594386109572275e+04,"259",3,5,0,"25943861",3,5,0,"2.59e+04",3,
+
+__LINE__, 6.254936126036594e+01,"6",1,2,0,"625",1,2,0,"6e+01",1,
+
+__LINE__, 1.009888981861756e+09,"100989",6,10,0,"1009888981861756",6,10,0,"1.00989e+09",6,
+
+__LINE__, 2.163578851988448e-16,"21635789",8,-15,0,"21635789",8,-15,0,"2.1635789e-16",8,
+
+__LINE__, 2.241242805107749e+14,"224124",6,15,0,"224124280510774864794",6,15,0,"2.24124e+14",6,
+
+__LINE__, 3.686520132725987e+17,"368652",6,18,0,"368652013272598733095720",6,18,0,"3.68652e+17",6,
+
+__LINE__, 1.249196467299682e-10,"1249",4,-9,0,"1249",4,-9,0,"1.249e-10",4,
+
+__LINE__, 2.235966135657711e-16,"224",3,-15,0,"224",3,-15,0,"2.24e-16",3,
+
+__LINE__, 7.281023867864680e+03,"7281",4,4,0,"72810239",4,4,0,"7281",4,
+
+__LINE__, 9.495208466038456e-04,"9495208",7,-3,0,"9495208",7,-3,0,".0009495",7,
+
+__LINE__, 1.909521167837320e+18,"190952",6,19,0,"1909521167837320376747812",6,19,0,"1.90952e+18",6,
+
+__LINE__, 1.595163045878173e-28,"16",2,-27,0,"16",2,-27,0,"1.6e-28",2,
+
+__LINE__, 8.333021482130567e+12,"83330215",8,13,0,"833302148213056703696",8,13,0,"8.3330215e+12",8,
+
+__LINE__, 2.661576028772926e-12,"266",3,-11,0,"266",3,-11,0,"2.66e-12",3,
+
+__LINE__, 3.333613056158649e-24,"333",3,-23,0,"333",3,-23,0,"3.33e-24",3,
+
+__LINE__, 6.968307583705560e+11,"696831",6,12,0,"696830758370555969",6,12,0,"6.96831e+11",6,
+
+__LINE__, 7.112095848565475e-19,"711",3,-18,0,"711",3,-18,0,"7.11e-19",3,
+
+__LINE__, 5.115369447807078e+21,"5115",4,22,0,"51153694478070779183553896",4,22,0,"5.115e+21",4,
+
+__LINE__, 1.127652589560061e+16,"112765",6,17,0,"11276525895600610915892",6,17,0,"1.12765e+16",6,
+
+__LINE__, 6.777084460845612e-18,"6777",4,-17,0,"6777",4,-17,0,"6.777e-18",4,
+
+__LINE__, 7.969183405862033e-02,"7969183",7,-1,0,"7969183",7,-1,0,".0796918",7,
+
+__LINE__, 4.497389494902805e-27,"449739",6,-26,0,"449739",6,-26,0,"4.49739e-27",6,
+
+__LINE__, 1.174283761330826e+27,"1174284",7,28,0,"11742837613308263478018034220440313",7,28,0,"1.174284e+27",7,
+
+__LINE__, 1.180289038670172e+06,"11803",5,7,0,"118028903867",5,7,0,"1.1803e+06",5,
+
+__LINE__, 1.373844082711513e+16,"137",3,17,0,"13738440827115125931",3,17,0,"1.37e+16",3,
+
+__LINE__, 1.080822334120836e+12,"1080822",7,13,0,"10808223341208362811",7,13,0,"1.080822e+12",7,
+
+__LINE__, 3.758397902350635e+20,"37584",5,21,0,"37583979023506346450744786",5,21,0,"3.7584e+20",5,
+
+__LINE__, 4.412285493952947e-11,"44",2,-10,0,"44",2,-10,0,"4.4e-11",2,
+
+__LINE__, 6.565101733527507e+17,"657",3,18,0,"656510173352750658893",3,18,0,"6.57e+17",3,
+
+__LINE__, 5.723516940272932e+08,"57",2,9,0,"57235169403",2,9,0,"5.7e+08",2,
+
+__LINE__, 5.330525090324728e-11,"53",2,-10,0,"53",2,-10,0,"5.3e-11",2,
+
+__LINE__, 6.915504868363691e+29,"691550",6,30,0,"691550486836369060483775683678686619",6,30,0,"6.91550e+29",6,
+
+__LINE__, 3.172898814737255e-01,"317290",6,0,0,"317290",6,0,0,".31729",6,
+
+__LINE__, 2.967012281733283e+11,"297",3,12,0,"296701228173328",3,12,0,"2.97e+11",3,
+
+__LINE__, 8.589210867009845e-29,"8589",4,-28,0,"8589",4,-28,0,"8.589e-29",4,
+
+__LINE__, 3.624557765318715e-26,"362",3,-25,0,"362",3,-25,0,"3.62e-26",3,
+
+__LINE__, 1.867754272422402e+27,"2",1,28,0,"18677542724224018400036584353",1,28,0,"2e+27",1,
+
+__LINE__, 5.150243379639871e-22,"5",1,-21,0,"5",1,-21,0,"5e-22",1,
+
+__LINE__, 1.190174047262241e+06,"119017",6,7,0,"1190174047262",6,7,0,"1.19017e+06",6,
+
+__LINE__, 5.502639082882342e-29,"550264",6,-28,0,"550264",6,-28,0,"5.50264e-29",6,
+
+__LINE__, 7.609168279063695e-08,"76091683",8,-7,0,"76091683",8,-7,0,"7.6091683e-08",8,
+
+__LINE__, 5.487757715406920e-12,"548776",6,-11,0,"548776",6,-11,0,"5.48776e-12",6,
+
+__LINE__, 8.221233434744608e+15,"822123",6,16,0,"8221233434744608103983",6,16,0,"8.22123e+15",6,
+
+__LINE__, 1.679041208804822e+22,"17",2,23,0,"1679041208804822105093990",2,23,0,"1.7e+22",2,
+
+__LINE__, 3.674074760085828e+11,"3674075",7,12,0,"3674074760085828117",7,12,0,"3.674075e+11",7,
+
+__LINE__, 9.707698305552812e+26,"9707698",7,27,0,"9707698305552812101382187393028289",7,27,0,"9.707698e+26",7,
+
+__LINE__, 3.290460821927777e+07,"329046",6,8,0,"32904608219278",6,8,0,"3.29046e+07",6,
+
+__LINE__, 1.921280148435649e-17,"1921280",7,-16,0,"1921280",7,-16,0,"1.921280e-17",7,
+
+__LINE__, 7.262738303068721e+09,"726274",6,10,0,"7262738303068721",6,10,0,"7.26274e+09",6,
+
+__LINE__, 4.917897575589579e-25,"4917898",7,-24,0,"4917898",7,-24,0,"4.917898e-25",7,
+
+__LINE__, 1.848626498191354e+08,"1849",4,9,0,"1848626498191",4,9,0,"1.849e+08",4,
+
+__LINE__, 2.820784720947056e+26,"2820785",7,27,0,"2820784720947055568274208781076595",7,27,0,"2.820785e+26",7,
+
+__LINE__, 2.127470079770766e+28,"21274701",8,29,0,"2127470079770765742921412311261519790",8,29,0,"2.1274701e+28",8,
+
+__LINE__, 6.873538587870355e+25,"6874",4,26,0,"687353858787035498778550390853",4,26,0,"6.874e+25",4,
+
+__LINE__, 6.454410097043550e-24,"64544101",8,-23,0,"64544101",8,-23,0,"6.4544101e-24",8,
+
+__LINE__, 2.213118618919111e-26,"22131",5,-25,0,"22131",5,-25,0,"2.2131e-26",5,
+
+__LINE__, 8.742226151396711e+18,"9",1,19,0,"87422261513967107760",1,19,0,"9e+18",1,
+
+__LINE__, 3.558503745388271e+20,"356",3,21,0,"355850374538827063375379",3,21,0,"3.56e+20",3,
+
+__LINE__, 1.553371837875792e-25,"15533718",8,-24,0,"15533718",8,-24,0,"1.5533718e-25",8,
+
+__LINE__, 2.939271130182748e+07,"3",1,8,0,"293927113",1,8,0,"3e+07",1,
+
+__LINE__, 6.541662345466598e+16,"6542",4,17,0,"654166234546659808302",4,17,0,"6.542e+16",4,
+
+__LINE__, 2.248170096684619e-07,"225",3,-6,0,"225",3,-6,0,"2.25e-07",3,
+
+__LINE__, 2.756161281996178e+00,"28",2,1,0,"276",2,1,0,"2.8",2,
+
+__LINE__, 5.239468978174450e+03,"5",1,4,0,"52395",1,4,0,"5e+03",1,
+
+__LINE__, 4.338762938029571e-17,"433876",6,-16,0,"433876",6,-16,0,"4.33876e-17",6,
+
+__LINE__, 3.017196887951920e+06,"3",1,7,0,"30171969",1,7,0,"3e+06",1,
+
+__LINE__, 3.150206780920639e-18,"32",2,-17,0,"32",2,-17,0,"3.2e-18",2,
+
+__LINE__, 7.446444859285637e+20,"74464449",8,21,0,"74464448592856369302239727404",8,21,0,"7.4464449e+20",8,
+
+__LINE__, 5.738871302601839e+07,"5738871",7,8,0,"573887130260184",7,8,0,"5.738871e+07",7,
+
+__LINE__, 1.237491441221398e-03,"12374914",8,-2,0,"12374914",8,-2,0,".00123749",8,
+
+__LINE__, 7.324627764516713e+09,"73246",5,10,0,"732462776451671",5,10,0,"7.3246e+09",5,
+
+__LINE__, 3.259418579308160e+15,"3",1,16,0,"32594185793081598",1,16,0,"3e+15",1,
+
+__LINE__, 1.405194834603686e-15,"1",1,-14,0,"1",1,-14,0,"1e-15",1,
+
+__LINE__, 3.011742184583622e-17,"301",3,-16,0,"301",3,-16,0,"3.01e-17",3,
+
+__LINE__, 1.106215706057235e-29,"1106216",7,-28,0,"1106216",7,-28,0,"1.106216e-29",7,
+
+__LINE__, 4.358471388308310e+16,"43585",5,17,0,"4358471388308309713011",5,17,0,"4.3585e+16",5,
+
+__LINE__, 2.072305531071263e-29,"2072",4,-28,0,"2072",4,-28,0,"2.072e-29",4,
+
+__LINE__, 1.986866126874383e-19,"19868661",8,-18,0,"19868661",8,-18,0,"1.9868661e-19",8,
+
+__LINE__, 1.428864728880793e-23,"14288647",8,-22,0,"14288647",8,-22,0,"1.4288647e-23",8,
+
+__LINE__, 5.262679202231463e+16,"5263",4,17,0,"526267920223146301595",4,17,0,"5.263e+16",4,
+
+__LINE__, 2.717198955673183e-15,"271720",6,-14,0,"271720",6,-14,0,"2.71720e-15",6,
+
+__LINE__, 5.150668549567997e-09,"515067",6,-8,0,"515067",6,-8,0,"5.15067e-09",6,
+
+__LINE__, 5.671830707040847e-22,"56718",5,-21,0,"56718",5,-21,0,"5.6718e-22",5,
+
+__LINE__, 1.032009065233582e-28,"1032",4,-27,0,"1032",4,-27,0,"1.032e-28",4,
+
+__LINE__, 3.256531418180773e+17,"32565",5,18,0,"32565314181807734073004",5,18,0,"3.2565e+17",5,
+
+__LINE__, 6.855618055697167e+13,"68556181",8,14,0,"6855618055697166646212",8,14,0,"6.8556181e+13",8,
+
+__LINE__, 1.838515126542337e-04,"183852",6,-3,0,"183852",6,-3,0,".000184",6,
+
+__LINE__, 3.269357648926951e+01,"326936",6,2,0,"32693576",6,2,0,"32.6936",6,
+
+__LINE__, 3.155127022134804e+00,"316",3,1,0,"3155",3,1,0,"3.16",3,
+
+__LINE__, 9.842427380306443e-11,"9842427",7,-10,0,"9842427",7,-10,0,"9.842427e-11",7,
+
+__LINE__, 1.170329127498228e-27,"117033",6,-26,0,"117033",6,-26,0,"1.17033e-27",6,
+
+__LINE__, 7.954489717411354e+25,"795449",6,26,0,"79544897174113540216922046965919",6,26,0,"7.95449e+25",6,
+
+__LINE__, 1.330137938788394e-21,"133014",6,-20,0,"133014",6,-20,0,"1.33014e-21",6,
+
+__LINE__, 1.263788120181220e+06,"13",2,7,0,"126378812",2,7,0,"1.3e+06",2,
+
+__LINE__, 1.017118108979511e+06,"10171181",8,7,0,"101711810897951",8,7,0,"1017118.1",8,
+
+__LINE__, 1.128387852183361e-22,"1128",4,-21,0,"1128",4,-21,0,"1.128e-22",4,
+
+__LINE__, 2.047687698869088e-07,"20477",5,-6,0,"20477",5,-6,0,"2.0477e-07",5,
+
+__LINE__, 9.216460471355292e+05,"92165",5,6,0,"92164604714",5,6,0,"9.2165e+05",5,
+
+__LINE__, 5.540246538793573e+07,"5540247",7,8,0,"554024653879357",7,8,0,"5.540247e+07",7,
+
+__LINE__, 6.986505945589122e-22,"6986506",7,-21,0,"6986506",7,-21,0,"6.986506e-22",7,
+
+__LINE__, 1.779386879779575e-18,"18",2,-17,0,"18",2,-17,0,"1.8e-18",2,
+
+__LINE__, 9.439044013853280e+08,"9439",4,9,0,"9439044013853",4,9,0,"9.439e+08",4,
+
+__LINE__, 1.981265125583486e+05,"2",1,6,0,"1981265",1,6,0,"2e+05",1,
+
+__LINE__, 5.674986230255942e+22,"6",1,23,0,"567498623025594195468102",1,23,0,"6e+22",1,
+
+__LINE__, 2.298864411716790e+15,"22989",5,16,0,"229886441171679001272",5,16,0,"2.2989e+15",5,
+
+__LINE__, 4.754726458107860e-26,"475473",6,-25,0,"475473",6,-25,0,"4.75473e-26",6,
+
+__LINE__, 7.998336968052068e-02,"80",2,-1,0,"80",2,-1,0,".08",2,
+
+__LINE__, 2.186697365330358e+25,"218670",6,26,0,"21866973653303576341500047419686",6,26,0,"2.18670e+25",6,
+
+__LINE__, 6.934807529104567e-22,"6935",4,-21,0,"6935",4,-21,0,"6.935e-22",4,
+
+__LINE__, 1.120569139248787e+18,"1120569",7,19,0,"11205691392487873159211631",7,19,0,"1.120569e+18",7,
+
+__LINE__, 1.579448259562240e+11,"1579448",7,12,0,"1579448259562239620",7,12,0,"1.579448e+11",7,
+
+__LINE__, 2.272794041158999e-21,"2272794",7,-20,0,"2272794",7,-20,0,"2.272794e-21",7,
+
+__LINE__, 1.627330067952862e-06,"1627330",7,-5,0,"1627330",7,-5,0,"1.627330e-06",7,
+
+__LINE__, 3.410001865714449e-30,"3410002",7,-29,0,"3410002",7,-29,0,"3.410002e-30",7,
+
+__LINE__, 5.061135631527160e+26,"506114",6,27,0,"506113563152715961734884331235662",6,27,0,"5.06114e+26",6,
+
+__LINE__, 1.500941743164653e+27,"1501",4,28,0,"15009417431646530083355628448771",4,28,0,"1.501e+27",4,
+
+__LINE__, 6.166170245590984e+24,"61661702",8,25,0,"616617024559098414471236537792720",8,25,0,"6.1661702e+24",8,
+
+__LINE__, 3.136978730888098e-24,"31",2,-23,0,"31",2,-23,0,"3.1e-24",2,
+
+__LINE__, 2.970061334090170e+21,"3",1,22,0,"29700613340901703907093",1,22,0,"3e+21",1,
+
+__LINE__, 3.291355984766073e-13,"32913560",8,-12,0,"32913560",8,-12,0,"3.2913560e-13",8,
+
+__LINE__, 9.303595796139161e+03,"93036",5,4,0,"93035958",5,4,0,"9303.6",5,
+
+__LINE__, 7.649624512400109e+09,"8",1,10,0,"76496245124",1,10,0,"8e+09",1,
+
+__LINE__, 1.390807673774886e-22,"13908",5,-21,0,"13908",5,-21,0,"1.3908e-22",5,
+
+__LINE__, 8.901090936921923e-21,"890",3,-20,0,"890",3,-20,0,"8.90e-21",3,
+
+__LINE__, 3.420609082386055e-04,"34206",5,-3,0,"34206",5,-3,0,".00034",5,
+
+__LINE__, 8.719476778541001e+18,"87",2,19,0,"871947677854100078321",2,19,0,"8.7e+18",2,
+
+__LINE__, 2.975167062429047e+07,"29751671",8,8,0,"2975167062429047",8,8,0,"29751671",8,
+
+__LINE__, 1.386895871501743e-02,"13868959",8,-1,0,"13868959",8,-1,0,".01386896",8,
+
+__LINE__, 1.249824679294188e-16,"12",2,-15,0,"12",2,-15,0,"1.2e-16",2,
+
+__LINE__, 8.835235425529023e-01,"88352354",8,0,0,"88352354",8,0,0,".88352354",8,
+
+__LINE__, 2.719226257905232e-01,"2719",4,0,0,"2719",4,0,0,".2719",4,
+
+__LINE__, 9.756572868832603e+17,"97565729",8,18,0,"97565728688326025519472751",8,18,0,"9.7565729e+17",8,
+
+__LINE__, 6.264826770146615e-01,"626",3,0,0,"626",3,0,0,".626",3,
+
+__LINE__, 2.972698423704301e-21,"3",1,-20,0,"3",1,-20,0,"3e-21",1,
+
+__LINE__, 2.176563709034982e-02,"22",2,-1,0,"22",2,-1,0,".02",2,
+
+__LINE__, 1.181023160092374e+11,"12",2,12,0,"11810231600924",2,12,0,"1.2e+11",2,
+
+__LINE__, 7.469767449800807e-04,"74697674",8,-3,0,"74697674",8,-3,0,".00074698",8,
+
+__LINE__, 1.457185871184082e+29,"1457186",7,30,0,"1457185871184081715767888454138301313",7,30,0,"1.457186e+29",7,
+
+__LINE__, 1.426297306275258e-19,"14263",5,-18,0,"14263",5,-18,0,"1.4263e-19",5,
+
+__LINE__, 2.457411275450009e+25,"24574",5,26,0,"2457411275450009036092069436563",5,26,0,"2.4574e+25",5,
+
+__LINE__, 8.249246277298404e-20,"82492",5,-19,0,"82492",5,-19,0,"8.2492e-20",5,
+
+__LINE__, 2.921055529607521e-08,"2921056",7,-7,0,"2921056",7,-7,0,"2.921056e-08",7,
+
+__LINE__, 4.976498203142557e-25,"50",2,-24,0,"50",2,-24,0,"5.0e-25",2,
+
+__LINE__, 2.483141865351692e-21,"25",2,-20,0,"25",2,-20,0,"2.5e-21",2,
+
+__LINE__, 1.027771450975839e+24,"10278",5,25,0,"102777145097583866295565258042",5,25,0,"1.0278e+24",5,
+
+__LINE__, 1.515030972674741e+01,"1515",4,2,0,"151503",4,2,0,"15.15",4,
+
+__LINE__, 5.248693720662853e+22,"5",1,23,0,"524869372066285322375734",1,23,0,"5e+22",1,
+
+__LINE__, 3.185373401105931e-01,"32",2,0,0,"32",2,0,0,".32",2,
+
+__LINE__, 1.024581294142808e-06,"10246",5,-5,0,"10246",5,-5,0,"1.0246e-06",5,
+
+__LINE__, 1.734965037632195e-07,"173",3,-6,0,"173",3,-6,0,"1.73e-07",3,
+
+__LINE__, 1.368662469019739e+03,"13686625",8,4,0,"136866246902",8,4,0,"1368.6625",8,
+
+__LINE__, 4.744768215108924e-02,"474477",6,-1,0,"474477",6,-1,0,".047448",6,
+
+__LINE__, 3.523947347400251e+10,"35",2,11,0,"3523947347400",2,11,0,"3.5e+10",2,
+
+__LINE__, 4.703989947348573e+08,"4704",4,9,0,"4703989947349",4,9,0,"4.704e+08",4,
+
+__LINE__, 3.334096615018971e+22,"333410",6,23,0,"33340966150189710326401382190",6,23,0,"3.33410e+22",6,
+
+__LINE__, 2.224344163719534e+19,"2224",4,20,0,"222434416371953380675563",4,20,0,"2.224e+19",4,
+
+__LINE__, 2.841077022740213e-09,"2841",4,-8,0,"2841",4,-8,0,"2.841e-09",4,
+
+__LINE__, 4.567747128685568e+04,"456775",6,5,0,"45677471287",6,5,0,"45677.5",6,
+
+
+__LINE__, 4.463721781600269e-03,"4",1,-2,0,"4",1,-2,0,"",1,
+
+__LINE__, 1.581538540826530e+16,"15815385",8,17,0,"1581538540826530336858013",8,17,0,"1.5815385e+16",8,
+
+__LINE__, 2.407978509096453e+21,"2",1,22,0,"24079785090964529459256",1,22,0,"2e+21",1,
+
+
+0,
+};
diff --git a/newlib/libm/test/erf_vec.c b/newlib/libm/test/erf_vec.c
new file mode 100644
index 00000000000..893f9cc156b
--- /dev/null
+++ b/newlib/libm/test/erf_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type erf_vec[] = {
+{64, 0,123,__LINE__, 0xbfed214a, 0xc7b2d068, 0xbff33333, 0x33333333}, /* -0.91031=f(-1.20000)*/
+{64, 0,123,__LINE__, 0xbfed0b20, 0x883a76ce, 0xbff30a3d, 0x70a3d70a}, /* -0.90760=f(-1.19000)*/
+{64, 0,123,__LINE__, 0xbfecf46d, 0x9e998652, 0xbff2e147, 0xae147ae1}, /* -0.90483=f(-1.18000)*/
+{64, 0,123,__LINE__, 0xbfecdd2f, 0xf0d13464, 0xbff2b851, 0xeb851eb8}, /* -0.90200=f(-1.17000)*/
+{62, 0,123,__LINE__, 0xbfecc565, 0x666a6fc6, 0xbff28f5c, 0x28f5c28f}, /* -0.89909=f(-1.16000)*/
+{64, 0,123,__LINE__, 0xbfecad0b, 0xe8d28e76, 0xbff26666, 0x66666666}, /* -0.89612=f(-1.15000)*/
+{64, 0,123,__LINE__, 0xbfec9421, 0x63b9c90c, 0xbff23d70, 0xa3d70a3d}, /* -0.89308=f(-1.14000)*/
+{64, 0,123,__LINE__, 0xbfec7aa3, 0xc57375b7, 0xbff2147a, 0xe147ae14}, /* -0.88997=f(-1.13000)*/
+{64, 0,123,__LINE__, 0xbfec6090, 0xff57f49a, 0xbff1eb85, 0x1eb851eb}, /* -0.88678=f(-1.12000)*/
+{64, 0,123,__LINE__, 0xbfec45e7, 0x06283e10, 0xbff1c28f, 0x5c28f5c2}, /* -0.88353=f(-1.11000)*/
+{64, 0,123,__LINE__, 0xbfec2aa3, 0xd27302bf, 0xbff19999, 0x99999999}, /* -0.88020=f(-1.10000)*/
+{64, 0,123,__LINE__, 0xbfec0ec5, 0x60fb4c70, 0xbff170a3, 0xd70a3d70}, /* -0.87680=f(-1.09000)*/
+{64, 0,123,__LINE__, 0xbfebf249, 0xb3208dbc, 0xbff147ae, 0x147ae147}, /* -0.87332=f(-1.08000)*/
+{64, 0,123,__LINE__, 0xbfebd52e, 0xcf480de0, 0xbff11eb8, 0x51eb851e}, /* -0.86977=f(-1.07000)*/
+{64, 0,123,__LINE__, 0xbfebb772, 0xc1479d22, 0xbff0f5c2, 0x8f5c28f5}, /* -0.86614=f(-1.06000)*/
+{64, 0,123,__LINE__, 0xbfeb9913, 0x9ad17d5a, 0xbff0cccc, 0xcccccccc}, /* -0.86243=f(-1.05000)*/
+{63, 0,123,__LINE__, 0xbfeb7a0f, 0x73e16967, 0xbff0a3d7, 0x0a3d70a3}, /* -0.85864=f(-1.04000)*/
+{64, 0,123,__LINE__, 0xbfeb5a64, 0x6b2aa59b, 0xbff07ae1, 0x47ae147a}, /* -0.85478=f(-1.03000)*/
+{64, 0,123,__LINE__, 0xbfeb3a10, 0xa687022c, 0xbff051eb, 0x851eb851}, /* -0.85083=f(-1.02000)*/
+{64, 0,123,__LINE__, 0xbfeb1912, 0x5366b827, 0xbff028f5, 0xc28f5c28}, /* -0.84681=f(-1.01000)*/
+{64, 0,123,__LINE__, 0xbfeaf767, 0xa7410889, 0xbfefffff, 0xfffffffe}, /* -0.84270=f(-0.01000)*/
+{62, 0,123,__LINE__, 0xbfead50e, 0xe0058459, 0xbfefae14, 0x7ae147ac}, /* -0.83850=f(-0.99000)*/
+{59, 0,123,__LINE__, 0xbfeab206, 0x448de3f0, 0xbfef5c28, 0xf5c28f5a}, /* -0.83423=f(-0.98000)*/
+{61, 0,123,__LINE__, 0xbfea8e4c, 0x251052f3, 0xbfef0a3d, 0x70a3d708}, /* -0.82987=f(-0.97000)*/
+{64, 0,123,__LINE__, 0xbfea69de, 0xdb9215cc, 0xbfeeb851, 0xeb851eb6}, /* -0.82542=f(-0.96000)*/
+{64, 0,123,__LINE__, 0xbfea44bc, 0xcc5a6caf, 0xbfee6666, 0x66666664}, /* -0.82089=f(-0.95000)*/
+{64, 0,123,__LINE__, 0xbfea1ee4, 0x666597d2, 0xbfee147a, 0xe147ae12}, /* -0.81627=f(-0.94000)*/
+{63, 0,123,__LINE__, 0xbfe9f854, 0x23d7dfaf, 0xbfedc28f, 0x5c28f5c0}, /* -0.81156=f(-0.93000)*/
+{62, 0,123,__LINE__, 0xbfe9d10a, 0x8a7083a6, 0xbfed70a3, 0xd70a3d6e}, /* -0.80676=f(-0.92000)*/
+{63, 0,123,__LINE__, 0xbfe9a906, 0x2bfc70e9, 0xbfed1eb8, 0x51eb851c}, /* -0.80188=f(-0.91000)*/
+{61, 0,123,__LINE__, 0xbfe98045, 0xa6c8a2e4, 0xbfeccccc, 0xccccccca}, /* -0.79690=f(-0.90000)*/
+{64, 0,123,__LINE__, 0xbfe956c7, 0xa6140e08, 0xbfec7ae1, 0x47ae1478}, /* -0.79184=f(-0.89000)*/
+{64, 0,123,__LINE__, 0xbfe92c8a, 0xe280f560, 0xbfec28f5, 0xc28f5c26}, /* -0.78668=f(-0.88000)*/
+{63, 0,123,__LINE__, 0xbfe9018e, 0x22858aeb, 0xbfebd70a, 0x3d70a3d4}, /* -0.78143=f(-0.87000)*/
+{64, 0,123,__LINE__, 0xbfe8d5d0, 0x3adbba5e, 0xbfeb851e, 0xb851eb82}, /* -0.77610=f(-0.86000)*/
+{59, 0,123,__LINE__, 0xbfe8a950, 0x0eeffdb0, 0xbfeb3333, 0x33333330}, /* -0.77066=f(-0.85000)*/
+{64, 0,123,__LINE__, 0xbfe87c0c, 0x914f1a57, 0xbfeae147, 0xae147ade}, /* -0.76514=f(-0.84000)*/
+{62, 0,123,__LINE__, 0xbfe84e04, 0xc412a632, 0xbfea8f5c, 0x28f5c28c}, /* -0.75952=f(-0.83000)*/
+{64, 0,123,__LINE__, 0xbfe81f37, 0xb94c3284, 0xbfea3d70, 0xa3d70a3a}, /* -0.75381=f(-0.82000)*/
+{64, 0,123,__LINE__, 0xbfe7efa4, 0x936efba2, 0xbfe9eb85, 0x1eb851e8}, /* -0.74800=f(-0.81000)*/
+{63, 0,123,__LINE__, 0xbfe7bf4a, 0x85b7fb81, 0xbfe99999, 0x99999996}, /* -0.74210=f(-0.80000)*/
+{63, 0,123,__LINE__, 0xbfe78e28, 0xd4943d8d, 0xbfe947ae, 0x147ae144}, /* -0.73610=f(-0.79000)*/
+{61, 0,123,__LINE__, 0xbfe75c3e, 0xd60551ec, 0xbfe8f5c2, 0x8f5c28f2}, /* -0.73001=f(-0.78000)*/
+{64, 0,123,__LINE__, 0xbfe7298b, 0xf203be84, 0xbfe8a3d7, 0x0a3d70a0}, /* -0.72382=f(-0.77000)*/
+{61, 0,123,__LINE__, 0xbfe6f60f, 0xa2df4c2c, 0xbfe851eb, 0x851eb84e}, /* -0.71753=f(-0.76000)*/
+{62, 0,123,__LINE__, 0xbfe6c1c9, 0x759d0e5d, 0xbfe7ffff, 0xfffffffc}, /* -0.71115=f(-0.75000)*/
+{64, 0,123,__LINE__, 0xbfe68cb9, 0x0a53044a, 0xbfe7ae14, 0x7ae147aa}, /* -0.70467=f(-0.74000)*/
+{64, 0,123,__LINE__, 0xbfe656de, 0x14813204, 0xbfe75c28, 0xf5c28f58}, /* -0.69810=f(-0.73000)*/
+{64, 0,123,__LINE__, 0xbfe62038, 0x5b681100, 0xbfe70a3d, 0x70a3d706}, /* -0.69143=f(-0.72000)*/
+{63, 0,123,__LINE__, 0xbfe5e8c7, 0xba5c3770, 0xbfe6b851, 0xeb851eb4}, /* -0.68466=f(-0.71000)*/
+{64, 0,123,__LINE__, 0xbfe5b08c, 0x21171644, 0xbfe66666, 0x66666662}, /* -0.67780=f(-0.70000)*/
+{63, 0,123,__LINE__, 0xbfe57785, 0x9404ae2e, 0xbfe6147a, 0xe147ae10}, /* -0.67084=f(-0.69000)*/
+{64, 0,123,__LINE__, 0xbfe53db4, 0x2c8e1c72, 0xbfe5c28f, 0x5c28f5be}, /* -0.66378=f(-0.68000)*/
+{64, 0,123,__LINE__, 0xbfe50318, 0x1960e0ba, 0xbfe570a3, 0xd70a3d6c}, /* -0.65662=f(-0.67000)*/
+{64, 0,123,__LINE__, 0xbfe4c7b1, 0x9eb2bdec, 0xbfe51eb8, 0x51eb851a}, /* -0.64937=f(-0.66000)*/
+{64, 0,123,__LINE__, 0xbfe48b81, 0x16821878, 0xbfe4cccc, 0xccccccc8}, /* -0.64202=f(-0.65000)*/
+{64, 0,123,__LINE__, 0xbfe44e86, 0xf0d2b55e, 0xbfe47ae1, 0x47ae1476}, /* -0.63458=f(-0.64000)*/
+{64, 0,123,__LINE__, 0xbfe410c3, 0xb3e6bdc6, 0xbfe428f5, 0xc28f5c24}, /* -0.62704=f(-0.63000)*/
+{63, 0,123,__LINE__, 0xbfe3d237, 0xfc73ebfa, 0xbfe3d70a, 0x3d70a3d2}, /* -0.61941=f(-0.62000)*/
+{64, 0,123,__LINE__, 0xbfe392e4, 0x7dd4c73e, 0xbfe3851e, 0xb851eb80}, /* -0.61168=f(-0.61000)*/
+{61, 0,123,__LINE__, 0xbfe352ca, 0x0235d4f4, 0xbfe33333, 0x3333332e}, /* -0.60385=f(-0.60000)*/
+{61, 0,123,__LINE__, 0xbfe311e9, 0x6abea663, 0xbfe2e147, 0xae147adc}, /* -0.59593=f(-0.59000)*/
+{64, 0,123,__LINE__, 0xbfe2d043, 0xafb6ab88, 0xbfe28f5c, 0x28f5c28a}, /* -0.58792=f(-0.58000)*/
+{61, 0,123,__LINE__, 0xbfe28dd9, 0xe0a5b41a, 0xbfe23d70, 0xa3d70a38}, /* -0.57981=f(-0.57000)*/
+{62, 0,123,__LINE__, 0xbfe24aad, 0x2470095e, 0xbfe1eb85, 0x1eb851e6}, /* -0.57161=f(-0.56000)*/
+{62, 0,123,__LINE__, 0xbfe206be, 0xb96e0c06, 0xbfe19999, 0x99999994}, /* -0.56332=f(-0.55000)*/
+{62, 0,123,__LINE__, 0xbfe1c20f, 0xf57f4326, 0xbfe147ae, 0x147ae142}, /* -0.55493=f(-0.54000)*/
+{59, 0,123,__LINE__, 0xbfe17ca2, 0x4618c990, 0xbfe0f5c2, 0x8f5c28f0}, /* -0.54646=f(-0.53000)*/
+{63, 0,123,__LINE__, 0xbfe13677, 0x304f0925, 0xbfe0a3d7, 0x0a3d709e}, /* -0.53789=f(-0.52000)*/
+{62, 0,123,__LINE__, 0xbfe0ef90, 0x50dab412, 0xbfe051eb, 0x851eb84c}, /* -0.52924=f(-0.51000)*/
+{64, 0,123,__LINE__, 0xbfe0a7ef, 0x5c18edcc, 0xbfdfffff, 0xfffffff4}, /* -0.52049=f(-0.50000)*/
+{64, 0,123,__LINE__, 0xbfe05f96, 0x1e0696a6, 0xbfdf5c28, 0xf5c28f50}, /* -0.51166=f(-0.49000)*/
+{62, 0,123,__LINE__, 0xbfe01686, 0x7a36ae59, 0xbfdeb851, 0xeb851eac}, /* -0.50274=f(-0.48000)*/
+{58, 0,123,__LINE__, 0xbfdf9984, 0xd7878660, 0xbfde147a, 0xe147ae08}, /* -0.49374=f(-0.47000)*/
+{58, 0,123,__LINE__, 0xbfdf0498, 0x0a78ca1f, 0xbfdd70a3, 0xd70a3d64}, /* -0.48465=f(-0.46000)*/
+{59, 0,123,__LINE__, 0xbfde6e4a, 0xe11529b4, 0xbfdccccc, 0xccccccc0}, /* -0.47548=f(-0.45000)*/
+{59, 0,123,__LINE__, 0xbfddd6a1, 0xddac5474, 0xbfdc28f5, 0xc28f5c1c}, /* -0.46622=f(-0.44000)*/
+{59, 0,123,__LINE__, 0xbfdd3da1, 0xb0c45711, 0xbfdb851e, 0xb851eb78}, /* -0.45688=f(-0.43000)*/
+{61, 0,123,__LINE__, 0xbfdca34f, 0x38ca297f, 0xbfdae147, 0xae147ad4}, /* -0.44746=f(-0.42000)*/
+{61, 0,123,__LINE__, 0xbfdc07af, 0x81b81855, 0xbfda3d70, 0xa3d70a30}, /* -0.43796=f(-0.41000)*/
+{62, 0,123,__LINE__, 0xbfdb6ac7, 0xc4b209f7, 0xbfd99999, 0x9999998c}, /* -0.42839=f(-0.40000)*/
+{55, 0,123,__LINE__, 0xbfdacc9d, 0x6797a300, 0xbfd8f5c2, 0x8f5c28e8}, /* -0.41873=f(-0.39000)*/
+{59, 0,123,__LINE__, 0xbfda2d35, 0xfc8c5093, 0xbfd851eb, 0x851eb844}, /* -0.40900=f(-0.38000)*/
+{58, 0,123,__LINE__, 0xbfd98c97, 0x41754260, 0xbfd7ae14, 0x7ae147a0}, /* -0.39920=f(-0.37000)*/
+{60, 0,123,__LINE__, 0xbfd8eac7, 0x1f6d614c, 0xbfd70a3d, 0x70a3d6fc}, /* -0.38932=f(-0.36000)*/
+{60, 0,123,__LINE__, 0xbfd847cb, 0xaa2f52fb, 0xbfd66666, 0x66666658}, /* -0.37938=f(-0.35000)*/
+{61, 0,123,__LINE__, 0xbfd7a3ab, 0x1f759d7d, 0xbfd5c28f, 0x5c28f5b4}, /* -0.36936=f(-0.34000)*/
+{59, 0,123,__LINE__, 0xbfd6fe6b, 0xe65101d1, 0xbfd51eb8, 0x51eb8510}, /* -0.35927=f(-0.33000)*/
+{57, 0,123,__LINE__, 0xbfd65814, 0x8e7526c1, 0xbfd47ae1, 0x47ae146c}, /* -0.34912=f(-0.32000)*/
+{61, 0,123,__LINE__, 0xbfd5b0ab, 0xcf7bb13c, 0xbfd3d70a, 0x3d70a3c8}, /* -0.33890=f(-0.31000)*/
+{54, 0,123,__LINE__, 0xbfd50838, 0x881dea00, 0xbfd33333, 0x33333324}, /* -0.32862=f(-0.30000)*/
+{61, 0,123,__LINE__, 0xbfd45ec1, 0xbd6513dd, 0xbfd28f5c, 0x28f5c280}, /* -0.31828=f(-0.29000)*/
+{59, 0,123,__LINE__, 0xbfd3b44e, 0x99d198d1, 0xbfd1eb85, 0x1eb851dc}, /* -0.30788=f(-0.28000)*/
+{61, 0,123,__LINE__, 0xbfd308e6, 0x6c79373d, 0xbfd147ae, 0x147ae138}, /* -0.29741=f(-0.27000)*/
+{60, 0,123,__LINE__, 0xbfd25c90, 0xa81c5b98, 0xbfd0a3d7, 0x0a3d7094}, /* -0.28689=f(-0.26000)*/
+{62, 0,123,__LINE__, 0xbfd1af54, 0xe232d5f7, 0xbfcfffff, 0xffffffe0}, /* -0.27632=f(-0.25000)*/
+{59, 0,123,__LINE__, 0xbfd1013a, 0xd1f01d91, 0xbfceb851, 0xeb851e98}, /* -0.26570=f(-0.24000)*/
+{59, 0,123,__LINE__, 0xbfd0524a, 0x4f3f5771, 0xbfcd70a3, 0xd70a3d50}, /* -0.25502=f(-0.23000)*/
+{61, 0,123,__LINE__, 0xbfcf4516, 0xa36eb077, 0xbfcc28f5, 0xc28f5c08}, /* -0.24429=f(-0.22000)*/
+{61, 0,123,__LINE__, 0xbfcde40b, 0xdf0db776, 0xbfcae147, 0xae147ac0}, /* -0.23352=f(-0.21000)*/
+{61, 0,123,__LINE__, 0xbfcc8184, 0xb8b25ef6, 0xbfc99999, 0x99999978}, /* -0.22270=f(-0.20000)*/
+{60, 0,123,__LINE__, 0xbfcb1d91, 0xd0672118, 0xbfc851eb, 0x851eb830}, /* -0.21183=f(-0.19000)*/
+{61, 0,123,__LINE__, 0xbfc9b843, 0xfc96fd9c, 0xbfc70a3d, 0x70a3d6e8}, /* -0.20093=f(-0.18000)*/
+{61, 0,123,__LINE__, 0xbfc851ac, 0x47ac9586, 0xbfc5c28f, 0x5c28f5a0}, /* -0.18999=f(-0.17000)*/
+{61, 0,123,__LINE__, 0xbfc6e9db, 0xeda44a66, 0xbfc47ae1, 0x47ae1458}, /* -0.17901=f(-0.16000)*/
+{61, 0,123,__LINE__, 0xbfc580e4, 0x5991f46e, 0xbfc33333, 0x33333310}, /* -0.16799=f(-0.15000)*/
+{60, 0,123,__LINE__, 0xbfc416d7, 0x231ac6ca, 0xbfc1eb85, 0x1eb851c8}, /* -0.15694=f(-0.14000)*/
+{61, 0,123,__LINE__, 0xbfc2abc6, 0x0be3fddd, 0xbfc0a3d7, 0x0a3d7080}, /* -0.14586=f(-0.13000)*/
+{60, 0,123,__LINE__, 0xbfc13fc2, 0xfcf6f709, 0xbfbeb851, 0xeb851e71}, /* -0.13475=f(-0.12000)*/
+{59, 0,123,__LINE__, 0xbfbfa5c0, 0x0836aa91, 0xbfbc28f5, 0xc28f5be2}, /* -0.12362=f(-0.11000)*/
+{58, 0,123,__LINE__, 0xbfbcca5e, 0xa24fb2e3, 0xbfb99999, 0x99999953}, /* -0.11246=f(-0.00100)*/
+{59, 0,123,__LINE__, 0xbfb9ed86, 0x669530b2, 0xbfb70a3d, 0x70a3d6c4}, /* -0.10128=f(-0.09000)*/
+{59, 0,123,__LINE__, 0xbfb70f5c, 0x2c9277d1, 0xbfb47ae1, 0x47ae1435}, /* -0.09007=f(-0.08000)*/
+{60, 0,123,__LINE__, 0xbfb43004, 0xff73fe9b, 0xbfb1eb85, 0x1eb851a6}, /* -0.07885=f(-0.07000)*/
+{61, 0,123,__LINE__, 0xbfb14fa6, 0x186c319d, 0xbfaeb851, 0xeb851e2d}, /* -0.06762=f(-0.06000)*/
+{58, 0,123,__LINE__, 0xbfacdcc9, 0xb2191922, 0xbfa99999, 0x9999990e}, /* -0.05637=f(-0.05000)*/
+{60, 0,123,__LINE__, 0xbfa718cd, 0x8b28cd39, 0xbfa47ae1, 0x47ae13ef}, /* -0.04511=f(-0.04000)*/
+{62, 0,123,__LINE__, 0xbfa153a2, 0xfe6dc79b, 0xbf9eb851, 0xeb851da0}, /* -0.03384=f(-0.03000)*/
+{60, 0,123,__LINE__, 0xbf971b2a, 0xf966026a, 0xbf947ae1, 0x47ae1362}, /* -0.02256=f(-0.02000)*/
+{61, 0,123,__LINE__, 0xbf871bc2, 0x666578ec, 0xbf847ae1, 0x47ae1249}, /* -0.01128=f(-0.00010)*/
+{60, 0,123,__LINE__, 0x3cd3d131, 0x57191c9a, 0x3cd19000, 0x00000000}, /* 1.10007e-15=f(9.74915e-16)*/
+{61, 0,123,__LINE__, 0x3f871bc2, 0x66657ddf, 0x3f847ae1, 0x47ae16ad}, /* 0.01128=f(0.01000)*/
+{61, 0,123,__LINE__, 0x3f971b2a, 0xf96604e4, 0x3f947ae1, 0x47ae1594}, /* 0.02256=f(0.02000)*/
+{60, 0,123,__LINE__, 0x3fa153a2, 0xfe6dc8d8, 0x3f9eb851, 0xeb851fd2}, /* 0.03384=f(0.03000)*/
+{61, 0,123,__LINE__, 0x3fa718cd, 0x8b28ce75, 0x3fa47ae1, 0x47ae1508}, /* 0.04511=f(0.04000)*/
+{60, 0,123,__LINE__, 0x3facdcc9, 0xb2191a5d, 0x3fa99999, 0x99999a27}, /* 0.05637=f(0.05000)*/
+{60, 0,123,__LINE__, 0x3fb14fa6, 0x186c323a, 0x3faeb851, 0xeb851f46}, /* 0.06762=f(0.06000)*/
+{62, 0,123,__LINE__, 0x3fb43004, 0xff73ff37, 0x3fb1eb85, 0x1eb85232}, /* 0.07885=f(0.07000)*/
+{61, 0,123,__LINE__, 0x3fb70f5c, 0x2c92786f, 0x3fb47ae1, 0x47ae14c1}, /* 0.09007=f(0.08000)*/
+{59, 0,123,__LINE__, 0x3fb9ed86, 0x66953151, 0x3fb70a3d, 0x70a3d750}, /* 0.10128=f(0.09000)*/
+{56, 0,123,__LINE__, 0x3fbcca5e, 0xa24fb380, 0x3fb99999, 0x999999df}, /* 0.11246=f(0.10000)*/
+{60, 0,123,__LINE__, 0x3fbfa5c0, 0x0836ab2c, 0x3fbc28f5, 0xc28f5c6e}, /* 0.12362=f(0.11000)*/
+{60, 0,123,__LINE__, 0x3fc13fc2, 0xfcf6f758, 0x3fbeb851, 0xeb851efd}, /* 0.13475=f(0.12000)*/
+{62, 0,123,__LINE__, 0x3fc2abc6, 0x0be3fe2b, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.14586=f(0.13000)*/
+{60, 0,123,__LINE__, 0x3fc416d7, 0x231ac718, 0x3fc1eb85, 0x1eb8520e}, /* 0.15694=f(0.14000)*/
+{62, 0,123,__LINE__, 0x3fc580e4, 0x5991f4bb, 0x3fc33333, 0x33333356}, /* 0.16799=f(0.15000)*/
+{59, 0,123,__LINE__, 0x3fc6e9db, 0xeda44ab2, 0x3fc47ae1, 0x47ae149e}, /* 0.17901=f(0.16000)*/
+{59, 0,123,__LINE__, 0x3fc851ac, 0x47ac95d2, 0x3fc5c28f, 0x5c28f5e6}, /* 0.18999=f(0.17000)*/
+{60, 0,123,__LINE__, 0x3fc9b843, 0xfc96fde9, 0x3fc70a3d, 0x70a3d72e}, /* 0.20093=f(0.18000)*/
+{61, 0,123,__LINE__, 0x3fcb1d91, 0xd0672165, 0x3fc851eb, 0x851eb876}, /* 0.21183=f(0.19000)*/
+{57, 0,123,__LINE__, 0x3fcc8184, 0xb8b25f42, 0x3fc99999, 0x999999be}, /* 0.22270=f(0.20000)*/
+{57, 0,123,__LINE__, 0x3fcde40b, 0xdf0db7c1, 0x3fcae147, 0xae147b06}, /* 0.23352=f(0.21000)*/
+{57, 0,123,__LINE__, 0x3fcf4516, 0xa36eb0c2, 0x3fcc28f5, 0xc28f5c4e}, /* 0.24429=f(0.22000)*/
+{62, 0,123,__LINE__, 0x3fd0524a, 0x4f3f5797, 0x3fcd70a3, 0xd70a3d96}, /* 0.25502=f(0.23000)*/
+{61, 0,123,__LINE__, 0x3fd1013a, 0xd1f01db6, 0x3fceb851, 0xeb851ede}, /* 0.26570=f(0.24000)*/
+{61, 0,123,__LINE__, 0x3fd1af54, 0xe232d61c, 0x3fd00000, 0x00000013}, /* 0.27632=f(0.25000)*/
+{61, 0,123,__LINE__, 0x3fd25c90, 0xa81c5bbe, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.28689=f(0.26000)*/
+{58, 0,123,__LINE__, 0x3fd308e6, 0x6c793761, 0x3fd147ae, 0x147ae15b}, /* 0.29741=f(0.27000)*/
+{61, 0,123,__LINE__, 0x3fd3b44e, 0x99d198f6, 0x3fd1eb85, 0x1eb851ff}, /* 0.30788=f(0.28000)*/
+{53, 0,123,__LINE__, 0x3fd45ec1, 0xbd651401, 0x3fd28f5c, 0x28f5c2a3}, /* 0.31828=f(0.29000)*/
+{62, 0,123,__LINE__, 0x3fd50838, 0x881dea23, 0x3fd33333, 0x33333347}, /* 0.32862=f(0.30000)*/
+{58, 0,123,__LINE__, 0x3fd5b0ab, 0xcf7bb160, 0x3fd3d70a, 0x3d70a3eb}, /* 0.33890=f(0.31000)*/
+{61, 0,123,__LINE__, 0x3fd65814, 0x8e7526e5, 0x3fd47ae1, 0x47ae148f}, /* 0.34912=f(0.32000)*/
+{61, 0,123,__LINE__, 0x3fd6fe6b, 0xe65101f5, 0x3fd51eb8, 0x51eb8533}, /* 0.35927=f(0.33000)*/
+{58, 0,123,__LINE__, 0x3fd7a3ab, 0x1f759da1, 0x3fd5c28f, 0x5c28f5d7}, /* 0.36936=f(0.34000)*/
+{61, 0,123,__LINE__, 0x3fd847cb, 0xaa2f531d, 0x3fd66666, 0x6666667b}, /* 0.37938=f(0.35000)*/
+{61, 0,123,__LINE__, 0x3fd8eac7, 0x1f6d616e, 0x3fd70a3d, 0x70a3d71f}, /* 0.38932=f(0.36000)*/
+{56, 0,123,__LINE__, 0x3fd98c97, 0x41754282, 0x3fd7ae14, 0x7ae147c3}, /* 0.39920=f(0.37000)*/
+{61, 0,123,__LINE__, 0x3fda2d35, 0xfc8c50b4, 0x3fd851eb, 0x851eb867}, /* 0.40900=f(0.38000)*/
+{58, 0,123,__LINE__, 0x3fdacc9d, 0x6797a323, 0x3fd8f5c2, 0x8f5c290b}, /* 0.41873=f(0.39000)*/
+{60, 0,123,__LINE__, 0x3fdb6ac7, 0xc4b20a19, 0x3fd99999, 0x999999af}, /* 0.42839=f(0.40000)*/
+{61, 0,123,__LINE__, 0x3fdc07af, 0x81b81876, 0x3fda3d70, 0xa3d70a53}, /* 0.43796=f(0.41000)*/
+{58, 0,123,__LINE__, 0x3fdca34f, 0x38ca29a0, 0x3fdae147, 0xae147af7}, /* 0.44746=f(0.42000)*/
+{59, 0,123,__LINE__, 0x3fdd3da1, 0xb0c45731, 0x3fdb851e, 0xb851eb9b}, /* 0.45688=f(0.43000)*/
+{59, 0,123,__LINE__, 0x3fddd6a1, 0xddac5494, 0x3fdc28f5, 0xc28f5c3f}, /* 0.46622=f(0.44000)*/
+{59, 0,123,__LINE__, 0x3fde6e4a, 0xe11529d3, 0x3fdccccc, 0xcccccce3}, /* 0.47548=f(0.45000)*/
+{61, 0,123,__LINE__, 0x3fdf0498, 0x0a78ca3e, 0x3fdd70a3, 0xd70a3d87}, /* 0.48465=f(0.46000)*/
+{56, 0,123,__LINE__, 0x3fdf9984, 0xd787867e, 0x3fde147a, 0xe147ae2b}, /* 0.49374=f(0.47000)*/
+{60, 0,123,__LINE__, 0x3fe01686, 0x7a36ae67, 0x3fdeb851, 0xeb851ecf}, /* 0.50274=f(0.48000)*/
+{64, 0,123,__LINE__, 0x3fe05f96, 0x1e0696b6, 0x3fdf5c28, 0xf5c28f73}, /* 0.51166=f(0.49000)*/
+{64, 0,123,__LINE__, 0x3fe0a7ef, 0x5c18eddc, 0x3fe00000, 0x0000000b}, /* 0.52049=f(0.50000)*/
+{62, 0,123,__LINE__, 0x3fe0ef90, 0x50dab421, 0x3fe051eb, 0x851eb85d}, /* 0.52924=f(0.51000)*/
+{61, 0,123,__LINE__, 0x3fe13677, 0x304f0933, 0x3fe0a3d7, 0x0a3d70af}, /* 0.53789=f(0.52000)*/
+{58, 0,123,__LINE__, 0x3fe17ca2, 0x4618c9a0, 0x3fe0f5c2, 0x8f5c2901}, /* 0.54646=f(0.53000)*/
+{63, 0,123,__LINE__, 0x3fe1c20f, 0xf57f4335, 0x3fe147ae, 0x147ae153}, /* 0.55493=f(0.54000)*/
+{63, 0,123,__LINE__, 0x3fe206be, 0xb96e0c15, 0x3fe19999, 0x999999a5}, /* 0.56332=f(0.55000)*/
+{62, 0,123,__LINE__, 0x3fe24aad, 0x2470096a, 0x3fe1eb85, 0x1eb851f7}, /* 0.57161=f(0.56000)*/
+{64, 0,123,__LINE__, 0x3fe28dd9, 0xe0a5b42a, 0x3fe23d70, 0xa3d70a49}, /* 0.57981=f(0.57000)*/
+{64, 0,123,__LINE__, 0x3fe2d043, 0xafb6ab96, 0x3fe28f5c, 0x28f5c29b}, /* 0.58792=f(0.58000)*/
+{64, 0,123,__LINE__, 0x3fe311e9, 0x6abea670, 0x3fe2e147, 0xae147aed}, /* 0.59593=f(0.59000)*/
+{63, 0,123,__LINE__, 0x3fe352ca, 0x0235d4ff, 0x3fe33333, 0x3333333f}, /* 0.60385=f(0.60000)*/
+{63, 0,123,__LINE__, 0x3fe392e4, 0x7dd4c74a, 0x3fe3851e, 0xb851eb91}, /* 0.61168=f(0.61000)*/
+{60, 0,123,__LINE__, 0x3fe3d237, 0xfc73ec06, 0x3fe3d70a, 0x3d70a3e3}, /* 0.61941=f(0.62000)*/
+{61, 0,123,__LINE__, 0x3fe410c3, 0xb3e6bdd3, 0x3fe428f5, 0xc28f5c35}, /* 0.62704=f(0.63000)*/
+{61, 0,123,__LINE__, 0x3fe44e86, 0xf0d2b56b, 0x3fe47ae1, 0x47ae1487}, /* 0.63458=f(0.64000)*/
+{62, 0,123,__LINE__, 0x3fe48b81, 0x16821885, 0x3fe4cccc, 0xccccccd9}, /* 0.64202=f(0.65000)*/
+{63, 0,123,__LINE__, 0x3fe4c7b1, 0x9eb2bdf8, 0x3fe51eb8, 0x51eb852b}, /* 0.64937=f(0.66000)*/
+{64, 0,123,__LINE__, 0x3fe50318, 0x1960e0c6, 0x3fe570a3, 0xd70a3d7d}, /* 0.65662=f(0.67000)*/
+{63, 0,123,__LINE__, 0x3fe53db4, 0x2c8e1c7e, 0x3fe5c28f, 0x5c28f5cf}, /* 0.66378=f(0.68000)*/
+{64, 0,123,__LINE__, 0x3fe57785, 0x9404ae3a, 0x3fe6147a, 0xe147ae21}, /* 0.67084=f(0.69000)*/
+{64, 0,123,__LINE__, 0x3fe5b08c, 0x21171650, 0x3fe66666, 0x66666673}, /* 0.67780=f(0.70000)*/
+{64, 0,123,__LINE__, 0x3fe5e8c7, 0xba5c377d, 0x3fe6b851, 0xeb851ec5}, /* 0.68466=f(0.71000)*/
+{64, 0,123,__LINE__, 0x3fe62038, 0x5b68110c, 0x3fe70a3d, 0x70a3d717}, /* 0.69143=f(0.72000)*/
+{64, 0,123,__LINE__, 0x3fe656de, 0x14813210, 0x3fe75c28, 0xf5c28f69}, /* 0.69810=f(0.73000)*/
+{62, 0,123,__LINE__, 0x3fe68cb9, 0x0a530456, 0x3fe7ae14, 0x7ae147bb}, /* 0.70467=f(0.74000)*/
+{63, 0,123,__LINE__, 0x3fe6c1c9, 0x759d0e67, 0x3fe80000, 0x0000000d}, /* 0.71115=f(0.75000)*/
+{64, 0,123,__LINE__, 0x3fe6f60f, 0xa2df4c36, 0x3fe851eb, 0x851eb85f}, /* 0.71753=f(0.76000)*/
+{64, 0,123,__LINE__, 0x3fe7298b, 0xf203be90, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.72382=f(0.77000)*/
+{64, 0,123,__LINE__, 0x3fe75c3e, 0xd60551f6, 0x3fe8f5c2, 0x8f5c2903}, /* 0.73001=f(0.78000)*/
+{63, 0,123,__LINE__, 0x3fe78e28, 0xd4943d97, 0x3fe947ae, 0x147ae155}, /* 0.73610=f(0.79000)*/
+{63, 0,123,__LINE__, 0x3fe7bf4a, 0x85b7fb8b, 0x3fe99999, 0x999999a7}, /* 0.74210=f(0.80000)*/
+{63, 0,123,__LINE__, 0x3fe7efa4, 0x936efbaa, 0x3fe9eb85, 0x1eb851f9}, /* 0.74800=f(0.81000)*/
+{64, 0,123,__LINE__, 0x3fe81f37, 0xb94c328e, 0x3fea3d70, 0xa3d70a4b}, /* 0.75381=f(0.82000)*/
+{64, 0,123,__LINE__, 0x3fe84e04, 0xc412a63b, 0x3fea8f5c, 0x28f5c29d}, /* 0.75952=f(0.83000)*/
+{63, 0,123,__LINE__, 0x3fe87c0c, 0x914f1a61, 0x3feae147, 0xae147aef}, /* 0.76514=f(0.84000)*/
+{63, 0,123,__LINE__, 0x3fe8a950, 0x0eeffdb9, 0x3feb3333, 0x33333341}, /* 0.77066=f(0.85000)*/
+{63, 0,123,__LINE__, 0x3fe8d5d0, 0x3adbba67, 0x3feb851e, 0xb851eb93}, /* 0.77610=f(0.86000)*/
+{64, 0,123,__LINE__, 0x3fe9018e, 0x22858af4, 0x3febd70a, 0x3d70a3e5}, /* 0.78143=f(0.87000)*/
+{62, 0,123,__LINE__, 0x3fe92c8a, 0xe280f56a, 0x3fec28f5, 0xc28f5c37}, /* 0.78668=f(0.88000)*/
+{62, 0,123,__LINE__, 0x3fe956c7, 0xa6140e12, 0x3fec7ae1, 0x47ae1489}, /* 0.79184=f(0.89000)*/
+{63, 0,123,__LINE__, 0x3fe98045, 0xa6c8a2ed, 0x3feccccc, 0xccccccdb}, /* 0.79690=f(0.90000)*/
+{62, 0,123,__LINE__, 0x3fe9a906, 0x2bfc70f2, 0x3fed1eb8, 0x51eb852d}, /* 0.80188=f(0.91000)*/
+{64, 0,123,__LINE__, 0x3fe9d10a, 0x8a7083ae, 0x3fed70a3, 0xd70a3d7f}, /* 0.80676=f(0.92000)*/
+{64, 0,123,__LINE__, 0x3fe9f854, 0x23d7dfb7, 0x3fedc28f, 0x5c28f5d1}, /* 0.81156=f(0.93000)*/
+{64, 0,123,__LINE__, 0x3fea1ee4, 0x666597da, 0x3fee147a, 0xe147ae23}, /* 0.81627=f(0.94000)*/
+{63, 0,123,__LINE__, 0x3fea44bc, 0xcc5a6cb6, 0x3fee6666, 0x66666675}, /* 0.82089=f(0.95000)*/
+{64, 0,123,__LINE__, 0x3fea69de, 0xdb9215d4, 0x3feeb851, 0xeb851ec7}, /* 0.82542=f(0.96000)*/
+{64, 0,123,__LINE__, 0x3fea8e4c, 0x251052fa, 0x3fef0a3d, 0x70a3d719}, /* 0.82987=f(0.97000)*/
+{64, 0,123,__LINE__, 0x3feab206, 0x448de3f7, 0x3fef5c28, 0xf5c28f6b}, /* 0.83423=f(0.98000)*/
+{63, 0,123,__LINE__, 0x3fead50e, 0xe0058460, 0x3fefae14, 0x7ae147bd}, /* 0.83850=f(0.99000)*/
+{64, 0,123,__LINE__, 0x3feaf767, 0xa7410890, 0x3ff00000, 0x00000007}, /* 0.84270=f(1.00000)*/
+{64, 0,123,__LINE__, 0x3feb1912, 0x5366b82d, 0x3ff028f5, 0xc28f5c30}, /* 0.84681=f(1.01000)*/
+{64, 0,123,__LINE__, 0x3feb3a10, 0xa6870232, 0x3ff051eb, 0x851eb859}, /* 0.85083=f(1.02000)*/
+{62, 0,123,__LINE__, 0x3feb5a64, 0x6b2aa5a2, 0x3ff07ae1, 0x47ae1482}, /* 0.85478=f(1.03000)*/
+{64, 0,123,__LINE__, 0x3feb7a0f, 0x73e1696d, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.85864=f(1.04000)*/
+{64, 0,123,__LINE__, 0x3feb9913, 0x9ad17d60, 0x3ff0cccc, 0xccccccd4}, /* 0.86243=f(1.05000)*/
+{64, 0,123,__LINE__, 0x3febb772, 0xc1479d29, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.86614=f(1.06000)*/
+{64, 0,123,__LINE__, 0x3febd52e, 0xcf480de6, 0x3ff11eb8, 0x51eb8526}, /* 0.86977=f(1.07000)*/
+{64, 0,123,__LINE__, 0x3febf249, 0xb3208dc2, 0x3ff147ae, 0x147ae14f}, /* 0.87332=f(1.08000)*/
+{64, 0,123,__LINE__, 0x3fec0ec5, 0x60fb4c76, 0x3ff170a3, 0xd70a3d78}, /* 0.87680=f(1.09000)*/
+{64, 0,123,__LINE__, 0x3fec2aa3, 0xd27302c4, 0x3ff19999, 0x999999a1}, /* 0.88020=f(1.10000)*/
+{64, 0,123,__LINE__, 0x3fec45e7, 0x06283e15, 0x3ff1c28f, 0x5c28f5ca}, /* 0.88353=f(1.11000)*/
+{58, 0,123,__LINE__, 0x3fec6090, 0xff57f4a0, 0x3ff1eb85, 0x1eb851f3}, /* 0.88678=f(1.12000)*/
+{64, 0,123,__LINE__, 0x3fec7aa3, 0xc57375bc, 0x3ff2147a, 0xe147ae1c}, /* 0.88997=f(1.13000)*/
+{64, 0,123,__LINE__, 0x3fec9421, 0x63b9c910, 0x3ff23d70, 0xa3d70a45}, /* 0.89308=f(1.14000)*/
+{61, 0,123,__LINE__, 0x3fecad0b, 0xe8d28e7b, 0x3ff26666, 0x6666666e}, /* 0.89612=f(1.15000)*/
+{64, 0,123,__LINE__, 0x3fecc565, 0x666a6fca, 0x3ff28f5c, 0x28f5c297}, /* 0.89909=f(1.16000)*/
+{64, 0,123,__LINE__, 0x3fecdd2f, 0xf0d1346a, 0x3ff2b851, 0xeb851ec0}, /* 0.90200=f(1.17000)*/
+{64, 0,123,__LINE__, 0x3fecf46d, 0x9e998656, 0x3ff2e147, 0xae147ae9}, /* 0.90483=f(1.18000)*/
+{64, 0,123,__LINE__, 0x3fed0b20, 0x883a76d3, 0x3ff30a3d, 0x70a3d712}, /* 0.90760=f(1.19000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc01921fb, 0x54442d18}, /* -1.00000=f(-6.28318)*/
+{64, 0,123,__LINE__, 0xbfefffff, 0xfff459c2, 0xc012d97c, 0x7f3321d2}, /* -0.01000=f(-4.71238)*/
+{64, 0,123,__LINE__, 0xbfefffed, 0x62a7bb7c, 0xc00921fb, 0x54442d18}, /* -0.99999=f(-3.14159)*/
+{64, 0,123,__LINE__, 0xbfef2860, 0xb4807f6c, 0xbff921fb, 0x54442d18}, /* -0.97367=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{64, 0,123,__LINE__, 0x3fef2860, 0xb4807f6c, 0x3ff921fb, 0x54442d18}, /* 0.97367=f(1.57079)*/
+{64, 0,123,__LINE__, 0x3fefffed, 0x62a7bb7c, 0x400921fb, 0x54442d18}, /* 0.99999=f(3.14159)*/
+{64, 0,123,__LINE__, 0x3fefffff, 0xfff459c2, 0x4012d97c, 0x7f3321d2}, /* 0.01000=f(4.71238)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc03e0000, 0x00000000}, /* -1.00000=f(-30.0000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* -1.00000=f(-28.3000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc03a9999, 0x9999999a}, /* -1.00000=f(-26.6000)*/
+{61,16, 40,__LINE__, 0x3fd3fc07, 0xd7b9d768, 0xc038e666, 0x66666667}, /* 0.31225=f(-24.9000)*/
+{60,16, 40,__LINE__, 0x3ffbcbd0, 0x29e037f4, 0xc0373333, 0x33333334}, /* 1.73725=f(-23.2000)*/
+{63,16, 40,__LINE__, 0x401118ea, 0x36ea6e76, 0xc0358000, 0x00000001}, /* 4.27433=f(-21.5000)*/
+{59,16, 40,__LINE__, 0xbfca8988, 0x7894ab50, 0xc033cccc, 0xccccccce}, /* -0.20732=f(-19.8000)*/
+{60,16, 40,__LINE__, 0x3fe3a675, 0x0e430856, 0xc0321999, 0x9999999b}, /* 0.61406=f(-18.1000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc0306666, 0x66666668}, /* -1.00000=f(-16.4000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc02d6666, 0x6666666a}, /* -1.00000=f(-14.7000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc02a0000, 0x00000004}, /* -1.00000=f(-13.0000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc0269999, 0x9999999e}, /* -1.00000=f(-11.3000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc0233333, 0x33333338}, /* -1.00000=f(-9.60000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc01f9999, 0x999999a3}, /* -1.00000=f(-7.90000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* -1.00000=f(-6.20000)*/
+{64, 0,123,__LINE__, 0xbfefffff, 0xffa9bd6a, 0xc0120000, 0x00000009}, /* -0.01000=f(-4.50000)*/
+{64, 0,123,__LINE__, 0xbfefff62, 0xaf990752, 0xc0066666, 0x66666678}, /* -0.99992=f(-2.80000)*/
+{64, 0,123,__LINE__, 0xbfec2aa3, 0xd27302d7, 0xbff19999, 0x999999bd}, /* -0.88020=f(-1.10000)*/
+{63, 0,123,__LINE__, 0x3fe352ca, 0x0235d4be, 0x3fe33333, 0x333332ec}, /* 0.60385=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3feff6a2, 0x95bcd35c, 0x40026666, 0x66666654}, /* 0.99885=f(2.30000)*/
+{64, 0,123,__LINE__, 0x3fefffff, 0xf7b91176, 0x400fffff, 0xffffffee}, /* 0.99999=f(4.00000)*/
+{64, 0,123,__LINE__, 0x3fefffff, 0xffffffea, 0x4016cccc, 0xccccccc4}, /* 0.01000=f(5.70000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x401d9999, 0x99999991}, /* 1.00000=f(7.40000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x40223333, 0x3333332f}, /* 1.00000=f(9.10000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x40259999, 0x99999995}, /* 1.00000=f(10.8000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x4028ffff, 0xfffffffb}, /* 1.00000=f(12.5000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x402c6666, 0x66666661}, /* 1.00000=f(14.2000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x402fcccc, 0xccccccc7}, /* 1.00000=f(15.9000)*/
+{62,16, 40,__LINE__, 0xbfe72550, 0x5ab7d1b4, 0x40319999, 0x99999997}, /* -0.72330=f(17.6000)*/
+{61,16, 40,__LINE__, 0x3fc292f8, 0xb49b2624, 0x40334ccc, 0xccccccca}, /* 0.14511=f(19.3000)*/
+{63,16, 40,__LINE__, 0x3fe36f0f, 0xb6cd32cb, 0x4034ffff, 0xfffffffd}, /* 0.60730=f(21.0000)*/
+{59,16, 40,__LINE__, 0xbffd52c0, 0x3f2df2ee, 0x4036b333, 0x33333330}, /* -1.83270=f(22.7000)*/
+{60,16, 40,__LINE__, 0xbfd7dfcb, 0xce3843a0, 0x40386666, 0x66666663}, /* -0.37303=f(24.4000)*/
+{62,16, 40,__LINE__, 0x3fd8acb7, 0x085483b2, 0x403a1999, 0x99999996}, /* 0.38554=f(26.1000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x403bcccc, 0xccccccc9}, /* 1.00000=f(27.8000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x403d7fff, 0xfffffffc}, /* 1.00000=f(29.5000)*/
+0,};
+test_erf(m) {run_vector_1(m,erf_vec,(char *)(erf),"erf","dd"); }
diff --git a/newlib/libm/test/erfc_vec.c b/newlib/libm/test/erfc_vec.c
new file mode 100644
index 00000000000..4579d31fd49
--- /dev/null
+++ b/newlib/libm/test/erfc_vec.c
@@ -0,0 +1,286 @@
+#include "test.h"
+ one_line_type erfc_vec[] = {
+{64, 0,123,__LINE__, 0x3ffe90a5, 0x63d96834, 0xbff33333, 0x33333333}, /* 1.91031=f(-1.20000)*/
+{64, 0,123,__LINE__, 0x3ffe8590, 0x441d3b67, 0xbff30a3d, 0x70a3d70a}, /* 1.90760=f(-1.19000)*/
+{64, 0,123,__LINE__, 0x3ffe7a36, 0xcf4cc329, 0xbff2e147, 0xae147ae1}, /* 1.90483=f(-1.18000)*/
+{64, 0,123,__LINE__, 0x3ffe6e97, 0xf8689a32, 0xbff2b851, 0xeb851eb8}, /* 1.90200=f(-1.17000)*/
+{63, 0,123,__LINE__, 0x3ffe62b2, 0xb33537e3, 0xbff28f5c, 0x28f5c28f}, /* 1.89909=f(-1.16000)*/
+{64, 0,123,__LINE__, 0x3ffe5685, 0xf469473b, 0xbff26666, 0x66666666}, /* 1.89612=f(-1.15000)*/
+{64, 0,123,__LINE__, 0x3ffe4a10, 0xb1dce486, 0xbff23d70, 0xa3d70a3d}, /* 1.89308=f(-1.14000)*/
+{64, 0,123,__LINE__, 0x3ffe3d51, 0xe2b9badb, 0xbff2147a, 0xe147ae14}, /* 1.88997=f(-1.13000)*/
+{64, 0,123,__LINE__, 0x3ffe3048, 0x7fabfa4d, 0xbff1eb85, 0x1eb851eb}, /* 1.88678=f(-1.12000)*/
+{64, 0,123,__LINE__, 0x3ffe22f3, 0x83141f08, 0xbff1c28f, 0x5c28f5c2}, /* 1.88353=f(-1.11000)*/
+{64, 0,123,__LINE__, 0x3ffe1551, 0xe9398160, 0xbff19999, 0x99999999}, /* 1.88020=f(-1.10000)*/
+{64, 0,123,__LINE__, 0x3ffe0762, 0xb07da638, 0xbff170a3, 0xd70a3d70}, /* 1.87680=f(-1.09000)*/
+{64, 0,123,__LINE__, 0x3ffdf924, 0xd99046de, 0xbff147ae, 0x147ae147}, /* 1.87332=f(-1.08000)*/
+{64, 0,123,__LINE__, 0x3ffdea97, 0x67a406f0, 0xbff11eb8, 0x51eb851e}, /* 1.86977=f(-1.07000)*/
+{64, 0,123,__LINE__, 0x3ffddbb9, 0x60a3ce91, 0xbff0f5c2, 0x8f5c28f5}, /* 1.86614=f(-1.06000)*/
+{64, 0,123,__LINE__, 0x3ffdcc89, 0xcd68bead, 0xbff0cccc, 0xcccccccc}, /* 1.86243=f(-1.05000)*/
+{64, 0,123,__LINE__, 0x3ffdbd07, 0xb9f0b4b3, 0xbff0a3d7, 0x0a3d70a3}, /* 1.85865=f(-1.04000)*/
+{62, 0,123,__LINE__, 0x3ffdad32, 0x359552ce, 0xbff07ae1, 0x47ae147a}, /* 1.85478=f(-1.03000)*/
+{64, 0,123,__LINE__, 0x3ffd9d08, 0x53438116, 0xbff051eb, 0x851eb851}, /* 1.85083=f(-1.02000)*/
+{64, 0,123,__LINE__, 0x3ffd8c89, 0x29b35c14, 0xbff028f5, 0xc28f5c28}, /* 1.84681=f(-1.01000)*/
+{63, 0,123,__LINE__, 0x3ffd7bb3, 0xd3a08445, 0xbfefffff, 0xfffffffe}, /* 1.84270=f(-0.01000)*/
+{63, 0,123,__LINE__, 0x3ffd6a87, 0x7002c22c, 0xbfefae14, 0x7ae147ac}, /* 1.83850=f(-0.99000)*/
+{64, 0,123,__LINE__, 0x3ffd5903, 0x2246f1f8, 0xbfef5c28, 0xf5c28f5a}, /* 1.83423=f(-0.98000)*/
+{64, 0,123,__LINE__, 0x3ffd4726, 0x1288297a, 0xbfef0a3d, 0x70a3d708}, /* 1.82987=f(-0.97000)*/
+{64, 0,123,__LINE__, 0x3ffd34ef, 0x6dc90ae6, 0xbfeeb851, 0xeb851eb6}, /* 1.82542=f(-0.96000)*/
+{60, 0,123,__LINE__, 0x3ffd225e, 0x662d3657, 0xbfee6666, 0x66666664}, /* 1.82089=f(-0.95000)*/
+{64, 0,123,__LINE__, 0x3ffcfc2a, 0x11ebefd7, 0xbfedc28f, 0x5c28f5c0}, /* 1.81156=f(-0.93000)*/
+{63, 0,123,__LINE__, 0x3ffce885, 0x453841d3, 0xbfed70a3, 0xd70a3d6e}, /* 1.80676=f(-0.92000)*/
+{64, 0,123,__LINE__, 0x3ffcd483, 0x15fe3874, 0xbfed1eb8, 0x51eb851c}, /* 1.80188=f(-0.91000)*/
+{64, 0,123,__LINE__, 0x3ffcc022, 0xd3645172, 0xbfeccccc, 0xccccccca}, /* 1.79690=f(-0.90000)*/
+{64, 0,123,__LINE__, 0x3ffcab63, 0xd30a0704, 0xbfec7ae1, 0x47ae1478}, /* 1.79184=f(-0.89000)*/
+{64, 0,123,__LINE__, 0x3ffc9645, 0x71407ab0, 0xbfec28f5, 0xc28f5c26}, /* 1.78668=f(-0.88000)*/
+{64, 0,123,__LINE__, 0x3ffc80c7, 0x1142c575, 0xbfebd70a, 0x3d70a3d4}, /* 1.78144=f(-0.87000)*/
+{64, 0,123,__LINE__, 0x3ffc6ae8, 0x1d6ddd2f, 0xbfeb851e, 0xb851eb82}, /* 1.77610=f(-0.86000)*/
+{60, 0,123,__LINE__, 0x3ffc54a8, 0x0777fed8, 0xbfeb3333, 0x33333330}, /* 1.77066=f(-0.85000)*/
+{61, 0,123,__LINE__, 0x3ffc3e06, 0x48a78d2c, 0xbfeae147, 0xae147ade}, /* 1.76514=f(-0.84000)*/
+{64, 0,123,__LINE__, 0x3ffc2702, 0x62095319, 0xbfea8f5c, 0x28f5c28c}, /* 1.75952=f(-0.83000)*/
+{64, 0,123,__LINE__, 0x3ffc0f9b, 0xdca61942, 0xbfea3d70, 0xa3d70a3a}, /* 1.75381=f(-0.82000)*/
+{64, 0,123,__LINE__, 0x3ffbf7d2, 0x49b77dd1, 0xbfe9eb85, 0x1eb851e8}, /* 1.74800=f(-0.81000)*/
+{64, 0,123,__LINE__, 0x3ffbdfa5, 0x42dbfdc0, 0xbfe99999, 0x99999996}, /* 1.74210=f(-0.80000)*/
+{64, 0,123,__LINE__, 0x3ffbc714, 0x6a4a1ec6, 0xbfe947ae, 0x147ae144}, /* 1.73610=f(-0.79000)*/
+{64, 0,123,__LINE__, 0x3ffbae1f, 0x6b02a8f6, 0xbfe8f5c2, 0x8f5c28f2}, /* 1.73001=f(-0.78000)*/
+{64, 0,123,__LINE__, 0x3ffb94c5, 0xf901df42, 0xbfe8a3d7, 0x0a3d70a0}, /* 1.72382=f(-0.77000)*/
+{64, 0,123,__LINE__, 0x3ffb7b07, 0xd16fa616, 0xbfe851eb, 0x851eb84e}, /* 1.71753=f(-0.76000)*/
+{63, 0,123,__LINE__, 0x3ffb60e4, 0xbace872e, 0xbfe7ffff, 0xfffffffc}, /* 1.71115=f(-0.75000)*/
+{64, 0,123,__LINE__, 0x3ffb465c, 0x85298225, 0xbfe7ae14, 0x7ae147aa}, /* 1.70467=f(-0.74000)*/
+{64, 0,123,__LINE__, 0x3ffb2b6f, 0x0a409902, 0xbfe75c28, 0xf5c28f58}, /* 1.69810=f(-0.73000)*/
+{64, 0,123,__LINE__, 0x3ffb101c, 0x2db40880, 0xbfe70a3d, 0x70a3d706}, /* 1.69143=f(-0.72000)*/
+{64, 0,123,__LINE__, 0x3ffaf463, 0xdd2e1bb8, 0xbfe6b851, 0xeb851eb4}, /* 1.68466=f(-0.71000)*/
+{64, 0,123,__LINE__, 0x3ffad846, 0x108b8b22, 0xbfe66666, 0x66666662}, /* 1.67780=f(-0.70000)*/
+{60, 0,123,__LINE__, 0x3ffabbc2, 0xca025717, 0xbfe6147a, 0xe147ae10}, /* 1.67084=f(-0.69000)*/
+{64, 0,123,__LINE__, 0x3ffa9eda, 0x16470e39, 0xbfe5c28f, 0x5c28f5be}, /* 1.66378=f(-0.68000)*/
+{64, 0,123,__LINE__, 0x3ffa818c, 0x0cb0705d, 0xbfe570a3, 0xd70a3d6c}, /* 1.65662=f(-0.67000)*/
+{64, 0,123,__LINE__, 0x3ffa63d8, 0xcf595ef6, 0xbfe51eb8, 0x51eb851a}, /* 1.64937=f(-0.66000)*/
+{64, 0,123,__LINE__, 0x3ffa45c0, 0x8b410c3c, 0xbfe4cccc, 0xccccccc8}, /* 1.64202=f(-0.65000)*/
+{64, 0,123,__LINE__, 0x3ffa2743, 0x78695aaf, 0xbfe47ae1, 0x47ae1476}, /* 1.63458=f(-0.64000)*/
+{64, 0,123,__LINE__, 0x3ffa0861, 0xd9f35ee3, 0xbfe428f5, 0xc28f5c24}, /* 1.62704=f(-0.63000)*/
+{62, 0,123,__LINE__, 0x3ff9e91b, 0xfe39f5fd, 0xbfe3d70a, 0x3d70a3d2}, /* 1.61941=f(-0.62000)*/
+{64, 0,123,__LINE__, 0x3ff9c972, 0x3eea639f, 0xbfe3851e, 0xb851eb80}, /* 1.61168=f(-0.61000)*/
+{64, 0,123,__LINE__, 0x3ff9a965, 0x011aea7a, 0xbfe33333, 0x3333332e}, /* 1.60385=f(-0.60000)*/
+{64, 0,123,__LINE__, 0x3ff988f4, 0xb55f5332, 0xbfe2e147, 0xae147adc}, /* 1.59593=f(-0.59000)*/
+{64, 0,123,__LINE__, 0x3ff96821, 0xd7db55c4, 0xbfe28f5c, 0x28f5c28a}, /* 1.58792=f(-0.58000)*/
+{62, 0,123,__LINE__, 0x3ff946ec, 0xf052da0d, 0xbfe23d70, 0xa3d70a38}, /* 1.57981=f(-0.57000)*/
+{63, 0,123,__LINE__, 0x3ff92556, 0x923804af, 0xbfe1eb85, 0x1eb851e6}, /* 1.57161=f(-0.56000)*/
+{63, 0,123,__LINE__, 0x3ff9035f, 0x5cb70603, 0xbfe19999, 0x99999994}, /* 1.56332=f(-0.55000)*/
+{63, 0,123,__LINE__, 0x3ff8e107, 0xfabfa193, 0xbfe147ae, 0x147ae142}, /* 1.55493=f(-0.54000)*/
+{64, 0,123,__LINE__, 0x3ff8be51, 0x230c64c8, 0xbfe0f5c2, 0x8f5c28f0}, /* 1.54646=f(-0.53000)*/
+{64, 0,123,__LINE__, 0x3ff89b3b, 0x98278492, 0xbfe0a3d7, 0x0a3d709e}, /* 1.53789=f(-0.52000)*/
+{63, 0,123,__LINE__, 0x3ff877c8, 0x286d5a09, 0xbfe051eb, 0x851eb84c}, /* 1.52924=f(-0.51000)*/
+{64, 0,123,__LINE__, 0x3ff853f7, 0xae0c76e6, 0xbfdfffff, 0xfffffff4}, /* 1.52050=f(-0.50000)*/
+{64, 0,123,__LINE__, 0x3ff82fcb, 0x0f034b53, 0xbfdf5c28, 0xf5c28f50}, /* 1.51166=f(-0.49000)*/
+{63, 0,123,__LINE__, 0x3ff80b43, 0x3d1b572c, 0xbfdeb851, 0xeb851eac}, /* 1.50275=f(-0.48000)*/
+{60, 0,123,__LINE__, 0x3ff7e661, 0x35e1e198, 0xbfde147a, 0xe147ae08}, /* 1.49374=f(-0.47000)*/
+{60, 0,123,__LINE__, 0x3ff7c126, 0x029e3288, 0xbfdd70a3, 0xd70a3d64}, /* 1.48465=f(-0.46000)*/
+{63, 0,123,__LINE__, 0x3ff79b92, 0xb8454a6d, 0xbfdccccc, 0xccccccc0}, /* 1.47548=f(-0.45000)*/
+{63, 0,123,__LINE__, 0x3ff775a8, 0x776b151d, 0xbfdc28f5, 0xc28f5c1c}, /* 1.46622=f(-0.44000)*/
+{61, 0,123,__LINE__, 0x3ff74f68, 0x6c3115c4, 0xbfdb851e, 0xb851eb78}, /* 1.45688=f(-0.43000)*/
+{58, 0,123,__LINE__, 0x3ff728d3, 0xce328a60, 0xbfdae147, 0xae147ad4}, /* 1.44746=f(-0.42000)*/
+{63, 0,123,__LINE__, 0x3ff701eb, 0xe06e0615, 0xbfda3d70, 0xa3d70a30}, /* 1.43796=f(-0.41000)*/
+{62, 0,123,__LINE__, 0x3ff6dab1, 0xf12c827e, 0xbfd99999, 0x9999998c}, /* 1.42839=f(-0.40000)*/
+{57, 0,123,__LINE__, 0x3ff6b327, 0x59e5e8c0, 0xbfd8f5c2, 0x8f5c28e8}, /* 1.41873=f(-0.39000)*/
+{63, 0,123,__LINE__, 0x3ff68b4d, 0x7f231425, 0xbfd851eb, 0x851eb844}, /* 1.40900=f(-0.38000)*/
+{60, 0,123,__LINE__, 0x3ff66325, 0xd05d5098, 0xbfd7ae14, 0x7ae147a0}, /* 1.39920=f(-0.37000)*/
+{63, 0,123,__LINE__, 0x3ff63ab1, 0xc7db5853, 0xbfd70a3d, 0x70a3d6fc}, /* 1.38933=f(-0.36000)*/
+{63, 0,123,__LINE__, 0x3ff611f2, 0xea8bd4bf, 0xbfd66666, 0x66666658}, /* 1.37938=f(-0.35000)*/
+{63, 0,123,__LINE__, 0x3ff5e8ea, 0xc7dd675f, 0xbfd5c28f, 0x5c28f5b4}, /* 1.36936=f(-0.34000)*/
+{61, 0,123,__LINE__, 0x3ff5bf9a, 0xf9944074, 0xbfd51eb8, 0x51eb8510}, /* 1.35927=f(-0.33000)*/
+{64, 0,123,__LINE__, 0x3ff59605, 0x239d49b0, 0xbfd47ae1, 0x47ae146c}, /* 1.34912=f(-0.32000)*/
+{63, 0,123,__LINE__, 0x3ff56c2a, 0xf3deec4f, 0xbfd3d70a, 0x3d70a3c8}, /* 1.33890=f(-0.31000)*/
+{56, 0,123,__LINE__, 0x3ff5420e, 0x22077a80, 0xbfd33333, 0x33333324}, /* 1.32862=f(-0.30000)*/
+{63, 0,123,__LINE__, 0x3ff517b0, 0x6f5944f7, 0xbfd28f5c, 0x28f5c280}, /* 1.31828=f(-0.29000)*/
+{64, 0,123,__LINE__, 0x3ff4ed13, 0xa6746634, 0xbfd1eb85, 0x1eb851dc}, /* 1.30788=f(-0.28000)*/
+{63, 0,123,__LINE__, 0x3ff4c239, 0x9b1e4dcf, 0xbfd147ae, 0x147ae138}, /* 1.29741=f(-0.27000)*/
+{62, 0,123,__LINE__, 0x3ff49724, 0x2a0716e6, 0xbfd0a3d7, 0x0a3d7094}, /* 1.28690=f(-0.26000)*/
+{62, 0,123,__LINE__, 0x3ff46bd5, 0x388cb57e, 0xbfcfffff, 0xffffffe0}, /* 1.27632=f(-0.25000)*/
+{64, 0,123,__LINE__, 0x3ff4404e, 0xb47c0764, 0xbfceb851, 0xeb851e98}, /* 1.26570=f(-0.24000)*/
+{64, 0,123,__LINE__, 0x3ff41492, 0x93cfd5dc, 0xbfcd70a3, 0xd70a3d50}, /* 1.25502=f(-0.23000)*/
+{63, 0,123,__LINE__, 0x3ff3e8a2, 0xd46dd60f, 0xbfcc28f5, 0xc28f5c08}, /* 1.24429=f(-0.22000)*/
+{63, 0,123,__LINE__, 0x3ff3bc81, 0x7be1b6ef, 0xbfcae147, 0xae147ac0}, /* 1.23352=f(-0.21000)*/
+{63, 0,123,__LINE__, 0x3ff39030, 0x97164bdf, 0xbfc99999, 0x99999978}, /* 1.22270=f(-0.20000)*/
+{63, 0,123,__LINE__, 0x3ff363b2, 0x3a0ce423, 0xbfc851eb, 0x851eb830}, /* 1.21184=f(-0.19000)*/
+{61, 0,123,__LINE__, 0x3ff33708, 0x7f92dfb4, 0xbfc70a3d, 0x70a3d6e8}, /* 1.20093=f(-0.18000)*/
+{63, 0,123,__LINE__, 0x3ff30a35, 0x88f592b1, 0xbfc5c28f, 0x5c28f5a0}, /* 1.18999=f(-0.17000)*/
+{63, 0,123,__LINE__, 0x3ff2dd3b, 0x7db4894d, 0xbfc47ae1, 0x47ae1458}, /* 1.17901=f(-0.16000)*/
+{62, 0,123,__LINE__, 0x3ff2b01c, 0x8b323e8e, 0xbfc33333, 0x33333310}, /* 1.16799=f(-0.15000)*/
+{64, 0,123,__LINE__, 0x3ff282da, 0xe46358d9, 0xbfc1eb85, 0x1eb851c8}, /* 1.15694=f(-0.14000)*/
+{61, 0,123,__LINE__, 0x3ff25578, 0xc17c7fbc, 0xbfc0a3d7, 0x0a3d7080}, /* 1.14586=f(-0.13000)*/
+{64, 0,123,__LINE__, 0x3ff227f8, 0x5f9edee1, 0xbfbeb851, 0xeb851e71}, /* 1.13475=f(-0.12000)*/
+{64, 0,123,__LINE__, 0x3ff1fa5c, 0x00836aa9, 0xbfbc28f5, 0xc28f5be2}, /* 1.12362=f(-0.11000)*/
+{64, 0,123,__LINE__, 0x3ff1cca5, 0xea24fb2e, 0xbfb99999, 0x99999953}, /* 1.11246=f(-0.00100)*/
+{64, 0,123,__LINE__, 0x3ff19ed8, 0x6669530b, 0xbfb70a3d, 0x70a3d6c4}, /* 1.10128=f(-0.09000)*/
+{64, 0,123,__LINE__, 0x3ff170f5, 0xc2c9277d, 0xbfb47ae1, 0x47ae1435}, /* 1.09007=f(-0.08000)*/
+{62, 0,123,__LINE__, 0x3ff14300, 0x4ff73fea, 0xbfb1eb85, 0x1eb851a6}, /* 1.07885=f(-0.07000)*/
+{64, 0,123,__LINE__, 0x3ff114fa, 0x6186c31a, 0xbfaeb851, 0xeb851e2d}, /* 1.06762=f(-0.06000)*/
+{64, 0,123,__LINE__, 0x3ff0e6e6, 0x4d90c8c9, 0xbfa99999, 0x9999990e}, /* 1.05637=f(-0.05000)*/
+{64, 0,123,__LINE__, 0x3ff0b8c6, 0x6c59466a, 0xbfa47ae1, 0x47ae13ef}, /* 1.04511=f(-0.04000)*/
+{64, 0,123,__LINE__, 0x3ff08a9d, 0x17f36e3d, 0xbf9eb851, 0xeb851da0}, /* 1.03384=f(-0.03000)*/
+{64, 0,123,__LINE__, 0x3ff05c6c, 0xabe5980a, 0xbf947ae1, 0x47ae1362}, /* 1.02256=f(-0.02000)*/
+{64, 0,123,__LINE__, 0x3ff02e37, 0x84cccaf2, 0xbf847ae1, 0x47ae1249}, /* 1.01128=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x3fefffff, 0xfffffff6, 0x3cd19000, 0x00000000}, /* 0.01000=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0x3fefa390, 0xf6666a09, 0x3f847ae1, 0x47ae16ad}, /* 0.98871=f(0.01000)*/
+{64, 0,123,__LINE__, 0x3fef4726, 0xa834cfd9, 0x3f947ae1, 0x47ae1594}, /* 0.97743=f(0.02000)*/
+{63, 0,123,__LINE__, 0x3feeeac5, 0xd0192372, 0x3f9eb851, 0xeb851fd2}, /* 0.96615=f(0.03000)*/
+{64, 0,123,__LINE__, 0x3fee8e73, 0x274d7319, 0x3fa47ae1, 0x47ae1508}, /* 0.95488=f(0.04000)*/
+{63, 0,123,__LINE__, 0x3fee3233, 0x64de6e5a, 0x3fa99999, 0x99999a27}, /* 0.94362=f(0.05000)*/
+{64, 0,123,__LINE__, 0x3fedd60b, 0x3cf279b9, 0x3faeb851, 0xeb851f46}, /* 0.93237=f(0.06000)*/
+{62, 0,123,__LINE__, 0x3fed79ff, 0x60118019, 0x3fb1eb85, 0x1eb85232}, /* 0.92114=f(0.07000)*/
+{63, 0,123,__LINE__, 0x3fed1e14, 0x7a6db0f2, 0x3fb47ae1, 0x47ae14c1}, /* 0.90992=f(0.08000)*/
+{64, 0,123,__LINE__, 0x3fecc24f, 0x332d59d6, 0x3fb70a3d, 0x70a3d750}, /* 0.89871=f(0.09000)*/
+{64, 0,123,__LINE__, 0x3fec66b4, 0x2bb60990, 0x3fb99999, 0x999999df}, /* 0.88753=f(0.10000)*/
+{63, 0,123,__LINE__, 0x3fec0b47, 0xfef92a9a, 0x3fbc28f5, 0xc28f5c6e}, /* 0.87637=f(0.11000)*/
+{63, 0,123,__LINE__, 0x3febb00f, 0x40c2422a, 0x3fbeb851, 0xeb851efd}, /* 0.86524=f(0.12000)*/
+{62, 0,123,__LINE__, 0x3feb550e, 0x7d070075, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.85413=f(0.13000)*/
+{63, 0,123,__LINE__, 0x3feafa4a, 0x37394e3a, 0x3fc1eb85, 0x1eb8520e}, /* 0.84305=f(0.14000)*/
+{62, 0,123,__LINE__, 0x3fea9fc6, 0xe99b82d1, 0x3fc33333, 0x33333356}, /* 0.83200=f(0.15000)*/
+{64, 0,123,__LINE__, 0x3fea4589, 0x0496ed54, 0x3fc47ae1, 0x47ae149e}, /* 0.82098=f(0.16000)*/
+{64, 0,123,__LINE__, 0x3fe9eb94, 0xee14da8c, 0x3fc5c28f, 0x5c28f5e6}, /* 0.81000=f(0.17000)*/
+{63, 0,123,__LINE__, 0x3fe991ef, 0x00da4086, 0x3fc70a3d, 0x70a3d72e}, /* 0.79906=f(0.18000)*/
+{60, 0,123,__LINE__, 0x3fe9389b, 0x8be637a7, 0x3fc851eb, 0x851eb876}, /* 0.78816=f(0.19000)*/
+{64, 0,123,__LINE__, 0x3fe8df9e, 0xd1d36830, 0x3fc99999, 0x999999be}, /* 0.77729=f(0.20000)*/
+{63, 0,123,__LINE__, 0x3fe886fd, 0x083c9210, 0x3fcae147, 0xae147b06}, /* 0.76647=f(0.21000)*/
+{64, 0,123,__LINE__, 0x3fe82eba, 0x572453d0, 0x3fcc28f5, 0xc28f5c4e}, /* 0.75570=f(0.22000)*/
+{62, 0,123,__LINE__, 0x3fe7d6da, 0xd8605434, 0x3fcd70a3, 0xd70a3d96}, /* 0.74497=f(0.23000)*/
+{62, 0,123,__LINE__, 0x3fe77f62, 0x9707f125, 0x3fceb851, 0xeb851ede}, /* 0.73429=f(0.24000)*/
+{61, 0,123,__LINE__, 0x3fe72855, 0x8ee694f2, 0x3fd00000, 0x00000013}, /* 0.72367=f(0.25000)*/
+{62, 0,123,__LINE__, 0x3fe6d1b7, 0xabf1d221, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.71310=f(0.26000)*/
+{64, 0,123,__LINE__, 0x3fe67b8c, 0xc9c36450, 0x3fd147ae, 0x147ae15b}, /* 0.70258=f(0.27000)*/
+{62, 0,123,__LINE__, 0x3fe625d8, 0xb3173385, 0x3fd1eb85, 0x1eb851ff}, /* 0.69211=f(0.28000)*/
+{63, 0,123,__LINE__, 0x3fe5d09f, 0x214d7600, 0x3fd28f5c, 0x28f5c2a3}, /* 0.68171=f(0.29000)*/
+{59, 0,123,__LINE__, 0x3fe57be3, 0xbbf10aee, 0x3fd33333, 0x33333347}, /* 0.67137=f(0.30000)*/
+{62, 0,123,__LINE__, 0x3fe527aa, 0x18422750, 0x3fd3d70a, 0x3d70a3eb}, /* 0.66109=f(0.31000)*/
+{63, 0,123,__LINE__, 0x3fe4d3f5, 0xb8c56c8e, 0x3fd47ae1, 0x47ae148f}, /* 0.65087=f(0.32000)*/
+{60, 0,123,__LINE__, 0x3fe480ca, 0x0cd77f06, 0x3fd51eb8, 0x51eb8533}, /* 0.64072=f(0.33000)*/
+{62, 0,123,__LINE__, 0x3fe42e2a, 0x70453130, 0x3fd5c28f, 0x5c28f5d7}, /* 0.63063=f(0.34000)*/
+{61, 0,123,__LINE__, 0x3fe3dc1a, 0x2ae85672, 0x3fd66666, 0x6666667b}, /* 0.62061=f(0.35000)*/
+{62, 0,123,__LINE__, 0x3fe38a9c, 0x70494f49, 0x3fd70a3d, 0x70a3d71f}, /* 0.61067=f(0.36000)*/
+{57, 0,123,__LINE__, 0x3fe339b4, 0x5f455ebf, 0x3fd7ae14, 0x7ae147c3}, /* 0.60079=f(0.37000)*/
+{60, 0,123,__LINE__, 0x3fe2e965, 0x01b9d7a6, 0x3fd851eb, 0x851eb867}, /* 0.59099=f(0.38000)*/
+{59, 0,123,__LINE__, 0x3fe299b1, 0x4c342e6e, 0x3fd8f5c2, 0x8f5c290b}, /* 0.58126=f(0.39000)*/
+{62, 0,123,__LINE__, 0x3fe24a9c, 0x1da6faf4, 0x3fd99999, 0x999999af}, /* 0.57160=f(0.40000)*/
+{62, 0,123,__LINE__, 0x3fe1fc28, 0x3f23f3c5, 0x3fda3d70, 0xa3d70a53}, /* 0.56203=f(0.41000)*/
+{62, 0,123,__LINE__, 0x3fe1ae58, 0x639aeb30, 0x3fdae147, 0xae147af7}, /* 0.55253=f(0.42000)*/
+{62, 0,123,__LINE__, 0x3fe1612f, 0x279dd468, 0x3fdb851e, 0xb851eb9b}, /* 0.54311=f(0.43000)*/
+{60, 0,123,__LINE__, 0x3fe114af, 0x1129d5b6, 0x3fdc28f5, 0xc28f5c3f}, /* 0.53377=f(0.44000)*/
+{60, 0,123,__LINE__, 0x3fe0c8da, 0x8f756b16, 0x3fdccccc, 0xcccccce3}, /* 0.52451=f(0.45000)*/
+{62, 0,123,__LINE__, 0x3fe07db3, 0xfac39ae1, 0x3fdd70a3, 0xd70a3d87}, /* 0.51534=f(0.46000)*/
+{63, 0,123,__LINE__, 0x3fe0333d, 0x943c3cc1, 0x3fde147a, 0xe147ae2b}, /* 0.50625=f(0.47000)*/
+{59, 0,123,__LINE__, 0x3fdfd2f3, 0x0b92a332, 0x3fdeb851, 0xeb851ecf}, /* 0.49725=f(0.48000)*/
+{64, 0,123,__LINE__, 0x3fdf40d3, 0xc3f2d293, 0x3fdf5c28, 0xf5c28f73}, /* 0.48833=f(0.49000)*/
+{63, 0,123,__LINE__, 0x3fdeb021, 0x47ce2448, 0x3fe00000, 0x0000000b}, /* 0.47950=f(0.50000)*/
+{57, 0,123,__LINE__, 0x3fde20df, 0x5e4a97be, 0x3fe051eb, 0x851eb85d}, /* 0.47075=f(0.51000)*/
+{62, 0,123,__LINE__, 0x3fdd9311, 0x9f61ed9a, 0x3fe0a3d7, 0x0a3d70af}, /* 0.46210=f(0.52000)*/
+{57, 0,123,__LINE__, 0x3fdd06bb, 0x73ce6cbf, 0x3fe0f5c2, 0x8f5c2901}, /* 0.45353=f(0.53000)*/
+{60, 0,123,__LINE__, 0x3fdc7be0, 0x15017996, 0x3fe147ae, 0x147ae153}, /* 0.44506=f(0.54000)*/
+{60, 0,123,__LINE__, 0x3fdbf282, 0x8d23e7d6, 0x3fe19999, 0x999999a5}, /* 0.43667=f(0.55000)*/
+{62, 0,123,__LINE__, 0x3fdb6aa5, 0xb71fed2c, 0x3fe1eb85, 0x1eb851f7}, /* 0.42838=f(0.56000)*/
+{61, 0,123,__LINE__, 0x3fdae44c, 0x3eb497ac, 0x3fe23d70, 0xa3d70a49}, /* 0.42018=f(0.57000)*/
+{61, 0,123,__LINE__, 0x3fda5f78, 0xa092a8d5, 0x3fe28f5c, 0x28f5c29b}, /* 0.41207=f(0.58000)*/
+{64, 0,123,__LINE__, 0x3fd9dc2d, 0x2a82b31f, 0x3fe2e147, 0xae147aed}, /* 0.40406=f(0.59000)*/
+{63, 0,123,__LINE__, 0x3fd95a6b, 0xfb945602, 0x3fe33333, 0x3333333f}, /* 0.39614=f(0.60000)*/
+{63, 0,123,__LINE__, 0x3fd8da37, 0x0456716b, 0x3fe3851e, 0xb851eb91}, /* 0.38831=f(0.61000)*/
+{62, 0,123,__LINE__, 0x3fd85b90, 0x071827f3, 0x3fe3d70a, 0x3d70a3e3}, /* 0.38058=f(0.62000)*/
+{62, 0,123,__LINE__, 0x3fd7de78, 0x9832845a, 0x3fe428f5, 0xc28f5c35}, /* 0.37295=f(0.63000)*/
+{62, 0,123,__LINE__, 0x3fd762f2, 0x1e5a952a, 0x3fe47ae1, 0x47ae1487}, /* 0.36541=f(0.64000)*/
+{62, 0,123,__LINE__, 0x3fd6e8fd, 0xd2fbcef6, 0x3fe4cccc, 0xccccccd9}, /* 0.35797=f(0.65000)*/
+{59, 0,123,__LINE__, 0x3fd6709c, 0xc29a8410, 0x3fe51eb8, 0x51eb852b}, /* 0.35062=f(0.66000)*/
+{63, 0,123,__LINE__, 0x3fd5f9cf, 0xcd3e3e74, 0x3fe570a3, 0xd70a3d7d}, /* 0.34337=f(0.67000)*/
+{63, 0,123,__LINE__, 0x3fd58497, 0xa6e3c703, 0x3fe5c28f, 0x5c28f5cf}, /* 0.33621=f(0.68000)*/
+{64, 0,123,__LINE__, 0x3fd510f4, 0xd7f6a38b, 0x3fe6147a, 0xe147ae21}, /* 0.32915=f(0.69000)*/
+{64, 0,123,__LINE__, 0x3fd49ee7, 0xbdd1d361, 0x3fe66666, 0x66666673}, /* 0.32219=f(0.70000)*/
+{64, 0,123,__LINE__, 0x3fd42e70, 0x8b479106, 0x3fe6b851, 0xeb851ec5}, /* 0.31533=f(0.71000)*/
+{60, 0,123,__LINE__, 0x3fd3bf8f, 0x492fdde7, 0x3fe70a3d, 0x70a3d717}, /* 0.30856=f(0.72000)*/
+{63, 0,123,__LINE__, 0x3fd35243, 0xd6fd9be0, 0x3fe75c28, 0xf5c28f69}, /* 0.30189=f(0.73000)*/
+{62, 0,123,__LINE__, 0x3fd2e68d, 0xeb59f755, 0x3fe7ae14, 0x7ae147bb}, /* 0.29532=f(0.74000)*/
+{63, 0,123,__LINE__, 0x3fd27c6d, 0x14c5e332, 0x3fe80000, 0x0000000d}, /* 0.28884=f(0.75000)*/
+{64, 0,123,__LINE__, 0x3fd213e0, 0xba416795, 0x3fe851eb, 0x851eb85f}, /* 0.28246=f(0.76000)*/
+{64, 0,123,__LINE__, 0x3fd1ace8, 0x1bf882e0, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.27617=f(0.77000)*/
+{63, 0,123,__LINE__, 0x3fd14782, 0x53f55c14, 0x3fe8f5c2, 0x8f5c2903}, /* 0.26998=f(0.78000)*/
+{63, 0,123,__LINE__, 0x3fd0e3ae, 0x56d784d2, 0x3fe947ae, 0x147ae155}, /* 0.26389=f(0.79000)*/
+{63, 0,123,__LINE__, 0x3fd0816a, 0xf49008ea, 0x3fe99999, 0x999999a7}, /* 0.25789=f(0.80000)*/
+{63, 0,123,__LINE__, 0x3fd020b6, 0xd92208ab, 0x3fe9eb85, 0x1eb851f9}, /* 0.25199=f(0.81000)*/
+{60, 0,123,__LINE__, 0x3fcf8321, 0x1acf35c9, 0x3fea3d70, 0xa3d70a4b}, /* 0.24618=f(0.82000)*/
+{61, 0,123,__LINE__, 0x3fcec7ec, 0xefb56713, 0x3fea8f5c, 0x28f5c29d}, /* 0.24047=f(0.83000)*/
+{56, 0,123,__LINE__, 0x3fce0fcd, 0xbac3967c, 0x3feae147, 0xae147aef}, /* 0.23485=f(0.84000)*/
+{62, 0,123,__LINE__, 0x3fcd5abf, 0xc440091d, 0x3feb3333, 0x33333341}, /* 0.22933=f(0.85000)*/
+{62, 0,123,__LINE__, 0x3fcca8bf, 0x14911664, 0x3feb851e, 0xb851eb93}, /* 0.22389=f(0.86000)*/
+{59, 0,123,__LINE__, 0x3fcbf9c7, 0x75e9d42f, 0x3febd70a, 0x3d70a3e5}, /* 0.21856=f(0.87000)*/
+{61, 0,123,__LINE__, 0x3fcb4dd4, 0x75fc2a5a, 0x3fec28f5, 0xc28f5c37}, /* 0.21331=f(0.88000)*/
+{61, 0,123,__LINE__, 0x3fcaa4e1, 0x67afc7b9, 0x3fec7ae1, 0x47ae1489}, /* 0.20815=f(0.89000)*/
+{59, 0,123,__LINE__, 0x3fc9fee9, 0x64dd744c, 0x3feccccc, 0xccccccdb}, /* 0.20309=f(0.90000)*/
+{61, 0,123,__LINE__, 0x3fc95be7, 0x500e3c39, 0x3fed1eb8, 0x51eb852d}, /* 0.19811=f(0.91000)*/
+{60, 0,123,__LINE__, 0x3fc8bbd5, 0xd63df146, 0x3fed70a3, 0xd70a3d7f}, /* 0.19323=f(0.92000)*/
+{63, 0,123,__LINE__, 0x3fc81eaf, 0x70a08124, 0x3fedc28f, 0x5c28f5d1}, /* 0.18843=f(0.93000)*/
+{62, 0,123,__LINE__, 0x3fc6ed0c, 0xce964d27, 0x3fee6666, 0x66666675}, /* 0.17910=f(0.95000)*/
+{64, 0,123,__LINE__, 0x3fc65884, 0x91b7a8b1, 0x3feeb851, 0xeb851ec7}, /* 0.17457=f(0.96000)*/
+{64, 0,123,__LINE__, 0x3fc5c6cf, 0x6bbeb416, 0x3fef0a3d, 0x70a3d719}, /* 0.17012=f(0.97000)*/
+{64, 0,123,__LINE__, 0x3fc537e6, 0xedc87024, 0x3fef5c28, 0xf5c28f6b}, /* 0.16576=f(0.98000)*/
+{62, 0,123,__LINE__, 0x3fc4abc4, 0x7fe9ee7f, 0x3fefae14, 0x7ae147bd}, /* 0.16149=f(0.99000)*/
+{63, 0,123,__LINE__, 0x3fc42261, 0x62fbddbf, 0x3ff00000, 0x00000007}, /* 0.15729=f(1.00000)*/
+{64, 0,123,__LINE__, 0x3fc39bb6, 0xb2651f4b, 0x3ff028f5, 0xc28f5c30}, /* 0.15318=f(1.01000)*/
+{62, 0,123,__LINE__, 0x3fc317bd, 0x65e3f73a, 0x3ff051eb, 0x851eb859}, /* 0.14916=f(1.02000)*/
+{63, 0,123,__LINE__, 0x3fc2966e, 0x5355697a, 0x3ff07ae1, 0x47ae1482}, /* 0.14521=f(1.03000)*/
+{63, 0,123,__LINE__, 0x3fc217c2, 0x307a5a4c, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.14135=f(1.04000)*/
+{62, 0,123,__LINE__, 0x3fc19bb1, 0x94ba0a82, 0x3ff0cccc, 0xccccccd4}, /* 0.13756=f(1.05000)*/
+{64, 0,123,__LINE__, 0x3fc12234, 0xfae18b5c, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.13385=f(1.06000)*/
+{64, 0,123,__LINE__, 0x3fc0ab44, 0xc2dfc867, 0x3ff11eb8, 0x51eb8526}, /* 0.13022=f(1.07000)*/
+{62, 0,123,__LINE__, 0x3fc036d9, 0x337dc8fa, 0x3ff147ae, 0x147ae14f}, /* 0.12667=f(1.08000)*/
+{61, 0,123,__LINE__, 0x3fbf89d4, 0xf8259c51, 0x3ff170a3, 0xd70a3d78}, /* 0.12319=f(1.09000)*/
+{63, 0,123,__LINE__, 0x3fbeaae1, 0x6c67e9dc, 0x3ff19999, 0x999999a1}, /* 0.11979=f(1.10000)*/
+{62, 0,123,__LINE__, 0x3fbdd0c7, 0xcebe0f58, 0x3ff1c28f, 0x5c28f5ca}, /* 0.11646=f(1.11000)*/
+{62, 0,123,__LINE__, 0x3fbcfb78, 0x05405b04, 0x3ff1eb85, 0x1eb851f3}, /* 0.11321=f(1.12000)*/
+{64, 0,123,__LINE__, 0x3fbc2ae1, 0xd4645220, 0x3ff2147a, 0xe147ae1c}, /* 0.11002=f(1.13000)*/
+{64, 0,123,__LINE__, 0x3fbb5ef4, 0xe231b77c, 0x3ff23d70, 0xa3d70a45}, /* 0.10691=f(1.14000)*/
+{60, 0,123,__LINE__, 0x3fba97a0, 0xb96b8c26, 0x3ff26666, 0x6666666e}, /* 0.10387=f(1.15000)*/
+{63, 0,123,__LINE__, 0x3fb9d4d4, 0xccac81ae, 0x3ff28f5c, 0x28f5c297}, /* 0.10090=f(1.16000)*/
+{64, 0,123,__LINE__, 0x3fb91680, 0x79765cb4, 0x3ff2b851, 0xeb851ec0}, /* 0.09799=f(1.17000)*/
+{64, 0,123,__LINE__, 0x3fb85c93, 0x0b33cd4e, 0x3ff2e147, 0xae147ae9}, /* 0.09516=f(1.18000)*/
+{64, 0,123,__LINE__, 0x3fb7a6fb, 0xbe2c4968, 0x3ff30a3d, 0x70a3d712}, /* 0.09239=f(1.19000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc01921fb, 0x54442d18}, /* 2.00000=f(-6.28318)*/
+{64, 0,123,__LINE__, 0x3fffffff, 0xfffa2ce1, 0xc012d97c, 0x7f3321d2}, /* 2.00000=f(-4.71238)*/
+{64, 0,123,__LINE__, 0x3ffffff6, 0xb153ddbe, 0xc00921fb, 0x54442d18}, /* 1.99999=f(-3.14159)*/
+{64, 0,123,__LINE__, 0x3fff9430, 0x5a403fb6, 0xbff921fb, 0x54442d18}, /* 1.97367=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x00000000, 0x00000000}, /* 1.00000=f(0.00000)*/
+{64, 0,123,__LINE__, 0x3f9af3e9, 0x6ff0126c, 0x3ff921fb, 0x54442d18}, /* 0.02632=f(1.57079)*/
+{63, 0,123,__LINE__, 0x3ee29d58, 0x448397f1, 0x400921fb, 0x54442d18}, /* 8.87615e-06=f(3.14159)*/
+{62, 0,123,__LINE__, 0x3dd74c7b, 0x3db71849, 0x4012d97c, 0x7f3321d2}, /* 8.47604e-11=f(4.71238)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc03e0000, 0x00000000}, /* 2.00000=f(-30.0000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* 2.00000=f(-28.3000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc03a9999, 0x9999999a}, /* 2.00000=f(-26.6000)*/
+{61,16, 40,__LINE__, 0x3fe601fc, 0x1423144c, 0xc038e666, 0x66666667}, /* 0.68774=f(-24.9000)*/
+{59,16, 40,__LINE__, 0xbfe797a0, 0x53c06fe8, 0xc0373333, 0x33333334}, /* -0.73725=f(-23.2000)*/
+{62,16, 40,__LINE__, 0xc00a31d4, 0x6dd4dcec, 0xc0358000, 0x00000001}, /* -3.27433=f(-21.5000)*/
+{64,16, 40,__LINE__, 0x3ff35131, 0x0f12956a, 0xc033cccc, 0xccccccce}, /* 1.20732=f(-19.8000)*/
+{59,16, 40,__LINE__, 0x3fd8b315, 0xe379ef54, 0xc0321999, 0x9999999b}, /* 0.38593=f(-18.1000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc0306666, 0x66666668}, /* 2.00000=f(-16.4000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc02d6666, 0x6666666a}, /* 2.00000=f(-14.7000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc02a0000, 0x00000004}, /* 2.00000=f(-13.0000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc0269999, 0x9999999e}, /* 2.00000=f(-11.3000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc0233333, 0x33333338}, /* 2.00000=f(-9.60000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc01f9999, 0x999999a3}, /* 2.00000=f(-7.90000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* 2.00000=f(-6.20000)*/
+{64, 0,123,__LINE__, 0x3fffffff, 0xffd4deb5, 0xc0120000, 0x00000009}, /* 2.00000=f(-4.50000)*/
+{64, 0,123,__LINE__, 0x3fffffb1, 0x57cc83a9, 0xc0066666, 0x66666678}, /* 1.99992=f(-2.80000)*/
+{61, 0,123,__LINE__, 0x3ffe1551, 0xe939816c, 0xbff19999, 0x999999bd}, /* 1.88020=f(-1.10000)*/
+{61, 0,123,__LINE__, 0x3fd95a6b, 0xfb945684, 0x3fe33333, 0x333332ec}, /* 0.39614=f(0.60000)*/
+{62, 0,123,__LINE__, 0x3f52bad4, 0x86594933, 0x40026666, 0x66666654}, /* 0.00114=f(2.30000)*/
+{62, 0,123,__LINE__, 0x3e508ddd, 0x13bd371c, 0x400fffff, 0xffffffee}, /* 1.54173e-08=f(4.00000)*/
+{61, 0,123,__LINE__, 0x3ce5a0d4, 0xb8764efa, 0x4016cccc, 0xccccccc4}, /* 2.40122e-15=f(5.70000)*/
+{61, 0,123,__LINE__, 0x3ade87aa, 0xf374c673, 0x401d9999, 0x99999991}, /* 3.94590e-25=f(7.40000)*/
+{63, 0,123,__LINE__, 0x3851f882, 0xfeb0e04c, 0x40223333, 0x3333332f}, /* 2.11245e-37=f(9.10000)*/
+{62, 0,123,__LINE__, 0x3541538a, 0x38316705, 0x40259999, 0x99999995}, /* 3.61791e-52=f(10.8000)*/
+{61, 0,123,__LINE__, 0x31ab1557, 0xbfbe624a, 0x4028ffff, 0xfffffffb}, /* 1.96207e-69=f(12.5000)*/
+{62, 0,123,__LINE__, 0x2d910d03, 0x4c705f74, 0x402c6666, 0x66666661}, /* 3.34817e-89=f(14.2000)*/
+{64, 0,123,__LINE__, 0x28f138c2, 0x2bf29f02, 0x402fcccc, 0xccccccc7}, /* 1.79027e-111=f(15.9000)*/
+{63,16, 40,__LINE__, 0x3ffb92a8, 0x2d5be8da, 0x40319999, 0x99999997}, /* 1.72330=f(17.6000)*/
+{60,16, 40,__LINE__, 0x3feb5b41, 0xd2d93677, 0x40334ccc, 0xccccccca}, /* 0.85488=f(19.3000)*/
+{63,16, 40,__LINE__, 0x3fd921e0, 0x92659a6a, 0x4034ffff, 0xfffffffd}, /* 0.39269=f(21.0000)*/
+{60,16, 40,__LINE__, 0x4006a960, 0x1f96f977, 0x4036b333, 0x33333330}, /* 2.83270=f(22.7000)*/
+{62,16, 40,__LINE__, 0x3ff5f7f2, 0xf38e10e8, 0x40386666, 0x66666663}, /* 1.37303=f(24.4000)*/
+{60,16, 40,__LINE__, 0x3fe3a9a4, 0x7bd5be27, 0x403a1999, 0x99999996}, /* 0.61445=f(26.1000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x403bcccc, 0xccccccc9}, /* 0.00000=f(27.8000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x403d7fff, 0xfffffffc}, /* 0.00000=f(29.5000)*/
+0,};
+test_erfc(m) {run_vector_1(m,erfc_vec,(char *)(erfc),"erfc","dd"); }
diff --git a/newlib/libm/test/erfcf_vec.c b/newlib/libm/test/erfcf_vec.c
new file mode 100644
index 00000000000..338321af946
--- /dev/null
+++ b/newlib/libm/test/erfcf_vec.c
@@ -0,0 +1,286 @@
+#include "test.h"
+ one_line_type erfcf_vec[] = {
+{16, 0,123,__LINE__, 0x3ffe90a5, 0x60000000, 0xbff33333, 0x33333333}, /* 1.91031=f(-1.20000)*/
+{16, 0,123,__LINE__, 0x3ffe8590, 0x40000000, 0xbff30a3d, 0x70a3d70a}, /* 1.90760=f(-1.19000)*/
+{17, 0,123,__LINE__, 0x3ffe7a36, 0xc0000000, 0xbff2e147, 0xae147ae1}, /* 1.90483=f(-1.18000)*/
+{17, 0,123,__LINE__, 0x3ffe6e98, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* 1.90200=f(-1.17000)*/
+{17, 0,123,__LINE__, 0x3ffe62b2, 0xc0000000, 0xbff28f5c, 0x28f5c28f}, /* 1.89909=f(-1.16000)*/
+{17, 0,123,__LINE__, 0x3ffe5686, 0x00000000, 0xbff26666, 0x66666666}, /* 1.89612=f(-1.15000)*/
+{17, 0,123,__LINE__, 0x3ffe4a10, 0xc0000000, 0xbff23d70, 0xa3d70a3d}, /* 1.89308=f(-1.14000)*/
+{18, 0,123,__LINE__, 0x3ffe3d51, 0xe0000000, 0xbff2147a, 0xe147ae14}, /* 1.88997=f(-1.13000)*/
+{18, 0,123,__LINE__, 0x3ffe3048, 0x80000000, 0xbff1eb85, 0x1eb851eb}, /* 1.88678=f(-1.12000)*/
+{18, 0,123,__LINE__, 0x3ffe22f3, 0x80000000, 0xbff1c28f, 0x5c28f5c2}, /* 1.88353=f(-1.11000)*/
+{19, 0,123,__LINE__, 0x3ffe1551, 0xe0000000, 0xbff19999, 0x99999999}, /* 1.88020=f(-1.10000)*/
+{24, 0,123,__LINE__, 0x3ffe0762, 0xc0000000, 0xbff170a3, 0xd70a3d70}, /* 1.87680=f(-1.09000)*/
+{14, 0,123,__LINE__, 0x3ffdf924, 0xe0000000, 0xbff147ae, 0x147ae147}, /* 1.87332=f(-1.08000)*/
+{14, 0,123,__LINE__, 0x3ffdea97, 0x60000000, 0xbff11eb8, 0x51eb851e}, /* 1.86977=f(-1.07000)*/
+{14, 0,123,__LINE__, 0x3ffddbb9, 0x60000000, 0xbff0f5c2, 0x8f5c28f5}, /* 1.86614=f(-1.06000)*/
+{14, 0,123,__LINE__, 0x3ffdcc89, 0xc0000000, 0xbff0cccc, 0xcccccccc}, /* 1.86243=f(-1.05000)*/
+{14, 0,123,__LINE__, 0x3ffdbd07, 0xc0000000, 0xbff0a3d7, 0x0a3d70a3}, /* 1.85865=f(-1.04000)*/
+{14, 0,123,__LINE__, 0x3ffdad32, 0x40000000, 0xbff07ae1, 0x47ae147a}, /* 1.85478=f(-1.03000)*/
+{14, 0,123,__LINE__, 0x3ffd9d08, 0x40000000, 0xbff051eb, 0x851eb851}, /* 1.85083=f(-1.02000)*/
+{14, 0,123,__LINE__, 0x3ffd8c89, 0x20000000, 0xbff028f5, 0xc28f5c28}, /* 1.84681=f(-1.01000)*/
+{14, 0,123,__LINE__, 0x3ffd7bb3, 0xc0000000, 0xbfefffff, 0xfffffffe}, /* 1.84270=f(-0.01000)*/
+{14, 0,123,__LINE__, 0x3ffd6a87, 0x80000000, 0xbfefae14, 0x7ae147ac}, /* 1.83850=f(-0.99000)*/
+{14, 0,123,__LINE__, 0x3ffd5903, 0x20000000, 0xbfef5c28, 0xf5c28f5a}, /* 1.83423=f(-0.98000)*/
+{14, 0,123,__LINE__, 0x3ffd4726, 0x00000000, 0xbfef0a3d, 0x70a3d708}, /* 1.82987=f(-0.97000)*/
+{14, 0,123,__LINE__, 0x3ffd34ef, 0x60000000, 0xbfeeb851, 0xeb851eb6}, /* 1.82542=f(-0.96000)*/
+{14, 0,123,__LINE__, 0x3ffd225e, 0x60000000, 0xbfee6666, 0x66666664}, /* 1.82089=f(-0.95000)*/
+{14, 0,123,__LINE__, 0x3ffcfc2a, 0x00000000, 0xbfedc28f, 0x5c28f5c0}, /* 1.81156=f(-0.93000)*/
+{14, 0,123,__LINE__, 0x3ffce885, 0x40000000, 0xbfed70a3, 0xd70a3d6e}, /* 1.80676=f(-0.92000)*/
+{14, 0,123,__LINE__, 0x3ffcd483, 0x00000000, 0xbfed1eb8, 0x51eb851c}, /* 1.80188=f(-0.91000)*/
+{14, 0,123,__LINE__, 0x3ffcc022, 0xc0000000, 0xbfeccccc, 0xccccccca}, /* 1.79690=f(-0.90000)*/
+{14, 0,123,__LINE__, 0x3ffcab63, 0xc0000000, 0xbfec7ae1, 0x47ae1478}, /* 1.79184=f(-0.89000)*/
+{14, 0,123,__LINE__, 0x3ffc9645, 0x60000000, 0xbfec28f5, 0xc28f5c26}, /* 1.78668=f(-0.88000)*/
+{14, 0,123,__LINE__, 0x3ffc80c7, 0x20000000, 0xbfebd70a, 0x3d70a3d4}, /* 1.78144=f(-0.87000)*/
+{14, 0,123,__LINE__, 0x3ffc6ae8, 0x20000000, 0xbfeb851e, 0xb851eb82}, /* 1.77610=f(-0.86000)*/
+{14, 0,123,__LINE__, 0x3ffc54a8, 0x00000000, 0xbfeb3333, 0x33333330}, /* 1.77066=f(-0.85000)*/
+{14, 0,123,__LINE__, 0x3ffc3e06, 0x40000000, 0xbfeae147, 0xae147ade}, /* 1.76514=f(-0.84000)*/
+{14, 0,123,__LINE__, 0x3ffc2702, 0x60000000, 0xbfea8f5c, 0x28f5c28c}, /* 1.75952=f(-0.83000)*/
+{14, 0,123,__LINE__, 0x3ffc0f9b, 0xe0000000, 0xbfea3d70, 0xa3d70a3a}, /* 1.75381=f(-0.82000)*/
+{13, 0,123,__LINE__, 0x3ffbf7d2, 0x40000000, 0xbfe9eb85, 0x1eb851e8}, /* 1.74800=f(-0.81000)*/
+{13, 0,123,__LINE__, 0x3ffbdfa5, 0x40000000, 0xbfe99999, 0x99999996}, /* 1.74210=f(-0.80000)*/
+{13, 0,123,__LINE__, 0x3ffbc714, 0x80000000, 0xbfe947ae, 0x147ae144}, /* 1.73610=f(-0.79000)*/
+{13, 0,123,__LINE__, 0x3ffbae1f, 0x60000000, 0xbfe8f5c2, 0x8f5c28f2}, /* 1.73001=f(-0.78000)*/
+{13, 0,123,__LINE__, 0x3ffb94c6, 0x00000000, 0xbfe8a3d7, 0x0a3d70a0}, /* 1.72382=f(-0.77000)*/
+{13, 0,123,__LINE__, 0x3ffb7b07, 0xe0000000, 0xbfe851eb, 0x851eb84e}, /* 1.71753=f(-0.76000)*/
+{13, 0,123,__LINE__, 0x3ffb60e4, 0xc0000000, 0xbfe7ffff, 0xfffffffc}, /* 1.71115=f(-0.75000)*/
+{13, 0,123,__LINE__, 0x3ffb465c, 0x80000000, 0xbfe7ae14, 0x7ae147aa}, /* 1.70467=f(-0.74000)*/
+{13, 0,123,__LINE__, 0x3ffb2b6f, 0x00000000, 0xbfe75c28, 0xf5c28f58}, /* 1.69810=f(-0.73000)*/
+{13, 0,123,__LINE__, 0x3ffb101c, 0x40000000, 0xbfe70a3d, 0x70a3d706}, /* 1.69143=f(-0.72000)*/
+{13, 0,123,__LINE__, 0x3ffaf463, 0xe0000000, 0xbfe6b851, 0xeb851eb4}, /* 1.68466=f(-0.71000)*/
+{13, 0,123,__LINE__, 0x3ffad846, 0x00000000, 0xbfe66666, 0x66666662}, /* 1.67780=f(-0.70000)*/
+{13, 0,123,__LINE__, 0x3ffabbc2, 0xc0000000, 0xbfe6147a, 0xe147ae10}, /* 1.67084=f(-0.69000)*/
+{13, 0,123,__LINE__, 0x3ffa9eda, 0x20000000, 0xbfe5c28f, 0x5c28f5be}, /* 1.66378=f(-0.68000)*/
+{13, 0,123,__LINE__, 0x3ffa818c, 0x00000000, 0xbfe570a3, 0xd70a3d6c}, /* 1.65662=f(-0.67000)*/
+{13, 0,123,__LINE__, 0x3ffa63d8, 0xc0000000, 0xbfe51eb8, 0x51eb851a}, /* 1.64937=f(-0.66000)*/
+{13, 0,123,__LINE__, 0x3ffa45c0, 0x80000000, 0xbfe4cccc, 0xccccccc8}, /* 1.64202=f(-0.65000)*/
+{13, 0,123,__LINE__, 0x3ffa2743, 0x80000000, 0xbfe47ae1, 0x47ae1476}, /* 1.63458=f(-0.64000)*/
+{13, 0,123,__LINE__, 0x3ffa0861, 0xc0000000, 0xbfe428f5, 0xc28f5c24}, /* 1.62704=f(-0.63000)*/
+{13, 0,123,__LINE__, 0x3ff9e91c, 0x00000000, 0xbfe3d70a, 0x3d70a3d2}, /* 1.61941=f(-0.62000)*/
+{13, 0,123,__LINE__, 0x3ff9c972, 0x40000000, 0xbfe3851e, 0xb851eb80}, /* 1.61168=f(-0.61000)*/
+{13, 0,123,__LINE__, 0x3ff9a965, 0x00000000, 0xbfe33333, 0x3333332e}, /* 1.60385=f(-0.60000)*/
+{13, 0,123,__LINE__, 0x3ff988f4, 0xa0000000, 0xbfe2e147, 0xae147adc}, /* 1.59593=f(-0.59000)*/
+{13, 0,123,__LINE__, 0x3ff96821, 0xc0000000, 0xbfe28f5c, 0x28f5c28a}, /* 1.58792=f(-0.58000)*/
+{13, 0,123,__LINE__, 0x3ff946ed, 0x00000000, 0xbfe23d70, 0xa3d70a38}, /* 1.57981=f(-0.57000)*/
+{13, 0,123,__LINE__, 0x3ff92556, 0x80000000, 0xbfe1eb85, 0x1eb851e6}, /* 1.57161=f(-0.56000)*/
+{13, 0,123,__LINE__, 0x3ff9035f, 0x60000000, 0xbfe19999, 0x99999994}, /* 1.56332=f(-0.55000)*/
+{13, 0,123,__LINE__, 0x3ff8e108, 0x00000000, 0xbfe147ae, 0x147ae142}, /* 1.55493=f(-0.54000)*/
+{13, 0,123,__LINE__, 0x3ff8be51, 0x20000000, 0xbfe0f5c2, 0x8f5c28f0}, /* 1.54646=f(-0.53000)*/
+{13, 0,123,__LINE__, 0x3ff89b3b, 0x80000000, 0xbfe0a3d7, 0x0a3d709e}, /* 1.53789=f(-0.52000)*/
+{13, 0,123,__LINE__, 0x3ff877c8, 0x20000000, 0xbfe051eb, 0x851eb84c}, /* 1.52924=f(-0.51000)*/
+{13, 0,123,__LINE__, 0x3ff853f7, 0xc0000000, 0xbfdfffff, 0xfffffff4}, /* 1.52050=f(-0.50000)*/
+{13, 0,123,__LINE__, 0x3ff82fcb, 0x00000000, 0xbfdf5c28, 0xf5c28f50}, /* 1.51166=f(-0.49000)*/
+{13, 0,123,__LINE__, 0x3ff80b43, 0x40000000, 0xbfdeb851, 0xeb851eac}, /* 1.50275=f(-0.48000)*/
+{12, 0,123,__LINE__, 0x3ff7e661, 0x40000000, 0xbfde147a, 0xe147ae08}, /* 1.49374=f(-0.47000)*/
+{12, 0,123,__LINE__, 0x3ff7c126, 0x00000000, 0xbfdd70a3, 0xd70a3d64}, /* 1.48465=f(-0.46000)*/
+{12, 0,123,__LINE__, 0x3ff79b92, 0xc0000000, 0xbfdccccc, 0xccccccc0}, /* 1.47548=f(-0.45000)*/
+{12, 0,123,__LINE__, 0x3ff775a8, 0x80000000, 0xbfdc28f5, 0xc28f5c1c}, /* 1.46622=f(-0.44000)*/
+{12, 0,123,__LINE__, 0x3ff74f68, 0x80000000, 0xbfdb851e, 0xb851eb78}, /* 1.45688=f(-0.43000)*/
+{12, 0,123,__LINE__, 0x3ff728d3, 0xc0000000, 0xbfdae147, 0xae147ad4}, /* 1.44746=f(-0.42000)*/
+{12, 0,123,__LINE__, 0x3ff701eb, 0xe0000000, 0xbfda3d70, 0xa3d70a30}, /* 1.43796=f(-0.41000)*/
+{12, 0,123,__LINE__, 0x3ff6dab2, 0x00000000, 0xbfd99999, 0x9999998c}, /* 1.42839=f(-0.40000)*/
+{12, 0,123,__LINE__, 0x3ff6b327, 0x60000000, 0xbfd8f5c2, 0x8f5c28e8}, /* 1.41873=f(-0.39000)*/
+{12, 0,123,__LINE__, 0x3ff68b4d, 0x80000000, 0xbfd851eb, 0x851eb844}, /* 1.40900=f(-0.38000)*/
+{12, 0,123,__LINE__, 0x3ff66325, 0xc0000000, 0xbfd7ae14, 0x7ae147a0}, /* 1.39920=f(-0.37000)*/
+{12, 0,123,__LINE__, 0x3ff63ab1, 0xc0000000, 0xbfd70a3d, 0x70a3d6fc}, /* 1.38933=f(-0.36000)*/
+{12, 0,123,__LINE__, 0x3ff611f2, 0xe0000000, 0xbfd66666, 0x66666658}, /* 1.37938=f(-0.35000)*/
+{12, 0,123,__LINE__, 0x3ff5e8ea, 0xc0000000, 0xbfd5c28f, 0x5c28f5b4}, /* 1.36936=f(-0.34000)*/
+{12, 0,123,__LINE__, 0x3ff5bf9b, 0x00000000, 0xbfd51eb8, 0x51eb8510}, /* 1.35927=f(-0.33000)*/
+{12, 0,123,__LINE__, 0x3ff59605, 0x20000000, 0xbfd47ae1, 0x47ae146c}, /* 1.34912=f(-0.32000)*/
+{12, 0,123,__LINE__, 0x3ff56c2b, 0x00000000, 0xbfd3d70a, 0x3d70a3c8}, /* 1.33890=f(-0.31000)*/
+{12, 0,123,__LINE__, 0x3ff5420e, 0x20000000, 0xbfd33333, 0x33333324}, /* 1.32862=f(-0.30000)*/
+{12, 0,123,__LINE__, 0x3ff517b0, 0x80000000, 0xbfd28f5c, 0x28f5c280}, /* 1.31828=f(-0.29000)*/
+{12, 0,123,__LINE__, 0x3ff4ed13, 0xa0000000, 0xbfd1eb85, 0x1eb851dc}, /* 1.30788=f(-0.28000)*/
+{12, 0,123,__LINE__, 0x3ff4c239, 0xa0000000, 0xbfd147ae, 0x147ae138}, /* 1.29741=f(-0.27000)*/
+{12, 0,123,__LINE__, 0x3ff49724, 0x20000000, 0xbfd0a3d7, 0x0a3d7094}, /* 1.28690=f(-0.26000)*/
+{12, 0,123,__LINE__, 0x3ff46bd5, 0x40000000, 0xbfcfffff, 0xffffffe0}, /* 1.27632=f(-0.25000)*/
+{12, 0,123,__LINE__, 0x3ff4404e, 0xc0000000, 0xbfceb851, 0xeb851e98}, /* 1.26570=f(-0.24000)*/
+{12, 0,123,__LINE__, 0x3ff41492, 0xa0000000, 0xbfcd70a3, 0xd70a3d50}, /* 1.25502=f(-0.23000)*/
+{12, 0,123,__LINE__, 0x3ff3e8a2, 0xe0000000, 0xbfcc28f5, 0xc28f5c08}, /* 1.24429=f(-0.22000)*/
+{12, 0,123,__LINE__, 0x3ff3bc81, 0x80000000, 0xbfcae147, 0xae147ac0}, /* 1.23352=f(-0.21000)*/
+{12, 0,123,__LINE__, 0x3ff39030, 0xa0000000, 0xbfc99999, 0x99999978}, /* 1.22270=f(-0.20000)*/
+{12, 0,123,__LINE__, 0x3ff363b2, 0x40000000, 0xbfc851eb, 0x851eb830}, /* 1.21184=f(-0.19000)*/
+{12, 0,123,__LINE__, 0x3ff33708, 0x80000000, 0xbfc70a3d, 0x70a3d6e8}, /* 1.20093=f(-0.18000)*/
+{12, 0,123,__LINE__, 0x3ff30a35, 0x80000000, 0xbfc5c28f, 0x5c28f5a0}, /* 1.18999=f(-0.17000)*/
+{12, 0,123,__LINE__, 0x3ff2dd3b, 0x80000000, 0xbfc47ae1, 0x47ae1458}, /* 1.17901=f(-0.16000)*/
+{12, 0,123,__LINE__, 0x3ff2b01c, 0x80000000, 0xbfc33333, 0x33333310}, /* 1.16799=f(-0.15000)*/
+{12, 0,123,__LINE__, 0x3ff282da, 0xe0000000, 0xbfc1eb85, 0x1eb851c8}, /* 1.15694=f(-0.14000)*/
+{12, 0,123,__LINE__, 0x3ff25578, 0xc0000000, 0xbfc0a3d7, 0x0a3d7080}, /* 1.14586=f(-0.13000)*/
+{12, 0,123,__LINE__, 0x3ff227f8, 0x60000000, 0xbfbeb851, 0xeb851e71}, /* 1.13475=f(-0.12000)*/
+{12, 0,123,__LINE__, 0x3ff1fa5c, 0x00000000, 0xbfbc28f5, 0xc28f5be2}, /* 1.12362=f(-0.11000)*/
+{12, 0,123,__LINE__, 0x3ff1cca5, 0xe0000000, 0xbfb99999, 0x99999953}, /* 1.11246=f(-0.00100)*/
+{12, 0,123,__LINE__, 0x3ff19ed8, 0x60000000, 0xbfb70a3d, 0x70a3d6c4}, /* 1.10128=f(-0.09000)*/
+{12, 0,123,__LINE__, 0x3ff170f5, 0xc0000000, 0xbfb47ae1, 0x47ae1435}, /* 1.09007=f(-0.08000)*/
+{12, 0,123,__LINE__, 0x3ff14300, 0x40000000, 0xbfb1eb85, 0x1eb851a6}, /* 1.07885=f(-0.07000)*/
+{12, 0,123,__LINE__, 0x3ff114fa, 0x60000000, 0xbfaeb851, 0xeb851e2d}, /* 1.06762=f(-0.06000)*/
+{12, 0,123,__LINE__, 0x3ff0e6e6, 0x40000000, 0xbfa99999, 0x9999990e}, /* 1.05637=f(-0.05000)*/
+{12, 0,123,__LINE__, 0x3ff0b8c6, 0x60000000, 0xbfa47ae1, 0x47ae13ef}, /* 1.04511=f(-0.04000)*/
+{12, 0,123,__LINE__, 0x3ff08a9d, 0x20000000, 0xbf9eb851, 0xeb851da0}, /* 1.03384=f(-0.03000)*/
+{12, 0,123,__LINE__, 0x3ff05c6c, 0xa0000000, 0xbf947ae1, 0x47ae1362}, /* 1.02256=f(-0.02000)*/
+{12, 0,123,__LINE__, 0x3ff02e37, 0x80000000, 0xbf847ae1, 0x47ae1249}, /* 1.01128=f(-0.00010)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3cd19000, 0x00000000}, /* 1.00000=f(9.74915e-16)*/
+{11, 0,123,__LINE__, 0x3fefa391, 0x00000000, 0x3f847ae1, 0x47ae16ad}, /* 0.98871=f(0.01000)*/
+{11, 0,123,__LINE__, 0x3fef4726, 0xa0000000, 0x3f947ae1, 0x47ae1594}, /* 0.97743=f(0.02000)*/
+{11, 0,123,__LINE__, 0x3feeeac5, 0xc0000000, 0x3f9eb851, 0xeb851fd2}, /* 0.96615=f(0.03000)*/
+{11, 0,123,__LINE__, 0x3fee8e73, 0x20000000, 0x3fa47ae1, 0x47ae1508}, /* 0.95488=f(0.04000)*/
+{11, 0,123,__LINE__, 0x3fee3233, 0x60000000, 0x3fa99999, 0x99999a27}, /* 0.94362=f(0.05000)*/
+{11, 0,123,__LINE__, 0x3fedd60b, 0x40000000, 0x3faeb851, 0xeb851f46}, /* 0.93237=f(0.06000)*/
+{11, 0,123,__LINE__, 0x3fed79ff, 0x60000000, 0x3fb1eb85, 0x1eb85232}, /* 0.92114=f(0.07000)*/
+{11, 0,123,__LINE__, 0x3fed1e14, 0x80000000, 0x3fb47ae1, 0x47ae14c1}, /* 0.90992=f(0.08000)*/
+{11, 0,123,__LINE__, 0x3fecc24f, 0x40000000, 0x3fb70a3d, 0x70a3d750}, /* 0.89871=f(0.09000)*/
+{11, 0,123,__LINE__, 0x3fec66b4, 0x20000000, 0x3fb99999, 0x999999df}, /* 0.88753=f(0.10000)*/
+{11, 0,123,__LINE__, 0x3fec0b48, 0x00000000, 0x3fbc28f5, 0xc28f5c6e}, /* 0.87637=f(0.11000)*/
+{11, 0,123,__LINE__, 0x3febb00f, 0x40000000, 0x3fbeb851, 0xeb851efd}, /* 0.86524=f(0.12000)*/
+{11, 0,123,__LINE__, 0x3feb550e, 0x80000000, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.85413=f(0.13000)*/
+{11, 0,123,__LINE__, 0x3feafa4a, 0x40000000, 0x3fc1eb85, 0x1eb8520e}, /* 0.84305=f(0.14000)*/
+{11, 0,123,__LINE__, 0x3fea9fc6, 0xe0000000, 0x3fc33333, 0x33333356}, /* 0.83200=f(0.15000)*/
+{11, 0,123,__LINE__, 0x3fea4589, 0x00000000, 0x3fc47ae1, 0x47ae149e}, /* 0.82098=f(0.16000)*/
+{11, 0,123,__LINE__, 0x3fe9eb95, 0x00000000, 0x3fc5c28f, 0x5c28f5e6}, /* 0.81000=f(0.17000)*/
+{11, 0,123,__LINE__, 0x3fe991ef, 0x00000000, 0x3fc70a3d, 0x70a3d72e}, /* 0.79906=f(0.18000)*/
+{11, 0,123,__LINE__, 0x3fe9389b, 0x80000000, 0x3fc851eb, 0x851eb876}, /* 0.78816=f(0.19000)*/
+{11, 0,123,__LINE__, 0x3fe8df9e, 0xc0000000, 0x3fc99999, 0x999999be}, /* 0.77729=f(0.20000)*/
+{11, 0,123,__LINE__, 0x3fe886fd, 0x00000000, 0x3fcae147, 0xae147b06}, /* 0.76647=f(0.21000)*/
+{11, 0,123,__LINE__, 0x3fe82eba, 0x60000000, 0x3fcc28f5, 0xc28f5c4e}, /* 0.75570=f(0.22000)*/
+{11, 0,123,__LINE__, 0x3fe7d6da, 0xc0000000, 0x3fcd70a3, 0xd70a3d96}, /* 0.74497=f(0.23000)*/
+{11, 0,123,__LINE__, 0x3fe77f62, 0xa0000000, 0x3fceb851, 0xeb851ede}, /* 0.73429=f(0.24000)*/
+{11, 0,123,__LINE__, 0x3fe72855, 0x80000000, 0x3fd00000, 0x00000013}, /* 0.72367=f(0.25000)*/
+{11, 0,123,__LINE__, 0x3fe6d1b7, 0xc0000000, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.71310=f(0.26000)*/
+{11, 0,123,__LINE__, 0x3fe67b8c, 0xc0000000, 0x3fd147ae, 0x147ae15b}, /* 0.70258=f(0.27000)*/
+{11, 0,123,__LINE__, 0x3fe625d8, 0xc0000000, 0x3fd1eb85, 0x1eb851ff}, /* 0.69211=f(0.28000)*/
+{11, 0,123,__LINE__, 0x3fe5d09f, 0x20000000, 0x3fd28f5c, 0x28f5c2a3}, /* 0.68171=f(0.29000)*/
+{11, 0,123,__LINE__, 0x3fe57be3, 0xc0000000, 0x3fd33333, 0x33333347}, /* 0.67137=f(0.30000)*/
+{11, 0,123,__LINE__, 0x3fe527aa, 0x00000000, 0x3fd3d70a, 0x3d70a3eb}, /* 0.66109=f(0.31000)*/
+{11, 0,123,__LINE__, 0x3fe4d3f5, 0xc0000000, 0x3fd47ae1, 0x47ae148f}, /* 0.65087=f(0.32000)*/
+{11, 0,123,__LINE__, 0x3fe480ca, 0x00000000, 0x3fd51eb8, 0x51eb8533}, /* 0.64072=f(0.33000)*/
+{11, 0,123,__LINE__, 0x3fe42e2a, 0x80000000, 0x3fd5c28f, 0x5c28f5d7}, /* 0.63063=f(0.34000)*/
+{11, 0,123,__LINE__, 0x3fe3dc1a, 0x40000000, 0x3fd66666, 0x6666667b}, /* 0.62061=f(0.35000)*/
+{11, 0,123,__LINE__, 0x3fe38a9c, 0x80000000, 0x3fd70a3d, 0x70a3d71f}, /* 0.61067=f(0.36000)*/
+{11, 0,123,__LINE__, 0x3fe339b4, 0x60000000, 0x3fd7ae14, 0x7ae147c3}, /* 0.60079=f(0.37000)*/
+{11, 0,123,__LINE__, 0x3fe2e965, 0x00000000, 0x3fd851eb, 0x851eb867}, /* 0.59099=f(0.38000)*/
+{11, 0,123,__LINE__, 0x3fe299b1, 0x40000000, 0x3fd8f5c2, 0x8f5c290b}, /* 0.58126=f(0.39000)*/
+{11, 0,123,__LINE__, 0x3fe24a9c, 0x20000000, 0x3fd99999, 0x999999af}, /* 0.57160=f(0.40000)*/
+{11, 0,123,__LINE__, 0x3fe1fc28, 0x40000000, 0x3fda3d70, 0xa3d70a53}, /* 0.56203=f(0.41000)*/
+{11, 0,123,__LINE__, 0x3fe1ae58, 0x80000000, 0x3fdae147, 0xae147af7}, /* 0.55253=f(0.42000)*/
+{11, 0,123,__LINE__, 0x3fe1612f, 0x20000000, 0x3fdb851e, 0xb851eb9b}, /* 0.54311=f(0.43000)*/
+{11, 0,123,__LINE__, 0x3fe114af, 0x00000000, 0x3fdc28f5, 0xc28f5c3f}, /* 0.53377=f(0.44000)*/
+{11, 0,123,__LINE__, 0x3fe0c8da, 0x80000000, 0x3fdccccc, 0xcccccce3}, /* 0.52451=f(0.45000)*/
+{11, 0,123,__LINE__, 0x3fe07db4, 0x00000000, 0x3fdd70a3, 0xd70a3d87}, /* 0.51534=f(0.46000)*/
+{11, 0,123,__LINE__, 0x3fe0333d, 0xa0000000, 0x3fde147a, 0xe147ae2b}, /* 0.50625=f(0.47000)*/
+{10, 0,123,__LINE__, 0x3fdfd2f3, 0x00000000, 0x3fdeb851, 0xeb851ecf}, /* 0.49725=f(0.48000)*/
+{10, 0,123,__LINE__, 0x3fdf40d4, 0x00000000, 0x3fdf5c28, 0xf5c28f73}, /* 0.48833=f(0.49000)*/
+{10, 0,123,__LINE__, 0x3fdeb021, 0x40000000, 0x3fe00000, 0x0000000b}, /* 0.47950=f(0.50000)*/
+{10, 0,123,__LINE__, 0x3fde20df, 0x60000000, 0x3fe051eb, 0x851eb85d}, /* 0.47075=f(0.51000)*/
+{10, 0,123,__LINE__, 0x3fdd9311, 0xc0000000, 0x3fe0a3d7, 0x0a3d70af}, /* 0.46210=f(0.52000)*/
+{10, 0,123,__LINE__, 0x3fdd06bb, 0x80000000, 0x3fe0f5c2, 0x8f5c2901}, /* 0.45353=f(0.53000)*/
+{10, 0,123,__LINE__, 0x3fdc7be0, 0x00000000, 0x3fe147ae, 0x147ae153}, /* 0.44506=f(0.54000)*/
+{10, 0,123,__LINE__, 0x3fdbf282, 0x80000000, 0x3fe19999, 0x999999a5}, /* 0.43667=f(0.55000)*/
+{10, 0,123,__LINE__, 0x3fdb6aa5, 0xc0000000, 0x3fe1eb85, 0x1eb851f7}, /* 0.42838=f(0.56000)*/
+{10, 0,123,__LINE__, 0x3fdae44c, 0x40000000, 0x3fe23d70, 0xa3d70a49}, /* 0.42018=f(0.57000)*/
+{10, 0,123,__LINE__, 0x3fda5f78, 0xc0000000, 0x3fe28f5c, 0x28f5c29b}, /* 0.41207=f(0.58000)*/
+{10, 0,123,__LINE__, 0x3fd9dc2d, 0x60000000, 0x3fe2e147, 0xae147aed}, /* 0.40406=f(0.59000)*/
+{10, 0,123,__LINE__, 0x3fd95a6c, 0x00000000, 0x3fe33333, 0x3333333f}, /* 0.39614=f(0.60000)*/
+{10, 0,123,__LINE__, 0x3fd8da37, 0x00000000, 0x3fe3851e, 0xb851eb91}, /* 0.38831=f(0.61000)*/
+{10, 0,123,__LINE__, 0x3fd85b90, 0x20000000, 0x3fe3d70a, 0x3d70a3e3}, /* 0.38058=f(0.62000)*/
+{10, 0,123,__LINE__, 0x3fd7de78, 0xc0000000, 0x3fe428f5, 0xc28f5c35}, /* 0.37295=f(0.63000)*/
+{10, 0,123,__LINE__, 0x3fd762f2, 0x20000000, 0x3fe47ae1, 0x47ae1487}, /* 0.36541=f(0.64000)*/
+{10, 0,123,__LINE__, 0x3fd6e8fe, 0x00000000, 0x3fe4cccc, 0xccccccd9}, /* 0.35797=f(0.65000)*/
+{10, 0,123,__LINE__, 0x3fd6709c, 0xc0000000, 0x3fe51eb8, 0x51eb852b}, /* 0.35062=f(0.66000)*/
+{10, 0,123,__LINE__, 0x3fd5f9cf, 0xc0000000, 0x3fe570a3, 0xd70a3d7d}, /* 0.34337=f(0.67000)*/
+{10, 0,123,__LINE__, 0x3fd58497, 0xa0000000, 0x3fe5c28f, 0x5c28f5cf}, /* 0.33621=f(0.68000)*/
+{10, 0,123,__LINE__, 0x3fd510f4, 0xe0000000, 0x3fe6147a, 0xe147ae21}, /* 0.32915=f(0.69000)*/
+{10, 0,123,__LINE__, 0x3fd49ee7, 0xc0000000, 0x3fe66666, 0x66666673}, /* 0.32219=f(0.70000)*/
+{10, 0,123,__LINE__, 0x3fd42e70, 0xa0000000, 0x3fe6b851, 0xeb851ec5}, /* 0.31533=f(0.71000)*/
+{10, 0,123,__LINE__, 0x3fd3bf8f, 0x40000000, 0x3fe70a3d, 0x70a3d717}, /* 0.30856=f(0.72000)*/
+{10, 0,123,__LINE__, 0x3fd35243, 0xc0000000, 0x3fe75c28, 0xf5c28f69}, /* 0.30189=f(0.73000)*/
+{10, 0,123,__LINE__, 0x3fd2e68d, 0xe0000000, 0x3fe7ae14, 0x7ae147bb}, /* 0.29532=f(0.74000)*/
+{10, 0,123,__LINE__, 0x3fd27c6d, 0x20000000, 0x3fe80000, 0x0000000d}, /* 0.28884=f(0.75000)*/
+{10, 0,123,__LINE__, 0x3fd213e0, 0xa0000000, 0x3fe851eb, 0x851eb85f}, /* 0.28246=f(0.76000)*/
+{10, 0,123,__LINE__, 0x3fd1ace8, 0x00000000, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.27617=f(0.77000)*/
+{10, 0,123,__LINE__, 0x3fd14782, 0x60000000, 0x3fe8f5c2, 0x8f5c2903}, /* 0.26998=f(0.78000)*/
+{10, 0,123,__LINE__, 0x3fd0e3ae, 0x40000000, 0x3fe947ae, 0x147ae155}, /* 0.26389=f(0.79000)*/
+{10, 0,123,__LINE__, 0x3fd0816a, 0xe0000000, 0x3fe99999, 0x999999a7}, /* 0.25789=f(0.80000)*/
+{10, 0,123,__LINE__, 0x3fd020b6, 0xe0000000, 0x3fe9eb85, 0x1eb851f9}, /* 0.25199=f(0.81000)*/
+{10, 0,123,__LINE__, 0x3fcf8321, 0x60000000, 0x3fea3d70, 0xa3d70a4b}, /* 0.24618=f(0.82000)*/
+{10, 0,123,__LINE__, 0x3fcec7ed, 0x40000000, 0x3fea8f5c, 0x28f5c29d}, /* 0.24047=f(0.83000)*/
+{10, 0,123,__LINE__, 0x3fce0fce, 0x20000000, 0x3feae147, 0xae147aef}, /* 0.23485=f(0.84000)*/
+{10, 0,123,__LINE__, 0x3fcd5abf, 0xe0000000, 0x3feb3333, 0x33333341}, /* 0.22933=f(0.85000)*/
+{10, 0,123,__LINE__, 0x3fcca8bf, 0x40000000, 0x3feb851e, 0xb851eb93}, /* 0.22389=f(0.86000)*/
+{10, 0,123,__LINE__, 0x3fcbf9c7, 0x60000000, 0x3febd70a, 0x3d70a3e5}, /* 0.21856=f(0.87000)*/
+{10, 0,123,__LINE__, 0x3fcb4dd4, 0xa0000000, 0x3fec28f5, 0xc28f5c37}, /* 0.21331=f(0.88000)*/
+{10, 0,123,__LINE__, 0x3fcaa4e1, 0xa0000000, 0x3fec7ae1, 0x47ae1489}, /* 0.20815=f(0.89000)*/
+{10, 0,123,__LINE__, 0x3fc9fee9, 0xc0000000, 0x3feccccc, 0xccccccdb}, /* 0.20309=f(0.90000)*/
+{10, 0,123,__LINE__, 0x3fc95be7, 0xa0000000, 0x3fed1eb8, 0x51eb852d}, /* 0.19811=f(0.91000)*/
+{10, 0,123,__LINE__, 0x3fc8bbd6, 0x00000000, 0x3fed70a3, 0xd70a3d7f}, /* 0.19323=f(0.92000)*/
+{10, 0,123,__LINE__, 0x3fc81eaf, 0x80000000, 0x3fedc28f, 0x5c28f5d1}, /* 0.18843=f(0.93000)*/
+{10, 0,123,__LINE__, 0x3fc6ed0c, 0xc0000000, 0x3fee6666, 0x66666675}, /* 0.17910=f(0.95000)*/
+{10, 0,123,__LINE__, 0x3fc65884, 0xa0000000, 0x3feeb851, 0xeb851ec7}, /* 0.17457=f(0.96000)*/
+{10, 0,123,__LINE__, 0x3fc5c6cf, 0x80000000, 0x3fef0a3d, 0x70a3d719}, /* 0.17012=f(0.97000)*/
+{10, 0,123,__LINE__, 0x3fc537e7, 0x00000000, 0x3fef5c28, 0xf5c28f6b}, /* 0.16576=f(0.98000)*/
+{10, 0,123,__LINE__, 0x3fc4abc4, 0x80000000, 0x3fefae14, 0x7ae147bd}, /* 0.16149=f(0.99000)*/
+{10, 0,123,__LINE__, 0x3fc42261, 0xa0000000, 0x3ff00000, 0x00000007}, /* 0.15729=f(1.00000)*/
+{10, 0,123,__LINE__, 0x3fc39bb6, 0xc0000000, 0x3ff028f5, 0xc28f5c30}, /* 0.15318=f(1.01000)*/
+{10, 0,123,__LINE__, 0x3fc317bd, 0x80000000, 0x3ff051eb, 0x851eb859}, /* 0.14916=f(1.02000)*/
+{10, 0,123,__LINE__, 0x3fc2966e, 0x80000000, 0x3ff07ae1, 0x47ae1482}, /* 0.14521=f(1.03000)*/
+{10, 0,123,__LINE__, 0x3fc217c2, 0x60000000, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.14135=f(1.04000)*/
+{10, 0,123,__LINE__, 0x3fc19bb1, 0xc0000000, 0x3ff0cccc, 0xccccccd4}, /* 0.13756=f(1.05000)*/
+{10, 0,123,__LINE__, 0x3fc12235, 0x20000000, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.13385=f(1.06000)*/
+{10, 0,123,__LINE__, 0x3fc0ab44, 0xa0000000, 0x3ff11eb8, 0x51eb8526}, /* 0.13022=f(1.07000)*/
+{10, 0,123,__LINE__, 0x3fc036d9, 0x00000000, 0x3ff147ae, 0x147ae14f}, /* 0.12667=f(1.08000)*/
+{ 9, 0,123,__LINE__, 0x3fbf89d5, 0x00000000, 0x3ff170a3, 0xd70a3d78}, /* 0.12319=f(1.09000)*/
+{ 9, 0,123,__LINE__, 0x3fbeaae1, 0x40000000, 0x3ff19999, 0x999999a1}, /* 0.11979=f(1.10000)*/
+{ 9, 0,123,__LINE__, 0x3fbdd0c7, 0xe0000000, 0x3ff1c28f, 0x5c28f5ca}, /* 0.11646=f(1.11000)*/
+{ 9, 0,123,__LINE__, 0x3fbcfb78, 0x00000000, 0x3ff1eb85, 0x1eb851f3}, /* 0.11321=f(1.12000)*/
+{ 9, 0,123,__LINE__, 0x3fbc2ae1, 0xa0000000, 0x3ff2147a, 0xe147ae1c}, /* 0.11002=f(1.13000)*/
+{ 9, 0,123,__LINE__, 0x3fbb5ef4, 0xc0000000, 0x3ff23d70, 0xa3d70a45}, /* 0.10691=f(1.14000)*/
+{ 9, 0,123,__LINE__, 0x3fba97a0, 0xe0000000, 0x3ff26666, 0x6666666e}, /* 0.10387=f(1.15000)*/
+{ 9, 0,123,__LINE__, 0x3fb9d4d5, 0x00000000, 0x3ff28f5c, 0x28f5c297}, /* 0.10090=f(1.16000)*/
+{ 9, 0,123,__LINE__, 0x3fb91680, 0xc0000000, 0x3ff2b851, 0xeb851ec0}, /* 0.09799=f(1.17000)*/
+{ 9, 0,123,__LINE__, 0x3fb85c93, 0x60000000, 0x3ff2e147, 0xae147ae9}, /* 0.09516=f(1.18000)*/
+{ 9, 0,123,__LINE__, 0x3fb7a6fb, 0x80000000, 0x3ff30a3d, 0x70a3d712}, /* 0.09239=f(1.19000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc01921fb, 0x54442d18}, /* 2.00000=f(-6.28318)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* 2.00000=f(-4.71238)*/
+{ 1, 0,123,__LINE__, 0x3ffffff6, 0xc0000000, 0xc00921fb, 0x54442d18}, /* 1.99999=f(-3.14159)*/
+{15, 0,123,__LINE__, 0x3fff9430, 0x60000000, 0xbff921fb, 0x54442d18}, /* 1.97367=f(-1.57079)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x00000000, 0x00000000}, /* 1.00000=f(0.00000)*/
+{ 9, 0,123,__LINE__, 0x3f9af3e9, 0x40000000, 0x3ff921fb, 0x54442d18}, /* 0.02632=f(1.57079)*/
+{ 2, 0,123,__LINE__, 0x3ee29d57, 0xc0000000, 0x400921fb, 0x54442d18}, /* 8.87614e-06=f(3.14159)*/
+{ 2, 0,123,__LINE__, 0x3dd74c7a, 0xc0000000, 0x4012d97c, 0x7f3321d2}, /* 8.47604e-11=f(4.71238)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc03e0000, 0x00000000}, /* 2.00000=f(-30.0000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* 2.00000=f(-28.3000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc03a9999, 0x9999999a}, /* 2.00000=f(-26.6000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc038e666, 0x66666667}, /* 2.00000=f(-24.9000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc0373333, 0x33333334}, /* 2.00000=f(-23.2000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc0358000, 0x00000001}, /* 2.00000=f(-21.5000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc033cccc, 0xccccccce}, /* 2.00000=f(-19.8000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc0321999, 0x9999999b}, /* 2.00000=f(-18.1000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc0306666, 0x66666668}, /* 2.00000=f(-16.4000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc02d6666, 0x6666666a}, /* 2.00000=f(-14.7000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc02a0000, 0x00000004}, /* 2.00000=f(-13.0000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc0269999, 0x9999999e}, /* 2.00000=f(-11.3000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc0233333, 0x33333338}, /* 2.00000=f(-9.60000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc01f9999, 0x999999a3}, /* 2.00000=f(-7.90000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* 2.00000=f(-6.20000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0xc0120000, 0x00000009}, /* 2.00000=f(-4.50000)*/
+{ 1, 0,123,__LINE__, 0x3fffffb1, 0x60000000, 0xc0066666, 0x66666678}, /* 1.99992=f(-2.80000)*/
+{19, 0,123,__LINE__, 0x3ffe1551, 0xe0000000, 0xbff19999, 0x999999bd}, /* 1.88020=f(-1.10000)*/
+{10, 0,123,__LINE__, 0x3fd95a6c, 0x00000000, 0x3fe33333, 0x333332ec}, /* 0.39614=f(0.60000)*/
+{ 8, 0,123,__LINE__, 0x3f52bad4, 0xe0000000, 0x40026666, 0x66666654}, /* 0.00114=f(2.30000)*/
+{ 2, 0,123,__LINE__, 0x3e508ddd, 0x60000000, 0x400fffff, 0xffffffee}, /* 1.54173e-08=f(4.00000)*/
+{ 2, 0,123,__LINE__, 0x3ce5a0d6, 0x80000000, 0x4016cccc, 0xccccccc4}, /* 2.40122e-15=f(5.70000)*/
+{ 2, 0,123,__LINE__, 0x3ade87a7, 0x20000000, 0x401d9999, 0x99999991}, /* 3.94590e-25=f(7.40000)*/
+{ 2, 0,123,__LINE__, 0x3851f878, 0x20000000, 0x40223333, 0x3333332f}, /* 2.11243e-37=f(9.10000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x40259999, 0x99999995}, /* 0.00000=f(10.8000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x4028ffff, 0xfffffffb}, /* 0.00000=f(12.5000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x402c6666, 0x66666661}, /* 0.00000=f(14.2000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x402fcccc, 0xccccccc7}, /* 0.00000=f(15.9000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x40319999, 0x99999997}, /* 0.00000=f(17.6000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x40334ccc, 0xccccccca}, /* 0.00000=f(19.3000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x4034ffff, 0xfffffffd}, /* 0.00000=f(21.0000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x4036b333, 0x33333330}, /* 0.00000=f(22.7000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x40386666, 0x66666663}, /* 0.00000=f(24.4000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x403a1999, 0x99999996}, /* 0.00000=f(26.1000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x403bcccc, 0xccccccc9}, /* 0.00000=f(27.8000)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x403d7fff, 0xfffffffc}, /* 0.00000=f(29.5000)*/
+0,};
+test_erfcf(m) {run_vector_1(m,erfcf_vec,(char *)(erfcf),"erfcf","ff"); }
diff --git a/newlib/libm/test/erff_vec.c b/newlib/libm/test/erff_vec.c
new file mode 100644
index 00000000000..f5223339a35
--- /dev/null
+++ b/newlib/libm/test/erff_vec.c
@@ -0,0 +1,286 @@
+#include "test.h"
+ one_line_type erff_vec[] = {
+{11, 0,123,__LINE__, 0xbfed214a, 0xc0000000, 0xbff33333, 0x33333333}, /* -0.91031=f(-1.20000)*/
+{11, 0,123,__LINE__, 0xbfed0b20, 0x80000000, 0xbff30a3d, 0x70a3d70a}, /* -0.90760=f(-1.19000)*/
+{11, 0,123,__LINE__, 0xbfecf46d, 0xa0000000, 0xbff2e147, 0xae147ae1}, /* -0.90483=f(-1.18000)*/
+{11, 0,123,__LINE__, 0xbfecdd2f, 0xe0000000, 0xbff2b851, 0xeb851eb8}, /* -0.90200=f(-1.17000)*/
+{11, 0,123,__LINE__, 0xbfecc565, 0x60000000, 0xbff28f5c, 0x28f5c28f}, /* -0.89909=f(-1.16000)*/
+{11, 0,123,__LINE__, 0xbfecad0b, 0xe0000000, 0xbff26666, 0x66666666}, /* -0.89612=f(-1.15000)*/
+{11, 0,123,__LINE__, 0xbfec9421, 0x60000000, 0xbff23d70, 0xa3d70a3d}, /* -0.89308=f(-1.14000)*/
+{11, 0,123,__LINE__, 0xbfec7aa3, 0xc0000000, 0xbff2147a, 0xe147ae14}, /* -0.88997=f(-1.13000)*/
+{11, 0,123,__LINE__, 0xbfec6091, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* -0.88678=f(-1.12000)*/
+{11, 0,123,__LINE__, 0xbfec45e7, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* -0.88353=f(-1.11000)*/
+{11, 0,123,__LINE__, 0xbfec2aa3, 0xe0000000, 0xbff19999, 0x99999999}, /* -0.88020=f(-1.10000)*/
+{11, 0,123,__LINE__, 0xbfec0ec5, 0x60000000, 0xbff170a3, 0xd70a3d70}, /* -0.87680=f(-1.09000)*/
+{11, 0,123,__LINE__, 0xbfebf249, 0xc0000000, 0xbff147ae, 0x147ae147}, /* -0.87332=f(-1.08000)*/
+{11, 0,123,__LINE__, 0xbfebd52e, 0xe0000000, 0xbff11eb8, 0x51eb851e}, /* -0.86977=f(-1.07000)*/
+{11, 0,123,__LINE__, 0xbfebb772, 0xc0000000, 0xbff0f5c2, 0x8f5c28f5}, /* -0.86614=f(-1.06000)*/
+{11, 0,123,__LINE__, 0xbfeb9913, 0x80000000, 0xbff0cccc, 0xcccccccc}, /* -0.86243=f(-1.05000)*/
+{11, 0,123,__LINE__, 0xbfeb7a0f, 0x60000000, 0xbff0a3d7, 0x0a3d70a3}, /* -0.85864=f(-1.04000)*/
+{11, 0,123,__LINE__, 0xbfeb5a64, 0x60000000, 0xbff07ae1, 0x47ae147a}, /* -0.85478=f(-1.03000)*/
+{11, 0,123,__LINE__, 0xbfeb3a10, 0xa0000000, 0xbff051eb, 0x851eb851}, /* -0.85083=f(-1.02000)*/
+{11, 0,123,__LINE__, 0xbfeb1912, 0x40000000, 0xbff028f5, 0xc28f5c28}, /* -0.84681=f(-1.01000)*/
+{11, 0,123,__LINE__, 0xbfeaf767, 0xa0000000, 0xbfefffff, 0xfffffffe}, /* -0.84270=f(-0.01000)*/
+{11, 0,123,__LINE__, 0xbfead50e, 0xe0000000, 0xbfefae14, 0x7ae147ac}, /* -0.83850=f(-0.99000)*/
+{13, 0,123,__LINE__, 0xbfeab206, 0x40000000, 0xbfef5c28, 0xf5c28f5a}, /* -0.83423=f(-0.98000)*/
+{13, 0,123,__LINE__, 0xbfea8e4c, 0x20000000, 0xbfef0a3d, 0x70a3d708}, /* -0.82987=f(-0.97000)*/
+{13, 0,123,__LINE__, 0xbfea69de, 0xe0000000, 0xbfeeb851, 0xeb851eb6}, /* -0.82542=f(-0.96000)*/
+{13, 0,123,__LINE__, 0xbfea44bc, 0xc0000000, 0xbfee6666, 0x66666664}, /* -0.82089=f(-0.95000)*/
+{13, 0,123,__LINE__, 0xbfe9f854, 0x20000000, 0xbfedc28f, 0x5c28f5c0}, /* -0.81156=f(-0.93000)*/
+{13, 0,123,__LINE__, 0xbfe9d10a, 0x80000000, 0xbfed70a3, 0xd70a3d6e}, /* -0.80676=f(-0.92000)*/
+{13, 0,123,__LINE__, 0xbfe9a906, 0x20000000, 0xbfed1eb8, 0x51eb851c}, /* -0.80188=f(-0.91000)*/
+{13, 0,123,__LINE__, 0xbfe98045, 0x80000000, 0xbfeccccc, 0xccccccca}, /* -0.79690=f(-0.90000)*/
+{13, 0,123,__LINE__, 0xbfe956c7, 0xa0000000, 0xbfec7ae1, 0x47ae1478}, /* -0.79184=f(-0.89000)*/
+{13, 0,123,__LINE__, 0xbfe92c8a, 0xe0000000, 0xbfec28f5, 0xc28f5c26}, /* -0.78668=f(-0.88000)*/
+{13, 0,123,__LINE__, 0xbfe9018e, 0x20000000, 0xbfebd70a, 0x3d70a3d4}, /* -0.78143=f(-0.87000)*/
+{14, 0,123,__LINE__, 0xbfe8d5d0, 0x40000000, 0xbfeb851e, 0xb851eb82}, /* -0.77610=f(-0.86000)*/
+{14, 0,123,__LINE__, 0xbfe8a950, 0x00000000, 0xbfeb3333, 0x33333330}, /* -0.77066=f(-0.85000)*/
+{14, 0,123,__LINE__, 0xbfe87c0c, 0x80000000, 0xbfeae147, 0xae147ade}, /* -0.76514=f(-0.84000)*/
+{14, 0,123,__LINE__, 0xbfe84e04, 0xc0000000, 0xbfea8f5c, 0x28f5c28c}, /* -0.75952=f(-0.83000)*/
+{14, 0,123,__LINE__, 0xbfe81f37, 0xa0000000, 0xbfea3d70, 0xa3d70a3a}, /* -0.75381=f(-0.82000)*/
+{12, 0,123,__LINE__, 0xbfe7efa4, 0x80000000, 0xbfe9eb85, 0x1eb851e8}, /* -0.74800=f(-0.81000)*/
+{12, 0,123,__LINE__, 0xbfe7bf4a, 0x80000000, 0xbfe99999, 0x99999996}, /* -0.74210=f(-0.80000)*/
+{12, 0,123,__LINE__, 0xbfe78e28, 0xe0000000, 0xbfe947ae, 0x147ae144}, /* -0.73610=f(-0.79000)*/
+{12, 0,123,__LINE__, 0xbfe75c3e, 0xc0000000, 0xbfe8f5c2, 0x8f5c28f2}, /* -0.73001=f(-0.78000)*/
+{12, 0,123,__LINE__, 0xbfe7298c, 0x00000000, 0xbfe8a3d7, 0x0a3d70a0}, /* -0.72382=f(-0.77000)*/
+{12, 0,123,__LINE__, 0xbfe6f60f, 0xc0000000, 0xbfe851eb, 0x851eb84e}, /* -0.71753=f(-0.76000)*/
+{12, 0,123,__LINE__, 0xbfe6c1c9, 0x80000000, 0xbfe7ffff, 0xfffffffc}, /* -0.71115=f(-0.75000)*/
+{12, 0,123,__LINE__, 0xbfe68cb9, 0x00000000, 0xbfe7ae14, 0x7ae147aa}, /* -0.70467=f(-0.74000)*/
+{15, 0,123,__LINE__, 0xbfe656de, 0x20000000, 0xbfe75c28, 0xf5c28f58}, /* -0.69810=f(-0.73000)*/
+{15, 0,123,__LINE__, 0xbfe62038, 0x60000000, 0xbfe70a3d, 0x70a3d706}, /* -0.69143=f(-0.72000)*/
+{14, 0,123,__LINE__, 0xbfe5e8c7, 0xc0000000, 0xbfe6b851, 0xeb851eb4}, /* -0.68466=f(-0.71000)*/
+{14, 0,123,__LINE__, 0xbfe5b08c, 0x20000000, 0xbfe66666, 0x66666662}, /* -0.67780=f(-0.70000)*/
+{14, 0,123,__LINE__, 0xbfe57785, 0x80000000, 0xbfe6147a, 0xe147ae10}, /* -0.67084=f(-0.69000)*/
+{14, 0,123,__LINE__, 0xbfe53db4, 0x40000000, 0xbfe5c28f, 0x5c28f5be}, /* -0.66378=f(-0.68000)*/
+{16, 0,123,__LINE__, 0xbfe50318, 0x20000000, 0xbfe570a3, 0xd70a3d6c}, /* -0.65662=f(-0.67000)*/
+{15, 0,123,__LINE__, 0xbfe4c7b1, 0xa0000000, 0xbfe51eb8, 0x51eb851a}, /* -0.64937=f(-0.66000)*/
+{15, 0,123,__LINE__, 0xbfe48b81, 0x00000000, 0xbfe4cccc, 0xccccccc8}, /* -0.64202=f(-0.65000)*/
+{16, 0,123,__LINE__, 0xbfe44e87, 0x00000000, 0xbfe47ae1, 0x47ae1476}, /* -0.63458=f(-0.64000)*/
+{17, 0,123,__LINE__, 0xbfe410c3, 0xa0000000, 0xbfe428f5, 0xc28f5c24}, /* -0.62704=f(-0.63000)*/
+{13, 0,123,__LINE__, 0xbfe3d238, 0x00000000, 0xbfe3d70a, 0x3d70a3d2}, /* -0.61941=f(-0.62000)*/
+{17, 0,123,__LINE__, 0xbfe392e4, 0x80000000, 0xbfe3851e, 0xb851eb80}, /* -0.61168=f(-0.61000)*/
+{16, 0,123,__LINE__, 0xbfe352ca, 0x00000000, 0xbfe33333, 0x3333332e}, /* -0.60385=f(-0.60000)*/
+{18, 0,123,__LINE__, 0xbfe311e9, 0x40000000, 0xbfe2e147, 0xae147adc}, /* -0.59593=f(-0.59000)*/
+{18, 0,123,__LINE__, 0xbfe2d043, 0xa0000000, 0xbfe28f5c, 0x28f5c28a}, /* -0.58792=f(-0.58000)*/
+{20, 0,123,__LINE__, 0xbfe28dd9, 0xe0000000, 0xbfe23d70, 0xa3d70a38}, /* -0.57981=f(-0.57000)*/
+{17, 0,123,__LINE__, 0xbfe24aad, 0x20000000, 0xbfe1eb85, 0x1eb851e6}, /* -0.57161=f(-0.56000)*/
+{23, 0,123,__LINE__, 0xbfe206be, 0xc0000000, 0xbfe19999, 0x99999994}, /* -0.56332=f(-0.55000)*/
+{17, 0,123,__LINE__, 0xbfe1c210, 0x00000000, 0xbfe147ae, 0x147ae142}, /* -0.55493=f(-0.54000)*/
+{18, 0,123,__LINE__, 0xbfe17ca2, 0x40000000, 0xbfe0f5c2, 0x8f5c28f0}, /* -0.54646=f(-0.53000)*/
+{15, 0,123,__LINE__, 0xbfe13677, 0x20000000, 0xbfe0a3d7, 0x0a3d709e}, /* -0.53789=f(-0.52000)*/
+{17, 0,123,__LINE__, 0xbfe0ef90, 0x40000000, 0xbfe051eb, 0x851eb84c}, /* -0.52924=f(-0.51000)*/
+{16, 0,123,__LINE__, 0xbfe0a7ef, 0x60000000, 0xbfdfffff, 0xfffffff4}, /* -0.52049=f(-0.50000)*/
+{10, 0,123,__LINE__, 0xbfe05f96, 0x00000000, 0xbfdf5c28, 0xf5c28f50}, /* -0.51166=f(-0.49000)*/
+{10, 0,123,__LINE__, 0xbfe01686, 0x80000000, 0xbfdeb851, 0xeb851eac}, /* -0.50274=f(-0.48000)*/
+{15, 0,123,__LINE__, 0xbfdf9984, 0xc0000000, 0xbfde147a, 0xe147ae08}, /* -0.49374=f(-0.47000)*/
+{14, 0,123,__LINE__, 0xbfdf0498, 0x20000000, 0xbfdd70a3, 0xd70a3d64}, /* -0.48465=f(-0.46000)*/
+{14, 0,123,__LINE__, 0xbfde6e4a, 0xe0000000, 0xbfdccccc, 0xccccccc0}, /* -0.47548=f(-0.45000)*/
+{15, 0,123,__LINE__, 0xbfddd6a1, 0xe0000000, 0xbfdc28f5, 0xc28f5c1c}, /* -0.46622=f(-0.44000)*/
+{13, 0,123,__LINE__, 0xbfdd3da1, 0xc0000000, 0xbfdb851e, 0xb851eb78}, /* -0.45688=f(-0.43000)*/
+{13, 0,123,__LINE__, 0xbfdca34f, 0x20000000, 0xbfdae147, 0xae147ad4}, /* -0.44746=f(-0.42000)*/
+{13, 0,123,__LINE__, 0xbfdc07af, 0x80000000, 0xbfda3d70, 0xa3d70a30}, /* -0.43796=f(-0.41000)*/
+{15, 0,123,__LINE__, 0xbfdb6ac7, 0xc0000000, 0xbfd99999, 0x9999998c}, /* -0.42839=f(-0.40000)*/
+{14, 0,123,__LINE__, 0xbfdacc9d, 0x60000000, 0xbfd8f5c2, 0x8f5c28e8}, /* -0.41873=f(-0.39000)*/
+{14, 0,123,__LINE__, 0xbfda2d36, 0x00000000, 0xbfd851eb, 0x851eb844}, /* -0.40900=f(-0.38000)*/
+{15, 0,123,__LINE__, 0xbfd98c97, 0x40000000, 0xbfd7ae14, 0x7ae147a0}, /* -0.39920=f(-0.37000)*/
+{12, 0,123,__LINE__, 0xbfd8eac7, 0x20000000, 0xbfd70a3d, 0x70a3d6fc}, /* -0.38932=f(-0.36000)*/
+{12, 0,123,__LINE__, 0xbfd847cb, 0xa0000000, 0xbfd66666, 0x66666658}, /* -0.37938=f(-0.35000)*/
+{15, 0,123,__LINE__, 0xbfd7a3ab, 0x20000000, 0xbfd5c28f, 0x5c28f5b4}, /* -0.36936=f(-0.34000)*/
+{14, 0,123,__LINE__, 0xbfd6fe6c, 0x00000000, 0xbfd51eb8, 0x51eb8510}, /* -0.35927=f(-0.33000)*/
+{14, 0,123,__LINE__, 0xbfd65814, 0x80000000, 0xbfd47ae1, 0x47ae146c}, /* -0.34912=f(-0.32000)*/
+{15, 0,123,__LINE__, 0xbfd5b0ab, 0xe0000000, 0xbfd3d70a, 0x3d70a3c8}, /* -0.33890=f(-0.31000)*/
+{13, 0,123,__LINE__, 0xbfd50838, 0xa0000000, 0xbfd33333, 0x33333324}, /* -0.32862=f(-0.30000)*/
+{13, 0,123,__LINE__, 0xbfd45ec1, 0xc0000000, 0xbfd28f5c, 0x28f5c280}, /* -0.31828=f(-0.29000)*/
+{15, 0,123,__LINE__, 0xbfd3b44e, 0xa0000000, 0xbfd1eb85, 0x1eb851dc}, /* -0.30788=f(-0.28000)*/
+{14, 0,123,__LINE__, 0xbfd308e6, 0x80000000, 0xbfd147ae, 0x147ae138}, /* -0.29741=f(-0.27000)*/
+{14, 0,123,__LINE__, 0xbfd25c90, 0xa0000000, 0xbfd0a3d7, 0x0a3d7094}, /* -0.28689=f(-0.26000)*/
+{15, 0,123,__LINE__, 0xbfd1af54, 0xe0000000, 0xbfcfffff, 0xffffffe0}, /* -0.27632=f(-0.25000)*/
+{11, 0,123,__LINE__, 0xbfd1013a, 0xc0000000, 0xbfceb851, 0xeb851e98}, /* -0.26570=f(-0.24000)*/
+{11, 0,123,__LINE__, 0xbfd0524a, 0x60000000, 0xbfcd70a3, 0xd70a3d50}, /* -0.25502=f(-0.23000)*/
+{14, 0,123,__LINE__, 0xbfcf4516, 0xa0000000, 0xbfcc28f5, 0xc28f5c08}, /* -0.24429=f(-0.22000)*/
+{13, 0,123,__LINE__, 0xbfcde40b, 0xc0000000, 0xbfcae147, 0xae147ac0}, /* -0.23352=f(-0.21000)*/
+{13, 0,123,__LINE__, 0xbfcc8184, 0xc0000000, 0xbfc99999, 0x99999978}, /* -0.22270=f(-0.20000)*/
+{14, 0,123,__LINE__, 0xbfcb1d91, 0xc0000000, 0xbfc851eb, 0x851eb830}, /* -0.21183=f(-0.19000)*/
+{12, 0,123,__LINE__, 0xbfc9b844, 0x00000000, 0xbfc70a3d, 0x70a3d6e8}, /* -0.20093=f(-0.18000)*/
+{12, 0,123,__LINE__, 0xbfc851ac, 0x40000000, 0xbfc5c28f, 0x5c28f5a0}, /* -0.18999=f(-0.17000)*/
+{14, 0,123,__LINE__, 0xbfc6e9db, 0xe0000000, 0xbfc47ae1, 0x47ae1458}, /* -0.17901=f(-0.16000)*/
+{13, 0,123,__LINE__, 0xbfc580e4, 0x60000000, 0xbfc33333, 0x33333310}, /* -0.16799=f(-0.15000)*/
+{13, 0,123,__LINE__, 0xbfc416d7, 0x20000000, 0xbfc1eb85, 0x1eb851c8}, /* -0.15694=f(-0.14000)*/
+{14, 0,123,__LINE__, 0xbfc2abc6, 0x00000000, 0xbfc0a3d7, 0x0a3d7080}, /* -0.14586=f(-0.13000)*/
+{ 9, 0,123,__LINE__, 0xbfc13fc3, 0x00000000, 0xbfbeb851, 0xeb851e71}, /* -0.13475=f(-0.12000)*/
+{14, 0,123,__LINE__, 0xbfbfa5c0, 0x00000000, 0xbfbc28f5, 0xc28f5be2}, /* -0.12362=f(-0.11000)*/
+{13, 0,123,__LINE__, 0xbfbcca5e, 0xa0000000, 0xbfb99999, 0x99999953}, /* -0.11246=f(-0.00100)*/
+{12, 0,123,__LINE__, 0xbfb9ed86, 0x80000000, 0xbfb70a3d, 0x70a3d6c4}, /* -0.10128=f(-0.09000)*/
+{14, 0,123,__LINE__, 0xbfb70f5c, 0x20000000, 0xbfb47ae1, 0x47ae1435}, /* -0.09007=f(-0.08000)*/
+{13, 0,123,__LINE__, 0xbfb43005, 0x00000000, 0xbfb1eb85, 0x1eb851a6}, /* -0.07885=f(-0.07000)*/
+{11, 0,123,__LINE__, 0xbfb14fa6, 0x20000000, 0xbfaeb851, 0xeb851e2d}, /* -0.06762=f(-0.06000)*/
+{13, 0,123,__LINE__, 0xbfacdcc9, 0xc0000000, 0xbfa99999, 0x9999990e}, /* -0.05637=f(-0.05000)*/
+{14, 0,123,__LINE__, 0xbfa718cd, 0x80000000, 0xbfa47ae1, 0x47ae13ef}, /* -0.04511=f(-0.04000)*/
+{10, 0,123,__LINE__, 0xbfa153a3, 0x00000000, 0xbf9eb851, 0xeb851da0}, /* -0.03384=f(-0.03000)*/
+{14, 0,123,__LINE__, 0xbf971b2b, 0x00000000, 0xbf947ae1, 0x47ae1362}, /* -0.02256=f(-0.02000)*/
+{14, 0,123,__LINE__, 0xbf871bc2, 0x60000000, 0xbf847ae1, 0x47ae1249}, /* -0.01128=f(-0.00010)*/
+{ 2, 0,123,__LINE__, 0x3cd3d131, 0x60000000, 0x3cd19000, 0x00000000}, /* 1.10007e-15=f(9.74915e-16)*/
+{14, 0,123,__LINE__, 0x3f871bc2, 0x60000000, 0x3f847ae1, 0x47ae16ad}, /* 0.01128=f(0.01000)*/
+{14, 0,123,__LINE__, 0x3f971b2b, 0x00000000, 0x3f947ae1, 0x47ae1594}, /* 0.02256=f(0.02000)*/
+{10, 0,123,__LINE__, 0x3fa153a3, 0x00000000, 0x3f9eb851, 0xeb851fd2}, /* 0.03384=f(0.03000)*/
+{14, 0,123,__LINE__, 0x3fa718cd, 0x80000000, 0x3fa47ae1, 0x47ae1508}, /* 0.04511=f(0.04000)*/
+{13, 0,123,__LINE__, 0x3facdcc9, 0xc0000000, 0x3fa99999, 0x99999a27}, /* 0.05637=f(0.05000)*/
+{11, 0,123,__LINE__, 0x3fb14fa6, 0x20000000, 0x3faeb851, 0xeb851f46}, /* 0.06762=f(0.06000)*/
+{13, 0,123,__LINE__, 0x3fb43005, 0x00000000, 0x3fb1eb85, 0x1eb85232}, /* 0.07885=f(0.07000)*/
+{14, 0,123,__LINE__, 0x3fb70f5c, 0x20000000, 0x3fb47ae1, 0x47ae14c1}, /* 0.09007=f(0.08000)*/
+{12, 0,123,__LINE__, 0x3fb9ed86, 0x80000000, 0x3fb70a3d, 0x70a3d750}, /* 0.10128=f(0.09000)*/
+{13, 0,123,__LINE__, 0x3fbcca5e, 0xa0000000, 0x3fb99999, 0x999999df}, /* 0.11246=f(0.10000)*/
+{14, 0,123,__LINE__, 0x3fbfa5c0, 0x00000000, 0x3fbc28f5, 0xc28f5c6e}, /* 0.12362=f(0.11000)*/
+{ 9, 0,123,__LINE__, 0x3fc13fc3, 0x00000000, 0x3fbeb851, 0xeb851efd}, /* 0.13475=f(0.12000)*/
+{14, 0,123,__LINE__, 0x3fc2abc6, 0x00000000, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.14586=f(0.13000)*/
+{13, 0,123,__LINE__, 0x3fc416d7, 0x20000000, 0x3fc1eb85, 0x1eb8520e}, /* 0.15694=f(0.14000)*/
+{13, 0,123,__LINE__, 0x3fc580e4, 0x60000000, 0x3fc33333, 0x33333356}, /* 0.16799=f(0.15000)*/
+{14, 0,123,__LINE__, 0x3fc6e9db, 0xe0000000, 0x3fc47ae1, 0x47ae149e}, /* 0.17901=f(0.16000)*/
+{12, 0,123,__LINE__, 0x3fc851ac, 0x40000000, 0x3fc5c28f, 0x5c28f5e6}, /* 0.18999=f(0.17000)*/
+{12, 0,123,__LINE__, 0x3fc9b844, 0x00000000, 0x3fc70a3d, 0x70a3d72e}, /* 0.20093=f(0.18000)*/
+{14, 0,123,__LINE__, 0x3fcb1d91, 0xc0000000, 0x3fc851eb, 0x851eb876}, /* 0.21183=f(0.19000)*/
+{13, 0,123,__LINE__, 0x3fcc8184, 0xc0000000, 0x3fc99999, 0x999999be}, /* 0.22270=f(0.20000)*/
+{13, 0,123,__LINE__, 0x3fcde40b, 0xc0000000, 0x3fcae147, 0xae147b06}, /* 0.23352=f(0.21000)*/
+{14, 0,123,__LINE__, 0x3fcf4516, 0xa0000000, 0x3fcc28f5, 0xc28f5c4e}, /* 0.24429=f(0.22000)*/
+{11, 0,123,__LINE__, 0x3fd0524a, 0x60000000, 0x3fcd70a3, 0xd70a3d96}, /* 0.25502=f(0.23000)*/
+{11, 0,123,__LINE__, 0x3fd1013a, 0xc0000000, 0x3fceb851, 0xeb851ede}, /* 0.26570=f(0.24000)*/
+{15, 0,123,__LINE__, 0x3fd1af54, 0xe0000000, 0x3fd00000, 0x00000013}, /* 0.27632=f(0.25000)*/
+{14, 0,123,__LINE__, 0x3fd25c90, 0xa0000000, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.28689=f(0.26000)*/
+{14, 0,123,__LINE__, 0x3fd308e6, 0x80000000, 0x3fd147ae, 0x147ae15b}, /* 0.29741=f(0.27000)*/
+{15, 0,123,__LINE__, 0x3fd3b44e, 0xa0000000, 0x3fd1eb85, 0x1eb851ff}, /* 0.30788=f(0.28000)*/
+{13, 0,123,__LINE__, 0x3fd45ec1, 0xc0000000, 0x3fd28f5c, 0x28f5c2a3}, /* 0.31828=f(0.29000)*/
+{13, 0,123,__LINE__, 0x3fd50838, 0xa0000000, 0x3fd33333, 0x33333347}, /* 0.32862=f(0.30000)*/
+{15, 0,123,__LINE__, 0x3fd5b0ab, 0xe0000000, 0x3fd3d70a, 0x3d70a3eb}, /* 0.33890=f(0.31000)*/
+{14, 0,123,__LINE__, 0x3fd65814, 0x80000000, 0x3fd47ae1, 0x47ae148f}, /* 0.34912=f(0.32000)*/
+{14, 0,123,__LINE__, 0x3fd6fe6c, 0x00000000, 0x3fd51eb8, 0x51eb8533}, /* 0.35927=f(0.33000)*/
+{15, 0,123,__LINE__, 0x3fd7a3ab, 0x20000000, 0x3fd5c28f, 0x5c28f5d7}, /* 0.36936=f(0.34000)*/
+{12, 0,123,__LINE__, 0x3fd847cb, 0xa0000000, 0x3fd66666, 0x6666667b}, /* 0.37938=f(0.35000)*/
+{12, 0,123,__LINE__, 0x3fd8eac7, 0x20000000, 0x3fd70a3d, 0x70a3d71f}, /* 0.38932=f(0.36000)*/
+{15, 0,123,__LINE__, 0x3fd98c97, 0x40000000, 0x3fd7ae14, 0x7ae147c3}, /* 0.39920=f(0.37000)*/
+{14, 0,123,__LINE__, 0x3fda2d36, 0x00000000, 0x3fd851eb, 0x851eb867}, /* 0.40900=f(0.38000)*/
+{14, 0,123,__LINE__, 0x3fdacc9d, 0x60000000, 0x3fd8f5c2, 0x8f5c290b}, /* 0.41873=f(0.39000)*/
+{15, 0,123,__LINE__, 0x3fdb6ac7, 0xc0000000, 0x3fd99999, 0x999999af}, /* 0.42839=f(0.40000)*/
+{13, 0,123,__LINE__, 0x3fdc07af, 0x80000000, 0x3fda3d70, 0xa3d70a53}, /* 0.43796=f(0.41000)*/
+{13, 0,123,__LINE__, 0x3fdca34f, 0x20000000, 0x3fdae147, 0xae147af7}, /* 0.44746=f(0.42000)*/
+{13, 0,123,__LINE__, 0x3fdd3da1, 0xc0000000, 0x3fdb851e, 0xb851eb9b}, /* 0.45688=f(0.43000)*/
+{15, 0,123,__LINE__, 0x3fddd6a1, 0xe0000000, 0x3fdc28f5, 0xc28f5c3f}, /* 0.46622=f(0.44000)*/
+{14, 0,123,__LINE__, 0x3fde6e4a, 0xe0000000, 0x3fdccccc, 0xcccccce3}, /* 0.47548=f(0.45000)*/
+{14, 0,123,__LINE__, 0x3fdf0498, 0x20000000, 0x3fdd70a3, 0xd70a3d87}, /* 0.48465=f(0.46000)*/
+{15, 0,123,__LINE__, 0x3fdf9984, 0xc0000000, 0x3fde147a, 0xe147ae2b}, /* 0.49374=f(0.47000)*/
+{10, 0,123,__LINE__, 0x3fe01686, 0x80000000, 0x3fdeb851, 0xeb851ecf}, /* 0.50274=f(0.48000)*/
+{10, 0,123,__LINE__, 0x3fe05f96, 0x00000000, 0x3fdf5c28, 0xf5c28f73}, /* 0.51166=f(0.49000)*/
+{16, 0,123,__LINE__, 0x3fe0a7ef, 0x60000000, 0x3fe00000, 0x0000000b}, /* 0.52049=f(0.50000)*/
+{17, 0,123,__LINE__, 0x3fe0ef90, 0x40000000, 0x3fe051eb, 0x851eb85d}, /* 0.52924=f(0.51000)*/
+{15, 0,123,__LINE__, 0x3fe13677, 0x20000000, 0x3fe0a3d7, 0x0a3d70af}, /* 0.53789=f(0.52000)*/
+{18, 0,123,__LINE__, 0x3fe17ca2, 0x40000000, 0x3fe0f5c2, 0x8f5c2901}, /* 0.54646=f(0.53000)*/
+{17, 0,123,__LINE__, 0x3fe1c210, 0x00000000, 0x3fe147ae, 0x147ae153}, /* 0.55493=f(0.54000)*/
+{23, 0,123,__LINE__, 0x3fe206be, 0xc0000000, 0x3fe19999, 0x999999a5}, /* 0.56332=f(0.55000)*/
+{17, 0,123,__LINE__, 0x3fe24aad, 0x20000000, 0x3fe1eb85, 0x1eb851f7}, /* 0.57161=f(0.56000)*/
+{20, 0,123,__LINE__, 0x3fe28dd9, 0xe0000000, 0x3fe23d70, 0xa3d70a49}, /* 0.57981=f(0.57000)*/
+{18, 0,123,__LINE__, 0x3fe2d043, 0xa0000000, 0x3fe28f5c, 0x28f5c29b}, /* 0.58792=f(0.58000)*/
+{18, 0,123,__LINE__, 0x3fe311e9, 0x40000000, 0x3fe2e147, 0xae147aed}, /* 0.59593=f(0.59000)*/
+{16, 0,123,__LINE__, 0x3fe352ca, 0x00000000, 0x3fe33333, 0x3333333f}, /* 0.60385=f(0.60000)*/
+{17, 0,123,__LINE__, 0x3fe392e4, 0x80000000, 0x3fe3851e, 0xb851eb91}, /* 0.61168=f(0.61000)*/
+{13, 0,123,__LINE__, 0x3fe3d238, 0x00000000, 0x3fe3d70a, 0x3d70a3e3}, /* 0.61941=f(0.62000)*/
+{17, 0,123,__LINE__, 0x3fe410c3, 0xa0000000, 0x3fe428f5, 0xc28f5c35}, /* 0.62704=f(0.63000)*/
+{16, 0,123,__LINE__, 0x3fe44e87, 0x00000000, 0x3fe47ae1, 0x47ae1487}, /* 0.63458=f(0.64000)*/
+{15, 0,123,__LINE__, 0x3fe48b81, 0x00000000, 0x3fe4cccc, 0xccccccd9}, /* 0.64202=f(0.65000)*/
+{15, 0,123,__LINE__, 0x3fe4c7b1, 0xa0000000, 0x3fe51eb8, 0x51eb852b}, /* 0.64937=f(0.66000)*/
+{16, 0,123,__LINE__, 0x3fe50318, 0x20000000, 0x3fe570a3, 0xd70a3d7d}, /* 0.65662=f(0.67000)*/
+{14, 0,123,__LINE__, 0x3fe53db4, 0x40000000, 0x3fe5c28f, 0x5c28f5cf}, /* 0.66378=f(0.68000)*/
+{14, 0,123,__LINE__, 0x3fe57785, 0x80000000, 0x3fe6147a, 0xe147ae21}, /* 0.67084=f(0.69000)*/
+{14, 0,123,__LINE__, 0x3fe5b08c, 0x20000000, 0x3fe66666, 0x66666673}, /* 0.67780=f(0.70000)*/
+{14, 0,123,__LINE__, 0x3fe5e8c7, 0xc0000000, 0x3fe6b851, 0xeb851ec5}, /* 0.68466=f(0.71000)*/
+{15, 0,123,__LINE__, 0x3fe62038, 0x60000000, 0x3fe70a3d, 0x70a3d717}, /* 0.69143=f(0.72000)*/
+{15, 0,123,__LINE__, 0x3fe656de, 0x20000000, 0x3fe75c28, 0xf5c28f69}, /* 0.69810=f(0.73000)*/
+{12, 0,123,__LINE__, 0x3fe68cb9, 0x00000000, 0x3fe7ae14, 0x7ae147bb}, /* 0.70467=f(0.74000)*/
+{12, 0,123,__LINE__, 0x3fe6c1c9, 0x80000000, 0x3fe80000, 0x0000000d}, /* 0.71115=f(0.75000)*/
+{12, 0,123,__LINE__, 0x3fe6f60f, 0xc0000000, 0x3fe851eb, 0x851eb85f}, /* 0.71753=f(0.76000)*/
+{12, 0,123,__LINE__, 0x3fe7298c, 0x00000000, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.72382=f(0.77000)*/
+{12, 0,123,__LINE__, 0x3fe75c3e, 0xc0000000, 0x3fe8f5c2, 0x8f5c2903}, /* 0.73001=f(0.78000)*/
+{12, 0,123,__LINE__, 0x3fe78e28, 0xe0000000, 0x3fe947ae, 0x147ae155}, /* 0.73610=f(0.79000)*/
+{12, 0,123,__LINE__, 0x3fe7bf4a, 0x80000000, 0x3fe99999, 0x999999a7}, /* 0.74210=f(0.80000)*/
+{12, 0,123,__LINE__, 0x3fe7efa4, 0x80000000, 0x3fe9eb85, 0x1eb851f9}, /* 0.74800=f(0.81000)*/
+{14, 0,123,__LINE__, 0x3fe81f37, 0xa0000000, 0x3fea3d70, 0xa3d70a4b}, /* 0.75381=f(0.82000)*/
+{14, 0,123,__LINE__, 0x3fe84e04, 0xc0000000, 0x3fea8f5c, 0x28f5c29d}, /* 0.75952=f(0.83000)*/
+{14, 0,123,__LINE__, 0x3fe87c0c, 0x80000000, 0x3feae147, 0xae147aef}, /* 0.76514=f(0.84000)*/
+{14, 0,123,__LINE__, 0x3fe8a950, 0x00000000, 0x3feb3333, 0x33333341}, /* 0.77066=f(0.85000)*/
+{14, 0,123,__LINE__, 0x3fe8d5d0, 0x40000000, 0x3feb851e, 0xb851eb93}, /* 0.77610=f(0.86000)*/
+{13, 0,123,__LINE__, 0x3fe9018e, 0x20000000, 0x3febd70a, 0x3d70a3e5}, /* 0.78143=f(0.87000)*/
+{13, 0,123,__LINE__, 0x3fe92c8a, 0xe0000000, 0x3fec28f5, 0xc28f5c37}, /* 0.78668=f(0.88000)*/
+{13, 0,123,__LINE__, 0x3fe956c7, 0xa0000000, 0x3fec7ae1, 0x47ae1489}, /* 0.79184=f(0.89000)*/
+{13, 0,123,__LINE__, 0x3fe98045, 0x80000000, 0x3feccccc, 0xccccccdb}, /* 0.79690=f(0.90000)*/
+{13, 0,123,__LINE__, 0x3fe9a906, 0x20000000, 0x3fed1eb8, 0x51eb852d}, /* 0.80188=f(0.91000)*/
+{13, 0,123,__LINE__, 0x3fe9d10a, 0x80000000, 0x3fed70a3, 0xd70a3d7f}, /* 0.80676=f(0.92000)*/
+{13, 0,123,__LINE__, 0x3fe9f854, 0x20000000, 0x3fedc28f, 0x5c28f5d1}, /* 0.81156=f(0.93000)*/
+{13, 0,123,__LINE__, 0x3fea44bc, 0xc0000000, 0x3fee6666, 0x66666675}, /* 0.82089=f(0.95000)*/
+{13, 0,123,__LINE__, 0x3fea69de, 0xe0000000, 0x3feeb851, 0xeb851ec7}, /* 0.82542=f(0.96000)*/
+{13, 0,123,__LINE__, 0x3fea8e4c, 0x20000000, 0x3fef0a3d, 0x70a3d719}, /* 0.82987=f(0.97000)*/
+{13, 0,123,__LINE__, 0x3feab206, 0x40000000, 0x3fef5c28, 0xf5c28f6b}, /* 0.83423=f(0.98000)*/
+{11, 0,123,__LINE__, 0x3fead50e, 0xe0000000, 0x3fefae14, 0x7ae147bd}, /* 0.83850=f(0.99000)*/
+{11, 0,123,__LINE__, 0x3feaf767, 0xa0000000, 0x3ff00000, 0x00000007}, /* 0.84270=f(1.00000)*/
+{11, 0,123,__LINE__, 0x3feb1912, 0x40000000, 0x3ff028f5, 0xc28f5c30}, /* 0.84681=f(1.01000)*/
+{11, 0,123,__LINE__, 0x3feb3a10, 0xa0000000, 0x3ff051eb, 0x851eb859}, /* 0.85083=f(1.02000)*/
+{11, 0,123,__LINE__, 0x3feb5a64, 0x60000000, 0x3ff07ae1, 0x47ae1482}, /* 0.85478=f(1.03000)*/
+{11, 0,123,__LINE__, 0x3feb7a0f, 0x60000000, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.85864=f(1.04000)*/
+{11, 0,123,__LINE__, 0x3feb9913, 0x80000000, 0x3ff0cccc, 0xccccccd4}, /* 0.86243=f(1.05000)*/
+{11, 0,123,__LINE__, 0x3febb772, 0xc0000000, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.86614=f(1.06000)*/
+{11, 0,123,__LINE__, 0x3febd52e, 0xe0000000, 0x3ff11eb8, 0x51eb8526}, /* 0.86977=f(1.07000)*/
+{11, 0,123,__LINE__, 0x3febf249, 0xc0000000, 0x3ff147ae, 0x147ae14f}, /* 0.87332=f(1.08000)*/
+{11, 0,123,__LINE__, 0x3fec0ec5, 0x60000000, 0x3ff170a3, 0xd70a3d78}, /* 0.87680=f(1.09000)*/
+{11, 0,123,__LINE__, 0x3fec2aa3, 0xe0000000, 0x3ff19999, 0x999999a1}, /* 0.88020=f(1.10000)*/
+{11, 0,123,__LINE__, 0x3fec45e7, 0x00000000, 0x3ff1c28f, 0x5c28f5ca}, /* 0.88353=f(1.11000)*/
+{11, 0,123,__LINE__, 0x3fec6091, 0x00000000, 0x3ff1eb85, 0x1eb851f3}, /* 0.88678=f(1.12000)*/
+{11, 0,123,__LINE__, 0x3fec7aa3, 0xc0000000, 0x3ff2147a, 0xe147ae1c}, /* 0.88997=f(1.13000)*/
+{11, 0,123,__LINE__, 0x3fec9421, 0x60000000, 0x3ff23d70, 0xa3d70a45}, /* 0.89308=f(1.14000)*/
+{11, 0,123,__LINE__, 0x3fecad0b, 0xe0000000, 0x3ff26666, 0x6666666e}, /* 0.89612=f(1.15000)*/
+{11, 0,123,__LINE__, 0x3fecc565, 0x60000000, 0x3ff28f5c, 0x28f5c297}, /* 0.89909=f(1.16000)*/
+{11, 0,123,__LINE__, 0x3fecdd2f, 0xe0000000, 0x3ff2b851, 0xeb851ec0}, /* 0.90200=f(1.17000)*/
+{11, 0,123,__LINE__, 0x3fecf46d, 0xa0000000, 0x3ff2e147, 0xae147ae9}, /* 0.90483=f(1.18000)*/
+{11, 0,123,__LINE__, 0x3fed0b20, 0x80000000, 0x3ff30a3d, 0x70a3d712}, /* 0.90760=f(1.19000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc01921fb, 0x54442d18}, /* -1.00000=f(-6.28318)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* -1.00000=f(-4.71238)*/
+{11, 0,123,__LINE__, 0xbfefffed, 0x60000000, 0xc00921fb, 0x54442d18}, /* -0.99999=f(-3.14159)*/
+{11, 0,123,__LINE__, 0xbfef2860, 0xc0000000, 0xbff921fb, 0x54442d18}, /* -0.97367=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{11, 0,123,__LINE__, 0x3fef2860, 0xc0000000, 0x3ff921fb, 0x54442d18}, /* 0.97367=f(1.57079)*/
+{11, 0,123,__LINE__, 0x3fefffed, 0x60000000, 0x400921fb, 0x54442d18}, /* 0.99999=f(3.14159)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x4012d97c, 0x7f3321d2}, /* 1.00000=f(4.71238)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc03e0000, 0x00000000}, /* -1.00000=f(-30.0000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* -1.00000=f(-28.3000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc03a9999, 0x9999999a}, /* -1.00000=f(-26.6000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc038e666, 0x66666667}, /* -1.00000=f(-24.9000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc0373333, 0x33333334}, /* -1.00000=f(-23.2000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc0358000, 0x00000001}, /* -1.00000=f(-21.5000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc033cccc, 0xccccccce}, /* -1.00000=f(-19.8000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc0321999, 0x9999999b}, /* -1.00000=f(-18.1000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc0306666, 0x66666668}, /* -1.00000=f(-16.4000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc02d6666, 0x6666666a}, /* -1.00000=f(-14.7000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc02a0000, 0x00000004}, /* -1.00000=f(-13.0000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc0269999, 0x9999999e}, /* -1.00000=f(-11.3000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc0233333, 0x33333338}, /* -1.00000=f(-9.60000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc01f9999, 0x999999a3}, /* -1.00000=f(-7.90000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* -1.00000=f(-6.20000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc0120000, 0x00000009}, /* -1.00000=f(-4.50000)*/
+{11, 0,123,__LINE__, 0xbfefff62, 0xa0000000, 0xc0066666, 0x66666678}, /* -0.99992=f(-2.80000)*/
+{11, 0,123,__LINE__, 0xbfec2aa3, 0xe0000000, 0xbff19999, 0x999999bd}, /* -0.88020=f(-1.10000)*/
+{16, 0,123,__LINE__, 0x3fe352ca, 0x00000000, 0x3fe33333, 0x333332ec}, /* 0.60385=f(0.60000)*/
+{11, 0,123,__LINE__, 0x3feff6a2, 0xa0000000, 0x40026666, 0x66666654}, /* 0.99885=f(2.30000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x400fffff, 0xffffffee}, /* 1.00000=f(4.00000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x4016cccc, 0xccccccc4}, /* 1.00000=f(5.70000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x401d9999, 0x99999991}, /* 1.00000=f(7.40000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x40223333, 0x3333332f}, /* 1.00000=f(9.10000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x40259999, 0x99999995}, /* 1.00000=f(10.8000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x4028ffff, 0xfffffffb}, /* 1.00000=f(12.5000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x402c6666, 0x66666661}, /* 1.00000=f(14.2000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x402fcccc, 0xccccccc7}, /* 1.00000=f(15.9000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x40319999, 0x99999997}, /* 1.00000=f(17.6000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x40334ccc, 0xccccccca}, /* 1.00000=f(19.3000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x4034ffff, 0xfffffffd}, /* 1.00000=f(21.0000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x4036b333, 0x33333330}, /* 1.00000=f(22.7000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x40386666, 0x66666663}, /* 1.00000=f(24.4000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x403a1999, 0x99999996}, /* 1.00000=f(26.1000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x403bcccc, 0xccccccc9}, /* 1.00000=f(27.8000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x403d7fff, 0xfffffffc}, /* 1.00000=f(29.5000)*/
+0,};
+test_erff(m) {run_vector_1(m,erff_vec,(char *)(erff),"erff","ff"); }
diff --git a/newlib/libm/test/exp_vec.c b/newlib/libm/test/exp_vec.c
new file mode 100644
index 00000000000..75adb91958a
--- /dev/null
+++ b/newlib/libm/test/exp_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type exp_vec[] = {
+{63, 0,123,__LINE__, 0x3fd346c4, 0x167a12df, 0xbff33333, 0x33333333}, /* 0.30119=f(-1.20000)*/
+{60, 0,123,__LINE__, 0x3fd3785c, 0x76fa8378, 0xbff30a3d, 0x70a3d70a}, /* 0.30422=f(-1.19000)*/
+{63, 0,123,__LINE__, 0x3fd3aa74, 0x7143124b, 0xbff2e147, 0xae147ae1}, /* 0.30727=f(-1.18000)*/
+{63, 0,123,__LINE__, 0x3fd3dd0d, 0x4d9faafd, 0xbff2b851, 0xeb851eb8}, /* 0.31036=f(-1.17000)*/
+{64, 0,123,__LINE__, 0x3fd41028, 0x57a8e0f5, 0xbff28f5c, 0x28f5c28f}, /* 0.31348=f(-1.16000)*/
+{64, 0,123,__LINE__, 0x3fd443c6, 0xde4c6c97, 0xbff26666, 0x66666666}, /* 0.31663=f(-1.15000)*/
+{64, 0,123,__LINE__, 0x3fd477ea, 0x33d5be3b, 0xbff23d70, 0xa3d70a3d}, /* 0.31981=f(-1.14000)*/
+{64, 0,123,__LINE__, 0x3fd4ac93, 0xadf6a741, 0xbff2147a, 0xe147ae14}, /* 0.32303=f(-1.13000)*/
+{62, 0,123,__LINE__, 0x3fd4e1c4, 0xa5d0196a, 0xbff1eb85, 0x1eb851eb}, /* 0.32627=f(-1.12000)*/
+{63, 0,123,__LINE__, 0x3fd5177e, 0x77fafcb5, 0xbff1c28f, 0x5c28f5c2}, /* 0.32955=f(-1.11000)*/
+{62, 0,123,__LINE__, 0x3fd54dc2, 0x84911bf2, 0xbff19999, 0x99999999}, /* 0.33287=f(-1.10000)*/
+{61, 0,123,__LINE__, 0x3fd58492, 0x2f36284c, 0xbff170a3, 0xd70a3d70}, /* 0.33621=f(-1.09000)*/
+{59, 0,123,__LINE__, 0x3fd5bbee, 0xdf20d40e, 0xbff147ae, 0x147ae147}, /* 0.33959=f(-1.08000)*/
+{63, 0,123,__LINE__, 0x3fd5f3d9, 0xff2404c8, 0xbff11eb8, 0x51eb851e}, /* 0.34300=f(-1.07000)*/
+{63, 0,123,__LINE__, 0x3fd62c54, 0xfdb81d18, 0xbff0f5c2, 0x8f5c28f5}, /* 0.34645=f(-1.06000)*/
+{60, 0,123,__LINE__, 0x3fd66561, 0x4d045e77, 0xbff0cccc, 0xcccccccc}, /* 0.34993=f(-1.05000)*/
+{63, 0,123,__LINE__, 0x3fd69f00, 0x62e862fe, 0xbff0a3d7, 0x0a3d70a3}, /* 0.35345=f(-1.04000)*/
+{63, 0,123,__LINE__, 0x3fd6d933, 0xb905afb7, 0xbff07ae1, 0x47ae147a}, /* 0.35700=f(-1.03000)*/
+{63, 0,123,__LINE__, 0x3fd713fc, 0xccc95f69, 0xbff051eb, 0x851eb851}, /* 0.36059=f(-1.02000)*/
+{61, 0,123,__LINE__, 0x3fd74f5d, 0x1f75e65c, 0xbff028f5, 0xc28f5c28}, /* 0.36421=f(-1.01000)*/
+{62, 0,123,__LINE__, 0x3fd78b56, 0x362cef3a, 0xbfefffff, 0xfffffffe}, /* 0.36787=f(-0.01000)*/
+{62, 0,123,__LINE__, 0x3fd7c7e9, 0x99f9513d, 0xbfefae14, 0x7ae147ac}, /* 0.37157=f(-0.99000)*/
+{62, 0,123,__LINE__, 0x3fd80518, 0xd7d9201c, 0xbfef5c28, 0xf5c28f5a}, /* 0.37531=f(-0.98000)*/
+{61, 0,123,__LINE__, 0x3fd842e5, 0x80c7d5bb, 0xbfef0a3d, 0x70a3d708}, /* 0.37908=f(-0.97000)*/
+{61, 0,123,__LINE__, 0x3fd88151, 0x29c89622, 0xbfeeb851, 0xeb851eb6}, /* 0.38289=f(-0.96000)*/
+{62, 0,123,__LINE__, 0x3fd8c05d, 0x6bf08dc1, 0xbfee6666, 0x66666664}, /* 0.38674=f(-0.95000)*/
+{59, 0,123,__LINE__, 0x3fd9000b, 0xe4716a6f, 0xbfee147a, 0xe147ae12}, /* 0.39062=f(-0.94000)*/
+{62, 0,123,__LINE__, 0x3fd9405e, 0x34a3ef58, 0xbfedc28f, 0x5c28f5c0}, /* 0.39455=f(-0.93000)*/
+{62, 0,123,__LINE__, 0x3fd98156, 0x0212a428, 0xbfed70a3, 0xd70a3d6e}, /* 0.39851=f(-0.92000)*/
+{60, 0,123,__LINE__, 0x3fd9c2f4, 0xf6849fa6, 0xbfed1eb8, 0x51eb851c}, /* 0.40252=f(-0.91000)*/
+{62, 0,123,__LINE__, 0x3fda053c, 0xc0086e22, 0xbfeccccc, 0xccccccca}, /* 0.40656=f(-0.90000)*/
+{62, 0,123,__LINE__, 0x3fda482f, 0x10ff13db, 0xbfec7ae1, 0x47ae1478}, /* 0.41065=f(-0.89000)*/
+{59, 0,123,__LINE__, 0x3fda8bcd, 0xa0272bd0, 0xbfec28f5, 0xc28f5c26}, /* 0.41478=f(-0.88000)*/
+{62, 0,123,__LINE__, 0x3fdad01a, 0x28a8231e, 0xbfebd70a, 0x3d70a3d4}, /* 0.41895=f(-0.87000)*/
+{60, 0,123,__LINE__, 0x3fdb1516, 0x6a1d9147, 0xbfeb851e, 0xb851eb82}, /* 0.42316=f(-0.86000)*/
+{62, 0,123,__LINE__, 0x3fdb5ac4, 0x28a2ada1, 0xbfeb3333, 0x33333330}, /* 0.42741=f(-0.85000)*/
+{62, 0,123,__LINE__, 0x3fdba125, 0x2cdde259, 0xbfeae147, 0xae147ade}, /* 0.43171=f(-0.84000)*/
+{58, 0,123,__LINE__, 0x3fdbe83b, 0x440c7d1f, 0xbfea8f5c, 0x28f5c28c}, /* 0.43604=f(-0.83000)*/
+{64, 0,123,__LINE__, 0x3fdc3008, 0x400e7df7, 0xbfea3d70, 0xa3d70a3a}, /* 0.44043=f(-0.82000)*/
+{64, 0,123,__LINE__, 0x3fdc788d, 0xf7728476, 0xbfe9eb85, 0x1eb851e8}, /* 0.44485=f(-0.81000)*/
+{64, 0,123,__LINE__, 0x3fdcc1ce, 0x4581db8b, 0xbfe99999, 0x99999996}, /* 0.44932=f(-0.80000)*/
+{64, 0,123,__LINE__, 0x3fdd0bcb, 0x0a4ca466, 0xbfe947ae, 0x147ae144}, /* 0.45384=f(-0.79000)*/
+{64, 0,123,__LINE__, 0x3fdd5686, 0x2ab620a4, 0xbfe8f5c2, 0x8f5c28f2}, /* 0.45840=f(-0.78000)*/
+{60, 0,123,__LINE__, 0x3fdda201, 0x90811c17, 0xbfe8a3d7, 0x0a3d70a0}, /* 0.46301=f(-0.77000)*/
+{62, 0,123,__LINE__, 0x3fddee3f, 0x2a5c767c, 0xbfe851eb, 0x851eb84e}, /* 0.46766=f(-0.76000)*/
+{61, 0,123,__LINE__, 0x3fde3b40, 0xebefcd83, 0xbfe7ffff, 0xfffffffc}, /* 0.47236=f(-0.75000)*/
+{60, 0,123,__LINE__, 0x3fde8908, 0xcde84747, 0xbfe7ae14, 0x7ae147aa}, /* 0.47711=f(-0.74000)*/
+{64, 0,123,__LINE__, 0x3fded798, 0xce057de4, 0xbfe75c28, 0xf5c28f58}, /* 0.48190=f(-0.73000)*/
+{64, 0,123,__LINE__, 0x3fdf26f2, 0xef268c17, 0xbfe70a3d, 0x70a3d706}, /* 0.48675=f(-0.72000)*/
+{64, 0,123,__LINE__, 0x3fdf7719, 0x39573b9a, 0xbfe6b851, 0xeb851eb4}, /* 0.49164=f(-0.71000)*/
+{64, 0,123,__LINE__, 0x3fdfc80d, 0xb9dd5547, 0xbfe66666, 0x66666662}, /* 0.49658=f(-0.70000)*/
+{63, 0,123,__LINE__, 0x3fe00ce9, 0x41a309ce, 0xbfe6147a, 0xe147ae10}, /* 0.50157=f(-0.69000)*/
+{58, 0,123,__LINE__, 0x3fe03634, 0xd6b9dbdf, 0xbfe5c28f, 0x5c28f5be}, /* 0.50661=f(-0.68000)*/
+{62, 0,123,__LINE__, 0x3fe05fea, 0xaad5a0c1, 0xbfe570a3, 0xd70a3d6c}, /* 0.51170=f(-0.67000)*/
+{63, 0,123,__LINE__, 0x3fe08a0b, 0xcf512552, 0xbfe51eb8, 0x51eb851a}, /* 0.51685=f(-0.66000)*/
+{63, 0,123,__LINE__, 0x3fe0b499, 0x584682ec, 0xbfe4cccc, 0xccccccc8}, /* 0.52204=f(-0.65000)*/
+{62, 0,123,__LINE__, 0x3fe0df94, 0x5c9630d2, 0xbfe47ae1, 0x47ae1476}, /* 0.52729=f(-0.64000)*/
+{63, 0,123,__LINE__, 0x3fe10afd, 0xf5ee27db, 0xbfe428f5, 0xc28f5c24}, /* 0.53259=f(-0.63000)*/
+{63, 0,123,__LINE__, 0x3fe136d7, 0x40d11881, 0xbfe3d70a, 0x3d70a3d2}, /* 0.53794=f(-0.62000)*/
+{61, 0,123,__LINE__, 0x3fe16321, 0x5c9db374, 0xbfe3851e, 0xb851eb80}, /* 0.54335=f(-0.61000)*/
+{64, 0,123,__LINE__, 0x3fe18fdd, 0x6b9604e6, 0xbfe33333, 0x3333332e}, /* 0.54881=f(-0.60000)*/
+{64, 0,123,__LINE__, 0x3fe1bd0c, 0x92e6e2d3, 0xbfe2e147, 0xae147adc}, /* 0.55432=f(-0.59000)*/
+{64, 0,123,__LINE__, 0x3fe1eaaf, 0xfaaf6e5e, 0xbfe28f5c, 0x28f5c28a}, /* 0.55989=f(-0.58000)*/
+{64, 0,123,__LINE__, 0x3fe218c8, 0xce08a87a, 0xbfe23d70, 0xa3d70a38}, /* 0.56552=f(-0.57000)*/
+{64, 0,123,__LINE__, 0x3fe24758, 0x3b0d1a1d, 0xbfe1eb85, 0x1eb851e6}, /* 0.57120=f(-0.56000)*/
+{64, 0,123,__LINE__, 0x3fe2765f, 0x72e09020, 0xbfe19999, 0x99999994}, /* 0.57694=f(-0.55000)*/
+{64, 0,123,__LINE__, 0x3fe2a5df, 0xa9b7eb0a, 0xbfe147ae, 0x147ae142}, /* 0.58274=f(-0.54000)*/
+{64, 0,123,__LINE__, 0x3fe2d5da, 0x16e102f0, 0xbfe0f5c2, 0x8f5c28f0}, /* 0.58860=f(-0.53000)*/
+{64, 0,123,__LINE__, 0x3fe3064f, 0xf4ca9fa0, 0xbfe0a3d7, 0x0a3d709e}, /* 0.59452=f(-0.52000)*/
+{62, 0,123,__LINE__, 0x3fe33742, 0x810c8552, 0xbfe051eb, 0x851eb84c}, /* 0.60049=f(-0.51000)*/
+{62, 0,123,__LINE__, 0x3fe368b2, 0xfc6f960e, 0xbfdfffff, 0xfffffff4}, /* 0.60653=f(-0.50000)*/
+{62, 0,123,__LINE__, 0x3fe39aa2, 0xaaf607fa, 0xbfdf5c28, 0xf5c28f50}, /* 0.61262=f(-0.49000)*/
+{63, 0,123,__LINE__, 0x3fe3cd12, 0xd3e3b0cb, 0xbfdeb851, 0xeb851eac}, /* 0.61878=f(-0.48000)*/
+{64, 0,123,__LINE__, 0x3fe40004, 0xc1c66690, 0xbfde147a, 0xe147ae08}, /* 0.62500=f(-0.47000)*/
+{64, 0,123,__LINE__, 0x3fe43379, 0xc27e7604, 0xbfdd70a3, 0xd70a3d64}, /* 0.63128=f(-0.46000)*/
+{64, 0,123,__LINE__, 0x3fe46773, 0x27472ead, 0xbfdccccc, 0xccccccc0}, /* 0.63762=f(-0.45000)*/
+{64, 0,123,__LINE__, 0x3fe49bf2, 0x44bf84f3, 0xbfdc28f5, 0xc28f5c1c}, /* 0.64403=f(-0.44000)*/
+{64, 0,123,__LINE__, 0x3fe4d0f8, 0x72f2ca71, 0xbfdb851e, 0xb851eb78}, /* 0.65050=f(-0.43000)*/
+{63, 0,123,__LINE__, 0x3fe50687, 0x0d617cbb, 0xbfdae147, 0xae147ad4}, /* 0.65704=f(-0.42000)*/
+{61, 0,123,__LINE__, 0x3fe53c9f, 0x730a2ab4, 0xbfda3d70, 0xa3d70a30}, /* 0.66365=f(-0.41000)*/
+{62, 0,123,__LINE__, 0x3fe57343, 0x067270f2, 0xbfd99999, 0x9999998c}, /* 0.67032=f(-0.40000)*/
+{63, 0,123,__LINE__, 0x3fe5aa73, 0x2db00d13, 0xbfd8f5c2, 0x8f5c28e8}, /* 0.67705=f(-0.39000)*/
+{61, 0,123,__LINE__, 0x3fe5e231, 0x5272088b, 0xbfd851eb, 0x851eb844}, /* 0.68386=f(-0.38000)*/
+{63, 0,123,__LINE__, 0x3fe61a7e, 0xe209fb02, 0xbfd7ae14, 0x7ae147a0}, /* 0.69073=f(-0.37000)*/
+{63, 0,123,__LINE__, 0x3fe6535d, 0x4d756476, 0xbfd70a3d, 0x70a3d6fc}, /* 0.69767=f(-0.36000)*/
+{62, 0,123,__LINE__, 0x3fe68cce, 0x09671f75, 0xbfd66666, 0x66666658}, /* 0.70468=f(-0.35000)*/
+{63, 0,123,__LINE__, 0x3fe6c6d2, 0x8e50ebbb, 0xbfd5c28f, 0x5c28f5b4}, /* 0.71177=f(-0.34000)*/
+{63, 0,123,__LINE__, 0x3fe7016c, 0x586d112f, 0xbfd51eb8, 0x51eb8510}, /* 0.71892=f(-0.33000)*/
+{61, 0,123,__LINE__, 0x3fe73c9c, 0xe7c81bd4, 0xbfd47ae1, 0x47ae146c}, /* 0.72614=f(-0.32000)*/
+{59, 0,123,__LINE__, 0x3fe77865, 0xc04ab0b0, 0xbfd3d70a, 0x3d70a3c8}, /* 0.73344=f(-0.31000)*/
+{63, 0,123,__LINE__, 0x3fe7b4c8, 0x69c37c0c, 0xbfd33333, 0x33333324}, /* 0.74081=f(-0.30000)*/
+{62, 0,123,__LINE__, 0x3fe7f1c6, 0x6ff13925, 0xbfd28f5c, 0x28f5c280}, /* 0.74826=f(-0.29000)*/
+{58, 0,123,__LINE__, 0x3fe82f61, 0x628cd3dd, 0xbfd1eb85, 0x1eb851dc}, /* 0.75578=f(-0.28000)*/
+{61, 0,123,__LINE__, 0x3fe86d9a, 0xd553a44a, 0xbfd147ae, 0x147ae138}, /* 0.76337=f(-0.27000)*/
+{61, 0,123,__LINE__, 0x3fe8ac74, 0x6011c4ab, 0xbfd0a3d7, 0x0a3d7094}, /* 0.77105=f(-0.26000)*/
+{62, 0,123,__LINE__, 0x3fe8ebef, 0x9eac8210, 0xbfcfffff, 0xffffffe0}, /* 0.77880=f(-0.25000)*/
+{62, 0,123,__LINE__, 0x3fe92c0e, 0x312ce7ad, 0xbfceb851, 0xeb851e98}, /* 0.78662=f(-0.24000)*/
+{62, 0,123,__LINE__, 0x3fe96cd1, 0xbbca6578, 0xbfcd70a3, 0xd70a3d50}, /* 0.79453=f(-0.23000)*/
+{59, 0,123,__LINE__, 0x3fe9ae3b, 0xe6f5920e, 0xbfcc28f5, 0xc28f5c08}, /* 0.80251=f(-0.22000)*/
+{62, 0,123,__LINE__, 0x3fe9f04e, 0x5f63086b, 0xbfcae147, 0xae147ac0}, /* 0.81058=f(-0.21000)*/
+{58, 0,123,__LINE__, 0x3fea330a, 0xd6166160, 0xbfc99999, 0x99999978}, /* 0.81873=f(-0.20000)*/
+{61, 0,123,__LINE__, 0x3fea7673, 0x006d498c, 0xbfc851eb, 0x851eb830}, /* 0.82695=f(-0.19000)*/
+{60, 0,123,__LINE__, 0x3feaba88, 0x982ab399, 0xbfc70a3d, 0x70a3d6e8}, /* 0.83527=f(-0.18000)*/
+{63, 0,123,__LINE__, 0x3feaff4d, 0x5b822768, 0xbfc5c28f, 0x5c28f5a0}, /* 0.84366=f(-0.17000)*/
+{64, 0,123,__LINE__, 0x3feb44c3, 0x0d232e59, 0xbfc47ae1, 0x47ae1458}, /* 0.85214=f(-0.16000)*/
+{63, 0,123,__LINE__, 0x3feb8aeb, 0x7444dce8, 0xbfc33333, 0x33333310}, /* 0.86070=f(-0.15000)*/
+{63, 0,123,__LINE__, 0x3febd1c8, 0x5cb17a06, 0xbfc1eb85, 0x1eb851c8}, /* 0.86935=f(-0.14000)*/
+{60, 0,123,__LINE__, 0x3fec195b, 0x96d24457, 0xbfc0a3d7, 0x0a3d7080}, /* 0.87809=f(-0.13000)*/
+{64, 0,123,__LINE__, 0x3fec61a6, 0xf7bb55df, 0xbfbeb851, 0xeb851e71}, /* 0.88692=f(-0.12000)*/
+{64, 0,123,__LINE__, 0x3fecaaac, 0x5937a626, 0xbfbc28f5, 0xc28f5be2}, /* 0.89583=f(-0.11000)*/
+{64, 0,123,__LINE__, 0x3fecf46d, 0x99d52b42, 0xbfb99999, 0x99999953}, /* 0.90483=f(-0.00100)*/
+{64, 0,123,__LINE__, 0x3fed3eec, 0x9cf11a2e, 0xbfb70a3d, 0x70a3d6c4}, /* 0.91393=f(-0.09000)*/
+{62, 0,123,__LINE__, 0x3fed8a2b, 0x4ac4468d, 0xbfb47ae1, 0x47ae1435}, /* 0.92311=f(-0.08000)*/
+{62, 0,123,__LINE__, 0x3fedd62b, 0x906fa255, 0xbfb1eb85, 0x1eb851a6}, /* 0.93239=f(-0.07000)*/
+{62, 0,123,__LINE__, 0x3fee22ef, 0x6008dd91, 0xbfaeb851, 0xeb851e2d}, /* 0.94176=f(-0.06000)*/
+{59, 0,123,__LINE__, 0x3fee7078, 0xb0a726af, 0xbfa99999, 0x9999990e}, /* 0.95122=f(-0.05000)*/
+{64, 0,123,__LINE__, 0x3feebec9, 0x7e700b96, 0xbfa47ae1, 0x47ae13ef}, /* 0.96078=f(-0.04000)*/
+{64, 0,123,__LINE__, 0x3fef0de3, 0xcaa47bd8, 0xbf9eb851, 0xeb851da0}, /* 0.97044=f(-0.03000)*/
+{64, 0,123,__LINE__, 0x3fef5dc9, 0x9badec63, 0xbf947ae1, 0x47ae1362}, /* 0.98019=f(-0.02000)*/
+{64, 0,123,__LINE__, 0x3fefae7c, 0xfd2b9d06, 0xbf847ae1, 0x47ae1249}, /* 0.99004=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000005, 0x3cd19000, 0x00000000}, /* 1.00000=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0x3ff0292a, 0x5d2f222b, 0x3f847ae1, 0x47ae16ad}, /* 1.01005=f(0.01000)*/
+{64, 0,123,__LINE__, 0x3ff052be, 0xa3ec0136, 0x3f947ae1, 0x47ae1594}, /* 1.02020=f(0.02000)*/
+{64, 0,123,__LINE__, 0x3ff07cbd, 0xe4b58646, 0x3f9eb851, 0xeb851fd2}, /* 1.03045=f(0.03000)*/
+{64, 0,123,__LINE__, 0x3ff0a729, 0x32c7b12a, 0x3fa47ae1, 0x47ae1508}, /* 1.04081=f(0.04000)*/
+{63, 0,123,__LINE__, 0x3ff0d201, 0xa422a437, 0x3fa99999, 0x99999a27}, /* 1.05127=f(0.05000)*/
+{61, 0,123,__LINE__, 0x3ff0fd48, 0x5191c22c, 0x3faeb851, 0xeb851f46}, /* 1.06183=f(0.06000)*/
+{62, 0,123,__LINE__, 0x3ff128fe, 0x56b2de6e, 0x3fb1eb85, 0x1eb85232}, /* 1.07250=f(0.07000)*/
+{57, 0,123,__LINE__, 0x3ff15524, 0xd1fd7fc0, 0x3fb47ae1, 0x47ae14c1}, /* 1.08328=f(0.08000)*/
+{62, 0,123,__LINE__, 0x3ff181bc, 0xe4ca35b2, 0x3fb70a3d, 0x70a3d750}, /* 1.09417=f(0.09000)*/
+{64, 0,123,__LINE__, 0x3ff1aec7, 0xb35a00d9, 0x3fb99999, 0x999999df}, /* 1.10517=f(0.10000)*/
+{64, 0,123,__LINE__, 0x3ff1dc46, 0x64ddce33, 0x3fbc28f5, 0xc28f5c6e}, /* 1.11627=f(0.11000)*/
+{64, 0,123,__LINE__, 0x3ff20a3a, 0x237e05b0, 0x3fbeb851, 0xeb851efd}, /* 1.12749=f(0.12000)*/
+{61, 0,123,__LINE__, 0x3ff238a4, 0x1c622c44, 0x3fc0a3d7, 0x0a3d70c6}, /* 1.13882=f(0.13000)*/
+{62, 0,123,__LINE__, 0x3ff26785, 0x7fb89982, 0x3fc1eb85, 0x1eb8520e}, /* 1.15027=f(0.14000)*/
+{63, 0,123,__LINE__, 0x3ff296df, 0x80be4127, 0x3fc33333, 0x33333356}, /* 1.16183=f(0.15000)*/
+{61, 0,123,__LINE__, 0x3ff2c6b3, 0x55c6909c, 0x3fc47ae1, 0x47ae149e}, /* 1.17351=f(0.16000)*/
+{61, 0,123,__LINE__, 0x3ff2f702, 0x384360bc, 0x3fc5c28f, 0x5c28f5e6}, /* 1.18530=f(0.17000)*/
+{63, 0,123,__LINE__, 0x3ff327cd, 0x64ccfc0e, 0x3fc70a3d, 0x70a3d72e}, /* 1.19721=f(0.18000)*/
+{63, 0,123,__LINE__, 0x3ff35916, 0x1b2a3994, 0x3fc851eb, 0x851eb876}, /* 1.20925=f(0.19000)*/
+{63, 0,123,__LINE__, 0x3ff38add, 0x9e58ac94, 0x3fc99999, 0x999999be}, /* 1.22140=f(0.20000)*/
+{57, 0,123,__LINE__, 0x3ff3bd25, 0x3494e93e, 0x3fcae147, 0xae147b06}, /* 1.23367=f(0.21000)*/
+{63, 0,123,__LINE__, 0x3ff3efee, 0x2762dedb, 0x3fcc28f5, 0xc28f5c4e}, /* 1.24607=f(0.22000)*/
+{60, 0,123,__LINE__, 0x3ff42339, 0xc3964738, 0x3fcd70a3, 0xd70a3d96}, /* 1.25860=f(0.23000)*/
+{63, 0,123,__LINE__, 0x3ff45709, 0x595b2bef, 0x3fceb851, 0xeb851ede}, /* 1.27124=f(0.24000)*/
+{61, 0,123,__LINE__, 0x3ff48b5e, 0x3c3e818c, 0x3fd00000, 0x00000013}, /* 1.28402=f(0.25000)*/
+{60, 0,123,__LINE__, 0x3ff4c039, 0xc336d8d8, 0x3fd0a3d7, 0x0a3d70b7}, /* 1.29693=f(0.26000)*/
+{60, 0,123,__LINE__, 0x3ff4f59d, 0x48ad2688, 0x3fd147ae, 0x147ae15b}, /* 1.30996=f(0.27000)*/
+{63, 0,123,__LINE__, 0x3ff52b8a, 0x2a85a171, 0x3fd1eb85, 0x1eb851ff}, /* 1.32313=f(0.28000)*/
+{63, 0,123,__LINE__, 0x3ff56201, 0xca28b7ab, 0x3fd28f5c, 0x28f5c2a3}, /* 1.33642=f(0.29000)*/
+{61, 0,123,__LINE__, 0x3ff59905, 0x8c8c1a9c, 0x3fd33333, 0x33333347}, /* 1.34985=f(0.30000)*/
+{62, 0,123,__LINE__, 0x3ff5d096, 0xda3be269, 0x3fd3d70a, 0x3d70a3eb}, /* 1.36342=f(0.31000)*/
+{63, 0,123,__LINE__, 0x3ff608b7, 0x1f63c8dc, 0x3fd47ae1, 0x47ae148f}, /* 1.37712=f(0.32000)*/
+{63, 0,123,__LINE__, 0x3ff64167, 0xcbd87bfc, 0x3fd51eb8, 0x51eb8533}, /* 1.39096=f(0.33000)*/
+{63, 0,123,__LINE__, 0x3ff67aaa, 0x532108c5, 0x3fd5c28f, 0x5c28f5d7}, /* 1.40494=f(0.34000)*/
+{63, 0,123,__LINE__, 0x3ff6b480, 0x2c805df3, 0x3fd66666, 0x6666667b}, /* 1.41906=f(0.35000)*/
+{63, 0,123,__LINE__, 0x3ff6eeea, 0xd2fee767, 0x3fd70a3d, 0x70a3d71f}, /* 1.43332=f(0.36000)*/
+{61, 0,123,__LINE__, 0x3ff729eb, 0xc5744225, 0x3fd7ae14, 0x7ae147c3}, /* 1.44773=f(0.37000)*/
+{58, 0,123,__LINE__, 0x3ff76584, 0x86910960, 0x3fd851eb, 0x851eb867}, /* 1.46228=f(0.38000)*/
+{62, 0,123,__LINE__, 0x3ff7a1b6, 0x9ce8bcb9, 0x3fd8f5c2, 0x8f5c290b}, /* 1.47698=f(0.39000)*/
+{60, 0,123,__LINE__, 0x3ff7de83, 0x92fbbfe7, 0x3fd99999, 0x999999af}, /* 1.49182=f(0.40000)*/
+{61, 0,123,__LINE__, 0x3ff81bec, 0xf7417433, 0x3fda3d70, 0xa3d70a53}, /* 1.50681=f(0.41000)*/
+{62, 0,123,__LINE__, 0x3ff859f4, 0x5c326bd5, 0x3fdae147, 0xae147af7}, /* 1.52196=f(0.42000)*/
+{61, 0,123,__LINE__, 0x3ff8989b, 0x5852b79b, 0x3fdb851e, 0xb851eb9b}, /* 1.53725=f(0.43000)*/
+{64, 0,123,__LINE__, 0x3ff8d7e3, 0x863c4f25, 0x3fdc28f5, 0xc28f5c3f}, /* 1.55270=f(0.44000)*/
+{64, 0,123,__LINE__, 0x3ff917ce, 0x84a993bd, 0x3fdccccc, 0xcccccce3}, /* 1.56831=f(0.45000)*/
+{64, 0,123,__LINE__, 0x3ff9585d, 0xf67fee66, 0x3fdd70a3, 0xd70a3d87}, /* 1.58407=f(0.46000)*/
+{62, 0,123,__LINE__, 0x3ff99993, 0x82da891e, 0x3fde147a, 0xe147ae2b}, /* 1.59999=f(0.47000)*/
+{60, 0,123,__LINE__, 0x3ff9db70, 0xd51523c7, 0x3fdeb851, 0xeb851ecf}, /* 1.61607=f(0.48000)*/
+{62, 0,123,__LINE__, 0x3ffa1df7, 0x9cd704ed, 0x3fdf5c28, 0xf5c28f73}, /* 1.63231=f(0.49000)*/
+{62, 0,123,__LINE__, 0x3ffa6129, 0x8e1e06a5, 0x3fe00000, 0x0000000b}, /* 1.64872=f(0.50000)*/
+{62, 0,123,__LINE__, 0x3ffaa508, 0x6149bfe8, 0x3fe051eb, 0x851eb85d}, /* 1.66529=f(0.51000)*/
+{62, 0,123,__LINE__, 0x3ffae995, 0xd326caa1, 0x3fe0a3d7, 0x0a3d70af}, /* 1.68202=f(0.52000)*/
+{62, 0,123,__LINE__, 0x3ffb2ed3, 0xa4fa26c1, 0x3fe0f5c2, 0x8f5c2901}, /* 1.69893=f(0.53000)*/
+{60, 0,123,__LINE__, 0x3ffb74c3, 0x9c8cba97, 0x3fe147ae, 0x147ae153}, /* 1.71600=f(0.54000)*/
+{57, 0,123,__LINE__, 0x3ffbbb67, 0x8436f0bf, 0x3fe19999, 0x999999a5}, /* 1.73325=f(0.55000)*/
+{62, 0,123,__LINE__, 0x3ffc02c1, 0x2aec73f9, 0x3fe1eb85, 0x1eb851f7}, /* 1.75067=f(0.56000)*/
+{60, 0,123,__LINE__, 0x3ffc4ad2, 0x64480937, 0x3fe23d70, 0xa3d70a49}, /* 1.76826=f(0.57000)*/
+{63, 0,123,__LINE__, 0x3ffc939d, 0x08978822, 0x3fe28f5c, 0x28f5c29b}, /* 1.78603=f(0.58000)*/
+{63, 0,123,__LINE__, 0x3ffcdd22, 0xf4e7f25a, 0x3fe2e147, 0xae147aed}, /* 1.80398=f(0.59000)*/
+{61, 0,123,__LINE__, 0x3ffd2766, 0x0b11a9fb, 0x3fe33333, 0x3333333f}, /* 1.82211=f(0.60000)*/
+{63, 0,123,__LINE__, 0x3ffd7268, 0x31c4c764, 0x3fe3851e, 0xb851eb91}, /* 1.84043=f(0.61000)*/
+{63, 0,123,__LINE__, 0x3ffdbe2b, 0x54958ed4, 0x3fe3d70a, 0x3d70a3e3}, /* 1.85892=f(0.62000)*/
+{63, 0,123,__LINE__, 0x3ffe0ab1, 0x64090610, 0x3fe428f5, 0xc28f5c35}, /* 1.87761=f(0.63000)*/
+{62, 0,123,__LINE__, 0x3ffe57fc, 0x55a1aa65, 0x3fe47ae1, 0x47ae1487}, /* 1.89648=f(0.64000)*/
+{58, 0,123,__LINE__, 0x3ffea60e, 0x23ec4760, 0x3fe4cccc, 0xccccccd9}, /* 1.91554=f(0.65000)*/
+{62, 0,123,__LINE__, 0x3ffef4e8, 0xce8cee85, 0x3fe51eb8, 0x51eb852b}, /* 1.93479=f(0.66000)*/
+{61, 0,123,__LINE__, 0x3fff448e, 0x5a4c108b, 0x3fe570a3, 0xd70a3d7d}, /* 1.95423=f(0.67000)*/
+{60, 0,123,__LINE__, 0x3fff9500, 0xd123b808, 0x3fe5c28f, 0x5c28f5cf}, /* 1.97387=f(0.68000)*/
+{60, 0,123,__LINE__, 0x3fffe642, 0x424ce668, 0x3fe6147a, 0xe147ae21}, /* 1.99371=f(0.69000)*/
+{64, 0,123,__LINE__, 0x40001c2a, 0x6126898e, 0x3fe66666, 0x66666673}, /* 2.01375=f(0.70000)*/
+{64, 0,123,__LINE__, 0x4000459d, 0x3581e6c6, 0x3fe6b851, 0xeb851ec5}, /* 2.03399=f(0.71000)*/
+{64, 0,123,__LINE__, 0x40006f7a, 0xaddc411b, 0x3fe70a3d, 0x70a3d717}, /* 2.05443=f(0.72000)*/
+{64, 0,123,__LINE__, 0x400099c3, 0xdc943183, 0x3fe75c28, 0xf5c28f69}, /* 2.07508=f(0.73000)*/
+{63, 0,123,__LINE__, 0x4000c479, 0xd6ca39d7, 0x3fe7ae14, 0x7ae147bb}, /* 2.09593=f(0.74000)*/
+{63, 0,123,__LINE__, 0x4000ef9d, 0xb467dcff, 0x3fe80000, 0x0000000d}, /* 2.11700=f(0.75000)*/
+{63, 0,123,__LINE__, 0x40011b30, 0x9026c963, 0x3fe851eb, 0x851eb85f}, /* 2.13827=f(0.76000)*/
+{61, 0,123,__LINE__, 0x40014733, 0x879815d4, 0x3fe8a3d7, 0x0a3d70b1}, /* 2.15976=f(0.77000)*/
+{64, 0,123,__LINE__, 0x400173a7, 0xbb2b910a, 0x3fe8f5c2, 0x8f5c2903}, /* 2.18147=f(0.78000)*/
+{64, 0,123,__LINE__, 0x4001a08e, 0x4e3723ec, 0x3fe947ae, 0x147ae155}, /* 2.20339=f(0.79000)*/
+{64, 0,123,__LINE__, 0x4001cde8, 0x66fe46ef, 0x3fe99999, 0x999999a7}, /* 2.22554=f(0.80000)*/
+{64, 0,123,__LINE__, 0x4001fbb7, 0x2eb98a93, 0x3fe9eb85, 0x1eb851f9}, /* 2.24790=f(0.81000)*/
+{64, 0,123,__LINE__, 0x400229fb, 0xd19e3339, 0x3fea3d70, 0xa3d70a4b}, /* 2.27050=f(0.82000)*/
+{62, 0,123,__LINE__, 0x400258b7, 0x7ee5e8a6, 0x3fea8f5c, 0x28f5c29d}, /* 2.29331=f(0.83000)*/
+{63, 0,123,__LINE__, 0x400287eb, 0x68d6793b, 0x3feae147, 0xae147aef}, /* 2.31636=f(0.84000)*/
+{63, 0,123,__LINE__, 0x4002b798, 0xc4c9b127, 0x3feb3333, 0x33333341}, /* 2.33964=f(0.85000)*/
+{63, 0,123,__LINE__, 0x4002e7c0, 0xcb3545cb, 0x3feb851e, 0xb851eb93}, /* 2.36316=f(0.86000)*/
+{63, 0,123,__LINE__, 0x40031864, 0xb7b2d576, 0x3febd70a, 0x3d70a3e5}, /* 2.38691=f(0.87000)*/
+{63, 0,123,__LINE__, 0x40034985, 0xc907fbc4, 0x3fec28f5, 0xc28f5c37}, /* 2.41090=f(0.88000)*/
+{61, 0,123,__LINE__, 0x40037b25, 0x412e7ab3, 0x3fec7ae1, 0x47ae1489}, /* 2.43513=f(0.89000)*/
+{62, 0,123,__LINE__, 0x4003ad44, 0x655c78c5, 0x3feccccc, 0xccccccdb}, /* 2.45960=f(0.90000)*/
+{63, 0,123,__LINE__, 0x4003dfe4, 0x7e0cd451, 0x3fed1eb8, 0x51eb852d}, /* 2.48432=f(0.91000)*/
+{62, 0,123,__LINE__, 0x40041306, 0xd7078c4a, 0x3fed70a3, 0xd70a3d7f}, /* 2.50929=f(0.92000)*/
+{62, 0,123,__LINE__, 0x400446ac, 0xbf6a3e96, 0x3fedc28f, 0x5c28f5d1}, /* 2.53450=f(0.93000)*/
+{60, 0,123,__LINE__, 0x40047ad7, 0x89b0bc48, 0x3fee147a, 0xe147ae23}, /* 2.55998=f(0.94000)*/
+{60, 0,123,__LINE__, 0x4004af88, 0x8bbdb3f8, 0x3fee6666, 0x66666675}, /* 2.58571=f(0.95000)*/
+{61, 0,123,__LINE__, 0x4004e4c1, 0x1ee3725d, 0x3feeb851, 0xeb851ec7}, /* 2.61169=f(0.96000)*/
+{63, 0,123,__LINE__, 0x40051a82, 0x9fecb959, 0x3fef0a3d, 0x70a3d719}, /* 2.63794=f(0.97000)*/
+{59, 0,123,__LINE__, 0x400550ce, 0x6f25adf0, 0x3fef5c28, 0xf5c28f6b}, /* 2.66445=f(0.98000)*/
+{61, 0,123,__LINE__, 0x400587a5, 0xf064dd04, 0x3fefae14, 0x7ae147bd}, /* 2.69123=f(0.99000)*/
+{62, 0,123,__LINE__, 0x4005bf0a, 0x8b145771, 0x3ff00000, 0x00000007}, /* 2.71828=f(1.00000)*/
+{63, 0,123,__LINE__, 0x4005f6fd, 0xaa3ae58a, 0x3ff028f5, 0xc28f5c30}, /* 2.74560=f(1.01000)*/
+{62, 0,123,__LINE__, 0x40062f80, 0xbc855229, 0x3ff051eb, 0x851eb859}, /* 2.77319=f(1.02000)*/
+{63, 0,123,__LINE__, 0x40066895, 0x344fcdd6, 0x3ff07ae1, 0x47ae1482}, /* 2.80106=f(1.03000)*/
+{63, 0,123,__LINE__, 0x4006a23c, 0x87af69f1, 0x3ff0a3d7, 0x0a3d70ab}, /* 2.82921=f(1.04000)*/
+{63, 0,123,__LINE__, 0x4006dc78, 0x307bac53, 0x3ff0cccc, 0xccccccd4}, /* 2.85765=f(1.05000)*/
+{60, 0,123,__LINE__, 0x40071749, 0xac583b88, 0x3ff0f5c2, 0x8f5c28fd}, /* 2.88637=f(1.06000)*/
+{62, 0,123,__LINE__, 0x400752b2, 0x7cbea3f3, 0x3ff11eb8, 0x51eb8526}, /* 2.91537=f(1.07000)*/
+{63, 0,123,__LINE__, 0x40078eb4, 0x27083613, 0x3ff147ae, 0x147ae14f}, /* 2.94468=f(1.08000)*/
+{62, 0,123,__LINE__, 0x4007cb50, 0x3477fe31, 0x3ff170a3, 0xd70a3d78}, /* 2.97427=f(1.09000)*/
+{63, 0,123,__LINE__, 0x40080888, 0x3244d59c, 0x3ff19999, 0x999999a1}, /* 3.00416=f(1.10000)*/
+{60, 0,123,__LINE__, 0x4008465d, 0xb1a38df8, 0x3ff1c28f, 0x5c28f5ca}, /* 3.03435=f(1.11000)*/
+{61, 0,123,__LINE__, 0x400884d2, 0x47d1367b, 0x3ff1eb85, 0x1eb851f3}, /* 3.06485=f(1.12000)*/
+{64, 0,123,__LINE__, 0x4008c3e7, 0x8e1d7bdc, 0x3ff2147a, 0xe147ae1c}, /* 3.09565=f(1.13000)*/
+{64, 0,123,__LINE__, 0x4009039f, 0x21f522b4, 0x3ff23d70, 0xa3d70a45}, /* 3.12676=f(1.14000)*/
+{64, 0,123,__LINE__, 0x400943fa, 0xa4ec9cfd, 0x3ff26666, 0x6666666e}, /* 3.15819=f(1.15000)*/
+{64, 0,123,__LINE__, 0x400984fb, 0xbccababa, 0x3ff28f5c, 0x28f5c297}, /* 3.18993=f(1.16000)*/
+{61, 0,123,__LINE__, 0x4009c6a4, 0x13937622, 0x3ff2b851, 0xeb851ec0}, /* 3.22199=f(1.17000)*/
+{61, 0,123,__LINE__, 0x400a08f5, 0x5792db9a, 0x3ff2e147, 0xae147ae9}, /* 3.25437=f(1.18000)*/
+{57, 0,123,__LINE__, 0x400a4bf1, 0x3b680dbf, 0x3ff30a3d, 0x70a3d712}, /* 3.28708=f(1.19000)*/
+{62, 0,123,__LINE__, 0x3f5e989f, 0x5d6dff64, 0xc01921fb, 0x54442d18}, /* 0.00186=f(-6.28318)*/
+{62, 0,123,__LINE__, 0x3f8265d4, 0xe92b6b9d, 0xc012d97c, 0x7f3321d2}, /* 0.00898=f(-4.71238)*/
+{63, 0,123,__LINE__, 0x3fa62022, 0x7b598efa, 0xc00921fb, 0x54442d18}, /* 0.04321=f(-3.14159)*/
+{62, 0,123,__LINE__, 0x3fca9bcc, 0x46f767e2, 0xbff921fb, 0x54442d18}, /* 0.20787=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x00000000, 0x00000000}, /* 1.00000=f(0.00000)*/
+{63, 0,123,__LINE__, 0x40133ded, 0xc855935e, 0x3ff921fb, 0x54442d18}, /* 4.81047=f(1.57079)*/
+{60, 0,123,__LINE__, 0x40372404, 0x6eb09338, 0x400921fb, 0x54442d18}, /* 23.1406=f(3.14159)*/
+{62, 0,123,__LINE__, 0x405bd456, 0x7b97537d, 0x4012d97c, 0x7f3321d2}, /* 111.317=f(4.71238)*/
+{61, 0,123,__LINE__, 0x3d3a56e0, 0xc2ac7f7d, 0xc03e0000, 0x00000000}, /* 9.35762e-14=f(-30.0000)*/
+{64, 0,123,__LINE__, 0x3d6205c5, 0x18d0dcc0, 0xc03c4ccc, 0xcccccccd}, /* 5.12231e-13=f(-28.3000)*/
+{62, 0,123,__LINE__, 0x3d88a9e2, 0x293214d1, 0xc03a9999, 0x9999999a}, /* 2.80393e-12=f(-26.6000)*/
+{64, 0,123,__LINE__, 0x3db0e03b, 0xb495bb53, 0xc038e666, 0x66666667}, /* 1.53486e-11=f(-24.9000)*/
+{62, 0,123,__LINE__, 0x3dd7182e, 0xae519aee, 0xc0373333, 0x33333334}, /* 8.40172e-11=f(-23.2000)*/
+{64, 0,123,__LINE__, 0x3dff9abe, 0x68b14e5f, 0xc0358000, 0x00000001}, /* 4.59906e-10=f(-21.5000)*/
+{63, 0,123,__LINE__, 0x3e25a009, 0xc96ebd17, 0xc033cccc, 0xccccccce}, /* 2.51750e-09=f(-19.8000)*/
+{62, 0,123,__LINE__, 0x3e4d97fe, 0xd98fac4d, 0xc0321999, 0x9999999b}, /* 1.37807e-08=f(-18.1000)*/
+{64, 0,123,__LINE__, 0x3e743fd3, 0x3a226a2a, 0xc0306666, 0x66666668}, /* 7.54346e-08=f(-16.4000)*/
+{63, 0,123,__LINE__, 0x3e9bb5ff, 0x19442356, 0xc02d6666, 0x6666666a}, /* 4.12925e-07=f(-14.7000)*/
+{64, 0,123,__LINE__, 0x3ec2f605, 0x3b981d77, 0xc02a0000, 0x00000004}, /* 2.26033e-06=f(-13.0000)*/
+{62, 0,123,__LINE__, 0x3ee9f2a9, 0xc30dbeaa, 0xc0269999, 0x9999999e}, /* 1.23729e-05=f(-11.3000)*/
+{64, 0,123,__LINE__, 0x3f11c132, 0xd5399ecc, 0xc0233333, 0x33333338}, /* 6.77287e-05=f(-9.60000)*/
+{58, 0,123,__LINE__, 0x3f384c0b, 0x61a858df, 0xc01f9999, 0x999999a3}, /* 0.00037=f(-7.90000)*/
+{63, 0,123,__LINE__, 0x3f60a006, 0x46cbe754, 0xc018cccc, 0xccccccd6}, /* 0.00202=f(-6.20000)*/
+{63, 0,123,__LINE__, 0x3f86c050, 0x4695c3e3, 0xc0120000, 0x00000009}, /* 0.01110=f(-4.50000)*/
+{64, 0,123,__LINE__, 0x3faf227f, 0x1c7c6d42, 0xc0066666, 0x66666678}, /* 0.06081=f(-2.80000)*/
+{64, 0,123,__LINE__, 0x3fd54dc2, 0x84911bc0, 0xbff19999, 0x999999bd}, /* 0.33287=f(-1.10000)*/
+{59, 0,123,__LINE__, 0x3ffd2766, 0x0b11a9af, 0x3fe33333, 0x333332ec}, /* 1.82211=f(0.60000)*/
+{63, 0,123,__LINE__, 0x4023f2c8, 0x0aef881f, 0x40026666, 0x66666654}, /* 9.97418=f(2.30000)*/
+{63, 0,123,__LINE__, 0x404b4c90, 0x2e273a1a, 0x400fffff, 0xffffffee}, /* 54.5981=f(4.00000)*/
+{63, 0,123,__LINE__, 0x4072ade0, 0xdfd62083, 0x4016cccc, 0xccccccc4}, /* 298.867=f(5.70000)*/
+{64, 0,123,__LINE__, 0x40998ff0, 0x0e6ab69c, 0x401d9999, 0x99999991}, /* 1635.98=f(7.40000)*/
+{64, 0,123,__LINE__, 0x40c17da5, 0x774ec645, 0x40223333, 0x3333332f}, /* 8955.29=f(9.10000)*/
+{59, 0,123,__LINE__, 0x40e7ef99, 0xa2e8c3af, 0x40259999, 0x99999995}, /* 49020=f(10.8000)*/
+{64, 0,123,__LINE__, 0x411060c5, 0x2565ba3e, 0x4028ffff, 0xfffffffb}, /* 268337=f(12.5000)*/
+{62, 0,123,__LINE__, 0x413669c0, 0x308d2b75, 0x402c6666, 0x66666661}, /* 1.46886e+06=f(14.2000)*/
+{61, 0,123,__LINE__, 0x415eac09, 0x532f3e04, 0x402fcccc, 0xccccccc7}, /* 8.04049e+06=f(15.9000)*/
+{60, 0,123,__LINE__, 0x4184fcb4, 0x4c4756d8, 0x40319999, 0x99999997}, /* 4.40132e+07=f(17.6000)*/
+{61, 0,123,__LINE__, 0x41acb879, 0xa3e7366b, 0x40334ccc, 0xccccccca}, /* 2.40926e+08=f(19.3000)*/
+{63, 0,123,__LINE__, 0x41d3a6e1, 0xfd9eecc0, 0x4034ffff, 0xfffffffd}, /* 1.31882e+09=f(21.0000)*/
+{60, 0,123,__LINE__, 0x41fae4b2, 0x68df16e7, 0x4036b333, 0x33333330}, /* 7.21913e+09=f(22.7000)*/
+{63, 0,123,__LINE__, 0x422266ce, 0xffa84597, 0x40386666, 0x66666663}, /* 3.95171e+10=f(24.4000)*/
+{64, 0,123,__LINE__, 0x42492ead, 0xfa09870d, 0x403a1999, 0x99999996}, /* 2.16315e+11=f(26.1000)*/
+{60, 0,123,__LINE__, 0x42713b19, 0x1e69fb28, 0x403bcccc, 0xccccccc9}, /* 1.18410e+12=f(27.8000)*/
+{62, 0,123,__LINE__, 0x42979487, 0x9e85b8de, 0x403d7fff, 0xfffffffc}, /* 6.48167e+12=f(29.5000)*/
+0,};
+test_exp(m) {run_vector_1(m,exp_vec,(char *)(exp),"exp","dd"); }
diff --git a/newlib/libm/test/expf_vec.c b/newlib/libm/test/expf_vec.c
new file mode 100644
index 00000000000..256310b8aeb
--- /dev/null
+++ b/newlib/libm/test/expf_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type expf_vec[] = {
+{32, 0,123,__LINE__, 0x3fd346c4, 0x20000000, 0xbff33333, 0x33333333}, /* 0.30119=f(-1.20000)*/
+{32, 0,123,__LINE__, 0x3fd3785c, 0x80000000, 0xbff30a3d, 0x70a3d70a}, /* 0.30422=f(-1.19000)*/
+{32, 0,123,__LINE__, 0x3fd3aa74, 0x80000000, 0xbff2e147, 0xae147ae1}, /* 0.30727=f(-1.18000)*/
+{32, 0,123,__LINE__, 0x3fd3dd0d, 0x60000000, 0xbff2b851, 0xeb851eb8}, /* 0.31036=f(-1.17000)*/
+{32, 0,123,__LINE__, 0x3fd41028, 0x60000000, 0xbff28f5c, 0x28f5c28f}, /* 0.31348=f(-1.16000)*/
+{32, 0,123,__LINE__, 0x3fd443c7, 0x00000000, 0xbff26666, 0x66666666}, /* 0.31663=f(-1.15000)*/
+{32, 0,123,__LINE__, 0x3fd477ea, 0x40000000, 0xbff23d70, 0xa3d70a3d}, /* 0.31981=f(-1.14000)*/
+{32, 0,123,__LINE__, 0x3fd4ac93, 0xa0000000, 0xbff2147a, 0xe147ae14}, /* 0.32303=f(-1.13000)*/
+{32, 0,123,__LINE__, 0x3fd4e1c4, 0x80000000, 0xbff1eb85, 0x1eb851eb}, /* 0.32627=f(-1.12000)*/
+{32, 0,123,__LINE__, 0x3fd5177e, 0x60000000, 0xbff1c28f, 0x5c28f5c2}, /* 0.32955=f(-1.11000)*/
+{32, 0,123,__LINE__, 0x3fd54dc2, 0x60000000, 0xbff19999, 0x99999999}, /* 0.33287=f(-1.10000)*/
+{32, 0,123,__LINE__, 0x3fd58492, 0x20000000, 0xbff170a3, 0xd70a3d70}, /* 0.33621=f(-1.09000)*/
+{32, 0,123,__LINE__, 0x3fd5bbee, 0xe0000000, 0xbff147ae, 0x147ae147}, /* 0.33959=f(-1.08000)*/
+{32, 0,123,__LINE__, 0x3fd5f3da, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* 0.34300=f(-1.07000)*/
+{32, 0,123,__LINE__, 0x3fd62c55, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* 0.34645=f(-1.06000)*/
+{32, 0,123,__LINE__, 0x3fd66561, 0x60000000, 0xbff0cccc, 0xcccccccc}, /* 0.34993=f(-1.05000)*/
+{32, 0,123,__LINE__, 0x3fd69f00, 0x80000000, 0xbff0a3d7, 0x0a3d70a3}, /* 0.35345=f(-1.04000)*/
+{32, 0,123,__LINE__, 0x3fd6d933, 0xc0000000, 0xbff07ae1, 0x47ae147a}, /* 0.35700=f(-1.03000)*/
+{32, 0,123,__LINE__, 0x3fd713fc, 0xe0000000, 0xbff051eb, 0x851eb851}, /* 0.36059=f(-1.02000)*/
+{32, 0,123,__LINE__, 0x3fd74f5d, 0x20000000, 0xbff028f5, 0xc28f5c28}, /* 0.36421=f(-1.01000)*/
+{32, 0,123,__LINE__, 0x3fd78b56, 0x40000000, 0xbfefffff, 0xfffffffe}, /* 0.36787=f(-0.01000)*/
+{32, 0,123,__LINE__, 0x3fd7c7e9, 0xa0000000, 0xbfefae14, 0x7ae147ac}, /* 0.37157=f(-0.99000)*/
+{32, 0,123,__LINE__, 0x3fd80518, 0xc0000000, 0xbfef5c28, 0xf5c28f5a}, /* 0.37531=f(-0.98000)*/
+{32, 0,123,__LINE__, 0x3fd842e5, 0x80000000, 0xbfef0a3d, 0x70a3d708}, /* 0.37908=f(-0.97000)*/
+{32, 0,123,__LINE__, 0x3fd88151, 0x20000000, 0xbfeeb851, 0xeb851eb6}, /* 0.38289=f(-0.96000)*/
+{32, 0,123,__LINE__, 0x3fd8c05d, 0x80000000, 0xbfee6666, 0x66666664}, /* 0.38674=f(-0.95000)*/
+{32, 0,123,__LINE__, 0x3fd9000c, 0x00000000, 0xbfee147a, 0xe147ae12}, /* 0.39062=f(-0.94000)*/
+{32, 0,123,__LINE__, 0x3fd9405e, 0x40000000, 0xbfedc28f, 0x5c28f5c0}, /* 0.39455=f(-0.93000)*/
+{32, 0,123,__LINE__, 0x3fd98156, 0x00000000, 0xbfed70a3, 0xd70a3d6e}, /* 0.39851=f(-0.92000)*/
+{32, 0,123,__LINE__, 0x3fd9c2f5, 0x00000000, 0xbfed1eb8, 0x51eb851c}, /* 0.40252=f(-0.91000)*/
+{32, 0,123,__LINE__, 0x3fda053c, 0xc0000000, 0xbfeccccc, 0xccccccca}, /* 0.40656=f(-0.90000)*/
+{32, 0,123,__LINE__, 0x3fda482f, 0x20000000, 0xbfec7ae1, 0x47ae1478}, /* 0.41065=f(-0.89000)*/
+{32, 0,123,__LINE__, 0x3fda8bcd, 0xa0000000, 0xbfec28f5, 0xc28f5c26}, /* 0.41478=f(-0.88000)*/
+{32, 0,123,__LINE__, 0x3fdad01a, 0x20000000, 0xbfebd70a, 0x3d70a3d4}, /* 0.41895=f(-0.87000)*/
+{32, 0,123,__LINE__, 0x3fdb1516, 0x80000000, 0xbfeb851e, 0xb851eb82}, /* 0.42316=f(-0.86000)*/
+{32, 0,123,__LINE__, 0x3fdb5ac4, 0x40000000, 0xbfeb3333, 0x33333330}, /* 0.42741=f(-0.85000)*/
+{32, 0,123,__LINE__, 0x3fdba125, 0x60000000, 0xbfeae147, 0xae147ade}, /* 0.43171=f(-0.84000)*/
+{32, 0,123,__LINE__, 0x3fdbe83b, 0x80000000, 0xbfea8f5c, 0x28f5c28c}, /* 0.43604=f(-0.83000)*/
+{32, 0,123,__LINE__, 0x3fdc3008, 0x20000000, 0xbfea3d70, 0xa3d70a3a}, /* 0.44043=f(-0.82000)*/
+{32, 0,123,__LINE__, 0x3fdc788d, 0xe0000000, 0xbfe9eb85, 0x1eb851e8}, /* 0.44485=f(-0.81000)*/
+{32, 0,123,__LINE__, 0x3fdcc1ce, 0x20000000, 0xbfe99999, 0x99999996}, /* 0.44932=f(-0.80000)*/
+{32, 0,123,__LINE__, 0x3fdd0bcb, 0x00000000, 0xbfe947ae, 0x147ae144}, /* 0.45384=f(-0.79000)*/
+{32, 0,123,__LINE__, 0x3fdd5686, 0x40000000, 0xbfe8f5c2, 0x8f5c28f2}, /* 0.45840=f(-0.78000)*/
+{32, 0,123,__LINE__, 0x3fdda201, 0xc0000000, 0xbfe8a3d7, 0x0a3d70a0}, /* 0.46301=f(-0.77000)*/
+{32, 0,123,__LINE__, 0x3fddee3f, 0x60000000, 0xbfe851eb, 0x851eb84e}, /* 0.46766=f(-0.76000)*/
+{32, 0,123,__LINE__, 0x3fde3b41, 0x20000000, 0xbfe7ffff, 0xfffffffc}, /* 0.47236=f(-0.75000)*/
+{32, 0,123,__LINE__, 0x3fde8909, 0x00000000, 0xbfe7ae14, 0x7ae147aa}, /* 0.47711=f(-0.74000)*/
+{32, 0,123,__LINE__, 0x3fded798, 0xc0000000, 0xbfe75c28, 0xf5c28f58}, /* 0.48190=f(-0.73000)*/
+{32, 0,123,__LINE__, 0x3fdf26f2, 0xc0000000, 0xbfe70a3d, 0x70a3d706}, /* 0.48675=f(-0.72000)*/
+{32, 0,123,__LINE__, 0x3fdf7719, 0x40000000, 0xbfe6b851, 0xeb851eb4}, /* 0.49164=f(-0.71000)*/
+{32, 0,123,__LINE__, 0x3fdfc80d, 0xc0000000, 0xbfe66666, 0x66666662}, /* 0.49658=f(-0.70000)*/
+{32, 0,123,__LINE__, 0x3fe00ce9, 0x40000000, 0xbfe6147a, 0xe147ae10}, /* 0.50157=f(-0.69000)*/
+{32, 0,123,__LINE__, 0x3fe03634, 0xe0000000, 0xbfe5c28f, 0x5c28f5be}, /* 0.50661=f(-0.68000)*/
+{32, 0,123,__LINE__, 0x3fe05fea, 0xa0000000, 0xbfe570a3, 0xd70a3d6c}, /* 0.51170=f(-0.67000)*/
+{32, 0,123,__LINE__, 0x3fe08a0b, 0xc0000000, 0xbfe51eb8, 0x51eb851a}, /* 0.51685=f(-0.66000)*/
+{32, 0,123,__LINE__, 0x3fe0b499, 0x60000000, 0xbfe4cccc, 0xccccccc8}, /* 0.52204=f(-0.65000)*/
+{32, 0,123,__LINE__, 0x3fe0df94, 0x60000000, 0xbfe47ae1, 0x47ae1476}, /* 0.52729=f(-0.64000)*/
+{32, 0,123,__LINE__, 0x3fe10afe, 0x00000000, 0xbfe428f5, 0xc28f5c24}, /* 0.53259=f(-0.63000)*/
+{32, 0,123,__LINE__, 0x3fe136d7, 0x40000000, 0xbfe3d70a, 0x3d70a3d2}, /* 0.53794=f(-0.62000)*/
+{32, 0,123,__LINE__, 0x3fe16321, 0x60000000, 0xbfe3851e, 0xb851eb80}, /* 0.54335=f(-0.61000)*/
+{32, 0,123,__LINE__, 0x3fe18fdd, 0x60000000, 0xbfe33333, 0x3333332e}, /* 0.54881=f(-0.60000)*/
+{32, 0,123,__LINE__, 0x3fe1bd0c, 0xa0000000, 0xbfe2e147, 0xae147adc}, /* 0.55432=f(-0.59000)*/
+{32, 0,123,__LINE__, 0x3fe1eab0, 0x00000000, 0xbfe28f5c, 0x28f5c28a}, /* 0.55989=f(-0.58000)*/
+{32, 0,123,__LINE__, 0x3fe218c8, 0xe0000000, 0xbfe23d70, 0xa3d70a38}, /* 0.56552=f(-0.57000)*/
+{32, 0,123,__LINE__, 0x3fe24758, 0x40000000, 0xbfe1eb85, 0x1eb851e6}, /* 0.57120=f(-0.56000)*/
+{32, 0,123,__LINE__, 0x3fe2765f, 0x60000000, 0xbfe19999, 0x99999994}, /* 0.57694=f(-0.55000)*/
+{32, 0,123,__LINE__, 0x3fe2a5df, 0xa0000000, 0xbfe147ae, 0x147ae142}, /* 0.58274=f(-0.54000)*/
+{32, 0,123,__LINE__, 0x3fe2d5da, 0x20000000, 0xbfe0f5c2, 0x8f5c28f0}, /* 0.58860=f(-0.53000)*/
+{32, 0,123,__LINE__, 0x3fe30650, 0x00000000, 0xbfe0a3d7, 0x0a3d709e}, /* 0.59452=f(-0.52000)*/
+{32, 0,123,__LINE__, 0x3fe33742, 0x80000000, 0xbfe051eb, 0x851eb84c}, /* 0.60049=f(-0.51000)*/
+{32, 0,123,__LINE__, 0x3fe368b3, 0x00000000, 0xbfdfffff, 0xfffffff4}, /* 0.60653=f(-0.50000)*/
+{32, 0,123,__LINE__, 0x3fe39aa2, 0xa0000000, 0xbfdf5c28, 0xf5c28f50}, /* 0.61262=f(-0.49000)*/
+{32, 0,123,__LINE__, 0x3fe3cd12, 0xe0000000, 0xbfdeb851, 0xeb851eac}, /* 0.61878=f(-0.48000)*/
+{32, 0,123,__LINE__, 0x3fe40004, 0xc0000000, 0xbfde147a, 0xe147ae08}, /* 0.62500=f(-0.47000)*/
+{32, 0,123,__LINE__, 0x3fe43379, 0xc0000000, 0xbfdd70a3, 0xd70a3d64}, /* 0.63128=f(-0.46000)*/
+{32, 0,123,__LINE__, 0x3fe46773, 0x20000000, 0xbfdccccc, 0xccccccc0}, /* 0.63762=f(-0.45000)*/
+{32, 0,123,__LINE__, 0x3fe49bf2, 0x40000000, 0xbfdc28f5, 0xc28f5c1c}, /* 0.64403=f(-0.44000)*/
+{32, 0,123,__LINE__, 0x3fe4d0f8, 0x60000000, 0xbfdb851e, 0xb851eb78}, /* 0.65050=f(-0.43000)*/
+{32, 0,123,__LINE__, 0x3fe50687, 0x00000000, 0xbfdae147, 0xae147ad4}, /* 0.65704=f(-0.42000)*/
+{32, 0,123,__LINE__, 0x3fe53c9f, 0x60000000, 0xbfda3d70, 0xa3d70a30}, /* 0.66365=f(-0.41000)*/
+{32, 0,123,__LINE__, 0x3fe57343, 0x00000000, 0xbfd99999, 0x9999998c}, /* 0.67032=f(-0.40000)*/
+{32, 0,123,__LINE__, 0x3fe5aa73, 0x20000000, 0xbfd8f5c2, 0x8f5c28e8}, /* 0.67705=f(-0.39000)*/
+{32, 0,123,__LINE__, 0x3fe5e231, 0x60000000, 0xbfd851eb, 0x851eb844}, /* 0.68386=f(-0.38000)*/
+{32, 0,123,__LINE__, 0x3fe61a7e, 0xe0000000, 0xbfd7ae14, 0x7ae147a0}, /* 0.69073=f(-0.37000)*/
+{32, 0,123,__LINE__, 0x3fe6535d, 0x40000000, 0xbfd70a3d, 0x70a3d6fc}, /* 0.69767=f(-0.36000)*/
+{32, 0,123,__LINE__, 0x3fe68cce, 0x20000000, 0xbfd66666, 0x66666658}, /* 0.70468=f(-0.35000)*/
+{32, 0,123,__LINE__, 0x3fe6c6d2, 0x80000000, 0xbfd5c28f, 0x5c28f5b4}, /* 0.71177=f(-0.34000)*/
+{32, 0,123,__LINE__, 0x3fe7016c, 0x40000000, 0xbfd51eb8, 0x51eb8510}, /* 0.71892=f(-0.33000)*/
+{32, 0,123,__LINE__, 0x3fe73c9c, 0xe0000000, 0xbfd47ae1, 0x47ae146c}, /* 0.72614=f(-0.32000)*/
+{32, 0,123,__LINE__, 0x3fe77865, 0xc0000000, 0xbfd3d70a, 0x3d70a3c8}, /* 0.73344=f(-0.31000)*/
+{32, 0,123,__LINE__, 0x3fe7b4c8, 0x60000000, 0xbfd33333, 0x33333324}, /* 0.74081=f(-0.30000)*/
+{32, 0,123,__LINE__, 0x3fe7f1c6, 0x60000000, 0xbfd28f5c, 0x28f5c280}, /* 0.74826=f(-0.29000)*/
+{32, 0,123,__LINE__, 0x3fe82f61, 0x60000000, 0xbfd1eb85, 0x1eb851dc}, /* 0.75578=f(-0.28000)*/
+{32, 0,123,__LINE__, 0x3fe86d9a, 0xc0000000, 0xbfd147ae, 0x147ae138}, /* 0.76337=f(-0.27000)*/
+{32, 0,123,__LINE__, 0x3fe8ac74, 0x60000000, 0xbfd0a3d7, 0x0a3d7094}, /* 0.77105=f(-0.26000)*/
+{32, 0,123,__LINE__, 0x3fe8ebef, 0xa0000000, 0xbfcfffff, 0xffffffe0}, /* 0.77880=f(-0.25000)*/
+{32, 0,123,__LINE__, 0x3fe92c0e, 0x40000000, 0xbfceb851, 0xeb851e98}, /* 0.78662=f(-0.24000)*/
+{32, 0,123,__LINE__, 0x3fe96cd1, 0xc0000000, 0xbfcd70a3, 0xd70a3d50}, /* 0.79453=f(-0.23000)*/
+{32, 0,123,__LINE__, 0x3fe9ae3c, 0x00000000, 0xbfcc28f5, 0xc28f5c08}, /* 0.80251=f(-0.22000)*/
+{32, 0,123,__LINE__, 0x3fe9f04e, 0x80000000, 0xbfcae147, 0xae147ac0}, /* 0.81058=f(-0.21000)*/
+{32, 0,123,__LINE__, 0x3fea330a, 0xe0000000, 0xbfc99999, 0x99999978}, /* 0.81873=f(-0.20000)*/
+{32, 0,123,__LINE__, 0x3fea7673, 0x20000000, 0xbfc851eb, 0x851eb830}, /* 0.82695=f(-0.19000)*/
+{32, 0,123,__LINE__, 0x3feaba88, 0xa0000000, 0xbfc70a3d, 0x70a3d6e8}, /* 0.83527=f(-0.18000)*/
+{32, 0,123,__LINE__, 0x3feaff4d, 0x80000000, 0xbfc5c28f, 0x5c28f5a0}, /* 0.84366=f(-0.17000)*/
+{32, 0,123,__LINE__, 0x3feb44c3, 0x20000000, 0xbfc47ae1, 0x47ae1458}, /* 0.85214=f(-0.16000)*/
+{32, 0,123,__LINE__, 0x3feb8aeb, 0x80000000, 0xbfc33333, 0x33333310}, /* 0.86070=f(-0.15000)*/
+{32, 0,123,__LINE__, 0x3febd1c8, 0x80000000, 0xbfc1eb85, 0x1eb851c8}, /* 0.86935=f(-0.14000)*/
+{32, 0,123,__LINE__, 0x3fec195b, 0xa0000000, 0xbfc0a3d7, 0x0a3d7080}, /* 0.87809=f(-0.13000)*/
+{32, 0,123,__LINE__, 0x3fec61a7, 0x00000000, 0xbfbeb851, 0xeb851e71}, /* 0.88692=f(-0.12000)*/
+{32, 0,123,__LINE__, 0x3fecaaac, 0x60000000, 0xbfbc28f5, 0xc28f5be2}, /* 0.89583=f(-0.11000)*/
+{32, 0,123,__LINE__, 0x3fecf46d, 0xa0000000, 0xbfb99999, 0x99999953}, /* 0.90483=f(-0.00100)*/
+{32, 0,123,__LINE__, 0x3fed3eec, 0xa0000000, 0xbfb70a3d, 0x70a3d6c4}, /* 0.91393=f(-0.09000)*/
+{32, 0,123,__LINE__, 0x3fed8a2b, 0x60000000, 0xbfb47ae1, 0x47ae1435}, /* 0.92311=f(-0.08000)*/
+{32, 0,123,__LINE__, 0x3fedd62b, 0xa0000000, 0xbfb1eb85, 0x1eb851a6}, /* 0.93239=f(-0.07000)*/
+{32, 0,123,__LINE__, 0x3fee22ef, 0x80000000, 0xbfaeb851, 0xeb851e2d}, /* 0.94176=f(-0.06000)*/
+{32, 0,123,__LINE__, 0x3fee7078, 0xc0000000, 0xbfa99999, 0x9999990e}, /* 0.95122=f(-0.05000)*/
+{32, 0,123,__LINE__, 0x3feebec9, 0x80000000, 0xbfa47ae1, 0x47ae13ef}, /* 0.96078=f(-0.04000)*/
+{32, 0,123,__LINE__, 0x3fef0de3, 0xc0000000, 0xbf9eb851, 0xeb851da0}, /* 0.97044=f(-0.03000)*/
+{32, 0,123,__LINE__, 0x3fef5dc9, 0xa0000000, 0xbf947ae1, 0x47ae1362}, /* 0.98019=f(-0.02000)*/
+{32, 0,123,__LINE__, 0x3fefae7d, 0x00000000, 0xbf847ae1, 0x47ae1249}, /* 0.99004=f(-0.00010)*/
+{32, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3cd19000, 0x00000000}, /* 1.00000=f(9.74915e-16)*/
+{32, 0,123,__LINE__, 0x3ff0292a, 0x60000000, 0x3f847ae1, 0x47ae16ad}, /* 1.01005=f(0.01000)*/
+{32, 0,123,__LINE__, 0x3ff052be, 0xa0000000, 0x3f947ae1, 0x47ae1594}, /* 1.02020=f(0.02000)*/
+{32, 0,123,__LINE__, 0x3ff07cbd, 0xe0000000, 0x3f9eb851, 0xeb851fd2}, /* 1.03045=f(0.03000)*/
+{32, 0,123,__LINE__, 0x3ff0a729, 0x40000000, 0x3fa47ae1, 0x47ae1508}, /* 1.04081=f(0.04000)*/
+{32, 0,123,__LINE__, 0x3ff0d201, 0xa0000000, 0x3fa99999, 0x99999a27}, /* 1.05127=f(0.05000)*/
+{32, 0,123,__LINE__, 0x3ff0fd48, 0x40000000, 0x3faeb851, 0xeb851f46}, /* 1.06183=f(0.06000)*/
+{32, 0,123,__LINE__, 0x3ff128fe, 0x40000000, 0x3fb1eb85, 0x1eb85232}, /* 1.07250=f(0.07000)*/
+{32, 0,123,__LINE__, 0x3ff15524, 0xc0000000, 0x3fb47ae1, 0x47ae14c1}, /* 1.08328=f(0.08000)*/
+{32, 0,123,__LINE__, 0x3ff181bc, 0xe0000000, 0x3fb70a3d, 0x70a3d750}, /* 1.09417=f(0.09000)*/
+{32, 0,123,__LINE__, 0x3ff1aec7, 0xc0000000, 0x3fb99999, 0x999999df}, /* 1.10517=f(0.10000)*/
+{32, 0,123,__LINE__, 0x3ff1dc46, 0x60000000, 0x3fbc28f5, 0xc28f5c6e}, /* 1.11627=f(0.11000)*/
+{32, 0,123,__LINE__, 0x3ff20a3a, 0x20000000, 0x3fbeb851, 0xeb851efd}, /* 1.12749=f(0.12000)*/
+{32, 0,123,__LINE__, 0x3ff238a4, 0x00000000, 0x3fc0a3d7, 0x0a3d70c6}, /* 1.13882=f(0.13000)*/
+{32, 0,123,__LINE__, 0x3ff26785, 0x80000000, 0x3fc1eb85, 0x1eb8520e}, /* 1.15027=f(0.14000)*/
+{32, 0,123,__LINE__, 0x3ff296df, 0x80000000, 0x3fc33333, 0x33333356}, /* 1.16183=f(0.15000)*/
+{32, 0,123,__LINE__, 0x3ff2c6b3, 0x40000000, 0x3fc47ae1, 0x47ae149e}, /* 1.17351=f(0.16000)*/
+{32, 0,123,__LINE__, 0x3ff2f702, 0x20000000, 0x3fc5c28f, 0x5c28f5e6}, /* 1.18530=f(0.17000)*/
+{32, 0,123,__LINE__, 0x3ff327cd, 0x60000000, 0x3fc70a3d, 0x70a3d72e}, /* 1.19721=f(0.18000)*/
+{32, 0,123,__LINE__, 0x3ff35916, 0x00000000, 0x3fc851eb, 0x851eb876}, /* 1.20924=f(0.19000)*/
+{32, 0,123,__LINE__, 0x3ff38add, 0xa0000000, 0x3fc99999, 0x999999be}, /* 1.22140=f(0.20000)*/
+{32, 0,123,__LINE__, 0x3ff3bd25, 0x20000000, 0x3fcae147, 0xae147b06}, /* 1.23367=f(0.21000)*/
+{32, 0,123,__LINE__, 0x3ff3efee, 0x20000000, 0x3fcc28f5, 0xc28f5c4e}, /* 1.24607=f(0.22000)*/
+{32, 0,123,__LINE__, 0x3ff42339, 0xc0000000, 0x3fcd70a3, 0xd70a3d96}, /* 1.25860=f(0.23000)*/
+{32, 0,123,__LINE__, 0x3ff45709, 0x40000000, 0x3fceb851, 0xeb851ede}, /* 1.27124=f(0.24000)*/
+{32, 0,123,__LINE__, 0x3ff48b5e, 0x20000000, 0x3fd00000, 0x00000013}, /* 1.28402=f(0.25000)*/
+{32, 0,123,__LINE__, 0x3ff4c039, 0xc0000000, 0x3fd0a3d7, 0x0a3d70b7}, /* 1.29693=f(0.26000)*/
+{32, 0,123,__LINE__, 0x3ff4f59d, 0x60000000, 0x3fd147ae, 0x147ae15b}, /* 1.30996=f(0.27000)*/
+{32, 0,123,__LINE__, 0x3ff52b8a, 0x40000000, 0x3fd1eb85, 0x1eb851ff}, /* 1.32313=f(0.28000)*/
+{32, 0,123,__LINE__, 0x3ff56201, 0xe0000000, 0x3fd28f5c, 0x28f5c2a3}, /* 1.33642=f(0.29000)*/
+{32, 0,123,__LINE__, 0x3ff59905, 0xa0000000, 0x3fd33333, 0x33333347}, /* 1.34985=f(0.30000)*/
+{32, 0,123,__LINE__, 0x3ff5d096, 0xe0000000, 0x3fd3d70a, 0x3d70a3eb}, /* 1.36342=f(0.31000)*/
+{32, 0,123,__LINE__, 0x3ff608b7, 0x20000000, 0x3fd47ae1, 0x47ae148f}, /* 1.37712=f(0.32000)*/
+{32, 0,123,__LINE__, 0x3ff64167, 0xe0000000, 0x3fd51eb8, 0x51eb8533}, /* 1.39096=f(0.33000)*/
+{32, 0,123,__LINE__, 0x3ff67aaa, 0x60000000, 0x3fd5c28f, 0x5c28f5d7}, /* 1.40494=f(0.34000)*/
+{32, 0,123,__LINE__, 0x3ff6b480, 0x20000000, 0x3fd66666, 0x6666667b}, /* 1.41906=f(0.35000)*/
+{32, 0,123,__LINE__, 0x3ff6eeea, 0xe0000000, 0x3fd70a3d, 0x70a3d71f}, /* 1.43332=f(0.36000)*/
+{32, 0,123,__LINE__, 0x3ff729eb, 0xc0000000, 0x3fd7ae14, 0x7ae147c3}, /* 1.44773=f(0.37000)*/
+{32, 0,123,__LINE__, 0x3ff76584, 0x80000000, 0x3fd851eb, 0x851eb867}, /* 1.46228=f(0.38000)*/
+{32, 0,123,__LINE__, 0x3ff7a1b6, 0xa0000000, 0x3fd8f5c2, 0x8f5c290b}, /* 1.47698=f(0.39000)*/
+{32, 0,123,__LINE__, 0x3ff7de83, 0xa0000000, 0x3fd99999, 0x999999af}, /* 1.49182=f(0.40000)*/
+{32, 0,123,__LINE__, 0x3ff81bed, 0x00000000, 0x3fda3d70, 0xa3d70a53}, /* 1.50681=f(0.41000)*/
+{32, 0,123,__LINE__, 0x3ff859f4, 0x60000000, 0x3fdae147, 0xae147af7}, /* 1.52196=f(0.42000)*/
+{32, 0,123,__LINE__, 0x3ff8989b, 0x60000000, 0x3fdb851e, 0xb851eb9b}, /* 1.53725=f(0.43000)*/
+{32, 0,123,__LINE__, 0x3ff8d7e3, 0x80000000, 0x3fdc28f5, 0xc28f5c3f}, /* 1.55270=f(0.44000)*/
+{32, 0,123,__LINE__, 0x3ff917ce, 0x80000000, 0x3fdccccc, 0xcccccce3}, /* 1.56831=f(0.45000)*/
+{32, 0,123,__LINE__, 0x3ff9585e, 0x00000000, 0x3fdd70a3, 0xd70a3d87}, /* 1.58407=f(0.46000)*/
+{32, 0,123,__LINE__, 0x3ff99993, 0x80000000, 0x3fde147a, 0xe147ae2b}, /* 1.59999=f(0.47000)*/
+{32, 0,123,__LINE__, 0x3ff9db70, 0xe0000000, 0x3fdeb851, 0xeb851ecf}, /* 1.61607=f(0.48000)*/
+{32, 0,123,__LINE__, 0x3ffa1df7, 0xa0000000, 0x3fdf5c28, 0xf5c28f73}, /* 1.63231=f(0.49000)*/
+{32, 0,123,__LINE__, 0x3ffa6129, 0x80000000, 0x3fe00000, 0x0000000b}, /* 1.64872=f(0.50000)*/
+{32, 0,123,__LINE__, 0x3ffaa508, 0x60000000, 0x3fe051eb, 0x851eb85d}, /* 1.66529=f(0.51000)*/
+{32, 0,123,__LINE__, 0x3ffae995, 0xe0000000, 0x3fe0a3d7, 0x0a3d70af}, /* 1.68202=f(0.52000)*/
+{32, 0,123,__LINE__, 0x3ffb2ed3, 0xa0000000, 0x3fe0f5c2, 0x8f5c2901}, /* 1.69893=f(0.53000)*/
+{32, 0,123,__LINE__, 0x3ffb74c3, 0xa0000000, 0x3fe147ae, 0x147ae153}, /* 1.71600=f(0.54000)*/
+{32, 0,123,__LINE__, 0x3ffbbb67, 0xa0000000, 0x3fe19999, 0x999999a5}, /* 1.73325=f(0.55000)*/
+{32, 0,123,__LINE__, 0x3ffc02c1, 0x40000000, 0x3fe1eb85, 0x1eb851f7}, /* 1.75067=f(0.56000)*/
+{32, 0,123,__LINE__, 0x3ffc4ad2, 0x60000000, 0x3fe23d70, 0xa3d70a49}, /* 1.76826=f(0.57000)*/
+{32, 0,123,__LINE__, 0x3ffc939d, 0x00000000, 0x3fe28f5c, 0x28f5c29b}, /* 1.78603=f(0.58000)*/
+{32, 0,123,__LINE__, 0x3ffcdd22, 0xe0000000, 0x3fe2e147, 0xae147aed}, /* 1.80398=f(0.59000)*/
+{32, 0,123,__LINE__, 0x3ffd2766, 0x20000000, 0x3fe33333, 0x3333333f}, /* 1.82211=f(0.60000)*/
+{32, 0,123,__LINE__, 0x3ffd7268, 0x40000000, 0x3fe3851e, 0xb851eb91}, /* 1.84043=f(0.61000)*/
+{32, 0,123,__LINE__, 0x3ffdbe2b, 0x60000000, 0x3fe3d70a, 0x3d70a3e3}, /* 1.85892=f(0.62000)*/
+{32, 0,123,__LINE__, 0x3ffe0ab1, 0x60000000, 0x3fe428f5, 0xc28f5c35}, /* 1.87761=f(0.63000)*/
+{32, 0,123,__LINE__, 0x3ffe57fc, 0x60000000, 0x3fe47ae1, 0x47ae1487}, /* 1.89648=f(0.64000)*/
+{32, 0,123,__LINE__, 0x3ffea60e, 0x20000000, 0x3fe4cccc, 0xccccccd9}, /* 1.91554=f(0.65000)*/
+{32, 0,123,__LINE__, 0x3ffef4e8, 0xe0000000, 0x3fe51eb8, 0x51eb852b}, /* 1.93479=f(0.66000)*/
+{32, 0,123,__LINE__, 0x3fff448e, 0x60000000, 0x3fe570a3, 0xd70a3d7d}, /* 1.95423=f(0.67000)*/
+{32, 0,123,__LINE__, 0x3fff9500, 0xc0000000, 0x3fe5c28f, 0x5c28f5cf}, /* 1.97387=f(0.68000)*/
+{32, 0,123,__LINE__, 0x3fffe642, 0x40000000, 0x3fe6147a, 0xe147ae21}, /* 1.99371=f(0.69000)*/
+{32, 0,123,__LINE__, 0x40001c2a, 0x60000000, 0x3fe66666, 0x66666673}, /* 2.01375=f(0.70000)*/
+{32, 0,123,__LINE__, 0x4000459d, 0x20000000, 0x3fe6b851, 0xeb851ec5}, /* 2.03399=f(0.71000)*/
+{32, 0,123,__LINE__, 0x40006f7a, 0xc0000000, 0x3fe70a3d, 0x70a3d717}, /* 2.05443=f(0.72000)*/
+{32, 0,123,__LINE__, 0x400099c3, 0xe0000000, 0x3fe75c28, 0xf5c28f69}, /* 2.07508=f(0.73000)*/
+{32, 0,123,__LINE__, 0x4000c479, 0xc0000000, 0x3fe7ae14, 0x7ae147bb}, /* 2.09593=f(0.74000)*/
+{32, 0,123,__LINE__, 0x4000ef9d, 0xa0000000, 0x3fe80000, 0x0000000d}, /* 2.11700=f(0.75000)*/
+{32, 0,123,__LINE__, 0x40011b30, 0x80000000, 0x3fe851eb, 0x851eb85f}, /* 2.13827=f(0.76000)*/
+{32, 0,123,__LINE__, 0x40014733, 0x60000000, 0x3fe8a3d7, 0x0a3d70b1}, /* 2.15976=f(0.77000)*/
+{32, 0,123,__LINE__, 0x400173a7, 0xc0000000, 0x3fe8f5c2, 0x8f5c2903}, /* 2.18147=f(0.78000)*/
+{32, 0,123,__LINE__, 0x4001a08e, 0x60000000, 0x3fe947ae, 0x147ae155}, /* 2.20339=f(0.79000)*/
+{32, 0,123,__LINE__, 0x4001cde8, 0x80000000, 0x3fe99999, 0x999999a7}, /* 2.22554=f(0.80000)*/
+{32, 0,123,__LINE__, 0x4001fbb7, 0x40000000, 0x3fe9eb85, 0x1eb851f9}, /* 2.24790=f(0.81000)*/
+{32, 0,123,__LINE__, 0x400229fb, 0xe0000000, 0x3fea3d70, 0xa3d70a4b}, /* 2.27050=f(0.82000)*/
+{32, 0,123,__LINE__, 0x400258b7, 0x60000000, 0x3fea8f5c, 0x28f5c29d}, /* 2.29331=f(0.83000)*/
+{32, 0,123,__LINE__, 0x400287eb, 0x40000000, 0x3feae147, 0xae147aef}, /* 2.31636=f(0.84000)*/
+{32, 0,123,__LINE__, 0x4002b798, 0xc0000000, 0x3feb3333, 0x33333341}, /* 2.33964=f(0.85000)*/
+{32, 0,123,__LINE__, 0x4002e7c0, 0xc0000000, 0x3feb851e, 0xb851eb93}, /* 2.36316=f(0.86000)*/
+{32, 0,123,__LINE__, 0x40031864, 0xc0000000, 0x3febd70a, 0x3d70a3e5}, /* 2.38691=f(0.87000)*/
+{32, 0,123,__LINE__, 0x40034985, 0xc0000000, 0x3fec28f5, 0xc28f5c37}, /* 2.41090=f(0.88000)*/
+{32, 0,123,__LINE__, 0x40037b25, 0x40000000, 0x3fec7ae1, 0x47ae1489}, /* 2.43513=f(0.89000)*/
+{32, 0,123,__LINE__, 0x4003ad44, 0x60000000, 0x3feccccc, 0xccccccdb}, /* 2.45960=f(0.90000)*/
+{32, 0,123,__LINE__, 0x4003dfe4, 0x80000000, 0x3fed1eb8, 0x51eb852d}, /* 2.48432=f(0.91000)*/
+{32, 0,123,__LINE__, 0x40041306, 0xc0000000, 0x3fed70a3, 0xd70a3d7f}, /* 2.50929=f(0.92000)*/
+{32, 0,123,__LINE__, 0x400446ac, 0xc0000000, 0x3fedc28f, 0x5c28f5d1}, /* 2.53450=f(0.93000)*/
+{32, 0,123,__LINE__, 0x40047ad7, 0x80000000, 0x3fee147a, 0xe147ae23}, /* 2.55998=f(0.94000)*/
+{32, 0,123,__LINE__, 0x4004af88, 0x80000000, 0x3fee6666, 0x66666675}, /* 2.58571=f(0.95000)*/
+{32, 0,123,__LINE__, 0x4004e4c1, 0x20000000, 0x3feeb851, 0xeb851ec7}, /* 2.61169=f(0.96000)*/
+{32, 0,123,__LINE__, 0x40051a82, 0xa0000000, 0x3fef0a3d, 0x70a3d719}, /* 2.63794=f(0.97000)*/
+{32, 0,123,__LINE__, 0x400550ce, 0x80000000, 0x3fef5c28, 0xf5c28f6b}, /* 2.66445=f(0.98000)*/
+{32, 0,123,__LINE__, 0x400587a6, 0x00000000, 0x3fefae14, 0x7ae147bd}, /* 2.69123=f(0.99000)*/
+{32, 0,123,__LINE__, 0x4005bf0a, 0x80000000, 0x3ff00000, 0x00000007}, /* 2.71828=f(1.00000)*/
+{32, 0,123,__LINE__, 0x4005f6fd, 0xa0000000, 0x3ff028f5, 0xc28f5c30}, /* 2.74560=f(1.01000)*/
+{32, 0,123,__LINE__, 0x40062f80, 0xc0000000, 0x3ff051eb, 0x851eb859}, /* 2.77319=f(1.02000)*/
+{32, 0,123,__LINE__, 0x40066895, 0x20000000, 0x3ff07ae1, 0x47ae1482}, /* 2.80106=f(1.03000)*/
+{32, 0,123,__LINE__, 0x4006a23c, 0x80000000, 0x3ff0a3d7, 0x0a3d70ab}, /* 2.82921=f(1.04000)*/
+{32, 0,123,__LINE__, 0x4006dc78, 0x20000000, 0x3ff0cccc, 0xccccccd4}, /* 2.85765=f(1.05000)*/
+{32, 0,123,__LINE__, 0x40071749, 0xa0000000, 0x3ff0f5c2, 0x8f5c28fd}, /* 2.88637=f(1.06000)*/
+{32, 0,123,__LINE__, 0x400752b2, 0x80000000, 0x3ff11eb8, 0x51eb8526}, /* 2.91538=f(1.07000)*/
+{32, 0,123,__LINE__, 0x40078eb4, 0x40000000, 0x3ff147ae, 0x147ae14f}, /* 2.94468=f(1.08000)*/
+{32, 0,123,__LINE__, 0x4007cb50, 0x60000000, 0x3ff170a3, 0xd70a3d78}, /* 2.97427=f(1.09000)*/
+{32, 0,123,__LINE__, 0x40080888, 0x40000000, 0x3ff19999, 0x999999a1}, /* 3.00416=f(1.10000)*/
+{32, 0,123,__LINE__, 0x4008465d, 0xc0000000, 0x3ff1c28f, 0x5c28f5ca}, /* 3.03435=f(1.11000)*/
+{32, 0,123,__LINE__, 0x400884d2, 0x60000000, 0x3ff1eb85, 0x1eb851f3}, /* 3.06485=f(1.12000)*/
+{32, 0,123,__LINE__, 0x4008c3e7, 0xa0000000, 0x3ff2147a, 0xe147ae1c}, /* 3.09565=f(1.13000)*/
+{32, 0,123,__LINE__, 0x4009039f, 0x00000000, 0x3ff23d70, 0xa3d70a45}, /* 3.12676=f(1.14000)*/
+{32, 0,123,__LINE__, 0x400943fa, 0x80000000, 0x3ff26666, 0x6666666e}, /* 3.15819=f(1.15000)*/
+{32, 0,123,__LINE__, 0x400984fb, 0xa0000000, 0x3ff28f5c, 0x28f5c297}, /* 3.18993=f(1.16000)*/
+{32, 0,123,__LINE__, 0x4009c6a4, 0x00000000, 0x3ff2b851, 0xeb851ec0}, /* 3.22199=f(1.17000)*/
+{32, 0,123,__LINE__, 0x400a08f5, 0x40000000, 0x3ff2e147, 0xae147ae9}, /* 3.25437=f(1.18000)*/
+{32, 0,123,__LINE__, 0x400a4bf1, 0x40000000, 0x3ff30a3d, 0x70a3d712}, /* 3.28708=f(1.19000)*/
+{32, 0,123,__LINE__, 0x3f5e989f, 0xa0000000, 0xc01921fb, 0x54442d18}, /* 0.00186=f(-6.28318)*/
+{32, 0,123,__LINE__, 0x3f8265d5, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* 0.00898=f(-4.71238)*/
+{32, 0,123,__LINE__, 0x3fa62022, 0xa0000000, 0xc00921fb, 0x54442d18}, /* 0.04321=f(-3.14159)*/
+{32, 0,123,__LINE__, 0x3fca9bcc, 0x60000000, 0xbff921fb, 0x54442d18}, /* 0.20787=f(-1.57079)*/
+{32, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x00000000, 0x00000000}, /* 1.00000=f(0.00000)*/
+{32, 0,123,__LINE__, 0x40133ded, 0xc0000000, 0x3ff921fb, 0x54442d18}, /* 4.81047=f(1.57079)*/
+{32, 0,123,__LINE__, 0x40372404, 0x60000000, 0x400921fb, 0x54442d18}, /* 23.1406=f(3.14159)*/
+{32, 0,123,__LINE__, 0x405bd456, 0x60000000, 0x4012d97c, 0x7f3321d2}, /* 111.317=f(4.71238)*/
+{32, 0,123,__LINE__, 0x3d3a56e2, 0xe0000000, 0xc03e0000, 0x00000000}, /* 9.35763e-14=f(-30.0000)*/
+{32, 0,123,__LINE__, 0x3d6205c4, 0xe0000000, 0xc03c4ccc, 0xcccccccd}, /* 5.12231e-13=f(-28.3000)*/
+{32, 0,123,__LINE__, 0x3d88a9df, 0x80000000, 0xc03a9999, 0x9999999a}, /* 2.80392e-12=f(-26.6000)*/
+{32, 0,123,__LINE__, 0x3db0e03b, 0x40000000, 0xc038e666, 0x66666667}, /* 1.53485e-11=f(-24.9000)*/
+{32, 0,123,__LINE__, 0x3dd7182b, 0xe0000000, 0xc0373333, 0x33333334}, /* 8.40170e-11=f(-23.2000)*/
+{32, 0,123,__LINE__, 0x3dff9abf, 0xc0000000, 0xc0358000, 0x00000001}, /* 4.59906e-10=f(-21.5000)*/
+{32, 0,123,__LINE__, 0x3e25a00a, 0x80000000, 0xc033cccc, 0xccccccce}, /* 2.51750e-09=f(-19.8000)*/
+{32, 0,123,__LINE__, 0x3e4d97fd, 0x40000000, 0xc0321999, 0x9999999b}, /* 1.37806e-08=f(-18.1000)*/
+{32, 0,123,__LINE__, 0x3e743fd3, 0xa0000000, 0xc0306666, 0x66666668}, /* 7.54346e-08=f(-16.4000)*/
+{32, 0,123,__LINE__, 0x3e9bb5ff, 0x80000000, 0xc02d6666, 0x6666666a}, /* 4.12925e-07=f(-14.7000)*/
+{32, 0,123,__LINE__, 0x3ec2f605, 0x60000000, 0xc02a0000, 0x00000004}, /* 2.26033e-06=f(-13.0000)*/
+{32, 0,123,__LINE__, 0x3ee9f2a9, 0xc0000000, 0xc0269999, 0x9999999e}, /* 1.23729e-05=f(-11.3000)*/
+{32, 0,123,__LINE__, 0x3f11c132, 0xa0000000, 0xc0233333, 0x33333338}, /* 6.77287e-05=f(-9.60000)*/
+{32, 0,123,__LINE__, 0x3f384c0a, 0xe0000000, 0xc01f9999, 0x999999a3}, /* 0.00037=f(-7.90000)*/
+{32, 0,123,__LINE__, 0x3f60a006, 0xa0000000, 0xc018cccc, 0xccccccd6}, /* 0.00202=f(-6.20000)*/
+{32, 0,123,__LINE__, 0x3f86c050, 0x00000000, 0xc0120000, 0x00000009}, /* 0.01110=f(-4.50000)*/
+{32, 0,123,__LINE__, 0x3faf227f, 0x40000000, 0xc0066666, 0x66666678}, /* 0.06081=f(-2.80000)*/
+{32, 0,123,__LINE__, 0x3fd54dc2, 0x60000000, 0xbff19999, 0x999999bd}, /* 0.33287=f(-1.10000)*/
+{32, 0,123,__LINE__, 0x3ffd2766, 0x20000000, 0x3fe33333, 0x333332ec}, /* 1.82211=f(0.60000)*/
+{32, 0,123,__LINE__, 0x4023f2c7, 0xe0000000, 0x40026666, 0x66666654}, /* 9.97418=f(2.30000)*/
+{32, 0,123,__LINE__, 0x404b4c90, 0x20000000, 0x400fffff, 0xffffffee}, /* 54.5981=f(4.00000)*/
+{32, 0,123,__LINE__, 0x4072ade0, 0x40000000, 0x4016cccc, 0xccccccc4}, /* 298.867=f(5.70000)*/
+{32, 0,123,__LINE__, 0x40998ff0, 0x20000000, 0x401d9999, 0x99999991}, /* 1635.98=f(7.40000)*/
+{32, 0,123,__LINE__, 0x40c17da6, 0x20000000, 0x40223333, 0x3333332f}, /* 8955.29=f(9.10000)*/
+{32, 0,123,__LINE__, 0x40e7ef9a, 0x80000000, 0x40259999, 0x99999995}, /* 49020=f(10.8000)*/
+{32, 0,123,__LINE__, 0x411060c4, 0xe0000000, 0x4028ffff, 0xfffffffb}, /* 268337=f(12.5000)*/
+{32, 0,123,__LINE__, 0x413669bf, 0xa0000000, 0x402c6666, 0x66666661}, /* 1.46886e+06=f(14.2000)*/
+{32, 0,123,__LINE__, 0x415eac08, 0x40000000, 0x402fcccc, 0xccccccc7}, /* 8.04048e+06=f(15.9000)*/
+{32, 0,123,__LINE__, 0x4184fcb5, 0x40000000, 0x40319999, 0x99999997}, /* 4.40132e+07=f(17.6000)*/
+{32, 0,123,__LINE__, 0x41acb878, 0x40000000, 0x40334ccc, 0xccccccca}, /* 2.40926e+08=f(19.3000)*/
+{32, 0,123,__LINE__, 0x41d3a6e2, 0x80000000, 0x4034ffff, 0xfffffffd}, /* 1.31882e+09=f(21.0000)*/
+{32, 0,123,__LINE__, 0x41fae4b5, 0x60000000, 0x4036b333, 0x33333330}, /* 7.21914e+09=f(22.7000)*/
+{32, 0,123,__LINE__, 0x422266cf, 0x40000000, 0x40386666, 0x66666663}, /* 3.95171e+10=f(24.4000)*/
+{32, 0,123,__LINE__, 0x42492eb0, 0x60000000, 0x403a1999, 0x99999996}, /* 2.16315e+11=f(26.1000)*/
+{32, 0,123,__LINE__, 0x42713b19, 0x20000000, 0x403bcccc, 0xccccccc9}, /* 1.18410e+12=f(27.8000)*/
+{32, 0,123,__LINE__, 0x42979489, 0x80000000, 0x403d7fff, 0xfffffffc}, /* 6.48168e+12=f(29.5000)*/
+0,};
+void test_expf(m) { run_vector_1(m,expf_vec,(char *)(expf),"expf","ff"); }
diff --git a/newlib/libm/test/fabs_vec.c b/newlib/libm/test/fabs_vec.c
new file mode 100644
index 00000000000..3c7fce71a28
--- /dev/null
+++ b/newlib/libm/test/fabs_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type fabs_vec[] = {
+{64, 0,123,__LINE__, 0x3ff33333, 0x33333333, 0xbff33333, 0x33333333}, /* 1.20000=f(-1.20000)*/
+{64, 0,123,__LINE__, 0x3ff30a3d, 0x70a3d70a, 0xbff30a3d, 0x70a3d70a}, /* 1.19000=f(-1.19000)*/
+{64, 0,123,__LINE__, 0x3ff2e147, 0xae147ae1, 0xbff2e147, 0xae147ae1}, /* 1.18000=f(-1.18000)*/
+{64, 0,123,__LINE__, 0x3ff2b851, 0xeb851eb8, 0xbff2b851, 0xeb851eb8}, /* 1.17000=f(-1.17000)*/
+{64, 0,123,__LINE__, 0x3ff28f5c, 0x28f5c28f, 0xbff28f5c, 0x28f5c28f}, /* 1.16000=f(-1.16000)*/
+{64, 0,123,__LINE__, 0x3ff26666, 0x66666666, 0xbff26666, 0x66666666}, /* 1.15000=f(-1.15000)*/
+{64, 0,123,__LINE__, 0x3ff23d70, 0xa3d70a3d, 0xbff23d70, 0xa3d70a3d}, /* 1.14000=f(-1.14000)*/
+{64, 0,123,__LINE__, 0x3ff2147a, 0xe147ae14, 0xbff2147a, 0xe147ae14}, /* 1.13000=f(-1.13000)*/
+{64, 0,123,__LINE__, 0x3ff1eb85, 0x1eb851eb, 0xbff1eb85, 0x1eb851eb}, /* 1.12000=f(-1.12000)*/
+{64, 0,123,__LINE__, 0x3ff1c28f, 0x5c28f5c2, 0xbff1c28f, 0x5c28f5c2}, /* 1.11000=f(-1.11000)*/
+{64, 0,123,__LINE__, 0x3ff19999, 0x99999999, 0xbff19999, 0x99999999}, /* 1.10000=f(-1.10000)*/
+{64, 0,123,__LINE__, 0x3ff170a3, 0xd70a3d70, 0xbff170a3, 0xd70a3d70}, /* 1.09000=f(-1.09000)*/
+{64, 0,123,__LINE__, 0x3ff147ae, 0x147ae147, 0xbff147ae, 0x147ae147}, /* 1.08000=f(-1.08000)*/
+{64, 0,123,__LINE__, 0x3ff11eb8, 0x51eb851e, 0xbff11eb8, 0x51eb851e}, /* 1.07000=f(-1.07000)*/
+{64, 0,123,__LINE__, 0x3ff0f5c2, 0x8f5c28f5, 0xbff0f5c2, 0x8f5c28f5}, /* 1.06000=f(-1.06000)*/
+{64, 0,123,__LINE__, 0x3ff0cccc, 0xcccccccc, 0xbff0cccc, 0xcccccccc}, /* 1.05000=f(-1.05000)*/
+{64, 0,123,__LINE__, 0x3ff0a3d7, 0x0a3d70a3, 0xbff0a3d7, 0x0a3d70a3}, /* 1.04000=f(-1.04000)*/
+{64, 0,123,__LINE__, 0x3ff07ae1, 0x47ae147a, 0xbff07ae1, 0x47ae147a}, /* 1.03000=f(-1.03000)*/
+{64, 0,123,__LINE__, 0x3ff051eb, 0x851eb851, 0xbff051eb, 0x851eb851}, /* 1.02000=f(-1.02000)*/
+{64, 0,123,__LINE__, 0x3ff028f5, 0xc28f5c28, 0xbff028f5, 0xc28f5c28}, /* 1.01000=f(-1.01000)*/
+{64, 0,123,__LINE__, 0x3fefffff, 0xfffffffe, 0xbfefffff, 0xfffffffe}, /* 0.01000=f(-0.01000)*/
+{64, 0,123,__LINE__, 0x3fefae14, 0x7ae147ac, 0xbfefae14, 0x7ae147ac}, /* 0.99000=f(-0.99000)*/
+{64, 0,123,__LINE__, 0x3fef5c28, 0xf5c28f5a, 0xbfef5c28, 0xf5c28f5a}, /* 0.98000=f(-0.98000)*/
+{64, 0,123,__LINE__, 0x3fef0a3d, 0x70a3d708, 0xbfef0a3d, 0x70a3d708}, /* 0.97000=f(-0.97000)*/
+{64, 0,123,__LINE__, 0x3feeb851, 0xeb851eb6, 0xbfeeb851, 0xeb851eb6}, /* 0.96000=f(-0.96000)*/
+{64, 0,123,__LINE__, 0x3fee6666, 0x66666664, 0xbfee6666, 0x66666664}, /* 0.95000=f(-0.95000)*/
+{64, 0,123,__LINE__, 0x3fee147a, 0xe147ae12, 0xbfee147a, 0xe147ae12}, /* 0.94000=f(-0.94000)*/
+{64, 0,123,__LINE__, 0x3fedc28f, 0x5c28f5c0, 0xbfedc28f, 0x5c28f5c0}, /* 0.93000=f(-0.93000)*/
+{64, 0,123,__LINE__, 0x3fed70a3, 0xd70a3d6e, 0xbfed70a3, 0xd70a3d6e}, /* 0.92000=f(-0.92000)*/
+{64, 0,123,__LINE__, 0x3fed1eb8, 0x51eb851c, 0xbfed1eb8, 0x51eb851c}, /* 0.91000=f(-0.91000)*/
+{64, 0,123,__LINE__, 0x3feccccc, 0xccccccca, 0xbfeccccc, 0xccccccca}, /* 0.90000=f(-0.90000)*/
+{64, 0,123,__LINE__, 0x3fec7ae1, 0x47ae1478, 0xbfec7ae1, 0x47ae1478}, /* 0.89000=f(-0.89000)*/
+{64, 0,123,__LINE__, 0x3fec28f5, 0xc28f5c26, 0xbfec28f5, 0xc28f5c26}, /* 0.88000=f(-0.88000)*/
+{64, 0,123,__LINE__, 0x3febd70a, 0x3d70a3d4, 0xbfebd70a, 0x3d70a3d4}, /* 0.87000=f(-0.87000)*/
+{64, 0,123,__LINE__, 0x3feb851e, 0xb851eb82, 0xbfeb851e, 0xb851eb82}, /* 0.86000=f(-0.86000)*/
+{64, 0,123,__LINE__, 0x3feb3333, 0x33333330, 0xbfeb3333, 0x33333330}, /* 0.85000=f(-0.85000)*/
+{64, 0,123,__LINE__, 0x3feae147, 0xae147ade, 0xbfeae147, 0xae147ade}, /* 0.84000=f(-0.84000)*/
+{64, 0,123,__LINE__, 0x3fea8f5c, 0x28f5c28c, 0xbfea8f5c, 0x28f5c28c}, /* 0.83000=f(-0.83000)*/
+{64, 0,123,__LINE__, 0x3fea3d70, 0xa3d70a3a, 0xbfea3d70, 0xa3d70a3a}, /* 0.82000=f(-0.82000)*/
+{64, 0,123,__LINE__, 0x3fe9eb85, 0x1eb851e8, 0xbfe9eb85, 0x1eb851e8}, /* 0.81000=f(-0.81000)*/
+{64, 0,123,__LINE__, 0x3fe99999, 0x99999996, 0xbfe99999, 0x99999996}, /* 0.80000=f(-0.80000)*/
+{64, 0,123,__LINE__, 0x3fe947ae, 0x147ae144, 0xbfe947ae, 0x147ae144}, /* 0.79000=f(-0.79000)*/
+{64, 0,123,__LINE__, 0x3fe8f5c2, 0x8f5c28f2, 0xbfe8f5c2, 0x8f5c28f2}, /* 0.78000=f(-0.78000)*/
+{64, 0,123,__LINE__, 0x3fe8a3d7, 0x0a3d70a0, 0xbfe8a3d7, 0x0a3d70a0}, /* 0.77000=f(-0.77000)*/
+{64, 0,123,__LINE__, 0x3fe851eb, 0x851eb84e, 0xbfe851eb, 0x851eb84e}, /* 0.76000=f(-0.76000)*/
+{64, 0,123,__LINE__, 0x3fe7ffff, 0xfffffffc, 0xbfe7ffff, 0xfffffffc}, /* 0.75000=f(-0.75000)*/
+{64, 0,123,__LINE__, 0x3fe7ae14, 0x7ae147aa, 0xbfe7ae14, 0x7ae147aa}, /* 0.74000=f(-0.74000)*/
+{64, 0,123,__LINE__, 0x3fe75c28, 0xf5c28f58, 0xbfe75c28, 0xf5c28f58}, /* 0.73000=f(-0.73000)*/
+{64, 0,123,__LINE__, 0x3fe70a3d, 0x70a3d706, 0xbfe70a3d, 0x70a3d706}, /* 0.72000=f(-0.72000)*/
+{64, 0,123,__LINE__, 0x3fe6b851, 0xeb851eb4, 0xbfe6b851, 0xeb851eb4}, /* 0.71000=f(-0.71000)*/
+{64, 0,123,__LINE__, 0x3fe66666, 0x66666662, 0xbfe66666, 0x66666662}, /* 0.70000=f(-0.70000)*/
+{64, 0,123,__LINE__, 0x3fe6147a, 0xe147ae10, 0xbfe6147a, 0xe147ae10}, /* 0.69000=f(-0.69000)*/
+{64, 0,123,__LINE__, 0x3fe5c28f, 0x5c28f5be, 0xbfe5c28f, 0x5c28f5be}, /* 0.68000=f(-0.68000)*/
+{64, 0,123,__LINE__, 0x3fe570a3, 0xd70a3d6c, 0xbfe570a3, 0xd70a3d6c}, /* 0.67000=f(-0.67000)*/
+{64, 0,123,__LINE__, 0x3fe51eb8, 0x51eb851a, 0xbfe51eb8, 0x51eb851a}, /* 0.66000=f(-0.66000)*/
+{64, 0,123,__LINE__, 0x3fe4cccc, 0xccccccc8, 0xbfe4cccc, 0xccccccc8}, /* 0.65000=f(-0.65000)*/
+{64, 0,123,__LINE__, 0x3fe47ae1, 0x47ae1476, 0xbfe47ae1, 0x47ae1476}, /* 0.64000=f(-0.64000)*/
+{64, 0,123,__LINE__, 0x3fe428f5, 0xc28f5c24, 0xbfe428f5, 0xc28f5c24}, /* 0.63000=f(-0.63000)*/
+{64, 0,123,__LINE__, 0x3fe3d70a, 0x3d70a3d2, 0xbfe3d70a, 0x3d70a3d2}, /* 0.62000=f(-0.62000)*/
+{64, 0,123,__LINE__, 0x3fe3851e, 0xb851eb80, 0xbfe3851e, 0xb851eb80}, /* 0.61000=f(-0.61000)*/
+{64, 0,123,__LINE__, 0x3fe33333, 0x3333332e, 0xbfe33333, 0x3333332e}, /* 0.60000=f(-0.60000)*/
+{64, 0,123,__LINE__, 0x3fe2e147, 0xae147adc, 0xbfe2e147, 0xae147adc}, /* 0.59000=f(-0.59000)*/
+{64, 0,123,__LINE__, 0x3fe28f5c, 0x28f5c28a, 0xbfe28f5c, 0x28f5c28a}, /* 0.58000=f(-0.58000)*/
+{64, 0,123,__LINE__, 0x3fe23d70, 0xa3d70a38, 0xbfe23d70, 0xa3d70a38}, /* 0.57000=f(-0.57000)*/
+{64, 0,123,__LINE__, 0x3fe1eb85, 0x1eb851e6, 0xbfe1eb85, 0x1eb851e6}, /* 0.56000=f(-0.56000)*/
+{64, 0,123,__LINE__, 0x3fe19999, 0x99999994, 0xbfe19999, 0x99999994}, /* 0.55000=f(-0.55000)*/
+{64, 0,123,__LINE__, 0x3fe147ae, 0x147ae142, 0xbfe147ae, 0x147ae142}, /* 0.54000=f(-0.54000)*/
+{64, 0,123,__LINE__, 0x3fe0f5c2, 0x8f5c28f0, 0xbfe0f5c2, 0x8f5c28f0}, /* 0.53000=f(-0.53000)*/
+{64, 0,123,__LINE__, 0x3fe0a3d7, 0x0a3d709e, 0xbfe0a3d7, 0x0a3d709e}, /* 0.52000=f(-0.52000)*/
+{64, 0,123,__LINE__, 0x3fe051eb, 0x851eb84c, 0xbfe051eb, 0x851eb84c}, /* 0.51000=f(-0.51000)*/
+{64, 0,123,__LINE__, 0x3fdfffff, 0xfffffff4, 0xbfdfffff, 0xfffffff4}, /* 0.50000=f(-0.50000)*/
+{64, 0,123,__LINE__, 0x3fdf5c28, 0xf5c28f50, 0xbfdf5c28, 0xf5c28f50}, /* 0.49000=f(-0.49000)*/
+{64, 0,123,__LINE__, 0x3fdeb851, 0xeb851eac, 0xbfdeb851, 0xeb851eac}, /* 0.48000=f(-0.48000)*/
+{64, 0,123,__LINE__, 0x3fde147a, 0xe147ae08, 0xbfde147a, 0xe147ae08}, /* 0.47000=f(-0.47000)*/
+{64, 0,123,__LINE__, 0x3fdd70a3, 0xd70a3d64, 0xbfdd70a3, 0xd70a3d64}, /* 0.46000=f(-0.46000)*/
+{64, 0,123,__LINE__, 0x3fdccccc, 0xccccccc0, 0xbfdccccc, 0xccccccc0}, /* 0.45000=f(-0.45000)*/
+{64, 0,123,__LINE__, 0x3fdc28f5, 0xc28f5c1c, 0xbfdc28f5, 0xc28f5c1c}, /* 0.44000=f(-0.44000)*/
+{64, 0,123,__LINE__, 0x3fdb851e, 0xb851eb78, 0xbfdb851e, 0xb851eb78}, /* 0.43000=f(-0.43000)*/
+{64, 0,123,__LINE__, 0x3fdae147, 0xae147ad4, 0xbfdae147, 0xae147ad4}, /* 0.42000=f(-0.42000)*/
+{64, 0,123,__LINE__, 0x3fda3d70, 0xa3d70a30, 0xbfda3d70, 0xa3d70a30}, /* 0.41000=f(-0.41000)*/
+{64, 0,123,__LINE__, 0x3fd99999, 0x9999998c, 0xbfd99999, 0x9999998c}, /* 0.40000=f(-0.40000)*/
+{64, 0,123,__LINE__, 0x3fd8f5c2, 0x8f5c28e8, 0xbfd8f5c2, 0x8f5c28e8}, /* 0.39000=f(-0.39000)*/
+{64, 0,123,__LINE__, 0x3fd851eb, 0x851eb844, 0xbfd851eb, 0x851eb844}, /* 0.38000=f(-0.38000)*/
+{64, 0,123,__LINE__, 0x3fd7ae14, 0x7ae147a0, 0xbfd7ae14, 0x7ae147a0}, /* 0.37000=f(-0.37000)*/
+{64, 0,123,__LINE__, 0x3fd70a3d, 0x70a3d6fc, 0xbfd70a3d, 0x70a3d6fc}, /* 0.36000=f(-0.36000)*/
+{64, 0,123,__LINE__, 0x3fd66666, 0x66666658, 0xbfd66666, 0x66666658}, /* 0.35000=f(-0.35000)*/
+{64, 0,123,__LINE__, 0x3fd5c28f, 0x5c28f5b4, 0xbfd5c28f, 0x5c28f5b4}, /* 0.34000=f(-0.34000)*/
+{64, 0,123,__LINE__, 0x3fd51eb8, 0x51eb8510, 0xbfd51eb8, 0x51eb8510}, /* 0.33000=f(-0.33000)*/
+{64, 0,123,__LINE__, 0x3fd47ae1, 0x47ae146c, 0xbfd47ae1, 0x47ae146c}, /* 0.32000=f(-0.32000)*/
+{64, 0,123,__LINE__, 0x3fd3d70a, 0x3d70a3c8, 0xbfd3d70a, 0x3d70a3c8}, /* 0.31000=f(-0.31000)*/
+{64, 0,123,__LINE__, 0x3fd33333, 0x33333324, 0xbfd33333, 0x33333324}, /* 0.30000=f(-0.30000)*/
+{64, 0,123,__LINE__, 0x3fd28f5c, 0x28f5c280, 0xbfd28f5c, 0x28f5c280}, /* 0.29000=f(-0.29000)*/
+{64, 0,123,__LINE__, 0x3fd1eb85, 0x1eb851dc, 0xbfd1eb85, 0x1eb851dc}, /* 0.28000=f(-0.28000)*/
+{64, 0,123,__LINE__, 0x3fd147ae, 0x147ae138, 0xbfd147ae, 0x147ae138}, /* 0.27000=f(-0.27000)*/
+{64, 0,123,__LINE__, 0x3fd0a3d7, 0x0a3d7094, 0xbfd0a3d7, 0x0a3d7094}, /* 0.26000=f(-0.26000)*/
+{64, 0,123,__LINE__, 0x3fcfffff, 0xffffffe0, 0xbfcfffff, 0xffffffe0}, /* 0.25000=f(-0.25000)*/
+{64, 0,123,__LINE__, 0x3fceb851, 0xeb851e98, 0xbfceb851, 0xeb851e98}, /* 0.24000=f(-0.24000)*/
+{64, 0,123,__LINE__, 0x3fcd70a3, 0xd70a3d50, 0xbfcd70a3, 0xd70a3d50}, /* 0.23000=f(-0.23000)*/
+{64, 0,123,__LINE__, 0x3fcc28f5, 0xc28f5c08, 0xbfcc28f5, 0xc28f5c08}, /* 0.22000=f(-0.22000)*/
+{64, 0,123,__LINE__, 0x3fcae147, 0xae147ac0, 0xbfcae147, 0xae147ac0}, /* 0.21000=f(-0.21000)*/
+{64, 0,123,__LINE__, 0x3fc99999, 0x99999978, 0xbfc99999, 0x99999978}, /* 0.20000=f(-0.20000)*/
+{64, 0,123,__LINE__, 0x3fc851eb, 0x851eb830, 0xbfc851eb, 0x851eb830}, /* 0.19000=f(-0.19000)*/
+{64, 0,123,__LINE__, 0x3fc70a3d, 0x70a3d6e8, 0xbfc70a3d, 0x70a3d6e8}, /* 0.18000=f(-0.18000)*/
+{64, 0,123,__LINE__, 0x3fc5c28f, 0x5c28f5a0, 0xbfc5c28f, 0x5c28f5a0}, /* 0.17000=f(-0.17000)*/
+{64, 0,123,__LINE__, 0x3fc47ae1, 0x47ae1458, 0xbfc47ae1, 0x47ae1458}, /* 0.16000=f(-0.16000)*/
+{64, 0,123,__LINE__, 0x3fc33333, 0x33333310, 0xbfc33333, 0x33333310}, /* 0.15000=f(-0.15000)*/
+{64, 0,123,__LINE__, 0x3fc1eb85, 0x1eb851c8, 0xbfc1eb85, 0x1eb851c8}, /* 0.14000=f(-0.14000)*/
+{64, 0,123,__LINE__, 0x3fc0a3d7, 0x0a3d7080, 0xbfc0a3d7, 0x0a3d7080}, /* 0.13000=f(-0.13000)*/
+{64, 0,123,__LINE__, 0x3fbeb851, 0xeb851e71, 0xbfbeb851, 0xeb851e71}, /* 0.12000=f(-0.12000)*/
+{64, 0,123,__LINE__, 0x3fbc28f5, 0xc28f5be2, 0xbfbc28f5, 0xc28f5be2}, /* 0.11000=f(-0.11000)*/
+{64, 0,123,__LINE__, 0x3fb99999, 0x99999953, 0xbfb99999, 0x99999953}, /* 0.00100=f(-0.00100)*/
+{64, 0,123,__LINE__, 0x3fb70a3d, 0x70a3d6c4, 0xbfb70a3d, 0x70a3d6c4}, /* 0.09000=f(-0.09000)*/
+{64, 0,123,__LINE__, 0x3fb47ae1, 0x47ae1435, 0xbfb47ae1, 0x47ae1435}, /* 0.08000=f(-0.08000)*/
+{64, 0,123,__LINE__, 0x3fb1eb85, 0x1eb851a6, 0xbfb1eb85, 0x1eb851a6}, /* 0.07000=f(-0.07000)*/
+{64, 0,123,__LINE__, 0x3faeb851, 0xeb851e2d, 0xbfaeb851, 0xeb851e2d}, /* 0.06000=f(-0.06000)*/
+{64, 0,123,__LINE__, 0x3fa99999, 0x9999990e, 0xbfa99999, 0x9999990e}, /* 0.05000=f(-0.05000)*/
+{64, 0,123,__LINE__, 0x3fa47ae1, 0x47ae13ef, 0xbfa47ae1, 0x47ae13ef}, /* 0.04000=f(-0.04000)*/
+{64, 0,123,__LINE__, 0x3f9eb851, 0xeb851da0, 0xbf9eb851, 0xeb851da0}, /* 0.03000=f(-0.03000)*/
+{64, 0,123,__LINE__, 0x3f947ae1, 0x47ae1362, 0xbf947ae1, 0x47ae1362}, /* 0.02000=f(-0.02000)*/
+{64, 0,123,__LINE__, 0x3f847ae1, 0x47ae1249, 0xbf847ae1, 0x47ae1249}, /* 0.00010=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x3cd19000, 0x00000000, 0x3cd19000, 0x00000000}, /* 9.74915e-16=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0x3f847ae1, 0x47ae16ad, 0x3f847ae1, 0x47ae16ad}, /* 0.01000=f(0.01000)*/
+{64, 0,123,__LINE__, 0x3f947ae1, 0x47ae1594, 0x3f947ae1, 0x47ae1594}, /* 0.02000=f(0.02000)*/
+{64, 0,123,__LINE__, 0x3f9eb851, 0xeb851fd2, 0x3f9eb851, 0xeb851fd2}, /* 0.03000=f(0.03000)*/
+{64, 0,123,__LINE__, 0x3fa47ae1, 0x47ae1508, 0x3fa47ae1, 0x47ae1508}, /* 0.04000=f(0.04000)*/
+{64, 0,123,__LINE__, 0x3fa99999, 0x99999a27, 0x3fa99999, 0x99999a27}, /* 0.05000=f(0.05000)*/
+{64, 0,123,__LINE__, 0x3faeb851, 0xeb851f46, 0x3faeb851, 0xeb851f46}, /* 0.06000=f(0.06000)*/
+{64, 0,123,__LINE__, 0x3fb1eb85, 0x1eb85232, 0x3fb1eb85, 0x1eb85232}, /* 0.07000=f(0.07000)*/
+{64, 0,123,__LINE__, 0x3fb47ae1, 0x47ae14c1, 0x3fb47ae1, 0x47ae14c1}, /* 0.08000=f(0.08000)*/
+{64, 0,123,__LINE__, 0x3fb70a3d, 0x70a3d750, 0x3fb70a3d, 0x70a3d750}, /* 0.09000=f(0.09000)*/
+{64, 0,123,__LINE__, 0x3fb99999, 0x999999df, 0x3fb99999, 0x999999df}, /* 0.10000=f(0.10000)*/
+{64, 0,123,__LINE__, 0x3fbc28f5, 0xc28f5c6e, 0x3fbc28f5, 0xc28f5c6e}, /* 0.11000=f(0.11000)*/
+{64, 0,123,__LINE__, 0x3fbeb851, 0xeb851efd, 0x3fbeb851, 0xeb851efd}, /* 0.12000=f(0.12000)*/
+{64, 0,123,__LINE__, 0x3fc0a3d7, 0x0a3d70c6, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.13000=f(0.13000)*/
+{64, 0,123,__LINE__, 0x3fc1eb85, 0x1eb8520e, 0x3fc1eb85, 0x1eb8520e}, /* 0.14000=f(0.14000)*/
+{64, 0,123,__LINE__, 0x3fc33333, 0x33333356, 0x3fc33333, 0x33333356}, /* 0.15000=f(0.15000)*/
+{64, 0,123,__LINE__, 0x3fc47ae1, 0x47ae149e, 0x3fc47ae1, 0x47ae149e}, /* 0.16000=f(0.16000)*/
+{64, 0,123,__LINE__, 0x3fc5c28f, 0x5c28f5e6, 0x3fc5c28f, 0x5c28f5e6}, /* 0.17000=f(0.17000)*/
+{64, 0,123,__LINE__, 0x3fc70a3d, 0x70a3d72e, 0x3fc70a3d, 0x70a3d72e}, /* 0.18000=f(0.18000)*/
+{64, 0,123,__LINE__, 0x3fc851eb, 0x851eb876, 0x3fc851eb, 0x851eb876}, /* 0.19000=f(0.19000)*/
+{64, 0,123,__LINE__, 0x3fc99999, 0x999999be, 0x3fc99999, 0x999999be}, /* 0.20000=f(0.20000)*/
+{64, 0,123,__LINE__, 0x3fcae147, 0xae147b06, 0x3fcae147, 0xae147b06}, /* 0.21000=f(0.21000)*/
+{64, 0,123,__LINE__, 0x3fcc28f5, 0xc28f5c4e, 0x3fcc28f5, 0xc28f5c4e}, /* 0.22000=f(0.22000)*/
+{64, 0,123,__LINE__, 0x3fcd70a3, 0xd70a3d96, 0x3fcd70a3, 0xd70a3d96}, /* 0.23000=f(0.23000)*/
+{64, 0,123,__LINE__, 0x3fceb851, 0xeb851ede, 0x3fceb851, 0xeb851ede}, /* 0.24000=f(0.24000)*/
+{64, 0,123,__LINE__, 0x3fd00000, 0x00000013, 0x3fd00000, 0x00000013}, /* 0.25000=f(0.25000)*/
+{64, 0,123,__LINE__, 0x3fd0a3d7, 0x0a3d70b7, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.26000=f(0.26000)*/
+{64, 0,123,__LINE__, 0x3fd147ae, 0x147ae15b, 0x3fd147ae, 0x147ae15b}, /* 0.27000=f(0.27000)*/
+{64, 0,123,__LINE__, 0x3fd1eb85, 0x1eb851ff, 0x3fd1eb85, 0x1eb851ff}, /* 0.28000=f(0.28000)*/
+{64, 0,123,__LINE__, 0x3fd28f5c, 0x28f5c2a3, 0x3fd28f5c, 0x28f5c2a3}, /* 0.29000=f(0.29000)*/
+{64, 0,123,__LINE__, 0x3fd33333, 0x33333347, 0x3fd33333, 0x33333347}, /* 0.30000=f(0.30000)*/
+{64, 0,123,__LINE__, 0x3fd3d70a, 0x3d70a3eb, 0x3fd3d70a, 0x3d70a3eb}, /* 0.31000=f(0.31000)*/
+{64, 0,123,__LINE__, 0x3fd47ae1, 0x47ae148f, 0x3fd47ae1, 0x47ae148f}, /* 0.32000=f(0.32000)*/
+{64, 0,123,__LINE__, 0x3fd51eb8, 0x51eb8533, 0x3fd51eb8, 0x51eb8533}, /* 0.33000=f(0.33000)*/
+{64, 0,123,__LINE__, 0x3fd5c28f, 0x5c28f5d7, 0x3fd5c28f, 0x5c28f5d7}, /* 0.34000=f(0.34000)*/
+{64, 0,123,__LINE__, 0x3fd66666, 0x6666667b, 0x3fd66666, 0x6666667b}, /* 0.35000=f(0.35000)*/
+{64, 0,123,__LINE__, 0x3fd70a3d, 0x70a3d71f, 0x3fd70a3d, 0x70a3d71f}, /* 0.36000=f(0.36000)*/
+{64, 0,123,__LINE__, 0x3fd7ae14, 0x7ae147c3, 0x3fd7ae14, 0x7ae147c3}, /* 0.37000=f(0.37000)*/
+{64, 0,123,__LINE__, 0x3fd851eb, 0x851eb867, 0x3fd851eb, 0x851eb867}, /* 0.38000=f(0.38000)*/
+{64, 0,123,__LINE__, 0x3fd8f5c2, 0x8f5c290b, 0x3fd8f5c2, 0x8f5c290b}, /* 0.39000=f(0.39000)*/
+{64, 0,123,__LINE__, 0x3fd99999, 0x999999af, 0x3fd99999, 0x999999af}, /* 0.40000=f(0.40000)*/
+{64, 0,123,__LINE__, 0x3fda3d70, 0xa3d70a53, 0x3fda3d70, 0xa3d70a53}, /* 0.41000=f(0.41000)*/
+{64, 0,123,__LINE__, 0x3fdae147, 0xae147af7, 0x3fdae147, 0xae147af7}, /* 0.42000=f(0.42000)*/
+{64, 0,123,__LINE__, 0x3fdb851e, 0xb851eb9b, 0x3fdb851e, 0xb851eb9b}, /* 0.43000=f(0.43000)*/
+{64, 0,123,__LINE__, 0x3fdc28f5, 0xc28f5c3f, 0x3fdc28f5, 0xc28f5c3f}, /* 0.44000=f(0.44000)*/
+{64, 0,123,__LINE__, 0x3fdccccc, 0xcccccce3, 0x3fdccccc, 0xcccccce3}, /* 0.45000=f(0.45000)*/
+{64, 0,123,__LINE__, 0x3fdd70a3, 0xd70a3d87, 0x3fdd70a3, 0xd70a3d87}, /* 0.46000=f(0.46000)*/
+{64, 0,123,__LINE__, 0x3fde147a, 0xe147ae2b, 0x3fde147a, 0xe147ae2b}, /* 0.47000=f(0.47000)*/
+{64, 0,123,__LINE__, 0x3fdeb851, 0xeb851ecf, 0x3fdeb851, 0xeb851ecf}, /* 0.48000=f(0.48000)*/
+{64, 0,123,__LINE__, 0x3fdf5c28, 0xf5c28f73, 0x3fdf5c28, 0xf5c28f73}, /* 0.49000=f(0.49000)*/
+{64, 0,123,__LINE__, 0x3fe00000, 0x0000000b, 0x3fe00000, 0x0000000b}, /* 0.50000=f(0.50000)*/
+{64, 0,123,__LINE__, 0x3fe051eb, 0x851eb85d, 0x3fe051eb, 0x851eb85d}, /* 0.51000=f(0.51000)*/
+{64, 0,123,__LINE__, 0x3fe0a3d7, 0x0a3d70af, 0x3fe0a3d7, 0x0a3d70af}, /* 0.52000=f(0.52000)*/
+{64, 0,123,__LINE__, 0x3fe0f5c2, 0x8f5c2901, 0x3fe0f5c2, 0x8f5c2901}, /* 0.53000=f(0.53000)*/
+{64, 0,123,__LINE__, 0x3fe147ae, 0x147ae153, 0x3fe147ae, 0x147ae153}, /* 0.54000=f(0.54000)*/
+{64, 0,123,__LINE__, 0x3fe19999, 0x999999a5, 0x3fe19999, 0x999999a5}, /* 0.55000=f(0.55000)*/
+{64, 0,123,__LINE__, 0x3fe1eb85, 0x1eb851f7, 0x3fe1eb85, 0x1eb851f7}, /* 0.56000=f(0.56000)*/
+{64, 0,123,__LINE__, 0x3fe23d70, 0xa3d70a49, 0x3fe23d70, 0xa3d70a49}, /* 0.57000=f(0.57000)*/
+{64, 0,123,__LINE__, 0x3fe28f5c, 0x28f5c29b, 0x3fe28f5c, 0x28f5c29b}, /* 0.58000=f(0.58000)*/
+{64, 0,123,__LINE__, 0x3fe2e147, 0xae147aed, 0x3fe2e147, 0xae147aed}, /* 0.59000=f(0.59000)*/
+{64, 0,123,__LINE__, 0x3fe33333, 0x3333333f, 0x3fe33333, 0x3333333f}, /* 0.60000=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3fe3851e, 0xb851eb91, 0x3fe3851e, 0xb851eb91}, /* 0.61000=f(0.61000)*/
+{64, 0,123,__LINE__, 0x3fe3d70a, 0x3d70a3e3, 0x3fe3d70a, 0x3d70a3e3}, /* 0.62000=f(0.62000)*/
+{64, 0,123,__LINE__, 0x3fe428f5, 0xc28f5c35, 0x3fe428f5, 0xc28f5c35}, /* 0.63000=f(0.63000)*/
+{64, 0,123,__LINE__, 0x3fe47ae1, 0x47ae1487, 0x3fe47ae1, 0x47ae1487}, /* 0.64000=f(0.64000)*/
+{64, 0,123,__LINE__, 0x3fe4cccc, 0xccccccd9, 0x3fe4cccc, 0xccccccd9}, /* 0.65000=f(0.65000)*/
+{64, 0,123,__LINE__, 0x3fe51eb8, 0x51eb852b, 0x3fe51eb8, 0x51eb852b}, /* 0.66000=f(0.66000)*/
+{64, 0,123,__LINE__, 0x3fe570a3, 0xd70a3d7d, 0x3fe570a3, 0xd70a3d7d}, /* 0.67000=f(0.67000)*/
+{64, 0,123,__LINE__, 0x3fe5c28f, 0x5c28f5cf, 0x3fe5c28f, 0x5c28f5cf}, /* 0.68000=f(0.68000)*/
+{64, 0,123,__LINE__, 0x3fe6147a, 0xe147ae21, 0x3fe6147a, 0xe147ae21}, /* 0.69000=f(0.69000)*/
+{64, 0,123,__LINE__, 0x3fe66666, 0x66666673, 0x3fe66666, 0x66666673}, /* 0.70000=f(0.70000)*/
+{64, 0,123,__LINE__, 0x3fe6b851, 0xeb851ec5, 0x3fe6b851, 0xeb851ec5}, /* 0.71000=f(0.71000)*/
+{64, 0,123,__LINE__, 0x3fe70a3d, 0x70a3d717, 0x3fe70a3d, 0x70a3d717}, /* 0.72000=f(0.72000)*/
+{64, 0,123,__LINE__, 0x3fe75c28, 0xf5c28f69, 0x3fe75c28, 0xf5c28f69}, /* 0.73000=f(0.73000)*/
+{64, 0,123,__LINE__, 0x3fe7ae14, 0x7ae147bb, 0x3fe7ae14, 0x7ae147bb}, /* 0.74000=f(0.74000)*/
+{64, 0,123,__LINE__, 0x3fe80000, 0x0000000d, 0x3fe80000, 0x0000000d}, /* 0.75000=f(0.75000)*/
+{64, 0,123,__LINE__, 0x3fe851eb, 0x851eb85f, 0x3fe851eb, 0x851eb85f}, /* 0.76000=f(0.76000)*/
+{64, 0,123,__LINE__, 0x3fe8a3d7, 0x0a3d70b1, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.77000=f(0.77000)*/
+{64, 0,123,__LINE__, 0x3fe8f5c2, 0x8f5c2903, 0x3fe8f5c2, 0x8f5c2903}, /* 0.78000=f(0.78000)*/
+{64, 0,123,__LINE__, 0x3fe947ae, 0x147ae155, 0x3fe947ae, 0x147ae155}, /* 0.79000=f(0.79000)*/
+{64, 0,123,__LINE__, 0x3fe99999, 0x999999a7, 0x3fe99999, 0x999999a7}, /* 0.80000=f(0.80000)*/
+{64, 0,123,__LINE__, 0x3fe9eb85, 0x1eb851f9, 0x3fe9eb85, 0x1eb851f9}, /* 0.81000=f(0.81000)*/
+{64, 0,123,__LINE__, 0x3fea3d70, 0xa3d70a4b, 0x3fea3d70, 0xa3d70a4b}, /* 0.82000=f(0.82000)*/
+{64, 0,123,__LINE__, 0x3fea8f5c, 0x28f5c29d, 0x3fea8f5c, 0x28f5c29d}, /* 0.83000=f(0.83000)*/
+{64, 0,123,__LINE__, 0x3feae147, 0xae147aef, 0x3feae147, 0xae147aef}, /* 0.84000=f(0.84000)*/
+{64, 0,123,__LINE__, 0x3feb3333, 0x33333341, 0x3feb3333, 0x33333341}, /* 0.85000=f(0.85000)*/
+{64, 0,123,__LINE__, 0x3feb851e, 0xb851eb93, 0x3feb851e, 0xb851eb93}, /* 0.86000=f(0.86000)*/
+{64, 0,123,__LINE__, 0x3febd70a, 0x3d70a3e5, 0x3febd70a, 0x3d70a3e5}, /* 0.87000=f(0.87000)*/
+{64, 0,123,__LINE__, 0x3fec28f5, 0xc28f5c37, 0x3fec28f5, 0xc28f5c37}, /* 0.88000=f(0.88000)*/
+{64, 0,123,__LINE__, 0x3fec7ae1, 0x47ae1489, 0x3fec7ae1, 0x47ae1489}, /* 0.89000=f(0.89000)*/
+{64, 0,123,__LINE__, 0x3feccccc, 0xccccccdb, 0x3feccccc, 0xccccccdb}, /* 0.90000=f(0.90000)*/
+{64, 0,123,__LINE__, 0x3fed1eb8, 0x51eb852d, 0x3fed1eb8, 0x51eb852d}, /* 0.91000=f(0.91000)*/
+{64, 0,123,__LINE__, 0x3fed70a3, 0xd70a3d7f, 0x3fed70a3, 0xd70a3d7f}, /* 0.92000=f(0.92000)*/
+{64, 0,123,__LINE__, 0x3fedc28f, 0x5c28f5d1, 0x3fedc28f, 0x5c28f5d1}, /* 0.93000=f(0.93000)*/
+{64, 0,123,__LINE__, 0x3fee147a, 0xe147ae23, 0x3fee147a, 0xe147ae23}, /* 0.94000=f(0.94000)*/
+{64, 0,123,__LINE__, 0x3fee6666, 0x66666675, 0x3fee6666, 0x66666675}, /* 0.95000=f(0.95000)*/
+{64, 0,123,__LINE__, 0x3feeb851, 0xeb851ec7, 0x3feeb851, 0xeb851ec7}, /* 0.96000=f(0.96000)*/
+{64, 0,123,__LINE__, 0x3fef0a3d, 0x70a3d719, 0x3fef0a3d, 0x70a3d719}, /* 0.97000=f(0.97000)*/
+{64, 0,123,__LINE__, 0x3fef5c28, 0xf5c28f6b, 0x3fef5c28, 0xf5c28f6b}, /* 0.98000=f(0.98000)*/
+{64, 0,123,__LINE__, 0x3fefae14, 0x7ae147bd, 0x3fefae14, 0x7ae147bd}, /* 0.99000=f(0.99000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000007, 0x3ff00000, 0x00000007}, /* 1.00000=f(1.00000)*/
+{64, 0,123,__LINE__, 0x3ff028f5, 0xc28f5c30, 0x3ff028f5, 0xc28f5c30}, /* 1.01000=f(1.01000)*/
+{64, 0,123,__LINE__, 0x3ff051eb, 0x851eb859, 0x3ff051eb, 0x851eb859}, /* 1.02000=f(1.02000)*/
+{64, 0,123,__LINE__, 0x3ff07ae1, 0x47ae1482, 0x3ff07ae1, 0x47ae1482}, /* 1.03000=f(1.03000)*/
+{64, 0,123,__LINE__, 0x3ff0a3d7, 0x0a3d70ab, 0x3ff0a3d7, 0x0a3d70ab}, /* 1.04000=f(1.04000)*/
+{64, 0,123,__LINE__, 0x3ff0cccc, 0xccccccd4, 0x3ff0cccc, 0xccccccd4}, /* 1.05000=f(1.05000)*/
+{64, 0,123,__LINE__, 0x3ff0f5c2, 0x8f5c28fd, 0x3ff0f5c2, 0x8f5c28fd}, /* 1.06000=f(1.06000)*/
+{64, 0,123,__LINE__, 0x3ff11eb8, 0x51eb8526, 0x3ff11eb8, 0x51eb8526}, /* 1.07000=f(1.07000)*/
+{64, 0,123,__LINE__, 0x3ff147ae, 0x147ae14f, 0x3ff147ae, 0x147ae14f}, /* 1.08000=f(1.08000)*/
+{64, 0,123,__LINE__, 0x3ff170a3, 0xd70a3d78, 0x3ff170a3, 0xd70a3d78}, /* 1.09000=f(1.09000)*/
+{64, 0,123,__LINE__, 0x3ff19999, 0x999999a1, 0x3ff19999, 0x999999a1}, /* 1.10000=f(1.10000)*/
+{64, 0,123,__LINE__, 0x3ff1c28f, 0x5c28f5ca, 0x3ff1c28f, 0x5c28f5ca}, /* 1.11000=f(1.11000)*/
+{64, 0,123,__LINE__, 0x3ff1eb85, 0x1eb851f3, 0x3ff1eb85, 0x1eb851f3}, /* 1.12000=f(1.12000)*/
+{64, 0,123,__LINE__, 0x3ff2147a, 0xe147ae1c, 0x3ff2147a, 0xe147ae1c}, /* 1.13000=f(1.13000)*/
+{64, 0,123,__LINE__, 0x3ff23d70, 0xa3d70a45, 0x3ff23d70, 0xa3d70a45}, /* 1.14000=f(1.14000)*/
+{64, 0,123,__LINE__, 0x3ff26666, 0x6666666e, 0x3ff26666, 0x6666666e}, /* 1.15000=f(1.15000)*/
+{64, 0,123,__LINE__, 0x3ff28f5c, 0x28f5c297, 0x3ff28f5c, 0x28f5c297}, /* 1.16000=f(1.16000)*/
+{64, 0,123,__LINE__, 0x3ff2b851, 0xeb851ec0, 0x3ff2b851, 0xeb851ec0}, /* 1.17000=f(1.17000)*/
+{64, 0,123,__LINE__, 0x3ff2e147, 0xae147ae9, 0x3ff2e147, 0xae147ae9}, /* 1.18000=f(1.18000)*/
+{64, 0,123,__LINE__, 0x3ff30a3d, 0x70a3d712, 0x3ff30a3d, 0x70a3d712}, /* 1.19000=f(1.19000)*/
+{64, 0,123,__LINE__, 0x401921fb, 0x54442d18, 0xc01921fb, 0x54442d18}, /* 6.28318=f(-6.28318)*/
+{64, 0,123,__LINE__, 0x4012d97c, 0x7f3321d2, 0xc012d97c, 0x7f3321d2}, /* 4.71238=f(-4.71238)*/
+{64, 0,123,__LINE__, 0x400921fb, 0x54442d18, 0xc00921fb, 0x54442d18}, /* 3.14159=f(-3.14159)*/
+{64, 0,123,__LINE__, 0x3ff921fb, 0x54442d18, 0xbff921fb, 0x54442d18}, /* 1.57079=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{64, 0,123,__LINE__, 0x3ff921fb, 0x54442d18, 0x3ff921fb, 0x54442d18}, /* 1.57079=f(1.57079)*/
+{64, 0,123,__LINE__, 0x400921fb, 0x54442d18, 0x400921fb, 0x54442d18}, /* 3.14159=f(3.14159)*/
+{64, 0,123,__LINE__, 0x4012d97c, 0x7f3321d2, 0x4012d97c, 0x7f3321d2}, /* 4.71238=f(4.71238)*/
+{64, 0,123,__LINE__, 0x403e0000, 0x00000000, 0xc03e0000, 0x00000000}, /* 30.0000=f(-30.0000)*/
+{64, 0,123,__LINE__, 0x403c4ccc, 0xcccccccd, 0xc03c4ccc, 0xcccccccd}, /* 28.3000=f(-28.3000)*/
+{64, 0,123,__LINE__, 0x403a9999, 0x9999999a, 0xc03a9999, 0x9999999a}, /* 26.6000=f(-26.6000)*/
+{64, 0,123,__LINE__, 0x4038e666, 0x66666667, 0xc038e666, 0x66666667}, /* 24.9000=f(-24.9000)*/
+{64, 0,123,__LINE__, 0x40373333, 0x33333334, 0xc0373333, 0x33333334}, /* 23.2000=f(-23.2000)*/
+{64, 0,123,__LINE__, 0x40358000, 0x00000001, 0xc0358000, 0x00000001}, /* 21.5000=f(-21.5000)*/
+{64, 0,123,__LINE__, 0x4033cccc, 0xccccccce, 0xc033cccc, 0xccccccce}, /* 19.8000=f(-19.8000)*/
+{64, 0,123,__LINE__, 0x40321999, 0x9999999b, 0xc0321999, 0x9999999b}, /* 18.1000=f(-18.1000)*/
+{64, 0,123,__LINE__, 0x40306666, 0x66666668, 0xc0306666, 0x66666668}, /* 16.4000=f(-16.4000)*/
+{64, 0,123,__LINE__, 0x402d6666, 0x6666666a, 0xc02d6666, 0x6666666a}, /* 14.7000=f(-14.7000)*/
+{64, 0,123,__LINE__, 0x402a0000, 0x00000004, 0xc02a0000, 0x00000004}, /* 13.0000=f(-13.0000)*/
+{64, 0,123,__LINE__, 0x40269999, 0x9999999e, 0xc0269999, 0x9999999e}, /* 11.3000=f(-11.3000)*/
+{64, 0,123,__LINE__, 0x40233333, 0x33333338, 0xc0233333, 0x33333338}, /* 9.60000=f(-9.60000)*/
+{64, 0,123,__LINE__, 0x401f9999, 0x999999a3, 0xc01f9999, 0x999999a3}, /* 7.90000=f(-7.90000)*/
+{64, 0,123,__LINE__, 0x4018cccc, 0xccccccd6, 0xc018cccc, 0xccccccd6}, /* 6.20000=f(-6.20000)*/
+{64, 0,123,__LINE__, 0x40120000, 0x00000009, 0xc0120000, 0x00000009}, /* 4.50000=f(-4.50000)*/
+{64, 0,123,__LINE__, 0x40066666, 0x66666678, 0xc0066666, 0x66666678}, /* 2.80000=f(-2.80000)*/
+{64, 0,123,__LINE__, 0x3ff19999, 0x999999bd, 0xbff19999, 0x999999bd}, /* 1.10000=f(-1.10000)*/
+{64, 0,123,__LINE__, 0x3fe33333, 0x333332ec, 0x3fe33333, 0x333332ec}, /* 0.60000=f(0.60000)*/
+{64, 0,123,__LINE__, 0x40026666, 0x66666654, 0x40026666, 0x66666654}, /* 2.30000=f(2.30000)*/
+{64, 0,123,__LINE__, 0x400fffff, 0xffffffee, 0x400fffff, 0xffffffee}, /* 4.00000=f(4.00000)*/
+{64, 0,123,__LINE__, 0x4016cccc, 0xccccccc4, 0x4016cccc, 0xccccccc4}, /* 5.70000=f(5.70000)*/
+{64, 0,123,__LINE__, 0x401d9999, 0x99999991, 0x401d9999, 0x99999991}, /* 7.40000=f(7.40000)*/
+{64, 0,123,__LINE__, 0x40223333, 0x3333332f, 0x40223333, 0x3333332f}, /* 9.10000=f(9.10000)*/
+{64, 0,123,__LINE__, 0x40259999, 0x99999995, 0x40259999, 0x99999995}, /* 10.8000=f(10.8000)*/
+{64, 0,123,__LINE__, 0x4028ffff, 0xfffffffb, 0x4028ffff, 0xfffffffb}, /* 12.5000=f(12.5000)*/
+{64, 0,123,__LINE__, 0x402c6666, 0x66666661, 0x402c6666, 0x66666661}, /* 14.2000=f(14.2000)*/
+{64, 0,123,__LINE__, 0x402fcccc, 0xccccccc7, 0x402fcccc, 0xccccccc7}, /* 15.9000=f(15.9000)*/
+{64, 0,123,__LINE__, 0x40319999, 0x99999997, 0x40319999, 0x99999997}, /* 17.6000=f(17.6000)*/
+{64, 0,123,__LINE__, 0x40334ccc, 0xccccccca, 0x40334ccc, 0xccccccca}, /* 19.3000=f(19.3000)*/
+{64, 0,123,__LINE__, 0x4034ffff, 0xfffffffd, 0x4034ffff, 0xfffffffd}, /* 21.0000=f(21.0000)*/
+{64, 0,123,__LINE__, 0x4036b333, 0x33333330, 0x4036b333, 0x33333330}, /* 22.7000=f(22.7000)*/
+{64, 0,123,__LINE__, 0x40386666, 0x66666663, 0x40386666, 0x66666663}, /* 24.4000=f(24.4000)*/
+{64, 0,123,__LINE__, 0x403a1999, 0x99999996, 0x403a1999, 0x99999996}, /* 26.1000=f(26.1000)*/
+{64, 0,123,__LINE__, 0x403bcccc, 0xccccccc9, 0x403bcccc, 0xccccccc9}, /* 27.8000=f(27.8000)*/
+{64, 0,123,__LINE__, 0x403d7fff, 0xfffffffc, 0x403d7fff, 0xfffffffc}, /* 29.5000=f(29.5000)*/
+0,};
+test_fabs(m) {run_vector_1(m,fabs_vec,(char *)(fabs),"fabs","dd"); }
diff --git a/newlib/libm/test/fabsf_vec.c b/newlib/libm/test/fabsf_vec.c
new file mode 100644
index 00000000000..9c8e122ffdc
--- /dev/null
+++ b/newlib/libm/test/fabsf_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type fabsf_vec[] = {
+{64, 0,123,__LINE__, 0x3ff33333, 0x40000000, 0xbff33333, 0x33333333}, /* 1.20000=f(-1.20000)*/
+{64, 0,123,__LINE__, 0x3ff30a3d, 0x80000000, 0xbff30a3d, 0x70a3d70a}, /* 1.19000=f(-1.19000)*/
+{64, 0,123,__LINE__, 0x3ff2e147, 0xa0000000, 0xbff2e147, 0xae147ae1}, /* 1.18000=f(-1.18000)*/
+{64, 0,123,__LINE__, 0x3ff2b851, 0xe0000000, 0xbff2b851, 0xeb851eb8}, /* 1.17000=f(-1.17000)*/
+{64, 0,123,__LINE__, 0x3ff28f5c, 0x20000000, 0xbff28f5c, 0x28f5c28f}, /* 1.16000=f(-1.16000)*/
+{64, 0,123,__LINE__, 0x3ff26666, 0x60000000, 0xbff26666, 0x66666666}, /* 1.15000=f(-1.15000)*/
+{64, 0,123,__LINE__, 0x3ff23d70, 0xa0000000, 0xbff23d70, 0xa3d70a3d}, /* 1.14000=f(-1.14000)*/
+{64, 0,123,__LINE__, 0x3ff2147a, 0xe0000000, 0xbff2147a, 0xe147ae14}, /* 1.13000=f(-1.13000)*/
+{64, 0,123,__LINE__, 0x3ff1eb85, 0x20000000, 0xbff1eb85, 0x1eb851eb}, /* 1.12000=f(-1.12000)*/
+{64, 0,123,__LINE__, 0x3ff1c28f, 0x60000000, 0xbff1c28f, 0x5c28f5c2}, /* 1.11000=f(-1.11000)*/
+{64, 0,123,__LINE__, 0x3ff19999, 0xa0000000, 0xbff19999, 0x99999999}, /* 1.10000=f(-1.10000)*/
+{64, 0,123,__LINE__, 0x3ff170a3, 0xe0000000, 0xbff170a3, 0xd70a3d70}, /* 1.09000=f(-1.09000)*/
+{64, 0,123,__LINE__, 0x3ff147ae, 0x20000000, 0xbff147ae, 0x147ae147}, /* 1.08000=f(-1.08000)*/
+{64, 0,123,__LINE__, 0x3ff11eb8, 0x60000000, 0xbff11eb8, 0x51eb851e}, /* 1.07000=f(-1.07000)*/
+{64, 0,123,__LINE__, 0x3ff0f5c2, 0x80000000, 0xbff0f5c2, 0x8f5c28f5}, /* 1.06000=f(-1.06000)*/
+{64, 0,123,__LINE__, 0x3ff0cccc, 0xc0000000, 0xbff0cccc, 0xcccccccc}, /* 1.05000=f(-1.05000)*/
+{64, 0,123,__LINE__, 0x3ff0a3d7, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* 1.04000=f(-1.04000)*/
+{64, 0,123,__LINE__, 0x3ff07ae1, 0x40000000, 0xbff07ae1, 0x47ae147a}, /* 1.03000=f(-1.03000)*/
+{64, 0,123,__LINE__, 0x3ff051eb, 0x80000000, 0xbff051eb, 0x851eb851}, /* 1.02000=f(-1.02000)*/
+{64, 0,123,__LINE__, 0x3ff028f5, 0xc0000000, 0xbff028f5, 0xc28f5c28}, /* 1.01000=f(-1.01000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0xbfefffff, 0xfffffffe}, /* 1.00000=f(-0.01000)*/
+{64, 0,123,__LINE__, 0x3fefae14, 0x80000000, 0xbfefae14, 0x7ae147ac}, /* 0.99000=f(-0.99000)*/
+{64, 0,123,__LINE__, 0x3fef5c29, 0x00000000, 0xbfef5c28, 0xf5c28f5a}, /* 0.98000=f(-0.98000)*/
+{64, 0,123,__LINE__, 0x3fef0a3d, 0x80000000, 0xbfef0a3d, 0x70a3d708}, /* 0.97000=f(-0.97000)*/
+{64, 0,123,__LINE__, 0x3feeb851, 0xe0000000, 0xbfeeb851, 0xeb851eb6}, /* 0.95999=f(-0.96000)*/
+{64, 0,123,__LINE__, 0x3fee6666, 0x60000000, 0xbfee6666, 0x66666664}, /* 0.94999=f(-0.95000)*/
+{64, 0,123,__LINE__, 0x3fee147a, 0xe0000000, 0xbfee147a, 0xe147ae12}, /* 0.94000=f(-0.94000)*/
+{64, 0,123,__LINE__, 0x3fedc28f, 0x60000000, 0xbfedc28f, 0x5c28f5c0}, /* 0.93000=f(-0.93000)*/
+{64, 0,123,__LINE__, 0x3fed70a3, 0xe0000000, 0xbfed70a3, 0xd70a3d6e}, /* 0.92000=f(-0.92000)*/
+{64, 0,123,__LINE__, 0x3fed1eb8, 0x60000000, 0xbfed1eb8, 0x51eb851c}, /* 0.91000=f(-0.91000)*/
+{64, 0,123,__LINE__, 0x3feccccc, 0xc0000000, 0xbfeccccc, 0xccccccca}, /* 0.89999=f(-0.90000)*/
+{64, 0,123,__LINE__, 0x3fec7ae1, 0x40000000, 0xbfec7ae1, 0x47ae1478}, /* 0.88999=f(-0.89000)*/
+{64, 0,123,__LINE__, 0x3fec28f5, 0xc0000000, 0xbfec28f5, 0xc28f5c26}, /* 0.88000=f(-0.88000)*/
+{64, 0,123,__LINE__, 0x3febd70a, 0x40000000, 0xbfebd70a, 0x3d70a3d4}, /* 0.87000=f(-0.87000)*/
+{64, 0,123,__LINE__, 0x3feb851e, 0xc0000000, 0xbfeb851e, 0xb851eb82}, /* 0.86000=f(-0.86000)*/
+{64, 0,123,__LINE__, 0x3feb3333, 0x40000000, 0xbfeb3333, 0x33333330}, /* 0.85000=f(-0.85000)*/
+{64, 0,123,__LINE__, 0x3feae147, 0xa0000000, 0xbfeae147, 0xae147ade}, /* 0.83999=f(-0.84000)*/
+{64, 0,123,__LINE__, 0x3fea8f5c, 0x20000000, 0xbfea8f5c, 0x28f5c28c}, /* 0.82999=f(-0.83000)*/
+{64, 0,123,__LINE__, 0x3fea3d70, 0xa0000000, 0xbfea3d70, 0xa3d70a3a}, /* 0.81999=f(-0.82000)*/
+{64, 0,123,__LINE__, 0x3fe9eb85, 0x20000000, 0xbfe9eb85, 0x1eb851e8}, /* 0.81000=f(-0.81000)*/
+{64, 0,123,__LINE__, 0x3fe99999, 0xa0000000, 0xbfe99999, 0x99999996}, /* 0.80000=f(-0.80000)*/
+{64, 0,123,__LINE__, 0x3fe947ae, 0x20000000, 0xbfe947ae, 0x147ae144}, /* 0.79000=f(-0.79000)*/
+{64, 0,123,__LINE__, 0x3fe8f5c2, 0x80000000, 0xbfe8f5c2, 0x8f5c28f2}, /* 0.77999=f(-0.78000)*/
+{64, 0,123,__LINE__, 0x3fe8a3d7, 0x00000000, 0xbfe8a3d7, 0x0a3d70a0}, /* 0.76999=f(-0.77000)*/
+{64, 0,123,__LINE__, 0x3fe851eb, 0x80000000, 0xbfe851eb, 0x851eb84e}, /* 0.75999=f(-0.76000)*/
+{64, 0,123,__LINE__, 0x3fe80000, 0x00000000, 0xbfe7ffff, 0xfffffffc}, /* 0.75000=f(-0.75000)*/
+{64, 0,123,__LINE__, 0x3fe7ae14, 0x80000000, 0xbfe7ae14, 0x7ae147aa}, /* 0.74000=f(-0.74000)*/
+{64, 0,123,__LINE__, 0x3fe75c29, 0x00000000, 0xbfe75c28, 0xf5c28f58}, /* 0.73000=f(-0.73000)*/
+{64, 0,123,__LINE__, 0x3fe70a3d, 0x80000000, 0xbfe70a3d, 0x70a3d706}, /* 0.72000=f(-0.72000)*/
+{64, 0,123,__LINE__, 0x3fe6b851, 0xe0000000, 0xbfe6b851, 0xeb851eb4}, /* 0.70999=f(-0.71000)*/
+{64, 0,123,__LINE__, 0x3fe66666, 0x60000000, 0xbfe66666, 0x66666662}, /* 0.69999=f(-0.70000)*/
+{64, 0,123,__LINE__, 0x3fe6147a, 0xe0000000, 0xbfe6147a, 0xe147ae10}, /* 0.69000=f(-0.69000)*/
+{64, 0,123,__LINE__, 0x3fe5c28f, 0x60000000, 0xbfe5c28f, 0x5c28f5be}, /* 0.68000=f(-0.68000)*/
+{64, 0,123,__LINE__, 0x3fe570a3, 0xe0000000, 0xbfe570a3, 0xd70a3d6c}, /* 0.67000=f(-0.67000)*/
+{64, 0,123,__LINE__, 0x3fe51eb8, 0x60000000, 0xbfe51eb8, 0x51eb851a}, /* 0.66000=f(-0.66000)*/
+{64, 0,123,__LINE__, 0x3fe4cccc, 0xc0000000, 0xbfe4cccc, 0xccccccc8}, /* 0.64999=f(-0.65000)*/
+{64, 0,123,__LINE__, 0x3fe47ae1, 0x40000000, 0xbfe47ae1, 0x47ae1476}, /* 0.63999=f(-0.64000)*/
+{64, 0,123,__LINE__, 0x3fe428f5, 0xc0000000, 0xbfe428f5, 0xc28f5c24}, /* 0.63000=f(-0.63000)*/
+{64, 0,123,__LINE__, 0x3fe3d70a, 0x40000000, 0xbfe3d70a, 0x3d70a3d2}, /* 0.62000=f(-0.62000)*/
+{64, 0,123,__LINE__, 0x3fe3851e, 0xc0000000, 0xbfe3851e, 0xb851eb80}, /* 0.61000=f(-0.61000)*/
+{64, 0,123,__LINE__, 0x3fe33333, 0x40000000, 0xbfe33333, 0x3333332e}, /* 0.60000=f(-0.60000)*/
+{64, 0,123,__LINE__, 0x3fe2e147, 0xa0000000, 0xbfe2e147, 0xae147adc}, /* 0.58999=f(-0.59000)*/
+{64, 0,123,__LINE__, 0x3fe28f5c, 0x20000000, 0xbfe28f5c, 0x28f5c28a}, /* 0.57999=f(-0.58000)*/
+{64, 0,123,__LINE__, 0x3fe23d70, 0xa0000000, 0xbfe23d70, 0xa3d70a38}, /* 0.56999=f(-0.57000)*/
+{64, 0,123,__LINE__, 0x3fe1eb85, 0x20000000, 0xbfe1eb85, 0x1eb851e6}, /* 0.56000=f(-0.56000)*/
+{64, 0,123,__LINE__, 0x3fe19999, 0xa0000000, 0xbfe19999, 0x99999994}, /* 0.55000=f(-0.55000)*/
+{64, 0,123,__LINE__, 0x3fe147ae, 0x20000000, 0xbfe147ae, 0x147ae142}, /* 0.54000=f(-0.54000)*/
+{64, 0,123,__LINE__, 0x3fe0f5c2, 0x80000000, 0xbfe0f5c2, 0x8f5c28f0}, /* 0.52999=f(-0.53000)*/
+{64, 0,123,__LINE__, 0x3fe0a3d7, 0x00000000, 0xbfe0a3d7, 0x0a3d709e}, /* 0.51999=f(-0.52000)*/
+{64, 0,123,__LINE__, 0x3fe051eb, 0x80000000, 0xbfe051eb, 0x851eb84c}, /* 0.50999=f(-0.51000)*/
+{64, 0,123,__LINE__, 0x3fe00000, 0x00000000, 0xbfdfffff, 0xfffffff4}, /* 0.50000=f(-0.50000)*/
+{64, 0,123,__LINE__, 0x3fdf5c29, 0x00000000, 0xbfdf5c28, 0xf5c28f50}, /* 0.49000=f(-0.49000)*/
+{64, 0,123,__LINE__, 0x3fdeb851, 0xe0000000, 0xbfdeb851, 0xeb851eac}, /* 0.47999=f(-0.48000)*/
+{64, 0,123,__LINE__, 0x3fde147a, 0xe0000000, 0xbfde147a, 0xe147ae08}, /* 0.47000=f(-0.47000)*/
+{64, 0,123,__LINE__, 0x3fdd70a3, 0xe0000000, 0xbfdd70a3, 0xd70a3d64}, /* 0.46000=f(-0.46000)*/
+{64, 0,123,__LINE__, 0x3fdccccc, 0xc0000000, 0xbfdccccc, 0xccccccc0}, /* 0.44999=f(-0.45000)*/
+{64, 0,123,__LINE__, 0x3fdc28f5, 0xc0000000, 0xbfdc28f5, 0xc28f5c1c}, /* 0.44000=f(-0.44000)*/
+{64, 0,123,__LINE__, 0x3fdb851e, 0xc0000000, 0xbfdb851e, 0xb851eb78}, /* 0.43000=f(-0.43000)*/
+{64, 0,123,__LINE__, 0x3fdae147, 0xa0000000, 0xbfdae147, 0xae147ad4}, /* 0.41999=f(-0.42000)*/
+{64, 0,123,__LINE__, 0x3fda3d70, 0xa0000000, 0xbfda3d70, 0xa3d70a30}, /* 0.41000=f(-0.41000)*/
+{64, 0,123,__LINE__, 0x3fd99999, 0xa0000000, 0xbfd99999, 0x9999998c}, /* 0.40000=f(-0.40000)*/
+{64, 0,123,__LINE__, 0x3fd8f5c2, 0x80000000, 0xbfd8f5c2, 0x8f5c28e8}, /* 0.38999=f(-0.39000)*/
+{64, 0,123,__LINE__, 0x3fd851eb, 0x80000000, 0xbfd851eb, 0x851eb844}, /* 0.38000=f(-0.38000)*/
+{64, 0,123,__LINE__, 0x3fd7ae14, 0x80000000, 0xbfd7ae14, 0x7ae147a0}, /* 0.37000=f(-0.37000)*/
+{64, 0,123,__LINE__, 0x3fd70a3d, 0x80000000, 0xbfd70a3d, 0x70a3d6fc}, /* 0.36000=f(-0.36000)*/
+{64, 0,123,__LINE__, 0x3fd66666, 0x60000000, 0xbfd66666, 0x66666658}, /* 0.34999=f(-0.35000)*/
+{64, 0,123,__LINE__, 0x3fd5c28f, 0x60000000, 0xbfd5c28f, 0x5c28f5b4}, /* 0.34000=f(-0.34000)*/
+{64, 0,123,__LINE__, 0x3fd51eb8, 0x60000000, 0xbfd51eb8, 0x51eb8510}, /* 0.33000=f(-0.33000)*/
+{64, 0,123,__LINE__, 0x3fd47ae1, 0x40000000, 0xbfd47ae1, 0x47ae146c}, /* 0.31999=f(-0.32000)*/
+{64, 0,123,__LINE__, 0x3fd3d70a, 0x40000000, 0xbfd3d70a, 0x3d70a3c8}, /* 0.31000=f(-0.31000)*/
+{64, 0,123,__LINE__, 0x3fd33333, 0x40000000, 0xbfd33333, 0x33333324}, /* 0.30000=f(-0.30000)*/
+{64, 0,123,__LINE__, 0x3fd28f5c, 0x20000000, 0xbfd28f5c, 0x28f5c280}, /* 0.28999=f(-0.29000)*/
+{64, 0,123,__LINE__, 0x3fd1eb85, 0x20000000, 0xbfd1eb85, 0x1eb851dc}, /* 0.28000=f(-0.28000)*/
+{64, 0,123,__LINE__, 0x3fd147ae, 0x20000000, 0xbfd147ae, 0x147ae138}, /* 0.27000=f(-0.27000)*/
+{64, 0,123,__LINE__, 0x3fd0a3d7, 0x00000000, 0xbfd0a3d7, 0x0a3d7094}, /* 0.25999=f(-0.26000)*/
+{64, 0,123,__LINE__, 0x3fd00000, 0x00000000, 0xbfcfffff, 0xffffffe0}, /* 0.25000=f(-0.25000)*/
+{64, 0,123,__LINE__, 0x3fceb851, 0xe0000000, 0xbfceb851, 0xeb851e98}, /* 0.23999=f(-0.24000)*/
+{64, 0,123,__LINE__, 0x3fcd70a3, 0xe0000000, 0xbfcd70a3, 0xd70a3d50}, /* 0.23000=f(-0.23000)*/
+{64, 0,123,__LINE__, 0x3fcc28f5, 0xc0000000, 0xbfcc28f5, 0xc28f5c08}, /* 0.22000=f(-0.22000)*/
+{64, 0,123,__LINE__, 0x3fcae147, 0xa0000000, 0xbfcae147, 0xae147ac0}, /* 0.20999=f(-0.21000)*/
+{64, 0,123,__LINE__, 0x3fc99999, 0xa0000000, 0xbfc99999, 0x99999978}, /* 0.20000=f(-0.20000)*/
+{64, 0,123,__LINE__, 0x3fc851eb, 0x80000000, 0xbfc851eb, 0x851eb830}, /* 0.19000=f(-0.19000)*/
+{64, 0,123,__LINE__, 0x3fc70a3d, 0x80000000, 0xbfc70a3d, 0x70a3d6e8}, /* 0.18000=f(-0.18000)*/
+{64, 0,123,__LINE__, 0x3fc5c28f, 0x60000000, 0xbfc5c28f, 0x5c28f5a0}, /* 0.17000=f(-0.17000)*/
+{64, 0,123,__LINE__, 0x3fc47ae1, 0x40000000, 0xbfc47ae1, 0x47ae1458}, /* 0.16000=f(-0.16000)*/
+{64, 0,123,__LINE__, 0x3fc33333, 0x40000000, 0xbfc33333, 0x33333310}, /* 0.15000=f(-0.15000)*/
+{64, 0,123,__LINE__, 0x3fc1eb85, 0x20000000, 0xbfc1eb85, 0x1eb851c8}, /* 0.14000=f(-0.14000)*/
+{64, 0,123,__LINE__, 0x3fc0a3d7, 0x00000000, 0xbfc0a3d7, 0x0a3d7080}, /* 0.13000=f(-0.13000)*/
+{64, 0,123,__LINE__, 0x3fbeb851, 0xe0000000, 0xbfbeb851, 0xeb851e71}, /* 0.12000=f(-0.12000)*/
+{64, 0,123,__LINE__, 0x3fbc28f5, 0xc0000000, 0xbfbc28f5, 0xc28f5be2}, /* 0.11000=f(-0.11000)*/
+{64, 0,123,__LINE__, 0x3fb99999, 0xa0000000, 0xbfb99999, 0x99999953}, /* 0.10000=f(-0.00100)*/
+{64, 0,123,__LINE__, 0x3fb70a3d, 0x80000000, 0xbfb70a3d, 0x70a3d6c4}, /* 0.09000=f(-0.09000)*/
+{64, 0,123,__LINE__, 0x3fb47ae1, 0x40000000, 0xbfb47ae1, 0x47ae1435}, /* 0.07999=f(-0.08000)*/
+{64, 0,123,__LINE__, 0x3fb1eb85, 0x20000000, 0xbfb1eb85, 0x1eb851a6}, /* 0.07000=f(-0.07000)*/
+{64, 0,123,__LINE__, 0x3faeb851, 0xe0000000, 0xbfaeb851, 0xeb851e2d}, /* 0.05999=f(-0.06000)*/
+{64, 0,123,__LINE__, 0x3fa99999, 0xa0000000, 0xbfa99999, 0x9999990e}, /* 0.05000=f(-0.05000)*/
+{64, 0,123,__LINE__, 0x3fa47ae1, 0x40000000, 0xbfa47ae1, 0x47ae13ef}, /* 0.03999=f(-0.04000)*/
+{64, 0,123,__LINE__, 0x3f9eb851, 0xe0000000, 0xbf9eb851, 0xeb851da0}, /* 0.02999=f(-0.03000)*/
+{64, 0,123,__LINE__, 0x3f947ae1, 0x40000000, 0xbf947ae1, 0x47ae1362}, /* 0.01999=f(-0.02000)*/
+{64, 0,123,__LINE__, 0x3f847ae1, 0x40000000, 0xbf847ae1, 0x47ae1249}, /* 0.00999=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x3cd19000, 0x00000000, 0x3cd19000, 0x00000000}, /* 9.74915e-16=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0x3f847ae1, 0x40000000, 0x3f847ae1, 0x47ae16ad}, /* 0.00999=f(0.01000)*/
+{64, 0,123,__LINE__, 0x3f947ae1, 0x40000000, 0x3f947ae1, 0x47ae1594}, /* 0.01999=f(0.02000)*/
+{64, 0,123,__LINE__, 0x3f9eb851, 0xe0000000, 0x3f9eb851, 0xeb851fd2}, /* 0.02999=f(0.03000)*/
+{64, 0,123,__LINE__, 0x3fa47ae1, 0x40000000, 0x3fa47ae1, 0x47ae1508}, /* 0.03999=f(0.04000)*/
+{64, 0,123,__LINE__, 0x3fa99999, 0xa0000000, 0x3fa99999, 0x99999a27}, /* 0.05000=f(0.05000)*/
+{64, 0,123,__LINE__, 0x3faeb851, 0xe0000000, 0x3faeb851, 0xeb851f46}, /* 0.05999=f(0.06000)*/
+{64, 0,123,__LINE__, 0x3fb1eb85, 0x20000000, 0x3fb1eb85, 0x1eb85232}, /* 0.07000=f(0.07000)*/
+{64, 0,123,__LINE__, 0x3fb47ae1, 0x40000000, 0x3fb47ae1, 0x47ae14c1}, /* 0.07999=f(0.08000)*/
+{64, 0,123,__LINE__, 0x3fb70a3d, 0x80000000, 0x3fb70a3d, 0x70a3d750}, /* 0.09000=f(0.09000)*/
+{64, 0,123,__LINE__, 0x3fb99999, 0xa0000000, 0x3fb99999, 0x999999df}, /* 0.10000=f(0.10000)*/
+{64, 0,123,__LINE__, 0x3fbc28f5, 0xc0000000, 0x3fbc28f5, 0xc28f5c6e}, /* 0.11000=f(0.11000)*/
+{64, 0,123,__LINE__, 0x3fbeb851, 0xe0000000, 0x3fbeb851, 0xeb851efd}, /* 0.12000=f(0.12000)*/
+{64, 0,123,__LINE__, 0x3fc0a3d7, 0x00000000, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.13000=f(0.13000)*/
+{64, 0,123,__LINE__, 0x3fc1eb85, 0x20000000, 0x3fc1eb85, 0x1eb8520e}, /* 0.14000=f(0.14000)*/
+{64, 0,123,__LINE__, 0x3fc33333, 0x40000000, 0x3fc33333, 0x33333356}, /* 0.15000=f(0.15000)*/
+{64, 0,123,__LINE__, 0x3fc47ae1, 0x40000000, 0x3fc47ae1, 0x47ae149e}, /* 0.16000=f(0.16000)*/
+{64, 0,123,__LINE__, 0x3fc5c28f, 0x60000000, 0x3fc5c28f, 0x5c28f5e6}, /* 0.17000=f(0.17000)*/
+{64, 0,123,__LINE__, 0x3fc70a3d, 0x80000000, 0x3fc70a3d, 0x70a3d72e}, /* 0.18000=f(0.18000)*/
+{64, 0,123,__LINE__, 0x3fc851eb, 0x80000000, 0x3fc851eb, 0x851eb876}, /* 0.19000=f(0.19000)*/
+{64, 0,123,__LINE__, 0x3fc99999, 0xa0000000, 0x3fc99999, 0x999999be}, /* 0.20000=f(0.20000)*/
+{64, 0,123,__LINE__, 0x3fcae147, 0xa0000000, 0x3fcae147, 0xae147b06}, /* 0.20999=f(0.21000)*/
+{64, 0,123,__LINE__, 0x3fcc28f5, 0xc0000000, 0x3fcc28f5, 0xc28f5c4e}, /* 0.22000=f(0.22000)*/
+{64, 0,123,__LINE__, 0x3fcd70a3, 0xe0000000, 0x3fcd70a3, 0xd70a3d96}, /* 0.23000=f(0.23000)*/
+{64, 0,123,__LINE__, 0x3fceb851, 0xe0000000, 0x3fceb851, 0xeb851ede}, /* 0.23999=f(0.24000)*/
+{64, 0,123,__LINE__, 0x3fd00000, 0x00000000, 0x3fd00000, 0x00000013}, /* 0.25000=f(0.25000)*/
+{64, 0,123,__LINE__, 0x3fd0a3d7, 0x00000000, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.25999=f(0.26000)*/
+{64, 0,123,__LINE__, 0x3fd147ae, 0x20000000, 0x3fd147ae, 0x147ae15b}, /* 0.27000=f(0.27000)*/
+{64, 0,123,__LINE__, 0x3fd1eb85, 0x20000000, 0x3fd1eb85, 0x1eb851ff}, /* 0.28000=f(0.28000)*/
+{64, 0,123,__LINE__, 0x3fd28f5c, 0x20000000, 0x3fd28f5c, 0x28f5c2a3}, /* 0.28999=f(0.29000)*/
+{64, 0,123,__LINE__, 0x3fd33333, 0x40000000, 0x3fd33333, 0x33333347}, /* 0.30000=f(0.30000)*/
+{64, 0,123,__LINE__, 0x3fd3d70a, 0x40000000, 0x3fd3d70a, 0x3d70a3eb}, /* 0.31000=f(0.31000)*/
+{64, 0,123,__LINE__, 0x3fd47ae1, 0x40000000, 0x3fd47ae1, 0x47ae148f}, /* 0.31999=f(0.32000)*/
+{64, 0,123,__LINE__, 0x3fd51eb8, 0x60000000, 0x3fd51eb8, 0x51eb8533}, /* 0.33000=f(0.33000)*/
+{64, 0,123,__LINE__, 0x3fd5c28f, 0x60000000, 0x3fd5c28f, 0x5c28f5d7}, /* 0.34000=f(0.34000)*/
+{64, 0,123,__LINE__, 0x3fd66666, 0x60000000, 0x3fd66666, 0x6666667b}, /* 0.34999=f(0.35000)*/
+{64, 0,123,__LINE__, 0x3fd70a3d, 0x80000000, 0x3fd70a3d, 0x70a3d71f}, /* 0.36000=f(0.36000)*/
+{64, 0,123,__LINE__, 0x3fd7ae14, 0x80000000, 0x3fd7ae14, 0x7ae147c3}, /* 0.37000=f(0.37000)*/
+{64, 0,123,__LINE__, 0x3fd851eb, 0x80000000, 0x3fd851eb, 0x851eb867}, /* 0.38000=f(0.38000)*/
+{64, 0,123,__LINE__, 0x3fd8f5c2, 0x80000000, 0x3fd8f5c2, 0x8f5c290b}, /* 0.38999=f(0.39000)*/
+{64, 0,123,__LINE__, 0x3fd99999, 0xa0000000, 0x3fd99999, 0x999999af}, /* 0.40000=f(0.40000)*/
+{64, 0,123,__LINE__, 0x3fda3d70, 0xa0000000, 0x3fda3d70, 0xa3d70a53}, /* 0.41000=f(0.41000)*/
+{64, 0,123,__LINE__, 0x3fdae147, 0xa0000000, 0x3fdae147, 0xae147af7}, /* 0.41999=f(0.42000)*/
+{64, 0,123,__LINE__, 0x3fdb851e, 0xc0000000, 0x3fdb851e, 0xb851eb9b}, /* 0.43000=f(0.43000)*/
+{64, 0,123,__LINE__, 0x3fdc28f5, 0xc0000000, 0x3fdc28f5, 0xc28f5c3f}, /* 0.44000=f(0.44000)*/
+{64, 0,123,__LINE__, 0x3fdccccc, 0xc0000000, 0x3fdccccc, 0xcccccce3}, /* 0.44999=f(0.45000)*/
+{64, 0,123,__LINE__, 0x3fdd70a3, 0xe0000000, 0x3fdd70a3, 0xd70a3d87}, /* 0.46000=f(0.46000)*/
+{64, 0,123,__LINE__, 0x3fde147a, 0xe0000000, 0x3fde147a, 0xe147ae2b}, /* 0.47000=f(0.47000)*/
+{64, 0,123,__LINE__, 0x3fdeb851, 0xe0000000, 0x3fdeb851, 0xeb851ecf}, /* 0.47999=f(0.48000)*/
+{64, 0,123,__LINE__, 0x3fdf5c29, 0x00000000, 0x3fdf5c28, 0xf5c28f73}, /* 0.49000=f(0.49000)*/
+{64, 0,123,__LINE__, 0x3fe00000, 0x00000000, 0x3fe00000, 0x0000000b}, /* 0.50000=f(0.50000)*/
+{64, 0,123,__LINE__, 0x3fe051eb, 0x80000000, 0x3fe051eb, 0x851eb85d}, /* 0.50999=f(0.51000)*/
+{64, 0,123,__LINE__, 0x3fe0a3d7, 0x00000000, 0x3fe0a3d7, 0x0a3d70af}, /* 0.51999=f(0.52000)*/
+{64, 0,123,__LINE__, 0x3fe0f5c2, 0x80000000, 0x3fe0f5c2, 0x8f5c2901}, /* 0.52999=f(0.53000)*/
+{64, 0,123,__LINE__, 0x3fe147ae, 0x20000000, 0x3fe147ae, 0x147ae153}, /* 0.54000=f(0.54000)*/
+{64, 0,123,__LINE__, 0x3fe19999, 0xa0000000, 0x3fe19999, 0x999999a5}, /* 0.55000=f(0.55000)*/
+{64, 0,123,__LINE__, 0x3fe1eb85, 0x20000000, 0x3fe1eb85, 0x1eb851f7}, /* 0.56000=f(0.56000)*/
+{64, 0,123,__LINE__, 0x3fe23d70, 0xa0000000, 0x3fe23d70, 0xa3d70a49}, /* 0.56999=f(0.57000)*/
+{64, 0,123,__LINE__, 0x3fe28f5c, 0x20000000, 0x3fe28f5c, 0x28f5c29b}, /* 0.57999=f(0.58000)*/
+{64, 0,123,__LINE__, 0x3fe2e147, 0xa0000000, 0x3fe2e147, 0xae147aed}, /* 0.58999=f(0.59000)*/
+{64, 0,123,__LINE__, 0x3fe33333, 0x40000000, 0x3fe33333, 0x3333333f}, /* 0.60000=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3fe3851e, 0xc0000000, 0x3fe3851e, 0xb851eb91}, /* 0.61000=f(0.61000)*/
+{64, 0,123,__LINE__, 0x3fe3d70a, 0x40000000, 0x3fe3d70a, 0x3d70a3e3}, /* 0.62000=f(0.62000)*/
+{64, 0,123,__LINE__, 0x3fe428f5, 0xc0000000, 0x3fe428f5, 0xc28f5c35}, /* 0.63000=f(0.63000)*/
+{64, 0,123,__LINE__, 0x3fe47ae1, 0x40000000, 0x3fe47ae1, 0x47ae1487}, /* 0.63999=f(0.64000)*/
+{64, 0,123,__LINE__, 0x3fe4cccc, 0xc0000000, 0x3fe4cccc, 0xccccccd9}, /* 0.64999=f(0.65000)*/
+{64, 0,123,__LINE__, 0x3fe51eb8, 0x60000000, 0x3fe51eb8, 0x51eb852b}, /* 0.66000=f(0.66000)*/
+{64, 0,123,__LINE__, 0x3fe570a3, 0xe0000000, 0x3fe570a3, 0xd70a3d7d}, /* 0.67000=f(0.67000)*/
+{64, 0,123,__LINE__, 0x3fe5c28f, 0x60000000, 0x3fe5c28f, 0x5c28f5cf}, /* 0.68000=f(0.68000)*/
+{64, 0,123,__LINE__, 0x3fe6147a, 0xe0000000, 0x3fe6147a, 0xe147ae21}, /* 0.69000=f(0.69000)*/
+{64, 0,123,__LINE__, 0x3fe66666, 0x60000000, 0x3fe66666, 0x66666673}, /* 0.69999=f(0.70000)*/
+{64, 0,123,__LINE__, 0x3fe6b851, 0xe0000000, 0x3fe6b851, 0xeb851ec5}, /* 0.70999=f(0.71000)*/
+{64, 0,123,__LINE__, 0x3fe70a3d, 0x80000000, 0x3fe70a3d, 0x70a3d717}, /* 0.72000=f(0.72000)*/
+{64, 0,123,__LINE__, 0x3fe75c29, 0x00000000, 0x3fe75c28, 0xf5c28f69}, /* 0.73000=f(0.73000)*/
+{64, 0,123,__LINE__, 0x3fe7ae14, 0x80000000, 0x3fe7ae14, 0x7ae147bb}, /* 0.74000=f(0.74000)*/
+{64, 0,123,__LINE__, 0x3fe80000, 0x00000000, 0x3fe80000, 0x0000000d}, /* 0.75000=f(0.75000)*/
+{64, 0,123,__LINE__, 0x3fe851eb, 0x80000000, 0x3fe851eb, 0x851eb85f}, /* 0.75999=f(0.76000)*/
+{64, 0,123,__LINE__, 0x3fe8a3d7, 0x00000000, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.76999=f(0.77000)*/
+{64, 0,123,__LINE__, 0x3fe8f5c2, 0x80000000, 0x3fe8f5c2, 0x8f5c2903}, /* 0.77999=f(0.78000)*/
+{64, 0,123,__LINE__, 0x3fe947ae, 0x20000000, 0x3fe947ae, 0x147ae155}, /* 0.79000=f(0.79000)*/
+{64, 0,123,__LINE__, 0x3fe99999, 0xa0000000, 0x3fe99999, 0x999999a7}, /* 0.80000=f(0.80000)*/
+{64, 0,123,__LINE__, 0x3fe9eb85, 0x20000000, 0x3fe9eb85, 0x1eb851f9}, /* 0.81000=f(0.81000)*/
+{64, 0,123,__LINE__, 0x3fea3d70, 0xa0000000, 0x3fea3d70, 0xa3d70a4b}, /* 0.81999=f(0.82000)*/
+{64, 0,123,__LINE__, 0x3fea8f5c, 0x20000000, 0x3fea8f5c, 0x28f5c29d}, /* 0.82999=f(0.83000)*/
+{64, 0,123,__LINE__, 0x3feae147, 0xa0000000, 0x3feae147, 0xae147aef}, /* 0.83999=f(0.84000)*/
+{64, 0,123,__LINE__, 0x3feb3333, 0x40000000, 0x3feb3333, 0x33333341}, /* 0.85000=f(0.85000)*/
+{64, 0,123,__LINE__, 0x3feb851e, 0xc0000000, 0x3feb851e, 0xb851eb93}, /* 0.86000=f(0.86000)*/
+{64, 0,123,__LINE__, 0x3febd70a, 0x40000000, 0x3febd70a, 0x3d70a3e5}, /* 0.87000=f(0.87000)*/
+{64, 0,123,__LINE__, 0x3fec28f5, 0xc0000000, 0x3fec28f5, 0xc28f5c37}, /* 0.88000=f(0.88000)*/
+{64, 0,123,__LINE__, 0x3fec7ae1, 0x40000000, 0x3fec7ae1, 0x47ae1489}, /* 0.88999=f(0.89000)*/
+{64, 0,123,__LINE__, 0x3feccccc, 0xc0000000, 0x3feccccc, 0xccccccdb}, /* 0.89999=f(0.90000)*/
+{64, 0,123,__LINE__, 0x3fed1eb8, 0x60000000, 0x3fed1eb8, 0x51eb852d}, /* 0.91000=f(0.91000)*/
+{64, 0,123,__LINE__, 0x3fed70a3, 0xe0000000, 0x3fed70a3, 0xd70a3d7f}, /* 0.92000=f(0.92000)*/
+{64, 0,123,__LINE__, 0x3fedc28f, 0x60000000, 0x3fedc28f, 0x5c28f5d1}, /* 0.93000=f(0.93000)*/
+{64, 0,123,__LINE__, 0x3fee147a, 0xe0000000, 0x3fee147a, 0xe147ae23}, /* 0.94000=f(0.94000)*/
+{64, 0,123,__LINE__, 0x3fee6666, 0x60000000, 0x3fee6666, 0x66666675}, /* 0.94999=f(0.95000)*/
+{64, 0,123,__LINE__, 0x3feeb851, 0xe0000000, 0x3feeb851, 0xeb851ec7}, /* 0.95999=f(0.96000)*/
+{64, 0,123,__LINE__, 0x3fef0a3d, 0x80000000, 0x3fef0a3d, 0x70a3d719}, /* 0.97000=f(0.97000)*/
+{64, 0,123,__LINE__, 0x3fef5c29, 0x00000000, 0x3fef5c28, 0xf5c28f6b}, /* 0.98000=f(0.98000)*/
+{64, 0,123,__LINE__, 0x3fefae14, 0x80000000, 0x3fefae14, 0x7ae147bd}, /* 0.99000=f(0.99000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff00000, 0x00000007}, /* 1.00000=f(1.00000)*/
+{64, 0,123,__LINE__, 0x3ff028f5, 0xc0000000, 0x3ff028f5, 0xc28f5c30}, /* 1.01000=f(1.01000)*/
+{64, 0,123,__LINE__, 0x3ff051eb, 0x80000000, 0x3ff051eb, 0x851eb859}, /* 1.02000=f(1.02000)*/
+{64, 0,123,__LINE__, 0x3ff07ae1, 0x40000000, 0x3ff07ae1, 0x47ae1482}, /* 1.03000=f(1.03000)*/
+{64, 0,123,__LINE__, 0x3ff0a3d7, 0x00000000, 0x3ff0a3d7, 0x0a3d70ab}, /* 1.04000=f(1.04000)*/
+{64, 0,123,__LINE__, 0x3ff0cccc, 0xc0000000, 0x3ff0cccc, 0xccccccd4}, /* 1.05000=f(1.05000)*/
+{64, 0,123,__LINE__, 0x3ff0f5c2, 0x80000000, 0x3ff0f5c2, 0x8f5c28fd}, /* 1.06000=f(1.06000)*/
+{64, 0,123,__LINE__, 0x3ff11eb8, 0x60000000, 0x3ff11eb8, 0x51eb8526}, /* 1.07000=f(1.07000)*/
+{64, 0,123,__LINE__, 0x3ff147ae, 0x20000000, 0x3ff147ae, 0x147ae14f}, /* 1.08000=f(1.08000)*/
+{64, 0,123,__LINE__, 0x3ff170a3, 0xe0000000, 0x3ff170a3, 0xd70a3d78}, /* 1.09000=f(1.09000)*/
+{64, 0,123,__LINE__, 0x3ff19999, 0xa0000000, 0x3ff19999, 0x999999a1}, /* 1.10000=f(1.10000)*/
+{64, 0,123,__LINE__, 0x3ff1c28f, 0x60000000, 0x3ff1c28f, 0x5c28f5ca}, /* 1.11000=f(1.11000)*/
+{64, 0,123,__LINE__, 0x3ff1eb85, 0x20000000, 0x3ff1eb85, 0x1eb851f3}, /* 1.12000=f(1.12000)*/
+{64, 0,123,__LINE__, 0x3ff2147a, 0xe0000000, 0x3ff2147a, 0xe147ae1c}, /* 1.13000=f(1.13000)*/
+{64, 0,123,__LINE__, 0x3ff23d70, 0xa0000000, 0x3ff23d70, 0xa3d70a45}, /* 1.14000=f(1.14000)*/
+{64, 0,123,__LINE__, 0x3ff26666, 0x60000000, 0x3ff26666, 0x6666666e}, /* 1.15000=f(1.15000)*/
+{64, 0,123,__LINE__, 0x3ff28f5c, 0x20000000, 0x3ff28f5c, 0x28f5c297}, /* 1.16000=f(1.16000)*/
+{64, 0,123,__LINE__, 0x3ff2b851, 0xe0000000, 0x3ff2b851, 0xeb851ec0}, /* 1.17000=f(1.17000)*/
+{64, 0,123,__LINE__, 0x3ff2e147, 0xa0000000, 0x3ff2e147, 0xae147ae9}, /* 1.18000=f(1.18000)*/
+{64, 0,123,__LINE__, 0x3ff30a3d, 0x80000000, 0x3ff30a3d, 0x70a3d712}, /* 1.19000=f(1.19000)*/
+{64, 0,123,__LINE__, 0x401921fb, 0x60000000, 0xc01921fb, 0x54442d18}, /* 6.28318=f(-6.28318)*/
+{64, 0,123,__LINE__, 0x4012d97c, 0x80000000, 0xc012d97c, 0x7f3321d2}, /* 4.71238=f(-4.71238)*/
+{64, 0,123,__LINE__, 0x400921fb, 0x60000000, 0xc00921fb, 0x54442d18}, /* 3.14159=f(-3.14159)*/
+{64, 0,123,__LINE__, 0x3ff921fb, 0x60000000, 0xbff921fb, 0x54442d18}, /* 1.57079=f(-1.57079)*/
+{ 0, 0,123,__LINE__, 0x80000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{64, 0,123,__LINE__, 0x3ff921fb, 0x60000000, 0x3ff921fb, 0x54442d18}, /* 1.57079=f(1.57079)*/
+{64, 0,123,__LINE__, 0x400921fb, 0x60000000, 0x400921fb, 0x54442d18}, /* 3.14159=f(3.14159)*/
+{64, 0,123,__LINE__, 0x4012d97c, 0x80000000, 0x4012d97c, 0x7f3321d2}, /* 4.71238=f(4.71238)*/
+{64, 0,123,__LINE__, 0x403e0000, 0x00000000, 0xc03e0000, 0x00000000}, /* 30.0000=f(-30.0000)*/
+{64, 0,123,__LINE__, 0x403c4ccc, 0xc0000000, 0xc03c4ccc, 0xcccccccd}, /* 28.2999=f(-28.3000)*/
+{64, 0,123,__LINE__, 0x403a9999, 0xa0000000, 0xc03a9999, 0x9999999a}, /* 26.6000=f(-26.6000)*/
+{64, 0,123,__LINE__, 0x4038e666, 0x60000000, 0xc038e666, 0x66666667}, /* 24.9000=f(-24.9000)*/
+{64, 0,123,__LINE__, 0x40373333, 0x40000000, 0xc0373333, 0x33333334}, /* 23.2000=f(-23.2000)*/
+{64, 0,123,__LINE__, 0x40358000, 0x00000000, 0xc0358000, 0x00000001}, /* 21.5000=f(-21.5000)*/
+{64, 0,123,__LINE__, 0x4033cccc, 0xc0000000, 0xc033cccc, 0xccccccce}, /* 19.7999=f(-19.8000)*/
+{64, 0,123,__LINE__, 0x40321999, 0xa0000000, 0xc0321999, 0x9999999b}, /* 18.1000=f(-18.1000)*/
+{64, 0,123,__LINE__, 0x40306666, 0x60000000, 0xc0306666, 0x66666668}, /* 16.4000=f(-16.4000)*/
+{64, 0,123,__LINE__, 0x402d6666, 0x60000000, 0xc02d6666, 0x6666666a}, /* 14.7000=f(-14.7000)*/
+{64, 0,123,__LINE__, 0x402a0000, 0x00000000, 0xc02a0000, 0x00000004}, /* 13.0000=f(-13.0000)*/
+{64, 0,123,__LINE__, 0x40269999, 0xa0000000, 0xc0269999, 0x9999999e}, /* 11.3000=f(-11.3000)*/
+{64, 0,123,__LINE__, 0x40233333, 0x40000000, 0xc0233333, 0x33333338}, /* 9.60000=f(-9.60000)*/
+{64, 0,123,__LINE__, 0x401f9999, 0xa0000000, 0xc01f9999, 0x999999a3}, /* 7.90000=f(-7.90000)*/
+{64, 0,123,__LINE__, 0x4018cccc, 0xc0000000, 0xc018cccc, 0xccccccd6}, /* 6.20000=f(-6.20000)*/
+{64, 0,123,__LINE__, 0x40120000, 0x00000000, 0xc0120000, 0x00000009}, /* 4.50000=f(-4.50000)*/
+{64, 0,123,__LINE__, 0x40066666, 0x60000000, 0xc0066666, 0x66666678}, /* 2.80000=f(-2.80000)*/
+{64, 0,123,__LINE__, 0x3ff19999, 0xa0000000, 0xbff19999, 0x999999bd}, /* 1.10000=f(-1.10000)*/
+{64, 0,123,__LINE__, 0x3fe33333, 0x40000000, 0x3fe33333, 0x333332ec}, /* 0.60000=f(0.60000)*/
+{64, 0,123,__LINE__, 0x40026666, 0x60000000, 0x40026666, 0x66666654}, /* 2.30000=f(2.30000)*/
+{64, 0,123,__LINE__, 0x40100000, 0x00000000, 0x400fffff, 0xffffffee}, /* 4.00000=f(4.00000)*/
+{64, 0,123,__LINE__, 0x4016cccc, 0xc0000000, 0x4016cccc, 0xccccccc4}, /* 5.70000=f(5.70000)*/
+{64, 0,123,__LINE__, 0x401d9999, 0xa0000000, 0x401d9999, 0x99999991}, /* 7.40000=f(7.40000)*/
+{64, 0,123,__LINE__, 0x40223333, 0x40000000, 0x40223333, 0x3333332f}, /* 9.10000=f(9.10000)*/
+{64, 0,123,__LINE__, 0x40259999, 0xa0000000, 0x40259999, 0x99999995}, /* 10.8000=f(10.8000)*/
+{64, 0,123,__LINE__, 0x40290000, 0x00000000, 0x4028ffff, 0xfffffffb}, /* 12.5000=f(12.5000)*/
+{64, 0,123,__LINE__, 0x402c6666, 0x60000000, 0x402c6666, 0x66666661}, /* 14.2000=f(14.2000)*/
+{64, 0,123,__LINE__, 0x402fcccc, 0xc0000000, 0x402fcccc, 0xccccccc7}, /* 15.9000=f(15.9000)*/
+{64, 0,123,__LINE__, 0x40319999, 0xa0000000, 0x40319999, 0x99999997}, /* 17.6000=f(17.6000)*/
+{64, 0,123,__LINE__, 0x40334ccc, 0xc0000000, 0x40334ccc, 0xccccccca}, /* 19.2999=f(19.3000)*/
+{64, 0,123,__LINE__, 0x40350000, 0x00000000, 0x4034ffff, 0xfffffffd}, /* 21.0000=f(21.0000)*/
+{64, 0,123,__LINE__, 0x4036b333, 0x40000000, 0x4036b333, 0x33333330}, /* 22.7000=f(22.7000)*/
+{64, 0,123,__LINE__, 0x40386666, 0x60000000, 0x40386666, 0x66666663}, /* 24.4000=f(24.4000)*/
+{64, 0,123,__LINE__, 0x403a1999, 0xa0000000, 0x403a1999, 0x99999996}, /* 26.1000=f(26.1000)*/
+{64, 0,123,__LINE__, 0x403bcccc, 0xc0000000, 0x403bcccc, 0xccccccc9}, /* 27.7999=f(27.8000)*/
+{64, 0,123,__LINE__, 0x403d8000, 0x00000000, 0x403d7fff, 0xfffffffc}, /* 29.5000=f(29.5000)*/
+0,};
+test_fabsf(m) {run_vector_1(m,fabsf_vec,(char *)(fabsf),"fabsf","ff"); }
diff --git a/newlib/libm/test/floor_vec.c b/newlib/libm/test/floor_vec.c
new file mode 100644
index 00000000000..2272a7dfa3d
--- /dev/null
+++ b/newlib/libm/test/floor_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type floor_vec[] = {
+{64, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff33333, 0x33333333}, /* -2.00000=f(-1.20000)*/
+{64, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* -2.00000=f(-1.19000)*/
+{64, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* -2.00000=f(-1.18000)*/
+{64, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* -2.00000=f(-1.17000)*/
+{64, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* -2.00000=f(-1.16000)*/
+{64, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff26666, 0x66666666}, /* -2.00000=f(-1.15000)*/
+{64, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* -2.00000=f(-1.14000)*/
+{64, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* -2.00000=f(-1.13000)*/
+{64, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* -2.00000=f(-1.12000)*/
+{64, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* -2.00000=f(-1.11000)*/
+{64, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff19999, 0x99999999}, /* -2.00000=f(-1.10000)*/
+{64, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* -2.00000=f(-1.09000)*/
+{64, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff147ae, 0x147ae147}, /* -2.00000=f(-1.08000)*/
+{64, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* -2.00000=f(-1.07000)*/
+{64, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* -2.00000=f(-1.06000)*/
+{64, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* -2.00000=f(-1.05000)*/
+{64, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* -2.00000=f(-1.04000)*/
+{64, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* -2.00000=f(-1.03000)*/
+{64, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff051eb, 0x851eb851}, /* -2.00000=f(-1.02000)*/
+{64, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* -2.00000=f(-1.01000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfefffff, 0xfffffffe}, /* -1.00000=f(-0.01000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfefae14, 0x7ae147ac}, /* -1.00000=f(-0.99000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfef5c28, 0xf5c28f5a}, /* -1.00000=f(-0.98000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfef0a3d, 0x70a3d708}, /* -1.00000=f(-0.97000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfeeb851, 0xeb851eb6}, /* -1.00000=f(-0.96000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfee6666, 0x66666664}, /* -1.00000=f(-0.95000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfee147a, 0xe147ae12}, /* -1.00000=f(-0.94000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfedc28f, 0x5c28f5c0}, /* -1.00000=f(-0.93000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfed70a3, 0xd70a3d6e}, /* -1.00000=f(-0.92000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfed1eb8, 0x51eb851c}, /* -1.00000=f(-0.91000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfeccccc, 0xccccccca}, /* -1.00000=f(-0.90000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfec7ae1, 0x47ae1478}, /* -1.00000=f(-0.89000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfec28f5, 0xc28f5c26}, /* -1.00000=f(-0.88000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfebd70a, 0x3d70a3d4}, /* -1.00000=f(-0.87000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfeb851e, 0xb851eb82}, /* -1.00000=f(-0.86000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfeb3333, 0x33333330}, /* -1.00000=f(-0.85000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfeae147, 0xae147ade}, /* -1.00000=f(-0.84000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfea8f5c, 0x28f5c28c}, /* -1.00000=f(-0.83000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfea3d70, 0xa3d70a3a}, /* -1.00000=f(-0.82000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe9eb85, 0x1eb851e8}, /* -1.00000=f(-0.81000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe99999, 0x99999996}, /* -1.00000=f(-0.80000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe947ae, 0x147ae144}, /* -1.00000=f(-0.79000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe8f5c2, 0x8f5c28f2}, /* -1.00000=f(-0.78000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe8a3d7, 0x0a3d70a0}, /* -1.00000=f(-0.77000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe851eb, 0x851eb84e}, /* -1.00000=f(-0.76000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe7ffff, 0xfffffffc}, /* -1.00000=f(-0.75000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe7ae14, 0x7ae147aa}, /* -1.00000=f(-0.74000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe75c28, 0xf5c28f58}, /* -1.00000=f(-0.73000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe70a3d, 0x70a3d706}, /* -1.00000=f(-0.72000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe6b851, 0xeb851eb4}, /* -1.00000=f(-0.71000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe66666, 0x66666662}, /* -1.00000=f(-0.70000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe6147a, 0xe147ae10}, /* -1.00000=f(-0.69000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe5c28f, 0x5c28f5be}, /* -1.00000=f(-0.68000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe570a3, 0xd70a3d6c}, /* -1.00000=f(-0.67000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe51eb8, 0x51eb851a}, /* -1.00000=f(-0.66000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe4cccc, 0xccccccc8}, /* -1.00000=f(-0.65000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe47ae1, 0x47ae1476}, /* -1.00000=f(-0.64000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe428f5, 0xc28f5c24}, /* -1.00000=f(-0.63000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe3d70a, 0x3d70a3d2}, /* -1.00000=f(-0.62000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe3851e, 0xb851eb80}, /* -1.00000=f(-0.61000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe33333, 0x3333332e}, /* -1.00000=f(-0.60000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe2e147, 0xae147adc}, /* -1.00000=f(-0.59000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe28f5c, 0x28f5c28a}, /* -1.00000=f(-0.58000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe23d70, 0xa3d70a38}, /* -1.00000=f(-0.57000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe1eb85, 0x1eb851e6}, /* -1.00000=f(-0.56000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe19999, 0x99999994}, /* -1.00000=f(-0.55000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe147ae, 0x147ae142}, /* -1.00000=f(-0.54000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe0f5c2, 0x8f5c28f0}, /* -1.00000=f(-0.53000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe0a3d7, 0x0a3d709e}, /* -1.00000=f(-0.52000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe051eb, 0x851eb84c}, /* -1.00000=f(-0.51000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfdfffff, 0xfffffff4}, /* -1.00000=f(-0.50000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfdf5c28, 0xf5c28f50}, /* -1.00000=f(-0.49000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfdeb851, 0xeb851eac}, /* -1.00000=f(-0.48000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfde147a, 0xe147ae08}, /* -1.00000=f(-0.47000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfdd70a3, 0xd70a3d64}, /* -1.00000=f(-0.46000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfdccccc, 0xccccccc0}, /* -1.00000=f(-0.45000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfdc28f5, 0xc28f5c1c}, /* -1.00000=f(-0.44000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfdb851e, 0xb851eb78}, /* -1.00000=f(-0.43000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfdae147, 0xae147ad4}, /* -1.00000=f(-0.42000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfda3d70, 0xa3d70a30}, /* -1.00000=f(-0.41000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd99999, 0x9999998c}, /* -1.00000=f(-0.40000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd8f5c2, 0x8f5c28e8}, /* -1.00000=f(-0.39000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd851eb, 0x851eb844}, /* -1.00000=f(-0.38000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd7ae14, 0x7ae147a0}, /* -1.00000=f(-0.37000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd70a3d, 0x70a3d6fc}, /* -1.00000=f(-0.36000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd66666, 0x66666658}, /* -1.00000=f(-0.35000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd5c28f, 0x5c28f5b4}, /* -1.00000=f(-0.34000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd51eb8, 0x51eb8510}, /* -1.00000=f(-0.33000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd47ae1, 0x47ae146c}, /* -1.00000=f(-0.32000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd3d70a, 0x3d70a3c8}, /* -1.00000=f(-0.31000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd33333, 0x33333324}, /* -1.00000=f(-0.30000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd28f5c, 0x28f5c280}, /* -1.00000=f(-0.29000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd1eb85, 0x1eb851dc}, /* -1.00000=f(-0.28000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd147ae, 0x147ae138}, /* -1.00000=f(-0.27000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd0a3d7, 0x0a3d7094}, /* -1.00000=f(-0.26000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfcfffff, 0xffffffe0}, /* -1.00000=f(-0.25000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfceb851, 0xeb851e98}, /* -1.00000=f(-0.24000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfcd70a3, 0xd70a3d50}, /* -1.00000=f(-0.23000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfcc28f5, 0xc28f5c08}, /* -1.00000=f(-0.22000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfcae147, 0xae147ac0}, /* -1.00000=f(-0.21000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfc99999, 0x99999978}, /* -1.00000=f(-0.20000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfc851eb, 0x851eb830}, /* -1.00000=f(-0.19000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfc70a3d, 0x70a3d6e8}, /* -1.00000=f(-0.18000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfc5c28f, 0x5c28f5a0}, /* -1.00000=f(-0.17000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfc47ae1, 0x47ae1458}, /* -1.00000=f(-0.16000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfc33333, 0x33333310}, /* -1.00000=f(-0.15000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfc1eb85, 0x1eb851c8}, /* -1.00000=f(-0.14000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfc0a3d7, 0x0a3d7080}, /* -1.00000=f(-0.13000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfbeb851, 0xeb851e71}, /* -1.00000=f(-0.12000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfbc28f5, 0xc28f5be2}, /* -1.00000=f(-0.11000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfb99999, 0x99999953}, /* -1.00000=f(-0.00100)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfb70a3d, 0x70a3d6c4}, /* -1.00000=f(-0.09000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfb47ae1, 0x47ae1435}, /* -1.00000=f(-0.08000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfb1eb85, 0x1eb851a6}, /* -1.00000=f(-0.07000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfaeb851, 0xeb851e2d}, /* -1.00000=f(-0.06000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfa99999, 0x9999990e}, /* -1.00000=f(-0.05000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfa47ae1, 0x47ae13ef}, /* -1.00000=f(-0.04000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbf9eb851, 0xeb851da0}, /* -1.00000=f(-0.03000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbf947ae1, 0x47ae1362}, /* -1.00000=f(-0.02000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbf847ae1, 0x47ae1249}, /* -1.00000=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3cd19000, 0x00000000}, /* 0.00000=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3f847ae1, 0x47ae16ad}, /* 0.00000=f(0.01000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3f947ae1, 0x47ae1594}, /* 0.00000=f(0.02000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3f9eb851, 0xeb851fd2}, /* 0.00000=f(0.03000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fa47ae1, 0x47ae1508}, /* 0.00000=f(0.04000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fa99999, 0x99999a27}, /* 0.00000=f(0.05000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3faeb851, 0xeb851f46}, /* 0.00000=f(0.06000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fb1eb85, 0x1eb85232}, /* 0.00000=f(0.07000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fb47ae1, 0x47ae14c1}, /* 0.00000=f(0.08000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fb70a3d, 0x70a3d750}, /* 0.00000=f(0.09000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fb99999, 0x999999df}, /* 0.00000=f(0.10000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fbc28f5, 0xc28f5c6e}, /* 0.00000=f(0.11000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fbeb851, 0xeb851efd}, /* 0.00000=f(0.12000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.00000=f(0.13000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fc1eb85, 0x1eb8520e}, /* 0.00000=f(0.14000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fc33333, 0x33333356}, /* 0.00000=f(0.15000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fc47ae1, 0x47ae149e}, /* 0.00000=f(0.16000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fc5c28f, 0x5c28f5e6}, /* 0.00000=f(0.17000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fc70a3d, 0x70a3d72e}, /* 0.00000=f(0.18000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fc851eb, 0x851eb876}, /* 0.00000=f(0.19000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fc99999, 0x999999be}, /* 0.00000=f(0.20000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fcae147, 0xae147b06}, /* 0.00000=f(0.21000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fcc28f5, 0xc28f5c4e}, /* 0.00000=f(0.22000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fcd70a3, 0xd70a3d96}, /* 0.00000=f(0.23000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fceb851, 0xeb851ede}, /* 0.00000=f(0.24000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd00000, 0x00000013}, /* 0.00000=f(0.25000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.00000=f(0.26000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd147ae, 0x147ae15b}, /* 0.00000=f(0.27000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd1eb85, 0x1eb851ff}, /* 0.00000=f(0.28000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd28f5c, 0x28f5c2a3}, /* 0.00000=f(0.29000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd33333, 0x33333347}, /* 0.00000=f(0.30000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd3d70a, 0x3d70a3eb}, /* 0.00000=f(0.31000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd47ae1, 0x47ae148f}, /* 0.00000=f(0.32000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd51eb8, 0x51eb8533}, /* 0.00000=f(0.33000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd5c28f, 0x5c28f5d7}, /* 0.00000=f(0.34000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd66666, 0x6666667b}, /* 0.00000=f(0.35000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd70a3d, 0x70a3d71f}, /* 0.00000=f(0.36000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd7ae14, 0x7ae147c3}, /* 0.00000=f(0.37000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd851eb, 0x851eb867}, /* 0.00000=f(0.38000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd8f5c2, 0x8f5c290b}, /* 0.00000=f(0.39000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd99999, 0x999999af}, /* 0.00000=f(0.40000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fda3d70, 0xa3d70a53}, /* 0.00000=f(0.41000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fdae147, 0xae147af7}, /* 0.00000=f(0.42000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fdb851e, 0xb851eb9b}, /* 0.00000=f(0.43000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fdc28f5, 0xc28f5c3f}, /* 0.00000=f(0.44000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fdccccc, 0xcccccce3}, /* 0.00000=f(0.45000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fdd70a3, 0xd70a3d87}, /* 0.00000=f(0.46000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fde147a, 0xe147ae2b}, /* 0.00000=f(0.47000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fdeb851, 0xeb851ecf}, /* 0.00000=f(0.48000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fdf5c28, 0xf5c28f73}, /* 0.00000=f(0.49000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe00000, 0x0000000b}, /* 0.00000=f(0.50000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe051eb, 0x851eb85d}, /* 0.00000=f(0.51000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe0a3d7, 0x0a3d70af}, /* 0.00000=f(0.52000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe0f5c2, 0x8f5c2901}, /* 0.00000=f(0.53000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe147ae, 0x147ae153}, /* 0.00000=f(0.54000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe19999, 0x999999a5}, /* 0.00000=f(0.55000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe1eb85, 0x1eb851f7}, /* 0.00000=f(0.56000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe23d70, 0xa3d70a49}, /* 0.00000=f(0.57000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe28f5c, 0x28f5c29b}, /* 0.00000=f(0.58000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe2e147, 0xae147aed}, /* 0.00000=f(0.59000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe33333, 0x3333333f}, /* 0.00000=f(0.60000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe3851e, 0xb851eb91}, /* 0.00000=f(0.61000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe3d70a, 0x3d70a3e3}, /* 0.00000=f(0.62000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe428f5, 0xc28f5c35}, /* 0.00000=f(0.63000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe47ae1, 0x47ae1487}, /* 0.00000=f(0.64000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe4cccc, 0xccccccd9}, /* 0.00000=f(0.65000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe51eb8, 0x51eb852b}, /* 0.00000=f(0.66000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe570a3, 0xd70a3d7d}, /* 0.00000=f(0.67000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe5c28f, 0x5c28f5cf}, /* 0.00000=f(0.68000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe6147a, 0xe147ae21}, /* 0.00000=f(0.69000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe66666, 0x66666673}, /* 0.00000=f(0.70000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe6b851, 0xeb851ec5}, /* 0.00000=f(0.71000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe70a3d, 0x70a3d717}, /* 0.00000=f(0.72000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe75c28, 0xf5c28f69}, /* 0.00000=f(0.73000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe7ae14, 0x7ae147bb}, /* 0.00000=f(0.74000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe80000, 0x0000000d}, /* 0.00000=f(0.75000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe851eb, 0x851eb85f}, /* 0.00000=f(0.76000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.00000=f(0.77000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe8f5c2, 0x8f5c2903}, /* 0.00000=f(0.78000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe947ae, 0x147ae155}, /* 0.00000=f(0.79000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe99999, 0x999999a7}, /* 0.00000=f(0.80000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe9eb85, 0x1eb851f9}, /* 0.00000=f(0.81000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fea3d70, 0xa3d70a4b}, /* 0.00000=f(0.82000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fea8f5c, 0x28f5c29d}, /* 0.00000=f(0.83000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3feae147, 0xae147aef}, /* 0.00000=f(0.84000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3feb3333, 0x33333341}, /* 0.00000=f(0.85000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3feb851e, 0xb851eb93}, /* 0.00000=f(0.86000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3febd70a, 0x3d70a3e5}, /* 0.00000=f(0.87000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fec28f5, 0xc28f5c37}, /* 0.00000=f(0.88000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fec7ae1, 0x47ae1489}, /* 0.00000=f(0.89000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3feccccc, 0xccccccdb}, /* 0.00000=f(0.90000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fed1eb8, 0x51eb852d}, /* 0.00000=f(0.91000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fed70a3, 0xd70a3d7f}, /* 0.00000=f(0.92000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fedc28f, 0x5c28f5d1}, /* 0.00000=f(0.93000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fee147a, 0xe147ae23}, /* 0.00000=f(0.94000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fee6666, 0x66666675}, /* 0.00000=f(0.95000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3feeb851, 0xeb851ec7}, /* 0.00000=f(0.96000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fef0a3d, 0x70a3d719}, /* 0.00000=f(0.97000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fef5c28, 0xf5c28f6b}, /* 0.00000=f(0.98000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fefae14, 0x7ae147bd}, /* 0.00000=f(0.99000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff00000, 0x00000007}, /* 1.00000=f(1.00000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff028f5, 0xc28f5c30}, /* 1.00000=f(1.01000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff051eb, 0x851eb859}, /* 1.00000=f(1.02000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff07ae1, 0x47ae1482}, /* 1.00000=f(1.03000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff0a3d7, 0x0a3d70ab}, /* 1.00000=f(1.04000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff0cccc, 0xccccccd4}, /* 1.00000=f(1.05000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff0f5c2, 0x8f5c28fd}, /* 1.00000=f(1.06000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff11eb8, 0x51eb8526}, /* 1.00000=f(1.07000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff147ae, 0x147ae14f}, /* 1.00000=f(1.08000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff170a3, 0xd70a3d78}, /* 1.00000=f(1.09000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff19999, 0x999999a1}, /* 1.00000=f(1.10000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff1c28f, 0x5c28f5ca}, /* 1.00000=f(1.11000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff1eb85, 0x1eb851f3}, /* 1.00000=f(1.12000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff2147a, 0xe147ae1c}, /* 1.00000=f(1.13000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff23d70, 0xa3d70a45}, /* 1.00000=f(1.14000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff26666, 0x6666666e}, /* 1.00000=f(1.15000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff28f5c, 0x28f5c297}, /* 1.00000=f(1.16000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff2b851, 0xeb851ec0}, /* 1.00000=f(1.17000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff2e147, 0xae147ae9}, /* 1.00000=f(1.18000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff30a3d, 0x70a3d712}, /* 1.00000=f(1.19000)*/
+{64, 0,123,__LINE__, 0xc01c0000, 0x00000000, 0xc01921fb, 0x54442d18}, /* -7.00000=f(-6.28318)*/
+{64, 0,123,__LINE__, 0xc0140000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* -5.00000=f(-4.71238)*/
+{64, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc00921fb, 0x54442d18}, /* -4.00000=f(-3.14159)*/
+{64, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff921fb, 0x54442d18}, /* -2.00000=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff921fb, 0x54442d18}, /* 1.00000=f(1.57079)*/
+{64, 0,123,__LINE__, 0x40080000, 0x00000000, 0x400921fb, 0x54442d18}, /* 3.00000=f(3.14159)*/
+{64, 0,123,__LINE__, 0x40100000, 0x00000000, 0x4012d97c, 0x7f3321d2}, /* 4.00000=f(4.71238)*/
+{64, 0,123,__LINE__, 0xc03e0000, 0x00000000, 0xc03e0000, 0x00000000}, /* -30.0000=f(-30.0000)*/
+{64, 0,123,__LINE__, 0xc03d0000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* -29.0000=f(-28.3000)*/
+{64, 0,123,__LINE__, 0xc03b0000, 0x00000000, 0xc03a9999, 0x9999999a}, /* -27.0000=f(-26.6000)*/
+{64, 0,123,__LINE__, 0xc0390000, 0x00000000, 0xc038e666, 0x66666667}, /* -25.0000=f(-24.9000)*/
+{64, 0,123,__LINE__, 0xc0380000, 0x00000000, 0xc0373333, 0x33333334}, /* -24.0000=f(-23.2000)*/
+{64, 0,123,__LINE__, 0xc0360000, 0x00000000, 0xc0358000, 0x00000001}, /* -22.0000=f(-21.5000)*/
+{64, 0,123,__LINE__, 0xc0340000, 0x00000000, 0xc033cccc, 0xccccccce}, /* -20.0000=f(-19.8000)*/
+{64, 0,123,__LINE__, 0xc0330000, 0x00000000, 0xc0321999, 0x9999999b}, /* -19.0000=f(-18.1000)*/
+{64, 0,123,__LINE__, 0xc0310000, 0x00000000, 0xc0306666, 0x66666668}, /* -17.0000=f(-16.4000)*/
+{64, 0,123,__LINE__, 0xc02e0000, 0x00000000, 0xc02d6666, 0x6666666a}, /* -15.0000=f(-14.7000)*/
+{64, 0,123,__LINE__, 0xc02c0000, 0x00000000, 0xc02a0000, 0x00000004}, /* -14.0000=f(-13.0000)*/
+{64, 0,123,__LINE__, 0xc0280000, 0x00000000, 0xc0269999, 0x9999999e}, /* -12.0000=f(-11.3000)*/
+{64, 0,123,__LINE__, 0xc0240000, 0x00000000, 0xc0233333, 0x33333338}, /* -10.0000=f(-9.60000)*/
+{64, 0,123,__LINE__, 0xc0200000, 0x00000000, 0xc01f9999, 0x999999a3}, /* -8.00000=f(-7.90000)*/
+{64, 0,123,__LINE__, 0xc01c0000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* -7.00000=f(-6.20000)*/
+{64, 0,123,__LINE__, 0xc0140000, 0x00000000, 0xc0120000, 0x00000009}, /* -5.00000=f(-4.50000)*/
+{64, 0,123,__LINE__, 0xc0080000, 0x00000000, 0xc0066666, 0x66666678}, /* -3.00000=f(-2.80000)*/
+{64, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff19999, 0x999999bd}, /* -2.00000=f(-1.10000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe33333, 0x333332ec}, /* 0.00000=f(0.60000)*/
+{64, 0,123,__LINE__, 0x40000000, 0x00000000, 0x40026666, 0x66666654}, /* 2.00000=f(2.30000)*/
+{64, 0,123,__LINE__, 0x40080000, 0x00000000, 0x400fffff, 0xffffffee}, /* 3.00000=f(4.00000)*/
+{64, 0,123,__LINE__, 0x40140000, 0x00000000, 0x4016cccc, 0xccccccc4}, /* 5.00000=f(5.70000)*/
+{64, 0,123,__LINE__, 0x401c0000, 0x00000000, 0x401d9999, 0x99999991}, /* 7.00000=f(7.40000)*/
+{64, 0,123,__LINE__, 0x40220000, 0x00000000, 0x40223333, 0x3333332f}, /* 9.00000=f(9.10000)*/
+{64, 0,123,__LINE__, 0x40240000, 0x00000000, 0x40259999, 0x99999995}, /* 10.0000=f(10.8000)*/
+{64, 0,123,__LINE__, 0x40280000, 0x00000000, 0x4028ffff, 0xfffffffb}, /* 12.0000=f(12.5000)*/
+{64, 0,123,__LINE__, 0x402c0000, 0x00000000, 0x402c6666, 0x66666661}, /* 14.0000=f(14.2000)*/
+{64, 0,123,__LINE__, 0x402e0000, 0x00000000, 0x402fcccc, 0xccccccc7}, /* 15.0000=f(15.9000)*/
+{64, 0,123,__LINE__, 0x40310000, 0x00000000, 0x40319999, 0x99999997}, /* 17.0000=f(17.6000)*/
+{64, 0,123,__LINE__, 0x40330000, 0x00000000, 0x40334ccc, 0xccccccca}, /* 19.0000=f(19.3000)*/
+{64, 0,123,__LINE__, 0x40340000, 0x00000000, 0x4034ffff, 0xfffffffd}, /* 20.0000=f(21.0000)*/
+{64, 0,123,__LINE__, 0x40360000, 0x00000000, 0x4036b333, 0x33333330}, /* 22.0000=f(22.7000)*/
+{64, 0,123,__LINE__, 0x40380000, 0x00000000, 0x40386666, 0x66666663}, /* 24.0000=f(24.4000)*/
+{64, 0,123,__LINE__, 0x403a0000, 0x00000000, 0x403a1999, 0x99999996}, /* 26.0000=f(26.1000)*/
+{64, 0,123,__LINE__, 0x403b0000, 0x00000000, 0x403bcccc, 0xccccccc9}, /* 27.0000=f(27.8000)*/
+{64, 0,123,__LINE__, 0x403d0000, 0x00000000, 0x403d7fff, 0xfffffffc}, /* 29.0000=f(29.5000)*/
+0,};
+test_floor(m) {run_vector_1(m,floor_vec,(char *)(floor),"floor","dd"); }
diff --git a/newlib/libm/test/floorf_vec.c b/newlib/libm/test/floorf_vec.c
new file mode 100644
index 00000000000..f01e1e6b871
--- /dev/null
+++ b/newlib/libm/test/floorf_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type floorf_vec[] = {
+{ 1, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff33333, 0x33333333}, /* -2.00000=f(-1.20000)*/
+{ 1, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* -2.00000=f(-1.19000)*/
+{ 1, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* -2.00000=f(-1.18000)*/
+{ 1, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* -2.00000=f(-1.17000)*/
+{ 1, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* -2.00000=f(-1.16000)*/
+{ 1, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff26666, 0x66666666}, /* -2.00000=f(-1.15000)*/
+{ 1, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* -2.00000=f(-1.14000)*/
+{ 1, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* -2.00000=f(-1.13000)*/
+{ 1, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* -2.00000=f(-1.12000)*/
+{ 1, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* -2.00000=f(-1.11000)*/
+{ 1, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff19999, 0x99999999}, /* -2.00000=f(-1.10000)*/
+{ 1, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* -2.00000=f(-1.09000)*/
+{ 1, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff147ae, 0x147ae147}, /* -2.00000=f(-1.08000)*/
+{ 1, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* -2.00000=f(-1.07000)*/
+{ 1, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* -2.00000=f(-1.06000)*/
+{ 1, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* -2.00000=f(-1.05000)*/
+{ 1, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* -2.00000=f(-1.04000)*/
+{ 1, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* -2.00000=f(-1.03000)*/
+{ 1, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff051eb, 0x851eb851}, /* -2.00000=f(-1.02000)*/
+{ 1, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* -2.00000=f(-1.01000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfefffff, 0xfffffffe}, /* -1.00000=f(-0.01000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfefae14, 0x7ae147ac}, /* -1.00000=f(-0.99000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfef5c28, 0xf5c28f5a}, /* -1.00000=f(-0.98000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfef0a3d, 0x70a3d708}, /* -1.00000=f(-0.97000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfeeb851, 0xeb851eb6}, /* -1.00000=f(-0.96000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfee6666, 0x66666664}, /* -1.00000=f(-0.95000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfee147a, 0xe147ae12}, /* -1.00000=f(-0.94000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfedc28f, 0x5c28f5c0}, /* -1.00000=f(-0.93000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfed70a3, 0xd70a3d6e}, /* -1.00000=f(-0.92000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfed1eb8, 0x51eb851c}, /* -1.00000=f(-0.91000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfeccccc, 0xccccccca}, /* -1.00000=f(-0.90000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfec7ae1, 0x47ae1478}, /* -1.00000=f(-0.89000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfec28f5, 0xc28f5c26}, /* -1.00000=f(-0.88000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfebd70a, 0x3d70a3d4}, /* -1.00000=f(-0.87000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfeb851e, 0xb851eb82}, /* -1.00000=f(-0.86000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfeb3333, 0x33333330}, /* -1.00000=f(-0.85000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfeae147, 0xae147ade}, /* -1.00000=f(-0.84000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfea8f5c, 0x28f5c28c}, /* -1.00000=f(-0.83000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfea3d70, 0xa3d70a3a}, /* -1.00000=f(-0.82000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe9eb85, 0x1eb851e8}, /* -1.00000=f(-0.81000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe99999, 0x99999996}, /* -1.00000=f(-0.80000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe947ae, 0x147ae144}, /* -1.00000=f(-0.79000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe8f5c2, 0x8f5c28f2}, /* -1.00000=f(-0.78000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe8a3d7, 0x0a3d70a0}, /* -1.00000=f(-0.77000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe851eb, 0x851eb84e}, /* -1.00000=f(-0.76000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe7ffff, 0xfffffffc}, /* -1.00000=f(-0.75000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe7ae14, 0x7ae147aa}, /* -1.00000=f(-0.74000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe75c28, 0xf5c28f58}, /* -1.00000=f(-0.73000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe70a3d, 0x70a3d706}, /* -1.00000=f(-0.72000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe6b851, 0xeb851eb4}, /* -1.00000=f(-0.71000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe66666, 0x66666662}, /* -1.00000=f(-0.70000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe6147a, 0xe147ae10}, /* -1.00000=f(-0.69000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe5c28f, 0x5c28f5be}, /* -1.00000=f(-0.68000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe570a3, 0xd70a3d6c}, /* -1.00000=f(-0.67000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe51eb8, 0x51eb851a}, /* -1.00000=f(-0.66000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe4cccc, 0xccccccc8}, /* -1.00000=f(-0.65000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe47ae1, 0x47ae1476}, /* -1.00000=f(-0.64000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe428f5, 0xc28f5c24}, /* -1.00000=f(-0.63000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe3d70a, 0x3d70a3d2}, /* -1.00000=f(-0.62000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe3851e, 0xb851eb80}, /* -1.00000=f(-0.61000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe33333, 0x3333332e}, /* -1.00000=f(-0.60000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe2e147, 0xae147adc}, /* -1.00000=f(-0.59000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe28f5c, 0x28f5c28a}, /* -1.00000=f(-0.58000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe23d70, 0xa3d70a38}, /* -1.00000=f(-0.57000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe1eb85, 0x1eb851e6}, /* -1.00000=f(-0.56000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe19999, 0x99999994}, /* -1.00000=f(-0.55000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe147ae, 0x147ae142}, /* -1.00000=f(-0.54000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe0f5c2, 0x8f5c28f0}, /* -1.00000=f(-0.53000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe0a3d7, 0x0a3d709e}, /* -1.00000=f(-0.52000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfe051eb, 0x851eb84c}, /* -1.00000=f(-0.51000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfdfffff, 0xfffffff4}, /* -1.00000=f(-0.50000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfdf5c28, 0xf5c28f50}, /* -1.00000=f(-0.49000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfdeb851, 0xeb851eac}, /* -1.00000=f(-0.48000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfde147a, 0xe147ae08}, /* -1.00000=f(-0.47000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfdd70a3, 0xd70a3d64}, /* -1.00000=f(-0.46000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfdccccc, 0xccccccc0}, /* -1.00000=f(-0.45000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfdc28f5, 0xc28f5c1c}, /* -1.00000=f(-0.44000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfdb851e, 0xb851eb78}, /* -1.00000=f(-0.43000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfdae147, 0xae147ad4}, /* -1.00000=f(-0.42000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfda3d70, 0xa3d70a30}, /* -1.00000=f(-0.41000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd99999, 0x9999998c}, /* -1.00000=f(-0.40000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd8f5c2, 0x8f5c28e8}, /* -1.00000=f(-0.39000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd851eb, 0x851eb844}, /* -1.00000=f(-0.38000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd7ae14, 0x7ae147a0}, /* -1.00000=f(-0.37000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd70a3d, 0x70a3d6fc}, /* -1.00000=f(-0.36000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd66666, 0x66666658}, /* -1.00000=f(-0.35000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd5c28f, 0x5c28f5b4}, /* -1.00000=f(-0.34000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd51eb8, 0x51eb8510}, /* -1.00000=f(-0.33000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd47ae1, 0x47ae146c}, /* -1.00000=f(-0.32000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd3d70a, 0x3d70a3c8}, /* -1.00000=f(-0.31000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd33333, 0x33333324}, /* -1.00000=f(-0.30000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd28f5c, 0x28f5c280}, /* -1.00000=f(-0.29000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd1eb85, 0x1eb851dc}, /* -1.00000=f(-0.28000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd147ae, 0x147ae138}, /* -1.00000=f(-0.27000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfd0a3d7, 0x0a3d7094}, /* -1.00000=f(-0.26000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfcfffff, 0xffffffe0}, /* -1.00000=f(-0.25000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfceb851, 0xeb851e98}, /* -1.00000=f(-0.24000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfcd70a3, 0xd70a3d50}, /* -1.00000=f(-0.23000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfcc28f5, 0xc28f5c08}, /* -1.00000=f(-0.22000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfcae147, 0xae147ac0}, /* -1.00000=f(-0.21000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfc99999, 0x99999978}, /* -1.00000=f(-0.20000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfc851eb, 0x851eb830}, /* -1.00000=f(-0.19000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfc70a3d, 0x70a3d6e8}, /* -1.00000=f(-0.18000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfc5c28f, 0x5c28f5a0}, /* -1.00000=f(-0.17000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfc47ae1, 0x47ae1458}, /* -1.00000=f(-0.16000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfc33333, 0x33333310}, /* -1.00000=f(-0.15000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfc1eb85, 0x1eb851c8}, /* -1.00000=f(-0.14000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfc0a3d7, 0x0a3d7080}, /* -1.00000=f(-0.13000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfbeb851, 0xeb851e71}, /* -1.00000=f(-0.12000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfbc28f5, 0xc28f5be2}, /* -1.00000=f(-0.11000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfb99999, 0x99999953}, /* -1.00000=f(-0.00100)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfb70a3d, 0x70a3d6c4}, /* -1.00000=f(-0.09000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfb47ae1, 0x47ae1435}, /* -1.00000=f(-0.08000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfb1eb85, 0x1eb851a6}, /* -1.00000=f(-0.07000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfaeb851, 0xeb851e2d}, /* -1.00000=f(-0.06000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfa99999, 0x9999990e}, /* -1.00000=f(-0.05000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfa47ae1, 0x47ae13ef}, /* -1.00000=f(-0.04000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbf9eb851, 0xeb851da0}, /* -1.00000=f(-0.03000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbf947ae1, 0x47ae1362}, /* -1.00000=f(-0.02000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbf847ae1, 0x47ae1249}, /* -1.00000=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3cd19000, 0x00000000}, /* 0.00000=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3f847ae1, 0x47ae16ad}, /* 0.00000=f(0.01000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3f947ae1, 0x47ae1594}, /* 0.00000=f(0.02000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3f9eb851, 0xeb851fd2}, /* 0.00000=f(0.03000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fa47ae1, 0x47ae1508}, /* 0.00000=f(0.04000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fa99999, 0x99999a27}, /* 0.00000=f(0.05000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3faeb851, 0xeb851f46}, /* 0.00000=f(0.06000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fb1eb85, 0x1eb85232}, /* 0.00000=f(0.07000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fb47ae1, 0x47ae14c1}, /* 0.00000=f(0.08000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fb70a3d, 0x70a3d750}, /* 0.00000=f(0.09000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fb99999, 0x999999df}, /* 0.00000=f(0.10000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fbc28f5, 0xc28f5c6e}, /* 0.00000=f(0.11000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fbeb851, 0xeb851efd}, /* 0.00000=f(0.12000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.00000=f(0.13000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fc1eb85, 0x1eb8520e}, /* 0.00000=f(0.14000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fc33333, 0x33333356}, /* 0.00000=f(0.15000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fc47ae1, 0x47ae149e}, /* 0.00000=f(0.16000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fc5c28f, 0x5c28f5e6}, /* 0.00000=f(0.17000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fc70a3d, 0x70a3d72e}, /* 0.00000=f(0.18000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fc851eb, 0x851eb876}, /* 0.00000=f(0.19000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fc99999, 0x999999be}, /* 0.00000=f(0.20000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fcae147, 0xae147b06}, /* 0.00000=f(0.21000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fcc28f5, 0xc28f5c4e}, /* 0.00000=f(0.22000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fcd70a3, 0xd70a3d96}, /* 0.00000=f(0.23000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fceb851, 0xeb851ede}, /* 0.00000=f(0.24000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd00000, 0x00000013}, /* 0.00000=f(0.25000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.00000=f(0.26000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd147ae, 0x147ae15b}, /* 0.00000=f(0.27000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd1eb85, 0x1eb851ff}, /* 0.00000=f(0.28000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd28f5c, 0x28f5c2a3}, /* 0.00000=f(0.29000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd33333, 0x33333347}, /* 0.00000=f(0.30000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd3d70a, 0x3d70a3eb}, /* 0.00000=f(0.31000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd47ae1, 0x47ae148f}, /* 0.00000=f(0.32000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd51eb8, 0x51eb8533}, /* 0.00000=f(0.33000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd5c28f, 0x5c28f5d7}, /* 0.00000=f(0.34000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd66666, 0x6666667b}, /* 0.00000=f(0.35000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd70a3d, 0x70a3d71f}, /* 0.00000=f(0.36000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd7ae14, 0x7ae147c3}, /* 0.00000=f(0.37000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd851eb, 0x851eb867}, /* 0.00000=f(0.38000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd8f5c2, 0x8f5c290b}, /* 0.00000=f(0.39000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fd99999, 0x999999af}, /* 0.00000=f(0.40000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fda3d70, 0xa3d70a53}, /* 0.00000=f(0.41000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fdae147, 0xae147af7}, /* 0.00000=f(0.42000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fdb851e, 0xb851eb9b}, /* 0.00000=f(0.43000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fdc28f5, 0xc28f5c3f}, /* 0.00000=f(0.44000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fdccccc, 0xcccccce3}, /* 0.00000=f(0.45000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fdd70a3, 0xd70a3d87}, /* 0.00000=f(0.46000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fde147a, 0xe147ae2b}, /* 0.00000=f(0.47000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fdeb851, 0xeb851ecf}, /* 0.00000=f(0.48000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fdf5c28, 0xf5c28f73}, /* 0.00000=f(0.49000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe00000, 0x0000000b}, /* 0.00000=f(0.50000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe051eb, 0x851eb85d}, /* 0.00000=f(0.51000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe0a3d7, 0x0a3d70af}, /* 0.00000=f(0.52000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe0f5c2, 0x8f5c2901}, /* 0.00000=f(0.53000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe147ae, 0x147ae153}, /* 0.00000=f(0.54000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe19999, 0x999999a5}, /* 0.00000=f(0.55000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe1eb85, 0x1eb851f7}, /* 0.00000=f(0.56000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe23d70, 0xa3d70a49}, /* 0.00000=f(0.57000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe28f5c, 0x28f5c29b}, /* 0.00000=f(0.58000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe2e147, 0xae147aed}, /* 0.00000=f(0.59000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe33333, 0x3333333f}, /* 0.00000=f(0.60000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe3851e, 0xb851eb91}, /* 0.00000=f(0.61000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe3d70a, 0x3d70a3e3}, /* 0.00000=f(0.62000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe428f5, 0xc28f5c35}, /* 0.00000=f(0.63000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe47ae1, 0x47ae1487}, /* 0.00000=f(0.64000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe4cccc, 0xccccccd9}, /* 0.00000=f(0.65000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe51eb8, 0x51eb852b}, /* 0.00000=f(0.66000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe570a3, 0xd70a3d7d}, /* 0.00000=f(0.67000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe5c28f, 0x5c28f5cf}, /* 0.00000=f(0.68000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe6147a, 0xe147ae21}, /* 0.00000=f(0.69000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe66666, 0x66666673}, /* 0.00000=f(0.70000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe6b851, 0xeb851ec5}, /* 0.00000=f(0.71000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe70a3d, 0x70a3d717}, /* 0.00000=f(0.72000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe75c28, 0xf5c28f69}, /* 0.00000=f(0.73000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe7ae14, 0x7ae147bb}, /* 0.00000=f(0.74000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe80000, 0x0000000d}, /* 0.00000=f(0.75000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe851eb, 0x851eb85f}, /* 0.00000=f(0.76000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.00000=f(0.77000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe8f5c2, 0x8f5c2903}, /* 0.00000=f(0.78000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe947ae, 0x147ae155}, /* 0.00000=f(0.79000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe99999, 0x999999a7}, /* 0.00000=f(0.80000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe9eb85, 0x1eb851f9}, /* 0.00000=f(0.81000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fea3d70, 0xa3d70a4b}, /* 0.00000=f(0.82000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fea8f5c, 0x28f5c29d}, /* 0.00000=f(0.83000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3feae147, 0xae147aef}, /* 0.00000=f(0.84000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3feb3333, 0x33333341}, /* 0.00000=f(0.85000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3feb851e, 0xb851eb93}, /* 0.00000=f(0.86000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3febd70a, 0x3d70a3e5}, /* 0.00000=f(0.87000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fec28f5, 0xc28f5c37}, /* 0.00000=f(0.88000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fec7ae1, 0x47ae1489}, /* 0.00000=f(0.89000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3feccccc, 0xccccccdb}, /* 0.00000=f(0.90000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fed1eb8, 0x51eb852d}, /* 0.00000=f(0.91000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fed70a3, 0xd70a3d7f}, /* 0.00000=f(0.92000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fedc28f, 0x5c28f5d1}, /* 0.00000=f(0.93000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fee147a, 0xe147ae23}, /* 0.00000=f(0.94000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fee6666, 0x66666675}, /* 0.00000=f(0.95000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3feeb851, 0xeb851ec7}, /* 0.00000=f(0.96000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fef0a3d, 0x70a3d719}, /* 0.00000=f(0.97000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fef5c28, 0xf5c28f6b}, /* 0.00000=f(0.98000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fefae14, 0x7ae147bd}, /* 0.00000=f(0.99000)*/
+{ 0, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff00000, 0x00000007}, /* 1.00000=f(1.00000)*/
+{ 0, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff028f5, 0xc28f5c30}, /* 1.00000=f(1.01000)*/
+{ 0, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff051eb, 0x851eb859}, /* 1.00000=f(1.02000)*/
+{ 0, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff07ae1, 0x47ae1482}, /* 1.00000=f(1.03000)*/
+{ 0, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff0a3d7, 0x0a3d70ab}, /* 1.00000=f(1.04000)*/
+{ 0, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff0cccc, 0xccccccd4}, /* 1.00000=f(1.05000)*/
+{ 0, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff0f5c2, 0x8f5c28fd}, /* 1.00000=f(1.06000)*/
+{ 0, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff11eb8, 0x51eb8526}, /* 1.00000=f(1.07000)*/
+{ 0, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff147ae, 0x147ae14f}, /* 1.00000=f(1.08000)*/
+{ 0, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff170a3, 0xd70a3d78}, /* 1.00000=f(1.09000)*/
+{ 0, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff19999, 0x999999a1}, /* 1.00000=f(1.10000)*/
+{ 0, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff1c28f, 0x5c28f5ca}, /* 1.00000=f(1.11000)*/
+{ 0, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff1eb85, 0x1eb851f3}, /* 1.00000=f(1.12000)*/
+{ 0, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff2147a, 0xe147ae1c}, /* 1.00000=f(1.13000)*/
+{ 0, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff23d70, 0xa3d70a45}, /* 1.00000=f(1.14000)*/
+{ 0, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff26666, 0x6666666e}, /* 1.00000=f(1.15000)*/
+{ 0, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff28f5c, 0x28f5c297}, /* 1.00000=f(1.16000)*/
+{ 0, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff2b851, 0xeb851ec0}, /* 1.00000=f(1.17000)*/
+{ 0, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff2e147, 0xae147ae9}, /* 1.00000=f(1.18000)*/
+{ 0, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff30a3d, 0x70a3d712}, /* 1.00000=f(1.19000)*/
+{13, 0,123,__LINE__, 0xc01c0000, 0x00000000, 0xc01921fb, 0x54442d18}, /* -7.00000=f(-6.28318)*/
+{13, 0,123,__LINE__, 0xc0140000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* -5.00000=f(-4.71238)*/
+{11, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc00921fb, 0x54442d18}, /* -4.00000=f(-3.14159)*/
+{ 1, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff921fb, 0x54442d18}, /* -2.00000=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{ 0, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff921fb, 0x54442d18}, /* 1.00000=f(1.57079)*/
+{15, 0,123,__LINE__, 0x40080000, 0x00000000, 0x400921fb, 0x54442d18}, /* 3.00000=f(3.14159)*/
+{14, 0,123,__LINE__, 0x40100000, 0x00000000, 0x4012d97c, 0x7f3321d2}, /* 4.00000=f(4.71238)*/
+{64, 0,123,__LINE__, 0xc03e0000, 0x00000000, 0xc03e0000, 0x00000000}, /* -30.0000=f(-30.0000)*/
+{15, 0,123,__LINE__, 0xc03d0000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* -29.0000=f(-28.3000)*/
+{15, 0,123,__LINE__, 0xc03b0000, 0x00000000, 0xc03a9999, 0x9999999a}, /* -27.0000=f(-26.6000)*/
+{15, 0,123,__LINE__, 0xc0390000, 0x00000000, 0xc038e666, 0x66666667}, /* -25.0000=f(-24.9000)*/
+{12, 0,123,__LINE__, 0xc0380000, 0x00000000, 0xc0373333, 0x33333334}, /* -24.0000=f(-23.2000)*/
+{14, 0,123,__LINE__, 0xc0360000, 0x00000000, 0xc0358000, 0x00000001}, /* -22.0000=f(-21.5000)*/
+{13, 0,123,__LINE__, 0xc0340000, 0x00000000, 0xc033cccc, 0xccccccce}, /* -20.0000=f(-19.8000)*/
+{15, 0,123,__LINE__, 0xc0330000, 0x00000000, 0xc0321999, 0x9999999b}, /* -19.0000=f(-18.1000)*/
+{15, 0,123,__LINE__, 0xc0310000, 0x00000000, 0xc0306666, 0x66666668}, /* -17.0000=f(-16.4000)*/
+{14, 0,123,__LINE__, 0xc02e0000, 0x00000000, 0xc02d6666, 0x6666666a}, /* -15.0000=f(-14.7000)*/
+{64, 0,123,__LINE__, 0xc02a0000, 0x00000000, 0xc02a0000, 0x00000004}, /* -13.0000=f(-13.0000)*/
+{12, 0,123,__LINE__, 0xc0280000, 0x00000000, 0xc0269999, 0x9999999e}, /* -12.0000=f(-11.3000)*/
+{13, 0,123,__LINE__, 0xc0240000, 0x00000000, 0xc0233333, 0x33333338}, /* -10.0000=f(-9.60000)*/
+{10, 0,123,__LINE__, 0xc0200000, 0x00000000, 0xc01f9999, 0x999999a3}, /* -8.00000=f(-7.90000)*/
+{13, 0,123,__LINE__, 0xc01c0000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* -7.00000=f(-6.20000)*/
+{13, 0,123,__LINE__, 0xc0140000, 0x00000000, 0xc0120000, 0x00000009}, /* -5.00000=f(-4.50000)*/
+{12, 0,123,__LINE__, 0xc0080000, 0x00000000, 0xc0066666, 0x66666678}, /* -3.00000=f(-2.80000)*/
+{ 1, 0,123,__LINE__, 0xc0000000, 0x00000000, 0xbff19999, 0x999999bd}, /* -2.00000=f(-1.10000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x3fe33333, 0x333332ec}, /* 0.00000=f(0.60000)*/
+{14, 0,123,__LINE__, 0x40000000, 0x00000000, 0x40026666, 0x66666654}, /* 2.00000=f(2.30000)*/
+{64, 0,123,__LINE__, 0x40100000, 0x00000000, 0x400fffff, 0xffffffee}, /* 4.00000=f(4.00000)*/
+{14, 0,123,__LINE__, 0x40140000, 0x00000000, 0x4016cccc, 0xccccccc4}, /* 5.00000=f(5.70000)*/
+{15, 0,123,__LINE__, 0x401c0000, 0x00000000, 0x401d9999, 0x99999991}, /* 7.00000=f(7.40000)*/
+{18, 0,123,__LINE__, 0x40220000, 0x00000000, 0x40223333, 0x3333332f}, /* 9.00000=f(9.10000)*/
+{15, 0,123,__LINE__, 0x40240000, 0x00000000, 0x40259999, 0x99999995}, /* 10.0000=f(10.8000)*/
+{15, 0,123,__LINE__, 0x40280000, 0x00000000, 0x4028ffff, 0xfffffffb}, /* 12.0000=f(12.5000)*/
+{17, 0,123,__LINE__, 0x402c0000, 0x00000000, 0x402c6666, 0x66666661}, /* 14.0000=f(14.2000)*/
+{15, 0,123,__LINE__, 0x402e0000, 0x00000000, 0x402fcccc, 0xccccccc7}, /* 15.0000=f(15.9000)*/
+{16, 0,123,__LINE__, 0x40310000, 0x00000000, 0x40319999, 0x99999997}, /* 17.0000=f(17.6000)*/
+{17, 0,123,__LINE__, 0x40330000, 0x00000000, 0x40334ccc, 0xccccccca}, /* 19.0000=f(19.3000)*/
+{64, 0,123,__LINE__, 0x40350000, 0x00000000, 0x4034ffff, 0xfffffffd}, /* 21.0000=f(21.0000)*/
+{16, 0,123,__LINE__, 0x40360000, 0x00000000, 0x4036b333, 0x33333330}, /* 22.0000=f(22.7000)*/
+{17, 0,123,__LINE__, 0x40380000, 0x00000000, 0x40386666, 0x66666663}, /* 24.0000=f(24.4000)*/
+{19, 0,123,__LINE__, 0x403a0000, 0x00000000, 0x403a1999, 0x99999996}, /* 26.0000=f(26.1000)*/
+{16, 0,123,__LINE__, 0x403b0000, 0x00000000, 0x403bcccc, 0xccccccc9}, /* 27.0000=f(27.8000)*/
+{16, 0,123,__LINE__, 0x403d0000, 0x00000000, 0x403d7fff, 0xfffffffc}, /* 29.0000=f(29.5000)*/
+0,};
+test_floorf(m) {run_vector_1(m,floorf_vec,(char *)(floorf),"floorf","ff"); }
diff --git a/newlib/libm/test/fmod_vec.c b/newlib/libm/test/fmod_vec.c
new file mode 100644
index 00000000000..4357c845b31
--- /dev/null
+++ b/newlib/libm/test/fmod_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type fmod_vec[] = {
+{64, 0,123,__LINE__, 0xbff33333, 0x33333333, 0xbff33333, 0x33333333, 0x40066666, 0x66666666}, /* -1.20000=f(-1.20000, v2.80000)*/
+{64, 0,123,__LINE__, 0xbff30a3d, 0x70a3d70a, 0xbff30a3d, 0x70a3d70a, 0x40067ae1, 0x47ae147b}, /* -1.19000=f(-1.19000, v2.81000)*/
+{64, 0,123,__LINE__, 0xbff2e147, 0xae147ae1, 0xbff2e147, 0xae147ae1, 0x40068f5c, 0x28f5c290}, /* -1.18000=f(-1.18000, v2.82000)*/
+{64, 0,123,__LINE__, 0xbff2b851, 0xeb851eb8, 0xbff2b851, 0xeb851eb8, 0x4006a3d7, 0x0a3d70a4}, /* -1.17000=f(-1.17000, v2.83000)*/
+{64, 0,123,__LINE__, 0xbff28f5c, 0x28f5c28f, 0xbff28f5c, 0x28f5c28f, 0x4006b851, 0xeb851eb8}, /* -1.16000=f(-1.16000, v2.84000)*/
+{64, 0,123,__LINE__, 0xbff26666, 0x66666666, 0xbff26666, 0x66666666, 0x4006cccc, 0xcccccccd}, /* -1.15000=f(-1.15000, v2.85000)*/
+{64, 0,123,__LINE__, 0xbff23d70, 0xa3d70a3d, 0xbff23d70, 0xa3d70a3d, 0x4006e147, 0xae147ae2}, /* -1.14000=f(-1.14000, v2.86000)*/
+{64, 0,123,__LINE__, 0xbff2147a, 0xe147ae14, 0xbff2147a, 0xe147ae14, 0x4006f5c2, 0x8f5c28f6}, /* -1.13000=f(-1.13000, v2.87000)*/
+{64, 0,123,__LINE__, 0xbff1eb85, 0x1eb851eb, 0xbff1eb85, 0x1eb851eb, 0x40070a3d, 0x70a3d70a}, /* -1.12000=f(-1.12000, v2.88000)*/
+{64, 0,123,__LINE__, 0xbff1c28f, 0x5c28f5c2, 0xbff1c28f, 0x5c28f5c2, 0x40071eb8, 0x51eb851f}, /* -1.11000=f(-1.11000, v2.89000)*/
+{64, 0,123,__LINE__, 0xbff19999, 0x99999999, 0xbff19999, 0x99999999, 0x40073333, 0x33333334}, /* -1.10000=f(-1.10000, v2.90000)*/
+{64, 0,123,__LINE__, 0xbff170a3, 0xd70a3d70, 0xbff170a3, 0xd70a3d70, 0x400747ae, 0x147ae148}, /* -1.09000=f(-1.09000, v2.91000)*/
+{64, 0,123,__LINE__, 0xbff147ae, 0x147ae147, 0xbff147ae, 0x147ae147, 0x40075c28, 0xf5c28f5c}, /* -1.08000=f(-1.08000, v2.92000)*/
+{64, 0,123,__LINE__, 0xbff11eb8, 0x51eb851e, 0xbff11eb8, 0x51eb851e, 0x400770a3, 0xd70a3d71}, /* -1.07000=f(-1.07000, v2.93000)*/
+{64, 0,123,__LINE__, 0xbff0f5c2, 0x8f5c28f5, 0xbff0f5c2, 0x8f5c28f5, 0x4007851e, 0xb851eb86}, /* -1.06000=f(-1.06000, v2.94000)*/
+{64, 0,123,__LINE__, 0xbff0cccc, 0xcccccccc, 0xbff0cccc, 0xcccccccc, 0x40079999, 0x9999999a}, /* -1.05000=f(-1.05000, v2.95000)*/
+{64, 0,123,__LINE__, 0xbff0a3d7, 0x0a3d70a3, 0xbff0a3d7, 0x0a3d70a3, 0x4007ae14, 0x7ae147ae}, /* -1.04000=f(-1.04000, v2.96000)*/
+{64, 0,123,__LINE__, 0xbff07ae1, 0x47ae147a, 0xbff07ae1, 0x47ae147a, 0x4007c28f, 0x5c28f5c3}, /* -1.03000=f(-1.03000, v2.97000)*/
+{64, 0,123,__LINE__, 0xbff051eb, 0x851eb851, 0xbff051eb, 0x851eb851, 0x4007d70a, 0x3d70a3d8}, /* -1.02000=f(-1.02000, v2.98000)*/
+{64, 0,123,__LINE__, 0xbff028f5, 0xc28f5c28, 0xbff028f5, 0xc28f5c28, 0x4007eb85, 0x1eb851ec}, /* -1.01000=f(-1.01000, v2.99000)*/
+{64, 0,123,__LINE__, 0xbfefffff, 0xfffffffe, 0xbfefffff, 0xfffffffe, 0x40080000, 0x00000000}, /* -0.01000=f(-0.01000, v3.00000)*/
+{64, 0,123,__LINE__, 0xbfefae14, 0x7ae147ac, 0xbfefae14, 0x7ae147ac, 0x4008147a, 0xe147ae15}, /* -0.99000=f(-0.99000, v3.01000)*/
+{64, 0,123,__LINE__, 0xbfef5c28, 0xf5c28f5a, 0xbfef5c28, 0xf5c28f5a, 0x400828f5, 0xc28f5c2a}, /* -0.98000=f(-0.98000, v3.02000)*/
+{64, 0,123,__LINE__, 0xbfef0a3d, 0x70a3d708, 0xbfef0a3d, 0x70a3d708, 0x40083d70, 0xa3d70a3e}, /* -0.97000=f(-0.97000, v3.03000)*/
+{64, 0,123,__LINE__, 0xbfeeb851, 0xeb851eb6, 0xbfeeb851, 0xeb851eb6, 0x400851eb, 0x851eb852}, /* -0.96000=f(-0.96000, v3.04000)*/
+{64, 0,123,__LINE__, 0xbfee6666, 0x66666664, 0xbfee6666, 0x66666664, 0x40086666, 0x66666667}, /* -0.95000=f(-0.95000, v3.05000)*/
+{64, 0,123,__LINE__, 0xbfee147a, 0xe147ae12, 0xbfee147a, 0xe147ae12, 0x40087ae1, 0x47ae147c}, /* -0.94000=f(-0.94000, v3.06000)*/
+{64, 0,123,__LINE__, 0xbfedc28f, 0x5c28f5c0, 0xbfedc28f, 0x5c28f5c0, 0x40088f5c, 0x28f5c290}, /* -0.93000=f(-0.93000, v3.07000)*/
+{64, 0,123,__LINE__, 0xbfed70a3, 0xd70a3d6e, 0xbfed70a3, 0xd70a3d6e, 0x4008a3d7, 0x0a3d70a4}, /* -0.92000=f(-0.92000, v3.08000)*/
+{64, 0,123,__LINE__, 0xbfed1eb8, 0x51eb851c, 0xbfed1eb8, 0x51eb851c, 0x4008b851, 0xeb851eb9}, /* -0.91000=f(-0.91000, v3.09000)*/
+{64, 0,123,__LINE__, 0xbfeccccc, 0xccccccca, 0xbfeccccc, 0xccccccca, 0x4008cccc, 0xccccccce}, /* -0.90000=f(-0.90000, v3.10000)*/
+{64, 0,123,__LINE__, 0xbfec7ae1, 0x47ae1478, 0xbfec7ae1, 0x47ae1478, 0x4008e147, 0xae147ae2}, /* -0.89000=f(-0.89000, v3.11000)*/
+{64, 0,123,__LINE__, 0xbfec28f5, 0xc28f5c26, 0xbfec28f5, 0xc28f5c26, 0x4008f5c2, 0x8f5c28f6}, /* -0.88000=f(-0.88000, v3.12000)*/
+{64, 0,123,__LINE__, 0xbfebd70a, 0x3d70a3d4, 0xbfebd70a, 0x3d70a3d4, 0x40090a3d, 0x70a3d70b}, /* -0.87000=f(-0.87000, v3.13000)*/
+{64, 0,123,__LINE__, 0xbfeb851e, 0xb851eb82, 0xbfeb851e, 0xb851eb82, 0x40091eb8, 0x51eb8520}, /* -0.86000=f(-0.86000, v3.14000)*/
+{64, 0,123,__LINE__, 0xbfeb3333, 0x33333330, 0xbfeb3333, 0x33333330, 0x40093333, 0x33333334}, /* -0.85000=f(-0.85000, v3.15000)*/
+{64, 0,123,__LINE__, 0xbfeae147, 0xae147ade, 0xbfeae147, 0xae147ade, 0x400947ae, 0x147ae148}, /* -0.84000=f(-0.84000, v3.16000)*/
+{64, 0,123,__LINE__, 0xbfea8f5c, 0x28f5c28c, 0xbfea8f5c, 0x28f5c28c, 0x40095c28, 0xf5c28f5d}, /* -0.83000=f(-0.83000, v3.17000)*/
+{64, 0,123,__LINE__, 0xbfea3d70, 0xa3d70a3a, 0xbfea3d70, 0xa3d70a3a, 0x400970a3, 0xd70a3d72}, /* -0.82000=f(-0.82000, v3.18000)*/
+{64, 0,123,__LINE__, 0xbfe9eb85, 0x1eb851e8, 0xbfe9eb85, 0x1eb851e8, 0x4009851e, 0xb851eb86}, /* -0.81000=f(-0.81000, v3.19000)*/
+{64, 0,123,__LINE__, 0xbfe99999, 0x99999996, 0xbfe99999, 0x99999996, 0x40099999, 0x9999999a}, /* -0.80000=f(-0.80000, v3.20000)*/
+{64, 0,123,__LINE__, 0xbfe947ae, 0x147ae144, 0xbfe947ae, 0x147ae144, 0x4009ae14, 0x7ae147af}, /* -0.79000=f(-0.79000, v3.21000)*/
+{64, 0,123,__LINE__, 0xbfe8f5c2, 0x8f5c28f2, 0xbfe8f5c2, 0x8f5c28f2, 0x4009c28f, 0x5c28f5c4}, /* -0.78000=f(-0.78000, v3.22000)*/
+{64, 0,123,__LINE__, 0xbfe8a3d7, 0x0a3d70a0, 0xbfe8a3d7, 0x0a3d70a0, 0x4009d70a, 0x3d70a3d8}, /* -0.77000=f(-0.77000, v3.23000)*/
+{64, 0,123,__LINE__, 0xbfe851eb, 0x851eb84e, 0xbfe851eb, 0x851eb84e, 0x4009eb85, 0x1eb851ec}, /* -0.76000=f(-0.76000, v3.24000)*/
+{64, 0,123,__LINE__, 0xbfe7ffff, 0xfffffffc, 0xbfe7ffff, 0xfffffffc, 0x400a0000, 0x00000001}, /* -0.75000=f(-0.75000, v3.25000)*/
+{64, 0,123,__LINE__, 0xbfe7ae14, 0x7ae147aa, 0xbfe7ae14, 0x7ae147aa, 0x400a147a, 0xe147ae16}, /* -0.74000=f(-0.74000, v3.26000)*/
+{64, 0,123,__LINE__, 0xbfe75c28, 0xf5c28f58, 0xbfe75c28, 0xf5c28f58, 0x400a28f5, 0xc28f5c2a}, /* -0.73000=f(-0.73000, v3.27000)*/
+{64, 0,123,__LINE__, 0xbfe70a3d, 0x70a3d706, 0xbfe70a3d, 0x70a3d706, 0x400a3d70, 0xa3d70a3e}, /* -0.72000=f(-0.72000, v3.28000)*/
+{64, 0,123,__LINE__, 0xbfe6b851, 0xeb851eb4, 0xbfe6b851, 0xeb851eb4, 0x400a51eb, 0x851eb853}, /* -0.71000=f(-0.71000, v3.29000)*/
+{64, 0,123,__LINE__, 0xbfe66666, 0x66666662, 0xbfe66666, 0x66666662, 0x400a6666, 0x66666668}, /* -0.70000=f(-0.70000, v3.30000)*/
+{64, 0,123,__LINE__, 0xbfe6147a, 0xe147ae10, 0xbfe6147a, 0xe147ae10, 0x400a7ae1, 0x47ae147c}, /* -0.69000=f(-0.69000, v3.31000)*/
+{64, 0,123,__LINE__, 0xbfe5c28f, 0x5c28f5be, 0xbfe5c28f, 0x5c28f5be, 0x400a8f5c, 0x28f5c290}, /* -0.68000=f(-0.68000, v3.32000)*/
+{64, 0,123,__LINE__, 0xbfe570a3, 0xd70a3d6c, 0xbfe570a3, 0xd70a3d6c, 0x400aa3d7, 0x0a3d70a5}, /* -0.67000=f(-0.67000, v3.33000)*/
+{64, 0,123,__LINE__, 0xbfe51eb8, 0x51eb851a, 0xbfe51eb8, 0x51eb851a, 0x400ab851, 0xeb851eba}, /* -0.66000=f(-0.66000, v3.34000)*/
+{64, 0,123,__LINE__, 0xbfe4cccc, 0xccccccc8, 0xbfe4cccc, 0xccccccc8, 0x400acccc, 0xccccccce}, /* -0.65000=f(-0.65000, v3.35000)*/
+{64, 0,123,__LINE__, 0xbfe47ae1, 0x47ae1476, 0xbfe47ae1, 0x47ae1476, 0x400ae147, 0xae147ae2}, /* -0.64000=f(-0.64000, v3.36000)*/
+{64, 0,123,__LINE__, 0xbfe428f5, 0xc28f5c24, 0xbfe428f5, 0xc28f5c24, 0x400af5c2, 0x8f5c28f7}, /* -0.63000=f(-0.63000, v3.37000)*/
+{64, 0,123,__LINE__, 0xbfe3d70a, 0x3d70a3d2, 0xbfe3d70a, 0x3d70a3d2, 0x400b0a3d, 0x70a3d70c}, /* -0.62000=f(-0.62000, v3.38000)*/
+{64, 0,123,__LINE__, 0xbfe3851e, 0xb851eb80, 0xbfe3851e, 0xb851eb80, 0x400b1eb8, 0x51eb8520}, /* -0.61000=f(-0.61000, v3.39000)*/
+{64, 0,123,__LINE__, 0xbfe33333, 0x3333332e, 0xbfe33333, 0x3333332e, 0x400b3333, 0x33333334}, /* -0.60000=f(-0.60000, v3.40000)*/
+{64, 0,123,__LINE__, 0xbfe2e147, 0xae147adc, 0xbfe2e147, 0xae147adc, 0x400b47ae, 0x147ae149}, /* -0.59000=f(-0.59000, v3.41000)*/
+{64, 0,123,__LINE__, 0xbfe28f5c, 0x28f5c28a, 0xbfe28f5c, 0x28f5c28a, 0x400b5c28, 0xf5c28f5e}, /* -0.58000=f(-0.58000, v3.42000)*/
+{64, 0,123,__LINE__, 0xbfe23d70, 0xa3d70a38, 0xbfe23d70, 0xa3d70a38, 0x400b70a3, 0xd70a3d72}, /* -0.57000=f(-0.57000, v3.43000)*/
+{64, 0,123,__LINE__, 0xbfe1eb85, 0x1eb851e6, 0xbfe1eb85, 0x1eb851e6, 0x400b851e, 0xb851eb86}, /* -0.56000=f(-0.56000, v3.44000)*/
+{64, 0,123,__LINE__, 0xbfe19999, 0x99999994, 0xbfe19999, 0x99999994, 0x400b9999, 0x9999999b}, /* -0.55000=f(-0.55000, v3.45000)*/
+{64, 0,123,__LINE__, 0xbfe147ae, 0x147ae142, 0xbfe147ae, 0x147ae142, 0x400bae14, 0x7ae147b0}, /* -0.54000=f(-0.54000, v3.46000)*/
+{64, 0,123,__LINE__, 0xbfe0f5c2, 0x8f5c28f0, 0xbfe0f5c2, 0x8f5c28f0, 0x400bc28f, 0x5c28f5c4}, /* -0.53000=f(-0.53000, v3.47000)*/
+{64, 0,123,__LINE__, 0xbfe0a3d7, 0x0a3d709e, 0xbfe0a3d7, 0x0a3d709e, 0x400bd70a, 0x3d70a3d8}, /* -0.52000=f(-0.52000, v3.48000)*/
+{64, 0,123,__LINE__, 0xbfe051eb, 0x851eb84c, 0xbfe051eb, 0x851eb84c, 0x400beb85, 0x1eb851ed}, /* -0.51000=f(-0.51000, v3.49000)*/
+{64, 0,123,__LINE__, 0xbfdfffff, 0xfffffff4, 0xbfdfffff, 0xfffffff4, 0x400c0000, 0x00000002}, /* -0.50000=f(-0.50000, v3.50000)*/
+{64, 0,123,__LINE__, 0xbfdf5c28, 0xf5c28f50, 0xbfdf5c28, 0xf5c28f50, 0x400c147a, 0xe147ae16}, /* -0.49000=f(-0.49000, v3.51000)*/
+{64, 0,123,__LINE__, 0xbfdeb851, 0xeb851eac, 0xbfdeb851, 0xeb851eac, 0x400c28f5, 0xc28f5c2a}, /* -0.48000=f(-0.48000, v3.52000)*/
+{64, 0,123,__LINE__, 0xbfde147a, 0xe147ae08, 0xbfde147a, 0xe147ae08, 0x400c3d70, 0xa3d70a3f}, /* -0.47000=f(-0.47000, v3.53000)*/
+{64, 0,123,__LINE__, 0xbfdd70a3, 0xd70a3d64, 0xbfdd70a3, 0xd70a3d64, 0x400c51eb, 0x851eb854}, /* -0.46000=f(-0.46000, v3.54000)*/
+{64, 0,123,__LINE__, 0xbfdccccc, 0xccccccc0, 0xbfdccccc, 0xccccccc0, 0x400c6666, 0x66666668}, /* -0.45000=f(-0.45000, v3.55000)*/
+{64, 0,123,__LINE__, 0xbfdc28f5, 0xc28f5c1c, 0xbfdc28f5, 0xc28f5c1c, 0x400c7ae1, 0x47ae147c}, /* -0.44000=f(-0.44000, v3.56000)*/
+{64, 0,123,__LINE__, 0xbfdb851e, 0xb851eb78, 0xbfdb851e, 0xb851eb78, 0x400c8f5c, 0x28f5c291}, /* -0.43000=f(-0.43000, v3.57000)*/
+{64, 0,123,__LINE__, 0xbfdae147, 0xae147ad4, 0xbfdae147, 0xae147ad4, 0x400ca3d7, 0x0a3d70a6}, /* -0.42000=f(-0.42000, v3.58000)*/
+{64, 0,123,__LINE__, 0xbfda3d70, 0xa3d70a30, 0xbfda3d70, 0xa3d70a30, 0x400cb851, 0xeb851eba}, /* -0.41000=f(-0.41000, v3.59000)*/
+{64, 0,123,__LINE__, 0xbfd99999, 0x9999998c, 0xbfd99999, 0x9999998c, 0x400ccccc, 0xccccccce}, /* -0.40000=f(-0.40000, v3.60000)*/
+{64, 0,123,__LINE__, 0xbfd8f5c2, 0x8f5c28e8, 0xbfd8f5c2, 0x8f5c28e8, 0x400ce147, 0xae147ae3}, /* -0.39000=f(-0.39000, v3.61000)*/
+{64, 0,123,__LINE__, 0xbfd851eb, 0x851eb844, 0xbfd851eb, 0x851eb844, 0x400cf5c2, 0x8f5c28f8}, /* -0.38000=f(-0.38000, v3.62000)*/
+{64, 0,123,__LINE__, 0xbfd7ae14, 0x7ae147a0, 0xbfd7ae14, 0x7ae147a0, 0x400d0a3d, 0x70a3d70c}, /* -0.37000=f(-0.37000, v3.63000)*/
+{64, 0,123,__LINE__, 0xbfd70a3d, 0x70a3d6fc, 0xbfd70a3d, 0x70a3d6fc, 0x400d1eb8, 0x51eb8520}, /* -0.36000=f(-0.36000, v3.64000)*/
+{64, 0,123,__LINE__, 0xbfd66666, 0x66666658, 0xbfd66666, 0x66666658, 0x400d3333, 0x33333335}, /* -0.35000=f(-0.35000, v3.65000)*/
+{64, 0,123,__LINE__, 0xbfd5c28f, 0x5c28f5b4, 0xbfd5c28f, 0x5c28f5b4, 0x400d47ae, 0x147ae14a}, /* -0.34000=f(-0.34000, v3.66000)*/
+{64, 0,123,__LINE__, 0xbfd51eb8, 0x51eb8510, 0xbfd51eb8, 0x51eb8510, 0x400d5c28, 0xf5c28f5e}, /* -0.33000=f(-0.33000, v3.67000)*/
+{64, 0,123,__LINE__, 0xbfd47ae1, 0x47ae146c, 0xbfd47ae1, 0x47ae146c, 0x400d70a3, 0xd70a3d72}, /* -0.32000=f(-0.32000, v3.68000)*/
+{64, 0,123,__LINE__, 0xbfd3d70a, 0x3d70a3c8, 0xbfd3d70a, 0x3d70a3c8, 0x400d851e, 0xb851eb87}, /* -0.31000=f(-0.31000, v3.69000)*/
+{64, 0,123,__LINE__, 0xbfd33333, 0x33333324, 0xbfd33333, 0x33333324, 0x400d9999, 0x9999999c}, /* -0.30000=f(-0.30000, v3.70000)*/
+{64, 0,123,__LINE__, 0xbfd28f5c, 0x28f5c280, 0xbfd28f5c, 0x28f5c280, 0x400dae14, 0x7ae147b0}, /* -0.29000=f(-0.29000, v3.71000)*/
+{64, 0,123,__LINE__, 0xbfd1eb85, 0x1eb851dc, 0xbfd1eb85, 0x1eb851dc, 0x400dc28f, 0x5c28f5c4}, /* -0.28000=f(-0.28000, v3.72000)*/
+{64, 0,123,__LINE__, 0xbfd147ae, 0x147ae138, 0xbfd147ae, 0x147ae138, 0x400dd70a, 0x3d70a3d9}, /* -0.27000=f(-0.27000, v3.73000)*/
+{64, 0,123,__LINE__, 0xbfd0a3d7, 0x0a3d7094, 0xbfd0a3d7, 0x0a3d7094, 0x400deb85, 0x1eb851ee}, /* -0.26000=f(-0.26000, v3.74000)*/
+{64, 0,123,__LINE__, 0xbfcfffff, 0xffffffe0, 0xbfcfffff, 0xffffffe0, 0x400e0000, 0x00000002}, /* -0.25000=f(-0.25000, v3.75000)*/
+{64, 0,123,__LINE__, 0xbfceb851, 0xeb851e98, 0xbfceb851, 0xeb851e98, 0x400e147a, 0xe147ae16}, /* -0.24000=f(-0.24000, v3.76000)*/
+{64, 0,123,__LINE__, 0xbfcd70a3, 0xd70a3d50, 0xbfcd70a3, 0xd70a3d50, 0x400e28f5, 0xc28f5c2b}, /* -0.23000=f(-0.23000, v3.77000)*/
+{64, 0,123,__LINE__, 0xbfcc28f5, 0xc28f5c08, 0xbfcc28f5, 0xc28f5c08, 0x400e3d70, 0xa3d70a40}, /* -0.22000=f(-0.22000, v3.78000)*/
+{64, 0,123,__LINE__, 0xbfcae147, 0xae147ac0, 0xbfcae147, 0xae147ac0, 0x400e51eb, 0x851eb854}, /* -0.21000=f(-0.21000, v3.79000)*/
+{64, 0,123,__LINE__, 0xbfc99999, 0x99999978, 0xbfc99999, 0x99999978, 0x400e6666, 0x66666668}, /* -0.20000=f(-0.20000, v3.80000)*/
+{64, 0,123,__LINE__, 0xbfc851eb, 0x851eb830, 0xbfc851eb, 0x851eb830, 0x400e7ae1, 0x47ae147d}, /* -0.19000=f(-0.19000, v3.81000)*/
+{64, 0,123,__LINE__, 0xbfc70a3d, 0x70a3d6e8, 0xbfc70a3d, 0x70a3d6e8, 0x400e8f5c, 0x28f5c292}, /* -0.18000=f(-0.18000, v3.82000)*/
+{64, 0,123,__LINE__, 0xbfc5c28f, 0x5c28f5a0, 0xbfc5c28f, 0x5c28f5a0, 0x400ea3d7, 0x0a3d70a6}, /* -0.17000=f(-0.17000, v3.83000)*/
+{64, 0,123,__LINE__, 0xbfc47ae1, 0x47ae1458, 0xbfc47ae1, 0x47ae1458, 0x400eb851, 0xeb851eba}, /* -0.16000=f(-0.16000, v3.84000)*/
+{64, 0,123,__LINE__, 0xbfc33333, 0x33333310, 0xbfc33333, 0x33333310, 0x400ecccc, 0xcccccccf}, /* -0.15000=f(-0.15000, v3.85000)*/
+{64, 0,123,__LINE__, 0xbfc1eb85, 0x1eb851c8, 0xbfc1eb85, 0x1eb851c8, 0x400ee147, 0xae147ae4}, /* -0.14000=f(-0.14000, v3.86000)*/
+{64, 0,123,__LINE__, 0xbfc0a3d7, 0x0a3d7080, 0xbfc0a3d7, 0x0a3d7080, 0x400ef5c2, 0x8f5c28f8}, /* -0.13000=f(-0.13000, v3.87000)*/
+{64, 0,123,__LINE__, 0xbfbeb851, 0xeb851e71, 0xbfbeb851, 0xeb851e71, 0x400f0a3d, 0x70a3d70c}, /* -0.12000=f(-0.12000, v3.88000)*/
+{64, 0,123,__LINE__, 0xbfbc28f5, 0xc28f5be2, 0xbfbc28f5, 0xc28f5be2, 0x400f1eb8, 0x51eb8521}, /* -0.11000=f(-0.11000, v3.89000)*/
+{64, 0,123,__LINE__, 0xbfb99999, 0x99999953, 0xbfb99999, 0x99999953, 0x400f3333, 0x33333335}, /* -0.00100=f(-0.00100, v3.90000)*/
+{64, 0,123,__LINE__, 0xbfb70a3d, 0x70a3d6c4, 0xbfb70a3d, 0x70a3d6c4, 0x400f47ae, 0x147ae14a}, /* -0.09000=f(-0.09000, v3.91000)*/
+{64, 0,123,__LINE__, 0xbfb47ae1, 0x47ae1435, 0xbfb47ae1, 0x47ae1435, 0x400f5c28, 0xf5c28f5e}, /* -0.08000=f(-0.08000, v3.92000)*/
+{64, 0,123,__LINE__, 0xbfb1eb85, 0x1eb851a6, 0xbfb1eb85, 0x1eb851a6, 0x400f70a3, 0xd70a3d73}, /* -0.07000=f(-0.07000, v3.93000)*/
+{64, 0,123,__LINE__, 0xbfaeb851, 0xeb851e2d, 0xbfaeb851, 0xeb851e2d, 0x400f851e, 0xb851eb87}, /* -0.06000=f(-0.06000, v3.94000)*/
+{64, 0,123,__LINE__, 0xbfa99999, 0x9999990e, 0xbfa99999, 0x9999990e, 0x400f9999, 0x9999999c}, /* -0.05000=f(-0.05000, v3.95000)*/
+{64, 0,123,__LINE__, 0xbfa47ae1, 0x47ae13ef, 0xbfa47ae1, 0x47ae13ef, 0x400fae14, 0x7ae147b0}, /* -0.04000=f(-0.04000, v3.96000)*/
+{64, 0,123,__LINE__, 0xbf9eb851, 0xeb851da0, 0xbf9eb851, 0xeb851da0, 0x400fc28f, 0x5c28f5c5}, /* -0.03000=f(-0.03000, v3.97000)*/
+{64, 0,123,__LINE__, 0xbf947ae1, 0x47ae1362, 0xbf947ae1, 0x47ae1362, 0x400fd70a, 0x3d70a3d9}, /* -0.02000=f(-0.02000, v3.98000)*/
+{64, 0,123,__LINE__, 0xbf847ae1, 0x47ae1249, 0xbf847ae1, 0x47ae1249, 0x400feb85, 0x1eb851ee}, /* -0.00010=f(-0.00010, v3.99000)*/
+{64, 0,123,__LINE__, 0x3cd19000, 0x00000000, 0x3cd19000, 0x00000000, 0x40100000, 0x00000001}, /* 9.74915e-16=f(9.74915e-16, v4.00000)*/
+{64, 0,123,__LINE__, 0x3f847ae1, 0x47ae16ad, 0x3f847ae1, 0x47ae16ad, 0x40100a3d, 0x70a3d70b}, /* 0.01000=f(0.01000, v4.01000)*/
+{64, 0,123,__LINE__, 0x3f947ae1, 0x47ae1594, 0x3f947ae1, 0x47ae1594, 0x4010147a, 0xe147ae16}, /* 0.02000=f(0.02000, v4.02000)*/
+{64, 0,123,__LINE__, 0x3f9eb851, 0xeb851fd2, 0x3f9eb851, 0xeb851fd2, 0x40101eb8, 0x51eb8520}, /* 0.03000=f(0.03000, v4.03000)*/
+{64, 0,123,__LINE__, 0x3fa47ae1, 0x47ae1508, 0x3fa47ae1, 0x47ae1508, 0x401028f5, 0xc28f5c2a}, /* 0.04000=f(0.04000, v4.04000)*/
+{64, 0,123,__LINE__, 0x3fa99999, 0x99999a27, 0x3fa99999, 0x99999a27, 0x40103333, 0x33333334}, /* 0.05000=f(0.05000, v4.05000)*/
+{64, 0,123,__LINE__, 0x3faeb851, 0xeb851f46, 0x3faeb851, 0xeb851f46, 0x40103d70, 0xa3d70a3f}, /* 0.06000=f(0.06000, v4.06000)*/
+{64, 0,123,__LINE__, 0x3fb1eb85, 0x1eb85232, 0x3fb1eb85, 0x1eb85232, 0x401047ae, 0x147ae149}, /* 0.07000=f(0.07000, v4.07000)*/
+{64, 0,123,__LINE__, 0x3fb47ae1, 0x47ae14c1, 0x3fb47ae1, 0x47ae14c1, 0x401051eb, 0x851eb853}, /* 0.08000=f(0.08000, v4.08000)*/
+{64, 0,123,__LINE__, 0x3fb70a3d, 0x70a3d750, 0x3fb70a3d, 0x70a3d750, 0x40105c28, 0xf5c28f5d}, /* 0.09000=f(0.09000, v4.09000)*/
+{64, 0,123,__LINE__, 0x3fb99999, 0x999999df, 0x3fb99999, 0x999999df, 0x40106666, 0x66666667}, /* 0.10000=f(0.10000, v4.10000)*/
+{64, 0,123,__LINE__, 0x3fbc28f5, 0xc28f5c6e, 0x3fbc28f5, 0xc28f5c6e, 0x401070a3, 0xd70a3d72}, /* 0.11000=f(0.11000, v4.11000)*/
+{64, 0,123,__LINE__, 0x3fbeb851, 0xeb851efd, 0x3fbeb851, 0xeb851efd, 0x40107ae1, 0x47ae147c}, /* 0.12000=f(0.12000, v4.12000)*/
+{64, 0,123,__LINE__, 0x3fc0a3d7, 0x0a3d70c6, 0x3fc0a3d7, 0x0a3d70c6, 0x4010851e, 0xb851eb86}, /* 0.13000=f(0.13000, v4.13000)*/
+{64, 0,123,__LINE__, 0x3fc1eb85, 0x1eb8520e, 0x3fc1eb85, 0x1eb8520e, 0x40108f5c, 0x28f5c290}, /* 0.14000=f(0.14000, v4.14000)*/
+{64, 0,123,__LINE__, 0x3fc33333, 0x33333356, 0x3fc33333, 0x33333356, 0x40109999, 0x9999999b}, /* 0.15000=f(0.15000, v4.15000)*/
+{64, 0,123,__LINE__, 0x3fc47ae1, 0x47ae149e, 0x3fc47ae1, 0x47ae149e, 0x4010a3d7, 0x0a3d70a5}, /* 0.16000=f(0.16000, v4.16000)*/
+{64, 0,123,__LINE__, 0x3fc5c28f, 0x5c28f5e6, 0x3fc5c28f, 0x5c28f5e6, 0x4010ae14, 0x7ae147af}, /* 0.17000=f(0.17000, v4.17000)*/
+{64, 0,123,__LINE__, 0x3fc70a3d, 0x70a3d72e, 0x3fc70a3d, 0x70a3d72e, 0x4010b851, 0xeb851eb9}, /* 0.18000=f(0.18000, v4.18000)*/
+{64, 0,123,__LINE__, 0x3fc851eb, 0x851eb876, 0x3fc851eb, 0x851eb876, 0x4010c28f, 0x5c28f5c4}, /* 0.19000=f(0.19000, v4.19000)*/
+{64, 0,123,__LINE__, 0x3fc99999, 0x999999be, 0x3fc99999, 0x999999be, 0x4010cccc, 0xccccccce}, /* 0.20000=f(0.20000, v4.20000)*/
+{64, 0,123,__LINE__, 0x3fcae147, 0xae147b06, 0x3fcae147, 0xae147b06, 0x4010d70a, 0x3d70a3d8}, /* 0.21000=f(0.21000, v4.21000)*/
+{64, 0,123,__LINE__, 0x3fcc28f5, 0xc28f5c4e, 0x3fcc28f5, 0xc28f5c4e, 0x4010e147, 0xae147ae2}, /* 0.22000=f(0.22000, v4.22000)*/
+{64, 0,123,__LINE__, 0x3fcd70a3, 0xd70a3d96, 0x3fcd70a3, 0xd70a3d96, 0x4010eb85, 0x1eb851ed}, /* 0.23000=f(0.23000, v4.23000)*/
+{64, 0,123,__LINE__, 0x3fceb851, 0xeb851ede, 0x3fceb851, 0xeb851ede, 0x4010f5c2, 0x8f5c28f7}, /* 0.24000=f(0.24000, v4.24000)*/
+{64, 0,123,__LINE__, 0x3fd00000, 0x00000013, 0x3fd00000, 0x00000013, 0x40110000, 0x00000001}, /* 0.25000=f(0.25000, v4.25000)*/
+{64, 0,123,__LINE__, 0x3fd0a3d7, 0x0a3d70b7, 0x3fd0a3d7, 0x0a3d70b7, 0x40110a3d, 0x70a3d70b}, /* 0.26000=f(0.26000, v4.26000)*/
+{64, 0,123,__LINE__, 0x3fd147ae, 0x147ae15b, 0x3fd147ae, 0x147ae15b, 0x4011147a, 0xe147ae16}, /* 0.27000=f(0.27000, v4.27000)*/
+{64, 0,123,__LINE__, 0x3fd1eb85, 0x1eb851ff, 0x3fd1eb85, 0x1eb851ff, 0x40111eb8, 0x51eb8520}, /* 0.28000=f(0.28000, v4.28000)*/
+{64, 0,123,__LINE__, 0x3fd28f5c, 0x28f5c2a3, 0x3fd28f5c, 0x28f5c2a3, 0x401128f5, 0xc28f5c2a}, /* 0.29000=f(0.29000, v4.29000)*/
+{64, 0,123,__LINE__, 0x3fd33333, 0x33333347, 0x3fd33333, 0x33333347, 0x40113333, 0x33333334}, /* 0.30000=f(0.30000, v4.30000)*/
+{64, 0,123,__LINE__, 0x3fd3d70a, 0x3d70a3eb, 0x3fd3d70a, 0x3d70a3eb, 0x40113d70, 0xa3d70a3f}, /* 0.31000=f(0.31000, v4.31000)*/
+{64, 0,123,__LINE__, 0x3fd47ae1, 0x47ae148f, 0x3fd47ae1, 0x47ae148f, 0x401147ae, 0x147ae149}, /* 0.32000=f(0.32000, v4.32000)*/
+{64, 0,123,__LINE__, 0x3fd51eb8, 0x51eb8533, 0x3fd51eb8, 0x51eb8533, 0x401151eb, 0x851eb853}, /* 0.33000=f(0.33000, v4.33000)*/
+{64, 0,123,__LINE__, 0x3fd5c28f, 0x5c28f5d7, 0x3fd5c28f, 0x5c28f5d7, 0x40115c28, 0xf5c28f5d}, /* 0.34000=f(0.34000, v4.34000)*/
+{64, 0,123,__LINE__, 0x3fd66666, 0x6666667b, 0x3fd66666, 0x6666667b, 0x40116666, 0x66666668}, /* 0.35000=f(0.35000, v4.35000)*/
+{64, 0,123,__LINE__, 0x3fd70a3d, 0x70a3d71f, 0x3fd70a3d, 0x70a3d71f, 0x401170a3, 0xd70a3d72}, /* 0.36000=f(0.36000, v4.36000)*/
+{64, 0,123,__LINE__, 0x3fd7ae14, 0x7ae147c3, 0x3fd7ae14, 0x7ae147c3, 0x40117ae1, 0x47ae147c}, /* 0.37000=f(0.37000, v4.37000)*/
+{64, 0,123,__LINE__, 0x3fd851eb, 0x851eb867, 0x3fd851eb, 0x851eb867, 0x4011851e, 0xb851eb86}, /* 0.38000=f(0.38000, v4.38000)*/
+{64, 0,123,__LINE__, 0x3fd8f5c2, 0x8f5c290b, 0x3fd8f5c2, 0x8f5c290b, 0x40118f5c, 0x28f5c291}, /* 0.39000=f(0.39000, v4.39000)*/
+{64, 0,123,__LINE__, 0x3fd99999, 0x999999af, 0x3fd99999, 0x999999af, 0x40119999, 0x9999999b}, /* 0.40000=f(0.40000, v4.40000)*/
+{64, 0,123,__LINE__, 0x3fda3d70, 0xa3d70a53, 0x3fda3d70, 0xa3d70a53, 0x4011a3d7, 0x0a3d70a5}, /* 0.41000=f(0.41000, v4.41000)*/
+{64, 0,123,__LINE__, 0x3fdae147, 0xae147af7, 0x3fdae147, 0xae147af7, 0x4011ae14, 0x7ae147af}, /* 0.42000=f(0.42000, v4.42000)*/
+{64, 0,123,__LINE__, 0x3fdb851e, 0xb851eb9b, 0x3fdb851e, 0xb851eb9b, 0x4011b851, 0xeb851eba}, /* 0.43000=f(0.43000, v4.43000)*/
+{64, 0,123,__LINE__, 0x3fdc28f5, 0xc28f5c3f, 0x3fdc28f5, 0xc28f5c3f, 0x4011c28f, 0x5c28f5c4}, /* 0.44000=f(0.44000, v4.44000)*/
+{64, 0,123,__LINE__, 0x3fdccccc, 0xcccccce3, 0x3fdccccc, 0xcccccce3, 0x4011cccc, 0xccccccce}, /* 0.45000=f(0.45000, v4.45000)*/
+{64, 0,123,__LINE__, 0x3fdd70a3, 0xd70a3d87, 0x3fdd70a3, 0xd70a3d87, 0x4011d70a, 0x3d70a3d8}, /* 0.46000=f(0.46000, v4.46000)*/
+{64, 0,123,__LINE__, 0x3fde147a, 0xe147ae2b, 0x3fde147a, 0xe147ae2b, 0x4011e147, 0xae147ae3}, /* 0.47000=f(0.47000, v4.47000)*/
+{64, 0,123,__LINE__, 0x3fdeb851, 0xeb851ecf, 0x3fdeb851, 0xeb851ecf, 0x4011eb85, 0x1eb851ed}, /* 0.48000=f(0.48000, v4.48000)*/
+{64, 0,123,__LINE__, 0x3fdf5c28, 0xf5c28f73, 0x3fdf5c28, 0xf5c28f73, 0x4011f5c2, 0x8f5c28f7}, /* 0.49000=f(0.49000, v4.49000)*/
+{64, 0,123,__LINE__, 0x3fe00000, 0x0000000b, 0x3fe00000, 0x0000000b, 0x40120000, 0x00000001}, /* 0.50000=f(0.50000, v4.50000)*/
+{64, 0,123,__LINE__, 0x3fe051eb, 0x851eb85d, 0x3fe051eb, 0x851eb85d, 0x40120a3d, 0x70a3d70c}, /* 0.51000=f(0.51000, v4.51000)*/
+{64, 0,123,__LINE__, 0x3fe0a3d7, 0x0a3d70af, 0x3fe0a3d7, 0x0a3d70af, 0x4012147a, 0xe147ae16}, /* 0.52000=f(0.52000, v4.52000)*/
+{64, 0,123,__LINE__, 0x3fe0f5c2, 0x8f5c2901, 0x3fe0f5c2, 0x8f5c2901, 0x40121eb8, 0x51eb8520}, /* 0.53000=f(0.53000, v4.53000)*/
+{64, 0,123,__LINE__, 0x3fe147ae, 0x147ae153, 0x3fe147ae, 0x147ae153, 0x401228f5, 0xc28f5c2a}, /* 0.54000=f(0.54000, v4.54000)*/
+{64, 0,123,__LINE__, 0x3fe19999, 0x999999a5, 0x3fe19999, 0x999999a5, 0x40123333, 0x33333335}, /* 0.55000=f(0.55000, v4.55000)*/
+{64, 0,123,__LINE__, 0x3fe1eb85, 0x1eb851f7, 0x3fe1eb85, 0x1eb851f7, 0x40123d70, 0xa3d70a3f}, /* 0.56000=f(0.56000, v4.56000)*/
+{64, 0,123,__LINE__, 0x3fe23d70, 0xa3d70a49, 0x3fe23d70, 0xa3d70a49, 0x401247ae, 0x147ae149}, /* 0.57000=f(0.57000, v4.57000)*/
+{64, 0,123,__LINE__, 0x3fe28f5c, 0x28f5c29b, 0x3fe28f5c, 0x28f5c29b, 0x401251eb, 0x851eb853}, /* 0.58000=f(0.58000, v4.58000)*/
+{64, 0,123,__LINE__, 0x3fe2e147, 0xae147aed, 0x3fe2e147, 0xae147aed, 0x40125c28, 0xf5c28f5e}, /* 0.59000=f(0.59000, v4.59000)*/
+{64, 0,123,__LINE__, 0x3fe33333, 0x3333333f, 0x3fe33333, 0x3333333f, 0x40126666, 0x66666668}, /* 0.60000=f(0.60000, v4.60000)*/
+{64, 0,123,__LINE__, 0x3fe3851e, 0xb851eb91, 0x3fe3851e, 0xb851eb91, 0x401270a3, 0xd70a3d72}, /* 0.61000=f(0.61000, v4.61000)*/
+{64, 0,123,__LINE__, 0x3fe3d70a, 0x3d70a3e3, 0x3fe3d70a, 0x3d70a3e3, 0x40127ae1, 0x47ae147c}, /* 0.62000=f(0.62000, v4.62000)*/
+{64, 0,123,__LINE__, 0x3fe428f5, 0xc28f5c35, 0x3fe428f5, 0xc28f5c35, 0x4012851e, 0xb851eb87}, /* 0.63000=f(0.63000, v4.63000)*/
+{64, 0,123,__LINE__, 0x3fe47ae1, 0x47ae1487, 0x3fe47ae1, 0x47ae1487, 0x40128f5c, 0x28f5c291}, /* 0.64000=f(0.64000, v4.64000)*/
+{64, 0,123,__LINE__, 0x3fe4cccc, 0xccccccd9, 0x3fe4cccc, 0xccccccd9, 0x40129999, 0x9999999b}, /* 0.65000=f(0.65000, v4.65000)*/
+{64, 0,123,__LINE__, 0x3fe51eb8, 0x51eb852b, 0x3fe51eb8, 0x51eb852b, 0x4012a3d7, 0x0a3d70a5}, /* 0.66000=f(0.66000, v4.66000)*/
+{64, 0,123,__LINE__, 0x3fe570a3, 0xd70a3d7d, 0x3fe570a3, 0xd70a3d7d, 0x4012ae14, 0x7ae147b0}, /* 0.67000=f(0.67000, v4.67000)*/
+{64, 0,123,__LINE__, 0x3fe5c28f, 0x5c28f5cf, 0x3fe5c28f, 0x5c28f5cf, 0x4012b851, 0xeb851eba}, /* 0.68000=f(0.68000, v4.68000)*/
+{64, 0,123,__LINE__, 0x3fe6147a, 0xe147ae21, 0x3fe6147a, 0xe147ae21, 0x4012c28f, 0x5c28f5c4}, /* 0.69000=f(0.69000, v4.69000)*/
+{64, 0,123,__LINE__, 0x3fe66666, 0x66666673, 0x3fe66666, 0x66666673, 0x4012cccc, 0xccccccce}, /* 0.70000=f(0.70000, v4.70000)*/
+{64, 0,123,__LINE__, 0x3fe6b851, 0xeb851ec5, 0x3fe6b851, 0xeb851ec5, 0x4012d70a, 0x3d70a3d9}, /* 0.71000=f(0.71000, v4.71000)*/
+{64, 0,123,__LINE__, 0x3fe70a3d, 0x70a3d717, 0x3fe70a3d, 0x70a3d717, 0x4012e147, 0xae147ae3}, /* 0.72000=f(0.72000, v4.72000)*/
+{64, 0,123,__LINE__, 0x3fe75c28, 0xf5c28f69, 0x3fe75c28, 0xf5c28f69, 0x4012eb85, 0x1eb851ed}, /* 0.73000=f(0.73000, v4.73000)*/
+{64, 0,123,__LINE__, 0x3fe7ae14, 0x7ae147bb, 0x3fe7ae14, 0x7ae147bb, 0x4012f5c2, 0x8f5c28f7}, /* 0.74000=f(0.74000, v4.74000)*/
+{64, 0,123,__LINE__, 0x3fe80000, 0x0000000d, 0x3fe80000, 0x0000000d, 0x40130000, 0x00000002}, /* 0.75000=f(0.75000, v4.75000)*/
+{64, 0,123,__LINE__, 0x3fe851eb, 0x851eb85f, 0x3fe851eb, 0x851eb85f, 0x40130a3d, 0x70a3d70c}, /* 0.76000=f(0.76000, v4.76000)*/
+{64, 0,123,__LINE__, 0x3fe8a3d7, 0x0a3d70b1, 0x3fe8a3d7, 0x0a3d70b1, 0x4013147a, 0xe147ae16}, /* 0.77000=f(0.77000, v4.77000)*/
+{64, 0,123,__LINE__, 0x3fe8f5c2, 0x8f5c2903, 0x3fe8f5c2, 0x8f5c2903, 0x40131eb8, 0x51eb8520}, /* 0.78000=f(0.78000, v4.78000)*/
+{64, 0,123,__LINE__, 0x3fe947ae, 0x147ae155, 0x3fe947ae, 0x147ae155, 0x401328f5, 0xc28f5c2b}, /* 0.79000=f(0.79000, v4.79000)*/
+{64, 0,123,__LINE__, 0x3fe99999, 0x999999a7, 0x3fe99999, 0x999999a7, 0x40133333, 0x33333335}, /* 0.80000=f(0.80000, v4.80000)*/
+{64, 0,123,__LINE__, 0x3fe9eb85, 0x1eb851f9, 0x3fe9eb85, 0x1eb851f9, 0x40133d70, 0xa3d70a3f}, /* 0.81000=f(0.81000, v4.81000)*/
+{64, 0,123,__LINE__, 0x3fea3d70, 0xa3d70a4b, 0x3fea3d70, 0xa3d70a4b, 0x401347ae, 0x147ae149}, /* 0.82000=f(0.82000, v4.82000)*/
+{64, 0,123,__LINE__, 0x3fea8f5c, 0x28f5c29d, 0x3fea8f5c, 0x28f5c29d, 0x401351eb, 0x851eb854}, /* 0.83000=f(0.83000, v4.83000)*/
+{64, 0,123,__LINE__, 0x3feae147, 0xae147aef, 0x3feae147, 0xae147aef, 0x40135c28, 0xf5c28f5e}, /* 0.84000=f(0.84000, v4.84000)*/
+{64, 0,123,__LINE__, 0x3feb3333, 0x33333341, 0x3feb3333, 0x33333341, 0x40136666, 0x66666668}, /* 0.85000=f(0.85000, v4.85000)*/
+{64, 0,123,__LINE__, 0x3feb851e, 0xb851eb93, 0x3feb851e, 0xb851eb93, 0x401370a3, 0xd70a3d72}, /* 0.86000=f(0.86000, v4.86000)*/
+{64, 0,123,__LINE__, 0x3febd70a, 0x3d70a3e5, 0x3febd70a, 0x3d70a3e5, 0x40137ae1, 0x47ae147d}, /* 0.87000=f(0.87000, v4.87000)*/
+{64, 0,123,__LINE__, 0x3fec28f5, 0xc28f5c37, 0x3fec28f5, 0xc28f5c37, 0x4013851e, 0xb851eb87}, /* 0.88000=f(0.88000, v4.88000)*/
+{64, 0,123,__LINE__, 0x3fec7ae1, 0x47ae1489, 0x3fec7ae1, 0x47ae1489, 0x40138f5c, 0x28f5c291}, /* 0.89000=f(0.89000, v4.89000)*/
+{64, 0,123,__LINE__, 0x3feccccc, 0xccccccdb, 0x3feccccc, 0xccccccdb, 0x40139999, 0x9999999b}, /* 0.90000=f(0.90000, v4.90000)*/
+{64, 0,123,__LINE__, 0x3fed1eb8, 0x51eb852d, 0x3fed1eb8, 0x51eb852d, 0x4013a3d7, 0x0a3d70a6}, /* 0.91000=f(0.91000, v4.91000)*/
+{64, 0,123,__LINE__, 0x3fed70a3, 0xd70a3d7f, 0x3fed70a3, 0xd70a3d7f, 0x4013ae14, 0x7ae147b0}, /* 0.92000=f(0.92000, v4.92000)*/
+{64, 0,123,__LINE__, 0x3fedc28f, 0x5c28f5d1, 0x3fedc28f, 0x5c28f5d1, 0x4013b851, 0xeb851eba}, /* 0.93000=f(0.93000, v4.93000)*/
+{64, 0,123,__LINE__, 0x3fee147a, 0xe147ae23, 0x3fee147a, 0xe147ae23, 0x4013c28f, 0x5c28f5c4}, /* 0.94000=f(0.94000, v4.94000)*/
+{64, 0,123,__LINE__, 0x3fee6666, 0x66666675, 0x3fee6666, 0x66666675, 0x4013cccc, 0xcccccccf}, /* 0.95000=f(0.95000, v4.95000)*/
+{64, 0,123,__LINE__, 0x3feeb851, 0xeb851ec7, 0x3feeb851, 0xeb851ec7, 0x4013d70a, 0x3d70a3d9}, /* 0.96000=f(0.96000, v4.96000)*/
+{64, 0,123,__LINE__, 0x3fef0a3d, 0x70a3d719, 0x3fef0a3d, 0x70a3d719, 0x4013e147, 0xae147ae3}, /* 0.97000=f(0.97000, v4.97000)*/
+{64, 0,123,__LINE__, 0x3fef5c28, 0xf5c28f6b, 0x3fef5c28, 0xf5c28f6b, 0x4013eb85, 0x1eb851ed}, /* 0.98000=f(0.98000, v4.98000)*/
+{64, 0,123,__LINE__, 0x3fefae14, 0x7ae147bd, 0x3fefae14, 0x7ae147bd, 0x4013f5c2, 0x8f5c28f8}, /* 0.99000=f(0.99000, v4.99000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000007, 0x3ff00000, 0x00000007, 0x40140000, 0x00000002}, /* 1.00000=f(1.00000, v5.00000)*/
+{64, 0,123,__LINE__, 0x3ff028f5, 0xc28f5c30, 0x3ff028f5, 0xc28f5c30, 0x40140a3d, 0x70a3d70c}, /* 1.01000=f(1.01000, v5.01000)*/
+{64, 0,123,__LINE__, 0x3ff051eb, 0x851eb859, 0x3ff051eb, 0x851eb859, 0x4014147a, 0xe147ae16}, /* 1.02000=f(1.02000, v5.02000)*/
+{64, 0,123,__LINE__, 0x3ff07ae1, 0x47ae1482, 0x3ff07ae1, 0x47ae1482, 0x40141eb8, 0x51eb8520}, /* 1.03000=f(1.03000, v5.03000)*/
+{64, 0,123,__LINE__, 0x3ff0a3d7, 0x0a3d70ab, 0x3ff0a3d7, 0x0a3d70ab, 0x401428f5, 0xc28f5c2b}, /* 1.04000=f(1.04000, v5.04000)*/
+{64, 0,123,__LINE__, 0x3ff0cccc, 0xccccccd4, 0x3ff0cccc, 0xccccccd4, 0x40143333, 0x33333335}, /* 1.05000=f(1.05000, v5.05000)*/
+{64, 0,123,__LINE__, 0x3ff0f5c2, 0x8f5c28fd, 0x3ff0f5c2, 0x8f5c28fd, 0x40143d70, 0xa3d70a3f}, /* 1.06000=f(1.06000, v5.06000)*/
+{64, 0,123,__LINE__, 0x3ff11eb8, 0x51eb8526, 0x3ff11eb8, 0x51eb8526, 0x401447ae, 0x147ae14a}, /* 1.07000=f(1.07000, v5.07000)*/
+{64, 0,123,__LINE__, 0x3ff147ae, 0x147ae14f, 0x3ff147ae, 0x147ae14f, 0x401451eb, 0x851eb854}, /* 1.08000=f(1.08000, v5.08000)*/
+{64, 0,123,__LINE__, 0x3ff170a3, 0xd70a3d78, 0x3ff170a3, 0xd70a3d78, 0x40145c28, 0xf5c28f5e}, /* 1.09000=f(1.09000, v5.09000)*/
+{64, 0,123,__LINE__, 0x3ff19999, 0x999999a1, 0x3ff19999, 0x999999a1, 0x40146666, 0x66666668}, /* 1.10000=f(1.10000, v5.10000)*/
+{64, 0,123,__LINE__, 0x3ff1c28f, 0x5c28f5ca, 0x3ff1c28f, 0x5c28f5ca, 0x401470a3, 0xd70a3d72}, /* 1.11000=f(1.11000, v5.11000)*/
+{64, 0,123,__LINE__, 0x3ff1eb85, 0x1eb851f3, 0x3ff1eb85, 0x1eb851f3, 0x40147ae1, 0x47ae147d}, /* 1.12000=f(1.12000, v5.12000)*/
+{64, 0,123,__LINE__, 0x3ff2147a, 0xe147ae1c, 0x3ff2147a, 0xe147ae1c, 0x4014851e, 0xb851eb87}, /* 1.13000=f(1.13000, v5.13000)*/
+{64, 0,123,__LINE__, 0x3ff23d70, 0xa3d70a45, 0x3ff23d70, 0xa3d70a45, 0x40148f5c, 0x28f5c291}, /* 1.14000=f(1.14000, v5.14000)*/
+{64, 0,123,__LINE__, 0x3ff26666, 0x6666666e, 0x3ff26666, 0x6666666e, 0x40149999, 0x9999999c}, /* 1.15000=f(1.15000, v5.15000)*/
+{64, 0,123,__LINE__, 0x3ff28f5c, 0x28f5c297, 0x3ff28f5c, 0x28f5c297, 0x4014a3d7, 0x0a3d70a6}, /* 1.16000=f(1.16000, v5.16000)*/
+{64, 0,123,__LINE__, 0x3ff2b851, 0xeb851ec0, 0x3ff2b851, 0xeb851ec0, 0x4014ae14, 0x7ae147b0}, /* 1.17000=f(1.17000, v5.17000)*/
+{64, 0,123,__LINE__, 0x3ff2e147, 0xae147ae9, 0x3ff2e147, 0xae147ae9, 0x4014b851, 0xeb851eba}, /* 1.18000=f(1.18000, v5.18000)*/
+{64, 0,123,__LINE__, 0x3ff30a3d, 0x70a3d712, 0x3ff30a3d, 0x70a3d712, 0x4014c28f, 0x5c28f5c4}, /* 1.19000=f(1.19000, v5.19000)*/
+{64, 0,123,__LINE__, 0xbffb7812, 0xaeef4ba0, 0xc01921fb, 0x54442d18, 0xc00243f6, 0xa8885a30}, /* -1.71681=f(-6.28318, v-2.28318)*/
+{64, 0,123,__LINE__, 0xbfdc0918, 0x40056e60, 0xc012d97c, 0x7f3321d2, 0xbfe6cbe3, 0xf9990e90}, /* -0.43805=f(-4.71238, v-0.71238)*/
+{64, 0,123,__LINE__, 0xbfe21fb5, 0x4442d180, 0xc00921fb, 0x54442d18, 0x3feb7812, 0xaeef4ba0}, /* -0.56637=f(-3.14159, v0.85840)*/
+{64, 0,123,__LINE__, 0xbff921fb, 0x54442d18, 0xbff921fb, 0x54442d18, 0x40036f02, 0x55dde974}, /* -1.57079=f(-1.57079, v2.42920)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x40100000, 0x00000000}, /* 0.00000=f(0.00000, v4.00000)*/
+{64, 0,123,__LINE__, 0x3ff921fb, 0x54442d18, 0x3ff921fb, 0x54442d18, 0x4016487e, 0xd5110b46}, /* 1.57079=f(1.57079, v5.57079)*/
+{64, 0,123,__LINE__, 0x400921fb, 0x54442d18, 0x400921fb, 0x54442d18, 0x401c90fd, 0xaa22168c}, /* 3.14159=f(3.14159, v7.14159)*/
+{64, 0,123,__LINE__, 0x4012d97c, 0x7f3321d2, 0x4012d97c, 0x7f3321d2, 0x40216cbe, 0x3f9990e9}, /* 4.71238=f(4.71238, v8.71238)*/
+{64, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc03e0000, 0x00000000, 0xc03a0000, 0x00000000}, /* -4.00000=f(-30.0000, v-26.0000)*/
+{64, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc03c4ccc, 0xcccccccd, 0xc0384ccc, 0xcccccccd}, /* -4.00000=f(-28.3000, v-24.3000)*/
+{64, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc03a9999, 0x9999999a, 0xc0369999, 0x9999999a}, /* -4.00000=f(-26.6000, v-22.6000)*/
+{64, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc038e666, 0x66666667, 0xc034e666, 0x66666667}, /* -4.00000=f(-24.9000, v-20.9000)*/
+{64, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc0373333, 0x33333334, 0xc0333333, 0x33333334}, /* -4.00000=f(-23.2000, v-19.2000)*/
+{64, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc0358000, 0x00000001, 0xc0318000, 0x00000001}, /* -4.00000=f(-21.5000, v-17.5000)*/
+{64, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc033cccc, 0xccccccce, 0xc02f9999, 0x9999999c}, /* -4.00000=f(-19.8000, v-15.8000)*/
+{64, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc0321999, 0x9999999b, 0xc02c3333, 0x33333336}, /* -4.00000=f(-18.1000, v-14.1000)*/
+{64, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc0306666, 0x66666668, 0xc028cccc, 0xccccccd0}, /* -4.00000=f(-16.4000, v-12.4000)*/
+{64, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc02d6666, 0x6666666a, 0xc0256666, 0x6666666a}, /* -4.00000=f(-14.7000, v-10.7000)*/
+{64, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc02a0000, 0x00000004, 0xc0220000, 0x00000004}, /* -4.00000=f(-13.0000, v-9.00000)*/
+{64, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc0269999, 0x9999999e, 0xc01d3333, 0x3333333c}, /* -4.00000=f(-11.3000, v-7.30000)*/
+{64, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc0233333, 0x33333338, 0xc0166666, 0x66666670}, /* -4.00000=f(-9.60000, v-5.60000)*/
+{64, 0,123,__LINE__, 0xbfb99999, 0x99999740, 0xc01f9999, 0x999999a3, 0xc00f3333, 0x33333346}, /* -0.00100=f(-7.90000, v-3.90000)*/
+{64, 0,123,__LINE__, 0xbffccccc, 0xcccccca8, 0xc018cccc, 0xccccccd6, 0xc0019999, 0x999999ac}, /* -1.80000=f(-6.20000, v-2.20000)*/
+{64, 0,123,__LINE__, 0xbfdfffff, 0xfffffc10, 0xc0120000, 0x00000009, 0xbfe00000, 0x00000048}, /* -0.50000=f(-4.50000, v-0.50000)*/
+{64, 0,123,__LINE__, 0xbfd99999, 0x99999b40, 0xc0066666, 0x66666678, 0x3ff33333, 0x33333310}, /* -0.40000=f(-2.80000, v1.20000)*/
+{64, 0,123,__LINE__, 0xbff19999, 0x999999bd, 0xbff19999, 0x999999bd, 0x40073333, 0x33333322}, /* -1.10000=f(-1.10000, v2.90000)*/
+{64, 0,123,__LINE__, 0x3fe33333, 0x333332ec, 0x3fe33333, 0x333332ec, 0x40126666, 0x6666665e}, /* 0.60000=f(0.60000, v4.60000)*/
+{64, 0,123,__LINE__, 0x40026666, 0x66666654, 0x40026666, 0x66666654, 0x40193333, 0x3333332a}, /* 2.30000=f(2.30000, v6.30000)*/
+{64, 0,123,__LINE__, 0x400fffff, 0xffffffee, 0x400fffff, 0xffffffee, 0x401fffff, 0xfffffff7}, /* 4.00000=f(4.00000, v8.00000)*/
+{64, 0,123,__LINE__, 0x4016cccc, 0xccccccc4, 0x4016cccc, 0xccccccc4, 0x40236666, 0x66666662}, /* 5.70000=f(5.70000, v9.70000)*/
+{64, 0,123,__LINE__, 0x401d9999, 0x99999991, 0x401d9999, 0x99999991, 0x4026cccc, 0xccccccc8}, /* 7.40000=f(7.40000, v11.4000)*/
+{64, 0,123,__LINE__, 0x40223333, 0x3333332f, 0x40223333, 0x3333332f, 0x402a3333, 0x3333332f}, /* 9.10000=f(9.10000, v13.1000)*/
+{64, 0,123,__LINE__, 0x40259999, 0x99999995, 0x40259999, 0x99999995, 0x402d9999, 0x99999995}, /* 10.8000=f(10.8000, v14.8000)*/
+{64, 0,123,__LINE__, 0x4028ffff, 0xfffffffb, 0x4028ffff, 0xfffffffb, 0x40307fff, 0xfffffffe}, /* 12.5000=f(12.5000, v16.5000)*/
+{64, 0,123,__LINE__, 0x402c6666, 0x66666661, 0x402c6666, 0x66666661, 0x40323333, 0x33333330}, /* 14.2000=f(14.2000, v18.2000)*/
+{64, 0,123,__LINE__, 0x402fcccc, 0xccccccc7, 0x402fcccc, 0xccccccc7, 0x4033e666, 0x66666664}, /* 15.9000=f(15.9000, v19.9000)*/
+{64, 0,123,__LINE__, 0x40319999, 0x99999997, 0x40319999, 0x99999997, 0x40359999, 0x99999997}, /* 17.6000=f(17.6000, v21.6000)*/
+{64, 0,123,__LINE__, 0x40334ccc, 0xccccccca, 0x40334ccc, 0xccccccca, 0x40374ccc, 0xccccccca}, /* 19.3000=f(19.3000, v23.3000)*/
+{64, 0,123,__LINE__, 0x4034ffff, 0xfffffffd, 0x4034ffff, 0xfffffffd, 0x4038ffff, 0xfffffffd}, /* 21.0000=f(21.0000, v25.0000)*/
+{64, 0,123,__LINE__, 0x4036b333, 0x33333330, 0x4036b333, 0x33333330, 0x403ab333, 0x33333330}, /* 22.7000=f(22.7000, v26.7000)*/
+{64, 0,123,__LINE__, 0x40386666, 0x66666663, 0x40386666, 0x66666663, 0x403c6666, 0x66666663}, /* 24.4000=f(24.4000, v28.4000)*/
+{64, 0,123,__LINE__, 0x403a1999, 0x99999996, 0x403a1999, 0x99999996, 0x403e1999, 0x99999996}, /* 26.1000=f(26.1000, v30.1000)*/
+{64, 0,123,__LINE__, 0x403bcccc, 0xccccccc9, 0x403bcccc, 0xccccccc9, 0x403fcccc, 0xccccccc9}, /* 27.8000=f(27.8000, v31.8000)*/
+{64, 0,123,__LINE__, 0x403d7fff, 0xfffffffc, 0x403d7fff, 0xfffffffc, 0x4040bfff, 0xfffffffe}, /* 29.5000=f(29.5000, v33.5000)*/
+0,};
+test_fmod(m) {run_vector_1(m,fmod_vec,(char *)(fmod),"fmod","ddd"); }
diff --git a/newlib/libm/test/fmodf_vec.c b/newlib/libm/test/fmodf_vec.c
new file mode 100644
index 00000000000..f50eeda7641
--- /dev/null
+++ b/newlib/libm/test/fmodf_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type fmodf_vec[] = {
+{ 0, 0,123,__LINE__, 0xbff33333, 0x40000000, 0xbff33333, 0x33333333, 0x40066666, 0x66666666}, /* -1.20000=f(-1.20000, v2.80000)*/
+{ 0, 0,123,__LINE__, 0xbff30a3d, 0x80000000, 0xbff30a3d, 0x70a3d70a, 0x40067ae1, 0x47ae147b}, /* -1.19000=f(-1.19000, v2.81000)*/
+{ 0, 0,123,__LINE__, 0xbff2e147, 0xa0000000, 0xbff2e147, 0xae147ae1, 0x40068f5c, 0x28f5c290}, /* -1.18000=f(-1.18000, v2.82000)*/
+{ 0, 0,123,__LINE__, 0xbff2b851, 0xe0000000, 0xbff2b851, 0xeb851eb8, 0x4006a3d7, 0x0a3d70a4}, /* -1.17000=f(-1.17000, v2.83000)*/
+{ 0, 0,123,__LINE__, 0xbff28f5c, 0x20000000, 0xbff28f5c, 0x28f5c28f, 0x4006b851, 0xeb851eb8}, /* -1.16000=f(-1.16000, v2.84000)*/
+{ 0, 0,123,__LINE__, 0xbff26666, 0x60000000, 0xbff26666, 0x66666666, 0x4006cccc, 0xcccccccd}, /* -1.15000=f(-1.15000, v2.85000)*/
+{ 0, 0,123,__LINE__, 0xbff23d70, 0xa0000000, 0xbff23d70, 0xa3d70a3d, 0x4006e147, 0xae147ae2}, /* -1.14000=f(-1.14000, v2.86000)*/
+{ 0, 0,123,__LINE__, 0xbff2147a, 0xe0000000, 0xbff2147a, 0xe147ae14, 0x4006f5c2, 0x8f5c28f6}, /* -1.13000=f(-1.13000, v2.87000)*/
+{ 0, 0,123,__LINE__, 0xbff1eb85, 0x20000000, 0xbff1eb85, 0x1eb851eb, 0x40070a3d, 0x70a3d70a}, /* -1.12000=f(-1.12000, v2.88000)*/
+{ 0, 0,123,__LINE__, 0xbff1c28f, 0x60000000, 0xbff1c28f, 0x5c28f5c2, 0x40071eb8, 0x51eb851f}, /* -1.11000=f(-1.11000, v2.89000)*/
+{ 0, 0,123,__LINE__, 0xbff19999, 0xa0000000, 0xbff19999, 0x99999999, 0x40073333, 0x33333334}, /* -1.10000=f(-1.10000, v2.90000)*/
+{ 0, 0,123,__LINE__, 0xbff170a3, 0xe0000000, 0xbff170a3, 0xd70a3d70, 0x400747ae, 0x147ae148}, /* -1.09000=f(-1.09000, v2.91000)*/
+{ 0, 0,123,__LINE__, 0xbff147ae, 0x20000000, 0xbff147ae, 0x147ae147, 0x40075c28, 0xf5c28f5c}, /* -1.08000=f(-1.08000, v2.92000)*/
+{ 0, 0,123,__LINE__, 0xbff11eb8, 0x60000000, 0xbff11eb8, 0x51eb851e, 0x400770a3, 0xd70a3d71}, /* -1.07000=f(-1.07000, v2.93000)*/
+{ 0, 0,123,__LINE__, 0xbff0f5c2, 0x80000000, 0xbff0f5c2, 0x8f5c28f5, 0x4007851e, 0xb851eb86}, /* -1.06000=f(-1.06000, v2.94000)*/
+{ 0, 0,123,__LINE__, 0xbff0cccc, 0xc0000000, 0xbff0cccc, 0xcccccccc, 0x40079999, 0x9999999a}, /* -1.05000=f(-1.05000, v2.95000)*/
+{ 0, 0,123,__LINE__, 0xbff0a3d7, 0x00000000, 0xbff0a3d7, 0x0a3d70a3, 0x4007ae14, 0x7ae147ae}, /* -1.04000=f(-1.04000, v2.96000)*/
+{ 0, 0,123,__LINE__, 0xbff07ae1, 0x40000000, 0xbff07ae1, 0x47ae147a, 0x4007c28f, 0x5c28f5c3}, /* -1.03000=f(-1.03000, v2.97000)*/
+{ 0, 0,123,__LINE__, 0xbff051eb, 0x80000000, 0xbff051eb, 0x851eb851, 0x4007d70a, 0x3d70a3d8}, /* -1.02000=f(-1.02000, v2.98000)*/
+{ 0, 0,123,__LINE__, 0xbff028f5, 0xc0000000, 0xbff028f5, 0xc28f5c28, 0x4007eb85, 0x1eb851ec}, /* -1.01000=f(-1.01000, v2.99000)*/
+{ 0, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xbfefffff, 0xfffffffe, 0x40080000, 0x00000000}, /* -1.00000=f(-0.01000, v3.00000)*/
+{ 0, 0,123,__LINE__, 0xbfefae14, 0x80000000, 0xbfefae14, 0x7ae147ac, 0x4008147a, 0xe147ae15}, /* -0.99000=f(-0.99000, v3.01000)*/
+{ 0, 0,123,__LINE__, 0xbfef5c29, 0x00000000, 0xbfef5c28, 0xf5c28f5a, 0x400828f5, 0xc28f5c2a}, /* -0.98000=f(-0.98000, v3.02000)*/
+{ 0, 0,123,__LINE__, 0xbfef0a3d, 0x80000000, 0xbfef0a3d, 0x70a3d708, 0x40083d70, 0xa3d70a3e}, /* -0.97000=f(-0.97000, v3.03000)*/
+{ 0, 0,123,__LINE__, 0xbfeeb851, 0xe0000000, 0xbfeeb851, 0xeb851eb6, 0x400851eb, 0x851eb852}, /* -0.95999=f(-0.96000, v3.04000)*/
+{ 0, 0,123,__LINE__, 0xbfee6666, 0x60000000, 0xbfee6666, 0x66666664, 0x40086666, 0x66666667}, /* -0.94999=f(-0.95000, v3.05000)*/
+{ 0, 0,123,__LINE__, 0xbfee147a, 0xe0000000, 0xbfee147a, 0xe147ae12, 0x40087ae1, 0x47ae147c}, /* -0.94000=f(-0.94000, v3.06000)*/
+{ 0, 0,123,__LINE__, 0xbfedc28f, 0x60000000, 0xbfedc28f, 0x5c28f5c0, 0x40088f5c, 0x28f5c290}, /* -0.93000=f(-0.93000, v3.07000)*/
+{ 0, 0,123,__LINE__, 0xbfed70a3, 0xe0000000, 0xbfed70a3, 0xd70a3d6e, 0x4008a3d7, 0x0a3d70a4}, /* -0.92000=f(-0.92000, v3.08000)*/
+{ 0, 0,123,__LINE__, 0xbfed1eb8, 0x60000000, 0xbfed1eb8, 0x51eb851c, 0x4008b851, 0xeb851eb9}, /* -0.91000=f(-0.91000, v3.09000)*/
+{ 0, 0,123,__LINE__, 0xbfeccccc, 0xc0000000, 0xbfeccccc, 0xccccccca, 0x4008cccc, 0xccccccce}, /* -0.89999=f(-0.90000, v3.10000)*/
+{ 0, 0,123,__LINE__, 0xbfec7ae1, 0x40000000, 0xbfec7ae1, 0x47ae1478, 0x4008e147, 0xae147ae2}, /* -0.88999=f(-0.89000, v3.11000)*/
+{ 0, 0,123,__LINE__, 0xbfec28f5, 0xc0000000, 0xbfec28f5, 0xc28f5c26, 0x4008f5c2, 0x8f5c28f6}, /* -0.88000=f(-0.88000, v3.12000)*/
+{ 0, 0,123,__LINE__, 0xbfebd70a, 0x40000000, 0xbfebd70a, 0x3d70a3d4, 0x40090a3d, 0x70a3d70b}, /* -0.87000=f(-0.87000, v3.13000)*/
+{ 0, 0,123,__LINE__, 0xbfeb851e, 0xc0000000, 0xbfeb851e, 0xb851eb82, 0x40091eb8, 0x51eb8520}, /* -0.86000=f(-0.86000, v3.14000)*/
+{ 0, 0,123,__LINE__, 0xbfeb3333, 0x40000000, 0xbfeb3333, 0x33333330, 0x40093333, 0x33333334}, /* -0.85000=f(-0.85000, v3.15000)*/
+{ 0, 0,123,__LINE__, 0xbfeae147, 0xa0000000, 0xbfeae147, 0xae147ade, 0x400947ae, 0x147ae148}, /* -0.83999=f(-0.84000, v3.16000)*/
+{ 0, 0,123,__LINE__, 0xbfea8f5c, 0x20000000, 0xbfea8f5c, 0x28f5c28c, 0x40095c28, 0xf5c28f5d}, /* -0.82999=f(-0.83000, v3.17000)*/
+{ 0, 0,123,__LINE__, 0xbfea3d70, 0xa0000000, 0xbfea3d70, 0xa3d70a3a, 0x400970a3, 0xd70a3d72}, /* -0.81999=f(-0.82000, v3.18000)*/
+{ 0, 0,123,__LINE__, 0xbfe9eb85, 0x20000000, 0xbfe9eb85, 0x1eb851e8, 0x4009851e, 0xb851eb86}, /* -0.81000=f(-0.81000, v3.19000)*/
+{ 0, 0,123,__LINE__, 0xbfe99999, 0xa0000000, 0xbfe99999, 0x99999996, 0x40099999, 0x9999999a}, /* -0.80000=f(-0.80000, v3.20000)*/
+{ 0, 0,123,__LINE__, 0xbfe947ae, 0x20000000, 0xbfe947ae, 0x147ae144, 0x4009ae14, 0x7ae147af}, /* -0.79000=f(-0.79000, v3.21000)*/
+{ 0, 0,123,__LINE__, 0xbfe8f5c2, 0x80000000, 0xbfe8f5c2, 0x8f5c28f2, 0x4009c28f, 0x5c28f5c4}, /* -0.77999=f(-0.78000, v3.22000)*/
+{ 0, 0,123,__LINE__, 0xbfe8a3d7, 0x00000000, 0xbfe8a3d7, 0x0a3d70a0, 0x4009d70a, 0x3d70a3d8}, /* -0.76999=f(-0.77000, v3.23000)*/
+{ 0, 0,123,__LINE__, 0xbfe851eb, 0x80000000, 0xbfe851eb, 0x851eb84e, 0x4009eb85, 0x1eb851ec}, /* -0.75999=f(-0.76000, v3.24000)*/
+{ 0, 0,123,__LINE__, 0xbfe80000, 0x00000000, 0xbfe7ffff, 0xfffffffc, 0x400a0000, 0x00000001}, /* -0.75000=f(-0.75000, v3.25000)*/
+{ 0, 0,123,__LINE__, 0xbfe7ae14, 0x80000000, 0xbfe7ae14, 0x7ae147aa, 0x400a147a, 0xe147ae16}, /* -0.74000=f(-0.74000, v3.26000)*/
+{ 0, 0,123,__LINE__, 0xbfe75c29, 0x00000000, 0xbfe75c28, 0xf5c28f58, 0x400a28f5, 0xc28f5c2a}, /* -0.73000=f(-0.73000, v3.27000)*/
+{ 0, 0,123,__LINE__, 0xbfe70a3d, 0x80000000, 0xbfe70a3d, 0x70a3d706, 0x400a3d70, 0xa3d70a3e}, /* -0.72000=f(-0.72000, v3.28000)*/
+{ 0, 0,123,__LINE__, 0xbfe6b851, 0xe0000000, 0xbfe6b851, 0xeb851eb4, 0x400a51eb, 0x851eb853}, /* -0.70999=f(-0.71000, v3.29000)*/
+{ 0, 0,123,__LINE__, 0xbfe66666, 0x60000000, 0xbfe66666, 0x66666662, 0x400a6666, 0x66666668}, /* -0.69999=f(-0.70000, v3.30000)*/
+{ 0, 0,123,__LINE__, 0xbfe6147a, 0xe0000000, 0xbfe6147a, 0xe147ae10, 0x400a7ae1, 0x47ae147c}, /* -0.69000=f(-0.69000, v3.31000)*/
+{ 0, 0,123,__LINE__, 0xbfe5c28f, 0x60000000, 0xbfe5c28f, 0x5c28f5be, 0x400a8f5c, 0x28f5c290}, /* -0.68000=f(-0.68000, v3.32000)*/
+{ 0, 0,123,__LINE__, 0xbfe570a3, 0xe0000000, 0xbfe570a3, 0xd70a3d6c, 0x400aa3d7, 0x0a3d70a5}, /* -0.67000=f(-0.67000, v3.33000)*/
+{ 0, 0,123,__LINE__, 0xbfe51eb8, 0x60000000, 0xbfe51eb8, 0x51eb851a, 0x400ab851, 0xeb851eba}, /* -0.66000=f(-0.66000, v3.34000)*/
+{ 0, 0,123,__LINE__, 0xbfe4cccc, 0xc0000000, 0xbfe4cccc, 0xccccccc8, 0x400acccc, 0xccccccce}, /* -0.64999=f(-0.65000, v3.35000)*/
+{ 0, 0,123,__LINE__, 0xbfe47ae1, 0x40000000, 0xbfe47ae1, 0x47ae1476, 0x400ae147, 0xae147ae2}, /* -0.63999=f(-0.64000, v3.36000)*/
+{ 0, 0,123,__LINE__, 0xbfe428f5, 0xc0000000, 0xbfe428f5, 0xc28f5c24, 0x400af5c2, 0x8f5c28f7}, /* -0.63000=f(-0.63000, v3.37000)*/
+{ 0, 0,123,__LINE__, 0xbfe3d70a, 0x40000000, 0xbfe3d70a, 0x3d70a3d2, 0x400b0a3d, 0x70a3d70c}, /* -0.62000=f(-0.62000, v3.38000)*/
+{ 0, 0,123,__LINE__, 0xbfe3851e, 0xc0000000, 0xbfe3851e, 0xb851eb80, 0x400b1eb8, 0x51eb8520}, /* -0.61000=f(-0.61000, v3.39000)*/
+{ 0, 0,123,__LINE__, 0xbfe33333, 0x40000000, 0xbfe33333, 0x3333332e, 0x400b3333, 0x33333334}, /* -0.60000=f(-0.60000, v3.40000)*/
+{ 0, 0,123,__LINE__, 0xbfe2e147, 0xa0000000, 0xbfe2e147, 0xae147adc, 0x400b47ae, 0x147ae149}, /* -0.58999=f(-0.59000, v3.41000)*/
+{ 0, 0,123,__LINE__, 0xbfe28f5c, 0x20000000, 0xbfe28f5c, 0x28f5c28a, 0x400b5c28, 0xf5c28f5e}, /* -0.57999=f(-0.58000, v3.42000)*/
+{ 0, 0,123,__LINE__, 0xbfe23d70, 0xa0000000, 0xbfe23d70, 0xa3d70a38, 0x400b70a3, 0xd70a3d72}, /* -0.56999=f(-0.57000, v3.43000)*/
+{ 0, 0,123,__LINE__, 0xbfe1eb85, 0x20000000, 0xbfe1eb85, 0x1eb851e6, 0x400b851e, 0xb851eb86}, /* -0.56000=f(-0.56000, v3.44000)*/
+{ 0, 0,123,__LINE__, 0xbfe19999, 0xa0000000, 0xbfe19999, 0x99999994, 0x400b9999, 0x9999999b}, /* -0.55000=f(-0.55000, v3.45000)*/
+{ 0, 0,123,__LINE__, 0xbfe147ae, 0x20000000, 0xbfe147ae, 0x147ae142, 0x400bae14, 0x7ae147b0}, /* -0.54000=f(-0.54000, v3.46000)*/
+{ 0, 0,123,__LINE__, 0xbfe0f5c2, 0x80000000, 0xbfe0f5c2, 0x8f5c28f0, 0x400bc28f, 0x5c28f5c4}, /* -0.52999=f(-0.53000, v3.47000)*/
+{ 0, 0,123,__LINE__, 0xbfe0a3d7, 0x00000000, 0xbfe0a3d7, 0x0a3d709e, 0x400bd70a, 0x3d70a3d8}, /* -0.51999=f(-0.52000, v3.48000)*/
+{ 0, 0,123,__LINE__, 0xbfe051eb, 0x80000000, 0xbfe051eb, 0x851eb84c, 0x400beb85, 0x1eb851ed}, /* -0.50999=f(-0.51000, v3.49000)*/
+{ 0, 0,123,__LINE__, 0xbfe00000, 0x00000000, 0xbfdfffff, 0xfffffff4, 0x400c0000, 0x00000002}, /* -0.50000=f(-0.50000, v3.50000)*/
+{ 0, 0,123,__LINE__, 0xbfdf5c29, 0x00000000, 0xbfdf5c28, 0xf5c28f50, 0x400c147a, 0xe147ae16}, /* -0.49000=f(-0.49000, v3.51000)*/
+{ 0, 0,123,__LINE__, 0xbfdeb851, 0xe0000000, 0xbfdeb851, 0xeb851eac, 0x400c28f5, 0xc28f5c2a}, /* -0.47999=f(-0.48000, v3.52000)*/
+{ 0, 0,123,__LINE__, 0xbfde147a, 0xe0000000, 0xbfde147a, 0xe147ae08, 0x400c3d70, 0xa3d70a3f}, /* -0.47000=f(-0.47000, v3.53000)*/
+{ 0, 0,123,__LINE__, 0xbfdd70a3, 0xe0000000, 0xbfdd70a3, 0xd70a3d64, 0x400c51eb, 0x851eb854}, /* -0.46000=f(-0.46000, v3.54000)*/
+{ 0, 0,123,__LINE__, 0xbfdccccc, 0xc0000000, 0xbfdccccc, 0xccccccc0, 0x400c6666, 0x66666668}, /* -0.44999=f(-0.45000, v3.55000)*/
+{ 0, 0,123,__LINE__, 0xbfdc28f5, 0xc0000000, 0xbfdc28f5, 0xc28f5c1c, 0x400c7ae1, 0x47ae147c}, /* -0.44000=f(-0.44000, v3.56000)*/
+{ 0, 0,123,__LINE__, 0xbfdb851e, 0xc0000000, 0xbfdb851e, 0xb851eb78, 0x400c8f5c, 0x28f5c291}, /* -0.43000=f(-0.43000, v3.57000)*/
+{ 0, 0,123,__LINE__, 0xbfdae147, 0xa0000000, 0xbfdae147, 0xae147ad4, 0x400ca3d7, 0x0a3d70a6}, /* -0.41999=f(-0.42000, v3.58000)*/
+{ 0, 0,123,__LINE__, 0xbfda3d70, 0xa0000000, 0xbfda3d70, 0xa3d70a30, 0x400cb851, 0xeb851eba}, /* -0.41000=f(-0.41000, v3.59000)*/
+{ 0, 0,123,__LINE__, 0xbfd99999, 0xa0000000, 0xbfd99999, 0x9999998c, 0x400ccccc, 0xccccccce}, /* -0.40000=f(-0.40000, v3.60000)*/
+{ 0, 0,123,__LINE__, 0xbfd8f5c2, 0x80000000, 0xbfd8f5c2, 0x8f5c28e8, 0x400ce147, 0xae147ae3}, /* -0.38999=f(-0.39000, v3.61000)*/
+{ 0, 0,123,__LINE__, 0xbfd851eb, 0x80000000, 0xbfd851eb, 0x851eb844, 0x400cf5c2, 0x8f5c28f8}, /* -0.38000=f(-0.38000, v3.62000)*/
+{ 0, 0,123,__LINE__, 0xbfd7ae14, 0x80000000, 0xbfd7ae14, 0x7ae147a0, 0x400d0a3d, 0x70a3d70c}, /* -0.37000=f(-0.37000, v3.63000)*/
+{ 0, 0,123,__LINE__, 0xbfd70a3d, 0x80000000, 0xbfd70a3d, 0x70a3d6fc, 0x400d1eb8, 0x51eb8520}, /* -0.36000=f(-0.36000, v3.64000)*/
+{ 0, 0,123,__LINE__, 0xbfd66666, 0x60000000, 0xbfd66666, 0x66666658, 0x400d3333, 0x33333335}, /* -0.34999=f(-0.35000, v3.65000)*/
+{ 0, 0,123,__LINE__, 0xbfd5c28f, 0x60000000, 0xbfd5c28f, 0x5c28f5b4, 0x400d47ae, 0x147ae14a}, /* -0.34000=f(-0.34000, v3.66000)*/
+{ 0, 0,123,__LINE__, 0xbfd51eb8, 0x60000000, 0xbfd51eb8, 0x51eb8510, 0x400d5c28, 0xf5c28f5e}, /* -0.33000=f(-0.33000, v3.67000)*/
+{ 0, 0,123,__LINE__, 0xbfd47ae1, 0x40000000, 0xbfd47ae1, 0x47ae146c, 0x400d70a3, 0xd70a3d72}, /* -0.31999=f(-0.32000, v3.68000)*/
+{ 0, 0,123,__LINE__, 0xbfd3d70a, 0x40000000, 0xbfd3d70a, 0x3d70a3c8, 0x400d851e, 0xb851eb87}, /* -0.31000=f(-0.31000, v3.69000)*/
+{ 0, 0,123,__LINE__, 0xbfd33333, 0x40000000, 0xbfd33333, 0x33333324, 0x400d9999, 0x9999999c}, /* -0.30000=f(-0.30000, v3.70000)*/
+{ 0, 0,123,__LINE__, 0xbfd28f5c, 0x20000000, 0xbfd28f5c, 0x28f5c280, 0x400dae14, 0x7ae147b0}, /* -0.28999=f(-0.29000, v3.71000)*/
+{ 0, 0,123,__LINE__, 0xbfd1eb85, 0x20000000, 0xbfd1eb85, 0x1eb851dc, 0x400dc28f, 0x5c28f5c4}, /* -0.28000=f(-0.28000, v3.72000)*/
+{ 0, 0,123,__LINE__, 0xbfd147ae, 0x20000000, 0xbfd147ae, 0x147ae138, 0x400dd70a, 0x3d70a3d9}, /* -0.27000=f(-0.27000, v3.73000)*/
+{ 0, 0,123,__LINE__, 0xbfd0a3d7, 0x00000000, 0xbfd0a3d7, 0x0a3d7094, 0x400deb85, 0x1eb851ee}, /* -0.25999=f(-0.26000, v3.74000)*/
+{ 0, 0,123,__LINE__, 0xbfd00000, 0x00000000, 0xbfcfffff, 0xffffffe0, 0x400e0000, 0x00000002}, /* -0.25000=f(-0.25000, v3.75000)*/
+{ 0, 0,123,__LINE__, 0xbfceb851, 0xe0000000, 0xbfceb851, 0xeb851e98, 0x400e147a, 0xe147ae16}, /* -0.23999=f(-0.24000, v3.76000)*/
+{ 0, 0,123,__LINE__, 0xbfcd70a3, 0xe0000000, 0xbfcd70a3, 0xd70a3d50, 0x400e28f5, 0xc28f5c2b}, /* -0.23000=f(-0.23000, v3.77000)*/
+{ 0, 0,123,__LINE__, 0xbfcc28f5, 0xc0000000, 0xbfcc28f5, 0xc28f5c08, 0x400e3d70, 0xa3d70a40}, /* -0.22000=f(-0.22000, v3.78000)*/
+{ 0, 0,123,__LINE__, 0xbfcae147, 0xa0000000, 0xbfcae147, 0xae147ac0, 0x400e51eb, 0x851eb854}, /* -0.20999=f(-0.21000, v3.79000)*/
+{ 0, 0,123,__LINE__, 0xbfc99999, 0xa0000000, 0xbfc99999, 0x99999978, 0x400e6666, 0x66666668}, /* -0.20000=f(-0.20000, v3.80000)*/
+{ 0, 0,123,__LINE__, 0xbfc851eb, 0x80000000, 0xbfc851eb, 0x851eb830, 0x400e7ae1, 0x47ae147d}, /* -0.19000=f(-0.19000, v3.81000)*/
+{ 0, 0,123,__LINE__, 0xbfc70a3d, 0x80000000, 0xbfc70a3d, 0x70a3d6e8, 0x400e8f5c, 0x28f5c292}, /* -0.18000=f(-0.18000, v3.82000)*/
+{ 0, 0,123,__LINE__, 0xbfc5c28f, 0x60000000, 0xbfc5c28f, 0x5c28f5a0, 0x400ea3d7, 0x0a3d70a6}, /* -0.17000=f(-0.17000, v3.83000)*/
+{ 0, 0,123,__LINE__, 0xbfc47ae1, 0x40000000, 0xbfc47ae1, 0x47ae1458, 0x400eb851, 0xeb851eba}, /* -0.16000=f(-0.16000, v3.84000)*/
+{ 0, 0,123,__LINE__, 0xbfc33333, 0x40000000, 0xbfc33333, 0x33333310, 0x400ecccc, 0xcccccccf}, /* -0.15000=f(-0.15000, v3.85000)*/
+{ 0, 0,123,__LINE__, 0xbfc1eb85, 0x20000000, 0xbfc1eb85, 0x1eb851c8, 0x400ee147, 0xae147ae4}, /* -0.14000=f(-0.14000, v3.86000)*/
+{ 0, 0,123,__LINE__, 0xbfc0a3d7, 0x00000000, 0xbfc0a3d7, 0x0a3d7080, 0x400ef5c2, 0x8f5c28f8}, /* -0.13000=f(-0.13000, v3.87000)*/
+{ 0, 0,123,__LINE__, 0xbfbeb851, 0xe0000000, 0xbfbeb851, 0xeb851e71, 0x400f0a3d, 0x70a3d70c}, /* -0.12000=f(-0.12000, v3.88000)*/
+{ 0, 0,123,__LINE__, 0xbfbc28f5, 0xc0000000, 0xbfbc28f5, 0xc28f5be2, 0x400f1eb8, 0x51eb8521}, /* -0.11000=f(-0.11000, v3.89000)*/
+{ 0, 0,123,__LINE__, 0xbfb99999, 0xa0000000, 0xbfb99999, 0x99999953, 0x400f3333, 0x33333335}, /* -0.10000=f(-0.00100, v3.90000)*/
+{ 0, 0,123,__LINE__, 0xbfb70a3d, 0x80000000, 0xbfb70a3d, 0x70a3d6c4, 0x400f47ae, 0x147ae14a}, /* -0.09000=f(-0.09000, v3.91000)*/
+{ 0, 0,123,__LINE__, 0xbfb47ae1, 0x40000000, 0xbfb47ae1, 0x47ae1435, 0x400f5c28, 0xf5c28f5e}, /* -0.07999=f(-0.08000, v3.92000)*/
+{ 0, 0,123,__LINE__, 0xbfb1eb85, 0x20000000, 0xbfb1eb85, 0x1eb851a6, 0x400f70a3, 0xd70a3d73}, /* -0.07000=f(-0.07000, v3.93000)*/
+{ 0, 0,123,__LINE__, 0xbfaeb851, 0xe0000000, 0xbfaeb851, 0xeb851e2d, 0x400f851e, 0xb851eb87}, /* -0.05999=f(-0.06000, v3.94000)*/
+{ 0, 0,123,__LINE__, 0xbfa99999, 0xa0000000, 0xbfa99999, 0x9999990e, 0x400f9999, 0x9999999c}, /* -0.05000=f(-0.05000, v3.95000)*/
+{ 0, 0,123,__LINE__, 0xbfa47ae1, 0x40000000, 0xbfa47ae1, 0x47ae13ef, 0x400fae14, 0x7ae147b0}, /* -0.03999=f(-0.04000, v3.96000)*/
+{ 0, 0,123,__LINE__, 0xbf9eb851, 0xe0000000, 0xbf9eb851, 0xeb851da0, 0x400fc28f, 0x5c28f5c5}, /* -0.02999=f(-0.03000, v3.97000)*/
+{ 0, 0,123,__LINE__, 0xbf947ae1, 0x40000000, 0xbf947ae1, 0x47ae1362, 0x400fd70a, 0x3d70a3d9}, /* -0.01999=f(-0.02000, v3.98000)*/
+{ 0, 0,123,__LINE__, 0xbf847ae1, 0x40000000, 0xbf847ae1, 0x47ae1249, 0x400feb85, 0x1eb851ee}, /* -0.00999=f(-0.00010, v3.99000)*/
+{ 1, 0,123,__LINE__, 0x3cd19000, 0x00000000, 0x3cd19000, 0x00000000, 0x40100000, 0x00000001}, /* 9.74915e-16=f(9.74915e-16, v4.00000)*/
+{ 1, 0,123,__LINE__, 0x3f847ae1, 0x40000000, 0x3f847ae1, 0x47ae16ad, 0x40100a3d, 0x70a3d70b}, /* 0.00999=f(0.01000, v4.01000)*/
+{ 1, 0,123,__LINE__, 0x3f947ae1, 0x40000000, 0x3f947ae1, 0x47ae1594, 0x4010147a, 0xe147ae16}, /* 0.01999=f(0.02000, v4.02000)*/
+{ 1, 0,123,__LINE__, 0x3f9eb851, 0xe0000000, 0x3f9eb851, 0xeb851fd2, 0x40101eb8, 0x51eb8520}, /* 0.02999=f(0.03000, v4.03000)*/
+{ 1, 0,123,__LINE__, 0x3fa47ae1, 0x40000000, 0x3fa47ae1, 0x47ae1508, 0x401028f5, 0xc28f5c2a}, /* 0.03999=f(0.04000, v4.04000)*/
+{ 1, 0,123,__LINE__, 0x3fa99999, 0xa0000000, 0x3fa99999, 0x99999a27, 0x40103333, 0x33333334}, /* 0.05000=f(0.05000, v4.05000)*/
+{ 1, 0,123,__LINE__, 0x3faeb851, 0xe0000000, 0x3faeb851, 0xeb851f46, 0x40103d70, 0xa3d70a3f}, /* 0.05999=f(0.06000, v4.06000)*/
+{ 1, 0,123,__LINE__, 0x3fb1eb85, 0x20000000, 0x3fb1eb85, 0x1eb85232, 0x401047ae, 0x147ae149}, /* 0.07000=f(0.07000, v4.07000)*/
+{ 1, 0,123,__LINE__, 0x3fb47ae1, 0x40000000, 0x3fb47ae1, 0x47ae14c1, 0x401051eb, 0x851eb853}, /* 0.07999=f(0.08000, v4.08000)*/
+{ 1, 0,123,__LINE__, 0x3fb70a3d, 0x80000000, 0x3fb70a3d, 0x70a3d750, 0x40105c28, 0xf5c28f5d}, /* 0.09000=f(0.09000, v4.09000)*/
+{ 1, 0,123,__LINE__, 0x3fb99999, 0xa0000000, 0x3fb99999, 0x999999df, 0x40106666, 0x66666667}, /* 0.10000=f(0.10000, v4.10000)*/
+{ 1, 0,123,__LINE__, 0x3fbc28f5, 0xc0000000, 0x3fbc28f5, 0xc28f5c6e, 0x401070a3, 0xd70a3d72}, /* 0.11000=f(0.11000, v4.11000)*/
+{ 1, 0,123,__LINE__, 0x3fbeb851, 0xe0000000, 0x3fbeb851, 0xeb851efd, 0x40107ae1, 0x47ae147c}, /* 0.12000=f(0.12000, v4.12000)*/
+{ 1, 0,123,__LINE__, 0x3fc0a3d7, 0x00000000, 0x3fc0a3d7, 0x0a3d70c6, 0x4010851e, 0xb851eb86}, /* 0.13000=f(0.13000, v4.13000)*/
+{ 1, 0,123,__LINE__, 0x3fc1eb85, 0x20000000, 0x3fc1eb85, 0x1eb8520e, 0x40108f5c, 0x28f5c290}, /* 0.14000=f(0.14000, v4.14000)*/
+{ 1, 0,123,__LINE__, 0x3fc33333, 0x40000000, 0x3fc33333, 0x33333356, 0x40109999, 0x9999999b}, /* 0.15000=f(0.15000, v4.15000)*/
+{ 1, 0,123,__LINE__, 0x3fc47ae1, 0x40000000, 0x3fc47ae1, 0x47ae149e, 0x4010a3d7, 0x0a3d70a5}, /* 0.16000=f(0.16000, v4.16000)*/
+{ 1, 0,123,__LINE__, 0x3fc5c28f, 0x60000000, 0x3fc5c28f, 0x5c28f5e6, 0x4010ae14, 0x7ae147af}, /* 0.17000=f(0.17000, v4.17000)*/
+{ 1, 0,123,__LINE__, 0x3fc70a3d, 0x80000000, 0x3fc70a3d, 0x70a3d72e, 0x4010b851, 0xeb851eb9}, /* 0.18000=f(0.18000, v4.18000)*/
+{ 1, 0,123,__LINE__, 0x3fc851eb, 0x80000000, 0x3fc851eb, 0x851eb876, 0x4010c28f, 0x5c28f5c4}, /* 0.19000=f(0.19000, v4.19000)*/
+{ 1, 0,123,__LINE__, 0x3fc99999, 0xa0000000, 0x3fc99999, 0x999999be, 0x4010cccc, 0xccccccce}, /* 0.20000=f(0.20000, v4.20000)*/
+{ 1, 0,123,__LINE__, 0x3fcae147, 0xa0000000, 0x3fcae147, 0xae147b06, 0x4010d70a, 0x3d70a3d8}, /* 0.20999=f(0.21000, v4.21000)*/
+{ 1, 0,123,__LINE__, 0x3fcc28f5, 0xc0000000, 0x3fcc28f5, 0xc28f5c4e, 0x4010e147, 0xae147ae2}, /* 0.22000=f(0.22000, v4.22000)*/
+{ 1, 0,123,__LINE__, 0x3fcd70a3, 0xe0000000, 0x3fcd70a3, 0xd70a3d96, 0x4010eb85, 0x1eb851ed}, /* 0.23000=f(0.23000, v4.23000)*/
+{ 1, 0,123,__LINE__, 0x3fceb851, 0xe0000000, 0x3fceb851, 0xeb851ede, 0x4010f5c2, 0x8f5c28f7}, /* 0.23999=f(0.24000, v4.24000)*/
+{ 1, 0,123,__LINE__, 0x3fd00000, 0x00000000, 0x3fd00000, 0x00000013, 0x40110000, 0x00000001}, /* 0.25000=f(0.25000, v4.25000)*/
+{ 1, 0,123,__LINE__, 0x3fd0a3d7, 0x00000000, 0x3fd0a3d7, 0x0a3d70b7, 0x40110a3d, 0x70a3d70b}, /* 0.25999=f(0.26000, v4.26000)*/
+{ 1, 0,123,__LINE__, 0x3fd147ae, 0x20000000, 0x3fd147ae, 0x147ae15b, 0x4011147a, 0xe147ae16}, /* 0.27000=f(0.27000, v4.27000)*/
+{ 1, 0,123,__LINE__, 0x3fd1eb85, 0x20000000, 0x3fd1eb85, 0x1eb851ff, 0x40111eb8, 0x51eb8520}, /* 0.28000=f(0.28000, v4.28000)*/
+{ 1, 0,123,__LINE__, 0x3fd28f5c, 0x20000000, 0x3fd28f5c, 0x28f5c2a3, 0x401128f5, 0xc28f5c2a}, /* 0.28999=f(0.29000, v4.29000)*/
+{ 1, 0,123,__LINE__, 0x3fd33333, 0x40000000, 0x3fd33333, 0x33333347, 0x40113333, 0x33333334}, /* 0.30000=f(0.30000, v4.30000)*/
+{ 1, 0,123,__LINE__, 0x3fd3d70a, 0x40000000, 0x3fd3d70a, 0x3d70a3eb, 0x40113d70, 0xa3d70a3f}, /* 0.31000=f(0.31000, v4.31000)*/
+{ 1, 0,123,__LINE__, 0x3fd47ae1, 0x40000000, 0x3fd47ae1, 0x47ae148f, 0x401147ae, 0x147ae149}, /* 0.31999=f(0.32000, v4.32000)*/
+{ 1, 0,123,__LINE__, 0x3fd51eb8, 0x60000000, 0x3fd51eb8, 0x51eb8533, 0x401151eb, 0x851eb853}, /* 0.33000=f(0.33000, v4.33000)*/
+{ 1, 0,123,__LINE__, 0x3fd5c28f, 0x60000000, 0x3fd5c28f, 0x5c28f5d7, 0x40115c28, 0xf5c28f5d}, /* 0.34000=f(0.34000, v4.34000)*/
+{ 1, 0,123,__LINE__, 0x3fd66666, 0x60000000, 0x3fd66666, 0x6666667b, 0x40116666, 0x66666668}, /* 0.34999=f(0.35000, v4.35000)*/
+{ 1, 0,123,__LINE__, 0x3fd70a3d, 0x80000000, 0x3fd70a3d, 0x70a3d71f, 0x401170a3, 0xd70a3d72}, /* 0.36000=f(0.36000, v4.36000)*/
+{ 1, 0,123,__LINE__, 0x3fd7ae14, 0x80000000, 0x3fd7ae14, 0x7ae147c3, 0x40117ae1, 0x47ae147c}, /* 0.37000=f(0.37000, v4.37000)*/
+{ 1, 0,123,__LINE__, 0x3fd851eb, 0x80000000, 0x3fd851eb, 0x851eb867, 0x4011851e, 0xb851eb86}, /* 0.38000=f(0.38000, v4.38000)*/
+{ 1, 0,123,__LINE__, 0x3fd8f5c2, 0x80000000, 0x3fd8f5c2, 0x8f5c290b, 0x40118f5c, 0x28f5c291}, /* 0.38999=f(0.39000, v4.39000)*/
+{ 1, 0,123,__LINE__, 0x3fd99999, 0xa0000000, 0x3fd99999, 0x999999af, 0x40119999, 0x9999999b}, /* 0.40000=f(0.40000, v4.40000)*/
+{ 1, 0,123,__LINE__, 0x3fda3d70, 0xa0000000, 0x3fda3d70, 0xa3d70a53, 0x4011a3d7, 0x0a3d70a5}, /* 0.41000=f(0.41000, v4.41000)*/
+{ 1, 0,123,__LINE__, 0x3fdae147, 0xa0000000, 0x3fdae147, 0xae147af7, 0x4011ae14, 0x7ae147af}, /* 0.41999=f(0.42000, v4.42000)*/
+{ 1, 0,123,__LINE__, 0x3fdb851e, 0xc0000000, 0x3fdb851e, 0xb851eb9b, 0x4011b851, 0xeb851eba}, /* 0.43000=f(0.43000, v4.43000)*/
+{ 1, 0,123,__LINE__, 0x3fdc28f5, 0xc0000000, 0x3fdc28f5, 0xc28f5c3f, 0x4011c28f, 0x5c28f5c4}, /* 0.44000=f(0.44000, v4.44000)*/
+{ 1, 0,123,__LINE__, 0x3fdccccc, 0xc0000000, 0x3fdccccc, 0xcccccce3, 0x4011cccc, 0xccccccce}, /* 0.44999=f(0.45000, v4.45000)*/
+{ 1, 0,123,__LINE__, 0x3fdd70a3, 0xe0000000, 0x3fdd70a3, 0xd70a3d87, 0x4011d70a, 0x3d70a3d8}, /* 0.46000=f(0.46000, v4.46000)*/
+{ 1, 0,123,__LINE__, 0x3fde147a, 0xe0000000, 0x3fde147a, 0xe147ae2b, 0x4011e147, 0xae147ae3}, /* 0.47000=f(0.47000, v4.47000)*/
+{ 1, 0,123,__LINE__, 0x3fdeb851, 0xe0000000, 0x3fdeb851, 0xeb851ecf, 0x4011eb85, 0x1eb851ed}, /* 0.47999=f(0.48000, v4.48000)*/
+{ 1, 0,123,__LINE__, 0x3fdf5c29, 0x00000000, 0x3fdf5c28, 0xf5c28f73, 0x4011f5c2, 0x8f5c28f7}, /* 0.49000=f(0.49000, v4.49000)*/
+{ 1, 0,123,__LINE__, 0x3fe00000, 0x00000000, 0x3fe00000, 0x0000000b, 0x40120000, 0x00000001}, /* 0.50000=f(0.50000, v4.50000)*/
+{ 1, 0,123,__LINE__, 0x3fe051eb, 0x80000000, 0x3fe051eb, 0x851eb85d, 0x40120a3d, 0x70a3d70c}, /* 0.50999=f(0.51000, v4.51000)*/
+{ 1, 0,123,__LINE__, 0x3fe0a3d7, 0x00000000, 0x3fe0a3d7, 0x0a3d70af, 0x4012147a, 0xe147ae16}, /* 0.51999=f(0.52000, v4.52000)*/
+{ 1, 0,123,__LINE__, 0x3fe0f5c2, 0x80000000, 0x3fe0f5c2, 0x8f5c2901, 0x40121eb8, 0x51eb8520}, /* 0.52999=f(0.53000, v4.53000)*/
+{ 1, 0,123,__LINE__, 0x3fe147ae, 0x20000000, 0x3fe147ae, 0x147ae153, 0x401228f5, 0xc28f5c2a}, /* 0.54000=f(0.54000, v4.54000)*/
+{ 1, 0,123,__LINE__, 0x3fe19999, 0xa0000000, 0x3fe19999, 0x999999a5, 0x40123333, 0x33333335}, /* 0.55000=f(0.55000, v4.55000)*/
+{ 1, 0,123,__LINE__, 0x3fe1eb85, 0x20000000, 0x3fe1eb85, 0x1eb851f7, 0x40123d70, 0xa3d70a3f}, /* 0.56000=f(0.56000, v4.56000)*/
+{ 1, 0,123,__LINE__, 0x3fe23d70, 0xa0000000, 0x3fe23d70, 0xa3d70a49, 0x401247ae, 0x147ae149}, /* 0.56999=f(0.57000, v4.57000)*/
+{ 1, 0,123,__LINE__, 0x3fe28f5c, 0x20000000, 0x3fe28f5c, 0x28f5c29b, 0x401251eb, 0x851eb853}, /* 0.57999=f(0.58000, v4.58000)*/
+{ 1, 0,123,__LINE__, 0x3fe2e147, 0xa0000000, 0x3fe2e147, 0xae147aed, 0x40125c28, 0xf5c28f5e}, /* 0.58999=f(0.59000, v4.59000)*/
+{ 1, 0,123,__LINE__, 0x3fe33333, 0x40000000, 0x3fe33333, 0x3333333f, 0x40126666, 0x66666668}, /* 0.60000=f(0.60000, v4.60000)*/
+{ 1, 0,123,__LINE__, 0x3fe3851e, 0xc0000000, 0x3fe3851e, 0xb851eb91, 0x401270a3, 0xd70a3d72}, /* 0.61000=f(0.61000, v4.61000)*/
+{ 1, 0,123,__LINE__, 0x3fe3d70a, 0x40000000, 0x3fe3d70a, 0x3d70a3e3, 0x40127ae1, 0x47ae147c}, /* 0.62000=f(0.62000, v4.62000)*/
+{ 1, 0,123,__LINE__, 0x3fe428f5, 0xc0000000, 0x3fe428f5, 0xc28f5c35, 0x4012851e, 0xb851eb87}, /* 0.63000=f(0.63000, v4.63000)*/
+{ 1, 0,123,__LINE__, 0x3fe47ae1, 0x40000000, 0x3fe47ae1, 0x47ae1487, 0x40128f5c, 0x28f5c291}, /* 0.63999=f(0.64000, v4.64000)*/
+{ 1, 0,123,__LINE__, 0x3fe4cccc, 0xc0000000, 0x3fe4cccc, 0xccccccd9, 0x40129999, 0x9999999b}, /* 0.64999=f(0.65000, v4.65000)*/
+{ 1, 0,123,__LINE__, 0x3fe51eb8, 0x60000000, 0x3fe51eb8, 0x51eb852b, 0x4012a3d7, 0x0a3d70a5}, /* 0.66000=f(0.66000, v4.66000)*/
+{ 1, 0,123,__LINE__, 0x3fe570a3, 0xe0000000, 0x3fe570a3, 0xd70a3d7d, 0x4012ae14, 0x7ae147b0}, /* 0.67000=f(0.67000, v4.67000)*/
+{ 1, 0,123,__LINE__, 0x3fe5c28f, 0x60000000, 0x3fe5c28f, 0x5c28f5cf, 0x4012b851, 0xeb851eba}, /* 0.68000=f(0.68000, v4.68000)*/
+{ 1, 0,123,__LINE__, 0x3fe6147a, 0xe0000000, 0x3fe6147a, 0xe147ae21, 0x4012c28f, 0x5c28f5c4}, /* 0.69000=f(0.69000, v4.69000)*/
+{ 1, 0,123,__LINE__, 0x3fe66666, 0x60000000, 0x3fe66666, 0x66666673, 0x4012cccc, 0xccccccce}, /* 0.69999=f(0.70000, v4.70000)*/
+{ 1, 0,123,__LINE__, 0x3fe6b851, 0xe0000000, 0x3fe6b851, 0xeb851ec5, 0x4012d70a, 0x3d70a3d9}, /* 0.70999=f(0.71000, v4.71000)*/
+{ 1, 0,123,__LINE__, 0x3fe70a3d, 0x80000000, 0x3fe70a3d, 0x70a3d717, 0x4012e147, 0xae147ae3}, /* 0.72000=f(0.72000, v4.72000)*/
+{ 1, 0,123,__LINE__, 0x3fe75c29, 0x00000000, 0x3fe75c28, 0xf5c28f69, 0x4012eb85, 0x1eb851ed}, /* 0.73000=f(0.73000, v4.73000)*/
+{ 1, 0,123,__LINE__, 0x3fe7ae14, 0x80000000, 0x3fe7ae14, 0x7ae147bb, 0x4012f5c2, 0x8f5c28f7}, /* 0.74000=f(0.74000, v4.74000)*/
+{ 1, 0,123,__LINE__, 0x3fe80000, 0x00000000, 0x3fe80000, 0x0000000d, 0x40130000, 0x00000002}, /* 0.75000=f(0.75000, v4.75000)*/
+{ 1, 0,123,__LINE__, 0x3fe851eb, 0x80000000, 0x3fe851eb, 0x851eb85f, 0x40130a3d, 0x70a3d70c}, /* 0.75999=f(0.76000, v4.76000)*/
+{ 1, 0,123,__LINE__, 0x3fe8a3d7, 0x00000000, 0x3fe8a3d7, 0x0a3d70b1, 0x4013147a, 0xe147ae16}, /* 0.76999=f(0.77000, v4.77000)*/
+{ 1, 0,123,__LINE__, 0x3fe8f5c2, 0x80000000, 0x3fe8f5c2, 0x8f5c2903, 0x40131eb8, 0x51eb8520}, /* 0.77999=f(0.78000, v4.78000)*/
+{ 1, 0,123,__LINE__, 0x3fe947ae, 0x20000000, 0x3fe947ae, 0x147ae155, 0x401328f5, 0xc28f5c2b}, /* 0.79000=f(0.79000, v4.79000)*/
+{ 1, 0,123,__LINE__, 0x3fe99999, 0xa0000000, 0x3fe99999, 0x999999a7, 0x40133333, 0x33333335}, /* 0.80000=f(0.80000, v4.80000)*/
+{ 1, 0,123,__LINE__, 0x3fe9eb85, 0x20000000, 0x3fe9eb85, 0x1eb851f9, 0x40133d70, 0xa3d70a3f}, /* 0.81000=f(0.81000, v4.81000)*/
+{ 1, 0,123,__LINE__, 0x3fea3d70, 0xa0000000, 0x3fea3d70, 0xa3d70a4b, 0x401347ae, 0x147ae149}, /* 0.81999=f(0.82000, v4.82000)*/
+{ 1, 0,123,__LINE__, 0x3fea8f5c, 0x20000000, 0x3fea8f5c, 0x28f5c29d, 0x401351eb, 0x851eb854}, /* 0.82999=f(0.83000, v4.83000)*/
+{ 1, 0,123,__LINE__, 0x3feae147, 0xa0000000, 0x3feae147, 0xae147aef, 0x40135c28, 0xf5c28f5e}, /* 0.83999=f(0.84000, v4.84000)*/
+{ 1, 0,123,__LINE__, 0x3feb3333, 0x40000000, 0x3feb3333, 0x33333341, 0x40136666, 0x66666668}, /* 0.85000=f(0.85000, v4.85000)*/
+{ 1, 0,123,__LINE__, 0x3feb851e, 0xc0000000, 0x3feb851e, 0xb851eb93, 0x401370a3, 0xd70a3d72}, /* 0.86000=f(0.86000, v4.86000)*/
+{ 1, 0,123,__LINE__, 0x3febd70a, 0x40000000, 0x3febd70a, 0x3d70a3e5, 0x40137ae1, 0x47ae147d}, /* 0.87000=f(0.87000, v4.87000)*/
+{ 1, 0,123,__LINE__, 0x3fec28f5, 0xc0000000, 0x3fec28f5, 0xc28f5c37, 0x4013851e, 0xb851eb87}, /* 0.88000=f(0.88000, v4.88000)*/
+{ 1, 0,123,__LINE__, 0x3fec7ae1, 0x40000000, 0x3fec7ae1, 0x47ae1489, 0x40138f5c, 0x28f5c291}, /* 0.88999=f(0.89000, v4.89000)*/
+{ 1, 0,123,__LINE__, 0x3feccccc, 0xc0000000, 0x3feccccc, 0xccccccdb, 0x40139999, 0x9999999b}, /* 0.89999=f(0.90000, v4.90000)*/
+{ 1, 0,123,__LINE__, 0x3fed1eb8, 0x60000000, 0x3fed1eb8, 0x51eb852d, 0x4013a3d7, 0x0a3d70a6}, /* 0.91000=f(0.91000, v4.91000)*/
+{ 1, 0,123,__LINE__, 0x3fed70a3, 0xe0000000, 0x3fed70a3, 0xd70a3d7f, 0x4013ae14, 0x7ae147b0}, /* 0.92000=f(0.92000, v4.92000)*/
+{ 1, 0,123,__LINE__, 0x3fedc28f, 0x60000000, 0x3fedc28f, 0x5c28f5d1, 0x4013b851, 0xeb851eba}, /* 0.93000=f(0.93000, v4.93000)*/
+{ 1, 0,123,__LINE__, 0x3fee147a, 0xe0000000, 0x3fee147a, 0xe147ae23, 0x4013c28f, 0x5c28f5c4}, /* 0.94000=f(0.94000, v4.94000)*/
+{ 1, 0,123,__LINE__, 0x3fee6666, 0x60000000, 0x3fee6666, 0x66666675, 0x4013cccc, 0xcccccccf}, /* 0.94999=f(0.95000, v4.95000)*/
+{ 1, 0,123,__LINE__, 0x3feeb851, 0xe0000000, 0x3feeb851, 0xeb851ec7, 0x4013d70a, 0x3d70a3d9}, /* 0.95999=f(0.96000, v4.96000)*/
+{ 1, 0,123,__LINE__, 0x3fef0a3d, 0x80000000, 0x3fef0a3d, 0x70a3d719, 0x4013e147, 0xae147ae3}, /* 0.97000=f(0.97000, v4.97000)*/
+{ 1, 0,123,__LINE__, 0x3fef5c29, 0x00000000, 0x3fef5c28, 0xf5c28f6b, 0x4013eb85, 0x1eb851ed}, /* 0.98000=f(0.98000, v4.98000)*/
+{ 1, 0,123,__LINE__, 0x3fefae14, 0x80000000, 0x3fefae14, 0x7ae147bd, 0x4013f5c2, 0x8f5c28f8}, /* 0.99000=f(0.99000, v4.99000)*/
+{ 1, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff00000, 0x00000007, 0x40140000, 0x00000002}, /* 1.00000=f(1.00000, v5.00000)*/
+{ 1, 0,123,__LINE__, 0x3ff028f5, 0xc0000000, 0x3ff028f5, 0xc28f5c30, 0x40140a3d, 0x70a3d70c}, /* 1.01000=f(1.01000, v5.01000)*/
+{ 1, 0,123,__LINE__, 0x3ff051eb, 0x80000000, 0x3ff051eb, 0x851eb859, 0x4014147a, 0xe147ae16}, /* 1.02000=f(1.02000, v5.02000)*/
+{ 1, 0,123,__LINE__, 0x3ff07ae1, 0x40000000, 0x3ff07ae1, 0x47ae1482, 0x40141eb8, 0x51eb8520}, /* 1.03000=f(1.03000, v5.03000)*/
+{ 1, 0,123,__LINE__, 0x3ff0a3d7, 0x00000000, 0x3ff0a3d7, 0x0a3d70ab, 0x401428f5, 0xc28f5c2b}, /* 1.04000=f(1.04000, v5.04000)*/
+{ 1, 0,123,__LINE__, 0x3ff0cccc, 0xc0000000, 0x3ff0cccc, 0xccccccd4, 0x40143333, 0x33333335}, /* 1.05000=f(1.05000, v5.05000)*/
+{ 1, 0,123,__LINE__, 0x3ff0f5c2, 0x80000000, 0x3ff0f5c2, 0x8f5c28fd, 0x40143d70, 0xa3d70a3f}, /* 1.06000=f(1.06000, v5.06000)*/
+{ 1, 0,123,__LINE__, 0x3ff11eb8, 0x60000000, 0x3ff11eb8, 0x51eb8526, 0x401447ae, 0x147ae14a}, /* 1.07000=f(1.07000, v5.07000)*/
+{ 1, 0,123,__LINE__, 0x3ff147ae, 0x20000000, 0x3ff147ae, 0x147ae14f, 0x401451eb, 0x851eb854}, /* 1.08000=f(1.08000, v5.08000)*/
+{ 1, 0,123,__LINE__, 0x3ff170a3, 0xe0000000, 0x3ff170a3, 0xd70a3d78, 0x40145c28, 0xf5c28f5e}, /* 1.09000=f(1.09000, v5.09000)*/
+{ 1, 0,123,__LINE__, 0x3ff19999, 0xa0000000, 0x3ff19999, 0x999999a1, 0x40146666, 0x66666668}, /* 1.10000=f(1.10000, v5.10000)*/
+{ 1, 0,123,__LINE__, 0x3ff1c28f, 0x60000000, 0x3ff1c28f, 0x5c28f5ca, 0x401470a3, 0xd70a3d72}, /* 1.11000=f(1.11000, v5.11000)*/
+{ 1, 0,123,__LINE__, 0x3ff1eb85, 0x20000000, 0x3ff1eb85, 0x1eb851f3, 0x40147ae1, 0x47ae147d}, /* 1.12000=f(1.12000, v5.12000)*/
+{ 1, 0,123,__LINE__, 0x3ff2147a, 0xe0000000, 0x3ff2147a, 0xe147ae1c, 0x4014851e, 0xb851eb87}, /* 1.13000=f(1.13000, v5.13000)*/
+{ 1, 0,123,__LINE__, 0x3ff23d70, 0xa0000000, 0x3ff23d70, 0xa3d70a45, 0x40148f5c, 0x28f5c291}, /* 1.14000=f(1.14000, v5.14000)*/
+{ 1, 0,123,__LINE__, 0x3ff26666, 0x60000000, 0x3ff26666, 0x6666666e, 0x40149999, 0x9999999c}, /* 1.15000=f(1.15000, v5.15000)*/
+{ 1, 0,123,__LINE__, 0x3ff28f5c, 0x20000000, 0x3ff28f5c, 0x28f5c297, 0x4014a3d7, 0x0a3d70a6}, /* 1.16000=f(1.16000, v5.16000)*/
+{ 1, 0,123,__LINE__, 0x3ff2b851, 0xe0000000, 0x3ff2b851, 0xeb851ec0, 0x4014ae14, 0x7ae147b0}, /* 1.17000=f(1.17000, v5.17000)*/
+{ 1, 0,123,__LINE__, 0x3ff2e147, 0xa0000000, 0x3ff2e147, 0xae147ae9, 0x4014b851, 0xeb851eba}, /* 1.18000=f(1.18000, v5.18000)*/
+{ 1, 0,123,__LINE__, 0x3ff30a3d, 0x80000000, 0x3ff30a3d, 0x70a3d712, 0x4014c28f, 0x5c28f5c4}, /* 1.19000=f(1.19000, v5.19000)*/
+{ 0, 0,123,__LINE__, 0xbffb7813, 0x00000000, 0xc01921fb, 0x54442d18, 0xc00243f6, 0xa8885a30}, /* -1.71681=f(-6.28318, v-2.28318)*/
+{ 0, 0,123,__LINE__, 0xbfdc0918, 0x00000000, 0xc012d97c, 0x7f3321d2, 0xbfe6cbe3, 0xf9990e90}, /* -0.43805=f(-4.71238, v-0.71238)*/
+{ 0, 0,123,__LINE__, 0xbfe21fb5, 0xa0000000, 0xc00921fb, 0x54442d18, 0x3feb7812, 0xaeef4ba0}, /* -0.56637=f(-3.14159, v0.85840)*/
+{ 0, 0,123,__LINE__, 0xbff921fb, 0x60000000, 0xbff921fb, 0x54442d18, 0x40036f02, 0x55dde974}, /* -1.57079=f(-1.57079, v2.42920)*/
+{ 0, 0,123,__LINE__, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x40100000, 0x00000000}, /* 0.00000=f(0.00000, v4.00000)*/
+{ 1, 0,123,__LINE__, 0x3ff921fb, 0x60000000, 0x3ff921fb, 0x54442d18, 0x4016487e, 0xd5110b46}, /* 1.57079=f(1.57079, v5.57079)*/
+{14, 0,123,__LINE__, 0x400921fb, 0x60000000, 0x400921fb, 0x54442d18, 0x401c90fd, 0xaa22168c}, /* 3.14159=f(3.14159, v7.14159)*/
+{11, 0,123,__LINE__, 0x4012d97c, 0x80000000, 0x4012d97c, 0x7f3321d2, 0x40216cbe, 0x3f9990e9}, /* 4.71238=f(4.71238, v8.71238)*/
+{ 0, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc03e0000, 0x00000000, 0xc03a0000, 0x00000000}, /* -4.00000=f(-30.0000, v-26.0000)*/
+{ 0, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc03c4ccc, 0xcccccccd, 0xc0384ccc, 0xcccccccd}, /* -4.00000=f(-28.3000, v-24.3000)*/
+{ 0, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc03a9999, 0x9999999a, 0xc0369999, 0x9999999a}, /* -4.00000=f(-26.6000, v-22.6000)*/
+{ 0, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc038e666, 0x66666667, 0xc034e666, 0x66666667}, /* -4.00000=f(-24.9000, v-20.9000)*/
+{ 0, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc0373333, 0x33333334, 0xc0333333, 0x33333334}, /* -4.00000=f(-23.2000, v-19.2000)*/
+{ 0, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc0358000, 0x00000001, 0xc0318000, 0x00000001}, /* -4.00000=f(-21.5000, v-17.5000)*/
+{ 0, 0,123,__LINE__, 0xc00fffff, 0x80000000, 0xc033cccc, 0xccccccce, 0xc02f9999, 0x9999999c}, /* -3.99999=f(-19.8000, v-15.8000)*/
+{ 0, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc0321999, 0x9999999b, 0xc02c3333, 0x33333336}, /* -4.00000=f(-18.1000, v-14.1000)*/
+{ 0, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc0306666, 0x66666668, 0xc028cccc, 0xccccccd0}, /* -4.00000=f(-16.4000, v-12.4000)*/
+{ 0, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc02d6666, 0x6666666a, 0xc0256666, 0x6666666a}, /* -4.00000=f(-14.7000, v-10.7000)*/
+{ 0, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc02a0000, 0x00000004, 0xc0220000, 0x00000004}, /* -4.00000=f(-13.0000, v-9.00000)*/
+{ 0, 0,123,__LINE__, 0xc0100000, 0x00000000, 0xc0269999, 0x9999999e, 0xc01d3333, 0x3333333c}, /* -4.00000=f(-11.3000, v-7.30000)*/
+{ 0, 0,123,__LINE__, 0xc0100000, 0x20000000, 0xc0233333, 0x33333338, 0xc0166666, 0x66666670}, /* -4.00000=f(-9.60000, v-5.60000)*/
+{ 0, 0,123,__LINE__, 0xbfb99998, 0x00000000, 0xc01f9999, 0x999999a3, 0xc00f3333, 0x33333346}, /* -0.09999=f(-7.90000, v-3.90000)*/
+{ 0, 0,123,__LINE__, 0xbffccccc, 0x80000000, 0xc018cccc, 0xccccccd6, 0xc0019999, 0x999999ac}, /* -1.80000=f(-6.20000, v-2.20000)*/
+{ 0, 0,123,__LINE__, 0x80000000, 0x00000000, 0xc0120000, 0x00000009, 0xbfe00000, 0x00000048}, /* 0.00000=f(-4.50000, v-0.50000)*/
+{ 0, 0,123,__LINE__, 0xbfd99999, 0x00000000, 0xc0066666, 0x66666678, 0x3ff33333, 0x33333310}, /* -0.39999=f(-2.80000, v1.20000)*/
+{ 0, 0,123,__LINE__, 0xbff19999, 0xa0000000, 0xbff19999, 0x999999bd, 0x40073333, 0x33333322}, /* -1.10000=f(-1.10000, v2.90000)*/
+{ 1, 0,123,__LINE__, 0x3fe33333, 0x40000000, 0x3fe33333, 0x333332ec, 0x40126666, 0x6666665e}, /* 0.60000=f(0.60000, v4.60000)*/
+{12, 0,123,__LINE__, 0x40026666, 0x60000000, 0x40026666, 0x66666654, 0x40193333, 0x3333332a}, /* 2.30000=f(2.30000, v6.30000)*/
+{11, 0,123,__LINE__, 0x40100000, 0x00000000, 0x400fffff, 0xffffffee, 0x401fffff, 0xfffffff7}, /* 4.00000=f(4.00000, v8.00000)*/
+{11, 0,123,__LINE__, 0x4016cccc, 0xc0000000, 0x4016cccc, 0xccccccc4, 0x40236666, 0x66666662}, /* 5.70000=f(5.70000, v9.70000)*/
+{11, 0,123,__LINE__, 0x401d9999, 0xa0000000, 0x401d9999, 0x99999991, 0x4026cccc, 0xccccccc8}, /* 7.40000=f(7.40000, v11.4000)*/
+{10, 0,123,__LINE__, 0x40223333, 0x40000000, 0x40223333, 0x3333332f, 0x402a3333, 0x3333332f}, /* 9.10000=f(9.10000, v13.1000)*/
+{10, 0,123,__LINE__, 0x40259999, 0xa0000000, 0x40259999, 0x99999995, 0x402d9999, 0x99999995}, /* 10.8000=f(10.8000, v14.8000)*/
+{10, 0,123,__LINE__, 0x40290000, 0x00000000, 0x4028ffff, 0xfffffffb, 0x40307fff, 0xfffffffe}, /* 12.5000=f(12.5000, v16.5000)*/
+{10, 0,123,__LINE__, 0x402c6666, 0x60000000, 0x402c6666, 0x66666661, 0x40323333, 0x33333330}, /* 14.2000=f(14.2000, v18.2000)*/
+{10, 0,123,__LINE__, 0x402fcccc, 0xc0000000, 0x402fcccc, 0xccccccc7, 0x4033e666, 0x66666664}, /* 15.9000=f(15.9000, v19.9000)*/
+{10, 0,123,__LINE__, 0x40319999, 0xa0000000, 0x40319999, 0x99999997, 0x40359999, 0x99999997}, /* 17.6000=f(17.6000, v21.6000)*/
+{10, 0,123,__LINE__, 0x40334ccc, 0xc0000000, 0x40334ccc, 0xccccccca, 0x40374ccc, 0xccccccca}, /* 19.2999=f(19.3000, v23.3000)*/
+{10, 0,123,__LINE__, 0x40350000, 0x00000000, 0x4034ffff, 0xfffffffd, 0x4038ffff, 0xfffffffd}, /* 21.0000=f(21.0000, v25.0000)*/
+{10, 0,123,__LINE__, 0x4036b333, 0x40000000, 0x4036b333, 0x33333330, 0x403ab333, 0x33333330}, /* 22.7000=f(22.7000, v26.7000)*/
+{10, 0,123,__LINE__, 0x40386666, 0x60000000, 0x40386666, 0x66666663, 0x403c6666, 0x66666663}, /* 24.4000=f(24.4000, v28.4000)*/
+{10, 0,123,__LINE__, 0x403a1999, 0xa0000000, 0x403a1999, 0x99999996, 0x403e1999, 0x99999996}, /* 26.1000=f(26.1000, v30.1000)*/
+{10, 0,123,__LINE__, 0x403bcccc, 0xc0000000, 0x403bcccc, 0xccccccc9, 0x403fcccc, 0xccccccc9}, /* 27.7999=f(27.8000, v31.8000)*/
+{10, 0,123,__LINE__, 0x403d8000, 0x00000000, 0x403d7fff, 0xfffffffc, 0x4040bfff, 0xfffffffe}, /* 29.5000=f(29.5000, v33.5000)*/
+0,};
+test_fmodf(m) {run_vector_1(m,fmodf_vec,(char *)(fmodf),"fmodf","fff"); }
diff --git a/newlib/libm/test/gamma_vec.c b/newlib/libm/test/gamma_vec.c
new file mode 100644
index 00000000000..119efe6f69f
--- /dev/null
+++ b/newlib/libm/test/gamma_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type gamma_vec[] = {
+{60, 0,123,__LINE__, 0xbfb5db13, 0x8c7d70c7, 0xbff33333, 0x33333333}, /* -0.08537=f(-1.20000)*/
+{62, 0,123,__LINE__, 0xbfb5197b, 0x6469c221, 0xbff30a3d, 0x70a3d70a}, /* -0.08242=f(-1.19000)*/
+{63, 0,123,__LINE__, 0xbfb44f7b, 0xcf714466, 0xbff2e147, 0xae147ae1}, /* -0.07933=f(-1.18000)*/
+{60, 0,123,__LINE__, 0xbfb37cfb, 0x2ac8e137, 0xbff2b851, 0xeb851eb8}, /* -0.07612=f(-1.17000)*/
+{60, 0,123,__LINE__, 0xbfb2a1df, 0x3f1a2ee7, 0xbff28f5c, 0x28f5c28f}, /* -0.07278=f(-1.16000)*/
+{60, 0,123,__LINE__, 0xbfb1be0d, 0x3ba6e2c7, 0xbff26666, 0x66666666}, /* -0.06930=f(-1.15000)*/
+{62, 0,123,__LINE__, 0xbfb0d169, 0xb1375ba9, 0xbff23d70, 0xa3d70a3d}, /* -0.06569=f(-1.14000)*/
+{62, 0,123,__LINE__, 0xbfafb7b1, 0x19a303f8, 0xbff2147a, 0xe147ae14}, /* -0.06194=f(-1.13000)*/
+{60, 0,123,__LINE__, 0xbfadba7a, 0x246a1ed7, 0xbff1eb85, 0x1eb851eb}, /* -0.05806=f(-1.12000)*/
+{61, 0,123,__LINE__, 0xbfabaaf3, 0xac34421a, 0xbff1c28f, 0x5c28f5c2}, /* -0.05403=f(-1.11000)*/
+{62, 0,123,__LINE__, 0xbfa988e1, 0x705d89dc, 0xbff19999, 0x99999999}, /* -0.04987=f(-1.10000)*/
+{61, 0,123,__LINE__, 0xbfa75405, 0xb99ffc53, 0xbff170a3, 0xd70a3d70}, /* -0.04556=f(-1.09000)*/
+{62, 0,123,__LINE__, 0xbfa50c21, 0x4cf50179, 0xbff147ae, 0x147ae147}, /* -0.04110=f(-1.08000)*/
+{62, 0,123,__LINE__, 0xbfa2b0f3, 0x5dde50c1, 0xbff11eb8, 0x51eb851e}, /* -0.03650=f(-1.07000)*/
+{62, 0,123,__LINE__, 0xbfa04239, 0x800dd5e9, 0xbff0f5c2, 0x8f5c28f5}, /* -0.03175=f(-1.06000)*/
+{61, 0,123,__LINE__, 0xbf9b7f5f, 0x30c6fcdb, 0xbff0cccc, 0xcccccccc}, /* -0.02685=f(-1.05000)*/
+{62, 0,123,__LINE__, 0xbf96521f, 0x9a6e8d78, 0xbff0a3d7, 0x0a3d70a3}, /* -0.02179=f(-1.04000)*/
+{62, 0,123,__LINE__, 0xbf90fc24, 0xebca6fe5, 0xbff07ae1, 0x47ae147a}, /* -0.01658=f(-1.03000)*/
+{62, 0,123,__LINE__, 0xbf86f9b8, 0x26414df9, 0xbff051eb, 0x851eb851}, /* -0.01121=f(-1.02000)*/
+{60, 0,123,__LINE__, 0xbf774eb8, 0x68854617, 0xbff028f5, 0xc28f5c28}, /* -0.00569=f(-1.01000)*/
+{61, 0,123,__LINE__, 0x3ca2788c, 0xfc6fb61b, 0xbfefffff, 0xfffffffe}, /* 1.28168e-16=f(-0.01000)*/
+{61, 0,123,__LINE__, 0x3f77fb35, 0xb942e1d3, 0xbfefae14, 0x7ae147ac}, /* 0.00585=f(-0.99000)*/
+{62, 0,123,__LINE__, 0x3f8852bb, 0x7fbc7e61, 0xbfef5c28, 0xf5c28f5a}, /* 0.01187=f(-0.98000)*/
+{64, 0,123,__LINE__, 0x3f928059, 0x0b8e75bb, 0xbfef0a3d, 0x70a3d708}, /* 0.01806=f(-0.97000)*/
+{63, 0,123,__LINE__, 0x3f99046c, 0x1e32cbca, 0xbfeeb851, 0xeb851eb6}, /* 0.02443=f(-0.96000)*/
+{59, 0,123,__LINE__, 0x3f9fb648, 0xaaf9762e, 0xbfee6666, 0x66666664}, /* 0.03096=f(-0.95000)*/
+{64, 0,123,__LINE__, 0x3fa34b52, 0xbf317833, 0xbfee147a, 0xe147ae12}, /* 0.03768=f(-0.94000)*/
+{58, 0,123,__LINE__, 0x3fa6d31f, 0x59f2651f, 0xbfedc28f, 0x5c28f5c0}, /* 0.04457=f(-0.93000)*/
+{63, 0,123,__LINE__, 0x3faa72ea, 0xf732ed14, 0xbfed70a3, 0xd70a3d6e}, /* 0.05165=f(-0.92000)*/
+{63, 0,123,__LINE__, 0x3fae2b19, 0x49e1a4ac, 0xbfed1eb8, 0x51eb851c}, /* 0.05892=f(-0.91000)*/
+{64, 0,123,__LINE__, 0x3fb0fe08, 0x82e465c4, 0xbfeccccc, 0xccccccca}, /* 0.06637=f(-0.90000)*/
+{63, 0,123,__LINE__, 0x3fb2f31e, 0x00542b2a, 0xbfec7ae1, 0x47ae1478}, /* 0.07402=f(-0.89000)*/
+{62, 0,123,__LINE__, 0x3fb4f503, 0xaa939ced, 0xbfec28f5, 0xc28f5c26}, /* 0.08186=f(-0.88000)*/
+{63, 0,123,__LINE__, 0x3fb703f1, 0xc3de0746, 0xbfebd70a, 0x3d70a3d4}, /* 0.08990=f(-0.87000)*/
+{63, 0,123,__LINE__, 0x3fb92022, 0x56d7dd76, 0xbfeb851e, 0xb851eb82}, /* 0.09814=f(-0.86000)*/
+{62, 0,123,__LINE__, 0x3fbb49d1, 0x4b2fd3e9, 0xbfeb3333, 0x33333330}, /* 0.10659=f(-0.85000)*/
+{64, 0,123,__LINE__, 0x3fbd813c, 0x7b740d65, 0xbfeae147, 0xae147ade}, /* 0.11525=f(-0.84000)*/
+{63, 0,123,__LINE__, 0x3fbfc6a3, 0xcc315c0a, 0xbfea8f5c, 0x28f5c28c}, /* 0.12412=f(-0.83000)*/
+{64, 0,123,__LINE__, 0x3fc10d24, 0xa23a39c9, 0xbfea3d70, 0xa3d70a3a}, /* 0.13321=f(-0.82000)*/
+{64, 0,123,__LINE__, 0x3fc23e38, 0x93e37acd, 0xbfe9eb85, 0x1eb851e8}, /* 0.14252=f(-0.81000)*/
+{62, 0,123,__LINE__, 0x3fc376b1, 0x08e2401e, 0xbfe99999, 0x99999996}, /* 0.15205=f(-0.80000)*/
+{64, 0,123,__LINE__, 0x3fc4b6b2, 0x89b33032, 0xbfe947ae, 0x147ae144}, /* 0.16182=f(-0.79000)*/
+{64, 0,123,__LINE__, 0x3fc5fe62, 0xe913a18d, 0xbfe8f5c2, 0x8f5c28f2}, /* 0.17182=f(-0.78000)*/
+{64, 0,123,__LINE__, 0x3fc74de9, 0x5491a139, 0xbfe8a3d7, 0x0a3d70a0}, /* 0.18206=f(-0.77000)*/
+{62, 0,123,__LINE__, 0x3fc8a56e, 0x662dfe9a, 0xbfe851eb, 0x851eb84e}, /* 0.19254=f(-0.76000)*/
+{63, 0,123,__LINE__, 0x3fca051c, 0x372609ff, 0xbfe7ffff, 0xfffffffc}, /* 0.20328=f(-0.75000)*/
+{59, 0,123,__LINE__, 0x3fcb6d1e, 0x73fcbc11, 0xbfe7ae14, 0x7ae147aa}, /* 0.21426=f(-0.74000)*/
+{61, 0,123,__LINE__, 0x3fccdda2, 0x71dd3d05, 0xbfe75c28, 0xf5c28f58}, /* 0.22551=f(-0.73000)*/
+{61, 0,123,__LINE__, 0x3fce56d7, 0x4573437c, 0xbfe70a3d, 0x70a3d706}, /* 0.23702=f(-0.72000)*/
+{62, 0,123,__LINE__, 0x3fcfd8ed, 0xdb588b3b, 0xbfe6b851, 0xeb851eb4}, /* 0.24880=f(-0.71000)*/
+{61, 0,123,__LINE__, 0x3fd0b20c, 0x891cde7c, 0xbfe66666, 0x66666662}, /* 0.26086=f(-0.70000)*/
+{64, 0,123,__LINE__, 0x3fd17c46, 0xeb6c4aa1, 0xbfe6147a, 0xe147ae10}, /* 0.27321=f(-0.69000)*/
+{64, 0,123,__LINE__, 0x3fd24b41, 0xa10a79d5, 0xbfe5c28f, 0x5c28f5be}, /* 0.28584=f(-0.68000)*/
+{64, 0,123,__LINE__, 0x3fd31f19, 0x5c956644, 0xbfe570a3, 0xd70a3d6c}, /* 0.29877=f(-0.67000)*/
+{64, 0,123,__LINE__, 0x3fd3f7ec, 0x082be675, 0xbfe51eb8, 0x51eb851a}, /* 0.31200=f(-0.66000)*/
+{64, 0,123,__LINE__, 0x3fd4d5d8, 0xd810767e, 0xbfe4cccc, 0xccccccc8}, /* 0.32555=f(-0.65000)*/
+{62, 0,123,__LINE__, 0x3fd5b900, 0x5ebb22fa, 0xbfe47ae1, 0x47ae1476}, /* 0.33941=f(-0.64000)*/
+{64, 0,123,__LINE__, 0x3fd6a184, 0xa27d2ee8, 0xbfe428f5, 0xc28f5c24}, /* 0.35360=f(-0.63000)*/
+{64, 0,123,__LINE__, 0x3fd78f89, 0x34dcecf5, 0xbfe3d70a, 0x3d70a3d2}, /* 0.36813=f(-0.62000)*/
+{64, 0,123,__LINE__, 0x3fd88333, 0x4bd4a467, 0xbfe3851e, 0xb851eb80}, /* 0.38300=f(-0.61000)*/
+{63, 0,123,__LINE__, 0x3fd97ca9, 0xdd244e35, 0xbfe33333, 0x3333332e}, /* 0.39823=f(-0.60000)*/
+{64, 0,123,__LINE__, 0x3fda7c15, 0xbbeb9574, 0xbfe2e147, 0xae147adc}, /* 0.41382=f(-0.59000)*/
+{64, 0,123,__LINE__, 0x3fdb81a1, 0xb8c7e94e, 0xbfe28f5c, 0x28f5c28a}, /* 0.42978=f(-0.58000)*/
+{63, 0,123,__LINE__, 0x3fdc8d7a, 0xc4b9b5de, 0xbfe23d70, 0xa3d70a38}, /* 0.44613=f(-0.57000)*/
+{64, 0,123,__LINE__, 0x3fdd9fd0, 0x171c276a, 0xbfe1eb85, 0x1eb851e6}, /* 0.46287=f(-0.56000)*/
+{62, 0,123,__LINE__, 0x3fdeb8d3, 0x57045cf2, 0xbfe19999, 0x99999994}, /* 0.48003=f(-0.55000)*/
+{62, 0,123,__LINE__, 0x3fdfd8b8, 0xc867d4de, 0xbfe147ae, 0x147ae142}, /* 0.49760=f(-0.54000)*/
+{64, 0,123,__LINE__, 0x3fe07fdb, 0xbebb3326, 0xbfe0f5c2, 0x8f5c28f0}, /* 0.51560=f(-0.53000)*/
+{62, 0,123,__LINE__, 0x3fe11704, 0xc65144be, 0xbfe0a3d7, 0x0a3d709e}, /* 0.53405=f(-0.52000)*/
+{64, 0,123,__LINE__, 0x3fe1b1f6, 0x25f1b031, 0xbfe051eb, 0x851eb84c}, /* 0.55297=f(-0.51000)*/
+{64, 0,123,__LINE__, 0x3fe250d0, 0x48e7a1c8, 0xbfdfffff, 0xfffffff4}, /* 0.57236=f(-0.50000)*/
+{64, 0,123,__LINE__, 0x3fe2f3b5, 0x7ea204ea, 0xbfdf5c28, 0xf5c28f50}, /* 0.59224=f(-0.49000)*/
+{63, 0,123,__LINE__, 0x3fe39aca, 0x22363405, 0xbfdeb851, 0xeb851eac}, /* 0.61264=f(-0.48000)*/
+{64, 0,123,__LINE__, 0x3fe44634, 0xc6082a61, 0xbfde147a, 0xe147ae08}, /* 0.63357=f(-0.47000)*/
+{62, 0,123,__LINE__, 0x3fe4f61e, 0x642115ea, 0xbfdd70a3, 0xd70a3d64}, /* 0.65504=f(-0.46000)*/
+{62, 0,123,__LINE__, 0x3fe5aab2, 0x93d2356a, 0xbfdccccc, 0xccccccc0}, /* 0.67708=f(-0.45000)*/
+{64, 0,123,__LINE__, 0x3fe6641f, 0xc55ac769, 0xbfdc28f5, 0xc28f5c1c}, /* 0.69972=f(-0.44000)*/
+{63, 0,123,__LINE__, 0x3fe72297, 0x84653797, 0xbfdb851e, 0xb851eb78}, /* 0.72297=f(-0.43000)*/
+{64, 0,123,__LINE__, 0x3fe7e64e, 0xc252ac01, 0xbfdae147, 0xae147ad4}, /* 0.74686=f(-0.42000)*/
+{64, 0,123,__LINE__, 0x3fe8af7e, 0x2975c439, 0xbfda3d70, 0xa3d70a30}, /* 0.77142=f(-0.41000)*/
+{64, 0,123,__LINE__, 0x3fe97e62, 0x7a8f4a4c, 0xbfd99999, 0x9999998c}, /* 0.79667=f(-0.40000)*/
+{64, 0,123,__LINE__, 0x3fea533c, 0xf61ba0e7, 0xbfd8f5c2, 0x8f5c28e8}, /* 0.82266=f(-0.39000)*/
+{64, 0,123,__LINE__, 0x3feb2e53, 0xd34840dc, 0xbfd851eb, 0x851eb844}, /* 0.84940=f(-0.38000)*/
+{64, 0,123,__LINE__, 0x3fec0ff2, 0xc6c099db, 0xbfd7ae14, 0x7ae147a0}, /* 0.87694=f(-0.37000)*/
+{64, 0,123,__LINE__, 0x3fecf86b, 0x9becf7dd, 0xbfd70a3d, 0x70a3d6fc}, /* 0.90532=f(-0.36000)*/
+{64, 0,123,__LINE__, 0x3fede816, 0xe3c18e5a, 0xbfd66666, 0x66666658}, /* 0.93458=f(-0.35000)*/
+{64, 0,123,__LINE__, 0x3feedf54, 0xbcddcbc3, 0xbfd5c28f, 0x5c28f5b4}, /* 0.96476=f(-0.34000)*/
+{64, 0,123,__LINE__, 0x3fefde8d, 0xb984cf28, 0xbfd51eb8, 0x51eb8510}, /* 0.99591=f(-0.33000)*/
+{64, 0,123,__LINE__, 0x3ff07319, 0xf47900b3, 0xbfd47ae1, 0x47ae146c}, /* 1.02810=f(-0.32000)*/
+{64, 0,123,__LINE__, 0x3ff0fb62, 0x05634687, 0xbfd3d70a, 0x3d70a3c8}, /* 1.06137=f(-0.31000)*/
+{64, 0,123,__LINE__, 0x3ff18863, 0x7a6c41a3, 0xbfd33333, 0x33333324}, /* 1.09579=f(-0.30000)*/
+{64, 0,123,__LINE__, 0x3ff21a69, 0x9ad205dd, 0xbfd28f5c, 0x28f5c280}, /* 1.13144=f(-0.29000)*/
+{64, 0,123,__LINE__, 0x3ff2b1c7, 0x801202ae, 0xbfd1eb85, 0x1eb851dc}, /* 1.16840=f(-0.28000)*/
+{64, 0,123,__LINE__, 0x3ff34ed9, 0x388c298c, 0xbfd147ae, 0x147ae138}, /* 1.20675=f(-0.27000)*/
+{62, 0,123,__LINE__, 0x3ff3f205, 0x20fe467e, 0xbfd0a3d7, 0x0a3d7094}, /* 1.24658=f(-0.26000)*/
+{64, 0,123,__LINE__, 0x3ff49bbd, 0x81c16f0c, 0xbfcfffff, 0xffffffe0}, /* 1.28802=f(-0.25000)*/
+{64, 0,123,__LINE__, 0x3ff54c82, 0x8064dd5e, 0xbfceb851, 0xeb851e98}, /* 1.33117=f(-0.24000)*/
+{64, 0,123,__LINE__, 0x3ff604e4, 0x7b3539a8, 0xbfcd70a3, 0xd70a3d50}, /* 1.37619=f(-0.23000)*/
+{64, 0,123,__LINE__, 0x3ff6c586, 0xeaf64d0f, 0xbfcc28f5, 0xc28f5c08}, /* 1.42322=f(-0.22000)*/
+{64, 0,123,__LINE__, 0x3ff78f23, 0xf04c91d9, 0xbfcae147, 0xae147ac0}, /* 1.47244=f(-0.21000)*/
+{64, 0,123,__LINE__, 0x3ff86290, 0xbf25b63d, 0xbfc99999, 0x99999978}, /* 1.52406=f(-0.20000)*/
+{64, 0,123,__LINE__, 0x3ff940c3, 0x2c8551f3, 0xbfc851eb, 0x851eb830}, /* 1.57831=f(-0.19000)*/
+{64, 0,123,__LINE__, 0x3ffa2ad8, 0xbd071d1c, 0xbfc70a3d, 0x70a3d6e8}, /* 1.63546=f(-0.18000)*/
+{64, 0,123,__LINE__, 0x3ffb221f, 0xb833c76a, 0xbfc5c28f, 0x5c28f5a0}, /* 1.69583=f(-0.17000)*/
+{64, 0,123,__LINE__, 0x3ffc2822, 0xfcef3da6, 0xbfc47ae1, 0x47ae1458}, /* 1.75979=f(-0.16000)*/
+{64, 0,123,__LINE__, 0x3ffd3eb9, 0xa880560b, 0xbfc33333, 0x33333310}, /* 1.82781=f(-0.15000)*/
+{64, 0,123,__LINE__, 0x3ffe681c, 0x2612676e, 0xbfc1eb85, 0x1eb851c8}, /* 1.90041=f(-0.14000)*/
+{64, 0,123,__LINE__, 0x3fffa701, 0x0fa523b8, 0xbfc0a3d7, 0x0a3d7080}, /* 1.97827=f(-0.13000)*/
+{64, 0,123,__LINE__, 0x40007f62, 0xd2056346, 0xbfbeb851, 0xeb851e71}, /* 2.06220=f(-0.12000)*/
+{64, 0,123,__LINE__, 0x400139d3, 0xf13aa1ec, 0xbfbc28f5, 0xc28f5be2}, /* 2.15323=f(-0.11000)*/
+{64, 0,123,__LINE__, 0x4002058e, 0x35f3df05, 0xbfb99999, 0x99999953}, /* 2.25271=f(-0.00100)*/
+{63, 0,123,__LINE__, 0x4002e628, 0xe5d72749, 0xbfb70a3d, 0x70a3d6c4}, /* 2.36238=f(-0.09000)*/
+{64, 0,123,__LINE__, 0x4003e080, 0xb2fb2ace, 0xbfb47ae1, 0x47ae1435}, /* 2.48462=f(-0.08000)*/
+{64, 0,123,__LINE__, 0x4004fb66, 0x52da03dc, 0xbfb1eb85, 0x1eb851a6}, /* 2.62275=f(-0.07000)*/
+{64, 0,123,__LINE__, 0x400640d4, 0x945562f7, 0xbfaeb851, 0xeb851e2d}, /* 2.78165=f(-0.06000)*/
+{64, 0,123,__LINE__, 0x4007c043, 0xbd1255c4, 0xbfa99999, 0x9999990e}, /* 2.96887=f(-0.05000)*/
+{64, 0,123,__LINE__, 0x4009939d, 0xb8b8b050, 0xbfa47ae1, 0x47ae13ef}, /* 3.19707=f(-0.04000)*/
+{64, 0,123,__LINE__, 0x400beb75, 0xf03c9410, 0xbf9eb851, 0xeb851da0}, /* 3.48997=f(-0.03000)*/
+{64, 0,123,__LINE__, 0x400f34d8, 0xff85dad0, 0xbf947ae1, 0x47ae1362}, /* 3.90080=f(-0.02000)*/
+{64, 0,123,__LINE__, 0x401265de, 0x0d9b3432, 0xbf847ae1, 0x47ae1249}, /* 4.59948=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x40414837, 0x1bfcbfb9, 0x3cd19000, 0x00000000}, /* 34.5641=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0x401265de, 0x0d9b3356, 0x3f847ae1, 0x47ae16ad}, /* 4.59948=f(0.01000)*/
+{64, 0,123,__LINE__, 0x400f34d8, 0xff85d9f2, 0x3f947ae1, 0x47ae1594}, /* 3.90080=f(0.02000)*/
+{64, 0,123,__LINE__, 0x400beb75, 0xf03c937b, 0x3f9eb851, 0xeb851fd2}, /* 3.48997=f(0.03000)*/
+{64, 0,123,__LINE__, 0x4009939d, 0xb8b8afe0, 0x3fa47ae1, 0x47ae1508}, /* 3.19707=f(0.04000)*/
+{64, 0,123,__LINE__, 0x4007c043, 0xbd12556a, 0x3fa99999, 0x99999a27}, /* 2.96887=f(0.05000)*/
+{64, 0,123,__LINE__, 0x400640d4, 0x945562ac, 0x3faeb851, 0xeb851f46}, /* 2.78165=f(0.06000)*/
+{64, 0,123,__LINE__, 0x4004fb66, 0x52da039c, 0x3fb1eb85, 0x1eb85232}, /* 2.62275=f(0.07000)*/
+{64, 0,123,__LINE__, 0x4003e080, 0xb2fb2a95, 0x3fb47ae1, 0x47ae14c1}, /* 2.48462=f(0.08000)*/
+{64, 0,123,__LINE__, 0x4002e628, 0xe5d72716, 0x3fb70a3d, 0x70a3d750}, /* 2.36238=f(0.09000)*/
+{64, 0,123,__LINE__, 0x4002058e, 0x35f3ded8, 0x3fb99999, 0x999999df}, /* 2.25271=f(0.10000)*/
+{64, 0,123,__LINE__, 0x400139d3, 0xf13aa1c3, 0x3fbc28f5, 0xc28f5c6e}, /* 2.15323=f(0.11000)*/
+{64, 0,123,__LINE__, 0x40007f62, 0xd2056320, 0x3fbeb851, 0xeb851efd}, /* 2.06220=f(0.12000)*/
+{64, 0,123,__LINE__, 0x3fffa701, 0x0fa52372, 0x3fc0a3d7, 0x0a3d70c6}, /* 1.97827=f(0.13000)*/
+{64, 0,123,__LINE__, 0x3ffe681c, 0x2612672c, 0x3fc1eb85, 0x1eb8520e}, /* 1.90041=f(0.14000)*/
+{64, 0,123,__LINE__, 0x3ffd3eb9, 0xa88055cd, 0x3fc33333, 0x33333356}, /* 1.82781=f(0.15000)*/
+{64, 0,123,__LINE__, 0x3ffc2822, 0xfcef3d6c, 0x3fc47ae1, 0x47ae149e}, /* 1.75979=f(0.16000)*/
+{64, 0,123,__LINE__, 0x3ffb221f, 0xb833c733, 0x3fc5c28f, 0x5c28f5e6}, /* 1.69583=f(0.17000)*/
+{64, 0,123,__LINE__, 0x3ffa2ad8, 0xbd071ce8, 0x3fc70a3d, 0x70a3d72e}, /* 1.63546=f(0.18000)*/
+{63, 0,123,__LINE__, 0x3ff940c3, 0x2c8551c3, 0x3fc851eb, 0x851eb876}, /* 1.57831=f(0.19000)*/
+{64, 0,123,__LINE__, 0x3ff86290, 0xbf25b60f, 0x3fc99999, 0x999999be}, /* 1.52406=f(0.20000)*/
+{64, 0,123,__LINE__, 0x3ff78f23, 0xf04c91ad, 0x3fcae147, 0xae147b06}, /* 1.47244=f(0.21000)*/
+{63, 0,123,__LINE__, 0x3ff6c586, 0xeaf64ce5, 0x3fcc28f5, 0xc28f5c4e}, /* 1.42322=f(0.22000)*/
+{64, 0,123,__LINE__, 0x3ff604e4, 0x7b353980, 0x3fcd70a3, 0xd70a3d96}, /* 1.37619=f(0.23000)*/
+{64, 0,123,__LINE__, 0x3ff54c82, 0x8064dd37, 0x3fceb851, 0xeb851ede}, /* 1.33117=f(0.24000)*/
+{64, 0,123,__LINE__, 0x3ff49bbd, 0x81c16ee7, 0x3fd00000, 0x00000013}, /* 1.28802=f(0.25000)*/
+{62, 0,123,__LINE__, 0x3ff3f205, 0x20fe465a, 0x3fd0a3d7, 0x0a3d70b7}, /* 1.24658=f(0.26000)*/
+{64, 0,123,__LINE__, 0x3ff34ed9, 0x388c2969, 0x3fd147ae, 0x147ae15b}, /* 1.20675=f(0.27000)*/
+{64, 0,123,__LINE__, 0x3ff2b1c7, 0x8012028d, 0x3fd1eb85, 0x1eb851ff}, /* 1.16840=f(0.28000)*/
+{64, 0,123,__LINE__, 0x3ff21a69, 0x9ad205bd, 0x3fd28f5c, 0x28f5c2a3}, /* 1.13144=f(0.29000)*/
+{64, 0,123,__LINE__, 0x3ff18863, 0x7a6c4184, 0x3fd33333, 0x33333347}, /* 1.09579=f(0.30000)*/
+{62, 0,123,__LINE__, 0x3ff0fb62, 0x0563466a, 0x3fd3d70a, 0x3d70a3eb}, /* 1.06137=f(0.31000)*/
+{64, 0,123,__LINE__, 0x3ff07319, 0xf4790096, 0x3fd47ae1, 0x47ae148f}, /* 1.02810=f(0.32000)*/
+{62, 0,123,__LINE__, 0x3fefde8d, 0xb984cef2, 0x3fd51eb8, 0x51eb8533}, /* 0.99591=f(0.33000)*/
+{63, 0,123,__LINE__, 0x3feedf54, 0xbcddcb8d, 0x3fd5c28f, 0x5c28f5d7}, /* 0.96476=f(0.34000)*/
+{62, 0,123,__LINE__, 0x3fede816, 0xe3c18e26, 0x3fd66666, 0x6666667b}, /* 0.93458=f(0.35000)*/
+{62, 0,123,__LINE__, 0x3fecf86b, 0x9becf7aa, 0x3fd70a3d, 0x70a3d71f}, /* 0.90532=f(0.36000)*/
+{62, 0,123,__LINE__, 0x3fec0ff2, 0xc6c099aa, 0x3fd7ae14, 0x7ae147c3}, /* 0.87694=f(0.37000)*/
+{64, 0,123,__LINE__, 0x3feb2e53, 0xd34840ad, 0x3fd851eb, 0x851eb867}, /* 0.84940=f(0.38000)*/
+{63, 0,123,__LINE__, 0x3fea533c, 0xf61ba0b9, 0x3fd8f5c2, 0x8f5c290b}, /* 0.82266=f(0.39000)*/
+{64, 0,123,__LINE__, 0x3fe97e62, 0x7a8f4a1f, 0x3fd99999, 0x999999af}, /* 0.79667=f(0.40000)*/
+{64, 0,123,__LINE__, 0x3fe8af7e, 0x2975c40d, 0x3fda3d70, 0xa3d70a53}, /* 0.77142=f(0.41000)*/
+{63, 0,123,__LINE__, 0x3fe7e64e, 0xc252abd7, 0x3fdae147, 0xae147af7}, /* 0.74686=f(0.42000)*/
+{64, 0,123,__LINE__, 0x3fe72297, 0x8465376d, 0x3fdb851e, 0xb851eb9b}, /* 0.72297=f(0.43000)*/
+{63, 0,123,__LINE__, 0x3fe6641f, 0xc55ac741, 0x3fdc28f5, 0xc28f5c3f}, /* 0.69972=f(0.44000)*/
+{64, 0,123,__LINE__, 0x3fe5aab2, 0x93d23542, 0x3fdccccc, 0xcccccce3}, /* 0.67708=f(0.45000)*/
+{61, 0,123,__LINE__, 0x3fe4f61e, 0x642115c4, 0x3fdd70a3, 0xd70a3d87}, /* 0.65504=f(0.46000)*/
+{64, 0,123,__LINE__, 0x3fe44634, 0xc6082a3c, 0x3fde147a, 0xe147ae2b}, /* 0.63357=f(0.47000)*/
+{64, 0,123,__LINE__, 0x3fe39aca, 0x223633e0, 0x3fdeb851, 0xeb851ecf}, /* 0.61264=f(0.48000)*/
+{64, 0,123,__LINE__, 0x3fe2f3b5, 0x7ea204c6, 0x3fdf5c28, 0xf5c28f73}, /* 0.59224=f(0.49000)*/
+{64, 0,123,__LINE__, 0x3fe250d0, 0x48e7a1a7, 0x3fe00000, 0x0000000b}, /* 0.57236=f(0.50000)*/
+{63, 0,123,__LINE__, 0x3fe1b1f6, 0x25f1b011, 0x3fe051eb, 0x851eb85d}, /* 0.55297=f(0.51000)*/
+{64, 0,123,__LINE__, 0x3fe11704, 0xc651449e, 0x3fe0a3d7, 0x0a3d70af}, /* 0.53405=f(0.52000)*/
+{60, 0,123,__LINE__, 0x3fe07fdb, 0xbebb3308, 0x3fe0f5c2, 0x8f5c2901}, /* 0.51560=f(0.53000)*/
+{63, 0,123,__LINE__, 0x3fdfd8b8, 0xc867d4a0, 0x3fe147ae, 0x147ae153}, /* 0.49760=f(0.54000)*/
+{64, 0,123,__LINE__, 0x3fdeb8d3, 0x57045cb6, 0x3fe19999, 0x999999a5}, /* 0.48003=f(0.55000)*/
+{63, 0,123,__LINE__, 0x3fdd9fd0, 0x171c2731, 0x3fe1eb85, 0x1eb851f7}, /* 0.46287=f(0.56000)*/
+{64, 0,123,__LINE__, 0x3fdc8d7a, 0xc4b9b5a6, 0x3fe23d70, 0xa3d70a49}, /* 0.44613=f(0.57000)*/
+{64, 0,123,__LINE__, 0x3fdb81a1, 0xb8c7e918, 0x3fe28f5c, 0x28f5c29b}, /* 0.42978=f(0.58000)*/
+{63, 0,123,__LINE__, 0x3fda7c15, 0xbbeb953c, 0x3fe2e147, 0xae147aed}, /* 0.41382=f(0.59000)*/
+{63, 0,123,__LINE__, 0x3fd97ca9, 0xdd244e01, 0x3fe33333, 0x3333333f}, /* 0.39823=f(0.60000)*/
+{63, 0,123,__LINE__, 0x3fd88333, 0x4bd4a433, 0x3fe3851e, 0xb851eb91}, /* 0.38300=f(0.61000)*/
+{64, 0,123,__LINE__, 0x3fd78f89, 0x34dcecc4, 0x3fe3d70a, 0x3d70a3e3}, /* 0.36813=f(0.62000)*/
+{64, 0,123,__LINE__, 0x3fd6a184, 0xa27d2eb7, 0x3fe428f5, 0xc28f5c35}, /* 0.35360=f(0.63000)*/
+{64, 0,123,__LINE__, 0x3fd5b900, 0x5ebb22ca, 0x3fe47ae1, 0x47ae1487}, /* 0.33941=f(0.64000)*/
+{64, 0,123,__LINE__, 0x3fd4d5d8, 0xd8107650, 0x3fe4cccc, 0xccccccd9}, /* 0.32555=f(0.65000)*/
+{64, 0,123,__LINE__, 0x3fd3f7ec, 0x082be648, 0x3fe51eb8, 0x51eb852b}, /* 0.31200=f(0.66000)*/
+{64, 0,123,__LINE__, 0x3fd31f19, 0x5c956618, 0x3fe570a3, 0xd70a3d7d}, /* 0.29877=f(0.67000)*/
+{60, 0,123,__LINE__, 0x3fd24b41, 0xa10a79a8, 0x3fe5c28f, 0x5c28f5cf}, /* 0.28584=f(0.68000)*/
+{62, 0,123,__LINE__, 0x3fd17c46, 0xeb6c4a77, 0x3fe6147a, 0xe147ae21}, /* 0.27321=f(0.69000)*/
+{63, 0,123,__LINE__, 0x3fd0b20c, 0x891cde53, 0x3fe66666, 0x66666673}, /* 0.26086=f(0.70000)*/
+{60, 0,123,__LINE__, 0x3fcfd8ed, 0xdb588ae9, 0x3fe6b851, 0xeb851ec5}, /* 0.24880=f(0.71000)*/
+{61, 0,123,__LINE__, 0x3fce56d7, 0x4573432e, 0x3fe70a3d, 0x70a3d717}, /* 0.23702=f(0.72000)*/
+{63, 0,123,__LINE__, 0x3fccdda2, 0x71dd3cb6, 0x3fe75c28, 0xf5c28f69}, /* 0.22551=f(0.73000)*/
+{63, 0,123,__LINE__, 0x3fcb6d1e, 0x73fcbbc5, 0x3fe7ae14, 0x7ae147bb}, /* 0.21426=f(0.74000)*/
+{63, 0,123,__LINE__, 0x3fca051c, 0x372609b5, 0x3fe80000, 0x0000000d}, /* 0.20328=f(0.75000)*/
+{64, 0,123,__LINE__, 0x3fc8a56e, 0x662dfe50, 0x3fe851eb, 0x851eb85f}, /* 0.19254=f(0.76000)*/
+{64, 0,123,__LINE__, 0x3fc74de9, 0x5491a0f3, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.18206=f(0.77000)*/
+{64, 0,123,__LINE__, 0x3fc5fe62, 0xe913a148, 0x3fe8f5c2, 0x8f5c2903}, /* 0.17182=f(0.78000)*/
+{64, 0,123,__LINE__, 0x3fc4b6b2, 0x89b32fee, 0x3fe947ae, 0x147ae155}, /* 0.16182=f(0.79000)*/
+{64, 0,123,__LINE__, 0x3fc376b1, 0x08e23fdc, 0x3fe99999, 0x999999a7}, /* 0.15205=f(0.80000)*/
+{64, 0,123,__LINE__, 0x3fc23e38, 0x93e37a8d, 0x3fe9eb85, 0x1eb851f9}, /* 0.14252=f(0.81000)*/
+{64, 0,123,__LINE__, 0x3fc10d24, 0xa23a398b, 0x3fea3d70, 0xa3d70a4b}, /* 0.13321=f(0.82000)*/
+{59, 0,123,__LINE__, 0x3fbfc6a3, 0xcc315b8f, 0x3fea8f5c, 0x28f5c29d}, /* 0.12412=f(0.83000)*/
+{64, 0,123,__LINE__, 0x3fbd813c, 0x7b740ced, 0x3feae147, 0xae147aef}, /* 0.11525=f(0.84000)*/
+{63, 0,123,__LINE__, 0x3fbb49d1, 0x4b2fd374, 0x3feb3333, 0x33333341}, /* 0.10659=f(0.85000)*/
+{64, 0,123,__LINE__, 0x3fb92022, 0x56d7dd05, 0x3feb851e, 0xb851eb93}, /* 0.09814=f(0.86000)*/
+{60, 0,123,__LINE__, 0x3fb703f1, 0xc3de06d7, 0x3febd70a, 0x3d70a3e5}, /* 0.08990=f(0.87000)*/
+{62, 0,123,__LINE__, 0x3fb4f503, 0xaa939c81, 0x3fec28f5, 0xc28f5c37}, /* 0.08186=f(0.88000)*/
+{62, 0,123,__LINE__, 0x3fb2f31e, 0x00542ac1, 0x3fec7ae1, 0x47ae1489}, /* 0.07402=f(0.89000)*/
+{64, 0,123,__LINE__, 0x3fb0fe08, 0x82e4655d, 0x3feccccc, 0xccccccdb}, /* 0.06637=f(0.90000)*/
+{61, 0,123,__LINE__, 0x3fae2b19, 0x49e1a3e3, 0x3fed1eb8, 0x51eb852d}, /* 0.05892=f(0.91000)*/
+{64, 0,123,__LINE__, 0x3faa72ea, 0xf732ec52, 0x3fed70a3, 0xd70a3d7f}, /* 0.05165=f(0.92000)*/
+{62, 0,123,__LINE__, 0x3fa6d31f, 0x59f26461, 0x3fedc28f, 0x5c28f5d1}, /* 0.04457=f(0.93000)*/
+{64, 0,123,__LINE__, 0x3fa34b52, 0xbf31777a, 0x3fee147a, 0xe147ae23}, /* 0.03768=f(0.94000)*/
+{64, 0,123,__LINE__, 0x3f9fb648, 0xaaf974c7, 0x3fee6666, 0x66666675}, /* 0.03096=f(0.95000)*/
+{61, 0,123,__LINE__, 0x3f99046c, 0x1e32ca6b, 0x3feeb851, 0xeb851ec7}, /* 0.02443=f(0.96000)*/
+{62, 0,123,__LINE__, 0x3f928059, 0x0b8e7465, 0x3fef0a3d, 0x70a3d719}, /* 0.01806=f(0.97000)*/
+{62, 0,123,__LINE__, 0x3f8852bb, 0x7fbc7bc9, 0x3fef5c28, 0xf5c28f6b}, /* 0.01187=f(0.98000)*/
+{60, 0,123,__LINE__, 0x3f77fb35, 0xb942dcc7, 0x3fefae14, 0x7ae147bd}, /* 0.00585=f(0.99000)*/
+{61, 0,123,__LINE__, 0xbcd0297b, 0x5ce1bf4b, 0x3ff00000, 0x00000007}, /* -8.97173e-16=f(1.00000)*/
+{61, 0,123,__LINE__, 0xbf774eb8, 0x68854a93, 0x3ff028f5, 0xc28f5c30}, /* -0.00569=f(1.01000)*/
+{60, 0,123,__LINE__, 0xbf86f9b8, 0x26415027, 0x3ff051eb, 0x851eb859}, /* -0.01121=f(1.02000)*/
+{63, 0,123,__LINE__, 0xbf90fc24, 0xebca70f4, 0x3ff07ae1, 0x47ae1482}, /* -0.01658=f(1.03000)*/
+{63, 0,123,__LINE__, 0xbf96521f, 0x9a6e8e80, 0x3ff0a3d7, 0x0a3d70ab}, /* -0.02179=f(1.04000)*/
+{62, 0,123,__LINE__, 0xbf9b7f5f, 0x30c6fdd9, 0x3ff0cccc, 0xccccccd4}, /* -0.02685=f(1.05000)*/
+{63, 0,123,__LINE__, 0xbfa04239, 0x800dd664, 0x3ff0f5c2, 0x8f5c28fd}, /* -0.03175=f(1.06000)*/
+{63, 0,123,__LINE__, 0xbfa2b0f3, 0x5dde5138, 0x3ff11eb8, 0x51eb8526}, /* -0.03650=f(1.07000)*/
+{62, 0,123,__LINE__, 0xbfa50c21, 0x4cf501ed, 0x3ff147ae, 0x147ae14f}, /* -0.04110=f(1.08000)*/
+{61, 0,123,__LINE__, 0xbfa75405, 0xb99ffcc3, 0x3ff170a3, 0xd70a3d78}, /* -0.04556=f(1.09000)*/
+{62, 0,123,__LINE__, 0xbfa988e1, 0x705d8a48, 0x3ff19999, 0x999999a1}, /* -0.04987=f(1.10000)*/
+{61, 0,123,__LINE__, 0xbfabaaf3, 0xac344283, 0x3ff1c28f, 0x5c28f5ca}, /* -0.05403=f(1.11000)*/
+{62, 0,123,__LINE__, 0xbfadba7a, 0x246a1f3d, 0x3ff1eb85, 0x1eb851f3}, /* -0.05806=f(1.12000)*/
+{62, 0,123,__LINE__, 0xbfafb7b1, 0x19a30459, 0x3ff2147a, 0xe147ae1c}, /* -0.06194=f(1.13000)*/
+{63, 0,123,__LINE__, 0xbfb0d169, 0xb1375bd8, 0x3ff23d70, 0xa3d70a45}, /* -0.06569=f(1.14000)*/
+{62, 0,123,__LINE__, 0xbfb1be0d, 0x3ba6e2f4, 0x3ff26666, 0x6666666e}, /* -0.06930=f(1.15000)*/
+{61, 0,123,__LINE__, 0xbfb2a1df, 0x3f1a2f12, 0x3ff28f5c, 0x28f5c297}, /* -0.07278=f(1.16000)*/
+{63, 0,123,__LINE__, 0xbfb37cfb, 0x2ac8e162, 0x3ff2b851, 0xeb851ec0}, /* -0.07612=f(1.17000)*/
+{59, 0,123,__LINE__, 0xbfb44f7b, 0xcf71448f, 0x3ff2e147, 0xae147ae9}, /* -0.07933=f(1.18000)*/
+{63, 0,123,__LINE__, 0xbfb5197b, 0x6469c248, 0x3ff30a3d, 0x70a3d712}, /* -0.08242=f(1.19000)*/
+{62, 0,123,__LINE__, 0x40151c74, 0xa1cd4989, 0xc01921fb, 0x54442d18}, /* 5.27778=f(-6.28318)*/
+{59, 0,123,__LINE__, 0x400608aa, 0x8a8d8d2f, 0xc012d97c, 0x7f3321d2}, /* 2.75423=f(-4.71238)*/
+{62, 0,123,__LINE__, 0x3fea7c79, 0x5ea35deb, 0xc00921fb, 0x54442d18}, /* 0.82769=f(-3.14159)*/
+{63, 0,123,__LINE__, 0xbfbdabdf, 0x1a1d104e, 0xbff921fb, 0x54442d18}, /* -0.11590=f(-1.57079)*/
+{64,15, 39,__LINE__, 0x40500000, 0x00000000, 0x00000000, 0x00000000}, /* 64.0000=f(0.00000)*/
+{63, 0,123,__LINE__, 0xbfbdabdf, 0x1a1d104e, 0x3ff921fb, 0x54442d18}, /* -0.11590=f(1.57079)*/
+{62, 0,123,__LINE__, 0x3fea7c79, 0x5ea35deb, 0x400921fb, 0x54442d18}, /* 0.82769=f(3.14159)*/
+{59, 0,123,__LINE__, 0x400608aa, 0x8a8d8d2f, 0x4012d97c, 0x7f3321d2}, /* 2.75423=f(4.71238)*/
+{64, 0,123,__LINE__, 0x4051d073, 0x53917230, 0xc03e0000, 0x00000000}, /* 71.2570=f(-30.0000)*/
+{64, 0,123,__LINE__, 0x4050636b, 0x94b9c88a, 0xc03c4ccc, 0xcccccccd}, /* 65.5534=f(-28.3000)*/
+{64, 0,123,__LINE__, 0x404dfa17, 0xe2dfce14, 0xc03a9999, 0x9999999a}, /* 59.9538=f(-26.6000)*/
+{64, 0,123,__LINE__, 0x404b3b87, 0x11a8e7ce, 0xc038e666, 0x66666667}, /* 54.4650=f(-24.9000)*/
+{64, 0,123,__LINE__, 0x40488c21, 0xfae8b0bc, 0xc0373333, 0x33333334}, /* 49.0947=f(-23.2000)*/
+{64, 0,123,__LINE__, 0x4045ed0b, 0xe8171bb8, 0xc0358000, 0x00000001}, /* 43.8519=f(-21.5000)*/
+{64, 0,123,__LINE__, 0x40435f97, 0x6a4f5f75, 0xc033cccc, 0xccccccce}, /* 38.7468=f(-19.8000)*/
+{64, 0,123,__LINE__, 0x4040e552, 0xe4ea7aea, 0xc0321999, 0x9999999b}, /* 33.7915=f(-18.1000)*/
+{64, 0,123,__LINE__, 0x403d0033, 0xeebf8308, 0xc0306666, 0x66666668}, /* 29.0007=f(-16.4000)*/
+{64, 0,123,__LINE__, 0x4038645c, 0xcca2e5ab, 0xc02d6666, 0x6666666a}, /* 24.3920=f(-14.7000)*/
+{64, 0,123,__LINE__, 0x4033fcba, 0x16d50148, 0xc02a0000, 0x00000004}, /* 19.9872=f(-13.0000)*/
+{64, 0,123,__LINE__, 0x402fa0dc, 0x4a4f1284, 0xc0269999, 0x9999999e}, /* 15.8141=f(-11.3000)*/
+{64, 0,123,__LINE__, 0x4027d1be, 0xf9cf2f7e, 0xc0233333, 0x33333338}, /* 11.9096=f(-9.60000)*/
+{64, 0,123,__LINE__, 0x4020a606, 0x2d049d2a, 0xc01f9999, 0x999999a3}, /* 8.32426=f(-7.90000)*/
+{62, 0,123,__LINE__, 0x40148779, 0x555c3f28, 0xc018cccc, 0xccccccd6}, /* 5.13229=f(-6.20000)*/
+{64, 0,123,__LINE__, 0x4003a140, 0xa3a623e4, 0xc0120000, 0x00000009}, /* 2.45373=f(-4.50000)*/
+{62, 0,123,__LINE__, 0x3fe088d4, 0x4b2adb7a, 0xc0066666, 0x66666678}, /* 0.51670=f(-2.80000)*/
+{62, 0,123,__LINE__, 0xbfa988e1, 0x705d8bc4, 0xbff19999, 0x999999bd}, /* -0.04987=f(-1.10000)*/
+{64, 0,123,__LINE__, 0x3fd97ca9, 0xdd244f00, 0x3fe33333, 0x333332ec}, /* 0.39823=f(0.60000)*/
+{59, 0,123,__LINE__, 0x3fc3bc7a, 0xe53846b0, 0x40026666, 0x66666654}, /* 0.15418=f(2.30000)*/
+{62, 0,123,__LINE__, 0x3ffcab0b, 0xfa2a1fd6, 0x400fffff, 0xffffffee}, /* 1.79175=f(4.00000)*/
+{64, 0,123,__LINE__, 0x401122c8, 0x6abdedf8, 0x4016cccc, 0xccccccc4}, /* 4.28396=f(5.70000)*/
+{63, 0,123,__LINE__, 0x401d5c93, 0x1f42284e, 0x401d9999, 0x99999991}, /* 7.34040=f(7.40000)*/
+{64, 0,123,__LINE__, 0x4025a375, 0x0a6f0ada, 0x40223333, 0x3333332f}, /* 10.8192=f(9.10000)*/
+{64, 0,123,__LINE__, 0x402d459e, 0xd9f0398a, 0x40259999, 0x99999995}, /* 14.6359=f(10.8000)*/
+{64, 0,123,__LINE__, 0x4032bbfe, 0x32d3aa79, 0x4028ffff, 0xfffffffb}, /* 18.7343=f(12.5000)*/
+{64, 0,123,__LINE__, 0x40371300, 0x26276f8a, 0x402c6666, 0x66666661}, /* 23.0742=f(14.2000)*/
+{64, 0,123,__LINE__, 0x403ba020, 0x52c704f0, 0x402fcccc, 0xccccccc7}, /* 27.6254=f(15.9000)*/
+{64, 0,123,__LINE__, 0x40402eaf, 0xef4149f4, 0x40319999, 0x99999997}, /* 32.3647=f(17.6000)*/
+{64, 0,123,__LINE__, 0x4042a2f9, 0x41f4bf5a, 0x40334ccc, 0xccccccca}, /* 37.2732=f(19.3000)*/
+{64, 0,123,__LINE__, 0x40452af5, 0x7aed77ba, 0x4034ffff, 0xfffffffd}, /* 42.3356=f(21.0000)*/
+{64, 0,123,__LINE__, 0x4047c501, 0x9442501c, 0x4036b333, 0x33333330}, /* 47.5391=f(22.7000)*/
+{64, 0,123,__LINE__, 0x404a6fba, 0xe04511ae, 0x40386666, 0x66666663}, /* 52.8728=f(24.4000)*/
+{64, 0,123,__LINE__, 0x404d29f1, 0x436831ba, 0x403a1999, 0x99999996}, /* 58.3276=f(26.1000)*/
+{64, 0,123,__LINE__, 0x404ff29d, 0x1a191b4b, 0x403bcccc, 0xccccccc9}, /* 63.8954=f(27.8000)*/
+{64, 0,123,__LINE__, 0x4051646b, 0xd261edc0, 0x403d7fff, 0xfffffffc}, /* 69.5690=f(29.5000)*/
+0,};
+test_gamma(m) {run_vector_1(m,gamma_vec,(char *)(gamma),"gamma","dd"); }
diff --git a/newlib/libm/test/gammaf_vec.c b/newlib/libm/test/gammaf_vec.c
new file mode 100644
index 00000000000..3210f14c490
--- /dev/null
+++ b/newlib/libm/test/gammaf_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type gammaf_vec[] = {
+{ 0, 0,123,__LINE__, 0xbfb5db13, 0xc0000000, 0xbff33333, 0x33333333}, /* -0.08537=f(-1.20000)*/
+{ 0, 0,123,__LINE__, 0xbfb5197b, 0xc0000000, 0xbff30a3d, 0x70a3d70a}, /* -0.08242=f(-1.19000)*/
+{ 0, 0,123,__LINE__, 0xbfb44f7b, 0x80000000, 0xbff2e147, 0xae147ae1}, /* -0.07933=f(-1.18000)*/
+{ 0, 0,123,__LINE__, 0xbfb37cfb, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* -0.07612=f(-1.17000)*/
+{ 0, 0,123,__LINE__, 0xbfb2a1df, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* -0.07278=f(-1.16000)*/
+{ 0, 0,123,__LINE__, 0xbfb1be0d, 0x20000000, 0xbff26666, 0x66666666}, /* -0.06930=f(-1.15000)*/
+{ 0, 0,123,__LINE__, 0xbfb0d169, 0xa0000000, 0xbff23d70, 0xa3d70a3d}, /* -0.06569=f(-1.14000)*/
+{ 0, 0,123,__LINE__, 0xbfafb7b1, 0x00000000, 0xbff2147a, 0xe147ae14}, /* -0.06194=f(-1.13000)*/
+{ 0, 0,123,__LINE__, 0xbfadba7a, 0x40000000, 0xbff1eb85, 0x1eb851eb}, /* -0.05806=f(-1.12000)*/
+{ 0, 0,123,__LINE__, 0xbfabaaf3, 0xe0000000, 0xbff1c28f, 0x5c28f5c2}, /* -0.05403=f(-1.11000)*/
+{ 0, 0,123,__LINE__, 0xbfa988e1, 0xc0000000, 0xbff19999, 0x99999999}, /* -0.04987=f(-1.10000)*/
+{ 0, 0,123,__LINE__, 0xbfa75406, 0x40000000, 0xbff170a3, 0xd70a3d70}, /* -0.04556=f(-1.09000)*/
+{ 0, 0,123,__LINE__, 0xbfa50c22, 0x00000000, 0xbff147ae, 0x147ae147}, /* -0.04110=f(-1.08000)*/
+{ 0, 0,123,__LINE__, 0xbfa2b0f4, 0x40000000, 0xbff11eb8, 0x51eb851e}, /* -0.03650=f(-1.07000)*/
+{ 0, 0,123,__LINE__, 0xbfa04238, 0xa0000000, 0xbff0f5c2, 0x8f5c28f5}, /* -0.03175=f(-1.06000)*/
+{ 0, 0,123,__LINE__, 0xbf9b7f5d, 0xa0000000, 0xbff0cccc, 0xcccccccc}, /* -0.02685=f(-1.05000)*/
+{ 0, 0,123,__LINE__, 0xbf96521e, 0x40000000, 0xbff0a3d7, 0x0a3d70a3}, /* -0.02179=f(-1.04000)*/
+{ 0, 0,123,__LINE__, 0xbf90fc23, 0xe0000000, 0xbff07ae1, 0x47ae147a}, /* -0.01658=f(-1.03000)*/
+{ 0, 0,123,__LINE__, 0xbf86f9b6, 0xc0000000, 0xbff051eb, 0x851eb851}, /* -0.01121=f(-1.02000)*/
+{ 0, 0,123,__LINE__, 0xbf774eb7, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* -0.00569=f(-1.01000)*/
+{ 1, 0,123,__LINE__, 0x00000000, 0x00000000, 0xbfefffff, 0xfffffffe}, /* 0.00000=f(-0.01000)*/
+{ 1, 0,123,__LINE__, 0x3f77fb34, 0x40000000, 0xbfefae14, 0x7ae147ac}, /* 0.00585=f(-0.99000)*/
+{ 1, 0,123,__LINE__, 0x3f8852ba, 0x00000000, 0xbfef5c28, 0xf5c28f5a}, /* 0.01187=f(-0.98000)*/
+{ 1, 0,123,__LINE__, 0x3f928057, 0xe0000000, 0xbfef0a3d, 0x70a3d708}, /* 0.01806=f(-0.97000)*/
+{ 1, 0,123,__LINE__, 0x3f99046d, 0x20000000, 0xbfeeb851, 0xeb851eb6}, /* 0.02443=f(-0.96000)*/
+{ 1, 0,123,__LINE__, 0x3f9fb649, 0x40000000, 0xbfee6666, 0x66666664}, /* 0.03096=f(-0.95000)*/
+{ 1, 0,123,__LINE__, 0x3fa34b52, 0xe0000000, 0xbfee147a, 0xe147ae12}, /* 0.03768=f(-0.94000)*/
+{ 1, 0,123,__LINE__, 0x3fa6d31f, 0x40000000, 0xbfedc28f, 0x5c28f5c0}, /* 0.04457=f(-0.93000)*/
+{ 1, 0,123,__LINE__, 0x3faa72ea, 0xa0000000, 0xbfed70a3, 0xd70a3d6e}, /* 0.05165=f(-0.92000)*/
+{ 1, 0,123,__LINE__, 0x3fae2b18, 0xa0000000, 0xbfed1eb8, 0x51eb851c}, /* 0.05892=f(-0.91000)*/
+{ 1, 0,123,__LINE__, 0x3fb0fe08, 0xe0000000, 0xbfeccccc, 0xccccccca}, /* 0.06637=f(-0.90000)*/
+{ 1, 0,123,__LINE__, 0x3fb2f31e, 0x40000000, 0xbfec7ae1, 0x47ae1478}, /* 0.07402=f(-0.89000)*/
+{ 1, 0,123,__LINE__, 0x3fb4f503, 0xc0000000, 0xbfec28f5, 0xc28f5c26}, /* 0.08186=f(-0.88000)*/
+{ 1, 0,123,__LINE__, 0x3fb703f1, 0xc0000000, 0xbfebd70a, 0x3d70a3d4}, /* 0.08990=f(-0.87000)*/
+{ 1, 0,123,__LINE__, 0x3fb92022, 0x20000000, 0xbfeb851e, 0xb851eb82}, /* 0.09814=f(-0.86000)*/
+{ 1, 0,123,__LINE__, 0x3fbb49d1, 0x00000000, 0xbfeb3333, 0x33333330}, /* 0.10659=f(-0.85000)*/
+{ 1, 0,123,__LINE__, 0x3fbd813c, 0xe0000000, 0xbfeae147, 0xae147ade}, /* 0.11525=f(-0.84000)*/
+{ 1, 0,123,__LINE__, 0x3fbfc6a4, 0x20000000, 0xbfea8f5c, 0x28f5c28c}, /* 0.12412=f(-0.83000)*/
+{ 1, 0,123,__LINE__, 0x3fc10d24, 0xc0000000, 0xbfea3d70, 0xa3d70a3a}, /* 0.13321=f(-0.82000)*/
+{ 1, 0,123,__LINE__, 0x3fc23e38, 0xa0000000, 0xbfe9eb85, 0x1eb851e8}, /* 0.14252=f(-0.81000)*/
+{ 1, 0,123,__LINE__, 0x3fc376b1, 0x00000000, 0xbfe99999, 0x99999996}, /* 0.15205=f(-0.80000)*/
+{ 1, 0,123,__LINE__, 0x3fc4b6b2, 0x60000000, 0xbfe947ae, 0x147ae144}, /* 0.16182=f(-0.79000)*/
+{ 1, 0,123,__LINE__, 0x3fc5fe63, 0x40000000, 0xbfe8f5c2, 0x8f5c28f2}, /* 0.17182=f(-0.78000)*/
+{ 1, 0,123,__LINE__, 0x3fc74de9, 0xa0000000, 0xbfe8a3d7, 0x0a3d70a0}, /* 0.18206=f(-0.77000)*/
+{ 1, 0,123,__LINE__, 0x3fc8a56e, 0x80000000, 0xbfe851eb, 0x851eb84e}, /* 0.19254=f(-0.76000)*/
+{ 1, 0,123,__LINE__, 0x3fca051c, 0x40000000, 0xbfe7ffff, 0xfffffffc}, /* 0.20328=f(-0.75000)*/
+{ 1, 0,123,__LINE__, 0x3fcb6d1e, 0x60000000, 0xbfe7ae14, 0x7ae147aa}, /* 0.21426=f(-0.74000)*/
+{ 1, 0,123,__LINE__, 0x3fccdda2, 0x60000000, 0xbfe75c28, 0xf5c28f58}, /* 0.22551=f(-0.73000)*/
+{ 1, 0,123,__LINE__, 0x3fce56d7, 0x00000000, 0xbfe70a3d, 0x70a3d706}, /* 0.23702=f(-0.72000)*/
+{ 1, 0,123,__LINE__, 0x3fcfd8ee, 0x40000000, 0xbfe6b851, 0xeb851eb4}, /* 0.24880=f(-0.71000)*/
+{ 1, 0,123,__LINE__, 0x3fd0b20c, 0xa0000000, 0xbfe66666, 0x66666662}, /* 0.26086=f(-0.70000)*/
+{ 1, 0,123,__LINE__, 0x3fd17c47, 0x00000000, 0xbfe6147a, 0xe147ae10}, /* 0.27321=f(-0.69000)*/
+{ 1, 0,123,__LINE__, 0x3fd24b41, 0xc0000000, 0xbfe5c28f, 0x5c28f5be}, /* 0.28584=f(-0.68000)*/
+{ 1, 0,123,__LINE__, 0x3fd31f19, 0x60000000, 0xbfe570a3, 0xd70a3d6c}, /* 0.29877=f(-0.67000)*/
+{ 1, 0,123,__LINE__, 0x3fd3f7ec, 0x00000000, 0xbfe51eb8, 0x51eb851a}, /* 0.31200=f(-0.66000)*/
+{ 1, 0,123,__LINE__, 0x3fd4d5d9, 0x00000000, 0xbfe4cccc, 0xccccccc8}, /* 0.32555=f(-0.65000)*/
+{ 1, 0,123,__LINE__, 0x3fd5b900, 0x80000000, 0xbfe47ae1, 0x47ae1476}, /* 0.33941=f(-0.64000)*/
+{ 1, 0,123,__LINE__, 0x3fd6a184, 0xc0000000, 0xbfe428f5, 0xc28f5c24}, /* 0.35360=f(-0.63000)*/
+{ 1, 0,123,__LINE__, 0x3fd78f89, 0x40000000, 0xbfe3d70a, 0x3d70a3d2}, /* 0.36813=f(-0.62000)*/
+{ 1, 0,123,__LINE__, 0x3fd88333, 0x40000000, 0xbfe3851e, 0xb851eb80}, /* 0.38300=f(-0.61000)*/
+{ 1, 0,123,__LINE__, 0x3fd97ca9, 0xa0000000, 0xbfe33333, 0x3333332e}, /* 0.39823=f(-0.60000)*/
+{ 1, 0,123,__LINE__, 0x3fda7c15, 0xe0000000, 0xbfe2e147, 0xae147adc}, /* 0.41382=f(-0.59000)*/
+{ 1, 0,123,__LINE__, 0x3fdb81a1, 0xe0000000, 0xbfe28f5c, 0x28f5c28a}, /* 0.42978=f(-0.58000)*/
+{ 1, 0,123,__LINE__, 0x3fdc8d7a, 0xa0000000, 0xbfe23d70, 0xa3d70a38}, /* 0.44613=f(-0.57000)*/
+{ 1, 0,123,__LINE__, 0x3fdd9fd0, 0x20000000, 0xbfe1eb85, 0x1eb851e6}, /* 0.46287=f(-0.56000)*/
+{ 1, 0,123,__LINE__, 0x3fdeb8d3, 0x40000000, 0xbfe19999, 0x99999994}, /* 0.48003=f(-0.55000)*/
+{ 1, 0,123,__LINE__, 0x3fdfd8b8, 0xa0000000, 0xbfe147ae, 0x147ae142}, /* 0.49760=f(-0.54000)*/
+{ 1, 0,123,__LINE__, 0x3fe07fdb, 0xe0000000, 0xbfe0f5c2, 0x8f5c28f0}, /* 0.51560=f(-0.53000)*/
+{ 1, 0,123,__LINE__, 0x3fe11704, 0xe0000000, 0xbfe0a3d7, 0x0a3d709e}, /* 0.53405=f(-0.52000)*/
+{ 1, 0,123,__LINE__, 0x3fe1b1f6, 0x20000000, 0xbfe051eb, 0x851eb84c}, /* 0.55297=f(-0.51000)*/
+{ 1, 0,123,__LINE__, 0x3fe250d0, 0x40000000, 0xbfdfffff, 0xfffffff4}, /* 0.57236=f(-0.50000)*/
+{ 1, 0,123,__LINE__, 0x3fe2f3b5, 0x80000000, 0xbfdf5c28, 0xf5c28f50}, /* 0.59224=f(-0.49000)*/
+{ 1, 0,123,__LINE__, 0x3fe39aca, 0x40000000, 0xbfdeb851, 0xeb851eac}, /* 0.61264=f(-0.48000)*/
+{ 1, 0,123,__LINE__, 0x3fe44634, 0xc0000000, 0xbfde147a, 0xe147ae08}, /* 0.63357=f(-0.47000)*/
+{ 1, 0,123,__LINE__, 0x3fe4f61e, 0x60000000, 0xbfdd70a3, 0xd70a3d64}, /* 0.65504=f(-0.46000)*/
+{ 1, 0,123,__LINE__, 0x3fe5aab2, 0x80000000, 0xbfdccccc, 0xccccccc0}, /* 0.67708=f(-0.45000)*/
+{ 1, 0,123,__LINE__, 0x3fe6641f, 0xc0000000, 0xbfdc28f5, 0xc28f5c1c}, /* 0.69972=f(-0.44000)*/
+{ 1, 0,123,__LINE__, 0x3fe72297, 0x80000000, 0xbfdb851e, 0xb851eb78}, /* 0.72297=f(-0.43000)*/
+{ 1, 0,123,__LINE__, 0x3fe7e64e, 0xe0000000, 0xbfdae147, 0xae147ad4}, /* 0.74686=f(-0.42000)*/
+{ 1, 0,123,__LINE__, 0x3fe8af7e, 0x20000000, 0xbfda3d70, 0xa3d70a30}, /* 0.77142=f(-0.41000)*/
+{ 1, 0,123,__LINE__, 0x3fe97e62, 0x60000000, 0xbfd99999, 0x9999998c}, /* 0.79667=f(-0.40000)*/
+{ 1, 0,123,__LINE__, 0x3fea533d, 0x00000000, 0xbfd8f5c2, 0x8f5c28e8}, /* 0.82266=f(-0.39000)*/
+{ 1, 0,123,__LINE__, 0x3feb2e53, 0xc0000000, 0xbfd851eb, 0x851eb844}, /* 0.84940=f(-0.38000)*/
+{ 1, 0,123,__LINE__, 0x3fec0ff2, 0xc0000000, 0xbfd7ae14, 0x7ae147a0}, /* 0.87694=f(-0.37000)*/
+{ 1, 0,123,__LINE__, 0x3fecf86b, 0x60000000, 0xbfd70a3d, 0x70a3d6fc}, /* 0.90532=f(-0.36000)*/
+{ 1, 0,123,__LINE__, 0x3fede816, 0xc0000000, 0xbfd66666, 0x66666658}, /* 0.93458=f(-0.35000)*/
+{ 1, 0,123,__LINE__, 0x3feedf54, 0xa0000000, 0xbfd5c28f, 0x5c28f5b4}, /* 0.96476=f(-0.34000)*/
+{ 1, 0,123,__LINE__, 0x3fefde8d, 0xa0000000, 0xbfd51eb8, 0x51eb8510}, /* 0.99591=f(-0.33000)*/
+{ 1, 0,123,__LINE__, 0x3ff0731a, 0x00000000, 0xbfd47ae1, 0x47ae146c}, /* 1.02810=f(-0.32000)*/
+{ 1, 0,123,__LINE__, 0x3ff0fb62, 0x00000000, 0xbfd3d70a, 0x3d70a3c8}, /* 1.06137=f(-0.31000)*/
+{ 1, 0,123,__LINE__, 0x3ff18863, 0x80000000, 0xbfd33333, 0x33333324}, /* 1.09579=f(-0.30000)*/
+{ 1, 0,123,__LINE__, 0x3ff21a69, 0xa0000000, 0xbfd28f5c, 0x28f5c280}, /* 1.13144=f(-0.29000)*/
+{ 1, 0,123,__LINE__, 0x3ff2b1c7, 0x80000000, 0xbfd1eb85, 0x1eb851dc}, /* 1.16840=f(-0.28000)*/
+{ 1, 0,123,__LINE__, 0x3ff34ed9, 0x40000000, 0xbfd147ae, 0x147ae138}, /* 1.20675=f(-0.27000)*/
+{ 1, 0,123,__LINE__, 0x3ff3f205, 0x20000000, 0xbfd0a3d7, 0x0a3d7094}, /* 1.24658=f(-0.26000)*/
+{ 1, 0,123,__LINE__, 0x3ff49bbd, 0x80000000, 0xbfcfffff, 0xffffffe0}, /* 1.28802=f(-0.25000)*/
+{ 1, 0,123,__LINE__, 0x3ff54c82, 0x80000000, 0xbfceb851, 0xeb851e98}, /* 1.33117=f(-0.24000)*/
+{ 1, 0,123,__LINE__, 0x3ff604e4, 0x60000000, 0xbfcd70a3, 0xd70a3d50}, /* 1.37619=f(-0.23000)*/
+{ 1, 0,123,__LINE__, 0x3ff6c586, 0xe0000000, 0xbfcc28f5, 0xc28f5c08}, /* 1.42322=f(-0.22000)*/
+{ 1, 0,123,__LINE__, 0x3ff78f23, 0xe0000000, 0xbfcae147, 0xae147ac0}, /* 1.47244=f(-0.21000)*/
+{ 1, 0,123,__LINE__, 0x3ff86290, 0xc0000000, 0xbfc99999, 0x99999978}, /* 1.52406=f(-0.20000)*/
+{ 1, 0,123,__LINE__, 0x3ff940c3, 0x20000000, 0xbfc851eb, 0x851eb830}, /* 1.57831=f(-0.19000)*/
+{ 1, 0,123,__LINE__, 0x3ffa2ad8, 0xa0000000, 0xbfc70a3d, 0x70a3d6e8}, /* 1.63546=f(-0.18000)*/
+{ 1, 0,123,__LINE__, 0x3ffb221f, 0xa0000000, 0xbfc5c28f, 0x5c28f5a0}, /* 1.69583=f(-0.17000)*/
+{ 1, 0,123,__LINE__, 0x3ffc2823, 0x00000000, 0xbfc47ae1, 0x47ae1458}, /* 1.75979=f(-0.16000)*/
+{ 1, 0,123,__LINE__, 0x3ffd3eb9, 0xa0000000, 0xbfc33333, 0x33333310}, /* 1.82781=f(-0.15000)*/
+{ 1, 0,123,__LINE__, 0x3ffe681c, 0x20000000, 0xbfc1eb85, 0x1eb851c8}, /* 1.90041=f(-0.14000)*/
+{ 1, 0,123,__LINE__, 0x3fffa701, 0x40000000, 0xbfc0a3d7, 0x0a3d7080}, /* 1.97827=f(-0.13000)*/
+{13, 0,123,__LINE__, 0x40007f62, 0xe0000000, 0xbfbeb851, 0xeb851e71}, /* 2.06220=f(-0.12000)*/
+{13, 0,123,__LINE__, 0x400139d4, 0x00000000, 0xbfbc28f5, 0xc28f5be2}, /* 2.15323=f(-0.11000)*/
+{13, 0,123,__LINE__, 0x4002058e, 0x40000000, 0xbfb99999, 0x99999953}, /* 2.25271=f(-0.00100)*/
+{13, 0,123,__LINE__, 0x4002e628, 0xe0000000, 0xbfb70a3d, 0x70a3d6c4}, /* 2.36238=f(-0.09000)*/
+{13, 0,123,__LINE__, 0x4003e080, 0xc0000000, 0xbfb47ae1, 0x47ae1435}, /* 2.48462=f(-0.08000)*/
+{14, 0,123,__LINE__, 0x4004fb66, 0x60000000, 0xbfb1eb85, 0x1eb851a6}, /* 2.62275=f(-0.07000)*/
+{15, 0,123,__LINE__, 0x400640d4, 0xa0000000, 0xbfaeb851, 0xeb851e2d}, /* 2.78165=f(-0.06000)*/
+{17, 0,123,__LINE__, 0x4007c043, 0xc0000000, 0xbfa99999, 0x9999990e}, /* 2.96887=f(-0.05000)*/
+{12, 0,123,__LINE__, 0x4009939d, 0xc0000000, 0xbfa47ae1, 0x47ae13ef}, /* 3.19707=f(-0.04000)*/
+{14, 0,123,__LINE__, 0x400beb76, 0x00000000, 0xbf9eb851, 0xeb851da0}, /* 3.48997=f(-0.03000)*/
+{13, 0,123,__LINE__, 0x400f34d9, 0x00000000, 0xbf947ae1, 0x47ae1362}, /* 3.90080=f(-0.02000)*/
+{11, 0,123,__LINE__, 0x401265de, 0x20000000, 0xbf847ae1, 0x47ae1249}, /* 4.59948=f(-0.00010)*/
+{ 0, 0,123,__LINE__, 0x40414837, 0x20000000, 0x3cd19000, 0x00000000}, /* 34.5641=f(9.74915e-16)*/
+{11, 0,123,__LINE__, 0x401265de, 0x20000000, 0x3f847ae1, 0x47ae16ad}, /* 4.59948=f(0.01000)*/
+{13, 0,123,__LINE__, 0x400f34d9, 0x00000000, 0x3f947ae1, 0x47ae1594}, /* 3.90080=f(0.02000)*/
+{14, 0,123,__LINE__, 0x400beb76, 0x00000000, 0x3f9eb851, 0xeb851fd2}, /* 3.48997=f(0.03000)*/
+{12, 0,123,__LINE__, 0x4009939d, 0xc0000000, 0x3fa47ae1, 0x47ae1508}, /* 3.19707=f(0.04000)*/
+{17, 0,123,__LINE__, 0x4007c043, 0xc0000000, 0x3fa99999, 0x99999a27}, /* 2.96887=f(0.05000)*/
+{15, 0,123,__LINE__, 0x400640d4, 0xa0000000, 0x3faeb851, 0xeb851f46}, /* 2.78165=f(0.06000)*/
+{14, 0,123,__LINE__, 0x4004fb66, 0x60000000, 0x3fb1eb85, 0x1eb85232}, /* 2.62275=f(0.07000)*/
+{13, 0,123,__LINE__, 0x4003e080, 0xc0000000, 0x3fb47ae1, 0x47ae14c1}, /* 2.48462=f(0.08000)*/
+{13, 0,123,__LINE__, 0x4002e628, 0xe0000000, 0x3fb70a3d, 0x70a3d750}, /* 2.36238=f(0.09000)*/
+{13, 0,123,__LINE__, 0x4002058e, 0x40000000, 0x3fb99999, 0x999999df}, /* 2.25271=f(0.10000)*/
+{13, 0,123,__LINE__, 0x400139d4, 0x00000000, 0x3fbc28f5, 0xc28f5c6e}, /* 2.15323=f(0.11000)*/
+{13, 0,123,__LINE__, 0x40007f62, 0xe0000000, 0x3fbeb851, 0xeb851efd}, /* 2.06220=f(0.12000)*/
+{ 1, 0,123,__LINE__, 0x3fffa701, 0x40000000, 0x3fc0a3d7, 0x0a3d70c6}, /* 1.97827=f(0.13000)*/
+{ 1, 0,123,__LINE__, 0x3ffe681c, 0x20000000, 0x3fc1eb85, 0x1eb8520e}, /* 1.90041=f(0.14000)*/
+{ 1, 0,123,__LINE__, 0x3ffd3eb9, 0xa0000000, 0x3fc33333, 0x33333356}, /* 1.82781=f(0.15000)*/
+{ 1, 0,123,__LINE__, 0x3ffc2823, 0x00000000, 0x3fc47ae1, 0x47ae149e}, /* 1.75979=f(0.16000)*/
+{ 1, 0,123,__LINE__, 0x3ffb221f, 0xa0000000, 0x3fc5c28f, 0x5c28f5e6}, /* 1.69583=f(0.17000)*/
+{ 1, 0,123,__LINE__, 0x3ffa2ad8, 0xa0000000, 0x3fc70a3d, 0x70a3d72e}, /* 1.63546=f(0.18000)*/
+{ 1, 0,123,__LINE__, 0x3ff940c3, 0x20000000, 0x3fc851eb, 0x851eb876}, /* 1.57831=f(0.19000)*/
+{ 1, 0,123,__LINE__, 0x3ff86290, 0xc0000000, 0x3fc99999, 0x999999be}, /* 1.52406=f(0.20000)*/
+{ 1, 0,123,__LINE__, 0x3ff78f23, 0xe0000000, 0x3fcae147, 0xae147b06}, /* 1.47244=f(0.21000)*/
+{ 1, 0,123,__LINE__, 0x3ff6c586, 0xe0000000, 0x3fcc28f5, 0xc28f5c4e}, /* 1.42322=f(0.22000)*/
+{ 1, 0,123,__LINE__, 0x3ff604e4, 0x60000000, 0x3fcd70a3, 0xd70a3d96}, /* 1.37619=f(0.23000)*/
+{ 1, 0,123,__LINE__, 0x3ff54c82, 0x80000000, 0x3fceb851, 0xeb851ede}, /* 1.33117=f(0.24000)*/
+{ 1, 0,123,__LINE__, 0x3ff49bbd, 0x80000000, 0x3fd00000, 0x00000013}, /* 1.28802=f(0.25000)*/
+{ 1, 0,123,__LINE__, 0x3ff3f205, 0x20000000, 0x3fd0a3d7, 0x0a3d70b7}, /* 1.24658=f(0.26000)*/
+{ 1, 0,123,__LINE__, 0x3ff34ed9, 0x40000000, 0x3fd147ae, 0x147ae15b}, /* 1.20675=f(0.27000)*/
+{ 1, 0,123,__LINE__, 0x3ff2b1c7, 0x80000000, 0x3fd1eb85, 0x1eb851ff}, /* 1.16840=f(0.28000)*/
+{ 1, 0,123,__LINE__, 0x3ff21a69, 0xa0000000, 0x3fd28f5c, 0x28f5c2a3}, /* 1.13144=f(0.29000)*/
+{ 1, 0,123,__LINE__, 0x3ff18863, 0x80000000, 0x3fd33333, 0x33333347}, /* 1.09579=f(0.30000)*/
+{ 1, 0,123,__LINE__, 0x3ff0fb62, 0x00000000, 0x3fd3d70a, 0x3d70a3eb}, /* 1.06137=f(0.31000)*/
+{ 1, 0,123,__LINE__, 0x3ff0731a, 0x00000000, 0x3fd47ae1, 0x47ae148f}, /* 1.02810=f(0.32000)*/
+{ 1, 0,123,__LINE__, 0x3fefde8d, 0xa0000000, 0x3fd51eb8, 0x51eb8533}, /* 0.99591=f(0.33000)*/
+{ 1, 0,123,__LINE__, 0x3feedf54, 0xa0000000, 0x3fd5c28f, 0x5c28f5d7}, /* 0.96476=f(0.34000)*/
+{ 1, 0,123,__LINE__, 0x3fede816, 0xc0000000, 0x3fd66666, 0x6666667b}, /* 0.93458=f(0.35000)*/
+{ 1, 0,123,__LINE__, 0x3fecf86b, 0x60000000, 0x3fd70a3d, 0x70a3d71f}, /* 0.90532=f(0.36000)*/
+{ 1, 0,123,__LINE__, 0x3fec0ff2, 0xc0000000, 0x3fd7ae14, 0x7ae147c3}, /* 0.87694=f(0.37000)*/
+{ 1, 0,123,__LINE__, 0x3feb2e53, 0xc0000000, 0x3fd851eb, 0x851eb867}, /* 0.84940=f(0.38000)*/
+{ 1, 0,123,__LINE__, 0x3fea533d, 0x00000000, 0x3fd8f5c2, 0x8f5c290b}, /* 0.82266=f(0.39000)*/
+{ 1, 0,123,__LINE__, 0x3fe97e62, 0x60000000, 0x3fd99999, 0x999999af}, /* 0.79667=f(0.40000)*/
+{ 1, 0,123,__LINE__, 0x3fe8af7e, 0x20000000, 0x3fda3d70, 0xa3d70a53}, /* 0.77142=f(0.41000)*/
+{ 1, 0,123,__LINE__, 0x3fe7e64e, 0xe0000000, 0x3fdae147, 0xae147af7}, /* 0.74686=f(0.42000)*/
+{ 1, 0,123,__LINE__, 0x3fe72297, 0x80000000, 0x3fdb851e, 0xb851eb9b}, /* 0.72297=f(0.43000)*/
+{ 1, 0,123,__LINE__, 0x3fe6641f, 0xc0000000, 0x3fdc28f5, 0xc28f5c3f}, /* 0.69972=f(0.44000)*/
+{ 1, 0,123,__LINE__, 0x3fe5aab2, 0x80000000, 0x3fdccccc, 0xcccccce3}, /* 0.67708=f(0.45000)*/
+{ 1, 0,123,__LINE__, 0x3fe4f61e, 0x60000000, 0x3fdd70a3, 0xd70a3d87}, /* 0.65504=f(0.46000)*/
+{ 1, 0,123,__LINE__, 0x3fe44634, 0xc0000000, 0x3fde147a, 0xe147ae2b}, /* 0.63357=f(0.47000)*/
+{ 1, 0,123,__LINE__, 0x3fe39aca, 0x40000000, 0x3fdeb851, 0xeb851ecf}, /* 0.61264=f(0.48000)*/
+{ 1, 0,123,__LINE__, 0x3fe2f3b5, 0x80000000, 0x3fdf5c28, 0xf5c28f73}, /* 0.59224=f(0.49000)*/
+{ 1, 0,123,__LINE__, 0x3fe250d0, 0x40000000, 0x3fe00000, 0x0000000b}, /* 0.57236=f(0.50000)*/
+{ 1, 0,123,__LINE__, 0x3fe1b1f6, 0x20000000, 0x3fe051eb, 0x851eb85d}, /* 0.55297=f(0.51000)*/
+{ 1, 0,123,__LINE__, 0x3fe11704, 0xe0000000, 0x3fe0a3d7, 0x0a3d70af}, /* 0.53405=f(0.52000)*/
+{ 1, 0,123,__LINE__, 0x3fe07fdb, 0xe0000000, 0x3fe0f5c2, 0x8f5c2901}, /* 0.51560=f(0.53000)*/
+{ 1, 0,123,__LINE__, 0x3fdfd8b8, 0xa0000000, 0x3fe147ae, 0x147ae153}, /* 0.49760=f(0.54000)*/
+{ 1, 0,123,__LINE__, 0x3fdeb8d3, 0x40000000, 0x3fe19999, 0x999999a5}, /* 0.48003=f(0.55000)*/
+{ 1, 0,123,__LINE__, 0x3fdd9fd0, 0x20000000, 0x3fe1eb85, 0x1eb851f7}, /* 0.46287=f(0.56000)*/
+{ 1, 0,123,__LINE__, 0x3fdc8d7a, 0xa0000000, 0x3fe23d70, 0xa3d70a49}, /* 0.44613=f(0.57000)*/
+{ 1, 0,123,__LINE__, 0x3fdb81a1, 0xe0000000, 0x3fe28f5c, 0x28f5c29b}, /* 0.42978=f(0.58000)*/
+{ 1, 0,123,__LINE__, 0x3fda7c15, 0xe0000000, 0x3fe2e147, 0xae147aed}, /* 0.41382=f(0.59000)*/
+{ 1, 0,123,__LINE__, 0x3fd97ca9, 0xa0000000, 0x3fe33333, 0x3333333f}, /* 0.39823=f(0.60000)*/
+{ 1, 0,123,__LINE__, 0x3fd88333, 0x40000000, 0x3fe3851e, 0xb851eb91}, /* 0.38300=f(0.61000)*/
+{ 1, 0,123,__LINE__, 0x3fd78f89, 0x40000000, 0x3fe3d70a, 0x3d70a3e3}, /* 0.36813=f(0.62000)*/
+{ 1, 0,123,__LINE__, 0x3fd6a184, 0xc0000000, 0x3fe428f5, 0xc28f5c35}, /* 0.35360=f(0.63000)*/
+{ 1, 0,123,__LINE__, 0x3fd5b900, 0x80000000, 0x3fe47ae1, 0x47ae1487}, /* 0.33941=f(0.64000)*/
+{ 1, 0,123,__LINE__, 0x3fd4d5d9, 0x00000000, 0x3fe4cccc, 0xccccccd9}, /* 0.32555=f(0.65000)*/
+{ 1, 0,123,__LINE__, 0x3fd3f7ec, 0x00000000, 0x3fe51eb8, 0x51eb852b}, /* 0.31200=f(0.66000)*/
+{ 1, 0,123,__LINE__, 0x3fd31f19, 0x60000000, 0x3fe570a3, 0xd70a3d7d}, /* 0.29877=f(0.67000)*/
+{ 1, 0,123,__LINE__, 0x3fd24b41, 0xc0000000, 0x3fe5c28f, 0x5c28f5cf}, /* 0.28584=f(0.68000)*/
+{ 1, 0,123,__LINE__, 0x3fd17c47, 0x00000000, 0x3fe6147a, 0xe147ae21}, /* 0.27321=f(0.69000)*/
+{ 1, 0,123,__LINE__, 0x3fd0b20c, 0xa0000000, 0x3fe66666, 0x66666673}, /* 0.26086=f(0.70000)*/
+{ 1, 0,123,__LINE__, 0x3fcfd8ee, 0x40000000, 0x3fe6b851, 0xeb851ec5}, /* 0.24880=f(0.71000)*/
+{ 1, 0,123,__LINE__, 0x3fce56d7, 0x00000000, 0x3fe70a3d, 0x70a3d717}, /* 0.23702=f(0.72000)*/
+{ 1, 0,123,__LINE__, 0x3fccdda2, 0x60000000, 0x3fe75c28, 0xf5c28f69}, /* 0.22551=f(0.73000)*/
+{ 1, 0,123,__LINE__, 0x3fcb6d1e, 0x60000000, 0x3fe7ae14, 0x7ae147bb}, /* 0.21426=f(0.74000)*/
+{ 1, 0,123,__LINE__, 0x3fca051c, 0x40000000, 0x3fe80000, 0x0000000d}, /* 0.20328=f(0.75000)*/
+{ 1, 0,123,__LINE__, 0x3fc8a56e, 0x80000000, 0x3fe851eb, 0x851eb85f}, /* 0.19254=f(0.76000)*/
+{ 1, 0,123,__LINE__, 0x3fc74de9, 0xa0000000, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.18206=f(0.77000)*/
+{ 1, 0,123,__LINE__, 0x3fc5fe63, 0x40000000, 0x3fe8f5c2, 0x8f5c2903}, /* 0.17182=f(0.78000)*/
+{ 1, 0,123,__LINE__, 0x3fc4b6b2, 0x60000000, 0x3fe947ae, 0x147ae155}, /* 0.16182=f(0.79000)*/
+{ 1, 0,123,__LINE__, 0x3fc376b1, 0x00000000, 0x3fe99999, 0x999999a7}, /* 0.15205=f(0.80000)*/
+{ 1, 0,123,__LINE__, 0x3fc23e38, 0xa0000000, 0x3fe9eb85, 0x1eb851f9}, /* 0.14252=f(0.81000)*/
+{ 1, 0,123,__LINE__, 0x3fc10d24, 0xc0000000, 0x3fea3d70, 0xa3d70a4b}, /* 0.13321=f(0.82000)*/
+{ 1, 0,123,__LINE__, 0x3fbfc6a4, 0x20000000, 0x3fea8f5c, 0x28f5c29d}, /* 0.12412=f(0.83000)*/
+{ 1, 0,123,__LINE__, 0x3fbd813c, 0xe0000000, 0x3feae147, 0xae147aef}, /* 0.11525=f(0.84000)*/
+{ 1, 0,123,__LINE__, 0x3fbb49d1, 0x00000000, 0x3feb3333, 0x33333341}, /* 0.10659=f(0.85000)*/
+{ 1, 0,123,__LINE__, 0x3fb92022, 0x20000000, 0x3feb851e, 0xb851eb93}, /* 0.09814=f(0.86000)*/
+{ 1, 0,123,__LINE__, 0x3fb703f1, 0xc0000000, 0x3febd70a, 0x3d70a3e5}, /* 0.08990=f(0.87000)*/
+{ 1, 0,123,__LINE__, 0x3fb4f503, 0xc0000000, 0x3fec28f5, 0xc28f5c37}, /* 0.08186=f(0.88000)*/
+{ 1, 0,123,__LINE__, 0x3fb2f31e, 0x40000000, 0x3fec7ae1, 0x47ae1489}, /* 0.07402=f(0.89000)*/
+{ 1, 0,123,__LINE__, 0x3fb0fe08, 0xe0000000, 0x3feccccc, 0xccccccdb}, /* 0.06637=f(0.90000)*/
+{ 1, 0,123,__LINE__, 0x3fae2b18, 0xa0000000, 0x3fed1eb8, 0x51eb852d}, /* 0.05892=f(0.91000)*/
+{ 1, 0,123,__LINE__, 0x3faa72ea, 0xa0000000, 0x3fed70a3, 0xd70a3d7f}, /* 0.05165=f(0.92000)*/
+{ 1, 0,123,__LINE__, 0x3fa6d31f, 0x40000000, 0x3fedc28f, 0x5c28f5d1}, /* 0.04457=f(0.93000)*/
+{ 1, 0,123,__LINE__, 0x3fa34b52, 0xe0000000, 0x3fee147a, 0xe147ae23}, /* 0.03768=f(0.94000)*/
+{ 1, 0,123,__LINE__, 0x3f9fb649, 0x40000000, 0x3fee6666, 0x66666675}, /* 0.03096=f(0.95000)*/
+{ 1, 0,123,__LINE__, 0x3f99046d, 0x20000000, 0x3feeb851, 0xeb851ec7}, /* 0.02443=f(0.96000)*/
+{ 1, 0,123,__LINE__, 0x3f928057, 0xe0000000, 0x3fef0a3d, 0x70a3d719}, /* 0.01806=f(0.97000)*/
+{ 1, 0,123,__LINE__, 0x3f8852ba, 0x00000000, 0x3fef5c28, 0xf5c28f6b}, /* 0.01187=f(0.98000)*/
+{ 1, 0,123,__LINE__, 0x3f77fb34, 0x40000000, 0x3fefae14, 0x7ae147bd}, /* 0.00585=f(0.99000)*/
+{ 1, 0,123,__LINE__, 0x00000000, 0x00000000, 0x3ff00000, 0x00000007}, /* 0.00000=f(1.00000)*/
+{ 0, 0,123,__LINE__, 0xbf774eb7, 0x00000000, 0x3ff028f5, 0xc28f5c30}, /* -0.00569=f(1.01000)*/
+{ 0, 0,123,__LINE__, 0xbf86f9b6, 0xc0000000, 0x3ff051eb, 0x851eb859}, /* -0.01121=f(1.02000)*/
+{ 0, 0,123,__LINE__, 0xbf90fc23, 0xe0000000, 0x3ff07ae1, 0x47ae1482}, /* -0.01658=f(1.03000)*/
+{ 0, 0,123,__LINE__, 0xbf96521e, 0x40000000, 0x3ff0a3d7, 0x0a3d70ab}, /* -0.02179=f(1.04000)*/
+{ 0, 0,123,__LINE__, 0xbf9b7f5d, 0xa0000000, 0x3ff0cccc, 0xccccccd4}, /* -0.02685=f(1.05000)*/
+{ 0, 0,123,__LINE__, 0xbfa04238, 0xa0000000, 0x3ff0f5c2, 0x8f5c28fd}, /* -0.03175=f(1.06000)*/
+{ 0, 0,123,__LINE__, 0xbfa2b0f4, 0x40000000, 0x3ff11eb8, 0x51eb8526}, /* -0.03650=f(1.07000)*/
+{ 0, 0,123,__LINE__, 0xbfa50c22, 0x00000000, 0x3ff147ae, 0x147ae14f}, /* -0.04110=f(1.08000)*/
+{ 0, 0,123,__LINE__, 0xbfa75406, 0x40000000, 0x3ff170a3, 0xd70a3d78}, /* -0.04556=f(1.09000)*/
+{ 0, 0,123,__LINE__, 0xbfa988e1, 0xc0000000, 0x3ff19999, 0x999999a1}, /* -0.04987=f(1.10000)*/
+{ 0, 0,123,__LINE__, 0xbfabaaf3, 0xe0000000, 0x3ff1c28f, 0x5c28f5ca}, /* -0.05403=f(1.11000)*/
+{ 0, 0,123,__LINE__, 0xbfadba7a, 0x40000000, 0x3ff1eb85, 0x1eb851f3}, /* -0.05806=f(1.12000)*/
+{ 0, 0,123,__LINE__, 0xbfafb7b1, 0x00000000, 0x3ff2147a, 0xe147ae1c}, /* -0.06194=f(1.13000)*/
+{ 0, 0,123,__LINE__, 0xbfb0d169, 0xa0000000, 0x3ff23d70, 0xa3d70a45}, /* -0.06569=f(1.14000)*/
+{ 0, 0,123,__LINE__, 0xbfb1be0d, 0x20000000, 0x3ff26666, 0x6666666e}, /* -0.06930=f(1.15000)*/
+{ 0, 0,123,__LINE__, 0xbfb2a1df, 0x00000000, 0x3ff28f5c, 0x28f5c297}, /* -0.07278=f(1.16000)*/
+{ 0, 0,123,__LINE__, 0xbfb37cfb, 0x00000000, 0x3ff2b851, 0xeb851ec0}, /* -0.07612=f(1.17000)*/
+{ 0, 0,123,__LINE__, 0xbfb44f7b, 0x80000000, 0x3ff2e147, 0xae147ae9}, /* -0.07933=f(1.18000)*/
+{ 0, 0,123,__LINE__, 0xbfb5197b, 0xc0000000, 0x3ff30a3d, 0x70a3d712}, /* -0.08242=f(1.19000)*/
+{12, 0,123,__LINE__, 0x40151c74, 0xc0000000, 0xc01921fb, 0x54442d18}, /* 5.27778=f(-6.28318)*/
+{11, 0,123,__LINE__, 0x400608aa, 0x80000000, 0xc012d97c, 0x7f3321d2}, /* 2.75423=f(-4.71238)*/
+{ 1, 0,123,__LINE__, 0x3fea7c79, 0x80000000, 0xc00921fb, 0x54442d18}, /* 0.82769=f(-3.14159)*/
+{ 0, 0,123,__LINE__, 0xbfbdabdf, 0x00000000, 0xbff921fb, 0x54442d18}, /* -0.11590=f(-1.57079)*/
+{ 0,15, 39,__LINE__, 0x40500000, 0x00000000, 0x00000000, 0x00000000}, /* 64.0000=f(0.00000)*/
+{ 0, 0,123,__LINE__, 0xbfbdabdf, 0x00000000, 0x3ff921fb, 0x54442d18}, /* -0.11590=f(1.57079)*/
+{ 1, 0,123,__LINE__, 0x3fea7c79, 0x80000000, 0x400921fb, 0x54442d18}, /* 0.82769=f(3.14159)*/
+{11, 0,123,__LINE__, 0x400608aa, 0x80000000, 0x4012d97c, 0x7f3321d2}, /* 2.75423=f(4.71238)*/
+{11, 0,123,__LINE__, 0x4051d073, 0x60000000, 0xc03e0000, 0x00000000}, /* 71.2570=f(-30.0000)*/
+{11, 0,123,__LINE__, 0x4050636b, 0xa0000000, 0xc03c4ccc, 0xcccccccd}, /* 65.5534=f(-28.3000)*/
+{12, 0,123,__LINE__, 0x404dfa17, 0xe0000000, 0xc03a9999, 0x9999999a}, /* 59.9538=f(-26.6000)*/
+{12, 0,123,__LINE__, 0x404b3b87, 0x20000000, 0xc038e666, 0x66666667}, /* 54.4650=f(-24.9000)*/
+{ 9, 0,123,__LINE__, 0x40488c22, 0x20000000, 0xc0373333, 0x33333334}, /* 49.0947=f(-23.2000)*/
+{ 9, 0,123,__LINE__, 0x4045ed0c, 0x00000000, 0xc0358000, 0x00000001}, /* 43.8519=f(-21.5000)*/
+{ 9, 0,123,__LINE__, 0x40435f97, 0x60000000, 0xc033cccc, 0xccccccce}, /* 38.7468=f(-19.8000)*/
+{ 9, 0,123,__LINE__, 0x4040e552, 0xe0000000, 0xc0321999, 0x9999999b}, /* 33.7915=f(-18.1000)*/
+{13, 0,123,__LINE__, 0x403d0033, 0xe0000000, 0xc0306666, 0x66666668}, /* 29.0007=f(-16.4000)*/
+{12, 0,123,__LINE__, 0x4038645c, 0xa0000000, 0xc02d6666, 0x6666666a}, /* 24.3920=f(-14.7000)*/
+{14, 0,123,__LINE__, 0x4033fcba, 0x00000000, 0xc02a0000, 0x00000004}, /* 19.9872=f(-13.0000)*/
+{15, 0,123,__LINE__, 0x402fa0dc, 0x80000000, 0xc0269999, 0x9999999e}, /* 15.8141=f(-11.3000)*/
+{12, 0,123,__LINE__, 0x4027d1bf, 0x20000000, 0xc0233333, 0x33333338}, /* 11.9096=f(-9.60000)*/
+{13, 0,123,__LINE__, 0x4020a606, 0x20000000, 0xc01f9999, 0x999999a3}, /* 8.32426=f(-7.90000)*/
+{12, 0,123,__LINE__, 0x40148779, 0x40000000, 0xc018cccc, 0xccccccd6}, /* 5.13229=f(-6.20000)*/
+{11, 0,123,__LINE__, 0x4003a140, 0xa0000000, 0xc0120000, 0x00000009}, /* 2.45373=f(-4.50000)*/
+{ 1, 0,123,__LINE__, 0x3fe088d4, 0x40000000, 0xc0066666, 0x66666678}, /* 0.51670=f(-2.80000)*/
+{ 0, 0,123,__LINE__, 0xbfa988e1, 0xc0000000, 0xbff19999, 0x999999bd}, /* -0.04987=f(-1.10000)*/
+{ 1, 0,123,__LINE__, 0x3fd97ca9, 0xa0000000, 0x3fe33333, 0x333332ec}, /* 0.39823=f(0.60000)*/
+{ 1, 0,123,__LINE__, 0x3fc3bc7a, 0xa0000000, 0x40026666, 0x66666654}, /* 0.15418=f(2.30000)*/
+{ 1, 0,123,__LINE__, 0x3ffcab0c, 0x00000000, 0x400fffff, 0xffffffee}, /* 1.79175=f(4.00000)*/
+{12, 0,123,__LINE__, 0x401122c8, 0x60000000, 0x4016cccc, 0xccccccc4}, /* 4.28396=f(5.70000)*/
+{10, 0,123,__LINE__, 0x401d5c93, 0x20000000, 0x401d9999, 0x99999991}, /* 7.34040=f(7.40000)*/
+{12, 0,123,__LINE__, 0x4025a375, 0x20000000, 0x40223333, 0x3333332f}, /* 10.8192=f(9.10000)*/
+{15, 0,123,__LINE__, 0x402d459e, 0xe0000000, 0x40259999, 0x99999995}, /* 14.6359=f(10.8000)*/
+{14, 0,123,__LINE__, 0x4032bbfe, 0x40000000, 0x4028ffff, 0xfffffffb}, /* 18.7343=f(12.5000)*/
+{14, 0,123,__LINE__, 0x40371300, 0x00000000, 0x402c6666, 0x66666661}, /* 23.0742=f(14.2000)*/
+{12, 0,123,__LINE__, 0x403ba020, 0x40000000, 0x402fcccc, 0xccccccc7}, /* 27.6254=f(15.9000)*/
+{ 9, 0,123,__LINE__, 0x40402eb0, 0x00000000, 0x40319999, 0x99999997}, /* 32.3647=f(17.6000)*/
+{ 9, 0,123,__LINE__, 0x4042a2f9, 0x20000000, 0x40334ccc, 0xccccccca}, /* 37.2732=f(19.3000)*/
+{ 9, 0,123,__LINE__, 0x40452af5, 0x80000000, 0x4034ffff, 0xfffffffd}, /* 42.3356=f(21.0000)*/
+{ 9, 0,123,__LINE__, 0x4047c501, 0xa0000000, 0x4036b333, 0x33333330}, /* 47.5391=f(22.7000)*/
+{12, 0,123,__LINE__, 0x404a6fba, 0xe0000000, 0x40386666, 0x66666663}, /* 52.8728=f(24.4000)*/
+{12, 0,123,__LINE__, 0x404d29f1, 0x40000000, 0x403a1999, 0x99999996}, /* 58.3276=f(26.1000)*/
+{12, 0,123,__LINE__, 0x404ff29d, 0x20000000, 0x403bcccc, 0xccccccc9}, /* 63.8954=f(27.8000)*/
+{11, 0,123,__LINE__, 0x4051646b, 0xe0000000, 0x403d7fff, 0xfffffffc}, /* 69.5690=f(29.5000)*/
+0,};
+test_gammaf(m) {run_vector_1(m,gammaf_vec,(char *)(gammaf),"gammaf","ff"); }
diff --git a/newlib/libm/test/hypot_vec.c b/newlib/libm/test/hypot_vec.c
new file mode 100644
index 00000000000..ca8e7ff3f9b
--- /dev/null
+++ b/newlib/libm/test/hypot_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type hypot_vec[] = {
+{64, 0,123,__LINE__, 0x40085ed7, 0x614b038c, 0xbff33333, 0x33333333, 0x40066666, 0x66666666}, /* 3.04630=f(-1.20000, v2.80000)*/
+{64, 0,123,__LINE__, 0x400869a7, 0xe2fb7e53, 0xbff30a3d, 0x70a3d70a, 0x40067ae1, 0x47ae147b}, /* 3.05159=f(-1.19000, v2.81000)*/
+{64, 0,123,__LINE__, 0x40087495, 0xe9b1d178, 0xbff2e147, 0xae147ae1, 0x40068f5c, 0x28f5c290}, /* 3.05692=f(-1.18000, v2.82000)*/
+{64, 0,123,__LINE__, 0x40087fa1, 0x4deb838f, 0xbff2b851, 0xeb851eb8, 0x4006a3d7, 0x0a3d70a4}, /* 3.06231=f(-1.17000, v2.83000)*/
+{64, 0,123,__LINE__, 0x40088ac9, 0xe80372ac, 0xbff28f5c, 0x28f5c28f, 0x4006b851, 0xeb851eb8}, /* 3.06776=f(-1.16000, v2.84000)*/
+{64, 0,123,__LINE__, 0x4008960f, 0x9033fa69, 0xbff26666, 0x66666666, 0x4006cccc, 0xcccccccd}, /* 3.07327=f(-1.15000, v2.85000)*/
+{64, 0,123,__LINE__, 0x4008a172, 0x1e991408, 0xbff23d70, 0xa3d70a3d, 0x4006e147, 0xae147ae2}, /* 3.07883=f(-1.14000, v2.86000)*/
+{64, 0,123,__LINE__, 0x4008acf1, 0x6b32703b, 0xbff2147a, 0xe147ae14, 0x4006f5c2, 0x8f5c28f6}, /* 3.08444=f(-1.13000, v2.87000)*/
+{64, 0,123,__LINE__, 0x4008b88d, 0x4de58aaa, 0xbff1eb85, 0x1eb851eb, 0x40070a3d, 0x70a3d70a}, /* 3.09011=f(-1.12000, v2.88000)*/
+{64, 0,123,__LINE__, 0x4008c445, 0x9e7fb6ed, 0xbff1c28f, 0x5c28f5c2, 0x40071eb8, 0x51eb851f}, /* 3.09583=f(-1.11000, v2.89000)*/
+{64, 0,123,__LINE__, 0x4008d01a, 0x34b826d7, 0xbff19999, 0x99999999, 0x40073333, 0x33333334}, /* 3.10161=f(-1.10000, v2.90000)*/
+{64, 0,123,__LINE__, 0x4008dc0a, 0xe831ea21, 0xbff170a3, 0xd70a3d70, 0x400747ae, 0x147ae148}, /* 3.10744=f(-1.09000, v2.91000)*/
+{64, 0,123,__LINE__, 0x4008e817, 0x907de70e, 0xbff147ae, 0x147ae147, 0x40075c28, 0xf5c28f5c}, /* 3.11332=f(-1.08000, v2.92000)*/
+{64, 0,123,__LINE__, 0x4008f440, 0x051ccc28, 0xbff11eb8, 0x51eb851e, 0x400770a3, 0xd70a3d71}, /* 3.11926=f(-1.07000, v2.93000)*/
+{64, 0,123,__LINE__, 0x40090084, 0x1d80fadf, 0xbff0f5c2, 0x8f5c28f5, 0x4007851e, 0xb851eb86}, /* 3.12525=f(-1.06000, v2.94000)*/
+{64, 0,123,__LINE__, 0x40090ce3, 0xb1106af5, 0xbff0cccc, 0xcccccccc, 0x40079999, 0x9999999a}, /* 3.13129=f(-1.05000, v2.95000)*/
+{64, 0,123,__LINE__, 0x4009195e, 0x972686b0, 0xbff0a3d7, 0x0a3d70a3, 0x4007ae14, 0x7ae147ae}, /* 3.13738=f(-1.04000, v2.96000)*/
+{64, 0,123,__LINE__, 0x400925f4, 0xa715ffa1, 0xbff07ae1, 0x47ae147a, 0x4007c28f, 0x5c28f5c3}, /* 3.14353=f(-1.03000, v2.97000)*/
+{64, 0,123,__LINE__, 0x400932a5, 0xb82a9c04, 0xbff051eb, 0x851eb851, 0x4007d70a, 0x3d70a3d8}, /* 3.14973=f(-1.02000, v2.98000)*/
+{64, 0,123,__LINE__, 0x40093f71, 0xa1aafcad, 0xbff028f5, 0xc28f5c28, 0x4007eb85, 0x1eb851ec}, /* 3.15597=f(-1.01000, v2.99000)*/
+{64, 0,123,__LINE__, 0x40094c58, 0x3ada5b53, 0xbfefffff, 0xfffffffe, 0x40080000, 0x00000000}, /* 3.16227=f(-0.01000, v3.00000)*/
+{64, 0,123,__LINE__, 0x40095959, 0x5afa4154, 0xbfefae14, 0x7ae147ac, 0x4008147a, 0xe147ae15}, /* 3.16862=f(-0.99000, v3.01000)*/
+{64, 0,123,__LINE__, 0x40096674, 0xd94c36c4, 0xbfef5c28, 0xf5c28f5a, 0x400828f5, 0xc28f5c2a}, /* 3.17502=f(-0.98000, v3.02000)*/
+{64, 0,123,__LINE__, 0x400973aa, 0x8d1369d2, 0xbfef0a3d, 0x70a3d708, 0x40083d70, 0xa3d70a3e}, /* 3.18147=f(-0.97000, v3.03000)*/
+{64, 0,123,__LINE__, 0x400980fa, 0x4d964e77, 0xbfeeb851, 0xeb851eb6, 0x400851eb, 0x851eb852}, /* 3.18797=f(-0.96000, v3.04000)*/
+{64, 0,123,__LINE__, 0x40098e63, 0xf2203661, 0xbfee6666, 0x66666664, 0x40086666, 0x66666667}, /* 3.19452=f(-0.95000, v3.05000)*/
+{64, 0,123,__LINE__, 0x40099be7, 0x5202e117, 0xbfee147a, 0xe147ae12, 0x40087ae1, 0x47ae147c}, /* 3.20112=f(-0.94000, v3.06000)*/
+{64, 0,123,__LINE__, 0x4009a984, 0x4498045c, 0xbfedc28f, 0x5c28f5c0, 0x40088f5c, 0x28f5c290}, /* 3.20777=f(-0.93000, v3.07000)*/
+{64, 0,123,__LINE__, 0x4009b73a, 0xa142ccc2, 0xbfed70a3, 0xd70a3d6e, 0x4008a3d7, 0x0a3d70a4}, /* 3.21446=f(-0.92000, v3.08000)*/
+{64, 0,123,__LINE__, 0x4009c50a, 0x3f71566f, 0xbfed1eb8, 0x51eb851c, 0x4008b851, 0xeb851eb9}, /* 3.22121=f(-0.91000, v3.09000)*/
+{64, 0,123,__LINE__, 0x4009d2f2, 0xf69e1e1a, 0xbfeccccc, 0xccccccca, 0x4008cccc, 0xccccccce}, /* 3.22800=f(-0.90000, v3.10000)*/
+{64, 0,123,__LINE__, 0x4009e0f4, 0x9e516a41, 0xbfec7ae1, 0x47ae1478, 0x4008e147, 0xae147ae2}, /* 3.23484=f(-0.89000, v3.11000)*/
+{64, 0,123,__LINE__, 0x4009ef0f, 0x0e22ac91, 0xbfec28f5, 0xc28f5c26, 0x4008f5c2, 0x8f5c28f6}, /* 3.24172=f(-0.88000, v3.12000)*/
+{64, 0,123,__LINE__, 0x4009fd42, 0x1db9db95, 0xbfebd70a, 0x3d70a3d4, 0x40090a3d, 0x70a3d70b}, /* 3.24866=f(-0.87000, v3.13000)*/
+{64, 0,123,__LINE__, 0x400a0b8d, 0xa4d0c49b, 0xbfeb851e, 0xb851eb82, 0x40091eb8, 0x51eb8520}, /* 3.25564=f(-0.86000, v3.14000)*/
+{64, 0,123,__LINE__, 0x400a19f1, 0x7b3455ef, 0xbfeb3333, 0x33333330, 0x40093333, 0x33333334}, /* 3.26266=f(-0.85000, v3.15000)*/
+{64, 0,123,__LINE__, 0x400a286d, 0x78c5e169, 0xbfeae147, 0xae147ade, 0x400947ae, 0x147ae148}, /* 3.26974=f(-0.84000, v3.16000)*/
+{64, 0,123,__LINE__, 0x400a3701, 0x757c5746, 0xbfea8f5c, 0x28f5c28c, 0x40095c28, 0xf5c28f5d}, /* 3.27685=f(-0.83000, v3.17000)*/
+{64, 0,123,__LINE__, 0x400a45ad, 0x49657972, 0xbfea3d70, 0xa3d70a3a, 0x400970a3, 0xd70a3d72}, /* 3.28402=f(-0.82000, v3.18000)*/
+{64, 0,123,__LINE__, 0x400a5470, 0xcca70743, 0xbfe9eb85, 0x1eb851e8, 0x4009851e, 0xb851eb86}, /* 3.29123=f(-0.81000, v3.19000)*/
+{64, 0,123,__LINE__, 0x400a634b, 0xd77fe1a5, 0xbfe99999, 0x99999996, 0x40099999, 0x9999999a}, /* 3.29848=f(-0.80000, v3.20000)*/
+{64, 0,123,__LINE__, 0x400a723e, 0x424927d7, 0xbfe947ae, 0x147ae144, 0x4009ae14, 0x7ae147af}, /* 3.30578=f(-0.79000, v3.21000)*/
+{64, 0,123,__LINE__, 0x400a8147, 0xe5774cb7, 0xbfe8f5c2, 0x8f5c28f2, 0x4009c28f, 0x5c28f5c4}, /* 3.31312=f(-0.78000, v3.22000)*/
+{64, 0,123,__LINE__, 0x400a9068, 0x999b24b2, 0xbfe8a3d7, 0x0a3d70a0, 0x4009d70a, 0x3d70a3d8}, /* 3.32051=f(-0.77000, v3.23000)*/
+{64, 0,123,__LINE__, 0x400a9fa0, 0x3762ec71, 0xbfe851eb, 0x851eb84e, 0x4009eb85, 0x1eb851ec}, /* 3.32794=f(-0.76000, v3.24000)*/
+{64, 0,123,__LINE__, 0x400aaeee, 0x979b4838, 0xbfe7ffff, 0xfffffffc, 0x400a0000, 0x00000001}, /* 3.33541=f(-0.75000, v3.25000)*/
+{64, 0,123,__LINE__, 0x400abe53, 0x93303c27, 0xbfe7ae14, 0x7ae147aa, 0x400a147a, 0xe147ae16}, /* 3.34293=f(-0.74000, v3.26000)*/
+{64, 0,123,__LINE__, 0x400acdcf, 0x032e1d54, 0xbfe75c28, 0xf5c28f58, 0x400a28f5, 0xc28f5c2a}, /* 3.35049=f(-0.73000, v3.27000)*/
+{64, 0,123,__LINE__, 0x400add60, 0xc0c27bef, 0xbfe70a3d, 0x70a3d706, 0x400a3d70, 0xa3d70a3e}, /* 3.35809=f(-0.72000, v3.28000)*/
+{64, 0,123,__LINE__, 0x400aed08, 0xa53d0654, 0xbfe6b851, 0xeb851eb4, 0x400a51eb, 0x851eb853}, /* 3.36573=f(-0.71000, v3.29000)*/
+{64, 0,123,__LINE__, 0x400afcc6, 0x8a106555, 0xbfe66666, 0x66666662, 0x400a6666, 0x66666668}, /* 3.37342=f(-0.70000, v3.30000)*/
+{64, 0,123,__LINE__, 0x400b0c9a, 0x48d31198, 0xbfe6147a, 0xe147ae10, 0x400a7ae1, 0x47ae147c}, /* 3.38115=f(-0.69000, v3.31000)*/
+{64, 0,123,__LINE__, 0x400b1c83, 0xbb40225c, 0xbfe5c28f, 0x5c28f5be, 0x400a8f5c, 0x28f5c290}, /* 3.38892=f(-0.68000, v3.32000)*/
+{64, 0,123,__LINE__, 0x400b2c82, 0xbb381576, 0xbfe570a3, 0xd70a3d6c, 0x400aa3d7, 0x0a3d70a5}, /* 3.39673=f(-0.67000, v3.33000)*/
+{64, 0,123,__LINE__, 0x400b3c97, 0x22c190c8, 0xbfe51eb8, 0x51eb851a, 0x400ab851, 0xeb851eba}, /* 3.40458=f(-0.66000, v3.34000)*/
+{64, 0,123,__LINE__, 0x400b4cc0, 0xcc0a1d4e, 0xbfe4cccc, 0xccccccc8, 0x400acccc, 0xccccccce}, /* 3.41247=f(-0.65000, v3.35000)*/
+{64, 0,123,__LINE__, 0x400b5cff, 0x9166db9e, 0xbfe47ae1, 0x47ae1476, 0x400ae147, 0xae147ae2}, /* 3.42040=f(-0.64000, v3.36000)*/
+{64, 0,123,__LINE__, 0x400b6d53, 0x4d553242, 0xbfe428f5, 0xc28f5c24, 0x400af5c2, 0x8f5c28f7}, /* 3.42838=f(-0.63000, v3.37000)*/
+{64, 0,123,__LINE__, 0x400b7dbb, 0xda7b75b1, 0xbfe3d70a, 0x3d70a3d2, 0x400b0a3d, 0x70a3d70c}, /* 3.43639=f(-0.62000, v3.38000)*/
+{64, 0,123,__LINE__, 0x400b8e39, 0x13a98a3f, 0xbfe3851e, 0xb851eb80, 0x400b1eb8, 0x51eb8520}, /* 3.44444=f(-0.61000, v3.39000)*/
+{64, 0,123,__LINE__, 0x400b9eca, 0xd3d97ff9, 0xbfe33333, 0x3333332e, 0x400b3333, 0x33333334}, /* 3.45253=f(-0.60000, v3.40000)*/
+{64, 0,123,__LINE__, 0x400baf70, 0xf630288b, 0xbfe2e147, 0xae147adc, 0x400b47ae, 0x147ae149}, /* 3.46066=f(-0.59000, v3.41000)*/
+{64, 0,123,__LINE__, 0x400bc02b, 0x55fda746, 0xbfe28f5c, 0x28f5c28a, 0x400b5c28, 0xf5c28f5e}, /* 3.46883=f(-0.58000, v3.42000)*/
+{64, 0,123,__LINE__, 0x400bd0f9, 0xcebdfb5d, 0xbfe23d70, 0xa3d70a38, 0x400b70a3, 0xd70a3d72}, /* 3.47703=f(-0.57000, v3.43000)*/
+{64, 0,123,__LINE__, 0x400be1dc, 0x3c198482, 0xbfe1eb85, 0x1eb851e6, 0x400b851e, 0xb851eb86}, /* 3.48528=f(-0.56000, v3.44000)*/
+{64, 0,123,__LINE__, 0x400bf2d2, 0x79e581df, 0xbfe19999, 0x99999994, 0x400b9999, 0x9999999b}, /* 3.49356=f(-0.55000, v3.45000)*/
+{64, 0,123,__LINE__, 0x400c03dc, 0x64248b93, 0xbfe147ae, 0x147ae142, 0x400bae14, 0x7ae147b0}, /* 3.50188=f(-0.54000, v3.46000)*/
+{64, 0,123,__LINE__, 0x400c14f9, 0xd70706c5, 0xbfe0f5c2, 0x8f5c28f0, 0x400bc28f, 0x5c28f5c4}, /* 3.51024=f(-0.53000, v3.47000)*/
+{64, 0,123,__LINE__, 0x400c262a, 0xaeeb9476, 0xbfe0a3d7, 0x0a3d709e, 0x400bd70a, 0x3d70a3d8}, /* 3.51863=f(-0.52000, v3.48000)*/
+{64, 0,123,__LINE__, 0x400c376e, 0xc85f7b0b, 0xbfe051eb, 0x851eb84c, 0x400beb85, 0x1eb851ed}, /* 3.52706=f(-0.51000, v3.49000)*/
+{64, 0,123,__LINE__, 0x400c48c6, 0x001f0ac1, 0xbfdfffff, 0xfffffff4, 0x400c0000, 0x00000002}, /* 3.53553=f(-0.50000, v3.50000)*/
+{64, 0,123,__LINE__, 0x400c5a30, 0x3315fd20, 0xbfdf5c28, 0xf5c28f50, 0x400c147a, 0xe147ae16}, /* 3.54403=f(-0.49000, v3.51000)*/
+{64, 0,123,__LINE__, 0x400c6bad, 0x3e5fcf76, 0xbfdeb851, 0xeb851eac, 0x400c28f5, 0xc28f5c2a}, /* 3.55257=f(-0.48000, v3.52000)*/
+{64, 0,123,__LINE__, 0x400c7d3c, 0xff48187d, 0xbfde147a, 0xe147ae08, 0x400c3d70, 0xa3d70a3f}, /* 3.56115=f(-0.47000, v3.53000)*/
+{64, 0,123,__LINE__, 0x400c8edf, 0x534ad949, 0xbfdd70a3, 0xd70a3d64, 0x400c51eb, 0x851eb854}, /* 3.56976=f(-0.46000, v3.54000)*/
+{64, 0,123,__LINE__, 0x400ca094, 0x1814c988, 0xbfdccccc, 0xccccccc0, 0x400c6666, 0x66666668}, /* 3.57840=f(-0.45000, v3.55000)*/
+{64, 0,123,__LINE__, 0x400cb25b, 0x2b839f41, 0xbfdc28f5, 0xc28f5c1c, 0x400c7ae1, 0x47ae147c}, /* 3.58708=f(-0.44000, v3.56000)*/
+{64, 0,123,__LINE__, 0x400cc434, 0x6ba65209, 0xbfdb851e, 0xb851eb78, 0x400c8f5c, 0x28f5c291}, /* 3.59580=f(-0.43000, v3.57000)*/
+{64, 0,123,__LINE__, 0x400cd61f, 0xb6bd59e8, 0xbfdae147, 0xae147ad4, 0x400ca3d7, 0x0a3d70a6}, /* 3.60455=f(-0.42000, v3.58000)*/
+{64, 0,123,__LINE__, 0x400ce81c, 0xeb3ae9ee, 0xbfda3d70, 0xa3d70a30, 0x400cb851, 0xeb851eba}, /* 3.61333=f(-0.41000, v3.59000)*/
+{64, 0,123,__LINE__, 0x400cfa2b, 0xe7c326a1, 0xbfd99999, 0x9999998c, 0x400ccccc, 0xccccccce}, /* 3.62215=f(-0.40000, v3.60000)*/
+{64, 0,123,__LINE__, 0x400d0c4c, 0x8b2c5846, 0xbfd8f5c2, 0x8f5c28e8, 0x400ce147, 0xae147ae3}, /* 3.63100=f(-0.39000, v3.61000)*/
+{64, 0,123,__LINE__, 0x400d1e7e, 0xb47f1931, 0xbfd851eb, 0x851eb844, 0x400cf5c2, 0x8f5c28f8}, /* 3.63989=f(-0.38000, v3.62000)*/
+{64, 0,123,__LINE__, 0x400d30c2, 0x42f68025, 0xbfd7ae14, 0x7ae147a0, 0x400d0a3d, 0x70a3d70c}, /* 3.64880=f(-0.37000, v3.63000)*/
+{64, 0,123,__LINE__, 0x400d4317, 0x160046e2, 0xbfd70a3d, 0x70a3d6fc, 0x400d1eb8, 0x51eb8520}, /* 3.65775=f(-0.36000, v3.64000)*/
+{64, 0,123,__LINE__, 0x400d557d, 0x0d3cecfc, 0xbfd66666, 0x66666658, 0x400d3333, 0x33333335}, /* 3.66674=f(-0.35000, v3.65000)*/
+{64, 0,123,__LINE__, 0x400d67f4, 0x087fd6f4, 0xbfd5c28f, 0x5c28f5b4, 0x400d47ae, 0x147ae14a}, /* 3.67575=f(-0.34000, v3.66000)*/
+{64, 0,123,__LINE__, 0x400d7a7b, 0xe7cf69d6, 0xbfd51eb8, 0x51eb8510, 0x400d5c28, 0xf5c28f5e}, /* 3.68480=f(-0.33000, v3.67000)*/
+{64, 0,123,__LINE__, 0x400d8d14, 0x8b652355, 0xbfd47ae1, 0x47ae146c, 0x400d70a3, 0xd70a3d72}, /* 3.69388=f(-0.32000, v3.68000)*/
+{64, 0,123,__LINE__, 0x400d9fbd, 0xd3adae7e, 0xbfd3d70a, 0x3d70a3c8, 0x400d851e, 0xb851eb87}, /* 3.70299=f(-0.31000, v3.69000)*/
+{64, 0,123,__LINE__, 0x400db277, 0xa148f514, 0xbfd33333, 0x33333324, 0x400d9999, 0x9999999c}, /* 3.71214=f(-0.30000, v3.70000)*/
+{64, 0,123,__LINE__, 0x400dc541, 0xd50a2db9, 0xbfd28f5c, 0x28f5c280, 0x400dae14, 0x7ae147b0}, /* 3.72131=f(-0.29000, v3.71000)*/
+{64, 0,123,__LINE__, 0x400dd81c, 0x4ff7e6fe, 0xbfd1eb85, 0x1eb851dc, 0x400dc28f, 0x5c28f5c4}, /* 3.73052=f(-0.28000, v3.72000)*/
+{64, 0,123,__LINE__, 0x400deb06, 0xf34c0f39, 0xbfd147ae, 0x147ae138, 0x400dd70a, 0x3d70a3d9}, /* 3.73975=f(-0.27000, v3.73000)*/
+{64, 0,123,__LINE__, 0x400dfe01, 0xa073f97f, 0xbfd0a3d7, 0x0a3d7094, 0x400deb85, 0x1eb851ee}, /* 3.74902=f(-0.26000, v3.74000)*/
+{64, 0,123,__LINE__, 0x400e110c, 0x39105fb0, 0xbfcfffff, 0xffffffe0, 0x400e0000, 0x00000002}, /* 3.75832=f(-0.25000, v3.75000)*/
+{64, 0,123,__LINE__, 0x400e2426, 0x9ef5619f, 0xbfceb851, 0xeb851e98, 0x400e147a, 0xe147ae16}, /* 3.76765=f(-0.24000, v3.76000)*/
+{64, 0,123,__LINE__, 0x400e3750, 0xb42a8182, 0xbfcd70a3, 0xd70a3d50, 0x400e28f5, 0xc28f5c2b}, /* 3.77700=f(-0.23000, v3.77000)*/
+{64, 0,123,__LINE__, 0x400e4a8a, 0x5aea9daf, 0xbfcc28f5, 0xc28f5c08, 0x400e3d70, 0xa3d70a40}, /* 3.78639=f(-0.22000, v3.78000)*/
+{64, 0,123,__LINE__, 0x400e5dd3, 0x75a3e7c5, 0xbfcae147, 0xae147ac0, 0x400e51eb, 0x851eb854}, /* 3.79581=f(-0.21000, v3.79000)*/
+{64, 0,123,__LINE__, 0x400e712b, 0xe6f7d93a, 0xbfc99999, 0x99999978, 0x400e6666, 0x66666668}, /* 3.80526=f(-0.20000, v3.80000)*/
+{64, 0,123,__LINE__, 0x400e8493, 0x91bb2588, 0xbfc851eb, 0x851eb830, 0x400e7ae1, 0x47ae147d}, /* 3.81473=f(-0.19000, v3.81000)*/
+{64, 0,123,__LINE__, 0x400e980a, 0x58f5a9e3, 0xbfc70a3d, 0x70a3d6e8, 0x400e8f5c, 0x28f5c292}, /* 3.82423=f(-0.18000, v3.82000)*/
+{64, 0,123,__LINE__, 0x400eab90, 0x1fe25aa5, 0xbfc5c28f, 0x5c28f5a0, 0x400ea3d7, 0x0a3d70a6}, /* 3.83377=f(-0.17000, v3.83000)*/
+{64, 0,123,__LINE__, 0x400ebf24, 0xc9ef2e7b, 0xbfc47ae1, 0x47ae1458, 0x400eb851, 0xeb851eba}, /* 3.84333=f(-0.16000, v3.84000)*/
+{64, 0,123,__LINE__, 0x400ed2c8, 0x3abd075c, 0xbfc33333, 0x33333310, 0x400ecccc, 0xcccccccf}, /* 3.85292=f(-0.15000, v3.85000)*/
+{64, 0,123,__LINE__, 0x400ee67a, 0x561f9960, 0xbfc1eb85, 0x1eb851c8, 0x400ee147, 0xae147ae4}, /* 3.86253=f(-0.14000, v3.86000)*/
+{64, 0,123,__LINE__, 0x400efa3b, 0x001d4f91, 0xbfc0a3d7, 0x0a3d7080, 0x400ef5c2, 0x8f5c28f8}, /* 3.87218=f(-0.13000, v3.87000)*/
+{64, 0,123,__LINE__, 0x400f0e0a, 0x1cef2eb9, 0xbfbeb851, 0xeb851e71, 0x400f0a3d, 0x70a3d70c}, /* 3.88185=f(-0.12000, v3.88000)*/
+{64, 0,123,__LINE__, 0x400f21e7, 0x9100b63e, 0xbfbc28f5, 0xc28f5be2, 0x400f1eb8, 0x51eb8521}, /* 3.89155=f(-0.11000, v3.89000)*/
+{64, 0,123,__LINE__, 0x400f35d3, 0x40efbf31, 0xbfb99999, 0x99999953, 0x400f3333, 0x33333335}, /* 3.90128=f(-0.00100, v3.90000)*/
+{64, 0,123,__LINE__, 0x400f49cd, 0x118c5972, 0xbfb70a3d, 0x70a3d6c4, 0x400f47ae, 0x147ae14a}, /* 3.91103=f(-0.09000, v3.91000)*/
+{64, 0,123,__LINE__, 0x400f5dd4, 0xe7d8a737, 0xbfb47ae1, 0x47ae1435, 0x400f5c28, 0xf5c28f5e}, /* 3.92081=f(-0.08000, v3.92000)*/
+{64, 0,123,__LINE__, 0x400f71ea, 0xa908b6ca, 0xbfb1eb85, 0x1eb851a6, 0x400f70a3, 0xd70a3d73}, /* 3.93062=f(-0.07000, v3.93000)*/
+{64, 0,123,__LINE__, 0x400f860e, 0x3a825aaf, 0xbfaeb851, 0xeb851e2d, 0x400f851e, 0xb851eb87}, /* 3.94045=f(-0.06000, v3.94000)*/
+{64, 0,123,__LINE__, 0x400f9a3f, 0x81dd003b, 0xbfa99999, 0x9999990e, 0x400f9999, 0x9999999c}, /* 3.95031=f(-0.05000, v3.95000)*/
+{64, 0,123,__LINE__, 0x400fae7e, 0x64e184a0, 0xbfa47ae1, 0x47ae13ef, 0x400fae14, 0x7ae147b0}, /* 3.96020=f(-0.04000, v3.96000)*/
+{64, 0,123,__LINE__, 0x400fc2ca, 0xc98a0883, 0xbf9eb851, 0xeb851da0, 0x400fc28f, 0x5c28f5c5}, /* 3.97011=f(-0.03000, v3.97000)*/
+{64, 0,123,__LINE__, 0x400fd724, 0x9601c231, 0xbf947ae1, 0x47ae1362, 0x400fd70a, 0x3d70a3d9}, /* 3.98005=f(-0.02000, v3.98000)*/
+{64, 0,123,__LINE__, 0x400feb8b, 0xb0a4ce71, 0xbf847ae1, 0x47ae1249, 0x400feb85, 0x1eb851ee}, /* 3.99001=f(-0.00010, v3.99000)*/
+{64, 0,123,__LINE__, 0x40100000, 0x00000001, 0x3cd19000, 0x00000000, 0x40100000, 0x00000001}, /* 4.00000=f(9.74915e-16, v4.00000)*/
+{64, 0,123,__LINE__, 0x40100a40, 0xb56856f6, 0x3f847ae1, 0x47ae16ad, 0x40100a3d, 0x70a3d70b}, /* 4.01001=f(0.01000, v4.01000)*/
+{64, 0,123,__LINE__, 0x40101487, 0xec024042, 0x3f947ae1, 0x47ae1594, 0x4010147a, 0xe147ae16}, /* 4.02005=f(0.02000, v4.02000)*/
+{64, 0,123,__LINE__, 0x40101ed5, 0x975c9ea9, 0x3f9eb851, 0xeb851fd2, 0x40101eb8, 0x51eb8520}, /* 4.03011=f(0.03000, v4.03000)*/
+{64, 0,123,__LINE__, 0x40102929, 0xab1e48f0, 0x3fa47ae1, 0x47ae1508, 0x401028f5, 0xc28f5c2a}, /* 4.04019=f(0.04000, v4.04000)*/
+{64, 0,123,__LINE__, 0x40103384, 0x1b05eeb4, 0x3fa99999, 0x99999a27, 0x40103333, 0x33333334}, /* 4.05030=f(0.05000, v4.05000)*/
+{64, 0,123,__LINE__, 0x40103de4, 0xdae9fcca, 0x3faeb851, 0xeb851f46, 0x40103d70, 0xa3d70a3f}, /* 4.06044=f(0.06000, v4.06000)*/
+{64, 0,123,__LINE__, 0x4010484b, 0xdeb8810f, 0x3fb1eb85, 0x1eb85232, 0x401047ae, 0x147ae149}, /* 4.07060=f(0.07000, v4.07000)*/
+{64, 0,123,__LINE__, 0x401052b9, 0x1a770dd9, 0x3fb47ae1, 0x47ae14c1, 0x401051eb, 0x851eb853}, /* 4.08078=f(0.08000, v4.08000)*/
+{64, 0,123,__LINE__, 0x40105d2c, 0x82429ce1, 0x3fb70a3d, 0x70a3d750, 0x40105c28, 0xf5c28f5d}, /* 4.09099=f(0.09000, v4.09000)*/
+{64, 0,123,__LINE__, 0x401067a6, 0x0a4f71c2, 0x3fb99999, 0x999999df, 0x40106666, 0x66666667}, /* 4.10121=f(0.10000, v4.10000)*/
+{64, 0,123,__LINE__, 0x40107225, 0xa6e8fc24, 0x3fbc28f5, 0xc28f5c6e, 0x401070a3, 0xd70a3d72}, /* 4.11147=f(0.11000, v4.11000)*/
+{64, 0,123,__LINE__, 0x40107cab, 0x4c71b962, 0x3fbeb851, 0xeb851efd, 0x40107ae1, 0x47ae147c}, /* 4.12174=f(0.12000, v4.12000)*/
+{64, 0,123,__LINE__, 0x40108736, 0xef6315f9, 0x3fc0a3d7, 0x0a3d70c6, 0x4010851e, 0xb851eb86}, /* 4.13204=f(0.13000, v4.13000)*/
+{64, 0,123,__LINE__, 0x401091c8, 0x844d4e79, 0x3fc1eb85, 0x1eb8520e, 0x40108f5c, 0x28f5c290}, /* 4.14236=f(0.14000, v4.14000)*/
+{64, 0,123,__LINE__, 0x40109c5f, 0xffd75037, 0x3fc33333, 0x33333356, 0x40109999, 0x9999999b}, /* 4.15271=f(0.15000, v4.15000)*/
+{64, 0,123,__LINE__, 0x4010a6fd, 0x56be99ab, 0x3fc47ae1, 0x47ae149e, 0x4010a3d7, 0x0a3d70a5}, /* 4.16307=f(0.16000, v4.16000)*/
+{64, 0,123,__LINE__, 0x4010b1a0, 0x7dd71a7e, 0x3fc5c28f, 0x5c28f5e6, 0x4010ae14, 0x7ae147af}, /* 4.17346=f(0.17000, v4.17000)*/
+{64, 0,123,__LINE__, 0x4010bc49, 0x6a0b1356, 0x3fc70a3d, 0x70a3d72e, 0x4010b851, 0xeb851eb9}, /* 4.18387=f(0.18000, v4.18000)*/
+{64, 0,123,__LINE__, 0x4010c6f8, 0x105af555, 0x3fc851eb, 0x851eb876, 0x4010c28f, 0x5c28f5c4}, /* 4.19430=f(0.19000, v4.19000)*/
+{64, 0,123,__LINE__, 0x4010d1ac, 0x65dd4163, 0x3fc99999, 0x999999be, 0x4010cccc, 0xccccccce}, /* 4.20475=f(0.20000, v4.20000)*/
+{64, 0,123,__LINE__, 0x4010dc66, 0x5fbe673c, 0x3fcae147, 0xae147b06, 0x4010d70a, 0x3d70a3d8}, /* 4.21523=f(0.21000, v4.21000)*/
+{64, 0,123,__LINE__, 0x4010e725, 0xf340a43c, 0x3fcc28f5, 0xc28f5c4e, 0x4010e147, 0xae147ae2}, /* 4.22573=f(0.22000, v4.22000)*/
+{64, 0,123,__LINE__, 0x4010f1eb, 0x15bbe205, 0x3fcd70a3, 0xd70a3d96, 0x4010eb85, 0x1eb851ed}, /* 4.23624=f(0.23000, v4.23000)*/
+{64, 0,123,__LINE__, 0x4010fcb5, 0xbc9d94e5, 0x3fceb851, 0xeb851ede, 0x4010f5c2, 0x8f5c28f7}, /* 4.24678=f(0.24000, v4.24000)*/
+{64, 0,123,__LINE__, 0x40110785, 0xdd689a2a, 0x3fd00000, 0x00000013, 0x40110000, 0x00000001}, /* 4.25734=f(0.25000, v4.25000)*/
+{64, 0,123,__LINE__, 0x4011125b, 0x6db5162a, 0x3fd0a3d7, 0x0a3d70b7, 0x40110a3d, 0x70a3d70b}, /* 4.26792=f(0.26000, v4.26000)*/
+{64, 0,123,__LINE__, 0x40111d36, 0x63305245, 0x3fd147ae, 0x147ae15b, 0x4011147a, 0xe147ae16}, /* 4.27852=f(0.27000, v4.27000)*/
+{64, 0,123,__LINE__, 0x40112816, 0xb39c9aae, 0x3fd1eb85, 0x1eb851ff, 0x40111eb8, 0x51eb8520}, /* 4.28914=f(0.28000, v4.28000)*/
+{64, 0,123,__LINE__, 0x401132fc, 0x54d11c28, 0x3fd28f5c, 0x28f5c2a3, 0x401128f5, 0xc28f5c2a}, /* 4.29979=f(0.29000, v4.29000)*/
+{64, 0,123,__LINE__, 0x40113de7, 0x3cb9c193, 0x3fd33333, 0x33333347, 0x40113333, 0x33333334}, /* 4.31045=f(0.30000, v4.30000)*/
+{64, 0,123,__LINE__, 0x401148d7, 0x61571175, 0x3fd3d70a, 0x3d70a3eb, 0x40113d70, 0xa3d70a3f}, /* 4.32113=f(0.31000, v4.31000)*/
+{64, 0,123,__LINE__, 0x401153cc, 0xb8be0b5a, 0x3fd47ae1, 0x47ae148f, 0x401147ae, 0x147ae149}, /* 4.33183=f(0.32000, v4.32000)*/
+{64, 0,123,__LINE__, 0x40115ec7, 0x3918052f, 0x3fd51eb8, 0x51eb8533, 0x401151eb, 0x851eb853}, /* 4.34255=f(0.33000, v4.33000)*/
+{64, 0,123,__LINE__, 0x401169c6, 0xd8a28886, 0x3fd5c28f, 0x5c28f5d7, 0x40115c28, 0xf5c28f5d}, /* 4.35329=f(0.34000, v4.34000)*/
+{64, 0,123,__LINE__, 0x401174cb, 0x8daf2fce, 0x3fd66666, 0x6666667b, 0x40116666, 0x66666668}, /* 4.36405=f(0.35000, v4.35000)*/
+{64, 0,123,__LINE__, 0x40117fd5, 0x4ea3837a, 0x3fd70a3d, 0x70a3d71f, 0x401170a3, 0xd70a3d72}, /* 4.37483=f(0.36000, v4.36000)*/
+{64, 0,123,__LINE__, 0x40118ae4, 0x11f8d72d, 0x3fd7ae14, 0x7ae147c3, 0x40117ae1, 0x47ae147c}, /* 4.38563=f(0.37000, v4.37000)*/
+{64, 0,123,__LINE__, 0x401195f7, 0xce3c26d8, 0x3fd851eb, 0x851eb867, 0x4011851e, 0xb851eb86}, /* 4.39645=f(0.38000, v4.38000)*/
+{64, 0,123,__LINE__, 0x4011a110, 0x7a0df3cb, 0x3fd8f5c2, 0x8f5c290b, 0x40118f5c, 0x28f5c291}, /* 4.40728=f(0.39000, v4.39000)*/
+{64, 0,123,__LINE__, 0x4011ac2e, 0x0c2221d4, 0x3fd99999, 0x999999af, 0x40119999, 0x9999999b}, /* 4.41814=f(0.40000, v4.40000)*/
+{64, 0,123,__LINE__, 0x4011b750, 0x7b3fd45e, 0x3fda3d70, 0xa3d70a53, 0x4011a3d7, 0x0a3d70a5}, /* 4.42901=f(0.41000, v4.41000)*/
+{64, 0,123,__LINE__, 0x4011c277, 0xbe414b82, 0x3fdae147, 0xae147af7, 0x4011ae14, 0x7ae147af}, /* 4.43991=f(0.42000, v4.42000)*/
+{64, 0,123,__LINE__, 0x4011cda3, 0xcc13c135, 0x3fdb851e, 0xb851eb9b, 0x4011b851, 0xeb851eba}, /* 4.45082=f(0.43000, v4.43000)*/
+{64, 0,123,__LINE__, 0x4011d8d4, 0x9bb74665, 0x3fdc28f5, 0xc28f5c3f, 0x4011c28f, 0x5c28f5c4}, /* 4.46174=f(0.44000, v4.44000)*/
+{64, 0,123,__LINE__, 0x4011e40a, 0x243ea034, 0x3fdccccc, 0xcccccce3, 0x4011cccc, 0xccccccce}, /* 4.47269=f(0.45000, v4.45000)*/
+{64, 0,123,__LINE__, 0x4011ef44, 0x5ccf2533, 0x3fdd70a3, 0xd70a3d87, 0x4011d70a, 0x3d70a3d8}, /* 4.48365=f(0.46000, v4.46000)*/
+{64, 0,123,__LINE__, 0x4011fa83, 0x3ca09aab, 0x3fde147a, 0xe147ae2b, 0x4011e147, 0xae147ae3}, /* 4.49464=f(0.47000, v4.47000)*/
+{64, 0,123,__LINE__, 0x401205c6, 0xbafd11f0, 0x3fdeb851, 0xeb851ecf, 0x4011eb85, 0x1eb851ed}, /* 4.50564=f(0.48000, v4.48000)*/
+{64, 0,123,__LINE__, 0x4012110e, 0xcf40c5d8, 0x3fdf5c28, 0xf5c28f73, 0x4011f5c2, 0x8f5c28f7}, /* 4.51665=f(0.49000, v4.49000)*/
+{64, 0,123,__LINE__, 0x40121c5b, 0x70d9f825, 0x3fe00000, 0x0000000b, 0x40120000, 0x00000001}, /* 4.52769=f(0.50000, v4.50000)*/
+{64, 0,123,__LINE__, 0x401227ac, 0x9748cf1f, 0x3fe051eb, 0x851eb85d, 0x40120a3d, 0x70a3d70c}, /* 4.53874=f(0.51000, v4.51000)*/
+{64, 0,123,__LINE__, 0x40123302, 0x3a1f3332, 0x3fe0a3d7, 0x0a3d70af, 0x4012147a, 0xe147ae16}, /* 4.54981=f(0.52000, v4.52000)*/
+{64, 0,123,__LINE__, 0x40123e5c, 0x5100aca5, 0x3fe0f5c2, 0x8f5c2901, 0x40121eb8, 0x51eb8520}, /* 4.56089=f(0.53000, v4.53000)*/
+{64, 0,123,__LINE__, 0x401249ba, 0xd3a24176, 0x3fe147ae, 0x147ae153, 0x401228f5, 0xc28f5c2a}, /* 4.57200=f(0.54000, v4.54000)*/
+{64, 0,123,__LINE__, 0x4012551d, 0xb9ca533b, 0x3fe19999, 0x999999a5, 0x40123333, 0x33333335}, /* 4.58312=f(0.55000, v4.55000)*/
+{64, 0,123,__LINE__, 0x40126084, 0xfb507d2b, 0x3fe1eb85, 0x1eb851f7, 0x40123d70, 0xa3d70a3f}, /* 4.59425=f(0.56000, v4.56000)*/
+{64, 0,123,__LINE__, 0x40126bf0, 0x901d723f, 0x3fe23d70, 0xa3d70a49, 0x401247ae, 0x147ae149}, /* 4.60541=f(0.57000, v4.57000)*/
+{64, 0,123,__LINE__, 0x40127760, 0x702adb74, 0x3fe28f5c, 0x28f5c29b, 0x401251eb, 0x851eb853}, /* 4.61657=f(0.58000, v4.58000)*/
+{64, 0,123,__LINE__, 0x401282d4, 0x93833623, 0x3fe2e147, 0xae147aed, 0x40125c28, 0xf5c28f5e}, /* 4.62776=f(0.59000, v4.59000)*/
+{64, 0,123,__LINE__, 0x40128e4c, 0xf241b283, 0x3fe33333, 0x3333333f, 0x40126666, 0x66666668}, /* 4.63896=f(0.60000, v4.60000)*/
+{64, 0,123,__LINE__, 0x401299c9, 0x8492123e, 0x3fe3851e, 0xb851eb91, 0x401270a3, 0xd70a3d72}, /* 4.65018=f(0.61000, v4.61000)*/
+{64, 0,123,__LINE__, 0x4012a54a, 0x42b0873f, 0x3fe3d70a, 0x3d70a3e3, 0x40127ae1, 0x47ae147c}, /* 4.66141=f(0.62000, v4.62000)*/
+{64, 0,123,__LINE__, 0x4012b0cf, 0x24e9927f, 0x3fe428f5, 0xc28f5c35, 0x4012851e, 0xb851eb87}, /* 4.67266=f(0.63000, v4.63000)*/
+{64, 0,123,__LINE__, 0x4012bc58, 0x2399e319, 0x3fe47ae1, 0x47ae1487, 0x40128f5c, 0x28f5c291}, /* 4.68393=f(0.64000, v4.64000)*/
+{64, 0,123,__LINE__, 0x4012c7e5, 0x372e356d, 0x3fe4cccc, 0xccccccd9, 0x40129999, 0x9999999b}, /* 4.69521=f(0.65000, v4.65000)*/
+{64, 0,123,__LINE__, 0x4012d376, 0x58233271, 0x3fe51eb8, 0x51eb852b, 0x4012a3d7, 0x0a3d70a5}, /* 4.70650=f(0.66000, v4.66000)*/
+{64, 0,123,__LINE__, 0x4012df0b, 0x7f054f26, 0x3fe570a3, 0xd70a3d7d, 0x4012ae14, 0x7ae147b0}, /* 4.71781=f(0.67000, v4.67000)*/
+{64, 0,123,__LINE__, 0x4012eaa4, 0xa470ac2e, 0x3fe5c28f, 0x5c28f5cf, 0x4012b851, 0xeb851eba}, /* 4.72914=f(0.68000, v4.68000)*/
+{64, 0,123,__LINE__, 0x4012f641, 0xc110f597, 0x3fe6147a, 0xe147ae21, 0x4012c28f, 0x5c28f5c4}, /* 4.74048=f(0.69000, v4.69000)*/
+{64, 0,123,__LINE__, 0x401301e2, 0xcda142c4, 0x3fe66666, 0x66666673, 0x4012cccc, 0xccccccce}, /* 4.75184=f(0.70000, v4.70000)*/
+{64, 0,123,__LINE__, 0x40130d87, 0xc2ebf680, 0x3fe6b851, 0xeb851ec5, 0x4012d70a, 0x3d70a3d9}, /* 4.76321=f(0.71000, v4.71000)*/
+{64, 0,123,__LINE__, 0x40131930, 0x99ca9f40, 0x3fe70a3d, 0x70a3d717, 0x4012e147, 0xae147ae3}, /* 4.77459=f(0.72000, v4.72000)*/
+{64, 0,123,__LINE__, 0x401324dd, 0x4b25d789, 0x3fe75c28, 0xf5c28f69, 0x4012eb85, 0x1eb851ed}, /* 4.78600=f(0.73000, v4.73000)*/
+{64, 0,123,__LINE__, 0x4013308d, 0xcff52686, 0x3fe7ae14, 0x7ae147bb, 0x4012f5c2, 0x8f5c28f7}, /* 4.79741=f(0.74000, v4.74000)*/
+{64, 0,123,__LINE__, 0x40133c42, 0x213ee0cb, 0x3fe80000, 0x0000000d, 0x40130000, 0x00000002}, /* 4.80884=f(0.75000, v4.75000)*/
+{64, 0,123,__LINE__, 0x401347fa, 0x3818093b, 0x3fe851eb, 0x851eb85f, 0x40130a3d, 0x70a3d70c}, /* 4.82029=f(0.76000, v4.76000)*/
+{64, 0,123,__LINE__, 0x401353b6, 0x0da4321e, 0x3fe8a3d7, 0x0a3d70b1, 0x4013147a, 0xe147ae16}, /* 4.83174=f(0.77000, v4.77000)*/
+{64, 0,123,__LINE__, 0x40135f75, 0x9b155e78, 0x3fe8f5c2, 0x8f5c2903, 0x40131eb8, 0x51eb8520}, /* 4.84322=f(0.78000, v4.78000)*/
+{64, 0,123,__LINE__, 0x40136b38, 0xd9abe366, 0x3fe947ae, 0x147ae155, 0x401328f5, 0xc28f5c2b}, /* 4.85470=f(0.79000, v4.79000)*/
+{64, 0,123,__LINE__, 0x401376ff, 0xc2b649ca, 0x3fe99999, 0x999999a7, 0x40133333, 0x33333335}, /* 4.86621=f(0.80000, v4.80000)*/
+{64, 0,123,__LINE__, 0x401382ca, 0x4f91301a, 0x3fe9eb85, 0x1eb851f9, 0x40133d70, 0xa3d70a3f}, /* 4.87772=f(0.81000, v4.81000)*/
+{64, 0,123,__LINE__, 0x40138e98, 0x79a72c60, 0x3fea3d70, 0xa3d70a4b, 0x401347ae, 0x147ae149}, /* 4.88925=f(0.82000, v4.82000)*/
+{64, 0,123,__LINE__, 0x40139a6a, 0x3a70ae62, 0x3fea8f5c, 0x28f5c29d, 0x401351eb, 0x851eb854}, /* 4.90079=f(0.83000, v4.83000)*/
+{64, 0,123,__LINE__, 0x4013a63f, 0x8b73e1fe, 0x3feae147, 0xae147aef, 0x40135c28, 0xf5c28f5e}, /* 4.91235=f(0.84000, v4.84000)*/
+{64, 0,123,__LINE__, 0x4013b218, 0x664491bb, 0x3feb3333, 0x33333341, 0x40136666, 0x66666668}, /* 4.92392=f(0.85000, v4.85000)*/
+{64, 0,123,__LINE__, 0x4013bdf4, 0xc4840985, 0x3feb851e, 0xb851eb93, 0x401370a3, 0xd70a3d72}, /* 4.93550=f(0.86000, v4.86000)*/
+{64, 0,123,__LINE__, 0x4013c9d4, 0x9fe0f996, 0x3febd70a, 0x3d70a3e5, 0x40137ae1, 0x47ae147d}, /* 4.94710=f(0.87000, v4.87000)*/
+{64, 0,123,__LINE__, 0x4013d5b7, 0xf217598f, 0x3fec28f5, 0xc28f5c37, 0x4013851e, 0xb851eb87}, /* 4.95871=f(0.88000, v4.88000)*/
+{64, 0,123,__LINE__, 0x4013e19e, 0xb4f04bcd, 0x3fec7ae1, 0x47ae1489, 0x40138f5c, 0x28f5c291}, /* 4.97033=f(0.89000, v4.89000)*/
+{64, 0,123,__LINE__, 0x4013ed88, 0xe24200e3, 0x3feccccc, 0xccccccdb, 0x40139999, 0x9999999b}, /* 4.98196=f(0.90000, v4.90000)*/
+{64, 0,123,__LINE__, 0x4013f976, 0x73ef9b4a, 0x3fed1eb8, 0x51eb852d, 0x4013a3d7, 0x0a3d70a6}, /* 4.99361=f(0.91000, v4.91000)*/
+{64, 0,123,__LINE__, 0x40140567, 0x63e91341, 0x3fed70a3, 0xd70a3d7f, 0x4013ae14, 0x7ae147b0}, /* 5.00527=f(0.92000, v4.92000)*/
+{64, 0,123,__LINE__, 0x4014115b, 0xac2b1ada, 0x3fedc28f, 0x5c28f5d1, 0x4013b851, 0xeb851eba}, /* 5.01695=f(0.93000, v4.93000)*/
+{64, 0,123,__LINE__, 0x40141d53, 0x46bf0244, 0x3fee147a, 0xe147ae23, 0x4013c28f, 0x5c28f5c4}, /* 5.02863=f(0.94000, v4.94000)*/
+{64, 0,123,__LINE__, 0x4014294e, 0x2dba9c39, 0x3fee6666, 0x66666675, 0x4013cccc, 0xcccccccf}, /* 5.04033=f(0.95000, v4.95000)*/
+{64, 0,123,__LINE__, 0x4014354c, 0x5b4022a5, 0x3feeb851, 0xeb851ec7, 0x4013d70a, 0x3d70a3d9}, /* 5.05204=f(0.96000, v4.96000)*/
+{64, 0,123,__LINE__, 0x4014414d, 0xc97e1b81, 0x3fef0a3d, 0x70a3d719, 0x4013e147, 0xae147ae3}, /* 5.06377=f(0.97000, v4.97000)*/
+{64, 0,123,__LINE__, 0x40144d52, 0x72af3dd4, 0x3fef5c28, 0xf5c28f6b, 0x4013eb85, 0x1eb851ed}, /* 5.07551=f(0.98000, v4.98000)*/
+{64, 0,123,__LINE__, 0x4014595a, 0x511a56f7, 0x3fefae14, 0x7ae147bd, 0x4013f5c2, 0x8f5c28f8}, /* 5.08725=f(0.99000, v4.99000)*/
+{64, 0,123,__LINE__, 0x40146565, 0x5f122ff9, 0x3ff00000, 0x00000007, 0x40140000, 0x00000002}, /* 5.09902=f(1.00000, v5.00000)*/
+{64, 0,123,__LINE__, 0x40147173, 0x96f57340, 0x3ff028f5, 0xc28f5c30, 0x40140a3d, 0x70a3d70c}, /* 5.11079=f(1.01000, v5.01000)*/
+{64, 0,123,__LINE__, 0x40147d84, 0xf32e9258, 0x3ff051eb, 0x851eb859, 0x4014147a, 0xe147ae16}, /* 5.12257=f(1.02000, v5.02000)*/
+{64, 0,123,__LINE__, 0x40148999, 0x6e33abf8, 0x3ff07ae1, 0x47ae1482, 0x40141eb8, 0x51eb8520}, /* 5.13437=f(1.03000, v5.03000)*/
+{64, 0,123,__LINE__, 0x401495b1, 0x0286722e, 0x3ff0a3d7, 0x0a3d70ab, 0x401428f5, 0xc28f5c2b}, /* 5.14618=f(1.04000, v5.04000)*/
+{64, 0,123,__LINE__, 0x4014a1cb, 0xaab410cb, 0x3ff0cccc, 0xccccccd4, 0x40143333, 0x33333335}, /* 5.15800=f(1.05000, v5.05000)*/
+{64, 0,123,__LINE__, 0x4014ade9, 0x615513ec, 0x3ff0f5c2, 0x8f5c28fd, 0x40143d70, 0xa3d70a3f}, /* 5.16983=f(1.06000, v5.06000)*/
+{64, 0,123,__LINE__, 0x4014ba0a, 0x210d4ed5, 0x3ff11eb8, 0x51eb8526, 0x401447ae, 0x147ae14a}, /* 5.18167=f(1.07000, v5.07000)*/
+{64, 0,123,__LINE__, 0x4014c62d, 0xe48bc2d8, 0x3ff147ae, 0x147ae14f, 0x401451eb, 0x851eb854}, /* 5.19353=f(1.08000, v5.08000)*/
+{64, 0,123,__LINE__, 0x4014d254, 0xa68a8688, 0x3ff170a3, 0xd70a3d78, 0x40145c28, 0xf5c28f5e}, /* 5.20540=f(1.09000, v5.09000)*/
+{64, 0,123,__LINE__, 0x4014de7e, 0x61cead12, 0x3ff19999, 0x999999a1, 0x40146666, 0x66666668}, /* 5.21727=f(1.10000, v5.10000)*/
+{64, 0,123,__LINE__, 0x4014eaab, 0x11282dcb, 0x3ff1c28f, 0x5c28f5ca, 0x401470a3, 0xd70a3d72}, /* 5.22916=f(1.11000, v5.11000)*/
+{64, 0,123,__LINE__, 0x4014f6da, 0xaf71cbeb, 0x3ff1eb85, 0x1eb851f3, 0x40147ae1, 0x47ae147d}, /* 5.24106=f(1.12000, v5.12000)*/
+{64, 0,123,__LINE__, 0x4015030d, 0x3790fe78, 0x3ff2147a, 0xe147ae1c, 0x4014851e, 0xb851eb87}, /* 5.25298=f(1.13000, v5.13000)*/
+{64, 0,123,__LINE__, 0x40150f42, 0xa475d871, 0x3ff23d70, 0xa3d70a45, 0x40148f5c, 0x28f5c291}, /* 5.26490=f(1.14000, v5.14000)*/
+{64, 0,123,__LINE__, 0x40151b7a, 0xf11af10e, 0x3ff26666, 0x6666666e, 0x40149999, 0x9999999c}, /* 5.27683=f(1.15000, v5.15000)*/
+{64, 0,123,__LINE__, 0x401527b6, 0x18854c4a, 0x3ff28f5c, 0x28f5c297, 0x4014a3d7, 0x0a3d70a6}, /* 5.28878=f(1.16000, v5.16000)*/
+{64, 0,123,__LINE__, 0x401533f4, 0x15c4438f, 0x3ff2b851, 0xeb851ec0, 0x4014ae14, 0x7ae147b0}, /* 5.30073=f(1.17000, v5.17000)*/
+{64, 0,123,__LINE__, 0x40154034, 0xe3f16e96, 0x3ff2e147, 0xae147ae9, 0x4014b851, 0xeb851eba}, /* 5.31270=f(1.18000, v5.18000)*/
+{64, 0,123,__LINE__, 0x40154c78, 0x7e308c7d, 0x3ff30a3d, 0x70a3d712, 0x4014c28f, 0x5c28f5c4}, /* 5.32467=f(1.19000, v5.19000)*/
+{64, 0,123,__LINE__, 0x401abd9a, 0x5baa74cf, 0xc01921fb, 0x54442d18, 0xc00243f6, 0xa8885a30}, /* 6.68515=f(-6.28318, v-2.28318)*/
+{64, 0,123,__LINE__, 0x40131050, 0x7b5bea4a, 0xc012d97c, 0x7f3321d2, 0xbfe6cbe3, 0xf9990e90}, /* 4.76593=f(-4.71238, v-0.71238)*/
+{64, 0,123,__LINE__, 0x400a0dd6, 0xba5fede8, 0xc00921fb, 0x54442d18, 0x3feb7812, 0xaeef4ba0}, /* 3.25675=f(-3.14159, v0.85840)*/
+{64, 0,123,__LINE__, 0x40072480, 0xfd75602a, 0xbff921fb, 0x54442d18, 0x40036f02, 0x55dde974}, /* 2.89282=f(-1.57079, v2.42920)*/
+{64, 0,123,__LINE__, 0x40100000, 0x00000000, 0x00000000, 0x00000000, 0x40100000, 0x00000000}, /* 4.00000=f(0.00000, v4.00000)*/
+{64, 0,123,__LINE__, 0x401726ee, 0xa7532df8, 0x3ff921fb, 0x54442d18, 0x4016487e, 0xd5110b46}, /* 5.78802=f(1.57079, v5.57079)*/
+{64, 0,123,__LINE__, 0x401f354c, 0x05689f98, 0x400921fb, 0x54442d18, 0x401c90fd, 0xaa22168c}, /* 7.80204=f(3.14159, v7.14159)*/
+{64, 0,123,__LINE__, 0x4023cf72, 0x09c16bf4, 0x4012d97c, 0x7f3321d2, 0x40216cbe, 0x3f9990e9}, /* 9.90516=f(4.71238, v8.71238)*/
+{64, 0,123,__LINE__, 0x4043d974, 0x74f76df3, 0xc03e0000, 0x00000000, 0xc03a0000, 0x00000000}, /* 39.6988=f(-30.0000, v-26.0000)*/
+{64, 0,123,__LINE__, 0x4042a68d, 0xee8a7839, 0xc03c4ccc, 0xcccccccd, 0xc0384ccc, 0xcccccccd}, /* 37.3012=f(-28.3000, v-24.3000)*/
+{64, 0,123,__LINE__, 0x404173c4, 0xb8d33ee7, 0xc03a9999, 0x9999999a, 0xc0369999, 0x9999999a}, /* 34.9044=f(-26.6000, v-22.6000)*/
+{64, 0,123,__LINE__, 0x4040411f, 0x4fb7bfbb, 0xc038e666, 0x66666667, 0xc034e666, 0x66666667}, /* 32.5087=f(-24.9000, v-20.9000)*/
+{64, 0,123,__LINE__, 0x403e1d4c, 0x7cd9590e, 0xc0373333, 0x33333334, 0xc0333333, 0x33333334}, /* 30.1144=f(-23.2000, v-19.2000)*/
+{64, 0,123,__LINE__, 0x403bb8ca, 0x04a0d7a3, 0xc0358000, 0x00000001, 0xc0318000, 0x00000001}, /* 27.7218=f(-21.5000, v-17.5000)*/
+{64, 0,123,__LINE__, 0x403954d6, 0xdb043b69, 0xc033cccc, 0xccccccce, 0xc02f9999, 0x9999999c}, /* 25.3314=f(-19.8000, v-15.8000)*/
+{64, 0,123,__LINE__, 0x4036f19f, 0xcae2cf4d, 0xc0321999, 0x9999999b, 0xc02c3333, 0x33333336}, /* 22.9438=f(-18.1000, v-14.1000)*/
+{64, 0,123,__LINE__, 0x40348f66, 0x5c30a146, 0xc0306666, 0x66666668, 0xc028cccc, 0xccccccd0}, /* 20.5601=f(-16.4000, v-12.4000)*/
+{64, 0,123,__LINE__, 0x40322e8e, 0x513fbcba, 0xc02d6666, 0x6666666a, 0xc0256666, 0x6666666a}, /* 18.1818=f(-14.7000, v-10.7000)*/
+{64, 0,123,__LINE__, 0x402f9f6e, 0x4990f22e, 0xc02a0000, 0x00000004, 0xc0220000, 0x00000004}, /* 15.8113=f(-13.0000, v-9.00000)*/
+{64, 0,123,__LINE__, 0x402ae7df, 0xfbbd3c68, 0xc0269999, 0x9999999e, 0xc01d3333, 0x3333333c}, /* 13.4528=f(-11.3000, v-7.30000)*/
+{64, 0,123,__LINE__, 0x40263a58, 0x55b9eb02, 0xc0233333, 0x33333338, 0xc0166666, 0x66666670}, /* 11.1139=f(-9.60000, v-5.60000)*/
+{64, 0,123,__LINE__, 0x40219ed5, 0x54be7e97, 0xc01f9999, 0x999999a3, 0xc00f3333, 0x33333346}, /* 8.81022=f(-7.90000, v-3.90000)*/
+{64, 0,123,__LINE__, 0x401a50a4, 0xce178365, 0xc018cccc, 0xccccccd6, 0xc0019999, 0x999999ac}, /* 6.57875=f(-6.20000, v-2.20000)*/
+{64, 0,123,__LINE__, 0x40121c5b, 0x70d9f82e, 0xc0120000, 0x00000009, 0xbfe00000, 0x00000048}, /* 4.52769=f(-4.50000, v-0.50000)*/
+{64, 0,123,__LINE__, 0x40085ed7, 0x614b0396, 0xc0066666, 0x66666678, 0x3ff33333, 0x33333310}, /* 3.04630=f(-2.80000, v1.20000)*/
+{64, 0,123,__LINE__, 0x4008d01a, 0x34b826cc, 0xbff19999, 0x999999bd, 0x40073333, 0x33333322}, /* 3.10161=f(-1.10000, v2.90000)*/
+{64, 0,123,__LINE__, 0x40128e4c, 0xf241b277, 0x3fe33333, 0x333332ec, 0x40126666, 0x6666665e}, /* 4.63896=f(0.60000, v4.60000)*/
+{64, 0,123,__LINE__, 0x401ad3ac, 0x9648d35c, 0x40026666, 0x66666654, 0x40193333, 0x3333332a}, /* 6.70671=f(2.30000, v6.30000)*/
+{64, 0,123,__LINE__, 0x4021e377, 0x9b97f4a2, 0x400fffff, 0xffffffee, 0x401fffff, 0xfffffff7}, /* 8.94427=f(4.00000, v8.00000)*/
+{64, 0,123,__LINE__, 0x40268065, 0xf0fd4dcb, 0x4016cccc, 0xccccccc4, 0x40236666, 0x66666662}, /* 11.2507=f(5.70000, v9.70000)*/
+{64, 0,123,__LINE__, 0x402b2eae, 0x4e93b66e, 0x401d9999, 0x99999991, 0x4026cccc, 0xccccccc8}, /* 13.5911=f(7.40000, v11.4000)*/
+{64, 0,123,__LINE__, 0x402fe6ae, 0x4dafed3f, 0x40223333, 0x3333332f, 0x402a3333, 0x3333332f}, /* 15.9505=f(9.10000, v13.1000)*/
+{64, 0,123,__LINE__, 0x40325252, 0x8aa6b462, 0x40259999, 0x99999995, 0x402d9999, 0x99999995}, /* 18.3215=f(10.8000, v14.8000)*/
+{64, 0,123,__LINE__, 0x4034b343, 0x07a4dc77, 0x4028ffff, 0xfffffffb, 0x40307fff, 0xfffffffe}, /* 20.7002=f(12.5000, v16.5000)*/
+{64, 0,123,__LINE__, 0x4037158d, 0xb8559b09, 0x402c6666, 0x66666661, 0x40323333, 0x33333330}, /* 23.0841=f(14.2000, v18.2000)*/
+{64, 0,123,__LINE__, 0x403978d1, 0x691b0d28, 0x402fcccc, 0xccccccc7, 0x4033e666, 0x66666664}, /* 25.4719=f(15.9000, v19.9000)*/
+{64, 0,123,__LINE__, 0x403bdcce, 0x1618d2df, 0x40319999, 0x99999997, 0x40359999, 0x99999997}, /* 27.8625=f(17.6000, v21.6000)*/
+{64, 0,123,__LINE__, 0x403e4157, 0xe61596b4, 0x40334ccc, 0xccccccca, 0x40374ccc, 0xccccccca}, /* 30.2552=f(19.3000, v23.3000)*/
+{64, 0,123,__LINE__, 0x40405327, 0xe8c6b33b, 0x4034ffff, 0xfffffffd, 0x4038ffff, 0xfffffffd}, /* 32.6496=f(21.0000, v25.0000)*/
+{64, 0,123,__LINE__, 0x404185cf, 0xa37bc33d, 0x4036b333, 0x33333330, 0x403ab333, 0x33333330}, /* 35.0453=f(22.7000, v26.7000)*/
+{64, 0,123,__LINE__, 0x4042b89a, 0xbc51635c, 0x40386666, 0x66666663, 0x403c6666, 0x66666663}, /* 37.4422=f(24.4000, v28.4000)*/
+{64, 0,123,__LINE__, 0x4043eb82, 0xd1289f07, 0x403a1999, 0x99999996, 0x403e1999, 0x99999996}, /* 39.8399=f(26.1000, v30.1000)*/
+{64, 0,123,__LINE__, 0x40451e82, 0xf264be59, 0x403bcccc, 0xccccccc9, 0x403fcccc, 0xccccccc9}, /* 42.2383=f(27.8000, v31.8000)*/
+{64, 0,123,__LINE__, 0x40465197, 0x3fa50845, 0x403d7fff, 0xfffffffc, 0x4040bfff, 0xfffffffe}, /* 44.6374=f(29.5000, v33.5000)*/
+0,};
+test_hypot(m) {run_vector_1(m,hypot_vec,(char *)(hypot),"hypot","ddd"); }
diff --git a/newlib/libm/test/hypotf_vec.c b/newlib/libm/test/hypotf_vec.c
new file mode 100644
index 00000000000..833f05efe66
--- /dev/null
+++ b/newlib/libm/test/hypotf_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type hypotf_vec[] = {
+{ 1, 0,123,__LINE__, 0x40085ed7, 0x6c3cac80, 0xbff33333, 0x33333333, 0x40066666, 0x66666666}, /* 3.04630=f(-1.20000, v2.80000)*/
+{ 1, 0,123,__LINE__, 0x400869a7, 0xc0f09100, 0xbff30a3d, 0x70a3d70a, 0x40067ae1, 0x47ae147b}, /* 3.05158=f(-1.19000, v2.81000)*/
+{ 1, 0,123,__LINE__, 0x40087495, 0xc5f79b40, 0xbff2e147, 0xae147ae1, 0x40068f5c, 0x28f5c290}, /* 3.05692=f(-1.18000, v2.82000)*/
+{ 1, 0,123,__LINE__, 0x40087fa1, 0x4ff59a00, 0xbff2b851, 0xeb851eb8, 0x4006a3d7, 0x0a3d70a4}, /* 3.06231=f(-1.17000, v2.83000)*/
+{ 1, 0,123,__LINE__, 0x40088ac9, 0xd61db880, 0xbff28f5c, 0x28f5c28f, 0x4006b851, 0xeb851eb8}, /* 3.06776=f(-1.16000, v2.84000)*/
+{ 1, 0,123,__LINE__, 0x4008960f, 0x82327e00, 0xbff26666, 0x66666666, 0x4006cccc, 0xcccccccd}, /* 3.07327=f(-1.15000, v2.85000)*/
+{ 1, 0,123,__LINE__, 0x4008a172, 0x2129a540, 0xbff23d70, 0xa3d70a3d, 0x4006e147, 0xae147ae2}, /* 3.07883=f(-1.14000, v2.86000)*/
+{ 1, 0,123,__LINE__, 0x4008acf1, 0x4f7e0800, 0xbff2147a, 0xe147ae14, 0x4006f5c2, 0x8f5c28f6}, /* 3.08444=f(-1.13000, v2.87000)*/
+{ 1, 0,123,__LINE__, 0x4008b88d, 0x530a6500, 0xbff1eb85, 0x1eb851eb, 0x40070a3d, 0x70a3d70a}, /* 3.09011=f(-1.12000, v2.88000)*/
+{ 1, 0,123,__LINE__, 0x4008c445, 0xacd7c380, 0xbff1c28f, 0x5c28f5c2, 0x40071eb8, 0x51eb851f}, /* 3.09583=f(-1.11000, v2.89000)*/
+{ 1, 0,123,__LINE__, 0x4008d01a, 0x427d6880, 0xbff19999, 0x99999999, 0x40073333, 0x33333334}, /* 3.10161=f(-1.10000, v2.90000)*/
+{ 1, 0,123,__LINE__, 0x4008dc0b, 0x032e7f40, 0xbff170a3, 0xd70a3d70, 0x400747ae, 0x147ae148}, /* 3.10744=f(-1.09000, v2.91000)*/
+{ 1, 0,123,__LINE__, 0x4008e817, 0xad7a5c00, 0xbff147ae, 0x147ae147, 0x40075c28, 0xf5c28f5c}, /* 3.11332=f(-1.08000, v2.92000)*/
+{ 1, 0,123,__LINE__, 0x4008f43f, 0xfd60f700, 0xbff11eb8, 0x51eb851e, 0x400770a3, 0xd70a3d71}, /* 3.11926=f(-1.07000, v2.93000)*/
+{ 1, 0,123,__LINE__, 0x40090084, 0x3971a500, 0xbff0f5c2, 0x8f5c28f5, 0x4007851e, 0xb851eb86}, /* 3.12525=f(-1.06000, v2.94000)*/
+{ 1, 0,123,__LINE__, 0x40090ce3, 0xbb97e380, 0xbff0cccc, 0xcccccccc, 0x40079999, 0x9999999a}, /* 3.13129=f(-1.05000, v2.95000)*/
+{ 1, 0,123,__LINE__, 0x4009195e, 0x9758ca00, 0xbff0a3d7, 0x0a3d70a3, 0x4007ae14, 0x7ae147ae}, /* 3.13738=f(-1.04000, v2.96000)*/
+{ 1, 0,123,__LINE__, 0x400925f4, 0xaf6ca340, 0xbff07ae1, 0x47ae147a, 0x4007c28f, 0x5c28f5c3}, /* 3.14353=f(-1.03000, v2.97000)*/
+{ 1, 0,123,__LINE__, 0x400932a5, 0xb4f22080, 0xbff051eb, 0x851eb851, 0x4007d70a, 0x3d70a3d8}, /* 3.14973=f(-1.02000, v2.98000)*/
+{ 1, 0,123,__LINE__, 0x40093f71, 0xb626ab80, 0xbff028f5, 0xc28f5c28, 0x4007eb85, 0x1eb851ec}, /* 3.15597=f(-1.01000, v2.99000)*/
+{ 1, 0,123,__LINE__, 0x40094c58, 0x30000000, 0xbfefffff, 0xfffffffe, 0x40080000, 0x00000000}, /* 3.16227=f(-0.01000, v3.00000)*/
+{ 1, 0,123,__LINE__, 0x40095959, 0x5ce47dc0, 0xbfefae14, 0x7ae147ac, 0x4008147a, 0xe147ae15}, /* 3.16862=f(-0.99000, v3.01000)*/
+{ 1, 0,123,__LINE__, 0x40096674, 0xe5a0eb00, 0xbfef5c28, 0xf5c28f5a, 0x400828f5, 0xc28f5c2a}, /* 3.17502=f(-0.98000, v3.02000)*/
+{ 1, 0,123,__LINE__, 0x400973aa, 0x7072b200, 0xbfef0a3d, 0x70a3d708, 0x40083d70, 0xa3d70a3e}, /* 3.18147=f(-0.97000, v3.03000)*/
+{ 1, 0,123,__LINE__, 0x400980fa, 0x32f36600, 0xbfeeb851, 0xeb851eb6, 0x400851eb, 0x851eb852}, /* 3.18797=f(-0.96000, v3.04000)*/
+{ 1, 0,123,__LINE__, 0x40098e64, 0x007f29c0, 0xbfee6666, 0x66666664, 0x40086666, 0x66666667}, /* 3.19452=f(-0.95000, v3.05000)*/
+{ 1, 0,123,__LINE__, 0x40099be7, 0x489b1600, 0xbfee147a, 0xe147ae12, 0x40087ae1, 0x47ae147c}, /* 3.20112=f(-0.94000, v3.06000)*/
+{ 1, 0,123,__LINE__, 0x4009a984, 0x3c13f180, 0xbfedc28f, 0x5c28f5c0, 0x40088f5c, 0x28f5c290}, /* 3.20777=f(-0.93000, v3.07000)*/
+{ 1, 0,123,__LINE__, 0x4009b73a, 0x773ba200, 0xbfed70a3, 0xd70a3d6e, 0x4008a3d7, 0x0a3d70a4}, /* 3.21446=f(-0.92000, v3.08000)*/
+{ 1, 0,123,__LINE__, 0x4009c50a, 0x28269c80, 0xbfed1eb8, 0x51eb851c, 0x4008b851, 0xeb851eb9}, /* 3.22121=f(-0.91000, v3.09000)*/
+{ 1, 0,123,__LINE__, 0x4009d2f2, 0xe778b280, 0xbfeccccc, 0xccccccca, 0x4008cccc, 0xccccccce}, /* 3.22800=f(-0.90000, v3.10000)*/
+{ 1, 0,123,__LINE__, 0x4009e0f4, 0x7d08e8c0, 0xbfec7ae1, 0x47ae1478, 0x4008e147, 0xae147ae2}, /* 3.23484=f(-0.89000, v3.11000)*/
+{ 1, 0,123,__LINE__, 0x4009ef0e, 0xe0ae4400, 0xbfec28f5, 0xc28f5c26, 0x4008f5c2, 0x8f5c28f6}, /* 3.24172=f(-0.88000, v3.12000)*/
+{ 1, 0,123,__LINE__, 0x4009fd42, 0x2a2eac00, 0xbfebd70a, 0x3d70a3d4, 0x40090a3d, 0x70a3d70b}, /* 3.24866=f(-0.87000, v3.13000)*/
+{ 1, 0,123,__LINE__, 0x400a0b8d, 0xa7e0e840, 0xbfeb851e, 0xb851eb82, 0x40091eb8, 0x51eb8520}, /* 3.25564=f(-0.86000, v3.14000)*/
+{ 1, 0,123,__LINE__, 0x400a19f1, 0xa0753400, 0xbfeb3333, 0x33333330, 0x40093333, 0x33333334}, /* 3.26266=f(-0.85000, v3.15000)*/
+{ 1, 0,123,__LINE__, 0x400a286d, 0xa10a41c0, 0xbfeae147, 0xae147ade, 0x400947ae, 0x147ae148}, /* 3.26974=f(-0.84000, v3.16000)*/
+{ 1, 0,123,__LINE__, 0x400a3701, 0x66e7ba00, 0xbfea8f5c, 0x28f5c28c, 0x40095c28, 0xf5c28f5d}, /* 3.27685=f(-0.83000, v3.17000)*/
+{ 1, 0,123,__LINE__, 0x400a45ad, 0x460d9780, 0xbfea3d70, 0xa3d70a3a, 0x400970a3, 0xd70a3d72}, /* 3.28402=f(-0.82000, v3.18000)*/
+{ 1, 0,123,__LINE__, 0x400a5470, 0xc652df00, 0xbfe9eb85, 0x1eb851e8, 0x4009851e, 0xb851eb86}, /* 3.29123=f(-0.81000, v3.19000)*/
+{ 1, 0,123,__LINE__, 0x400a634b, 0xd3659fc0, 0xbfe99999, 0x99999996, 0x40099999, 0x9999999a}, /* 3.29848=f(-0.80000, v3.20000)*/
+{ 1, 0,123,__LINE__, 0x400a723e, 0x57ac3b00, 0xbfe947ae, 0x147ae144, 0x4009ae14, 0x7ae147af}, /* 3.30578=f(-0.79000, v3.21000)*/
+{ 1, 0,123,__LINE__, 0x400a8147, 0xd53b2680, 0xbfe8f5c2, 0x8f5c28f2, 0x4009c28f, 0x5c28f5c4}, /* 3.31312=f(-0.78000, v3.22000)*/
+{ 1, 0,123,__LINE__, 0x400a9068, 0x9a4fce00, 0xbfe8a3d7, 0x0a3d70a0, 0x4009d70a, 0x3d70a3d8}, /* 3.32051=f(-0.77000, v3.23000)*/
+{ 1, 0,123,__LINE__, 0x400a9fa0, 0x25cb7440, 0xbfe851eb, 0x851eb84e, 0x4009eb85, 0x1eb851ec}, /* 3.32794=f(-0.76000, v3.24000)*/
+{ 1, 0,123,__LINE__, 0x400aaeee, 0x90000000, 0xbfe7ffff, 0xfffffffc, 0x400a0000, 0x00000001}, /* 3.33541=f(-0.75000, v3.25000)*/
+{ 1, 0,123,__LINE__, 0x400abe53, 0x88499580, 0xbfe7ae14, 0x7ae147aa, 0x400a147a, 0xe147ae16}, /* 3.34293=f(-0.74000, v3.26000)*/
+{ 1, 0,123,__LINE__, 0x400acdce, 0xf06abf80, 0xbfe75c28, 0xf5c28f58, 0x400a28f5, 0xc28f5c2a}, /* 3.35049=f(-0.73000, v3.27000)*/
+{ 1, 0,123,__LINE__, 0x400add60, 0xa8de5ac0, 0xbfe70a3d, 0x70a3d706, 0x400a3d70, 0xa3d70a3e}, /* 3.35809=f(-0.72000, v3.28000)*/
+{ 1, 0,123,__LINE__, 0x400aed08, 0x90d79600, 0xbfe6b851, 0xeb851eb4, 0x400a51eb, 0x851eb853}, /* 3.36573=f(-0.71000, v3.29000)*/
+{ 1, 0,123,__LINE__, 0x400afcc6, 0x8641f200, 0xbfe66666, 0x66666662, 0x400a6666, 0x66666668}, /* 3.37342=f(-0.70000, v3.30000)*/
+{ 1, 0,123,__LINE__, 0x400b0c9a, 0x30cb7f00, 0xbfe6147a, 0xe147ae10, 0x400a7ae1, 0x47ae147c}, /* 3.38115=f(-0.69000, v3.31000)*/
+{ 1, 0,123,__LINE__, 0x400b1c83, 0xa07438c0, 0xbfe5c28f, 0x5c28f5be, 0x400a8f5c, 0x28f5c290}, /* 3.38892=f(-0.68000, v3.32000)*/
+{ 1, 0,123,__LINE__, 0x400b2c82, 0xaf509600, 0xbfe570a3, 0xd70a3d6c, 0x400aa3d7, 0x0a3d70a5}, /* 3.39673=f(-0.67000, v3.33000)*/
+{ 1, 0,123,__LINE__, 0x400b3c97, 0x362d5f80, 0xbfe51eb8, 0x51eb851a, 0x400ab851, 0xeb851eba}, /* 3.40458=f(-0.66000, v3.34000)*/
+{ 1, 0,123,__LINE__, 0x400b4cc0, 0xd6f61680, 0xbfe4cccc, 0xccccccc8, 0x400acccc, 0xccccccce}, /* 3.41247=f(-0.65000, v3.35000)*/
+{ 1, 0,123,__LINE__, 0x400b5cff, 0x9d2fd5c0, 0xbfe47ae1, 0x47ae1476, 0x400ae147, 0xae147ae2}, /* 3.42040=f(-0.64000, v3.36000)*/
+{ 1, 0,123,__LINE__, 0x400b6d53, 0x27e4d700, 0xbfe428f5, 0xc28f5c24, 0x400af5c2, 0x8f5c28f7}, /* 3.42838=f(-0.63000, v3.37000)*/
+{ 1, 0,123,__LINE__, 0x400b7dbb, 0xd6f9ed00, 0xbfe3d70a, 0x3d70a3d2, 0x400b0a3d, 0x70a3d70c}, /* 3.43639=f(-0.62000, v3.38000)*/
+{ 1, 0,123,__LINE__, 0x400b8e39, 0x3c39e3c0, 0xbfe3851e, 0xb851eb80, 0x400b1eb8, 0x51eb8520}, /* 3.44444=f(-0.61000, v3.39000)*/
+{ 1, 0,123,__LINE__, 0x400b9eca, 0xdcff6e80, 0xbfe33333, 0x3333332e, 0x400b3333, 0x33333334}, /* 3.45253=f(-0.60000, v3.40000)*/
+{ 1, 0,123,__LINE__, 0x400baf70, 0xf5c56ac0, 0xbfe2e147, 0xae147adc, 0x400b47ae, 0x147ae149}, /* 3.46066=f(-0.59000, v3.41000)*/
+{ 1, 0,123,__LINE__, 0x400bc02b, 0x55961200, 0xbfe28f5c, 0x28f5c28a, 0x400b5c28, 0xf5c28f5e}, /* 3.46883=f(-0.58000, v3.42000)*/
+{ 1, 0,123,__LINE__, 0x400bd0f9, 0xca33efc0, 0xbfe23d70, 0xa3d70a38, 0x400b70a3, 0xd70a3d72}, /* 3.47703=f(-0.57000, v3.43000)*/
+{ 1, 0,123,__LINE__, 0x400be1dc, 0x57241f00, 0xbfe1eb85, 0x1eb851e6, 0x400b851e, 0xb851eb86}, /* 3.48528=f(-0.56000, v3.44000)*/
+{ 1, 0,123,__LINE__, 0x400bf2d2, 0x90e17d40, 0xbfe19999, 0x99999994, 0x400b9999, 0x9999999b}, /* 3.49356=f(-0.55000, v3.45000)*/
+{ 1, 0,123,__LINE__, 0x400c03dc, 0x78b3b500, 0xbfe147ae, 0x147ae142, 0x400bae14, 0x7ae147b0}, /* 3.50188=f(-0.54000, v3.46000)*/
+{ 1, 0,123,__LINE__, 0x400c14f9, 0xd7b97b00, 0xbfe0f5c2, 0x8f5c28f0, 0x400bc28f, 0x5c28f5c4}, /* 3.51024=f(-0.53000, v3.47000)*/
+{ 1, 0,123,__LINE__, 0x400c262a, 0xad77ea80, 0xbfe0a3d7, 0x0a3d709e, 0x400bd70a, 0x3d70a3d8}, /* 3.51863=f(-0.52000, v3.48000)*/
+{ 1, 0,123,__LINE__, 0x400c376e, 0xc0f93d80, 0xbfe051eb, 0x851eb84c, 0x400beb85, 0x1eb851ed}, /* 3.52706=f(-0.51000, v3.49000)*/
+{ 1, 0,123,__LINE__, 0x400c48c6, 0x10000000, 0xbfdfffff, 0xfffffff4, 0x400c0000, 0x00000002}, /* 3.53553=f(-0.50000, v3.50000)*/
+{ 1, 0,123,__LINE__, 0x400c5a30, 0x2758fb80, 0xbfdf5c28, 0xf5c28f50, 0x400c147a, 0xe147ae16}, /* 3.54403=f(-0.49000, v3.51000)*/
+{ 1, 0,123,__LINE__, 0x400c6bad, 0x3adb3700, 0xbfdeb851, 0xeb851eac, 0x400c28f5, 0xc28f5c2a}, /* 3.55257=f(-0.48000, v3.52000)*/
+{ 1, 0,123,__LINE__, 0x400c7d3d, 0x0d67f700, 0xbfde147a, 0xe147ae08, 0x400c3d70, 0xa3d70a3f}, /* 3.56115=f(-0.47000, v3.53000)*/
+{ 1, 0,123,__LINE__, 0x400c8edf, 0x6098d200, 0xbfdd70a3, 0xd70a3d64, 0x400c51eb, 0x851eb854}, /* 3.56976=f(-0.46000, v3.54000)*/
+{ 1, 0,123,__LINE__, 0x400ca093, 0xf4bfb080, 0xbfdccccc, 0xccccccc0, 0x400c6666, 0x66666668}, /* 3.57840=f(-0.45000, v3.55000)*/
+{ 1, 0,123,__LINE__, 0x400cb25b, 0x33c81480, 0xbfdc28f5, 0xc28f5c1c, 0x400c7ae1, 0x47ae147c}, /* 3.58708=f(-0.44000, v3.56000)*/
+{ 1, 0,123,__LINE__, 0x400cc434, 0x6aa7bdc0, 0xbfdb851e, 0xb851eb78, 0x400c8f5c, 0x28f5c291}, /* 3.59580=f(-0.43000, v3.57000)*/
+{ 1, 0,123,__LINE__, 0x400cd61f, 0xc8e3c800, 0xbfdae147, 0xae147ad4, 0x400ca3d7, 0x0a3d70a6}, /* 3.60455=f(-0.42000, v3.58000)*/
+{ 1, 0,123,__LINE__, 0x400ce81c, 0xd1af63c0, 0xbfda3d70, 0xa3d70a30, 0x400cb851, 0xeb851eba}, /* 3.61333=f(-0.41000, v3.59000)*/
+{ 1, 0,123,__LINE__, 0x400cfa2b, 0xecb8a280, 0xbfd99999, 0x9999998c, 0x400ccccc, 0xccccccce}, /* 3.62215=f(-0.40000, v3.60000)*/
+{ 1, 0,123,__LINE__, 0x400d0c4c, 0x6184a080, 0xbfd8f5c2, 0x8f5c28e8, 0x400ce147, 0xae147ae3}, /* 3.63100=f(-0.39000, v3.61000)*/
+{ 1, 0,123,__LINE__, 0x400d1e7e, 0x96a2b700, 0xbfd851eb, 0x851eb844, 0x400cf5c2, 0x8f5c28f8}, /* 3.63989=f(-0.38000, v3.62000)*/
+{ 1, 0,123,__LINE__, 0x400d30c2, 0x65331800, 0xbfd7ae14, 0x7ae147a0, 0x400d0a3d, 0x70a3d70c}, /* 3.64880=f(-0.37000, v3.63000)*/
+{ 1, 0,123,__LINE__, 0x400d4317, 0x448c7740, 0xbfd70a3d, 0x70a3d6fc, 0x400d1eb8, 0x51eb8520}, /* 3.65775=f(-0.36000, v3.64000)*/
+{ 1, 0,123,__LINE__, 0x400d557d, 0x0b423b00, 0xbfd66666, 0x66666658, 0x400d3333, 0x33333335}, /* 3.66674=f(-0.35000, v3.65000)*/
+{ 1, 0,123,__LINE__, 0x400d67f4, 0x1e212d80, 0xbfd5c28f, 0x5c28f5b4, 0x400d47ae, 0x147ae14a}, /* 3.67575=f(-0.34000, v3.66000)*/
+{ 1, 0,123,__LINE__, 0x400d7a7b, 0xf7b8a800, 0xbfd51eb8, 0x51eb8510, 0x400d5c28, 0xf5c28f5e}, /* 3.68480=f(-0.33000, v3.67000)*/
+{ 1, 0,123,__LINE__, 0x400d8d14, 0x866f0e40, 0xbfd47ae1, 0x47ae146c, 0x400d70a3, 0xd70a3d72}, /* 3.69388=f(-0.32000, v3.68000)*/
+{ 1, 0,123,__LINE__, 0x400d9fbd, 0xb806ed00, 0xbfd3d70a, 0x3d70a3c8, 0x400d851e, 0xb851eb87}, /* 3.70299=f(-0.31000, v3.69000)*/
+{ 1, 0,123,__LINE__, 0x400db277, 0xb4d22d40, 0xbfd33333, 0x33333324, 0x400d9999, 0x9999999c}, /* 3.71214=f(-0.30000, v3.70000)*/
+{ 1, 0,123,__LINE__, 0x400dc541, 0xb7b21400, 0xbfd28f5c, 0x28f5c280, 0x400dae14, 0x7ae147b0}, /* 3.72131=f(-0.29000, v3.71000)*/
+{ 1, 0,123,__LINE__, 0x400dd81c, 0x5e1742c0, 0xbfd1eb85, 0x1eb851dc, 0x400dc28f, 0x5c28f5c4}, /* 3.73052=f(-0.28000, v3.72000)*/
+{ 1, 0,123,__LINE__, 0x400deb06, 0xe0a58e00, 0xbfd147ae, 0x147ae138, 0x400dd70a, 0x3d70a3d9}, /* 3.73975=f(-0.27000, v3.73000)*/
+{ 1, 0,123,__LINE__, 0x400dfe01, 0xa0a4a180, 0xbfd0a3d7, 0x0a3d7094, 0x400deb85, 0x1eb851ee}, /* 3.74902=f(-0.26000, v3.74000)*/
+{ 1, 0,123,__LINE__, 0x400e110c, 0x4c000000, 0xbfcfffff, 0xffffffe0, 0x400e0000, 0x00000002}, /* 3.75832=f(-0.25000, v3.75000)*/
+{ 1, 0,123,__LINE__, 0x400e2426, 0x8f5b7e40, 0xbfceb851, 0xeb851e98, 0x400e147a, 0xe147ae16}, /* 3.76765=f(-0.24000, v3.76000)*/
+{ 1, 0,123,__LINE__, 0x400e3750, 0xcb090580, 0xbfcd70a3, 0xd70a3d50, 0x400e28f5, 0xc28f5c2b}, /* 3.77700=f(-0.23000, v3.77000)*/
+{ 1, 0,123,__LINE__, 0x400e4a8a, 0x3197efc0, 0xbfcc28f5, 0xc28f5c08, 0x400e3d70, 0xa3d70a40}, /* 3.78639=f(-0.22000, v3.78000)*/
+{ 1, 0,123,__LINE__, 0x400e5dd3, 0x5edf4500, 0xbfcae147, 0xae147ac0, 0x400e51eb, 0x851eb854}, /* 3.79581=f(-0.21000, v3.79000)*/
+{ 1, 0,123,__LINE__, 0x400e712b, 0xbffdbb80, 0xbfc99999, 0x99999978, 0x400e6666, 0x66666668}, /* 3.80525=f(-0.20000, v3.80000)*/
+{ 1, 0,123,__LINE__, 0x400e8493, 0xb3fd8e80, 0xbfc851eb, 0x851eb830, 0x400e7ae1, 0x47ae147d}, /* 3.81473=f(-0.19000, v3.81000)*/
+{ 1, 0,123,__LINE__, 0x400e980a, 0x68f33700, 0xbfc70a3d, 0x70a3d6e8, 0x400e8f5c, 0x28f5c292}, /* 3.82423=f(-0.18000, v3.82000)*/
+{ 1, 0,123,__LINE__, 0x400eab8f, 0xff828a00, 0xbfc5c28f, 0x5c28f5a0, 0x400ea3d7, 0x0a3d70a6}, /* 3.83377=f(-0.17000, v3.83000)*/
+{ 1, 0,123,__LINE__, 0x400ebf24, 0xd5c00040, 0xbfc47ae1, 0x47ae1458, 0x400eb851, 0xeb851eba}, /* 3.84333=f(-0.16000, v3.84000)*/
+{ 1, 0,123,__LINE__, 0x400ed2c8, 0x53fd8380, 0xbfc33333, 0x33333310, 0x400ecccc, 0xcccccccf}, /* 3.85292=f(-0.15000, v3.85000)*/
+{ 1, 0,123,__LINE__, 0x400ee67a, 0x5c269700, 0xbfc1eb85, 0x1eb851c8, 0x400ee147, 0xae147ae4}, /* 3.86253=f(-0.14000, v3.86000)*/
+{ 1, 0,123,__LINE__, 0x400efa3b, 0x0d6e6c00, 0xbfc0a3d7, 0x0a3d7080, 0x400ef5c2, 0x8f5c28f8}, /* 3.87218=f(-0.13000, v3.87000)*/
+{ 1, 0,123,__LINE__, 0x400f0e0a, 0x2ae32900, 0xbfbeb851, 0xeb851e71, 0x400f0a3d, 0x70a3d70c}, /* 3.88185=f(-0.12000, v3.88000)*/
+{ 1, 0,123,__LINE__, 0x400f21e7, 0x92b9c2c0, 0xbfbc28f5, 0xc28f5be2, 0x400f1eb8, 0x51eb8521}, /* 3.89155=f(-0.11000, v3.89000)*/
+{ 1, 0,123,__LINE__, 0x400f35d3, 0x44cde080, 0xbfb99999, 0x99999953, 0x400f3333, 0x33333335}, /* 3.90128=f(-0.00100, v3.90000)*/
+{ 1, 0,123,__LINE__, 0x400f49cd, 0x2052b380, 0xbfb70a3d, 0x70a3d6c4, 0x400f47ae, 0x147ae14a}, /* 3.91103=f(-0.09000, v3.91000)*/
+{ 1, 0,123,__LINE__, 0x400f5dd5, 0x03d79600, 0xbfb47ae1, 0x47ae1435, 0x400f5c28, 0xf5c28f5e}, /* 3.92081=f(-0.08000, v3.92000)*/
+{ 1, 0,123,__LINE__, 0x400f71ea, 0x8e66c380, 0xbfb1eb85, 0x1eb851a6, 0x400f70a3, 0xd70a3d73}, /* 3.93062=f(-0.07000, v3.93000)*/
+{ 1, 0,123,__LINE__, 0x400f860e, 0x1ae18200, 0xbfaeb851, 0xeb851e2d, 0x400f851e, 0xb851eb87}, /* 3.94045=f(-0.06000, v3.94000)*/
+{ 1, 0,123,__LINE__, 0x400f9a3f, 0x86668800, 0xbfa99999, 0x9999990e, 0x400f9999, 0x9999999c}, /* 3.95031=f(-0.05000, v3.95000)*/
+{ 1, 0,123,__LINE__, 0x400fae7e, 0x6e148c00, 0xbfa47ae1, 0x47ae13ef, 0x400fae14, 0x7ae147b0}, /* 3.96020=f(-0.04000, v3.96000)*/
+{ 1, 0,123,__LINE__, 0x400fc2ca, 0xad47b540, 0xbf9eb851, 0xeb851da0, 0x400fc28f, 0x5c28f5c5}, /* 3.97011=f(-0.03000, v3.97000)*/
+{ 1, 0,123,__LINE__, 0x400fd724, 0x9e147d00, 0xbf947ae1, 0x47ae1362, 0x400fd70a, 0x3d70a3d9}, /* 3.98005=f(-0.02000, v3.98000)*/
+{ 1, 0,123,__LINE__, 0x400feb8b, 0x9bd70a80, 0xbf847ae1, 0x47ae1249, 0x400feb85, 0x1eb851ee}, /* 3.99001=f(-0.00010, v3.99000)*/
+{ 1, 0,123,__LINE__, 0x40100000, 0x00000000, 0x3cd19000, 0x00000000, 0x40100000, 0x00000001}, /* 4.00000=f(9.74915e-16, v4.00000)*/
+{ 1, 0,123,__LINE__, 0x40100a40, 0xc2147e00, 0x3f847ae1, 0x47ae16ad, 0x40100a3d, 0x70a3d70b}, /* 4.01001=f(0.01000, v4.01000)*/
+{ 1, 0,123,__LINE__, 0x40101487, 0xf0a3d600, 0x3f947ae1, 0x47ae1594, 0x4010147a, 0xe147ae16}, /* 4.02005=f(0.02000, v4.02000)*/
+{ 1, 0,123,__LINE__, 0x40101ed5, 0x97ae2e00, 0x3f9eb851, 0xeb851fd2, 0x40101eb8, 0x51eb8520}, /* 4.03011=f(0.03000, v4.03000)*/
+{ 1, 0,123,__LINE__, 0x40102929, 0xa3851680, 0x3fa47ae1, 0x47ae1508, 0x401028f5, 0xc28f5c2a}, /* 4.04019=f(0.04000, v4.04000)*/
+{ 1, 0,123,__LINE__, 0x40103384, 0x1f99d980, 0x3fa99999, 0x99999a27, 0x40103333, 0x33333334}, /* 4.05030=f(0.05000, v4.05000)*/
+{ 1, 0,123,__LINE__, 0x40103de4, 0xd7adf900, 0x3faeb851, 0xeb851f46, 0x40103d70, 0xa3d70a3f}, /* 4.06044=f(0.06000, v4.06000)*/
+{ 1, 0,123,__LINE__, 0x4010484b, 0xd666d600, 0x3fb1eb85, 0x1eb85232, 0x401047ae, 0x147ae149}, /* 4.07060=f(0.07000, v4.07000)*/
+{ 1, 0,123,__LINE__, 0x401052b9, 0x07add400, 0x3fb47ae1, 0x47ae14c1, 0x401051eb, 0x851eb853}, /* 4.08078=f(0.08000, v4.08000)*/
+{ 1, 0,123,__LINE__, 0x40105d2c, 0x96528e00, 0x3fb70a3d, 0x70a3d750, 0x40105c28, 0xf5c28f5d}, /* 4.09099=f(0.09000, v4.09000)*/
+{ 1, 0,123,__LINE__, 0x401067a6, 0x0bff8340, 0x3fb99999, 0x999999df, 0x40106666, 0x66666667}, /* 4.10121=f(0.10000, v4.10000)*/
+{ 1, 0,123,__LINE__, 0x40107225, 0xb385f100, 0x3fbc28f5, 0xc28f5c6e, 0x401070a3, 0xd70a3d72}, /* 4.11147=f(0.11000, v4.11000)*/
+{ 1, 0,123,__LINE__, 0x40107cab, 0x36b77c80, 0x3fbeb851, 0xeb851efd, 0x40107ae1, 0x47ae147c}, /* 4.12174=f(0.12000, v4.12000)*/
+{ 1, 0,123,__LINE__, 0x40108736, 0xe029ef00, 0x3fc0a3d7, 0x0a3d70c6, 0x4010851e, 0xb851eb86}, /* 4.13204=f(0.13000, v4.13000)*/
+{ 1, 0,123,__LINE__, 0x401091c8, 0x7a6516c0, 0x3fc1eb85, 0x1eb8520e, 0x40108f5c, 0x28f5c290}, /* 4.14236=f(0.14000, v4.14000)*/
+{ 1, 0,123,__LINE__, 0x40109c60, 0x0d9aab80, 0x3fc33333, 0x33333356, 0x40109999, 0x9999999b}, /* 4.15271=f(0.15000, v4.15000)*/
+{ 1, 0,123,__LINE__, 0x4010a6fd, 0x428d6c00, 0x3fc47ae1, 0x47ae149e, 0x4010a3d7, 0x0a3d70a5}, /* 4.16307=f(0.16000, v4.16000)*/
+{ 1, 0,123,__LINE__, 0x4010b1a0, 0x847bf800, 0x3fc5c28f, 0x5c28f5e6, 0x4010ae14, 0x7ae147af}, /* 4.17346=f(0.17000, v4.17000)*/
+{ 1, 0,123,__LINE__, 0x4010bc49, 0x5a8ca080, 0x3fc70a3d, 0x70a3d72e, 0x4010b851, 0xeb851eb9}, /* 4.18387=f(0.18000, v4.18000)*/
+{ 1, 0,123,__LINE__, 0x4010c6f8, 0x0e676900, 0x3fc851eb, 0x851eb876, 0x4010c28f, 0x5c28f5c4}, /* 4.19430=f(0.19000, v4.19000)*/
+{ 1, 0,123,__LINE__, 0x4010d1ac, 0x6995e300, 0x3fc99999, 0x999999be, 0x4010cccc, 0xccccccce}, /* 4.20475=f(0.20000, v4.20000)*/
+{ 1, 0,123,__LINE__, 0x4010dc66, 0x72673700, 0x3fcae147, 0xae147b06, 0x4010d70a, 0x3d70a3d8}, /* 4.21523=f(0.21000, v4.21000)*/
+{ 1, 0,123,__LINE__, 0x4010e725, 0xf1e6a000, 0x3fcc28f5, 0xc28f5c4e, 0x4010e147, 0xae147ae2}, /* 4.22573=f(0.22000, v4.22000)*/
+{ 1, 0,123,__LINE__, 0x4010f1eb, 0x0f711fc0, 0x3fcd70a3, 0xd70a3d96, 0x4010eb85, 0x1eb851ed}, /* 4.23624=f(0.23000, v4.23000)*/
+{ 1, 0,123,__LINE__, 0x4010fcb5, 0xb5bc4400, 0x3fceb851, 0xeb851ede, 0x4010f5c2, 0x8f5c28f7}, /* 4.24678=f(0.24000, v4.24000)*/
+{ 1, 0,123,__LINE__, 0x40110785, 0xc8000000, 0x3fd00000, 0x00000013, 0x40110000, 0x00000001}, /* 4.25734=f(0.25000, v4.25000)*/
+{ 1, 0,123,__LINE__, 0x4011125b, 0x72bfa300, 0x3fd0a3d7, 0x0a3d70b7, 0x40110a3d, 0x70a3d70b}, /* 4.26792=f(0.26000, v4.26000)*/
+{ 1, 0,123,__LINE__, 0x40111d36, 0x5a7a39c0, 0x3fd147ae, 0x147ae15b, 0x4011147a, 0xe147ae16}, /* 4.27852=f(0.27000, v4.27000)*/
+{ 1, 0,123,__LINE__, 0x40112816, 0xc7b5c900, 0x3fd1eb85, 0x1eb851ff, 0x40111eb8, 0x51eb8520}, /* 4.28914=f(0.28000, v4.28000)*/
+{ 1, 0,123,__LINE__, 0x401132fc, 0x6064e780, 0x3fd28f5c, 0x28f5c2a3, 0x401128f5, 0xc28f5c2a}, /* 4.29979=f(0.29000, v4.29000)*/
+{ 1, 0,123,__LINE__, 0x40113de7, 0x4a6e5d80, 0x3fd33333, 0x33333347, 0x40113333, 0x33333334}, /* 4.31045=f(0.30000, v4.30000)*/
+{ 1, 0,123,__LINE__, 0x401148d7, 0x7011f0c0, 0x3fd3d70a, 0x3d70a3eb, 0x40113d70, 0xa3d70a3f}, /* 4.32113=f(0.31000, v4.31000)*/
+{ 1, 0,123,__LINE__, 0x401153cc, 0xd482f5c0, 0x3fd47ae1, 0x47ae148f, 0x401147ae, 0x147ae149}, /* 4.33183=f(0.32000, v4.32000)*/
+{ 1, 0,123,__LINE__, 0x40115ec7, 0x3f43e100, 0x3fd51eb8, 0x51eb8533, 0x401151eb, 0x851eb853}, /* 4.34255=f(0.33000, v4.33000)*/
+{ 1, 0,123,__LINE__, 0x401169c6, 0xf830fe00, 0x3fd5c28f, 0x5c28f5d7, 0x40115c28, 0xf5c28f5d}, /* 4.35329=f(0.34000, v4.34000)*/
+{ 1, 0,123,__LINE__, 0x401174cb, 0x812de7c0, 0x3fd66666, 0x6666667b, 0x40116666, 0x66666668}, /* 4.36405=f(0.35000, v4.35000)*/
+{ 1, 0,123,__LINE__, 0x40117fd5, 0x4482af80, 0x3fd70a3d, 0x70a3d71f, 0x401170a3, 0xd70a3d72}, /* 4.37483=f(0.36000, v4.36000)*/
+{ 1, 0,123,__LINE__, 0x40118ae4, 0x09699b00, 0x3fd7ae14, 0x7ae147c3, 0x40117ae1, 0x47ae147c}, /* 4.38563=f(0.37000, v4.37000)*/
+{ 1, 0,123,__LINE__, 0x401195f7, 0xd1780680, 0x3fd851eb, 0x851eb867, 0x4011851e, 0xb851eb86}, /* 4.39645=f(0.38000, v4.38000)*/
+{ 1, 0,123,__LINE__, 0x4011a110, 0x63679b40, 0x3fd8f5c2, 0x8f5c290b, 0x40118f5c, 0x28f5c291}, /* 4.40728=f(0.39000, v4.39000)*/
+{ 1, 0,123,__LINE__, 0x4011ac2e, 0x066d2800, 0x3fd99999, 0x999999af, 0x40119999, 0x9999999b}, /* 4.41814=f(0.40000, v4.40000)*/
+{ 1, 0,123,__LINE__, 0x4011b750, 0x5df4b200, 0x3fda3d70, 0xa3d70a53, 0x4011a3d7, 0x0a3d70a5}, /* 4.42901=f(0.41000, v4.41000)*/
+{ 1, 0,123,__LINE__, 0x4011c277, 0xb0fbaa00, 0x3fdae147, 0xae147af7, 0x4011ae14, 0x7ae147af}, /* 4.43991=f(0.42000, v4.42000)*/
+{ 1, 0,123,__LINE__, 0x4011cda3, 0xc5f223c0, 0x3fdb851e, 0xb851eb9b, 0x4011b851, 0xeb851eba}, /* 4.45082=f(0.43000, v4.43000)*/
+{ 1, 0,123,__LINE__, 0x4011d8d4, 0x9cd19d80, 0x3fdc28f5, 0xc28f5c3f, 0x4011c28f, 0x5c28f5c4}, /* 4.46174=f(0.44000, v4.44000)*/
+{ 1, 0,123,__LINE__, 0x4011e40a, 0x1f227d00, 0x3fdccccc, 0xcccccce3, 0x4011cccc, 0xccccccce}, /* 4.47269=f(0.45000, v4.45000)*/
+{ 1, 0,123,__LINE__, 0x4011ef44, 0x4c556580, 0x3fdd70a3, 0xd70a3d87, 0x4011d70a, 0x3d70a3d8}, /* 4.48365=f(0.46000, v4.46000)*/
+{ 1, 0,123,__LINE__, 0x4011fa83, 0x319a35c0, 0x3fde147a, 0xe147ae2b, 0x4011e147, 0xae147ae3}, /* 4.49464=f(0.47000, v4.47000)*/
+{ 1, 0,123,__LINE__, 0x401205c6, 0xce165b00, 0x3fdeb851, 0xeb851ecf, 0x4011eb85, 0x1eb851ed}, /* 4.50564=f(0.48000, v4.48000)*/
+{ 1, 0,123,__LINE__, 0x4012110e, 0xc3824100, 0x3fdf5c28, 0xf5c28f73, 0x4011f5c2, 0x8f5c28f7}, /* 4.51665=f(0.49000, v4.49000)*/
+{ 1, 0,123,__LINE__, 0x40121c5b, 0x7c000000, 0x3fe00000, 0x0000000b, 0x40120000, 0x00000001}, /* 4.52769=f(0.50000, v4.50000)*/
+{ 1, 0,123,__LINE__, 0x401227ac, 0xb94c4300, 0x3fe051eb, 0x851eb85d, 0x40120a3d, 0x70a3d70c}, /* 4.53874=f(0.51000, v4.51000)*/
+{ 1, 0,123,__LINE__, 0x40123302, 0x3ccaa380, 0x3fe0a3d7, 0x0a3d70af, 0x4012147a, 0xe147ae16}, /* 4.54981=f(0.52000, v4.52000)*/
+{ 1, 0,123,__LINE__, 0x40123e5c, 0x4c6a8180, 0x3fe0f5c2, 0x8f5c2901, 0x40121eb8, 0x51eb8520}, /* 4.56089=f(0.53000, v4.53000)*/
+{ 1, 0,123,__LINE__, 0x401249ba, 0xd194fb00, 0x3fe147ae, 0x147ae153, 0x401228f5, 0xc28f5c2a}, /* 4.57200=f(0.54000, v4.54000)*/
+{ 1, 0,123,__LINE__, 0x4012551d, 0xc9b17400, 0x3fe19999, 0x999999a5, 0x40123333, 0x33333335}, /* 4.58312=f(0.55000, v4.55000)*/
+{ 1, 0,123,__LINE__, 0x40126084, 0xf9923700, 0x3fe1eb85, 0x1eb851f7, 0x40123d70, 0xa3d70a3f}, /* 4.59425=f(0.56000, v4.56000)*/
+{ 1, 0,123,__LINE__, 0x40126bf0, 0xa6f82180, 0x3fe23d70, 0xa3d70a49, 0x401247ae, 0x147ae149}, /* 4.60541=f(0.57000, v4.57000)*/
+{ 1, 0,123,__LINE__, 0x40127760, 0x720a0300, 0x3fe28f5c, 0x28f5c29b, 0x401251eb, 0x851eb853}, /* 4.61657=f(0.58000, v4.58000)*/
+{ 1, 0,123,__LINE__, 0x401282d4, 0xa0530200, 0x3fe2e147, 0xae147aed, 0x40125c28, 0xf5c28f5e}, /* 4.62776=f(0.59000, v4.59000)*/
+{ 1, 0,123,__LINE__, 0x40128e4c, 0xf6588580, 0x3fe33333, 0x3333333f, 0x40126666, 0x66666668}, /* 4.63896=f(0.60000, v4.60000)*/
+{ 1, 0,123,__LINE__, 0x401299c9, 0x94cc5040, 0x3fe3851e, 0xb851eb91, 0x401270a3, 0xd70a3d72}, /* 4.65018=f(0.61000, v4.61000)*/
+{ 1, 0,123,__LINE__, 0x4012a54a, 0x3fee6000, 0x3fe3d70a, 0x3d70a3e3, 0x40127ae1, 0x47ae147c}, /* 4.66141=f(0.62000, v4.62000)*/
+{ 1, 0,123,__LINE__, 0x4012b0cf, 0x18121e00, 0x3fe428f5, 0xc28f5c35, 0x4012851e, 0xb851eb87}, /* 4.67266=f(0.63000, v4.63000)*/
+{ 1, 0,123,__LINE__, 0x4012bc58, 0x2b6f6740, 0x3fe47ae1, 0x47ae1487, 0x40128f5c, 0x28f5c291}, /* 4.68393=f(0.64000, v4.64000)*/
+{ 1, 0,123,__LINE__, 0x4012c7e5, 0x500fee00, 0x3fe4cccc, 0xccccccd9, 0x40129999, 0x9999999b}, /* 4.69521=f(0.65000, v4.65000)*/
+{ 1, 0,123,__LINE__, 0x4012d376, 0x49a86600, 0x3fe51eb8, 0x51eb852b, 0x4012a3d7, 0x0a3d70a5}, /* 4.70650=f(0.66000, v4.66000)*/
+{ 1, 0,123,__LINE__, 0x4012df0b, 0x82884d00, 0x3fe570a3, 0xd70a3d7d, 0x4012ae14, 0x7ae147b0}, /* 4.71781=f(0.67000, v4.67000)*/
+{ 1, 0,123,__LINE__, 0x4012eaa4, 0x9928b640, 0x3fe5c28f, 0x5c28f5cf, 0x4012b851, 0xeb851eba}, /* 4.72914=f(0.68000, v4.68000)*/
+{ 1, 0,123,__LINE__, 0x4012f641, 0xad005780, 0x3fe6147a, 0xe147ae21, 0x4012c28f, 0x5c28f5c4}, /* 4.74048=f(0.69000, v4.69000)*/
+{ 1, 0,123,__LINE__, 0x401301e2, 0xcca8a800, 0x3fe66666, 0x66666673, 0x4012cccc, 0xccccccce}, /* 4.75184=f(0.70000, v4.70000)*/
+{ 1, 0,123,__LINE__, 0x40130d87, 0xcc595300, 0x3fe6b851, 0xeb851ec5, 0x4012d70a, 0x3d70a3d9}, /* 4.76321=f(0.71000, v4.71000)*/
+{ 1, 0,123,__LINE__, 0x40131930, 0x94f50640, 0x3fe70a3d, 0x70a3d717, 0x4012e147, 0xae147ae3}, /* 4.77460=f(0.72000, v4.72000)*/
+{ 1, 0,123,__LINE__, 0x401324dd, 0x45748500, 0x3fe75c28, 0xf5c28f69, 0x4012eb85, 0x1eb851ed}, /* 4.78600=f(0.73000, v4.73000)*/
+{ 1, 0,123,__LINE__, 0x4013308d, 0xc6da9c00, 0x3fe7ae14, 0x7ae147bb, 0x4012f5c2, 0x8f5c28f7}, /* 4.79741=f(0.74000, v4.74000)*/
+{ 1, 0,123,__LINE__, 0x40133c42, 0x12000000, 0x3fe80000, 0x0000000d, 0x40130000, 0x00000002}, /* 4.80884=f(0.75000, v4.75000)*/
+{ 1, 0,123,__LINE__, 0x401347fa, 0x56464900, 0x3fe851eb, 0x851eb85f, 0x40130a3d, 0x70a3d70c}, /* 4.82029=f(0.76000, v4.76000)*/
+{ 1, 0,123,__LINE__, 0x401353b6, 0x04dd09c0, 0x3fe8a3d7, 0x0a3d70b1, 0x4013147a, 0xe147ae16}, /* 4.83174=f(0.77000, v4.77000)*/
+{ 1, 0,123,__LINE__, 0x40135f75, 0xae6d1d40, 0x3fe8f5c2, 0x8f5c2903, 0x40131eb8, 0x51eb8520}, /* 4.84322=f(0.78000, v4.78000)*/
+{ 1, 0,123,__LINE__, 0x40136b38, 0xefa53a00, 0x3fe947ae, 0x147ae155, 0x401328f5, 0xc28f5c2b}, /* 4.85470=f(0.79000, v4.79000)*/
+{ 1, 0,123,__LINE__, 0x401376ff, 0xc02d3300, 0x3fe99999, 0x999999a7, 0x40133333, 0x33333335}, /* 4.86621=f(0.80000, v4.80000)*/
+{ 1, 0,123,__LINE__, 0x401382ca, 0x2f39d6c0, 0x3fe9eb85, 0x1eb851f9, 0x40133d70, 0xa3d70a3f}, /* 4.87772=f(0.81000, v4.81000)*/
+{ 1, 0,123,__LINE__, 0x40138e98, 0x814917c0, 0x3fea3d70, 0xa3d70a4b, 0x401347ae, 0x147ae149}, /* 4.88925=f(0.82000, v4.82000)*/
+{ 1, 0,123,__LINE__, 0x40139a6a, 0x2bc3d400, 0x3fea8f5c, 0x28f5c29d, 0x401351eb, 0x851eb854}, /* 4.90079=f(0.83000, v4.83000)*/
+{ 1, 0,123,__LINE__, 0x4013a63f, 0x996ede00, 0x3feae147, 0xae147aef, 0x40135c28, 0xf5c28f5e}, /* 4.91235=f(0.84000, v4.84000)*/
+{ 1, 0,123,__LINE__, 0x4013b218, 0x65e70740, 0x3feb3333, 0x33333341, 0x40136666, 0x66666668}, /* 4.92392=f(0.85000, v4.85000)*/
+{ 1, 0,123,__LINE__, 0x4013bdf4, 0xd5425b00, 0x3feb851e, 0xb851eb93, 0x401370a3, 0xd70a3d72}, /* 4.93550=f(0.86000, v4.86000)*/
+{ 1, 0,123,__LINE__, 0x4013c9d4, 0xa9a36f00, 0x3febd70a, 0x3d70a3e5, 0x40137ae1, 0x47ae147d}, /* 4.94710=f(0.87000, v4.87000)*/
+{ 1, 0,123,__LINE__, 0x4013d5b8, 0x001fb600, 0x3fec28f5, 0xc28f5c37, 0x4013851e, 0xb851eb87}, /* 4.95871=f(0.88000, v4.88000)*/
+{ 1, 0,123,__LINE__, 0x4013e19e, 0xc1b15bc0, 0x3fec7ae1, 0x47ae1489, 0x40138f5c, 0x28f5c291}, /* 4.97033=f(0.89000, v4.89000)*/
+{ 1, 0,123,__LINE__, 0x4013ed88, 0xe41b6840, 0x3feccccc, 0xccccccdb, 0x40139999, 0x9999999b}, /* 4.98196=f(0.90000, v4.90000)*/
+{ 1, 0,123,__LINE__, 0x4013f976, 0x77817000, 0x3fed1eb8, 0x51eb852d, 0x4013a3d7, 0x0a3d70a6}, /* 4.99361=f(0.91000, v4.91000)*/
+{ 1, 0,123,__LINE__, 0x40140567, 0x715e6600, 0x3fed70a3, 0xd70a3d7f, 0x4013ae14, 0x7ae147b0}, /* 5.00527=f(0.92000, v4.92000)*/
+{ 1, 0,123,__LINE__, 0x4014115b, 0x933ca040, 0x3fedc28f, 0x5c28f5d1, 0x4013b851, 0xeb851eba}, /* 5.01695=f(0.93000, v4.93000)*/
+{ 1, 0,123,__LINE__, 0x40141d53, 0x48638f00, 0x3fee147a, 0xe147ae23, 0x4013c28f, 0x5c28f5c4}, /* 5.02863=f(0.94000, v4.94000)*/
+{ 1, 0,123,__LINE__, 0x4014294e, 0x2af76600, 0x3fee6666, 0x66666675, 0x4013cccc, 0xcccccccf}, /* 5.04033=f(0.95000, v4.95000)*/
+{ 1, 0,123,__LINE__, 0x4014354c, 0x57166700, 0x3feeb851, 0xeb851ec7, 0x4013d70a, 0x3d70a3d9}, /* 5.05204=f(0.96000, v4.96000)*/
+{ 1, 0,123,__LINE__, 0x4014414d, 0xb5bbfdc0, 0x3fef0a3d, 0x70a3d719, 0x4013e147, 0xae147ae3}, /* 5.06377=f(0.97000, v4.97000)*/
+{ 1, 0,123,__LINE__, 0x40144d52, 0x62e79080, 0x3fef5c28, 0xf5c28f6b, 0x4013eb85, 0x1eb851ed}, /* 5.07551=f(0.98000, v4.98000)*/
+{ 1, 0,123,__LINE__, 0x4014595a, 0x47b35c00, 0x3fefae14, 0x7ae147bd, 0x4013f5c2, 0x8f5c28f8}, /* 5.08725=f(0.99000, v4.99000)*/
+{ 1, 0,123,__LINE__, 0x40146565, 0x58000000, 0x3ff00000, 0x00000007, 0x40140000, 0x00000002}, /* 5.09902=f(1.00000, v5.00000)*/
+{ 1, 0,123,__LINE__, 0x40147173, 0x9d6dd400, 0x3ff028f5, 0xc28f5c30, 0x40140a3d, 0x70a3d70c}, /* 5.11079=f(1.01000, v5.01000)*/
+{ 1, 0,123,__LINE__, 0x40147d84, 0xf9bbdd40, 0x3ff051eb, 0x851eb859, 0x4014147a, 0xe147ae16}, /* 5.12257=f(1.02000, v5.02000)*/
+{ 1, 0,123,__LINE__, 0x40148999, 0x885f4640, 0x3ff07ae1, 0x47ae1482, 0x40141eb8, 0x51eb8520}, /* 5.13437=f(1.03000, v5.03000)*/
+{ 1, 0,123,__LINE__, 0x401495b1, 0x0a2fa200, 0x3ff0a3d7, 0x0a3d70ab, 0x401428f5, 0xc28f5c2b}, /* 5.14618=f(1.04000, v5.04000)*/
+{ 1, 0,123,__LINE__, 0x4014a1cb, 0xc2ac7b00, 0x3ff0cccc, 0xccccccd4, 0x40143333, 0x33333335}, /* 5.15800=f(1.05000, v5.05000)*/
+{ 1, 0,123,__LINE__, 0x4014ade9, 0x4a281a00, 0x3ff0f5c2, 0x8f5c28fd, 0x40143d70, 0xa3d70a3f}, /* 5.16983=f(1.06000, v5.06000)*/
+{ 1, 0,123,__LINE__, 0x4014ba0a, 0x350dc300, 0x3ff11eb8, 0x51eb8526, 0x401447ae, 0x147ae14a}, /* 5.18168=f(1.07000, v5.07000)*/
+{ 1, 0,123,__LINE__, 0x4014c62d, 0xca721100, 0x3ff147ae, 0x147ae14f, 0x401451eb, 0x851eb854}, /* 5.19353=f(1.08000, v5.08000)*/
+{ 1, 0,123,__LINE__, 0x4014d254, 0xc7979800, 0x3ff170a3, 0xd70a3d78, 0x40145c28, 0xf5c28f5e}, /* 5.20540=f(1.09000, v5.09000)*/
+{ 1, 0,123,__LINE__, 0x4014de7e, 0x730d8600, 0x3ff19999, 0x999999a1, 0x40146666, 0x66666668}, /* 5.21727=f(1.10000, v5.10000)*/
+{ 1, 0,123,__LINE__, 0x4014eaab, 0x0ff80d40, 0x3ff1c28f, 0x5c28f5ca, 0x401470a3, 0xd70a3d72}, /* 5.22916=f(1.11000, v5.11000)*/
+{ 1, 0,123,__LINE__, 0x4014f6da, 0xb0755980, 0x3ff1eb85, 0x1eb851f3, 0x40147ae1, 0x47ae147d}, /* 5.24106=f(1.12000, v5.12000)*/
+{ 1, 0,123,__LINE__, 0x4015030d, 0x461aa700, 0x3ff2147a, 0xe147ae1c, 0x4014851e, 0xb851eb87}, /* 5.25298=f(1.13000, v5.13000)*/
+{ 1, 0,123,__LINE__, 0x40150f42, 0x910ff100, 0x3ff23d70, 0xa3d70a45, 0x40148f5c, 0x28f5c291}, /* 5.26490=f(1.14000, v5.14000)*/
+{ 1, 0,123,__LINE__, 0x40151b7a, 0xfdc1f380, 0x3ff26666, 0x6666666e, 0x40149999, 0x9999999c}, /* 5.27683=f(1.15000, v5.15000)*/
+{ 1, 0,123,__LINE__, 0x401527b5, 0xf9fc0400, 0x3ff28f5c, 0x28f5c297, 0x4014a3d7, 0x0a3d70a6}, /* 5.28878=f(1.16000, v5.16000)*/
+{ 1, 0,123,__LINE__, 0x401533f4, 0x1b7d4e00, 0x3ff2b851, 0xeb851ec0, 0x4014ae14, 0x7ae147b0}, /* 5.30073=f(1.17000, v5.17000)*/
+{ 1, 0,123,__LINE__, 0x40154034, 0xcfb47300, 0x3ff2e147, 0xae147ae9, 0x4014b851, 0xeb851eba}, /* 5.31270=f(1.18000, v5.18000)*/
+{ 1, 0,123,__LINE__, 0x40154c78, 0x83383ac0, 0x3ff30a3d, 0x70a3d712, 0x4014c28f, 0x5c28f5c4}, /* 5.32467=f(1.19000, v5.19000)*/
+{14, 0,123,__LINE__, 0x401abd9a, 0x49389a80, 0xc01921fb, 0x54442d18, 0xc00243f6, 0xa8885a30}, /* 6.68515=f(-6.28318, v-2.28318)*/
+{15, 0,123,__LINE__, 0x40131050, 0x7f74c900, 0xc012d97c, 0x7f3321d2, 0xbfe6cbe3, 0xf9990e90}, /* 4.76593=f(-4.71238, v-0.71238)*/
+{14, 0,123,__LINE__, 0x400a0dd6, 0xd2f0cc80, 0xc00921fb, 0x54442d18, 0x3feb7812, 0xaeef4ba0}, /* 3.25675=f(-3.14159, v0.85840)*/
+{ 1, 0,123,__LINE__, 0x40072481, 0x0e8dde80, 0xbff921fb, 0x54442d18, 0x40036f02, 0x55dde974}, /* 2.89282=f(-1.57079, v2.42920)*/
+{ 1, 0,123,__LINE__, 0x40100000, 0x00000000, 0x00000000, 0x00000000, 0x40100000, 0x00000000}, /* 4.00000=f(0.00000, v4.00000)*/
+{ 1, 0,123,__LINE__, 0x401726ee, 0xafb01b40, 0x3ff921fb, 0x54442d18, 0x4016487e, 0xd5110b46}, /* 5.78802=f(1.57079, v5.57079)*/
+{11, 0,123,__LINE__, 0x401f354b, 0xebeba9c0, 0x400921fb, 0x54442d18, 0x401c90fd, 0xaa22168c}, /* 7.80204=f(3.14159, v7.14159)*/
+{10, 0,123,__LINE__, 0x4023cf71, 0xfc8d8900, 0x4012d97c, 0x7f3321d2, 0x40216cbe, 0x3f9990e9}, /* 9.90516=f(4.71238, v8.71238)*/
+{ 9, 0,123,__LINE__, 0x4043d974, 0x80000000, 0xc03e0000, 0x00000000, 0xc03a0000, 0x00000000}, /* 39.6988=f(-30.0000, v-26.0000)*/
+{ 9, 0,123,__LINE__, 0x4042a68d, 0xebdd48c0, 0xc03c4ccc, 0xcccccccd, 0xc0384ccc, 0xcccccccd}, /* 37.3012=f(-28.3000, v-24.3000)*/
+{ 9, 0,123,__LINE__, 0x404173c4, 0xafcc8d40, 0xc03a9999, 0x9999999a, 0xc0369999, 0x9999999a}, /* 34.9044=f(-26.6000, v-22.6000)*/
+{ 9, 0,123,__LINE__, 0x4040411f, 0x45d27980, 0xc038e666, 0x66666667, 0xc034e666, 0x66666667}, /* 32.5087=f(-24.9000, v-20.9000)*/
+{12, 0,123,__LINE__, 0x403e1d4c, 0x909d6800, 0xc0373333, 0x33333334, 0xc0333333, 0x33333334}, /* 30.1144=f(-23.2000, v-19.2000)*/
+{12, 0,123,__LINE__, 0x403bb8ca, 0x0d000000, 0xc0358000, 0x00000001, 0xc0318000, 0x00000001}, /* 27.7218=f(-21.5000, v-17.5000)*/
+{12, 0,123,__LINE__, 0x403954d6, 0xded2fb00, 0xc033cccc, 0xccccccce, 0xc02f9999, 0x9999999c}, /* 25.3314=f(-19.8000, v-15.8000)*/
+{13, 0,123,__LINE__, 0x4036f19f, 0xea834300, 0xc0321999, 0x9999999b, 0xc02c3333, 0x33333336}, /* 22.9438=f(-18.1000, v-14.1000)*/
+{13, 0,123,__LINE__, 0x40348f66, 0x5ff9fd80, 0xc0306666, 0x66666668, 0xc028cccc, 0xccccccd0}, /* 20.5601=f(-16.4000, v-12.4000)*/
+{11, 0,123,__LINE__, 0x40322e8e, 0x5da45d00, 0xc02d6666, 0x6666666a, 0xc0256666, 0x6666666a}, /* 18.1818=f(-14.7000, v-10.7000)*/
+{13, 0,123,__LINE__, 0x402f9f6e, 0x58000000, 0xc02a0000, 0x00000004, 0xc0220000, 0x00000004}, /* 15.8113=f(-13.0000, v-9.00000)*/
+{12, 0,123,__LINE__, 0x402ae7df, 0xfe6b5940, 0xc0269999, 0x9999999e, 0xc01d3333, 0x3333333c}, /* 13.4528=f(-11.3000, v-7.30000)*/
+{13, 0,123,__LINE__, 0x40263a58, 0x5b9e5d00, 0xc0233333, 0x33333338, 0xc0166666, 0x66666670}, /* 11.1139=f(-9.60000, v-5.60000)*/
+{10, 0,123,__LINE__, 0x40219ed5, 0x612b2fc0, 0xc01f9999, 0x999999a3, 0xc00f3333, 0x33333346}, /* 8.81022=f(-7.90000, v-3.90000)*/
+{14, 0,123,__LINE__, 0x401a50a4, 0xb59e3900, 0xc018cccc, 0xccccccd6, 0xc0019999, 0x999999ac}, /* 6.57875=f(-6.20000, v-2.20000)*/
+{19, 0,123,__LINE__, 0x40121c5b, 0x7c000000, 0xc0120000, 0x00000009, 0xbfe00000, 0x00000048}, /* 4.52769=f(-4.50000, v-0.50000)*/
+{12, 0,123,__LINE__, 0x40085ed7, 0x6c3cac80, 0xc0066666, 0x66666678, 0x3ff33333, 0x33333310}, /* 3.04630=f(-2.80000, v1.20000)*/
+{ 1, 0,123,__LINE__, 0x4008d01a, 0x427d6880, 0xbff19999, 0x999999bd, 0x40073333, 0x33333322}, /* 3.10161=f(-1.10000, v2.90000)*/
+{ 1, 0,123,__LINE__, 0x40128e4c, 0xf6588580, 0x3fe33333, 0x333332ec, 0x40126666, 0x6666665e}, /* 4.63896=f(0.60000, v4.60000)*/
+{11, 0,123,__LINE__, 0x401ad3ac, 0x8406be00, 0x40026666, 0x66666654, 0x40193333, 0x3333332a}, /* 6.70671=f(2.30000, v6.30000)*/
+{10, 0,123,__LINE__, 0x4021e377, 0xa0000000, 0x400fffff, 0xffffffee, 0x401fffff, 0xfffffff7}, /* 8.94427=f(4.00000, v8.00000)*/
+{10, 0,123,__LINE__, 0x40268065, 0xdefa1000, 0x4016cccc, 0xccccccc4, 0x40236666, 0x66666662}, /* 11.2507=f(5.70000, v9.70000)*/
+{10, 0,123,__LINE__, 0x402b2eae, 0x5d8a2c00, 0x401d9999, 0x99999991, 0x4026cccc, 0xccccccc8}, /* 13.5911=f(7.40000, v11.4000)*/
+{12, 0,123,__LINE__, 0x402fe6ae, 0x6862a100, 0x40223333, 0x3333332f, 0x402a3333, 0x3333332f}, /* 15.9505=f(9.10000, v13.1000)*/
+{11, 0,123,__LINE__, 0x40325252, 0x832952e0, 0x40259999, 0x99999995, 0x402d9999, 0x99999995}, /* 18.3215=f(10.8000, v14.8000)*/
+{11, 0,123,__LINE__, 0x4034b343, 0x0d000000, 0x4028ffff, 0xfffffffb, 0x40307fff, 0xfffffffe}, /* 20.7002=f(12.5000, v16.5000)*/
+{11, 0,123,__LINE__, 0x4037158d, 0xc5d5c500, 0x402c6666, 0x66666661, 0x40323333, 0x33333330}, /* 23.0841=f(14.2000, v18.2000)*/
+{11, 0,123,__LINE__, 0x403978d1, 0x58ceda40, 0x402fcccc, 0xccccccc7, 0x4033e666, 0x66666664}, /* 25.4719=f(15.9000, v19.9000)*/
+{12, 0,123,__LINE__, 0x403bdcce, 0x0d0e3940, 0x40319999, 0x99999997, 0x40359999, 0x99999997}, /* 27.8625=f(17.6000, v21.6000)*/
+{12, 0,123,__LINE__, 0x403e4157, 0xba2dd900, 0x40334ccc, 0xccccccca, 0x40374ccc, 0xccccccca}, /* 30.2552=f(19.3000, v23.3000)*/
+{ 9, 0,123,__LINE__, 0x40405327, 0xde000000, 0x4034ffff, 0xfffffffd, 0x4038ffff, 0xfffffffd}, /* 32.6496=f(21.0000, v25.0000)*/
+{ 9, 0,123,__LINE__, 0x404185cf, 0xa899b380, 0x4036b333, 0x33333330, 0x403ab333, 0x33333330}, /* 35.0453=f(22.7000, v26.7000)*/
+{ 9, 0,123,__LINE__, 0x4042b89a, 0xb82e6060, 0x40386666, 0x66666663, 0x403c6666, 0x66666663}, /* 37.4422=f(24.4000, v28.4000)*/
+{ 9, 0,123,__LINE__, 0x4043eb82, 0xe06f7b40, 0x403a1999, 0x99999996, 0x403e1999, 0x99999996}, /* 39.8399=f(26.1000, v30.1000)*/
+{ 9, 0,123,__LINE__, 0x40451e82, 0xe4b2fe80, 0x403bcccc, 0xccccccc9, 0x403fcccc, 0xccccccc9}, /* 42.2383=f(27.8000, v31.8000)*/
+{ 9, 0,123,__LINE__, 0x40465197, 0x39800000, 0x403d7fff, 0xfffffffc, 0x4040bfff, 0xfffffffe}, /* 44.6374=f(29.5000, v33.5000)*/
+0,};
+test_hypotf(m) {run_vector_1(m,hypotf_vec,(char *)(hypotf),"hypotf","fff"); }
diff --git a/newlib/libm/test/iconv_vec.c b/newlib/libm/test/iconv_vec.c
new file mode 100644
index 00000000000..15bf3886041
--- /dev/null
+++ b/newlib/libm/test/iconv_vec.c
@@ -0,0 +1,1159 @@
+
+#include "test.h"
+
+int_type ints[]={
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x7fffffff,12,34,0x7fffffff,12,34,0x00000000, 3,0, " +0xa73231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x000000a7, 6,0,0x000000a7, 6,0,0x00000000, 3,0, " +0xa7w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000a73, 7,0,0x00000a73, 7,0,0x00000000, 3,0, " +0xa73",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x000000a7, 6,0,0x000000a7, 6,0,0x00000000, 3,0, " +0xa7",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x7fffffff,12,34,0x7fffffff,12,34,0x00000000, 3,0, " +0xa12413231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x000a1241, 9,0,0x000a1241, 9,0,0x00000000, 3,0, " +0xa1241w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00a12413,10,0,0x00a12413,10,0,0x00000000, 3,0, " +0xa12413",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x000a1241, 9,0,0x000a1241, 9,0,0x00000000, 3,0, " +0xa1241",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x7fffffff,12,34,0x7fffffff,12,34,0x00000000, 3,0, " +0xa93231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x000000a9, 6,0,0x000000a9, 6,0,0x00000000, 3,0, " +0xa9w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000a93, 7,0,0x00000a93, 7,0,0x00000000, 3,0, " +0xa93",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x000000a9, 6,0,0x000000a9, 6,0,0x00000000, 3,0, " +0xa9",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xa3231122,12,0,0xa3231122,12,0,0x00000000, 3,0, " +0xa3231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x0000000a, 5,0,0x0000000a, 5,0,0x00000000, 3,0, " +0xaw",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x000000a3, 6,0,0x000000a3, 6,0,0x00000000, 3,0, " +0xa3",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x0000000a, 5,0,0x0000000a, 5,0,0x00000000, 3,0, " +0xa",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x7fffffff,12,34,0x7fffffff,12,34,0x00000000, 3,0, " +0x773231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000077, 6,0,0x00000077, 6,0,0x00000000, 3,0, " +0x77w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000773, 7,0,0x00000773, 7,0,0x00000000, 3,0, " +0x773",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000077, 6,0,0x00000077, 6,0,0x00000000, 3,0, " +0x77",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x7fffffff,12,34,0x7fffffff,12,34,0x00000000, 3,0, " +0x712413231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00071241, 9,0,0x00071241, 9,0,0x00000000, 3,0, " +0x71241w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00712413,10,0,0x00712413,10,0,0x00000000, 3,0, " +0x712413",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00071241, 9,0,0x00071241, 9,0,0x00000000, 3,0, " +0x71241",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x93231122,13,0,0x93231122,13,0,0x00000000, 3,0, " +0x793231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000079, 6,0,0x00000079, 6,0,0x00000000, 3,0, " +0x79w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000793, 7,0,0x00000793, 7,0,0x00000000, 3,0, " +0x793",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000079, 6,0,0x00000079, 6,0,0x00000000, 3,0, " +0x79",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x73231122,12,0,0x73231122,12,0,0x00000000, 3,0, " +0x73231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000007, 5,0,0x00000007, 5,0,0x00000000, 3,0, " +0x7w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000073, 6,0,0x00000073, 6,0,0x00000000, 3,0, " +0x73",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000007, 5,0,0x00000007, 5,0,0x00000000, 3,0, " +0x7",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x73231122,13,0,0x73231122,13,0,0x00000000, 3,0, " +0x373231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000037, 6,0,0x00000037, 6,0,0x00000000, 3,0, " +0x37w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000373, 7,0,0x00000373, 7,0,0x00000000, 3,0, " +0x373",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000037, 6,0,0x00000037, 6,0,0x00000000, 3,0, " +0x37",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x7fffffff,12,34,0x7fffffff,12,34,0x00000000, 3,0, " +0x312413231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00031241, 9,0,0x00031241, 9,0,0x00000000, 3,0, " +0x31241w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00312413,10,0,0x00312413,10,0,0x00000000, 3,0, " +0x312413",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00031241, 9,0,0x00031241, 9,0,0x00000000, 3,0, " +0x31241",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x93231122,13,0,0x93231122,13,0,0x00000000, 3,0, " +0x393231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000039, 6,0,0x00000039, 6,0,0x00000000, 3,0, " +0x39w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000393, 7,0,0x00000393, 7,0,0x00000000, 3,0, " +0x393",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000039, 6,0,0x00000039, 6,0,0x00000000, 3,0, " +0x39",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x33231122,12,0,0x33231122,12,0,0x00000000, 3,0, " +0x33231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000003, 5,0,0x00000003, 5,0,0x00000000, 3,0, " +0x3w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000033, 6,0,0x00000033, 6,0,0x00000000, 3,0, " +0x33",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000003, 5,0,0x00000003, 5,0,0x00000000, 3,0, " +0x3",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x73231122,13,0,0x73231122,13,0,0x00000000, 3,0, " +0x173231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000017, 6,0,0x00000017, 6,0,0x00000000, 3,0, " +0x17w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000173, 7,0,0x00000173, 7,0,0x00000000, 3,0, " +0x173",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000017, 6,0,0x00000017, 6,0,0x00000000, 3,0, " +0x17",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x7fffffff,15,34,0x7fffffff,15,34,0x00000000, 3,0, " +0x112413231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00011241, 9,0,0x00011241, 9,0,0x00000000, 3,0, " +0x11241w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00112413,10,0,0x00112413,10,0,0x00000000, 3,0, " +0x112413",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00011241, 9,0,0x00011241, 9,0,0x00000000, 3,0, " +0x11241",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x93231122,13,0,0x93231122,13,0,0x00000000, 3,0, " +0x193231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000019, 6,0,0x00000019, 6,0,0x00000000, 3,0, " +0x19w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000193, 7,0,0x00000193, 7,0,0x00000000, 3,0, " +0x193",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000019, 6,0,0x00000019, 6,0,0x00000000, 3,0, " +0x19",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x13231122,12,0,0x13231122,12,0,0x00000000, 3,0, " +0x13231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000001, 5,0,0x00000001, 5,0,0x00000000, 3,0, " +0x1w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000013, 6,0,0x00000013, 6,0,0x00000000, 3,0, " +0x13",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000001, 5,0,0x00000001, 5,0,0x00000000, 3,0, " +0x1",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff,10,34, " +0a73231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0x0000010b, 5,0, " +0a7w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0x00001b21, 6,0, " +0a73",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0x0000010b, 5,0, " +0a7",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff,11,34, " +0a12413231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0x004604f9, 8,0, " +0a1241w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0x071c814d, 9,0, " +0a12413",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0x004604f9, 8,0, " +0a1241",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff,10,34, " +0a93231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0x0000010d, 5,0, " +0a9w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0x00001b55, 6,0, " +0a93",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0x0000010d, 5,0, " +0a9",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0xec11cdb2,11,0, " +0a3231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0x0000000a, 4,0, " +0aw",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0x00000107, 5,0, " +0a3",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0x0000000a, 4,0, " +0a",
+__LINE__,0x07ed3252,12,0,0x2e169212,12,0,0x07ed3252,12,0,0x07ed3252,12,0,0xa94f9d32,12,0, " +0773231122",
+__LINE__,0x0000003f, 5,0,0x0000004d, 5,0,0x0000003f, 5,0,0x0000003f, 5,0,0x000000bd, 5,0, " +077w",
+__LINE__,0x000001fb, 6,0,0x00000305, 6,0,0x000001fb, 6,0,0x000001fb, 6,0,0x00001335, 6,0, " +0773",
+__LINE__,0x0000003f, 5,0,0x0000004d, 5,0,0x0000003f, 5,0,0x0000003f, 5,0,0x000000bd, 5,0, " +077",
+__LINE__,0x7fffffff,14,34,0x7fffffff,13,34,0x7fffffff,14,34,0x7fffffff,14,34,0x7fffffff,10,34, " +0712413231122",
+__LINE__,0x000072a1, 8,0,0x00011649, 8,0,0x000072a1, 8,0,0x000072a1, 8,0,0x003119c9, 8,0, " +071241w",
+__LINE__,0x0003950b, 9,0,0x000adedd, 9,0,0x0003950b, 9,0,0x0003950b, 9,0,0x04fc9e6d, 9,0, " +0712413",
+__LINE__,0x000072a1, 8,0,0x00011649, 8,0,0x000072a1, 8,0,0x000072a1, 8,0,0x003119c9, 8,0, " +071241",
+__LINE__,0x00000007, 4,0,0x2f47bf12,12,0,0x00000007, 4,0,0x00000007, 4,0,0x7fffffff,11,34, " +0793231122",
+__LINE__,0x00000007, 4,0,0x0000004f, 5,0,0x00000007, 4,0,0x00000007, 4,0,0x000000bf, 5,0, " +079w",
+__LINE__,0x00000007, 4,0,0x00000319, 6,0,0x00000007, 4,0,0x00000007, 4,0,0x00001369, 6,0, " +0793",
+__LINE__,0x00000007, 4,0,0x0000004f, 5,0,0x00000007, 4,0,0x00000007, 4,0,0x000000bf, 5,0, " +079",
+__LINE__,0x00ed3252,11,0,0x045d6b12,11,0,0x00ed3252,11,0,0x00ed3252,11,0,0x7fffffff,10,34, " +073231122",
+__LINE__,0x00000007, 4,0,0x00000007, 4,0,0x00000007, 4,0,0x00000007, 4,0,0x00000007, 4,0, " +07w",
+__LINE__,0x0000003b, 5,0,0x00000049, 5,0,0x0000003b, 5,0,0x0000003b, 5,0,0x000000b9, 5,0, " +073",
+__LINE__,0x00000007, 4,0,0x00000007, 4,0,0x00000007, 4,0,0x00000007, 4,0,0x00000007, 4,0, " +07",
+__LINE__,0x03ed3252,12,0,0x163f0e12,12,0,0x03ed3252,12,0,0x03ed3252,12,0,0x7fffffff,10,34, " +0373231122",
+__LINE__,0x0000001f, 5,0,0x00000025, 5,0,0x0000001f, 5,0,0x0000001f, 5,0,0x00000055, 5,0, " +037w",
+__LINE__,0x000000fb, 6,0,0x00000175, 6,0,0x000000fb, 6,0,0x000000fb, 6,0,0x000008a5, 6,0, " +0373",
+__LINE__,0x0000001f, 5,0,0x00000025, 5,0,0x0000001f, 5,0,0x0000001f, 5,0,0x00000055, 5,0, " +037",
+__LINE__,0x7fffffff,14,34,0x7fffffff,13,34,0x7fffffff,14,34,0x7fffffff,14,34,0x7fffffff,12,34, " +0312413231122",
+__LINE__,0x000032a1, 8,0,0x00007a09, 8,0,0x000032a1, 8,0,0x000032a1, 8,0,0x00153589, 8,0, " +031241w",
+__LINE__,0x0001950b, 9,0,0x0004c45d, 9,0,0x0001950b, 9,0,0x0001950b, 9,0,0x02276fed, 9,0, " +0312413",
+__LINE__,0x000032a1, 8,0,0x00007a09, 8,0,0x000032a1, 8,0,0x000032a1, 8,0,0x00153589, 8,0, " +031241",
+__LINE__,0x00000003, 4,0,0x17703b12,12,0,0x00000003, 4,0,0x00000003, 4,0,0xea867e32,12,0, " +0393231122",
+__LINE__,0x00000003, 4,0,0x00000027, 5,0,0x00000003, 4,0,0x00000003, 4,0,0x00000057, 5,0, " +039w",
+__LINE__,0x00000003, 4,0,0x00000189, 6,0,0x00000003, 4,0,0x00000003, 4,0,0x000008d9, 6,0, " +0393",
+__LINE__,0x00000003, 4,0,0x00000027, 5,0,0x00000003, 4,0,0x00000003, 4,0,0x00000057, 5,0, " +039",
+__LINE__,0x006d3252,11,0,0x01fb1112,11,0,0x006d3252,11,0,0x006d3252,11,0,0xd4efec32,11,0, " +033231122",
+__LINE__,0x00000003, 4,0,0x00000003, 4,0,0x00000003, 4,0,0x00000003, 4,0,0x00000003, 4,0, " +03w",
+__LINE__,0x0000001b, 5,0,0x00000021, 5,0,0x0000001b, 5,0,0x0000001b, 5,0,0x00000051, 5,0, " +033",
+__LINE__,0x00000003, 4,0,0x00000003, 4,0,0x00000003, 4,0,0x00000003, 4,0,0x00000003, 4,0, " +03",
+__LINE__,0x01ed3252,12,0,0x0a534c12,12,0,0x01ed3252,12,0,0x01ed3252,12,0,0xeeeed732,12,0, " +0173231122",
+__LINE__,0x0000000f, 5,0,0x00000011, 5,0,0x0000000f, 5,0,0x0000000f, 5,0,0x00000021, 5,0, " +017w",
+__LINE__,0x0000007b, 6,0,0x000000ad, 6,0,0x0000007b, 6,0,0x0000007b, 6,0,0x0000035d, 6,0, " +0173",
+__LINE__,0x0000000f, 5,0,0x00000011, 5,0,0x0000000f, 5,0,0x0000000f, 5,0,0x00000021, 5,0, " +017",
+__LINE__,0x542d3252,15,0,0x7fffffff,14,34,0x542d3252,15,0,0x542d3252,15,0,0x7fffffff,11,34, " +0112413231122",
+__LINE__,0x000012a1, 8,0,0x00002be9, 8,0,0x000012a1, 8,0,0x000012a1, 8,0,0x00074369, 8,0, " +011241w",
+__LINE__,0x0000950b, 9,0,0x0001b71d, 9,0,0x0000950b, 9,0,0x0000950b, 9,0,0x00bcd8ad, 9,0, " +0112413",
+__LINE__,0x000012a1, 8,0,0x00002be9, 8,0,0x000012a1, 8,0,0x000012a1, 8,0,0x00074369, 8,0, " +011241",
+__LINE__,0x00000001, 4,0,0x0b847912,12,0,0x00000001, 4,0,0x00000001, 4,0,0xac663c32,12,0, " +0193231122",
+__LINE__,0x00000001, 4,0,0x00000013, 5,0,0x00000001, 4,0,0x00000001, 4,0,0x00000023, 5,0, " +019w",
+__LINE__,0x00000001, 4,0,0x000000c1, 6,0,0x00000001, 4,0,0x00000001, 4,0,0x00000391, 6,0, " +0193",
+__LINE__,0x00000001, 4,0,0x00000013, 5,0,0x00000001, 4,0,0x00000001, 4,0,0x00000023, 5,0, " +019",
+__LINE__,0x002d3252,11,0,0x00c9e412,11,0,0x002d3252,11,0,0x002d3252,11,0,0x17788732,11,0, " +013231122",
+__LINE__,0x00000001, 4,0,0x00000001, 4,0,0x00000001, 4,0,0x00000001, 4,0,0x00000001, 4,0, " +01w",
+__LINE__,0x0000000b, 5,0,0x0000000d, 5,0,0x0000000b, 5,0,0x0000000b, 5,0,0x0000001d, 5,0, " +013",
+__LINE__,0x00000001, 4,0,0x00000001, 4,0,0x00000001, 4,0,0x00000001, 4,0,0x00000001, 4,0, " +01",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff,10,34,0x00000000, 0,0,0x7fffffff, 9,34, " +a73231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000000a7, 4,0,0x00000000, 0,0,0x0000010b, 4,0, " +a7w",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x00000a73, 5,0,0x00000000, 0,0,0x00001b21, 5,0, " +a73",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000000a7, 4,0,0x00000000, 0,0,0x0000010b, 4,0, " +a7",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff,10,34,0x00000000, 0,0,0x7fffffff,10,34, " +a12413231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000a1241, 7,0,0x00000000, 0,0,0x004604f9, 7,0, " +a1241w",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x00a12413, 8,0,0x00000000, 0,0,0x071c814d, 8,0, " +a12413",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000a1241, 7,0,0x00000000, 0,0,0x004604f9, 7,0, " +a1241",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff,10,34,0x00000000, 0,0,0x7fffffff, 9,34, " +a93231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000000a9, 4,0,0x00000000, 0,0,0x0000010d, 4,0, " +a9w",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x00000a93, 5,0,0x00000000, 0,0,0x00001b55, 5,0, " +a93",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000000a9, 4,0,0x00000000, 0,0,0x0000010d, 4,0, " +a9",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xa3231122,10,0,0x00000000, 0,0,0xec11cdb2,10,0, " +a3231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x0000000a, 3,0,0x00000000, 0,0,0x0000000a, 3,0, " +aw",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000000a3, 4,0,0x00000000, 0,0,0x00000107, 4,0, " +a3",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x0000000a, 3,0,0x00000000, 0,0,0x0000000a, 3,0, " +a",
+__LINE__,0x07ed3252,11,0,0x2e169212,11,0,0x7fffffff,10,34,0x2e169212,11,0,0xa94f9d32,11,0, " +773231122",
+__LINE__,0x0000003f, 4,0,0x0000004d, 4,0,0x00000077, 4,0,0x0000004d, 4,0,0x000000bd, 4,0, " +77w",
+__LINE__,0x000001fb, 5,0,0x00000305, 5,0,0x00000773, 5,0,0x00000305, 5,0,0x00001335, 5,0, " +773",
+__LINE__,0x0000003f, 4,0,0x0000004d, 4,0,0x00000077, 4,0,0x0000004d, 4,0,0x000000bd, 4,0, " +77",
+__LINE__,0x7fffffff,13,34,0x7fffffff,12,34,0x7fffffff,10,34,0x7fffffff,12,34,0x7fffffff, 9,34, " +712413231122",
+__LINE__,0x000072a1, 7,0,0x00011649, 7,0,0x00071241, 7,0,0x00011649, 7,0,0x003119c9, 7,0, " +71241w",
+__LINE__,0x0003950b, 8,0,0x000adedd, 8,0,0x00712413, 8,0,0x000adedd, 8,0,0x04fc9e6d, 8,0, " +712413",
+__LINE__,0x000072a1, 7,0,0x00011649, 7,0,0x00071241, 7,0,0x00011649, 7,0,0x003119c9, 7,0, " +71241",
+__LINE__,0x00000007, 3,0,0x2f47bf12,11,0,0x93231122,11,0,0x2f47bf12,11,0,0x7fffffff,10,34, " +793231122",
+__LINE__,0x00000007, 3,0,0x0000004f, 4,0,0x00000079, 4,0,0x0000004f, 4,0,0x000000bf, 4,0, " +79w",
+__LINE__,0x00000007, 3,0,0x00000319, 5,0,0x00000793, 5,0,0x00000319, 5,0,0x00001369, 5,0, " +793",
+__LINE__,0x00000007, 3,0,0x0000004f, 4,0,0x00000079, 4,0,0x0000004f, 4,0,0x000000bf, 4,0, " +79",
+__LINE__,0x00ed3252,10,0,0x045d6b12,10,0,0x73231122,10,0,0x045d6b12,10,0,0x7fffffff, 9,34, " +73231122",
+__LINE__,0x00000007, 3,0,0x00000007, 3,0,0x00000007, 3,0,0x00000007, 3,0,0x00000007, 3,0, " +7w",
+__LINE__,0x0000003b, 4,0,0x00000049, 4,0,0x00000073, 4,0,0x00000049, 4,0,0x000000b9, 4,0, " +73",
+__LINE__,0x00000007, 3,0,0x00000007, 3,0,0x00000007, 3,0,0x00000007, 3,0,0x00000007, 3,0, " +7",
+__LINE__,0x03ed3252,11,0,0x163f0e12,11,0,0x73231122,11,0,0x163f0e12,11,0,0x7fffffff, 9,34, " +373231122",
+__LINE__,0x0000001f, 4,0,0x00000025, 4,0,0x00000037, 4,0,0x00000025, 4,0,0x00000055, 4,0, " +37w",
+__LINE__,0x000000fb, 5,0,0x00000175, 5,0,0x00000373, 5,0,0x00000175, 5,0,0x000008a5, 5,0, " +373",
+__LINE__,0x0000001f, 4,0,0x00000025, 4,0,0x00000037, 4,0,0x00000025, 4,0,0x00000055, 4,0, " +37",
+__LINE__,0x7fffffff,13,34,0x7fffffff,12,34,0x7fffffff,10,34,0x7fffffff,12,34,0x7fffffff,11,34, " +312413231122",
+__LINE__,0x000032a1, 7,0,0x00007a09, 7,0,0x00031241, 7,0,0x00007a09, 7,0,0x00153589, 7,0, " +31241w",
+__LINE__,0x0001950b, 8,0,0x0004c45d, 8,0,0x00312413, 8,0,0x0004c45d, 8,0,0x02276fed, 8,0, " +312413",
+__LINE__,0x000032a1, 7,0,0x00007a09, 7,0,0x00031241, 7,0,0x00007a09, 7,0,0x00153589, 7,0, " +31241",
+__LINE__,0x00000003, 3,0,0x17703b12,11,0,0x93231122,11,0,0x17703b12,11,0,0xea867e32,11,0, " +393231122",
+__LINE__,0x00000003, 3,0,0x00000027, 4,0,0x00000039, 4,0,0x00000027, 4,0,0x00000057, 4,0, " +39w",
+__LINE__,0x00000003, 3,0,0x00000189, 5,0,0x00000393, 5,0,0x00000189, 5,0,0x000008d9, 5,0, " +393",
+__LINE__,0x00000003, 3,0,0x00000027, 4,0,0x00000039, 4,0,0x00000027, 4,0,0x00000057, 4,0, " +39",
+__LINE__,0x006d3252,10,0,0x01fb1112,10,0,0x33231122,10,0,0x01fb1112,10,0,0xd4efec32,10,0, " +33231122",
+__LINE__,0x00000003, 3,0,0x00000003, 3,0,0x00000003, 3,0,0x00000003, 3,0,0x00000003, 3,0, " +3w",
+__LINE__,0x0000001b, 4,0,0x00000021, 4,0,0x00000033, 4,0,0x00000021, 4,0,0x00000051, 4,0, " +33",
+__LINE__,0x00000003, 3,0,0x00000003, 3,0,0x00000003, 3,0,0x00000003, 3,0,0x00000003, 3,0, " +3",
+__LINE__,0x01ed3252,11,0,0x0a534c12,11,0,0x73231122,11,0,0x0a534c12,11,0,0xeeeed732,11,0, " +173231122",
+__LINE__,0x0000000f, 4,0,0x00000011, 4,0,0x00000017, 4,0,0x00000011, 4,0,0x00000021, 4,0, " +17w",
+__LINE__,0x0000007b, 5,0,0x000000ad, 5,0,0x00000173, 5,0,0x000000ad, 5,0,0x0000035d, 5,0, " +173",
+__LINE__,0x0000000f, 4,0,0x00000011, 4,0,0x00000017, 4,0,0x00000011, 4,0,0x00000021, 4,0, " +17",
+__LINE__,0x542d3252,14,0,0x7fffffff,13,34,0x7fffffff,13,34,0x7fffffff,13,34,0x7fffffff,10,34, " +112413231122",
+__LINE__,0x000012a1, 7,0,0x00002be9, 7,0,0x00011241, 7,0,0x00002be9, 7,0,0x00074369, 7,0, " +11241w",
+__LINE__,0x0000950b, 8,0,0x0001b71d, 8,0,0x00112413, 8,0,0x0001b71d, 8,0,0x00bcd8ad, 8,0, " +112413",
+__LINE__,0x000012a1, 7,0,0x00002be9, 7,0,0x00011241, 7,0,0x00002be9, 7,0,0x00074369, 7,0, " +11241",
+__LINE__,0x00000001, 3,0,0x0b847912,11,0,0x93231122,11,0,0x0b847912,11,0,0xac663c32,11,0, " +193231122",
+__LINE__,0x00000001, 3,0,0x00000013, 4,0,0x00000019, 4,0,0x00000013, 4,0,0x00000023, 4,0, " +19w",
+__LINE__,0x00000001, 3,0,0x000000c1, 5,0,0x00000193, 5,0,0x000000c1, 5,0,0x00000391, 5,0, " +193",
+__LINE__,0x00000001, 3,0,0x00000013, 4,0,0x00000019, 4,0,0x00000013, 4,0,0x00000023, 4,0, " +19",
+__LINE__,0x002d3252,10,0,0x00c9e412,10,0,0x13231122,10,0,0x00c9e412,10,0,0x17788732,10,0, " +13231122",
+__LINE__,0x00000001, 3,0,0x00000001, 3,0,0x00000001, 3,0,0x00000001, 3,0,0x00000001, 3,0, " +1w",
+__LINE__,0x0000000b, 4,0,0x0000000d, 4,0,0x00000013, 4,0,0x0000000d, 4,0,0x0000001d, 4,0, " +13",
+__LINE__,0x00000001, 3,0,0x00000001, 3,0,0x00000001, 3,0,0x00000001, 3,0,0x00000001, 3,0, " +1",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x80000000,12,34,0x80000000,12,34,0x00000000, 3,0, " -0xa73231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffffff59, 6,0,0xffffff59, 6,0,0x00000000, 3,0, " -0xa7w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xfffff58d, 7,0,0xfffff58d, 7,0,0x00000000, 3,0, " -0xa73",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffffff59, 6,0,0xffffff59, 6,0,0x00000000, 3,0, " -0xa7",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x80000000,12,34,0x80000000,12,34,0x00000000, 3,0, " -0xa12413231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xfff5edbf, 9,0,0xfff5edbf, 9,0,0x00000000, 3,0, " -0xa1241w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xff5edbed,10,0,0xff5edbed,10,0,0x00000000, 3,0, " -0xa12413",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xfff5edbf, 9,0,0xfff5edbf, 9,0,0x00000000, 3,0, " -0xa1241",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x80000000,12,34,0x80000000,12,34,0x00000000, 3,0, " -0xa93231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffffff57, 6,0,0xffffff57, 6,0,0x00000000, 3,0, " -0xa9w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xfffff56d, 7,0,0xfffff56d, 7,0,0x00000000, 3,0, " -0xa93",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffffff57, 6,0,0xffffff57, 6,0,0x00000000, 3,0, " -0xa9",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x5cdceede,12,0,0x5cdceede,12,0,0x00000000, 3,0, " -0xa3231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xfffffff6, 5,0,0xfffffff6, 5,0,0x00000000, 3,0, " -0xaw",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffffff5d, 6,0,0xffffff5d, 6,0,0x00000000, 3,0, " -0xa3",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xfffffff6, 5,0,0xfffffff6, 5,0,0x00000000, 3,0, " -0xa",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x80000000,12,34,0x80000000,12,34,0x00000000, 3,0, " -0x773231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffffff89, 6,0,0xffffff89, 6,0,0x00000000, 3,0, " -0x77w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xfffff88d, 7,0,0xfffff88d, 7,0,0x00000000, 3,0, " -0x773",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffffff89, 6,0,0xffffff89, 6,0,0x00000000, 3,0, " -0x77",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x80000000,12,34,0x80000000,12,34,0x00000000, 3,0, " -0x712413231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xfff8edbf, 9,0,0xfff8edbf, 9,0,0x00000000, 3,0, " -0x71241w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xff8edbed,10,0,0xff8edbed,10,0,0x00000000, 3,0, " -0x712413",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xfff8edbf, 9,0,0xfff8edbf, 9,0,0x00000000, 3,0, " -0x71241",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x6cdceede,13,0,0x6cdceede,13,0,0x00000000, 3,0, " -0x793231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffffff87, 6,0,0xffffff87, 6,0,0x00000000, 3,0, " -0x79w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xfffff86d, 7,0,0xfffff86d, 7,0,0x00000000, 3,0, " -0x793",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffffff87, 6,0,0xffffff87, 6,0,0x00000000, 3,0, " -0x79",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x8cdceede,12,0,0x8cdceede,12,0,0x00000000, 3,0, " -0x73231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xfffffff9, 5,0,0xfffffff9, 5,0,0x00000000, 3,0, " -0x7w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffffff8d, 6,0,0xffffff8d, 6,0,0x00000000, 3,0, " -0x73",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xfffffff9, 5,0,0xfffffff9, 5,0,0x00000000, 3,0, " -0x7",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x8cdceede,13,0,0x8cdceede,13,0,0x00000000, 3,0, " -0x373231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffffffc9, 6,0,0xffffffc9, 6,0,0x00000000, 3,0, " -0x37w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xfffffc8d, 7,0,0xfffffc8d, 7,0,0x00000000, 3,0, " -0x373",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffffffc9, 6,0,0xffffffc9, 6,0,0x00000000, 3,0, " -0x37",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x80000000,12,34,0x80000000,12,34,0x00000000, 3,0, " -0x312413231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xfffcedbf, 9,0,0xfffcedbf, 9,0,0x00000000, 3,0, " -0x31241w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffcedbed,10,0,0xffcedbed,10,0,0x00000000, 3,0, " -0x312413",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xfffcedbf, 9,0,0xfffcedbf, 9,0,0x00000000, 3,0, " -0x31241",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x6cdceede,13,0,0x6cdceede,13,0,0x00000000, 3,0, " -0x393231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffffffc7, 6,0,0xffffffc7, 6,0,0x00000000, 3,0, " -0x39w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xfffffc6d, 7,0,0xfffffc6d, 7,0,0x00000000, 3,0, " -0x393",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffffffc7, 6,0,0xffffffc7, 6,0,0x00000000, 3,0, " -0x39",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xccdceede,12,0,0xccdceede,12,0,0x00000000, 3,0, " -0x33231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xfffffffd, 5,0,0xfffffffd, 5,0,0x00000000, 3,0, " -0x3w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffffffcd, 6,0,0xffffffcd, 6,0,0x00000000, 3,0, " -0x33",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xfffffffd, 5,0,0xfffffffd, 5,0,0x00000000, 3,0, " -0x3",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x8cdceede,13,0,0x8cdceede,13,0,0x00000000, 3,0, " -0x173231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffffffe9, 6,0,0xffffffe9, 6,0,0x00000000, 3,0, " -0x17w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xfffffe8d, 7,0,0xfffffe8d, 7,0,0x00000000, 3,0, " -0x173",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffffffe9, 6,0,0xffffffe9, 6,0,0x00000000, 3,0, " -0x17",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x80000000,15,34,0x80000000,15,34,0x00000000, 3,0, " -0x112413231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xfffeedbf, 9,0,0xfffeedbf, 9,0,0x00000000, 3,0, " -0x11241w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffeedbed,10,0,0xffeedbed,10,0,0x00000000, 3,0, " -0x112413",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xfffeedbf, 9,0,0xfffeedbf, 9,0,0x00000000, 3,0, " -0x11241",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x6cdceede,13,0,0x6cdceede,13,0,0x00000000, 3,0, " -0x193231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffffffe7, 6,0,0xffffffe7, 6,0,0x00000000, 3,0, " -0x19w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xfffffe6d, 7,0,0xfffffe6d, 7,0,0x00000000, 3,0, " -0x193",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffffffe7, 6,0,0xffffffe7, 6,0,0x00000000, 3,0, " -0x19",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xecdceede,12,0,0xecdceede,12,0,0x00000000, 3,0, " -0x13231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffffffff, 5,0,0xffffffff, 5,0,0x00000000, 3,0, " -0x1w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffffffed, 6,0,0xffffffed, 6,0,0x00000000, 3,0, " -0x13",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0xffffffff, 5,0,0xffffffff, 5,0,0x00000000, 3,0, " -0x1",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0x80000000,10,34, " -0a73231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0xfffffef5, 5,0, " -0a7w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0xffffe4df, 6,0, " -0a73",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0xfffffef5, 5,0, " -0a7",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0x80000000,11,34, " -0a12413231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0xffb9fb07, 8,0, " -0a1241w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0xf8e37eb3, 9,0, " -0a12413",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0xffb9fb07, 8,0, " -0a1241",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0x80000000,10,34, " -0a93231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0xfffffef3, 5,0, " -0a9w",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0xffffe4ab, 6,0, " -0a93",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0xfffffef3, 5,0, " -0a9",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0x13ee324e,11,0, " -0a3231122",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0xfffffff6, 4,0, " -0aw",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0xfffffef9, 5,0, " -0a3",
+__LINE__,0x00000000, 3,0,0x00000000, 3,0,0x00000000, 0,0,0x00000000, 0,0,0xfffffff6, 4,0, " -0a",
+__LINE__,0xf812cdae,12,0,0xd1e96dee,12,0,0xf812cdae,12,0,0xf812cdae,12,0,0x56b062ce,12,0, " -0773231122",
+__LINE__,0xffffffc1, 5,0,0xffffffb3, 5,0,0xffffffc1, 5,0,0xffffffc1, 5,0,0xffffff43, 5,0, " -077w",
+__LINE__,0xfffffe05, 6,0,0xfffffcfb, 6,0,0xfffffe05, 6,0,0xfffffe05, 6,0,0xffffeccb, 6,0, " -0773",
+__LINE__,0xffffffc1, 5,0,0xffffffb3, 5,0,0xffffffc1, 5,0,0xffffffc1, 5,0,0xffffff43, 5,0, " -077",
+__LINE__,0x80000000,14,34,0x80000000,13,34,0x80000000,14,34,0x80000000,14,34,0x80000000,10,34, " -0712413231122",
+__LINE__,0xffff8d5f, 8,0,0xfffee9b7, 8,0,0xffff8d5f, 8,0,0xffff8d5f, 8,0,0xffcee637, 8,0, " -071241w",
+__LINE__,0xfffc6af5, 9,0,0xfff52123, 9,0,0xfffc6af5, 9,0,0xfffc6af5, 9,0,0xfb036193, 9,0, " -0712413",
+__LINE__,0xffff8d5f, 8,0,0xfffee9b7, 8,0,0xffff8d5f, 8,0,0xffff8d5f, 8,0,0xffcee637, 8,0, " -071241",
+__LINE__,0xfffffff9, 4,0,0xd0b840ee,12,0,0xfffffff9, 4,0,0xfffffff9, 4,0,0x80000000,11,34, " -0793231122",
+__LINE__,0xfffffff9, 4,0,0xffffffb1, 5,0,0xfffffff9, 4,0,0xfffffff9, 4,0,0xffffff41, 5,0, " -079w",
+__LINE__,0xfffffff9, 4,0,0xfffffce7, 6,0,0xfffffff9, 4,0,0xfffffff9, 4,0,0xffffec97, 6,0, " -0793",
+__LINE__,0xfffffff9, 4,0,0xffffffb1, 5,0,0xfffffff9, 4,0,0xfffffff9, 4,0,0xffffff41, 5,0, " -079",
+__LINE__,0xff12cdae,11,0,0xfba294ee,11,0,0xff12cdae,11,0,0xff12cdae,11,0,0x80000000,10,34, " -073231122",
+__LINE__,0xfffffff9, 4,0,0xfffffff9, 4,0,0xfffffff9, 4,0,0xfffffff9, 4,0,0xfffffff9, 4,0, " -07w",
+__LINE__,0xffffffc5, 5,0,0xffffffb7, 5,0,0xffffffc5, 5,0,0xffffffc5, 5,0,0xffffff47, 5,0, " -073",
+__LINE__,0xfffffff9, 4,0,0xfffffff9, 4,0,0xfffffff9, 4,0,0xfffffff9, 4,0,0xfffffff9, 4,0, " -07",
+__LINE__,0xfc12cdae,12,0,0xe9c0f1ee,12,0,0xfc12cdae,12,0,0xfc12cdae,12,0,0x80000000,10,34, " -0373231122",
+__LINE__,0xffffffe1, 5,0,0xffffffdb, 5,0,0xffffffe1, 5,0,0xffffffe1, 5,0,0xffffffab, 5,0, " -037w",
+__LINE__,0xffffff05, 6,0,0xfffffe8b, 6,0,0xffffff05, 6,0,0xffffff05, 6,0,0xfffff75b, 6,0, " -0373",
+__LINE__,0xffffffe1, 5,0,0xffffffdb, 5,0,0xffffffe1, 5,0,0xffffffe1, 5,0,0xffffffab, 5,0, " -037",
+__LINE__,0x80000000,14,34,0x80000000,13,34,0x80000000,14,34,0x80000000,14,34,0x80000000,12,34, " -0312413231122",
+__LINE__,0xffffcd5f, 8,0,0xffff85f7, 8,0,0xffffcd5f, 8,0,0xffffcd5f, 8,0,0xffeaca77, 8,0, " -031241w",
+__LINE__,0xfffe6af5, 9,0,0xfffb3ba3, 9,0,0xfffe6af5, 9,0,0xfffe6af5, 9,0,0xfdd89013, 9,0, " -0312413",
+__LINE__,0xffffcd5f, 8,0,0xffff85f7, 8,0,0xffffcd5f, 8,0,0xffffcd5f, 8,0,0xffeaca77, 8,0, " -031241",
+__LINE__,0xfffffffd, 4,0,0xe88fc4ee,12,0,0xfffffffd, 4,0,0xfffffffd, 4,0,0x157981ce,12,0, " -0393231122",
+__LINE__,0xfffffffd, 4,0,0xffffffd9, 5,0,0xfffffffd, 4,0,0xfffffffd, 4,0,0xffffffa9, 5,0, " -039w",
+__LINE__,0xfffffffd, 4,0,0xfffffe77, 6,0,0xfffffffd, 4,0,0xfffffffd, 4,0,0xfffff727, 6,0, " -0393",
+__LINE__,0xfffffffd, 4,0,0xffffffd9, 5,0,0xfffffffd, 4,0,0xfffffffd, 4,0,0xffffffa9, 5,0, " -039",
+__LINE__,0xff92cdae,11,0,0xfe04eeee,11,0,0xff92cdae,11,0,0xff92cdae,11,0,0x2b1013ce,11,0, " -033231122",
+__LINE__,0xfffffffd, 4,0,0xfffffffd, 4,0,0xfffffffd, 4,0,0xfffffffd, 4,0,0xfffffffd, 4,0, " -03w",
+__LINE__,0xffffffe5, 5,0,0xffffffdf, 5,0,0xffffffe5, 5,0,0xffffffe5, 5,0,0xffffffaf, 5,0, " -033",
+__LINE__,0xfffffffd, 4,0,0xfffffffd, 4,0,0xfffffffd, 4,0,0xfffffffd, 4,0,0xfffffffd, 4,0, " -03",
+__LINE__,0xfe12cdae,12,0,0xf5acb3ee,12,0,0xfe12cdae,12,0,0xfe12cdae,12,0,0x111128ce,12,0, " -0173231122",
+__LINE__,0xfffffff1, 5,0,0xffffffef, 5,0,0xfffffff1, 5,0,0xfffffff1, 5,0,0xffffffdf, 5,0, " -017w",
+__LINE__,0xffffff85, 6,0,0xffffff53, 6,0,0xffffff85, 6,0,0xffffff85, 6,0,0xfffffca3, 6,0, " -0173",
+__LINE__,0xfffffff1, 5,0,0xffffffef, 5,0,0xfffffff1, 5,0,0xfffffff1, 5,0,0xffffffdf, 5,0, " -017",
+__LINE__,0xabd2cdae,15,0,0x80000000,14,34,0xabd2cdae,15,0,0xabd2cdae,15,0,0x80000000,11,34, " -0112413231122",
+__LINE__,0xffffed5f, 8,0,0xffffd417, 8,0,0xffffed5f, 8,0,0xffffed5f, 8,0,0xfff8bc97, 8,0, " -011241w",
+__LINE__,0xffff6af5, 9,0,0xfffe48e3, 9,0,0xffff6af5, 9,0,0xffff6af5, 9,0,0xff432753, 9,0, " -0112413",
+__LINE__,0xffffed5f, 8,0,0xffffd417, 8,0,0xffffed5f, 8,0,0xffffed5f, 8,0,0xfff8bc97, 8,0, " -011241",
+__LINE__,0xffffffff, 4,0,0xf47b86ee,12,0,0xffffffff, 4,0,0xffffffff, 4,0,0x5399c3ce,12,0, " -0193231122",
+__LINE__,0xffffffff, 4,0,0xffffffed, 5,0,0xffffffff, 4,0,0xffffffff, 4,0,0xffffffdd, 5,0, " -019w",
+__LINE__,0xffffffff, 4,0,0xffffff3f, 6,0,0xffffffff, 4,0,0xffffffff, 4,0,0xfffffc6f, 6,0, " -0193",
+__LINE__,0xffffffff, 4,0,0xffffffed, 5,0,0xffffffff, 4,0,0xffffffff, 4,0,0xffffffdd, 5,0, " -019",
+__LINE__,0xffd2cdae,11,0,0xff361bee,11,0,0xffd2cdae,11,0,0xffd2cdae,11,0,0xe88778ce,11,0, " -013231122",
+__LINE__,0xffffffff, 4,0,0xffffffff, 4,0,0xffffffff, 4,0,0xffffffff, 4,0,0xffffffff, 4,0, " -01w",
+__LINE__,0xfffffff5, 5,0,0xfffffff3, 5,0,0xfffffff5, 5,0,0xfffffff5, 5,0,0xffffffe3, 5,0, " -013",
+__LINE__,0xffffffff, 4,0,0xffffffff, 4,0,0xffffffff, 4,0,0xffffffff, 4,0,0xffffffff, 4,0, " -01",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x80000000,10,34,0x00000000, 0,0,0x80000000, 9,34, " -a73231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xffffff59, 4,0,0x00000000, 0,0,0xfffffef5, 4,0, " -a7w",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xfffff58d, 5,0,0x00000000, 0,0,0xffffe4df, 5,0, " -a73",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xffffff59, 4,0,0x00000000, 0,0,0xfffffef5, 4,0, " -a7",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x80000000,10,34,0x00000000, 0,0,0x80000000,10,34, " -a12413231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xfff5edbf, 7,0,0x00000000, 0,0,0xffb9fb07, 7,0, " -a1241w",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xff5edbed, 8,0,0x00000000, 0,0,0xf8e37eb3, 8,0, " -a12413",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xfff5edbf, 7,0,0x00000000, 0,0,0xffb9fb07, 7,0, " -a1241",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x80000000,10,34,0x00000000, 0,0,0x80000000, 9,34, " -a93231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xffffff57, 4,0,0x00000000, 0,0,0xfffffef3, 4,0, " -a9w",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xfffff56d, 5,0,0x00000000, 0,0,0xffffe4ab, 5,0, " -a93",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xffffff57, 4,0,0x00000000, 0,0,0xfffffef3, 4,0, " -a9",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x5cdceede,10,0,0x00000000, 0,0,0x13ee324e,10,0, " -a3231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xfffffff6, 3,0,0x00000000, 0,0,0xfffffff6, 3,0, " -aw",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xffffff5d, 4,0,0x00000000, 0,0,0xfffffef9, 4,0, " -a3",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xfffffff6, 3,0,0x00000000, 0,0,0xfffffff6, 3,0, " -a",
+__LINE__,0xf812cdae,11,0,0xd1e96dee,11,0,0x80000000,10,34,0xd1e96dee,11,0,0x56b062ce,11,0, " -773231122",
+__LINE__,0xffffffc1, 4,0,0xffffffb3, 4,0,0xffffff89, 4,0,0xffffffb3, 4,0,0xffffff43, 4,0, " -77w",
+__LINE__,0xfffffe05, 5,0,0xfffffcfb, 5,0,0xfffff88d, 5,0,0xfffffcfb, 5,0,0xffffeccb, 5,0, " -773",
+__LINE__,0xffffffc1, 4,0,0xffffffb3, 4,0,0xffffff89, 4,0,0xffffffb3, 4,0,0xffffff43, 4,0, " -77",
+__LINE__,0x80000000,13,34,0x80000000,12,34,0x80000000,10,34,0x80000000,12,34,0x80000000, 9,34, " -712413231122",
+__LINE__,0xffff8d5f, 7,0,0xfffee9b7, 7,0,0xfff8edbf, 7,0,0xfffee9b7, 7,0,0xffcee637, 7,0, " -71241w",
+__LINE__,0xfffc6af5, 8,0,0xfff52123, 8,0,0xff8edbed, 8,0,0xfff52123, 8,0,0xfb036193, 8,0, " -712413",
+__LINE__,0xffff8d5f, 7,0,0xfffee9b7, 7,0,0xfff8edbf, 7,0,0xfffee9b7, 7,0,0xffcee637, 7,0, " -71241",
+__LINE__,0xfffffff9, 3,0,0xd0b840ee,11,0,0x6cdceede,11,0,0xd0b840ee,11,0,0x80000000,10,34, " -793231122",
+__LINE__,0xfffffff9, 3,0,0xffffffb1, 4,0,0xffffff87, 4,0,0xffffffb1, 4,0,0xffffff41, 4,0, " -79w",
+__LINE__,0xfffffff9, 3,0,0xfffffce7, 5,0,0xfffff86d, 5,0,0xfffffce7, 5,0,0xffffec97, 5,0, " -793",
+__LINE__,0xfffffff9, 3,0,0xffffffb1, 4,0,0xffffff87, 4,0,0xffffffb1, 4,0,0xffffff41, 4,0, " -79",
+__LINE__,0xff12cdae,10,0,0xfba294ee,10,0,0x8cdceede,10,0,0xfba294ee,10,0,0x80000000, 9,34, " -73231122",
+__LINE__,0xfffffff9, 3,0,0xfffffff9, 3,0,0xfffffff9, 3,0,0xfffffff9, 3,0,0xfffffff9, 3,0, " -7w",
+__LINE__,0xffffffc5, 4,0,0xffffffb7, 4,0,0xffffff8d, 4,0,0xffffffb7, 4,0,0xffffff47, 4,0, " -73",
+__LINE__,0xfffffff9, 3,0,0xfffffff9, 3,0,0xfffffff9, 3,0,0xfffffff9, 3,0,0xfffffff9, 3,0, " -7",
+__LINE__,0xfc12cdae,11,0,0xe9c0f1ee,11,0,0x8cdceede,11,0,0xe9c0f1ee,11,0,0x80000000, 9,34, " -373231122",
+__LINE__,0xffffffe1, 4,0,0xffffffdb, 4,0,0xffffffc9, 4,0,0xffffffdb, 4,0,0xffffffab, 4,0, " -37w",
+__LINE__,0xffffff05, 5,0,0xfffffe8b, 5,0,0xfffffc8d, 5,0,0xfffffe8b, 5,0,0xfffff75b, 5,0, " -373",
+__LINE__,0xffffffe1, 4,0,0xffffffdb, 4,0,0xffffffc9, 4,0,0xffffffdb, 4,0,0xffffffab, 4,0, " -37",
+__LINE__,0x80000000,13,34,0x80000000,12,34,0x80000000,10,34,0x80000000,12,34,0x80000000,11,34, " -312413231122",
+__LINE__,0xffffcd5f, 7,0,0xffff85f7, 7,0,0xfffcedbf, 7,0,0xffff85f7, 7,0,0xffeaca77, 7,0, " -31241w",
+__LINE__,0xfffe6af5, 8,0,0xfffb3ba3, 8,0,0xffcedbed, 8,0,0xfffb3ba3, 8,0,0xfdd89013, 8,0, " -312413",
+__LINE__,0xffffcd5f, 7,0,0xffff85f7, 7,0,0xfffcedbf, 7,0,0xffff85f7, 7,0,0xffeaca77, 7,0, " -31241",
+__LINE__,0xfffffffd, 3,0,0xe88fc4ee,11,0,0x6cdceede,11,0,0xe88fc4ee,11,0,0x157981ce,11,0, " -393231122",
+__LINE__,0xfffffffd, 3,0,0xffffffd9, 4,0,0xffffffc7, 4,0,0xffffffd9, 4,0,0xffffffa9, 4,0, " -39w",
+__LINE__,0xfffffffd, 3,0,0xfffffe77, 5,0,0xfffffc6d, 5,0,0xfffffe77, 5,0,0xfffff727, 5,0, " -393",
+__LINE__,0xfffffffd, 3,0,0xffffffd9, 4,0,0xffffffc7, 4,0,0xffffffd9, 4,0,0xffffffa9, 4,0, " -39",
+__LINE__,0xff92cdae,10,0,0xfe04eeee,10,0,0xccdceede,10,0,0xfe04eeee,10,0,0x2b1013ce,10,0, " -33231122",
+__LINE__,0xfffffffd, 3,0,0xfffffffd, 3,0,0xfffffffd, 3,0,0xfffffffd, 3,0,0xfffffffd, 3,0, " -3w",
+__LINE__,0xffffffe5, 4,0,0xffffffdf, 4,0,0xffffffcd, 4,0,0xffffffdf, 4,0,0xffffffaf, 4,0, " -33",
+__LINE__,0xfffffffd, 3,0,0xfffffffd, 3,0,0xfffffffd, 3,0,0xfffffffd, 3,0,0xfffffffd, 3,0, " -3",
+__LINE__,0xfe12cdae,11,0,0xf5acb3ee,11,0,0x8cdceede,11,0,0xf5acb3ee,11,0,0x111128ce,11,0, " -173231122",
+__LINE__,0xfffffff1, 4,0,0xffffffef, 4,0,0xffffffe9, 4,0,0xffffffef, 4,0,0xffffffdf, 4,0, " -17w",
+__LINE__,0xffffff85, 5,0,0xffffff53, 5,0,0xfffffe8d, 5,0,0xffffff53, 5,0,0xfffffca3, 5,0, " -173",
+__LINE__,0xfffffff1, 4,0,0xffffffef, 4,0,0xffffffe9, 4,0,0xffffffef, 4,0,0xffffffdf, 4,0, " -17",
+__LINE__,0xabd2cdae,14,0,0x80000000,13,34,0x80000000,13,34,0x80000000,13,34,0x80000000,10,34, " -112413231122",
+__LINE__,0xffffed5f, 7,0,0xffffd417, 7,0,0xfffeedbf, 7,0,0xffffd417, 7,0,0xfff8bc97, 7,0, " -11241w",
+__LINE__,0xffff6af5, 8,0,0xfffe48e3, 8,0,0xffeedbed, 8,0,0xfffe48e3, 8,0,0xff432753, 8,0, " -112413",
+__LINE__,0xffffed5f, 7,0,0xffffd417, 7,0,0xfffeedbf, 7,0,0xffffd417, 7,0,0xfff8bc97, 7,0, " -11241",
+__LINE__,0xffffffff, 3,0,0xf47b86ee,11,0,0x6cdceede,11,0,0xf47b86ee,11,0,0x5399c3ce,11,0, " -193231122",
+__LINE__,0xffffffff, 3,0,0xffffffed, 4,0,0xffffffe7, 4,0,0xffffffed, 4,0,0xffffffdd, 4,0, " -19w",
+__LINE__,0xffffffff, 3,0,0xffffff3f, 5,0,0xfffffe6d, 5,0,0xffffff3f, 5,0,0xfffffc6f, 5,0, " -193",
+__LINE__,0xffffffff, 3,0,0xffffffed, 4,0,0xffffffe7, 4,0,0xffffffed, 4,0,0xffffffdd, 4,0, " -19",
+__LINE__,0xffd2cdae,10,0,0xff361bee,10,0,0xecdceede,10,0,0xff361bee,10,0,0xe88778ce,10,0, " -13231122",
+__LINE__,0xffffffff, 3,0,0xffffffff, 3,0,0xffffffff, 3,0,0xffffffff, 3,0,0xffffffff, 3,0, " -1w",
+__LINE__,0xfffffff5, 4,0,0xfffffff3, 4,0,0xffffffed, 4,0,0xfffffff3, 4,0,0xffffffe3, 4,0, " -13",
+__LINE__,0xffffffff, 3,0,0xffffffff, 3,0,0xffffffff, 3,0,0xffffffff, 3,0,0xffffffff, 3,0, " -1",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x7fffffff,11,34,0x7fffffff,11,34,0x00000000, 2,0, " 0xa73231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x000000a7, 5,0,0x000000a7, 5,0,0x00000000, 2,0, " 0xa7w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000a73, 6,0,0x00000a73, 6,0,0x00000000, 2,0, " 0xa73",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x000000a7, 5,0,0x000000a7, 5,0,0x00000000, 2,0, " 0xa7",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x7fffffff,11,34,0x7fffffff,11,34,0x00000000, 2,0, " 0xa12413231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x000a1241, 8,0,0x000a1241, 8,0,0x00000000, 2,0, " 0xa1241w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00a12413, 9,0,0x00a12413, 9,0,0x00000000, 2,0, " 0xa12413",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x000a1241, 8,0,0x000a1241, 8,0,0x00000000, 2,0, " 0xa1241",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x7fffffff,11,34,0x7fffffff,11,34,0x00000000, 2,0, " 0xa93231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x000000a9, 5,0,0x000000a9, 5,0,0x00000000, 2,0, " 0xa9w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000a93, 6,0,0x00000a93, 6,0,0x00000000, 2,0, " 0xa93",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x000000a9, 5,0,0x000000a9, 5,0,0x00000000, 2,0, " 0xa9",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xa3231122,11,0,0xa3231122,11,0,0x00000000, 2,0, " 0xa3231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x0000000a, 4,0,0x0000000a, 4,0,0x00000000, 2,0, " 0xaw",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x000000a3, 5,0,0x000000a3, 5,0,0x00000000, 2,0, " 0xa3",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x0000000a, 4,0,0x0000000a, 4,0,0x00000000, 2,0, " 0xa",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x7fffffff,11,34,0x7fffffff,11,34,0x00000000, 2,0, " 0x773231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000077, 5,0,0x00000077, 5,0,0x00000000, 2,0, " 0x77w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000773, 6,0,0x00000773, 6,0,0x00000000, 2,0, " 0x773",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000077, 5,0,0x00000077, 5,0,0x00000000, 2,0, " 0x77",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x7fffffff,11,34,0x7fffffff,11,34,0x00000000, 2,0, " 0x712413231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00071241, 8,0,0x00071241, 8,0,0x00000000, 2,0, " 0x71241w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00712413, 9,0,0x00712413, 9,0,0x00000000, 2,0, " 0x712413",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00071241, 8,0,0x00071241, 8,0,0x00000000, 2,0, " 0x71241",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x93231122,12,0,0x93231122,12,0,0x00000000, 2,0, " 0x793231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000079, 5,0,0x00000079, 5,0,0x00000000, 2,0, " 0x79w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000793, 6,0,0x00000793, 6,0,0x00000000, 2,0, " 0x793",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000079, 5,0,0x00000079, 5,0,0x00000000, 2,0, " 0x79",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x73231122,11,0,0x73231122,11,0,0x00000000, 2,0, " 0x73231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000007, 4,0,0x00000007, 4,0,0x00000000, 2,0, " 0x7w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000073, 5,0,0x00000073, 5,0,0x00000000, 2,0, " 0x73",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000007, 4,0,0x00000007, 4,0,0x00000000, 2,0, " 0x7",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x73231122,12,0,0x73231122,12,0,0x00000000, 2,0, " 0x373231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000037, 5,0,0x00000037, 5,0,0x00000000, 2,0, " 0x37w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000373, 6,0,0x00000373, 6,0,0x00000000, 2,0, " 0x373",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000037, 5,0,0x00000037, 5,0,0x00000000, 2,0, " 0x37",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x7fffffff,11,34,0x7fffffff,11,34,0x00000000, 2,0, " 0x312413231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00031241, 8,0,0x00031241, 8,0,0x00000000, 2,0, " 0x31241w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00312413, 9,0,0x00312413, 9,0,0x00000000, 2,0, " 0x312413",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00031241, 8,0,0x00031241, 8,0,0x00000000, 2,0, " 0x31241",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x93231122,12,0,0x93231122,12,0,0x00000000, 2,0, " 0x393231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000039, 5,0,0x00000039, 5,0,0x00000000, 2,0, " 0x39w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000393, 6,0,0x00000393, 6,0,0x00000000, 2,0, " 0x393",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000039, 5,0,0x00000039, 5,0,0x00000000, 2,0, " 0x39",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x33231122,11,0,0x33231122,11,0,0x00000000, 2,0, " 0x33231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000003, 4,0,0x00000003, 4,0,0x00000000, 2,0, " 0x3w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000033, 5,0,0x00000033, 5,0,0x00000000, 2,0, " 0x33",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000003, 4,0,0x00000003, 4,0,0x00000000, 2,0, " 0x3",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x73231122,12,0,0x73231122,12,0,0x00000000, 2,0, " 0x173231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000017, 5,0,0x00000017, 5,0,0x00000000, 2,0, " 0x17w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000173, 6,0,0x00000173, 6,0,0x00000000, 2,0, " 0x173",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000017, 5,0,0x00000017, 5,0,0x00000000, 2,0, " 0x17",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x7fffffff,14,34,0x7fffffff,14,34,0x00000000, 2,0, " 0x112413231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00011241, 8,0,0x00011241, 8,0,0x00000000, 2,0, " 0x11241w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00112413, 9,0,0x00112413, 9,0,0x00000000, 2,0, " 0x112413",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00011241, 8,0,0x00011241, 8,0,0x00000000, 2,0, " 0x11241",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x93231122,12,0,0x93231122,12,0,0x00000000, 2,0, " 0x193231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000019, 5,0,0x00000019, 5,0,0x00000000, 2,0, " 0x19w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000193, 6,0,0x00000193, 6,0,0x00000000, 2,0, " 0x193",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000019, 5,0,0x00000019, 5,0,0x00000000, 2,0, " 0x19",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x13231122,11,0,0x13231122,11,0,0x00000000, 2,0, " 0x13231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000001, 4,0,0x00000001, 4,0,0x00000000, 2,0, " 0x1w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000013, 5,0,0x00000013, 5,0,0x00000000, 2,0, " 0x13",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000001, 4,0,0x00000001, 4,0,0x00000000, 2,0, " 0x1",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff, 9,34, " 0a73231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x0000010b, 4,0, " 0a7w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x00001b21, 5,0, " 0a73",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x0000010b, 4,0, " 0a7",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff,10,34, " 0a12413231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x004604f9, 7,0, " 0a1241w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x071c814d, 8,0, " 0a12413",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x004604f9, 7,0, " 0a1241",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff, 9,34, " 0a93231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x0000010d, 4,0, " 0a9w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x00001b55, 5,0, " 0a93",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x0000010d, 4,0, " 0a9",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0xec11cdb2,10,0, " 0a3231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x0000000a, 3,0, " 0aw",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x00000107, 4,0, " 0a3",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x0000000a, 3,0, " 0a",
+__LINE__,0x07ed3252,11,0,0x2e169212,11,0,0x07ed3252,11,0,0x07ed3252,11,0,0xa94f9d32,11,0, " 0773231122",
+__LINE__,0x0000003f, 4,0,0x0000004d, 4,0,0x0000003f, 4,0,0x0000003f, 4,0,0x000000bd, 4,0, " 077w",
+__LINE__,0x000001fb, 5,0,0x00000305, 5,0,0x000001fb, 5,0,0x000001fb, 5,0,0x00001335, 5,0, " 0773",
+__LINE__,0x0000003f, 4,0,0x0000004d, 4,0,0x0000003f, 4,0,0x0000003f, 4,0,0x000000bd, 4,0, " 077",
+__LINE__,0x7fffffff,13,34,0x7fffffff,12,34,0x7fffffff,13,34,0x7fffffff,13,34,0x7fffffff, 9,34, " 0712413231122",
+__LINE__,0x000072a1, 7,0,0x00011649, 7,0,0x000072a1, 7,0,0x000072a1, 7,0,0x003119c9, 7,0, " 071241w",
+__LINE__,0x0003950b, 8,0,0x000adedd, 8,0,0x0003950b, 8,0,0x0003950b, 8,0,0x04fc9e6d, 8,0, " 0712413",
+__LINE__,0x000072a1, 7,0,0x00011649, 7,0,0x000072a1, 7,0,0x000072a1, 7,0,0x003119c9, 7,0, " 071241",
+__LINE__,0x00000007, 3,0,0x2f47bf12,11,0,0x00000007, 3,0,0x00000007, 3,0,0x7fffffff,10,34, " 0793231122",
+__LINE__,0x00000007, 3,0,0x0000004f, 4,0,0x00000007, 3,0,0x00000007, 3,0,0x000000bf, 4,0, " 079w",
+__LINE__,0x00000007, 3,0,0x00000319, 5,0,0x00000007, 3,0,0x00000007, 3,0,0x00001369, 5,0, " 0793",
+__LINE__,0x00000007, 3,0,0x0000004f, 4,0,0x00000007, 3,0,0x00000007, 3,0,0x000000bf, 4,0, " 079",
+__LINE__,0x00ed3252,10,0,0x045d6b12,10,0,0x00ed3252,10,0,0x00ed3252,10,0,0x7fffffff, 9,34, " 073231122",
+__LINE__,0x00000007, 3,0,0x00000007, 3,0,0x00000007, 3,0,0x00000007, 3,0,0x00000007, 3,0, " 07w",
+__LINE__,0x0000003b, 4,0,0x00000049, 4,0,0x0000003b, 4,0,0x0000003b, 4,0,0x000000b9, 4,0, " 073",
+__LINE__,0x00000007, 3,0,0x00000007, 3,0,0x00000007, 3,0,0x00000007, 3,0,0x00000007, 3,0, " 07",
+__LINE__,0x03ed3252,11,0,0x163f0e12,11,0,0x03ed3252,11,0,0x03ed3252,11,0,0x7fffffff, 9,34, " 0373231122",
+__LINE__,0x0000001f, 4,0,0x00000025, 4,0,0x0000001f, 4,0,0x0000001f, 4,0,0x00000055, 4,0, " 037w",
+__LINE__,0x000000fb, 5,0,0x00000175, 5,0,0x000000fb, 5,0,0x000000fb, 5,0,0x000008a5, 5,0, " 0373",
+__LINE__,0x0000001f, 4,0,0x00000025, 4,0,0x0000001f, 4,0,0x0000001f, 4,0,0x00000055, 4,0, " 037",
+__LINE__,0x7fffffff,13,34,0x7fffffff,12,34,0x7fffffff,13,34,0x7fffffff,13,34,0x7fffffff,11,34, " 0312413231122",
+__LINE__,0x000032a1, 7,0,0x00007a09, 7,0,0x000032a1, 7,0,0x000032a1, 7,0,0x00153589, 7,0, " 031241w",
+__LINE__,0x0001950b, 8,0,0x0004c45d, 8,0,0x0001950b, 8,0,0x0001950b, 8,0,0x02276fed, 8,0, " 0312413",
+__LINE__,0x000032a1, 7,0,0x00007a09, 7,0,0x000032a1, 7,0,0x000032a1, 7,0,0x00153589, 7,0, " 031241",
+__LINE__,0x00000003, 3,0,0x17703b12,11,0,0x00000003, 3,0,0x00000003, 3,0,0xea867e32,11,0, " 0393231122",
+__LINE__,0x00000003, 3,0,0x00000027, 4,0,0x00000003, 3,0,0x00000003, 3,0,0x00000057, 4,0, " 039w",
+__LINE__,0x00000003, 3,0,0x00000189, 5,0,0x00000003, 3,0,0x00000003, 3,0,0x000008d9, 5,0, " 0393",
+__LINE__,0x00000003, 3,0,0x00000027, 4,0,0x00000003, 3,0,0x00000003, 3,0,0x00000057, 4,0, " 039",
+__LINE__,0x006d3252,10,0,0x01fb1112,10,0,0x006d3252,10,0,0x006d3252,10,0,0xd4efec32,10,0, " 033231122",
+__LINE__,0x00000003, 3,0,0x00000003, 3,0,0x00000003, 3,0,0x00000003, 3,0,0x00000003, 3,0, " 03w",
+__LINE__,0x0000001b, 4,0,0x00000021, 4,0,0x0000001b, 4,0,0x0000001b, 4,0,0x00000051, 4,0, " 033",
+__LINE__,0x00000003, 3,0,0x00000003, 3,0,0x00000003, 3,0,0x00000003, 3,0,0x00000003, 3,0, " 03",
+__LINE__,0x01ed3252,11,0,0x0a534c12,11,0,0x01ed3252,11,0,0x01ed3252,11,0,0xeeeed732,11,0, " 0173231122",
+__LINE__,0x0000000f, 4,0,0x00000011, 4,0,0x0000000f, 4,0,0x0000000f, 4,0,0x00000021, 4,0, " 017w",
+__LINE__,0x0000007b, 5,0,0x000000ad, 5,0,0x0000007b, 5,0,0x0000007b, 5,0,0x0000035d, 5,0, " 0173",
+__LINE__,0x0000000f, 4,0,0x00000011, 4,0,0x0000000f, 4,0,0x0000000f, 4,0,0x00000021, 4,0, " 017",
+__LINE__,0x542d3252,14,0,0x7fffffff,13,34,0x542d3252,14,0,0x542d3252,14,0,0x7fffffff,10,34, " 0112413231122",
+__LINE__,0x000012a1, 7,0,0x00002be9, 7,0,0x000012a1, 7,0,0x000012a1, 7,0,0x00074369, 7,0, " 011241w",
+__LINE__,0x0000950b, 8,0,0x0001b71d, 8,0,0x0000950b, 8,0,0x0000950b, 8,0,0x00bcd8ad, 8,0, " 0112413",
+__LINE__,0x000012a1, 7,0,0x00002be9, 7,0,0x000012a1, 7,0,0x000012a1, 7,0,0x00074369, 7,0, " 011241",
+__LINE__,0x00000001, 3,0,0x0b847912,11,0,0x00000001, 3,0,0x00000001, 3,0,0xac663c32,11,0, " 0193231122",
+__LINE__,0x00000001, 3,0,0x00000013, 4,0,0x00000001, 3,0,0x00000001, 3,0,0x00000023, 4,0, " 019w",
+__LINE__,0x00000001, 3,0,0x000000c1, 5,0,0x00000001, 3,0,0x00000001, 3,0,0x00000391, 5,0, " 0193",
+__LINE__,0x00000001, 3,0,0x00000013, 4,0,0x00000001, 3,0,0x00000001, 3,0,0x00000023, 4,0, " 019",
+__LINE__,0x002d3252,10,0,0x00c9e412,10,0,0x002d3252,10,0,0x002d3252,10,0,0x17788732,10,0, " 013231122",
+__LINE__,0x00000001, 3,0,0x00000001, 3,0,0x00000001, 3,0,0x00000001, 3,0,0x00000001, 3,0, " 01w",
+__LINE__,0x0000000b, 4,0,0x0000000d, 4,0,0x0000000b, 4,0,0x0000000b, 4,0,0x0000001d, 4,0, " 013",
+__LINE__,0x00000001, 3,0,0x00000001, 3,0,0x00000001, 3,0,0x00000001, 3,0,0x00000001, 3,0, " 01",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff, 9,34,0x00000000, 0,0,0x7fffffff, 8,34, " a73231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000000a7, 3,0,0x00000000, 0,0,0x0000010b, 3,0, " a7w",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x00000a73, 4,0,0x00000000, 0,0,0x00001b21, 4,0, " a73",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000000a7, 3,0,0x00000000, 0,0,0x0000010b, 3,0, " a7",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff, 9,34,0x00000000, 0,0,0x7fffffff, 9,34, " a12413231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000a1241, 6,0,0x00000000, 0,0,0x004604f9, 6,0, " a1241w",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x00a12413, 7,0,0x00000000, 0,0,0x071c814d, 7,0, " a12413",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000a1241, 6,0,0x00000000, 0,0,0x004604f9, 6,0, " a1241",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff, 9,34,0x00000000, 0,0,0x7fffffff, 8,34, " a93231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000000a9, 3,0,0x00000000, 0,0,0x0000010d, 3,0, " a9w",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x00000a93, 4,0,0x00000000, 0,0,0x00001b55, 4,0, " a93",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000000a9, 3,0,0x00000000, 0,0,0x0000010d, 3,0, " a9",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xa3231122, 9,0,0x00000000, 0,0,0xec11cdb2, 9,0, " a3231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x0000000a, 2,0,0x00000000, 0,0,0x0000000a, 2,0, " aw",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000000a3, 3,0,0x00000000, 0,0,0x00000107, 3,0, " a3",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x0000000a, 2,0,0x00000000, 0,0,0x0000000a, 2,0, " a",
+__LINE__,0x07ed3252,10,0,0x2e169212,10,0,0x7fffffff, 9,34,0x2e169212,10,0,0xa94f9d32,10,0, " 773231122",
+__LINE__,0x0000003f, 3,0,0x0000004d, 3,0,0x00000077, 3,0,0x0000004d, 3,0,0x000000bd, 3,0, " 77w",
+__LINE__,0x000001fb, 4,0,0x00000305, 4,0,0x00000773, 4,0,0x00000305, 4,0,0x00001335, 4,0, " 773",
+__LINE__,0x0000003f, 3,0,0x0000004d, 3,0,0x00000077, 3,0,0x0000004d, 3,0,0x000000bd, 3,0, " 77",
+__LINE__,0x7fffffff,12,34,0x7fffffff,11,34,0x7fffffff, 9,34,0x7fffffff,11,34,0x7fffffff, 8,34, " 712413231122",
+__LINE__,0x000072a1, 6,0,0x00011649, 6,0,0x00071241, 6,0,0x00011649, 6,0,0x003119c9, 6,0, " 71241w",
+__LINE__,0x0003950b, 7,0,0x000adedd, 7,0,0x00712413, 7,0,0x000adedd, 7,0,0x04fc9e6d, 7,0, " 712413",
+__LINE__,0x000072a1, 6,0,0x00011649, 6,0,0x00071241, 6,0,0x00011649, 6,0,0x003119c9, 6,0, " 71241",
+__LINE__,0x00000007, 2,0,0x2f47bf12,10,0,0x93231122,10,0,0x2f47bf12,10,0,0x7fffffff, 9,34, " 793231122",
+__LINE__,0x00000007, 2,0,0x0000004f, 3,0,0x00000079, 3,0,0x0000004f, 3,0,0x000000bf, 3,0, " 79w",
+__LINE__,0x00000007, 2,0,0x00000319, 4,0,0x00000793, 4,0,0x00000319, 4,0,0x00001369, 4,0, " 793",
+__LINE__,0x00000007, 2,0,0x0000004f, 3,0,0x00000079, 3,0,0x0000004f, 3,0,0x000000bf, 3,0, " 79",
+__LINE__,0x00ed3252, 9,0,0x045d6b12, 9,0,0x73231122, 9,0,0x045d6b12, 9,0,0x7fffffff, 8,34, " 73231122",
+__LINE__,0x00000007, 2,0,0x00000007, 2,0,0x00000007, 2,0,0x00000007, 2,0,0x00000007, 2,0, " 7w",
+__LINE__,0x0000003b, 3,0,0x00000049, 3,0,0x00000073, 3,0,0x00000049, 3,0,0x000000b9, 3,0, " 73",
+__LINE__,0x00000007, 2,0,0x00000007, 2,0,0x00000007, 2,0,0x00000007, 2,0,0x00000007, 2,0, " 7",
+__LINE__,0x03ed3252,10,0,0x163f0e12,10,0,0x73231122,10,0,0x163f0e12,10,0,0x7fffffff, 8,34, " 373231122",
+__LINE__,0x0000001f, 3,0,0x00000025, 3,0,0x00000037, 3,0,0x00000025, 3,0,0x00000055, 3,0, " 37w",
+__LINE__,0x000000fb, 4,0,0x00000175, 4,0,0x00000373, 4,0,0x00000175, 4,0,0x000008a5, 4,0, " 373",
+__LINE__,0x0000001f, 3,0,0x00000025, 3,0,0x00000037, 3,0,0x00000025, 3,0,0x00000055, 3,0, " 37",
+__LINE__,0x7fffffff,12,34,0x7fffffff,11,34,0x7fffffff, 9,34,0x7fffffff,11,34,0x7fffffff,10,34, " 312413231122",
+__LINE__,0x000032a1, 6,0,0x00007a09, 6,0,0x00031241, 6,0,0x00007a09, 6,0,0x00153589, 6,0, " 31241w",
+__LINE__,0x0001950b, 7,0,0x0004c45d, 7,0,0x00312413, 7,0,0x0004c45d, 7,0,0x02276fed, 7,0, " 312413",
+__LINE__,0x000032a1, 6,0,0x00007a09, 6,0,0x00031241, 6,0,0x00007a09, 6,0,0x00153589, 6,0, " 31241",
+__LINE__,0x00000003, 2,0,0x17703b12,10,0,0x93231122,10,0,0x17703b12,10,0,0xea867e32,10,0, " 393231122",
+__LINE__,0x00000003, 2,0,0x00000027, 3,0,0x00000039, 3,0,0x00000027, 3,0,0x00000057, 3,0, " 39w",
+__LINE__,0x00000003, 2,0,0x00000189, 4,0,0x00000393, 4,0,0x00000189, 4,0,0x000008d9, 4,0, " 393",
+__LINE__,0x00000003, 2,0,0x00000027, 3,0,0x00000039, 3,0,0x00000027, 3,0,0x00000057, 3,0, " 39",
+__LINE__,0x006d3252, 9,0,0x01fb1112, 9,0,0x33231122, 9,0,0x01fb1112, 9,0,0xd4efec32, 9,0, " 33231122",
+__LINE__,0x00000003, 2,0,0x00000003, 2,0,0x00000003, 2,0,0x00000003, 2,0,0x00000003, 2,0, " 3w",
+__LINE__,0x0000001b, 3,0,0x00000021, 3,0,0x00000033, 3,0,0x00000021, 3,0,0x00000051, 3,0, " 33",
+__LINE__,0x00000003, 2,0,0x00000003, 2,0,0x00000003, 2,0,0x00000003, 2,0,0x00000003, 2,0, " 3",
+__LINE__,0x01ed3252,10,0,0x0a534c12,10,0,0x73231122,10,0,0x0a534c12,10,0,0xeeeed732,10,0, " 173231122",
+__LINE__,0x0000000f, 3,0,0x00000011, 3,0,0x00000017, 3,0,0x00000011, 3,0,0x00000021, 3,0, " 17w",
+__LINE__,0x0000007b, 4,0,0x000000ad, 4,0,0x00000173, 4,0,0x000000ad, 4,0,0x0000035d, 4,0, " 173",
+__LINE__,0x0000000f, 3,0,0x00000011, 3,0,0x00000017, 3,0,0x00000011, 3,0,0x00000021, 3,0, " 17",
+__LINE__,0x542d3252,13,0,0x7fffffff,12,34,0x7fffffff,12,34,0x7fffffff,12,34,0x7fffffff, 9,34, " 112413231122",
+__LINE__,0x000012a1, 6,0,0x00002be9, 6,0,0x00011241, 6,0,0x00002be9, 6,0,0x00074369, 6,0, " 11241w",
+__LINE__,0x0000950b, 7,0,0x0001b71d, 7,0,0x00112413, 7,0,0x0001b71d, 7,0,0x00bcd8ad, 7,0, " 112413",
+__LINE__,0x000012a1, 6,0,0x00002be9, 6,0,0x00011241, 6,0,0x00002be9, 6,0,0x00074369, 6,0, " 11241",
+__LINE__,0x00000001, 2,0,0x0b847912,10,0,0x93231122,10,0,0x0b847912,10,0,0xac663c32,10,0, " 193231122",
+__LINE__,0x00000001, 2,0,0x00000013, 3,0,0x00000019, 3,0,0x00000013, 3,0,0x00000023, 3,0, " 19w",
+__LINE__,0x00000001, 2,0,0x000000c1, 4,0,0x00000193, 4,0,0x000000c1, 4,0,0x00000391, 4,0, " 193",
+__LINE__,0x00000001, 2,0,0x00000013, 3,0,0x00000019, 3,0,0x00000013, 3,0,0x00000023, 3,0, " 19",
+__LINE__,0x002d3252, 9,0,0x00c9e412, 9,0,0x13231122, 9,0,0x00c9e412, 9,0,0x17788732, 9,0, " 13231122",
+__LINE__,0x00000001, 2,0,0x00000001, 2,0,0x00000001, 2,0,0x00000001, 2,0,0x00000001, 2,0, " 1w",
+__LINE__,0x0000000b, 3,0,0x0000000d, 3,0,0x00000013, 3,0,0x0000000d, 3,0,0x0000001d, 3,0, " 13",
+__LINE__,0x00000001, 2,0,0x00000001, 2,0,0x00000001, 2,0,0x00000001, 2,0,0x00000001, 2,0, " 1",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x7fffffff,11,34,0x7fffffff,11,34,0x00000000, 2,0, "+0xa73231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x000000a7, 5,0,0x000000a7, 5,0,0x00000000, 2,0, "+0xa7w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000a73, 6,0,0x00000a73, 6,0,0x00000000, 2,0, "+0xa73",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x000000a7, 5,0,0x000000a7, 5,0,0x00000000, 2,0, "+0xa7",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x7fffffff,11,34,0x7fffffff,11,34,0x00000000, 2,0, "+0xa12413231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x000a1241, 8,0,0x000a1241, 8,0,0x00000000, 2,0, "+0xa1241w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00a12413, 9,0,0x00a12413, 9,0,0x00000000, 2,0, "+0xa12413",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x000a1241, 8,0,0x000a1241, 8,0,0x00000000, 2,0, "+0xa1241",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x7fffffff,11,34,0x7fffffff,11,34,0x00000000, 2,0, "+0xa93231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x000000a9, 5,0,0x000000a9, 5,0,0x00000000, 2,0, "+0xa9w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000a93, 6,0,0x00000a93, 6,0,0x00000000, 2,0, "+0xa93",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x000000a9, 5,0,0x000000a9, 5,0,0x00000000, 2,0, "+0xa9",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xa3231122,11,0,0xa3231122,11,0,0x00000000, 2,0, "+0xa3231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x0000000a, 4,0,0x0000000a, 4,0,0x00000000, 2,0, "+0xaw",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x000000a3, 5,0,0x000000a3, 5,0,0x00000000, 2,0, "+0xa3",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x0000000a, 4,0,0x0000000a, 4,0,0x00000000, 2,0, "+0xa",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x7fffffff,11,34,0x7fffffff,11,34,0x00000000, 2,0, "+0x773231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000077, 5,0,0x00000077, 5,0,0x00000000, 2,0, "+0x77w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000773, 6,0,0x00000773, 6,0,0x00000000, 2,0, "+0x773",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000077, 5,0,0x00000077, 5,0,0x00000000, 2,0, "+0x77",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x7fffffff,11,34,0x7fffffff,11,34,0x00000000, 2,0, "+0x712413231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00071241, 8,0,0x00071241, 8,0,0x00000000, 2,0, "+0x71241w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00712413, 9,0,0x00712413, 9,0,0x00000000, 2,0, "+0x712413",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00071241, 8,0,0x00071241, 8,0,0x00000000, 2,0, "+0x71241",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x93231122,12,0,0x93231122,12,0,0x00000000, 2,0, "+0x793231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000079, 5,0,0x00000079, 5,0,0x00000000, 2,0, "+0x79w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000793, 6,0,0x00000793, 6,0,0x00000000, 2,0, "+0x793",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000079, 5,0,0x00000079, 5,0,0x00000000, 2,0, "+0x79",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x73231122,11,0,0x73231122,11,0,0x00000000, 2,0, "+0x73231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000007, 4,0,0x00000007, 4,0,0x00000000, 2,0, "+0x7w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000073, 5,0,0x00000073, 5,0,0x00000000, 2,0, "+0x73",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000007, 4,0,0x00000007, 4,0,0x00000000, 2,0, "+0x7",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x73231122,12,0,0x73231122,12,0,0x00000000, 2,0, "+0x373231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000037, 5,0,0x00000037, 5,0,0x00000000, 2,0, "+0x37w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000373, 6,0,0x00000373, 6,0,0x00000000, 2,0, "+0x373",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000037, 5,0,0x00000037, 5,0,0x00000000, 2,0, "+0x37",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x7fffffff,11,34,0x7fffffff,11,34,0x00000000, 2,0, "+0x312413231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00031241, 8,0,0x00031241, 8,0,0x00000000, 2,0, "+0x31241w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00312413, 9,0,0x00312413, 9,0,0x00000000, 2,0, "+0x312413",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00031241, 8,0,0x00031241, 8,0,0x00000000, 2,0, "+0x31241",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x93231122,12,0,0x93231122,12,0,0x00000000, 2,0, "+0x393231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000039, 5,0,0x00000039, 5,0,0x00000000, 2,0, "+0x39w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000393, 6,0,0x00000393, 6,0,0x00000000, 2,0, "+0x393",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000039, 5,0,0x00000039, 5,0,0x00000000, 2,0, "+0x39",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x33231122,11,0,0x33231122,11,0,0x00000000, 2,0, "+0x33231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000003, 4,0,0x00000003, 4,0,0x00000000, 2,0, "+0x3w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000033, 5,0,0x00000033, 5,0,0x00000000, 2,0, "+0x33",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000003, 4,0,0x00000003, 4,0,0x00000000, 2,0, "+0x3",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x73231122,12,0,0x73231122,12,0,0x00000000, 2,0, "+0x173231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000017, 5,0,0x00000017, 5,0,0x00000000, 2,0, "+0x17w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000173, 6,0,0x00000173, 6,0,0x00000000, 2,0, "+0x173",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000017, 5,0,0x00000017, 5,0,0x00000000, 2,0, "+0x17",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x7fffffff,14,34,0x7fffffff,14,34,0x00000000, 2,0, "+0x112413231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00011241, 8,0,0x00011241, 8,0,0x00000000, 2,0, "+0x11241w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00112413, 9,0,0x00112413, 9,0,0x00000000, 2,0, "+0x112413",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00011241, 8,0,0x00011241, 8,0,0x00000000, 2,0, "+0x11241",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x93231122,12,0,0x93231122,12,0,0x00000000, 2,0, "+0x193231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000019, 5,0,0x00000019, 5,0,0x00000000, 2,0, "+0x19w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000193, 6,0,0x00000193, 6,0,0x00000000, 2,0, "+0x193",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000019, 5,0,0x00000019, 5,0,0x00000000, 2,0, "+0x19",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x13231122,11,0,0x13231122,11,0,0x00000000, 2,0, "+0x13231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000001, 4,0,0x00000001, 4,0,0x00000000, 2,0, "+0x1w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000013, 5,0,0x00000013, 5,0,0x00000000, 2,0, "+0x13",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000001, 4,0,0x00000001, 4,0,0x00000000, 2,0, "+0x1",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff, 9,34, "+0a73231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x0000010b, 4,0, "+0a7w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x00001b21, 5,0, "+0a73",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x0000010b, 4,0, "+0a7",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff,10,34, "+0a12413231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x004604f9, 7,0, "+0a1241w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x071c814d, 8,0, "+0a12413",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x004604f9, 7,0, "+0a1241",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff, 9,34, "+0a93231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x0000010d, 4,0, "+0a9w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x00001b55, 5,0, "+0a93",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x0000010d, 4,0, "+0a9",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0xec11cdb2,10,0, "+0a3231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x0000000a, 3,0, "+0aw",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x00000107, 4,0, "+0a3",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x0000000a, 3,0, "+0a",
+__LINE__,0x07ed3252,11,0,0x2e169212,11,0,0x07ed3252,11,0,0x07ed3252,11,0,0xa94f9d32,11,0, "+0773231122",
+__LINE__,0x0000003f, 4,0,0x0000004d, 4,0,0x0000003f, 4,0,0x0000003f, 4,0,0x000000bd, 4,0, "+077w",
+__LINE__,0x000001fb, 5,0,0x00000305, 5,0,0x000001fb, 5,0,0x000001fb, 5,0,0x00001335, 5,0, "+0773",
+__LINE__,0x0000003f, 4,0,0x0000004d, 4,0,0x0000003f, 4,0,0x0000003f, 4,0,0x000000bd, 4,0, "+077",
+__LINE__,0x7fffffff,13,34,0x7fffffff,12,34,0x7fffffff,13,34,0x7fffffff,13,34,0x7fffffff, 9,34, "+0712413231122",
+__LINE__,0x000072a1, 7,0,0x00011649, 7,0,0x000072a1, 7,0,0x000072a1, 7,0,0x003119c9, 7,0, "+071241w",
+__LINE__,0x0003950b, 8,0,0x000adedd, 8,0,0x0003950b, 8,0,0x0003950b, 8,0,0x04fc9e6d, 8,0, "+0712413",
+__LINE__,0x000072a1, 7,0,0x00011649, 7,0,0x000072a1, 7,0,0x000072a1, 7,0,0x003119c9, 7,0, "+071241",
+__LINE__,0x00000007, 3,0,0x2f47bf12,11,0,0x00000007, 3,0,0x00000007, 3,0,0x7fffffff,10,34, "+0793231122",
+__LINE__,0x00000007, 3,0,0x0000004f, 4,0,0x00000007, 3,0,0x00000007, 3,0,0x000000bf, 4,0, "+079w",
+__LINE__,0x00000007, 3,0,0x00000319, 5,0,0x00000007, 3,0,0x00000007, 3,0,0x00001369, 5,0, "+0793",
+__LINE__,0x00000007, 3,0,0x0000004f, 4,0,0x00000007, 3,0,0x00000007, 3,0,0x000000bf, 4,0, "+079",
+__LINE__,0x00ed3252,10,0,0x045d6b12,10,0,0x00ed3252,10,0,0x00ed3252,10,0,0x7fffffff, 9,34, "+073231122",
+__LINE__,0x00000007, 3,0,0x00000007, 3,0,0x00000007, 3,0,0x00000007, 3,0,0x00000007, 3,0, "+07w",
+__LINE__,0x0000003b, 4,0,0x00000049, 4,0,0x0000003b, 4,0,0x0000003b, 4,0,0x000000b9, 4,0, "+073",
+__LINE__,0x00000007, 3,0,0x00000007, 3,0,0x00000007, 3,0,0x00000007, 3,0,0x00000007, 3,0, "+07",
+__LINE__,0x03ed3252,11,0,0x163f0e12,11,0,0x03ed3252,11,0,0x03ed3252,11,0,0x7fffffff, 9,34, "+0373231122",
+__LINE__,0x0000001f, 4,0,0x00000025, 4,0,0x0000001f, 4,0,0x0000001f, 4,0,0x00000055, 4,0, "+037w",
+__LINE__,0x000000fb, 5,0,0x00000175, 5,0,0x000000fb, 5,0,0x000000fb, 5,0,0x000008a5, 5,0, "+0373",
+__LINE__,0x0000001f, 4,0,0x00000025, 4,0,0x0000001f, 4,0,0x0000001f, 4,0,0x00000055, 4,0, "+037",
+__LINE__,0x7fffffff,13,34,0x7fffffff,12,34,0x7fffffff,13,34,0x7fffffff,13,34,0x7fffffff,11,34, "+0312413231122",
+__LINE__,0x000032a1, 7,0,0x00007a09, 7,0,0x000032a1, 7,0,0x000032a1, 7,0,0x00153589, 7,0, "+031241w",
+__LINE__,0x0001950b, 8,0,0x0004c45d, 8,0,0x0001950b, 8,0,0x0001950b, 8,0,0x02276fed, 8,0, "+0312413",
+__LINE__,0x000032a1, 7,0,0x00007a09, 7,0,0x000032a1, 7,0,0x000032a1, 7,0,0x00153589, 7,0, "+031241",
+__LINE__,0x00000003, 3,0,0x17703b12,11,0,0x00000003, 3,0,0x00000003, 3,0,0xea867e32,11,0, "+0393231122",
+__LINE__,0x00000003, 3,0,0x00000027, 4,0,0x00000003, 3,0,0x00000003, 3,0,0x00000057, 4,0, "+039w",
+__LINE__,0x00000003, 3,0,0x00000189, 5,0,0x00000003, 3,0,0x00000003, 3,0,0x000008d9, 5,0, "+0393",
+__LINE__,0x00000003, 3,0,0x00000027, 4,0,0x00000003, 3,0,0x00000003, 3,0,0x00000057, 4,0, "+039",
+__LINE__,0x006d3252,10,0,0x01fb1112,10,0,0x006d3252,10,0,0x006d3252,10,0,0xd4efec32,10,0, "+033231122",
+__LINE__,0x00000003, 3,0,0x00000003, 3,0,0x00000003, 3,0,0x00000003, 3,0,0x00000003, 3,0, "+03w",
+__LINE__,0x0000001b, 4,0,0x00000021, 4,0,0x0000001b, 4,0,0x0000001b, 4,0,0x00000051, 4,0, "+033",
+__LINE__,0x00000003, 3,0,0x00000003, 3,0,0x00000003, 3,0,0x00000003, 3,0,0x00000003, 3,0, "+03",
+__LINE__,0x01ed3252,11,0,0x0a534c12,11,0,0x01ed3252,11,0,0x01ed3252,11,0,0xeeeed732,11,0, "+0173231122",
+__LINE__,0x0000000f, 4,0,0x00000011, 4,0,0x0000000f, 4,0,0x0000000f, 4,0,0x00000021, 4,0, "+017w",
+__LINE__,0x0000007b, 5,0,0x000000ad, 5,0,0x0000007b, 5,0,0x0000007b, 5,0,0x0000035d, 5,0, "+0173",
+__LINE__,0x0000000f, 4,0,0x00000011, 4,0,0x0000000f, 4,0,0x0000000f, 4,0,0x00000021, 4,0, "+017",
+__LINE__,0x542d3252,14,0,0x7fffffff,13,34,0x542d3252,14,0,0x542d3252,14,0,0x7fffffff,10,34, "+0112413231122",
+__LINE__,0x000012a1, 7,0,0x00002be9, 7,0,0x000012a1, 7,0,0x000012a1, 7,0,0x00074369, 7,0, "+011241w",
+__LINE__,0x0000950b, 8,0,0x0001b71d, 8,0,0x0000950b, 8,0,0x0000950b, 8,0,0x00bcd8ad, 8,0, "+0112413",
+__LINE__,0x000012a1, 7,0,0x00002be9, 7,0,0x000012a1, 7,0,0x000012a1, 7,0,0x00074369, 7,0, "+011241",
+__LINE__,0x00000001, 3,0,0x0b847912,11,0,0x00000001, 3,0,0x00000001, 3,0,0xac663c32,11,0, "+0193231122",
+__LINE__,0x00000001, 3,0,0x00000013, 4,0,0x00000001, 3,0,0x00000001, 3,0,0x00000023, 4,0, "+019w",
+__LINE__,0x00000001, 3,0,0x000000c1, 5,0,0x00000001, 3,0,0x00000001, 3,0,0x00000391, 5,0, "+0193",
+__LINE__,0x00000001, 3,0,0x00000013, 4,0,0x00000001, 3,0,0x00000001, 3,0,0x00000023, 4,0, "+019",
+__LINE__,0x002d3252,10,0,0x00c9e412,10,0,0x002d3252,10,0,0x002d3252,10,0,0x17788732,10,0, "+013231122",
+__LINE__,0x00000001, 3,0,0x00000001, 3,0,0x00000001, 3,0,0x00000001, 3,0,0x00000001, 3,0, "+01w",
+__LINE__,0x0000000b, 4,0,0x0000000d, 4,0,0x0000000b, 4,0,0x0000000b, 4,0,0x0000001d, 4,0, "+013",
+__LINE__,0x00000001, 3,0,0x00000001, 3,0,0x00000001, 3,0,0x00000001, 3,0,0x00000001, 3,0, "+01",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff, 9,34,0x00000000, 0,0,0x7fffffff, 8,34, "+a73231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000000a7, 3,0,0x00000000, 0,0,0x0000010b, 3,0, "+a7w",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x00000a73, 4,0,0x00000000, 0,0,0x00001b21, 4,0, "+a73",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000000a7, 3,0,0x00000000, 0,0,0x0000010b, 3,0, "+a7",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff, 9,34,0x00000000, 0,0,0x7fffffff, 9,34, "+a12413231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000a1241, 6,0,0x00000000, 0,0,0x004604f9, 6,0, "+a1241w",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x00a12413, 7,0,0x00000000, 0,0,0x071c814d, 7,0, "+a12413",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000a1241, 6,0,0x00000000, 0,0,0x004604f9, 6,0, "+a1241",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff, 9,34,0x00000000, 0,0,0x7fffffff, 8,34, "+a93231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000000a9, 3,0,0x00000000, 0,0,0x0000010d, 3,0, "+a9w",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x00000a93, 4,0,0x00000000, 0,0,0x00001b55, 4,0, "+a93",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000000a9, 3,0,0x00000000, 0,0,0x0000010d, 3,0, "+a9",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xa3231122, 9,0,0x00000000, 0,0,0xec11cdb2, 9,0, "+a3231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x0000000a, 2,0,0x00000000, 0,0,0x0000000a, 2,0, "+aw",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000000a3, 3,0,0x00000000, 0,0,0x00000107, 3,0, "+a3",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x0000000a, 2,0,0x00000000, 0,0,0x0000000a, 2,0, "+a",
+__LINE__,0x07ed3252,10,0,0x2e169212,10,0,0x7fffffff, 9,34,0x2e169212,10,0,0xa94f9d32,10,0, "+773231122",
+__LINE__,0x0000003f, 3,0,0x0000004d, 3,0,0x00000077, 3,0,0x0000004d, 3,0,0x000000bd, 3,0, "+77w",
+__LINE__,0x000001fb, 4,0,0x00000305, 4,0,0x00000773, 4,0,0x00000305, 4,0,0x00001335, 4,0, "+773",
+__LINE__,0x0000003f, 3,0,0x0000004d, 3,0,0x00000077, 3,0,0x0000004d, 3,0,0x000000bd, 3,0, "+77",
+__LINE__,0x7fffffff,12,34,0x7fffffff,11,34,0x7fffffff, 9,34,0x7fffffff,11,34,0x7fffffff, 8,34, "+712413231122",
+__LINE__,0x000072a1, 6,0,0x00011649, 6,0,0x00071241, 6,0,0x00011649, 6,0,0x003119c9, 6,0, "+71241w",
+__LINE__,0x0003950b, 7,0,0x000adedd, 7,0,0x00712413, 7,0,0x000adedd, 7,0,0x04fc9e6d, 7,0, "+712413",
+__LINE__,0x000072a1, 6,0,0x00011649, 6,0,0x00071241, 6,0,0x00011649, 6,0,0x003119c9, 6,0, "+71241",
+__LINE__,0x00000007, 2,0,0x2f47bf12,10,0,0x93231122,10,0,0x2f47bf12,10,0,0x7fffffff, 9,34, "+793231122",
+__LINE__,0x00000007, 2,0,0x0000004f, 3,0,0x00000079, 3,0,0x0000004f, 3,0,0x000000bf, 3,0, "+79w",
+__LINE__,0x00000007, 2,0,0x00000319, 4,0,0x00000793, 4,0,0x00000319, 4,0,0x00001369, 4,0, "+793",
+__LINE__,0x00000007, 2,0,0x0000004f, 3,0,0x00000079, 3,0,0x0000004f, 3,0,0x000000bf, 3,0, "+79",
+__LINE__,0x00ed3252, 9,0,0x045d6b12, 9,0,0x73231122, 9,0,0x045d6b12, 9,0,0x7fffffff, 8,34, "+73231122",
+__LINE__,0x00000007, 2,0,0x00000007, 2,0,0x00000007, 2,0,0x00000007, 2,0,0x00000007, 2,0, "+7w",
+__LINE__,0x0000003b, 3,0,0x00000049, 3,0,0x00000073, 3,0,0x00000049, 3,0,0x000000b9, 3,0, "+73",
+__LINE__,0x00000007, 2,0,0x00000007, 2,0,0x00000007, 2,0,0x00000007, 2,0,0x00000007, 2,0, "+7",
+__LINE__,0x03ed3252,10,0,0x163f0e12,10,0,0x73231122,10,0,0x163f0e12,10,0,0x7fffffff, 8,34, "+373231122",
+__LINE__,0x0000001f, 3,0,0x00000025, 3,0,0x00000037, 3,0,0x00000025, 3,0,0x00000055, 3,0, "+37w",
+__LINE__,0x000000fb, 4,0,0x00000175, 4,0,0x00000373, 4,0,0x00000175, 4,0,0x000008a5, 4,0, "+373",
+__LINE__,0x0000001f, 3,0,0x00000025, 3,0,0x00000037, 3,0,0x00000025, 3,0,0x00000055, 3,0, "+37",
+__LINE__,0x7fffffff,12,34,0x7fffffff,11,34,0x7fffffff, 9,34,0x7fffffff,11,34,0x7fffffff,10,34, "+312413231122",
+__LINE__,0x000032a1, 6,0,0x00007a09, 6,0,0x00031241, 6,0,0x00007a09, 6,0,0x00153589, 6,0, "+31241w",
+__LINE__,0x0001950b, 7,0,0x0004c45d, 7,0,0x00312413, 7,0,0x0004c45d, 7,0,0x02276fed, 7,0, "+312413",
+__LINE__,0x000032a1, 6,0,0x00007a09, 6,0,0x00031241, 6,0,0x00007a09, 6,0,0x00153589, 6,0, "+31241",
+__LINE__,0x00000003, 2,0,0x17703b12,10,0,0x93231122,10,0,0x17703b12,10,0,0xea867e32,10,0, "+393231122",
+__LINE__,0x00000003, 2,0,0x00000027, 3,0,0x00000039, 3,0,0x00000027, 3,0,0x00000057, 3,0, "+39w",
+__LINE__,0x00000003, 2,0,0x00000189, 4,0,0x00000393, 4,0,0x00000189, 4,0,0x000008d9, 4,0, "+393",
+__LINE__,0x00000003, 2,0,0x00000027, 3,0,0x00000039, 3,0,0x00000027, 3,0,0x00000057, 3,0, "+39",
+__LINE__,0x006d3252, 9,0,0x01fb1112, 9,0,0x33231122, 9,0,0x01fb1112, 9,0,0xd4efec32, 9,0, "+33231122",
+__LINE__,0x00000003, 2,0,0x00000003, 2,0,0x00000003, 2,0,0x00000003, 2,0,0x00000003, 2,0, "+3w",
+__LINE__,0x0000001b, 3,0,0x00000021, 3,0,0x00000033, 3,0,0x00000021, 3,0,0x00000051, 3,0, "+33",
+__LINE__,0x00000003, 2,0,0x00000003, 2,0,0x00000003, 2,0,0x00000003, 2,0,0x00000003, 2,0, "+3",
+__LINE__,0x01ed3252,10,0,0x0a534c12,10,0,0x73231122,10,0,0x0a534c12,10,0,0xeeeed732,10,0, "+173231122",
+__LINE__,0x0000000f, 3,0,0x00000011, 3,0,0x00000017, 3,0,0x00000011, 3,0,0x00000021, 3,0, "+17w",
+__LINE__,0x0000007b, 4,0,0x000000ad, 4,0,0x00000173, 4,0,0x000000ad, 4,0,0x0000035d, 4,0, "+173",
+__LINE__,0x0000000f, 3,0,0x00000011, 3,0,0x00000017, 3,0,0x00000011, 3,0,0x00000021, 3,0, "+17",
+__LINE__,0x542d3252,13,0,0x7fffffff,12,34,0x7fffffff,12,34,0x7fffffff,12,34,0x7fffffff, 9,34, "+112413231122",
+__LINE__,0x000012a1, 6,0,0x00002be9, 6,0,0x00011241, 6,0,0x00002be9, 6,0,0x00074369, 6,0, "+11241w",
+__LINE__,0x0000950b, 7,0,0x0001b71d, 7,0,0x00112413, 7,0,0x0001b71d, 7,0,0x00bcd8ad, 7,0, "+112413",
+__LINE__,0x000012a1, 6,0,0x00002be9, 6,0,0x00011241, 6,0,0x00002be9, 6,0,0x00074369, 6,0, "+11241",
+__LINE__,0x00000001, 2,0,0x0b847912,10,0,0x93231122,10,0,0x0b847912,10,0,0xac663c32,10,0, "+193231122",
+__LINE__,0x00000001, 2,0,0x00000013, 3,0,0x00000019, 3,0,0x00000013, 3,0,0x00000023, 3,0, "+19w",
+__LINE__,0x00000001, 2,0,0x000000c1, 4,0,0x00000193, 4,0,0x000000c1, 4,0,0x00000391, 4,0, "+193",
+__LINE__,0x00000001, 2,0,0x00000013, 3,0,0x00000019, 3,0,0x00000013, 3,0,0x00000023, 3,0, "+19",
+__LINE__,0x002d3252, 9,0,0x00c9e412, 9,0,0x13231122, 9,0,0x00c9e412, 9,0,0x17788732, 9,0, "+13231122",
+__LINE__,0x00000001, 2,0,0x00000001, 2,0,0x00000001, 2,0,0x00000001, 2,0,0x00000001, 2,0, "+1w",
+__LINE__,0x0000000b, 3,0,0x0000000d, 3,0,0x00000013, 3,0,0x0000000d, 3,0,0x0000001d, 3,0, "+13",
+__LINE__,0x00000001, 2,0,0x00000001, 2,0,0x00000001, 2,0,0x00000001, 2,0,0x00000001, 2,0, "+1",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x80000000,11,34,0x80000000,11,34,0x00000000, 2,0, "-0xa73231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffffff59, 5,0,0xffffff59, 5,0,0x00000000, 2,0, "-0xa7w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xfffff58d, 6,0,0xfffff58d, 6,0,0x00000000, 2,0, "-0xa73",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffffff59, 5,0,0xffffff59, 5,0,0x00000000, 2,0, "-0xa7",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x80000000,11,34,0x80000000,11,34,0x00000000, 2,0, "-0xa12413231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xfff5edbf, 8,0,0xfff5edbf, 8,0,0x00000000, 2,0, "-0xa1241w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xff5edbed, 9,0,0xff5edbed, 9,0,0x00000000, 2,0, "-0xa12413",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xfff5edbf, 8,0,0xfff5edbf, 8,0,0x00000000, 2,0, "-0xa1241",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x80000000,11,34,0x80000000,11,34,0x00000000, 2,0, "-0xa93231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffffff57, 5,0,0xffffff57, 5,0,0x00000000, 2,0, "-0xa9w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xfffff56d, 6,0,0xfffff56d, 6,0,0x00000000, 2,0, "-0xa93",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffffff57, 5,0,0xffffff57, 5,0,0x00000000, 2,0, "-0xa9",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x5cdceede,11,0,0x5cdceede,11,0,0x00000000, 2,0, "-0xa3231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xfffffff6, 4,0,0xfffffff6, 4,0,0x00000000, 2,0, "-0xaw",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffffff5d, 5,0,0xffffff5d, 5,0,0x00000000, 2,0, "-0xa3",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xfffffff6, 4,0,0xfffffff6, 4,0,0x00000000, 2,0, "-0xa",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x80000000,11,34,0x80000000,11,34,0x00000000, 2,0, "-0x773231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffffff89, 5,0,0xffffff89, 5,0,0x00000000, 2,0, "-0x77w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xfffff88d, 6,0,0xfffff88d, 6,0,0x00000000, 2,0, "-0x773",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffffff89, 5,0,0xffffff89, 5,0,0x00000000, 2,0, "-0x77",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x80000000,11,34,0x80000000,11,34,0x00000000, 2,0, "-0x712413231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xfff8edbf, 8,0,0xfff8edbf, 8,0,0x00000000, 2,0, "-0x71241w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xff8edbed, 9,0,0xff8edbed, 9,0,0x00000000, 2,0, "-0x712413",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xfff8edbf, 8,0,0xfff8edbf, 8,0,0x00000000, 2,0, "-0x71241",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x6cdceede,12,0,0x6cdceede,12,0,0x00000000, 2,0, "-0x793231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffffff87, 5,0,0xffffff87, 5,0,0x00000000, 2,0, "-0x79w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xfffff86d, 6,0,0xfffff86d, 6,0,0x00000000, 2,0, "-0x793",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffffff87, 5,0,0xffffff87, 5,0,0x00000000, 2,0, "-0x79",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x8cdceede,11,0,0x8cdceede,11,0,0x00000000, 2,0, "-0x73231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xfffffff9, 4,0,0xfffffff9, 4,0,0x00000000, 2,0, "-0x7w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffffff8d, 5,0,0xffffff8d, 5,0,0x00000000, 2,0, "-0x73",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xfffffff9, 4,0,0xfffffff9, 4,0,0x00000000, 2,0, "-0x7",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x8cdceede,12,0,0x8cdceede,12,0,0x00000000, 2,0, "-0x373231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffffffc9, 5,0,0xffffffc9, 5,0,0x00000000, 2,0, "-0x37w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xfffffc8d, 6,0,0xfffffc8d, 6,0,0x00000000, 2,0, "-0x373",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffffffc9, 5,0,0xffffffc9, 5,0,0x00000000, 2,0, "-0x37",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x80000000,11,34,0x80000000,11,34,0x00000000, 2,0, "-0x312413231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xfffcedbf, 8,0,0xfffcedbf, 8,0,0x00000000, 2,0, "-0x31241w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffcedbed, 9,0,0xffcedbed, 9,0,0x00000000, 2,0, "-0x312413",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xfffcedbf, 8,0,0xfffcedbf, 8,0,0x00000000, 2,0, "-0x31241",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x6cdceede,12,0,0x6cdceede,12,0,0x00000000, 2,0, "-0x393231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffffffc7, 5,0,0xffffffc7, 5,0,0x00000000, 2,0, "-0x39w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xfffffc6d, 6,0,0xfffffc6d, 6,0,0x00000000, 2,0, "-0x393",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffffffc7, 5,0,0xffffffc7, 5,0,0x00000000, 2,0, "-0x39",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xccdceede,11,0,0xccdceede,11,0,0x00000000, 2,0, "-0x33231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xfffffffd, 4,0,0xfffffffd, 4,0,0x00000000, 2,0, "-0x3w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffffffcd, 5,0,0xffffffcd, 5,0,0x00000000, 2,0, "-0x33",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xfffffffd, 4,0,0xfffffffd, 4,0,0x00000000, 2,0, "-0x3",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x8cdceede,12,0,0x8cdceede,12,0,0x00000000, 2,0, "-0x173231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffffffe9, 5,0,0xffffffe9, 5,0,0x00000000, 2,0, "-0x17w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xfffffe8d, 6,0,0xfffffe8d, 6,0,0x00000000, 2,0, "-0x173",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffffffe9, 5,0,0xffffffe9, 5,0,0x00000000, 2,0, "-0x17",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x80000000,14,34,0x80000000,14,34,0x00000000, 2,0, "-0x112413231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xfffeedbf, 8,0,0xfffeedbf, 8,0,0x00000000, 2,0, "-0x11241w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffeedbed, 9,0,0xffeedbed, 9,0,0x00000000, 2,0, "-0x112413",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xfffeedbf, 8,0,0xfffeedbf, 8,0,0x00000000, 2,0, "-0x11241",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x6cdceede,12,0,0x6cdceede,12,0,0x00000000, 2,0, "-0x193231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffffffe7, 5,0,0xffffffe7, 5,0,0x00000000, 2,0, "-0x19w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xfffffe6d, 6,0,0xfffffe6d, 6,0,0x00000000, 2,0, "-0x193",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffffffe7, 5,0,0xffffffe7, 5,0,0x00000000, 2,0, "-0x19",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xecdceede,11,0,0xecdceede,11,0,0x00000000, 2,0, "-0x13231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffffffff, 4,0,0xffffffff, 4,0,0x00000000, 2,0, "-0x1w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffffffed, 5,0,0xffffffed, 5,0,0x00000000, 2,0, "-0x13",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0xffffffff, 4,0,0xffffffff, 4,0,0x00000000, 2,0, "-0x1",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x80000000, 9,34, "-0a73231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0xfffffef5, 4,0, "-0a7w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0xffffe4df, 5,0, "-0a73",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0xfffffef5, 4,0, "-0a7",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x80000000,10,34, "-0a12413231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0xffb9fb07, 7,0, "-0a1241w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0xf8e37eb3, 8,0, "-0a12413",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0xffb9fb07, 7,0, "-0a1241",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x80000000, 9,34, "-0a93231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0xfffffef3, 4,0, "-0a9w",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0xffffe4ab, 5,0, "-0a93",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0xfffffef3, 4,0, "-0a9",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0x13ee324e,10,0, "-0a3231122",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0xfffffff6, 3,0, "-0aw",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0xfffffef9, 4,0, "-0a3",
+__LINE__,0x00000000, 2,0,0x00000000, 2,0,0x00000000, 0,0,0x00000000, 0,0,0xfffffff6, 3,0, "-0a",
+__LINE__,0xf812cdae,11,0,0xd1e96dee,11,0,0xf812cdae,11,0,0xf812cdae,11,0,0x56b062ce,11,0, "-0773231122",
+__LINE__,0xffffffc1, 4,0,0xffffffb3, 4,0,0xffffffc1, 4,0,0xffffffc1, 4,0,0xffffff43, 4,0, "-077w",
+__LINE__,0xfffffe05, 5,0,0xfffffcfb, 5,0,0xfffffe05, 5,0,0xfffffe05, 5,0,0xffffeccb, 5,0, "-0773",
+__LINE__,0xffffffc1, 4,0,0xffffffb3, 4,0,0xffffffc1, 4,0,0xffffffc1, 4,0,0xffffff43, 4,0, "-077",
+__LINE__,0x80000000,13,34,0x80000000,12,34,0x80000000,13,34,0x80000000,13,34,0x80000000, 9,34, "-0712413231122",
+__LINE__,0xffff8d5f, 7,0,0xfffee9b7, 7,0,0xffff8d5f, 7,0,0xffff8d5f, 7,0,0xffcee637, 7,0, "-071241w",
+__LINE__,0xfffc6af5, 8,0,0xfff52123, 8,0,0xfffc6af5, 8,0,0xfffc6af5, 8,0,0xfb036193, 8,0, "-0712413",
+__LINE__,0xffff8d5f, 7,0,0xfffee9b7, 7,0,0xffff8d5f, 7,0,0xffff8d5f, 7,0,0xffcee637, 7,0, "-071241",
+__LINE__,0xfffffff9, 3,0,0xd0b840ee,11,0,0xfffffff9, 3,0,0xfffffff9, 3,0,0x80000000,10,34, "-0793231122",
+__LINE__,0xfffffff9, 3,0,0xffffffb1, 4,0,0xfffffff9, 3,0,0xfffffff9, 3,0,0xffffff41, 4,0, "-079w",
+__LINE__,0xfffffff9, 3,0,0xfffffce7, 5,0,0xfffffff9, 3,0,0xfffffff9, 3,0,0xffffec97, 5,0, "-0793",
+__LINE__,0xfffffff9, 3,0,0xffffffb1, 4,0,0xfffffff9, 3,0,0xfffffff9, 3,0,0xffffff41, 4,0, "-079",
+__LINE__,0xff12cdae,10,0,0xfba294ee,10,0,0xff12cdae,10,0,0xff12cdae,10,0,0x80000000, 9,34, "-073231122",
+__LINE__,0xfffffff9, 3,0,0xfffffff9, 3,0,0xfffffff9, 3,0,0xfffffff9, 3,0,0xfffffff9, 3,0, "-07w",
+__LINE__,0xffffffc5, 4,0,0xffffffb7, 4,0,0xffffffc5, 4,0,0xffffffc5, 4,0,0xffffff47, 4,0, "-073",
+__LINE__,0xfffffff9, 3,0,0xfffffff9, 3,0,0xfffffff9, 3,0,0xfffffff9, 3,0,0xfffffff9, 3,0, "-07",
+__LINE__,0xfc12cdae,11,0,0xe9c0f1ee,11,0,0xfc12cdae,11,0,0xfc12cdae,11,0,0x80000000, 9,34, "-0373231122",
+__LINE__,0xffffffe1, 4,0,0xffffffdb, 4,0,0xffffffe1, 4,0,0xffffffe1, 4,0,0xffffffab, 4,0, "-037w",
+__LINE__,0xffffff05, 5,0,0xfffffe8b, 5,0,0xffffff05, 5,0,0xffffff05, 5,0,0xfffff75b, 5,0, "-0373",
+__LINE__,0xffffffe1, 4,0,0xffffffdb, 4,0,0xffffffe1, 4,0,0xffffffe1, 4,0,0xffffffab, 4,0, "-037",
+__LINE__,0x80000000,13,34,0x80000000,12,34,0x80000000,13,34,0x80000000,13,34,0x80000000,11,34, "-0312413231122",
+__LINE__,0xffffcd5f, 7,0,0xffff85f7, 7,0,0xffffcd5f, 7,0,0xffffcd5f, 7,0,0xffeaca77, 7,0, "-031241w",
+__LINE__,0xfffe6af5, 8,0,0xfffb3ba3, 8,0,0xfffe6af5, 8,0,0xfffe6af5, 8,0,0xfdd89013, 8,0, "-0312413",
+__LINE__,0xffffcd5f, 7,0,0xffff85f7, 7,0,0xffffcd5f, 7,0,0xffffcd5f, 7,0,0xffeaca77, 7,0, "-031241",
+__LINE__,0xfffffffd, 3,0,0xe88fc4ee,11,0,0xfffffffd, 3,0,0xfffffffd, 3,0,0x157981ce,11,0, "-0393231122",
+__LINE__,0xfffffffd, 3,0,0xffffffd9, 4,0,0xfffffffd, 3,0,0xfffffffd, 3,0,0xffffffa9, 4,0, "-039w",
+__LINE__,0xfffffffd, 3,0,0xfffffe77, 5,0,0xfffffffd, 3,0,0xfffffffd, 3,0,0xfffff727, 5,0, "-0393",
+__LINE__,0xfffffffd, 3,0,0xffffffd9, 4,0,0xfffffffd, 3,0,0xfffffffd, 3,0,0xffffffa9, 4,0, "-039",
+__LINE__,0xff92cdae,10,0,0xfe04eeee,10,0,0xff92cdae,10,0,0xff92cdae,10,0,0x2b1013ce,10,0, "-033231122",
+__LINE__,0xfffffffd, 3,0,0xfffffffd, 3,0,0xfffffffd, 3,0,0xfffffffd, 3,0,0xfffffffd, 3,0, "-03w",
+__LINE__,0xffffffe5, 4,0,0xffffffdf, 4,0,0xffffffe5, 4,0,0xffffffe5, 4,0,0xffffffaf, 4,0, "-033",
+__LINE__,0xfffffffd, 3,0,0xfffffffd, 3,0,0xfffffffd, 3,0,0xfffffffd, 3,0,0xfffffffd, 3,0, "-03",
+__LINE__,0xfe12cdae,11,0,0xf5acb3ee,11,0,0xfe12cdae,11,0,0xfe12cdae,11,0,0x111128ce,11,0, "-0173231122",
+__LINE__,0xfffffff1, 4,0,0xffffffef, 4,0,0xfffffff1, 4,0,0xfffffff1, 4,0,0xffffffdf, 4,0, "-017w",
+__LINE__,0xffffff85, 5,0,0xffffff53, 5,0,0xffffff85, 5,0,0xffffff85, 5,0,0xfffffca3, 5,0, "-0173",
+__LINE__,0xfffffff1, 4,0,0xffffffef, 4,0,0xfffffff1, 4,0,0xfffffff1, 4,0,0xffffffdf, 4,0, "-017",
+__LINE__,0xabd2cdae,14,0,0x80000000,13,34,0xabd2cdae,14,0,0xabd2cdae,14,0,0x80000000,10,34, "-0112413231122",
+__LINE__,0xffffed5f, 7,0,0xffffd417, 7,0,0xffffed5f, 7,0,0xffffed5f, 7,0,0xfff8bc97, 7,0, "-011241w",
+__LINE__,0xffff6af5, 8,0,0xfffe48e3, 8,0,0xffff6af5, 8,0,0xffff6af5, 8,0,0xff432753, 8,0, "-0112413",
+__LINE__,0xffffed5f, 7,0,0xffffd417, 7,0,0xffffed5f, 7,0,0xffffed5f, 7,0,0xfff8bc97, 7,0, "-011241",
+__LINE__,0xffffffff, 3,0,0xf47b86ee,11,0,0xffffffff, 3,0,0xffffffff, 3,0,0x5399c3ce,11,0, "-0193231122",
+__LINE__,0xffffffff, 3,0,0xffffffed, 4,0,0xffffffff, 3,0,0xffffffff, 3,0,0xffffffdd, 4,0, "-019w",
+__LINE__,0xffffffff, 3,0,0xffffff3f, 5,0,0xffffffff, 3,0,0xffffffff, 3,0,0xfffffc6f, 5,0, "-0193",
+__LINE__,0xffffffff, 3,0,0xffffffed, 4,0,0xffffffff, 3,0,0xffffffff, 3,0,0xffffffdd, 4,0, "-019",
+__LINE__,0xffd2cdae,10,0,0xff361bee,10,0,0xffd2cdae,10,0,0xffd2cdae,10,0,0xe88778ce,10,0, "-013231122",
+__LINE__,0xffffffff, 3,0,0xffffffff, 3,0,0xffffffff, 3,0,0xffffffff, 3,0,0xffffffff, 3,0, "-01w",
+__LINE__,0xfffffff5, 4,0,0xfffffff3, 4,0,0xfffffff5, 4,0,0xfffffff5, 4,0,0xffffffe3, 4,0, "-013",
+__LINE__,0xffffffff, 3,0,0xffffffff, 3,0,0xffffffff, 3,0,0xffffffff, 3,0,0xffffffff, 3,0, "-01",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x80000000, 9,34,0x00000000, 0,0,0x80000000, 8,34, "-a73231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xffffff59, 3,0,0x00000000, 0,0,0xfffffef5, 3,0, "-a7w",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xfffff58d, 4,0,0x00000000, 0,0,0xffffe4df, 4,0, "-a73",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xffffff59, 3,0,0x00000000, 0,0,0xfffffef5, 3,0, "-a7",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x80000000, 9,34,0x00000000, 0,0,0x80000000, 9,34, "-a12413231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xfff5edbf, 6,0,0x00000000, 0,0,0xffb9fb07, 6,0, "-a1241w",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xff5edbed, 7,0,0x00000000, 0,0,0xf8e37eb3, 7,0, "-a12413",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xfff5edbf, 6,0,0x00000000, 0,0,0xffb9fb07, 6,0, "-a1241",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x80000000, 9,34,0x00000000, 0,0,0x80000000, 8,34, "-a93231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xffffff57, 3,0,0x00000000, 0,0,0xfffffef3, 3,0, "-a9w",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xfffff56d, 4,0,0x00000000, 0,0,0xffffe4ab, 4,0, "-a93",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xffffff57, 3,0,0x00000000, 0,0,0xfffffef3, 3,0, "-a9",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x5cdceede, 9,0,0x00000000, 0,0,0x13ee324e, 9,0, "-a3231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xfffffff6, 2,0,0x00000000, 0,0,0xfffffff6, 2,0, "-aw",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xffffff5d, 3,0,0x00000000, 0,0,0xfffffef9, 3,0, "-a3",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xfffffff6, 2,0,0x00000000, 0,0,0xfffffff6, 2,0, "-a",
+__LINE__,0xf812cdae,10,0,0xd1e96dee,10,0,0x80000000, 9,34,0xd1e96dee,10,0,0x56b062ce,10,0, "-773231122",
+__LINE__,0xffffffc1, 3,0,0xffffffb3, 3,0,0xffffff89, 3,0,0xffffffb3, 3,0,0xffffff43, 3,0, "-77w",
+__LINE__,0xfffffe05, 4,0,0xfffffcfb, 4,0,0xfffff88d, 4,0,0xfffffcfb, 4,0,0xffffeccb, 4,0, "-773",
+__LINE__,0xffffffc1, 3,0,0xffffffb3, 3,0,0xffffff89, 3,0,0xffffffb3, 3,0,0xffffff43, 3,0, "-77",
+__LINE__,0x80000000,12,34,0x80000000,11,34,0x80000000, 9,34,0x80000000,11,34,0x80000000, 8,34, "-712413231122",
+__LINE__,0xffff8d5f, 6,0,0xfffee9b7, 6,0,0xfff8edbf, 6,0,0xfffee9b7, 6,0,0xffcee637, 6,0, "-71241w",
+__LINE__,0xfffc6af5, 7,0,0xfff52123, 7,0,0xff8edbed, 7,0,0xfff52123, 7,0,0xfb036193, 7,0, "-712413",
+__LINE__,0xffff8d5f, 6,0,0xfffee9b7, 6,0,0xfff8edbf, 6,0,0xfffee9b7, 6,0,0xffcee637, 6,0, "-71241",
+__LINE__,0xfffffff9, 2,0,0xd0b840ee,10,0,0x6cdceede,10,0,0xd0b840ee,10,0,0x80000000, 9,34, "-793231122",
+__LINE__,0xfffffff9, 2,0,0xffffffb1, 3,0,0xffffff87, 3,0,0xffffffb1, 3,0,0xffffff41, 3,0, "-79w",
+__LINE__,0xfffffff9, 2,0,0xfffffce7, 4,0,0xfffff86d, 4,0,0xfffffce7, 4,0,0xffffec97, 4,0, "-793",
+__LINE__,0xfffffff9, 2,0,0xffffffb1, 3,0,0xffffff87, 3,0,0xffffffb1, 3,0,0xffffff41, 3,0, "-79",
+__LINE__,0xff12cdae, 9,0,0xfba294ee, 9,0,0x8cdceede, 9,0,0xfba294ee, 9,0,0x80000000, 8,34, "-73231122",
+__LINE__,0xfffffff9, 2,0,0xfffffff9, 2,0,0xfffffff9, 2,0,0xfffffff9, 2,0,0xfffffff9, 2,0, "-7w",
+__LINE__,0xffffffc5, 3,0,0xffffffb7, 3,0,0xffffff8d, 3,0,0xffffffb7, 3,0,0xffffff47, 3,0, "-73",
+__LINE__,0xfffffff9, 2,0,0xfffffff9, 2,0,0xfffffff9, 2,0,0xfffffff9, 2,0,0xfffffff9, 2,0, "-7",
+__LINE__,0xfc12cdae,10,0,0xe9c0f1ee,10,0,0x8cdceede,10,0,0xe9c0f1ee,10,0,0x80000000, 8,34, "-373231122",
+__LINE__,0xffffffe1, 3,0,0xffffffdb, 3,0,0xffffffc9, 3,0,0xffffffdb, 3,0,0xffffffab, 3,0, "-37w",
+__LINE__,0xffffff05, 4,0,0xfffffe8b, 4,0,0xfffffc8d, 4,0,0xfffffe8b, 4,0,0xfffff75b, 4,0, "-373",
+__LINE__,0xffffffe1, 3,0,0xffffffdb, 3,0,0xffffffc9, 3,0,0xffffffdb, 3,0,0xffffffab, 3,0, "-37",
+__LINE__,0x80000000,12,34,0x80000000,11,34,0x80000000, 9,34,0x80000000,11,34,0x80000000,10,34, "-312413231122",
+__LINE__,0xffffcd5f, 6,0,0xffff85f7, 6,0,0xfffcedbf, 6,0,0xffff85f7, 6,0,0xffeaca77, 6,0, "-31241w",
+__LINE__,0xfffe6af5, 7,0,0xfffb3ba3, 7,0,0xffcedbed, 7,0,0xfffb3ba3, 7,0,0xfdd89013, 7,0, "-312413",
+__LINE__,0xffffcd5f, 6,0,0xffff85f7, 6,0,0xfffcedbf, 6,0,0xffff85f7, 6,0,0xffeaca77, 6,0, "-31241",
+__LINE__,0xfffffffd, 2,0,0xe88fc4ee,10,0,0x6cdceede,10,0,0xe88fc4ee,10,0,0x157981ce,10,0, "-393231122",
+__LINE__,0xfffffffd, 2,0,0xffffffd9, 3,0,0xffffffc7, 3,0,0xffffffd9, 3,0,0xffffffa9, 3,0, "-39w",
+__LINE__,0xfffffffd, 2,0,0xfffffe77, 4,0,0xfffffc6d, 4,0,0xfffffe77, 4,0,0xfffff727, 4,0, "-393",
+__LINE__,0xfffffffd, 2,0,0xffffffd9, 3,0,0xffffffc7, 3,0,0xffffffd9, 3,0,0xffffffa9, 3,0, "-39",
+__LINE__,0xff92cdae, 9,0,0xfe04eeee, 9,0,0xccdceede, 9,0,0xfe04eeee, 9,0,0x2b1013ce, 9,0, "-33231122",
+__LINE__,0xfffffffd, 2,0,0xfffffffd, 2,0,0xfffffffd, 2,0,0xfffffffd, 2,0,0xfffffffd, 2,0, "-3w",
+__LINE__,0xffffffe5, 3,0,0xffffffdf, 3,0,0xffffffcd, 3,0,0xffffffdf, 3,0,0xffffffaf, 3,0, "-33",
+__LINE__,0xfffffffd, 2,0,0xfffffffd, 2,0,0xfffffffd, 2,0,0xfffffffd, 2,0,0xfffffffd, 2,0, "-3",
+__LINE__,0xfe12cdae,10,0,0xf5acb3ee,10,0,0x8cdceede,10,0,0xf5acb3ee,10,0,0x111128ce,10,0, "-173231122",
+__LINE__,0xfffffff1, 3,0,0xffffffef, 3,0,0xffffffe9, 3,0,0xffffffef, 3,0,0xffffffdf, 3,0, "-17w",
+__LINE__,0xffffff85, 4,0,0xffffff53, 4,0,0xfffffe8d, 4,0,0xffffff53, 4,0,0xfffffca3, 4,0, "-173",
+__LINE__,0xfffffff1, 3,0,0xffffffef, 3,0,0xffffffe9, 3,0,0xffffffef, 3,0,0xffffffdf, 3,0, "-17",
+__LINE__,0xabd2cdae,13,0,0x80000000,12,34,0x80000000,12,34,0x80000000,12,34,0x80000000, 9,34, "-112413231122",
+__LINE__,0xffffed5f, 6,0,0xffffd417, 6,0,0xfffeedbf, 6,0,0xffffd417, 6,0,0xfff8bc97, 6,0, "-11241w",
+__LINE__,0xffff6af5, 7,0,0xfffe48e3, 7,0,0xffeedbed, 7,0,0xfffe48e3, 7,0,0xff432753, 7,0, "-112413",
+__LINE__,0xffffed5f, 6,0,0xffffd417, 6,0,0xfffeedbf, 6,0,0xffffd417, 6,0,0xfff8bc97, 6,0, "-11241",
+__LINE__,0xffffffff, 2,0,0xf47b86ee,10,0,0x6cdceede,10,0,0xf47b86ee,10,0,0x5399c3ce,10,0, "-193231122",
+__LINE__,0xffffffff, 2,0,0xffffffed, 3,0,0xffffffe7, 3,0,0xffffffed, 3,0,0xffffffdd, 3,0, "-19w",
+__LINE__,0xffffffff, 2,0,0xffffff3f, 4,0,0xfffffe6d, 4,0,0xffffff3f, 4,0,0xfffffc6f, 4,0, "-193",
+__LINE__,0xffffffff, 2,0,0xffffffed, 3,0,0xffffffe7, 3,0,0xffffffed, 3,0,0xffffffdd, 3,0, "-19",
+__LINE__,0xffd2cdae, 9,0,0xff361bee, 9,0,0xecdceede, 9,0,0xff361bee, 9,0,0xe88778ce, 9,0, "-13231122",
+__LINE__,0xffffffff, 2,0,0xffffffff, 2,0,0xffffffff, 2,0,0xffffffff, 2,0,0xffffffff, 2,0, "-1w",
+__LINE__,0xfffffff5, 3,0,0xfffffff3, 3,0,0xffffffed, 3,0,0xfffffff3, 3,0,0xffffffe3, 3,0, "-13",
+__LINE__,0xffffffff, 2,0,0xffffffff, 2,0,0xffffffff, 2,0,0xffffffff, 2,0,0xffffffff, 2,0, "-1",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x7fffffff,10,34,0x7fffffff,10,34,0x00000000, 1,0, "0xa73231122",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x000000a7, 4,0,0x000000a7, 4,0,0x00000000, 1,0, "0xa7w",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000a73, 5,0,0x00000a73, 5,0,0x00000000, 1,0, "0xa73",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x000000a7, 4,0,0x000000a7, 4,0,0x00000000, 1,0, "0xa7",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x7fffffff,10,34,0x7fffffff,10,34,0x00000000, 1,0, "0xa12413231122",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x000a1241, 7,0,0x000a1241, 7,0,0x00000000, 1,0, "0xa1241w",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00a12413, 8,0,0x00a12413, 8,0,0x00000000, 1,0, "0xa12413",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x000a1241, 7,0,0x000a1241, 7,0,0x00000000, 1,0, "0xa1241",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x7fffffff,10,34,0x7fffffff,10,34,0x00000000, 1,0, "0xa93231122",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x000000a9, 4,0,0x000000a9, 4,0,0x00000000, 1,0, "0xa9w",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000a93, 5,0,0x00000a93, 5,0,0x00000000, 1,0, "0xa93",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x000000a9, 4,0,0x000000a9, 4,0,0x00000000, 1,0, "0xa9",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0xa3231122,10,0,0xa3231122,10,0,0x00000000, 1,0, "0xa3231122",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x0000000a, 3,0,0x0000000a, 3,0,0x00000000, 1,0, "0xaw",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x000000a3, 4,0,0x000000a3, 4,0,0x00000000, 1,0, "0xa3",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x0000000a, 3,0,0x0000000a, 3,0,0x00000000, 1,0, "0xa",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x7fffffff,10,34,0x7fffffff,10,34,0x00000000, 1,0, "0x773231122",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000077, 4,0,0x00000077, 4,0,0x00000000, 1,0, "0x77w",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000773, 5,0,0x00000773, 5,0,0x00000000, 1,0, "0x773",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000077, 4,0,0x00000077, 4,0,0x00000000, 1,0, "0x77",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x7fffffff,10,34,0x7fffffff,10,34,0x00000000, 1,0, "0x712413231122",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00071241, 7,0,0x00071241, 7,0,0x00000000, 1,0, "0x71241w",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00712413, 8,0,0x00712413, 8,0,0x00000000, 1,0, "0x712413",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00071241, 7,0,0x00071241, 7,0,0x00000000, 1,0, "0x71241",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x93231122,11,0,0x93231122,11,0,0x00000000, 1,0, "0x793231122",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000079, 4,0,0x00000079, 4,0,0x00000000, 1,0, "0x79w",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000793, 5,0,0x00000793, 5,0,0x00000000, 1,0, "0x793",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000079, 4,0,0x00000079, 4,0,0x00000000, 1,0, "0x79",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x73231122,10,0,0x73231122,10,0,0x00000000, 1,0, "0x73231122",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000007, 3,0,0x00000007, 3,0,0x00000000, 1,0, "0x7w",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000073, 4,0,0x00000073, 4,0,0x00000000, 1,0, "0x73",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000007, 3,0,0x00000007, 3,0,0x00000000, 1,0, "0x7",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x73231122,11,0,0x73231122,11,0,0x00000000, 1,0, "0x373231122",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000037, 4,0,0x00000037, 4,0,0x00000000, 1,0, "0x37w",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000373, 5,0,0x00000373, 5,0,0x00000000, 1,0, "0x373",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000037, 4,0,0x00000037, 4,0,0x00000000, 1,0, "0x37",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x7fffffff,10,34,0x7fffffff,10,34,0x00000000, 1,0, "0x312413231122",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00031241, 7,0,0x00031241, 7,0,0x00000000, 1,0, "0x31241w",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00312413, 8,0,0x00312413, 8,0,0x00000000, 1,0, "0x312413",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00031241, 7,0,0x00031241, 7,0,0x00000000, 1,0, "0x31241",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x93231122,11,0,0x93231122,11,0,0x00000000, 1,0, "0x393231122",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000039, 4,0,0x00000039, 4,0,0x00000000, 1,0, "0x39w",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000393, 5,0,0x00000393, 5,0,0x00000000, 1,0, "0x393",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000039, 4,0,0x00000039, 4,0,0x00000000, 1,0, "0x39",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x33231122,10,0,0x33231122,10,0,0x00000000, 1,0, "0x33231122",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000003, 3,0,0x00000003, 3,0,0x00000000, 1,0, "0x3w",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000033, 4,0,0x00000033, 4,0,0x00000000, 1,0, "0x33",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000003, 3,0,0x00000003, 3,0,0x00000000, 1,0, "0x3",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x73231122,11,0,0x73231122,11,0,0x00000000, 1,0, "0x173231122",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000017, 4,0,0x00000017, 4,0,0x00000000, 1,0, "0x17w",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000173, 5,0,0x00000173, 5,0,0x00000000, 1,0, "0x173",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000017, 4,0,0x00000017, 4,0,0x00000000, 1,0, "0x17",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x7fffffff,13,34,0x7fffffff,13,34,0x00000000, 1,0, "0x112413231122",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00011241, 7,0,0x00011241, 7,0,0x00000000, 1,0, "0x11241w",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00112413, 8,0,0x00112413, 8,0,0x00000000, 1,0, "0x112413",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00011241, 7,0,0x00011241, 7,0,0x00000000, 1,0, "0x11241",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x93231122,11,0,0x93231122,11,0,0x00000000, 1,0, "0x193231122",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000019, 4,0,0x00000019, 4,0,0x00000000, 1,0, "0x19w",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000193, 5,0,0x00000193, 5,0,0x00000000, 1,0, "0x193",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000019, 4,0,0x00000019, 4,0,0x00000000, 1,0, "0x19",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x13231122,10,0,0x13231122,10,0,0x00000000, 1,0, "0x13231122",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000001, 3,0,0x00000001, 3,0,0x00000000, 1,0, "0x1w",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000013, 4,0,0x00000013, 4,0,0x00000000, 1,0, "0x13",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000001, 3,0,0x00000001, 3,0,0x00000000, 1,0, "0x1",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff, 8,34, "0a73231122",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000000, 0,0,0x00000000, 0,0,0x0000010b, 3,0, "0a7w",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000000, 0,0,0x00000000, 0,0,0x00001b21, 4,0, "0a73",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000000, 0,0,0x00000000, 0,0,0x0000010b, 3,0, "0a7",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff, 9,34, "0a12413231122",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000000, 0,0,0x00000000, 0,0,0x004604f9, 6,0, "0a1241w",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000000, 0,0,0x00000000, 0,0,0x071c814d, 7,0, "0a12413",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000000, 0,0,0x00000000, 0,0,0x004604f9, 6,0, "0a1241",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff, 8,34, "0a93231122",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000000, 0,0,0x00000000, 0,0,0x0000010d, 3,0, "0a9w",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000000, 0,0,0x00000000, 0,0,0x00001b55, 4,0, "0a93",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000000, 0,0,0x00000000, 0,0,0x0000010d, 3,0, "0a9",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000000, 0,0,0x00000000, 0,0,0xec11cdb2, 9,0, "0a3231122",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000000, 0,0,0x00000000, 0,0,0x0000000a, 2,0, "0aw",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000000, 0,0,0x00000000, 0,0,0x00000107, 3,0, "0a3",
+__LINE__,0x00000000, 1,0,0x00000000, 1,0,0x00000000, 0,0,0x00000000, 0,0,0x0000000a, 2,0, "0a",
+__LINE__,0x07ed3252,10,0,0x2e169212,10,0,0x07ed3252,10,0,0x07ed3252,10,0,0xa94f9d32,10,0, "0773231122",
+__LINE__,0x0000003f, 3,0,0x0000004d, 3,0,0x0000003f, 3,0,0x0000003f, 3,0,0x000000bd, 3,0, "077w",
+__LINE__,0x000001fb, 4,0,0x00000305, 4,0,0x000001fb, 4,0,0x000001fb, 4,0,0x00001335, 4,0, "0773",
+__LINE__,0x0000003f, 3,0,0x0000004d, 3,0,0x0000003f, 3,0,0x0000003f, 3,0,0x000000bd, 3,0, "077",
+__LINE__,0x7fffffff,12,34,0x7fffffff,11,34,0x7fffffff,12,34,0x7fffffff,12,34,0x7fffffff, 8,34, "0712413231122",
+__LINE__,0x000072a1, 6,0,0x00011649, 6,0,0x000072a1, 6,0,0x000072a1, 6,0,0x003119c9, 6,0, "071241w",
+__LINE__,0x0003950b, 7,0,0x000adedd, 7,0,0x0003950b, 7,0,0x0003950b, 7,0,0x04fc9e6d, 7,0, "0712413",
+__LINE__,0x000072a1, 6,0,0x00011649, 6,0,0x000072a1, 6,0,0x000072a1, 6,0,0x003119c9, 6,0, "071241",
+__LINE__,0x00000007, 2,0,0x2f47bf12,10,0,0x00000007, 2,0,0x00000007, 2,0,0x7fffffff, 9,34, "0793231122",
+__LINE__,0x00000007, 2,0,0x0000004f, 3,0,0x00000007, 2,0,0x00000007, 2,0,0x000000bf, 3,0, "079w",
+__LINE__,0x00000007, 2,0,0x00000319, 4,0,0x00000007, 2,0,0x00000007, 2,0,0x00001369, 4,0, "0793",
+__LINE__,0x00000007, 2,0,0x0000004f, 3,0,0x00000007, 2,0,0x00000007, 2,0,0x000000bf, 3,0, "079",
+__LINE__,0x00ed3252, 9,0,0x045d6b12, 9,0,0x00ed3252, 9,0,0x00ed3252, 9,0,0x7fffffff, 8,34, "073231122",
+__LINE__,0x00000007, 2,0,0x00000007, 2,0,0x00000007, 2,0,0x00000007, 2,0,0x00000007, 2,0, "07w",
+__LINE__,0x0000003b, 3,0,0x00000049, 3,0,0x0000003b, 3,0,0x0000003b, 3,0,0x000000b9, 3,0, "073",
+__LINE__,0x00000007, 2,0,0x00000007, 2,0,0x00000007, 2,0,0x00000007, 2,0,0x00000007, 2,0, "07",
+__LINE__,0x03ed3252,10,0,0x163f0e12,10,0,0x03ed3252,10,0,0x03ed3252,10,0,0x7fffffff, 8,34, "0373231122",
+__LINE__,0x0000001f, 3,0,0x00000025, 3,0,0x0000001f, 3,0,0x0000001f, 3,0,0x00000055, 3,0, "037w",
+__LINE__,0x000000fb, 4,0,0x00000175, 4,0,0x000000fb, 4,0,0x000000fb, 4,0,0x000008a5, 4,0, "0373",
+__LINE__,0x0000001f, 3,0,0x00000025, 3,0,0x0000001f, 3,0,0x0000001f, 3,0,0x00000055, 3,0, "037",
+__LINE__,0x7fffffff,12,34,0x7fffffff,11,34,0x7fffffff,12,34,0x7fffffff,12,34,0x7fffffff,10,34, "0312413231122",
+__LINE__,0x000032a1, 6,0,0x00007a09, 6,0,0x000032a1, 6,0,0x000032a1, 6,0,0x00153589, 6,0, "031241w",
+__LINE__,0x0001950b, 7,0,0x0004c45d, 7,0,0x0001950b, 7,0,0x0001950b, 7,0,0x02276fed, 7,0, "0312413",
+__LINE__,0x000032a1, 6,0,0x00007a09, 6,0,0x000032a1, 6,0,0x000032a1, 6,0,0x00153589, 6,0, "031241",
+__LINE__,0x00000003, 2,0,0x17703b12,10,0,0x00000003, 2,0,0x00000003, 2,0,0xea867e32,10,0, "0393231122",
+__LINE__,0x00000003, 2,0,0x00000027, 3,0,0x00000003, 2,0,0x00000003, 2,0,0x00000057, 3,0, "039w",
+__LINE__,0x00000003, 2,0,0x00000189, 4,0,0x00000003, 2,0,0x00000003, 2,0,0x000008d9, 4,0, "0393",
+__LINE__,0x00000003, 2,0,0x00000027, 3,0,0x00000003, 2,0,0x00000003, 2,0,0x00000057, 3,0, "039",
+__LINE__,0x006d3252, 9,0,0x01fb1112, 9,0,0x006d3252, 9,0,0x006d3252, 9,0,0xd4efec32, 9,0, "033231122",
+__LINE__,0x00000003, 2,0,0x00000003, 2,0,0x00000003, 2,0,0x00000003, 2,0,0x00000003, 2,0, "03w",
+__LINE__,0x0000001b, 3,0,0x00000021, 3,0,0x0000001b, 3,0,0x0000001b, 3,0,0x00000051, 3,0, "033",
+__LINE__,0x00000003, 2,0,0x00000003, 2,0,0x00000003, 2,0,0x00000003, 2,0,0x00000003, 2,0, "03",
+__LINE__,0x01ed3252,10,0,0x0a534c12,10,0,0x01ed3252,10,0,0x01ed3252,10,0,0xeeeed732,10,0, "0173231122",
+__LINE__,0x0000000f, 3,0,0x00000011, 3,0,0x0000000f, 3,0,0x0000000f, 3,0,0x00000021, 3,0, "017w",
+__LINE__,0x0000007b, 4,0,0x000000ad, 4,0,0x0000007b, 4,0,0x0000007b, 4,0,0x0000035d, 4,0, "0173",
+__LINE__,0x0000000f, 3,0,0x00000011, 3,0,0x0000000f, 3,0,0x0000000f, 3,0,0x00000021, 3,0, "017",
+__LINE__,0x542d3252,13,0,0x7fffffff,12,34,0x542d3252,13,0,0x542d3252,13,0,0x7fffffff, 9,34, "0112413231122",
+__LINE__,0x000012a1, 6,0,0x00002be9, 6,0,0x000012a1, 6,0,0x000012a1, 6,0,0x00074369, 6,0, "011241w",
+__LINE__,0x0000950b, 7,0,0x0001b71d, 7,0,0x0000950b, 7,0,0x0000950b, 7,0,0x00bcd8ad, 7,0, "0112413",
+__LINE__,0x000012a1, 6,0,0x00002be9, 6,0,0x000012a1, 6,0,0x000012a1, 6,0,0x00074369, 6,0, "011241",
+__LINE__,0x00000001, 2,0,0x0b847912,10,0,0x00000001, 2,0,0x00000001, 2,0,0xac663c32,10,0, "0193231122",
+__LINE__,0x00000001, 2,0,0x00000013, 3,0,0x00000001, 2,0,0x00000001, 2,0,0x00000023, 3,0, "019w",
+__LINE__,0x00000001, 2,0,0x000000c1, 4,0,0x00000001, 2,0,0x00000001, 2,0,0x00000391, 4,0, "0193",
+__LINE__,0x00000001, 2,0,0x00000013, 3,0,0x00000001, 2,0,0x00000001, 2,0,0x00000023, 3,0, "019",
+__LINE__,0x002d3252, 9,0,0x00c9e412, 9,0,0x002d3252, 9,0,0x002d3252, 9,0,0x17788732, 9,0, "013231122",
+__LINE__,0x00000001, 2,0,0x00000001, 2,0,0x00000001, 2,0,0x00000001, 2,0,0x00000001, 2,0, "01w",
+__LINE__,0x0000000b, 3,0,0x0000000d, 3,0,0x0000000b, 3,0,0x0000000b, 3,0,0x0000001d, 3,0, "013",
+__LINE__,0x00000001, 2,0,0x00000001, 2,0,0x00000001, 2,0,0x00000001, 2,0,0x00000001, 2,0, "01",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff, 8,34,0x00000000, 0,0,0x7fffffff, 7,34, "a73231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000000a7, 2,0,0x00000000, 0,0,0x0000010b, 2,0, "a7w",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x00000a73, 3,0,0x00000000, 0,0,0x00001b21, 3,0, "a73",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000000a7, 2,0,0x00000000, 0,0,0x0000010b, 2,0, "a7",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff, 8,34,0x00000000, 0,0,0x7fffffff, 8,34, "a12413231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000a1241, 5,0,0x00000000, 0,0,0x004604f9, 5,0, "a1241w",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x00a12413, 6,0,0x00000000, 0,0,0x071c814d, 6,0, "a12413",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000a1241, 5,0,0x00000000, 0,0,0x004604f9, 5,0, "a1241",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x7fffffff, 8,34,0x00000000, 0,0,0x7fffffff, 7,34, "a93231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000000a9, 2,0,0x00000000, 0,0,0x0000010d, 2,0, "a9w",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x00000a93, 3,0,0x00000000, 0,0,0x00001b55, 3,0, "a93",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000000a9, 2,0,0x00000000, 0,0,0x0000010d, 2,0, "a9",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0xa3231122, 8,0,0x00000000, 0,0,0xec11cdb2, 8,0, "a3231122",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x0000000a, 1,0,0x00000000, 0,0,0x0000000a, 1,0, "aw",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x000000a3, 2,0,0x00000000, 0,0,0x00000107, 2,0, "a3",
+__LINE__,0x00000000, 0,0,0x00000000, 0,0,0x0000000a, 1,0,0x00000000, 0,0,0x0000000a, 1,0, "a",
+__LINE__,0x07ed3252, 9,0,0x2e169212, 9,0,0x7fffffff, 8,34,0x2e169212, 9,0,0xa94f9d32, 9,0, "773231122",
+__LINE__,0x0000003f, 2,0,0x0000004d, 2,0,0x00000077, 2,0,0x0000004d, 2,0,0x000000bd, 2,0, "77w",
+__LINE__,0x000001fb, 3,0,0x00000305, 3,0,0x00000773, 3,0,0x00000305, 3,0,0x00001335, 3,0, "773",
+__LINE__,0x0000003f, 2,0,0x0000004d, 2,0,0x00000077, 2,0,0x0000004d, 2,0,0x000000bd, 2,0, "77",
+__LINE__,0x7fffffff,11,34,0x7fffffff,10,34,0x7fffffff, 8,34,0x7fffffff,10,34,0x7fffffff, 7,34, "712413231122",
+__LINE__,0x000072a1, 5,0,0x00011649, 5,0,0x00071241, 5,0,0x00011649, 5,0,0x003119c9, 5,0, "71241w",
+__LINE__,0x0003950b, 6,0,0x000adedd, 6,0,0x00712413, 6,0,0x000adedd, 6,0,0x04fc9e6d, 6,0, "712413",
+__LINE__,0x000072a1, 5,0,0x00011649, 5,0,0x00071241, 5,0,0x00011649, 5,0,0x003119c9, 5,0, "71241",
+__LINE__,0x00000007, 1,0,0x2f47bf12, 9,0,0x93231122, 9,0,0x2f47bf12, 9,0,0x7fffffff, 8,34, "793231122",
+__LINE__,0x00000007, 1,0,0x0000004f, 2,0,0x00000079, 2,0,0x0000004f, 2,0,0x000000bf, 2,0, "79w",
+__LINE__,0x00000007, 1,0,0x00000319, 3,0,0x00000793, 3,0,0x00000319, 3,0,0x00001369, 3,0, "793",
+__LINE__,0x00000007, 1,0,0x0000004f, 2,0,0x00000079, 2,0,0x0000004f, 2,0,0x000000bf, 2,0, "79",
+__LINE__,0x00ed3252, 8,0,0x045d6b12, 8,0,0x73231122, 8,0,0x045d6b12, 8,0,0x7fffffff, 7,34, "73231122",
+__LINE__,0x00000007, 1,0,0x00000007, 1,0,0x00000007, 1,0,0x00000007, 1,0,0x00000007, 1,0, "7w",
+__LINE__,0x0000003b, 2,0,0x00000049, 2,0,0x00000073, 2,0,0x00000049, 2,0,0x000000b9, 2,0, "73",
+__LINE__,0x00000007, 1,0,0x00000007, 1,0,0x00000007, 1,0,0x00000007, 1,0,0x00000007, 1,0, "7",
+__LINE__,0x03ed3252, 9,0,0x163f0e12, 9,0,0x73231122, 9,0,0x163f0e12, 9,0,0x7fffffff, 7,34, "373231122",
+__LINE__,0x0000001f, 2,0,0x00000025, 2,0,0x00000037, 2,0,0x00000025, 2,0,0x00000055, 2,0, "37w",
+__LINE__,0x000000fb, 3,0,0x00000175, 3,0,0x00000373, 3,0,0x00000175, 3,0,0x000008a5, 3,0, "373",
+__LINE__,0x0000001f, 2,0,0x00000025, 2,0,0x00000037, 2,0,0x00000025, 2,0,0x00000055, 2,0, "37",
+__LINE__,0x7fffffff,11,34,0x7fffffff,10,34,0x7fffffff, 8,34,0x7fffffff,10,34,0x7fffffff, 9,34, "312413231122",
+__LINE__,0x000032a1, 5,0,0x00007a09, 5,0,0x00031241, 5,0,0x00007a09, 5,0,0x00153589, 5,0, "31241w",
+__LINE__,0x0001950b, 6,0,0x0004c45d, 6,0,0x00312413, 6,0,0x0004c45d, 6,0,0x02276fed, 6,0, "312413",
+__LINE__,0x000032a1, 5,0,0x00007a09, 5,0,0x00031241, 5,0,0x00007a09, 5,0,0x00153589, 5,0, "31241",
+__LINE__,0x00000003, 1,0,0x17703b12, 9,0,0x93231122, 9,0,0x17703b12, 9,0,0xea867e32, 9,0, "393231122",
+__LINE__,0x00000003, 1,0,0x00000027, 2,0,0x00000039, 2,0,0x00000027, 2,0,0x00000057, 2,0, "39w",
+__LINE__,0x00000003, 1,0,0x00000189, 3,0,0x00000393, 3,0,0x00000189, 3,0,0x000008d9, 3,0, "393",
+__LINE__,0x00000003, 1,0,0x00000027, 2,0,0x00000039, 2,0,0x00000027, 2,0,0x00000057, 2,0, "39",
+__LINE__,0x006d3252, 8,0,0x01fb1112, 8,0,0x33231122, 8,0,0x01fb1112, 8,0,0xd4efec32, 8,0, "33231122",
+__LINE__,0x00000003, 1,0,0x00000003, 1,0,0x00000003, 1,0,0x00000003, 1,0,0x00000003, 1,0, "3w",
+__LINE__,0x0000001b, 2,0,0x00000021, 2,0,0x00000033, 2,0,0x00000021, 2,0,0x00000051, 2,0, "33",
+__LINE__,0x00000003, 1,0,0x00000003, 1,0,0x00000003, 1,0,0x00000003, 1,0,0x00000003, 1,0, "3",
+__LINE__,0x01ed3252, 9,0,0x0a534c12, 9,0,0x73231122, 9,0,0x0a534c12, 9,0,0xeeeed732, 9,0, "173231122",
+__LINE__,0x0000000f, 2,0,0x00000011, 2,0,0x00000017, 2,0,0x00000011, 2,0,0x00000021, 2,0, "17w",
+__LINE__,0x0000007b, 3,0,0x000000ad, 3,0,0x00000173, 3,0,0x000000ad, 3,0,0x0000035d, 3,0, "173",
+__LINE__,0x0000000f, 2,0,0x00000011, 2,0,0x00000017, 2,0,0x00000011, 2,0,0x00000021, 2,0, "17",
+__LINE__,0x542d3252,12,0,0x7fffffff,11,34,0x7fffffff,11,34,0x7fffffff,11,34,0x7fffffff, 8,34, "112413231122",
+__LINE__,0x000012a1, 5,0,0x00002be9, 5,0,0x00011241, 5,0,0x00002be9, 5,0,0x00074369, 5,0, "11241w",
+__LINE__,0x0000950b, 6,0,0x0001b71d, 6,0,0x00112413, 6,0,0x0001b71d, 6,0,0x00bcd8ad, 6,0, "112413",
+__LINE__,0x000012a1, 5,0,0x00002be9, 5,0,0x00011241, 5,0,0x00002be9, 5,0,0x00074369, 5,0, "11241",
+__LINE__,0x00000001, 1,0,0x0b847912, 9,0,0x93231122, 9,0,0x0b847912, 9,0,0xac663c32, 9,0, "193231122",
+__LINE__,0x00000001, 1,0,0x00000013, 2,0,0x00000019, 2,0,0x00000013, 2,0,0x00000023, 2,0, "19w",
+__LINE__,0x00000001, 1,0,0x000000c1, 3,0,0x00000193, 3,0,0x000000c1, 3,0,0x00000391, 3,0, "193",
+__LINE__,0x00000001, 1,0,0x00000013, 2,0,0x00000019, 2,0,0x00000013, 2,0,0x00000023, 2,0, "19",
+__LINE__,0x002d3252, 8,0,0x00c9e412, 8,0,0x13231122, 8,0,0x00c9e412, 8,0,0x17788732, 8,0, "13231122",
+__LINE__,0x00000001, 1,0,0x00000001, 1,0,0x00000001, 1,0,0x00000001, 1,0,0x00000001, 1,0, "1w",
+__LINE__,0x0000000b, 2,0,0x0000000d, 2,0,0x00000013, 2,0,0x0000000d, 2,0,0x0000001d, 2,0, "13",
+__LINE__,0x00000001, 1,0,0x00000001, 1,0,0x00000001, 1,0,0x00000001, 1,0,0x00000001, 1,0, "1",
+0
+}
+;
diff --git a/newlib/libm/test/j0_vec.c b/newlib/libm/test/j0_vec.c
new file mode 100644
index 00000000000..834f8837030
--- /dev/null
+++ b/newlib/libm/test/j0_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type j0_vec[] = {
+{63, 0,123,__LINE__, 0x3fe579eb, 0x607c7c44, 0xbff33333, 0x33333333}, /* 0.67113=f(-1.20000)*/
+{64, 0,123,__LINE__, 0x3fe5a2a2, 0x4bc89e06, 0xbff30a3d, 0x70a3d70a}, /* 0.67610=f(-1.19000)*/
+{64, 0,123,__LINE__, 0x3fe5cb22, 0xc94f81ce, 0xbff2e147, 0xae147ae1}, /* 0.68104=f(-1.18000)*/
+{64, 0,123,__LINE__, 0x3fe5f36c, 0x164082d9, 0xbff2b851, 0xeb851eb8}, /* 0.68596=f(-1.17000)*/
+{64, 0,123,__LINE__, 0x3fe61b7d, 0x70c07b77, 0xbff28f5c, 0x28f5c28f}, /* 0.69085=f(-1.16000)*/
+{64, 0,123,__LINE__, 0x3fe64356, 0x17eddc85, 0xbff26666, 0x66666666}, /* 0.69571=f(-1.15000)*/
+{64, 0,123,__LINE__, 0x3fe66af5, 0x4be4bfcc, 0xbff23d70, 0xa3d70a3d}, /* 0.70055=f(-1.14000)*/
+{64, 0,123,__LINE__, 0x3fe6925a, 0x4dc2f55a, 0xbff2147a, 0xe147ae14}, /* 0.70536=f(-1.13000)*/
+{63, 0,123,__LINE__, 0x3fe6b984, 0x5fac0b72, 0xbff1eb85, 0x1eb851eb}, /* 0.71014=f(-1.12000)*/
+{62, 0,123,__LINE__, 0x3fe6e072, 0xc4cd5149, 0xbff1c28f, 0x5c28f5c2}, /* 0.71489=f(-1.11000)*/
+{63, 0,123,__LINE__, 0x3fe70724, 0xc161d44e, 0xbff19999, 0x99999999}, /* 0.71962=f(-1.10000)*/
+{64, 0,123,__LINE__, 0x3fe72d99, 0x9ab657eb, 0xbff170a3, 0xd70a3d70}, /* 0.72431=f(-1.09000)*/
+{62, 0,123,__LINE__, 0x3fe753d0, 0x972d47b0, 0xbff147ae, 0x147ae147}, /* 0.72898=f(-1.08000)*/
+{64, 0,123,__LINE__, 0x3fe779c8, 0xfe42a3da, 0xbff11eb8, 0x51eb851e}, /* 0.73361=f(-1.07000)*/
+{63, 0,123,__LINE__, 0x3fe79f82, 0x188fe7fe, 0xbff0f5c2, 0x8f5c28f5}, /* 0.73822=f(-1.06000)*/
+{64, 0,123,__LINE__, 0x3fe7c4fb, 0x2fcfebf2, 0xbff0cccc, 0xcccccccc}, /* 0.74279=f(-1.05000)*/
+{64, 0,123,__LINE__, 0x3fe7ea33, 0x8ee2bead, 0xbff0a3d7, 0x0a3d70a3}, /* 0.74733=f(-1.04000)*/
+{64, 0,123,__LINE__, 0x3fe80f2a, 0x81d17b34, 0xbff07ae1, 0x47ae147a}, /* 0.75185=f(-1.03000)*/
+{60, 0,123,__LINE__, 0x3fe833df, 0x55d21757, 0xbff051eb, 0x851eb851}, /* 0.75633=f(-1.02000)*/
+{64, 0,123,__LINE__, 0x3fe85851, 0x594b2c4d, 0xbff028f5, 0xc28f5c28}, /* 0.76078=f(-1.01000)*/
+{64, 0,123,__LINE__, 0x3fe87c7f, 0xdbd7b8f0, 0xbfefffff, 0xfffffffe}, /* 0.76519=f(-0.01000)*/
+{64, 0,123,__LINE__, 0x3fe8a06a, 0x2e4addb6, 0xbfefae14, 0x7ae147ac}, /* 0.76958=f(-0.99000)*/
+{64, 0,123,__LINE__, 0x3fe8c40f, 0xa2b3921d, 0xbfef5c28, 0xf5c28f5a}, /* 0.77393=f(-0.98000)*/
+{64, 0,123,__LINE__, 0x3fe8e76f, 0x8c6053a3, 0xbfef0a3d, 0x70a3d708}, /* 0.77825=f(-0.97000)*/
+{64, 0,123,__LINE__, 0x3fe90a89, 0x3fe2ce0d, 0xbfeeb851, 0xeb851eb6}, /* 0.78253=f(-0.96000)*/
+{64, 0,123,__LINE__, 0x3fe92d5c, 0x13137d0e, 0xbfee6666, 0x66666664}, /* 0.78678=f(-0.95000)*/
+{64, 0,123,__LINE__, 0x3fe94fe7, 0x5d154716, 0xbfee147a, 0xe147ae12}, /* 0.79100=f(-0.94000)*/
+{64, 0,123,__LINE__, 0x3fe9722a, 0x76591154, 0xbfedc28f, 0x5c28f5c0}, /* 0.79518=f(-0.93000)*/
+{64, 0,123,__LINE__, 0x3fe99424, 0xb8a14cb4, 0xbfed70a3, 0xd70a3d6e}, /* 0.79933=f(-0.92000)*/
+{64, 0,123,__LINE__, 0x3fe9b5d5, 0x7f057bf2, 0xbfed1eb8, 0x51eb851c}, /* 0.80344=f(-0.91000)*/
+{64, 0,123,__LINE__, 0x3fe9d73c, 0x25f5b27a, 0xbfeccccc, 0xccccccca}, /* 0.80752=f(-0.90000)*/
+{64, 0,123,__LINE__, 0x3fe9f858, 0x0b3e0c30, 0xbfec7ae1, 0x47ae1478}, /* 0.81156=f(-0.89000)*/
+{64, 0,123,__LINE__, 0x3fea1928, 0x8e0a1de9, 0xbfec28f5, 0xc28f5c26}, /* 0.81557=f(-0.88000)*/
+{64, 0,123,__LINE__, 0x3fea39ad, 0x0ee85e9a, 0xbfebd70a, 0x3d70a3d4}, /* 0.81954=f(-0.87000)*/
+{64, 0,123,__LINE__, 0x3fea59e4, 0xefcd8915, 0xbfeb851e, 0xb851eb82}, /* 0.82347=f(-0.86000)*/
+{64, 0,123,__LINE__, 0x3fea79cf, 0x9417f64c, 0xbfeb3333, 0x33333330}, /* 0.82736=f(-0.85000)*/
+{64, 0,123,__LINE__, 0x3fea996c, 0x6092f01d, 0xbfeae147, 0xae147ade}, /* 0.83122=f(-0.84000)*/
+{64, 0,123,__LINE__, 0x3feab8ba, 0xbb79fc54, 0xbfea8f5c, 0x28f5c28c}, /* 0.83504=f(-0.83000)*/
+{64, 0,123,__LINE__, 0x3fead7ba, 0x0c7c201a, 0xbfea3d70, 0xa3d70a3a}, /* 0.83883=f(-0.82000)*/
+{64, 0,123,__LINE__, 0x3feaf669, 0xbcbf1b8d, 0xbfe9eb85, 0x1eb851e8}, /* 0.84257=f(-0.81000)*/
+{64, 0,123,__LINE__, 0x3feb14c9, 0x36e29d87, 0xbfe99999, 0x99999996}, /* 0.84628=f(-0.80000)*/
+{63, 0,123,__LINE__, 0x3feb32d7, 0xe7036f70, 0xbfe947ae, 0x147ae144}, /* 0.84995=f(-0.79000)*/
+{64, 0,123,__LINE__, 0x3feb5095, 0x3abe9920, 0xbfe8f5c2, 0x8f5c28f2}, /* 0.85358=f(-0.78000)*/
+{64, 0,123,__LINE__, 0x3feb6e00, 0xa1347ca2, 0xbfe8a3d7, 0x0a3d70a0}, /* 0.85717=f(-0.77000)*/
+{64, 0,123,__LINE__, 0x3feb8b19, 0x8b0be9e0, 0xbfe851eb, 0x851eb84e}, /* 0.86072=f(-0.76000)*/
+{64, 0,123,__LINE__, 0x3feba7df, 0x6a752a1a, 0xbfe7ffff, 0xfffffffc}, /* 0.86424=f(-0.75000)*/
+{64, 0,123,__LINE__, 0x3febc451, 0xb32d0313, 0xbfe7ae14, 0x7ae147aa}, /* 0.86771=f(-0.74000)*/
+{64, 0,123,__LINE__, 0x3febe06f, 0xda7fb1f1, 0xbfe75c28, 0xf5c28f58}, /* 0.87114=f(-0.73000)*/
+{64, 0,123,__LINE__, 0x3febfc39, 0x574bddb1, 0xbfe70a3d, 0x70a3d706}, /* 0.87453=f(-0.72000)*/
+{64, 0,123,__LINE__, 0x3fec17ad, 0xa2058121, 0xbfe6b851, 0xeb851eb4}, /* 0.87789=f(-0.71000)*/
+{64, 0,123,__LINE__, 0x3fec32cc, 0x34b8cc5b, 0xbfe66666, 0x66666662}, /* 0.88120=f(-0.70000)*/
+{64, 0,123,__LINE__, 0x3fec4d94, 0x8b0cfd9c, 0xbfe6147a, 0xe147ae10}, /* 0.88447=f(-0.69000)*/
+{62, 0,123,__LINE__, 0x3fec6806, 0x22473179, 0xbfe5c28f, 0x5c28f5be}, /* 0.88769=f(-0.68000)*/
+{64, 0,123,__LINE__, 0x3fec8220, 0x794d2a5b, 0xbfe570a3, 0xd70a3d6c}, /* 0.89088=f(-0.67000)*/
+{64, 0,123,__LINE__, 0x3fec9be3, 0x10a80f2d, 0xbfe51eb8, 0x51eb851a}, /* 0.89402=f(-0.66000)*/
+{60, 0,123,__LINE__, 0x3fecb54d, 0x6a872137, 0xbfe4cccc, 0xccccccc8}, /* 0.89713=f(-0.65000)*/
+{63, 0,123,__LINE__, 0x3fecce5f, 0x0ac2690c, 0xbfe47ae1, 0x47ae1476}, /* 0.90019=f(-0.64000)*/
+{64, 0,123,__LINE__, 0x3fece717, 0x76dd5a82, 0xbfe428f5, 0xc28f5c24}, /* 0.90320=f(-0.63000)*/
+{64, 0,123,__LINE__, 0x3fecff76, 0x36096fa9, 0xbfe3d70a, 0x3d70a3d2}, /* 0.90618=f(-0.62000)*/
+{64, 0,123,__LINE__, 0x3fed177a, 0xd128ba9e, 0xbfe3851e, 0xb851eb80}, /* 0.90911=f(-0.61000)*/
+{64, 0,123,__LINE__, 0x3fed2f24, 0xd2d06e4f, 0xbfe33333, 0x3333332e}, /* 0.91200=f(-0.60000)*/
+{64, 0,123,__LINE__, 0x3fed4673, 0xc74b5df2, 0xbfe2e147, 0xae147adc}, /* 0.91485=f(-0.59000)*/
+{64, 0,123,__LINE__, 0x3fed5d67, 0x3c9c7358, 0xbfe28f5c, 0x28f5c28a}, /* 0.91765=f(-0.58000)*/
+{64, 0,123,__LINE__, 0x3fed73fe, 0xc2811bd3, 0xbfe23d70, 0xa3d70a38}, /* 0.92040=f(-0.57000)*/
+{64, 0,123,__LINE__, 0x3fed8a39, 0xea73abdc, 0xbfe1eb85, 0x1eb851e6}, /* 0.92312=f(-0.56000)*/
+{64, 0,123,__LINE__, 0x3feda018, 0x47adb932, 0xbfe19999, 0x99999994}, /* 0.92579=f(-0.55000)*/
+{64, 0,123,__LINE__, 0x3fedb599, 0x6f2a6b98, 0xbfe147ae, 0x147ae142}, /* 0.92841=f(-0.54000)*/
+{64, 0,123,__LINE__, 0x3fedcabc, 0xf7a8c405, 0xbfe0f5c2, 0x8f5c28f0}, /* 0.93099=f(-0.53000)*/
+{64, 0,123,__LINE__, 0x3feddf82, 0x79adda37, 0xbfe0a3d7, 0x0a3d709e}, /* 0.93353=f(-0.52000)*/
+{64, 0,123,__LINE__, 0x3fedf3e9, 0x8f8710bb, 0xbfe051eb, 0x851eb84c}, /* 0.93602=f(-0.51000)*/
+{64, 0,123,__LINE__, 0x3fee07f1, 0xd54c3f36, 0xbfdfffff, 0xfffffff4}, /* 0.93846=f(-0.50000)*/
+{64, 0,123,__LINE__, 0x3fee1b9a, 0xe8e1d303, 0xbfdf5c28, 0xf5c28f50}, /* 0.94086=f(-0.49000)*/
+{64, 0,123,__LINE__, 0x3fee2ee4, 0x69fae606, 0xbfdeb851, 0xeb851eac}, /* 0.94322=f(-0.48000)*/
+{64, 0,123,__LINE__, 0x3fee41cd, 0xfa1b4bad, 0xbfde147a, 0xe147ae08}, /* 0.94553=f(-0.47000)*/
+{64, 0,123,__LINE__, 0x3fee5457, 0x3c99941a, 0xbfdd70a3, 0xd70a3d64}, /* 0.94779=f(-0.46000)*/
+{62, 0,123,__LINE__, 0x3fee667f, 0xd6a10561, 0xbfdccccc, 0xccccccc0}, /* 0.95001=f(-0.45000)*/
+{64, 0,123,__LINE__, 0x3fee7847, 0x6f338ada, 0xbfdc28f5, 0xc28f5c1c}, /* 0.95218=f(-0.44000)*/
+{64, 0,123,__LINE__, 0x3fee89ad, 0xaf2b9a61, 0xbfdb851e, 0xb851eb78}, /* 0.95430=f(-0.43000)*/
+{64, 0,123,__LINE__, 0x3fee9ab2, 0x413e0fad, 0xbfdae147, 0xae147ad4}, /* 0.95638=f(-0.42000)*/
+{64, 0,123,__LINE__, 0x3feeab54, 0xd1fbfd72, 0xbfda3d70, 0xa3d70a30}, /* 0.95841=f(-0.41000)*/
+{64, 0,123,__LINE__, 0x3feebb95, 0x0fd47480, 0xbfd99999, 0x9999998c}, /* 0.96039=f(-0.40000)*/
+{64, 0,123,__LINE__, 0x3feecb72, 0xab1640a2, 0xbfd8f5c2, 0x8f5c28e8}, /* 0.96233=f(-0.39000)*/
+{64, 0,123,__LINE__, 0x3feedaed, 0x55f19b65, 0xbfd851eb, 0x851eb844}, /* 0.96422=f(-0.38000)*/
+{64, 0,123,__LINE__, 0x3feeea04, 0xc479d485, 0xbfd7ae14, 0x7ae147a0}, /* 0.96606=f(-0.37000)*/
+{64, 0,123,__LINE__, 0x3feef8b8, 0xaca6f030, 0xbfd70a3d, 0x70a3d6fc}, /* 0.96786=f(-0.36000)*/
+{64, 0,123,__LINE__, 0x3fef0708, 0xc6573ae6, 0xbfd66666, 0x66666658}, /* 0.96960=f(-0.35000)*/
+{64, 0,123,__LINE__, 0x3fef14f4, 0xcb50d313, 0xbfd5c28f, 0x5c28f5b4}, /* 0.97130=f(-0.34000)*/
+{64, 0,123,__LINE__, 0x3fef227c, 0x77432832, 0xbfd51eb8, 0x51eb8510}, /* 0.97295=f(-0.33000)*/
+{64, 0,123,__LINE__, 0x3fef2f9f, 0x87c86f9f, 0xbfd47ae1, 0x47ae146c}, /* 0.97456=f(-0.32000)*/
+{64, 0,123,__LINE__, 0x3fef3c5d, 0xbc670ee5, 0xbfd3d70a, 0x3d70a3c8}, /* 0.97611=f(-0.31000)*/
+{64, 0,123,__LINE__, 0x3fef48b6, 0xd692fb9f, 0xbfd33333, 0x33333324}, /* 0.97762=f(-0.30000)*/
+{64, 0,123,__LINE__, 0x3fef54aa, 0x99af10ca, 0xbfd28f5c, 0x28f5c280}, /* 0.97908=f(-0.29000)*/
+{64, 0,123,__LINE__, 0x3fef6038, 0xcb0e599c, 0xbfd1eb85, 0x1eb851dc}, /* 0.98049=f(-0.28000)*/
+{64, 0,123,__LINE__, 0x3fef6b61, 0x31f551c4, 0xbfd147ae, 0x147ae138}, /* 0.98185=f(-0.27000)*/
+{64, 0,123,__LINE__, 0x3fef7623, 0x979b1b0a, 0xbfd0a3d7, 0x0a3d7094}, /* 0.98317=f(-0.26000)*/
+{64, 0,123,__LINE__, 0x3fef807f, 0xc72aa866, 0xbfcfffff, 0xffffffe0}, /* 0.98443=f(-0.25000)*/
+{64, 0,123,__LINE__, 0x3fef8a75, 0x8dc3de56, 0xbfceb851, 0xeb851e98}, /* 0.98565=f(-0.24000)*/
+{64, 0,123,__LINE__, 0x3fef9404, 0xba7ca8a2, 0xbfcd70a3, 0xd70a3d50}, /* 0.98681=f(-0.23000)*/
+{64, 0,123,__LINE__, 0x3fef9d2d, 0x1e620558, 0xbfcc28f5, 0xc28f5c08}, /* 0.98793=f(-0.22000)*/
+{64, 0,123,__LINE__, 0x3fefa5ee, 0x8c790524, 0xbfcae147, 0xae147ac0}, /* 0.98900=f(-0.21000)*/
+{64, 0,123,__LINE__, 0x3fefae48, 0xd9bfc0d5, 0xbfc99999, 0x99999978}, /* 0.99002=f(-0.20000)*/
+{64, 0,123,__LINE__, 0x3fefb63b, 0xdd2e4434, 0xbfc851eb, 0x851eb830}, /* 0.99099=f(-0.19000)*/
+{64, 0,123,__LINE__, 0x3fefbdc7, 0x6fb76e04, 0xbfc70a3d, 0x70a3d6e8}, /* 0.99191=f(-0.18000)*/
+{64, 0,123,__LINE__, 0x3fefc4eb, 0x6c49c537, 0xbfc5c28f, 0x5c28f5a0}, /* 0.99278=f(-0.17000)*/
+{64, 0,123,__LINE__, 0x3fefcba7, 0xafd04359, 0xbfc47ae1, 0x47ae1458}, /* 0.99361=f(-0.16000)*/
+{64, 0,123,__LINE__, 0x3fefd1fc, 0x19331411, 0xbfc33333, 0x33333310}, /* 0.99438=f(-0.15000)*/
+{64, 0,123,__LINE__, 0x3fefd7e8, 0x895849e4, 0xbfc1eb85, 0x1eb851c8}, /* 0.99510=f(-0.14000)*/
+{64, 0,123,__LINE__, 0x3fefdd6c, 0xe32487fa, 0xbfc0a3d7, 0x0a3d7080}, /* 0.99577=f(-0.13000)*/
+{64, 0,123,__LINE__, 0x3fefe289, 0x0b7ba117, 0xbfbeb851, 0xeb851e71}, /* 0.99640=f(-0.12000)*/
+{64, 0,123,__LINE__, 0x3fefe73c, 0xe9412b9d, 0xbfbc28f5, 0xc28f5be2}, /* 0.99697=f(-0.11000)*/
+{64, 0,123,__LINE__, 0x3fefeb88, 0x65590ab3, 0xbfb99999, 0x99999953}, /* 0.99750=f(-0.00100)*/
+{64, 0,123,__LINE__, 0x3fefef6b, 0x6aa7ec76, 0xbfb70a3d, 0x70a3d6c4}, /* 0.99797=f(-0.09000)*/
+{64, 0,123,__LINE__, 0x3feff2e5, 0xe613bd35, 0xbfb47ae1, 0x47ae1435}, /* 0.99840=f(-0.08000)*/
+{64, 0,123,__LINE__, 0x3feff5f7, 0xc6840fcb, 0xbfb1eb85, 0x1eb851a6}, /* 0.99877=f(-0.07000)*/
+{64, 0,123,__LINE__, 0x3feff8a0, 0xfce27af5, 0xbfaeb851, 0xeb851e2d}, /* 0.99910=f(-0.06000)*/
+{64, 0,123,__LINE__, 0x3feffae1, 0x7c1aebb8, 0xbfa99999, 0x9999990e}, /* 0.99937=f(-0.05000)*/
+{64, 0,123,__LINE__, 0x3feffcb9, 0x391beccd, 0xbfa47ae1, 0x47ae13ef}, /* 0.99960=f(-0.04000)*/
+{64, 0,123,__LINE__, 0x3feffe28, 0x2ad6e317, 0xbf9eb851, 0xeb851da0}, /* 0.99977=f(-0.03000)*/
+{64, 0,123,__LINE__, 0x3fefff2e, 0x4a403f11, 0xbf947ae1, 0x47ae1362}, /* 0.99990=f(-0.02000)*/
+{64, 0,123,__LINE__, 0x3fefffcb, 0x924fa353, 0xbf847ae1, 0x47ae1249}, /* 0.99997=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3cd19000, 0x00000000}, /* 1.00000=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0x3fefffcb, 0x924fa353, 0x3f847ae1, 0x47ae16ad}, /* 0.99997=f(0.01000)*/
+{64, 0,123,__LINE__, 0x3fefff2e, 0x4a403f11, 0x3f947ae1, 0x47ae1594}, /* 0.99990=f(0.02000)*/
+{64, 0,123,__LINE__, 0x3feffe28, 0x2ad6e317, 0x3f9eb851, 0xeb851fd2}, /* 0.99977=f(0.03000)*/
+{64, 0,123,__LINE__, 0x3feffcb9, 0x391beccd, 0x3fa47ae1, 0x47ae1508}, /* 0.99960=f(0.04000)*/
+{64, 0,123,__LINE__, 0x3feffae1, 0x7c1aebb7, 0x3fa99999, 0x99999a27}, /* 0.99937=f(0.05000)*/
+{64, 0,123,__LINE__, 0x3feff8a0, 0xfce27af5, 0x3faeb851, 0xeb851f46}, /* 0.99910=f(0.06000)*/
+{64, 0,123,__LINE__, 0x3feff5f7, 0xc6840fcb, 0x3fb1eb85, 0x1eb85232}, /* 0.99877=f(0.07000)*/
+{64, 0,123,__LINE__, 0x3feff2e5, 0xe613bd34, 0x3fb47ae1, 0x47ae14c1}, /* 0.99840=f(0.08000)*/
+{64, 0,123,__LINE__, 0x3fefef6b, 0x6aa7ec75, 0x3fb70a3d, 0x70a3d750}, /* 0.99797=f(0.09000)*/
+{64, 0,123,__LINE__, 0x3fefeb88, 0x65590ab3, 0x3fb99999, 0x999999df}, /* 0.99750=f(0.10000)*/
+{64, 0,123,__LINE__, 0x3fefe73c, 0xe9412b9c, 0x3fbc28f5, 0xc28f5c6e}, /* 0.99697=f(0.11000)*/
+{64, 0,123,__LINE__, 0x3fefe289, 0x0b7ba115, 0x3fbeb851, 0xeb851efd}, /* 0.99640=f(0.12000)*/
+{64, 0,123,__LINE__, 0x3fefdd6c, 0xe32487fa, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.99577=f(0.13000)*/
+{64, 0,123,__LINE__, 0x3fefd7e8, 0x895849e2, 0x3fc1eb85, 0x1eb8520e}, /* 0.99510=f(0.14000)*/
+{64, 0,123,__LINE__, 0x3fefd1fc, 0x19331410, 0x3fc33333, 0x33333356}, /* 0.99438=f(0.15000)*/
+{64, 0,123,__LINE__, 0x3fefcba7, 0xafd04357, 0x3fc47ae1, 0x47ae149e}, /* 0.99361=f(0.16000)*/
+{64, 0,123,__LINE__, 0x3fefc4eb, 0x6c49c536, 0x3fc5c28f, 0x5c28f5e6}, /* 0.99278=f(0.17000)*/
+{64, 0,123,__LINE__, 0x3fefbdc7, 0x6fb76e02, 0x3fc70a3d, 0x70a3d72e}, /* 0.99191=f(0.18000)*/
+{64, 0,123,__LINE__, 0x3fefb63b, 0xdd2e4433, 0x3fc851eb, 0x851eb876}, /* 0.99099=f(0.19000)*/
+{64, 0,123,__LINE__, 0x3fefae48, 0xd9bfc0d3, 0x3fc99999, 0x999999be}, /* 0.99002=f(0.20000)*/
+{64, 0,123,__LINE__, 0x3fefa5ee, 0x8c790522, 0x3fcae147, 0xae147b06}, /* 0.98900=f(0.21000)*/
+{64, 0,123,__LINE__, 0x3fef9d2d, 0x1e620556, 0x3fcc28f5, 0xc28f5c4e}, /* 0.98793=f(0.22000)*/
+{64, 0,123,__LINE__, 0x3fef9404, 0xba7ca8a1, 0x3fcd70a3, 0xd70a3d96}, /* 0.98681=f(0.23000)*/
+{64, 0,123,__LINE__, 0x3fef8a75, 0x8dc3de54, 0x3fceb851, 0xeb851ede}, /* 0.98565=f(0.24000)*/
+{64, 0,123,__LINE__, 0x3fef807f, 0xc72aa862, 0x3fd00000, 0x00000013}, /* 0.98443=f(0.25000)*/
+{64, 0,123,__LINE__, 0x3fef7623, 0x979b1b08, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.98317=f(0.26000)*/
+{64, 0,123,__LINE__, 0x3fef6b61, 0x31f551c1, 0x3fd147ae, 0x147ae15b}, /* 0.98185=f(0.27000)*/
+{64, 0,123,__LINE__, 0x3fef6038, 0xcb0e599a, 0x3fd1eb85, 0x1eb851ff}, /* 0.98049=f(0.28000)*/
+{64, 0,123,__LINE__, 0x3fef54aa, 0x99af10c8, 0x3fd28f5c, 0x28f5c2a3}, /* 0.97908=f(0.29000)*/
+{64, 0,123,__LINE__, 0x3fef48b6, 0xd692fb9c, 0x3fd33333, 0x33333347}, /* 0.97762=f(0.30000)*/
+{64, 0,123,__LINE__, 0x3fef3c5d, 0xbc670ee3, 0x3fd3d70a, 0x3d70a3eb}, /* 0.97611=f(0.31000)*/
+{64, 0,123,__LINE__, 0x3fef2f9f, 0x87c86f9b, 0x3fd47ae1, 0x47ae148f}, /* 0.97456=f(0.32000)*/
+{64, 0,123,__LINE__, 0x3fef227c, 0x7743282e, 0x3fd51eb8, 0x51eb8533}, /* 0.97295=f(0.33000)*/
+{64, 0,123,__LINE__, 0x3fef14f4, 0xcb50d310, 0x3fd5c28f, 0x5c28f5d7}, /* 0.97130=f(0.34000)*/
+{64, 0,123,__LINE__, 0x3fef0708, 0xc6573ae4, 0x3fd66666, 0x6666667b}, /* 0.96960=f(0.35000)*/
+{64, 0,123,__LINE__, 0x3feef8b8, 0xaca6f02c, 0x3fd70a3d, 0x70a3d71f}, /* 0.96786=f(0.36000)*/
+{64, 0,123,__LINE__, 0x3feeea04, 0xc479d483, 0x3fd7ae14, 0x7ae147c3}, /* 0.96606=f(0.37000)*/
+{64, 0,123,__LINE__, 0x3feedaed, 0x55f19b62, 0x3fd851eb, 0x851eb867}, /* 0.96422=f(0.38000)*/
+{64, 0,123,__LINE__, 0x3feecb72, 0xab1640a0, 0x3fd8f5c2, 0x8f5c290b}, /* 0.96233=f(0.39000)*/
+{64, 0,123,__LINE__, 0x3feebb95, 0x0fd4747c, 0x3fd99999, 0x999999af}, /* 0.96039=f(0.40000)*/
+{64, 0,123,__LINE__, 0x3feeab54, 0xd1fbfd6f, 0x3fda3d70, 0xa3d70a53}, /* 0.95841=f(0.41000)*/
+{64, 0,123,__LINE__, 0x3fee9ab2, 0x413e0fa8, 0x3fdae147, 0xae147af7}, /* 0.95638=f(0.42000)*/
+{64, 0,123,__LINE__, 0x3fee89ad, 0xaf2b9a5e, 0x3fdb851e, 0xb851eb9b}, /* 0.95430=f(0.43000)*/
+{62, 0,123,__LINE__, 0x3fee7847, 0x6f338ad5, 0x3fdc28f5, 0xc28f5c3f}, /* 0.95218=f(0.44000)*/
+{63, 0,123,__LINE__, 0x3fee667f, 0xd6a1055e, 0x3fdccccc, 0xcccccce3}, /* 0.95001=f(0.45000)*/
+{64, 0,123,__LINE__, 0x3fee5457, 0x3c999417, 0x3fdd70a3, 0xd70a3d87}, /* 0.94779=f(0.46000)*/
+{63, 0,123,__LINE__, 0x3fee41cd, 0xfa1b4ba8, 0x3fde147a, 0xe147ae2b}, /* 0.94553=f(0.47000)*/
+{64, 0,123,__LINE__, 0x3fee2ee4, 0x69fae602, 0x3fdeb851, 0xeb851ecf}, /* 0.94322=f(0.48000)*/
+{64, 0,123,__LINE__, 0x3fee1b9a, 0xe8e1d300, 0x3fdf5c28, 0xf5c28f73}, /* 0.94086=f(0.49000)*/
+{64, 0,123,__LINE__, 0x3fee07f1, 0xd54c3f33, 0x3fe00000, 0x0000000b}, /* 0.93846=f(0.50000)*/
+{63, 0,123,__LINE__, 0x3fedf3e9, 0x8f8710b6, 0x3fe051eb, 0x851eb85d}, /* 0.93602=f(0.51000)*/
+{64, 0,123,__LINE__, 0x3feddf82, 0x79adda33, 0x3fe0a3d7, 0x0a3d70af}, /* 0.93353=f(0.52000)*/
+{64, 0,123,__LINE__, 0x3fedcabc, 0xf7a8c401, 0x3fe0f5c2, 0x8f5c2901}, /* 0.93099=f(0.53000)*/
+{64, 0,123,__LINE__, 0x3fedb599, 0x6f2a6b95, 0x3fe147ae, 0x147ae153}, /* 0.92841=f(0.54000)*/
+{64, 0,123,__LINE__, 0x3feda018, 0x47adb92d, 0x3fe19999, 0x999999a5}, /* 0.92579=f(0.55000)*/
+{64, 0,123,__LINE__, 0x3fed8a39, 0xea73abd7, 0x3fe1eb85, 0x1eb851f7}, /* 0.92312=f(0.56000)*/
+{64, 0,123,__LINE__, 0x3fed73fe, 0xc2811bd0, 0x3fe23d70, 0xa3d70a49}, /* 0.92040=f(0.57000)*/
+{64, 0,123,__LINE__, 0x3fed5d67, 0x3c9c7354, 0x3fe28f5c, 0x28f5c29b}, /* 0.91765=f(0.58000)*/
+{64, 0,123,__LINE__, 0x3fed4673, 0xc74b5ded, 0x3fe2e147, 0xae147aed}, /* 0.91485=f(0.59000)*/
+{64, 0,123,__LINE__, 0x3fed2f24, 0xd2d06e4a, 0x3fe33333, 0x3333333f}, /* 0.91200=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3fed177a, 0xd128ba99, 0x3fe3851e, 0xb851eb91}, /* 0.90911=f(0.61000)*/
+{64, 0,123,__LINE__, 0x3fecff76, 0x36096fa5, 0x3fe3d70a, 0x3d70a3e3}, /* 0.90618=f(0.62000)*/
+{64, 0,123,__LINE__, 0x3fece717, 0x76dd5a7e, 0x3fe428f5, 0xc28f5c35}, /* 0.90320=f(0.63000)*/
+{64, 0,123,__LINE__, 0x3fecce5f, 0x0ac26907, 0x3fe47ae1, 0x47ae1487}, /* 0.90019=f(0.64000)*/
+{64, 0,123,__LINE__, 0x3fecb54d, 0x6a872132, 0x3fe4cccc, 0xccccccd9}, /* 0.89713=f(0.65000)*/
+{64, 0,123,__LINE__, 0x3fec9be3, 0x10a80f29, 0x3fe51eb8, 0x51eb852b}, /* 0.89402=f(0.66000)*/
+{64, 0,123,__LINE__, 0x3fec8220, 0x794d2a56, 0x3fe570a3, 0xd70a3d7d}, /* 0.89088=f(0.67000)*/
+{64, 0,123,__LINE__, 0x3fec6806, 0x22473173, 0x3fe5c28f, 0x5c28f5cf}, /* 0.88769=f(0.68000)*/
+{64, 0,123,__LINE__, 0x3fec4d94, 0x8b0cfd96, 0x3fe6147a, 0xe147ae21}, /* 0.88447=f(0.69000)*/
+{64, 0,123,__LINE__, 0x3fec32cc, 0x34b8cc54, 0x3fe66666, 0x66666673}, /* 0.88120=f(0.70000)*/
+{64, 0,123,__LINE__, 0x3fec17ad, 0xa205811b, 0x3fe6b851, 0xeb851ec5}, /* 0.87789=f(0.71000)*/
+{64, 0,123,__LINE__, 0x3febfc39, 0x574bddab, 0x3fe70a3d, 0x70a3d717}, /* 0.87453=f(0.72000)*/
+{64, 0,123,__LINE__, 0x3febe06f, 0xda7fb1eb, 0x3fe75c28, 0xf5c28f69}, /* 0.87114=f(0.73000)*/
+{64, 0,123,__LINE__, 0x3febc451, 0xb32d030d, 0x3fe7ae14, 0x7ae147bb}, /* 0.86771=f(0.74000)*/
+{61, 0,123,__LINE__, 0x3feba7df, 0x6a752a13, 0x3fe80000, 0x0000000d}, /* 0.86424=f(0.75000)*/
+{63, 0,123,__LINE__, 0x3feb8b19, 0x8b0be9da, 0x3fe851eb, 0x851eb85f}, /* 0.86072=f(0.76000)*/
+{64, 0,123,__LINE__, 0x3feb6e00, 0xa1347c9d, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.85717=f(0.77000)*/
+{64, 0,123,__LINE__, 0x3feb5095, 0x3abe991a, 0x3fe8f5c2, 0x8f5c2903}, /* 0.85358=f(0.78000)*/
+{63, 0,123,__LINE__, 0x3feb32d7, 0xe7036f6a, 0x3fe947ae, 0x147ae155}, /* 0.84995=f(0.79000)*/
+{64, 0,123,__LINE__, 0x3feb14c9, 0x36e29d80, 0x3fe99999, 0x999999a7}, /* 0.84628=f(0.80000)*/
+{64, 0,123,__LINE__, 0x3feaf669, 0xbcbf1b86, 0x3fe9eb85, 0x1eb851f9}, /* 0.84257=f(0.81000)*/
+{64, 0,123,__LINE__, 0x3fead7ba, 0x0c7c2014, 0x3fea3d70, 0xa3d70a4b}, /* 0.83883=f(0.82000)*/
+{64, 0,123,__LINE__, 0x3feab8ba, 0xbb79fc4e, 0x3fea8f5c, 0x28f5c29d}, /* 0.83504=f(0.83000)*/
+{64, 0,123,__LINE__, 0x3fea996c, 0x6092f016, 0x3feae147, 0xae147aef}, /* 0.83122=f(0.84000)*/
+{64, 0,123,__LINE__, 0x3fea79cf, 0x9417f646, 0x3feb3333, 0x33333341}, /* 0.82736=f(0.85000)*/
+{64, 0,123,__LINE__, 0x3fea59e4, 0xefcd890c, 0x3feb851e, 0xb851eb93}, /* 0.82347=f(0.86000)*/
+{64, 0,123,__LINE__, 0x3fea39ad, 0x0ee85e94, 0x3febd70a, 0x3d70a3e5}, /* 0.81954=f(0.87000)*/
+{64, 0,123,__LINE__, 0x3fea1928, 0x8e0a1de3, 0x3fec28f5, 0xc28f5c37}, /* 0.81557=f(0.88000)*/
+{64, 0,123,__LINE__, 0x3fe9f858, 0x0b3e0c29, 0x3fec7ae1, 0x47ae1489}, /* 0.81156=f(0.89000)*/
+{61, 0,123,__LINE__, 0x3fe9d73c, 0x25f5b273, 0x3feccccc, 0xccccccdb}, /* 0.80752=f(0.90000)*/
+{64, 0,123,__LINE__, 0x3fe9b5d5, 0x7f057bea, 0x3fed1eb8, 0x51eb852d}, /* 0.80344=f(0.91000)*/
+{62, 0,123,__LINE__, 0x3fe99424, 0xb8a14cad, 0x3fed70a3, 0xd70a3d7f}, /* 0.79933=f(0.92000)*/
+{64, 0,123,__LINE__, 0x3fe9722a, 0x7659114c, 0x3fedc28f, 0x5c28f5d1}, /* 0.79518=f(0.93000)*/
+{59, 0,123,__LINE__, 0x3fe94fe7, 0x5d15470f, 0x3fee147a, 0xe147ae23}, /* 0.79100=f(0.94000)*/
+{64, 0,123,__LINE__, 0x3fe92d5c, 0x13137d06, 0x3fee6666, 0x66666675}, /* 0.78678=f(0.95000)*/
+{64, 0,123,__LINE__, 0x3fe90a89, 0x3fe2ce05, 0x3feeb851, 0xeb851ec7}, /* 0.78253=f(0.96000)*/
+{64, 0,123,__LINE__, 0x3fe8e76f, 0x8c60539c, 0x3fef0a3d, 0x70a3d719}, /* 0.77825=f(0.97000)*/
+{64, 0,123,__LINE__, 0x3fe8c40f, 0xa2b39215, 0x3fef5c28, 0xf5c28f6b}, /* 0.77393=f(0.98000)*/
+{63, 0,123,__LINE__, 0x3fe8a06a, 0x2e4addae, 0x3fefae14, 0x7ae147bd}, /* 0.76958=f(0.99000)*/
+{62, 0,123,__LINE__, 0x3fe87c7f, 0xdbd7b8e9, 0x3ff00000, 0x00000007}, /* 0.76519=f(1.00000)*/
+{64, 0,123,__LINE__, 0x3fe85851, 0x594b2c46, 0x3ff028f5, 0xc28f5c30}, /* 0.76078=f(1.01000)*/
+{64, 0,123,__LINE__, 0x3fe833df, 0x55d21751, 0x3ff051eb, 0x851eb859}, /* 0.75633=f(1.02000)*/
+{64, 0,123,__LINE__, 0x3fe80f2a, 0x81d17b2d, 0x3ff07ae1, 0x47ae1482}, /* 0.75185=f(1.03000)*/
+{64, 0,123,__LINE__, 0x3fe7ea33, 0x8ee2bea6, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.74733=f(1.04000)*/
+{64, 0,123,__LINE__, 0x3fe7c4fb, 0x2fcfebeb, 0x3ff0cccc, 0xccccccd4}, /* 0.74279=f(1.05000)*/
+{63, 0,123,__LINE__, 0x3fe79f82, 0x188fe7f6, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.73822=f(1.06000)*/
+{64, 0,123,__LINE__, 0x3fe779c8, 0xfe42a3d3, 0x3ff11eb8, 0x51eb8526}, /* 0.73361=f(1.07000)*/
+{62, 0,123,__LINE__, 0x3fe753d0, 0x972d47a9, 0x3ff147ae, 0x147ae14f}, /* 0.72898=f(1.08000)*/
+{64, 0,123,__LINE__, 0x3fe72d99, 0x9ab657e3, 0x3ff170a3, 0xd70a3d78}, /* 0.72431=f(1.09000)*/
+{63, 0,123,__LINE__, 0x3fe70724, 0xc161d446, 0x3ff19999, 0x999999a1}, /* 0.71962=f(1.10000)*/
+{64, 0,123,__LINE__, 0x3fe6e072, 0xc4cd5141, 0x3ff1c28f, 0x5c28f5ca}, /* 0.71489=f(1.11000)*/
+{64, 0,123,__LINE__, 0x3fe6b984, 0x5fac0b6a, 0x3ff1eb85, 0x1eb851f3}, /* 0.71014=f(1.12000)*/
+{64, 0,123,__LINE__, 0x3fe6925a, 0x4dc2f553, 0x3ff2147a, 0xe147ae1c}, /* 0.70536=f(1.13000)*/
+{64, 0,123,__LINE__, 0x3fe66af5, 0x4be4bfc5, 0x3ff23d70, 0xa3d70a45}, /* 0.70055=f(1.14000)*/
+{63, 0,123,__LINE__, 0x3fe64356, 0x17eddc7c, 0x3ff26666, 0x6666666e}, /* 0.69571=f(1.15000)*/
+{64, 0,123,__LINE__, 0x3fe61b7d, 0x70c07b70, 0x3ff28f5c, 0x28f5c297}, /* 0.69085=f(1.16000)*/
+{64, 0,123,__LINE__, 0x3fe5f36c, 0x164082d2, 0x3ff2b851, 0xeb851ec0}, /* 0.68596=f(1.17000)*/
+{64, 0,123,__LINE__, 0x3fe5cb22, 0xc94f81c7, 0x3ff2e147, 0xae147ae9}, /* 0.68104=f(1.18000)*/
+{63, 0,123,__LINE__, 0x3fe5a2a2, 0x4bc89dfe, 0x3ff30a3d, 0x70a3d712}, /* 0.67610=f(1.19000)*/
+{55, 0,123,__LINE__, 0x3fcc3208, 0xa31f1a8d, 0xc01921fb, 0x54442d18}, /* 0.22027=f(-6.28318)*/
+{59, 0,123,__LINE__, 0xbfd103ce, 0x207e6e9b, 0xc012d97c, 0x7f3321d2}, /* -0.26585=f(-4.71238)*/
+{58, 0,123,__LINE__, 0xbfd378b4, 0x2ec2e4aa, 0xc00921fb, 0x54442d18}, /* -0.30424=f(-3.14159)*/
+{62, 0,123,__LINE__, 0x3fde3544, 0x9659654c, 0xbff921fb, 0x54442d18}, /* 0.47200=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x00000000, 0x00000000}, /* 1.00000=f(0.00000)*/
+{62, 0,123,__LINE__, 0x3fde3544, 0x9659654c, 0x3ff921fb, 0x54442d18}, /* 0.47200=f(1.57079)*/
+{58, 0,123,__LINE__, 0xbfd378b4, 0x2ec2e4aa, 0x400921fb, 0x54442d18}, /* -0.30424=f(3.14159)*/
+{59, 0,123,__LINE__, 0xbfd103ce, 0x207e6e9b, 0x4012d97c, 0x7f3321d2}, /* -0.26585=f(4.71238)*/
+{64, 0,123,__LINE__, 0xbfb61c36, 0x50e6ebab, 0xc03e0000, 0x00000000}, /* -0.08636=f(-30.0000)*/
+{64, 0,123,__LINE__, 0xbfbbb802, 0x5070cbd6, 0xc03c4ccc, 0xcccccccd}, /* -0.10827=f(-28.3000)*/
+{64, 0,123,__LINE__, 0x3fbedcdd, 0xec0a8e97, 0xc03a9999, 0x9999999a}, /* 0.12055=f(-26.6000)*/
+{57, 0,123,__LINE__, 0x3fb54f9b, 0x97999d3f, 0xc038e666, 0x66666667}, /* 0.08324=f(-24.9000)*/
+{64, 0,123,__LINE__, 0xbfc36001, 0x17fee555, 0xc0373333, 0x33333334}, /* -0.15136=f(-23.2000)*/
+{64, 0,123,__LINE__, 0xbfa90eee, 0x7a5df36a, 0xc0358000, 0x00000001}, /* -0.04894=f(-21.5000)*/
+{61, 0,123,__LINE__, 0x3fc6a8df, 0xe461bf0d, 0xc033cccc, 0xccccccce}, /* 0.17702=f(-19.8000)*/
+{64, 0,123,__LINE__, 0x3f763aa5, 0xe3227311, 0xc0321999, 0x9999999b}, /* 0.00542=f(-18.1000)*/
+{61, 0,123,__LINE__, 0xbfc915b4, 0x043f8fcc, 0xc0306666, 0x66666668}, /* -0.19597=f(-16.4000)*/
+{61, 0,123,__LINE__, 0x3fa86483, 0x1422de4b, 0xc02d6666, 0x6666666a}, /* 0.04764=f(-14.7000)*/
+{64, 0,123,__LINE__, 0x3fca7c8d, 0xf532fa0e, 0xc02a0000, 0x00000004}, /* 0.20692=f(-13.0000)*/
+{63, 0,123,__LINE__, 0xbfbcb084, 0xb1e7a2ae, 0xc0269999, 0x9999999e}, /* -0.11206=f(-11.3000)*/
+{60, 0,123,__LINE__, 0xbfcabfd0, 0x8c7a26b9, 0xc0233333, 0x33333338}, /* -0.20897=f(-9.60000)*/
+{54, 0,123,__LINE__, 0x3fc8e0d9, 0x53977cd9, 0xc01f9999, 0x999999a3}, /* 0.19436=f(-7.90000)*/
+{56, 0,123,__LINE__, 0x3fc9d2da, 0x5e4feb58, 0xc018cccc, 0xccccccd6}, /* 0.20174=f(-6.20000)*/
+{58, 0,123,__LINE__, 0xbfd483c4, 0xba446873, 0xc0120000, 0x00000009}, /* -0.32054=f(-4.50000)*/
+{55, 0,123,__LINE__, 0xbfc7af42, 0xbff0d903, 0xc0066666, 0x66666678}, /* -0.18503=f(-2.80000)*/
+{64, 0,123,__LINE__, 0x3fe70724, 0xc161d42c, 0xbff19999, 0x999999bd}, /* 0.71962=f(-1.10000)*/
+{64, 0,123,__LINE__, 0x3fed2f24, 0xd2d06e62, 0x3fe33333, 0x333332ec}, /* 0.91200=f(0.60000)*/
+{58, 0,123,__LINE__, 0x3fac6fb5, 0xeba43bce, 0x40026666, 0x66666654}, /* 0.05553=f(2.30000)*/
+{55, 0,123,__LINE__, 0xbfd96ae7, 0x093e9504, 0x400fffff, 0xffffffee}, /* -0.39714=f(4.00000)*/
+{54, 0,123,__LINE__, 0x3faeadd5, 0xe4480d75, 0x4016cccc, 0xccccccc4}, /* 0.05992=f(5.70000)*/
+{55, 0,123,__LINE__, 0x3fd1d485, 0x4b035ef1, 0x401d9999, 0x99999991}, /* 0.27859=f(7.40000)*/
+{59, 0,123,__LINE__, 0xbfbd3ec8, 0x484b6230, 0x40223333, 0x3333332f}, /* -0.11423=f(9.10000)*/
+{62, 0,123,__LINE__, 0xbfca0285, 0xa59d527a, 0x40259999, 0x99999995}, /* -0.20320=f(10.8000)*/
+{61, 0,123,__LINE__, 0x3fc2cd18, 0xc19effb3, 0x4028ffff, 0xfffffffb}, /* 0.14688=f(12.5000)*/
+{64, 0,123,__LINE__, 0x3fc21864, 0x59e106b7, 0x402c6666, 0x66666661}, /* 0.14136=f(14.2000)*/
+{61, 0,123,__LINE__, 0xbfc51dc0, 0xda0c410a, 0x402fcccc, 0xccccccc7}, /* -0.16497=f(15.9000)*/
+{64, 0,123,__LINE__, 0xbfb61996, 0x15cbb9aa, 0x40319999, 0x99999997}, /* -0.08632=f(17.6000)*/
+{63, 0,123,__LINE__, 0x3fc5e6d8, 0x58408485, 0x40334ccc, 0xccccccca}, /* 0.17110=f(19.3000)*/
+{64, 0,123,__LINE__, 0x3fa2ba7d, 0xf3556369, 0x4034ffff, 0xfffffffd}, /* 0.03657=f(21.0000)*/
+{63, 0,123,__LINE__, 0xbfc55c69, 0x1955dac2, 0x4036b333, 0x33333330}, /* -0.16688=f(22.7000)*/
+{55, 0,123,__LINE__, 0x3f7f6fde, 0xae9274fd, 0x40386666, 0x66666663}, /* 0.00767=f(24.4000)*/
+{64, 0,123,__LINE__, 0x3fc3ad27, 0xbf860b1b, 0x403a1999, 0x99999996}, /* 0.15372=f(26.1000)*/
+{64, 0,123,__LINE__, 0xbfa7617b, 0x541dda80, 0x403bcccc, 0xccccccc9}, /* -0.04566=f(27.8000)*/
+{64, 0,123,__LINE__, 0xbfc10afd, 0x307647d2, 0x403d7fff, 0xfffffffc}, /* -0.13314=f(29.5000)*/
+0,};
+test_j0(m) {run_vector_1(m,j0_vec,(char *)(j0),"j0","dd"); }
diff --git a/newlib/libm/test/j0f_vec.c b/newlib/libm/test/j0f_vec.c
new file mode 100644
index 00000000000..2f7a531e605
--- /dev/null
+++ b/newlib/libm/test/j0f_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type j0f_vec[] = {
+{11, 0,123,__LINE__, 0x3fe579eb, 0x54c385c0, 0xbff33333, 0x33333333}, /* 0.67113=f(-1.20000)*/
+{11, 0,123,__LINE__, 0x3fe5a2a2, 0x4048de13, 0xbff30a3d, 0x70a3d70a}, /* 0.67610=f(-1.19000)*/
+{11, 0,123,__LINE__, 0x3fe5cb22, 0xe4209500, 0xbff2e147, 0xae147ae1}, /* 0.68104=f(-1.18000)*/
+{11, 0,123,__LINE__, 0x3fe5f36c, 0x275c77de, 0xbff2b851, 0xeb851eb8}, /* 0.68596=f(-1.17000)*/
+{11, 0,123,__LINE__, 0x3fe61b7d, 0x6fc93bf1, 0xbff28f5c, 0x28f5c28f}, /* 0.69085=f(-1.16000)*/
+{11, 0,123,__LINE__, 0x3fe64356, 0x2f751fea, 0xbff26666, 0x66666666}, /* 0.69571=f(-1.15000)*/
+{11, 0,123,__LINE__, 0x3fe66af5, 0x4cd063b5, 0xbff23d70, 0xa3d70a3d}, /* 0.70055=f(-1.14000)*/
+{11, 0,123,__LINE__, 0x3fe6925a, 0x53fe967c, 0xbff2147a, 0xe147ae14}, /* 0.70536=f(-1.13000)*/
+{11, 0,123,__LINE__, 0x3fe6b984, 0x45da0567, 0xbff1eb85, 0x1eb851eb}, /* 0.71014=f(-1.12000)*/
+{11, 0,123,__LINE__, 0x3fe6e072, 0xba4519c7, 0xbff1c28f, 0x5c28f5c2}, /* 0.71489=f(-1.11000)*/
+{11, 0,123,__LINE__, 0x3fe70724, 0xb21e6353, 0xbff19999, 0x99999999}, /* 0.71962=f(-1.10000)*/
+{11, 0,123,__LINE__, 0x3fe72d99, 0x9f97d17f, 0xbff170a3, 0xd70a3d70}, /* 0.72431=f(-1.09000)*/
+{11, 0,123,__LINE__, 0x3fe753d0, 0x8dd00e2c, 0xbff147ae, 0x147ae147}, /* 0.72898=f(-1.08000)*/
+{11, 0,123,__LINE__, 0x3fe779c8, 0xe474258f, 0xbff11eb8, 0x51eb851e}, /* 0.73361=f(-1.07000)*/
+{11, 0,123,__LINE__, 0x3fe79f82, 0x31c8563a, 0xbff0f5c2, 0x8f5c28f5}, /* 0.73822=f(-1.06000)*/
+{11, 0,123,__LINE__, 0x3fe7c4fb, 0x3f1bfd37, 0xbff0cccc, 0xcccccccc}, /* 0.74279=f(-1.05000)*/
+{11, 0,123,__LINE__, 0x3fe7ea33, 0x910e6e4d, 0xbff0a3d7, 0x0a3d70a3}, /* 0.74733=f(-1.04000)*/
+{11, 0,123,__LINE__, 0x3fe80f2a, 0x879b83cb, 0xbff07ae1, 0x47ae147a}, /* 0.75185=f(-1.03000)*/
+{11, 0,123,__LINE__, 0x3fe833df, 0x65cb3b31, 0xbff051eb, 0x851eb851}, /* 0.75633=f(-1.02000)*/
+{11, 0,123,__LINE__, 0x3fe85851, 0x6f62a516, 0xbff028f5, 0xc28f5c28}, /* 0.76078=f(-1.01000)*/
+{11, 0,123,__LINE__, 0x3fe87c7f, 0xddb0a579, 0xbfefffff, 0xfffffffe}, /* 0.76519=f(-0.01000)*/
+{11, 0,123,__LINE__, 0x3fe8a06a, 0x37748418, 0xbfefae14, 0x7ae147ac}, /* 0.76958=f(-0.99000)*/
+{11, 0,123,__LINE__, 0x3fe8c40f, 0xacecf607, 0xbfef5c28, 0xf5c28f5a}, /* 0.77393=f(-0.98000)*/
+{11, 0,123,__LINE__, 0x3fe8e76f, 0x6dbe05c9, 0xbfef0a3d, 0x70a3d708}, /* 0.77825=f(-0.97000)*/
+{11, 0,123,__LINE__, 0x3fe90a89, 0x27d4d6b5, 0xbfeeb851, 0xeb851eb6}, /* 0.78253=f(-0.96000)*/
+{11, 0,123,__LINE__, 0x3fe92d5c, 0x2907f4a5, 0xbfee6666, 0x66666664}, /* 0.78678=f(-0.95000)*/
+{11, 0,123,__LINE__, 0x3fe94fe7, 0x5d5e54bc, 0xbfee147a, 0xe147ae12}, /* 0.79100=f(-0.94000)*/
+{11, 0,123,__LINE__, 0x3fe9722a, 0x7415526a, 0xbfedc28f, 0x5c28f5c0}, /* 0.79518=f(-0.93000)*/
+{11, 0,123,__LINE__, 0x3fe99424, 0xc2e8192d, 0xbfed70a3, 0xd70a3d6e}, /* 0.79933=f(-0.92000)*/
+{11, 0,123,__LINE__, 0x3fe9b5d5, 0x71a7c33d, 0xbfed1eb8, 0x51eb851c}, /* 0.80344=f(-0.91000)*/
+{11, 0,123,__LINE__, 0x3fe9d73c, 0x1a10bb13, 0xbfeccccc, 0xccccccca}, /* 0.80752=f(-0.90000)*/
+{11, 0,123,__LINE__, 0x3fe9f858, 0x02fd26e5, 0xbfec7ae1, 0x47ae1478}, /* 0.81156=f(-0.89000)*/
+{11, 0,123,__LINE__, 0x3fea1928, 0x820065dd, 0xbfec28f5, 0xc28f5c26}, /* 0.81557=f(-0.88000)*/
+{11, 0,123,__LINE__, 0x3fea39ad, 0x0b502c4f, 0xbfebd70a, 0x3d70a3d4}, /* 0.81954=f(-0.87000)*/
+{11, 0,123,__LINE__, 0x3fea59e4, 0xe69c2792, 0xbfeb851e, 0xb851eb82}, /* 0.82347=f(-0.86000)*/
+{11, 0,123,__LINE__, 0x3fea79cf, 0x8f646d74, 0xbfeb3333, 0x33333330}, /* 0.82736=f(-0.85000)*/
+{11, 0,123,__LINE__, 0x3fea996c, 0x73e91b88, 0xbfeae147, 0xae147ade}, /* 0.83122=f(-0.84000)*/
+{11, 0,123,__LINE__, 0x3feab8ba, 0xc3b2f724, 0xbfea8f5c, 0x28f5c28c}, /* 0.83504=f(-0.83000)*/
+{11, 0,123,__LINE__, 0x3fead7ba, 0x19b6b3de, 0xbfea3d70, 0xa3d70a3a}, /* 0.83883=f(-0.82000)*/
+{11, 0,123,__LINE__, 0x3feaf669, 0xbf1b4779, 0xbfe9eb85, 0x1eb851e8}, /* 0.84257=f(-0.81000)*/
+{11, 0,123,__LINE__, 0x3feb14c9, 0x2f719b53, 0xbfe99999, 0x99999996}, /* 0.84628=f(-0.80000)*/
+{11, 0,123,__LINE__, 0x3feb32d8, 0x0085d38a, 0xbfe947ae, 0x147ae144}, /* 0.84995=f(-0.79000)*/
+{11, 0,123,__LINE__, 0x3feb5095, 0x61f1aa3c, 0xbfe8f5c2, 0x8f5c28f2}, /* 0.85358=f(-0.78000)*/
+{11, 0,123,__LINE__, 0x3feb6e00, 0xa37eeb48, 0xbfe8a3d7, 0x0a3d70a0}, /* 0.85717=f(-0.77000)*/
+{11, 0,123,__LINE__, 0x3feb8b19, 0xa2b54d3b, 0xbfe851eb, 0x851eb84e}, /* 0.86072=f(-0.76000)*/
+{11, 0,123,__LINE__, 0x3feba7df, 0x4dec7685, 0xbfe7ffff, 0xfffffffc}, /* 0.86424=f(-0.75000)*/
+{11, 0,123,__LINE__, 0x3febc451, 0xca492588, 0xbfe7ae14, 0x7ae147aa}, /* 0.86771=f(-0.74000)*/
+{11, 0,123,__LINE__, 0x3febe06f, 0xdabafaf7, 0xbfe75c28, 0xf5c28f58}, /* 0.87114=f(-0.73000)*/
+{11, 0,123,__LINE__, 0x3febfc39, 0x4227a674, 0xbfe70a3d, 0x70a3d706}, /* 0.87453=f(-0.72000)*/
+{11, 0,123,__LINE__, 0x3fec17ad, 0x98fd2768, 0xbfe6b851, 0xeb851eb4}, /* 0.87789=f(-0.71000)*/
+{11, 0,123,__LINE__, 0x3fec32cc, 0x30c2d22a, 0xbfe66666, 0x66666662}, /* 0.88120=f(-0.70000)*/
+{11, 0,123,__LINE__, 0x3fec4d94, 0x85aa99ff, 0xbfe6147a, 0xe147ae10}, /* 0.88447=f(-0.69000)*/
+{11, 0,123,__LINE__, 0x3fec6806, 0x0b10200b, 0xbfe5c28f, 0x5c28f5be}, /* 0.88769=f(-0.68000)*/
+{11, 0,123,__LINE__, 0x3fec8220, 0x855cf82d, 0xbfe570a3, 0xd70a3d6c}, /* 0.89088=f(-0.67000)*/
+{11, 0,123,__LINE__, 0x3fec9be2, 0xfec2e4ab, 0xbfe51eb8, 0x51eb851a}, /* 0.89402=f(-0.66000)*/
+{11, 0,123,__LINE__, 0x3fecb54d, 0x5df0eb42, 0xbfe4cccc, 0xccccccc8}, /* 0.89713=f(-0.65000)*/
+{11, 0,123,__LINE__, 0x3fecce5f, 0x1bceeae4, 0xbfe47ae1, 0x47ae1476}, /* 0.90019=f(-0.64000)*/
+{11, 0,123,__LINE__, 0x3fece717, 0x68f13a43, 0xbfe428f5, 0xc28f5c24}, /* 0.90320=f(-0.63000)*/
+{11, 0,123,__LINE__, 0x3fecff76, 0x2d1f708f, 0xbfe3d70a, 0x3d70a3d2}, /* 0.90618=f(-0.62000)*/
+{11, 0,123,__LINE__, 0x3fed177a, 0xbbd2bb7c, 0xbfe3851e, 0xb851eb80}, /* 0.90911=f(-0.61000)*/
+{11, 0,123,__LINE__, 0x3fed2f24, 0xdb21a0f2, 0xbfe33333, 0x3333332e}, /* 0.91200=f(-0.60000)*/
+{11, 0,123,__LINE__, 0x3fed4673, 0xbc19773d, 0xbfe2e147, 0xae147adc}, /* 0.91485=f(-0.59000)*/
+{11, 0,123,__LINE__, 0x3fed5d67, 0x44d9b7f9, 0xbfe28f5c, 0x28f5c28a}, /* 0.91765=f(-0.58000)*/
+{11, 0,123,__LINE__, 0x3fed73fe, 0xd033e05b, 0xbfe23d70, 0xa3d70a38}, /* 0.92040=f(-0.57000)*/
+{11, 0,123,__LINE__, 0x3fed8a39, 0xd8a68cb3, 0xbfe1eb85, 0x1eb851e6}, /* 0.92312=f(-0.56000)*/
+{11, 0,123,__LINE__, 0x3feda018, 0x45c20394, 0xbfe19999, 0x99999994}, /* 0.92579=f(-0.55000)*/
+{11, 0,123,__LINE__, 0x3fedb599, 0x4c4fd893, 0xbfe147ae, 0x147ae142}, /* 0.92841=f(-0.54000)*/
+{11, 0,123,__LINE__, 0x3fedcabc, 0xfafde88a, 0xbfe0f5c2, 0x8f5c28f0}, /* 0.93099=f(-0.53000)*/
+{11, 0,123,__LINE__, 0x3feddf82, 0x86b32ac1, 0xbfe0a3d7, 0x0a3d709e}, /* 0.93353=f(-0.52000)*/
+{11, 0,123,__LINE__, 0x3fedf3e9, 0x8efe6284, 0xbfe051eb, 0x851eb84c}, /* 0.93602=f(-0.51000)*/
+{11, 0,123,__LINE__, 0x3fee07f1, 0xdc9ee45c, 0xbfdfffff, 0xfffffff4}, /* 0.93846=f(-0.50000)*/
+{11, 0,123,__LINE__, 0x3fee1b9a, 0xc853cc04, 0xbfdf5c28, 0xf5c28f50}, /* 0.94086=f(-0.49000)*/
+{11, 0,123,__LINE__, 0x3fee2ee4, 0x6330b738, 0xbfdeb851, 0xeb851eac}, /* 0.94322=f(-0.48000)*/
+{11, 0,123,__LINE__, 0x3fee41ce, 0x069bb0ab, 0xbfde147a, 0xe147ae08}, /* 0.94553=f(-0.47000)*/
+{11, 0,123,__LINE__, 0x3fee5457, 0x32132cdf, 0xbfdd70a3, 0xd70a3d64}, /* 0.94779=f(-0.46000)*/
+{11, 0,123,__LINE__, 0x3fee667f, 0xd3cd6cb8, 0xbfdccccc, 0xccccccc0}, /* 0.95001=f(-0.45000)*/
+{11, 0,123,__LINE__, 0x3fee7847, 0x8e418594, 0xbfdc28f5, 0xc28f5c1c}, /* 0.95218=f(-0.44000)*/
+{11, 0,123,__LINE__, 0x3fee89ad, 0xbd567f2a, 0xbfdb851e, 0xb851eb78}, /* 0.95430=f(-0.43000)*/
+{11, 0,123,__LINE__, 0x3fee9ab2, 0x506b3888, 0xbfdae147, 0xae147ad4}, /* 0.95638=f(-0.42000)*/
+{11, 0,123,__LINE__, 0x3feeab54, 0xc6756c6e, 0xbfda3d70, 0xa3d70a30}, /* 0.95841=f(-0.41000)*/
+{11, 0,123,__LINE__, 0x3feebb95, 0x115ba24c, 0xbfd99999, 0x9999998c}, /* 0.96039=f(-0.40000)*/
+{11, 0,123,__LINE__, 0x3feecb72, 0xb0add857, 0xbfd8f5c2, 0x8f5c28e8}, /* 0.96233=f(-0.39000)*/
+{11, 0,123,__LINE__, 0x3feedaed, 0x6f5b4c3d, 0xbfd851eb, 0x851eb844}, /* 0.96422=f(-0.38000)*/
+{11, 0,123,__LINE__, 0x3feeea04, 0xd05bdf84, 0xbfd7ae14, 0x7ae147a0}, /* 0.96606=f(-0.37000)*/
+{11, 0,123,__LINE__, 0x3feef8b8, 0xc565bda8, 0xbfd70a3d, 0x70a3d6fc}, /* 0.96786=f(-0.36000)*/
+{11, 0,123,__LINE__, 0x3fef0708, 0xcf40dce7, 0xbfd66666, 0x66666658}, /* 0.96960=f(-0.35000)*/
+{11, 0,123,__LINE__, 0x3fef14f4, 0xe1b7d8d5, 0xbfd5c28f, 0x5c28f5b4}, /* 0.97130=f(-0.34000)*/
+{11, 0,123,__LINE__, 0x3fef227c, 0x7e32bf66, 0xbfd51eb8, 0x51eb8510}, /* 0.97295=f(-0.33000)*/
+{11, 0,123,__LINE__, 0x3fef2f9f, 0x9921a2b4, 0xbfd47ae1, 0x47ae146c}, /* 0.97456=f(-0.32000)*/
+{11, 0,123,__LINE__, 0x3fef3c5d, 0xb48e79df, 0xbfd3d70a, 0x3d70a3c8}, /* 0.97611=f(-0.31000)*/
+{11, 0,123,__LINE__, 0x3fef48b6, 0xc5905a61, 0xbfd33333, 0x33333324}, /* 0.97762=f(-0.30000)*/
+{11, 0,123,__LINE__, 0x3fef54aa, 0x9a886837, 0xbfd28f5c, 0x28f5c280}, /* 0.97908=f(-0.29000)*/
+{11, 0,123,__LINE__, 0x3fef6038, 0xde5fdaf6, 0xbfd1eb85, 0x1eb851dc}, /* 0.98049=f(-0.28000)*/
+{11, 0,123,__LINE__, 0x3fef6b61, 0x39cffe81, 0xbfd147ae, 0x147ae138}, /* 0.98185=f(-0.27000)*/
+{11, 0,123,__LINE__, 0x3fef7623, 0xa29f4407, 0xbfd0a3d7, 0x0a3d7094}, /* 0.98317=f(-0.26000)*/
+{11, 0,123,__LINE__, 0x3fef807f, 0xc4620042, 0xbfcfffff, 0xffffffe0}, /* 0.98443=f(-0.25000)*/
+{11, 0,123,__LINE__, 0x3fef8a75, 0x94f21c76, 0xbfceb851, 0xeb851e98}, /* 0.98565=f(-0.24000)*/
+{11, 0,123,__LINE__, 0x3fef9404, 0x9a1a2084, 0xbfcd70a3, 0xd70a3d50}, /* 0.98681=f(-0.23000)*/
+{11, 0,123,__LINE__, 0x3fef9d2d, 0x17180110, 0xbfcc28f5, 0xc28f5c08}, /* 0.98793=f(-0.22000)*/
+{11, 0,123,__LINE__, 0x3fefa5ee, 0x91c9d2b0, 0xbfcae147, 0xae147ac0}, /* 0.98900=f(-0.21000)*/
+{11, 0,123,__LINE__, 0x3fefae48, 0xdc5e50f4, 0xbfc99999, 0x99999978}, /* 0.99002=f(-0.20000)*/
+{11, 0,123,__LINE__, 0x3fefb63b, 0xefa104c8, 0xbfc851eb, 0x851eb830}, /* 0.99099=f(-0.19000)*/
+{11, 0,123,__LINE__, 0x3fefbdc7, 0x782b6bd2, 0xbfc70a3d, 0x70a3d6e8}, /* 0.99191=f(-0.18000)*/
+{11, 0,123,__LINE__, 0x3fefc4eb, 0x6f79969e, 0xbfc5c28f, 0x5c28f5a0}, /* 0.99278=f(-0.17000)*/
+{11, 0,123,__LINE__, 0x3fefcba7, 0xcf22b734, 0xbfc47ae1, 0x47ae1458}, /* 0.99361=f(-0.16000)*/
+{11, 0,123,__LINE__, 0x3fefd1fc, 0x1f06de9a, 0xbfc33333, 0x33333310}, /* 0.99438=f(-0.15000)*/
+{11, 0,123,__LINE__, 0x3fefd7e8, 0xa5c43a7d, 0xbfc1eb85, 0x1eb851c8}, /* 0.99510=f(-0.14000)*/
+{11, 0,123,__LINE__, 0x3fefdd6c, 0xc5867228, 0xbfc0a3d7, 0x0a3d7080}, /* 0.99577=f(-0.13000)*/
+{11, 0,123,__LINE__, 0x3fefe289, 0x124b4c4c, 0xbfbeb851, 0xeb851e71}, /* 0.99640=f(-0.12000)*/
+{11, 0,123,__LINE__, 0x3fefe73c, 0xeeb8c735, 0xbfbc28f5, 0xc28f5be2}, /* 0.99697=f(-0.11000)*/
+{11, 0,123,__LINE__, 0x3fefeb88, 0x56bbec1b, 0xbfb99999, 0x99999953}, /* 0.99750=f(-0.00100)*/
+{11, 0,123,__LINE__, 0x3fefef6b, 0x6ce4c8b0, 0xbfb70a3d, 0x70a3d6c4}, /* 0.99797=f(-0.09000)*/
+{11, 0,123,__LINE__, 0x3feff2e5, 0xe135abeb, 0xbfb47ae1, 0x47ae1435}, /* 0.99840=f(-0.08000)*/
+{11, 0,123,__LINE__, 0x3feff5f7, 0xb0ce42a8, 0xbfb1eb85, 0x1eb851a6}, /* 0.99877=f(-0.07000)*/
+{11, 0,123,__LINE__, 0x3feff8a0, 0xff32449a, 0xbfaeb851, 0xeb851e2d}, /* 0.99910=f(-0.06000)*/
+{11, 0,123,__LINE__, 0x3feffae1, 0x574e1597, 0xbfa99999, 0x9999990e}, /* 0.99937=f(-0.05000)*/
+{11, 0,123,__LINE__, 0x3feffcb9, 0x29f9a945, 0xbfa47ae1, 0x47ae13ef}, /* 0.99959=f(-0.04000)*/
+{11, 0,123,__LINE__, 0x3feffe28, 0x2912d7f4, 0xbf9eb851, 0xeb851da0}, /* 0.99977=f(-0.03000)*/
+{11, 0,123,__LINE__, 0x3fefff2e, 0x535a6888, 0xbf947ae1, 0x47ae1362}, /* 0.99990=f(-0.02000)*/
+{11, 0,123,__LINE__, 0x3fefffcb, 0xa7efed63, 0xbf847ae1, 0x47ae1249}, /* 0.99997=f(-0.00010)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3cd19000, 0x00000000}, /* 1.00000=f(9.74915e-16)*/
+{11, 0,123,__LINE__, 0x3fefffcb, 0xa7efed63, 0x3f847ae1, 0x47ae16ad}, /* 0.99997=f(0.01000)*/
+{11, 0,123,__LINE__, 0x3fefff2e, 0x535a6888, 0x3f947ae1, 0x47ae1594}, /* 0.99990=f(0.02000)*/
+{11, 0,123,__LINE__, 0x3feffe28, 0x2912d7f4, 0x3f9eb851, 0xeb851fd2}, /* 0.99977=f(0.03000)*/
+{11, 0,123,__LINE__, 0x3feffcb9, 0x29f9a945, 0x3fa47ae1, 0x47ae1508}, /* 0.99959=f(0.04000)*/
+{11, 0,123,__LINE__, 0x3feffae1, 0x574e1597, 0x3fa99999, 0x99999a27}, /* 0.99937=f(0.05000)*/
+{11, 0,123,__LINE__, 0x3feff8a0, 0xff32449a, 0x3faeb851, 0xeb851f46}, /* 0.99910=f(0.06000)*/
+{11, 0,123,__LINE__, 0x3feff5f7, 0xb0ce42a8, 0x3fb1eb85, 0x1eb85232}, /* 0.99877=f(0.07000)*/
+{11, 0,123,__LINE__, 0x3feff2e5, 0xe135abeb, 0x3fb47ae1, 0x47ae14c1}, /* 0.99840=f(0.08000)*/
+{11, 0,123,__LINE__, 0x3fefef6b, 0x6ce4c8b0, 0x3fb70a3d, 0x70a3d750}, /* 0.99797=f(0.09000)*/
+{11, 0,123,__LINE__, 0x3fefeb88, 0x56bbec1b, 0x3fb99999, 0x999999df}, /* 0.99750=f(0.10000)*/
+{11, 0,123,__LINE__, 0x3fefe73c, 0xeeb8c735, 0x3fbc28f5, 0xc28f5c6e}, /* 0.99697=f(0.11000)*/
+{11, 0,123,__LINE__, 0x3fefe289, 0x124b4c4c, 0x3fbeb851, 0xeb851efd}, /* 0.99640=f(0.12000)*/
+{11, 0,123,__LINE__, 0x3fefdd6c, 0xc5867228, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.99577=f(0.13000)*/
+{11, 0,123,__LINE__, 0x3fefd7e8, 0xa5c43a7d, 0x3fc1eb85, 0x1eb8520e}, /* 0.99510=f(0.14000)*/
+{11, 0,123,__LINE__, 0x3fefd1fc, 0x1f06de9a, 0x3fc33333, 0x33333356}, /* 0.99438=f(0.15000)*/
+{11, 0,123,__LINE__, 0x3fefcba7, 0xcf22b734, 0x3fc47ae1, 0x47ae149e}, /* 0.99361=f(0.16000)*/
+{11, 0,123,__LINE__, 0x3fefc4eb, 0x6f79969e, 0x3fc5c28f, 0x5c28f5e6}, /* 0.99278=f(0.17000)*/
+{11, 0,123,__LINE__, 0x3fefbdc7, 0x782b6bd2, 0x3fc70a3d, 0x70a3d72e}, /* 0.99191=f(0.18000)*/
+{11, 0,123,__LINE__, 0x3fefb63b, 0xefa104c8, 0x3fc851eb, 0x851eb876}, /* 0.99099=f(0.19000)*/
+{11, 0,123,__LINE__, 0x3fefae48, 0xdc5e50f4, 0x3fc99999, 0x999999be}, /* 0.99002=f(0.20000)*/
+{11, 0,123,__LINE__, 0x3fefa5ee, 0x91c9d2b0, 0x3fcae147, 0xae147b06}, /* 0.98900=f(0.21000)*/
+{11, 0,123,__LINE__, 0x3fef9d2d, 0x17180110, 0x3fcc28f5, 0xc28f5c4e}, /* 0.98793=f(0.22000)*/
+{11, 0,123,__LINE__, 0x3fef9404, 0x9a1a2084, 0x3fcd70a3, 0xd70a3d96}, /* 0.98681=f(0.23000)*/
+{11, 0,123,__LINE__, 0x3fef8a75, 0x94f21c76, 0x3fceb851, 0xeb851ede}, /* 0.98565=f(0.24000)*/
+{11, 0,123,__LINE__, 0x3fef807f, 0xc4620042, 0x3fd00000, 0x00000013}, /* 0.98443=f(0.25000)*/
+{11, 0,123,__LINE__, 0x3fef7623, 0xa29f4407, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.98317=f(0.26000)*/
+{11, 0,123,__LINE__, 0x3fef6b61, 0x39cffe81, 0x3fd147ae, 0x147ae15b}, /* 0.98185=f(0.27000)*/
+{11, 0,123,__LINE__, 0x3fef6038, 0xde5fdaf6, 0x3fd1eb85, 0x1eb851ff}, /* 0.98049=f(0.28000)*/
+{11, 0,123,__LINE__, 0x3fef54aa, 0x9a886837, 0x3fd28f5c, 0x28f5c2a3}, /* 0.97908=f(0.29000)*/
+{11, 0,123,__LINE__, 0x3fef48b6, 0xc5905a61, 0x3fd33333, 0x33333347}, /* 0.97762=f(0.30000)*/
+{11, 0,123,__LINE__, 0x3fef3c5d, 0xb48e79df, 0x3fd3d70a, 0x3d70a3eb}, /* 0.97611=f(0.31000)*/
+{11, 0,123,__LINE__, 0x3fef2f9f, 0x9921a2b4, 0x3fd47ae1, 0x47ae148f}, /* 0.97456=f(0.32000)*/
+{11, 0,123,__LINE__, 0x3fef227c, 0x7e32bf66, 0x3fd51eb8, 0x51eb8533}, /* 0.97295=f(0.33000)*/
+{11, 0,123,__LINE__, 0x3fef14f4, 0xe1b7d8d5, 0x3fd5c28f, 0x5c28f5d7}, /* 0.97130=f(0.34000)*/
+{11, 0,123,__LINE__, 0x3fef0708, 0xcf40dce7, 0x3fd66666, 0x6666667b}, /* 0.96960=f(0.35000)*/
+{11, 0,123,__LINE__, 0x3feef8b8, 0xc565bda8, 0x3fd70a3d, 0x70a3d71f}, /* 0.96786=f(0.36000)*/
+{11, 0,123,__LINE__, 0x3feeea04, 0xd05bdf84, 0x3fd7ae14, 0x7ae147c3}, /* 0.96606=f(0.37000)*/
+{11, 0,123,__LINE__, 0x3feedaed, 0x6f5b4c3d, 0x3fd851eb, 0x851eb867}, /* 0.96422=f(0.38000)*/
+{11, 0,123,__LINE__, 0x3feecb72, 0xb0add857, 0x3fd8f5c2, 0x8f5c290b}, /* 0.96233=f(0.39000)*/
+{11, 0,123,__LINE__, 0x3feebb95, 0x115ba24c, 0x3fd99999, 0x999999af}, /* 0.96039=f(0.40000)*/
+{11, 0,123,__LINE__, 0x3feeab54, 0xc6756c6e, 0x3fda3d70, 0xa3d70a53}, /* 0.95841=f(0.41000)*/
+{11, 0,123,__LINE__, 0x3fee9ab2, 0x506b3888, 0x3fdae147, 0xae147af7}, /* 0.95638=f(0.42000)*/
+{11, 0,123,__LINE__, 0x3fee89ad, 0xbd567f2a, 0x3fdb851e, 0xb851eb9b}, /* 0.95430=f(0.43000)*/
+{11, 0,123,__LINE__, 0x3fee7847, 0x8e418594, 0x3fdc28f5, 0xc28f5c3f}, /* 0.95218=f(0.44000)*/
+{11, 0,123,__LINE__, 0x3fee667f, 0xd3cd6cb8, 0x3fdccccc, 0xcccccce3}, /* 0.95001=f(0.45000)*/
+{11, 0,123,__LINE__, 0x3fee5457, 0x32132cdf, 0x3fdd70a3, 0xd70a3d87}, /* 0.94779=f(0.46000)*/
+{11, 0,123,__LINE__, 0x3fee41ce, 0x069bb0ab, 0x3fde147a, 0xe147ae2b}, /* 0.94553=f(0.47000)*/
+{11, 0,123,__LINE__, 0x3fee2ee4, 0x6330b738, 0x3fdeb851, 0xeb851ecf}, /* 0.94322=f(0.48000)*/
+{11, 0,123,__LINE__, 0x3fee1b9a, 0xc853cc04, 0x3fdf5c28, 0xf5c28f73}, /* 0.94086=f(0.49000)*/
+{11, 0,123,__LINE__, 0x3fee07f1, 0xdc9ee45c, 0x3fe00000, 0x0000000b}, /* 0.93846=f(0.50000)*/
+{11, 0,123,__LINE__, 0x3fedf3e9, 0x8efe6284, 0x3fe051eb, 0x851eb85d}, /* 0.93602=f(0.51000)*/
+{11, 0,123,__LINE__, 0x3feddf82, 0x86b32ac1, 0x3fe0a3d7, 0x0a3d70af}, /* 0.93353=f(0.52000)*/
+{11, 0,123,__LINE__, 0x3fedcabc, 0xfafde88a, 0x3fe0f5c2, 0x8f5c2901}, /* 0.93099=f(0.53000)*/
+{11, 0,123,__LINE__, 0x3fedb599, 0x4c4fd893, 0x3fe147ae, 0x147ae153}, /* 0.92841=f(0.54000)*/
+{11, 0,123,__LINE__, 0x3feda018, 0x45c20394, 0x3fe19999, 0x999999a5}, /* 0.92579=f(0.55000)*/
+{11, 0,123,__LINE__, 0x3fed8a39, 0xd8a68cb3, 0x3fe1eb85, 0x1eb851f7}, /* 0.92312=f(0.56000)*/
+{11, 0,123,__LINE__, 0x3fed73fe, 0xd033e05b, 0x3fe23d70, 0xa3d70a49}, /* 0.92040=f(0.57000)*/
+{11, 0,123,__LINE__, 0x3fed5d67, 0x44d9b7f9, 0x3fe28f5c, 0x28f5c29b}, /* 0.91765=f(0.58000)*/
+{11, 0,123,__LINE__, 0x3fed4673, 0xbc19773d, 0x3fe2e147, 0xae147aed}, /* 0.91485=f(0.59000)*/
+{11, 0,123,__LINE__, 0x3fed2f24, 0xdb21a0f2, 0x3fe33333, 0x3333333f}, /* 0.91200=f(0.60000)*/
+{11, 0,123,__LINE__, 0x3fed177a, 0xbbd2bb7c, 0x3fe3851e, 0xb851eb91}, /* 0.90911=f(0.61000)*/
+{11, 0,123,__LINE__, 0x3fecff76, 0x2d1f708f, 0x3fe3d70a, 0x3d70a3e3}, /* 0.90618=f(0.62000)*/
+{11, 0,123,__LINE__, 0x3fece717, 0x68f13a43, 0x3fe428f5, 0xc28f5c35}, /* 0.90320=f(0.63000)*/
+{11, 0,123,__LINE__, 0x3fecce5f, 0x1bceeae4, 0x3fe47ae1, 0x47ae1487}, /* 0.90019=f(0.64000)*/
+{11, 0,123,__LINE__, 0x3fecb54d, 0x5df0eb42, 0x3fe4cccc, 0xccccccd9}, /* 0.89713=f(0.65000)*/
+{11, 0,123,__LINE__, 0x3fec9be2, 0xfec2e4ab, 0x3fe51eb8, 0x51eb852b}, /* 0.89402=f(0.66000)*/
+{11, 0,123,__LINE__, 0x3fec8220, 0x855cf82d, 0x3fe570a3, 0xd70a3d7d}, /* 0.89088=f(0.67000)*/
+{11, 0,123,__LINE__, 0x3fec6806, 0x0b10200b, 0x3fe5c28f, 0x5c28f5cf}, /* 0.88769=f(0.68000)*/
+{11, 0,123,__LINE__, 0x3fec4d94, 0x85aa99ff, 0x3fe6147a, 0xe147ae21}, /* 0.88447=f(0.69000)*/
+{11, 0,123,__LINE__, 0x3fec32cc, 0x30c2d22a, 0x3fe66666, 0x66666673}, /* 0.88120=f(0.70000)*/
+{11, 0,123,__LINE__, 0x3fec17ad, 0x98fd2768, 0x3fe6b851, 0xeb851ec5}, /* 0.87789=f(0.71000)*/
+{11, 0,123,__LINE__, 0x3febfc39, 0x4227a674, 0x3fe70a3d, 0x70a3d717}, /* 0.87453=f(0.72000)*/
+{11, 0,123,__LINE__, 0x3febe06f, 0xdabafaf7, 0x3fe75c28, 0xf5c28f69}, /* 0.87114=f(0.73000)*/
+{11, 0,123,__LINE__, 0x3febc451, 0xca492588, 0x3fe7ae14, 0x7ae147bb}, /* 0.86771=f(0.74000)*/
+{11, 0,123,__LINE__, 0x3feba7df, 0x4dec7685, 0x3fe80000, 0x0000000d}, /* 0.86424=f(0.75000)*/
+{11, 0,123,__LINE__, 0x3feb8b19, 0xa2b54d3b, 0x3fe851eb, 0x851eb85f}, /* 0.86072=f(0.76000)*/
+{11, 0,123,__LINE__, 0x3feb6e00, 0xa37eeb48, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.85717=f(0.77000)*/
+{11, 0,123,__LINE__, 0x3feb5095, 0x61f1aa3c, 0x3fe8f5c2, 0x8f5c2903}, /* 0.85358=f(0.78000)*/
+{11, 0,123,__LINE__, 0x3feb32d8, 0x0085d38a, 0x3fe947ae, 0x147ae155}, /* 0.84995=f(0.79000)*/
+{11, 0,123,__LINE__, 0x3feb14c9, 0x2f719b53, 0x3fe99999, 0x999999a7}, /* 0.84628=f(0.80000)*/
+{11, 0,123,__LINE__, 0x3feaf669, 0xbf1b4779, 0x3fe9eb85, 0x1eb851f9}, /* 0.84257=f(0.81000)*/
+{11, 0,123,__LINE__, 0x3fead7ba, 0x19b6b3de, 0x3fea3d70, 0xa3d70a4b}, /* 0.83883=f(0.82000)*/
+{11, 0,123,__LINE__, 0x3feab8ba, 0xc3b2f724, 0x3fea8f5c, 0x28f5c29d}, /* 0.83504=f(0.83000)*/
+{11, 0,123,__LINE__, 0x3fea996c, 0x73e91b88, 0x3feae147, 0xae147aef}, /* 0.83122=f(0.84000)*/
+{11, 0,123,__LINE__, 0x3fea79cf, 0x8f646d74, 0x3feb3333, 0x33333341}, /* 0.82736=f(0.85000)*/
+{11, 0,123,__LINE__, 0x3fea59e4, 0xe69c2792, 0x3feb851e, 0xb851eb93}, /* 0.82347=f(0.86000)*/
+{11, 0,123,__LINE__, 0x3fea39ad, 0x0b502c4f, 0x3febd70a, 0x3d70a3e5}, /* 0.81954=f(0.87000)*/
+{11, 0,123,__LINE__, 0x3fea1928, 0x820065dd, 0x3fec28f5, 0xc28f5c37}, /* 0.81557=f(0.88000)*/
+{11, 0,123,__LINE__, 0x3fe9f858, 0x02fd26e5, 0x3fec7ae1, 0x47ae1489}, /* 0.81156=f(0.89000)*/
+{11, 0,123,__LINE__, 0x3fe9d73c, 0x1a10bb13, 0x3feccccc, 0xccccccdb}, /* 0.80752=f(0.90000)*/
+{11, 0,123,__LINE__, 0x3fe9b5d5, 0x71a7c33d, 0x3fed1eb8, 0x51eb852d}, /* 0.80344=f(0.91000)*/
+{11, 0,123,__LINE__, 0x3fe99424, 0xc2e8192d, 0x3fed70a3, 0xd70a3d7f}, /* 0.79933=f(0.92000)*/
+{11, 0,123,__LINE__, 0x3fe9722a, 0x7415526a, 0x3fedc28f, 0x5c28f5d1}, /* 0.79518=f(0.93000)*/
+{11, 0,123,__LINE__, 0x3fe94fe7, 0x5d5e54bc, 0x3fee147a, 0xe147ae23}, /* 0.79100=f(0.94000)*/
+{11, 0,123,__LINE__, 0x3fe92d5c, 0x2907f4a5, 0x3fee6666, 0x66666675}, /* 0.78678=f(0.95000)*/
+{11, 0,123,__LINE__, 0x3fe90a89, 0x27d4d6b5, 0x3feeb851, 0xeb851ec7}, /* 0.78253=f(0.96000)*/
+{11, 0,123,__LINE__, 0x3fe8e76f, 0x6dbe05c9, 0x3fef0a3d, 0x70a3d719}, /* 0.77825=f(0.97000)*/
+{11, 0,123,__LINE__, 0x3fe8c40f, 0xacecf607, 0x3fef5c28, 0xf5c28f6b}, /* 0.77393=f(0.98000)*/
+{11, 0,123,__LINE__, 0x3fe8a06a, 0x37748418, 0x3fefae14, 0x7ae147bd}, /* 0.76958=f(0.99000)*/
+{11, 0,123,__LINE__, 0x3fe87c7f, 0xddb0a579, 0x3ff00000, 0x00000007}, /* 0.76519=f(1.00000)*/
+{11, 0,123,__LINE__, 0x3fe85851, 0x6f62a516, 0x3ff028f5, 0xc28f5c30}, /* 0.76078=f(1.01000)*/
+{11, 0,123,__LINE__, 0x3fe833df, 0x65cb3b31, 0x3ff051eb, 0x851eb859}, /* 0.75633=f(1.02000)*/
+{11, 0,123,__LINE__, 0x3fe80f2a, 0x879b83cb, 0x3ff07ae1, 0x47ae1482}, /* 0.75185=f(1.03000)*/
+{11, 0,123,__LINE__, 0x3fe7ea33, 0x910e6e4d, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.74733=f(1.04000)*/
+{11, 0,123,__LINE__, 0x3fe7c4fb, 0x3f1bfd37, 0x3ff0cccc, 0xccccccd4}, /* 0.74279=f(1.05000)*/
+{11, 0,123,__LINE__, 0x3fe79f82, 0x31c8563a, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.73822=f(1.06000)*/
+{11, 0,123,__LINE__, 0x3fe779c8, 0xe474258f, 0x3ff11eb8, 0x51eb8526}, /* 0.73361=f(1.07000)*/
+{11, 0,123,__LINE__, 0x3fe753d0, 0x8dd00e2c, 0x3ff147ae, 0x147ae14f}, /* 0.72898=f(1.08000)*/
+{11, 0,123,__LINE__, 0x3fe72d99, 0x9f97d17f, 0x3ff170a3, 0xd70a3d78}, /* 0.72431=f(1.09000)*/
+{11, 0,123,__LINE__, 0x3fe70724, 0xb21e6353, 0x3ff19999, 0x999999a1}, /* 0.71962=f(1.10000)*/
+{11, 0,123,__LINE__, 0x3fe6e072, 0xba4519c7, 0x3ff1c28f, 0x5c28f5ca}, /* 0.71489=f(1.11000)*/
+{11, 0,123,__LINE__, 0x3fe6b984, 0x45da0567, 0x3ff1eb85, 0x1eb851f3}, /* 0.71014=f(1.12000)*/
+{11, 0,123,__LINE__, 0x3fe6925a, 0x53fe967c, 0x3ff2147a, 0xe147ae1c}, /* 0.70536=f(1.13000)*/
+{11, 0,123,__LINE__, 0x3fe66af5, 0x4cd063b5, 0x3ff23d70, 0xa3d70a45}, /* 0.70055=f(1.14000)*/
+{11, 0,123,__LINE__, 0x3fe64356, 0x2f751fea, 0x3ff26666, 0x6666666e}, /* 0.69571=f(1.15000)*/
+{11, 0,123,__LINE__, 0x3fe61b7d, 0x6fc93bf1, 0x3ff28f5c, 0x28f5c297}, /* 0.69085=f(1.16000)*/
+{11, 0,123,__LINE__, 0x3fe5f36c, 0x275c77de, 0x3ff2b851, 0xeb851ec0}, /* 0.68596=f(1.17000)*/
+{11, 0,123,__LINE__, 0x3fe5cb22, 0xe4209500, 0x3ff2e147, 0xae147ae9}, /* 0.68104=f(1.18000)*/
+{11, 0,123,__LINE__, 0x3fe5a2a2, 0x4048de13, 0x3ff30a3d, 0x70a3d712}, /* 0.67610=f(1.19000)*/
+{10, 0,123,__LINE__, 0x3fcc320a, 0x20d668c9, 0xc01921fb, 0x54442d18}, /* 0.22027=f(-6.28318)*/
+{ 0, 0,123,__LINE__, 0xbfd103cd, 0xc80fc35f, 0xc012d97c, 0x7f3321d2}, /* -0.26585=f(-4.71238)*/
+{ 0, 0,123,__LINE__, 0xbfd378b4, 0x5e8925a1, 0xc00921fb, 0x54442d18}, /* -0.30424=f(-3.14159)*/
+{10, 0,123,__LINE__, 0x3fde3544, 0x57a1fab3, 0xbff921fb, 0x54442d18}, /* 0.47200=f(-1.57079)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x00000000, 0x00000000}, /* 1.00000=f(0.00000)*/
+{10, 0,123,__LINE__, 0x3fde3544, 0x57a1fab3, 0x3ff921fb, 0x54442d18}, /* 0.47200=f(1.57079)*/
+{ 0, 0,123,__LINE__, 0xbfd378b4, 0x5e8925a1, 0x400921fb, 0x54442d18}, /* -0.30424=f(3.14159)*/
+{ 0, 0,123,__LINE__, 0xbfd103cd, 0xc80fc35f, 0x4012d97c, 0x7f3321d2}, /* -0.26585=f(4.71238)*/
+{ 9, 0,123,__LINE__, 0xbfb61c37, 0x07a54f0d, 0xc03e0000, 0x00000000}, /* -0.08636=f(-30.0000)*/
+{ 0, 0,123,__LINE__, 0xbfbbb800, 0x2bfd38ec, 0xc03c4ccc, 0xcccccccd}, /* -0.10827=f(-28.3000)*/
+{ 0, 0,123,__LINE__, 0x3fbedcde, 0x270f5071, 0xc03a9999, 0x9999999a}, /* 0.12055=f(-26.6000)*/
+{ 9, 0,123,__LINE__, 0x3fb54f99, 0xda61fbfa, 0xc038e666, 0x66666667}, /* 0.08324=f(-24.9000)*/
+{11, 0,123,__LINE__, 0xbfc36000, 0xbed4dbdd, 0xc0373333, 0x33333334}, /* -0.15136=f(-23.2000)*/
+{ 9, 0,123,__LINE__, 0xbfa90eed, 0x454ad069, 0xc0358000, 0x00000001}, /* -0.04894=f(-21.5000)*/
+{11, 0,123,__LINE__, 0x3fc6a8e0, 0x310be6f6, 0xc033cccc, 0xccccccce}, /* 0.17702=f(-19.8000)*/
+{ 0, 0,123,__LINE__, 0x3f763aae, 0xb5a1b8be, 0xc0321999, 0x9999999b}, /* 0.00542=f(-18.1000)*/
+{ 0, 0,123,__LINE__, 0xbfc915b4, 0x0f12e0c9, 0xc0306666, 0x66666668}, /* -0.19597=f(-16.4000)*/
+{ 9, 0,123,__LINE__, 0x3fa8648b, 0x05f554c8, 0xc02d6666, 0x6666666a}, /* 0.04764=f(-14.7000)*/
+{10, 0,123,__LINE__, 0x3fca7c8d, 0x4d73962a, 0xc02a0000, 0x00000004}, /* 0.20692=f(-13.0000)*/
+{ 0, 0,123,__LINE__, 0xbfbcb086, 0xd80a2a55, 0xc0269999, 0x9999999e}, /* -0.11206=f(-11.3000)*/
+{10, 0,123,__LINE__, 0xbfcabfcf, 0xefe10f3e, 0xc0233333, 0x33333338}, /* -0.20897=f(-9.60000)*/
+{ 0, 0,123,__LINE__, 0x3fc8e0dd, 0x440a6eec, 0xc01f9999, 0x999999a3}, /* 0.19436=f(-7.90000)*/
+{10, 0,123,__LINE__, 0x3fc9d2d5, 0xd283c188, 0xc018cccc, 0xccccccd6}, /* 0.20174=f(-6.20000)*/
+{ 0, 0,123,__LINE__, 0xbfd483c4, 0x83c31435, 0xc0120000, 0x00000009}, /* -0.32054=f(-4.50000)*/
+{ 0, 0,123,__LINE__, 0xbfc7af42, 0xc21f30cb, 0xc0066666, 0x66666678}, /* -0.18503=f(-2.80000)*/
+{11, 0,123,__LINE__, 0x3fe70724, 0xb21e6353, 0xbff19999, 0x999999bd}, /* 0.71962=f(-1.10000)*/
+{11, 0,123,__LINE__, 0x3fed2f24, 0xdb21a0f2, 0x3fe33333, 0x333332ec}, /* 0.91200=f(0.60000)*/
+{ 0, 0,123,__LINE__, 0x3fac6fb7, 0xb717685a, 0x40026666, 0x66666654}, /* 0.05553=f(2.30000)*/
+{10, 0,123,__LINE__, 0xbfd96ae6, 0xd31d184c, 0x400fffff, 0xffffffee}, /* -0.39714=f(4.00000)*/
+{ 0, 0,123,__LINE__, 0x3faeadd8, 0xa597404e, 0x4016cccc, 0xccccccc4}, /* 0.05992=f(5.70000)*/
+{10, 0,123,__LINE__, 0x3fd1d486, 0xa4feef4e, 0x401d9999, 0x99999991}, /* 0.27859=f(7.40000)*/
+{ 9, 0,123,__LINE__, 0xbfbd3ec6, 0x84f6f826, 0x40223333, 0x3333332f}, /* -0.11423=f(9.10000)*/
+{10, 0,123,__LINE__, 0xbfca0286, 0x33800077, 0x40259999, 0x99999995}, /* -0.20320=f(10.8000)*/
+{10, 0,123,__LINE__, 0x3fc2cd17, 0x4c1879b8, 0x4028ffff, 0xfffffffb}, /* 0.14688=f(12.5000)*/
+{ 0, 0,123,__LINE__, 0x3fc21865, 0xe8103720, 0x402c6666, 0x66666661}, /* 0.14136=f(14.2000)*/
+{ 0, 0,123,__LINE__, 0xbfc51dc0, 0x6881c7c5, 0x402fcccc, 0xccccccc7}, /* -0.16497=f(15.9000)*/
+{ 0, 0,123,__LINE__, 0xbfb61995, 0x058b74dd, 0x40319999, 0x99999997}, /* -0.08632=f(17.6000)*/
+{ 0, 0,123,__LINE__, 0x3fc5e6d7, 0xe04c72f3, 0x40334ccc, 0xccccccca}, /* 0.17110=f(19.3000)*/
+{ 9, 0,123,__LINE__, 0x3fa2ba7f, 0x3087b88d, 0x4034ffff, 0xfffffffd}, /* 0.03657=f(21.0000)*/
+{10, 0,123,__LINE__, 0xbfc55c69, 0x07d3ae71, 0x4036b333, 0x33333330}, /* -0.16688=f(22.7000)*/
+{ 8, 0,123,__LINE__, 0x3f7f6fbd, 0xdd10e25e, 0x40386666, 0x66666663}, /* 0.00767=f(24.4000)*/
+{11, 0,123,__LINE__, 0x3fc3ad27, 0xccd11c22, 0x403a1999, 0x99999996}, /* 0.15372=f(26.1000)*/
+{ 9, 0,123,__LINE__, 0xbfa76175, 0xe5ae6e65, 0x403bcccc, 0xccccccc9}, /* -0.04566=f(27.8000)*/
+{ 0, 0,123,__LINE__, 0xbfc10afd, 0x7ae2e789, 0x403d7fff, 0xfffffffc}, /* -0.13314=f(29.5000)*/
+0,};
+test_j0f(m) {run_vector_1(m,j0f_vec,(char *)(j0f),"j0f","ff"); }
diff --git a/newlib/libm/test/j1_vec.c b/newlib/libm/test/j1_vec.c
new file mode 100644
index 00000000000..27bbce6c3d7
--- /dev/null
+++ b/newlib/libm/test/j1_vec.c
@@ -0,0 +1,285 @@
+#include "test.h"
+ one_line_type j1_vec[] = {
+{64, 0,123,__LINE__, 0xbfdfe3f7, 0xc98d2cad, 0xbff33333, 0x33333333}, /* -0.49828=f(-1.20000)*/
+{64, 0,123,__LINE__, 0xbfdfb9be, 0x60162ce1, 0xbff30a3d, 0x70a3d70a}, /* -0.49571=f(-1.19000)*/
+{62, 0,123,__LINE__, 0xbfdf8eec, 0x64ca92ed, 0xbff2e147, 0xae147ae1}, /* -0.49309=f(-1.18000)*/
+{64, 0,123,__LINE__, 0xbfdf6382, 0x95db2d21, 0xbff2b851, 0xeb851eb8}, /* -0.49044=f(-1.17000)*/
+{64, 0,123,__LINE__, 0xbfdf3781, 0xb4ad13e2, 0xbff28f5c, 0x28f5c28f}, /* -0.48776=f(-1.16000)*/
+{64, 0,123,__LINE__, 0xbfdf0aea, 0x85d5bf16, 0xbff26666, 0x66666666}, /* -0.48504=f(-1.15000)*/
+{63, 0,123,__LINE__, 0xbfdeddbd, 0xd1170952, 0xbff23d70, 0xa3d70a3d}, /* -0.48228=f(-1.14000)*/
+{63, 0,123,__LINE__, 0xbfdeaffc, 0x615b2106, 0xbff2147a, 0xe147ae14}, /* -0.47949=f(-1.13000)*/
+{63, 0,123,__LINE__, 0xbfde81a7, 0x04b0679a, 0xbff1eb85, 0x1eb851eb}, /* -0.47666=f(-1.12000)*/
+{64, 0,123,__LINE__, 0xbfde52be, 0x8c453eac, 0xbff1c28f, 0x5c28f5c2}, /* -0.47380=f(-1.11000)*/
+{64, 0,123,__LINE__, 0xbfde2343, 0xcc63c37b, 0xbff19999, 0x99999999}, /* -0.47090=f(-1.10000)*/
+{63, 0,123,__LINE__, 0xbfddf337, 0x9c6d7898, 0xbff170a3, 0xd70a3d70}, /* -0.46796=f(-1.09000)*/
+{64, 0,123,__LINE__, 0xbfddc29a, 0xd6d6ddf8, 0xbff147ae, 0x147ae147}, /* -0.46500=f(-1.08000)*/
+{64, 0,123,__LINE__, 0xbfdd916e, 0x5922f77c, 0xbff11eb8, 0x51eb851e}, /* -0.46200=f(-1.07000)*/
+{64, 0,123,__LINE__, 0xbfdd5fb3, 0x03dec20f, 0xbff0f5c2, 0x8f5c28f5}, /* -0.45896=f(-1.06000)*/
+{64, 0,123,__LINE__, 0xbfdd2d69, 0xba9c976a, 0xbff0cccc, 0xcccccccc}, /* -0.45589=f(-1.05000)*/
+{64, 0,123,__LINE__, 0xbfdcfa93, 0x63ef809a, 0xbff0a3d7, 0x0a3d70a3}, /* -0.45279=f(-1.04000)*/
+{61, 0,123,__LINE__, 0xbfdcc730, 0xe966776b, 0xbff07ae1, 0x47ae147a}, /* -0.44965=f(-1.03000)*/
+{64, 0,123,__LINE__, 0xbfdc9343, 0x378796ca, 0xbff051eb, 0x851eb851}, /* -0.44648=f(-1.02000)*/
+{63, 0,123,__LINE__, 0xbfdc5ecb, 0x3dcb3a36, 0xbff028f5, 0xc28f5c28}, /* -0.44328=f(-1.01000)*/
+{63, 0,123,__LINE__, 0xbfdc29c9, 0xee970c6b, 0xbfefffff, 0xfffffffe}, /* -0.44005=f(-0.01000)*/
+{64, 0,123,__LINE__, 0xbfdbf440, 0x3f39054b, 0xbfefae14, 0x7ae147ac}, /* -0.43678=f(-0.99000)*/
+{64, 0,123,__LINE__, 0xbfdbbe2f, 0x27e2573a, 0xbfef5c28, 0xf5c28f5a}, /* -0.43348=f(-0.98000)*/
+{61, 0,123,__LINE__, 0xbfdb8797, 0xa3a24bfc, 0xbfef0a3d, 0x70a3d708}, /* -0.43015=f(-0.97000)*/
+{64, 0,123,__LINE__, 0xbfdb507a, 0xb061112a, 0xbfeeb851, 0xeb851eb6}, /* -0.42678=f(-0.96000)*/
+{64, 0,123,__LINE__, 0xbfdb18d9, 0x4eda7472, 0xbfee6666, 0x66666664}, /* -0.42339=f(-0.95000)*/
+{64, 0,123,__LINE__, 0xbfdae0b4, 0x82988faf, 0xbfee147a, 0xe147ae12}, /* -0.41996=f(-0.94000)*/
+{62, 0,123,__LINE__, 0xbfdaa80d, 0x51ee64f6, 0xbfedc28f, 0x5c28f5c0}, /* -0.41650=f(-0.93000)*/
+{62, 0,123,__LINE__, 0xbfda6ee4, 0xc5f26abe, 0xbfed70a3, 0xd70a3d6e}, /* -0.41301=f(-0.92000)*/
+{64, 0,123,__LINE__, 0xbfda353b, 0xea790847, 0xbfed1eb8, 0x51eb851c}, /* -0.40949=f(-0.91000)*/
+{64, 0,123,__LINE__, 0xbfd9fb13, 0xce0f024b, 0xbfeccccc, 0xccccccca}, /* -0.40594=f(-0.90000)*/
+{64, 0,123,__LINE__, 0xbfd9c06d, 0x81f3d82b, 0xbfec7ae1, 0x47ae1478}, /* -0.40236=f(-0.89000)*/
+{64, 0,123,__LINE__, 0xbfd9854a, 0x1a1411af, 0xbfec28f5, 0xc28f5c26}, /* -0.39876=f(-0.88000)*/
+{63, 0,123,__LINE__, 0xbfd949aa, 0xad037d84, 0xbfebd70a, 0x3d70a3d4}, /* -0.39512=f(-0.87000)*/
+{60, 0,123,__LINE__, 0xbfd90d90, 0x53f76088, 0xbfeb851e, 0xb851eb82}, /* -0.39145=f(-0.86000)*/
+{62, 0,123,__LINE__, 0xbfd8d0fc, 0x2ac09606, 0xbfeb3333, 0x33333330}, /* -0.38775=f(-0.85000)*/
+{63, 0,123,__LINE__, 0xbfd893ef, 0x4fc5a123, 0xbfeae147, 0xae147ade}, /* -0.38402=f(-0.84000)*/
+{64, 0,123,__LINE__, 0xbfd8566a, 0xe3fcaf6b, 0xbfea8f5c, 0x28f5c28c}, /* -0.38027=f(-0.83000)*/
+{63, 0,123,__LINE__, 0xbfd81870, 0x0ae58cce, 0xbfea3d70, 0xa3d70a3a}, /* -0.37649=f(-0.82000)*/
+{64, 0,123,__LINE__, 0xbfd7d9ff, 0xea83890c, 0xbfe9eb85, 0x1eb851e8}, /* -0.37268=f(-0.81000)*/
+{64, 0,123,__LINE__, 0xbfd79b1b, 0xab574eca, 0xbfe99999, 0x99999996}, /* -0.36884=f(-0.80000)*/
+{64, 0,123,__LINE__, 0xbfd75bc4, 0x7858ac6c, 0xbfe947ae, 0x147ae144}, /* -0.36497=f(-0.79000)*/
+{62, 0,123,__LINE__, 0xbfd71bfb, 0x7ef04ed6, 0xbfe8f5c2, 0x8f5c28f2}, /* -0.36108=f(-0.78000)*/
+{62, 0,123,__LINE__, 0xbfd6dbc1, 0xeef16e2a, 0xbfe8a3d7, 0x0a3d70a0}, /* -0.35716=f(-0.77000)*/
+{64, 0,123,__LINE__, 0xbfd69b18, 0xfa936cd0, 0xbfe851eb, 0x851eb84e}, /* -0.35321=f(-0.76000)*/
+{64, 0,123,__LINE__, 0xbfd65a01, 0xd66b68b9, 0xbfe7ffff, 0xfffffffc}, /* -0.34924=f(-0.75000)*/
+{61, 0,123,__LINE__, 0xbfd6187d, 0xb965bf24, 0xbfe7ae14, 0x7ae147aa}, /* -0.34524=f(-0.74000)*/
+{64, 0,123,__LINE__, 0xbfd5d68d, 0xdcbf82f6, 0xbfe75c28, 0xf5c28f58}, /* -0.34122=f(-0.73000)*/
+{64, 0,123,__LINE__, 0xbfd59433, 0x7bffe5ea, 0xbfe70a3d, 0x70a3d706}, /* -0.33717=f(-0.72000)*/
+{64, 0,123,__LINE__, 0xbfd5516f, 0xd4f19487, 0xbfe6b851, 0xeb851eb4}, /* -0.33309=f(-0.71000)*/
+{62, 0,123,__LINE__, 0xbfd50e44, 0x279c0541, 0xbfe66666, 0x66666662}, /* -0.32899=f(-0.70000)*/
+{64, 0,123,__LINE__, 0xbfd4cab1, 0xb63cbabe, 0xbfe6147a, 0xe147ae10}, /* -0.32487=f(-0.69000)*/
+{64, 0,123,__LINE__, 0xbfd486b9, 0xc540796d, 0xbfe5c28f, 0x5c28f5be}, /* -0.32072=f(-0.68000)*/
+{64, 0,123,__LINE__, 0xbfd4425d, 0x9b3c70b3, 0xbfe570a3, 0xd70a3d6c}, /* -0.31655=f(-0.67000)*/
+{62, 0,123,__LINE__, 0xbfd3fd9e, 0x80e757a9, 0xbfe51eb8, 0x51eb851a}, /* -0.31235=f(-0.66000)*/
+{64, 0,123,__LINE__, 0xbfd3b87d, 0xc1127db7, 0xbfe4cccc, 0xccccccc8}, /* -0.30813=f(-0.65000)*/
+{64, 0,123,__LINE__, 0xbfd372fc, 0xa8a2cf16, 0xbfe47ae1, 0x47ae1476}, /* -0.30389=f(-0.64000)*/
+{64, 0,123,__LINE__, 0xbfd32d1c, 0x8689cd80, 0xbfe428f5, 0xc28f5c24}, /* -0.29962=f(-0.63000)*/
+{63, 0,123,__LINE__, 0xbfd2e6de, 0xabbe7d19, 0xbfe3d70a, 0x3d70a3d2}, /* -0.29534=f(-0.62000)*/
+{63, 0,123,__LINE__, 0xbfd2a044, 0x6b3645c9, 0xbfe3851e, 0xb851eb80}, /* -0.29103=f(-0.61000)*/
+{64, 0,123,__LINE__, 0xbfd2594f, 0x19ddc92b, 0xbfe33333, 0x3333332e}, /* -0.28670=f(-0.60000)*/
+{64, 0,123,__LINE__, 0xbfd21200, 0x0e91ad45, 0xbfe2e147, 0xae147adc}, /* -0.28234=f(-0.59000)*/
+{64, 0,123,__LINE__, 0xbfd1ca58, 0xa2175c15, 0xbfe28f5c, 0x28f5c28a}, /* -0.27797=f(-0.58000)*/
+{64, 0,123,__LINE__, 0xbfd1825a, 0x2f15b843, 0xbfe23d70, 0xa3d70a38}, /* -0.27358=f(-0.57000)*/
+{64, 0,123,__LINE__, 0xbfd13a06, 0x120dc6fe, 0xbfe1eb85, 0x1eb851e6}, /* -0.26916=f(-0.56000)*/
+{64, 0,123,__LINE__, 0xbfd0f15d, 0xa9534f4f, 0xbfe19999, 0x99999994}, /* -0.26473=f(-0.55000)*/
+{64, 0,123,__LINE__, 0xbfd0a862, 0x55056ee9, 0xbfe147ae, 0x147ae142}, /* -0.26027=f(-0.54000)*/
+{64, 0,123,__LINE__, 0xbfd05f15, 0x770724c1, 0xbfe0f5c2, 0x8f5c28f0}, /* -0.25580=f(-0.53000)*/
+{64, 0,123,__LINE__, 0xbfd01578, 0x72f7d185, 0xbfe0a3d7, 0x0a3d709e}, /* -0.25131=f(-0.52000)*/
+{64, 0,123,__LINE__, 0xbfcf9719, 0x5c575c35, 0xbfe051eb, 0x851eb84c}, /* -0.24679=f(-0.51000)*/
+{64, 0,123,__LINE__, 0xbfcf02a7, 0x1f4870cc, 0xbfdfffff, 0xfffffff4}, /* -0.24226=f(-0.50000)*/
+{63, 0,123,__LINE__, 0xbfce6d9d, 0x00112cd6, 0xbfdf5c28, 0xf5c28f50}, /* -0.23772=f(-0.49000)*/
+{64, 0,123,__LINE__, 0xbfcdd7fd, 0xd33be007, 0xbfdeb851, 0xeb851eac}, /* -0.23315=f(-0.48000)*/
+{64, 0,123,__LINE__, 0xbfcd41cc, 0x707f7ea2, 0xbfde147a, 0xe147ae08}, /* -0.22857=f(-0.47000)*/
+{64, 0,123,__LINE__, 0xbfccab0b, 0xb2b0302a, 0xbfdd70a3, 0xd70a3d64}, /* -0.22396=f(-0.46000)*/
+{64, 0,123,__LINE__, 0xbfcc13be, 0x77afcc47, 0xbfdccccc, 0xccccccc0}, /* -0.21935=f(-0.45000)*/
+{64, 0,123,__LINE__, 0xbfcb7be7, 0xa05e461e, 0xbfdc28f5, 0xc28f5c1c}, /* -0.21471=f(-0.44000)*/
+{64, 0,123,__LINE__, 0xbfcae38a, 0x108a068f, 0xbfdb851e, 0xb851eb78}, /* -0.21006=f(-0.43000)*/
+{64, 0,123,__LINE__, 0xbfca4aa8, 0xaee035a2, 0xbfdae147, 0xae147ad4}, /* -0.20540=f(-0.42000)*/
+{64, 0,123,__LINE__, 0xbfc9b146, 0x64dcf383, 0xbfda3d70, 0xa3d70a30}, /* -0.20072=f(-0.41000)*/
+{64, 0,123,__LINE__, 0xbfc91766, 0x1ebb816a, 0xbfd99999, 0x9999998c}, /* -0.19602=f(-0.40000)*/
+{63, 0,123,__LINE__, 0xbfc87d0a, 0xcb665abf, 0xbfd8f5c2, 0x8f5c28e8}, /* -0.19131=f(-0.39000)*/
+{61, 0,123,__LINE__, 0xbfc7e237, 0x5c673edc, 0xbfd851eb, 0x851eb844}, /* -0.18659=f(-0.38000)*/
+{63, 0,123,__LINE__, 0xbfc746ee, 0xc5d72bd8, 0xbfd7ae14, 0x7ae147a0}, /* -0.18185=f(-0.37000)*/
+{63, 0,123,__LINE__, 0xbfc6ab33, 0xfe4e4a90, 0xbfd70a3d, 0x70a3d6fc}, /* -0.17709=f(-0.36000)*/
+{63, 0,123,__LINE__, 0xbfc60f09, 0xfed3cc72, 0xbfd66666, 0x66666658}, /* -0.17233=f(-0.35000)*/
+{64, 0,123,__LINE__, 0xbfc57273, 0xc2cdbb4f, 0xbfd5c28f, 0x5c28f5b4}, /* -0.16755=f(-0.34000)*/
+{62, 0,123,__LINE__, 0xbfc4d574, 0x47f0bb91, 0xbfd51eb8, 0x51eb8510}, /* -0.16276=f(-0.33000)*/
+{62, 0,123,__LINE__, 0xbfc4380e, 0x8e2fc149, 0xbfd47ae1, 0x47ae146c}, /* -0.15796=f(-0.32000)*/
+{64, 0,123,__LINE__, 0xbfc39a45, 0x97abb851, 0xbfd3d70a, 0x3d70a3c8}, /* -0.15314=f(-0.31000)*/
+{64, 0,123,__LINE__, 0xbfc2fc1c, 0x68a31ff4, 0xbfd33333, 0x33333324}, /* -0.14831=f(-0.30000)*/
+{64, 0,123,__LINE__, 0xbfc25d96, 0x07619a7a, 0xbfd28f5c, 0x28f5c280}, /* -0.14348=f(-0.29000)*/
+{64, 0,123,__LINE__, 0xbfc1beb5, 0x7c2f70f1, 0xbfd1eb85, 0x1eb851dc}, /* -0.13863=f(-0.28000)*/
+{64, 0,123,__LINE__, 0xbfc11f7d, 0xd1410b8e, 0xbfd147ae, 0x147ae138}, /* -0.13377=f(-0.27000)*/
+{63, 0,123,__LINE__, 0xbfc07ff2, 0x12a65f0c, 0xbfd0a3d7, 0x0a3d7094}, /* -0.12890=f(-0.26000)*/
+{64, 0,123,__LINE__, 0xbfbfc02a, 0x9c749eca, 0xbfcfffff, 0xffffffe0}, /* -0.12402=f(-0.25000)*/
+{64, 0,123,__LINE__, 0xbfbe7fd5, 0x27241087, 0xbfceb851, 0xeb851e98}, /* -0.11913=f(-0.24000)*/
+{64, 0,123,__LINE__, 0xbfbd3ee9, 0xe7d8971c, 0xbfcd70a3, 0xd70a3d50}, /* -0.11424=f(-0.23000)*/
+{64, 0,123,__LINE__, 0xbfbbfd6f, 0x04416cce, 0xbfcc28f5, 0xc28f5c08}, /* -0.10933=f(-0.22000)*/
+{64, 0,123,__LINE__, 0xbfbabb6a, 0xa51dfa12, 0xbfcae147, 0xae147ac0}, /* -0.10442=f(-0.21000)*/
+{64, 0,123,__LINE__, 0xbfb978e2, 0xf61c3bb4, 0xbfc99999, 0x99999978}, /* -0.09950=f(-0.20000)*/
+{62, 0,123,__LINE__, 0xbfb835de, 0x25b71825, 0xbfc851eb, 0x851eb830}, /* -0.09457=f(-0.19000)*/
+{62, 0,123,__LINE__, 0xbfb6f262, 0x6514a4ce, 0xbfc70a3d, 0x70a3d6e8}, /* -0.08963=f(-0.18000)*/
+{64, 0,123,__LINE__, 0xbfb5ae75, 0xe7e45bff, 0xbfc5c28f, 0x5c28f5a0}, /* -0.08469=f(-0.17000)*/
+{63, 0,123,__LINE__, 0xbfb46a1e, 0xe43d4469, 0xbfc47ae1, 0x47ae1458}, /* -0.07974=f(-0.16000)*/
+{64, 0,123,__LINE__, 0xbfb32563, 0x927c0aba, 0xbfc33333, 0x33333310}, /* -0.07478=f(-0.15000)*/
+{64, 0,123,__LINE__, 0xbfb1e04a, 0x2d210e45, 0xbfc1eb85, 0x1eb851c8}, /* -0.06982=f(-0.14000)*/
+{64, 0,123,__LINE__, 0xbfb09ad8, 0xf0ae6157, 0xbfc0a3d7, 0x0a3d7080}, /* -0.06486=f(-0.13000)*/
+{64, 0,123,__LINE__, 0xbfaeaa2c, 0x370b7c26, 0xbfbeb851, 0xeb851e71}, /* -0.05989=f(-0.12000)*/
+{62, 0,123,__LINE__, 0xbfac1e0f, 0xdb8ce112, 0xbfbc28f5, 0xc28f5be2}, /* -0.05491=f(-0.11000)*/
+{64, 0,123,__LINE__, 0xbfa99169, 0x52566db6, 0xbfb99999, 0x99999953}, /* -0.04993=f(-0.00100)*/
+{64, 0,123,__LINE__, 0xbfa70445, 0x21d0304a, 0xbfb70a3d, 0x70a3d6c4}, /* -0.04495=f(-0.09000)*/
+{64, 0,123,__LINE__, 0xbfa476af, 0xd31065de, 0xbfb47ae1, 0x47ae1435}, /* -0.03996=f(-0.08000)*/
+{64, 0,123,__LINE__, 0xbfa1e8b5, 0xf19707ed, 0xbfb1eb85, 0x1eb851a6}, /* -0.03497=f(-0.07000)*/
+{64, 0,123,__LINE__, 0xbf9eb4c8, 0x16129820, 0xbfaeb851, 0xeb851e2d}, /* -0.02998=f(-0.06000)*/
+{64, 0,123,__LINE__, 0xbf99978d, 0x5dda2ed1, 0xbfa99999, 0x9999990e}, /* -0.02499=f(-0.05000)*/
+{60, 0,123,__LINE__, 0xbf9479d4, 0xdcc8ce88, 0xbfa47ae1, 0x47ae13ef}, /* -0.01999=f(-0.04000)*/
+{64, 0,123,__LINE__, 0xbf8eb76f, 0x6fa2c211, 0xbf9eb851, 0xeb851da0}, /* -0.01499=f(-0.03000)*/
+{64, 0,123,__LINE__, 0xbf847a9e, 0x2c18dd61, 0xbf947ae1, 0x47ae1362}, /* -0.00999=f(-0.02000)*/
+{64, 0,123,__LINE__, 0xbf747ad0, 0x80bb0662, 0xbf847ae1, 0x47ae1249}, /* -0.00499=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x3cc19000, 0x00000000, 0x3cd19000, 0x00000000}, /* 4.87457e-16=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0x3f747ad0, 0x80bb0ac6, 0x3f847ae1, 0x47ae16ad}, /* 0.00499=f(0.01000)*/
+{61, 0,123,__LINE__, 0x3f847a9e, 0x2c18df94, 0x3f947ae1, 0x47ae1594}, /* 0.00999=f(0.02000)*/
+{64, 0,123,__LINE__, 0x3f8eb76f, 0x6fa2c443, 0x3f9eb851, 0xeb851fd2}, /* 0.01499=f(0.03000)*/
+{63, 0,123,__LINE__, 0x3f9479d4, 0xdcc8cfa0, 0x3fa47ae1, 0x47ae1508}, /* 0.01999=f(0.04000)*/
+{64, 0,123,__LINE__, 0x3f99978d, 0x5dda2fe9, 0x3fa99999, 0x99999a27}, /* 0.02499=f(0.05000)*/
+{64, 0,123,__LINE__, 0x3f9eb4c8, 0x16129939, 0x3faeb851, 0xeb851f46}, /* 0.02998=f(0.06000)*/
+{64, 0,123,__LINE__, 0x3fa1e8b5, 0xf1970879, 0x3fb1eb85, 0x1eb85232}, /* 0.03497=f(0.07000)*/
+{64, 0,123,__LINE__, 0x3fa476af, 0xd310666a, 0x3fb47ae1, 0x47ae14c1}, /* 0.03996=f(0.08000)*/
+{63, 0,123,__LINE__, 0x3fa70445, 0x21d030d6, 0x3fb70a3d, 0x70a3d750}, /* 0.04495=f(0.09000)*/
+{64, 0,123,__LINE__, 0x3fa99169, 0x52566e42, 0x3fb99999, 0x999999df}, /* 0.04993=f(0.10000)*/
+{64, 0,123,__LINE__, 0x3fac1e0f, 0xdb8ce19c, 0x3fbc28f5, 0xc28f5c6e}, /* 0.05491=f(0.11000)*/
+{64, 0,123,__LINE__, 0x3faeaa2c, 0x370b7cb1, 0x3fbeb851, 0xeb851efd}, /* 0.05989=f(0.12000)*/
+{63, 0,123,__LINE__, 0x3fb09ad8, 0xf0ae619d, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.06486=f(0.13000)*/
+{63, 0,123,__LINE__, 0x3fb1e04a, 0x2d210e8b, 0x3fc1eb85, 0x1eb8520e}, /* 0.06982=f(0.14000)*/
+{55, 0,123,__LINE__, 0x3fb32563, 0x927c0b00, 0x3fc33333, 0x33333356}, /* 0.07478=f(0.15000)*/
+{62, 0,123,__LINE__, 0x3fb46a1e, 0xe43d44ae, 0x3fc47ae1, 0x47ae149e}, /* 0.07974=f(0.16000)*/
+{63, 0,123,__LINE__, 0x3fb5ae75, 0xe7e45c44, 0x3fc5c28f, 0x5c28f5e6}, /* 0.08469=f(0.17000)*/
+{63, 0,123,__LINE__, 0x3fb6f262, 0x6514a513, 0x3fc70a3d, 0x70a3d72e}, /* 0.08963=f(0.18000)*/
+{63, 0,123,__LINE__, 0x3fb835de, 0x25b7186a, 0x3fc851eb, 0x851eb876}, /* 0.09457=f(0.19000)*/
+{64, 0,123,__LINE__, 0x3fb978e2, 0xf61c3bf9, 0x3fc99999, 0x999999be}, /* 0.09950=f(0.20000)*/
+{64, 0,123,__LINE__, 0x3fbabb6a, 0xa51dfa57, 0x3fcae147, 0xae147b06}, /* 0.10442=f(0.21000)*/
+{63, 0,123,__LINE__, 0x3fbbfd6f, 0x04416d13, 0x3fcc28f5, 0xc28f5c4e}, /* 0.10933=f(0.22000)*/
+{64, 0,123,__LINE__, 0x3fbd3ee9, 0xe7d89761, 0x3fcd70a3, 0xd70a3d96}, /* 0.11424=f(0.23000)*/
+{64, 0,123,__LINE__, 0x3fbe7fd5, 0x272410cc, 0x3fceb851, 0xeb851ede}, /* 0.11913=f(0.24000)*/
+{64, 0,123,__LINE__, 0x3fbfc02a, 0x9c749f0e, 0x3fd00000, 0x00000013}, /* 0.12402=f(0.25000)*/
+{64, 0,123,__LINE__, 0x3fc07ff2, 0x12a65f2e, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.12890=f(0.26000)*/
+{63, 0,123,__LINE__, 0x3fc11f7d, 0xd1410bb0, 0x3fd147ae, 0x147ae15b}, /* 0.13377=f(0.27000)*/
+{63, 0,123,__LINE__, 0x3fc1beb5, 0x7c2f7113, 0x3fd1eb85, 0x1eb851ff}, /* 0.13863=f(0.28000)*/
+{61, 0,123,__LINE__, 0x3fc25d96, 0x07619a9c, 0x3fd28f5c, 0x28f5c2a3}, /* 0.14348=f(0.29000)*/
+{64, 0,123,__LINE__, 0x3fc2fc1c, 0x68a32015, 0x3fd33333, 0x33333347}, /* 0.14831=f(0.30000)*/
+{64, 0,123,__LINE__, 0x3fc39a45, 0x97abb873, 0x3fd3d70a, 0x3d70a3eb}, /* 0.15314=f(0.31000)*/
+{61, 0,123,__LINE__, 0x3fc4380e, 0x8e2fc16c, 0x3fd47ae1, 0x47ae148f}, /* 0.15796=f(0.32000)*/
+{61, 0,123,__LINE__, 0x3fc4d574, 0x47f0bbb4, 0x3fd51eb8, 0x51eb8533}, /* 0.16276=f(0.33000)*/
+{64, 0,123,__LINE__, 0x3fc57273, 0xc2cdbb70, 0x3fd5c28f, 0x5c28f5d7}, /* 0.16755=f(0.34000)*/
+{63, 0,123,__LINE__, 0x3fc60f09, 0xfed3cc95, 0x3fd66666, 0x6666667b}, /* 0.17233=f(0.35000)*/
+{64, 0,123,__LINE__, 0x3fc6ab33, 0xfe4e4ab2, 0x3fd70a3d, 0x70a3d71f}, /* 0.17709=f(0.36000)*/
+{64, 0,123,__LINE__, 0x3fc746ee, 0xc5d72bf9, 0x3fd7ae14, 0x7ae147c3}, /* 0.18185=f(0.37000)*/
+{62, 0,123,__LINE__, 0x3fc7e237, 0x5c673efe, 0x3fd851eb, 0x851eb867}, /* 0.18659=f(0.38000)*/
+{64, 0,123,__LINE__, 0x3fc87d0a, 0xcb665ae0, 0x3fd8f5c2, 0x8f5c290b}, /* 0.19131=f(0.39000)*/
+{64, 0,123,__LINE__, 0x3fc91766, 0x1ebb818c, 0x3fd99999, 0x999999af}, /* 0.19602=f(0.40000)*/
+{64, 0,123,__LINE__, 0x3fc9b146, 0x64dcf3a5, 0x3fda3d70, 0xa3d70a53}, /* 0.20072=f(0.41000)*/
+{64, 0,123,__LINE__, 0x3fca4aa8, 0xaee035c2, 0x3fdae147, 0xae147af7}, /* 0.20540=f(0.42000)*/
+{64, 0,123,__LINE__, 0x3fcae38a, 0x108a06af, 0x3fdb851e, 0xb851eb9b}, /* 0.21006=f(0.43000)*/
+{64, 0,123,__LINE__, 0x3fcb7be7, 0xa05e463e, 0x3fdc28f5, 0xc28f5c3f}, /* 0.21471=f(0.44000)*/
+{64, 0,123,__LINE__, 0x3fcc13be, 0x77afcc68, 0x3fdccccc, 0xcccccce3}, /* 0.21935=f(0.45000)*/
+{64, 0,123,__LINE__, 0x3fccab0b, 0xb2b0304a, 0x3fdd70a3, 0xd70a3d87}, /* 0.22396=f(0.46000)*/
+{64, 0,123,__LINE__, 0x3fcd41cc, 0x707f7ec2, 0x3fde147a, 0xe147ae2b}, /* 0.22857=f(0.47000)*/
+{63, 0,123,__LINE__, 0x3fcdd7fd, 0xd33be029, 0x3fdeb851, 0xeb851ecf}, /* 0.23315=f(0.48000)*/
+{64, 0,123,__LINE__, 0x3fce6d9d, 0x00112cf6, 0x3fdf5c28, 0xf5c28f73}, /* 0.23772=f(0.49000)*/
+{64, 0,123,__LINE__, 0x3fcf02a7, 0x1f4870ea, 0x3fe00000, 0x0000000b}, /* 0.24226=f(0.50000)*/
+{64, 0,123,__LINE__, 0x3fcf9719, 0x5c575c53, 0x3fe051eb, 0x851eb85d}, /* 0.24679=f(0.51000)*/
+{64, 0,123,__LINE__, 0x3fd01578, 0x72f7d194, 0x3fe0a3d7, 0x0a3d70af}, /* 0.25131=f(0.52000)*/
+{64, 0,123,__LINE__, 0x3fd05f15, 0x770724d1, 0x3fe0f5c2, 0x8f5c2901}, /* 0.25580=f(0.53000)*/
+{64, 0,123,__LINE__, 0x3fd0a862, 0x55056ef8, 0x3fe147ae, 0x147ae153}, /* 0.26027=f(0.54000)*/
+{64, 0,123,__LINE__, 0x3fd0f15d, 0xa9534f5e, 0x3fe19999, 0x999999a5}, /* 0.26473=f(0.55000)*/
+{64, 0,123,__LINE__, 0x3fd13a06, 0x120dc70d, 0x3fe1eb85, 0x1eb851f7}, /* 0.26916=f(0.56000)*/
+{62, 0,123,__LINE__, 0x3fd1825a, 0x2f15b852, 0x3fe23d70, 0xa3d70a49}, /* 0.27358=f(0.57000)*/
+{63, 0,123,__LINE__, 0x3fd1ca58, 0xa2175c24, 0x3fe28f5c, 0x28f5c29b}, /* 0.27797=f(0.58000)*/
+{64, 0,123,__LINE__, 0x3fd21200, 0x0e91ad54, 0x3fe2e147, 0xae147aed}, /* 0.28234=f(0.59000)*/
+{64, 0,123,__LINE__, 0x3fd2594f, 0x19ddc93a, 0x3fe33333, 0x3333333f}, /* 0.28670=f(0.60000)*/
+{63, 0,123,__LINE__, 0x3fd2a044, 0x6b3645d6, 0x3fe3851e, 0xb851eb91}, /* 0.29103=f(0.61000)*/
+{60, 0,123,__LINE__, 0x3fd2e6de, 0xabbe7d27, 0x3fe3d70a, 0x3d70a3e3}, /* 0.29534=f(0.62000)*/
+{64, 0,123,__LINE__, 0x3fd32d1c, 0x8689cd8e, 0x3fe428f5, 0xc28f5c35}, /* 0.29962=f(0.63000)*/
+{63, 0,123,__LINE__, 0x3fd372fc, 0xa8a2cf24, 0x3fe47ae1, 0x47ae1487}, /* 0.30389=f(0.64000)*/
+{62, 0,123,__LINE__, 0x3fd3b87d, 0xc1127dc6, 0x3fe4cccc, 0xccccccd9}, /* 0.30813=f(0.65000)*/
+{63, 0,123,__LINE__, 0x3fd3fd9e, 0x80e757b8, 0x3fe51eb8, 0x51eb852b}, /* 0.31235=f(0.66000)*/
+{62, 0,123,__LINE__, 0x3fd4425d, 0x9b3c70c1, 0x3fe570a3, 0xd70a3d7d}, /* 0.31655=f(0.67000)*/
+{61, 0,123,__LINE__, 0x3fd486b9, 0xc540797b, 0x3fe5c28f, 0x5c28f5cf}, /* 0.32072=f(0.68000)*/
+{64, 0,123,__LINE__, 0x3fd4cab1, 0xb63cbacc, 0x3fe6147a, 0xe147ae21}, /* 0.32487=f(0.69000)*/
+{63, 0,123,__LINE__, 0x3fd50e44, 0x279c0551, 0x3fe66666, 0x66666673}, /* 0.32899=f(0.70000)*/
+{64, 0,123,__LINE__, 0x3fd5516f, 0xd4f19495, 0x3fe6b851, 0xeb851ec5}, /* 0.33309=f(0.71000)*/
+{64, 0,123,__LINE__, 0x3fd59433, 0x7bffe5f8, 0x3fe70a3d, 0x70a3d717}, /* 0.33717=f(0.72000)*/
+{63, 0,123,__LINE__, 0x3fd5d68d, 0xdcbf8304, 0x3fe75c28, 0xf5c28f69}, /* 0.34122=f(0.73000)*/
+{64, 0,123,__LINE__, 0x3fd6187d, 0xb965bf31, 0x3fe7ae14, 0x7ae147bb}, /* 0.34524=f(0.74000)*/
+{64, 0,123,__LINE__, 0x3fd65a01, 0xd66b68c7, 0x3fe80000, 0x0000000d}, /* 0.34924=f(0.75000)*/
+{64, 0,123,__LINE__, 0x3fd69b18, 0xfa936cdd, 0x3fe851eb, 0x851eb85f}, /* 0.35321=f(0.76000)*/
+{64, 0,123,__LINE__, 0x3fd6dbc1, 0xeef16e37, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.35716=f(0.77000)*/
+{64, 0,123,__LINE__, 0x3fd71bfb, 0x7ef04ee3, 0x3fe8f5c2, 0x8f5c2903}, /* 0.36108=f(0.78000)*/
+{62, 0,123,__LINE__, 0x3fd75bc4, 0x7858ac79, 0x3fe947ae, 0x147ae155}, /* 0.36497=f(0.79000)*/
+{64, 0,123,__LINE__, 0x3fd79b1b, 0xab574ed7, 0x3fe99999, 0x999999a7}, /* 0.36884=f(0.80000)*/
+{62, 0,123,__LINE__, 0x3fd7d9ff, 0xea838919, 0x3fe9eb85, 0x1eb851f9}, /* 0.37268=f(0.81000)*/
+{61, 0,123,__LINE__, 0x3fd81870, 0x0ae58cdb, 0x3fea3d70, 0xa3d70a4b}, /* 0.37649=f(0.82000)*/
+{64, 0,123,__LINE__, 0x3fd8566a, 0xe3fcaf78, 0x3fea8f5c, 0x28f5c29d}, /* 0.38027=f(0.83000)*/
+{63, 0,123,__LINE__, 0x3fd893ef, 0x4fc5a12f, 0x3feae147, 0xae147aef}, /* 0.38402=f(0.84000)*/
+{64, 0,123,__LINE__, 0x3fd8d0fc, 0x2ac09612, 0x3feb3333, 0x33333341}, /* 0.38775=f(0.85000)*/
+{64, 0,123,__LINE__, 0x3fd90d90, 0x53f76094, 0x3feb851e, 0xb851eb93}, /* 0.39145=f(0.86000)*/
+{62, 0,123,__LINE__, 0x3fd949aa, 0xad037d91, 0x3febd70a, 0x3d70a3e5}, /* 0.39512=f(0.87000)*/
+{61, 0,123,__LINE__, 0x3fd9854a, 0x1a1411bb, 0x3fec28f5, 0xc28f5c37}, /* 0.39876=f(0.88000)*/
+{64, 0,123,__LINE__, 0x3fd9c06d, 0x81f3d837, 0x3fec7ae1, 0x47ae1489}, /* 0.40236=f(0.89000)*/
+{64, 0,123,__LINE__, 0x3fd9fb13, 0xce0f0257, 0x3feccccc, 0xccccccdb}, /* 0.40594=f(0.90000)*/
+{64, 0,123,__LINE__, 0x3fda353b, 0xea790853, 0x3fed1eb8, 0x51eb852d}, /* 0.40949=f(0.91000)*/
+{64, 0,123,__LINE__, 0x3fda6ee4, 0xc5f26ac9, 0x3fed70a3, 0xd70a3d7f}, /* 0.41301=f(0.92000)*/
+{64, 0,123,__LINE__, 0x3fdaa80d, 0x51ee6500, 0x3fedc28f, 0x5c28f5d1}, /* 0.41650=f(0.93000)*/
+{63, 0,123,__LINE__, 0x3fdae0b4, 0x82988fbb, 0x3fee147a, 0xe147ae23}, /* 0.41996=f(0.94000)*/
+{62, 0,123,__LINE__, 0x3fdb18d9, 0x4eda747e, 0x3fee6666, 0x66666675}, /* 0.42339=f(0.95000)*/
+{62, 0,123,__LINE__, 0x3fdb507a, 0xb0611136, 0x3feeb851, 0xeb851ec7}, /* 0.42678=f(0.96000)*/
+{64, 0,123,__LINE__, 0x3fdb8797, 0xa3a24c08, 0x3fef0a3d, 0x70a3d719}, /* 0.43015=f(0.97000)*/
+{62, 0,123,__LINE__, 0x3fdbbe2f, 0x27e25746, 0x3fef5c28, 0xf5c28f6b}, /* 0.43348=f(0.98000)*/
+{62, 0,123,__LINE__, 0x3fdbf440, 0x3f390555, 0x3fefae14, 0x7ae147bd}, /* 0.43678=f(0.99000)*/
+{64, 0,123,__LINE__, 0x3fdc29c9, 0xee970c75, 0x3ff00000, 0x00000007}, /* 0.44005=f(1.00000)*/
+{62, 0,123,__LINE__, 0x3fdc5ecb, 0x3dcb3a42, 0x3ff028f5, 0xc28f5c30}, /* 0.44328=f(1.01000)*/
+{63, 0,123,__LINE__, 0x3fdc9343, 0x378796d5, 0x3ff051eb, 0x851eb859}, /* 0.44648=f(1.02000)*/
+{64, 0,123,__LINE__, 0x3fdcc730, 0xe9667776, 0x3ff07ae1, 0x47ae1482}, /* 0.44965=f(1.03000)*/
+{63, 0,123,__LINE__, 0x3fdcfa93, 0x63ef80a4, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.45279=f(1.04000)*/
+{64, 0,123,__LINE__, 0x3fdd2d69, 0xba9c9775, 0x3ff0cccc, 0xccccccd4}, /* 0.45589=f(1.05000)*/
+{64, 0,123,__LINE__, 0x3fdd5fb3, 0x03dec21a, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.45896=f(1.06000)*/
+{64, 0,123,__LINE__, 0x3fdd916e, 0x5922f785, 0x3ff11eb8, 0x51eb8526}, /* 0.46200=f(1.07000)*/
+{64, 0,123,__LINE__, 0x3fddc29a, 0xd6d6de01, 0x3ff147ae, 0x147ae14f}, /* 0.46500=f(1.08000)*/
+{62, 0,123,__LINE__, 0x3fddf337, 0x9c6d78a1, 0x3ff170a3, 0xd70a3d78}, /* 0.46796=f(1.09000)*/
+{64, 0,123,__LINE__, 0x3fde2343, 0xcc63c385, 0x3ff19999, 0x999999a1}, /* 0.47090=f(1.10000)*/
+{64, 0,123,__LINE__, 0x3fde52be, 0x8c453eb5, 0x3ff1c28f, 0x5c28f5ca}, /* 0.47380=f(1.11000)*/
+{61, 0,123,__LINE__, 0x3fde81a7, 0x04b067a4, 0x3ff1eb85, 0x1eb851f3}, /* 0.47666=f(1.12000)*/
+{63, 0,123,__LINE__, 0x3fdeaffc, 0x615b210e, 0x3ff2147a, 0xe147ae1c}, /* 0.47949=f(1.13000)*/
+{61, 0,123,__LINE__, 0x3fdeddbd, 0xd117095b, 0x3ff23d70, 0xa3d70a45}, /* 0.48228=f(1.14000)*/
+{63, 0,123,__LINE__, 0x3fdf0aea, 0x85d5bf1e, 0x3ff26666, 0x6666666e}, /* 0.48504=f(1.15000)*/
+{61, 0,123,__LINE__, 0x3fdf3781, 0xb4ad13ec, 0x3ff28f5c, 0x28f5c297}, /* 0.48776=f(1.16000)*/
+{64, 0,123,__LINE__, 0x3fdf6382, 0x95db2d2a, 0x3ff2b851, 0xeb851ec0}, /* 0.49044=f(1.17000)*/
+{63, 0,123,__LINE__, 0x3fdf8eec, 0x64ca92f6, 0x3ff2e147, 0xae147ae9}, /* 0.49309=f(1.18000)*/
+{63, 0,123,__LINE__, 0x3fdfb9be, 0x60162ceb, 0x3ff30a3d, 0x70a3d712}, /* 0.49571=f(1.19000)*/
+{54, 0,123,__LINE__, 0xbfd23723, 0x45b96613, 0xc00921fb, 0x54442d18}, /* -0.28461=f(-3.14159)*/
+{58, 0,123,__LINE__, 0xbfe2236c, 0x458df176, 0xbff921fb, 0x54442d18}, /* -0.56682=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{62, 0,123,__LINE__, 0x3fe2236c, 0x458df176, 0x3ff921fb, 0x54442d18}, /* 0.56682=f(1.57079)*/
+{61, 0,123,__LINE__, 0x3fd23723, 0x45b96613, 0x400921fb, 0x54442d18}, /* 0.28461=f(3.14159)*/
+{58, 0,123,__LINE__, 0xbfd206ae, 0xe4af911e, 0x4012d97c, 0x7f3321d2}, /* -0.28165=f(4.71238)*/
+{64, 0,123,__LINE__, 0x3fbe6678, 0x3a4dbbb0, 0xc03e0000, 0x00000000}, /* 0.11875=f(-30.0000)*/
+{58, 0,123,__LINE__, 0xbfba145c, 0x2bf5d6a7, 0xc03c4ccc, 0xcccccccd}, /* -0.10187=f(-28.3000)*/
+{64, 0,123,__LINE__, 0xbfb965bd, 0xda59f829, 0xc03a9999, 0x9999999a}, /* -0.09920=f(-26.6000)*/
+{64, 0,123,__LINE__, 0x3fc142f3, 0x9995533a, 0xc038e666, 0x66666667}, /* 0.13485=f(-24.9000)*/
+{64, 0,123,__LINE__, 0x3fb20dc7, 0xda3ce59d, 0xc0373333, 0x33333334}, /* 0.07052=f(-23.2000)*/
+{64, 0,123,__LINE__, 0xbfc4f91a, 0xe3f53776, 0xc0358000, 0x00000001}, /* -0.16385=f(-21.5000)*/
+{64, 0,123,__LINE__, 0xbfa0cd5b, 0xcd3ea881, 0xc033cccc, 0xccccccce}, /* -0.03281=f(-19.8000)*/
+{64, 0,123,__LINE__, 0x3fc7fb17, 0x3dcfcf2e, 0xc0321999, 0x9999999b}, /* 0.18735=f(-18.1000)*/
+{64, 0,123,__LINE__, 0xbf8c74d0, 0x79162d3e, 0xc0306666, 0x66666668}, /* -0.01389=f(-16.4000)*/
+{64, 0,123,__LINE__, 0xbfca24e7, 0xd2d25d15, 0xc02d6666, 0x6666666a}, /* -0.20425=f(-14.7000)*/
+{62, 0,123,__LINE__, 0x3fb2005d, 0x262e73c0, 0xc02a0000, 0x00000004}, /* 0.07031=f(-13.0000)*/
+{62, 0,123,__LINE__, 0x3fcb6cb5, 0x6d484cf6, 0xc0269999, 0x9999999e}, /* 0.21425=f(-11.3000)*/
+{63, 0,123,__LINE__, 0xbfc1dbf2, 0xf3b411d1, 0xc0233333, 0x33333338}, /* -0.13952=f(-9.60000)*/
+
+{57, 0,123,__LINE__, 0x3fcdd035, 0xc7235639, 0xc018cccc, 0xccccccd6}, /* 0.23291=f(-6.20000)*/
+{52, 0,123,__LINE__, 0x3fcd9363, 0x634158b5, 0xc0120000, 0x00000009}, /* 0.23106=f(-4.50000)*/
+{57, 0,123,__LINE__, 0xbfda38ad, 0x22065bec, 0xc0066666, 0x66666678}, /* -0.40970=f(-2.80000)*/
+{60, 0,123,__LINE__, 0xbfde2343, 0xcc63c3a5, 0xbff19999, 0x999999bd}, /* -0.47090=f(-1.10000)*/
+{61, 0,123,__LINE__, 0x3fd2594f, 0x19ddc8f2, 0x3fe33333, 0x333332ec}, /* 0.28670=f(0.60000)*/
+{63, 0,123,__LINE__, 0x3fe146a2, 0xc2f16a4e, 0x40026666, 0x66666654}, /* 0.53987=f(2.30000)*/
+{58, 0,123,__LINE__, 0xbfb0e837, 0x2dfae9d8, 0x400fffff, 0xffffffee}, /* -0.06604=f(4.00000)*/
+{59, 0,123,__LINE__, 0xbfd4bed5, 0xe968696f, 0x4016cccc, 0xccccccc4}, /* -0.32414=f(5.70000)*/
+{54, 0,123,__LINE__, 0x3fbc1063, 0xe5380213, 0x401d9999, 0x99999991}, /* 0.10962=f(7.40000)*/
+{59, 0,123,__LINE__, 0x3fcdc04a, 0x68314a0d, 0x40223333, 0x3333332f}, /* 0.23243=f(9.10000)*/
+{54, 0,123,__LINE__, 0xbfc23283, 0x9cb6bbfa, 0x40259999, 0x99999995}, /* -0.14216=f(10.8000)*/
+{59, 0,123,__LINE__, 0xbfc52e92, 0xc46b4553, 0x4028ffff, 0xfffffffb}, /* -0.16548=f(12.5000)*/
+{62, 0,123,__LINE__, 0x3fc4d06d, 0xb4af245c, 0x402c6666, 0x66666661}, /* 0.16261=f(14.2000)*/
+{59, 0,123,__LINE__, 0x3fbba7b7, 0x3ee07310, 0x402fcccc, 0xccccccc7}, /* 0.10802=f(15.9000)*/
+{62, 0,123,__LINE__, 0xbfc60238, 0x43170350, 0x40319999, 0x99999997}, /* -0.17194=f(17.6000)*/
+{64, 0,123,__LINE__, 0xbfacdf50, 0xf93779aa, 0x40334ccc, 0xccccccca}, /* -0.05639=f(19.3000)*/
+{62, 0,123,__LINE__, 0x3fc5e744, 0xe39a0de4, 0x4034ffff, 0xfffffffd}, /* 0.17112=f(21.0000)*/
+{62, 0,123,__LINE__, 0xbfc4a256, 0xe7770b60, 0x40386666, 0x66666663}, /* -0.16120=f(24.4000)*/
+{59, 0,123,__LINE__, 0x3f9f302d, 0x6b54eb93, 0x403a1999, 0x99999996}, /* 0.03045=f(26.1000)*/
+{62, 0,123,__LINE__, 0x3fc25cf8, 0x6ae10498, 0x403bcccc, 0xccccccc9}, /* 0.14346=f(27.8000)*/
+{64, 0,123,__LINE__, 0xbfb07640, 0x70ecf703, 0x403d7fff, 0xfffffffc}, /* -0.06430=f(29.5000)*/
+0,};
+test_j1(m) {run_vector_1(m,j1_vec,(char *)(j1),"j1","dd"); }
diff --git a/newlib/libm/test/j1f_vec.c b/newlib/libm/test/j1f_vec.c
new file mode 100644
index 00000000000..b09c892efb8
--- /dev/null
+++ b/newlib/libm/test/j1f_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type j1f_vec[] = {
+{10, 0,123,__LINE__, 0xbfdfe3f7, 0xe296ed50, 0xbff33333, 0x33333333}, /* -0.49828=f(-1.20000)*/
+{10, 0,123,__LINE__, 0xbfdfb9be, 0x81d66567, 0xbff30a3d, 0x70a3d70a}, /* -0.49571=f(-1.19000)*/
+{10, 0,123,__LINE__, 0xbfdf8eec, 0x6e9d62c5, 0xbff2e147, 0xae147ae1}, /* -0.49309=f(-1.18000)*/
+{10, 0,123,__LINE__, 0xbfdf6382, 0x7f8cac95, 0xbff2b851, 0xeb851eb8}, /* -0.49044=f(-1.17000)*/
+{10, 0,123,__LINE__, 0xbfdf3781, 0xbda5c893, 0xbff28f5c, 0x28f5c28f}, /* -0.48776=f(-1.16000)*/
+{10, 0,123,__LINE__, 0xbfdf0aea, 0x7b978b3c, 0xbff26666, 0x66666666}, /* -0.48504=f(-1.15000)*/
+{10, 0,123,__LINE__, 0xbfdeddbd, 0xdc601003, 0xbff23d70, 0xa3d70a3d}, /* -0.48228=f(-1.14000)*/
+{10, 0,123,__LINE__, 0xbfdeaffc, 0x5345ea4e, 0xbff2147a, 0xe147ae14}, /* -0.47949=f(-1.13000)*/
+{10, 0,123,__LINE__, 0xbfde81a7, 0x0cf8b2c6, 0xbff1eb85, 0x1eb851eb}, /* -0.47666=f(-1.12000)*/
+{10, 0,123,__LINE__, 0xbfde52be, 0x837f85fd, 0xbff1c28f, 0x5c28f5c2}, /* -0.47380=f(-1.11000)*/
+{10, 0,123,__LINE__, 0xbfde2343, 0xc3d9fc2f, 0xbff19999, 0x99999999}, /* -0.47090=f(-1.10000)*/
+{10, 0,123,__LINE__, 0xbfddf337, 0x95bee2f9, 0xbff170a3, 0xd70a3d70}, /* -0.46796=f(-1.09000)*/
+{10, 0,123,__LINE__, 0xbfddc29a, 0xe6cbf864, 0xbff147ae, 0x147ae147}, /* -0.46500=f(-1.08000)*/
+{10, 0,123,__LINE__, 0xbfdd916e, 0x7f852d6b, 0xbff11eb8, 0x51eb851e}, /* -0.46200=f(-1.07000)*/
+{10, 0,123,__LINE__, 0xbfdd5fb3, 0x026afa3b, 0xbff0f5c2, 0x8f5c28f5}, /* -0.45896=f(-1.06000)*/
+{10, 0,123,__LINE__, 0xbfdd2d69, 0xacfecf37, 0xbff0cccc, 0xcccccccc}, /* -0.45589=f(-1.05000)*/
+{10, 0,123,__LINE__, 0xbfdcfa93, 0x5d5e5197, 0xbff0a3d7, 0x0a3d70a3}, /* -0.45279=f(-1.04000)*/
+{10, 0,123,__LINE__, 0xbfdcc730, 0xf0437f56, 0xbff07ae1, 0x47ae147a}, /* -0.44965=f(-1.03000)*/
+{10, 0,123,__LINE__, 0xbfdc9343, 0x410cdccf, 0xbff051eb, 0x851eb851}, /* -0.44648=f(-1.02000)*/
+{10, 0,123,__LINE__, 0xbfdc5ecb, 0x4eca213c, 0xbff028f5, 0xc28f5c28}, /* -0.44328=f(-1.01000)*/
+{10, 0,123,__LINE__, 0xbfdc29c9, 0xfa51149f, 0xbfefffff, 0xfffffffe}, /* -0.44005=f(-0.01000)*/
+{10, 0,123,__LINE__, 0xbfdbf440, 0x43c73861, 0xbfefae14, 0x7ae147ac}, /* -0.43678=f(-0.99000)*/
+{10, 0,123,__LINE__, 0xbfdbbe2f, 0x19114e8f, 0xbfef5c28, 0xf5c28f5a}, /* -0.43348=f(-0.98000)*/
+{10, 0,123,__LINE__, 0xbfdb8797, 0xb66dd246, 0xbfef0a3d, 0x70a3d708}, /* -0.43015=f(-0.97000)*/
+{10, 0,123,__LINE__, 0xbfdb507a, 0x976f4d7f, 0xbfeeb851, 0xeb851eb6}, /* -0.42678=f(-0.96000)*/
+{10, 0,123,__LINE__, 0xbfdb18d9, 0x5833a31b, 0xbfee6666, 0x66666664}, /* -0.42339=f(-0.95000)*/
+{10, 0,123,__LINE__, 0xbfdae0b4, 0x7450c189, 0xbfee147a, 0xe147ae12}, /* -0.41996=f(-0.94000)*/
+{10, 0,123,__LINE__, 0xbfdaa80d, 0x55cab504, 0xbfedc28f, 0x5c28f5c0}, /* -0.41650=f(-0.93000)*/
+{10, 0,123,__LINE__, 0xbfda6ee4, 0xd6fe4429, 0xbfed70a3, 0xd70a3d6e}, /* -0.41301=f(-0.92000)*/
+{10, 0,123,__LINE__, 0xbfda353b, 0xf0bbb5c0, 0xbfed1eb8, 0x51eb851c}, /* -0.40949=f(-0.91000)*/
+{10, 0,123,__LINE__, 0xbfd9fb13, 0xd6540a1e, 0xbfeccccc, 0xccccccca}, /* -0.40594=f(-0.90000)*/
+{10, 0,123,__LINE__, 0xbfd9c06d, 0x87665c7f, 0xbfec7ae1, 0x47ae1478}, /* -0.40236=f(-0.89000)*/
+{10, 0,123,__LINE__, 0xbfd9854a, 0x1ea094f0, 0xbfec28f5, 0xc28f5c26}, /* -0.39876=f(-0.88000)*/
+{10, 0,123,__LINE__, 0xbfd949aa, 0xbd8eb7ef, 0xbfebd70a, 0x3d70a3d4}, /* -0.39512=f(-0.87000)*/
+{10, 0,123,__LINE__, 0xbfd90d90, 0x4d502695, 0xbfeb851e, 0xb851eb82}, /* -0.39145=f(-0.86000)*/
+{10, 0,123,__LINE__, 0xbfd8d0fc, 0x3fc251ef, 0xbfeb3333, 0x33333330}, /* -0.38775=f(-0.85000)*/
+{10, 0,123,__LINE__, 0xbfd893ef, 0x361a3f6f, 0xbfeae147, 0xae147ade}, /* -0.38402=f(-0.84000)*/
+{10, 0,123,__LINE__, 0xbfd8566a, 0xdd50c11e, 0xbfea8f5c, 0x28f5c28c}, /* -0.38027=f(-0.83000)*/
+{10, 0,123,__LINE__, 0xbfd81870, 0x103415fd, 0xbfea3d70, 0xa3d70a3a}, /* -0.37649=f(-0.82000)*/
+{10, 0,123,__LINE__, 0xbfd7d9ff, 0xe0889116, 0xbfe9eb85, 0x1eb851e8}, /* -0.37268=f(-0.81000)*/
+{10, 0,123,__LINE__, 0xbfd79b1b, 0xaeb357c7, 0xbfe99999, 0x99999996}, /* -0.36884=f(-0.80000)*/
+{10, 0,123,__LINE__, 0xbfd75bc4, 0x7698f819, 0xbfe947ae, 0x147ae144}, /* -0.36497=f(-0.79000)*/
+{10, 0,123,__LINE__, 0xbfd71bfb, 0x6857591c, 0xbfe8f5c2, 0x8f5c28f2}, /* -0.36108=f(-0.78000)*/
+{10, 0,123,__LINE__, 0xbfd6dbc1, 0xd7d17caa, 0xbfe8a3d7, 0x0a3d70a0}, /* -0.35716=f(-0.77000)*/
+{10, 0,123,__LINE__, 0xbfd69b18, 0xf664e9f7, 0xbfe851eb, 0x851eb84e}, /* -0.35321=f(-0.76000)*/
+{10, 0,123,__LINE__, 0xbfd65a01, 0xe3170c9e, 0xbfe7ffff, 0xfffffffc}, /* -0.34924=f(-0.75000)*/
+{10, 0,123,__LINE__, 0xbfd6187d, 0xc1a32633, 0xbfe7ae14, 0x7ae147aa}, /* -0.34524=f(-0.74000)*/
+{10, 0,123,__LINE__, 0xbfd5d68d, 0xe4bdf679, 0xbfe75c28, 0xf5c28f58}, /* -0.34122=f(-0.73000)*/
+{10, 0,123,__LINE__, 0xbfd59433, 0x8b959fc1, 0xbfe70a3d, 0x70a3d706}, /* -0.33717=f(-0.72000)*/
+{10, 0,123,__LINE__, 0xbfd5516f, 0xd4a6218e, 0xbfe6b851, 0xeb851eb4}, /* -0.33309=f(-0.71000)*/
+{10, 0,123,__LINE__, 0xbfd50e44, 0x29867955, 0xbfe66666, 0x66666662}, /* -0.32899=f(-0.70000)*/
+{10, 0,123,__LINE__, 0xbfd4cab1, 0xc530bb3b, 0xbfe6147a, 0xe147ae10}, /* -0.32487=f(-0.69000)*/
+{10, 0,123,__LINE__, 0xbfd486b9, 0xc1d8b3f1, 0xbfe5c28f, 0x5c28f5be}, /* -0.32072=f(-0.68000)*/
+{10, 0,123,__LINE__, 0xbfd4425d, 0xa6a458f0, 0xbfe570a3, 0xd70a3d6c}, /* -0.31655=f(-0.67000)*/
+{10, 0,123,__LINE__, 0xbfd3fd9e, 0x92e26ecb, 0xbfe51eb8, 0x51eb851a}, /* -0.31235=f(-0.66000)*/
+{10, 0,123,__LINE__, 0xbfd3b87d, 0xb24699dd, 0xbfe4cccc, 0xccccccc8}, /* -0.30813=f(-0.65000)*/
+{10, 0,123,__LINE__, 0xbfd372fc, 0x8e83921a, 0xbfe47ae1, 0x47ae1476}, /* -0.30389=f(-0.64000)*/
+{10, 0,123,__LINE__, 0xbfd32d1c, 0x80f088ac, 0xbfe428f5, 0xc28f5c24}, /* -0.29962=f(-0.63000)*/
+{10, 0,123,__LINE__, 0xbfd2e6de, 0xb0188656, 0xbfe3d70a, 0x3d70a3d2}, /* -0.29534=f(-0.62000)*/
+{10, 0,123,__LINE__, 0xbfd2a044, 0x6e5bcdb3, 0xbfe3851e, 0xb851eb80}, /* -0.29103=f(-0.61000)*/
+{10, 0,123,__LINE__, 0xbfd2594f, 0x36b84437, 0xbfe33333, 0x3333332e}, /* -0.28670=f(-0.60000)*/
+{10, 0,123,__LINE__, 0xbfd21200, 0x0601539f, 0xbfe2e147, 0xae147adc}, /* -0.28234=f(-0.59000)*/
+{10, 0,123,__LINE__, 0xbfd1ca58, 0xa8b2d7da, 0xbfe28f5c, 0x28f5c28a}, /* -0.27797=f(-0.58000)*/
+{10, 0,123,__LINE__, 0xbfd1825a, 0x21de2d82, 0xbfe23d70, 0xa3d70a38}, /* -0.27358=f(-0.57000)*/
+{12, 0,123,__LINE__, 0xbfd13a06, 0x0331c1d0, 0xbfe1eb85, 0x1eb851e6}, /* -0.26916=f(-0.56000)*/
+{12, 0,123,__LINE__, 0xbfd0f15d, 0xb8bcd619, 0xbfe19999, 0x99999994}, /* -0.26473=f(-0.55000)*/
+{12, 0,123,__LINE__, 0xbfd0a862, 0x5987768b, 0xbfe147ae, 0x147ae142}, /* -0.26027=f(-0.54000)*/
+{12, 0,123,__LINE__, 0xbfd05f15, 0x6b52faaa, 0xbfe0f5c2, 0x8f5c28f0}, /* -0.25580=f(-0.53000)*/
+{12, 0,123,__LINE__, 0xbfd01578, 0x6a7550c2, 0xbfe0a3d7, 0x0a3d709e}, /* -0.25131=f(-0.52000)*/
+{11, 0,123,__LINE__, 0xbfcf9719, 0x5566e736, 0xbfe051eb, 0x851eb84c}, /* -0.24679=f(-0.51000)*/
+{11, 0,123,__LINE__, 0xbfcf02a7, 0x1dfd7df0, 0xbfdfffff, 0xfffffff4}, /* -0.24226=f(-0.50000)*/
+{11, 0,123,__LINE__, 0xbfce6d9c, 0xfb02b29e, 0xbfdf5c28, 0xf5c28f50}, /* -0.23772=f(-0.49000)*/
+{11, 0,123,__LINE__, 0xbfcdd7fd, 0xd74f56e4, 0xbfdeb851, 0xeb851eac}, /* -0.23315=f(-0.48000)*/
+{11, 0,123,__LINE__, 0xbfcd41cc, 0x64848ecb, 0xbfde147a, 0xe147ae08}, /* -0.22857=f(-0.47000)*/
+{11, 0,123,__LINE__, 0xbfccab0b, 0xcf75d2e9, 0xbfdd70a3, 0xd70a3d64}, /* -0.22396=f(-0.46000)*/
+{11, 0,123,__LINE__, 0xbfcc13be, 0x579febfe, 0xbfdccccc, 0xccccccc0}, /* -0.21935=f(-0.45000)*/
+{11, 0,123,__LINE__, 0xbfcb7be7, 0xa577284f, 0xbfdc28f5, 0xc28f5c1c}, /* -0.21471=f(-0.44000)*/
+{11, 0,123,__LINE__, 0xbfcae38a, 0x1d66f978, 0xbfdb851e, 0xb851eb78}, /* -0.21006=f(-0.43000)*/
+{11, 0,123,__LINE__, 0xbfca4aa8, 0x9afa7a23, 0xbfdae147, 0xae147ad4}, /* -0.20540=f(-0.42000)*/
+{11, 0,123,__LINE__, 0xbfc9b146, 0x584989fc, 0xbfda3d70, 0xa3d70a30}, /* -0.20072=f(-0.41000)*/
+{11, 0,123,__LINE__, 0xbfc91766, 0x184cbdbd, 0xbfd99999, 0x9999998c}, /* -0.19602=f(-0.40000)*/
+{11, 0,123,__LINE__, 0xbfc87d0a, 0xb9ee782a, 0xbfd8f5c2, 0x8f5c28e8}, /* -0.19131=f(-0.39000)*/
+{11, 0,123,__LINE__, 0xbfc7e237, 0x4b08c504, 0xbfd851eb, 0x851eb844}, /* -0.18659=f(-0.38000)*/
+{11, 0,123,__LINE__, 0xbfc746ee, 0xc745478b, 0xbfd7ae14, 0x7ae147a0}, /* -0.18185=f(-0.37000)*/
+{11, 0,123,__LINE__, 0xbfc6ab34, 0x1a585ddb, 0xbfd70a3d, 0x70a3d6fc}, /* -0.17709=f(-0.36000)*/
+{11, 0,123,__LINE__, 0xbfc60f09, 0xfc6ec0fb, 0xbfd66666, 0x66666658}, /* -0.17233=f(-0.35000)*/
+{11, 0,123,__LINE__, 0xbfc57273, 0xcc336581, 0xbfd5c28f, 0x5c28f5b4}, /* -0.16755=f(-0.34000)*/
+{11, 0,123,__LINE__, 0xbfc4d574, 0x5cf46ce5, 0xbfd51eb8, 0x51eb8510}, /* -0.16276=f(-0.33000)*/
+{11, 0,123,__LINE__, 0xbfc4380e, 0x998b977a, 0xbfd47ae1, 0x47ae146c}, /* -0.15796=f(-0.32000)*/
+{11, 0,123,__LINE__, 0xbfc39a45, 0x90886d28, 0xbfd3d70a, 0x3d70a3c8}, /* -0.15314=f(-0.31000)*/
+{11, 0,123,__LINE__, 0xbfc2fc1c, 0x6de17283, 0xbfd33333, 0x33333324}, /* -0.14831=f(-0.30000)*/
+{11, 0,123,__LINE__, 0xbfc25d95, 0xf8c62a8b, 0xbfd28f5c, 0x28f5c280}, /* -0.14348=f(-0.29000)*/
+{12, 0,123,__LINE__, 0xbfc1beb5, 0x6ef6bae5, 0xbfd1eb85, 0x1eb851dc}, /* -0.13863=f(-0.28000)*/
+{12, 0,123,__LINE__, 0xbfc11f7d, 0xd53b677d, 0xbfd147ae, 0x147ae138}, /* -0.13377=f(-0.27000)*/
+{12, 0,123,__LINE__, 0xbfc07ff2, 0x0cb5341e, 0xbfd0a3d7, 0x0a3d7094}, /* -0.12890=f(-0.26000)*/
+{ 9, 0,123,__LINE__, 0xbfbfc02a, 0xb10dd680, 0xbfcfffff, 0xffffffe0}, /* -0.12402=f(-0.25000)*/
+{ 9, 0,123,__LINE__, 0xbfbe7fd5, 0x1f9e49e2, 0xbfceb851, 0xeb851e98}, /* -0.11913=f(-0.24000)*/
+{ 9, 0,123,__LINE__, 0xbfbd3ee9, 0xf3d5623e, 0xbfcd70a3, 0xd70a3d50}, /* -0.11424=f(-0.23000)*/
+{ 9, 0,123,__LINE__, 0xbfbbfd6e, 0xff977cf7, 0xbfcc28f5, 0xc28f5c08}, /* -0.10933=f(-0.22000)*/
+{ 9, 0,123,__LINE__, 0xbfbabb6a, 0x95bc98de, 0xbfcae147, 0xae147ac0}, /* -0.10442=f(-0.21000)*/
+{ 9, 0,123,__LINE__, 0xbfb978e2, 0xefb0076f, 0xbfc99999, 0x99999978}, /* -0.09950=f(-0.20000)*/
+{ 9, 0,123,__LINE__, 0xbfb835de, 0x3733e9ed, 0xbfc851eb, 0x851eb830}, /* -0.09457=f(-0.19000)*/
+{ 9, 0,123,__LINE__, 0xbfb6f262, 0x684427d1, 0xbfc70a3d, 0x70a3d6e8}, /* -0.08963=f(-0.18000)*/
+{ 9, 0,123,__LINE__, 0xbfb5ae75, 0xe06f7b00, 0xbfc5c28f, 0x5c28f5a0}, /* -0.08469=f(-0.17000)*/
+{ 9, 0,123,__LINE__, 0xbfb46a1e, 0xcc348f0a, 0xbfc47ae1, 0x47ae1458}, /* -0.07974=f(-0.16000)*/
+{ 9, 0,123,__LINE__, 0xbfb32563, 0x9d6575f8, 0xbfc33333, 0x33333310}, /* -0.07478=f(-0.15000)*/
+{12, 0,123,__LINE__, 0xbfb1e04a, 0x2afa9641, 0xbfc1eb85, 0x1eb851c8}, /* -0.06982=f(-0.14000)*/
+{12, 0,123,__LINE__, 0xbfb09ad8, 0xe9211c1f, 0xbfc0a3d7, 0x0a3d7080}, /* -0.06486=f(-0.13000)*/
+{11, 0,123,__LINE__, 0xbfaeaa2c, 0x30546b47, 0xbfbeb851, 0xeb851e71}, /* -0.05989=f(-0.12000)*/
+{11, 0,123,__LINE__, 0xbfac1e0f, 0xd8be659f, 0xbfbc28f5, 0xc28f5be2}, /* -0.05491=f(-0.11000)*/
+{11, 0,123,__LINE__, 0xbfa99169, 0x54e4ac09, 0xbfb99999, 0x99999953}, /* -0.04993=f(-0.00100)*/
+{11, 0,123,__LINE__, 0xbfa70445, 0x2ed31f92, 0xbfb70a3d, 0x70a3d6c4}, /* -0.04495=f(-0.09000)*/
+{11, 0,123,__LINE__, 0xbfa476af, 0xbc7852a8, 0xbfb47ae1, 0x47ae1435}, /* -0.03996=f(-0.08000)*/
+{12, 0,123,__LINE__, 0xbfa1e8b5, 0xf541e63f, 0xbfb1eb85, 0x1eb851a6}, /* -0.03497=f(-0.07000)*/
+{10, 0,123,__LINE__, 0xbf9eb4c7, 0xfcf247c3, 0xbfaeb851, 0xeb851e2d}, /* -0.02998=f(-0.06000)*/
+{10, 0,123,__LINE__, 0xbf99978d, 0x75f51f61, 0xbfa99999, 0x9999990e}, /* -0.02499=f(-0.05000)*/
+{10, 0,123,__LINE__, 0xbf9479d4, 0xcc2710b7, 0xbfa47ae1, 0x47ae13ef}, /* -0.01999=f(-0.04000)*/
+{11, 0,123,__LINE__, 0xbf8eb76f, 0x6d7096c3, 0xbf9eb851, 0xeb851da0}, /* -0.01499=f(-0.03000)*/
+{11, 0,123,__LINE__, 0xbf847a9e, 0x22d3fb34, 0xbf947ae1, 0x47ae1362}, /* -0.00999=f(-0.02000)*/
+{ 8, 0,123,__LINE__, 0xbf747ad0, 0x831810f7, 0xbf847ae1, 0x47ae1249}, /* -0.00499=f(-0.00010)*/
+{12, 0,123,__LINE__, 0x3cc19000, 0x00000000, 0x3cd19000, 0x00000000}, /* 4.87457e-16=f(9.74915e-16)*/
+{ 8, 0,123,__LINE__, 0x3f747ad0, 0x831810f7, 0x3f847ae1, 0x47ae16ad}, /* 0.00499=f(0.01000)*/
+{11, 0,123,__LINE__, 0x3f847a9e, 0x22d3fb34, 0x3f947ae1, 0x47ae1594}, /* 0.00999=f(0.02000)*/
+{11, 0,123,__LINE__, 0x3f8eb76f, 0x6d7096c3, 0x3f9eb851, 0xeb851fd2}, /* 0.01499=f(0.03000)*/
+{10, 0,123,__LINE__, 0x3f9479d4, 0xcc2710b7, 0x3fa47ae1, 0x47ae1508}, /* 0.01999=f(0.04000)*/
+{10, 0,123,__LINE__, 0x3f99978d, 0x75f51f61, 0x3fa99999, 0x99999a27}, /* 0.02499=f(0.05000)*/
+{10, 0,123,__LINE__, 0x3f9eb4c7, 0xfcf247c3, 0x3faeb851, 0xeb851f46}, /* 0.02998=f(0.06000)*/
+{12, 0,123,__LINE__, 0x3fa1e8b5, 0xf541e63f, 0x3fb1eb85, 0x1eb85232}, /* 0.03497=f(0.07000)*/
+{11, 0,123,__LINE__, 0x3fa476af, 0xbc7852a8, 0x3fb47ae1, 0x47ae14c1}, /* 0.03996=f(0.08000)*/
+{11, 0,123,__LINE__, 0x3fa70445, 0x2ed31f92, 0x3fb70a3d, 0x70a3d750}, /* 0.04495=f(0.09000)*/
+{11, 0,123,__LINE__, 0x3fa99169, 0x54e4ac09, 0x3fb99999, 0x999999df}, /* 0.04993=f(0.10000)*/
+{11, 0,123,__LINE__, 0x3fac1e0f, 0xd8be659f, 0x3fbc28f5, 0xc28f5c6e}, /* 0.05491=f(0.11000)*/
+{11, 0,123,__LINE__, 0x3faeaa2c, 0x30546b47, 0x3fbeb851, 0xeb851efd}, /* 0.05989=f(0.12000)*/
+{12, 0,123,__LINE__, 0x3fb09ad8, 0xe9211c1f, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.06486=f(0.13000)*/
+{12, 0,123,__LINE__, 0x3fb1e04a, 0x2afa9641, 0x3fc1eb85, 0x1eb8520e}, /* 0.06982=f(0.14000)*/
+{ 9, 0,123,__LINE__, 0x3fb32563, 0x9d6575f8, 0x3fc33333, 0x33333356}, /* 0.07478=f(0.15000)*/
+{ 9, 0,123,__LINE__, 0x3fb46a1e, 0xcc348f0a, 0x3fc47ae1, 0x47ae149e}, /* 0.07974=f(0.16000)*/
+{ 9, 0,123,__LINE__, 0x3fb5ae75, 0xe06f7b00, 0x3fc5c28f, 0x5c28f5e6}, /* 0.08469=f(0.17000)*/
+{ 9, 0,123,__LINE__, 0x3fb6f262, 0x684427d1, 0x3fc70a3d, 0x70a3d72e}, /* 0.08963=f(0.18000)*/
+{ 9, 0,123,__LINE__, 0x3fb835de, 0x3733e9ed, 0x3fc851eb, 0x851eb876}, /* 0.09457=f(0.19000)*/
+{ 9, 0,123,__LINE__, 0x3fb978e2, 0xefb0076f, 0x3fc99999, 0x999999be}, /* 0.09950=f(0.20000)*/
+{ 9, 0,123,__LINE__, 0x3fbabb6a, 0x95bc98de, 0x3fcae147, 0xae147b06}, /* 0.10442=f(0.21000)*/
+{ 9, 0,123,__LINE__, 0x3fbbfd6e, 0xff977cf7, 0x3fcc28f5, 0xc28f5c4e}, /* 0.10933=f(0.22000)*/
+{ 9, 0,123,__LINE__, 0x3fbd3ee9, 0xf3d5623e, 0x3fcd70a3, 0xd70a3d96}, /* 0.11424=f(0.23000)*/
+{ 9, 0,123,__LINE__, 0x3fbe7fd5, 0x1f9e49e2, 0x3fceb851, 0xeb851ede}, /* 0.11913=f(0.24000)*/
+{ 9, 0,123,__LINE__, 0x3fbfc02a, 0xb10dd680, 0x3fd00000, 0x00000013}, /* 0.12402=f(0.25000)*/
+{12, 0,123,__LINE__, 0x3fc07ff2, 0x0cb5341e, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.12890=f(0.26000)*/
+{12, 0,123,__LINE__, 0x3fc11f7d, 0xd53b677d, 0x3fd147ae, 0x147ae15b}, /* 0.13377=f(0.27000)*/
+{12, 0,123,__LINE__, 0x3fc1beb5, 0x6ef6bae5, 0x3fd1eb85, 0x1eb851ff}, /* 0.13863=f(0.28000)*/
+{11, 0,123,__LINE__, 0x3fc25d95, 0xf8c62a8b, 0x3fd28f5c, 0x28f5c2a3}, /* 0.14348=f(0.29000)*/
+{11, 0,123,__LINE__, 0x3fc2fc1c, 0x6de17283, 0x3fd33333, 0x33333347}, /* 0.14831=f(0.30000)*/
+{11, 0,123,__LINE__, 0x3fc39a45, 0x90886d28, 0x3fd3d70a, 0x3d70a3eb}, /* 0.15314=f(0.31000)*/
+{11, 0,123,__LINE__, 0x3fc4380e, 0x998b977a, 0x3fd47ae1, 0x47ae148f}, /* 0.15796=f(0.32000)*/
+{11, 0,123,__LINE__, 0x3fc4d574, 0x5cf46ce5, 0x3fd51eb8, 0x51eb8533}, /* 0.16276=f(0.33000)*/
+{11, 0,123,__LINE__, 0x3fc57273, 0xcc336581, 0x3fd5c28f, 0x5c28f5d7}, /* 0.16755=f(0.34000)*/
+{11, 0,123,__LINE__, 0x3fc60f09, 0xfc6ec0fb, 0x3fd66666, 0x6666667b}, /* 0.17233=f(0.35000)*/
+{11, 0,123,__LINE__, 0x3fc6ab34, 0x1a585ddb, 0x3fd70a3d, 0x70a3d71f}, /* 0.17709=f(0.36000)*/
+{11, 0,123,__LINE__, 0x3fc746ee, 0xc745478b, 0x3fd7ae14, 0x7ae147c3}, /* 0.18185=f(0.37000)*/
+{11, 0,123,__LINE__, 0x3fc7e237, 0x4b08c504, 0x3fd851eb, 0x851eb867}, /* 0.18659=f(0.38000)*/
+{11, 0,123,__LINE__, 0x3fc87d0a, 0xb9ee782a, 0x3fd8f5c2, 0x8f5c290b}, /* 0.19131=f(0.39000)*/
+{11, 0,123,__LINE__, 0x3fc91766, 0x184cbdbd, 0x3fd99999, 0x999999af}, /* 0.19602=f(0.40000)*/
+{11, 0,123,__LINE__, 0x3fc9b146, 0x584989fc, 0x3fda3d70, 0xa3d70a53}, /* 0.20072=f(0.41000)*/
+{11, 0,123,__LINE__, 0x3fca4aa8, 0x9afa7a23, 0x3fdae147, 0xae147af7}, /* 0.20540=f(0.42000)*/
+{11, 0,123,__LINE__, 0x3fcae38a, 0x1d66f978, 0x3fdb851e, 0xb851eb9b}, /* 0.21006=f(0.43000)*/
+{11, 0,123,__LINE__, 0x3fcb7be7, 0xa577284f, 0x3fdc28f5, 0xc28f5c3f}, /* 0.21471=f(0.44000)*/
+{11, 0,123,__LINE__, 0x3fcc13be, 0x579febfe, 0x3fdccccc, 0xcccccce3}, /* 0.21935=f(0.45000)*/
+{11, 0,123,__LINE__, 0x3fccab0b, 0xcf75d2e9, 0x3fdd70a3, 0xd70a3d87}, /* 0.22396=f(0.46000)*/
+{11, 0,123,__LINE__, 0x3fcd41cc, 0x64848ecb, 0x3fde147a, 0xe147ae2b}, /* 0.22857=f(0.47000)*/
+{11, 0,123,__LINE__, 0x3fcdd7fd, 0xd74f56e4, 0x3fdeb851, 0xeb851ecf}, /* 0.23315=f(0.48000)*/
+{11, 0,123,__LINE__, 0x3fce6d9c, 0xfb02b29e, 0x3fdf5c28, 0xf5c28f73}, /* 0.23772=f(0.49000)*/
+{11, 0,123,__LINE__, 0x3fcf02a7, 0x1dfd7df0, 0x3fe00000, 0x0000000b}, /* 0.24226=f(0.50000)*/
+{11, 0,123,__LINE__, 0x3fcf9719, 0x5566e736, 0x3fe051eb, 0x851eb85d}, /* 0.24679=f(0.51000)*/
+{12, 0,123,__LINE__, 0x3fd01578, 0x6a7550c2, 0x3fe0a3d7, 0x0a3d70af}, /* 0.25131=f(0.52000)*/
+{12, 0,123,__LINE__, 0x3fd05f15, 0x6b52faaa, 0x3fe0f5c2, 0x8f5c2901}, /* 0.25580=f(0.53000)*/
+{12, 0,123,__LINE__, 0x3fd0a862, 0x5987768b, 0x3fe147ae, 0x147ae153}, /* 0.26027=f(0.54000)*/
+{12, 0,123,__LINE__, 0x3fd0f15d, 0xb8bcd619, 0x3fe19999, 0x999999a5}, /* 0.26473=f(0.55000)*/
+{12, 0,123,__LINE__, 0x3fd13a06, 0x0331c1d0, 0x3fe1eb85, 0x1eb851f7}, /* 0.26916=f(0.56000)*/
+{10, 0,123,__LINE__, 0x3fd1825a, 0x21de2d82, 0x3fe23d70, 0xa3d70a49}, /* 0.27358=f(0.57000)*/
+{10, 0,123,__LINE__, 0x3fd1ca58, 0xa8b2d7da, 0x3fe28f5c, 0x28f5c29b}, /* 0.27797=f(0.58000)*/
+{10, 0,123,__LINE__, 0x3fd21200, 0x0601539f, 0x3fe2e147, 0xae147aed}, /* 0.28234=f(0.59000)*/
+{10, 0,123,__LINE__, 0x3fd2594f, 0x36b84437, 0x3fe33333, 0x3333333f}, /* 0.28670=f(0.60000)*/
+{10, 0,123,__LINE__, 0x3fd2a044, 0x6e5bcdb3, 0x3fe3851e, 0xb851eb91}, /* 0.29103=f(0.61000)*/
+{10, 0,123,__LINE__, 0x3fd2e6de, 0xb0188656, 0x3fe3d70a, 0x3d70a3e3}, /* 0.29534=f(0.62000)*/
+{10, 0,123,__LINE__, 0x3fd32d1c, 0x80f088ac, 0x3fe428f5, 0xc28f5c35}, /* 0.29962=f(0.63000)*/
+{10, 0,123,__LINE__, 0x3fd372fc, 0x8e83921a, 0x3fe47ae1, 0x47ae1487}, /* 0.30389=f(0.64000)*/
+{10, 0,123,__LINE__, 0x3fd3b87d, 0xb24699dd, 0x3fe4cccc, 0xccccccd9}, /* 0.30813=f(0.65000)*/
+{10, 0,123,__LINE__, 0x3fd3fd9e, 0x92e26ecb, 0x3fe51eb8, 0x51eb852b}, /* 0.31235=f(0.66000)*/
+{10, 0,123,__LINE__, 0x3fd4425d, 0xa6a458f0, 0x3fe570a3, 0xd70a3d7d}, /* 0.31655=f(0.67000)*/
+{10, 0,123,__LINE__, 0x3fd486b9, 0xc1d8b3f1, 0x3fe5c28f, 0x5c28f5cf}, /* 0.32072=f(0.68000)*/
+{10, 0,123,__LINE__, 0x3fd4cab1, 0xc530bb3b, 0x3fe6147a, 0xe147ae21}, /* 0.32487=f(0.69000)*/
+{10, 0,123,__LINE__, 0x3fd50e44, 0x29867955, 0x3fe66666, 0x66666673}, /* 0.32899=f(0.70000)*/
+{10, 0,123,__LINE__, 0x3fd5516f, 0xd4a6218e, 0x3fe6b851, 0xeb851ec5}, /* 0.33309=f(0.71000)*/
+{10, 0,123,__LINE__, 0x3fd59433, 0x8b959fc1, 0x3fe70a3d, 0x70a3d717}, /* 0.33717=f(0.72000)*/
+{10, 0,123,__LINE__, 0x3fd5d68d, 0xe4bdf679, 0x3fe75c28, 0xf5c28f69}, /* 0.34122=f(0.73000)*/
+{10, 0,123,__LINE__, 0x3fd6187d, 0xc1a32633, 0x3fe7ae14, 0x7ae147bb}, /* 0.34524=f(0.74000)*/
+{10, 0,123,__LINE__, 0x3fd65a01, 0xe3170c9e, 0x3fe80000, 0x0000000d}, /* 0.34924=f(0.75000)*/
+{10, 0,123,__LINE__, 0x3fd69b18, 0xf664e9f7, 0x3fe851eb, 0x851eb85f}, /* 0.35321=f(0.76000)*/
+{10, 0,123,__LINE__, 0x3fd6dbc1, 0xd7d17caa, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.35716=f(0.77000)*/
+{10, 0,123,__LINE__, 0x3fd71bfb, 0x6857591c, 0x3fe8f5c2, 0x8f5c2903}, /* 0.36108=f(0.78000)*/
+{10, 0,123,__LINE__, 0x3fd75bc4, 0x7698f819, 0x3fe947ae, 0x147ae155}, /* 0.36497=f(0.79000)*/
+{10, 0,123,__LINE__, 0x3fd79b1b, 0xaeb357c7, 0x3fe99999, 0x999999a7}, /* 0.36884=f(0.80000)*/
+{10, 0,123,__LINE__, 0x3fd7d9ff, 0xe0889116, 0x3fe9eb85, 0x1eb851f9}, /* 0.37268=f(0.81000)*/
+{10, 0,123,__LINE__, 0x3fd81870, 0x103415fd, 0x3fea3d70, 0xa3d70a4b}, /* 0.37649=f(0.82000)*/
+{10, 0,123,__LINE__, 0x3fd8566a, 0xdd50c11e, 0x3fea8f5c, 0x28f5c29d}, /* 0.38027=f(0.83000)*/
+{10, 0,123,__LINE__, 0x3fd893ef, 0x361a3f6f, 0x3feae147, 0xae147aef}, /* 0.38402=f(0.84000)*/
+{10, 0,123,__LINE__, 0x3fd8d0fc, 0x3fc251ef, 0x3feb3333, 0x33333341}, /* 0.38775=f(0.85000)*/
+{10, 0,123,__LINE__, 0x3fd90d90, 0x4d502695, 0x3feb851e, 0xb851eb93}, /* 0.39145=f(0.86000)*/
+{10, 0,123,__LINE__, 0x3fd949aa, 0xbd8eb7ef, 0x3febd70a, 0x3d70a3e5}, /* 0.39512=f(0.87000)*/
+{10, 0,123,__LINE__, 0x3fd9854a, 0x1ea094f0, 0x3fec28f5, 0xc28f5c37}, /* 0.39876=f(0.88000)*/
+{10, 0,123,__LINE__, 0x3fd9c06d, 0x87665c7f, 0x3fec7ae1, 0x47ae1489}, /* 0.40236=f(0.89000)*/
+{10, 0,123,__LINE__, 0x3fd9fb13, 0xd6540a1e, 0x3feccccc, 0xccccccdb}, /* 0.40594=f(0.90000)*/
+{10, 0,123,__LINE__, 0x3fda353b, 0xf0bbb5c0, 0x3fed1eb8, 0x51eb852d}, /* 0.40949=f(0.91000)*/
+{10, 0,123,__LINE__, 0x3fda6ee4, 0xd6fe4429, 0x3fed70a3, 0xd70a3d7f}, /* 0.41301=f(0.92000)*/
+{10, 0,123,__LINE__, 0x3fdaa80d, 0x55cab504, 0x3fedc28f, 0x5c28f5d1}, /* 0.41650=f(0.93000)*/
+{10, 0,123,__LINE__, 0x3fdae0b4, 0x7450c189, 0x3fee147a, 0xe147ae23}, /* 0.41996=f(0.94000)*/
+{10, 0,123,__LINE__, 0x3fdb18d9, 0x5833a31b, 0x3fee6666, 0x66666675}, /* 0.42339=f(0.95000)*/
+{10, 0,123,__LINE__, 0x3fdb507a, 0x976f4d7f, 0x3feeb851, 0xeb851ec7}, /* 0.42678=f(0.96000)*/
+{10, 0,123,__LINE__, 0x3fdb8797, 0xb66dd246, 0x3fef0a3d, 0x70a3d719}, /* 0.43015=f(0.97000)*/
+{10, 0,123,__LINE__, 0x3fdbbe2f, 0x19114e8f, 0x3fef5c28, 0xf5c28f6b}, /* 0.43348=f(0.98000)*/
+{10, 0,123,__LINE__, 0x3fdbf440, 0x43c73861, 0x3fefae14, 0x7ae147bd}, /* 0.43678=f(0.99000)*/
+{10, 0,123,__LINE__, 0x3fdc29c9, 0xfa51149f, 0x3ff00000, 0x00000007}, /* 0.44005=f(1.00000)*/
+{10, 0,123,__LINE__, 0x3fdc5ecb, 0x4eca213c, 0x3ff028f5, 0xc28f5c30}, /* 0.44328=f(1.01000)*/
+{10, 0,123,__LINE__, 0x3fdc9343, 0x410cdccf, 0x3ff051eb, 0x851eb859}, /* 0.44648=f(1.02000)*/
+{10, 0,123,__LINE__, 0x3fdcc730, 0xf0437f56, 0x3ff07ae1, 0x47ae1482}, /* 0.44965=f(1.03000)*/
+{10, 0,123,__LINE__, 0x3fdcfa93, 0x5d5e5197, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.45279=f(1.04000)*/
+{10, 0,123,__LINE__, 0x3fdd2d69, 0xacfecf37, 0x3ff0cccc, 0xccccccd4}, /* 0.45589=f(1.05000)*/
+{10, 0,123,__LINE__, 0x3fdd5fb3, 0x026afa3b, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.45896=f(1.06000)*/
+{10, 0,123,__LINE__, 0x3fdd916e, 0x7f852d6b, 0x3ff11eb8, 0x51eb8526}, /* 0.46200=f(1.07000)*/
+{10, 0,123,__LINE__, 0x3fddc29a, 0xe6cbf864, 0x3ff147ae, 0x147ae14f}, /* 0.46500=f(1.08000)*/
+{10, 0,123,__LINE__, 0x3fddf337, 0x95bee2f9, 0x3ff170a3, 0xd70a3d78}, /* 0.46796=f(1.09000)*/
+{10, 0,123,__LINE__, 0x3fde2343, 0xc3d9fc2f, 0x3ff19999, 0x999999a1}, /* 0.47090=f(1.10000)*/
+{10, 0,123,__LINE__, 0x3fde52be, 0x837f85fd, 0x3ff1c28f, 0x5c28f5ca}, /* 0.47380=f(1.11000)*/
+{10, 0,123,__LINE__, 0x3fde81a7, 0x0cf8b2c6, 0x3ff1eb85, 0x1eb851f3}, /* 0.47666=f(1.12000)*/
+{10, 0,123,__LINE__, 0x3fdeaffc, 0x5345ea4e, 0x3ff2147a, 0xe147ae1c}, /* 0.47949=f(1.13000)*/
+{10, 0,123,__LINE__, 0x3fdeddbd, 0xdc601003, 0x3ff23d70, 0xa3d70a45}, /* 0.48228=f(1.14000)*/
+{10, 0,123,__LINE__, 0x3fdf0aea, 0x7b978b3c, 0x3ff26666, 0x6666666e}, /* 0.48504=f(1.15000)*/
+{10, 0,123,__LINE__, 0x3fdf3781, 0xbda5c893, 0x3ff28f5c, 0x28f5c297}, /* 0.48776=f(1.16000)*/
+{10, 0,123,__LINE__, 0x3fdf6382, 0x7f8cac95, 0x3ff2b851, 0xeb851ec0}, /* 0.49044=f(1.17000)*/
+{10, 0,123,__LINE__, 0x3fdf8eec, 0x6e9d62c5, 0x3ff2e147, 0xae147ae9}, /* 0.49309=f(1.18000)*/
+{10, 0,123,__LINE__, 0x3fdfb9be, 0x81d66567, 0x3ff30a3d, 0x70a3d712}, /* 0.49571=f(1.19000)*/
+{ 0, 0,123,__LINE__, 0x3fcb2f55, 0xf83a1d0c, 0xc01921fb, 0x54442d18}, /* 0.21238=f(-6.28318)*/
+{ 0, 0,123,__LINE__, 0x3fd206ae, 0xb931d7e7, 0xc012d97c, 0x7f3321d2}, /* 0.28165=f(-4.71238)*/
+{ 0, 0,123,__LINE__, 0xbfd23723, 0x18762bba, 0xc00921fb, 0x54442d18}, /* -0.28461=f(-3.14159)*/
+{11, 0,123,__LINE__, 0xbfe2236c, 0x3dfb70a7, 0xbff921fb, 0x54442d18}, /* -0.56682=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{11, 0,123,__LINE__, 0x3fe2236c, 0x3dfb70a7, 0x3ff921fb, 0x54442d18}, /* 0.56682=f(1.57079)*/
+{ 0, 0,123,__LINE__, 0x3fd23723, 0x18762bba, 0x400921fb, 0x54442d18}, /* 0.28461=f(3.14159)*/
+{ 0, 0,123,__LINE__, 0xbfd206ae, 0xb931d7e7, 0x4012d97c, 0x7f3321d2}, /* -0.28165=f(4.71238)*/
+{ 9, 0,123,__LINE__, 0x3fbe6679, 0xa0000000, 0xc03e0000, 0x00000000}, /* 0.11875=f(-30.0000)*/
+{ 9, 0,123,__LINE__, 0xbfba145c, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* -0.10187=f(-28.3000)*/
+{ 0, 0,123,__LINE__, 0xbfb965c0, 0x80000000, 0xc03a9999, 0x9999999a}, /* -0.09920=f(-26.6000)*/
+{ 0, 0,123,__LINE__, 0x3fc142f3, 0x40000000, 0xc038e666, 0x66666667}, /* 0.13485=f(-24.9000)*/
+{ 9, 0,123,__LINE__, 0x3fb20dcc, 0x80000000, 0xc0373333, 0x33333334}, /* 0.07052=f(-23.2000)*/
+{ 0, 0,123,__LINE__, 0xbfc4f91a, 0x80000000, 0xc0358000, 0x00000001}, /* -0.16385=f(-21.5000)*/
+{ 9, 0,123,__LINE__, 0xbfa0cd5d, 0xa0000000, 0xc033cccc, 0xccccccce}, /* -0.03281=f(-19.8000)*/
+{11, 0,123,__LINE__, 0x3fc7fb17, 0x20000000, 0xc0321999, 0x9999999b}, /* 0.18735=f(-18.1000)*/
+{ 0, 0,123,__LINE__, 0xbf8c74ec, 0x60000000, 0xc0306666, 0x66666668}, /* -0.01389=f(-16.4000)*/
+{11, 0,123,__LINE__, 0xbfca24e7, 0x80000000, 0xc02d6666, 0x6666666a}, /* -0.20425=f(-14.7000)*/
+{ 0, 0,123,__LINE__, 0x3fb2005e, 0xc0000000, 0xc02a0000, 0x00000004}, /* 0.07031=f(-13.0000)*/
+{10, 0,123,__LINE__, 0x3fcb6cb5, 0x20000000, 0xc0269999, 0x9999999e}, /* 0.21425=f(-11.3000)*/
+{10, 0,123,__LINE__, 0xbfc1dbf3, 0x20000000, 0xc0233333, 0x33333338}, /* -0.13952=f(-9.60000)*/
+{ 0, 0,123,__LINE__, 0xbfcc0e13, 0x76a0f75f, 0xc01f9999, 0x999999a3}, /* -0.21917=f(-7.90000)*/
+{ 0, 0,123,__LINE__, 0x3fcdd038, 0x4b76ea6e, 0xc018cccc, 0xccccccd6}, /* 0.23291=f(-6.20000)*/
+{10, 0,123,__LINE__, 0x3fcd9363, 0x1f6307c5, 0xc0120000, 0x00000009}, /* 0.23106=f(-4.50000)*/
+{ 0, 0,123,__LINE__, 0xbfda38ad, 0x60990597, 0xc0066666, 0x66666678}, /* -0.40970=f(-2.80000)*/
+{10, 0,123,__LINE__, 0xbfde2343, 0xc3d9fc2f, 0xbff19999, 0x999999bd}, /* -0.47090=f(-1.10000)*/
+{10, 0,123,__LINE__, 0x3fd2594f, 0x36b84437, 0x3fe33333, 0x333332ec}, /* 0.28670=f(0.60000)*/
+{ 0, 0,123,__LINE__, 0x3fe146a2, 0xad53f45b, 0x40026666, 0x66666654}, /* 0.53987=f(2.30000)*/
+{ 0, 0,123,__LINE__, 0xbfb0e834, 0xaf4808be, 0x400fffff, 0xffffffee}, /* -0.06604=f(4.00000)*/
+{10, 0,123,__LINE__, 0xbfd4bed5, 0xc276616a, 0x4016cccc, 0xccccccc4}, /* -0.32414=f(5.70000)*/
+{ 9, 0,123,__LINE__, 0x3fbc1056, 0x9ef21265, 0x401d9999, 0x99999991}, /* 0.10962=f(7.40000)*/
+{ 0, 0,123,__LINE__, 0x3fcdc04a, 0x80000000, 0x40223333, 0x3333332f}, /* 0.23243=f(9.10000)*/
+{ 0, 0,123,__LINE__, 0xbfc23283, 0x00000000, 0x40259999, 0x99999995}, /* -0.14216=f(10.8000)*/
+{ 0, 0,123,__LINE__, 0xbfc52e93, 0x80000000, 0x4028ffff, 0xfffffffb}, /* -0.16548=f(12.5000)*/
+{ 0, 0,123,__LINE__, 0x3fc4d06c, 0xa0000000, 0x402c6666, 0x66666661}, /* 0.16261=f(14.2000)*/
+{ 0, 0,123,__LINE__, 0x3fbba7ba, 0x40000000, 0x402fcccc, 0xccccccc7}, /* 0.10802=f(15.9000)*/
+{10, 0,123,__LINE__, 0xbfc60238, 0x20000000, 0x40319999, 0x99999997}, /* -0.17194=f(17.6000)*/
+{ 9, 0,123,__LINE__, 0xbfacdf4e, 0x40000000, 0x40334ccc, 0xccccccca}, /* -0.05639=f(19.3000)*/
+{10, 0,123,__LINE__, 0x3fc5e745, 0x40000000, 0x4034ffff, 0xfffffffd}, /* 0.17112=f(21.0000)*/
+{ 0, 0,123,__LINE__, 0x3f849634, 0xc0000000, 0x4036b333, 0x33333330}, /* 0.01005=f(22.7000)*/
+{ 0, 0,123,__LINE__, 0xbfc4a256, 0xe0000000, 0x40386666, 0x66666663}, /* -0.16120=f(24.4000)*/
+{ 9, 0,123,__LINE__, 0x3f9f303a, 0xa0000000, 0x403a1999, 0x99999996}, /* 0.03045=f(26.1000)*/
+{ 0, 0,123,__LINE__, 0x3fc25cf8, 0x80000000, 0x403bcccc, 0xccccccc9}, /* 0.14346=f(27.8000)*/
+{ 0, 0,123,__LINE__, 0xbfb07642, 0x60000000, 0x403d7fff, 0xfffffffc}, /* -0.06430=f(29.5000)*/
+0,};
+test_j1f(m) {run_vector_1(m,j1f_vec,(char *)(j1f),"j1f","ff"); }
diff --git a/newlib/libm/test/jn_vec.c b/newlib/libm/test/jn_vec.c
new file mode 100644
index 00000000000..a2929bf77c3
--- /dev/null
+++ b/newlib/libm/test/jn_vec.c
@@ -0,0 +1,204 @@
+#include "test.h"
+ one_line_type jn_vec[] = {
+{61,0,123,__LINE__, 0x3ff00000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
+{61,0,123,__LINE__, 0x00000000, 0x00000000, 0x3ff00000, 0x00000000, 0x00000000, 0x00000000},
+{61,0,123,__LINE__, 0x00000000, 0x00000000, 0x40000000, 0x00000000, 0x00000000, 0x00000000},
+{61,0,123,__LINE__, 0x00000000, 0x00000000, 0x40080000, 0x00000000, 0x00000000, 0x00000000},
+{61,0,123,__LINE__, 0x00000000, 0x00000000, 0x40100000, 0x00000000, 0x00000000, 0x00000000},
+{61,0,123,__LINE__, 0x3feffae1, 0x7c1aebb8, 0x00000000, 0x00000000, 0x3fa99999, 0x9999999a},
+{61,0,123,__LINE__, 0x3f99978d, 0x5dda2f5d, 0x3ff00000, 0x00000000, 0x3fa99999, 0x9999999a},
+{61,0,123,__LINE__, 0x3f3479c9, 0xae7be13e, 0x40000000, 0x00000000, 0x3fa99999, 0x9999999a},
+{61,0,123,__LINE__, 0x3ec5d788, 0x15461382, 0x40080000, 0x00000000, 0x3fa99999, 0x9999999a},
+{61,0,123,__LINE__, 0x3e51795d, 0x7442f11f, 0x40100000, 0x00000000, 0x3fa99999, 0x9999999a},
+{61,0,123,__LINE__, 0x3fefeb88, 0x65590ab3, 0x00000000, 0x00000000, 0x3fb99999, 0x9999999a},
+{61,0,123,__LINE__, 0x3fa99169, 0x52566dfd, 0x3ff00000, 0x00000000, 0x3fb99999, 0x9999999a},
+{61,0,123,__LINE__, 0x3f547683, 0x25fd91e1, 0x40000000, 0x00000000, 0x3fb99999, 0x9999999a},
+{61,0,123,__LINE__, 0x3ef5d4e9, 0x3442db3c, 0x40080000, 0x00000000, 0x3fb99999, 0x9999999a},
+{61,0,123,__LINE__, 0x3e9177b0, 0x11ba6ea0, 0x40100000, 0x00000000, 0x3fb99999, 0x9999999a},
+{61,0,123,__LINE__, 0x3fefd1fc, 0x19331411, 0x00000000, 0x00000000, 0x3fc33333, 0x33333334},
+{61,0,123,__LINE__, 0x3fb32563, 0x927c0add, 0x3ff00000, 0x00000000, 0x3fc33333, 0x33333334},
+{61,0,123,__LINE__, 0x3f66ff30, 0x46535fa1, 0x40000000, 0x00000000, 0x3fc33333, 0x33333334},
+{61,0,123,__LINE__, 0x3f1267f5, 0xd0689e2d, 0x40080000, 0x00000000, 0x3fc33333, 0x33333334},
+{61,0,123,__LINE__, 0x3eb617f1, 0x7b30b575, 0x40100000, 0x00000000, 0x3fc33333, 0x33333334},
+{61,0,123,__LINE__, 0x3fefae48, 0xd9bfc0d4, 0x00000000, 0x00000000, 0x3fc99999, 0x9999999a},
+{61,0,123,__LINE__, 0x3fb978e2, 0xf61c3bd6, 0x3ff00000, 0x00000000, 0x3fc99999, 0x9999999a},
+{61,0,123,__LINE__, 0x3f74696c, 0xf1c4fb46, 0x40000000, 0x00000000, 0x3fc99999, 0x9999999a},
+{61,0,123,__LINE__, 0x3f25ca70, 0x33fc81fd, 0x40080000, 0x00000000, 0x3fc99999, 0x9999999a},
+{61,0,123,__LINE__, 0x3ed170fb, 0xdefa5db8, 0x40100000, 0x00000000, 0x3fc99999, 0x9999999a},
+{61,0,123,__LINE__, 0x3fef807f, 0xc72aa864, 0x00000000, 0x00000000, 0x3fd00000, 0x00000000},
+{61,0,123,__LINE__, 0x3fbfc02a, 0x9c749ee9, 0x3ff00000, 0x00000000, 0x3fd00000, 0x00000000},
+{61,0,123,__LINE__, 0x3f7fd56a, 0xa4fb4242, 0x40000000, 0x00000000, 0x3fd00000, 0x00000000},
+{61,0,123,__LINE__, 0x3f354008, 0x86a35a2f, 0x40080000, 0x00000000, 0x3fd00000, 0x00000000},
+{61,0,123,__LINE__, 0x3ee54449, 0xf38a05f2, 0x40100000, 0x00000000, 0x3fd00000, 0x00000000},
+{61,0,123,__LINE__, 0x3fef48b6, 0xd692fb9e, 0x00000000, 0x00000000, 0x3fd33333, 0x33333333},
+{61,0,123,__LINE__, 0x3fc2fc1c, 0x68a32001, 0x3ff00000, 0x00000000, 0x3fd33333, 0x33333333},
+{61,0,123,__LINE__, 0x3f86de20, 0x9f39196e, 0x40000000, 0x00000000, 0x3fd33333, 0x33333333},
+{61,0,123,__LINE__, 0x3f42541c, 0x0c752fd9, 0x40080000, 0x00000000, 0x3fd33333, 0x33333333},
+{61,0,123,__LINE__, 0x3ef604e0, 0xb2c4c00a, 0x40100000, 0x00000000, 0x3fd33333, 0x33333333},
+{61,0,123,__LINE__, 0x3fef0708, 0xc6573ae5, 0x00000000, 0x00000000, 0x3fd66666, 0x66666666},
+{61,0,123,__LINE__, 0x3fc60f09, 0xfed3cc81, 0x3ff00000, 0x00000000, 0x3fd66666, 0x66666666},
+{61,0,123,__LINE__, 0x3f8f0a84, 0xda6806f7, 0x40000000, 0x00000000, 0x3fd66666, 0x66666666},
+{61,0,123,__LINE__, 0x3f4d0bc1, 0xbfa630ab, 0x40080000, 0x00000000, 0x3fd66666, 0x66666666},
+{61,0,123,__LINE__, 0x3f045d05, 0x37bf774c, 0x40100000, 0x00000000, 0x3fd66666, 0x66666666},
+{61,0,123,__LINE__, 0x3feebb95, 0x0fd4747f, 0x00000000, 0x00000000, 0x3fd99999, 0x99999999},
+{61,0,123,__LINE__, 0x3fc91766, 0x1ebb8177, 0x3ff00000, 0x00000000, 0x3fd99999, 0x99999999},
+{61,0,123,__LINE__, 0x3f943552, 0xd2bdaaf3, 0x40000000, 0x00000000, 0x3fd99999, 0x99999999},
+{61,0,123,__LINE__, 0x3f55a0b4, 0x58ca1be8, 0x40080000, 0x00000000, 0x3fd99999, 0x99999999},
+{61,0,123,__LINE__, 0x3f115640, 0x7fcf3789, 0x40100000, 0x00000000, 0x3fd99999, 0x99999999},
+{61,0,123,__LINE__, 0x3fee667f, 0xd6a10561, 0x00000000, 0x00000000, 0x3fdccccc, 0xcccccccc},
+{61,0,123,__LINE__, 0x3fcc13be, 0x77afcc52, 0x3ff00000, 0x00000000, 0x3fdccccc, 0xcccccccc},
+{61,0,123,__LINE__, 0x3f997c40, 0x76110a23, 0x40000000, 0x00000000, 0x3fdccccc, 0xcccccccc},
+{61,0,123,__LINE__, 0x3f5eb65b, 0x151f786c, 0x40080000, 0x00000000, 0x3fdccccc, 0xcccccccc},
+{61,0,123,__LINE__, 0x3f1bb61b, 0x892f8cff, 0x40100000, 0x00000000, 0x3fdccccc, 0xcccccccc},
+{61,0,123,__LINE__, 0x3fee07f1, 0xd54c3f35, 0x00000000, 0x00000000, 0x3fdfffff, 0xffffffff},
+{61,0,123,__LINE__, 0x3fcf02a7, 0x1f4870d6, 0x3ff00000, 0x00000000, 0x3fdfffff, 0xffffffff},
+{61,0,123,__LINE__, 0x3f9f56a9, 0x3f863441, 0x40000000, 0x00000000, 0x3fdfffff, 0xffffffff},
+{61,0,123,__LINE__, 0x3f650088, 0x0f70db57, 0x40080000, 0x00000000, 0x3fdfffff, 0xffffffff},
+{61,0,123,__LINE__, 0x3f25116b, 0xd18a61a9, 0x40100000, 0x00000000, 0x3fdfffff, 0xffffffff},
+{61,0,123,__LINE__, 0x3feda018, 0x47adb931, 0x00000000, 0x00000000, 0x3fe19999, 0x99999999},
+{61,0,123,__LINE__, 0x3fd0f15d, 0xa9534f53, 0x3ff00000, 0x00000000, 0x3fe19999, 0x99999999},
+{61,0,123,__LINE__, 0x3fa2e066, 0x08ca87ed, 0x40000000, 0x00000000, 0x3fe19999, 0x99999999},
+{61,0,123,__LINE__, 0x3f6bdca3, 0xb2679435, 0x40080000, 0x00000000, 0x3fe19999, 0x99999999},
+{61,0,123,__LINE__, 0x3f2ec3c2, 0x4d8baa6f, 0x40100000, 0x00000000, 0x3fe19999, 0x99999999},
+{61,0,123,__LINE__, 0x3fed2f24, 0xd2d06e4e, 0x00000000, 0x00000000, 0x3fe33333, 0x33333333},
+{61,0,123,__LINE__, 0x3fd2594f, 0x19ddc92f, 0x3ff00000, 0x00000000, 0x3fe33333, 0x33333333},
+{61,0,123,__LINE__, 0x3fa65b45, 0x84be102a, 0x40000000, 0x00000000, 0x3fe33333, 0x33333333},
+{61,0,123,__LINE__, 0x3f72055f, 0xdad11213, 0x40080000, 0x00000000, 0x3fe33333, 0x33333333},
+{61,0,123,__LINE__, 0x3f35b926, 0x63a336fb, 0x40100000, 0x00000000, 0x3fe33333, 0x33333333},
+{61,0,123,__LINE__, 0x3fecb54d, 0x6a872136, 0x00000000, 0x00000000, 0x3fe4cccc, 0xcccccccd},
+{61,0,123,__LINE__, 0x3fd3b87d, 0xc1127dbb, 0x3ff00000, 0x00000000, 0x3fe4cccc, 0xcccccccd},
+{61,0,123,__LINE__, 0x3faa19b6, 0xfbcb3e9a, 0x40000000, 0x00000000, 0x3fe4cccc, 0xcccccccd},
+{61,0,123,__LINE__, 0x3f76d285, 0x13b1873b, 0x40080000, 0x00000000, 0x3fe4cccc, 0xcccccccd},
+{61,0,123,__LINE__, 0x3f3dd3be, 0xb2075517, 0x40100000, 0x00000000, 0x3fe4cccc, 0xcccccccd},
+{61,0,123,__LINE__, 0x3fec32cc, 0x34b8cc59, 0x00000000, 0x00000000, 0x3fe66666, 0x66666667},
+{61,0,123,__LINE__, 0x3fd50e44, 0x279c0546, 0x3ff00000, 0x00000000, 0x3fe66666, 0x66666667},
+{61,0,123,__LINE__, 0x3fae1952, 0x86f3b2fe, 0x40000000, 0x00000000, 0x3fe66666, 0x66666667},
+{61,0,123,__LINE__, 0x3f7c6245, 0x0da7c943, 0x40080000, 0x00000000, 0x3fe66666, 0x66666667},
+{61,0,123,__LINE__, 0x3f43fddd, 0x592928af, 0x40100000, 0x00000000, 0x3fe66666, 0x66666667},
+{61,0,123,__LINE__, 0x3feba7df, 0x6a752a19, 0x00000000, 0x00000000, 0x3fe80000, 0x00000001},
+{61,0,123,__LINE__, 0x3fd65a01, 0xd66b68bd, 0x3ff00000, 0x00000000, 0x3fe80000, 0x00000001},
+{61,0,123,__LINE__, 0x3fb12bc2, 0xf0d061c1, 0x40000000, 0x00000000, 0x3fe80000, 0x00000001},
+{61,0,123,__LINE__, 0x3f816042, 0xaaa332db, 0x40080000, 0x00000000, 0x3fe80000, 0x00000001},
+{61,0,123,__LINE__, 0x3f4a3fdc, 0xe9688cf6, 0x40100000, 0x00000000, 0x3fe80000, 0x00000001},
+{61,0,123,__LINE__, 0x3feb14c9, 0x36e29d84, 0x00000000, 0x00000000, 0x3fe99999, 0x9999999b},
+{61,0,123,__LINE__, 0x3fd79b1b, 0xab574ece, 0x3ff00000, 0x00000000, 0x3fe99999, 0x9999999b},
+{61,0,123,__LINE__, 0x3fb368ca, 0xfa5427de, 0x40000000, 0x00000000, 0x3fe99999, 0x9999999b},
+{61,0,123,__LINE__, 0x3f84fc41, 0xb23c60e3, 0x40080000, 0x00000000, 0x3fe99999, 0x9999999b},
+{61,0,123,__LINE__, 0x3f50eca7, 0x311cbd4c, 0x40100000, 0x00000000, 0x3fe99999, 0x9999999b},
+{61,0,123,__LINE__, 0x3fea79cf, 0x9417f64a, 0x00000000, 0x00000000, 0x3feb3333, 0x33333335},
+{61,0,123,__LINE__, 0x3fd8d0fc, 0x2ac09609, 0x3ff00000, 0x00000000, 0x3feb3333, 0x33333335},
+{61,0,123,__LINE__, 0x3fb5c250, 0x3ceb775b, 0x40000000, 0x00000000, 0x3feb3333, 0x33333335},
+{61,0,123,__LINE__, 0x3f890a65, 0x7f429003, 0x40080000, 0x00000000, 0x3feb3333, 0x33333335},
+{61,0,123,__LINE__, 0x3f557acc, 0xd794bfe8, 0x40100000, 0x00000000, 0x3feb3333, 0x33333335},
+{61,0,123,__LINE__, 0x3fe9d73c, 0x25f5b277, 0x00000000, 0x00000000, 0x3feccccc, 0xcccccccf},
+{61,0,123,__LINE__, 0x3fd9fb13, 0xce0f024e, 0x3ff00000, 0x00000000, 0x3feccccc, 0xcccccccf},
+{61,0,123,__LINE__, 0x3fb836ce, 0xdb8280b1, 0x40000000, 0x00000000, 0x3feccccc, 0xcccccccf},
+{61,0,123,__LINE__, 0x3f8d8f96, 0x8206eb0e, 0x40080000, 0x00000000, 0x3feccccc, 0xcccccccf},
+{61,0,123,__LINE__, 0x3f5ae0f9, 0x8b7b7574, 0x40100000, 0x00000000, 0x3feccccc, 0xcccccccf},
+{61,0,123,__LINE__, 0x3fe92d5c, 0x13137d0b, 0x00000000, 0x00000000, 0x3fee6666, 0x66666669},
+{61,0,123,__LINE__, 0x3fdb18d9, 0x4eda7476, 0x3ff00000, 0x00000000, 0x3fee6666, 0x66666669},
+{61,0,123,__LINE__, 0x3fbac4b1, 0x27d714b1, 0x40000000, 0x00000000, 0x3fee6666, 0x66666669},
+{61,0,123,__LINE__, 0x3f91482d, 0xb156b6bd, 0x40080000, 0x00000000, 0x3fee6666, 0x66666669},
+{61,0,123,__LINE__, 0x3f609b4b, 0x7ea68879, 0x40100000, 0x00000000, 0x3fee6666, 0x66666669},
+{61,0,123,__LINE__, 0x3fe87c7f, 0xdbd7b8ee, 0x00000000, 0x00000000, 0x3ff00000, 0x00000001},
+{61,0,123,__LINE__, 0x3fdc29c9, 0xee970c6e, 0x3ff00000, 0x00000000, 0x3ff00000, 0x00000001},
+{61,0,123,__LINE__, 0x3fbd6a50, 0x95fa9be9, 0x40000000, 0x00000000, 0x3ff00000, 0x00000001},
+{61,0,123,__LINE__, 0x3f94086a, 0x7638f7a6, 0x40080000, 0x00000000, 0x3ff00000, 0x00000001},
+{61,0,123,__LINE__, 0x3f6449e3, 0x6b5af1b3, 0x40100000, 0x00000000, 0x3ff00000, 0x00000001},
+{61,0,123,__LINE__, 0x3fe7c4fb, 0x2fcfebef, 0x00000000, 0x00000000, 0x3ff0cccc, 0xccccccce},
+{61,0,123,__LINE__, 0x3fdd2d69, 0xba9c976c, 0x3ff00000, 0x00000000, 0x3ff0cccc, 0xccccccce},
+{61,0,123,__LINE__, 0x3fc012fb, 0x5cfc78b3, 0x40000000, 0x00000000, 0x3ff0cccc, 0xccccccce},
+{61,0,123,__LINE__, 0x3f970a5d, 0x1eef9226, 0x40080000, 0x00000000, 0x3ff0cccc, 0xccccccce},
+{61,0,123,__LINE__, 0x3f6888a5, 0x228510b7, 0x40100000, 0x00000000, 0x3ff0cccc, 0xccccccce},
+{61,0,123,__LINE__, 0x3fe70724, 0xc161d44c, 0x00000000, 0x00000000, 0x3ff19999, 0x9999999b},
+{61,0,123,__LINE__, 0x3fde2343, 0xcc63c37e, 0x3ff00000, 0x00000000, 0x3ff19999, 0x9999999b},
+{61,0,123,__LINE__, 0x3fc17aef, 0x27865e62, 0x40000000, 0x00000000, 0x3ff19999, 0x9999999b},
+{61,0,123,__LINE__, 0x3f9a4faa, 0xa04e8191, 0x40080000, 0x00000000, 0x3ff19999, 0x9999999b},
+{61,0,123,__LINE__, 0x3f6d6434, 0x5a55c316, 0x40100000, 0x00000000, 0x3ff19999, 0x9999999b},
+{61,0,123,__LINE__, 0x3fe64356, 0x17eddc81, 0x00000000, 0x00000000, 0x3ff26666, 0x66666668},
+{61,0,123,__LINE__, 0x3fdf0aea, 0x85d5bf18, 0x3ff00000, 0x00000000, 0x3ff26666, 0x66666668},
+{61,0,123,__LINE__, 0x3fc2ec1a, 0x23e21b78, 0x40000000, 0x00000000, 0x3ff26666, 0x66666668},
+{61,0,123,__LINE__, 0x3f9dd9bf, 0xb5a70ade, 0x40080000, 0x00000000, 0x3ff26666, 0x66666668},
+{61,0,123,__LINE__, 0x3f7174b5, 0x74230428, 0x40100000, 0x00000000, 0x3ff26666, 0x66666668},
+{61,0,123,__LINE__, 0x3fe579eb, 0x607c7c41, 0x00000000, 0x00000000, 0x3ff33333, 0x33333335},
+{61,0,123,__LINE__, 0x3fdfe3f7, 0xc98d2caf, 0x3ff00000, 0x00000000, 0x3ff33333, 0x33333335},
+{61,0,123,__LINE__, 0x3fc4658c, 0x7339f932, 0x40000000, 0x00000000, 0x3ff33333, 0x33333335},
+{61,0,123,__LINE__, 0x3fa0d4e7, 0xb3f0ea6f, 0x40080000, 0x00000000, 0x3ff33333, 0x33333335},
+{61,0,123,__LINE__, 0x3f7492a5, 0xb6657ad7, 0x40100000, 0x00000000, 0x3ff33333, 0x33333335},
+{61,0,123,__LINE__, 0x3fe4ab43, 0x3d10e1be, 0x00000000, 0x00000000, 0x3ff40000, 0x00000002},
+{61,0,123,__LINE__, 0x3fe05706, 0x9774d334, 0x3ff00000, 0x00000000, 0x3ff40000, 0x00000002},
+{61,0,123,__LINE__, 0x3fc5e650, 0x6ea82715, 0x40000000, 0x00000000, 0x3ff40000, 0x00000002},
+{61,0,123,__LINE__, 0x3fa2e068, 0xdde7f41d, 0x40080000, 0x00000000, 0x3ff40000, 0x00000002},
+{61,0,123,__LINE__, 0x3f781279, 0xda92ee2f, 0x40100000, 0x00000000, 0x3ff40000, 0x00000002},
+{61,0,123,__LINE__, 0x3fe3d7be, 0x92bbfbb9, 0x00000000, 0x00000000, 0x3ff4cccc, 0xcccccccf},
+{61,0,123,__LINE__, 0x3fe0b46a, 0x18ecb9d4, 0x3ff00000, 0x00000000, 0x3ff4cccc, 0xcccccccf},
+{61,0,123,__LINE__, 0x3fc76d6b, 0x3ac0d75b, 0x40000000, 0x00000000, 0x3ff4cccc, 0xcccccccf},
+{61,0,123,__LINE__, 0x3fa50fc1, 0x44526e78, 0x40080000, 0x00000000, 0x3ff4cccc, 0xcccccccf},
+{61,0,123,__LINE__, 0x3f7bfac7, 0x6edc65a7, 0x40100000, 0x00000000, 0x3ff4cccc, 0xcccccccf},
+{61,0,123,__LINE__, 0x3fe2ffc0, 0x568baaa2, 0x00000000, 0x00000000, 0x3ff59999, 0x9999999c},
+{61,0,123,__LINE__, 0x3fe109ff, 0x2f1fc3ec, 0x3ff00000, 0x00000000, 0x3ff59999, 0x9999999c},
+{61,0,123,__LINE__, 0x3fc8f9dd, 0x5e41b884, 0x40000000, 0x00000000, 0x3ff59999, 0x9999999c},
+{61,0,123,__LINE__, 0x3fa76330, 0x3bb95571, 0x40080000, 0x00000000, 0x3ff59999, 0x9999999c},
+{61,0,123,__LINE__, 0x3f802911, 0xcfdfbbf5, 0x40100000, 0x00000000, 0x3ff59999, 0x9999999c},
+{61,0,123,__LINE__, 0x3fe223ad, 0x59727c9e, 0x00000000, 0x00000000, 0x3ff66666, 0x66666669},
+{61,0,123,__LINE__, 0x3fe157a2, 0xbb6f3312, 0x3ff00000, 0x00000000, 0x3ff66666, 0x66666669},
+{61,0,123,__LINE__, 0x3fca8aa3, 0x5b8ce82e, 0x40000000, 0x00000000, 0x3ff66666, 0x66666669},
+{61,0,123,__LINE__, 0x3fa9dad6, 0x163299ee, 0x40080000, 0x00000000, 0x3ff66666, 0x66666669},
+{61,0,123,__LINE__, 0x3f828f8e, 0x0cde14e4, 0x40100000, 0x00000000, 0x3ff66666, 0x66666669},
+{61,0,123,__LINE__, 0x3fe143ec, 0x1344e613, 0x00000000, 0x00000000, 0x3ff73333, 0x33333336},
+{61,0,123,__LINE__, 0x3fe19d35, 0xcbd98b75, 0x3ff00000, 0x00000000, 0x3ff73333, 0x33333336},
+{61,0,123,__LINE__, 0x3fcc1eb6, 0x4c93d2fc, 0x40000000, 0x00000000, 0x3ff73333, 0x33333336},
+{61,0,123,__LINE__, 0x3fac76b3, 0xcd3060b1, 0x40080000, 0x00000000, 0x3ff73333, 0x33333336},
+{61,0,123,__LINE__, 0x3f853417, 0xedc03cbe, 0x40100000, 0x00000000, 0x3ff73333, 0x33333336},
+{61,0,123,__LINE__, 0x3fe060e4, 0x6ce96517, 0x00000000, 0x00000000, 0x3ff80000, 0x00000003},
+{61,0,123,__LINE__, 0x3fe1da9d, 0xa9d6fc82, 0x3ff00000, 0x00000000, 0x3ff80000, 0x00000003},
+{61,0,123,__LINE__, 0x3fcdb50c, 0x80d5039f, 0x40000000, 0x00000000, 0x3ff80000, 0x00000003},
+{61,0,123,__LINE__, 0x3faf36aa, 0xc0c5b3bb, 0x40080000, 0x00000000, 0x3ff80000, 0x00000003},
+{61,0,123,__LINE__, 0x3f8819e3, 0xff0b0187, 0x40100000, 0x00000000, 0x3ff80000, 0x00000003},
+{61,0,123,__LINE__, 0x3fdef5ff, 0x13b2d492, 0x00000000, 0x00000000, 0x3ff8cccc, 0xccccccd0},
+{61,0,123,__LINE__, 0x3fe20fc3, 0xe6dcf000, 0x3ff00000, 0x00000000, 0x3ff8cccc, 0xccccccd0},
+{61,0,123,__LINE__, 0x3fcf4c9a, 0x1d0ea964, 0x40000000, 0x00000000, 0x3ff8cccc, 0xccccccd0},
+{61,0,123,__LINE__, 0x3fb10d3e, 0x464b660f, 0x40080000, 0x00000000, 0x3ff8cccc, 0xccccccd0},
+{61,0,123,__LINE__, 0x3f8b4418, 0x3c555ec0, 0x40100000, 0x00000000, 0x3ff8cccc, 0xccccccd0},
+{61,0,123,__LINE__, 0x3fdd254f, 0x22227934, 0x00000000, 0x00000000, 0x3ff99999, 0x9999999d},
+{61,0,123,__LINE__, 0x3fe23c96, 0x66824fe1, 0x3ff00000, 0x00000000, 0x3ff99999, 0x9999999d},
+{61,0,123,__LINE__, 0x3fd07228, 0xde234e77, 0x40000000, 0x00000000, 0x3ff99999, 0x9999999d},
+{61,0,123,__LINE__, 0x3fb290e5, 0x794e918a, 0x40080000, 0x00000000, 0x3ff99999, 0x9999999d},
+{61,0,123,__LINE__, 0x3f8eb5c8, 0x72cb3f07, 0x40100000, 0x00000000, 0x3ff99999, 0x9999999d},
+{61,0,123,__LINE__, 0x3fdb508e, 0xeb1aae8c, 0x00000000, 0x00000000, 0x3ffa6666, 0x6666666a},
+{61,0,123,__LINE__, 0x3fe26107, 0x663f6e91, 0x3ff00000, 0x00000000, 0x3ffa6666, 0x6666666a},
+{61,0,123,__LINE__, 0x3fd13d92, 0x88e3f0dd, 0x40000000, 0x00000000, 0x3ffa6666, 0x6666666a},
+{61,0,123,__LINE__, 0x3fb4260b, 0xedecb2c7, 0x40080000, 0x00000000, 0x3ffa6666, 0x6666666a},
+{61,0,123,__LINE__, 0x3f9138f9, 0x5390ebd3, 0x40100000, 0x00000000, 0x3ffa6666, 0x6666666a},
+{61,0,123,__LINE__, 0x3fd97895, 0x7ce7f2cf, 0x00000000, 0x00000000, 0x3ffb3333, 0x33333337},
+{61,0,123,__LINE__, 0x3fe27d0d, 0x82c5db53, 0x3ff00000, 0x00000000, 0x3ffb3333, 0x33333337},
+{61,0,123,__LINE__, 0x3fd20802, 0xc5da89b2, 0x40000000, 0x00000000, 0x3ffb3333, 0x33333337},
+{61,0,123,__LINE__, 0x3fb5cc62, 0xb77f9eb0, 0x40080000, 0x00000000, 0x3ffb3333, 0x33333337},
+{61,0,123,__LINE__, 0x3f933dbd, 0xc0e89d76, 0x40100000, 0x00000000, 0x3ffb3333, 0x33333337},
+{61,0,123,__LINE__, 0x3fd79e3a, 0x9e138ae6, 0x00000000, 0x00000000, 0x3ffc0000, 0x00000004},
+{61,0,123,__LINE__, 0x3fe290a3, 0xbaedcc46, 0x3ff00000, 0x00000000, 0x3ffc0000, 0x00000004},
+{61,0,123,__LINE__, 0x3fd2d0f2, 0x7ae76c8a, 0x40000000, 0x00000000, 0x3ffc0000, 0x00000004},
+{61,0,123,__LINE__, 0x3fb7838b, 0x1e8c5990, 0x40080000, 0x00000000, 0x3ffc0000, 0x00000004},
+{61,0,123,__LINE__, 0x3f956a95, 0x623295f7, 0x40100000, 0x00000000, 0x3ffc0000, 0x00000004},
+{61,0,123,__LINE__, 0x3fd5c256, 0x5d20c7de, 0x00000000, 0x00000000, 0x3ffccccc, 0xccccccd1},
+{61,0,123,__LINE__, 0x3fe29bc9, 0x703828ac, 0x3ff00000, 0x00000000, 0x3ffccccc, 0xccccccd1},
+{61,0,123,__LINE__, 0x3fd397db, 0x0e06aef0, 0x40000000, 0x00000000, 0x3ffccccc, 0xccccccd1},
+{61,0,123,__LINE__, 0x3fb94b16, 0xc2085bbd, 0x40080000, 0x00000000, 0x3ffccccc, 0xccccccd1},
+{61,0,123,__LINE__, 0x3f97c0d3, 0xe559d7ff, 0x40100000, 0x00000000, 0x3ffccccc, 0xccccccd1},
+{61,0,123,__LINE__, 0x3fd3e5c0, 0xa05c4025, 0x00000000, 0x00000000, 0x3ffd9999, 0x9999999e},
+{61,0,123,__LINE__, 0x3fe29e82, 0x64e59f5a, 0x3ff00000, 0x00000000, 0x3ffd9999, 0x9999999e},
+{61,0,123,__LINE__, 0x3fd45c36, 0xb655f5cb, 0x40000000, 0x00000000, 0x3ffd9999, 0x9999999e},
+{61,0,123,__LINE__, 0x3fbb2287, 0xc3831b75, 0x40080000, 0x00000000, 0x3ffd9999, 0x9999999e},
+{61,0,123,__LINE__, 0x3f9a41bb, 0x0d6129f8, 0x40100000, 0x00000000, 0x3ffd9999, 0x9999999e},
+{61,0,123,__LINE__, 0x3fd20950, 0xb5facde5, 0x00000000, 0x00000000, 0x3ffe6666, 0x6666666b},
+{61,0,123,__LINE__, 0x3fe298d6, 0xb7a495db, 0x3ff00000, 0x00000000, 0x3ffe6666, 0x6666666b},
+{61,0,123,__LINE__, 0x3fd51d80, 0xcca30f3c, 0x40000000, 0x00000000, 0x3ffe6666, 0x6666666b},
+{61,0,123,__LINE__, 0x3fbd0950, 0xfe1d8095, 0x40080000, 0x00000000, 0x3ffe6666, 0x6666666b},
+{61,0,123,__LINE__, 0x3f9cee79, 0x030dd010, 0x40100000, 0x00000000, 0x3ffe6666, 0x6666666b},
+{61,0,123,__LINE__, 0x3fd02ddc, 0xe4c5e3e8, 0x00000000, 0x00000000, 0x3fff3333, 0x33333338},
+{61,0,123,__LINE__, 0x3fe28ad2, 0xdcd91caf, 0x3ff00000, 0x00000000, 0x3fff3333, 0x33333338},
+{61,0,123,__LINE__, 0x3fd5db36, 0x1b535d7a, 0x40000000, 0x00000000, 0x3fff3333, 0x33333338},
+{61,0,123,__LINE__, 0x3fbefed6, 0x4831e4df, 0x40080000, 0x00000000, 0x3fff3333, 0x33333338},
+{61,0,123,__LINE__, 0x3f9fc826, 0xafa66438, 0x40100000, 0x00000000, 0x3fff3333, 0x33333338},
+0,};
+test_jn(m) {run_vector_1(m,jn_vec,(char *)(jn),"jn","did"); }
diff --git a/newlib/libm/test/jnf_vec.c b/newlib/libm/test/jnf_vec.c
new file mode 100644
index 00000000000..1c9a4dba725
--- /dev/null
+++ b/newlib/libm/test/jnf_vec.c
@@ -0,0 +1,204 @@
+#include "test.h"
+ one_line_type jnf_vec[] = {
+{32,0,123,__LINE__, 0x3ff00000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
+{32,0,123,__LINE__, 0x00000000, 0x00000000, 0x3ff00000, 0x00000000, 0x00000000, 0x00000000},
+{32,0,123,__LINE__, 0x00000000, 0x00000000, 0x40000000, 0x00000000, 0x00000000, 0x00000000},
+{32,0,123,__LINE__, 0x00000000, 0x00000000, 0x40080000, 0x00000000, 0x00000000, 0x00000000},
+{32,0,123,__LINE__, 0x00000000, 0x00000000, 0x40100000, 0x00000000, 0x00000000, 0x00000000},
+{32,0,123,__LINE__, 0x3feffae1, 0x7c1aebb8, 0x00000000, 0x00000000, 0x3fa99999, 0x9999999a},
+{32,0,123,__LINE__, 0x3f99978d, 0x5dda2f5d, 0x3ff00000, 0x00000000, 0x3fa99999, 0x9999999a},
+{32,0,123,__LINE__, 0x3f3479c9, 0xae7be13e, 0x40000000, 0x00000000, 0x3fa99999, 0x9999999a},
+{32,0,123,__LINE__, 0x3ec5d788, 0x15461382, 0x40080000, 0x00000000, 0x3fa99999, 0x9999999a},
+{32,0,123,__LINE__, 0x3e51795d, 0x7442f11f, 0x40100000, 0x00000000, 0x3fa99999, 0x9999999a},
+{32,0,123,__LINE__, 0x3fefeb88, 0x65590ab3, 0x00000000, 0x00000000, 0x3fb99999, 0x9999999a},
+{32,0,123,__LINE__, 0x3fa99169, 0x52566dfd, 0x3ff00000, 0x00000000, 0x3fb99999, 0x9999999a},
+{32,0,123,__LINE__, 0x3f547683, 0x25fd91e1, 0x40000000, 0x00000000, 0x3fb99999, 0x9999999a},
+{32,0,123,__LINE__, 0x3ef5d4e9, 0x3442db3c, 0x40080000, 0x00000000, 0x3fb99999, 0x9999999a},
+{32,0,123,__LINE__, 0x3e9177b0, 0x11ba6ea0, 0x40100000, 0x00000000, 0x3fb99999, 0x9999999a},
+{32,0,123,__LINE__, 0x3fefd1fc, 0x19331411, 0x00000000, 0x00000000, 0x3fc33333, 0x33333334},
+{32,0,123,__LINE__, 0x3fb32563, 0x927c0add, 0x3ff00000, 0x00000000, 0x3fc33333, 0x33333334},
+{32,0,123,__LINE__, 0x3f66ff30, 0x46535fa1, 0x40000000, 0x00000000, 0x3fc33333, 0x33333334},
+{32,0,123,__LINE__, 0x3f1267f5, 0xd0689e2d, 0x40080000, 0x00000000, 0x3fc33333, 0x33333334},
+{32,0,123,__LINE__, 0x3eb617f1, 0x7b30b575, 0x40100000, 0x00000000, 0x3fc33333, 0x33333334},
+{32,0,123,__LINE__, 0x3fefae48, 0xd9bfc0d4, 0x00000000, 0x00000000, 0x3fc99999, 0x9999999a},
+{32,0,123,__LINE__, 0x3fb978e2, 0xf61c3bd6, 0x3ff00000, 0x00000000, 0x3fc99999, 0x9999999a},
+{32,0,123,__LINE__, 0x3f74696c, 0xf1c4fb46, 0x40000000, 0x00000000, 0x3fc99999, 0x9999999a},
+{32,0,123,__LINE__, 0x3f25ca70, 0x33fc81fd, 0x40080000, 0x00000000, 0x3fc99999, 0x9999999a},
+{32,0,123,__LINE__, 0x3ed170fb, 0xdefa5db8, 0x40100000, 0x00000000, 0x3fc99999, 0x9999999a},
+{32,0,123,__LINE__, 0x3fef807f, 0xc72aa864, 0x00000000, 0x00000000, 0x3fd00000, 0x00000000},
+{32,0,123,__LINE__, 0x3fbfc02a, 0x9c749ee9, 0x3ff00000, 0x00000000, 0x3fd00000, 0x00000000},
+{32,0,123,__LINE__, 0x3f7fd56a, 0xa4fb4242, 0x40000000, 0x00000000, 0x3fd00000, 0x00000000},
+{32,0,123,__LINE__, 0x3f354008, 0x86a35a2f, 0x40080000, 0x00000000, 0x3fd00000, 0x00000000},
+{32,0,123,__LINE__, 0x3ee54449, 0xf38a05f2, 0x40100000, 0x00000000, 0x3fd00000, 0x00000000},
+{32,0,123,__LINE__, 0x3fef48b6, 0xd692fb9e, 0x00000000, 0x00000000, 0x3fd33333, 0x33333333},
+{32,0,123,__LINE__, 0x3fc2fc1c, 0x68a32001, 0x3ff00000, 0x00000000, 0x3fd33333, 0x33333333},
+{32,0,123,__LINE__, 0x3f86de20, 0x9f39196e, 0x40000000, 0x00000000, 0x3fd33333, 0x33333333},
+{32,0,123,__LINE__, 0x3f42541c, 0x0c752fd9, 0x40080000, 0x00000000, 0x3fd33333, 0x33333333},
+{32,0,123,__LINE__, 0x3ef604e0, 0xb2c4c00a, 0x40100000, 0x00000000, 0x3fd33333, 0x33333333},
+{32,0,123,__LINE__, 0x3fef0708, 0xc6573ae5, 0x00000000, 0x00000000, 0x3fd66666, 0x66666666},
+{32,0,123,__LINE__, 0x3fc60f09, 0xfed3cc81, 0x3ff00000, 0x00000000, 0x3fd66666, 0x66666666},
+{32,0,123,__LINE__, 0x3f8f0a84, 0xda6806f7, 0x40000000, 0x00000000, 0x3fd66666, 0x66666666},
+{32,0,123,__LINE__, 0x3f4d0bc1, 0xbfa630ab, 0x40080000, 0x00000000, 0x3fd66666, 0x66666666},
+{32,0,123,__LINE__, 0x3f045d05, 0x37bf774c, 0x40100000, 0x00000000, 0x3fd66666, 0x66666666},
+{32,0,123,__LINE__, 0x3feebb95, 0x0fd4747f, 0x00000000, 0x00000000, 0x3fd99999, 0x99999999},
+{32,0,123,__LINE__, 0x3fc91766, 0x1ebb8177, 0x3ff00000, 0x00000000, 0x3fd99999, 0x99999999},
+{32,0,123,__LINE__, 0x3f943552, 0xd2bdaaf3, 0x40000000, 0x00000000, 0x3fd99999, 0x99999999},
+{32,0,123,__LINE__, 0x3f55a0b4, 0x58ca1be8, 0x40080000, 0x00000000, 0x3fd99999, 0x99999999},
+{32,0,123,__LINE__, 0x3f115640, 0x7fcf3789, 0x40100000, 0x00000000, 0x3fd99999, 0x99999999},
+{32,0,123,__LINE__, 0x3fee667f, 0xd6a10561, 0x00000000, 0x00000000, 0x3fdccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x3fcc13be, 0x77afcc52, 0x3ff00000, 0x00000000, 0x3fdccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x3f997c40, 0x76110a23, 0x40000000, 0x00000000, 0x3fdccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x3f5eb65b, 0x151f786c, 0x40080000, 0x00000000, 0x3fdccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x3f1bb61b, 0x892f8cff, 0x40100000, 0x00000000, 0x3fdccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0x3fee07f1, 0xd54c3f35, 0x00000000, 0x00000000, 0x3fdfffff, 0xffffffff},
+{32,0,123,__LINE__, 0x3fcf02a7, 0x1f4870d6, 0x3ff00000, 0x00000000, 0x3fdfffff, 0xffffffff},
+{32,0,123,__LINE__, 0x3f9f56a9, 0x3f863441, 0x40000000, 0x00000000, 0x3fdfffff, 0xffffffff},
+{32,0,123,__LINE__, 0x3f650088, 0x0f70db57, 0x40080000, 0x00000000, 0x3fdfffff, 0xffffffff},
+{32,0,123,__LINE__, 0x3f25116b, 0xd18a61a9, 0x40100000, 0x00000000, 0x3fdfffff, 0xffffffff},
+{32,0,123,__LINE__, 0x3feda018, 0x47adb931, 0x00000000, 0x00000000, 0x3fe19999, 0x99999999},
+{32,0,123,__LINE__, 0x3fd0f15d, 0xa9534f53, 0x3ff00000, 0x00000000, 0x3fe19999, 0x99999999},
+{32,0,123,__LINE__, 0x3fa2e066, 0x08ca87ed, 0x40000000, 0x00000000, 0x3fe19999, 0x99999999},
+{32,0,123,__LINE__, 0x3f6bdca3, 0xb2679435, 0x40080000, 0x00000000, 0x3fe19999, 0x99999999},
+{32,0,123,__LINE__, 0x3f2ec3c2, 0x4d8baa6f, 0x40100000, 0x00000000, 0x3fe19999, 0x99999999},
+{32,0,123,__LINE__, 0x3fed2f24, 0xd2d06e4e, 0x00000000, 0x00000000, 0x3fe33333, 0x33333333},
+{32,0,123,__LINE__, 0x3fd2594f, 0x19ddc92f, 0x3ff00000, 0x00000000, 0x3fe33333, 0x33333333},
+{32,0,123,__LINE__, 0x3fa65b45, 0x84be102a, 0x40000000, 0x00000000, 0x3fe33333, 0x33333333},
+{32,0,123,__LINE__, 0x3f72055f, 0xdad11213, 0x40080000, 0x00000000, 0x3fe33333, 0x33333333},
+{32,0,123,__LINE__, 0x3f35b926, 0x63a336fb, 0x40100000, 0x00000000, 0x3fe33333, 0x33333333},
+{32,0,123,__LINE__, 0x3fecb54d, 0x6a872136, 0x00000000, 0x00000000, 0x3fe4cccc, 0xcccccccd},
+{32,0,123,__LINE__, 0x3fd3b87d, 0xc1127dbb, 0x3ff00000, 0x00000000, 0x3fe4cccc, 0xcccccccd},
+{32,0,123,__LINE__, 0x3faa19b6, 0xfbcb3e9a, 0x40000000, 0x00000000, 0x3fe4cccc, 0xcccccccd},
+{32,0,123,__LINE__, 0x3f76d285, 0x13b1873b, 0x40080000, 0x00000000, 0x3fe4cccc, 0xcccccccd},
+{32,0,123,__LINE__, 0x3f3dd3be, 0xb2075517, 0x40100000, 0x00000000, 0x3fe4cccc, 0xcccccccd},
+{32,0,123,__LINE__, 0x3fec32cc, 0x34b8cc59, 0x00000000, 0x00000000, 0x3fe66666, 0x66666667},
+{32,0,123,__LINE__, 0x3fd50e44, 0x279c0546, 0x3ff00000, 0x00000000, 0x3fe66666, 0x66666667},
+{32,0,123,__LINE__, 0x3fae1952, 0x86f3b2fe, 0x40000000, 0x00000000, 0x3fe66666, 0x66666667},
+{32,0,123,__LINE__, 0x3f7c6245, 0x0da7c943, 0x40080000, 0x00000000, 0x3fe66666, 0x66666667},
+{32,0,123,__LINE__, 0x3f43fddd, 0x592928af, 0x40100000, 0x00000000, 0x3fe66666, 0x66666667},
+{32,0,123,__LINE__, 0x3feba7df, 0x6a752a19, 0x00000000, 0x00000000, 0x3fe80000, 0x00000001},
+{32,0,123,__LINE__, 0x3fd65a01, 0xd66b68bd, 0x3ff00000, 0x00000000, 0x3fe80000, 0x00000001},
+{32,0,123,__LINE__, 0x3fb12bc2, 0xf0d061c1, 0x40000000, 0x00000000, 0x3fe80000, 0x00000001},
+{32,0,123,__LINE__, 0x3f816042, 0xaaa332db, 0x40080000, 0x00000000, 0x3fe80000, 0x00000001},
+{32,0,123,__LINE__, 0x3f4a3fdc, 0xe9688cf6, 0x40100000, 0x00000000, 0x3fe80000, 0x00000001},
+{32,0,123,__LINE__, 0x3feb14c9, 0x36e29d84, 0x00000000, 0x00000000, 0x3fe99999, 0x9999999b},
+{32,0,123,__LINE__, 0x3fd79b1b, 0xab574ece, 0x3ff00000, 0x00000000, 0x3fe99999, 0x9999999b},
+{32,0,123,__LINE__, 0x3fb368ca, 0xfa5427de, 0x40000000, 0x00000000, 0x3fe99999, 0x9999999b},
+{32,0,123,__LINE__, 0x3f84fc41, 0xb23c60e3, 0x40080000, 0x00000000, 0x3fe99999, 0x9999999b},
+{32,0,123,__LINE__, 0x3f50eca7, 0x311cbd4c, 0x40100000, 0x00000000, 0x3fe99999, 0x9999999b},
+{32,0,123,__LINE__, 0x3fea79cf, 0x9417f64a, 0x00000000, 0x00000000, 0x3feb3333, 0x33333335},
+{32,0,123,__LINE__, 0x3fd8d0fc, 0x2ac09609, 0x3ff00000, 0x00000000, 0x3feb3333, 0x33333335},
+{32,0,123,__LINE__, 0x3fb5c250, 0x3ceb775b, 0x40000000, 0x00000000, 0x3feb3333, 0x33333335},
+{32,0,123,__LINE__, 0x3f890a65, 0x7f429003, 0x40080000, 0x00000000, 0x3feb3333, 0x33333335},
+{32,0,123,__LINE__, 0x3f557acc, 0xd794bfe8, 0x40100000, 0x00000000, 0x3feb3333, 0x33333335},
+{32,0,123,__LINE__, 0x3fe9d73c, 0x25f5b277, 0x00000000, 0x00000000, 0x3feccccc, 0xcccccccf},
+{32,0,123,__LINE__, 0x3fd9fb13, 0xce0f024e, 0x3ff00000, 0x00000000, 0x3feccccc, 0xcccccccf},
+{32,0,123,__LINE__, 0x3fb836ce, 0xdb8280b1, 0x40000000, 0x00000000, 0x3feccccc, 0xcccccccf},
+{32,0,123,__LINE__, 0x3f8d8f96, 0x8206eb0e, 0x40080000, 0x00000000, 0x3feccccc, 0xcccccccf},
+{32,0,123,__LINE__, 0x3f5ae0f9, 0x8b7b7574, 0x40100000, 0x00000000, 0x3feccccc, 0xcccccccf},
+{32,0,123,__LINE__, 0x3fe92d5c, 0x13137d0b, 0x00000000, 0x00000000, 0x3fee6666, 0x66666669},
+{32,0,123,__LINE__, 0x3fdb18d9, 0x4eda7476, 0x3ff00000, 0x00000000, 0x3fee6666, 0x66666669},
+{32,0,123,__LINE__, 0x3fbac4b1, 0x27d714b1, 0x40000000, 0x00000000, 0x3fee6666, 0x66666669},
+{32,0,123,__LINE__, 0x3f91482d, 0xb156b6bd, 0x40080000, 0x00000000, 0x3fee6666, 0x66666669},
+{32,0,123,__LINE__, 0x3f609b4b, 0x7ea68879, 0x40100000, 0x00000000, 0x3fee6666, 0x66666669},
+{32,0,123,__LINE__, 0x3fe87c7f, 0xdbd7b8ee, 0x00000000, 0x00000000, 0x3ff00000, 0x00000001},
+{32,0,123,__LINE__, 0x3fdc29c9, 0xee970c6e, 0x3ff00000, 0x00000000, 0x3ff00000, 0x00000001},
+{32,0,123,__LINE__, 0x3fbd6a50, 0x95fa9be9, 0x40000000, 0x00000000, 0x3ff00000, 0x00000001},
+{32,0,123,__LINE__, 0x3f94086a, 0x7638f7a6, 0x40080000, 0x00000000, 0x3ff00000, 0x00000001},
+{32,0,123,__LINE__, 0x3f6449e3, 0x6b5af1b3, 0x40100000, 0x00000000, 0x3ff00000, 0x00000001},
+{32,0,123,__LINE__, 0x3fe7c4fb, 0x2fcfebef, 0x00000000, 0x00000000, 0x3ff0cccc, 0xccccccce},
+{32,0,123,__LINE__, 0x3fdd2d69, 0xba9c976c, 0x3ff00000, 0x00000000, 0x3ff0cccc, 0xccccccce},
+{32,0,123,__LINE__, 0x3fc012fb, 0x5cfc78b3, 0x40000000, 0x00000000, 0x3ff0cccc, 0xccccccce},
+{32,0,123,__LINE__, 0x3f970a5d, 0x1eef9226, 0x40080000, 0x00000000, 0x3ff0cccc, 0xccccccce},
+{32,0,123,__LINE__, 0x3f6888a5, 0x228510b7, 0x40100000, 0x00000000, 0x3ff0cccc, 0xccccccce},
+{32,0,123,__LINE__, 0x3fe70724, 0xc161d44c, 0x00000000, 0x00000000, 0x3ff19999, 0x9999999b},
+{32,0,123,__LINE__, 0x3fde2343, 0xcc63c37e, 0x3ff00000, 0x00000000, 0x3ff19999, 0x9999999b},
+{32,0,123,__LINE__, 0x3fc17aef, 0x27865e62, 0x40000000, 0x00000000, 0x3ff19999, 0x9999999b},
+{32,0,123,__LINE__, 0x3f9a4faa, 0xa04e8191, 0x40080000, 0x00000000, 0x3ff19999, 0x9999999b},
+{32,0,123,__LINE__, 0x3f6d6434, 0x5a55c316, 0x40100000, 0x00000000, 0x3ff19999, 0x9999999b},
+{32,0,123,__LINE__, 0x3fe64356, 0x17eddc81, 0x00000000, 0x00000000, 0x3ff26666, 0x66666668},
+{32,0,123,__LINE__, 0x3fdf0aea, 0x85d5bf18, 0x3ff00000, 0x00000000, 0x3ff26666, 0x66666668},
+{32,0,123,__LINE__, 0x3fc2ec1a, 0x23e21b78, 0x40000000, 0x00000000, 0x3ff26666, 0x66666668},
+{32,0,123,__LINE__, 0x3f9dd9bf, 0xb5a70ade, 0x40080000, 0x00000000, 0x3ff26666, 0x66666668},
+{32,0,123,__LINE__, 0x3f7174b5, 0x74230428, 0x40100000, 0x00000000, 0x3ff26666, 0x66666668},
+{32,0,123,__LINE__, 0x3fe579eb, 0x607c7c41, 0x00000000, 0x00000000, 0x3ff33333, 0x33333335},
+{32,0,123,__LINE__, 0x3fdfe3f7, 0xc98d2caf, 0x3ff00000, 0x00000000, 0x3ff33333, 0x33333335},
+{32,0,123,__LINE__, 0x3fc4658c, 0x7339f932, 0x40000000, 0x00000000, 0x3ff33333, 0x33333335},
+{32,0,123,__LINE__, 0x3fa0d4e7, 0xb3f0ea6f, 0x40080000, 0x00000000, 0x3ff33333, 0x33333335},
+{32,0,123,__LINE__, 0x3f7492a5, 0xb6657ad7, 0x40100000, 0x00000000, 0x3ff33333, 0x33333335},
+{32,0,123,__LINE__, 0x3fe4ab43, 0x3d10e1be, 0x00000000, 0x00000000, 0x3ff40000, 0x00000002},
+{32,0,123,__LINE__, 0x3fe05706, 0x9774d334, 0x3ff00000, 0x00000000, 0x3ff40000, 0x00000002},
+{32,0,123,__LINE__, 0x3fc5e650, 0x6ea82715, 0x40000000, 0x00000000, 0x3ff40000, 0x00000002},
+{32,0,123,__LINE__, 0x3fa2e068, 0xdde7f41d, 0x40080000, 0x00000000, 0x3ff40000, 0x00000002},
+{32,0,123,__LINE__, 0x3f781279, 0xda92ee2f, 0x40100000, 0x00000000, 0x3ff40000, 0x00000002},
+{32,0,123,__LINE__, 0x3fe3d7be, 0x92bbfbb9, 0x00000000, 0x00000000, 0x3ff4cccc, 0xcccccccf},
+{32,0,123,__LINE__, 0x3fe0b46a, 0x18ecb9d4, 0x3ff00000, 0x00000000, 0x3ff4cccc, 0xcccccccf},
+{32,0,123,__LINE__, 0x3fc76d6b, 0x3ac0d75b, 0x40000000, 0x00000000, 0x3ff4cccc, 0xcccccccf},
+{32,0,123,__LINE__, 0x3fa50fc1, 0x44526e78, 0x40080000, 0x00000000, 0x3ff4cccc, 0xcccccccf},
+{32,0,123,__LINE__, 0x3f7bfac7, 0x6edc65a7, 0x40100000, 0x00000000, 0x3ff4cccc, 0xcccccccf},
+{32,0,123,__LINE__, 0x3fe2ffc0, 0x568baaa2, 0x00000000, 0x00000000, 0x3ff59999, 0x9999999c},
+{32,0,123,__LINE__, 0x3fe109ff, 0x2f1fc3ec, 0x3ff00000, 0x00000000, 0x3ff59999, 0x9999999c},
+{32,0,123,__LINE__, 0x3fc8f9dd, 0x5e41b884, 0x40000000, 0x00000000, 0x3ff59999, 0x9999999c},
+{32,0,123,__LINE__, 0x3fa76330, 0x3bb95571, 0x40080000, 0x00000000, 0x3ff59999, 0x9999999c},
+{32,0,123,__LINE__, 0x3f802911, 0xcfdfbbf5, 0x40100000, 0x00000000, 0x3ff59999, 0x9999999c},
+{32,0,123,__LINE__, 0x3fe223ad, 0x59727c9e, 0x00000000, 0x00000000, 0x3ff66666, 0x66666669},
+{32,0,123,__LINE__, 0x3fe157a2, 0xbb6f3312, 0x3ff00000, 0x00000000, 0x3ff66666, 0x66666669},
+{32,0,123,__LINE__, 0x3fca8aa3, 0x5b8ce82e, 0x40000000, 0x00000000, 0x3ff66666, 0x66666669},
+{32,0,123,__LINE__, 0x3fa9dad6, 0x163299ee, 0x40080000, 0x00000000, 0x3ff66666, 0x66666669},
+{32,0,123,__LINE__, 0x3f828f8e, 0x0cde14e4, 0x40100000, 0x00000000, 0x3ff66666, 0x66666669},
+{32,0,123,__LINE__, 0x3fe143ec, 0x1344e613, 0x00000000, 0x00000000, 0x3ff73333, 0x33333336},
+{32,0,123,__LINE__, 0x3fe19d35, 0xcbd98b75, 0x3ff00000, 0x00000000, 0x3ff73333, 0x33333336},
+{32,0,123,__LINE__, 0x3fcc1eb6, 0x4c93d2fc, 0x40000000, 0x00000000, 0x3ff73333, 0x33333336},
+{32,0,123,__LINE__, 0x3fac76b3, 0xcd3060b1, 0x40080000, 0x00000000, 0x3ff73333, 0x33333336},
+{32,0,123,__LINE__, 0x3f853417, 0xedc03cbe, 0x40100000, 0x00000000, 0x3ff73333, 0x33333336},
+{32,0,123,__LINE__, 0x3fe060e4, 0x6ce96517, 0x00000000, 0x00000000, 0x3ff80000, 0x00000003},
+{32,0,123,__LINE__, 0x3fe1da9d, 0xa9d6fc82, 0x3ff00000, 0x00000000, 0x3ff80000, 0x00000003},
+{32,0,123,__LINE__, 0x3fcdb50c, 0x80d5039f, 0x40000000, 0x00000000, 0x3ff80000, 0x00000003},
+{32,0,123,__LINE__, 0x3faf36aa, 0xc0c5b3bb, 0x40080000, 0x00000000, 0x3ff80000, 0x00000003},
+{32,0,123,__LINE__, 0x3f8819e3, 0xff0b0187, 0x40100000, 0x00000000, 0x3ff80000, 0x00000003},
+{32,0,123,__LINE__, 0x3fdef5ff, 0x13b2d492, 0x00000000, 0x00000000, 0x3ff8cccc, 0xccccccd0},
+{32,0,123,__LINE__, 0x3fe20fc3, 0xe6dcf000, 0x3ff00000, 0x00000000, 0x3ff8cccc, 0xccccccd0},
+{32,0,123,__LINE__, 0x3fcf4c9a, 0x1d0ea964, 0x40000000, 0x00000000, 0x3ff8cccc, 0xccccccd0},
+{32,0,123,__LINE__, 0x3fb10d3e, 0x464b660f, 0x40080000, 0x00000000, 0x3ff8cccc, 0xccccccd0},
+{32,0,123,__LINE__, 0x3f8b4418, 0x3c555ec0, 0x40100000, 0x00000000, 0x3ff8cccc, 0xccccccd0},
+{32,0,123,__LINE__, 0x3fdd254f, 0x22227934, 0x00000000, 0x00000000, 0x3ff99999, 0x9999999d},
+{32,0,123,__LINE__, 0x3fe23c96, 0x66824fe1, 0x3ff00000, 0x00000000, 0x3ff99999, 0x9999999d},
+{32,0,123,__LINE__, 0x3fd07228, 0xde234e77, 0x40000000, 0x00000000, 0x3ff99999, 0x9999999d},
+{32,0,123,__LINE__, 0x3fb290e5, 0x794e918a, 0x40080000, 0x00000000, 0x3ff99999, 0x9999999d},
+{32,0,123,__LINE__, 0x3f8eb5c8, 0x72cb3f07, 0x40100000, 0x00000000, 0x3ff99999, 0x9999999d},
+{32,0,123,__LINE__, 0x3fdb508e, 0xeb1aae8c, 0x00000000, 0x00000000, 0x3ffa6666, 0x6666666a},
+{32,0,123,__LINE__, 0x3fe26107, 0x663f6e91, 0x3ff00000, 0x00000000, 0x3ffa6666, 0x6666666a},
+{32,0,123,__LINE__, 0x3fd13d92, 0x88e3f0dd, 0x40000000, 0x00000000, 0x3ffa6666, 0x6666666a},
+{32,0,123,__LINE__, 0x3fb4260b, 0xedecb2c7, 0x40080000, 0x00000000, 0x3ffa6666, 0x6666666a},
+{32,0,123,__LINE__, 0x3f9138f9, 0x5390ebd3, 0x40100000, 0x00000000, 0x3ffa6666, 0x6666666a},
+{32,0,123,__LINE__, 0x3fd97895, 0x7ce7f2cf, 0x00000000, 0x00000000, 0x3ffb3333, 0x33333337},
+{32,0,123,__LINE__, 0x3fe27d0d, 0x82c5db53, 0x3ff00000, 0x00000000, 0x3ffb3333, 0x33333337},
+{32,0,123,__LINE__, 0x3fd20802, 0xc5da89b2, 0x40000000, 0x00000000, 0x3ffb3333, 0x33333337},
+{32,0,123,__LINE__, 0x3fb5cc62, 0xb77f9eb0, 0x40080000, 0x00000000, 0x3ffb3333, 0x33333337},
+{32,0,123,__LINE__, 0x3f933dbd, 0xc0e89d76, 0x40100000, 0x00000000, 0x3ffb3333, 0x33333337},
+{32,0,123,__LINE__, 0x3fd79e3a, 0x9e138ae6, 0x00000000, 0x00000000, 0x3ffc0000, 0x00000004},
+{32,0,123,__LINE__, 0x3fe290a3, 0xbaedcc46, 0x3ff00000, 0x00000000, 0x3ffc0000, 0x00000004},
+{32,0,123,__LINE__, 0x3fd2d0f2, 0x7ae76c8a, 0x40000000, 0x00000000, 0x3ffc0000, 0x00000004},
+{32,0,123,__LINE__, 0x3fb7838b, 0x1e8c5990, 0x40080000, 0x00000000, 0x3ffc0000, 0x00000004},
+{32,0,123,__LINE__, 0x3f956a95, 0x623295f7, 0x40100000, 0x00000000, 0x3ffc0000, 0x00000004},
+{32,0,123,__LINE__, 0x3fd5c256, 0x5d20c7de, 0x00000000, 0x00000000, 0x3ffccccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3fe29bc9, 0x703828ac, 0x3ff00000, 0x00000000, 0x3ffccccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3fd397db, 0x0e06aef0, 0x40000000, 0x00000000, 0x3ffccccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3fb94b16, 0xc2085bbd, 0x40080000, 0x00000000, 0x3ffccccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3f97c0d3, 0xe559d7ff, 0x40100000, 0x00000000, 0x3ffccccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3fd3e5c0, 0xa05c4025, 0x00000000, 0x00000000, 0x3ffd9999, 0x9999999e},
+{32,0,123,__LINE__, 0x3fe29e82, 0x64e59f5a, 0x3ff00000, 0x00000000, 0x3ffd9999, 0x9999999e},
+{32,0,123,__LINE__, 0x3fd45c36, 0xb655f5cb, 0x40000000, 0x00000000, 0x3ffd9999, 0x9999999e},
+{32,0,123,__LINE__, 0x3fbb2287, 0xc3831b75, 0x40080000, 0x00000000, 0x3ffd9999, 0x9999999e},
+{32,0,123,__LINE__, 0x3f9a41bb, 0x0d6129f8, 0x40100000, 0x00000000, 0x3ffd9999, 0x9999999e},
+{32,0,123,__LINE__, 0x3fd20950, 0xb5facde5, 0x00000000, 0x00000000, 0x3ffe6666, 0x6666666b},
+{32,0,123,__LINE__, 0x3fe298d6, 0xb7a495db, 0x3ff00000, 0x00000000, 0x3ffe6666, 0x6666666b},
+{32,0,123,__LINE__, 0x3fd51d80, 0xcca30f3c, 0x40000000, 0x00000000, 0x3ffe6666, 0x6666666b},
+{32,0,123,__LINE__, 0x3fbd0950, 0xfe1d8095, 0x40080000, 0x00000000, 0x3ffe6666, 0x6666666b},
+{32,0,123,__LINE__, 0x3f9cee79, 0x030dd010, 0x40100000, 0x00000000, 0x3ffe6666, 0x6666666b},
+{32,0,123,__LINE__, 0x3fd02ddc, 0xe4c5e3e8, 0x00000000, 0x00000000, 0x3fff3333, 0x33333338},
+{32,0,123,__LINE__, 0x3fe28ad2, 0xdcd91caf, 0x3ff00000, 0x00000000, 0x3fff3333, 0x33333338},
+{32,0,123,__LINE__, 0x3fd5db36, 0x1b535d7a, 0x40000000, 0x00000000, 0x3fff3333, 0x33333338},
+{32,0,123,__LINE__, 0x3fbefed6, 0x4831e4df, 0x40080000, 0x00000000, 0x3fff3333, 0x33333338},
+{32,0,123,__LINE__, 0x3f9fc826, 0xafa66438, 0x40100000, 0x00000000, 0x3fff3333, 0x33333338},
+0,};
+test_jnf(m) {run_vector_1(m,jnf_vec,(char *)(jnf),"jnf","fif"); }
diff --git a/newlib/libm/test/log10_vec.c b/newlib/libm/test/log10_vec.c
new file mode 100644
index 00000000000..48975a7f2e2
--- /dev/null
+++ b/newlib/libm/test/log10_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type log10_vec[] = {
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff33333, 0x33333333}, /* 64.0000=f(-1.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* 64.0000=f(-1.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* 64.0000=f(-1.18000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* 64.0000=f(-1.17000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* 64.0000=f(-1.16000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff26666, 0x66666666}, /* 64.0000=f(-1.15000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* 64.0000=f(-1.14000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* 64.0000=f(-1.13000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* 64.0000=f(-1.12000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* 64.0000=f(-1.11000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x99999999}, /* 64.0000=f(-1.10000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* 64.0000=f(-1.09000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff147ae, 0x147ae147}, /* 64.0000=f(-1.08000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* 64.0000=f(-1.07000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* 64.0000=f(-1.06000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* 64.0000=f(-1.05000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* 64.0000=f(-1.04000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* 64.0000=f(-1.03000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff051eb, 0x851eb851}, /* 64.0000=f(-1.02000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* 64.0000=f(-1.01000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefffff, 0xfffffffe}, /* 64.0000=f(-0.01000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefae14, 0x7ae147ac}, /* 64.0000=f(-0.99000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef5c28, 0xf5c28f5a}, /* 64.0000=f(-0.98000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef0a3d, 0x70a3d708}, /* 64.0000=f(-0.97000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeeb851, 0xeb851eb6}, /* 64.0000=f(-0.96000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee6666, 0x66666664}, /* 64.0000=f(-0.95000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee147a, 0xe147ae12}, /* 64.0000=f(-0.94000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfedc28f, 0x5c28f5c0}, /* 64.0000=f(-0.93000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed70a3, 0xd70a3d6e}, /* 64.0000=f(-0.92000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed1eb8, 0x51eb851c}, /* 64.0000=f(-0.91000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeccccc, 0xccccccca}, /* 64.0000=f(-0.90000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec7ae1, 0x47ae1478}, /* 64.0000=f(-0.89000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec28f5, 0xc28f5c26}, /* 64.0000=f(-0.88000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfebd70a, 0x3d70a3d4}, /* 64.0000=f(-0.87000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb851e, 0xb851eb82}, /* 64.0000=f(-0.86000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb3333, 0x33333330}, /* 64.0000=f(-0.85000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeae147, 0xae147ade}, /* 64.0000=f(-0.84000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea8f5c, 0x28f5c28c}, /* 64.0000=f(-0.83000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea3d70, 0xa3d70a3a}, /* 64.0000=f(-0.82000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe9eb85, 0x1eb851e8}, /* 64.0000=f(-0.81000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe99999, 0x99999996}, /* 64.0000=f(-0.80000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe947ae, 0x147ae144}, /* 64.0000=f(-0.79000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8f5c2, 0x8f5c28f2}, /* 64.0000=f(-0.78000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8a3d7, 0x0a3d70a0}, /* 64.0000=f(-0.77000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe851eb, 0x851eb84e}, /* 64.0000=f(-0.76000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ffff, 0xfffffffc}, /* 64.0000=f(-0.75000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ae14, 0x7ae147aa}, /* 64.0000=f(-0.74000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe75c28, 0xf5c28f58}, /* 64.0000=f(-0.73000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe70a3d, 0x70a3d706}, /* 64.0000=f(-0.72000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6b851, 0xeb851eb4}, /* 64.0000=f(-0.71000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe66666, 0x66666662}, /* 64.0000=f(-0.70000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6147a, 0xe147ae10}, /* 64.0000=f(-0.69000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe5c28f, 0x5c28f5be}, /* 64.0000=f(-0.68000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe570a3, 0xd70a3d6c}, /* 64.0000=f(-0.67000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe51eb8, 0x51eb851a}, /* 64.0000=f(-0.66000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe4cccc, 0xccccccc8}, /* 64.0000=f(-0.65000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe47ae1, 0x47ae1476}, /* 64.0000=f(-0.64000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe428f5, 0xc28f5c24}, /* 64.0000=f(-0.63000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3d70a, 0x3d70a3d2}, /* 64.0000=f(-0.62000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3851e, 0xb851eb80}, /* 64.0000=f(-0.61000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe33333, 0x3333332e}, /* 64.0000=f(-0.60000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe2e147, 0xae147adc}, /* 64.0000=f(-0.59000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe28f5c, 0x28f5c28a}, /* 64.0000=f(-0.58000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe23d70, 0xa3d70a38}, /* 64.0000=f(-0.57000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe1eb85, 0x1eb851e6}, /* 64.0000=f(-0.56000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe19999, 0x99999994}, /* 64.0000=f(-0.55000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe147ae, 0x147ae142}, /* 64.0000=f(-0.54000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0f5c2, 0x8f5c28f0}, /* 64.0000=f(-0.53000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0a3d7, 0x0a3d709e}, /* 64.0000=f(-0.52000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe051eb, 0x851eb84c}, /* 64.0000=f(-0.51000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdfffff, 0xfffffff4}, /* 64.0000=f(-0.50000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdf5c28, 0xf5c28f50}, /* 64.0000=f(-0.49000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdeb851, 0xeb851eac}, /* 64.0000=f(-0.48000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfde147a, 0xe147ae08}, /* 64.0000=f(-0.47000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdd70a3, 0xd70a3d64}, /* 64.0000=f(-0.46000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdccccc, 0xccccccc0}, /* 64.0000=f(-0.45000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdc28f5, 0xc28f5c1c}, /* 64.0000=f(-0.44000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdb851e, 0xb851eb78}, /* 64.0000=f(-0.43000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdae147, 0xae147ad4}, /* 64.0000=f(-0.42000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfda3d70, 0xa3d70a30}, /* 64.0000=f(-0.41000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd99999, 0x9999998c}, /* 64.0000=f(-0.40000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd8f5c2, 0x8f5c28e8}, /* 64.0000=f(-0.39000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd851eb, 0x851eb844}, /* 64.0000=f(-0.38000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd7ae14, 0x7ae147a0}, /* 64.0000=f(-0.37000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd70a3d, 0x70a3d6fc}, /* 64.0000=f(-0.36000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd66666, 0x66666658}, /* 64.0000=f(-0.35000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd5c28f, 0x5c28f5b4}, /* 64.0000=f(-0.34000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd51eb8, 0x51eb8510}, /* 64.0000=f(-0.33000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd47ae1, 0x47ae146c}, /* 64.0000=f(-0.32000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd3d70a, 0x3d70a3c8}, /* 64.0000=f(-0.31000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd33333, 0x33333324}, /* 64.0000=f(-0.30000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd28f5c, 0x28f5c280}, /* 64.0000=f(-0.29000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd1eb85, 0x1eb851dc}, /* 64.0000=f(-0.28000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd147ae, 0x147ae138}, /* 64.0000=f(-0.27000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd0a3d7, 0x0a3d7094}, /* 64.0000=f(-0.26000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcfffff, 0xffffffe0}, /* 64.0000=f(-0.25000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfceb851, 0xeb851e98}, /* 64.0000=f(-0.24000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcd70a3, 0xd70a3d50}, /* 64.0000=f(-0.23000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcc28f5, 0xc28f5c08}, /* 64.0000=f(-0.22000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcae147, 0xae147ac0}, /* 64.0000=f(-0.21000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc99999, 0x99999978}, /* 64.0000=f(-0.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc851eb, 0x851eb830}, /* 64.0000=f(-0.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc70a3d, 0x70a3d6e8}, /* 64.0000=f(-0.18000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc5c28f, 0x5c28f5a0}, /* 64.0000=f(-0.17000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc47ae1, 0x47ae1458}, /* 64.0000=f(-0.16000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc33333, 0x33333310}, /* 64.0000=f(-0.15000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc1eb85, 0x1eb851c8}, /* 64.0000=f(-0.14000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc0a3d7, 0x0a3d7080}, /* 64.0000=f(-0.13000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbeb851, 0xeb851e71}, /* 64.0000=f(-0.12000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbc28f5, 0xc28f5be2}, /* 64.0000=f(-0.11000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb99999, 0x99999953}, /* 64.0000=f(-0.00100)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb70a3d, 0x70a3d6c4}, /* 64.0000=f(-0.09000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb47ae1, 0x47ae1435}, /* 64.0000=f(-0.08000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb1eb85, 0x1eb851a6}, /* 64.0000=f(-0.07000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfaeb851, 0xeb851e2d}, /* 64.0000=f(-0.06000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa99999, 0x9999990e}, /* 64.0000=f(-0.05000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa47ae1, 0x47ae13ef}, /* 64.0000=f(-0.04000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf9eb851, 0xeb851da0}, /* 64.0000=f(-0.03000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf947ae1, 0x47ae1362}, /* 64.0000=f(-0.02000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf847ae1, 0x47ae1249}, /* 64.0000=f(-0.00010)*/
+{64, 0,123,__LINE__, 0xc02e05a6, 0x2c6e0cb0, 0x3cd19000, 0x00000000}, /* -15.0110=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0xbfffffff, 0xffffff42, 0x3f847ae1, 0x47ae16ad}, /* -2.00000=f(0.01000)*/
+{64, 0,123,__LINE__, 0xbffb2efb, 0x2bd82120, 0x3f947ae1, 0x47ae1594}, /* -1.69897=f(0.02000)*/
+{64, 0,123,__LINE__, 0xbff85db6, 0x1a6c0a41, 0x3f9eb851, 0xeb851fd2}, /* -1.52287=f(0.03000)*/
+{64, 0,123,__LINE__, 0xbff65df6, 0x57b042d0, 0x3fa47ae1, 0x47ae1508}, /* -1.39794=f(0.04000)*/
+{64, 0,123,__LINE__, 0xbff4d104, 0xd427de59, 0x3fa99999, 0x99999a27}, /* -1.30103=f(0.05000)*/
+{64, 0,123,__LINE__, 0xbff38cb1, 0x46442be1, 0x3faeb851, 0xeb851f46}, /* -1.22184=f(0.06000)*/
+{64, 0,123,__LINE__, 0xbff27a7a, 0x7a4399c5, 0x3fb1eb85, 0x1eb85232}, /* -1.15490=f(0.07000)*/
+{64, 0,123,__LINE__, 0xbff18cf1, 0x83886469, 0x3fb47ae1, 0x47ae14c1}, /* -1.09691=f(0.08000)*/
+{64, 0,123,__LINE__, 0xbff0bb6c, 0x34d814ec, 0x3fb70a3d, 0x70a3d750}, /* -1.04575=f(0.09000)*/
+{64, 0,123,__LINE__, 0xbfefffff, 0xffffffda, 0x3fb99999, 0x999999df}, /* -0.01000=f(0.10000)*/
+{64, 0,123,__LINE__, 0xbfeeace9, 0x3f5e7501, 0x3fbc28f5, 0xc28f5c6e}, /* -0.95860=f(0.11000)*/
+{64, 0,123,__LINE__, 0xbfed7758, 0xe4389ae3, 0x3fbeb851, 0xeb851efd}, /* -0.92081=f(0.12000)*/
+{64, 0,123,__LINE__, 0xbfec5a93, 0x7887db46, 0x3fc0a3d7, 0x0a3d70c6}, /* -0.88605=f(0.13000)*/
+{64, 0,123,__LINE__, 0xbfeb52eb, 0x4c3776a6, 0x3fc1eb85, 0x1eb8520e}, /* -0.85387=f(0.14000)*/
+{64, 0,123,__LINE__, 0xbfea5d75, 0xdd27d1e8, 0x3fc33333, 0x33333356}, /* -0.82390=f(0.15000)*/
+{64, 0,123,__LINE__, 0xbfe977d9, 0x5ec10bea, 0x3fc47ae1, 0x47ae149e}, /* -0.79588=f(0.16000)*/
+{64, 0,123,__LINE__, 0xbfe8a029, 0x956904ba, 0x3fc5c28f, 0x5c28f5e6}, /* -0.76955=f(0.17000)*/
+{64, 0,123,__LINE__, 0xbfe7d4ce, 0xc1606ced, 0x3fc70a3d, 0x70a3d72e}, /* -0.74472=f(0.18000)*/
+{64, 0,123,__LINE__, 0xbfe71473, 0x54087dcb, 0x3fc851eb, 0x851eb876}, /* -0.72124=f(0.19000)*/
+{64, 0,123,__LINE__, 0xbfe65df6, 0x57b042ed, 0x3fc99999, 0x999999be}, /* -0.69897=f(0.20000)*/
+{64, 0,123,__LINE__, 0xbfe5b061, 0x295f48af, 0x3fcae147, 0xae147b06}, /* -0.67778=f(0.21000)*/
+{64, 0,123,__LINE__, 0xbfe50adf, 0x970eb811, 0x3fcc28f5, 0xc28f5c4e}, /* -0.65757=f(0.22000)*/
+{64, 0,123,__LINE__, 0xbfe46cb9, 0xbec80cf0, 0x3fcd70a3, 0xd70a3d96}, /* -0.63827=f(0.23000)*/
+{64, 0,123,__LINE__, 0xbfe3d54f, 0x3be8ddf2, 0x3fceb851, 0xeb851ede}, /* -0.61978=f(0.24000)*/
+{64, 0,123,__LINE__, 0xbfe34413, 0x509f79ee, 0x3fd00000, 0x00000013}, /* -0.60205=f(0.25000)*/
+{64, 0,123,__LINE__, 0xbfe2b889, 0xd0381e52, 0x3fd0a3d7, 0x0a3d70b7}, /* -0.58502=f(0.26000)*/
+{64, 0,123,__LINE__, 0xbfe23244, 0x9e883ef4, 0x3fd147ae, 0x147ae15b}, /* -0.56863=f(0.27000)*/
+{64, 0,123,__LINE__, 0xbfe1b0e1, 0xa3e7b9b3, 0x3fd1eb85, 0x1eb851ff}, /* -0.55284=f(0.28000)*/
+{64, 0,123,__LINE__, 0xbfe13409, 0x1d29381d, 0x3fd28f5c, 0x28f5c2a3}, /* -0.53760=f(0.29000)*/
+{64, 0,123,__LINE__, 0xbfe0bb6c, 0x34d814f3, 0x3fd33333, 0x33333347}, /* -0.52287=f(0.30000)*/
+{64, 0,123,__LINE__, 0xbfe046c3, 0xd74f3025, 0x3fd3d70a, 0x3d70a3eb}, /* -0.50863=f(0.31000)*/
+{64, 0,123,__LINE__, 0xbfdfab9f, 0x6ce29de9, 0x3fd47ae1, 0x47ae148f}, /* -0.49485=f(0.32000)*/
+{64, 0,123,__LINE__, 0xbfded0aa, 0xe86d142e, 0x3fd51eb8, 0x51eb8533}, /* -0.48148=f(0.33000)*/
+{64, 0,123,__LINE__, 0xbfddfc3f, 0xda328f8a, 0x3fd5c28f, 0x5c28f5d7}, /* -0.46852=f(0.34000)*/
+{64, 0,123,__LINE__, 0xbfdd2dfd, 0x39ade168, 0x3fd66666, 0x6666667b}, /* -0.45593=f(0.35000)*/
+{64, 0,123,__LINE__, 0xbfdc658a, 0x32215fee, 0x3fd70a3d, 0x70a3d71f}, /* -0.44369=f(0.36000)*/
+{64, 0,123,__LINE__, 0xbfdba295, 0x3c667de6, 0x3fd7ae14, 0x7ae147c3}, /* -0.43179=f(0.37000)*/
+{64, 0,123,__LINE__, 0xbfdae4d3, 0x577181a7, 0x3fd851eb, 0x851eb867}, /* -0.42021=f(0.38000)*/
+{64, 0,123,__LINE__, 0xbfda2bff, 0x5abfe0af, 0x3fd8f5c2, 0x8f5c290b}, /* -0.40893=f(0.39000)*/
+{64, 0,123,__LINE__, 0xbfd977d9, 0x5ec10beb, 0x3fd99999, 0x999999af}, /* -0.39794=f(0.40000)*/
+{64, 0,123,__LINE__, 0xbfd8c826, 0x37f7ce88, 0x3fda3d70, 0xa3d70a53}, /* -0.38721=f(0.41000)*/
+{64, 0,123,__LINE__, 0xbfd81caf, 0x021f176f, 0x3fdae147, 0xae147af7}, /* -0.37675=f(0.42000)*/
+{64, 0,123,__LINE__, 0xbfd77540, 0xb90f3c14, 0x3fdb851e, 0xb851eb9b}, /* -0.36653=f(0.43000)*/
+{64, 0,123,__LINE__, 0xbfd6d1ab, 0xdd7df632, 0x3fdc28f5, 0xc28f5c3f}, /* -0.35654=f(0.44000)*/
+{64, 0,123,__LINE__, 0xbfd631c4, 0x23ffcdef, 0x3fdccccc, 0xcccccce3}, /* -0.34678=f(0.45000)*/
+{64, 0,123,__LINE__, 0xbfd59560, 0x2cf09fef, 0x3fdd70a3, 0xd70a3d87}, /* -0.33724=f(0.46000)*/
+{64, 0,123,__LINE__, 0xbfd4fc59, 0x441d1574, 0x3fde147a, 0xe147ae2b}, /* -0.32790=f(0.47000)*/
+{64, 0,123,__LINE__, 0xbfd4668b, 0x273241f2, 0x3fdeb851, 0xeb851ecf}, /* -0.31875=f(0.48000)*/
+{64, 0,123,__LINE__, 0xbfd3d3d3, 0xd21cceef, 0x3fdf5c28, 0xf5c28f73}, /* -0.30980=f(0.49000)*/
+{64, 0,123,__LINE__, 0xbfd34413, 0x509f79ec, 0x3fe00000, 0x0000000b}, /* -0.30103=f(0.50000)*/
+{64, 0,123,__LINE__, 0xbfd2b72b, 0x94823393, 0x3fe051eb, 0x851eb85d}, /* -0.29242=f(0.51000)*/
+{64, 0,123,__LINE__, 0xbfd22d00, 0x4fd0c2b2, 0x3fe0a3d7, 0x0a3d70af}, /* -0.28399=f(0.52000)*/
+{64, 0,123,__LINE__, 0xbfd1a576, 0xd2b216df, 0x3fe0f5c2, 0x8f5c2901}, /* -0.27572=f(0.53000)*/
+{64, 0,123,__LINE__, 0xbfd12075, 0xec7103f7, 0x3fe147ae, 0x147ae153}, /* -0.26760=f(0.54000)*/
+{64, 0,123,__LINE__, 0xbfd09de5, 0xcf5c6433, 0x3fe19999, 0x999999a5}, /* -0.25963=f(0.55000)*/
+{64, 0,123,__LINE__, 0xbfd01daf, 0xf72ff974, 0x3fe1eb85, 0x1eb851f7}, /* -0.25181=f(0.56000)*/
+{64, 0,123,__LINE__, 0xbfcf3f7e, 0x23824b5f, 0x3fe23d70, 0xa3d70a49}, /* -0.24412=f(0.57000)*/
+{64, 0,123,__LINE__, 0xbfce47fd, 0xd365ec8f, 0x3fe28f5c, 0x28f5c29b}, /* -0.23657=f(0.58000)*/
+{64, 0,123,__LINE__, 0xbfcd54b8, 0xa5f8786e, 0x3fe2e147, 0xae147aed}, /* -0.22914=f(0.59000)*/
+{64, 0,123,__LINE__, 0xbfcc658a, 0x32215fe6, 0x3fe33333, 0x3333333f}, /* -0.22184=f(0.60000)*/
+{64, 0,123,__LINE__, 0xbfcb7a4f, 0xdd072061, 0x3fe3851e, 0xb851eb91}, /* -0.21467=f(0.61000)*/
+{64, 0,123,__LINE__, 0xbfca92e8, 0xbbfdccaf, 0x3fe3d70a, 0x3d70a3e3}, /* -0.20760=f(0.62000)*/
+{64, 0,123,__LINE__, 0xbfc9af35, 0x78dd76ee, 0x3fe428f5, 0xc28f5c35}, /* -0.20065=f(0.63000)*/
+{64, 0,123,__LINE__, 0xbfc8cf18, 0x388647ec, 0x3fe47ae1, 0x47ae1487}, /* -0.19382=f(0.64000)*/
+{64, 0,123,__LINE__, 0xbfc7f274, 0x835e6163, 0x3fe4cccc, 0xccccccd9}, /* -0.18708=f(0.65000)*/
+{64, 0,123,__LINE__, 0xbfc7192f, 0x2f9b3474, 0x3fe51eb8, 0x51eb852b}, /* -0.18045=f(0.66000)*/
+{64, 0,123,__LINE__, 0xbfc6432e, 0x4d2cd670, 0x3fe570a3, 0xd70a3d7d}, /* -0.17392=f(0.67000)*/
+{64, 0,123,__LINE__, 0xbfc57059, 0x13262b2a, 0x3fe5c28f, 0x5c28f5cf}, /* -0.16749=f(0.68000)*/
+{64, 0,123,__LINE__, 0xbfc4a097, 0xce8087ed, 0x3fe6147a, 0xe147ae21}, /* -0.16115=f(0.69000)*/
+{64, 0,123,__LINE__, 0xbfc3d3d3, 0xd21ccee4, 0x3fe66666, 0x66666673}, /* -0.15490=f(0.70000)*/
+{64, 0,123,__LINE__, 0xbfc309f7, 0x67e6fd47, 0x3fe6b851, 0xeb851ec5}, /* -0.14874=f(0.71000)*/
+{64, 0,123,__LINE__, 0xbfc242ed, 0xc303cbf3, 0x3fe70a3d, 0x70a3d717}, /* -0.14266=f(0.72000)*/
+{64, 0,123,__LINE__, 0xbfc17ea2, 0xf2f25cc1, 0x3fe75c28, 0xf5c28f69}, /* -0.13667=f(0.73000)*/
+{64, 0,123,__LINE__, 0xbfc0bd03, 0xd78e07e3, 0x3fe7ae14, 0x7ae147bb}, /* -0.13076=f(0.74000)*/
+{64, 0,123,__LINE__, 0xbfbffbfc, 0x2bbc77c7, 0x3fe80000, 0x0000000d}, /* -0.12493=f(0.75000)*/
+{64, 0,123,__LINE__, 0xbfbe8300, 0x1b481ec5, 0x3fe851eb, 0x851eb85f}, /* -0.11918=f(0.76000)*/
+{64, 0,123,__LINE__, 0xbfbd0ef1, 0x9f2d46e2, 0x3fe8a3d7, 0x0a3d70b1}, /* -0.11350=f(0.77000)*/
+{64, 0,123,__LINE__, 0xbfbb9fb0, 0x28819ae1, 0x3fe8f5c2, 0x8f5c2903}, /* -0.10790=f(0.78000)*/
+{64, 0,123,__LINE__, 0xbfba351c, 0x66e768e3, 0x3fe947ae, 0x147ae155}, /* -0.10237=f(0.79000)*/
+{64, 0,123,__LINE__, 0xbfb8cf18, 0x388647d2, 0x3fe99999, 0x999999a7}, /* -0.09691=f(0.80000)*/
+{64, 0,123,__LINE__, 0xbfb76d86, 0x9b029ff6, 0x3fe9eb85, 0x1eb851f9}, /* -0.09151=f(0.81000)*/
+{64, 0,123,__LINE__, 0xbfb6104b, 0x9d615247, 0x3fea3d70, 0xa3d70a4b}, /* -0.08618=f(0.82000)*/
+{64, 0,123,__LINE__, 0xbfb4b74c, 0x52c6523b, 0x3fea8f5c, 0x28f5c29d}, /* -0.08092=f(0.83000)*/
+{64, 0,123,__LINE__, 0xbfb3626e, 0xc5fe75e2, 0x3feae147, 0xae147aef}, /* -0.07572=f(0.84000)*/
+{64, 0,123,__LINE__, 0xbfb21199, 0xedc60e51, 0x3feb3333, 0x33333341}, /* -0.07058=f(0.85000)*/
+{64, 0,123,__LINE__, 0xbfb0c4b5, 0xa1bf0874, 0x3feb851e, 0xb851eb93}, /* -0.06550=f(0.86000)*/
+{60, 0,123,__LINE__, 0xbfaef755, 0x2014d266, 0x3febd70a, 0x3d70a3e5}, /* -0.06048=f(0.87000)*/
+{64, 0,123,__LINE__, 0xbfac6cc4, 0x66f3e1d9, 0x3fec28f5, 0xc28f5c37}, /* -0.05551=f(0.88000)*/
+{64, 0,123,__LINE__, 0xbfa9e98d, 0x949f2ad4, 0x3fec7ae1, 0x47ae1489}, /* -0.05060=f(0.89000)*/
+{64, 0,123,__LINE__, 0xbfa76d86, 0x9b029fc1, 0x3feccccc, 0xccccccdb}, /* -0.04575=f(0.90000)*/
+{64, 0,123,__LINE__, 0xbfa4f886, 0xd0f0f1ba, 0x3fed1eb8, 0x51eb852d}, /* -0.04095=f(0.91000)*/
+{64, 0,123,__LINE__, 0xbfa28a66, 0xe2892fbe, 0x3fed70a3, 0xd70a3d7f}, /* -0.03621=f(0.92000)*/
+{64, 0,123,__LINE__, 0xbfa02300, 0xc27452e7, 0x3fedc28f, 0x5c28f5d1}, /* -0.03151=f(0.93000)*/
+{64, 0,123,__LINE__, 0xbf9b845f, 0x37d9b7cb, 0x3fee147a, 0xe147ae23}, /* -0.02687=f(0.94000)*/
+{64, 0,123,__LINE__, 0xbf96cf9f, 0x8b075afd, 0x3fee6666, 0x66666675}, /* -0.02227=f(0.95000)*/
+{64, 0,123,__LINE__, 0xbf92277d, 0x692c7faf, 0x3feeb851, 0xeb851ec7}, /* -0.01772=f(0.96000)*/
+{64, 0,123,__LINE__, 0xbf8b176b, 0xc5ac9724, 0x3fef0a3d, 0x70a3d719}, /* -0.01322=f(0.97000)*/
+{64, 0,123,__LINE__, 0xbf81f810, 0x2faa9ee8, 0x3fef5c28, 0xf5c28f6b}, /* -0.00877=f(0.98000)*/
+{64, 0,123,__LINE__, 0xbf71e0d4, 0x874f8fa9, 0x3fefae14, 0x7ae147bd}, /* -0.00436=f(0.99000)*/
+{64, 0,123,__LINE__, 0x3cc8520b, 0xb2820866, 0x3ff00000, 0x00000007}, /* 6.75029e-16=f(1.00000)*/
+{64, 0,123,__LINE__, 0x3f71b349, 0xf11fb8c1, 0x3ff028f5, 0xc28f5c30}, /* 0.00432=f(1.01000)*/
+{64, 0,123,__LINE__, 0x3f819cf7, 0x83a8cc9b, 0x3ff051eb, 0x851eb859}, /* 0.00860=f(1.02000)*/
+{64, 0,123,__LINE__, 0x3f8a4a67, 0x223dafef, 0x3ff07ae1, 0x47ae1482}, /* 0.01283=f(1.03000)*/
+{64, 0,123,__LINE__, 0x3f917130, 0x0ceb745a, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.01703=f(1.04000)*/
+{64, 0,123,__LINE__, 0x3f95b2a5, 0xca1f4885, 0x3ff0cccc, 0xccccccd4}, /* 0.02118=f(1.05000)*/
+{64, 0,123,__LINE__, 0x3f99e9c7, 0xded6318d, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.02530=f(1.06000)*/
+{64, 0,123,__LINE__, 0x3f9e16c7, 0xf0c37ea6, 0x3ff11eb8, 0x51eb8526}, /* 0.02938=f(1.07000)*/
+{64, 0,123,__LINE__, 0x3fa11ceb, 0x2173b005, 0x3ff147ae, 0x147ae14f}, /* 0.03342=f(1.08000)*/
+{64, 0,123,__LINE__, 0x3fa32990, 0xe1514d45, 0x3ff170a3, 0xd70a3d78}, /* 0.03742=f(1.09000)*/
+{64, 0,123,__LINE__, 0x3fa5316c, 0x0a18ae2f, 0x3ff19999, 0x999999a1}, /* 0.04139=f(1.10000)*/
+{64, 0,123,__LINE__, 0x3fa73492, 0xcf4ac047, 0x3ff1c28f, 0x5c28f5ca}, /* 0.04532=f(1.11000)*/
+{64, 0,123,__LINE__, 0x3fa9331a, 0xcb7c042d, 0x3ff1eb85, 0x1eb851f3}, /* 0.04921=f(1.12000)*/
+{64, 0,123,__LINE__, 0x3fab2d19, 0x05c48b3c, 0x3ff2147a, 0xe147ae1c}, /* 0.05307=f(1.13000)*/
+{64, 0,123,__LINE__, 0x3fad22a1, 0xf6f2a24b, 0x3ff23d70, 0xa3d70a45}, /* 0.05690=f(1.14000)*/
+{64, 0,123,__LINE__, 0x3faf13c9, 0x8e83604b, 0x3ff26666, 0x6666666e}, /* 0.06069=f(1.15000)*/
+{64, 0,123,__LINE__, 0x3fb08051, 0x9bb20ec5, 0x3ff28f5c, 0x28f5c297}, /* 0.06445=f(1.16000)*/
+{64, 0,123,__LINE__, 0x3fb174a0, 0xee3fd50a, 0x3ff2b851, 0xeb851ec0}, /* 0.06818=f(1.17000)*/
+{64, 0,123,__LINE__, 0x3fb266db, 0xf68cf707, 0x3ff2e147, 0xae147ae9}, /* 0.07188=f(1.18000)*/
+{64, 0,123,__LINE__, 0x3fb3570b, 0xb07e3b99, 0x3ff30a3d, 0x70a3d712}, /* 0.07554=f(1.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01921fb, 0x54442d18}, /* 64.0000=f(-6.28318)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* 64.0000=f(-4.71238)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc00921fb, 0x54442d18}, /* 64.0000=f(-3.14159)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff921fb, 0x54442d18}, /* 64.0000=f(-1.57079)*/
+{64,15, 39,__LINE__, 0x40500000, 0x00000000, 0x00000000, 0x00000000}, /* 64.0000=f(0.00000)*/
+{64, 0,123,__LINE__, 0x3fc91a74, 0xc4f85378, 0x3ff921fb, 0x54442d18}, /* 0.19611=f(1.57079)*/
+{64, 0,123,__LINE__, 0x3fdfd14d, 0xb31ba3bb, 0x400921fb, 0x54442d18}, /* 0.49714=f(3.14159)*/
+{64, 0,123,__LINE__, 0x3fe58b30, 0xfc65ffdc, 0x4012d97c, 0x7f3321d2}, /* 0.67324=f(4.71238)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03e0000, 0x00000000}, /* 64.0000=f(-30.0000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* 64.0000=f(-28.3000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03a9999, 0x9999999a}, /* 64.0000=f(-26.6000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc038e666, 0x66666667}, /* 64.0000=f(-24.9000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0373333, 0x33333334}, /* 64.0000=f(-23.2000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0358000, 0x00000001}, /* 64.0000=f(-21.5000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc033cccc, 0xccccccce}, /* 64.0000=f(-19.8000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0321999, 0x9999999b}, /* 64.0000=f(-18.1000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0306666, 0x66666668}, /* 64.0000=f(-16.4000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02d6666, 0x6666666a}, /* 64.0000=f(-14.7000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02a0000, 0x00000004}, /* 64.0000=f(-13.0000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0269999, 0x9999999e}, /* 64.0000=f(-11.3000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0233333, 0x33333338}, /* 64.0000=f(-9.60000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01f9999, 0x999999a3}, /* 64.0000=f(-7.90000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* 64.0000=f(-6.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0120000, 0x00000009}, /* 64.0000=f(-4.50000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0066666, 0x66666678}, /* 64.0000=f(-2.80000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x999999bd}, /* 64.0000=f(-1.10000)*/
+{64, 0,123,__LINE__, 0xbfcc658a, 0x322160d5, 0x3fe33333, 0x333332ec}, /* -0.22184=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3fd7268c, 0x826fe5e1, 0x40026666, 0x66666654}, /* 0.36172=f(2.30000)*/
+{64, 0,123,__LINE__, 0x3fe34413, 0x509f79f7, 0x400fffff, 0xffffffee}, /* 0.60205=f(4.00000)*/
+{64, 0,123,__LINE__, 0x3fe83020, 0x771f6d1a, 0x4016cccc, 0xccccccc4}, /* 0.75587=f(5.70000)*/
+{64, 0,123,__LINE__, 0x3febd0bf, 0x0a1c7dfb, 0x401d9999, 0x99999991}, /* 0.86923=f(7.40000)*/
+{64, 0,123,__LINE__, 0x3feeb077, 0x92f0f0da, 0x40223333, 0x3333332f}, /* 0.95904=f(9.10000)*/
+{64, 0,123,__LINE__, 0x3ff088e7, 0x590b9d7b, 0x40259999, 0x99999995}, /* 1.03342=f(10.8000)*/
+{64, 0,123,__LINE__, 0x3ff18cf1, 0x8388647f, 0x4028ffff, 0xfffffffb}, /* 1.09691=f(12.5000)*/
+{64, 0,123,__LINE__, 0x3ff26fc5, 0xe72afed2, 0x402c6666, 0x66666661}, /* 1.15228=f(14.2000)*/
+{64, 0,123,__LINE__, 0x3ff338ec, 0x30e76fc1, 0x402fcccc, 0xccccccc7}, /* 1.20139=f(15.9000)*/
+{64, 0,123,__LINE__, 0x3ff3ed9e, 0xb0f03f6c, 0x40319999, 0x99999997}, /* 1.24551=f(17.6000)*/
+{64, 0,123,__LINE__, 0x3ff491a4, 0x8a75278a, 0x40334ccc, 0xccccccca}, /* 1.28555=f(19.3000)*/
+{64, 0,123,__LINE__, 0x3ff527cf, 0x6b505b9e, 0x4034ffff, 0xfffffffd}, /* 1.32221=f(21.0000)*/
+{64, 0,123,__LINE__, 0x3ff5b248, 0x2b52cc18, 0x4036b333, 0x33333330}, /* 1.35602=f(22.7000)*/
+{64, 0,123,__LINE__, 0x3ff632bf, 0xacaed8ee, 0x40386666, 0x66666663}, /* 1.38739=f(24.4000)*/
+{64, 0,123,__LINE__, 0x3ff6aa8f, 0x3c934ee8, 0x403a1999, 0x99999996}, /* 1.41664=f(26.1000)*/
+{64, 0,123,__LINE__, 0x3ff71ace, 0xb746d587, 0x403bcccc, 0xccccccc9}, /* 1.44404=f(27.8000)*/
+{64, 0,123,__LINE__, 0x3ff78464, 0x1719126d, 0x403d7fff, 0xfffffffc}, /* 1.46982=f(29.5000)*/
+0,};
+test_log10(m) {run_vector_1(m,log10_vec,(char *)(log10),"log10","dd"); }
diff --git a/newlib/libm/test/log10f_vec.c b/newlib/libm/test/log10f_vec.c
new file mode 100644
index 00000000000..034117c05bf
--- /dev/null
+++ b/newlib/libm/test/log10f_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type log10f_vec[] = {
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff33333, 0x33333333}, /* 64.0000=f(-1.20000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* 64.0000=f(-1.19000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* 64.0000=f(-1.18000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* 64.0000=f(-1.17000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* 64.0000=f(-1.16000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff26666, 0x66666666}, /* 64.0000=f(-1.15000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* 64.0000=f(-1.14000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* 64.0000=f(-1.13000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* 64.0000=f(-1.12000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* 64.0000=f(-1.11000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x99999999}, /* 64.0000=f(-1.10000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* 64.0000=f(-1.09000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff147ae, 0x147ae147}, /* 64.0000=f(-1.08000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* 64.0000=f(-1.07000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* 64.0000=f(-1.06000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* 64.0000=f(-1.05000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* 64.0000=f(-1.04000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* 64.0000=f(-1.03000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff051eb, 0x851eb851}, /* 64.0000=f(-1.02000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* 64.0000=f(-1.01000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefffff, 0xfffffffe}, /* 64.0000=f(-0.01000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefae14, 0x7ae147ac}, /* 64.0000=f(-0.99000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef5c28, 0xf5c28f5a}, /* 64.0000=f(-0.98000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef0a3d, 0x70a3d708}, /* 64.0000=f(-0.97000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeeb851, 0xeb851eb6}, /* 64.0000=f(-0.96000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee6666, 0x66666664}, /* 64.0000=f(-0.95000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee147a, 0xe147ae12}, /* 64.0000=f(-0.94000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfedc28f, 0x5c28f5c0}, /* 64.0000=f(-0.93000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed70a3, 0xd70a3d6e}, /* 64.0000=f(-0.92000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed1eb8, 0x51eb851c}, /* 64.0000=f(-0.91000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeccccc, 0xccccccca}, /* 64.0000=f(-0.90000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec7ae1, 0x47ae1478}, /* 64.0000=f(-0.89000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec28f5, 0xc28f5c26}, /* 64.0000=f(-0.88000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfebd70a, 0x3d70a3d4}, /* 64.0000=f(-0.87000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb851e, 0xb851eb82}, /* 64.0000=f(-0.86000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb3333, 0x33333330}, /* 64.0000=f(-0.85000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeae147, 0xae147ade}, /* 64.0000=f(-0.84000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea8f5c, 0x28f5c28c}, /* 64.0000=f(-0.83000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea3d70, 0xa3d70a3a}, /* 64.0000=f(-0.82000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe9eb85, 0x1eb851e8}, /* 64.0000=f(-0.81000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe99999, 0x99999996}, /* 64.0000=f(-0.80000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe947ae, 0x147ae144}, /* 64.0000=f(-0.79000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8f5c2, 0x8f5c28f2}, /* 64.0000=f(-0.78000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8a3d7, 0x0a3d70a0}, /* 64.0000=f(-0.77000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe851eb, 0x851eb84e}, /* 64.0000=f(-0.76000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ffff, 0xfffffffc}, /* 64.0000=f(-0.75000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ae14, 0x7ae147aa}, /* 64.0000=f(-0.74000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe75c28, 0xf5c28f58}, /* 64.0000=f(-0.73000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe70a3d, 0x70a3d706}, /* 64.0000=f(-0.72000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6b851, 0xeb851eb4}, /* 64.0000=f(-0.71000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe66666, 0x66666662}, /* 64.0000=f(-0.70000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6147a, 0xe147ae10}, /* 64.0000=f(-0.69000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe5c28f, 0x5c28f5be}, /* 64.0000=f(-0.68000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe570a3, 0xd70a3d6c}, /* 64.0000=f(-0.67000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe51eb8, 0x51eb851a}, /* 64.0000=f(-0.66000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe4cccc, 0xccccccc8}, /* 64.0000=f(-0.65000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe47ae1, 0x47ae1476}, /* 64.0000=f(-0.64000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe428f5, 0xc28f5c24}, /* 64.0000=f(-0.63000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3d70a, 0x3d70a3d2}, /* 64.0000=f(-0.62000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3851e, 0xb851eb80}, /* 64.0000=f(-0.61000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe33333, 0x3333332e}, /* 64.0000=f(-0.60000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe2e147, 0xae147adc}, /* 64.0000=f(-0.59000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe28f5c, 0x28f5c28a}, /* 64.0000=f(-0.58000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe23d70, 0xa3d70a38}, /* 64.0000=f(-0.57000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe1eb85, 0x1eb851e6}, /* 64.0000=f(-0.56000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe19999, 0x99999994}, /* 64.0000=f(-0.55000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe147ae, 0x147ae142}, /* 64.0000=f(-0.54000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0f5c2, 0x8f5c28f0}, /* 64.0000=f(-0.53000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0a3d7, 0x0a3d709e}, /* 64.0000=f(-0.52000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe051eb, 0x851eb84c}, /* 64.0000=f(-0.51000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdfffff, 0xfffffff4}, /* 64.0000=f(-0.50000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdf5c28, 0xf5c28f50}, /* 64.0000=f(-0.49000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdeb851, 0xeb851eac}, /* 64.0000=f(-0.48000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfde147a, 0xe147ae08}, /* 64.0000=f(-0.47000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdd70a3, 0xd70a3d64}, /* 64.0000=f(-0.46000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdccccc, 0xccccccc0}, /* 64.0000=f(-0.45000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdc28f5, 0xc28f5c1c}, /* 64.0000=f(-0.44000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdb851e, 0xb851eb78}, /* 64.0000=f(-0.43000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdae147, 0xae147ad4}, /* 64.0000=f(-0.42000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfda3d70, 0xa3d70a30}, /* 64.0000=f(-0.41000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd99999, 0x9999998c}, /* 64.0000=f(-0.40000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd8f5c2, 0x8f5c28e8}, /* 64.0000=f(-0.39000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd851eb, 0x851eb844}, /* 64.0000=f(-0.38000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd7ae14, 0x7ae147a0}, /* 64.0000=f(-0.37000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd70a3d, 0x70a3d6fc}, /* 64.0000=f(-0.36000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd66666, 0x66666658}, /* 64.0000=f(-0.35000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd5c28f, 0x5c28f5b4}, /* 64.0000=f(-0.34000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd51eb8, 0x51eb8510}, /* 64.0000=f(-0.33000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd47ae1, 0x47ae146c}, /* 64.0000=f(-0.32000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd3d70a, 0x3d70a3c8}, /* 64.0000=f(-0.31000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd33333, 0x33333324}, /* 64.0000=f(-0.30000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd28f5c, 0x28f5c280}, /* 64.0000=f(-0.29000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd1eb85, 0x1eb851dc}, /* 64.0000=f(-0.28000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd147ae, 0x147ae138}, /* 64.0000=f(-0.27000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd0a3d7, 0x0a3d7094}, /* 64.0000=f(-0.26000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcfffff, 0xffffffe0}, /* 64.0000=f(-0.25000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfceb851, 0xeb851e98}, /* 64.0000=f(-0.24000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcd70a3, 0xd70a3d50}, /* 64.0000=f(-0.23000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcc28f5, 0xc28f5c08}, /* 64.0000=f(-0.22000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcae147, 0xae147ac0}, /* 64.0000=f(-0.21000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc99999, 0x99999978}, /* 64.0000=f(-0.20000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc851eb, 0x851eb830}, /* 64.0000=f(-0.19000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc70a3d, 0x70a3d6e8}, /* 64.0000=f(-0.18000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc5c28f, 0x5c28f5a0}, /* 64.0000=f(-0.17000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc47ae1, 0x47ae1458}, /* 64.0000=f(-0.16000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc33333, 0x33333310}, /* 64.0000=f(-0.15000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc1eb85, 0x1eb851c8}, /* 64.0000=f(-0.14000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc0a3d7, 0x0a3d7080}, /* 64.0000=f(-0.13000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbeb851, 0xeb851e71}, /* 64.0000=f(-0.12000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbc28f5, 0xc28f5be2}, /* 64.0000=f(-0.11000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb99999, 0x99999953}, /* 64.0000=f(-0.00100)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb70a3d, 0x70a3d6c4}, /* 64.0000=f(-0.09000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb47ae1, 0x47ae1435}, /* 64.0000=f(-0.08000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb1eb85, 0x1eb851a6}, /* 64.0000=f(-0.07000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfaeb851, 0xeb851e2d}, /* 64.0000=f(-0.06000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa99999, 0x9999990e}, /* 64.0000=f(-0.05000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa47ae1, 0x47ae13ef}, /* 64.0000=f(-0.04000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf9eb851, 0xeb851da0}, /* 64.0000=f(-0.03000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf947ae1, 0x47ae1362}, /* 64.0000=f(-0.02000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf847ae1, 0x47ae1249}, /* 64.0000=f(-0.00010)*/
+{ 0, 0,123,__LINE__, 0xc02e05a6, 0x2c79c242, 0x3cd19000, 0x00000000}, /* -15.0110=f(9.74915e-16)*/
+{13, 0,123,__LINE__, 0xc0000000, 0x0214fad3, 0x3f847ae1, 0x47ae16ad}, /* -2.00000=f(0.01000)*/
+{ 1, 0,123,__LINE__, 0xbffb2efb, 0x30021727, 0x3f947ae1, 0x47ae1594}, /* -1.69897=f(0.02000)*/
+{ 1, 0,123,__LINE__, 0xbff85db6, 0x1cb7bfcf, 0x3f9eb851, 0xeb851fd2}, /* -1.52287=f(0.03000)*/
+{ 1, 0,123,__LINE__, 0xbff65df6, 0x5bda38a7, 0x3fa47ae1, 0x47ae1508}, /* -1.39794=f(0.04000)*/
+{ 1, 0,123,__LINE__, 0xbff4d104, 0xd2017a0d, 0x3fa99999, 0x99999a27}, /* -1.30103=f(0.05000)*/
+{ 1, 0,123,__LINE__, 0xbff38cb1, 0x488fe14f, 0x3faeb851, 0xeb851f46}, /* -1.22184=f(0.06000)*/
+{ 1, 0,123,__LINE__, 0xbff27a7a, 0x79197291, 0x3fb1eb85, 0x1eb85232}, /* -1.15490=f(0.07000)*/
+{ 1, 0,123,__LINE__, 0xbff18cf1, 0x87b25a27, 0x3fb47ae1, 0x47ae14c1}, /* -1.09691=f(0.08000)*/
+{ 1, 0,123,__LINE__, 0xbff0bb6c, 0x300f62e3, 0x3fb70a3d, 0x70a3d750}, /* -1.04575=f(0.09000)*/
+{ 1, 0,123,__LINE__, 0xbfefffff, 0xfbb3371b, 0x3fb99999, 0x999999df}, /* -1.00000=f(0.10000)*/
+{ 1, 0,123,__LINE__, 0xbfeeace9, 0x3e2d1922, 0x3fbc28f5, 0xc28f5c6e}, /* -0.95860=f(0.11000)*/
+{ 1, 0,123,__LINE__, 0xbfed7758, 0xe8d0059f, 0x3fbeb851, 0xeb851efd}, /* -0.92081=f(0.12000)*/
+{ 1, 0,123,__LINE__, 0xbfec5a93, 0x813be142, 0x3fc0a3d7, 0x0a3d70c6}, /* -0.88605=f(0.13000)*/
+{ 1, 0,123,__LINE__, 0xbfeb52eb, 0x49e32823, 0x3fc1eb85, 0x1eb8520e}, /* -0.85387=f(0.14000)*/
+{ 1, 0,123,__LINE__, 0xbfea5d75, 0xd4acd895, 0x3fc33333, 0x33333356}, /* -0.82390=f(0.15000)*/
+{ 1, 0,123,__LINE__, 0xbfe977d9, 0x6714f750, 0x3fc47ae1, 0x47ae149e}, /* -0.79588=f(0.16000)*/
+{ 1, 0,123,__LINE__, 0xbfe8a029, 0x988741da, 0x3fc5c28f, 0x5c28f5e6}, /* -0.76955=f(0.17000)*/
+{ 1, 0,123,__LINE__, 0xbfe7d4ce, 0xb7cf08c7, 0x3fc70a3d, 0x70a3d72e}, /* -0.74472=f(0.18000)*/
+{ 1, 0,123,__LINE__, 0xbfe71473, 0x57aa23b9, 0x3fc851eb, 0x851eb876}, /* -0.72124=f(0.19000)*/
+{ 1, 0,123,__LINE__, 0xbfe65df6, 0x53637a1c, 0x3fc99999, 0x999999be}, /* -0.69897=f(0.20000)*/
+{ 1, 0,123,__LINE__, 0xbfe5b061, 0x313436fd, 0x3fcae147, 0xae147b06}, /* -0.67778=f(0.21000)*/
+{ 1, 0,123,__LINE__, 0xbfe50adf, 0x95dd5c23, 0x3fcc28f5, 0xc28f5c4e}, /* -0.65757=f(0.22000)*/
+{ 1, 0,123,__LINE__, 0xbfe46cb9, 0xb9618521, 0x3fcd70a3, 0xd70a3d96}, /* -0.63827=f(0.23000)*/
+{ 1, 0,123,__LINE__, 0xbfe3d54f, 0x408048a0, 0x3fceb851, 0xeb851ede}, /* -0.61978=f(0.24000)*/
+{ 1, 0,123,__LINE__, 0xbfe34413, 0x509f79ff, 0x3fd00000, 0x00000013}, /* -0.60206=f(0.25000)*/
+{ 1, 0,123,__LINE__, 0xbfe2b889, 0xd8ec2443, 0x3fd0a3d7, 0x0a3d70b7}, /* -0.58502=f(0.26000)*/
+{ 1, 0,123,__LINE__, 0xbfe23244, 0x944219a4, 0x3fd147ae, 0x147ae15b}, /* -0.56863=f(0.27000)*/
+{ 1, 0,123,__LINE__, 0xbfe1b0e1, 0xa1936b23, 0x3fd1eb85, 0x1eb851ff}, /* -0.55284=f(0.28000)*/
+{ 1, 0,123,__LINE__, 0xbfe13409, 0x206bd4c1, 0x3fd28f5c, 0x28f5c2a3}, /* -0.53760=f(0.29000)*/
+{ 1, 0,123,__LINE__, 0xbfe0bb6c, 0x2c5d1b95, 0x3fd33333, 0x33333347}, /* -0.52287=f(0.30000)*/
+{ 1, 0,123,__LINE__, 0xbfe046c3, 0xd86b6be6, 0x3fd3d70a, 0x3d70a3eb}, /* -0.50863=f(0.31000)*/
+{ 1, 0,123,__LINE__, 0xbfdfab9f, 0x7d8a74a0, 0x3fd47ae1, 0x47ae148f}, /* -0.49485=f(0.32000)*/
+{ 1, 0,123,__LINE__, 0xbfded0aa, 0xddadfb38, 0x3fd51eb8, 0x51eb8533}, /* -0.48148=f(0.33000)*/
+{ 1, 0,123,__LINE__, 0xbfddfc3f, 0xe06f09b4, 0x3fd5c28f, 0x5c28f5d7}, /* -0.46852=f(0.34000)*/
+{ 1, 0,123,__LINE__, 0xbfdd2dfd, 0x4491b4d1, 0x3fd66666, 0x6666667b}, /* -0.45593=f(0.35000)*/
+{ 1, 0,123,__LINE__, 0xbfdc658a, 0x1efe9791, 0x3fd70a3d, 0x70a3d71f}, /* -0.44369=f(0.36000)*/
+{ 1, 0,123,__LINE__, 0xbfdba295, 0x376350ca, 0x3fd7ae14, 0x7ae147c3}, /* -0.43179=f(0.37000)*/
+{ 1, 0,123,__LINE__, 0xbfdae4d3, 0x5eb4cd74, 0x3fd851eb, 0x851eb867}, /* -0.42021=f(0.38000)*/
+{ 1, 0,123,__LINE__, 0xbfda2bff, 0x6ba1c9ed, 0x3fd8f5c2, 0x8f5c290b}, /* -0.40893=f(0.39000)*/
+{ 1, 0,123,__LINE__, 0xbfd977d9, 0x56277a39, 0x3fd99999, 0x999999af}, /* -0.39794=f(0.40000)*/
+{ 1, 0,123,__LINE__, 0xbfd8c826, 0x3e8468cc, 0x3fda3d70, 0xa3d70a53}, /* -0.38721=f(0.41000)*/
+{ 1, 0,123,__LINE__, 0xbfd81caf, 0x11c8f3fc, 0x3fdae147, 0xae147af7}, /* -0.37675=f(0.42000)*/
+{ 1, 0,123,__LINE__, 0xbfd77540, 0xb38886a3, 0x3fdb851e, 0xb851eb9b}, /* -0.36653=f(0.43000)*/
+{ 1, 0,123,__LINE__, 0xbfd6d1ab, 0xdb1b3e47, 0x3fdc28f5, 0xc28f5c3f}, /* -0.35654=f(0.44000)*/
+{ 1, 0,123,__LINE__, 0xbfd631c4, 0x2e4f33a6, 0x3fdccccc, 0xcccccce3}, /* -0.34678=f(0.45000)*/
+{ 1, 0,123,__LINE__, 0xbfd59560, 0x22239043, 0x3fdd70a3, 0xd70a3d87}, /* -0.33724=f(0.46000)*/
+{ 1, 0,123,__LINE__, 0xbfd4fc59, 0x43beb17c, 0x3fde147a, 0xe147ae2b}, /* -0.32790=f(0.47000)*/
+{ 1, 0,123,__LINE__, 0xbfd4668b, 0x30611741, 0x3fdeb851, 0xeb851ecf}, /* -0.31875=f(0.48000)*/
+{ 1, 0,123,__LINE__, 0xbfd3d3d3, 0xc982eada, 0x3fdf5c28, 0xf5c28f73}, /* -0.30980=f(0.49000)*/
+{ 1, 0,123,__LINE__, 0xbfd34413, 0x509f79ff, 0x3fe00000, 0x0000000b}, /* -0.30103=f(0.50000)*/
+{ 1, 0,123,__LINE__, 0xbfd2b72b, 0x9db1fa7d, 0x3fe051eb, 0x851eb85d}, /* -0.29242=f(0.51000)*/
+{ 1, 0,123,__LINE__, 0xbfd22d00, 0x6138ce88, 0x3fe0a3d7, 0x0a3d70af}, /* -0.28399=f(0.52000)*/
+{ 1, 0,123,__LINE__, 0xbfd1a576, 0xec9e8e93, 0x3fe0f5c2, 0x8f5c2901}, /* -0.27572=f(0.53000)*/
+{ 1, 0,123,__LINE__, 0xbfd12075, 0xd7e4b949, 0x3fe147ae, 0x147ae153}, /* -0.26760=f(0.54000)*/
+{ 1, 0,123,__LINE__, 0xbfd09de5, 0xc434111f, 0x3fe19999, 0x999999a5}, /* -0.25963=f(0.55000)*/
+{ 1, 0,123,__LINE__, 0xbfd01daf, 0xf2875c47, 0x3fe1eb85, 0x1eb851f7}, /* -0.25181=f(0.56000)*/
+{ 1, 0,123,__LINE__, 0xbfcf3f7e, 0x215020cf, 0x3fe23d70, 0xa3d70a49}, /* -0.24412=f(0.57000)*/
+{ 1, 0,123,__LINE__, 0xbfce47fd, 0xe0705f08, 0x3fe28f5c, 0x28f5c29b}, /* -0.23657=f(0.58000)*/
+{ 1, 0,123,__LINE__, 0xbfcd54b8, 0xcedabb0f, 0x3fe2e147, 0xae147aed}, /* -0.22914=f(0.59000)*/
+{ 1, 0,123,__LINE__, 0xbfcc658a, 0x10357a58, 0x3fe33333, 0x3333333f}, /* -0.22184=f(0.60000)*/
+{ 1, 0,123,__LINE__, 0xbfcb7a4f, 0xd26858a5, 0x3fe3851e, 0xb851eb91}, /* -0.21467=f(0.61000)*/
+{ 1, 0,123,__LINE__, 0xbfca92e8, 0xc06ebb99, 0x3fe3d70a, 0x3d70a3e3}, /* -0.20760=f(0.62000)*/
+{ 1, 0,123,__LINE__, 0xbfc9af35, 0x87786ddd, 0x3fe428f5, 0xc28f5c35}, /* -0.20065=f(0.63000)*/
+{ 1, 0,123,__LINE__, 0xbfc8cf18, 0x59d5f543, 0x3fe47ae1, 0x47ae1487}, /* -0.19382=f(0.64000)*/
+{ 1, 0,123,__LINE__, 0xbfc7f274, 0x9b962186, 0x3fe4cccc, 0xccccccd9}, /* -0.18708=f(0.65000)*/
+{ 1, 0,123,__LINE__, 0xbfc7192f, 0x1a1d0273, 0x3fe51eb8, 0x51eb852b}, /* -0.18045=f(0.66000)*/
+{ 1, 0,123,__LINE__, 0xbfc6432e, 0x43bade15, 0x3fe570a3, 0xd70a3d7d}, /* -0.17392=f(0.67000)*/
+{ 1, 0,123,__LINE__, 0xbfc57059, 0x1f9f1f6b, 0x3fe5c28f, 0x5c28f5cf}, /* -0.16749=f(0.68000)*/
+{ 1, 0,123,__LINE__, 0xbfc4a097, 0xe6b77b5c, 0x3fe6147a, 0xe147ae21}, /* -0.16115=f(0.69000)*/
+{ 1, 0,123,__LINE__, 0xbfc3d3d3, 0xe7e475a4, 0x3fe66666, 0x66666673}, /* -0.15490=f(0.70000)*/
+{ 1, 0,123,__LINE__, 0xbfc309f7, 0x6df4a518, 0x3fe6b851, 0xeb851ec5}, /* -0.14874=f(0.71000)*/
+{ 1, 0,123,__LINE__, 0xbfc242ed, 0x9cbe3b23, 0x3fe70a3d, 0x70a3d717}, /* -0.14266=f(0.72000)*/
+{ 1, 0,123,__LINE__, 0xbfc17ea2, 0xeaf56c43, 0x3fe75c28, 0xf5c28f69}, /* -0.13667=f(0.73000)*/
+{ 1, 0,123,__LINE__, 0xbfc0bd03, 0xcd87ad97, 0x3fe7ae14, 0x7ae147bb}, /* -0.13076=f(0.74000)*/
+{ 1, 0,123,__LINE__, 0xbfbffbfc, 0x456f68a7, 0x3fe80000, 0x0000000d}, /* -0.12493=f(0.75000)*/
+{ 1, 0,123,__LINE__, 0xbfbe8300, 0x38554dd7, 0x3fe851eb, 0x851eb85f}, /* -0.11918=f(0.76000)*/
+{ 1, 0,123,__LINE__, 0xbfbd0ef1, 0xcb59ff20, 0x3fe8a3d7, 0x0a3d70b1}, /* -0.11350=f(0.77000)*/
+{ 1, 0,123,__LINE__, 0xbfbb9fb0, 0x6c093fb8, 0x3fe8f5c2, 0x8f5c2903}, /* -0.10790=f(0.78000)*/
+{ 1, 0,123,__LINE__, 0xbfba351c, 0x4a7f306b, 0x3fe947ae, 0x147ae155}, /* -0.10237=f(0.79000)*/
+{ 1, 0,123,__LINE__, 0xbfb8cf18, 0x162000ea, 0x3fe99999, 0x999999a7}, /* -0.09691=f(0.80000)*/
+{ 1, 0,123,__LINE__, 0xbfb76d86, 0x9a1b5bfa, 0x3fe9eb85, 0x1eb851f9}, /* -0.09151=f(0.81000)*/
+{ 1, 0,123,__LINE__, 0xbfb6104b, 0xb793bb35, 0x3fea3d70, 0xa3d70a4b}, /* -0.08618=f(0.82000)*/
+{ 1, 0,123,__LINE__, 0xbfb4b74c, 0x8169e21d, 0x3fea8f5c, 0x28f5c29d}, /* -0.08092=f(0.83000)*/
+{ 1, 0,123,__LINE__, 0xbfb3626f, 0x04a5e7f4, 0x3feae147, 0xae147aef}, /* -0.07572=f(0.84000)*/
+{ 1, 0,123,__LINE__, 0xbfb21199, 0xbd7dd04e, 0x3feb3333, 0x33333341}, /* -0.07058=f(0.85000)*/
+{ 1, 0,123,__LINE__, 0xbfb0c4b5, 0x8ba43292, 0x3feb851e, 0xb851eb93}, /* -0.06550=f(0.86000)*/
+{ 1, 0,123,__LINE__, 0xbfaef755, 0x18769125, 0x3febd70a, 0x3d70a3e5}, /* -0.06048=f(0.87000)*/
+{ 1, 0,123,__LINE__, 0xbfac6cc4, 0x53de2240, 0x3fec28f5, 0xc28f5c37}, /* -0.05551=f(0.88000)*/
+{ 1, 0,123,__LINE__, 0xbfa9e98d, 0xcabcb3bd, 0x3fec7ae1, 0x47ae1489}, /* -0.05060=f(0.89000)*/
+{ 1, 0,123,__LINE__, 0xbfa76d86, 0xed7dcd39, 0x3feccccc, 0xccccccdb}, /* -0.04575=f(0.90000)*/
+{ 1, 0,123,__LINE__, 0xbfa4f886, 0x5e4b4038, 0x3fed1eb8, 0x51eb852d}, /* -0.04095=f(0.91000)*/
+{ 1, 0,123,__LINE__, 0xbfa28a66, 0x8c20b224, 0x3fed70a3, 0xd70a3d7f}, /* -0.03621=f(0.92000)*/
+{ 1, 0,123,__LINE__, 0xbfa02300, 0xb43b7e7e, 0x3fedc28f, 0x5c28f5d1}, /* -0.03151=f(0.93000)*/
+{ 1, 0,123,__LINE__, 0xbf9b845f, 0x31f377dc, 0x3fee147a, 0xe147ae23}, /* -0.02687=f(0.94000)*/
+{ 1, 0,123,__LINE__, 0xbf96cf9f, 0xe2105135, 0x3fee6666, 0x66666675}, /* -0.02227=f(0.95000)*/
+{ 1, 0,123,__LINE__, 0xbf92277d, 0xfc19d425, 0x3feeb851, 0xeb851ec7}, /* -0.01772=f(0.96000)*/
+{ 1, 0,123,__LINE__, 0xbf8b176a, 0x16d2ba27, 0x3fef0a3d, 0x70a3d719}, /* -0.01322=f(0.97000)*/
+{ 1, 0,123,__LINE__, 0xbf81f80f, 0x1c6e1b65, 0x3fef5c28, 0xf5c28f6b}, /* -0.00877=f(0.98000)*/
+{ 1, 0,123,__LINE__, 0xbf71e0d3, 0x72b85936, 0x3fefae14, 0x7ae147bd}, /* -0.00436=f(0.99000)*/
+{ 0, 0,123,__LINE__, 0x00000000, 0x00000000, 0x3ff00000, 0x00000007}, /* 0.00000=f(1.00000)*/
+{ 0, 0,123,__LINE__, 0x3f71b348, 0xd010f4f7, 0x3ff028f5, 0xc28f5c30}, /* 0.00432=f(1.01000)*/
+{ 0, 0,123,__LINE__, 0x3f819cf6, 0x5daff043, 0x3ff051eb, 0x851eb859}, /* 0.00860=f(1.02000)*/
+{ 0, 0,123,__LINE__, 0x3f8a4a65, 0x7e10a246, 0x3ff07ae1, 0x47ae1482}, /* 0.01283=f(1.03000)*/
+{ 0, 0,123,__LINE__, 0x3f91712e, 0xf66ab768, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.01703=f(1.04000)*/
+{ 0, 0,123,__LINE__, 0x3f95b2a4, 0x61b3deee, 0x3ff0cccc, 0xccccccd4}, /* 0.02118=f(1.05000)*/
+{ 0, 0,123,__LINE__, 0x3f99e9c6, 0x400eb6b4, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.02530=f(1.06000)*/
+{ 0, 0,123,__LINE__, 0x3f9e16c9, 0x719263f9, 0x3ff11eb8, 0x51eb8526}, /* 0.02938=f(1.07000)*/
+{ 0, 0,123,__LINE__, 0x3fa11ceb, 0xc5d605b0, 0x3ff147ae, 0x147ae14f}, /* 0.03342=f(1.08000)*/
+{ 0, 0,123,__LINE__, 0x3fa32991, 0x3ffe6b76, 0x3ff170a3, 0xd70a3d78}, /* 0.03742=f(1.09000)*/
+{ 0, 0,123,__LINE__, 0x3fa5316c, 0x635b46fd, 0x3ff19999, 0x999999a1}, /* 0.04139=f(1.10000)*/
+{ 0, 0,123,__LINE__, 0x3fa73492, 0xe6e4c0cc, 0x3ff1c28f, 0x5c28f5ca}, /* 0.04532=f(1.11000)*/
+{ 0, 0,123,__LINE__, 0x3fa9331a, 0xf0c0edbc, 0x3ff1eb85, 0x1eb851f3}, /* 0.04921=f(1.12000)*/
+{ 0, 0,123,__LINE__, 0x3fab2d18, 0xce92b643, 0x3ff2147a, 0xe147ae1c}, /* 0.05307=f(1.13000)*/
+{ 0, 0,123,__LINE__, 0x3fad22a1, 0xffbb4cbb, 0x3ff23d70, 0xa3d70a45}, /* 0.05690=f(1.14000)*/
+{ 0, 0,123,__LINE__, 0x3faf13c9, 0x4cbcde70, 0x3ff26666, 0x6666666e}, /* 0.06069=f(1.15000)*/
+{ 0, 0,123,__LINE__, 0x3fb08051, 0x819d29eb, 0x3ff28f5c, 0x28f5c297}, /* 0.06445=f(1.16000)*/
+{ 0, 0,123,__LINE__, 0x3fb174a0, 0x9492be52, 0x3ff2b851, 0xeb851ec0}, /* 0.06818=f(1.17000)*/
+{ 0, 0,123,__LINE__, 0x3fb266db, 0xa4c871dc, 0x3ff2e147, 0xae147ae9}, /* 0.07188=f(1.18000)*/
+{ 0, 0,123,__LINE__, 0x3fb3570c, 0x08999da5, 0x3ff30a3d, 0x70a3d712}, /* 0.07554=f(1.19000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01921fb, 0x54442d18}, /* 64.0000=f(-6.28318)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* 64.0000=f(-4.71238)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc00921fb, 0x54442d18}, /* 64.0000=f(-3.14159)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff921fb, 0x54442d18}, /* 64.0000=f(-1.57079)*/
+{ 9,15, 39,__LINE__, 0x40500000, 0x00000000, 0x00000000, 0x00000000}, /* 64.0000=f(0.00000)*/
+{ 0, 0,123,__LINE__, 0x3fc91a74, 0xe7f747ef, 0x3ff921fb, 0x54442d18}, /* 0.19611=f(1.57079)*/
+{10, 0,123,__LINE__, 0x3fdfd14d, 0xc49b1df6, 0x400921fb, 0x54442d18}, /* 0.49714=f(3.14159)*/
+{ 1, 0,123,__LINE__, 0x3fe58b30, 0xfb6e2ff7, 0x4012d97c, 0x7f3321d2}, /* 0.67324=f(4.71238)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03e0000, 0x00000000}, /* 64.0000=f(-30.0000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* 64.0000=f(-28.3000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03a9999, 0x9999999a}, /* 64.0000=f(-26.6000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc038e666, 0x66666667}, /* 64.0000=f(-24.9000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0373333, 0x33333334}, /* 64.0000=f(-23.2000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0358000, 0x00000001}, /* 64.0000=f(-21.5000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc033cccc, 0xccccccce}, /* 64.0000=f(-19.8000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0321999, 0x9999999b}, /* 64.0000=f(-18.1000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0306666, 0x66666668}, /* 64.0000=f(-16.4000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02d6666, 0x6666666a}, /* 64.0000=f(-14.7000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02a0000, 0x00000004}, /* 64.0000=f(-13.0000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0269999, 0x9999999e}, /* 64.0000=f(-11.3000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0233333, 0x33333338}, /* 64.0000=f(-9.60000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01f9999, 0x999999a3}, /* 64.0000=f(-7.90000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* 64.0000=f(-6.20000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0120000, 0x00000009}, /* 64.0000=f(-4.50000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0066666, 0x66666678}, /* 64.0000=f(-2.80000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x999999bd}, /* 64.0000=f(-1.10000)*/
+{ 1, 0,123,__LINE__, 0xbfcc658a, 0x10357a58, 0x3fe33333, 0x333332ec}, /* -0.22184=f(0.60000)*/
+{10, 0,123,__LINE__, 0x3fd7268c, 0x7a3715cd, 0x40026666, 0x66666654}, /* 0.36172=f(2.30000)*/
+{ 1, 0,123,__LINE__, 0x3fe34413, 0x509f79ff, 0x400fffff, 0xffffffee}, /* 0.60206=f(4.00000)*/
+{ 1, 0,123,__LINE__, 0x3fe83020, 0x6f740fae, 0x4016cccc, 0xccccccc4}, /* 0.75587=f(5.70000)*/
+{ 1, 0,123,__LINE__, 0x3febd0bf, 0x0bcabb18, 0x401d9999, 0x99999991}, /* 0.86923=f(7.40000)*/
+{ 1, 0,123,__LINE__, 0x3feeb077, 0x9e7e198e, 0x40223333, 0x3333332f}, /* 0.95904=f(9.10000)*/
+{ 1, 0,123,__LINE__, 0x3ff088e7, 0x5c084bbb, 0x40259999, 0x99999995}, /* 1.03342=f(10.8000)*/
+{ 1, 0,123,__LINE__, 0x3ff18cf1, 0x827c3313, 0x4028ffff, 0xfffffffb}, /* 1.09691=f(12.5000)*/
+{ 1, 0,123,__LINE__, 0x3ff26fc5, 0xe5ff9d1c, 0x402c6666, 0x66666661}, /* 1.15228=f(14.2000)*/
+{ 1, 0,123,__LINE__, 0x3ff338ec, 0x2e1ab0cd, 0x402fcccc, 0xccccccc7}, /* 1.20139=f(15.9000)*/
+{ 1, 0,123,__LINE__, 0x3ff3ed9e, 0xb3ba5437, 0x40319999, 0x99999997}, /* 1.24551=f(17.6000)*/
+{ 1, 0,123,__LINE__, 0x3ff491a4, 0x858fbbe4, 0x40334ccc, 0xccccccca}, /* 1.28555=f(19.3000)*/
+{ 1, 0,123,__LINE__, 0x3ff527cf, 0x6a0bfa62, 0x4034ffff, 0xfffffffd}, /* 1.32221=f(21.0000)*/
+{ 1, 0,123,__LINE__, 0x3ff5b248, 0x2f4b06cc, 0x4036b333, 0x33333330}, /* 1.35602=f(22.7000)*/
+{ 1, 0,123,__LINE__, 0x3ff632bf, 0xa9e6bddc, 0x40386666, 0x66666663}, /* 1.38739=f(24.4000)*/
+{ 1, 0,123,__LINE__, 0x3ff6aa8f, 0x3c881cdc, 0x403a1999, 0x99999996}, /* 1.41664=f(26.1000)*/
+{ 1, 0,123,__LINE__, 0x3ff71ace, 0xb43ddb6b, 0x403bcccc, 0xccccccc9}, /* 1.44404=f(27.8000)*/
+{ 1, 0,123,__LINE__, 0x3ff78464, 0x17051b9e, 0x403d7fff, 0xfffffffc}, /* 1.46982=f(29.5000)*/
+0,};
+test_log10f(m) {run_vector_1(m,log10f_vec,(char *)(log10f),"log10f","ff"); }
diff --git a/newlib/libm/test/log1p_vec.c b/newlib/libm/test/log1p_vec.c
new file mode 100644
index 00000000000..9966b86374e
--- /dev/null
+++ b/newlib/libm/test/log1p_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type log1p_vec[] = {
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff33333, 0x33333333}, /* 64.0000=f(-1.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* 64.0000=f(-1.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* 64.0000=f(-1.18000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* 64.0000=f(-1.17000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* 64.0000=f(-1.16000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff26666, 0x66666666}, /* 64.0000=f(-1.15000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* 64.0000=f(-1.14000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* 64.0000=f(-1.13000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* 64.0000=f(-1.12000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* 64.0000=f(-1.11000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x99999999}, /* 64.0000=f(-1.10000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* 64.0000=f(-1.09000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff147ae, 0x147ae147}, /* 64.0000=f(-1.08000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* 64.0000=f(-1.07000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* 64.0000=f(-1.06000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* 64.0000=f(-1.05000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* 64.0000=f(-1.04000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* 64.0000=f(-1.03000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff051eb, 0x851eb851}, /* 64.0000=f(-1.02000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* 64.0000=f(-1.01000)*/
+{64, 0,123,__LINE__, 0xbfefffff, 0xfffffffe, 0xbfefffff, 0xfffffffe}, /* -0.01000=f(-0.01000)*/
+{64, 0,123,__LINE__, 0xbfefae14, 0x7ae147ac, 0xbfefae14, 0x7ae147ac}, /* -0.99000=f(-0.99000)*/
+{64, 0,123,__LINE__, 0xbfef5c28, 0xf5c28f5a, 0xbfef5c28, 0xf5c28f5a}, /* -0.98000=f(-0.98000)*/
+{64, 0,123,__LINE__, 0xbfef0a3d, 0x70a3d708, 0xbfef0a3d, 0x70a3d708}, /* -0.97000=f(-0.97000)*/
+{64, 0,123,__LINE__, 0xbfeeb851, 0xeb851eb6, 0xbfeeb851, 0xeb851eb6}, /* -0.96000=f(-0.96000)*/
+{64, 0,123,__LINE__, 0xbfee6666, 0x66666664, 0xbfee6666, 0x66666664}, /* -0.95000=f(-0.95000)*/
+{64, 0,123,__LINE__, 0xbfee147a, 0xe147ae12, 0xbfee147a, 0xe147ae12}, /* -0.94000=f(-0.94000)*/
+{64, 0,123,__LINE__, 0xbfedc28f, 0x5c28f5c0, 0xbfedc28f, 0x5c28f5c0}, /* -0.93000=f(-0.93000)*/
+{64, 0,123,__LINE__, 0xbfed70a3, 0xd70a3d6e, 0xbfed70a3, 0xd70a3d6e}, /* -0.92000=f(-0.92000)*/
+{64, 0,123,__LINE__, 0xbfed1eb8, 0x51eb851c, 0xbfed1eb8, 0x51eb851c}, /* -0.91000=f(-0.91000)*/
+{64, 0,123,__LINE__, 0xbfeccccc, 0xccccccca, 0xbfeccccc, 0xccccccca}, /* -0.90000=f(-0.90000)*/
+{64, 0,123,__LINE__, 0xbfec7ae1, 0x47ae1478, 0xbfec7ae1, 0x47ae1478}, /* -0.89000=f(-0.89000)*/
+{64, 0,123,__LINE__, 0xbfec28f5, 0xc28f5c26, 0xbfec28f5, 0xc28f5c26}, /* -0.88000=f(-0.88000)*/
+{64, 0,123,__LINE__, 0xbfebd70a, 0x3d70a3d4, 0xbfebd70a, 0x3d70a3d4}, /* -0.87000=f(-0.87000)*/
+{64, 0,123,__LINE__, 0xbfeb851e, 0xb851eb82, 0xbfeb851e, 0xb851eb82}, /* -0.86000=f(-0.86000)*/
+{64, 0,123,__LINE__, 0xbfeb3333, 0x33333330, 0xbfeb3333, 0x33333330}, /* -0.85000=f(-0.85000)*/
+{64, 0,123,__LINE__, 0xbfeae147, 0xae147ade, 0xbfeae147, 0xae147ade}, /* -0.84000=f(-0.84000)*/
+{64, 0,123,__LINE__, 0xbfea8f5c, 0x28f5c28c, 0xbfea8f5c, 0x28f5c28c}, /* -0.83000=f(-0.83000)*/
+{64, 0,123,__LINE__, 0xbfea3d70, 0xa3d70a3a, 0xbfea3d70, 0xa3d70a3a}, /* -0.82000=f(-0.82000)*/
+{64, 0,123,__LINE__, 0xbfe9eb85, 0x1eb851e8, 0xbfe9eb85, 0x1eb851e8}, /* -0.81000=f(-0.81000)*/
+{64, 0,123,__LINE__, 0xbfe99999, 0x99999996, 0xbfe99999, 0x99999996}, /* -0.80000=f(-0.80000)*/
+{64, 0,123,__LINE__, 0xbfe947ae, 0x147ae144, 0xbfe947ae, 0x147ae144}, /* -0.79000=f(-0.79000)*/
+{64, 0,123,__LINE__, 0xbfe8f5c2, 0x8f5c28f2, 0xbfe8f5c2, 0x8f5c28f2}, /* -0.78000=f(-0.78000)*/
+{64, 0,123,__LINE__, 0xbfe8a3d7, 0x0a3d70a0, 0xbfe8a3d7, 0x0a3d70a0}, /* -0.77000=f(-0.77000)*/
+{64, 0,123,__LINE__, 0xbfe851eb, 0x851eb84e, 0xbfe851eb, 0x851eb84e}, /* -0.76000=f(-0.76000)*/
+{64, 0,123,__LINE__, 0xbfe7ffff, 0xfffffffc, 0xbfe7ffff, 0xfffffffc}, /* -0.75000=f(-0.75000)*/
+{64, 0,123,__LINE__, 0xbfe7ae14, 0x7ae147aa, 0xbfe7ae14, 0x7ae147aa}, /* -0.74000=f(-0.74000)*/
+{64, 0,123,__LINE__, 0xbfe75c28, 0xf5c28f58, 0xbfe75c28, 0xf5c28f58}, /* -0.73000=f(-0.73000)*/
+{64, 0,123,__LINE__, 0xbfe70a3d, 0x70a3d706, 0xbfe70a3d, 0x70a3d706}, /* -0.72000=f(-0.72000)*/
+{64, 0,123,__LINE__, 0xbfe6b851, 0xeb851eb4, 0xbfe6b851, 0xeb851eb4}, /* -0.71000=f(-0.71000)*/
+{64, 0,123,__LINE__, 0xbfe66666, 0x66666662, 0xbfe66666, 0x66666662}, /* -0.70000=f(-0.70000)*/
+{64, 0,123,__LINE__, 0xbfe6147a, 0xe147ae10, 0xbfe6147a, 0xe147ae10}, /* -0.69000=f(-0.69000)*/
+{64, 0,123,__LINE__, 0xbfe5c28f, 0x5c28f5be, 0xbfe5c28f, 0x5c28f5be}, /* -0.68000=f(-0.68000)*/
+{64, 0,123,__LINE__, 0xbfe570a3, 0xd70a3d6c, 0xbfe570a3, 0xd70a3d6c}, /* -0.67000=f(-0.67000)*/
+{64, 0,123,__LINE__, 0xbfe51eb8, 0x51eb851a, 0xbfe51eb8, 0x51eb851a}, /* -0.66000=f(-0.66000)*/
+{64, 0,123,__LINE__, 0xbfe4cccc, 0xccccccc8, 0xbfe4cccc, 0xccccccc8}, /* -0.65000=f(-0.65000)*/
+{64, 0,123,__LINE__, 0xbfe47ae1, 0x47ae1476, 0xbfe47ae1, 0x47ae1476}, /* -0.64000=f(-0.64000)*/
+{64, 0,123,__LINE__, 0xbfe428f5, 0xc28f5c24, 0xbfe428f5, 0xc28f5c24}, /* -0.63000=f(-0.63000)*/
+{64, 0,123,__LINE__, 0xbfe3d70a, 0x3d70a3d2, 0xbfe3d70a, 0x3d70a3d2}, /* -0.62000=f(-0.62000)*/
+{64, 0,123,__LINE__, 0xbfe3851e, 0xb851eb80, 0xbfe3851e, 0xb851eb80}, /* -0.61000=f(-0.61000)*/
+{64, 0,123,__LINE__, 0xbfe33333, 0x3333332e, 0xbfe33333, 0x3333332e}, /* -0.60000=f(-0.60000)*/
+{64, 0,123,__LINE__, 0xbfe2e147, 0xae147adc, 0xbfe2e147, 0xae147adc}, /* -0.59000=f(-0.59000)*/
+{64, 0,123,__LINE__, 0xbfe28f5c, 0x28f5c28a, 0xbfe28f5c, 0x28f5c28a}, /* -0.58000=f(-0.58000)*/
+{64, 0,123,__LINE__, 0xbfe23d70, 0xa3d70a38, 0xbfe23d70, 0xa3d70a38}, /* -0.57000=f(-0.57000)*/
+{64, 0,123,__LINE__, 0xbfe1eb85, 0x1eb851e6, 0xbfe1eb85, 0x1eb851e6}, /* -0.56000=f(-0.56000)*/
+{64, 0,123,__LINE__, 0xbfe19999, 0x99999994, 0xbfe19999, 0x99999994}, /* -0.55000=f(-0.55000)*/
+{64, 0,123,__LINE__, 0xbfe147ae, 0x147ae142, 0xbfe147ae, 0x147ae142}, /* -0.54000=f(-0.54000)*/
+{64, 0,123,__LINE__, 0xbfe0f5c2, 0x8f5c28f0, 0xbfe0f5c2, 0x8f5c28f0}, /* -0.53000=f(-0.53000)*/
+{64, 0,123,__LINE__, 0xbfe0a3d7, 0x0a3d709e, 0xbfe0a3d7, 0x0a3d709e}, /* -0.52000=f(-0.52000)*/
+{64, 0,123,__LINE__, 0xbfe051eb, 0x851eb84c, 0xbfe051eb, 0x851eb84c}, /* -0.51000=f(-0.51000)*/
+{64, 0,123,__LINE__, 0xbfdfffff, 0xfffffff4, 0xbfdfffff, 0xfffffff4}, /* -0.50000=f(-0.50000)*/
+{64, 0,123,__LINE__, 0xbfdf5c28, 0xf5c28f50, 0xbfdf5c28, 0xf5c28f50}, /* -0.49000=f(-0.49000)*/
+{64, 0,123,__LINE__, 0xbfdeb851, 0xeb851eac, 0xbfdeb851, 0xeb851eac}, /* -0.48000=f(-0.48000)*/
+{64, 0,123,__LINE__, 0xbfde147a, 0xe147ae08, 0xbfde147a, 0xe147ae08}, /* -0.47000=f(-0.47000)*/
+{64, 0,123,__LINE__, 0xbfdd70a3, 0xd70a3d64, 0xbfdd70a3, 0xd70a3d64}, /* -0.46000=f(-0.46000)*/
+{64, 0,123,__LINE__, 0xbfdccccc, 0xccccccc0, 0xbfdccccc, 0xccccccc0}, /* -0.45000=f(-0.45000)*/
+{64, 0,123,__LINE__, 0xbfdc28f5, 0xc28f5c1c, 0xbfdc28f5, 0xc28f5c1c}, /* -0.44000=f(-0.44000)*/
+{64, 0,123,__LINE__, 0xbfdb851e, 0xb851eb78, 0xbfdb851e, 0xb851eb78}, /* -0.43000=f(-0.43000)*/
+{64, 0,123,__LINE__, 0xbfdae147, 0xae147ad4, 0xbfdae147, 0xae147ad4}, /* -0.42000=f(-0.42000)*/
+{64, 0,123,__LINE__, 0xbfda3d70, 0xa3d70a30, 0xbfda3d70, 0xa3d70a30}, /* -0.41000=f(-0.41000)*/
+{64, 0,123,__LINE__, 0xbfd99999, 0x9999998c, 0xbfd99999, 0x9999998c}, /* -0.40000=f(-0.40000)*/
+{64, 0,123,__LINE__, 0xbfd8f5c2, 0x8f5c28e8, 0xbfd8f5c2, 0x8f5c28e8}, /* -0.39000=f(-0.39000)*/
+{64, 0,123,__LINE__, 0xbfd851eb, 0x851eb844, 0xbfd851eb, 0x851eb844}, /* -0.38000=f(-0.38000)*/
+{64, 0,123,__LINE__, 0xbfd7ae14, 0x7ae147a0, 0xbfd7ae14, 0x7ae147a0}, /* -0.37000=f(-0.37000)*/
+{64, 0,123,__LINE__, 0xbfd70a3d, 0x70a3d6fc, 0xbfd70a3d, 0x70a3d6fc}, /* -0.36000=f(-0.36000)*/
+{64, 0,123,__LINE__, 0xbfd66666, 0x66666658, 0xbfd66666, 0x66666658}, /* -0.35000=f(-0.35000)*/
+{64, 0,123,__LINE__, 0xbfd5c28f, 0x5c28f5b4, 0xbfd5c28f, 0x5c28f5b4}, /* -0.34000=f(-0.34000)*/
+{64, 0,123,__LINE__, 0xbfd51eb8, 0x51eb8510, 0xbfd51eb8, 0x51eb8510}, /* -0.33000=f(-0.33000)*/
+{64, 0,123,__LINE__, 0xbfd47ae1, 0x47ae146c, 0xbfd47ae1, 0x47ae146c}, /* -0.32000=f(-0.32000)*/
+{64, 0,123,__LINE__, 0xbfd3d70a, 0x3d70a3c8, 0xbfd3d70a, 0x3d70a3c8}, /* -0.31000=f(-0.31000)*/
+{64, 0,123,__LINE__, 0xbfd33333, 0x33333324, 0xbfd33333, 0x33333324}, /* -0.30000=f(-0.30000)*/
+{64, 0,123,__LINE__, 0xbfd28f5c, 0x28f5c280, 0xbfd28f5c, 0x28f5c280}, /* -0.29000=f(-0.29000)*/
+{64, 0,123,__LINE__, 0xbfd1eb85, 0x1eb851dc, 0xbfd1eb85, 0x1eb851dc}, /* -0.28000=f(-0.28000)*/
+{64, 0,123,__LINE__, 0xbfd147ae, 0x147ae138, 0xbfd147ae, 0x147ae138}, /* -0.27000=f(-0.27000)*/
+{64, 0,123,__LINE__, 0xbfd0a3d7, 0x0a3d7094, 0xbfd0a3d7, 0x0a3d7094}, /* -0.26000=f(-0.26000)*/
+{64, 0,123,__LINE__, 0xbfcfffff, 0xffffffe0, 0xbfcfffff, 0xffffffe0}, /* -0.25000=f(-0.25000)*/
+{64, 0,123,__LINE__, 0xbfceb851, 0xeb851e98, 0xbfceb851, 0xeb851e98}, /* -0.24000=f(-0.24000)*/
+{64, 0,123,__LINE__, 0xbfcd70a3, 0xd70a3d50, 0xbfcd70a3, 0xd70a3d50}, /* -0.23000=f(-0.23000)*/
+{64, 0,123,__LINE__, 0xbfcc28f5, 0xc28f5c08, 0xbfcc28f5, 0xc28f5c08}, /* -0.22000=f(-0.22000)*/
+{64, 0,123,__LINE__, 0xbfcae147, 0xae147ac0, 0xbfcae147, 0xae147ac0}, /* -0.21000=f(-0.21000)*/
+{64, 0,123,__LINE__, 0xbfc99999, 0x99999978, 0xbfc99999, 0x99999978}, /* -0.20000=f(-0.20000)*/
+{64, 0,123,__LINE__, 0xbfc851eb, 0x851eb830, 0xbfc851eb, 0x851eb830}, /* -0.19000=f(-0.19000)*/
+{64, 0,123,__LINE__, 0xbfc70a3d, 0x70a3d6e8, 0xbfc70a3d, 0x70a3d6e8}, /* -0.18000=f(-0.18000)*/
+{64, 0,123,__LINE__, 0xbfc5c28f, 0x5c28f5a0, 0xbfc5c28f, 0x5c28f5a0}, /* -0.17000=f(-0.17000)*/
+{64, 0,123,__LINE__, 0xbfc47ae1, 0x47ae1458, 0xbfc47ae1, 0x47ae1458}, /* -0.16000=f(-0.16000)*/
+{64, 0,123,__LINE__, 0xbfc33333, 0x33333310, 0xbfc33333, 0x33333310}, /* -0.15000=f(-0.15000)*/
+{64, 0,123,__LINE__, 0xbfc1eb85, 0x1eb851c8, 0xbfc1eb85, 0x1eb851c8}, /* -0.14000=f(-0.14000)*/
+{64, 0,123,__LINE__, 0xbfc0a3d7, 0x0a3d7080, 0xbfc0a3d7, 0x0a3d7080}, /* -0.13000=f(-0.13000)*/
+{64, 0,123,__LINE__, 0xbfbeb851, 0xeb851e71, 0xbfbeb851, 0xeb851e71}, /* -0.12000=f(-0.12000)*/
+{64, 0,123,__LINE__, 0xbfbc28f5, 0xc28f5be2, 0xbfbc28f5, 0xc28f5be2}, /* -0.11000=f(-0.11000)*/
+{64, 0,123,__LINE__, 0xbfb99999, 0x99999953, 0xbfb99999, 0x99999953}, /* -0.00100=f(-0.00100)*/
+{64, 0,123,__LINE__, 0xbfb70a3d, 0x70a3d6c4, 0xbfb70a3d, 0x70a3d6c4}, /* -0.09000=f(-0.09000)*/
+{64, 0,123,__LINE__, 0xbfb47ae1, 0x47ae1435, 0xbfb47ae1, 0x47ae1435}, /* -0.08000=f(-0.08000)*/
+{64, 0,123,__LINE__, 0xbfb1eb85, 0x1eb851a6, 0xbfb1eb85, 0x1eb851a6}, /* -0.07000=f(-0.07000)*/
+{64, 0,123,__LINE__, 0xbfaeb851, 0xeb851e2d, 0xbfaeb851, 0xeb851e2d}, /* -0.06000=f(-0.06000)*/
+{64, 0,123,__LINE__, 0xbfa99999, 0x9999990e, 0xbfa99999, 0x9999990e}, /* -0.05000=f(-0.05000)*/
+{64, 0,123,__LINE__, 0xbfa47ae1, 0x47ae13ef, 0xbfa47ae1, 0x47ae13ef}, /* -0.04000=f(-0.04000)*/
+{64, 0,123,__LINE__, 0xbf9eb851, 0xeb851da0, 0xbf9eb851, 0xeb851da0}, /* -0.03000=f(-0.03000)*/
+{64, 0,123,__LINE__, 0xbf947ae1, 0x47ae1362, 0xbf947ae1, 0x47ae1362}, /* -0.02000=f(-0.02000)*/
+{64, 0,123,__LINE__, 0xbf847ae1, 0x47ae1249, 0xbf847ae1, 0x47ae1249}, /* -0.00010=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x3cd18fff, 0xfffffffe, 0x3cd19000, 0x00000000}, /* 9.74915e-16=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0x3f8460d6, 0xccca38a3, 0x3f847ae1, 0x47ae16ad}, /* 0.00995=f(0.01000)*/
+{64, 0,123,__LINE__, 0x3f944723, 0xd272a905, 0x3f947ae1, 0x47ae1594}, /* 0.01980=f(0.02000)*/
+{64, 0,123,__LINE__, 0x3f9e44a9, 0xa3bed775, 0x3f9eb851, 0xeb851fd2}, /* 0.02955=f(0.03000)*/
+{64, 0,123,__LINE__, 0x3fa414bc, 0xc0a366e0, 0x3fa47ae1, 0x47ae1508}, /* 0.03922=f(0.04000)*/
+{64, 0,123,__LINE__, 0x3fa8fb06, 0x3ef2c870, 0x3fa99999, 0x99999a27}, /* 0.04879=f(0.05000)*/
+{64, 0,123,__LINE__, 0x3fadd56c, 0x1d883f65, 0x3faeb851, 0xeb851f46}, /* 0.05826=f(0.06000)*/
+{64, 0,123,__LINE__, 0x3fb15213, 0xc27c91be, 0x3fb1eb85, 0x1eb85232}, /* 0.06765=f(0.07000)*/
+{64, 0,123,__LINE__, 0x3fb3b3b8, 0x02beebd0, 0x3fb47ae1, 0x47ae14c1}, /* 0.07696=f(0.08000)*/
+{64, 0,123,__LINE__, 0x3fb60fbd, 0xd2fffc71, 0x3fb70a3d, 0x70a3d750}, /* 0.08617=f(0.09000)*/
+{64, 0,123,__LINE__, 0x3fb8663f, 0x793c4706, 0x3fb99999, 0x999999df}, /* 0.09531=f(0.10000)*/
+{64, 0,123,__LINE__, 0x3fbab756, 0x84d3e32e, 0x3fbc28f5, 0xc28f5c6e}, /* 0.10436=f(0.11000)*/
+{64, 0,123,__LINE__, 0x3fbd031b, 0xd5179e39, 0x3fbeb851, 0xeb851efd}, /* 0.11332=f(0.12000)*/
+{64, 0,123,__LINE__, 0x3fbf49a7, 0x9f8b91ca, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.12221=f(0.13000)*/
+{64, 0,123,__LINE__, 0x3fc0c588, 0xbaf19047, 0x3fc1eb85, 0x1eb8520e}, /* 0.13102=f(0.14000)*/
+{64, 0,123,__LINE__, 0x3fc1e3b8, 0x25dd060a, 0x3fc33333, 0x33333356}, /* 0.13976=f(0.15000)*/
+{64, 0,123,__LINE__, 0x3fc2ff6d, 0x3e070ed3, 0x3fc47ae1, 0x47ae149e}, /* 0.14842=f(0.16000)*/
+{64, 0,123,__LINE__, 0x3fc418b2, 0xe73e5327, 0x3fc5c28f, 0x5c28f5e6}, /* 0.15700=f(0.17000)*/
+{64, 0,123,__LINE__, 0x3fc52f93, 0xbe237442, 0x3fc70a3d, 0x70a3d72e}, /* 0.16551=f(0.18000)*/
+{64, 0,123,__LINE__, 0x3fc6441a, 0x1a9027c6, 0x3fc851eb, 0x851eb876}, /* 0.17395=f(0.19000)*/
+{64, 0,123,__LINE__, 0x3fc75650, 0x11e49695, 0x3fc99999, 0x999999be}, /* 0.18232=f(0.20000)*/
+{64, 0,123,__LINE__, 0x3fc8663f, 0x793c46e5, 0x3fcae147, 0xae147b06}, /* 0.19062=f(0.21000)*/
+{64, 0,123,__LINE__, 0x3fc973f1, 0xe78bc6c7, 0x3fcc28f5, 0xc28f5c4e}, /* 0.19885=f(0.22000)*/
+{64, 0,123,__LINE__, 0x3fca7f70, 0xb7a83a9e, 0x3fcd70a3, 0xd70a3d96}, /* 0.20701=f(0.23000)*/
+{64, 0,123,__LINE__, 0x3fcb88c5, 0x0a39e287, 0x3fceb851, 0xeb851ede}, /* 0.21511=f(0.24000)*/
+{64, 0,123,__LINE__, 0x3fcc8ff7, 0xc79a9a40, 0x3fd00000, 0x00000013}, /* 0.22314=f(0.25000)*/
+{64, 0,123,__LINE__, 0x3fcd9511, 0xa1a1488f, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.23111=f(0.26000)*/
+{64, 0,123,__LINE__, 0x3fce981b, 0x155b25b1, 0x3fd147ae, 0x147ae15b}, /* 0.23901=f(0.27000)*/
+{64, 0,123,__LINE__, 0x3fcf991c, 0x6cb3b398, 0x3fd1eb85, 0x1eb851ff}, /* 0.24686=f(0.28000)*/
+{64, 0,123,__LINE__, 0x3fd04c0e, 0xe0061b6a, 0x3fd28f5c, 0x28f5c2a3}, /* 0.25464=f(0.29000)*/
+{64, 0,123,__LINE__, 0x3fd0ca93, 0x7be1b9eb, 0x3fd33333, 0x33333347}, /* 0.26236=f(0.30000)*/
+{64, 0,123,__LINE__, 0x3fd1481f, 0xe6d734de, 0x3fd3d70a, 0x3d70a3eb}, /* 0.27002=f(0.31000)*/
+{64, 0,123,__LINE__, 0x3fd1c4b7, 0xe7415cfc, 0x3fd47ae1, 0x47ae148f}, /* 0.27763=f(0.32000)*/
+{64, 0,123,__LINE__, 0x3fd2405f, 0x2d99b178, 0x3fd51eb8, 0x51eb8533}, /* 0.28517=f(0.33000)*/
+{64, 0,123,__LINE__, 0x3fd2bb19, 0x5520356c, 0x3fd5c28f, 0x5c28f5d7}, /* 0.29266=f(0.34000)*/
+{64, 0,123,__LINE__, 0x3fd334e9, 0xe47d0804, 0x3fd66666, 0x6666667b}, /* 0.30010=f(0.35000)*/
+{64, 0,123,__LINE__, 0x3fd3add4, 0x4e5c0621, 0x3fd70a3d, 0x70a3d71f}, /* 0.30748=f(0.36000)*/
+{64, 0,123,__LINE__, 0x3fd425db, 0xf202b884, 0x3fd7ae14, 0x7ae147c3}, /* 0.31481=f(0.37000)*/
+{64, 0,123,__LINE__, 0x3fd49d04, 0x1be0ce40, 0x3fd851eb, 0x851eb867}, /* 0.32208=f(0.38000)*/
+{64, 0,123,__LINE__, 0x3fd51350, 0x061b5fdc, 0x3fd8f5c2, 0x8f5c290b}, /* 0.32930=f(0.39000)*/
+{64, 0,123,__LINE__, 0x3fd588c2, 0xd913349f, 0x3fd99999, 0x999999af}, /* 0.33647=f(0.40000)*/
+{64, 0,123,__LINE__, 0x3fd5fd5f, 0xabe64094, 0x3fda3d70, 0xa3d70a53}, /* 0.34358=f(0.41000)*/
+{64, 0,123,__LINE__, 0x3fd67129, 0x84ec8f25, 0x3fdae147, 0xae147af7}, /* 0.35065=f(0.42000)*/
+{64, 0,123,__LINE__, 0x3fd6e423, 0x5a30cb9d, 0x3fdb851e, 0xb851eb9b}, /* 0.35767=f(0.43000)*/
+{64, 0,123,__LINE__, 0x3fd75650, 0x11e49686, 0x3fdc28f5, 0xc28f5c3f}, /* 0.36464=f(0.44000)*/
+{64, 0,123,__LINE__, 0x3fd7c7b2, 0x82d0d47b, 0x3fdccccc, 0xcccccce3}, /* 0.37156=f(0.45000)*/
+{64, 0,123,__LINE__, 0x3fd8384d, 0x74c220f9, 0x3fdd70a3, 0xd70a3d87}, /* 0.37843=f(0.46000)*/
+{64, 0,123,__LINE__, 0x3fd8a823, 0xa0f18d9c, 0x3fde147a, 0xe147ae2b}, /* 0.38526=f(0.47000)*/
+{64, 0,123,__LINE__, 0x3fd91737, 0xb269d45e, 0x3fdeb851, 0xeb851ecf}, /* 0.39204=f(0.48000)*/
+{64, 0,123,__LINE__, 0x3fd9858c, 0x46692186, 0x3fdf5c28, 0xf5c28f73}, /* 0.39877=f(0.49000)*/
+{64, 0,123,__LINE__, 0x3fd9f323, 0xecbf985b, 0x3fe00000, 0x0000000b}, /* 0.40546=f(0.50000)*/
+{64, 0,123,__LINE__, 0x3fda6001, 0x282ab3e7, 0x3fe051eb, 0x851eb85d}, /* 0.41210=f(0.51000)*/
+{64, 0,123,__LINE__, 0x3fdacc26, 0x6eada3b5, 0x3fe0a3d7, 0x0a3d70af}, /* 0.41871=f(0.52000)*/
+{64, 0,123,__LINE__, 0x3fdb3796, 0x29e6c2da, 0x3fe0f5c2, 0x8f5c2901}, /* 0.42526=f(0.53000)*/
+{64, 0,123,__LINE__, 0x3fdba252, 0xb7624650, 0x3fe147ae, 0x147ae153}, /* 0.43178=f(0.54000)*/
+{64, 0,123,__LINE__, 0x3fdc0c5e, 0x68ea3e54, 0x3fe19999, 0x999999a5}, /* 0.43825=f(0.55000)*/
+{64, 0,123,__LINE__, 0x3fdc75bb, 0x84d40526, 0x3fe1eb85, 0x1eb851f7}, /* 0.44468=f(0.56000)*/
+{64, 0,123,__LINE__, 0x3fdcde6c, 0x464b347d, 0x3fe23d70, 0xa3d70a49}, /* 0.45107=f(0.57000)*/
+{64, 0,123,__LINE__, 0x3fdd4672, 0xdd9a39c5, 0x3fe28f5c, 0x28f5c29b}, /* 0.45742=f(0.58000)*/
+{64, 0,123,__LINE__, 0x3fddadd1, 0x7070a036, 0x3fe2e147, 0xae147aed}, /* 0.46373=f(0.59000)*/
+{64, 0,123,__LINE__, 0x3fde148a, 0x1a2726dc, 0x3fe33333, 0x3333333f}, /* 0.47000=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3fde7a9e, 0xec01b794, 0x3fe3851e, 0xb851eb91}, /* 0.47623=f(0.61000)*/
+{64, 0,123,__LINE__, 0x3fdee011, 0xed6f533e, 0x3fe3d70a, 0x3d70a3e3}, /* 0.48242=f(0.62000)*/
+{64, 0,123,__LINE__, 0x3fdf44e5, 0x1c480666, 0x3fe428f5, 0xc28f5c35}, /* 0.48858=f(0.63000)*/
+{64, 0,123,__LINE__, 0x3fdfa91a, 0x6d08f8e1, 0x3fe47ae1, 0x47ae1487}, /* 0.49469=f(0.64000)*/
+{64, 0,123,__LINE__, 0x3fe00659, 0xe5875506, 0x3fe4cccc, 0xccccccd9}, /* 0.50077=f(0.65000)*/
+{64, 0,123,__LINE__, 0x3fe037d9, 0x8c66b558, 0x3fe51eb8, 0x51eb852b}, /* 0.50681=f(0.66000)*/
+{64, 0,123,__LINE__, 0x3fe0690d, 0x18041250, 0x3fe570a3, 0xd70a3d7d}, /* 0.51282=f(0.67000)*/
+{64, 0,123,__LINE__, 0x3fe099f5, 0x7102bfed, 0x3fe5c28f, 0x5c28f5cf}, /* 0.51879=f(0.68000)*/
+{64, 0,123,__LINE__, 0x3fe0ca93, 0x7be1b9e3, 0x3fe6147a, 0xe147ae21}, /* 0.52472=f(0.69000)*/
+{64, 0,123,__LINE__, 0x3fe0fae8, 0x1914a998, 0x3fe66666, 0x66666673}, /* 0.53062=f(0.70000)*/
+{64, 0,123,__LINE__, 0x3fe12af4, 0x251c3038, 0x3fe6b851, 0xeb851ec5}, /* 0.53649=f(0.71000)*/
+{64, 0,123,__LINE__, 0x3fe15ab8, 0x789d7b7e, 0x3fe70a3d, 0x70a3d717}, /* 0.54232=f(0.72000)*/
+{64, 0,123,__LINE__, 0x3fe18a35, 0xe8792b90, 0x3fe75c28, 0xf5c28f69}, /* 0.54812=f(0.73000)*/
+{64, 0,123,__LINE__, 0x3fe1b96d, 0x45e18fdb, 0x3fe7ae14, 0x7ae147bb}, /* 0.55388=f(0.74000)*/
+{64, 0,123,__LINE__, 0x3fe1e85f, 0x5e7040d8, 0x3fe80000, 0x0000000d}, /* 0.55961=f(0.75000)*/
+{64, 0,123,__LINE__, 0x3fe2170c, 0xfc3b1c47, 0x3fe851eb, 0x851eb85f}, /* 0.56531=f(0.76000)*/
+{64, 0,123,__LINE__, 0x3fe24576, 0xe5e8a936, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.57097=f(0.77000)*/
+{64, 0,123,__LINE__, 0x3fe2739d, 0xdec3e8fc, 0x3fe8f5c2, 0x8f5c2903}, /* 0.57661=f(0.78000)*/
+{64, 0,123,__LINE__, 0x3fe2a182, 0xa6cf9a1c, 0x3fe947ae, 0x147ae155}, /* 0.58221=f(0.79000)*/
+{64, 0,123,__LINE__, 0x3fe2cf25, 0xfad8f1cb, 0x3fe99999, 0x999999a7}, /* 0.58778=f(0.80000)*/
+{64, 0,123,__LINE__, 0x3fe2fc88, 0x9489d0b0, 0x3fe9eb85, 0x1eb851f9}, /* 0.59332=f(0.81000)*/
+{64, 0,123,__LINE__, 0x3fe329ab, 0x2a7a773d, 0x3fea3d70, 0xa3d70a4b}, /* 0.59883=f(0.82000)*/
+{64, 0,123,__LINE__, 0x3fe3568e, 0x7042bdd8, 0x3fea8f5c, 0x28f5c29d}, /* 0.60431=f(0.83000)*/
+{64, 0,123,__LINE__, 0x3fe38333, 0x168ad4e9, 0x3feae147, 0xae147aef}, /* 0.60976=f(0.84000)*/
+{64, 0,123,__LINE__, 0x3fe3af99, 0xcb1b90b7, 0x3feb3333, 0x33333341}, /* 0.61518=f(0.85000)*/
+{64, 0,123,__LINE__, 0x3fe3dbc3, 0x38ee44c8, 0x3feb851e, 0xb851eb93}, /* 0.62057=f(0.86000)*/
+{64, 0,123,__LINE__, 0x3fe407b0, 0x083c3272, 0x3febd70a, 0x3d70a3e5}, /* 0.62593=f(0.87000)*/
+{64, 0,123,__LINE__, 0x3fe43360, 0xde8d8e13, 0x3fec28f5, 0xc28f5c37}, /* 0.63127=f(0.88000)*/
+{64, 0,123,__LINE__, 0x3fe45ed6, 0x5ec81e4a, 0x3fec7ae1, 0x47ae1489}, /* 0.63657=f(0.89000)*/
+{64, 0,123,__LINE__, 0x3fe48a11, 0x293d7863, 0x3feccccc, 0xccccccdb}, /* 0.64185=f(0.90000)*/
+{64, 0,123,__LINE__, 0x3fe4b511, 0xdbb8dd2b, 0x3fed1eb8, 0x51eb852d}, /* 0.64710=f(0.91000)*/
+{64, 0,123,__LINE__, 0x3fe4dfd9, 0x118cb90c, 0x3fed70a3, 0xd70a3d7f}, /* 0.65232=f(0.92000)*/
+{64, 0,123,__LINE__, 0x3fe50a67, 0x639fca6b, 0x3fedc28f, 0x5c28f5d1}, /* 0.65752=f(0.93000)*/
+{64, 0,123,__LINE__, 0x3fe534bd, 0x6879f10b, 0x3fee147a, 0xe147ae23}, /* 0.66268=f(0.94000)*/
+{64, 0,123,__LINE__, 0x3fe55edb, 0xb450a91b, 0x3fee6666, 0x66666675}, /* 0.66782=f(0.95000)*/
+{64, 0,123,__LINE__, 0x3fe588c2, 0xd9133497, 0x3feeb851, 0xeb851ec7}, /* 0.67294=f(0.96000)*/
+{64, 0,123,__LINE__, 0x3fe5b273, 0x66767564, 0x3fef0a3d, 0x70a3d719}, /* 0.67803=f(0.97000)*/
+{64, 0,123,__LINE__, 0x3fe5dbed, 0xea007aa4, 0x3fef5c28, 0xf5c28f6b}, /* 0.68309=f(0.98000)*/
+{64, 0,123,__LINE__, 0x3fe60532, 0xef13c38d, 0x3fefae14, 0x7ae147bd}, /* 0.68813=f(0.99000)*/
+{64, 0,123,__LINE__, 0x3fe62e42, 0xfefa39f6, 0x3ff00000, 0x00000007}, /* 0.69314=f(1.00000)*/
+{64, 0,123,__LINE__, 0x3fe6571e, 0xa0efe6db, 0x3ff028f5, 0xc28f5c30}, /* 0.69813=f(1.01000)*/
+{64, 0,123,__LINE__, 0x3fe67fc6, 0x5a2d62d0, 0x3ff051eb, 0x851eb859}, /* 0.70309=f(1.02000)*/
+{64, 0,123,__LINE__, 0x3fe6a83a, 0xadf20485, 0x3ff07ae1, 0x47ae1482}, /* 0.70803=f(1.03000)*/
+{64, 0,123,__LINE__, 0x3fe6d07c, 0x1d8dcf36, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.71294=f(1.04000)*/
+{64, 0,123,__LINE__, 0x3fe6f88b, 0x286b22f8, 0x3ff0cccc, 0xccccccd4}, /* 0.71783=f(1.05000)*/
+{64, 0,123,__LINE__, 0x3fe72068, 0x4c1830a9, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.72270=f(1.06000)*/
+{64, 0,123,__LINE__, 0x3fe74814, 0x04503345, 0x3ff11eb8, 0x51eb8526}, /* 0.72754=f(1.07000)*/
+{64, 0,123,__LINE__, 0x3fe76f8e, 0xcb04705c, 0x3ff147ae, 0x147ae14f}, /* 0.73236=f(1.08000)*/
+{64, 0,123,__LINE__, 0x3fe796d9, 0x1865013c, 0x3ff170a3, 0xd70a3d78}, /* 0.73716=f(1.09000)*/
+{64, 0,123,__LINE__, 0x3fe7bdf3, 0x62e96675, 0x3ff19999, 0x999999a1}, /* 0.74193=f(1.10000)*/
+{64, 0,123,__LINE__, 0x3fe7e4de, 0x1f58e732, 0x3ff1c28f, 0x5c28f5ca}, /* 0.74668=f(1.11000)*/
+{64, 0,123,__LINE__, 0x3fe80b99, 0xc0d2bde4, 0x3ff1eb85, 0x1eb851f3}, /* 0.75141=f(1.12000)*/
+{64, 0,123,__LINE__, 0x3fe83226, 0xb8d613b8, 0x3ff2147a, 0xe147ae1c}, /* 0.75612=f(1.13000)*/
+{64, 0,123,__LINE__, 0x3fe85885, 0x7749cc26, 0x3ff23d70, 0xa3d70a45}, /* 0.76080=f(1.14000)*/
+{64, 0,123,__LINE__, 0x3fe87eb6, 0x6a842206, 0x3ff26666, 0x6666666e}, /* 0.76546=f(1.15000)*/
+{64, 0,123,__LINE__, 0x3fe8a4b9, 0xff521768, 0x3ff28f5c, 0x28f5c297}, /* 0.77010=f(1.16000)*/
+{64, 0,123,__LINE__, 0x3fe8ca90, 0xa0feb971, 0x3ff2b851, 0xeb851ec0}, /* 0.77472=f(1.17000)*/
+{64, 0,123,__LINE__, 0x3fe8f03a, 0xb95a397c, 0x3ff2e147, 0xae147ae9}, /* 0.77932=f(1.18000)*/
+{64, 0,123,__LINE__, 0x3fe915b8, 0xb0c0dca2, 0x3ff30a3d, 0x70a3d712}, /* 0.78390=f(1.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01921fb, 0x54442d18}, /* 64.0000=f(-6.28318)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* 64.0000=f(-4.71238)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc00921fb, 0x54442d18}, /* 64.0000=f(-3.14159)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff921fb, 0x54442d18}, /* 64.0000=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{64, 0,123,__LINE__, 0x3fee3703, 0xdb0ab11a, 0x3ff921fb, 0x54442d18}, /* 0.94421=f(1.57079)*/
+{64, 0,123,__LINE__, 0x3ff6bcbe, 0xd09f00af, 0x400921fb, 0x54442d18}, /* 1.42108=f(3.14159)*/
+{64, 0,123,__LINE__, 0x3ffbe1d7, 0xac0bdb86, 0x4012d97c, 0x7f3321d2}, /* 1.74263=f(4.71238)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03e0000, 0x00000000}, /* 64.0000=f(-30.0000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* 64.0000=f(-28.3000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03a9999, 0x9999999a}, /* 64.0000=f(-26.6000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc038e666, 0x66666667}, /* 64.0000=f(-24.9000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0373333, 0x33333334}, /* 64.0000=f(-23.2000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0358000, 0x00000001}, /* 64.0000=f(-21.5000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc033cccc, 0xccccccce}, /* 64.0000=f(-19.8000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0321999, 0x9999999b}, /* 64.0000=f(-18.1000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0306666, 0x66666668}, /* 64.0000=f(-16.4000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02d6666, 0x6666666a}, /* 64.0000=f(-14.7000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02a0000, 0x00000004}, /* 64.0000=f(-13.0000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0269999, 0x9999999e}, /* 64.0000=f(-11.3000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0233333, 0x33333338}, /* 64.0000=f(-9.60000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01f9999, 0x999999a3}, /* 64.0000=f(-7.90000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* 64.0000=f(-6.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0120000, 0x00000009}, /* 64.0000=f(-4.50000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0066666, 0x66666678}, /* 64.0000=f(-2.80000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x999999bd}, /* 64.0000=f(-1.10000)*/
+{64, 0,123,__LINE__, 0x3fde148a, 0x1a272674, 0x3fe33333, 0x333332ec}, /* 0.47000=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3ff31a4e, 0x7240c76c, 0x40026666, 0x66666654}, /* 1.19392=f(2.30000)*/
+{64, 0,123,__LINE__, 0x3ff9c041, 0xf7ed8d2c, 0x400fffff, 0xffffffee}, /* 1.60943=f(4.00000)*/
+{64, 0,123,__LINE__, 0x3ffe6f08, 0x4d359a85, 0x4016cccc, 0xccccccc4}, /* 1.90210=f(5.70000)*/
+{64, 0,123,__LINE__, 0x4001069e, 0x58377691, 0x401d9999, 0x99999991}, /* 2.12823=f(7.40000)*/
+{64, 0,123,__LINE__, 0x40028012, 0x92821f4a, 0x40223333, 0x3333332f}, /* 2.31253=f(9.10000)*/
+{64, 0,123,__LINE__, 0x4003beaa, 0xf7978c56, 0x40259999, 0x99999995}, /* 2.46810=f(10.8000)*/
+{64, 0,123,__LINE__, 0x4004d24e, 0xf844f613, 0x4028ffff, 0xfffffffb}, /* 2.60269=f(12.5000)*/
+{64, 0,123,__LINE__, 0x4005c536, 0x898b0989, 0x402c6666, 0x66666661}, /* 2.72129=f(14.2000)*/
+{64, 0,123,__LINE__, 0x40069e56, 0x9aadc38b, 0x402fcccc, 0xccccccc7}, /* 2.82731=f(15.9000)*/
+{64, 0,123,__LINE__, 0x400762a2, 0x89f0e644, 0x40319999, 0x99999997}, /* 2.92316=f(17.6000)*/
+{64, 0,123,__LINE__, 0x400815c0, 0x6731d634, 0x40334ccc, 0xccccccca}, /* 3.01062=f(19.3000)*/
+{64, 0,123,__LINE__, 0x4008ba74, 0x773dc5c6, 0x4034ffff, 0xfffffffd}, /* 3.09104=f(21.0000)*/
+{64, 0,123,__LINE__, 0x400952e4, 0x95008f55, 0x4036b333, 0x33333330}, /* 3.16547=f(22.7000)*/
+{64, 0,123,__LINE__, 0x4009e0c4, 0x2cc995e9, 0x40386666, 0x66666663}, /* 3.23474=f(24.4000)*/
+{64, 0,123,__LINE__, 0x400a6571, 0xf06a8af5, 0x403a1999, 0x99999996}, /* 3.29953=f(26.1000)*/
+{64, 0,123,__LINE__, 0x400ae20c, 0x7db0765f, 0x403bcccc, 0xccccccc9}, /* 3.36037=f(27.8000)*/
+{64, 0,123,__LINE__, 0x400b5781, 0x1666499d, 0x403d7fff, 0xfffffffc}, /* 3.41772=f(29.5000)*/
+0,};
+test_log1p(m) {run_vector_1(m,log1p_vec,(char *)(log1p),"log1p","dd"); }
diff --git a/newlib/libm/test/log1pf_vec.c b/newlib/libm/test/log1pf_vec.c
new file mode 100644
index 00000000000..7169e0ac55d
--- /dev/null
+++ b/newlib/libm/test/log1pf_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type log1pf_vec[] = {
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff33333, 0x33333333}, /* 64.0000=f(-1.20000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* 64.0000=f(-1.19000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* 64.0000=f(-1.18000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* 64.0000=f(-1.17000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* 64.0000=f(-1.16000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff26666, 0x66666666}, /* 64.0000=f(-1.15000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* 64.0000=f(-1.14000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* 64.0000=f(-1.13000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* 64.0000=f(-1.12000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* 64.0000=f(-1.11000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x99999999}, /* 64.0000=f(-1.10000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* 64.0000=f(-1.09000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff147ae, 0x147ae147}, /* 64.0000=f(-1.08000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* 64.0000=f(-1.07000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* 64.0000=f(-1.06000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* 64.0000=f(-1.05000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* 64.0000=f(-1.04000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* 64.0000=f(-1.03000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff051eb, 0x851eb851}, /* 64.0000=f(-1.02000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* 64.0000=f(-1.01000)*/
+{ 0,15, 39,__LINE__, 0x40500000, 0x00000000, 0xbfefffff, 0xfffffffe}, /* 64.0000=f(-0.01000)*/
+{64, 0,123,__LINE__, 0xbfefae14, 0x80000000, 0xbfefae14, 0x7ae147ac}, /* -0.99000=f(-0.99000)*/
+{64, 0,123,__LINE__, 0xbfef5c29, 0x00000000, 0xbfef5c28, 0xf5c28f5a}, /* -0.98000=f(-0.98000)*/
+{64, 0,123,__LINE__, 0xbfef0a3d, 0x80000000, 0xbfef0a3d, 0x70a3d708}, /* -0.97000=f(-0.97000)*/
+{64, 0,123,__LINE__, 0xbfeeb851, 0xe0000000, 0xbfeeb851, 0xeb851eb6}, /* -0.95999=f(-0.96000)*/
+{64, 0,123,__LINE__, 0xbfee6666, 0x60000000, 0xbfee6666, 0x66666664}, /* -0.94999=f(-0.95000)*/
+{64, 0,123,__LINE__, 0xbfee147a, 0xe0000000, 0xbfee147a, 0xe147ae12}, /* -0.94000=f(-0.94000)*/
+{64, 0,123,__LINE__, 0xbfedc28f, 0x60000000, 0xbfedc28f, 0x5c28f5c0}, /* -0.93000=f(-0.93000)*/
+{64, 0,123,__LINE__, 0xbfed70a3, 0xe0000000, 0xbfed70a3, 0xd70a3d6e}, /* -0.92000=f(-0.92000)*/
+{64, 0,123,__LINE__, 0xbfed1eb8, 0x60000000, 0xbfed1eb8, 0x51eb851c}, /* -0.91000=f(-0.91000)*/
+{64, 0,123,__LINE__, 0xbfeccccc, 0xc0000000, 0xbfeccccc, 0xccccccca}, /* -0.89999=f(-0.90000)*/
+{64, 0,123,__LINE__, 0xbfec7ae1, 0x40000000, 0xbfec7ae1, 0x47ae1478}, /* -0.88999=f(-0.89000)*/
+{64, 0,123,__LINE__, 0xbfec28f5, 0xc0000000, 0xbfec28f5, 0xc28f5c26}, /* -0.88000=f(-0.88000)*/
+{64, 0,123,__LINE__, 0xbfebd70a, 0x40000000, 0xbfebd70a, 0x3d70a3d4}, /* -0.87000=f(-0.87000)*/
+{64, 0,123,__LINE__, 0xbfeb851e, 0xc0000000, 0xbfeb851e, 0xb851eb82}, /* -0.86000=f(-0.86000)*/
+{64, 0,123,__LINE__, 0xbfeb3333, 0x40000000, 0xbfeb3333, 0x33333330}, /* -0.85000=f(-0.85000)*/
+{64, 0,123,__LINE__, 0xbfeae147, 0xa0000000, 0xbfeae147, 0xae147ade}, /* -0.83999=f(-0.84000)*/
+{64, 0,123,__LINE__, 0xbfea8f5c, 0x20000000, 0xbfea8f5c, 0x28f5c28c}, /* -0.82999=f(-0.83000)*/
+{64, 0,123,__LINE__, 0xbfea3d70, 0xa0000000, 0xbfea3d70, 0xa3d70a3a}, /* -0.81999=f(-0.82000)*/
+{64, 0,123,__LINE__, 0xbfe9eb85, 0x20000000, 0xbfe9eb85, 0x1eb851e8}, /* -0.81000=f(-0.81000)*/
+{64, 0,123,__LINE__, 0xbfe99999, 0xa0000000, 0xbfe99999, 0x99999996}, /* -0.80000=f(-0.80000)*/
+{64, 0,123,__LINE__, 0xbfe947ae, 0x20000000, 0xbfe947ae, 0x147ae144}, /* -0.79000=f(-0.79000)*/
+{64, 0,123,__LINE__, 0xbfe8f5c2, 0x80000000, 0xbfe8f5c2, 0x8f5c28f2}, /* -0.77999=f(-0.78000)*/
+{64, 0,123,__LINE__, 0xbfe8a3d7, 0x00000000, 0xbfe8a3d7, 0x0a3d70a0}, /* -0.76999=f(-0.77000)*/
+{64, 0,123,__LINE__, 0xbfe851eb, 0x80000000, 0xbfe851eb, 0x851eb84e}, /* -0.75999=f(-0.76000)*/
+{64, 0,123,__LINE__, 0xbfe80000, 0x00000000, 0xbfe7ffff, 0xfffffffc}, /* -0.75000=f(-0.75000)*/
+{64, 0,123,__LINE__, 0xbfe7ae14, 0x80000000, 0xbfe7ae14, 0x7ae147aa}, /* -0.74000=f(-0.74000)*/
+{64, 0,123,__LINE__, 0xbfe75c29, 0x00000000, 0xbfe75c28, 0xf5c28f58}, /* -0.73000=f(-0.73000)*/
+{64, 0,123,__LINE__, 0xbfe70a3d, 0x80000000, 0xbfe70a3d, 0x70a3d706}, /* -0.72000=f(-0.72000)*/
+{64, 0,123,__LINE__, 0xbfe6b851, 0xe0000000, 0xbfe6b851, 0xeb851eb4}, /* -0.70999=f(-0.71000)*/
+{64, 0,123,__LINE__, 0xbfe66666, 0x60000000, 0xbfe66666, 0x66666662}, /* -0.69999=f(-0.70000)*/
+{64, 0,123,__LINE__, 0xbfe6147a, 0xe0000000, 0xbfe6147a, 0xe147ae10}, /* -0.69000=f(-0.69000)*/
+{64, 0,123,__LINE__, 0xbfe5c28f, 0x60000000, 0xbfe5c28f, 0x5c28f5be}, /* -0.68000=f(-0.68000)*/
+{64, 0,123,__LINE__, 0xbfe570a3, 0xe0000000, 0xbfe570a3, 0xd70a3d6c}, /* -0.67000=f(-0.67000)*/
+{64, 0,123,__LINE__, 0xbfe51eb8, 0x60000000, 0xbfe51eb8, 0x51eb851a}, /* -0.66000=f(-0.66000)*/
+{64, 0,123,__LINE__, 0xbfe4cccc, 0xc0000000, 0xbfe4cccc, 0xccccccc8}, /* -0.64999=f(-0.65000)*/
+{64, 0,123,__LINE__, 0xbfe47ae1, 0x40000000, 0xbfe47ae1, 0x47ae1476}, /* -0.63999=f(-0.64000)*/
+{64, 0,123,__LINE__, 0xbfe428f5, 0xc0000000, 0xbfe428f5, 0xc28f5c24}, /* -0.63000=f(-0.63000)*/
+{64, 0,123,__LINE__, 0xbfe3d70a, 0x40000000, 0xbfe3d70a, 0x3d70a3d2}, /* -0.62000=f(-0.62000)*/
+{64, 0,123,__LINE__, 0xbfe3851e, 0xc0000000, 0xbfe3851e, 0xb851eb80}, /* -0.61000=f(-0.61000)*/
+{64, 0,123,__LINE__, 0xbfe33333, 0x40000000, 0xbfe33333, 0x3333332e}, /* -0.60000=f(-0.60000)*/
+{64, 0,123,__LINE__, 0xbfe2e147, 0xa0000000, 0xbfe2e147, 0xae147adc}, /* -0.58999=f(-0.59000)*/
+{64, 0,123,__LINE__, 0xbfe28f5c, 0x20000000, 0xbfe28f5c, 0x28f5c28a}, /* -0.57999=f(-0.58000)*/
+{64, 0,123,__LINE__, 0xbfe23d70, 0xa0000000, 0xbfe23d70, 0xa3d70a38}, /* -0.56999=f(-0.57000)*/
+{64, 0,123,__LINE__, 0xbfe1eb85, 0x20000000, 0xbfe1eb85, 0x1eb851e6}, /* -0.56000=f(-0.56000)*/
+{64, 0,123,__LINE__, 0xbfe19999, 0xa0000000, 0xbfe19999, 0x99999994}, /* -0.55000=f(-0.55000)*/
+{64, 0,123,__LINE__, 0xbfe147ae, 0x20000000, 0xbfe147ae, 0x147ae142}, /* -0.54000=f(-0.54000)*/
+{64, 0,123,__LINE__, 0xbfe0f5c2, 0x80000000, 0xbfe0f5c2, 0x8f5c28f0}, /* -0.52999=f(-0.53000)*/
+{64, 0,123,__LINE__, 0xbfe0a3d7, 0x00000000, 0xbfe0a3d7, 0x0a3d709e}, /* -0.51999=f(-0.52000)*/
+{64, 0,123,__LINE__, 0xbfe051eb, 0x80000000, 0xbfe051eb, 0x851eb84c}, /* -0.50999=f(-0.51000)*/
+{64, 0,123,__LINE__, 0xbfe00000, 0x00000000, 0xbfdfffff, 0xfffffff4}, /* -0.50000=f(-0.50000)*/
+{64, 0,123,__LINE__, 0xbfdf5c29, 0x00000000, 0xbfdf5c28, 0xf5c28f50}, /* -0.49000=f(-0.49000)*/
+{64, 0,123,__LINE__, 0xbfdeb851, 0xe0000000, 0xbfdeb851, 0xeb851eac}, /* -0.47999=f(-0.48000)*/
+{64, 0,123,__LINE__, 0xbfde147a, 0xe0000000, 0xbfde147a, 0xe147ae08}, /* -0.47000=f(-0.47000)*/
+{64, 0,123,__LINE__, 0xbfdd70a3, 0xe0000000, 0xbfdd70a3, 0xd70a3d64}, /* -0.46000=f(-0.46000)*/
+{64, 0,123,__LINE__, 0xbfdccccc, 0xc0000000, 0xbfdccccc, 0xccccccc0}, /* -0.44999=f(-0.45000)*/
+{64, 0,123,__LINE__, 0xbfdc28f5, 0xc0000000, 0xbfdc28f5, 0xc28f5c1c}, /* -0.44000=f(-0.44000)*/
+{64, 0,123,__LINE__, 0xbfdb851e, 0xc0000000, 0xbfdb851e, 0xb851eb78}, /* -0.43000=f(-0.43000)*/
+{64, 0,123,__LINE__, 0xbfdae147, 0xa0000000, 0xbfdae147, 0xae147ad4}, /* -0.41999=f(-0.42000)*/
+{64, 0,123,__LINE__, 0xbfda3d70, 0xa0000000, 0xbfda3d70, 0xa3d70a30}, /* -0.41000=f(-0.41000)*/
+{64, 0,123,__LINE__, 0xbfd99999, 0xa0000000, 0xbfd99999, 0x9999998c}, /* -0.40000=f(-0.40000)*/
+{64, 0,123,__LINE__, 0xbfd8f5c2, 0x80000000, 0xbfd8f5c2, 0x8f5c28e8}, /* -0.38999=f(-0.39000)*/
+{64, 0,123,__LINE__, 0xbfd851eb, 0x80000000, 0xbfd851eb, 0x851eb844}, /* -0.38000=f(-0.38000)*/
+{64, 0,123,__LINE__, 0xbfd7ae14, 0x80000000, 0xbfd7ae14, 0x7ae147a0}, /* -0.37000=f(-0.37000)*/
+{64, 0,123,__LINE__, 0xbfd70a3d, 0x80000000, 0xbfd70a3d, 0x70a3d6fc}, /* -0.36000=f(-0.36000)*/
+{64, 0,123,__LINE__, 0xbfd66666, 0x60000000, 0xbfd66666, 0x66666658}, /* -0.34999=f(-0.35000)*/
+{64, 0,123,__LINE__, 0xbfd5c28f, 0x60000000, 0xbfd5c28f, 0x5c28f5b4}, /* -0.34000=f(-0.34000)*/
+{64, 0,123,__LINE__, 0xbfd51eb8, 0x60000000, 0xbfd51eb8, 0x51eb8510}, /* -0.33000=f(-0.33000)*/
+{64, 0,123,__LINE__, 0xbfd47ae1, 0x40000000, 0xbfd47ae1, 0x47ae146c}, /* -0.31999=f(-0.32000)*/
+{64, 0,123,__LINE__, 0xbfd3d70a, 0x40000000, 0xbfd3d70a, 0x3d70a3c8}, /* -0.31000=f(-0.31000)*/
+{64, 0,123,__LINE__, 0xbfd33333, 0x40000000, 0xbfd33333, 0x33333324}, /* -0.30000=f(-0.30000)*/
+{64, 0,123,__LINE__, 0xbfd28f5c, 0x20000000, 0xbfd28f5c, 0x28f5c280}, /* -0.28999=f(-0.29000)*/
+{64, 0,123,__LINE__, 0xbfd1eb85, 0x20000000, 0xbfd1eb85, 0x1eb851dc}, /* -0.28000=f(-0.28000)*/
+{64, 0,123,__LINE__, 0xbfd147ae, 0x20000000, 0xbfd147ae, 0x147ae138}, /* -0.27000=f(-0.27000)*/
+{64, 0,123,__LINE__, 0xbfd0a3d7, 0x00000000, 0xbfd0a3d7, 0x0a3d7094}, /* -0.25999=f(-0.26000)*/
+{64, 0,123,__LINE__, 0xbfd00000, 0x00000000, 0xbfcfffff, 0xffffffe0}, /* -0.25000=f(-0.25000)*/
+{64, 0,123,__LINE__, 0xbfceb851, 0xe0000000, 0xbfceb851, 0xeb851e98}, /* -0.23999=f(-0.24000)*/
+{64, 0,123,__LINE__, 0xbfcd70a3, 0xe0000000, 0xbfcd70a3, 0xd70a3d50}, /* -0.23000=f(-0.23000)*/
+{64, 0,123,__LINE__, 0xbfcc28f5, 0xc0000000, 0xbfcc28f5, 0xc28f5c08}, /* -0.22000=f(-0.22000)*/
+{64, 0,123,__LINE__, 0xbfcae147, 0xa0000000, 0xbfcae147, 0xae147ac0}, /* -0.20999=f(-0.21000)*/
+{64, 0,123,__LINE__, 0xbfc99999, 0xa0000000, 0xbfc99999, 0x99999978}, /* -0.20000=f(-0.20000)*/
+{64, 0,123,__LINE__, 0xbfc851eb, 0x80000000, 0xbfc851eb, 0x851eb830}, /* -0.19000=f(-0.19000)*/
+{64, 0,123,__LINE__, 0xbfc70a3d, 0x80000000, 0xbfc70a3d, 0x70a3d6e8}, /* -0.18000=f(-0.18000)*/
+{64, 0,123,__LINE__, 0xbfc5c28f, 0x60000000, 0xbfc5c28f, 0x5c28f5a0}, /* -0.17000=f(-0.17000)*/
+{64, 0,123,__LINE__, 0xbfc47ae1, 0x40000000, 0xbfc47ae1, 0x47ae1458}, /* -0.16000=f(-0.16000)*/
+{64, 0,123,__LINE__, 0xbfc33333, 0x40000000, 0xbfc33333, 0x33333310}, /* -0.15000=f(-0.15000)*/
+{64, 0,123,__LINE__, 0xbfc1eb85, 0x20000000, 0xbfc1eb85, 0x1eb851c8}, /* -0.14000=f(-0.14000)*/
+{64, 0,123,__LINE__, 0xbfc0a3d7, 0x00000000, 0xbfc0a3d7, 0x0a3d7080}, /* -0.13000=f(-0.13000)*/
+{64, 0,123,__LINE__, 0xbfbeb851, 0xe0000000, 0xbfbeb851, 0xeb851e71}, /* -0.12000=f(-0.12000)*/
+{64, 0,123,__LINE__, 0xbfbc28f5, 0xc0000000, 0xbfbc28f5, 0xc28f5be2}, /* -0.11000=f(-0.11000)*/
+{64, 0,123,__LINE__, 0xbfb99999, 0xa0000000, 0xbfb99999, 0x99999953}, /* -0.10000=f(-0.00100)*/
+{64, 0,123,__LINE__, 0xbfb70a3d, 0x80000000, 0xbfb70a3d, 0x70a3d6c4}, /* -0.09000=f(-0.09000)*/
+{64, 0,123,__LINE__, 0xbfb47ae1, 0x40000000, 0xbfb47ae1, 0x47ae1435}, /* -0.07999=f(-0.08000)*/
+{64, 0,123,__LINE__, 0xbfb1eb85, 0x20000000, 0xbfb1eb85, 0x1eb851a6}, /* -0.07000=f(-0.07000)*/
+{64, 0,123,__LINE__, 0xbfaeb851, 0xe0000000, 0xbfaeb851, 0xeb851e2d}, /* -0.05999=f(-0.06000)*/
+{64, 0,123,__LINE__, 0xbfa99999, 0xa0000000, 0xbfa99999, 0x9999990e}, /* -0.05000=f(-0.05000)*/
+{64, 0,123,__LINE__, 0xbfa47ae1, 0x40000000, 0xbfa47ae1, 0x47ae13ef}, /* -0.03999=f(-0.04000)*/
+{64, 0,123,__LINE__, 0xbf9eb851, 0xe0000000, 0xbf9eb851, 0xeb851da0}, /* -0.02999=f(-0.03000)*/
+{64, 0,123,__LINE__, 0xbf947ae1, 0x40000000, 0xbf947ae1, 0x47ae1362}, /* -0.01999=f(-0.02000)*/
+{64, 0,123,__LINE__, 0xbf847ae1, 0x40000000, 0xbf847ae1, 0x47ae1249}, /* -0.00999=f(-0.00010)*/
+{ 2, 0,123,__LINE__, 0x3cd19000, 0x00000000, 0x3cd19000, 0x00000000}, /* 9.74915e-16=f(9.74915e-16)*/
+{19, 0,123,__LINE__, 0x3f8460d6, 0xc0000000, 0x3f847ae1, 0x47ae16ad}, /* 0.00995=f(0.01000)*/
+{18, 0,123,__LINE__, 0x3f944723, 0xc0000000, 0x3f947ae1, 0x47ae1594}, /* 0.01980=f(0.02000)*/
+{16, 0,123,__LINE__, 0x3f9e44a9, 0xa0000000, 0x3f9eb851, 0xeb851fd2}, /* 0.02955=f(0.03000)*/
+{17, 0,123,__LINE__, 0x3fa414bc, 0xc0000000, 0x3fa47ae1, 0x47ae1508}, /* 0.03922=f(0.04000)*/
+{15, 0,123,__LINE__, 0x3fa8fb06, 0x40000000, 0x3fa99999, 0x99999a27}, /* 0.04879=f(0.05000)*/
+{14, 0,123,__LINE__, 0x3fadd56c, 0x20000000, 0x3faeb851, 0xeb851f46}, /* 0.05826=f(0.06000)*/
+{16, 0,123,__LINE__, 0x3fb15213, 0xc0000000, 0x3fb1eb85, 0x1eb85232}, /* 0.06765=f(0.07000)*/
+{13, 0,123,__LINE__, 0x3fb3b3b8, 0x00000000, 0x3fb47ae1, 0x47ae14c1}, /* 0.07696=f(0.08000)*/
+{15, 0,123,__LINE__, 0x3fb60fbd, 0xe0000000, 0x3fb70a3d, 0x70a3d750}, /* 0.08617=f(0.09000)*/
+{15, 0,123,__LINE__, 0x3fb8663f, 0x80000000, 0x3fb99999, 0x999999df}, /* 0.09531=f(0.10000)*/
+{13, 0,123,__LINE__, 0x3fbab756, 0x80000000, 0x3fbc28f5, 0xc28f5c6e}, /* 0.10436=f(0.11000)*/
+{14, 0,123,__LINE__, 0x3fbd031b, 0xc0000000, 0x3fbeb851, 0xeb851efd}, /* 0.11332=f(0.12000)*/
+{ 9, 0,123,__LINE__, 0x3fbf49a7, 0x80000000, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.12221=f(0.13000)*/
+{15, 0,123,__LINE__, 0x3fc0c588, 0xc0000000, 0x3fc1eb85, 0x1eb8520e}, /* 0.13102=f(0.14000)*/
+{14, 0,123,__LINE__, 0x3fc1e3b8, 0x40000000, 0x3fc33333, 0x33333356}, /* 0.13976=f(0.15000)*/
+{13, 0,123,__LINE__, 0x3fc2ff6d, 0x40000000, 0x3fc47ae1, 0x47ae149e}, /* 0.14842=f(0.16000)*/
+{15, 0,123,__LINE__, 0x3fc418b2, 0xe0000000, 0x3fc5c28f, 0x5c28f5e6}, /* 0.15700=f(0.17000)*/
+{14, 0,123,__LINE__, 0x3fc52f93, 0xc0000000, 0x3fc70a3d, 0x70a3d72e}, /* 0.16551=f(0.18000)*/
+{12, 0,123,__LINE__, 0x3fc6441a, 0x20000000, 0x3fc851eb, 0x851eb876}, /* 0.17395=f(0.19000)*/
+{12, 0,123,__LINE__, 0x3fc75650, 0x20000000, 0x3fc99999, 0x999999be}, /* 0.18232=f(0.20000)*/
+{14, 0,123,__LINE__, 0x3fc8663f, 0x60000000, 0x3fcae147, 0xae147b06}, /* 0.19062=f(0.21000)*/
+{13, 0,123,__LINE__, 0x3fc973f1, 0xe0000000, 0x3fcc28f5, 0xc28f5c4e}, /* 0.19885=f(0.22000)*/
+{13, 0,123,__LINE__, 0x3fca7f70, 0xc0000000, 0x3fcd70a3, 0xd70a3d96}, /* 0.20701=f(0.23000)*/
+{13, 0,123,__LINE__, 0x3fcb88c5, 0x00000000, 0x3fceb851, 0xeb851ede}, /* 0.21511=f(0.24000)*/
+{14, 0,123,__LINE__, 0x3fcc8ff7, 0xc0000000, 0x3fd00000, 0x00000013}, /* 0.22314=f(0.25000)*/
+{11, 0,123,__LINE__, 0x3fcd9511, 0x80000000, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.23111=f(0.26000)*/
+{11, 0,123,__LINE__, 0x3fce981b, 0x20000000, 0x3fd147ae, 0x147ae15b}, /* 0.23901=f(0.27000)*/
+{11, 0,123,__LINE__, 0x3fcf991c, 0x60000000, 0x3fd1eb85, 0x1eb851ff}, /* 0.24686=f(0.28000)*/
+{14, 0,123,__LINE__, 0x3fd04c0e, 0xe0000000, 0x3fd28f5c, 0x28f5c2a3}, /* 0.25464=f(0.29000)*/
+{14, 0,123,__LINE__, 0x3fd0ca93, 0x80000000, 0x3fd33333, 0x33333347}, /* 0.26236=f(0.30000)*/
+{14, 0,123,__LINE__, 0x3fd1481f, 0xe0000000, 0x3fd3d70a, 0x3d70a3eb}, /* 0.27002=f(0.31000)*/
+{13, 0,123,__LINE__, 0x3fd1c4b7, 0xe0000000, 0x3fd47ae1, 0x47ae148f}, /* 0.27763=f(0.32000)*/
+{13, 0,123,__LINE__, 0x3fd2405f, 0x40000000, 0x3fd51eb8, 0x51eb8533}, /* 0.28517=f(0.33000)*/
+{13, 0,123,__LINE__, 0x3fd2bb19, 0x60000000, 0x3fd5c28f, 0x5c28f5d7}, /* 0.29266=f(0.34000)*/
+{13, 0,123,__LINE__, 0x3fd334e9, 0xe0000000, 0x3fd66666, 0x6666667b}, /* 0.30010=f(0.35000)*/
+{13, 0,123,__LINE__, 0x3fd3add4, 0x60000000, 0x3fd70a3d, 0x70a3d71f}, /* 0.30748=f(0.36000)*/
+{14, 0,123,__LINE__, 0x3fd425dc, 0x00000000, 0x3fd7ae14, 0x7ae147c3}, /* 0.31481=f(0.37000)*/
+{12, 0,123,__LINE__, 0x3fd49d04, 0x20000000, 0x3fd851eb, 0x851eb867}, /* 0.32208=f(0.38000)*/
+{12, 0,123,__LINE__, 0x3fd51350, 0x00000000, 0x3fd8f5c2, 0x8f5c290b}, /* 0.32930=f(0.39000)*/
+{12, 0,123,__LINE__, 0x3fd588c2, 0xe0000000, 0x3fd99999, 0x999999af}, /* 0.33647=f(0.40000)*/
+{12, 0,123,__LINE__, 0x3fd5fd5f, 0xa0000000, 0x3fda3d70, 0xa3d70a53}, /* 0.34358=f(0.41000)*/
+{12, 0,123,__LINE__, 0x3fd67129, 0x7dc00000, 0x3fdae147, 0xae147af7}, /* 0.35065=f(0.42000)*/
+{12, 0,123,__LINE__, 0x3fd6e423, 0x5dc00000, 0x3fdb851e, 0xb851eb9b}, /* 0.35767=f(0.43000)*/
+{12, 0,123,__LINE__, 0x3fd75650, 0x1dc00000, 0x3fdc28f5, 0xc28f5c3f}, /* 0.36464=f(0.44000)*/
+{12, 0,123,__LINE__, 0x3fd7c7b2, 0x7dc00000, 0x3fdccccc, 0xcccccce3}, /* 0.37156=f(0.45000)*/
+{13, 0,123,__LINE__, 0x3fd8384d, 0x7dc00000, 0x3fdd70a3, 0xd70a3d87}, /* 0.37843=f(0.46000)*/
+{13, 0,123,__LINE__, 0x3fd8a823, 0x9dc00000, 0x3fde147a, 0xe147ae2b}, /* 0.38526=f(0.47000)*/
+{13, 0,123,__LINE__, 0x3fd91737, 0x9dc00000, 0x3fdeb851, 0xeb851ecf}, /* 0.39204=f(0.48000)*/
+{13, 0,123,__LINE__, 0x3fd9858c, 0x5dc00000, 0x3fdf5c28, 0xf5c28f73}, /* 0.39877=f(0.49000)*/
+{13, 0,123,__LINE__, 0x3fd9f323, 0xddc00000, 0x3fe00000, 0x0000000b}, /* 0.40546=f(0.50000)*/
+{10, 0,123,__LINE__, 0x3fda6001, 0x1dc00000, 0x3fe051eb, 0x851eb85d}, /* 0.41210=f(0.51000)*/
+{10, 0,123,__LINE__, 0x3fdacc26, 0x5dc00000, 0x3fe0a3d7, 0x0a3d70af}, /* 0.41871=f(0.52000)*/
+{10, 0,123,__LINE__, 0x3fdb3796, 0x1dc00000, 0x3fe0f5c2, 0x8f5c2901}, /* 0.42526=f(0.53000)*/
+{10, 0,123,__LINE__, 0x3fdba252, 0xbdc00000, 0x3fe147ae, 0x147ae153}, /* 0.43178=f(0.54000)*/
+{10, 0,123,__LINE__, 0x3fdc0c5e, 0x7dc00000, 0x3fe19999, 0x999999a5}, /* 0.43825=f(0.55000)*/
+{10, 0,123,__LINE__, 0x3fdc75bb, 0x8dc00000, 0x3fe1eb85, 0x1eb851f7}, /* 0.44468=f(0.56000)*/
+{10, 0,123,__LINE__, 0x3fdcde6c, 0x3dc00000, 0x3fe23d70, 0xa3d70a49}, /* 0.45107=f(0.57000)*/
+{10, 0,123,__LINE__, 0x3fdd4672, 0xcdc00000, 0x3fe28f5c, 0x28f5c29b}, /* 0.45742=f(0.58000)*/
+{10, 0,123,__LINE__, 0x3fddadd1, 0x5dc00000, 0x3fe2e147, 0xae147aed}, /* 0.46373=f(0.59000)*/
+{10, 0,123,__LINE__, 0x3fde148a, 0x2dc00000, 0x3fe33333, 0x3333333f}, /* 0.47000=f(0.60000)*/
+{10, 0,123,__LINE__, 0x3fde7a9e, 0xfdc00000, 0x3fe3851e, 0xb851eb91}, /* 0.47623=f(0.61000)*/
+{10, 0,123,__LINE__, 0x3fdee011, 0xedc00000, 0x3fe3d70a, 0x3d70a3e3}, /* 0.48242=f(0.62000)*/
+{10, 0,123,__LINE__, 0x3fdf44e5, 0x1dc00000, 0x3fe428f5, 0xc28f5c35}, /* 0.48858=f(0.63000)*/
+{10, 0,123,__LINE__, 0x3fdfa91a, 0x5dc00000, 0x3fe47ae1, 0x47ae1487}, /* 0.49469=f(0.64000)*/
+{13, 0,123,__LINE__, 0x3fe00659, 0xdee00000, 0x3fe4cccc, 0xccccccd9}, /* 0.50077=f(0.65000)*/
+{13, 0,123,__LINE__, 0x3fe037d9, 0x96e00000, 0x3fe51eb8, 0x51eb852b}, /* 0.50681=f(0.66000)*/
+{13, 0,123,__LINE__, 0x3fe0690d, 0x1ee00000, 0x3fe570a3, 0xd70a3d7d}, /* 0.51282=f(0.67000)*/
+{13, 0,123,__LINE__, 0x3fe099f5, 0x76e00000, 0x3fe5c28f, 0x5c28f5cf}, /* 0.51879=f(0.68000)*/
+{13, 0,123,__LINE__, 0x3fe0ca93, 0x7ee00000, 0x3fe6147a, 0xe147ae21}, /* 0.52472=f(0.69000)*/
+{13, 0,123,__LINE__, 0x3fe0fae8, 0x16e00000, 0x3fe66666, 0x66666673}, /* 0.53062=f(0.70000)*/
+{13, 0,123,__LINE__, 0x3fe12af4, 0x1ee00000, 0x3fe6b851, 0xeb851ec5}, /* 0.53649=f(0.71000)*/
+{13, 0,123,__LINE__, 0x3fe15ab8, 0x7ee00000, 0x3fe70a3d, 0x70a3d717}, /* 0.54232=f(0.72000)*/
+{13, 0,123,__LINE__, 0x3fe18a35, 0xeee00000, 0x3fe75c28, 0xf5c28f69}, /* 0.54812=f(0.73000)*/
+{13, 0,123,__LINE__, 0x3fe1b96d, 0x46e00000, 0x3fe7ae14, 0x7ae147bb}, /* 0.55388=f(0.74000)*/
+{13, 0,123,__LINE__, 0x3fe1e85f, 0x5ee00000, 0x3fe80000, 0x0000000d}, /* 0.55961=f(0.75000)*/
+{12, 0,123,__LINE__, 0x3fe2170c, 0xf6e00000, 0x3fe851eb, 0x851eb85f}, /* 0.56531=f(0.76000)*/
+{12, 0,123,__LINE__, 0x3fe24576, 0xdee00000, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.57097=f(0.77000)*/
+{12, 0,123,__LINE__, 0x3fe2739d, 0xd6e00000, 0x3fe8f5c2, 0x8f5c2903}, /* 0.57661=f(0.78000)*/
+{12, 0,123,__LINE__, 0x3fe2a182, 0xaee00000, 0x3fe947ae, 0x147ae155}, /* 0.58221=f(0.79000)*/
+{12, 0,123,__LINE__, 0x3fe2cf25, 0xfee00000, 0x3fe99999, 0x999999a7}, /* 0.58778=f(0.80000)*/
+{12, 0,123,__LINE__, 0x3fe2fc88, 0x96e00000, 0x3fe9eb85, 0x1eb851f9}, /* 0.59332=f(0.81000)*/
+{12, 0,123,__LINE__, 0x3fe329ab, 0x26e00000, 0x3fea3d70, 0xa3d70a4b}, /* 0.59883=f(0.82000)*/
+{12, 0,123,__LINE__, 0x3fe3568e, 0x6ae00000, 0x3fea8f5c, 0x28f5c29d}, /* 0.60431=f(0.83000)*/
+{12, 0,123,__LINE__, 0x3fe38333, 0x0ee00000, 0x3feae147, 0xae147aef}, /* 0.60976=f(0.84000)*/
+{12, 0,123,__LINE__, 0x3fe3af99, 0xd2e00000, 0x3feb3333, 0x33333341}, /* 0.61518=f(0.85000)*/
+{12, 0,123,__LINE__, 0x3fe3dbc3, 0x3ee00000, 0x3feb851e, 0xb851eb93}, /* 0.62057=f(0.86000)*/
+{12, 0,123,__LINE__, 0x3fe407b0, 0x0ae00000, 0x3febd70a, 0x3d70a3e5}, /* 0.62593=f(0.87000)*/
+{12, 0,123,__LINE__, 0x3fe43360, 0xdce00000, 0x3fec28f5, 0xc28f5c37}, /* 0.63127=f(0.88000)*/
+{12, 0,123,__LINE__, 0x3fe45ed6, 0x5ae00000, 0x3fec7ae1, 0x47ae1489}, /* 0.63657=f(0.89000)*/
+{12, 0,123,__LINE__, 0x3fe48a11, 0x22e00000, 0x3feccccc, 0xccccccdb}, /* 0.64185=f(0.90000)*/
+{12, 0,123,__LINE__, 0x3fe4b511, 0xe2e00000, 0x3fed1eb8, 0x51eb852d}, /* 0.64710=f(0.91000)*/
+{12, 0,123,__LINE__, 0x3fe4dfd9, 0x16e00000, 0x3fed70a3, 0xd70a3d7f}, /* 0.65232=f(0.92000)*/
+{12, 0,123,__LINE__, 0x3fe50a67, 0x64e00000, 0x3fedc28f, 0x5c28f5d1}, /* 0.65752=f(0.93000)*/
+{12, 0,123,__LINE__, 0x3fe534bd, 0x67e00000, 0x3fee147a, 0xe147ae23}, /* 0.66268=f(0.94000)*/
+{12, 0,123,__LINE__, 0x3fe55edb, 0xb0e00000, 0x3fee6666, 0x66666675}, /* 0.66782=f(0.95000)*/
+{12, 0,123,__LINE__, 0x3fe588c2, 0xd2e00000, 0x3feeb851, 0xeb851ec7}, /* 0.67294=f(0.96000)*/
+{12, 0,123,__LINE__, 0x3fe5b273, 0x6e600000, 0x3fef0a3d, 0x70a3d719}, /* 0.67803=f(0.97000)*/
+{12, 0,123,__LINE__, 0x3fe5dbed, 0xef600000, 0x3fef5c28, 0xf5c28f6b}, /* 0.68309=f(0.98000)*/
+{12, 0,123,__LINE__, 0x3fe60532, 0xf1a00000, 0x3fefae14, 0x7ae147bd}, /* 0.68813=f(0.99000)*/
+{12, 0,123,__LINE__, 0x3fe62e42, 0xfefa39ef, 0x3ff00000, 0x00000007}, /* 0.69314=f(1.00000)*/
+{11, 0,123,__LINE__, 0x3fe6571e, 0x9e600000, 0x3ff028f5, 0xc28f5c30}, /* 0.69813=f(1.01000)*/
+{11, 0,123,__LINE__, 0x3fe67fc6, 0x54e00000, 0x3ff051eb, 0x851eb859}, /* 0.70309=f(1.02000)*/
+{11, 0,123,__LINE__, 0x3fe6a83a, 0xa6600000, 0x3ff07ae1, 0x47ae1482}, /* 0.70803=f(1.03000)*/
+{11, 0,123,__LINE__, 0x3fe6d07c, 0x13e00000, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.71294=f(1.04000)*/
+{11, 0,123,__LINE__, 0x3fe6f88b, 0x1be00000, 0x3ff0cccc, 0xccccccd4}, /* 0.71783=f(1.05000)*/
+{11, 0,123,__LINE__, 0x3fe72068, 0x3ce00000, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.72270=f(1.06000)*/
+{11, 0,123,__LINE__, 0x3fe74814, 0x12e00000, 0x3ff11eb8, 0x51eb8526}, /* 0.72754=f(1.07000)*/
+{11, 0,123,__LINE__, 0x3fe76f8e, 0xd6e00000, 0x3ff147ae, 0x147ae14f}, /* 0.73236=f(1.08000)*/
+{11, 0,123,__LINE__, 0x3fe796d9, 0x20e00000, 0x3ff170a3, 0xd70a3d78}, /* 0.73716=f(1.09000)*/
+{11, 0,123,__LINE__, 0x3fe7bdf3, 0x68e00000, 0x3ff19999, 0x999999a1}, /* 0.74193=f(1.10000)*/
+{11, 0,123,__LINE__, 0x3fe7e4de, 0x22e00000, 0x3ff1c28f, 0x5c28f5ca}, /* 0.74668=f(1.11000)*/
+{11, 0,123,__LINE__, 0x3fe80b99, 0xc2e00000, 0x3ff1eb85, 0x1eb851f3}, /* 0.75141=f(1.12000)*/
+{11, 0,123,__LINE__, 0x3fe83226, 0xb6e00000, 0x3ff2147a, 0xe147ae1c}, /* 0.75612=f(1.13000)*/
+{11, 0,123,__LINE__, 0x3fe85885, 0x72e00000, 0x3ff23d70, 0xa3d70a45}, /* 0.76080=f(1.14000)*/
+{11, 0,123,__LINE__, 0x3fe87eb6, 0x62e00000, 0x3ff26666, 0x6666666e}, /* 0.76546=f(1.15000)*/
+{11, 0,123,__LINE__, 0x3fe8a4b9, 0xf6e00000, 0x3ff28f5c, 0x28f5c297}, /* 0.77010=f(1.16000)*/
+{11, 0,123,__LINE__, 0x3fe8ca90, 0x96e00000, 0x3ff2b851, 0xeb851ec0}, /* 0.77472=f(1.17000)*/
+{11, 0,123,__LINE__, 0x3fe8f03a, 0xaae00000, 0x3ff2e147, 0xae147ae9}, /* 0.77932=f(1.18000)*/
+{11, 0,123,__LINE__, 0x3fe915b8, 0xbee00000, 0x3ff30a3d, 0x70a3d712}, /* 0.78390=f(1.19000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01921fb, 0x54442d18}, /* 64.0000=f(-6.28318)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* 64.0000=f(-4.71238)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc00921fb, 0x54442d18}, /* 64.0000=f(-3.14159)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff921fb, 0x54442d18}, /* 64.0000=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{11, 0,123,__LINE__, 0x3fee3703, 0xdee00000, 0x3ff921fb, 0x54442d18}, /* 0.94421=f(1.57079)*/
+{ 1, 0,123,__LINE__, 0x3ff6bcbe, 0xd5e00000, 0x400921fb, 0x54442d18}, /* 1.42108=f(3.14159)*/
+{ 1, 0,123,__LINE__, 0x3ffbe1d7, 0xae500000, 0x4012d97c, 0x7f3321d2}, /* 1.74263=f(4.71238)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03e0000, 0x00000000}, /* 64.0000=f(-30.0000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* 64.0000=f(-28.3000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03a9999, 0x9999999a}, /* 64.0000=f(-26.6000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc038e666, 0x66666667}, /* 64.0000=f(-24.9000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0373333, 0x33333334}, /* 64.0000=f(-23.2000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0358000, 0x00000001}, /* 64.0000=f(-21.5000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc033cccc, 0xccccccce}, /* 64.0000=f(-19.8000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0321999, 0x9999999b}, /* 64.0000=f(-18.1000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0306666, 0x66666668}, /* 64.0000=f(-16.4000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02d6666, 0x6666666a}, /* 64.0000=f(-14.7000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02a0000, 0x00000004}, /* 64.0000=f(-13.0000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0269999, 0x9999999e}, /* 64.0000=f(-11.3000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0233333, 0x33333338}, /* 64.0000=f(-9.60000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01f9999, 0x999999a3}, /* 64.0000=f(-7.90000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* 64.0000=f(-6.20000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0120000, 0x00000009}, /* 64.0000=f(-4.50000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0066666, 0x66666678}, /* 64.0000=f(-2.80000)*/
+{ 0,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x999999bd}, /* 64.0000=f(-1.10000)*/
+{10, 0,123,__LINE__, 0x3fde148a, 0x2dc00000, 0x3fe33333, 0x333332ec}, /* 0.47000=f(0.60000)*/
+{12, 0,123,__LINE__, 0x3ff31a4e, 0x6ee00000, 0x40026666, 0x66666654}, /* 1.19392=f(2.30000)*/
+{ 1, 0,123,__LINE__, 0x3ff9c041, 0xf6e00000, 0x400fffff, 0xffffffee}, /* 1.60943=f(4.00000)*/
+{ 1, 0,123,__LINE__, 0x3ffe6f08, 0x46500000, 0x4016cccc, 0xccccccc4}, /* 1.90210=f(5.70000)*/
+{13, 0,123,__LINE__, 0x4001069e, 0x59a80000, 0x401d9999, 0x99999991}, /* 2.12823=f(7.40000)*/
+{13, 0,123,__LINE__, 0x40028012, 0x97280000, 0x40223333, 0x3333332f}, /* 2.31253=f(9.10000)*/
+{13, 0,123,__LINE__, 0x4003beaa, 0xfae00000, 0x40259999, 0x99999995}, /* 2.46810=f(10.8000)*/
+{15, 0,123,__LINE__, 0x4004d24e, 0xf8e00000, 0x4028ffff, 0xfffffffb}, /* 2.60269=f(12.5000)*/
+{14, 0,123,__LINE__, 0x4005c536, 0x87e00000, 0x402c6666, 0x66666661}, /* 2.72129=f(14.2000)*/
+{16, 0,123,__LINE__, 0x40069e56, 0x97e00000, 0x402fcccc, 0xccccccc7}, /* 2.82731=f(15.9000)*/
+{15, 0,123,__LINE__, 0x400762a2, 0x8ce00000, 0x40319999, 0x99999997}, /* 2.92316=f(17.6000)*/
+{12, 0,123,__LINE__, 0x400815c0, 0x62e00000, 0x40334ccc, 0xccccccca}, /* 3.01062=f(19.3000)*/
+{12, 0,123,__LINE__, 0x4008ba74, 0x76e00000, 0x4034ffff, 0xfffffffd}, /* 3.09104=f(21.0000)*/
+{12, 0,123,__LINE__, 0x400952e4, 0x9a980000, 0x4036b333, 0x33333330}, /* 3.16547=f(22.7000)*/
+{12, 0,123,__LINE__, 0x4009e0c4, 0x2a980000, 0x40386666, 0x66666663}, /* 3.23474=f(24.4000)*/
+{12, 0,123,__LINE__, 0x400a6571, 0xf2980000, 0x403a1999, 0x99999996}, /* 3.29953=f(26.1000)*/
+{12, 0,123,__LINE__, 0x400ae20c, 0x7a980000, 0x403bcccc, 0xccccccc9}, /* 3.36037=f(27.8000)*/
+{12, 0,123,__LINE__, 0x400b5781, 0x16980000, 0x403d7fff, 0xfffffffc}, /* 3.41772=f(29.5000)*/
+0,};
+test_log1pf(m) {run_vector_1(m,log1pf_vec,(char *)(log1pf),"log1pf","ff"); }
diff --git a/newlib/libm/test/log2_vec.c b/newlib/libm/test/log2_vec.c
new file mode 100644
index 00000000000..6a76e262f1f
--- /dev/null
+++ b/newlib/libm/test/log2_vec.c
@@ -0,0 +1,400 @@
+#include "test.h"
+ one_line_type log2_vec[] = {
+{62,0,123,__LINE__, 0xc01149a7, 0x84bcd1b9, 0x3fa99999, 0x9999999a},
+{62,0,123,__LINE__, 0xc00a934f, 0x0979a371, 0x3fb99999, 0x9999999a},
+{62,0,123,__LINE__, 0xc005e54e, 0x37a9c4bc, 0x3fc33333, 0x33333334},
+{62,0,123,__LINE__, 0xc002934f, 0x0979a371, 0x3fc99999, 0x9999999a},
+{62,0,123,__LINE__, 0xc0000000, 0x00000000, 0x3fd00000, 0x00000000},
+{62,0,123,__LINE__, 0xbffbca9c, 0x6f53897a, 0x3fd33333, 0x33333333},
+{62,0,123,__LINE__, 0xbff83bb1, 0x144b3e8a, 0x3fd66666, 0x66666666},
+{62,0,123,__LINE__, 0xbff5269e, 0x12f346e3, 0x3fd99999, 0x99999999},
+{62,0,123,__LINE__, 0xbff26e9a, 0xcbb3cc12, 0x3fdccccc, 0xcccccccc},
+{62,0,123,__LINE__, 0xbff00000, 0x00000001, 0x3fdfffff, 0xffffffff},
+{62,0,123,__LINE__, 0xbfe79538, 0xdea712f5, 0x3fe33333, 0x33333333},
+{62,0,123,__LINE__, 0xbfe3e33b, 0x979f04f9, 0x3fe4cccc, 0xcccccccd},
+{62,0,123,__LINE__, 0xbfe07762, 0x28967d11, 0x3fe66666, 0x66666667},
+{62,0,123,__LINE__, 0xbfda8ff9, 0x71810a5a, 0x3fe80000, 0x00000001},
+{62,0,123,__LINE__, 0xbfd49a78, 0x4bcd1b86, 0x3fe99999, 0x9999999b},
+{62,0,123,__LINE__, 0xbfce02f5, 0x1a35ad7f, 0x3feb3333, 0x33333335},
+{62,0,123,__LINE__, 0xbfc374d6, 0x5d9e6080, 0x3feccccc, 0xcccccccf},
+{62,0,123,__LINE__, 0xbfb2f1b3, 0xbd2f9df8, 0x3fee6666, 0x66666669},
+{62,0,123,__LINE__, 0x3cb71547, 0x652b82fd, 0x3ff00000, 0x00000001},
+{62,0,123,__LINE__, 0x3fb20508, 0xf547ee11, 0x3ff0cccc, 0xccccccce},
+{62,0,123,__LINE__, 0x3fc199b7, 0x28cb9d17, 0x3ff19999, 0x9999999b},
+{62,0,123,__LINE__, 0x3fc9cf23, 0x6bbeb394, 0x3ff26666, 0x66666668},
+{62,0,123,__LINE__, 0x3fd0d58e, 0x42b1da1f, 0x3ff33333, 0x33333335},
+{62,0,123,__LINE__, 0x3fd49a78, 0x4bcd1b94, 0x3ff40000, 0x00000002},
+{62,0,123,__LINE__, 0x3fd83988, 0xd0c1f617, 0x3ff4cccc, 0xcccccccf},
+{62,0,123,__LINE__, 0x3fdbb59b, 0x5fafc565, 0x3ff59999, 0x9999999c},
+{62,0,123,__LINE__, 0x3fe12758, 0x696ea51a, 0x3ff73333, 0x33333336},
+{62,0,123,__LINE__, 0x3fe2b803, 0x473f7ad7, 0x3ff80000, 0x00000003},
+{62,0,123,__LINE__, 0x3fe43b8a, 0x8d7bdcb3, 0x3ff8cccc, 0xccccccd0},
+{62,0,123,__LINE__, 0x3fe5b2c3, 0xda197240, 0x3ff99999, 0x9999999d},
+{62,0,123,__LINE__, 0x3fe71e71, 0x11726219, 0x3ffa6666, 0x6666666a},
+{62,0,123,__LINE__, 0x3fe87f42, 0xb97294a4, 0x3ffb3333, 0x33333337},
+{62,0,123,__LINE__, 0x3fe9d5d9, 0xfd5010ba, 0x3ffc0000, 0x00000004},
+{62,0,123,__LINE__, 0x3feb22ca, 0x689867e3, 0x3ffccccc, 0xccccccd1},
+{62,0,123,__LINE__, 0x3fec669b, 0x6586ad66, 0x3ffd9999, 0x9999999e},
+{62,0,123,__LINE__, 0x3feda1c9, 0x885a0c45, 0x3ffe6666, 0x6666666b},
+{62,0,123,__LINE__, 0x3feed4c7, 0xafa075de, 0x3fff3333, 0x33333338},
+{62,0,123,__LINE__, 0x3ff00000, 0x00000003, 0x40000000, 0x00000002},
+{62,0,123,__LINE__, 0x3ff091ea, 0x6073fc57, 0x40006666, 0x66666668},
+{62,0,123,__LINE__, 0x3ff12050, 0x8f547ee1, 0x4000cccc, 0xccccccce},
+{62,0,123,__LINE__, 0x3ff1ab5c, 0xeadad9c6, 0x40013333, 0x33333334},
+{62,0,123,__LINE__, 0x3ff23336, 0xe51973a2, 0x40019999, 0x9999999a},
+{62,0,123,__LINE__, 0x3ff2b803, 0x473f7ad1, 0x40020000, 0x00000000},
+{62,0,123,__LINE__, 0x3ff339e4, 0x6d77d670, 0x40026666, 0x66666666},
+{62,0,123,__LINE__, 0x3ff3b8fa, 0x7c57a123, 0x4002cccc, 0xcccccccc},
+{62,0,123,__LINE__, 0x3ff43563, 0x90ac7684, 0x40033333, 0x33333332},
+{62,0,123,__LINE__, 0x3ff4af3b, 0xea5cc9cf, 0x40039999, 0x99999998},
+{62,0,123,__LINE__, 0x3ff5269e, 0x12f346e0, 0x4003ffff, 0xfffffffe},
+{62,0,123,__LINE__, 0x3ff59ba3, 0x005907b4, 0x40046666, 0x66666664},
+{62,0,123,__LINE__, 0x3ff60e62, 0x34307d80, 0x4004cccc, 0xccccccca},
+{62,0,123,__LINE__, 0x3ff67ef1, 0xd833bcc4, 0x40053333, 0x33333330},
+{62,0,123,__LINE__, 0x3ff6ed66, 0xd7ebf153, 0x40059999, 0x99999996},
+{62,0,123,__LINE__, 0x3ff759d4, 0xf80cba80, 0x4005ffff, 0xfffffffc},
+{62,0,123,__LINE__, 0x3ff7c44e, 0xebb4c172, 0x40066666, 0x66666662},
+{62,0,123,__LINE__, 0x3ff82ce6, 0x67ccc382, 0x4006cccc, 0xccccccc8},
+{62,0,123,__LINE__, 0x3ff893ac, 0x34b75285, 0x40073333, 0x3333332e},
+{62,0,123,__LINE__, 0x3ff8f8b0, 0x3e7d8942, 0x40079999, 0x99999994},
+{62,0,123,__LINE__, 0x3ff95c01, 0xa39fbd62, 0x4007ffff, 0xfffffffa},
+{62,0,123,__LINE__, 0x3ff9bdae, 0xc2acb3cd, 0x40086666, 0x66666660},
+{62,0,123,__LINE__, 0x3ffa1dc5, 0x46bdee50, 0x4008cccc, 0xccccccc6},
+{62,0,123,__LINE__, 0x3ffa7c52, 0x32f43c42, 0x40093333, 0x3333332c},
+{62,0,123,__LINE__, 0x3ffad961, 0xed0cb916, 0x40099999, 0x99999992},
+{62,0,123,__LINE__, 0x3ffb3500, 0x4723c45f, 0x4009ffff, 0xfffffff8},
+{62,0,123,__LINE__, 0x3ffb8f38, 0x88b93102, 0x400a6666, 0x6666665e},
+{62,0,123,__LINE__, 0x3ffbe815, 0x7706e310, 0x400acccc, 0xccccccc4},
+{62,0,123,__LINE__, 0x3ffc3fa1, 0x5cb94a46, 0x400b3333, 0x3333332a},
+{62,0,123,__LINE__, 0x3ffc95e6, 0x111793d1, 0x400b9999, 0x99999990},
+{62,0,123,__LINE__, 0x3ffceaec, 0xfea80852, 0x400bffff, 0xfffffff6},
+{62,0,123,__LINE__, 0x3ffd3ebf, 0x295bced8, 0x400c6666, 0x6666665c},
+{62,0,123,__LINE__, 0x3ffd9165, 0x344c33e6, 0x400ccccc, 0xccccccc2},
+{62,0,123,__LINE__, 0x3ffde2e7, 0x6712998b, 0x400d3333, 0x33333328},
+{62,0,123,__LINE__, 0x3ffe334d, 0xb2c356a6, 0x400d9999, 0x9999998e},
+{62,0,123,__LINE__, 0x3ffe829f, 0xb6930442, 0x400dffff, 0xfffffff4},
+{62,0,123,__LINE__, 0x3ffed0e4, 0xc42d0616, 0x400e6666, 0x6666665a},
+{62,0,123,__LINE__, 0x3fff1e23, 0xe3c17bf1, 0x400ecccc, 0xccccccc0},
+{62,0,123,__LINE__, 0x3fff6a63, 0xd7d03ae2, 0x400f3333, 0x33333326},
+{62,0,123,__LINE__, 0x3fffb5ab, 0x20b5ec8e, 0x400f9999, 0x9999998c},
+{62,0,123,__LINE__, 0x3fffffff, 0xfffffff6, 0x400fffff, 0xfffffff2},
+{62,0,123,__LINE__, 0x400024b4, 0x3dc5d75a, 0x40103333, 0x3333332c},
+{62,0,123,__LINE__, 0x400048f5, 0x3039fe25, 0x40106666, 0x6666665f},
+{62,0,123,__LINE__, 0x40006cc5, 0xa2e92014, 0x40109999, 0x99999992},
+{62,0,123,__LINE__, 0x40009028, 0x47aa3f6a, 0x4010cccc, 0xccccccc5},
+{62,0,123,__LINE__, 0x4000b31f, 0xb7d64893, 0x4010ffff, 0xfffffff8},
+{62,0,123,__LINE__, 0x4000d5ae, 0x756d6cdd, 0x40113333, 0x3333332b},
+{62,0,123,__LINE__, 0x4000f7d6, 0xec2b87f4, 0x40116666, 0x6666665e},
+{62,0,123,__LINE__, 0x4001199b, 0x728cb9cb, 0x40119999, 0x99999991},
+{62,0,123,__LINE__, 0x40013afe, 0x4ac34723, 0x4011cccc, 0xccccccc4},
+{62,0,123,__LINE__, 0x40015c01, 0xa39fbd63, 0x4011ffff, 0xfffffff7},
+{62,0,123,__LINE__, 0x40017ca7, 0x996c42e9, 0x40123333, 0x3333332a},
+{62,0,123,__LINE__, 0x40019cf2, 0x36bbeb32, 0x40126666, 0x6666665d},
+{62,0,123,__LINE__, 0x4001bce3, 0x752ed5da, 0x40129999, 0x99999990},
+{62,0,123,__LINE__, 0x4001dc7d, 0x3e2bd08c, 0x4012cccc, 0xccccccc3},
+{62,0,123,__LINE__, 0x4001fbc1, 0x6b90267a, 0x4012ffff, 0xfffffff6},
+{62,0,123,__LINE__, 0x40021ab1, 0xc8563b3d, 0x40133333, 0x33333329},
+{62,0,123,__LINE__, 0x40023950, 0x113383b2, 0x40136666, 0x6666665c},
+{62,0,123,__LINE__, 0x4002579d, 0xf52e64e2, 0x40139999, 0x9999998f},
+{62,0,123,__LINE__, 0x4002759d, 0x162c7733, 0x4013cccc, 0xccccccc2},
+{62,0,123,__LINE__, 0x4002934f, 0x0979a36b, 0x4013ffff, 0xfffffff5},
+{62,0,123,__LINE__, 0x4002b0b5, 0x584886c6, 0x40143333, 0x33333328},
+{62,0,123,__LINE__, 0x4002cdd1, 0x802c83d5, 0x40146666, 0x6666665b},
+{62,0,123,__LINE__, 0x4002eaa4, 0xf38ddef4, 0x40149999, 0x9999998e},
+{62,0,123,__LINE__, 0x40030731, 0x1a183ebb, 0x4014cccc, 0xccccccc1},
+{62,0,123,__LINE__, 0x40032377, 0x5123e2da, 0x4014ffff, 0xfffffff4},
+{62,0,123,__LINE__, 0x40033f78, 0xec19de5d, 0x40153333, 0x33333327},
+{62,0,123,__LINE__, 0x40035b37, 0x34d39d41, 0x40156666, 0x6666665a},
+{62,0,123,__LINE__, 0x400376b3, 0x6bf5f8a4, 0x40159999, 0x9999998d},
+{62,0,123,__LINE__, 0x400391ee, 0xc948186b, 0x4015cccc, 0xccccccc0},
+{62,0,123,__LINE__, 0x4003acea, 0x7c065d3b, 0x4015ffff, 0xfffffff3},
+{62,0,123,__LINE__, 0x4003c7a7, 0xab318a05, 0x40163333, 0x33333326},
+{62,0,123,__LINE__, 0x4003e227, 0x75da60b4, 0x40166666, 0x66666659},
+{62,0,123,__LINE__, 0x4003fc6a, 0xf369e28f, 0x40169999, 0x9999998c},
+{62,0,123,__LINE__, 0x40041673, 0x33e661bc, 0x4016cccc, 0xccccccbf},
+{62,0,123,__LINE__, 0x40043041, 0x40358ea2, 0x4016ffff, 0xfffffff2},
+{62,0,123,__LINE__, 0x400449d6, 0x1a5ba93e, 0x40173333, 0x33333325},
+{62,0,123,__LINE__, 0x40046332, 0xbdb7fc23, 0x40176666, 0x66666658},
+{62,0,123,__LINE__, 0x40047c58, 0x1f3ec49d, 0x40179999, 0x9999998b},
+{62,0,123,__LINE__, 0x40049547, 0x2db0a94d, 0x4017cccc, 0xccccccbe},
+{62,0,123,__LINE__, 0x4004ae00, 0xd1cfdead, 0x4017ffff, 0xfffffff1},
+{62,0,123,__LINE__, 0x4004c685, 0xee93170b, 0x40183333, 0x33333324},
+{62,0,123,__LINE__, 0x4004ded7, 0x615659e2, 0x40186666, 0x66666657},
+{62,0,123,__LINE__, 0x4004f6f6, 0x0209dcd7, 0x40189999, 0x9999998a},
+{62,0,123,__LINE__, 0x40050ee2, 0xa35ef724, 0x4018cccc, 0xccccccbd},
+{62,0,123,__LINE__, 0x4005269e, 0x12f346dc, 0x4018ffff, 0xfffffff0},
+{62,0,123,__LINE__, 0x40053e29, 0x197a1e1c, 0x40193333, 0x33333323},
+{62,0,123,__LINE__, 0x40055584, 0x7ae44d14, 0x40196666, 0x66666656},
+{62,0,123,__LINE__, 0x40056cb0, 0xf6865c87, 0x40199999, 0x99999989},
+{62,0,123,__LINE__, 0x400583af, 0x473d4b90, 0x4019cccc, 0xccccccbc},
+{62,0,123,__LINE__, 0x40059a80, 0x2391e22c, 0x4019ffff, 0xffffffef},
+{62,0,123,__LINE__, 0x4005b124, 0x3ddaa957, 0x401a3333, 0x33333322},
+{62,0,123,__LINE__, 0x4005c79c, 0x445c987d, 0x401a6666, 0x66666655},
+{62,0,123,__LINE__, 0x4005dde8, 0xe16a8734, 0x401a9999, 0x99999988},
+{62,0,123,__LINE__, 0x4005f40a, 0xbb837184, 0x401acccc, 0xccccccbb},
+{62,0,123,__LINE__, 0x40060a02, 0x756f9c15, 0x401affff, 0xffffffee},
+{62,0,123,__LINE__, 0x40061fd0, 0xae5ca520, 0x401b3333, 0x33333321},
+{62,0,123,__LINE__, 0x40063576, 0x01f88e22, 0x401b6666, 0x66666654},
+{62,0,123,__LINE__, 0x40064af3, 0x088bc9e4, 0x401b9999, 0x99999987},
+{62,0,123,__LINE__, 0x40066048, 0x571259b4, 0x401bcccc, 0xccccccba},
+{62,0,123,__LINE__, 0x40067576, 0x7f540425, 0x401bffff, 0xffffffed},
+{62,0,123,__LINE__, 0x40068a7e, 0x0ffbaf3e, 0x401c3333, 0x33333320},
+{62,0,123,__LINE__, 0x40069f5f, 0x94ade768, 0x401c6666, 0x66666653},
+{62,0,123,__LINE__, 0x4006b41b, 0x961e9bfc, 0x401c9999, 0x99999986},
+{62,0,123,__LINE__, 0x4006c8b2, 0x9a2619ef, 0x401ccccc, 0xccccccb9},
+{62,0,123,__LINE__, 0x4006dd25, 0x23d54cae, 0x401cffff, 0xffffffec},
+{62,0,123,__LINE__, 0x4006f173, 0xb3894cc2, 0x401d3333, 0x3333331f},
+{62,0,123,__LINE__, 0x4007059e, 0xc6fe4395, 0x401d6666, 0x66666652},
+{62,0,123,__LINE__, 0x400719a6, 0xd961ab50, 0x401d9999, 0x99999985},
+{62,0,123,__LINE__, 0x40072d8c, 0x6363f166, 0x401dcccc, 0xccccccb8},
+{62,0,123,__LINE__, 0x4007414f, 0xdb49821e, 0x401dffff, 0xffffffeb},
+{62,0,123,__LINE__, 0x400754f1, 0xb4fb432b, 0x401e3333, 0x3333331e},
+{62,0,123,__LINE__, 0x40076872, 0x62168307, 0x401e6666, 0x66666651},
+{62,0,123,__LINE__, 0x40077bd2, 0x51fc6288, 0x401e9999, 0x99999984},
+{62,0,123,__LINE__, 0x40078f11, 0xf1e0bdf5, 0x401ecccc, 0xccccccb7},
+{62,0,123,__LINE__, 0x4007a231, 0xacd89a94, 0x401effff, 0xffffffea},
+{62,0,123,__LINE__, 0x4007b531, 0xebe81d6e, 0x401f3333, 0x3333331d},
+{62,0,123,__LINE__, 0x4007c813, 0x16100fdc, 0x401f6666, 0x66666650},
+{62,0,123,__LINE__, 0x4007dad5, 0x905af644, 0x401f9999, 0x99999983},
+{62,0,123,__LINE__, 0x4007ed79, 0xbde9bd0f, 0x401fcccc, 0xccccccb6},
+{62,0,123,__LINE__, 0x4007ffff, 0xfffffff8, 0x401fffff, 0xffffffe9},
+{62,0,123,__LINE__, 0x40081268, 0xb60fef5d, 0x40201999, 0x9999998e},
+{62,0,123,__LINE__, 0x400824b4, 0x3dc5d758, 0x40203333, 0x33333328},
+{62,0,123,__LINE__, 0x400836e2, 0xf3134bfc, 0x40204ccc, 0xccccccc2},
+{62,0,123,__LINE__, 0x400848f5, 0x3039fe23, 0x40206666, 0x6666665c},
+{62,0,123,__LINE__, 0x40085aeb, 0x4dd63bef, 0x40207fff, 0xfffffff6},
+{62,0,123,__LINE__, 0x40086cc5, 0xa2e92012, 0x40209999, 0x99999990},
+{62,0,123,__LINE__, 0x40087e84, 0x84e272cd, 0x4020b333, 0x3333332a},
+{62,0,123,__LINE__, 0x40089028, 0x47aa3f6a, 0x4020cccc, 0xccccccc4},
+{62,0,123,__LINE__, 0x4008a1b1, 0x3daa20ef, 0x4020e666, 0x6666665e},
+{62,0,123,__LINE__, 0x4008b31f, 0xb7d64893, 0x4020ffff, 0xfffffff8},
+{62,0,123,__LINE__, 0x4008c474, 0x05b64073, 0x40211999, 0x99999992},
+{62,0,123,__LINE__, 0x4008d5ae, 0x756d6cde, 0x40213333, 0x3333332c},
+{62,0,123,__LINE__, 0x4008e6cf, 0x53c34e90, 0x40214ccc, 0xccccccc6},
+{62,0,123,__LINE__, 0x4008f7d6, 0xec2b87f5, 0x40216666, 0x66666660},
+{62,0,123,__LINE__, 0x400908c5, 0x88cda79a, 0x40217fff, 0xfffffffa},
+{62,0,123,__LINE__, 0x4009199b, 0x728cb9cd, 0x40219999, 0x99999994},
+{62,0,123,__LINE__, 0x40092a58, 0xf10ea355, 0x4021b333, 0x3333332e},
+{62,0,123,__LINE__, 0x40093afe, 0x4ac34726, 0x4021cccc, 0xccccccc8},
+{62,0,123,__LINE__, 0x40094b8b, 0xc4eb78d0, 0x4021e666, 0x66666662},
+{62,0,123,__LINE__, 0x40095c01, 0xa39fbd66, 0x4021ffff, 0xfffffffc},
+{62,0,123,__LINE__, 0x40096c60, 0x29d6dc80, 0x40221999, 0x99999996},
+{62,0,123,__LINE__, 0x40097ca7, 0x996c42ec, 0x40223333, 0x33333330},
+{62,0,123,__LINE__, 0x40098cd8, 0x3326389c, 0x40224ccc, 0xccccccca},
+{62,0,123,__LINE__, 0x40099cf2, 0x36bbeb37, 0x40226666, 0x66666664},
+{62,0,123,__LINE__, 0x4009acf5, 0xe2db4ec8, 0x40227fff, 0xfffffffe},
+{62,0,123,__LINE__, 0x4009bce3, 0x752ed5de, 0x40229999, 0x99999998},
+{62,0,123,__LINE__, 0x4009ccbb, 0x2a630268, 0x4022b333, 0x33333332},
+{62,0,123,__LINE__, 0x4009dc7d, 0x3e2bd092, 0x4022cccc, 0xcccccccc},
+{62,0,123,__LINE__, 0x4009ec29, 0xeb49fcd8, 0x4022e666, 0x66666666},
+{62,0,123,__LINE__, 0x4009fbc1, 0x6b902681, 0x40230000, 0x00000000},
+{62,0,123,__LINE__, 0x400a0b43, 0xf7e7cf8d, 0x40231999, 0x9999999a},
+{62,0,123,__LINE__, 0x400a1ab1, 0xc8563b43, 0x40233333, 0x33333334},
+{62,0,123,__LINE__, 0x400a2a0b, 0x14012c59, 0x40234ccc, 0xccccccce},
+{62,0,123,__LINE__, 0x400a3950, 0x113383b9, 0x40236666, 0x66666668},
+{62,0,123,__LINE__, 0x400a4880, 0xf561c0e8, 0x40238000, 0x00000002},
+{62,0,123,__LINE__, 0x400a579d, 0xf52e64ea, 0x40239999, 0x9999999c},
+{62,0,123,__LINE__, 0x400a66a7, 0x446e3896, 0x4023b333, 0x33333336},
+{62,0,123,__LINE__, 0x400a759d, 0x162c773b, 0x4023cccc, 0xccccccd0},
+{62,0,123,__LINE__, 0x400a847f, 0x9caede5f, 0x4023e666, 0x6666666a},
+{62,0,123,__LINE__, 0x400a934f, 0x0979a374, 0x40240000, 0x00000004},
+{62,0,123,__LINE__, 0x400aa20b, 0x8d535042, 0x40241999, 0x9999999e},
+{62,0,123,__LINE__, 0x400ab0b5, 0x584886d0, 0x40243333, 0x33333338},
+{62,0,123,__LINE__, 0x400abf4c, 0x99afad75, 0x40244ccc, 0xccccccd2},
+{62,0,123,__LINE__, 0x400acdd1, 0x802c83df, 0x40246666, 0x6666666c},
+{62,0,123,__LINE__, 0x400adc44, 0x39b3a19f, 0x40248000, 0x00000006},
+{62,0,123,__LINE__, 0x400aeaa4, 0xf38ddefe, 0x40249999, 0x999999a0},
+{62,0,123,__LINE__, 0x400af8f3, 0xda5ba8a4, 0x4024b333, 0x3333333a},
+{62,0,123,__LINE__, 0x400b0731, 0x1a183ec6, 0x4024cccc, 0xccccccd4},
+{62,0,123,__LINE__, 0x400b155c, 0xde1ce055, 0x4024e666, 0x6666666e},
+{62,0,123,__LINE__, 0x400b2377, 0x5123e2e5, 0x40250000, 0x00000008},
+{62,0,123,__LINE__, 0x400b3180, 0x9d4bb7b2, 0x40251999, 0x999999a2},
+{62,0,123,__LINE__, 0x400b3f78, 0xec19de68, 0x40253333, 0x3333333c},
+{62,0,123,__LINE__, 0x400b4d60, 0x667dc62a, 0x40254ccc, 0xccccccd6},
+{62,0,123,__LINE__, 0x400b5b37, 0x34d39d4d, 0x40256666, 0x66666670},
+{62,0,123,__LINE__, 0x400b68fd, 0x7ee71059, 0x40258000, 0x0000000a},
+{62,0,123,__LINE__, 0x400b76b3, 0x6bf5f8b1, 0x40259999, 0x999999a4},
+{62,0,123,__LINE__, 0x400b8459, 0x22b2fb5e, 0x4025b333, 0x3333333e},
+{62,0,123,__LINE__, 0x400b91ee, 0xc9481877, 0x4025cccc, 0xccccccd8},
+{62,0,123,__LINE__, 0x400b9f74, 0x85592b84, 0x4025e666, 0x66666672},
+{62,0,123,__LINE__, 0x400bacea, 0x7c065d48, 0x40260000, 0x0000000c},
+{62,0,123,__LINE__, 0x400bba50, 0xd1ee8761, 0x40261999, 0x999999a6},
+{62,0,123,__LINE__, 0x400bc7a7, 0xab318a13, 0x40263333, 0x33333340},
+{62,0,123,__LINE__, 0x400bd4ef, 0x2b7294aa, 0x40264ccc, 0xccccccda},
+{62,0,123,__LINE__, 0x400be227, 0x75da60c2, 0x40266666, 0x66666674},
+{62,0,123,__LINE__, 0x400bef50, 0xad1960e1, 0x40268000, 0x0000000e},
+{62,0,123,__LINE__, 0x400bfc6a, 0xf369e29e, 0x40269999, 0x999999a8},
+{62,0,123,__LINE__, 0x400c0976, 0x6a9224c8, 0x4026b333, 0x33333342},
+{62,0,123,__LINE__, 0x400c1673, 0x33e661cb, 0x4026cccc, 0xccccccdc},
+{62,0,123,__LINE__, 0x400c2361, 0x704acea3, 0x4026e666, 0x66666676},
+{62,0,123,__LINE__, 0x400c3041, 0x40358eb2, 0x40270000, 0x00000010},
+{62,0,123,__LINE__, 0x400c3d12, 0xc3b09cba, 0x40271999, 0x999999aa},
+{62,0,123,__LINE__, 0x400c49d6, 0x1a5ba94e, 0x40273333, 0x33333344},
+{62,0,123,__LINE__, 0x400c568b, 0x636deef0, 0x40274ccc, 0xccccccde},
+{62,0,123,__LINE__, 0x400c6332, 0xbdb7fc33, 0x40276666, 0x66666678},
+{62,0,123,__LINE__, 0x400c6fcc, 0x47a5740c, 0x40278000, 0x00000012},
+{62,0,123,__LINE__, 0x400c7c58, 0x1f3ec4ad, 0x40279999, 0x999999ac},
+{62,0,123,__LINE__, 0x400c88d6, 0x622ad50a, 0x4027b333, 0x33333346},
+{62,0,123,__LINE__, 0x400c9547, 0x2db0a95e, 0x4027cccc, 0xcccccce0},
+{62,0,123,__LINE__, 0x400ca1aa, 0x9eb8feda, 0x4027e666, 0x6666667a},
+{62,0,123,__LINE__, 0x400cae00, 0xd1cfdebe, 0x40280000, 0x00000014},
+{62,0,123,__LINE__, 0x400cba49, 0xe326290e, 0x40281999, 0x999999ae},
+{62,0,123,__LINE__, 0x400cc685, 0xee93171c, 0x40283333, 0x33333348},
+{62,0,123,__LINE__, 0x400cd2b5, 0x0f95b61e, 0x40284ccc, 0xcccccce2},
+{62,0,123,__LINE__, 0x400cded7, 0x615659f4, 0x40286666, 0x6666667c},
+{62,0,123,__LINE__, 0x400ceaec, 0xfea80864, 0x40288000, 0x00000016},
+{62,0,123,__LINE__, 0x400cf6f6, 0x0209dce9, 0x40289999, 0x999999b0},
+{62,0,123,__LINE__, 0x400d02f2, 0x85a8654d, 0x4028b333, 0x3333334a},
+{62,0,123,__LINE__, 0x400d0ee2, 0xa35ef736, 0x4028cccc, 0xcccccce4},
+{62,0,123,__LINE__, 0x400d1ac6, 0x74b8fed8, 0x4028e666, 0x6666667e},
+{62,0,123,__LINE__, 0x400d269e, 0x12f346ee, 0x40290000, 0x00000018},
+{62,0,123,__LINE__, 0x400d3269, 0x96fd3a26, 0x40291999, 0x999999b2},
+{62,0,123,__LINE__, 0x400d3e29, 0x197a1e2f, 0x40293333, 0x3333334c},
+{62,0,123,__LINE__, 0x400d49dc, 0xb2c24886, 0x40294ccc, 0xcccccce6},
+{62,0,123,__LINE__, 0x400d5584, 0x7ae44d27, 0x40296666, 0x66666680},
+{62,0,123,__LINE__, 0x400d6120, 0x89a62759, 0x40298000, 0x0000001a},
+{62,0,123,__LINE__, 0x400d6cb0, 0xf6865c9a, 0x40299999, 0x999999b4},
+{62,0,123,__LINE__, 0x400d7835, 0xd8bd19f1, 0x4029b333, 0x3333334e},
+{62,0,123,__LINE__, 0x400d83af, 0x473d4ba3, 0x4029cccc, 0xcccccce8},
+{62,0,123,__LINE__, 0x400d8f1d, 0x58b5af91, 0x4029e666, 0x66666682},
+{62,0,123,__LINE__, 0x400d9a80, 0x2391e240, 0x402a0000, 0x0000001c},
+{62,0,123,__LINE__, 0x400da5d7, 0xbdfb66ba, 0x402a1999, 0x999999b6},
+{62,0,123,__LINE__, 0x400db124, 0x3ddaa96c, 0x402a3333, 0x33333350},
+{62,0,123,__LINE__, 0x400dbc65, 0xb8d7fe04, 0x402a4ccc, 0xccccccea},
+{62,0,123,__LINE__, 0x400dc79c, 0x445c9892, 0x402a6666, 0x66666684},
+{62,0,123,__LINE__, 0x400dd2c7, 0xf59381e2, 0x402a8000, 0x0000001e},
+{62,0,123,__LINE__, 0x400ddde8, 0xe16a8749, 0x402a9999, 0x999999b8},
+{62,0,123,__LINE__, 0x400de8ff, 0x1c9325ea, 0x402ab333, 0x33333352},
+{62,0,123,__LINE__, 0x400df40a, 0xbb837199, 0x402acccc, 0xccccccec},
+{62,0,123,__LINE__, 0x400dff0b, 0xd276f76e, 0x402ae666, 0x66666686},
+{62,0,123,__LINE__, 0x400e0a02, 0x756f9c2a, 0x402b0000, 0x00000020},
+{62,0,123,__LINE__, 0x400e14ee, 0xb836767a, 0x402b1999, 0x999999ba},
+{62,0,123,__LINE__, 0x400e1fd0, 0xae5ca535, 0x402b3333, 0x33333354},
+{62,0,123,__LINE__, 0x400e2aa8, 0x6b3c21b1, 0x402b4ccc, 0xccccccee},
+{62,0,123,__LINE__, 0x400e3576, 0x01f88e38, 0x402b6666, 0x66666688},
+{62,0,123,__LINE__, 0x400e4039, 0x858000c2, 0x402b8000, 0x00000022},
+{62,0,123,__LINE__, 0x400e4af3, 0x088bc9fb, 0x402b9999, 0x999999bc},
+{62,0,123,__LINE__, 0x400e55a2, 0x9da138b4, 0x402bb333, 0x33333356},
+{62,0,123,__LINE__, 0x400e6048, 0x571259cb, 0x402bcccc, 0xccccccf0},
+{62,0,123,__LINE__, 0x400e6ae4, 0x46feb4a2, 0x402be666, 0x6666668a},
+{62,0,123,__LINE__, 0x400e7576, 0x7f54043c, 0x402c0000, 0x00000024},
+{62,0,123,__LINE__, 0x400e7fff, 0x11ceed00, 0x402c1999, 0x999999be},
+{62,0,123,__LINE__, 0x400e8a7e, 0x0ffbaf56, 0x402c3333, 0x33333358},
+{62,0,123,__LINE__, 0x400e94f3, 0x8b36d702, 0x402c4ccc, 0xccccccf2},
+{62,0,123,__LINE__, 0x400e9f5f, 0x94ade780, 0x402c6666, 0x6666668c},
+{62,0,123,__LINE__, 0x400ea9c2, 0x3d600544, 0x402c8000, 0x00000026},
+{62,0,123,__LINE__, 0x400eb41b, 0x961e9c13, 0x402c9999, 0x999999c0},
+{62,0,123,__LINE__, 0x400ebe6b, 0xaf8e0267, 0x402cb333, 0x3333335a},
+{62,0,123,__LINE__, 0x400ec8b2, 0x9a261a07, 0x402ccccc, 0xccccccf4},
+{62,0,123,__LINE__, 0x400ed2f0, 0x6632edd0, 0x402ce666, 0x6666668e},
+{62,0,123,__LINE__, 0x400edd25, 0x23d54cc6, 0x402d0000, 0x00000028},
+{62,0,123,__LINE__, 0x400ee750, 0xe303627d, 0x402d1999, 0x999999c2},
+{62,0,123,__LINE__, 0x400ef173, 0xb3894cda, 0x402d3333, 0x3333335c},
+{62,0,123,__LINE__, 0x400efb8d, 0xa509af56, 0x402d4ccc, 0xccccccf6},
+{62,0,123,__LINE__, 0x400f059e, 0xc6fe43ad, 0x402d6666, 0x66666690},
+{62,0,123,__LINE__, 0x400f0fa7, 0x28b86826, 0x402d8000, 0x0000002a},
+{62,0,123,__LINE__, 0x400f19a6, 0xd961ab68, 0x402d9999, 0x999999c4},
+{62,0,123,__LINE__, 0x400f239d, 0xe7fc55fe, 0x402db333, 0x3333335e},
+{62,0,123,__LINE__, 0x400f2d8c, 0x6363f17e, 0x402dcccc, 0xccccccf8},
+{62,0,123,__LINE__, 0x400f3772, 0x5a4dcd7c, 0x402de666, 0x66666692},
+{62,0,123,__LINE__, 0x400f414f, 0xdb498236, 0x402e0000, 0x0000002c},
+{62,0,123,__LINE__, 0x400f4b24, 0xf4c17120, 0x402e1999, 0x999999c6},
+{62,0,123,__LINE__, 0x400f54f1, 0xb4fb4344, 0x402e3333, 0x33333360},
+{62,0,123,__LINE__, 0x400f5eb6, 0x2a186592, 0x402e4ccc, 0xccccccfa},
+{62,0,123,__LINE__, 0x400f6872, 0x62168321, 0x402e6666, 0x66666694},
+{62,0,123,__LINE__, 0x400f7226, 0x6acffd6c, 0x402e8000, 0x0000002e},
+{62,0,123,__LINE__, 0x400f7bd2, 0x51fc62a1, 0x402e9999, 0x999999c8},
+{62,0,123,__LINE__, 0x400f8576, 0x2530e1f2, 0x402eb333, 0x33333362},
+{62,0,123,__LINE__, 0x400f8f11, 0xf1e0be0f, 0x402ecccc, 0xccccccfc},
+{62,0,123,__LINE__, 0x400f98a5, 0xc55dbdc0, 0x402ee666, 0x66666696},
+{62,0,123,__LINE__, 0x400fabb5, 0xb5616e63, 0x402f1999, 0x999999ca},
+{62,0,123,__LINE__, 0x400fb531, 0xebe81d88, 0x402f3333, 0x33333364},
+{62,0,123,__LINE__, 0x400fbea6, 0x5d3cc171, 0x402f4ccc, 0xccccccfe},
+{62,0,123,__LINE__, 0x400fc813, 0x16100ff7, 0x402f6666, 0x66666698},
+{62,0,123,__LINE__, 0x400fd178, 0x22f3c1a8, 0x402f8000, 0x00000032},
+{62,0,123,__LINE__, 0x400fdad5, 0x905af65f, 0x402f9999, 0x999999cc},
+{62,0,123,__LINE__, 0x400fe42b, 0x6a9a9840, 0x402fb333, 0x33333366},
+{62,0,123,__LINE__, 0x400fed79, 0xbde9bd2a, 0x402fcccc, 0xcccccd00},
+{62,0,123,__LINE__, 0x400ff6c0, 0x9662069a, 0x402fe666, 0x6666669a},
+{62,0,123,__LINE__, 0x40100000, 0x00000009, 0x40300000, 0x0000001a},
+{62,0,123,__LINE__, 0x4010049c, 0x0351be07, 0x40300ccc, 0xcccccce7},
+{62,0,123,__LINE__, 0x40100934, 0x5b07f7bc, 0x40301999, 0x999999b4},
+{62,0,123,__LINE__, 0x40100dc9, 0x0cf665dd, 0x40302666, 0x66666681},
+{62,0,123,__LINE__, 0x4010125a, 0x1ee2ebb9, 0x40303333, 0x3333334e},
+{62,0,123,__LINE__, 0x401016e7, 0x9685c2dc, 0x40304000, 0x0000001b},
+{62,0,123,__LINE__, 0x40101b71, 0x7989a60b, 0x40304ccc, 0xcccccce8},
+{62,0,123,__LINE__, 0x40101ff7, 0xcd8bfb9d, 0x40305999, 0x999999b5},
+{62,0,123,__LINE__, 0x4010247a, 0x981cff1f, 0x40306666, 0x66666682},
+{62,0,123,__LINE__, 0x401028f9, 0xdebfea69, 0x40307333, 0x3333334f},
+{62,0,123,__LINE__, 0x40102d75, 0xa6eb1e05, 0x40308000, 0x0000001c},
+{62,0,123,__LINE__, 0x401031ed, 0xf60848fd, 0x40308ccc, 0xcccccce9},
+{62,0,123,__LINE__, 0x40103662, 0xd1749016, 0x40309999, 0x999999b6},
+{62,0,123,__LINE__, 0x40103ad4, 0x3e80b46a, 0x4030a666, 0x66666683},
+{62,0,123,__LINE__, 0x40103f42, 0x42713974, 0x4030b333, 0x33333350},
+{62,0,123,__LINE__, 0x401043ac, 0xe27e8a88, 0x4030c000, 0x0000001d},
+{62,0,123,__LINE__, 0x40104814, 0x23d51fc2, 0x4030cccc, 0xccccccea},
+{62,0,123,__LINE__, 0x40104c78, 0x0b95a25b, 0x4030d999, 0x999999b7},
+{62,0,123,__LINE__, 0x401050d8, 0x9ed51084, 0x4030e666, 0x66666684},
+{62,0,123,__LINE__, 0x40105535, 0xe29ce0af, 0x4030f333, 0x33333351},
+{62,0,123,__LINE__, 0x4010598f, 0xdbeb2457, 0x40310000, 0x0000001e},
+{62,0,123,__LINE__, 0x40105de6, 0x8fb2aa41, 0x40310ccc, 0xcccccceb},
+{62,0,123,__LINE__, 0x4010623a, 0x02db2046, 0x40311999, 0x999999b8},
+{62,0,123,__LINE__, 0x4010668a, 0x3a413495, 0x40312666, 0x66666685},
+{62,0,123,__LINE__, 0x40106ad7, 0x3ab6b67c, 0x40313333, 0x33333352},
+{62,0,123,__LINE__, 0x40106f21, 0x0902b6b9, 0x40314000, 0x0000001f},
+{62,0,123,__LINE__, 0x40107367, 0xa9e1a755, 0x40314ccc, 0xccccccec},
+{62,0,123,__LINE__, 0x401077ab, 0x22057b00, 0x40315999, 0x999999b9},
+{62,0,123,__LINE__, 0x40107beb, 0x7615c407, 0x40316666, 0x66666686},
+{62,0,123,__LINE__, 0x40108028, 0xaaafd2cd, 0x40317333, 0x33333353},
+{62,0,123,__LINE__, 0x40108462, 0xc466d3da, 0x40318000, 0x00000020},
+{62,0,123,__LINE__, 0x40108899, 0xc7c3ed7a, 0x40318ccc, 0xcccccced},
+{62,0,123,__LINE__, 0x40108ccd, 0xb9465cf3, 0x40319999, 0x999999ba},
+{62,0,123,__LINE__, 0x401090fe, 0x9d63934e, 0x4031a666, 0x66666687},
+{62,0,123,__LINE__, 0x4010952c, 0x788751b7, 0x4031b333, 0x33333354},
+{62,0,123,__LINE__, 0x40109957, 0x4f13c57c, 0x4031c000, 0x00000021},
+{62,0,123,__LINE__, 0x40109d7f, 0x2561a39f, 0x4031cccc, 0xccccccee},
+{62,0,123,__LINE__, 0x4010a1a3, 0xffc0440f, 0x4031d999, 0x999999bb},
+{62,0,123,__LINE__, 0x4010a5c5, 0xe275bc74, 0x4031e666, 0x66666688},
+{62,0,123,__LINE__, 0x4010a9e4, 0xd1befaa6, 0x4031f333, 0x33333355},
+{62,0,123,__LINE__, 0x4010ae00, 0xd1cfdebf, 0x40320000, 0x00000022},
+{62,0,123,__LINE__, 0x4010b219, 0xe6d354d3, 0x40320ccc, 0xccccccef},
+{62,0,123,__LINE__, 0x4010b630, 0x14eb6e4c, 0x40321999, 0x999999bc},
+{62,0,123,__LINE__, 0x4010ba43, 0x60317aee, 0x40322666, 0x66666689},
+{62,0,123,__LINE__, 0x4010be53, 0xccb62182, 0x40323333, 0x33333356},
+{62,0,123,__LINE__, 0x4010c261, 0x5e817829, 0x40324000, 0x00000023},
+{62,0,123,__LINE__, 0x4010c66c, 0x19931c5a, 0x40324ccc, 0xccccccf0},
+{62,0,123,__LINE__, 0x4010ca74, 0x01e24a92, 0x40325999, 0x999999bd},
+{62,0,123,__LINE__, 0x4010ce79, 0x1b5df5a7, 0x40326666, 0x6666668a},
+{62,0,123,__LINE__, 0x4010d27b, 0x69ecddd5, 0x40327333, 0x33333357},
+{62,0,123,__LINE__, 0x4010d67a, 0xf16da770, 0x40328000, 0x00000024},
+{62,0,123,__LINE__, 0x4010da77, 0xb5b6f153, 0x40328ccc, 0xccccccf1},
+{62,0,123,__LINE__, 0x4010de71, 0xba976afb, 0x40329999, 0x999999be},
+{62,0,123,__LINE__, 0x4010e269, 0x03d5ea53, 0x4032a666, 0x6666668b},
+{62,0,123,__LINE__, 0x4010e65d, 0x95318140, 0x4032b333, 0x33333358},
+{62,0,123,__LINE__, 0x4010ea4f, 0x726192d7, 0x4032c000, 0x00000025},
+{62,0,123,__LINE__, 0x4010ee3e, 0x9f15e854, 0x4032cccc, 0xccccccf2},
+{62,0,123,__LINE__, 0x4010f22b, 0x1ef6c5c8, 0x4032d999, 0x999999bf},
+{62,0,123,__LINE__, 0x4010f614, 0xf5a4fe78, 0x4032e666, 0x6666668c},
+{62,0,123,__LINE__, 0x4010f9fc, 0x26ba0906, 0x4032f333, 0x33333359},
+{62,0,123,__LINE__, 0x4010fde0, 0xb5c8134c, 0x40330000, 0x00000026},
+{62,0,123,__LINE__, 0x401101c2, 0xa65a15f3, 0x40330ccc, 0xccccccf3},
+{62,0,123,__LINE__, 0x401105a1, 0xfbf3e7d2, 0x40331999, 0x999999c0},
+{62,0,123,__LINE__, 0x4011097e, 0xba1250ff, 0x40332666, 0x6666668d},
+{62,0,123,__LINE__, 0x40110d58, 0xe42b1dad, 0x40333333, 0x3333335a},
+{62,0,123,__LINE__, 0x40111130, 0x7dad30c3, 0x40334000, 0x00000027},
+{62,0,123,__LINE__, 0x40111505, 0x8a009638, 0x40334ccc, 0xccccccf4},
+{62,0,123,__LINE__, 0x401118d8, 0x0c869531, 0x40335999, 0x999999c1},
+{62,0,123,__LINE__, 0x40111ca8, 0x0899c1e8, 0x40336666, 0x6666668e},
+{62,0,123,__LINE__, 0x40112075, 0x818e0f4e, 0x40337333, 0x3333335b},
+{62,0,123,__LINE__, 0x40112440, 0x7ab0e07f, 0x40338000, 0x00000028},
+{62,0,123,__LINE__, 0x40112808, 0xf74919f4, 0x40338ccc, 0xccccccf5},
+{62,0,123,__LINE__, 0x40112bce, 0xfa973280, 0x40339999, 0x999999c2},
+{62,0,123,__LINE__, 0x40112f92, 0x87d54416, 0x4033a666, 0x6666668f},
+{62,0,123,__LINE__, 0x40113353, 0xa2371c56, 0x4033b333, 0x3333335c},
+{62,0,123,__LINE__, 0x40113712, 0x4cea4ceb, 0x4033c000, 0x00000029},
+{62,0,123,__LINE__, 0x40113ace, 0x8b163ba8, 0x4033cccc, 0xccccccf6},
+{62,0,123,__LINE__, 0x40113e88, 0x5fdc3280, 0x4033d999, 0x999999c3},
+{62,0,123,__LINE__, 0x4011423f, 0xce576f3a, 0x4033e666, 0x66666690},
+{62,0,123,__LINE__, 0x401145f4, 0xd99d3304, 0x4033f333, 0x3333335d},
+0,};
+test_log2(m) {run_vector_1(m,log2_vec,(char *)(log2),"log2","dd"); }
diff --git a/newlib/libm/test/log2f_vec.c b/newlib/libm/test/log2f_vec.c
new file mode 100644
index 00000000000..a31ca2ff2a7
--- /dev/null
+++ b/newlib/libm/test/log2f_vec.c
@@ -0,0 +1,402 @@
+#include "test.h"
+ one_line_type log2f_vec[] = {
+{31,0,123,__LINE__, 0xc01149a7, 0x84bcd1b9, 0x3fa99999, 0x9999999a},
+{31,0,123,__LINE__, 0xc00a934f, 0x0979a371, 0x3fb99999, 0x9999999a},
+{31,0,123,__LINE__, 0xc005e54e, 0x37a9c4bc, 0x3fc33333, 0x33333334},
+{31,0,123,__LINE__, 0xc002934f, 0x0979a371, 0x3fc99999, 0x9999999a},
+{31,0,123,__LINE__, 0xc0000000, 0x00000000, 0x3fd00000, 0x00000000},
+{31,0,123,__LINE__, 0xbffbca9c, 0x6f53897a, 0x3fd33333, 0x33333333},
+{31,0,123,__LINE__, 0xbff83bb1, 0x144b3e8a, 0x3fd66666, 0x66666666},
+{31,0,123,__LINE__, 0xbff5269e, 0x12f346e3, 0x3fd99999, 0x99999999},
+{31,0,123,__LINE__, 0xbff26e9a, 0xcbb3cc12, 0x3fdccccc, 0xcccccccc},
+{31,0,123,__LINE__, 0xbff00000, 0x00000001, 0x3fdfffff, 0xffffffff},
+{31,0,123,__LINE__, 0xbfeb9992, 0x35cd18bf, 0x3fe19999, 0x99999999},
+{31,0,123,__LINE__, 0xbfe79538, 0xdea712f5, 0x3fe33333, 0x33333333},
+{31,0,123,__LINE__, 0xbfe3e33b, 0x979f04f9, 0x3fe4cccc, 0xcccccccd},
+{31,0,123,__LINE__, 0xbfe07762, 0x28967d11, 0x3fe66666, 0x66666667},
+{31,0,123,__LINE__, 0xbfda8ff9, 0x71810a5a, 0x3fe80000, 0x00000001},
+{31,0,123,__LINE__, 0xbfd49a78, 0x4bcd1b86, 0x3fe99999, 0x9999999b},
+{31,0,123,__LINE__, 0xbfce02f5, 0x1a35ad7f, 0x3feb3333, 0x33333335},
+{31,0,123,__LINE__, 0xbfc374d6, 0x5d9e6080, 0x3feccccc, 0xcccccccf},
+{31,0,123,__LINE__, 0xbfb2f1b3, 0xbd2f9df8, 0x3fee6666, 0x66666669},
+{31,0,123,__LINE__, 0x3fb20508, 0xf547ee11, 0x3ff0cccc, 0xccccccce},
+{31,0,123,__LINE__, 0x3fc199b7, 0x28cb9d17, 0x3ff19999, 0x9999999b},
+{31,0,123,__LINE__, 0x3fc9cf23, 0x6bbeb394, 0x3ff26666, 0x66666668},
+{31,0,123,__LINE__, 0x3fd0d58e, 0x42b1da1f, 0x3ff33333, 0x33333335},
+{31,0,123,__LINE__, 0x3fd49a78, 0x4bcd1b94, 0x3ff40000, 0x00000002},
+{31,0,123,__LINE__, 0x3fd83988, 0xd0c1f617, 0x3ff4cccc, 0xcccccccf},
+{31,0,123,__LINE__, 0x3fdbb59b, 0x5fafc565, 0x3ff59999, 0x9999999c},
+{31,0,123,__LINE__, 0x3fdf113b, 0xaed305e6, 0x3ff66666, 0x66666669},
+{31,0,123,__LINE__, 0x3fe12758, 0x696ea51a, 0x3ff73333, 0x33333336},
+{31,0,123,__LINE__, 0x3fe2b803, 0x473f7ad7, 0x3ff80000, 0x00000003},
+{31,0,123,__LINE__, 0x3fe43b8a, 0x8d7bdcb3, 0x3ff8cccc, 0xccccccd0},
+{31,0,123,__LINE__, 0x3fe5b2c3, 0xda197240, 0x3ff99999, 0x9999999d},
+{31,0,123,__LINE__, 0x3fe71e71, 0x11726219, 0x3ffa6666, 0x6666666a},
+{31,0,123,__LINE__, 0x3fe87f42, 0xb97294a4, 0x3ffb3333, 0x33333337},
+{31,0,123,__LINE__, 0x3fe9d5d9, 0xfd5010ba, 0x3ffc0000, 0x00000004},
+{31,0,123,__LINE__, 0x3feb22ca, 0x689867e3, 0x3ffccccc, 0xccccccd1},
+{31,0,123,__LINE__, 0x3fec669b, 0x6586ad66, 0x3ffd9999, 0x9999999e},
+{31,0,123,__LINE__, 0x3feda1c9, 0x885a0c45, 0x3ffe6666, 0x6666666b},
+{31,0,123,__LINE__, 0x3feed4c7, 0xafa075de, 0x3fff3333, 0x33333338},
+{31,0,123,__LINE__, 0x3ff00000, 0x00000003, 0x40000000, 0x00000002},
+{31,0,123,__LINE__, 0x3ff091ea, 0x6073fc57, 0x40006666, 0x66666668},
+{31,0,123,__LINE__, 0x3ff12050, 0x8f547ee1, 0x4000cccc, 0xccccccce},
+{31,0,123,__LINE__, 0x3ff1ab5c, 0xeadad9c6, 0x40013333, 0x33333334},
+{31,0,123,__LINE__, 0x3ff23336, 0xe51973a2, 0x40019999, 0x9999999a},
+{31,0,123,__LINE__, 0x3ff2b803, 0x473f7ad1, 0x40020000, 0x00000000},
+{31,0,123,__LINE__, 0x3ff339e4, 0x6d77d670, 0x40026666, 0x66666666},
+{31,0,123,__LINE__, 0x3ff3b8fa, 0x7c57a123, 0x4002cccc, 0xcccccccc},
+{31,0,123,__LINE__, 0x3ff43563, 0x90ac7684, 0x40033333, 0x33333332},
+{31,0,123,__LINE__, 0x3ff4af3b, 0xea5cc9cf, 0x40039999, 0x99999998},
+{31,0,123,__LINE__, 0x3ff5269e, 0x12f346e0, 0x4003ffff, 0xfffffffe},
+{31,0,123,__LINE__, 0x3ff59ba3, 0x005907b4, 0x40046666, 0x66666664},
+{31,0,123,__LINE__, 0x3ff60e62, 0x34307d80, 0x4004cccc, 0xccccccca},
+{31,0,123,__LINE__, 0x3ff67ef1, 0xd833bcc4, 0x40053333, 0x33333330},
+{31,0,123,__LINE__, 0x3ff6ed66, 0xd7ebf153, 0x40059999, 0x99999996},
+{31,0,123,__LINE__, 0x3ff759d4, 0xf80cba80, 0x4005ffff, 0xfffffffc},
+{31,0,123,__LINE__, 0x3ff7c44e, 0xebb4c172, 0x40066666, 0x66666662},
+{31,0,123,__LINE__, 0x3ff82ce6, 0x67ccc382, 0x4006cccc, 0xccccccc8},
+{31,0,123,__LINE__, 0x3ff893ac, 0x34b75285, 0x40073333, 0x3333332e},
+{31,0,123,__LINE__, 0x3ff8f8b0, 0x3e7d8942, 0x40079999, 0x99999994},
+{31,0,123,__LINE__, 0x3ff95c01, 0xa39fbd62, 0x4007ffff, 0xfffffffa},
+{31,0,123,__LINE__, 0x3ff9bdae, 0xc2acb3cd, 0x40086666, 0x66666660},
+{31,0,123,__LINE__, 0x3ffa1dc5, 0x46bdee50, 0x4008cccc, 0xccccccc6},
+{31,0,123,__LINE__, 0x3ffa7c52, 0x32f43c42, 0x40093333, 0x3333332c},
+{31,0,123,__LINE__, 0x3ffad961, 0xed0cb916, 0x40099999, 0x99999992},
+{31,0,123,__LINE__, 0x3ffb3500, 0x4723c45f, 0x4009ffff, 0xfffffff8},
+{31,0,123,__LINE__, 0x3ffb8f38, 0x88b93102, 0x400a6666, 0x6666665e},
+{31,0,123,__LINE__, 0x3ffbe815, 0x7706e310, 0x400acccc, 0xccccccc4},
+{31,0,123,__LINE__, 0x3ffc3fa1, 0x5cb94a46, 0x400b3333, 0x3333332a},
+{31,0,123,__LINE__, 0x3ffc95e6, 0x111793d1, 0x400b9999, 0x99999990},
+{31,0,123,__LINE__, 0x3ffceaec, 0xfea80852, 0x400bffff, 0xfffffff6},
+{31,0,123,__LINE__, 0x3ffd3ebf, 0x295bced8, 0x400c6666, 0x6666665c},
+{31,0,123,__LINE__, 0x3ffd9165, 0x344c33e6, 0x400ccccc, 0xccccccc2},
+{31,0,123,__LINE__, 0x3ffde2e7, 0x6712998b, 0x400d3333, 0x33333328},
+{31,0,123,__LINE__, 0x3ffe334d, 0xb2c356a6, 0x400d9999, 0x9999998e},
+{31,0,123,__LINE__, 0x3ffe829f, 0xb6930442, 0x400dffff, 0xfffffff4},
+{31,0,123,__LINE__, 0x3ffed0e4, 0xc42d0616, 0x400e6666, 0x6666665a},
+{31,0,123,__LINE__, 0x3fff1e23, 0xe3c17bf1, 0x400ecccc, 0xccccccc0},
+{31,0,123,__LINE__, 0x3fff6a63, 0xd7d03ae2, 0x400f3333, 0x33333326},
+{31,0,123,__LINE__, 0x3fffb5ab, 0x20b5ec8e, 0x400f9999, 0x9999998c},
+{31,0,123,__LINE__, 0x3fffffff, 0xfffffff6, 0x400fffff, 0xfffffff2},
+{31,0,123,__LINE__, 0x400024b4, 0x3dc5d75a, 0x40103333, 0x3333332c},
+{31,0,123,__LINE__, 0x400048f5, 0x3039fe25, 0x40106666, 0x6666665f},
+{31,0,123,__LINE__, 0x40006cc5, 0xa2e92014, 0x40109999, 0x99999992},
+{31,0,123,__LINE__, 0x40009028, 0x47aa3f6a, 0x4010cccc, 0xccccccc5},
+{31,0,123,__LINE__, 0x4000b31f, 0xb7d64893, 0x4010ffff, 0xfffffff8},
+{31,0,123,__LINE__, 0x4000d5ae, 0x756d6cdd, 0x40113333, 0x3333332b},
+{31,0,123,__LINE__, 0x4000f7d6, 0xec2b87f4, 0x40116666, 0x6666665e},
+{31,0,123,__LINE__, 0x4001199b, 0x728cb9cb, 0x40119999, 0x99999991},
+{31,0,123,__LINE__, 0x40013afe, 0x4ac34723, 0x4011cccc, 0xccccccc4},
+{31,0,123,__LINE__, 0x40015c01, 0xa39fbd63, 0x4011ffff, 0xfffffff7},
+{31,0,123,__LINE__, 0x40017ca7, 0x996c42e9, 0x40123333, 0x3333332a},
+{31,0,123,__LINE__, 0x40019cf2, 0x36bbeb32, 0x40126666, 0x6666665d},
+{31,0,123,__LINE__, 0x4001bce3, 0x752ed5da, 0x40129999, 0x99999990},
+{31,0,123,__LINE__, 0x4001dc7d, 0x3e2bd08c, 0x4012cccc, 0xccccccc3},
+{31,0,123,__LINE__, 0x4001fbc1, 0x6b90267a, 0x4012ffff, 0xfffffff6},
+{31,0,123,__LINE__, 0x40021ab1, 0xc8563b3d, 0x40133333, 0x33333329},
+{31,0,123,__LINE__, 0x40023950, 0x113383b2, 0x40136666, 0x6666665c},
+{31,0,123,__LINE__, 0x4002579d, 0xf52e64e2, 0x40139999, 0x9999998f},
+{31,0,123,__LINE__, 0x4002759d, 0x162c7733, 0x4013cccc, 0xccccccc2},
+{31,0,123,__LINE__, 0x4002934f, 0x0979a36b, 0x4013ffff, 0xfffffff5},
+{31,0,123,__LINE__, 0x4002b0b5, 0x584886c6, 0x40143333, 0x33333328},
+{31,0,123,__LINE__, 0x4002cdd1, 0x802c83d5, 0x40146666, 0x6666665b},
+{31,0,123,__LINE__, 0x4002eaa4, 0xf38ddef4, 0x40149999, 0x9999998e},
+{31,0,123,__LINE__, 0x40030731, 0x1a183ebb, 0x4014cccc, 0xccccccc1},
+{31,0,123,__LINE__, 0x40032377, 0x5123e2da, 0x4014ffff, 0xfffffff4},
+{31,0,123,__LINE__, 0x40033f78, 0xec19de5d, 0x40153333, 0x33333327},
+{31,0,123,__LINE__, 0x40035b37, 0x34d39d41, 0x40156666, 0x6666665a},
+{31,0,123,__LINE__, 0x400376b3, 0x6bf5f8a4, 0x40159999, 0x9999998d},
+{31,0,123,__LINE__, 0x400391ee, 0xc948186b, 0x4015cccc, 0xccccccc0},
+{31,0,123,__LINE__, 0x4003acea, 0x7c065d3b, 0x4015ffff, 0xfffffff3},
+{31,0,123,__LINE__, 0x4003c7a7, 0xab318a05, 0x40163333, 0x33333326},
+{31,0,123,__LINE__, 0x4003e227, 0x75da60b4, 0x40166666, 0x66666659},
+{31,0,123,__LINE__, 0x4003fc6a, 0xf369e28f, 0x40169999, 0x9999998c},
+{31,0,123,__LINE__, 0x40041673, 0x33e661bc, 0x4016cccc, 0xccccccbf},
+{31,0,123,__LINE__, 0x40043041, 0x40358ea2, 0x4016ffff, 0xfffffff2},
+{31,0,123,__LINE__, 0x400449d6, 0x1a5ba93e, 0x40173333, 0x33333325},
+{31,0,123,__LINE__, 0x40046332, 0xbdb7fc23, 0x40176666, 0x66666658},
+{31,0,123,__LINE__, 0x40047c58, 0x1f3ec49d, 0x40179999, 0x9999998b},
+{31,0,123,__LINE__, 0x40049547, 0x2db0a94d, 0x4017cccc, 0xccccccbe},
+{31,0,123,__LINE__, 0x4004ae00, 0xd1cfdead, 0x4017ffff, 0xfffffff1},
+{31,0,123,__LINE__, 0x4004c685, 0xee93170b, 0x40183333, 0x33333324},
+{31,0,123,__LINE__, 0x4004ded7, 0x615659e2, 0x40186666, 0x66666657},
+{31,0,123,__LINE__, 0x4004f6f6, 0x0209dcd7, 0x40189999, 0x9999998a},
+{31,0,123,__LINE__, 0x40050ee2, 0xa35ef724, 0x4018cccc, 0xccccccbd},
+{31,0,123,__LINE__, 0x4005269e, 0x12f346dc, 0x4018ffff, 0xfffffff0},
+{31,0,123,__LINE__, 0x40053e29, 0x197a1e1c, 0x40193333, 0x33333323},
+{31,0,123,__LINE__, 0x40055584, 0x7ae44d14, 0x40196666, 0x66666656},
+{31,0,123,__LINE__, 0x40056cb0, 0xf6865c87, 0x40199999, 0x99999989},
+{31,0,123,__LINE__, 0x400583af, 0x473d4b90, 0x4019cccc, 0xccccccbc},
+{31,0,123,__LINE__, 0x40059a80, 0x2391e22c, 0x4019ffff, 0xffffffef},
+{31,0,123,__LINE__, 0x4005b124, 0x3ddaa957, 0x401a3333, 0x33333322},
+{31,0,123,__LINE__, 0x4005c79c, 0x445c987d, 0x401a6666, 0x66666655},
+{31,0,123,__LINE__, 0x4005dde8, 0xe16a8734, 0x401a9999, 0x99999988},
+{31,0,123,__LINE__, 0x4005f40a, 0xbb837184, 0x401acccc, 0xccccccbb},
+{31,0,123,__LINE__, 0x40060a02, 0x756f9c15, 0x401affff, 0xffffffee},
+{31,0,123,__LINE__, 0x40061fd0, 0xae5ca520, 0x401b3333, 0x33333321},
+{31,0,123,__LINE__, 0x40063576, 0x01f88e22, 0x401b6666, 0x66666654},
+{31,0,123,__LINE__, 0x40064af3, 0x088bc9e4, 0x401b9999, 0x99999987},
+{31,0,123,__LINE__, 0x40066048, 0x571259b4, 0x401bcccc, 0xccccccba},
+{31,0,123,__LINE__, 0x40067576, 0x7f540425, 0x401bffff, 0xffffffed},
+{31,0,123,__LINE__, 0x40068a7e, 0x0ffbaf3e, 0x401c3333, 0x33333320},
+{31,0,123,__LINE__, 0x40069f5f, 0x94ade768, 0x401c6666, 0x66666653},
+{31,0,123,__LINE__, 0x4006b41b, 0x961e9bfc, 0x401c9999, 0x99999986},
+{31,0,123,__LINE__, 0x4006c8b2, 0x9a2619ef, 0x401ccccc, 0xccccccb9},
+{31,0,123,__LINE__, 0x4006dd25, 0x23d54cae, 0x401cffff, 0xffffffec},
+{31,0,123,__LINE__, 0x4006f173, 0xb3894cc2, 0x401d3333, 0x3333331f},
+{31,0,123,__LINE__, 0x4007059e, 0xc6fe4395, 0x401d6666, 0x66666652},
+{31,0,123,__LINE__, 0x400719a6, 0xd961ab50, 0x401d9999, 0x99999985},
+{31,0,123,__LINE__, 0x40072d8c, 0x6363f166, 0x401dcccc, 0xccccccb8},
+{31,0,123,__LINE__, 0x4007414f, 0xdb49821e, 0x401dffff, 0xffffffeb},
+{31,0,123,__LINE__, 0x400754f1, 0xb4fb432b, 0x401e3333, 0x3333331e},
+{31,0,123,__LINE__, 0x40076872, 0x62168307, 0x401e6666, 0x66666651},
+{31,0,123,__LINE__, 0x40077bd2, 0x51fc6288, 0x401e9999, 0x99999984},
+{31,0,123,__LINE__, 0x40078f11, 0xf1e0bdf5, 0x401ecccc, 0xccccccb7},
+{31,0,123,__LINE__, 0x4007a231, 0xacd89a94, 0x401effff, 0xffffffea},
+{31,0,123,__LINE__, 0x4007b531, 0xebe81d6e, 0x401f3333, 0x3333331d},
+{31,0,123,__LINE__, 0x4007c813, 0x16100fdc, 0x401f6666, 0x66666650},
+{31,0,123,__LINE__, 0x4007dad5, 0x905af644, 0x401f9999, 0x99999983},
+{31,0,123,__LINE__, 0x4007ed79, 0xbde9bd0f, 0x401fcccc, 0xccccccb6},
+{31,0,123,__LINE__, 0x4007ffff, 0xfffffff8, 0x401fffff, 0xffffffe9},
+{31,0,123,__LINE__, 0x40081268, 0xb60fef5d, 0x40201999, 0x9999998e},
+{31,0,123,__LINE__, 0x400824b4, 0x3dc5d758, 0x40203333, 0x33333328},
+{31,0,123,__LINE__, 0x400836e2, 0xf3134bfc, 0x40204ccc, 0xccccccc2},
+{31,0,123,__LINE__, 0x400848f5, 0x3039fe23, 0x40206666, 0x6666665c},
+{31,0,123,__LINE__, 0x40085aeb, 0x4dd63bef, 0x40207fff, 0xfffffff6},
+{31,0,123,__LINE__, 0x40086cc5, 0xa2e92012, 0x40209999, 0x99999990},
+{31,0,123,__LINE__, 0x40087e84, 0x84e272cd, 0x4020b333, 0x3333332a},
+{31,0,123,__LINE__, 0x40089028, 0x47aa3f6a, 0x4020cccc, 0xccccccc4},
+{31,0,123,__LINE__, 0x4008a1b1, 0x3daa20ef, 0x4020e666, 0x6666665e},
+{31,0,123,__LINE__, 0x4008b31f, 0xb7d64893, 0x4020ffff, 0xfffffff8},
+{31,0,123,__LINE__, 0x4008c474, 0x05b64073, 0x40211999, 0x99999992},
+{31,0,123,__LINE__, 0x4008d5ae, 0x756d6cde, 0x40213333, 0x3333332c},
+{31,0,123,__LINE__, 0x4008e6cf, 0x53c34e90, 0x40214ccc, 0xccccccc6},
+{31,0,123,__LINE__, 0x4008f7d6, 0xec2b87f5, 0x40216666, 0x66666660},
+{31,0,123,__LINE__, 0x400908c5, 0x88cda79a, 0x40217fff, 0xfffffffa},
+{31,0,123,__LINE__, 0x4009199b, 0x728cb9cd, 0x40219999, 0x99999994},
+{31,0,123,__LINE__, 0x40092a58, 0xf10ea355, 0x4021b333, 0x3333332e},
+{31,0,123,__LINE__, 0x40093afe, 0x4ac34726, 0x4021cccc, 0xccccccc8},
+{31,0,123,__LINE__, 0x40094b8b, 0xc4eb78d0, 0x4021e666, 0x66666662},
+{31,0,123,__LINE__, 0x40095c01, 0xa39fbd66, 0x4021ffff, 0xfffffffc},
+{31,0,123,__LINE__, 0x40096c60, 0x29d6dc80, 0x40221999, 0x99999996},
+{31,0,123,__LINE__, 0x40097ca7, 0x996c42ec, 0x40223333, 0x33333330},
+{31,0,123,__LINE__, 0x40098cd8, 0x3326389c, 0x40224ccc, 0xccccccca},
+{31,0,123,__LINE__, 0x40099cf2, 0x36bbeb37, 0x40226666, 0x66666664},
+{31,0,123,__LINE__, 0x4009acf5, 0xe2db4ec8, 0x40227fff, 0xfffffffe},
+{31,0,123,__LINE__, 0x4009bce3, 0x752ed5de, 0x40229999, 0x99999998},
+{31,0,123,__LINE__, 0x4009ccbb, 0x2a630268, 0x4022b333, 0x33333332},
+{31,0,123,__LINE__, 0x4009dc7d, 0x3e2bd092, 0x4022cccc, 0xcccccccc},
+{31,0,123,__LINE__, 0x4009ec29, 0xeb49fcd8, 0x4022e666, 0x66666666},
+{31,0,123,__LINE__, 0x4009fbc1, 0x6b902681, 0x40230000, 0x00000000},
+{31,0,123,__LINE__, 0x400a0b43, 0xf7e7cf8d, 0x40231999, 0x9999999a},
+{31,0,123,__LINE__, 0x400a1ab1, 0xc8563b43, 0x40233333, 0x33333334},
+{31,0,123,__LINE__, 0x400a2a0b, 0x14012c59, 0x40234ccc, 0xccccccce},
+{31,0,123,__LINE__, 0x400a3950, 0x113383b9, 0x40236666, 0x66666668},
+{31,0,123,__LINE__, 0x400a4880, 0xf561c0e8, 0x40238000, 0x00000002},
+{31,0,123,__LINE__, 0x400a579d, 0xf52e64ea, 0x40239999, 0x9999999c},
+{31,0,123,__LINE__, 0x400a66a7, 0x446e3896, 0x4023b333, 0x33333336},
+{31,0,123,__LINE__, 0x400a759d, 0x162c773b, 0x4023cccc, 0xccccccd0},
+{31,0,123,__LINE__, 0x400a847f, 0x9caede5f, 0x4023e666, 0x6666666a},
+{31,0,123,__LINE__, 0x400a934f, 0x0979a374, 0x40240000, 0x00000004},
+{31,0,123,__LINE__, 0x400aa20b, 0x8d535042, 0x40241999, 0x9999999e},
+{31,0,123,__LINE__, 0x400ab0b5, 0x584886d0, 0x40243333, 0x33333338},
+{31,0,123,__LINE__, 0x400abf4c, 0x99afad75, 0x40244ccc, 0xccccccd2},
+{31,0,123,__LINE__, 0x400acdd1, 0x802c83df, 0x40246666, 0x6666666c},
+{31,0,123,__LINE__, 0x400adc44, 0x39b3a19f, 0x40248000, 0x00000006},
+{31,0,123,__LINE__, 0x400aeaa4, 0xf38ddefe, 0x40249999, 0x999999a0},
+{31,0,123,__LINE__, 0x400af8f3, 0xda5ba8a4, 0x4024b333, 0x3333333a},
+{31,0,123,__LINE__, 0x400b0731, 0x1a183ec6, 0x4024cccc, 0xccccccd4},
+{31,0,123,__LINE__, 0x400b155c, 0xde1ce055, 0x4024e666, 0x6666666e},
+{31,0,123,__LINE__, 0x400b2377, 0x5123e2e5, 0x40250000, 0x00000008},
+{31,0,123,__LINE__, 0x400b3180, 0x9d4bb7b2, 0x40251999, 0x999999a2},
+{31,0,123,__LINE__, 0x400b3f78, 0xec19de68, 0x40253333, 0x3333333c},
+{31,0,123,__LINE__, 0x400b4d60, 0x667dc62a, 0x40254ccc, 0xccccccd6},
+{31,0,123,__LINE__, 0x400b5b37, 0x34d39d4d, 0x40256666, 0x66666670},
+{31,0,123,__LINE__, 0x400b68fd, 0x7ee71059, 0x40258000, 0x0000000a},
+{31,0,123,__LINE__, 0x400b76b3, 0x6bf5f8b1, 0x40259999, 0x999999a4},
+{31,0,123,__LINE__, 0x400b8459, 0x22b2fb5e, 0x4025b333, 0x3333333e},
+{31,0,123,__LINE__, 0x400b91ee, 0xc9481877, 0x4025cccc, 0xccccccd8},
+{31,0,123,__LINE__, 0x400b9f74, 0x85592b84, 0x4025e666, 0x66666672},
+{31,0,123,__LINE__, 0x400bacea, 0x7c065d48, 0x40260000, 0x0000000c},
+{31,0,123,__LINE__, 0x400bba50, 0xd1ee8761, 0x40261999, 0x999999a6},
+{31,0,123,__LINE__, 0x400bc7a7, 0xab318a13, 0x40263333, 0x33333340},
+{31,0,123,__LINE__, 0x400bd4ef, 0x2b7294aa, 0x40264ccc, 0xccccccda},
+{31,0,123,__LINE__, 0x400be227, 0x75da60c2, 0x40266666, 0x66666674},
+{31,0,123,__LINE__, 0x400bef50, 0xad1960e1, 0x40268000, 0x0000000e},
+{31,0,123,__LINE__, 0x400bfc6a, 0xf369e29e, 0x40269999, 0x999999a8},
+{31,0,123,__LINE__, 0x400c0976, 0x6a9224c8, 0x4026b333, 0x33333342},
+{31,0,123,__LINE__, 0x400c1673, 0x33e661cb, 0x4026cccc, 0xccccccdc},
+{31,0,123,__LINE__, 0x400c2361, 0x704acea3, 0x4026e666, 0x66666676},
+{31,0,123,__LINE__, 0x400c3041, 0x40358eb2, 0x40270000, 0x00000010},
+{31,0,123,__LINE__, 0x400c3d12, 0xc3b09cba, 0x40271999, 0x999999aa},
+{31,0,123,__LINE__, 0x400c49d6, 0x1a5ba94e, 0x40273333, 0x33333344},
+{31,0,123,__LINE__, 0x400c568b, 0x636deef0, 0x40274ccc, 0xccccccde},
+{31,0,123,__LINE__, 0x400c6332, 0xbdb7fc33, 0x40276666, 0x66666678},
+{31,0,123,__LINE__, 0x400c6fcc, 0x47a5740c, 0x40278000, 0x00000012},
+{31,0,123,__LINE__, 0x400c7c58, 0x1f3ec4ad, 0x40279999, 0x999999ac},
+{31,0,123,__LINE__, 0x400c88d6, 0x622ad50a, 0x4027b333, 0x33333346},
+{31,0,123,__LINE__, 0x400c9547, 0x2db0a95e, 0x4027cccc, 0xcccccce0},
+{31,0,123,__LINE__, 0x400ca1aa, 0x9eb8feda, 0x4027e666, 0x6666667a},
+{31,0,123,__LINE__, 0x400cae00, 0xd1cfdebe, 0x40280000, 0x00000014},
+{31,0,123,__LINE__, 0x400cba49, 0xe326290e, 0x40281999, 0x999999ae},
+{31,0,123,__LINE__, 0x400cc685, 0xee93171c, 0x40283333, 0x33333348},
+{31,0,123,__LINE__, 0x400cd2b5, 0x0f95b61e, 0x40284ccc, 0xcccccce2},
+{31,0,123,__LINE__, 0x400cded7, 0x615659f4, 0x40286666, 0x6666667c},
+{31,0,123,__LINE__, 0x400ceaec, 0xfea80864, 0x40288000, 0x00000016},
+{31,0,123,__LINE__, 0x400cf6f6, 0x0209dce9, 0x40289999, 0x999999b0},
+{31,0,123,__LINE__, 0x400d02f2, 0x85a8654d, 0x4028b333, 0x3333334a},
+{31,0,123,__LINE__, 0x400d0ee2, 0xa35ef736, 0x4028cccc, 0xcccccce4},
+{31,0,123,__LINE__, 0x400d1ac6, 0x74b8fed8, 0x4028e666, 0x6666667e},
+{31,0,123,__LINE__, 0x400d269e, 0x12f346ee, 0x40290000, 0x00000018},
+{31,0,123,__LINE__, 0x400d3269, 0x96fd3a26, 0x40291999, 0x999999b2},
+{31,0,123,__LINE__, 0x400d3e29, 0x197a1e2f, 0x40293333, 0x3333334c},
+{31,0,123,__LINE__, 0x400d49dc, 0xb2c24886, 0x40294ccc, 0xcccccce6},
+{31,0,123,__LINE__, 0x400d5584, 0x7ae44d27, 0x40296666, 0x66666680},
+{31,0,123,__LINE__, 0x400d6120, 0x89a62759, 0x40298000, 0x0000001a},
+{31,0,123,__LINE__, 0x400d6cb0, 0xf6865c9a, 0x40299999, 0x999999b4},
+{31,0,123,__LINE__, 0x400d7835, 0xd8bd19f1, 0x4029b333, 0x3333334e},
+{31,0,123,__LINE__, 0x400d83af, 0x473d4ba3, 0x4029cccc, 0xcccccce8},
+{31,0,123,__LINE__, 0x400d8f1d, 0x58b5af91, 0x4029e666, 0x66666682},
+{31,0,123,__LINE__, 0x400d9a80, 0x2391e240, 0x402a0000, 0x0000001c},
+{31,0,123,__LINE__, 0x400da5d7, 0xbdfb66ba, 0x402a1999, 0x999999b6},
+{31,0,123,__LINE__, 0x400db124, 0x3ddaa96c, 0x402a3333, 0x33333350},
+{31,0,123,__LINE__, 0x400dbc65, 0xb8d7fe04, 0x402a4ccc, 0xccccccea},
+{31,0,123,__LINE__, 0x400dc79c, 0x445c9892, 0x402a6666, 0x66666684},
+{31,0,123,__LINE__, 0x400dd2c7, 0xf59381e2, 0x402a8000, 0x0000001e},
+{31,0,123,__LINE__, 0x400ddde8, 0xe16a8749, 0x402a9999, 0x999999b8},
+{31,0,123,__LINE__, 0x400de8ff, 0x1c9325ea, 0x402ab333, 0x33333352},
+{31,0,123,__LINE__, 0x400df40a, 0xbb837199, 0x402acccc, 0xccccccec},
+{31,0,123,__LINE__, 0x400dff0b, 0xd276f76e, 0x402ae666, 0x66666686},
+{31,0,123,__LINE__, 0x400e0a02, 0x756f9c2a, 0x402b0000, 0x00000020},
+{31,0,123,__LINE__, 0x400e14ee, 0xb836767a, 0x402b1999, 0x999999ba},
+{31,0,123,__LINE__, 0x400e1fd0, 0xae5ca535, 0x402b3333, 0x33333354},
+{31,0,123,__LINE__, 0x400e2aa8, 0x6b3c21b1, 0x402b4ccc, 0xccccccee},
+{31,0,123,__LINE__, 0x400e3576, 0x01f88e38, 0x402b6666, 0x66666688},
+{31,0,123,__LINE__, 0x400e4039, 0x858000c2, 0x402b8000, 0x00000022},
+{31,0,123,__LINE__, 0x400e4af3, 0x088bc9fb, 0x402b9999, 0x999999bc},
+{31,0,123,__LINE__, 0x400e55a2, 0x9da138b4, 0x402bb333, 0x33333356},
+{31,0,123,__LINE__, 0x400e6048, 0x571259cb, 0x402bcccc, 0xccccccf0},
+{31,0,123,__LINE__, 0x400e6ae4, 0x46feb4a2, 0x402be666, 0x6666668a},
+{31,0,123,__LINE__, 0x400e7576, 0x7f54043c, 0x402c0000, 0x00000024},
+{31,0,123,__LINE__, 0x400e7fff, 0x11ceed00, 0x402c1999, 0x999999be},
+{31,0,123,__LINE__, 0x400e8a7e, 0x0ffbaf56, 0x402c3333, 0x33333358},
+{31,0,123,__LINE__, 0x400e94f3, 0x8b36d702, 0x402c4ccc, 0xccccccf2},
+{31,0,123,__LINE__, 0x400e9f5f, 0x94ade780, 0x402c6666, 0x6666668c},
+{31,0,123,__LINE__, 0x400ea9c2, 0x3d600544, 0x402c8000, 0x00000026},
+{31,0,123,__LINE__, 0x400eb41b, 0x961e9c13, 0x402c9999, 0x999999c0},
+{31,0,123,__LINE__, 0x400ebe6b, 0xaf8e0267, 0x402cb333, 0x3333335a},
+{31,0,123,__LINE__, 0x400ec8b2, 0x9a261a07, 0x402ccccc, 0xccccccf4},
+{31,0,123,__LINE__, 0x400ed2f0, 0x6632edd0, 0x402ce666, 0x6666668e},
+{31,0,123,__LINE__, 0x400edd25, 0x23d54cc6, 0x402d0000, 0x00000028},
+{31,0,123,__LINE__, 0x400ee750, 0xe303627d, 0x402d1999, 0x999999c2},
+{31,0,123,__LINE__, 0x400ef173, 0xb3894cda, 0x402d3333, 0x3333335c},
+{31,0,123,__LINE__, 0x400efb8d, 0xa509af56, 0x402d4ccc, 0xccccccf6},
+{31,0,123,__LINE__, 0x400f059e, 0xc6fe43ad, 0x402d6666, 0x66666690},
+{31,0,123,__LINE__, 0x400f0fa7, 0x28b86826, 0x402d8000, 0x0000002a},
+{31,0,123,__LINE__, 0x400f19a6, 0xd961ab68, 0x402d9999, 0x999999c4},
+{31,0,123,__LINE__, 0x400f239d, 0xe7fc55fe, 0x402db333, 0x3333335e},
+{31,0,123,__LINE__, 0x400f2d8c, 0x6363f17e, 0x402dcccc, 0xccccccf8},
+{31,0,123,__LINE__, 0x400f3772, 0x5a4dcd7c, 0x402de666, 0x66666692},
+{31,0,123,__LINE__, 0x400f414f, 0xdb498236, 0x402e0000, 0x0000002c},
+{31,0,123,__LINE__, 0x400f4b24, 0xf4c17120, 0x402e1999, 0x999999c6},
+{31,0,123,__LINE__, 0x400f54f1, 0xb4fb4344, 0x402e3333, 0x33333360},
+{31,0,123,__LINE__, 0x400f5eb6, 0x2a186592, 0x402e4ccc, 0xccccccfa},
+{31,0,123,__LINE__, 0x400f6872, 0x62168321, 0x402e6666, 0x66666694},
+{31,0,123,__LINE__, 0x400f7226, 0x6acffd6c, 0x402e8000, 0x0000002e},
+{31,0,123,__LINE__, 0x400f7bd2, 0x51fc62a1, 0x402e9999, 0x999999c8},
+{31,0,123,__LINE__, 0x400f8576, 0x2530e1f2, 0x402eb333, 0x33333362},
+{31,0,123,__LINE__, 0x400f8f11, 0xf1e0be0f, 0x402ecccc, 0xccccccfc},
+{31,0,123,__LINE__, 0x400f98a5, 0xc55dbdc0, 0x402ee666, 0x66666696},
+{31,0,123,__LINE__, 0x400fa231, 0xacd89aae, 0x402f0000, 0x00000030},
+{31,0,123,__LINE__, 0x400fabb5, 0xb5616e63, 0x402f1999, 0x999999ca},
+{31,0,123,__LINE__, 0x400fb531, 0xebe81d88, 0x402f3333, 0x33333364},
+{31,0,123,__LINE__, 0x400fbea6, 0x5d3cc171, 0x402f4ccc, 0xccccccfe},
+{31,0,123,__LINE__, 0x400fc813, 0x16100ff7, 0x402f6666, 0x66666698},
+{31,0,123,__LINE__, 0x400fd178, 0x22f3c1a8, 0x402f8000, 0x00000032},
+{31,0,123,__LINE__, 0x400fdad5, 0x905af65f, 0x402f9999, 0x999999cc},
+{31,0,123,__LINE__, 0x400fe42b, 0x6a9a9840, 0x402fb333, 0x33333366},
+{31,0,123,__LINE__, 0x400fed79, 0xbde9bd2a, 0x402fcccc, 0xcccccd00},
+{31,0,123,__LINE__, 0x400ff6c0, 0x9662069a, 0x402fe666, 0x6666669a},
+{31,0,123,__LINE__, 0x40100000, 0x00000009, 0x40300000, 0x0000001a},
+{31,0,123,__LINE__, 0x4010049c, 0x0351be07, 0x40300ccc, 0xcccccce7},
+{31,0,123,__LINE__, 0x40100934, 0x5b07f7bc, 0x40301999, 0x999999b4},
+{31,0,123,__LINE__, 0x40100dc9, 0x0cf665dd, 0x40302666, 0x66666681},
+{31,0,123,__LINE__, 0x4010125a, 0x1ee2ebb9, 0x40303333, 0x3333334e},
+{31,0,123,__LINE__, 0x401016e7, 0x9685c2dc, 0x40304000, 0x0000001b},
+{31,0,123,__LINE__, 0x40101b71, 0x7989a60b, 0x40304ccc, 0xcccccce8},
+{31,0,123,__LINE__, 0x40101ff7, 0xcd8bfb9d, 0x40305999, 0x999999b5},
+{31,0,123,__LINE__, 0x4010247a, 0x981cff1f, 0x40306666, 0x66666682},
+{31,0,123,__LINE__, 0x401028f9, 0xdebfea69, 0x40307333, 0x3333334f},
+{31,0,123,__LINE__, 0x40102d75, 0xa6eb1e05, 0x40308000, 0x0000001c},
+{31,0,123,__LINE__, 0x401031ed, 0xf60848fd, 0x40308ccc, 0xcccccce9},
+{31,0,123,__LINE__, 0x40103662, 0xd1749016, 0x40309999, 0x999999b6},
+{31,0,123,__LINE__, 0x40103ad4, 0x3e80b46a, 0x4030a666, 0x66666683},
+{31,0,123,__LINE__, 0x40103f42, 0x42713974, 0x4030b333, 0x33333350},
+{31,0,123,__LINE__, 0x401043ac, 0xe27e8a88, 0x4030c000, 0x0000001d},
+{31,0,123,__LINE__, 0x40104814, 0x23d51fc2, 0x4030cccc, 0xccccccea},
+{31,0,123,__LINE__, 0x40104c78, 0x0b95a25b, 0x4030d999, 0x999999b7},
+{31,0,123,__LINE__, 0x401050d8, 0x9ed51084, 0x4030e666, 0x66666684},
+{31,0,123,__LINE__, 0x40105535, 0xe29ce0af, 0x4030f333, 0x33333351},
+{31,0,123,__LINE__, 0x4010598f, 0xdbeb2457, 0x40310000, 0x0000001e},
+{31,0,123,__LINE__, 0x40105de6, 0x8fb2aa41, 0x40310ccc, 0xcccccceb},
+{31,0,123,__LINE__, 0x4010623a, 0x02db2046, 0x40311999, 0x999999b8},
+{31,0,123,__LINE__, 0x4010668a, 0x3a413495, 0x40312666, 0x66666685},
+{31,0,123,__LINE__, 0x40106ad7, 0x3ab6b67c, 0x40313333, 0x33333352},
+{31,0,123,__LINE__, 0x40106f21, 0x0902b6b9, 0x40314000, 0x0000001f},
+{31,0,123,__LINE__, 0x40107367, 0xa9e1a755, 0x40314ccc, 0xccccccec},
+{31,0,123,__LINE__, 0x401077ab, 0x22057b00, 0x40315999, 0x999999b9},
+{31,0,123,__LINE__, 0x40107beb, 0x7615c407, 0x40316666, 0x66666686},
+{31,0,123,__LINE__, 0x40108028, 0xaaafd2cd, 0x40317333, 0x33333353},
+{31,0,123,__LINE__, 0x40108462, 0xc466d3da, 0x40318000, 0x00000020},
+{31,0,123,__LINE__, 0x40108899, 0xc7c3ed7a, 0x40318ccc, 0xcccccced},
+{31,0,123,__LINE__, 0x40108ccd, 0xb9465cf3, 0x40319999, 0x999999ba},
+{31,0,123,__LINE__, 0x401090fe, 0x9d63934e, 0x4031a666, 0x66666687},
+{31,0,123,__LINE__, 0x4010952c, 0x788751b7, 0x4031b333, 0x33333354},
+{31,0,123,__LINE__, 0x40109957, 0x4f13c57c, 0x4031c000, 0x00000021},
+{31,0,123,__LINE__, 0x40109d7f, 0x2561a39f, 0x4031cccc, 0xccccccee},
+{31,0,123,__LINE__, 0x4010a1a3, 0xffc0440f, 0x4031d999, 0x999999bb},
+{31,0,123,__LINE__, 0x4010a5c5, 0xe275bc74, 0x4031e666, 0x66666688},
+{31,0,123,__LINE__, 0x4010a9e4, 0xd1befaa6, 0x4031f333, 0x33333355},
+{31,0,123,__LINE__, 0x4010ae00, 0xd1cfdebf, 0x40320000, 0x00000022},
+{31,0,123,__LINE__, 0x4010b219, 0xe6d354d3, 0x40320ccc, 0xccccccef},
+{31,0,123,__LINE__, 0x4010b630, 0x14eb6e4c, 0x40321999, 0x999999bc},
+{31,0,123,__LINE__, 0x4010ba43, 0x60317aee, 0x40322666, 0x66666689},
+{31,0,123,__LINE__, 0x4010be53, 0xccb62182, 0x40323333, 0x33333356},
+{31,0,123,__LINE__, 0x4010c261, 0x5e817829, 0x40324000, 0x00000023},
+{31,0,123,__LINE__, 0x4010c66c, 0x19931c5a, 0x40324ccc, 0xccccccf0},
+{31,0,123,__LINE__, 0x4010ca74, 0x01e24a92, 0x40325999, 0x999999bd},
+{31,0,123,__LINE__, 0x4010ce79, 0x1b5df5a7, 0x40326666, 0x6666668a},
+{31,0,123,__LINE__, 0x4010d27b, 0x69ecddd5, 0x40327333, 0x33333357},
+{31,0,123,__LINE__, 0x4010d67a, 0xf16da770, 0x40328000, 0x00000024},
+{31,0,123,__LINE__, 0x4010da77, 0xb5b6f153, 0x40328ccc, 0xccccccf1},
+{31,0,123,__LINE__, 0x4010de71, 0xba976afb, 0x40329999, 0x999999be},
+{31,0,123,__LINE__, 0x4010e269, 0x03d5ea53, 0x4032a666, 0x6666668b},
+{31,0,123,__LINE__, 0x4010e65d, 0x95318140, 0x4032b333, 0x33333358},
+{31,0,123,__LINE__, 0x4010ea4f, 0x726192d7, 0x4032c000, 0x00000025},
+{31,0,123,__LINE__, 0x4010ee3e, 0x9f15e854, 0x4032cccc, 0xccccccf2},
+{31,0,123,__LINE__, 0x4010f22b, 0x1ef6c5c8, 0x4032d999, 0x999999bf},
+{31,0,123,__LINE__, 0x4010f614, 0xf5a4fe78, 0x4032e666, 0x6666668c},
+{31,0,123,__LINE__, 0x4010f9fc, 0x26ba0906, 0x4032f333, 0x33333359},
+{31,0,123,__LINE__, 0x4010fde0, 0xb5c8134c, 0x40330000, 0x00000026},
+{31,0,123,__LINE__, 0x401101c2, 0xa65a15f3, 0x40330ccc, 0xccccccf3},
+{31,0,123,__LINE__, 0x401105a1, 0xfbf3e7d2, 0x40331999, 0x999999c0},
+{31,0,123,__LINE__, 0x4011097e, 0xba1250ff, 0x40332666, 0x6666668d},
+{31,0,123,__LINE__, 0x40110d58, 0xe42b1dad, 0x40333333, 0x3333335a},
+{31,0,123,__LINE__, 0x40111130, 0x7dad30c3, 0x40334000, 0x00000027},
+{31,0,123,__LINE__, 0x40111505, 0x8a009638, 0x40334ccc, 0xccccccf4},
+{31,0,123,__LINE__, 0x401118d8, 0x0c869531, 0x40335999, 0x999999c1},
+{31,0,123,__LINE__, 0x40111ca8, 0x0899c1e8, 0x40336666, 0x6666668e},
+{31,0,123,__LINE__, 0x40112075, 0x818e0f4e, 0x40337333, 0x3333335b},
+{31,0,123,__LINE__, 0x40112440, 0x7ab0e07f, 0x40338000, 0x00000028},
+{31,0,123,__LINE__, 0x40112808, 0xf74919f4, 0x40338ccc, 0xccccccf5},
+{31,0,123,__LINE__, 0x40112bce, 0xfa973280, 0x40339999, 0x999999c2},
+{31,0,123,__LINE__, 0x40112f92, 0x87d54416, 0x4033a666, 0x6666668f},
+{31,0,123,__LINE__, 0x40113353, 0xa2371c56, 0x4033b333, 0x3333335c},
+{31,0,123,__LINE__, 0x40113712, 0x4cea4ceb, 0x4033c000, 0x00000029},
+{31,0,123,__LINE__, 0x40113ace, 0x8b163ba8, 0x4033cccc, 0xccccccf6},
+{31,0,123,__LINE__, 0x40113e88, 0x5fdc3280, 0x4033d999, 0x999999c3},
+{31,0,123,__LINE__, 0x4011423f, 0xce576f3a, 0x4033e666, 0x66666690},
+{31,0,123,__LINE__, 0x401145f4, 0xd99d3304, 0x4033f333, 0x3333335d},
+0,};
+test_log2f(m) {run_vector_1(m,log2f_vec,(char *)(log2f),"log2f","ff"); }
diff --git a/newlib/libm/test/log_vec.c b/newlib/libm/test/log_vec.c
new file mode 100644
index 00000000000..894b75434fe
--- /dev/null
+++ b/newlib/libm/test/log_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type log_vec[] = {
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff33333, 0x33333333}, /* 64.0000=f(-1.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* 64.0000=f(-1.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* 64.0000=f(-1.18000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* 64.0000=f(-1.17000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* 64.0000=f(-1.16000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff26666, 0x66666666}, /* 64.0000=f(-1.15000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* 64.0000=f(-1.14000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* 64.0000=f(-1.13000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* 64.0000=f(-1.12000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* 64.0000=f(-1.11000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x99999999}, /* 64.0000=f(-1.10000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* 64.0000=f(-1.09000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff147ae, 0x147ae147}, /* 64.0000=f(-1.08000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* 64.0000=f(-1.07000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* 64.0000=f(-1.06000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* 64.0000=f(-1.05000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* 64.0000=f(-1.04000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* 64.0000=f(-1.03000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff051eb, 0x851eb851}, /* 64.0000=f(-1.02000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* 64.0000=f(-1.01000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefffff, 0xfffffffe}, /* 64.0000=f(-0.01000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefae14, 0x7ae147ac}, /* 64.0000=f(-0.99000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef5c28, 0xf5c28f5a}, /* 64.0000=f(-0.98000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef0a3d, 0x70a3d708}, /* 64.0000=f(-0.97000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeeb851, 0xeb851eb6}, /* 64.0000=f(-0.96000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee6666, 0x66666664}, /* 64.0000=f(-0.95000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee147a, 0xe147ae12}, /* 64.0000=f(-0.94000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfedc28f, 0x5c28f5c0}, /* 64.0000=f(-0.93000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed70a3, 0xd70a3d6e}, /* 64.0000=f(-0.92000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed1eb8, 0x51eb851c}, /* 64.0000=f(-0.91000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeccccc, 0xccccccca}, /* 64.0000=f(-0.90000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec7ae1, 0x47ae1478}, /* 64.0000=f(-0.89000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec28f5, 0xc28f5c26}, /* 64.0000=f(-0.88000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfebd70a, 0x3d70a3d4}, /* 64.0000=f(-0.87000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb851e, 0xb851eb82}, /* 64.0000=f(-0.86000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb3333, 0x33333330}, /* 64.0000=f(-0.85000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeae147, 0xae147ade}, /* 64.0000=f(-0.84000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea8f5c, 0x28f5c28c}, /* 64.0000=f(-0.83000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea3d70, 0xa3d70a3a}, /* 64.0000=f(-0.82000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe9eb85, 0x1eb851e8}, /* 64.0000=f(-0.81000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe99999, 0x99999996}, /* 64.0000=f(-0.80000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe947ae, 0x147ae144}, /* 64.0000=f(-0.79000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8f5c2, 0x8f5c28f2}, /* 64.0000=f(-0.78000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8a3d7, 0x0a3d70a0}, /* 64.0000=f(-0.77000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe851eb, 0x851eb84e}, /* 64.0000=f(-0.76000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ffff, 0xfffffffc}, /* 64.0000=f(-0.75000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ae14, 0x7ae147aa}, /* 64.0000=f(-0.74000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe75c28, 0xf5c28f58}, /* 64.0000=f(-0.73000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe70a3d, 0x70a3d706}, /* 64.0000=f(-0.72000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6b851, 0xeb851eb4}, /* 64.0000=f(-0.71000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe66666, 0x66666662}, /* 64.0000=f(-0.70000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6147a, 0xe147ae10}, /* 64.0000=f(-0.69000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe5c28f, 0x5c28f5be}, /* 64.0000=f(-0.68000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe570a3, 0xd70a3d6c}, /* 64.0000=f(-0.67000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe51eb8, 0x51eb851a}, /* 64.0000=f(-0.66000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe4cccc, 0xccccccc8}, /* 64.0000=f(-0.65000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe47ae1, 0x47ae1476}, /* 64.0000=f(-0.64000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe428f5, 0xc28f5c24}, /* 64.0000=f(-0.63000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3d70a, 0x3d70a3d2}, /* 64.0000=f(-0.62000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3851e, 0xb851eb80}, /* 64.0000=f(-0.61000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe33333, 0x3333332e}, /* 64.0000=f(-0.60000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe2e147, 0xae147adc}, /* 64.0000=f(-0.59000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe28f5c, 0x28f5c28a}, /* 64.0000=f(-0.58000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe23d70, 0xa3d70a38}, /* 64.0000=f(-0.57000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe1eb85, 0x1eb851e6}, /* 64.0000=f(-0.56000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe19999, 0x99999994}, /* 64.0000=f(-0.55000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe147ae, 0x147ae142}, /* 64.0000=f(-0.54000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0f5c2, 0x8f5c28f0}, /* 64.0000=f(-0.53000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0a3d7, 0x0a3d709e}, /* 64.0000=f(-0.52000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe051eb, 0x851eb84c}, /* 64.0000=f(-0.51000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdfffff, 0xfffffff4}, /* 64.0000=f(-0.50000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdf5c28, 0xf5c28f50}, /* 64.0000=f(-0.49000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdeb851, 0xeb851eac}, /* 64.0000=f(-0.48000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfde147a, 0xe147ae08}, /* 64.0000=f(-0.47000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdd70a3, 0xd70a3d64}, /* 64.0000=f(-0.46000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdccccc, 0xccccccc0}, /* 64.0000=f(-0.45000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdc28f5, 0xc28f5c1c}, /* 64.0000=f(-0.44000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdb851e, 0xb851eb78}, /* 64.0000=f(-0.43000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdae147, 0xae147ad4}, /* 64.0000=f(-0.42000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfda3d70, 0xa3d70a30}, /* 64.0000=f(-0.41000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd99999, 0x9999998c}, /* 64.0000=f(-0.40000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd8f5c2, 0x8f5c28e8}, /* 64.0000=f(-0.39000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd851eb, 0x851eb844}, /* 64.0000=f(-0.38000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd7ae14, 0x7ae147a0}, /* 64.0000=f(-0.37000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd70a3d, 0x70a3d6fc}, /* 64.0000=f(-0.36000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd66666, 0x66666658}, /* 64.0000=f(-0.35000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd5c28f, 0x5c28f5b4}, /* 64.0000=f(-0.34000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd51eb8, 0x51eb8510}, /* 64.0000=f(-0.33000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd47ae1, 0x47ae146c}, /* 64.0000=f(-0.32000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd3d70a, 0x3d70a3c8}, /* 64.0000=f(-0.31000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd33333, 0x33333324}, /* 64.0000=f(-0.30000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd28f5c, 0x28f5c280}, /* 64.0000=f(-0.29000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd1eb85, 0x1eb851dc}, /* 64.0000=f(-0.28000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd147ae, 0x147ae138}, /* 64.0000=f(-0.27000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd0a3d7, 0x0a3d7094}, /* 64.0000=f(-0.26000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcfffff, 0xffffffe0}, /* 64.0000=f(-0.25000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfceb851, 0xeb851e98}, /* 64.0000=f(-0.24000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcd70a3, 0xd70a3d50}, /* 64.0000=f(-0.23000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcc28f5, 0xc28f5c08}, /* 64.0000=f(-0.22000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcae147, 0xae147ac0}, /* 64.0000=f(-0.21000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc99999, 0x99999978}, /* 64.0000=f(-0.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc851eb, 0x851eb830}, /* 64.0000=f(-0.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc70a3d, 0x70a3d6e8}, /* 64.0000=f(-0.18000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc5c28f, 0x5c28f5a0}, /* 64.0000=f(-0.17000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc47ae1, 0x47ae1458}, /* 64.0000=f(-0.16000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc33333, 0x33333310}, /* 64.0000=f(-0.15000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc1eb85, 0x1eb851c8}, /* 64.0000=f(-0.14000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc0a3d7, 0x0a3d7080}, /* 64.0000=f(-0.13000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbeb851, 0xeb851e71}, /* 64.0000=f(-0.12000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbc28f5, 0xc28f5be2}, /* 64.0000=f(-0.11000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb99999, 0x99999953}, /* 64.0000=f(-0.00100)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb70a3d, 0x70a3d6c4}, /* 64.0000=f(-0.09000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb47ae1, 0x47ae1435}, /* 64.0000=f(-0.08000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb1eb85, 0x1eb851a6}, /* 64.0000=f(-0.07000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfaeb851, 0xeb851e2d}, /* 64.0000=f(-0.06000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa99999, 0x9999990e}, /* 64.0000=f(-0.05000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa47ae1, 0x47ae13ef}, /* 64.0000=f(-0.04000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf9eb851, 0xeb851da0}, /* 64.0000=f(-0.03000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf947ae1, 0x47ae1362}, /* 64.0000=f(-0.02000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf847ae1, 0x47ae1249}, /* 64.0000=f(-0.00010)*/
+{64, 0,123,__LINE__, 0xc0414837, 0x1bfcbfb9, 0x3cd19000, 0x00000000}, /* -34.5641=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0xc0126bb1, 0xbbb554a8, 0x3f847ae1, 0x47ae16ad}, /* -4.60517=f(0.01000)*/
+{64, 0,123,__LINE__, 0xc00f4bd2, 0xb7ac1b41, 0x3f947ae1, 0x47ae1594}, /* -3.91202=f(0.02000)*/
+{64, 0,123,__LINE__, 0xc00c0d6e, 0x3a14285c, 0x3f9eb851, 0xeb851fd2}, /* -3.50655=f(0.03000)*/
+{64, 0,123,__LINE__, 0xc009c041, 0xf7ed8cfc, 0x3fa47ae1, 0x47ae1508}, /* -3.21887=f(0.04000)*/
+{64, 0,123,__LINE__, 0xc007f742, 0x7b73e365, 0x3fa99999, 0x99999a27}, /* -2.99573=f(0.05000)*/
+{64, 0,123,__LINE__, 0xc00681dd, 0x7a559a05, 0x3faeb851, 0xeb851f46}, /* -2.81341=f(0.06000)*/
+{64, 0,123,__LINE__, 0xc005462a, 0x20517ce0, 0x3fb1eb85, 0x1eb85232}, /* -2.65926=f(0.07000)*/
+{64, 0,123,__LINE__, 0xc00434b1, 0x382efe9c, 0x3fb47ae1, 0x47ae14c1}, /* -2.52572=f(0.08000)*/
+{64, 0,123,__LINE__, 0xc0034378, 0xfcbda708, 0x3fb70a3d, 0x70a3d750}, /* -2.40794=f(0.09000)*/
+{64, 0,123,__LINE__, 0xc0026bb1, 0xbbb55500, 0x3fb99999, 0x999999df}, /* -2.30258=f(0.10000)*/
+{64, 0,123,__LINE__, 0xc001a87f, 0xbfeb72cc, 0x3fbc28f5, 0xc28f5c6e}, /* -2.20727=f(0.11000)*/
+{64, 0,123,__LINE__, 0xc000f64c, 0xba970b9c, 0x3fbeb851, 0xeb851efd}, /* -2.12026=f(0.12000)*/
+{64, 0,123,__LINE__, 0xc000525f, 0x4c391dca, 0x3fc0a3d7, 0x0a3d70c6}, /* -2.04022=f(0.13000)*/
+{64, 0,123,__LINE__, 0xbfff7532, 0xc125dce8, 0x3fc1eb85, 0x1eb8520e}, /* -1.96611=f(0.14000)*/
+{64, 0,123,__LINE__, 0xbffe5a9a, 0x7c3ac3fb, 0x3fc33333, 0x33333356}, /* -1.89712=f(0.15000)*/
+{64, 0,123,__LINE__, 0xbffd5240, 0xf0e0e05c, 0x3fc47ae1, 0x47ae149e}, /* -1.83258=f(0.16000)*/
+{64, 0,123,__LINE__, 0xbffc59ef, 0x6ae05548, 0x3fc5c28f, 0x5c28f5e6}, /* -1.77195=f(0.17000)*/
+{64, 0,123,__LINE__, 0xbffb6fd0, 0x79fe3130, 0x3fc70a3d, 0x70a3d72e}, /* -1.71479=f(0.18000)*/
+{64, 0,123,__LINE__, 0xbffa925a, 0xe2cbede6, 0x3fc851eb, 0x851eb876}, /* -1.66073=f(0.19000)*/
+{64, 0,123,__LINE__, 0xbff9c041, 0xf7ed8d1d, 0x3fc99999, 0x999999be}, /* -1.60943=f(0.20000)*/
+{64, 0,123,__LINE__, 0xbff8f869, 0xc5f5f6de, 0x3fcae147, 0xae147b06}, /* -1.56064=f(0.21000)*/
+{64, 0,123,__LINE__, 0xbff839de, 0x0059c8b2, 0x3fcc28f5, 0xc28f5c4e}, /* -1.51412=f(0.22000)*/
+{64, 0,123,__LINE__, 0xbff783ca, 0xf331ec62, 0x3fcd70a3, 0xd70a3d96}, /* -1.46967=f(0.23000)*/
+{64, 0,123,__LINE__, 0xbff6d577, 0xf5b0fa51, 0x3fceb851, 0xeb851ede}, /* -1.42711=f(0.24000)*/
+{64, 0,123,__LINE__, 0xbff62e42, 0xfefa39dc, 0x3fd00000, 0x00000013}, /* -1.38629=f(0.25000)*/
+{64, 0,123,__LINE__, 0xbff58d9d, 0x18f51eaa, 0x3fd0a3d7, 0x0a3d70b7}, /* -1.34707=f(0.26000)*/
+{64, 0,123,__LINE__, 0xbff4f307, 0x7ece4b24, 0x3fd147ae, 0x147ae15b}, /* -1.30933=f(0.27000)*/
+{64, 0,123,__LINE__, 0xbff45e11, 0x41a8bffe, 0x3fd1eb85, 0x1eb851ff}, /* -1.27296=f(0.28000)*/
+{64, 0,123,__LINE__, 0xbff3ce55, 0x57395808, 0x3fd28f5c, 0x28f5c2a3}, /* -1.23787=f(0.29000)*/
+{64, 0,123,__LINE__, 0xbff34378, 0xfcbda710, 0x3fd33333, 0x33333347}, /* -1.20397=f(0.30000)*/
+{64, 0,123,__LINE__, 0xbff2bd2a, 0x5db2fd92, 0x3fd3d70a, 0x3d70a3eb}, /* -1.17118=f(0.31000)*/
+{64, 0,123,__LINE__, 0xbff23b1f, 0x7163c370, 0x3fd47ae1, 0x47ae148f}, /* -1.13943=f(0.32000)*/
+{64, 0,123,__LINE__, 0xbff1bd15, 0x0529e2a5, 0x3fd51eb8, 0x51eb8533}, /* -1.10866=f(0.33000)*/
+{64, 0,123,__LINE__, 0xbff142cd, 0xeb63385c, 0x3fd5c28f, 0x5c28f5d7}, /* -1.07881=f(0.34000)*/
+{64, 0,123,__LINE__, 0xbff0cc12, 0x48b56cbd, 0x3fd66666, 0x6666667b}, /* -1.04982=f(0.35000)*/
+{64, 0,123,__LINE__, 0xbff058ae, 0xfa811443, 0x3fd70a3d, 0x70a3d71f}, /* -1.02165=f(0.36000)*/
+{64, 0,123,__LINE__, 0xbfefd0ea, 0x24bf899a, 0x3fd7ae14, 0x7ae147c3}, /* -0.99425=f(0.37000)*/
+{64, 0,123,__LINE__, 0xbfeef672, 0xc69da1ef, 0x3fd851eb, 0x851eb867}, /* -0.96758=f(0.38000)*/
+{64, 0,123,__LINE__, 0xbfee21a8, 0x3b8a7138, 0x3fd8f5c2, 0x8f5c290b}, /* -0.94160=f(0.39000)*/
+{64, 0,123,__LINE__, 0xbfed5240, 0xf0e0e05d, 0x3fd99999, 0x999999af}, /* -0.91629=f(0.40000)*/
+{64, 0,123,__LINE__, 0xbfec87f8, 0xc76ff75b, 0x3fda3d70, 0xa3d70a53}, /* -0.89159=f(0.41000)*/
+{64, 0,123,__LINE__, 0xbfebc290, 0x8cf1b3df, 0x3fdae147, 0xae147af7}, /* -0.86750=f(0.42000)*/
+{64, 0,123,__LINE__, 0xbfeb01cd, 0x8556f84e, 0x3fdb851e, 0xb851eb9b}, /* -0.84397=f(0.43000)*/
+{64, 0,123,__LINE__, 0xbfea4579, 0x01b95786, 0x3fdc28f5, 0xc28f5c3f}, /* -0.82098=f(0.44000)*/
+{64, 0,123,__LINE__, 0xbfe98d60, 0x031b8202, 0x3fdccccc, 0xcccccce3}, /* -0.79850=f(0.45000)*/
+{64, 0,123,__LINE__, 0xbfe8d952, 0xe7699ee4, 0x3fdd70a3, 0xd70a3d87}, /* -0.77652=f(0.46000)*/
+{64, 0,123,__LINE__, 0xbfe82925, 0x1f66e5bb, 0x3fde147a, 0xe147ae2b}, /* -0.75502=f(0.47000)*/
+{64, 0,123,__LINE__, 0xbfe77cac, 0xec67bac2, 0x3fdeb851, 0xeb851ecf}, /* -0.73396=f(0.48000)*/
+{64, 0,123,__LINE__, 0xbfe6d3c3, 0x24e13f37, 0x3fdf5c28, 0xf5c28f73}, /* -0.71334=f(0.49000)*/
+{64, 0,123,__LINE__, 0xbfe62e42, 0xfefa39d9, 0x3fe00000, 0x0000000b}, /* -0.69314=f(0.50000)*/
+{64, 0,123,__LINE__, 0xbfe58c09, 0xe066a49a, 0x3fe051eb, 0x851eb85d}, /* -0.67334=f(0.51000)*/
+{64, 0,123,__LINE__, 0xbfe4ecf7, 0x32f00374, 0x3fe0a3d7, 0x0a3d70af}, /* -0.65392=f(0.52000)*/
+{64, 0,123,__LINE__, 0xbfe450ec, 0x3d21b5ec, 0x3fe0f5c2, 0x8f5c2901}, /* -0.63487=f(0.53000)*/
+{64, 0,123,__LINE__, 0xbfe3b7cb, 0xfea25c68, 0x3fe147ae, 0x147ae153}, /* -0.61618=f(0.54000)*/
+{64, 0,123,__LINE__, 0xbfe3217b, 0x0fd2b102, 0x3fe19999, 0x999999a5}, /* -0.59783=f(0.55000)*/
+{64, 0,123,__LINE__, 0xbfe28ddf, 0x8457461c, 0x3fe1eb85, 0x1eb851f7}, /* -0.57981=f(0.56000)*/
+{64, 0,123,__LINE__, 0xbfe1fce0, 0xd03dd5d1, 0x3fe23d70, 0xa3d70a49}, /* -0.56211=f(0.57000)*/
+{64, 0,123,__LINE__, 0xbfe16e67, 0xaf78762e, 0x3fe28f5c, 0x28f5c29b}, /* -0.54472=f(0.58000)*/
+{64, 0,123,__LINE__, 0xbfe0e25e, 0x0f715cd2, 0x3fe2e147, 0xae147aed}, /* -0.52763=f(0.59000)*/
+{64, 0,123,__LINE__, 0xbfe058ae, 0xfa81143e, 0x3fe33333, 0x3333333f}, /* -0.51082=f(0.60000)*/
+{64, 0,123,__LINE__, 0xbfdfa28d, 0x0a2e9062, 0x3fe3851e, 0xb851eb91}, /* -0.49429=f(0.61000)*/
+{64, 0,123,__LINE__, 0xbfde9823, 0x78d78284, 0x3fe3d70a, 0x3d70a3e3}, /* -0.47803=f(0.62000)*/
+{64, 0,123,__LINE__, 0xbfdd91fd, 0x2d23cf80, 0x3fe428f5, 0xc28f5c35}, /* -0.46203=f(0.63000)*/
+{64, 0,123,__LINE__, 0xbfdc8ff7, 0xc79a99fc, 0x3fe47ae1, 0x47ae1487}, /* -0.44628=f(0.64000)*/
+{64, 0,123,__LINE__, 0xbfdb91f2, 0x8212b9dd, 0x3fe4cccc, 0xccccccd9}, /* -0.43078=f(0.65000)*/
+{64, 0,123,__LINE__, 0xbfda97ce, 0x16b316cd, 0x3fe51eb8, 0x51eb852b}, /* -0.41551=f(0.66000)*/
+{64, 0,123,__LINE__, 0xbfd9a16c, 0xa8d43e5d, 0x3fe570a3, 0xd70a3d7d}, /* -0.40047=f(0.67000)*/
+{64, 0,123,__LINE__, 0xbfd8aeb1, 0xaf986da8, 0x3fe5c28f, 0x5c28f5cf}, /* -0.38566=f(0.68000)*/
+{64, 0,123,__LINE__, 0xbfd7bf81, 0xe213a589, 0x3fe6147a, 0xe147ae21}, /* -0.37106=f(0.69000)*/
+{64, 0,123,__LINE__, 0xbfd6d3c3, 0x24e13f2b, 0x3fe66666, 0x66666673}, /* -0.35667=f(0.70000)*/
+{64, 0,123,__LINE__, 0xbfd5eb5c, 0x7907e4a5, 0x3fe6b851, 0xeb851ec5}, /* -0.34249=f(0.71000)*/
+{64, 0,123,__LINE__, 0xbfd50635, 0xec0fdd45, 0x3fe70a3d, 0x70a3d717}, /* -0.32850=f(0.72000)*/
+{64, 0,123,__LINE__, 0xbfd42438, 0x893252d2, 0x3fe75c28, 0xf5c28f69}, /* -0.31471=f(0.73000)*/
+{64, 0,123,__LINE__, 0xbfd3454e, 0x4b8a9f6d, 0x3fe7ae14, 0x7ae147bb}, /* -0.30110=f(0.74000)*/
+{64, 0,123,__LINE__, 0xbfd26962, 0x1134db70, 0x3fe80000, 0x0000000d}, /* -0.28768=f(0.75000)*/
+{64, 0,123,__LINE__, 0xbfd1905f, 0x8f46d015, 0x3fe851eb, 0x851eb85f}, /* -0.27443=f(0.76000)*/
+{64, 0,123,__LINE__, 0xbfd0ba33, 0x46922d7b, 0x3fe8a3d7, 0x0a3d70b1}, /* -0.26136=f(0.77000)*/
+{64, 0,123,__LINE__, 0xbfcfcd94, 0xf240dd4b, 0x3fe8f5c2, 0x8f5c2903}, /* -0.24846=f(0.78000)*/
+{64, 0,123,__LINE__, 0xbfce2c26, 0x40b4740e, 0x3fe947ae, 0x147ae155}, /* -0.23572=f(0.79000)*/
+{64, 0,123,__LINE__, 0xbfcc8ff7, 0xc79a99de, 0x3fe99999, 0x999999a7}, /* -0.22314=f(0.80000)*/
+{64, 0,123,__LINE__, 0xbfcaf8e8, 0x210a411b, 0x3fe9eb85, 0x1eb851f9}, /* -0.21072=f(0.81000)*/
+{64, 0,123,__LINE__, 0xbfc966d7, 0x21d6f5d6, 0x3fea3d70, 0xa3d70a4b}, /* -0.19845=f(0.82000)*/
+{64, 0,123,__LINE__, 0xbfc7d9a5, 0xca4e123b, 0x3fea8f5c, 0x28f5c29d}, /* -0.18632=f(0.83000)*/
+{64, 0,123,__LINE__, 0xbfc65136, 0x37dde7e6, 0x3feae147, 0xae147aef}, /* -0.17435=f(0.84000)*/
+{64, 0,123,__LINE__, 0xbfc4cd6b, 0x97964138, 0x3feb3333, 0x33333341}, /* -0.16251=f(0.85000)*/
+{64, 0,123,__LINE__, 0xbfc34e2a, 0x1972f9a1, 0x3feb851e, 0xb851eb93}, /* -0.15082=f(0.86000)*/
+{59, 0,123,__LINE__, 0xbfc1d356, 0xe462a82f, 0x3febd70a, 0x3d70a3e5}, /* -0.13926=f(0.87000)*/
+{64, 0,123,__LINE__, 0xbfc05cd8, 0x0afc767f, 0x3fec28f5, 0xc28f5c37}, /* -0.12783=f(0.88000)*/
+{64, 0,123,__LINE__, 0xbfbdd529, 0x01b28754, 0x3fec7ae1, 0x47ae1489}, /* -0.11653=f(0.89000)*/
+{64, 0,123,__LINE__, 0xbfbaf8e8, 0x210a40df, 0x3feccccc, 0xccccccdb}, /* -0.10536=f(0.90000)*/
+{64, 0,123,__LINE__, 0xbfb824be, 0xa3fe154f, 0x3fed1eb8, 0x51eb852d}, /* -0.09431=f(0.91000)*/
+{64, 0,123,__LINE__, 0xbfb5587f, 0x437b27ef, 0x3fed70a3, 0xd70a3d7f}, /* -0.08338=f(0.92000)*/
+{64, 0,123,__LINE__, 0xbfb293fe, 0x305fa8fe, 0x3fedc28f, 0x5c28f5d1}, /* -0.07257=f(0.93000)*/
+{64, 0,123,__LINE__, 0xbfafae22, 0x06cabd40, 0x3fee147a, 0xe147ae23}, /* -0.06187=f(0.94000)*/
+{64, 0,123,__LINE__, 0xbfaa431d, 0x5bcc1842, 0x3fee6666, 0x66666675}, /* -0.05129=f(0.95000)*/
+{64, 0,123,__LINE__, 0xbfa4e69e, 0xd6d80db9, 0x3feeb851, 0xeb851ec7}, /* -0.04082=f(0.96000)*/
+{64, 0,123,__LINE__, 0xbf9f30b2, 0xd0091b9b, 0x3fef0a3d, 0x70a3d719}, /* -0.03045=f(0.97000)*/
+{64, 0,123,__LINE__, 0xbf94b004, 0xbce0aa0d, 0x3fef5c28, 0xf5c28f6b}, /* -0.02020=f(0.98000)*/
+{64, 0,123,__LINE__, 0xbf849545, 0x3e6fd0f3, 0x3fefae14, 0x7ae147bd}, /* -0.01005=f(0.99000)*/
+{64, 0,123,__LINE__, 0x3cdbffff, 0xfffffff9, 0x3ff00000, 0x00000007}, /* 1.55431e-15=f(1.00000)*/
+{64, 0,123,__LINE__, 0x3f8460d6, 0xccca39f3, 0x3ff028f5, 0xc28f5c30}, /* 0.00995=f(1.01000)*/
+{64, 0,123,__LINE__, 0x3f944723, 0xd272a9ae, 0x3ff051eb, 0x851eb859}, /* 0.01980=f(1.02000)*/
+{64, 0,123,__LINE__, 0x3f9e44a9, 0xa3bed81e, 0x3ff07ae1, 0x47ae1482}, /* 0.02955=f(1.03000)*/
+{64, 0,123,__LINE__, 0x3fa414bc, 0xc0a36734, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.03922=f(1.04000)*/
+{64, 0,123,__LINE__, 0x3fa8fb06, 0x3ef2c8c5, 0x3ff0cccc, 0xccccccd4}, /* 0.04879=f(1.05000)*/
+{64, 0,123,__LINE__, 0x3fadd56c, 0x1d883fba, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.05826=f(1.06000)*/
+{64, 0,123,__LINE__, 0x3fb15213, 0xc27c91e9, 0x3ff11eb8, 0x51eb8526}, /* 0.06765=f(1.07000)*/
+{64, 0,123,__LINE__, 0x3fb3b3b8, 0x02beebfa, 0x3ff147ae, 0x147ae14f}, /* 0.07696=f(1.08000)*/
+{64, 0,123,__LINE__, 0x3fb60fbd, 0xd2fffc9d, 0x3ff170a3, 0xd70a3d78}, /* 0.08617=f(1.09000)*/
+{64, 0,123,__LINE__, 0x3fb8663f, 0x793c4732, 0x3ff19999, 0x999999a1}, /* 0.09531=f(1.10000)*/
+{64, 0,123,__LINE__, 0x3fbab756, 0x84d3e35b, 0x3ff1c28f, 0x5c28f5ca}, /* 0.10436=f(1.11000)*/
+{64, 0,123,__LINE__, 0x3fbd031b, 0xd5179e65, 0x3ff1eb85, 0x1eb851f3}, /* 0.11332=f(1.12000)*/
+{64, 0,123,__LINE__, 0x3fbf49a7, 0x9f8b91f8, 0x3ff2147a, 0xe147ae1c}, /* 0.12221=f(1.13000)*/
+{64, 0,123,__LINE__, 0x3fc0c588, 0xbaf1905e, 0x3ff23d70, 0xa3d70a45}, /* 0.13102=f(1.14000)*/
+{64, 0,123,__LINE__, 0x3fc1e3b8, 0x25dd0621, 0x3ff26666, 0x6666666e}, /* 0.13976=f(1.15000)*/
+{64, 0,123,__LINE__, 0x3fc2ff6d, 0x3e070ee9, 0x3ff28f5c, 0x28f5c297}, /* 0.14842=f(1.16000)*/
+{64, 0,123,__LINE__, 0x3fc418b2, 0xe73e533e, 0x3ff2b851, 0xeb851ec0}, /* 0.15700=f(1.17000)*/
+{64, 0,123,__LINE__, 0x3fc52f93, 0xbe237458, 0x3ff2e147, 0xae147ae9}, /* 0.16551=f(1.18000)*/
+{64, 0,123,__LINE__, 0x3fc6441a, 0x1a9027db, 0x3ff30a3d, 0x70a3d712}, /* 0.17395=f(1.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01921fb, 0x54442d18}, /* 64.0000=f(-6.28318)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* 64.0000=f(-4.71238)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc00921fb, 0x54442d18}, /* 64.0000=f(-3.14159)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff921fb, 0x54442d18}, /* 64.0000=f(-1.57079)*/
+{64,15, 39,__LINE__, 0x40500000, 0x00000000, 0x00000000, 0x00000000}, /* 64.0000=f(0.00000)*/
+{64, 0,123,__LINE__, 0x3fdce6bb, 0x25aa1316, 0x3ff921fb, 0x54442d18}, /* 0.45158=f(1.57079)*/
+{64, 0,123,__LINE__, 0x3ff250d0, 0x48e7a1bd, 0x400921fb, 0x54442d18}, /* 1.14473=f(3.14159)*/
+{64, 0,123,__LINE__, 0x3ff8cd99, 0x441787d0, 0x4012d97c, 0x7f3321d2}, /* 1.55019=f(4.71238)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03e0000, 0x00000000}, /* 64.0000=f(-30.0000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* 64.0000=f(-28.3000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03a9999, 0x9999999a}, /* 64.0000=f(-26.6000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc038e666, 0x66666667}, /* 64.0000=f(-24.9000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0373333, 0x33333334}, /* 64.0000=f(-23.2000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0358000, 0x00000001}, /* 64.0000=f(-21.5000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc033cccc, 0xccccccce}, /* 64.0000=f(-19.8000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0321999, 0x9999999b}, /* 64.0000=f(-18.1000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0306666, 0x66666668}, /* 64.0000=f(-16.4000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02d6666, 0x6666666a}, /* 64.0000=f(-14.7000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02a0000, 0x00000004}, /* 64.0000=f(-13.0000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0269999, 0x9999999e}, /* 64.0000=f(-11.3000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0233333, 0x33333338}, /* 64.0000=f(-9.60000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01f9999, 0x999999a3}, /* 64.0000=f(-7.90000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* 64.0000=f(-6.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0120000, 0x00000009}, /* 64.0000=f(-4.50000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0066666, 0x66666678}, /* 64.0000=f(-2.80000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x999999bd}, /* 64.0000=f(-1.10000)*/
+{64, 0,123,__LINE__, 0xbfe058ae, 0xfa8114c8, 0x3fe33333, 0x333332ec}, /* -0.51082=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3feaa731, 0x08717b4a, 0x40026666, 0x66666654}, /* 0.83290=f(2.30000)*/
+{64, 0,123,__LINE__, 0x3ff62e42, 0xfefa39e6, 0x400fffff, 0xffffffee}, /* 1.38629=f(4.00000)*/
+{64, 0,123,__LINE__, 0x3ffbd8f3, 0x0f4bbf32, 0x4016cccc, 0xccccccc4}, /* 1.74046=f(5.70000)*/
+{64, 0,123,__LINE__, 0x40000307, 0xf2440121, 0x401d9999, 0x99999991}, /* 2.00148=f(7.40000)*/
+{64, 0,123,__LINE__, 0x4001aa8b, 0xc6956465, 0x40223333, 0x3333332f}, /* 2.20827=f(9.10000)*/
+{64, 0,123,__LINE__, 0x4003094f, 0x7bcb4c70, 0x40259999, 0x99999995}, /* 2.37954=f(10.8000)*/
+{64, 0,123,__LINE__, 0x400434b1, 0x382efeb6, 0x4028ffff, 0xfffffffb}, /* 2.52572=f(12.5000)*/
+{64, 0,123,__LINE__, 0x400539d6, 0xec52e6f7, 0x402c6666, 0x66666661}, /* 2.65324=f(14.2000)*/
+{64, 0,123,__LINE__, 0x4006216b, 0xe9c36919, 0x402fcccc, 0xccccccc7}, /* 2.76631=f(15.9000)*/
+{64, 0,123,__LINE__, 0x4006f174, 0xfac41c24, 0x40319999, 0x99999997}, /* 2.86789=f(17.6000)*/
+{64, 0,123,__LINE__, 0x4007ae4b, 0x949d47ad, 0x40334ccc, 0xccccccca}, /* 2.96010=f(19.3000)*/
+{64, 0,123,__LINE__, 0x40085b2e, 0x946faeb0, 0x4034ffff, 0xfffffffd}, /* 3.04452=f(21.0000)*/
+{64, 0,123,__LINE__, 0x4008fa9a, 0x7626ce3f, 0x4036b333, 0x33333330}, /* 3.12236=f(22.7000)*/
+{64, 0,123,__LINE__, 0x40098e81, 0x99ec9ffb, 0x40386666, 0x66666663}, /* 3.19458=f(24.4000)*/
+{64, 0,123,__LINE__, 0x400a1871, 0x8ac5ac13, 0x403a1999, 0x99999996}, /* 3.26193=f(26.1000)*/
+{64, 0,123,__LINE__, 0x400a99ac, 0x7c374f8a, 0x403bcccc, 0xccccccc9}, /* 3.32503=f(27.8000)*/
+{64, 0,123,__LINE__, 0x400b133b, 0x33cfc475, 0x403d7fff, 0xfffffffc}, /* 3.38439=f(29.5000)*/
+0,};
+test_log(m) {run_vector_1(m,log_vec,(char *)(log),"log","dd"); }
diff --git a/newlib/libm/test/logf_vec.c b/newlib/libm/test/logf_vec.c
new file mode 100644
index 00000000000..f7b541f8706
--- /dev/null
+++ b/newlib/libm/test/logf_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type logf_vec[] = {
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff33333, 0x33333333}, /* 64.0000=f(-1.20000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* 64.0000=f(-1.19000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* 64.0000=f(-1.18000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* 64.0000=f(-1.17000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* 64.0000=f(-1.16000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff26666, 0x66666666}, /* 64.0000=f(-1.15000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* 64.0000=f(-1.14000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* 64.0000=f(-1.13000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* 64.0000=f(-1.12000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* 64.0000=f(-1.11000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x99999999}, /* 64.0000=f(-1.10000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* 64.0000=f(-1.09000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff147ae, 0x147ae147}, /* 64.0000=f(-1.08000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* 64.0000=f(-1.07000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* 64.0000=f(-1.06000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* 64.0000=f(-1.05000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* 64.0000=f(-1.04000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* 64.0000=f(-1.03000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff051eb, 0x851eb851}, /* 64.0000=f(-1.02000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* 64.0000=f(-1.01000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefffff, 0xfffffffe}, /* 64.0000=f(-0.01000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefae14, 0x7ae147ac}, /* 64.0000=f(-0.99000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef5c28, 0xf5c28f5a}, /* 64.0000=f(-0.98000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef0a3d, 0x70a3d708}, /* 64.0000=f(-0.97000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeeb851, 0xeb851eb6}, /* 64.0000=f(-0.96000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee6666, 0x66666664}, /* 64.0000=f(-0.95000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee147a, 0xe147ae12}, /* 64.0000=f(-0.94000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfedc28f, 0x5c28f5c0}, /* 64.0000=f(-0.93000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed70a3, 0xd70a3d6e}, /* 64.0000=f(-0.92000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed1eb8, 0x51eb851c}, /* 64.0000=f(-0.91000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeccccc, 0xccccccca}, /* 64.0000=f(-0.90000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec7ae1, 0x47ae1478}, /* 64.0000=f(-0.89000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec28f5, 0xc28f5c26}, /* 64.0000=f(-0.88000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfebd70a, 0x3d70a3d4}, /* 64.0000=f(-0.87000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb851e, 0xb851eb82}, /* 64.0000=f(-0.86000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb3333, 0x33333330}, /* 64.0000=f(-0.85000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeae147, 0xae147ade}, /* 64.0000=f(-0.84000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea8f5c, 0x28f5c28c}, /* 64.0000=f(-0.83000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea3d70, 0xa3d70a3a}, /* 64.0000=f(-0.82000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe9eb85, 0x1eb851e8}, /* 64.0000=f(-0.81000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe99999, 0x99999996}, /* 64.0000=f(-0.80000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe947ae, 0x147ae144}, /* 64.0000=f(-0.79000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8f5c2, 0x8f5c28f2}, /* 64.0000=f(-0.78000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8a3d7, 0x0a3d70a0}, /* 64.0000=f(-0.77000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe851eb, 0x851eb84e}, /* 64.0000=f(-0.76000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ffff, 0xfffffffc}, /* 64.0000=f(-0.75000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ae14, 0x7ae147aa}, /* 64.0000=f(-0.74000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe75c28, 0xf5c28f58}, /* 64.0000=f(-0.73000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe70a3d, 0x70a3d706}, /* 64.0000=f(-0.72000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6b851, 0xeb851eb4}, /* 64.0000=f(-0.71000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe66666, 0x66666662}, /* 64.0000=f(-0.70000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6147a, 0xe147ae10}, /* 64.0000=f(-0.69000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe5c28f, 0x5c28f5be}, /* 64.0000=f(-0.68000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe570a3, 0xd70a3d6c}, /* 64.0000=f(-0.67000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe51eb8, 0x51eb851a}, /* 64.0000=f(-0.66000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe4cccc, 0xccccccc8}, /* 64.0000=f(-0.65000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe47ae1, 0x47ae1476}, /* 64.0000=f(-0.64000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe428f5, 0xc28f5c24}, /* 64.0000=f(-0.63000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3d70a, 0x3d70a3d2}, /* 64.0000=f(-0.62000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3851e, 0xb851eb80}, /* 64.0000=f(-0.61000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe33333, 0x3333332e}, /* 64.0000=f(-0.60000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe2e147, 0xae147adc}, /* 64.0000=f(-0.59000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe28f5c, 0x28f5c28a}, /* 64.0000=f(-0.58000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe23d70, 0xa3d70a38}, /* 64.0000=f(-0.57000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe1eb85, 0x1eb851e6}, /* 64.0000=f(-0.56000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe19999, 0x99999994}, /* 64.0000=f(-0.55000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe147ae, 0x147ae142}, /* 64.0000=f(-0.54000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0f5c2, 0x8f5c28f0}, /* 64.0000=f(-0.53000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0a3d7, 0x0a3d709e}, /* 64.0000=f(-0.52000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe051eb, 0x851eb84c}, /* 64.0000=f(-0.51000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdfffff, 0xfffffff4}, /* 64.0000=f(-0.50000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdf5c28, 0xf5c28f50}, /* 64.0000=f(-0.49000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdeb851, 0xeb851eac}, /* 64.0000=f(-0.48000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfde147a, 0xe147ae08}, /* 64.0000=f(-0.47000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdd70a3, 0xd70a3d64}, /* 64.0000=f(-0.46000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdccccc, 0xccccccc0}, /* 64.0000=f(-0.45000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdc28f5, 0xc28f5c1c}, /* 64.0000=f(-0.44000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdb851e, 0xb851eb78}, /* 64.0000=f(-0.43000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdae147, 0xae147ad4}, /* 64.0000=f(-0.42000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfda3d70, 0xa3d70a30}, /* 64.0000=f(-0.41000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd99999, 0x9999998c}, /* 64.0000=f(-0.40000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd8f5c2, 0x8f5c28e8}, /* 64.0000=f(-0.39000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd851eb, 0x851eb844}, /* 64.0000=f(-0.38000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd7ae14, 0x7ae147a0}, /* 64.0000=f(-0.37000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd70a3d, 0x70a3d6fc}, /* 64.0000=f(-0.36000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd66666, 0x66666658}, /* 64.0000=f(-0.35000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd5c28f, 0x5c28f5b4}, /* 64.0000=f(-0.34000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd51eb8, 0x51eb8510}, /* 64.0000=f(-0.33000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd47ae1, 0x47ae146c}, /* 64.0000=f(-0.32000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd3d70a, 0x3d70a3c8}, /* 64.0000=f(-0.31000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd33333, 0x33333324}, /* 64.0000=f(-0.30000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd28f5c, 0x28f5c280}, /* 64.0000=f(-0.29000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd1eb85, 0x1eb851dc}, /* 64.0000=f(-0.28000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd147ae, 0x147ae138}, /* 64.0000=f(-0.27000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd0a3d7, 0x0a3d7094}, /* 64.0000=f(-0.26000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcfffff, 0xffffffe0}, /* 64.0000=f(-0.25000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfceb851, 0xeb851e98}, /* 64.0000=f(-0.24000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcd70a3, 0xd70a3d50}, /* 64.0000=f(-0.23000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcc28f5, 0xc28f5c08}, /* 64.0000=f(-0.22000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcae147, 0xae147ac0}, /* 64.0000=f(-0.21000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc99999, 0x99999978}, /* 64.0000=f(-0.20000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc851eb, 0x851eb830}, /* 64.0000=f(-0.19000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc70a3d, 0x70a3d6e8}, /* 64.0000=f(-0.18000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc5c28f, 0x5c28f5a0}, /* 64.0000=f(-0.17000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc47ae1, 0x47ae1458}, /* 64.0000=f(-0.16000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc33333, 0x33333310}, /* 64.0000=f(-0.15000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc1eb85, 0x1eb851c8}, /* 64.0000=f(-0.14000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc0a3d7, 0x0a3d7080}, /* 64.0000=f(-0.13000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbeb851, 0xeb851e71}, /* 64.0000=f(-0.12000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbc28f5, 0xc28f5be2}, /* 64.0000=f(-0.11000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb99999, 0x99999953}, /* 64.0000=f(-0.00100)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb70a3d, 0x70a3d6c4}, /* 64.0000=f(-0.09000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb47ae1, 0x47ae1435}, /* 64.0000=f(-0.08000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb1eb85, 0x1eb851a6}, /* 64.0000=f(-0.07000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfaeb851, 0xeb851e2d}, /* 64.0000=f(-0.06000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa99999, 0x9999990e}, /* 64.0000=f(-0.05000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa47ae1, 0x47ae13ef}, /* 64.0000=f(-0.04000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf9eb851, 0xeb851da0}, /* 64.0000=f(-0.03000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf947ae1, 0x47ae1362}, /* 64.0000=f(-0.02000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf847ae1, 0x47ae1249}, /* 64.0000=f(-0.00010)*/
+{ 0, 0,123,__LINE__, 0xc0414837, 0x1c037d43, 0x3cd19000, 0x00000000}, /* -34.5641=f(9.74915e-16)*/
+{11, 0,123,__LINE__, 0xc0126bb1, 0xbe1af2b1, 0x3f847ae1, 0x47ae16ad}, /* -4.60517=f(0.01000)*/
+{13, 0,123,__LINE__, 0xc00f4bd2, 0xbc7756e7, 0x3f947ae1, 0x47ae1594}, /* -3.91202=f(0.02000)*/
+{13, 0,123,__LINE__, 0xc00c0d6e, 0x3cb8c86b, 0x3f9eb851, 0xeb851fd2}, /* -3.50655=f(0.03000)*/
+{12, 0,123,__LINE__, 0xc009c041, 0xfcb8c86b, 0x3fa47ae1, 0x47ae1508}, /* -3.21887=f(0.04000)*/
+{17, 0,123,__LINE__, 0xc007f742, 0x78fa39ef, 0x3fa99999, 0x99999a27}, /* -2.99573=f(0.05000)*/
+{15, 0,123,__LINE__, 0xc00681dd, 0x7cfa39ef, 0x3faeb851, 0xeb851f46}, /* -2.81341=f(0.06000)*/
+{14, 0,123,__LINE__, 0xc005462a, 0x1efa39ef, 0x3fb1eb85, 0x1eb85232}, /* -2.65926=f(0.07000)*/
+{14, 0,123,__LINE__, 0xc00434b1, 0x3cfa39ef, 0x3fb47ae1, 0x47ae14c1}, /* -2.52572=f(0.08000)*/
+{13, 0,123,__LINE__, 0xc0034378, 0xf73bab73, 0x3fb70a3d, 0x70a3d750}, /* -2.40794=f(0.09000)*/
+{13, 0,123,__LINE__, 0xc0026bb1, 0xb93bab73, 0x3fb99999, 0x999999df}, /* -2.30258=f(0.10000)*/
+{13, 0,123,__LINE__, 0xc001a87f, 0xbf3bab73, 0x3fbc28f5, 0xc28f5c6e}, /* -2.20727=f(0.11000)*/
+{13, 0,123,__LINE__, 0xc000f64c, 0xbd3bab73, 0x3fbeb851, 0xeb851efd}, /* -2.12026=f(0.12000)*/
+{13, 0,123,__LINE__, 0xc000525f, 0x513bab73, 0x3fc0a3d7, 0x0a3d70c6}, /* -2.04022=f(0.13000)*/
+{ 1, 0,123,__LINE__, 0xbfff7532, 0xbe7756e7, 0x3fc1eb85, 0x1eb8520e}, /* -1.96611=f(0.14000)*/
+{ 1, 0,123,__LINE__, 0xbffe5a9a, 0x727756e7, 0x3fc33333, 0x33333356}, /* -1.89712=f(0.15000)*/
+{ 1, 0,123,__LINE__, 0xbffd5240, 0xfa7756e7, 0x3fc47ae1, 0x47ae149e}, /* -1.83258=f(0.16000)*/
+{ 1, 0,123,__LINE__, 0xbffc59ef, 0x6e7756e7, 0x3fc5c28f, 0x5c28f5e6}, /* -1.77195=f(0.17000)*/
+{ 1, 0,123,__LINE__, 0xbffb6fd0, 0x6efa39ef, 0x3fc70a3d, 0x70a3d72e}, /* -1.71479=f(0.18000)*/
+{ 1, 0,123,__LINE__, 0xbffa925a, 0xe6fa39ef, 0x3fc851eb, 0x851eb876}, /* -1.66073=f(0.19000)*/
+{ 1, 0,123,__LINE__, 0xbff9c041, 0xf2fa39ef, 0x3fc99999, 0x999999be}, /* -1.60943=f(0.20000)*/
+{ 1, 0,123,__LINE__, 0xbff8f869, 0xcefa39ef, 0x3fcae147, 0xae147b06}, /* -1.56064=f(0.21000)*/
+{ 1, 0,123,__LINE__, 0xbff839dd, 0xfefa39ef, 0x3fcc28f5, 0xc28f5c4e}, /* -1.51412=f(0.22000)*/
+{ 1, 0,123,__LINE__, 0xbff783ca, 0xecfa39ef, 0x3fcd70a3, 0xd70a3d96}, /* -1.46967=f(0.23000)*/
+{ 1, 0,123,__LINE__, 0xbff6d577, 0xfafa39ef, 0x3fceb851, 0xeb851ede}, /* -1.42711=f(0.24000)*/
+{ 1, 0,123,__LINE__, 0xbff62e42, 0xfefa39ef, 0x3fd00000, 0x00000013}, /* -1.38629=f(0.25000)*/
+{ 1, 0,123,__LINE__, 0xbff58d9d, 0x22fa39ef, 0x3fd0a3d7, 0x0a3d70b7}, /* -1.34707=f(0.26000)*/
+{ 1, 0,123,__LINE__, 0xbff4f307, 0x72fa39ef, 0x3fd147ae, 0x147ae15b}, /* -1.30933=f(0.27000)*/
+{ 1, 0,123,__LINE__, 0xbff45e11, 0x3efa39ef, 0x3fd1eb85, 0x1eb851ff}, /* -1.27296=f(0.28000)*/
+{ 1, 0,123,__LINE__, 0xbff3ce55, 0x5afa39ef, 0x3fd28f5c, 0x28f5c2a3}, /* -1.23787=f(0.29000)*/
+{ 1, 0,123,__LINE__, 0xbff34378, 0xf2fa39ef, 0x3fd33333, 0x33333347}, /* -1.20397=f(0.30000)*/
+{ 1, 0,123,__LINE__, 0xbff2bd2a, 0x5efa39ef, 0x3fd3d70a, 0x3d70a3eb}, /* -1.17118=f(0.31000)*/
+{ 1, 0,123,__LINE__, 0xbff23b1f, 0x7afa39ef, 0x3fd47ae1, 0x47ae148f}, /* -1.13943=f(0.32000)*/
+{ 1, 0,123,__LINE__, 0xbff1bd14, 0xfefa39ef, 0x3fd51eb8, 0x51eb8533}, /* -1.10866=f(0.33000)*/
+{ 1, 0,123,__LINE__, 0xbff142cd, 0xeefa39ef, 0x3fd5c28f, 0x5c28f5d7}, /* -1.07881=f(0.34000)*/
+{ 1, 0,123,__LINE__, 0xbff0cc12, 0x4efa39ef, 0x3fd66666, 0x6666667b}, /* -1.04982=f(0.35000)*/
+{ 1, 0,123,__LINE__, 0xbff058ae, 0xef7d1cf8, 0x3fd70a3d, 0x70a3d71f}, /* -1.02165=f(0.36000)*/
+{ 1, 0,123,__LINE__, 0xbfefd0ea, 0x1efa39ef, 0x3fd7ae14, 0x7ae147c3}, /* -0.99425=f(0.37000)*/
+{ 1, 0,123,__LINE__, 0xbfeef672, 0xcefa39ef, 0x3fd851eb, 0x851eb867}, /* -0.96758=f(0.38000)*/
+{ 1, 0,123,__LINE__, 0xbfee21a8, 0x4efa39ef, 0x3fd8f5c2, 0x8f5c290b}, /* -0.94160=f(0.39000)*/
+{ 1, 0,123,__LINE__, 0xbfed5240, 0xe6fa39ef, 0x3fd99999, 0x999999af}, /* -0.91629=f(0.40000)*/
+{ 1, 0,123,__LINE__, 0xbfec87f8, 0xcefa39ef, 0x3fda3d70, 0xa3d70a53}, /* -0.89159=f(0.41000)*/
+{ 1, 0,123,__LINE__, 0xbfebc290, 0x9efa39ef, 0x3fdae147, 0xae147af7}, /* -0.86750=f(0.42000)*/
+{ 1, 0,123,__LINE__, 0xbfeb01cd, 0x7efa39ef, 0x3fdb851e, 0xb851eb9b}, /* -0.84397=f(0.43000)*/
+{ 1, 0,123,__LINE__, 0xbfea4578, 0xfefa39ef, 0x3fdc28f5, 0xc28f5c3f}, /* -0.82098=f(0.44000)*/
+{ 1, 0,123,__LINE__, 0xbfe98d60, 0x0efa39ef, 0x3fdccccc, 0xcccccce3}, /* -0.79850=f(0.45000)*/
+{ 1, 0,123,__LINE__, 0xbfe8d952, 0xdafa39ef, 0x3fdd70a3, 0xd70a3d87}, /* -0.77652=f(0.46000)*/
+{ 1, 0,123,__LINE__, 0xbfe82925, 0x1efa39ef, 0x3fde147a, 0xe147ae2b}, /* -0.75502=f(0.47000)*/
+{ 1, 0,123,__LINE__, 0xbfe77cac, 0xf6fa39ef, 0x3fdeb851, 0xeb851ecf}, /* -0.73396=f(0.48000)*/
+{ 1, 0,123,__LINE__, 0xbfe6d3c3, 0x1afa39ef, 0x3fdf5c28, 0xf5c28f73}, /* -0.71334=f(0.49000)*/
+{ 1, 0,123,__LINE__, 0xbfe62e42, 0xfefa39ef, 0x3fe00000, 0x0000000b}, /* -0.69314=f(0.50000)*/
+{ 1, 0,123,__LINE__, 0xbfe58c09, 0xeafa39ef, 0x3fe051eb, 0x851eb85d}, /* -0.67334=f(0.51000)*/
+{ 1, 0,123,__LINE__, 0xbfe4ecf7, 0x46fa39ef, 0x3fe0a3d7, 0x0a3d70af}, /* -0.65392=f(0.52000)*/
+{ 1, 0,123,__LINE__, 0xbfe450ec, 0x5afa39ef, 0x3fe0f5c2, 0x8f5c2901}, /* -0.63487=f(0.53000)*/
+{ 1, 0,123,__LINE__, 0xbfe3b7cb, 0xe6fa39ef, 0x3fe147ae, 0x147ae153}, /* -0.61618=f(0.54000)*/
+{ 1, 0,123,__LINE__, 0xbfe3217b, 0x02fa39ef, 0x3fe19999, 0x999999a5}, /* -0.59783=f(0.55000)*/
+{ 1, 0,123,__LINE__, 0xbfe28ddf, 0x7efa39ef, 0x3fe1eb85, 0x1eb851f7}, /* -0.57981=f(0.56000)*/
+{ 1, 0,123,__LINE__, 0xbfe1fce0, 0xcefa39ef, 0x3fe23d70, 0xa3d70a49}, /* -0.56211=f(0.57000)*/
+{ 1, 0,123,__LINE__, 0xbfe16e67, 0xb6fa39ef, 0x3fe28f5c, 0x28f5c29b}, /* -0.54472=f(0.58000)*/
+{ 1, 0,123,__LINE__, 0xbfe0e25e, 0x26fa39ef, 0x3fe2e147, 0xae147aed}, /* -0.52763=f(0.59000)*/
+{ 1, 0,123,__LINE__, 0xbfe058ae, 0xe6fa39ef, 0x3fe33333, 0x3333333f}, /* -0.51082=f(0.60000)*/
+{ 1, 0,123,__LINE__, 0xbfdfa28c, 0xfdf473de, 0x3fe3851e, 0xb851eb91}, /* -0.49429=f(0.61000)*/
+{ 1, 0,123,__LINE__, 0xbfde9823, 0x7df473de, 0x3fe3d70a, 0x3d70a3e3}, /* -0.47803=f(0.62000)*/
+{ 1, 0,123,__LINE__, 0xbfdd91fd, 0x3df473de, 0x3fe428f5, 0xc28f5c35}, /* -0.46203=f(0.63000)*/
+{ 1, 0,123,__LINE__, 0xbfdc8ff7, 0xedf473de, 0x3fe47ae1, 0x47ae1487}, /* -0.44628=f(0.64000)*/
+{ 1, 0,123,__LINE__, 0xbfdb91f2, 0x9df473de, 0x3fe4cccc, 0xccccccd9}, /* -0.43078=f(0.65000)*/
+{ 1, 0,123,__LINE__, 0xbfda97cd, 0xfdf473de, 0x3fe51eb8, 0x51eb852b}, /* -0.41551=f(0.66000)*/
+{ 1, 0,123,__LINE__, 0xbfd9a16c, 0x9df473de, 0x3fe570a3, 0xd70a3d7d}, /* -0.40047=f(0.67000)*/
+{ 1, 0,123,__LINE__, 0xbfd8aeb1, 0xbdf473de, 0x3fe5c28f, 0x5c28f5cf}, /* -0.38566=f(0.68000)*/
+{ 1, 0,123,__LINE__, 0xbfd7bf81, 0xfdf473de, 0x3fe6147a, 0xe147ae21}, /* -0.37106=f(0.69000)*/
+{ 1, 0,123,__LINE__, 0xbfd6d3c3, 0x3df473de, 0x3fe66666, 0x66666673}, /* -0.35667=f(0.70000)*/
+{ 1, 0,123,__LINE__, 0xbfd5eb5c, 0x80000000, 0x3fe6b851, 0xeb851ec5}, /* -0.34249=f(0.71000)*/
+{ 1, 0,123,__LINE__, 0xbfd50635, 0xc0000000, 0x3fe70a3d, 0x70a3d717}, /* -0.32850=f(0.72000)*/
+{ 1, 0,123,__LINE__, 0xbfd42438, 0x80000000, 0x3fe75c28, 0xf5c28f69}, /* -0.31471=f(0.73000)*/
+{ 1, 0,123,__LINE__, 0xbfd3454e, 0x40000000, 0x3fe7ae14, 0x7ae147bb}, /* -0.30110=f(0.74000)*/
+{ 1, 0,123,__LINE__, 0xbfd26962, 0x20000000, 0x3fe80000, 0x0000000d}, /* -0.28768=f(0.75000)*/
+{ 1, 0,123,__LINE__, 0xbfd1905f, 0xa0000000, 0x3fe851eb, 0x851eb85f}, /* -0.27443=f(0.76000)*/
+{ 1, 0,123,__LINE__, 0xbfd0ba33, 0x60000000, 0x3fe8a3d7, 0x0a3d70b1}, /* -0.26136=f(0.77000)*/
+{ 1, 0,123,__LINE__, 0xbfcfcd95, 0x40000000, 0x3fe8f5c2, 0x8f5c2903}, /* -0.24846=f(0.78000)*/
+{ 1, 0,123,__LINE__, 0xbfce2c26, 0x20000000, 0x3fe947ae, 0x147ae155}, /* -0.23572=f(0.79000)*/
+{ 1, 0,123,__LINE__, 0xbfcc8ff7, 0xa0000000, 0x3fe99999, 0x999999a7}, /* -0.22314=f(0.80000)*/
+{ 1, 0,123,__LINE__, 0xbfcaf8e8, 0x20000000, 0x3fe9eb85, 0x1eb851f9}, /* -0.21072=f(0.81000)*/
+{ 1, 0,123,__LINE__, 0xbfc966d7, 0x40000000, 0x3fea3d70, 0xa3d70a4b}, /* -0.19845=f(0.82000)*/
+{ 1, 0,123,__LINE__, 0xbfc7d9a6, 0x00000000, 0x3fea8f5c, 0x28f5c29d}, /* -0.18632=f(0.83000)*/
+{ 1, 0,123,__LINE__, 0xbfc65136, 0x80000000, 0x3feae147, 0xae147aef}, /* -0.17435=f(0.84000)*/
+{ 1, 0,123,__LINE__, 0xbfc4cd6b, 0x60000000, 0x3feb3333, 0x33333341}, /* -0.16251=f(0.85000)*/
+{ 1, 0,123,__LINE__, 0xbfc34e2a, 0x00000000, 0x3feb851e, 0xb851eb93}, /* -0.15082=f(0.86000)*/
+{ 1, 0,123,__LINE__, 0xbfc1d356, 0xe0000000, 0x3febd70a, 0x3d70a3e5}, /* -0.13926=f(0.87000)*/
+{ 1, 0,123,__LINE__, 0xbfc05cd8, 0x00000000, 0x3fec28f5, 0xc28f5c37}, /* -0.12783=f(0.88000)*/
+{ 1, 0,123,__LINE__, 0xbfbdd529, 0x40000000, 0x3fec7ae1, 0x47ae1489}, /* -0.11653=f(0.89000)*/
+{ 1, 0,123,__LINE__, 0xbfbaf8e8, 0x80000000, 0x3feccccc, 0xccccccdb}, /* -0.10536=f(0.90000)*/
+{ 1, 0,123,__LINE__, 0xbfb824be, 0x20000000, 0x3fed1eb8, 0x51eb852d}, /* -0.09431=f(0.91000)*/
+{ 1, 0,123,__LINE__, 0xbfb5587e, 0xe0000000, 0x3fed70a3, 0xd70a3d7f}, /* -0.08338=f(0.92000)*/
+{ 1, 0,123,__LINE__, 0xbfb293fe, 0x20000000, 0x3fedc28f, 0x5c28f5d1}, /* -0.07257=f(0.93000)*/
+{ 1, 0,123,__LINE__, 0xbfafae22, 0x00000000, 0x3fee147a, 0xe147ae23}, /* -0.06187=f(0.94000)*/
+{ 1, 0,123,__LINE__, 0xbfaa431d, 0xc0000000, 0x3fee6666, 0x66666675}, /* -0.05129=f(0.95000)*/
+{ 1, 0,123,__LINE__, 0xbfa4e69f, 0x80000000, 0x3feeb851, 0xeb851ec7}, /* -0.04082=f(0.96000)*/
+{ 1, 0,123,__LINE__, 0xbf9f30b0, 0xe0000000, 0x3fef0a3d, 0x70a3d719}, /* -0.03045=f(0.97000)*/
+{ 1, 0,123,__LINE__, 0xbf94b003, 0x80000000, 0x3fef5c28, 0xf5c28f6b}, /* -0.02020=f(0.98000)*/
+{ 1, 0,123,__LINE__, 0xbf849544, 0x00000000, 0x3fefae14, 0x7ae147bd}, /* -0.01005=f(0.99000)*/
+{ 0, 0,123,__LINE__, 0x00000000, 0x00000000, 0x3ff00000, 0x00000007}, /* 0.00000=f(1.00000)*/
+{ 0, 0,123,__LINE__, 0x3f8460d5, 0x80000000, 0x3ff028f5, 0xc28f5c30}, /* 0.00995=f(1.01000)*/
+{ 0, 0,123,__LINE__, 0x3f944722, 0x80000000, 0x3ff051eb, 0x851eb859}, /* 0.01980=f(1.02000)*/
+{ 0, 0,123,__LINE__, 0x3f9e44a7, 0xc0000000, 0x3ff07ae1, 0x47ae1482}, /* 0.02955=f(1.03000)*/
+{ 0, 0,123,__LINE__, 0x3fa414bb, 0x80000000, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.03922=f(1.04000)*/
+{ 0, 0,123,__LINE__, 0x3fa8fb04, 0xa0000000, 0x3ff0cccc, 0xccccccd4}, /* 0.04879=f(1.05000)*/
+{ 0, 0,123,__LINE__, 0x3fadd56a, 0x40000000, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.05826=f(1.06000)*/
+{ 0, 0,123,__LINE__, 0x3fb15214, 0xa0000000, 0x3ff11eb8, 0x51eb8526}, /* 0.06765=f(1.07000)*/
+{ 0, 0,123,__LINE__, 0x3fb3b3b8, 0xc0000000, 0x3ff147ae, 0x147ae14f}, /* 0.07696=f(1.08000)*/
+{ 0, 0,123,__LINE__, 0x3fb60fbe, 0x40000000, 0x3ff170a3, 0xd70a3d78}, /* 0.08617=f(1.09000)*/
+{ 0, 0,123,__LINE__, 0x3fb8663f, 0xe0000000, 0x3ff19999, 0x999999a1}, /* 0.09531=f(1.10000)*/
+{ 0, 0,123,__LINE__, 0x3fbab756, 0xa0000000, 0x3ff1c28f, 0x5c28f5ca}, /* 0.10436=f(1.11000)*/
+{ 0, 0,123,__LINE__, 0x3fbd031c, 0x00000000, 0x3ff1eb85, 0x1eb851f3}, /* 0.11332=f(1.12000)*/
+{ 0, 0,123,__LINE__, 0x3fbf49a7, 0x60000000, 0x3ff2147a, 0xe147ae1c}, /* 0.12221=f(1.13000)*/
+{ 0, 0,123,__LINE__, 0x3fc0c588, 0xc0000000, 0x3ff23d70, 0xa3d70a45}, /* 0.13102=f(1.14000)*/
+{ 0, 0,123,__LINE__, 0x3fc1e3b8, 0x00000000, 0x3ff26666, 0x6666666e}, /* 0.13976=f(1.15000)*/
+{ 0, 0,123,__LINE__, 0x3fc2ff6d, 0x20000000, 0x3ff28f5c, 0x28f5c297}, /* 0.14841=f(1.16000)*/
+{ 0, 0,123,__LINE__, 0x3fc418b2, 0x80000000, 0x3ff2b851, 0xeb851ec0}, /* 0.15700=f(1.17000)*/
+{ 0, 0,123,__LINE__, 0x3fc52f93, 0x60000000, 0x3ff2e147, 0xae147ae9}, /* 0.16551=f(1.18000)*/
+{ 0, 0,123,__LINE__, 0x3fc6441a, 0x80000000, 0x3ff30a3d, 0x70a3d712}, /* 0.17395=f(1.19000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01921fb, 0x54442d18}, /* 64.0000=f(-6.28318)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* 64.0000=f(-4.71238)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc00921fb, 0x54442d18}, /* 64.0000=f(-3.14159)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff921fb, 0x54442d18}, /* 64.0000=f(-1.57079)*/
+{ 9,15, 39,__LINE__, 0x40500000, 0x00000000, 0x00000000, 0x00000000}, /* 64.0000=f(0.00000)*/
+{ 0, 0,123,__LINE__, 0x3fdce6bb, 0x4df473de, 0x3ff921fb, 0x54442d18}, /* 0.45158=f(1.57079)*/
+{ 1, 0,123,__LINE__, 0x3ff250d0, 0x52fa39ef, 0x400921fb, 0x54442d18}, /* 1.14473=f(3.14159)*/
+{ 1, 0,123,__LINE__, 0x3ff8cd99, 0x42fa39ef, 0x4012d97c, 0x7f3321d2}, /* 1.55019=f(4.71238)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03e0000, 0x00000000}, /* 64.0000=f(-30.0000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* 64.0000=f(-28.3000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03a9999, 0x9999999a}, /* 64.0000=f(-26.6000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc038e666, 0x66666667}, /* 64.0000=f(-24.9000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0373333, 0x33333334}, /* 64.0000=f(-23.2000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0358000, 0x00000001}, /* 64.0000=f(-21.5000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc033cccc, 0xccccccce}, /* 64.0000=f(-19.8000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0321999, 0x9999999b}, /* 64.0000=f(-18.1000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0306666, 0x66666668}, /* 64.0000=f(-16.4000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02d6666, 0x6666666a}, /* 64.0000=f(-14.7000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02a0000, 0x00000004}, /* 64.0000=f(-13.0000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0269999, 0x9999999e}, /* 64.0000=f(-11.3000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0233333, 0x33333338}, /* 64.0000=f(-9.60000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01f9999, 0x999999a3}, /* 64.0000=f(-7.90000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* 64.0000=f(-6.20000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0120000, 0x00000009}, /* 64.0000=f(-4.50000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0066666, 0x66666678}, /* 64.0000=f(-2.80000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x999999bd}, /* 64.0000=f(-1.10000)*/
+{ 1, 0,123,__LINE__, 0xbfe058ae, 0xe6fa39ef, 0x3fe33333, 0x333332ec}, /* -0.51082=f(0.60000)*/
+{11, 0,123,__LINE__, 0x3feaa730, 0xfefa39ef, 0x40026666, 0x66666654}, /* 0.83290=f(2.30000)*/
+{ 1, 0,123,__LINE__, 0x3ff62e42, 0xfefa39ef, 0x400fffff, 0xffffffee}, /* 1.38629=f(4.00000)*/
+{ 1, 0,123,__LINE__, 0x3ffbd8f3, 0x067756e7, 0x4016cccc, 0xccccccc4}, /* 1.74046=f(5.70000)*/
+{13, 0,123,__LINE__, 0x40000307, 0xf33bab73, 0x401d9999, 0x99999991}, /* 2.00148=f(7.40000)*/
+{13, 0,123,__LINE__, 0x4001aa8b, 0xcd3bab73, 0x40223333, 0x3333332f}, /* 2.20827=f(9.10000)*/
+{13, 0,123,__LINE__, 0x4003094f, 0x7f3bab73, 0x40259999, 0x99999995}, /* 2.37954=f(10.8000)*/
+{15, 0,123,__LINE__, 0x400434b1, 0x36fa39ef, 0x4028ffff, 0xfffffffb}, /* 2.52572=f(12.5000)*/
+{14, 0,123,__LINE__, 0x400539d6, 0xeafa39ef, 0x402c6666, 0x66666661}, /* 2.65324=f(14.2000)*/
+{20, 0,123,__LINE__, 0x4006216b, 0xe68a39ef, 0x402fcccc, 0xccccccc7}, /* 2.76631=f(15.9000)*/
+{16, 0,123,__LINE__, 0x4006f174, 0xfdfa39ef, 0x40319999, 0x99999997}, /* 2.86789=f(17.6000)*/
+{15, 0,123,__LINE__, 0x4007ae4b, 0x8efa39ef, 0x40334ccc, 0xccccccca}, /* 2.96010=f(19.3000)*/
+{12, 0,123,__LINE__, 0x40085b2e, 0x92fa39ef, 0x4034ffff, 0xfffffffd}, /* 3.04452=f(21.0000)*/
+{12, 0,123,__LINE__, 0x4008fa9a, 0x7ab8c86b, 0x4036b333, 0x33333330}, /* 3.12236=f(22.7000)*/
+{12, 0,123,__LINE__, 0x40098e81, 0x96b8c86b, 0x40386666, 0x66666663}, /* 3.19458=f(24.4000)*/
+{12, 0,123,__LINE__, 0x400a1871, 0x8ab8c86b, 0x403a1999, 0x99999996}, /* 3.26193=f(26.1000)*/
+{12, 0,123,__LINE__, 0x400a99ac, 0x78b8c86b, 0x403bcccc, 0xccccccc9}, /* 3.32503=f(27.8000)*/
+{12, 0,123,__LINE__, 0x400b133b, 0x33b8c86b, 0x403d7fff, 0xfffffffc}, /* 3.38439=f(29.5000)*/
+0,};
+test_logf(m) {run_vector_1(m,logf_vec,(char *)(logf),"logf","ff"); }
diff --git a/newlib/libm/test/math.c b/newlib/libm/test/math.c
new file mode 100644
index 00000000000..df63c2df25f
--- /dev/null
+++ b/newlib/libm/test/math.c
@@ -0,0 +1,472 @@
+/*
+ Test the library maths functions using trusted precomputed test
+ vectors.
+
+ These vectors were originally generated on a sun3 with a 68881 using
+ 80 bit precision, but ...
+
+ Each function is called with a variety of interesting arguments.
+ Note that many of the polynomials we use behave badly when the
+ domain is stressed, so the numbers in the vectors depend on what is
+ useful to test - eg sin(1e30) is pointless - the arg has to be
+ reduced modulo pi, and after that there's no bits of significance
+ left to evaluate with - any number would be just as precise as any
+ other.
+
+
+*/
+
+#include "test.h"
+#include <math.h>
+#include <ieeefp.h>
+#include <float.h>
+#include <math.h>
+#include <errno.h>
+#include <stdio.h>
+
+int inacc;
+
+int merror;
+double mretval = 64;
+int traperror = 1;
+char *mname;
+
+int verbose;
+
+/* To test exceptions - we trap them all and return a known value */
+int
+_DEFUN(matherr,(e),
+ struct exception *e)
+{
+ if (traperror)
+ {
+ merror = e->type + 12;
+ mname = e->name;
+ e->retval = mretval;
+ errno = merror + 24;
+ return 1;
+ }
+ return 0;
+}
+
+
+void _DEFUN(translate_to,(file,r),
+ FILE *file _AND
+ double r)
+{
+ __ieee_double_shape_type bits;
+ bits.value = r;
+ fprintf(file, "0x%08x, 0x%08x", bits.parts.msw, bits.parts.lsw);
+}
+
+int
+_DEFUN(ffcheck,( is, p, name, serrno, merror),
+ double is _AND
+ one_line_type *p _AND
+ char *name _AND
+ int serrno _AND
+ int merror)
+{
+ /* Make sure the answer isn't to far wrong from the correct value */
+ __ieee_double_shape_type correct, isbits;
+ int mag;
+ isbits.value = is;
+
+ correct.parts.msw = p->qs[0].msw;
+ correct.parts.lsw = p->qs[0].lsw;
+
+ mag = mag_of_error(correct.value, is);
+
+ if (mag < p->error_bit)
+ {
+ inacc ++;
+
+ printf("%s:%d, inaccurate answer: bit %d (%08x%08x %08x%08x) (%g %g)\n",
+ name, p->line, mag,
+ correct.parts.msw,
+ correct.parts.lsw,
+ isbits.parts.msw,
+ isbits.parts.lsw,
+ correct.value, is);
+ }
+
+#if 0
+ if (p->qs[0].merror != merror)
+ {
+ printf("testing %s_vec.c:%d, matherr wrong: %d %d\n",
+ name, p->line, merror, p->qs[0].merror);
+ }
+
+ if (p->qs[0].errno_val != errno)
+ {
+ printf("testing %s_vec.c:%d, errno wrong: %d %d\n",
+ name, p->line, errno, p->qs[0].errno_val);
+
+ }
+#endif
+ return mag;
+}
+
+double
+_DEFUN(thedouble, (msw, lsw),
+ long msw _AND
+ long lsw)
+{
+ __ieee_double_shape_type x;
+
+ x.parts.msw = msw;
+ x.parts.lsw = lsw;
+ return x.value;
+}
+
+int calc;
+int reduce;
+
+
+_DEFUN(frontline,(f, mag, p, result, merror, errno, args, name),
+ FILE *f _AND
+ int mag _AND
+ one_line_type *p _AND
+ double result _AND
+ int merror _AND
+ int errno _AND
+ char *args _AND
+ char *name)
+{
+ if (reduce && p->error_bit < mag)
+ {
+ fprintf(f, "{%2d,", p->error_bit);
+ }
+ else
+ {
+ fprintf(f, "{%2d,",mag);
+ }
+
+
+ fprintf(f,"%2d,%3d,", merror,errno);
+ fprintf(f, "__LINE__, ");
+
+ if (calc)
+ {
+ translate_to(f, result);
+ }
+ else
+ {
+ translate_to(f, thedouble(p->qs[0].msw, p->qs[0].lsw));
+ }
+
+ fprintf(f, ", ");
+
+ fprintf(f,"0x%08x, 0x%08x", p->qs[1].msw, p->qs[1].lsw);
+
+
+ if (args[2])
+ {
+ fprintf(f, ", ");
+ fprintf(f,"0x%08x, 0x%08x", p->qs[2].msw, p->qs[2].lsw);
+ }
+
+ fprintf(f,"}, /* %g=f(%g",result,
+ thedouble(p->qs[1].msw, p->qs[1].lsw));
+
+ if (args[2])
+ {
+ fprintf(f,", %g", thedouble(p->qs[2].msw,p->qs[2].lsw));
+ }
+ fprintf(f, ")*/\n");
+}
+
+_DEFUN(finish,(f, vector, result , p, args, name),
+ FILE *f _AND
+ int vector _AND
+ double result _AND
+ one_line_type *p _AND
+ char *args _AND
+ char *name)
+{
+ int mag;
+
+ mag = ffcheck(result, p,name, merror, errno);
+ if (vector)
+ {
+ frontline(f, mag, p, result, merror, errno, args , name);
+ }
+}
+int redo;
+
+_DEFUN(run_vector_1,(vector, p, func, name, args),
+ int vector _AND
+ one_line_type *p _AND
+ char *func _AND
+ char *name _AND
+ char *args)
+{
+ FILE *f;
+ int mag;
+ double result;
+
+ if (vector)
+ {
+
+ VECOPEN(name, f);
+
+ if (redo)
+ {
+ double k;
+
+ for (k = -.2; k < .2; k+= 0.00132)
+ {
+
+ fprintf(f,"{1,1, 1,1, 0,0,0x%08x,0x%08x, 0x%08x, 0x%08x},\n",
+ k,k+4);
+
+ }
+
+ for (k = -1.2; k < 1.2; k+= 0.01)
+ {
+
+ fprintf(f,"{1,1, 1,1, 0,0,0x%08x,0x%08x, 0x%08x, 0x%08x},\n",
+ k,k+4);
+
+ }
+ for (k = -M_PI *2; k < M_PI *2; k+= M_PI/2)
+ {
+
+ fprintf(f,"{1,1, 1,1, 0,0,0x%08x,0x%08x, 0x%08x, 0x%08x},\n",
+ k,k+4);
+
+ }
+
+ for (k = -30; k < 30; k+= 1.7)
+ {
+
+ fprintf(f,"{2,2, 1,1, 0,0, 0x%08x,0x%08x, 0x%08x, 0x%08x},\n",
+ k,k+4);
+
+ }
+ VECCLOSE(f, name, args);
+ return;
+ }
+ }
+
+ newfunc(name);
+ while (p->line)
+ {
+ double arg1 = thedouble(p->qs[1].msw, p->qs[1].lsw);
+ double arg2 = thedouble(p->qs[2].msw, p->qs[2].lsw);
+
+ double r;
+ double rf;
+
+ errno = 0;
+ merror = 0;
+ mname = 0;
+
+
+ line(p->line);
+
+ merror = 0;
+ errno = 123;
+
+ if (strcmp(args,"dd")==0)
+ {
+ typedef double _EXFUN((*pdblfunc),(double));
+
+ /* Double function returning a double */
+
+ result = ((pdblfunc)(func))(arg1);
+
+ finish(f,vector, result, p, args, name);
+ }
+ else if (strcmp(args,"ff")==0)
+ {
+ float arga;
+ double a;
+
+ typedef float _EXFUN((*pdblfunc),(float));
+
+ /* Double function returning a double */
+
+ if (arg1 < FLT_MAX )
+ {
+ arga = arg1;
+ result = ((pdblfunc)(func))(arga);
+ finish(f, vector, result, p,args, name);
+ }
+ }
+ else if (strcmp(args,"ddd")==0)
+ {
+ typedef double _EXFUN((*pdblfunc),(double,double));
+
+ result = ((pdblfunc)(func))(arg1,arg2);
+ finish(f, vector, result, p,args, name);
+ }
+ else if (strcmp(args,"fff")==0)
+ {
+ double a,b;
+
+ float arga;
+ float argb;
+
+ typedef float _EXFUN((*pdblfunc),(float,float));
+
+
+ if (arg1 < FLT_MAX && arg2 < FLT_MAX)
+ {
+ arga = arg1;
+ argb = arg2;
+ result = ((pdblfunc)(func))(arga, argb);
+ finish(f, vector, result, p,args, name);
+ }
+ }
+ else if (strcmp(args,"did")==0)
+ {
+ typedef double _EXFUN((*pdblfunc),(int,double));
+
+ result = ((pdblfunc)(func))((int)arg1,arg2);
+ finish(f, vector, result, p,args, name);
+ }
+ else if (strcmp(args,"fif")==0)
+ {
+ double a,b;
+
+ float arga;
+ float argb;
+
+ typedef float _EXFUN((*pdblfunc),(int,float));
+
+
+ if (arg1 < FLT_MAX && arg2 < FLT_MAX)
+ {
+ arga = arg1;
+ argb = arg2;
+ result = ((pdblfunc)(func))((int)arga, argb);
+ finish(f, vector, result, p,args, name);
+ }
+ }
+
+ p++;
+ }
+ if (vector)
+ {
+ VECCLOSE(f, name, args);
+ }
+}
+
+void
+_DEFUN_VOID(test_math)
+{
+ test_acos(0);
+ test_acosf(0);
+ test_acosh(0);
+ test_acoshf(0);
+ test_asin(0);
+ test_asinf(0);
+ test_asinh(0);
+ test_asinhf(0);
+ test_atan(0);
+ test_atan2(0);
+ test_atan2f(0);
+ test_atanf(0);
+ test_atanh(0);
+ test_atanhf(0);
+ test_ceil(0);
+ test_ceilf(0);
+ test_cos(0);
+ test_cosf(0);
+ test_cosh(0);
+ test_coshf(0);
+ test_erf(0);
+ test_erfc(0);
+ test_erfcf(0);
+ test_erff(0);
+ test_exp(0);
+ test_expf(0);
+ test_fabs(0);
+ test_fabsf(0);
+ test_floor(0);
+ test_floorf(0);
+ test_fmod(0);
+ test_fmodf(0);
+ test_gamma(0);
+ test_gammaf(0);
+ test_hypot(0);
+ test_hypotf(0);
+ test_j0(0);
+ test_j0f(0);
+ test_j1(0);
+ test_j1f(0);
+ test_jn(0);
+ test_jnf(0);
+ test_log(0);
+ test_log10(0);
+ test_log10f(0);
+ test_log1p(0);
+ test_log1pf(0);
+ test_log2(0);
+ test_log2f(0);
+ test_logf(0);
+ test_sin(0);
+ test_sinf(0);
+ test_sinh(0);
+ test_sinhf(0);
+ test_sqrt(0);
+ test_sqrtf(0);
+ test_tan(0);
+ test_tanf(0);
+ test_tanh(0);
+ test_tanhf(0);
+ test_y0(0);
+ test_y0f(0);
+ test_y1(0);
+ test_y1f(0);
+ test_y1f(0);
+ test_ynf(0);
+}
+
+/* These have to be played with to get to compile on machines which
+ don't have the fancy <foo>f entry points
+*/
+
+#if 0
+float _DEFUN(cosf,(a), float a) { return cos((double)a); }
+float _DEFUN(sinf,(a), float a) { return sin((double)a); }
+float _DEFUN(log1pf,(a), float a) { return log1p((double)a); }
+float _DEFUN(tanf,(a), float a) { return tan((double)a); }
+float _DEFUN(ceilf,(a), float a) { return ceil(a); }
+float _DEFUN(floorf,(a), float a) { return floor(a); }
+#endif
+
+/*ndef HAVE_FLOAT*/
+#if 0
+
+float fmodf(a,b) float a,b; { return fmod(a,b); }
+float hypotf(a,b) float a,b; { return hypot(a,b); }
+
+float acosf(a) float a; { return acos(a); }
+float acoshf(a) float a; { return acosh(a); }
+float asinf(a) float a; { return asin(a); }
+float asinhf(a) float a; { return asinh(a); }
+float atanf(a) float a; { return atan(a); }
+float atanhf(a) float a; { return atanh(a); }
+
+float coshf(a) float a; { return cosh(a); }
+float erff(a) float a; { return erf(a); }
+float erfcf(a) float a; { return erfc(a); }
+float expf(a) float a; { return exp(a); }
+float fabsf(a) float a; { return fabs(a); }
+
+float gammaf(a) float a; { return gamma(a); }
+float j0f(a) float a; { return j0(a); }
+float j1f(a) float a; { return j1(a); }
+float log10f(a) float a; { return log10(a); }
+
+float logf(a) float a; { return log(a); }
+
+float sinhf(a) float a; { return sinh(a); }
+float sqrtf(a) float a; { return sqrt(a); }
+
+float tanhf(a) float a; { return tanh(a); }
+float y0f(a) float a; { return y0(a); }
+float y1f(a) float a; { return y1(a); }
+#endif
diff --git a/newlib/libm/test/math2.c b/newlib/libm/test/math2.c
new file mode 100644
index 00000000000..50b53764676
--- /dev/null
+++ b/newlib/libm/test/math2.c
@@ -0,0 +1,232 @@
+
+#include "test.h"
+#include <errno.h>
+
+
+int
+_DEFUN_VOID(randi)
+{
+ static int next;
+ next = (next * 1103515245) + 12345;
+ return ((next >> 16) & 0xffff);
+}
+
+double _DEFUN_VOID(randx)
+{
+ double res;
+
+ do
+ {
+ union {
+ short parts[4];
+ double res;
+ } u;
+
+ u.parts[0] = randi();
+ u.parts[1] = randi();
+ u.parts[2] = randi();
+ u.parts[3] = randi();
+ res = u.res;
+
+ } while (!finite(res));
+
+ return res ;
+}
+
+/* Return a random double, but bias for numbers closer to 0 */
+double _DEFUN_VOID(randy)
+{
+ int pow;
+ double r= randx();
+ r = frexp(r, &pow);
+ return ldexp(r, randi() & 0x1f);
+}
+
+void
+_DEFUN_VOID(test_frexp)
+{
+ int i;
+ double r;
+ int t;
+
+ float xf;
+ double gives;
+
+ int pow;
+
+
+ /* Frexp of x return a and n, where a * 2**n == x, so test this with a
+ set of random numbers */
+ for (t = 0; t < 2; t++)
+ {
+ for (i = 0; i < 1000; i++)
+ {
+
+ double x = randx();
+ line(i);
+ switch (t)
+ {
+ case 0:
+ newfunc("frexp/ldexp");
+ r = frexp(x, &pow);
+ if (r > 1.0 || r < -1.0)
+ {
+ /* Answer can never be > 1 or < 1 */
+ test_iok(0,1);
+ }
+
+ gives = ldexp(r ,pow);
+ test_mok(gives,x,62);
+ break;
+ case 1:
+ newfunc("frexpf/ldexpf");
+ if (x > FLT_MIN && x < FLT_MAX)
+ {
+ /* test floats too, but they have a smaller range so make sure x
+ isn't too big. Also x can get smaller than a float can
+ represent to make sure that doesn't happen too */
+ xf = x;
+ r = frexpf(xf, &pow);
+ if (r > 1.0 || r < -1.0)
+ {
+ /* Answer can never be > 1 or < -1 */
+ test_iok(0,1);
+ }
+
+ gives = ldexpf(r ,pow);
+ test_mok(gives,x, 32);
+
+ }
+ }
+
+ }
+
+ }
+
+ /* test a few numbers manually to make sure frexp/ldexp are not
+ testing as ok because both are broken */
+
+ r = frexp(64.0, &i);
+
+ test_mok(r, 0.5,64);
+ test_iok(i, 7);
+
+ r = frexp(96.0, &i);
+
+ test_mok(r, 0.75, 64);
+ test_iok(i, 7);
+
+}
+
+/* Test mod - this is given a real hammering by the strtod type
+ routines, here are some more tests.
+
+ By definition
+
+ modf = func(value, &iptr)
+
+ (*iptr + modf) == value
+
+ we test this
+
+*/
+void
+_DEFUN_VOID(test_mod)
+{
+ int i;
+
+ newfunc("modf");
+
+
+ for (i = 0; i < 1000; i++)
+ {
+ double intpart;
+ double n;
+ line(i);
+ n = randx();
+ if (finite(n) && n != 0.0 )
+ {
+ double r = modf(n, &intpart);
+ line(i);
+ test_mok(intpart + r, n, 63);
+ }
+
+ }
+ newfunc("modff");
+
+ for (i = 0; i < 1000; i++)
+ {
+ float intpart;
+ double nd;
+ line(i);
+ nd = randx() ;
+ if (nd < FLT_MAX && finitef(nd) && nd != 0.0)
+ {
+ float n = nd;
+ double r = modff(n, &intpart);
+ line(i);
+ test_mok(intpart + r, n, 32);
+ }
+ }
+
+
+}
+
+/*
+Test pow by multiplying logs
+*/
+void
+_DEFUN_VOID(test_pow)
+{
+ unsigned int i;
+ newfunc("pow");
+
+ for (i = 0; i < 1000; i++)
+ {
+ double n1;
+ double n2;
+ double res;
+ double shouldbe;
+
+ line(i);
+ n1 = fabs(randy());
+ n2 = fabs(randy()/100.0);
+ res = pow(n1, n2);
+ shouldbe = exp(log(n1) * n2);
+ test_mok(shouldbe, res,64);
+ }
+
+ newfunc("powf");
+
+ for (i = 0; i < 1000; i++)
+ {
+ double n1;
+ double n2;
+ double res;
+ double shouldbe;
+
+ errno = 0;
+
+ line(i);
+ n1 = fabs(randy());
+ n2 = fabs(randy()/100.0);
+ res = powf(n1, n2);
+ shouldbe = expf(logf(n1) * n2);
+ if (!errno)
+ test_mok(shouldbe, res,28);
+ }
+
+
+
+
+}
+
+
+
+void
+_DEFUN_VOID(test_math2)
+{
+ test_mod();
+ test_frexp();
+ test_pow();
+}
diff --git a/newlib/libm/test/sin_vec.c b/newlib/libm/test/sin_vec.c
new file mode 100644
index 00000000000..5e95f283de0
--- /dev/null
+++ b/newlib/libm/test/sin_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type sin_vec[] = {
+{62, 0,123,__LINE__, 0xbfedd343, 0xa21a55c6, 0xbff33333, 0x33333333}, /* -0.93203=f(-1.20000)*/
+{64, 0,123,__LINE__, 0xbfedb532, 0xd61e9b5d, 0xbff30a3d, 0x70a3d70a}, /* -0.92836=f(-1.19000)*/
+{64, 0,123,__LINE__, 0xbfed965f, 0x591f4700, 0xbff2e147, 0xae147ae1}, /* -0.92460=f(-1.18000)*/
+{61, 0,123,__LINE__, 0xbfed76c9, 0xf52192ac, 0xbff2b851, 0xeb851eb8}, /* -0.92075=f(-1.17000)*/
+{64, 0,123,__LINE__, 0xbfed5673, 0x792177c4, 0xbff28f5c, 0x28f5c28f}, /* -0.91680=f(-1.16000)*/
+{64, 0,123,__LINE__, 0xbfed355c, 0xb90c629a, 0xbff26666, 0x66666666}, /* -0.91276=f(-1.15000)*/
+{64, 0,123,__LINE__, 0xbfed1386, 0x8dbbc584, 0xbff23d70, 0xa3d70a3d}, /* -0.90863=f(-1.14000)*/
+{64, 0,123,__LINE__, 0xbfecf0f1, 0xd4ef8bcd, 0xbff2147a, 0xe147ae14}, /* -0.90441=f(-1.13000)*/
+{64, 0,123,__LINE__, 0xbfeccd9f, 0x71486c5e, 0xbff1eb85, 0x1eb851eb}, /* -0.90010=f(-1.12000)*/
+{64, 0,123,__LINE__, 0xbfeca990, 0x4a421c91, 0xbff1c28f, 0x5c28f5c2}, /* -0.89569=f(-1.11000)*/
+{64, 0,123,__LINE__, 0xbfec84c5, 0x4c2d6336, 0xbff19999, 0x99999999}, /* -0.89120=f(-1.10000)*/
+{64, 0,123,__LINE__, 0xbfec5f3f, 0x682a0bc6, 0xbff170a3, 0xd70a3d70}, /* -0.88662=f(-1.09000)*/
+{64, 0,123,__LINE__, 0xbfec38ff, 0x9420ba3b, 0xbff147ae, 0x147ae147}, /* -0.88195=f(-1.08000)*/
+{64, 0,123,__LINE__, 0xbfec1206, 0xcabc9f78, 0xbff11eb8, 0x51eb851e}, /* -0.87720=f(-1.07000)*/
+{64, 0,123,__LINE__, 0xbfebea56, 0x0b650e81, 0xbff0f5c2, 0x8f5c28f5}, /* -0.87235=f(-1.06000)*/
+{64, 0,123,__LINE__, 0xbfebc1ee, 0x5a36f2c0, 0xbff0cccc, 0xcccccccc}, /* -0.86742=f(-1.05000)*/
+{64, 0,123,__LINE__, 0xbfeb98d0, 0xbffe273f, 0xbff0a3d7, 0x0a3d70a3}, /* -0.86240=f(-1.04000)*/
+{64, 0,123,__LINE__, 0xbfeb6efe, 0x4a2eaf5f, 0xbff07ae1, 0x47ae147a}, /* -0.85729=f(-1.03000)*/
+{64, 0,123,__LINE__, 0xbfeb4478, 0x0addd100, 0xbff051eb, 0x851eb851}, /* -0.85210=f(-1.02000)*/
+{64, 0,123,__LINE__, 0xbfeb193f, 0x18bb1035, 0xbff028f5, 0xc28f5c28}, /* -0.84683=f(-1.01000)*/
+{64, 0,123,__LINE__, 0xbfeaed54, 0x8f090cee, 0xbfefffff, 0xfffffffe}, /* -0.84147=f(-0.01000)*/
+{64, 0,123,__LINE__, 0xbfeac0b9, 0x8d96429e, 0xbfefae14, 0x7ae147ac}, /* -0.83602=f(-0.99000)*/
+{64, 0,123,__LINE__, 0xbfea936f, 0x38b5aa0b, 0xbfef5c28, 0xf5c28f5a}, /* -0.83049=f(-0.98000)*/
+{64, 0,123,__LINE__, 0xbfea6576, 0xb9373da2, 0xbfef0a3d, 0x70a3d708}, /* -0.82488=f(-0.97000)*/
+{64, 0,123,__LINE__, 0xbfea36d1, 0x3c606028, 0xbfeeb851, 0xeb851eb6}, /* -0.81919=f(-0.96000)*/
+{64, 0,123,__LINE__, 0xbfea077f, 0xf3e4266b, 0xbfee6666, 0x66666664}, /* -0.81341=f(-0.95000)*/
+{64, 0,123,__LINE__, 0xbfe9d784, 0x15db83e2, 0xbfee147a, 0xe147ae12}, /* -0.80755=f(-0.94000)*/
+{64, 0,123,__LINE__, 0xbfe9a6de, 0xdcbd5a52, 0xbfedc28f, 0x5c28f5c0}, /* -0.80161=f(-0.93000)*/
+{64, 0,123,__LINE__, 0xbfe97591, 0x87566d0a, 0xbfed70a3, 0xd70a3d6e}, /* -0.79560=f(-0.92000)*/
+{64, 0,123,__LINE__, 0xbfe9439d, 0x58c13794, 0xbfed1eb8, 0x51eb851c}, /* -0.78950=f(-0.91000)*/
+{64, 0,123,__LINE__, 0xbfe91103, 0x985da83e, 0xbfeccccc, 0xccccccca}, /* -0.78332=f(-0.90000)*/
+{64, 0,123,__LINE__, 0xbfe8ddc5, 0x91c8beae, 0xbfec7ae1, 0x47ae1478}, /* -0.77707=f(-0.89000)*/
+{64, 0,123,__LINE__, 0xbfe8a9e4, 0x94d40e8f, 0xbfec28f5, 0xc28f5c26}, /* -0.77073=f(-0.88000)*/
+{64, 0,123,__LINE__, 0xbfe87561, 0xf57d26cb, 0xbfebd70a, 0x3d70a3d4}, /* -0.76432=f(-0.87000)*/
+{64, 0,123,__LINE__, 0xbfe8403f, 0x0be4dd7b, 0xbfeb851e, 0xb851eb82}, /* -0.75784=f(-0.86000)*/
+{64, 0,123,__LINE__, 0xbfe80a7d, 0x34468081, 0xbfeb3333, 0x33333330}, /* -0.75128=f(-0.85000)*/
+{64, 0,123,__LINE__, 0xbfe7d41d, 0xceeeeb7a, 0xbfeae147, 0xae147ade}, /* -0.74464=f(-0.84000)*/
+{64, 0,123,__LINE__, 0xbfe79d22, 0x403382e7, 0xbfea8f5c, 0x28f5c28c}, /* -0.73793=f(-0.83000)*/
+{64, 0,123,__LINE__, 0xbfe7658b, 0xf06914e5, 0xbfea3d70, 0xa3d70a3a}, /* -0.73114=f(-0.82000)*/
+{64, 0,123,__LINE__, 0xbfe72d5c, 0x4bda9fd4, 0xbfe9eb85, 0x1eb851e8}, /* -0.72428=f(-0.81000)*/
+{64, 0,123,__LINE__, 0xbfe6f494, 0xc2bffecc, 0xbfe99999, 0x99999996}, /* -0.71735=f(-0.80000)*/
+{64, 0,123,__LINE__, 0xbfe6bb36, 0xc9347c88, 0xbfe947ae, 0x147ae144}, /* -0.71035=f(-0.79000)*/
+{64, 0,123,__LINE__, 0xbfe68143, 0xd72d4ce0, 0xbfe8f5c2, 0x8f5c28f2}, /* -0.70327=f(-0.78000)*/
+{64, 0,123,__LINE__, 0xbfe646bd, 0x686fecc4, 0xbfe8a3d7, 0x0a3d70a0}, /* -0.69613=f(-0.77000)*/
+{64, 0,123,__LINE__, 0xbfe60ba4, 0xfc88697c, 0xbfe851eb, 0x851eb84e}, /* -0.68892=f(-0.76000)*/
+{64, 0,123,__LINE__, 0xbfe5cffc, 0x16bf8f0d, 0xbfe7ffff, 0xfffffffc}, /* -0.68163=f(-0.75000)*/
+{64, 0,123,__LINE__, 0xbfe593c4, 0x3e10fe1c, 0xbfe7ae14, 0x7ae147aa}, /* -0.67428=f(-0.74000)*/
+{64, 0,123,__LINE__, 0xbfe556fe, 0xfd2129ae, 0xbfe75c28, 0xf5c28f58}, /* -0.66686=f(-0.73000)*/
+{64, 0,123,__LINE__, 0xbfe519ad, 0xe2333cbd, 0xbfe70a3d, 0x70a3d706}, /* -0.65938=f(-0.72000)*/
+{64, 0,123,__LINE__, 0xbfe4dbd2, 0x7f1ee83d, 0xbfe6b851, 0xeb851eb4}, /* -0.65183=f(-0.71000)*/
+{64, 0,123,__LINE__, 0xbfe49d6e, 0x694619b3, 0xbfe66666, 0x66666662}, /* -0.64421=f(-0.70000)*/
+{64, 0,123,__LINE__, 0xbfe45e83, 0x398a9a5d, 0xbfe6147a, 0xe147ae10}, /* -0.63653=f(-0.69000)*/
+{64, 0,123,__LINE__, 0xbfe41f12, 0x8c4397aa, 0xbfe5c28f, 0x5c28f5be}, /* -0.62879=f(-0.68000)*/
+{64, 0,123,__LINE__, 0xbfe3df1e, 0x013314eb, 0xbfe570a3, 0xd70a3d6c}, /* -0.62098=f(-0.67000)*/
+{64, 0,123,__LINE__, 0xbfe39ea7, 0x3b7b469b, 0xbfe51eb8, 0x51eb851a}, /* -0.61311=f(-0.66000)*/
+{64, 0,123,__LINE__, 0xbfe35daf, 0xe193d7a7, 0xbfe4cccc, 0xccccccc8}, /* -0.60518=f(-0.65000)*/
+{64, 0,123,__LINE__, 0xbfe31c39, 0x9d3f18a5, 0xbfe47ae1, 0x47ae1476}, /* -0.59719=f(-0.64000)*/
+{64, 0,123,__LINE__, 0xbfe2da46, 0x1b7f19a5, 0xbfe428f5, 0xc28f5c24}, /* -0.58914=f(-0.63000)*/
+{64, 0,123,__LINE__, 0xbfe297d7, 0x0c8aaec1, 0xbfe3d70a, 0x3d70a3d2}, /* -0.58103=f(-0.62000)*/
+{64, 0,123,__LINE__, 0xbfe254ee, 0x23c25f70, 0xbfe3851e, 0xb851eb80}, /* -0.57286=f(-0.61000)*/
+{64, 0,123,__LINE__, 0xbfe2118d, 0x17a54156, 0xbfe33333, 0x3333332e}, /* -0.56464=f(-0.60000)*/
+{64, 0,123,__LINE__, 0xbfe1cdb5, 0xa1c5be91, 0xbfe2e147, 0xae147adc}, /* -0.55636=f(-0.59000)*/
+{64, 0,123,__LINE__, 0xbfe18969, 0x7ebe47ce, 0xbfe28f5c, 0x28f5c28a}, /* -0.54802=f(-0.58000)*/
+{64, 0,123,__LINE__, 0xbfe144aa, 0x6e25f2ae, 0xbfe23d70, 0xa3d70a38}, /* -0.53963=f(-0.57000)*/
+{64, 0,123,__LINE__, 0xbfe0ff7a, 0x3285044f, 0xbfe1eb85, 0x1eb851e6}, /* -0.53118=f(-0.56000)*/
+{64, 0,123,__LINE__, 0xbfe0b9da, 0x914968cb, 0xbfe19999, 0x99999994}, /* -0.52268=f(-0.55000)*/
+{64, 0,123,__LINE__, 0xbfe073cd, 0x52bb17bb, 0xbfe147ae, 0x147ae142}, /* -0.51413=f(-0.54000)*/
+{64, 0,123,__LINE__, 0xbfe02d54, 0x41f065c8, 0xbfe0f5c2, 0x8f5c28f0}, /* -0.50553=f(-0.53000)*/
+{64, 0,123,__LINE__, 0xbfdfcce2, 0x5984884f, 0xbfe0a3d7, 0x0a3d709e}, /* -0.49688=f(-0.52000)*/
+{64, 0,123,__LINE__, 0xbfdf3e4b, 0xc780dba0, 0xbfe051eb, 0x851eb84c}, /* -0.48817=f(-0.51000)*/
+{64, 0,123,__LINE__, 0xbfdeaee8, 0x744b05e2, 0xbfdfffff, 0xfffffff4}, /* -0.47942=f(-0.50000)*/
+{64, 0,123,__LINE__, 0xbfde1ebc, 0x0b962615, 0xbfdf5c28, 0xf5c28f50}, /* -0.47062=f(-0.49000)*/
+{64, 0,123,__LINE__, 0xbfdd8dca, 0x3e3b2b2d, 0xbfdeb851, 0xeb851eac}, /* -0.46177=f(-0.48000)*/
+{64, 0,123,__LINE__, 0xbfdcfc16, 0xc220a41e, 0xbfde147a, 0xe147ae08}, /* -0.45288=f(-0.47000)*/
+{64, 0,123,__LINE__, 0xbfdc69a5, 0x52226ed1, 0xbfdd70a3, 0xd70a3d64}, /* -0.44394=f(-0.46000)*/
+{64, 0,123,__LINE__, 0xbfdbd679, 0xadf94619, 0xbfdccccc, 0xccccccc0}, /* -0.43496=f(-0.45000)*/
+{64, 0,123,__LINE__, 0xbfdb4297, 0x9a223059, 0xbfdc28f5, 0xc28f5c1c}, /* -0.42593=f(-0.44000)*/
+{64, 0,123,__LINE__, 0xbfdaae02, 0xdfc5cea0, 0xbfdb851e, 0xb851eb78}, /* -0.41687=f(-0.43000)*/
+{64, 0,123,__LINE__, 0xbfda18bf, 0x4c9f8d34, 0xbfdae147, 0xae147ad4}, /* -0.40776=f(-0.42000)*/
+{64, 0,123,__LINE__, 0xbfd982d0, 0xb2e4b65f, 0xbfda3d70, 0xa3d70a30}, /* -0.39860=f(-0.41000)*/
+{64, 0,123,__LINE__, 0xbfd8ec3a, 0xe92b6762, 0xbfd99999, 0x9999998c}, /* -0.38941=f(-0.40000)*/
+{64, 0,123,__LINE__, 0xbfd85501, 0xca516931, 0xbfd8f5c2, 0x8f5c28e8}, /* -0.38018=f(-0.39000)*/
+{64, 0,123,__LINE__, 0xbfd7bd29, 0x3562ed28, 0xbfd851eb, 0x851eb844}, /* -0.37092=f(-0.38000)*/
+{64, 0,123,__LINE__, 0xbfd724b5, 0x0d812dd2, 0xbfd7ae14, 0x7ae147a0}, /* -0.36161=f(-0.37000)*/
+{64, 0,123,__LINE__, 0xbfd68ba9, 0x39c8f580, 0xbfd70a3d, 0x70a3d6fc}, /* -0.35227=f(-0.36000)*/
+{64, 0,123,__LINE__, 0xbfd5f209, 0xa5390a85, 0xbfd66666, 0x66666658}, /* -0.34289=f(-0.35000)*/
+{64, 0,123,__LINE__, 0xbfd557da, 0x3e9881f6, 0xbfd5c28f, 0x5c28f5b4}, /* -0.33348=f(-0.34000)*/
+{64, 0,123,__LINE__, 0xbfd4bd1e, 0xf85cf9f3, 0xbfd51eb8, 0x51eb8510}, /* -0.32404=f(-0.33000)*/
+{64, 0,123,__LINE__, 0xbfd421db, 0xc890bb30, 0xbfd47ae1, 0x47ae146c}, /* -0.31456=f(-0.32000)*/
+{64, 0,123,__LINE__, 0xbfd38614, 0xa8b8c399, 0xbfd3d70a, 0x3d70a3c8}, /* -0.30505=f(-0.31000)*/
+{64, 0,123,__LINE__, 0xbfd2e9cd, 0x95baba21, 0xbfd33333, 0x33333324}, /* -0.29552=f(-0.30000)*/
+{64, 0,123,__LINE__, 0xbfd24d0a, 0x8fc2cbe7, 0xbfd28f5c, 0x28f5c280}, /* -0.28595=f(-0.29000)*/
+{64, 0,123,__LINE__, 0xbfd1afcf, 0x9a29747e, 0xbfd1eb85, 0x1eb851dc}, /* -0.27635=f(-0.28000)*/
+{64, 0,123,__LINE__, 0xbfd11220, 0xbb59311c, 0xbfd147ae, 0x147ae138}, /* -0.26673=f(-0.27000)*/
+{64, 0,123,__LINE__, 0xbfd07401, 0xfcb41fa9, 0xbfd0a3d7, 0x0a3d7094}, /* -0.25708=f(-0.26000)*/
+{64, 0,123,__LINE__, 0xbfcfaaee, 0xd4f31558, 0xbfcfffff, 0xffffffe0}, /* -0.24740=f(-0.25000)*/
+{64, 0,123,__LINE__, 0xbfce6d0a, 0x2756c3a5, 0xbfceb851, 0xeb851e98}, /* -0.23770=f(-0.24000)*/
+{64, 0,123,__LINE__, 0xbfcd2e5e, 0x13e741e8, 0xbfcd70a3, 0xd70a3d50}, /* -0.22797=f(-0.23000)*/
+{64, 0,123,__LINE__, 0xbfcbeef2, 0xc3134b4f, 0xbfcc28f5, 0xc28f5c08}, /* -0.21822=f(-0.22000)*/
+{64, 0,123,__LINE__, 0xbfcaaed0, 0x622ee727, 0xbfcae147, 0xae147ac0}, /* -0.20845=f(-0.21000)*/
+{64, 0,123,__LINE__, 0xbfc96dff, 0x233dd2a3, 0xbfc99999, 0x99999978}, /* -0.19866=f(-0.20000)*/
+{64, 0,123,__LINE__, 0xbfc82c87, 0x3cbdcb4c, 0xbfc851eb, 0x851eb830}, /* -0.18885=f(-0.19000)*/
+{64, 0,123,__LINE__, 0xbfc6ea70, 0xe970bc1b, 0xbfc70a3d, 0x70a3d6e8}, /* -0.17902=f(-0.18000)*/
+{64, 0,123,__LINE__, 0xbfc5a7c4, 0x6826cf41, 0xbfc5c28f, 0x5c28f5a0}, /* -0.16918=f(-0.17000)*/
+{64, 0,123,__LINE__, 0xbfc46489, 0xfb886414, 0xbfc47ae1, 0x47ae1458}, /* -0.15931=f(-0.16000)*/
+{64, 0,123,__LINE__, 0xbfc320c9, 0xe9dfecf0, 0xbfc33333, 0x33333310}, /* -0.14943=f(-0.15000)*/
+{64, 0,123,__LINE__, 0xbfc1dc8c, 0x7ce3b543, 0xbfc1eb85, 0x1eb851c8}, /* -0.13954=f(-0.14000)*/
+{64, 0,123,__LINE__, 0xbfc097da, 0x017f9018, 0xbfc0a3d7, 0x0a3d7080}, /* -0.12963=f(-0.13000)*/
+{64, 0,123,__LINE__, 0xbfbea575, 0x8f3ce595, 0xbfbeb851, 0xeb851e71}, /* -0.11971=f(-0.12000)*/
+{64, 0,123,__LINE__, 0xbfbc1a6e, 0x43e7f702, 0xbfbc28f5, 0xc28f5be2}, /* -0.10977=f(-0.11000)*/
+{64, 0,123,__LINE__, 0xbfb98eae, 0xcb8bcad3, 0xbfb99999, 0x99999953}, /* -0.09983=f(-0.00100)*/
+{64, 0,123,__LINE__, 0xbfb70247, 0xd56ad96c, 0xbfb70a3d, 0x70a3d6c4}, /* -0.08987=f(-0.09000)*/
+{64, 0,123,__LINE__, 0xbfb4754a, 0x151143db, 0xbfb47ae1, 0x47ae1435}, /* -0.07991=f(-0.08000)*/
+{64, 0,123,__LINE__, 0xbfb1e7c6, 0x41e760d5, 0xbfb1eb85, 0x1eb851a6}, /* -0.06994=f(-0.07000)*/
+{64, 0,123,__LINE__, 0xbfaeb39a, 0x2d885ddf, 0xbfaeb851, 0xeb851e2d}, /* -0.05996=f(-0.06000)*/
+{64, 0,123,__LINE__, 0xbfa996de, 0xa2ff63a2, 0xbfa99999, 0x9999990e}, /* -0.04997=f(-0.05000)*/
+{64, 0,123,__LINE__, 0xbfa4797b, 0x650a7280, 0xbfa47ae1, 0x47ae13ef}, /* -0.03998=f(-0.04000)*/
+{64, 0,123,__LINE__, 0xbf9eb723, 0xf196670e, 0xbf9eb851, 0xeb851da0}, /* -0.02999=f(-0.03000)*/
+{64, 0,123,__LINE__, 0xbf947a87, 0xcda556ec, 0xbf947ae1, 0x47ae1362}, /* -0.01999=f(-0.02000)*/
+{64, 0,123,__LINE__, 0xbf847aca, 0xe915e58c, 0xbf847ae1, 0x47ae1249}, /* -0.00999=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x3cd19000, 0x00000000, 0x3cd19000, 0x00000000}, /* 9.74915e-16=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0x3f847aca, 0xe915ea39, 0x3f847ae1, 0x47ae16ad}, /* 0.00999=f(0.01000)*/
+{64, 0,123,__LINE__, 0x3f947a87, 0xcda55980, 0x3f947ae1, 0x47ae1594}, /* 0.01999=f(0.02000)*/
+{64, 0,123,__LINE__, 0x3f9eb723, 0xf19668e0, 0x3f9eb851, 0xeb851fd2}, /* 0.02999=f(0.03000)*/
+{64, 0,123,__LINE__, 0x3fa4797b, 0x650a7388, 0x3fa47ae1, 0x47ae1508}, /* 0.03998=f(0.04000)*/
+{64, 0,123,__LINE__, 0x3fa996de, 0xa2ff64c9, 0x3fa99999, 0x99999a27}, /* 0.04997=f(0.05000)*/
+{64, 0,123,__LINE__, 0x3faeb39a, 0x2d885f24, 0x3faeb851, 0xeb851f46}, /* 0.05996=f(0.06000)*/
+{64, 0,123,__LINE__, 0x3fb1e7c6, 0x41e76147, 0x3fb1eb85, 0x1eb85232}, /* 0.06994=f(0.07000)*/
+{64, 0,123,__LINE__, 0x3fb4754a, 0x1511445b, 0x3fb47ae1, 0x47ae14c1}, /* 0.07991=f(0.08000)*/
+{64, 0,123,__LINE__, 0x3fb70247, 0xd56ad9fb, 0x3fb70a3d, 0x70a3d750}, /* 0.08987=f(0.09000)*/
+{64, 0,123,__LINE__, 0x3fb98eae, 0xcb8bcb71, 0x3fb99999, 0x999999df}, /* 0.09983=f(0.10000)*/
+{64, 0,123,__LINE__, 0x3fbc1a6e, 0x43e7f76f, 0x3fbc28f5, 0xc28f5c6e}, /* 0.10977=f(0.11000)*/
+{64, 0,123,__LINE__, 0x3fbea575, 0x8f3ce611, 0x3fbeb851, 0xeb851efd}, /* 0.11971=f(0.12000)*/
+{64, 0,123,__LINE__, 0x3fc097da, 0x017f905e, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.12963=f(0.13000)*/
+{64, 0,123,__LINE__, 0x3fc1dc8c, 0x7ce3b591, 0x3fc1eb85, 0x1eb8520e}, /* 0.13954=f(0.14000)*/
+{64, 0,123,__LINE__, 0x3fc320c9, 0xe9dfed45, 0x3fc33333, 0x33333356}, /* 0.14943=f(0.15000)*/
+{64, 0,123,__LINE__, 0x3fc46489, 0xfb886451, 0x3fc47ae1, 0x47ae149e}, /* 0.15931=f(0.16000)*/
+{64, 0,123,__LINE__, 0x3fc5a7c4, 0x6826cf86, 0x3fc5c28f, 0x5c28f5e6}, /* 0.16918=f(0.17000)*/
+{64, 0,123,__LINE__, 0x3fc6ea70, 0xe970bc68, 0x3fc70a3d, 0x70a3d72e}, /* 0.17902=f(0.18000)*/
+{64, 0,123,__LINE__, 0x3fc82c87, 0x3cbdcb81, 0x3fc851eb, 0x851eb876}, /* 0.18885=f(0.19000)*/
+{64, 0,123,__LINE__, 0x3fc96dff, 0x233dd2e0, 0x3fc99999, 0x999999be}, /* 0.19866=f(0.20000)*/
+{64, 0,123,__LINE__, 0x3fcaaed0, 0x622ee76b, 0x3fcae147, 0xae147b06}, /* 0.20845=f(0.21000)*/
+{64, 0,123,__LINE__, 0x3fcbeef2, 0xc3134b9b, 0x3fcc28f5, 0xc28f5c4e}, /* 0.21822=f(0.22000)*/
+{64, 0,123,__LINE__, 0x3fcd2e5e, 0x13e7423c, 0x3fcd70a3, 0xd70a3d96}, /* 0.22797=f(0.23000)*/
+{64, 0,123,__LINE__, 0x3fce6d0a, 0x2756c3e1, 0x3fceb851, 0xeb851ede}, /* 0.23770=f(0.24000)*/
+{64, 0,123,__LINE__, 0x3fcfaaee, 0xd4f3159c, 0x3fd00000, 0x00000013}, /* 0.24740=f(0.25000)*/
+{64, 0,123,__LINE__, 0x3fd07401, 0xfcb41fcf, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.25708=f(0.26000)*/
+{64, 0,123,__LINE__, 0x3fd11220, 0xbb593136, 0x3fd147ae, 0x147ae15b}, /* 0.26673=f(0.27000)*/
+{64, 0,123,__LINE__, 0x3fd1afcf, 0x9a29749c, 0x3fd1eb85, 0x1eb851ff}, /* 0.27635=f(0.28000)*/
+{64, 0,123,__LINE__, 0x3fd24d0a, 0x8fc2cc09, 0x3fd28f5c, 0x28f5c2a3}, /* 0.28595=f(0.29000)*/
+{64, 0,123,__LINE__, 0x3fd2e9cd, 0x95baba46, 0x3fd33333, 0x33333347}, /* 0.29552=f(0.30000)*/
+{64, 0,123,__LINE__, 0x3fd38614, 0xa8b8c3c2, 0x3fd3d70a, 0x3d70a3eb}, /* 0.30505=f(0.31000)*/
+{64, 0,123,__LINE__, 0x3fd421db, 0xc890bb4d, 0x3fd47ae1, 0x47ae148f}, /* 0.31456=f(0.32000)*/
+{64, 0,123,__LINE__, 0x3fd4bd1e, 0xf85cfa14, 0x3fd51eb8, 0x51eb8533}, /* 0.32404=f(0.33000)*/
+{64, 0,123,__LINE__, 0x3fd557da, 0x3e98821b, 0x3fd5c28f, 0x5c28f5d7}, /* 0.33348=f(0.34000)*/
+{64, 0,123,__LINE__, 0x3fd5f209, 0xa5390a9e, 0x3fd66666, 0x6666667b}, /* 0.34289=f(0.35000)*/
+{64, 0,123,__LINE__, 0x3fd68ba9, 0x39c8f59d, 0x3fd70a3d, 0x70a3d71f}, /* 0.35227=f(0.36000)*/
+{64, 0,123,__LINE__, 0x3fd724b5, 0x0d812df2, 0x3fd7ae14, 0x7ae147c3}, /* 0.36161=f(0.37000)*/
+{64, 0,123,__LINE__, 0x3fd7bd29, 0x3562ed4c, 0x3fd851eb, 0x851eb867}, /* 0.37092=f(0.38000)*/
+{64, 0,123,__LINE__, 0x3fd85501, 0xca516959, 0x3fd8f5c2, 0x8f5c290b}, /* 0.38018=f(0.39000)*/
+{64, 0,123,__LINE__, 0x3fd8ec3a, 0xe92b677e, 0x3fd99999, 0x999999af}, /* 0.38941=f(0.40000)*/
+{64, 0,123,__LINE__, 0x3fd982d0, 0xb2e4b67f, 0x3fda3d70, 0xa3d70a53}, /* 0.39860=f(0.41000)*/
+{64, 0,123,__LINE__, 0x3fda18bf, 0x4c9f8d58, 0x3fdae147, 0xae147af7}, /* 0.40776=f(0.42000)*/
+{64, 0,123,__LINE__, 0x3fdaae02, 0xdfc5ceb9, 0x3fdb851e, 0xb851eb9b}, /* 0.41687=f(0.43000)*/
+{64, 0,123,__LINE__, 0x3fdb4297, 0x9a223075, 0x3fdc28f5, 0xc28f5c3f}, /* 0.42593=f(0.44000)*/
+{64, 0,123,__LINE__, 0x3fdbd679, 0xadf94639, 0x3fdccccc, 0xcccccce3}, /* 0.43496=f(0.45000)*/
+{64, 0,123,__LINE__, 0x3fdc69a5, 0x52226ef4, 0x3fdd70a3, 0xd70a3d87}, /* 0.44394=f(0.46000)*/
+{64, 0,123,__LINE__, 0x3fdcfc16, 0xc220a444, 0x3fde147a, 0xe147ae2b}, /* 0.45288=f(0.47000)*/
+{64, 0,123,__LINE__, 0x3fdd8dca, 0x3e3b2b49, 0x3fdeb851, 0xeb851ecf}, /* 0.46177=f(0.48000)*/
+{64, 0,123,__LINE__, 0x3fde1ebc, 0x0b962634, 0x3fdf5c28, 0xf5c28f73}, /* 0.47062=f(0.49000)*/
+{64, 0,123,__LINE__, 0x3fdeaee8, 0x744b0603, 0x3fe00000, 0x0000000b}, /* 0.47942=f(0.50000)*/
+{64, 0,123,__LINE__, 0x3fdf3e4b, 0xc780dbb7, 0x3fe051eb, 0x851eb85d}, /* 0.48817=f(0.51000)*/
+{64, 0,123,__LINE__, 0x3fdfcce2, 0x59848869, 0x3fe0a3d7, 0x0a3d70af}, /* 0.49688=f(0.52000)*/
+{64, 0,123,__LINE__, 0x3fe02d54, 0x41f065d7, 0x3fe0f5c2, 0x8f5c2901}, /* 0.50553=f(0.53000)*/
+{64, 0,123,__LINE__, 0x3fe073cd, 0x52bb17cb, 0x3fe147ae, 0x147ae153}, /* 0.51413=f(0.54000)*/
+{64, 0,123,__LINE__, 0x3fe0b9da, 0x914968dd, 0x3fe19999, 0x999999a5}, /* 0.52268=f(0.55000)*/
+{64, 0,123,__LINE__, 0x3fe0ff7a, 0x3285045c, 0x3fe1eb85, 0x1eb851f7}, /* 0.53118=f(0.56000)*/
+{64, 0,123,__LINE__, 0x3fe144aa, 0x6e25f2bc, 0x3fe23d70, 0xa3d70a49}, /* 0.53963=f(0.57000)*/
+{64, 0,123,__LINE__, 0x3fe18969, 0x7ebe47de, 0x3fe28f5c, 0x28f5c29b}, /* 0.54802=f(0.58000)*/
+{64, 0,123,__LINE__, 0x3fe1cdb5, 0xa1c5be9c, 0x3fe2e147, 0xae147aed}, /* 0.55636=f(0.59000)*/
+{64, 0,123,__LINE__, 0x3fe2118d, 0x17a54163, 0x3fe33333, 0x3333333f}, /* 0.56464=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3fe254ee, 0x23c25f7e, 0x3fe3851e, 0xb851eb91}, /* 0.57286=f(0.61000)*/
+{64, 0,123,__LINE__, 0x3fe297d7, 0x0c8aaed1, 0x3fe3d70a, 0x3d70a3e3}, /* 0.58103=f(0.62000)*/
+{64, 0,123,__LINE__, 0x3fe2da46, 0x1b7f19b6, 0x3fe428f5, 0xc28f5c35}, /* 0.58914=f(0.63000)*/
+{64, 0,123,__LINE__, 0x3fe31c39, 0x9d3f18b1, 0x3fe47ae1, 0x47ae1487}, /* 0.59719=f(0.64000)*/
+{64, 0,123,__LINE__, 0x3fe35daf, 0xe193d7b5, 0x3fe4cccc, 0xccccccd9}, /* 0.60518=f(0.65000)*/
+{64, 0,123,__LINE__, 0x3fe39ea7, 0x3b7b46aa, 0x3fe51eb8, 0x51eb852b}, /* 0.61311=f(0.66000)*/
+{64, 0,123,__LINE__, 0x3fe3df1e, 0x013314f5, 0x3fe570a3, 0xd70a3d7d}, /* 0.62098=f(0.67000)*/
+{64, 0,123,__LINE__, 0x3fe41f12, 0x8c4397b6, 0x3fe5c28f, 0x5c28f5cf}, /* 0.62879=f(0.68000)*/
+{64, 0,123,__LINE__, 0x3fe45e83, 0x398a9a6a, 0x3fe6147a, 0xe147ae21}, /* 0.63653=f(0.69000)*/
+{64, 0,123,__LINE__, 0x3fe49d6e, 0x694619c2, 0x3fe66666, 0x66666673}, /* 0.64421=f(0.70000)*/
+{64, 0,123,__LINE__, 0x3fe4dbd2, 0x7f1ee84d, 0x3fe6b851, 0xeb851ec5}, /* 0.65183=f(0.71000)*/
+{64, 0,123,__LINE__, 0x3fe519ad, 0xe2333cc8, 0x3fe70a3d, 0x70a3d717}, /* 0.65938=f(0.72000)*/
+{64, 0,123,__LINE__, 0x3fe556fe, 0xfd2129ba, 0x3fe75c28, 0xf5c28f69}, /* 0.66686=f(0.73000)*/
+{64, 0,123,__LINE__, 0x3fe593c4, 0x3e10fe2a, 0x3fe7ae14, 0x7ae147bb}, /* 0.67428=f(0.74000)*/
+{64, 0,123,__LINE__, 0x3fe5cffc, 0x16bf8f17, 0x3fe80000, 0x0000000d}, /* 0.68163=f(0.75000)*/
+{64, 0,123,__LINE__, 0x3fe60ba4, 0xfc886987, 0x3fe851eb, 0x851eb85f}, /* 0.68892=f(0.76000)*/
+{64, 0,123,__LINE__, 0x3fe646bd, 0x686fecd0, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.69613=f(0.77000)*/
+{64, 0,123,__LINE__, 0x3fe68143, 0xd72d4cee, 0x3fe8f5c2, 0x8f5c2903}, /* 0.70327=f(0.78000)*/
+{64, 0,123,__LINE__, 0x3fe6bb36, 0xc9347c97, 0x3fe947ae, 0x147ae155}, /* 0.71035=f(0.79000)*/
+{64, 0,123,__LINE__, 0x3fe6f494, 0xc2bffed6, 0x3fe99999, 0x999999a7}, /* 0.71735=f(0.80000)*/
+{64, 0,123,__LINE__, 0x3fe72d5c, 0x4bda9fe0, 0x3fe9eb85, 0x1eb851f9}, /* 0.72428=f(0.81000)*/
+{64, 0,123,__LINE__, 0x3fe7658b, 0xf06914f2, 0x3fea3d70, 0xa3d70a4b}, /* 0.73114=f(0.82000)*/
+{64, 0,123,__LINE__, 0x3fe79d22, 0x403382f0, 0x3fea8f5c, 0x28f5c29d}, /* 0.73793=f(0.83000)*/
+{64, 0,123,__LINE__, 0x3fe7d41d, 0xceeeeb84, 0x3feae147, 0xae147aef}, /* 0.74464=f(0.84000)*/
+{64, 0,123,__LINE__, 0x3fe80a7d, 0x3446808c, 0x3feb3333, 0x33333341}, /* 0.75128=f(0.85000)*/
+{64, 0,123,__LINE__, 0x3fe8403f, 0x0be4dd87, 0x3feb851e, 0xb851eb93}, /* 0.75784=f(0.86000)*/
+{64, 0,123,__LINE__, 0x3fe87561, 0xf57d26d9, 0x3febd70a, 0x3d70a3e5}, /* 0.76432=f(0.87000)*/
+{64, 0,123,__LINE__, 0x3fe8a9e4, 0x94d40e99, 0x3fec28f5, 0xc28f5c37}, /* 0.77073=f(0.88000)*/
+{64, 0,123,__LINE__, 0x3fe8ddc5, 0x91c8beb9, 0x3fec7ae1, 0x47ae1489}, /* 0.77707=f(0.89000)*/
+{64, 0,123,__LINE__, 0x3fe91103, 0x985da84a, 0x3feccccc, 0xccccccdb}, /* 0.78332=f(0.90000)*/
+{64, 0,123,__LINE__, 0x3fe9439d, 0x58c1379c, 0x3fed1eb8, 0x51eb852d}, /* 0.78950=f(0.91000)*/
+{64, 0,123,__LINE__, 0x3fe97591, 0x87566d13, 0x3fed70a3, 0xd70a3d7f}, /* 0.79560=f(0.92000)*/
+{64, 0,123,__LINE__, 0x3fe9a6de, 0xdcbd5a5c, 0x3fedc28f, 0x5c28f5d1}, /* 0.80161=f(0.93000)*/
+{64, 0,123,__LINE__, 0x3fe9d784, 0x15db83ed, 0x3fee147a, 0xe147ae23}, /* 0.80755=f(0.94000)*/
+{64, 0,123,__LINE__, 0x3fea077f, 0xf3e42677, 0x3fee6666, 0x66666675}, /* 0.81341=f(0.95000)*/
+{64, 0,123,__LINE__, 0x3fea36d1, 0x3c606030, 0x3feeb851, 0xeb851ec7}, /* 0.81919=f(0.96000)*/
+{61, 0,123,__LINE__, 0x3fea6576, 0xb9373dac, 0x3fef0a3d, 0x70a3d719}, /* 0.82488=f(0.97000)*/
+{64, 0,123,__LINE__, 0x3fea936f, 0x38b5aa16, 0x3fef5c28, 0xf5c28f6b}, /* 0.83049=f(0.98000)*/
+{64, 0,123,__LINE__, 0x3feac0b9, 0x8d9642a5, 0x3fefae14, 0x7ae147bd}, /* 0.83602=f(0.99000)*/
+{64, 0,123,__LINE__, 0x3feaed54, 0x8f090cf6, 0x3ff00000, 0x00000007}, /* 0.84147=f(1.00000)*/
+{64, 0,123,__LINE__, 0x3feb193f, 0x18bb103e, 0x3ff028f5, 0xc28f5c30}, /* 0.84683=f(1.01000)*/
+{64, 0,123,__LINE__, 0x3feb4478, 0x0addd10a, 0x3ff051eb, 0x851eb859}, /* 0.85210=f(1.02000)*/
+{62, 0,123,__LINE__, 0x3feb6efe, 0x4a2eaf6a, 0x3ff07ae1, 0x47ae1482}, /* 0.85729=f(1.03000)*/
+{64, 0,123,__LINE__, 0x3feb98d0, 0xbffe2746, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.86240=f(1.04000)*/
+{64, 0,123,__LINE__, 0x3febc1ee, 0x5a36f2c7, 0x3ff0cccc, 0xccccccd4}, /* 0.86742=f(1.05000)*/
+{64, 0,123,__LINE__, 0x3febea56, 0x0b650e8a, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.87235=f(1.06000)*/
+{64, 0,123,__LINE__, 0x3fec1206, 0xcabc9f7e, 0x3ff11eb8, 0x51eb8526}, /* 0.87720=f(1.07000)*/
+{64, 0,123,__LINE__, 0x3fec38ff, 0x9420ba42, 0x3ff147ae, 0x147ae14f}, /* 0.88195=f(1.08000)*/
+{64, 0,123,__LINE__, 0x3fec5f3f, 0x682a0bce, 0x3ff170a3, 0xd70a3d78}, /* 0.88662=f(1.09000)*/
+{64, 0,123,__LINE__, 0x3fec84c5, 0x4c2d633e, 0x3ff19999, 0x999999a1}, /* 0.89120=f(1.10000)*/
+{64, 0,123,__LINE__, 0x3feca990, 0x4a421c9a, 0x3ff1c28f, 0x5c28f5ca}, /* 0.89569=f(1.11000)*/
+{64, 0,123,__LINE__, 0x3feccd9f, 0x71486c64, 0x3ff1eb85, 0x1eb851f3}, /* 0.90010=f(1.12000)*/
+{64, 0,123,__LINE__, 0x3fecf0f1, 0xd4ef8bd4, 0x3ff2147a, 0xe147ae1c}, /* 0.90441=f(1.13000)*/
+{64, 0,123,__LINE__, 0x3fed1386, 0x8dbbc58c, 0x3ff23d70, 0xa3d70a45}, /* 0.90863=f(1.14000)*/
+{64, 0,123,__LINE__, 0x3fed355c, 0xb90c629f, 0x3ff26666, 0x6666666e}, /* 0.91276=f(1.15000)*/
+{64, 0,123,__LINE__, 0x3fed5673, 0x792177ca, 0x3ff28f5c, 0x28f5c297}, /* 0.91680=f(1.16000)*/
+{64, 0,123,__LINE__, 0x3fed76c9, 0xf52192b2, 0x3ff2b851, 0xeb851ec0}, /* 0.92075=f(1.17000)*/
+{64, 0,123,__LINE__, 0x3fed965f, 0x591f4707, 0x3ff2e147, 0xae147ae9}, /* 0.92460=f(1.18000)*/
+{64, 0,123,__LINE__, 0x3fedb532, 0xd61e9b64, 0x3ff30a3d, 0x70a3d712}, /* 0.92836=f(1.19000)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0xc01921fb, 0x54442d18}, /* 0.00000=f(-6.28318)*/
+{64, 0,123,__LINE__, 0x3fefffff, 0xffffffff, 0xc012d97c, 0x7f3321d2}, /* 0.01000=f(-4.71238)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0xc00921fb, 0x54442d18}, /* 0.00000=f(-3.14159)*/
+{64, 0,123,__LINE__, 0xbfefffff, 0xffffffff, 0xbff921fb, 0x54442d18}, /* -0.01000=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{64, 0,123,__LINE__, 0x3fefffff, 0xffffffff, 0x3ff921fb, 0x54442d18}, /* 0.01000=f(1.57079)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x400921fb, 0x54442d18}, /* 0.00000=f(3.14159)*/
+{64, 0,123,__LINE__, 0xbfefffff, 0xffffffff, 0x4012d97c, 0x7f3321d2}, /* -0.01000=f(4.71238)*/
+{64, 0,123,__LINE__, 0x3fef9df4, 0x7f1c903a, 0xc03e0000, 0x00000000}, /* 0.98803=f(-30.0000)*/
+{64, 0,123,__LINE__, 0x3f9a477a, 0xe66f277f, 0xc03c4ccc, 0xcccccccd}, /* 0.02566=f(-28.3000)*/
+{64, 0,123,__LINE__, 0xbfefd421, 0x46de2a06, 0xc03a9999, 0x9999999a}, /* -0.99464=f(-26.6000)*/
+{64, 0,123,__LINE__, 0x3fcd85cc, 0x69f5e2a3, 0xc038e666, 0x66666667}, /* 0.23064=f(-24.9000)*/
+{64, 0,123,__LINE__, 0x3feded3d, 0x5814f9bc, 0xc0373333, 0x33333334}, /* 0.93520=f(-23.2000)*/
+{64, 0,123,__LINE__, 0xbfde2f55, 0x5b73afb2, 0xc0358000, 0x00000001}, /* -0.47163=f(-21.5000)*/
+{64, 0,123,__LINE__, 0xbfea099d, 0x8186a0b3, 0xc033cccc, 0xccccccce}, /* -0.81367=f(-19.8000)*/
+{64, 0,123,__LINE__, 0x3fe5cd52, 0x86ac03da, 0xc0321999, 0x9999999b}, /* 0.68131=f(-18.1000)*/
+{64, 0,123,__LINE__, 0x3fe46b5e, 0xb4816485, 0xc0306666, 0x66666668}, /* 0.63810=f(-16.4000)*/
+{64, 0,123,__LINE__, 0xbfeb105b, 0xa88e8b6c, 0xc02d6666, 0x6666666a}, /* -0.84574=f(-14.7000)*/
+{64, 0,123,__LINE__, 0xbfdae404, 0x4881c582, 0xc02a0000, 0x00000004}, /* -0.42016=f(-13.0000)*/
+{64, 0,123,__LINE__, 0x3fee8753, 0x60c2af6c, 0xc0269999, 0x9999999e}, /* 0.95401=f(-11.3000)*/
+{64, 0,123,__LINE__, 0x3fc65057, 0x0815b831, 0xc0233333, 0x33333338}, /* 0.17432=f(-9.60000)*/
+{64, 0,123,__LINE__, 0xbfeff753, 0xd53a5fa6, 0xc01f9999, 0x999999a3}, /* -0.99894=f(-7.90000)*/
+{64, 0,123,__LINE__, 0x3fb54558, 0xdbbecace, 0xc018cccc, 0xccccccd6}, /* 0.08308=f(-6.20000)*/
+{64, 0,123,__LINE__, 0x3fef47ed, 0x3dc7408f, 0xc0120000, 0x00000009}, /* 0.97753=f(-4.50000)*/
+{64, 0,123,__LINE__, 0xbfd57072, 0x235de53e, 0xc0066666, 0x66666678}, /* -0.33498=f(-2.80000)*/
+{64, 0,123,__LINE__, 0xbfec84c5, 0x4c2d6356, 0xbff19999, 0x999999bd}, /* -0.89120=f(-1.10000)*/
+{64, 0,123,__LINE__, 0x3fe2118d, 0x17a5411e, 0x3fe33333, 0x333332ec}, /* 0.56464=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3fe7dcd1, 0x2d582f54, 0x40026666, 0x66666654}, /* 0.74570=f(2.30000)*/
+{64, 0,123,__LINE__, 0xbfe837b9, 0xdddc1e80, 0x400fffff, 0xffffffee}, /* -0.75680=f(4.00000)*/
+{64, 0,123,__LINE__, 0xbfe19f37, 0x497ac7db, 0x4016cccc, 0xccccccc4}, /* -0.55068=f(5.70000)*/
+{64, 0,123,__LINE__, 0x3fecc237, 0x7b0529d7, 0x401d9999, 0x99999991}, /* 0.89870=f(7.40000)*/
+{64, 0,123,__LINE__, 0x3fd46c1b, 0x899fd98a, 0x40223333, 0x3333332f}, /* 0.31909=f(9.10000)*/
+{64, 0,123,__LINE__, 0xbfef63d4, 0x60731b7e, 0x40259999, 0x99999995}, /* -0.98093=f(10.8000)*/
+{64, 0,123,__LINE__, 0xbfb0fa78, 0xcc21d217, 0x4028ffff, 0xfffffffb}, /* -0.06632=f(12.5000)*/
+{64, 0,123,__LINE__, 0x3fefefd5, 0x973e8001, 0x402c6666, 0x66666661}, /* 0.99802=f(14.2000)*/
+{64, 0,123,__LINE__, 0xbfc86e0d, 0xd294df03, 0x402fcccc, 0xccccccc7}, /* -0.19085=f(15.9000)*/
+{64, 0,123,__LINE__, 0xbfee5cef, 0x22f1885d, 0x40319999, 0x99999997}, /* -0.94884=f(17.6000)*/
+{64, 0,123,__LINE__, 0x3fdbdd06, 0xac2737fd, 0x40334ccc, 0xccccccca}, /* 0.43536=f(19.3000)*/
+{64, 0,123,__LINE__, 0x3feac5e2, 0x0bb0d81d, 0x4034ffff, 0xfffffffd}, /* 0.83665=f(21.0000)*/
+{64, 0,123,__LINE__, 0xbfe4d4ae, 0xe6b87cf6, 0x4036b333, 0x33333330}, /* -0.65096=f(22.7000)*/
+{64, 0,123,__LINE__, 0xbfe567b5, 0x914fe670, 0x40386666, 0x66666663}, /* -0.66890=f(24.4000)*/
+{64, 0,123,__LINE__, 0x3fea58be, 0x72fc66fd, 0x403a1999, 0x99999996}, /* 0.82333=f(26.1000)*/
+{64, 0,123,__LINE__, 0x3fdd3b53, 0x753c19f9, 0x403bcccc, 0xccccccc9}, /* 0.45674=f(27.8000)*/
+{64, 0,123,__LINE__, 0xbfee1ced, 0xe66aefee, 0x403d7fff, 0xfffffffc}, /* -0.94103=f(29.5000)*/
+0,};
+test_sin(m) {run_vector_1(m,sin_vec,(char *)(sin),"sin","dd"); }
diff --git a/newlib/libm/test/sinf_vec.c b/newlib/libm/test/sinf_vec.c
new file mode 100644
index 00000000000..32eb8b10107
--- /dev/null
+++ b/newlib/libm/test/sinf_vec.c
@@ -0,0 +1,286 @@
+#include "test.h"
+ one_line_type sinf_vec[] = {
+{31, 0,123,__LINE__, 0xbfedd343, 0xb0aef9e0, 0xbff33333, 0x33333333}, /* -0.93203=f(-1.20000)*/
+{31, 0,123,__LINE__, 0xbfedb532, 0xde4934c0, 0xbff30a3d, 0x70a3d70a}, /* -0.92836=f(-1.19000)*/
+{31, 0,123,__LINE__, 0xbfed965f, 0x4d4b79b0, 0xbff2e147, 0xae147ae1}, /* -0.92460=f(-1.18000)*/
+{31, 0,123,__LINE__, 0xbfed76c9, 0xecfd00f0, 0xbff2b851, 0xeb851eb8}, /* -0.92075=f(-1.17000)*/
+{31, 0,123,__LINE__, 0xbfed5673, 0x708e95c0, 0xbff28f5c, 0x28f5c28f}, /* -0.91680=f(-1.16000)*/
+{31, 0,123,__LINE__, 0xbfed355c, 0xae3d9410, 0xbff26666, 0x66666666}, /* -0.91276=f(-1.15000)*/
+{11, 0,123,__LINE__, 0xbfed1386, 0x898f05a0, 0xbff23d70, 0xa3d70a3d}, /* -0.90863=f(-1.14000)*/
+{11, 0,123,__LINE__, 0xbfecf0f1, 0xd7ca8350, 0xbff2147a, 0xe147ae14}, /* -0.90441=f(-1.13000)*/
+{11, 0,123,__LINE__, 0xbfeccd9f, 0x72b28700, 0xbff1eb85, 0x1eb851eb}, /* -0.90010=f(-1.12000)*/
+{11, 0,123,__LINE__, 0xbfeca990, 0x532842a0, 0xbff1c28f, 0x5c28f5c2}, /* -0.89569=f(-1.11000)*/
+{11, 0,123,__LINE__, 0xbfec84c5, 0x525ed360, 0xbff19999, 0x99999999}, /* -0.89120=f(-1.10000)*/
+{11, 0,123,__LINE__, 0xbfec5f3f, 0x71376ab0, 0xbff170a3, 0xd70a3d70}, /* -0.88662=f(-1.09000)*/
+{11, 0,123,__LINE__, 0xbfec38ff, 0xa2d0aa60, 0xbff147ae, 0x147ae147}, /* -0.88195=f(-1.08000)*/
+{11, 0,123,__LINE__, 0xbfec1206, 0xde7229c0, 0xbff11eb8, 0x51eb851e}, /* -0.87720=f(-1.07000)*/
+{11, 0,123,__LINE__, 0xbfebea55, 0xfbd69100, 0xbff0f5c2, 0x8f5c28f5}, /* -0.87235=f(-1.06000)*/
+{11, 0,123,__LINE__, 0xbfebc1ee, 0x52738ea0, 0xbff0cccc, 0xcccccccc}, /* -0.86742=f(-1.05000)*/
+{11, 0,123,__LINE__, 0xbfeb98d0, 0xb193c800, 0xbff0a3d7, 0x0a3d70a3}, /* -0.86240=f(-1.04000)*/
+{11, 0,123,__LINE__, 0xbfeb6efe, 0x42186dc0, 0xbff07ae1, 0x47ae147a}, /* -0.85729=f(-1.03000)*/
+{11, 0,123,__LINE__, 0xbfeb4478, 0x06f72b40, 0xbff051eb, 0x851eb851}, /* -0.85210=f(-1.02000)*/
+{11, 0,123,__LINE__, 0xbfeb193f, 0x17c982a0, 0xbff028f5, 0xc28f5c28}, /* -0.84683=f(-1.01000)*/
+{13, 0,123,__LINE__, 0xbfeaed54, 0x90000000, 0xbfefffff, 0xfffffffe}, /* -0.84147=f(-0.01000)*/
+{13, 0,123,__LINE__, 0xbfeac0b9, 0x8ee23980, 0xbfefae14, 0x7ae147ac}, /* -0.83602=f(-0.99000)*/
+{13, 0,123,__LINE__, 0xbfea936f, 0x3f65d980, 0xbfef5c28, 0xf5c28f5a}, /* -0.83049=f(-0.98000)*/
+{13, 0,123,__LINE__, 0xbfea6576, 0xc0808a20, 0xbfef0a3d, 0x70a3d708}, /* -0.82488=f(-0.97000)*/
+{13, 0,123,__LINE__, 0xbfea36d1, 0x310cb938, 0xbfeeb851, 0xeb851eb6}, /* -0.81919=f(-0.96000)*/
+{13, 0,123,__LINE__, 0xbfea077f, 0xee1ec208, 0xbfee6666, 0x66666664}, /* -0.81341=f(-0.95000)*/
+{13, 0,123,__LINE__, 0xbfe9d784, 0x1642a610, 0xbfee147a, 0xe147ae12}, /* -0.80755=f(-0.94000)*/
+{13, 0,123,__LINE__, 0xbfe9a6de, 0xdf4f5690, 0xbfedc28f, 0x5c28f5c0}, /* -0.80161=f(-0.93000)*/
+{13, 0,123,__LINE__, 0xbfe97591, 0x8a4ef7c0, 0xbfed70a3, 0xd70a3d6e}, /* -0.79560=f(-0.92000)*/
+{13, 0,123,__LINE__, 0xbfe9439d, 0x63187a70, 0xbfed1eb8, 0x51eb851c}, /* -0.78950=f(-0.91000)*/
+{13, 0,123,__LINE__, 0xbfe91103, 0x8e759800, 0xbfeccccc, 0xccccccca}, /* -0.78332=f(-0.90000)*/
+{13, 0,123,__LINE__, 0xbfe8ddc5, 0x8f9d4eb0, 0xbfec7ae1, 0x47ae1478}, /* -0.77707=f(-0.89000)*/
+{13, 0,123,__LINE__, 0xbfe8a9e4, 0x92e0bad0, 0xbfec28f5, 0xc28f5c26}, /* -0.77073=f(-0.88000)*/
+{14, 0,123,__LINE__, 0xbfe87561, 0xf591ade8, 0xbfebd70a, 0x3d70a3d4}, /* -0.76432=f(-0.87000)*/
+{14, 0,123,__LINE__, 0xbfe8403f, 0x112aef10, 0xbfeb851e, 0xb851eb82}, /* -0.75784=f(-0.86000)*/
+{14, 0,123,__LINE__, 0xbfe80a7d, 0x3f1d07b8, 0xbfeb3333, 0x33333330}, /* -0.75128=f(-0.85000)*/
+{12, 0,123,__LINE__, 0xbfe7d41d, 0xc35bbdac, 0xbfeae147, 0xae147ade}, /* -0.74464=f(-0.84000)*/
+{12, 0,123,__LINE__, 0xbfe79d22, 0x3a3be0b4, 0xbfea8f5c, 0x28f5c28c}, /* -0.73793=f(-0.83000)*/
+{12, 0,123,__LINE__, 0xbfe7658b, 0xee7f0040, 0xbfea3d70, 0xa3d70a3a}, /* -0.73114=f(-0.82000)*/
+{12, 0,123,__LINE__, 0xbfe72d5c, 0x4dc8d870, 0xbfe9eb85, 0x1eb851e8}, /* -0.72428=f(-0.81000)*/
+{12, 0,123,__LINE__, 0xbfe6f494, 0xc5bd2530, 0xbfe99999, 0x99999996}, /* -0.71735=f(-0.80000)*/
+{12, 0,123,__LINE__, 0xbfe6bb36, 0xd0d6ac78, 0xbfe947ae, 0x147ae144}, /* -0.71035=f(-0.79000)*/
+{12, 0,123,__LINE__, 0xbfe68143, 0xcf973f00, 0xbfe8f5c2, 0x8f5c28f2}, /* -0.70327=f(-0.78000)*/
+{12, 0,123,__LINE__, 0xbfe646bd, 0x60246e20, 0xbfe8a3d7, 0x0a3d70a0}, /* -0.69613=f(-0.77000)*/
+{12, 0,123,__LINE__, 0xbfe60ba4, 0xf91e6ca0, 0xbfe851eb, 0x851eb84e}, /* -0.68892=f(-0.76000)*/
+{14, 0,123,__LINE__, 0xbfe5cffc, 0x18000000, 0xbfe7ffff, 0xfffffffc}, /* -0.68163=f(-0.75000)*/
+{14, 0,123,__LINE__, 0xbfe593c4, 0x4095d910, 0xbfe7ae14, 0x7ae147aa}, /* -0.67428=f(-0.74000)*/
+{14, 0,123,__LINE__, 0xbfe556ff, 0x058df020, 0xbfe75c28, 0xf5c28f58}, /* -0.66686=f(-0.73000)*/
+{14, 0,123,__LINE__, 0xbfe519ad, 0xf0a07ac0, 0xbfe70a3d, 0x70a3d706}, /* -0.65938=f(-0.72000)*/
+{14, 0,123,__LINE__, 0xbfe4dbd2, 0x770615a0, 0xbfe6b851, 0xeb851eb4}, /* -0.65183=f(-0.71000)*/
+{14, 0,123,__LINE__, 0xbfe49d6e, 0x634f5ccc, 0xbfe66666, 0x66666662}, /* -0.64421=f(-0.70000)*/
+{14, 0,123,__LINE__, 0xbfe45e83, 0x390f2640, 0xbfe6147a, 0xe147ae10}, /* -0.63653=f(-0.69000)*/
+{15, 0,123,__LINE__, 0xbfe41f12, 0x8df369ac, 0xbfe5c28f, 0x5c28f5be}, /* -0.62879=f(-0.68000)*/
+{13, 0,123,__LINE__, 0xbfe3df1e, 0x0843b82c, 0xbfe570a3, 0xd70a3d6c}, /* -0.62098=f(-0.67000)*/
+{13, 0,123,__LINE__, 0xbfe39ea7, 0x461eacec, 0xbfe51eb8, 0x51eb851a}, /* -0.61311=f(-0.66000)*/
+{13, 0,123,__LINE__, 0xbfe35daf, 0xd7e1ea68, 0xbfe4cccc, 0xccccccc8}, /* -0.60518=f(-0.65000)*/
+{13, 0,123,__LINE__, 0xbfe31c39, 0x978dbc50, 0xbfe47ae1, 0x47ae1476}, /* -0.59719=f(-0.64000)*/
+{13, 0,123,__LINE__, 0xbfe2da46, 0x185db328, 0xbfe428f5, 0xc28f5c24}, /* -0.58914=f(-0.63000)*/
+{15, 0,123,__LINE__, 0xbfe297d7, 0x0dadda58, 0xbfe3d70a, 0x3d70a3d2}, /* -0.58103=f(-0.62000)*/
+{15, 0,123,__LINE__, 0xbfe254ee, 0x2997adc4, 0xbfe3851e, 0xb851eb80}, /* -0.57286=f(-0.61000)*/
+{15, 0,123,__LINE__, 0xbfe2118d, 0x233ee698, 0xbfe33333, 0x3333332e}, /* -0.56464=f(-0.60000)*/
+{14, 0,123,__LINE__, 0xbfe1cdb5, 0x961530b0, 0xbfe2e147, 0xae147adc}, /* -0.55636=f(-0.59000)*/
+{14, 0,123,__LINE__, 0xbfe18969, 0x782c89a0, 0xbfe28f5c, 0x28f5c28a}, /* -0.54802=f(-0.58000)*/
+{14, 0,123,__LINE__, 0xbfe144aa, 0x6a1ac606, 0xbfe23d70, 0xa3d70a38}, /* -0.53963=f(-0.57000)*/
+{15, 0,123,__LINE__, 0xbfe0ff7a, 0x33c62e08, 0xbfe1eb85, 0x1eb851e6}, /* -0.53118=f(-0.56000)*/
+{15, 0,123,__LINE__, 0xbfe0b9da, 0x9761d676, 0xbfe19999, 0x99999994}, /* -0.52268=f(-0.55000)*/
+{15, 0,123,__LINE__, 0xbfe073cd, 0x5ceda0c6, 0xbfe147ae, 0x147ae142}, /* -0.51413=f(-0.54000)*/
+{16, 0,123,__LINE__, 0xbfe02d54, 0x3472f658, 0xbfe0f5c2, 0x8f5c28f0}, /* -0.50553=f(-0.53000)*/
+{10, 0,123,__LINE__, 0xbfdfcce2, 0x4659bec0, 0xbfe0a3d7, 0x0a3d709e}, /* -0.49688=f(-0.52000)*/
+{10, 0,123,__LINE__, 0xbfdf3e4b, 0xbf702bb0, 0xbfe051eb, 0x851eb84c}, /* -0.48817=f(-0.51000)*/
+{15, 0,123,__LINE__, 0xbfdeaee8, 0x74000000, 0xbfdfffff, 0xfffffff4}, /* -0.47942=f(-0.50000)*/
+{15, 0,123,__LINE__, 0xbfde1ebc, 0x146f6410, 0xbfdf5c28, 0xf5c28f50}, /* -0.47062=f(-0.49000)*/
+{14, 0,123,__LINE__, 0xbfdd8dca, 0x3446fd1e, 0xbfdeb851, 0xeb851eac}, /* -0.46177=f(-0.48000)*/
+{14, 0,123,__LINE__, 0xbfdcfc16, 0xc1ba02f4, 0xbfde147a, 0xe147ae08}, /* -0.45288=f(-0.47000)*/
+{15, 0,123,__LINE__, 0xbfdc69a5, 0x5a913d00, 0xbfdd70a3, 0xd70a3d64}, /* -0.44394=f(-0.46000)*/
+{13, 0,123,__LINE__, 0xbfdbd679, 0xa20713e0, 0xbfdccccc, 0xccccccc0}, /* -0.43496=f(-0.45000)*/
+{13, 0,123,__LINE__, 0xbfdb4297, 0x983de70c, 0xbfdc28f5, 0xc28f5c1c}, /* -0.42593=f(-0.44000)*/
+{15, 0,123,__LINE__, 0xbfdaae02, 0xe739baca, 0xbfdb851e, 0xb851eb78}, /* -0.41687=f(-0.43000)*/
+{16, 0,123,__LINE__, 0xbfda18bf, 0x3fee2934, 0xbfdae147, 0xae147ad4}, /* -0.40776=f(-0.42000)*/
+{14, 0,123,__LINE__, 0xbfd982d0, 0xaefc9748, 0xbfda3d70, 0xa3d70a30}, /* -0.39860=f(-0.41000)*/
+{15, 0,123,__LINE__, 0xbfd8ec3a, 0xee3b0eba, 0xbfd99999, 0x9999998c}, /* -0.38941=f(-0.40000)*/
+{16, 0,123,__LINE__, 0xbfd85501, 0xbcf248f0, 0xbfd8f5c2, 0x8f5c28e8}, /* -0.38018=f(-0.39000)*/
+{12, 0,123,__LINE__, 0xbfd7bd29, 0x305cc1f8, 0xbfd851eb, 0x851eb844}, /* -0.37092=f(-0.38000)*/
+{16, 0,123,__LINE__, 0xbfd724b5, 0x11af1908, 0xbfd7ae14, 0x7ae147a0}, /* -0.36161=f(-0.37000)*/
+{15, 0,123,__LINE__, 0xbfd68ba9, 0x4863ef1c, 0xbfd70a3d, 0x70a3d6fc}, /* -0.35227=f(-0.36000)*/
+{14, 0,123,__LINE__, 0xbfd5f209, 0x9f07a579, 0xbfd66666, 0x66666658}, /* -0.34289=f(-0.35000)*/
+{16, 0,123,__LINE__, 0xbfd557da, 0x420be3a7, 0xbfd5c28f, 0x5c28f5b4}, /* -0.33348=f(-0.34000)*/
+{15, 0,123,__LINE__, 0xbfd4bd1f, 0x05aa7438, 0xbfd51eb8, 0x51eb8510}, /* -0.32404=f(-0.33000)*/
+{17, 0,123,__LINE__, 0xbfd421db, 0xc1691024, 0xbfd47ae1, 0x47ae146c}, /* -0.31456=f(-0.32000)*/
+{17, 0,123,__LINE__, 0xbfd38614, 0xab6112da, 0xbfd3d70a, 0x3d70a3c8}, /* -0.30505=f(-0.31000)*/
+{15, 0,123,__LINE__, 0xbfd2e9cd, 0xa20244ca, 0xbfd33333, 0x33333324}, /* -0.29552=f(-0.30000)*/
+{16, 0,123,__LINE__, 0xbfd24d0a, 0x87533748, 0xbfd28f5c, 0x28f5c280}, /* -0.28595=f(-0.29000)*/
+{17, 0,123,__LINE__, 0xbfd1afcf, 0x9b4da7b2, 0xbfd1eb85, 0x1eb851dc}, /* -0.27635=f(-0.28000)*/
+{17, 0,123,__LINE__, 0xbfd11220, 0xc67b04c1, 0xbfd147ae, 0x147ae138}, /* -0.26673=f(-0.27000)*/
+{16, 0,123,__LINE__, 0xbfd07401, 0xf2b1ea4c, 0xbfd0a3d7, 0x0a3d7094}, /* -0.25708=f(-0.26000)*/
+{17, 0,123,__LINE__, 0xbfcfaaee, 0xd5000000, 0xbfcfffff, 0xffffffe0}, /* -0.24740=f(-0.25000)*/
+{16, 0,123,__LINE__, 0xbfce6d0a, 0x1c1c3aea, 0xbfceb851, 0xeb851e98}, /* -0.23770=f(-0.24000)*/
+{17, 0,123,__LINE__, 0xbfcd2e5e, 0x1c8fab8c, 0xbfcd70a3, 0xd70a3d50}, /* -0.22797=f(-0.23000)*/
+{13, 0,123,__LINE__, 0xbfcbeef2, 0xc0616f0d, 0xbfcc28f5, 0xc28f5c08}, /* -0.21822=f(-0.22000)*/
+{17, 0,123,__LINE__, 0xbfcaaed0, 0x54555088, 0xbfcae147, 0xae147ac0}, /* -0.20845=f(-0.21000)*/
+{16, 0,123,__LINE__, 0xbfc96dff, 0x295b7fc9, 0xbfc99999, 0x99999978}, /* -0.19866=f(-0.20000)*/
+{17, 0,123,__LINE__, 0xbfc82c87, 0x378cfdf0, 0xbfc851eb, 0x851eb830}, /* -0.18885=f(-0.19000)*/
+{15, 0,123,__LINE__, 0xbfc6ea70, 0xf8b799c8, 0xbfc70a3d, 0x70a3d6e8}, /* -0.17902=f(-0.18000)*/
+{17, 0,123,__LINE__, 0xbfc5a7c4, 0x6be43b5b, 0xbfc5c28f, 0x5c28f5a0}, /* -0.16918=f(-0.17000)*/
+{19, 0,123,__LINE__, 0xbfc46489, 0xf3df6afa, 0xbfc47ae1, 0x47ae1458}, /* -0.15931=f(-0.16000)*/
+{19, 0,123,__LINE__, 0xbfc320c9, 0xf69a2036, 0xbfc33333, 0x33333310}, /* -0.14943=f(-0.15000)*/
+{18, 0,123,__LINE__, 0xbfc1dc8c, 0x7e2f9215, 0xbfc1eb85, 0x1eb851c8}, /* -0.13954=f(-0.14000)*/
+{18, 0,123,__LINE__, 0xbfc097d9, 0xf7594c28, 0xbfc0a3d7, 0x0a3d7080}, /* -0.12963=f(-0.13000)*/
+{19, 0,123,__LINE__, 0xbfbea575, 0x83c9a1ff, 0xbfbeb851, 0xeb851e71}, /* -0.11971=f(-0.12000)*/
+{18, 0,123,__LINE__, 0xbfbc1a6e, 0x4150ae4c, 0xbfbc28f5, 0xc28f5be2}, /* -0.10977=f(-0.11000)*/
+{19, 0,123,__LINE__, 0xbfb98eae, 0xd1e3abb3, 0xbfb99999, 0x99999953}, /* -0.09983=f(-0.00100)*/
+{20, 0,123,__LINE__, 0xbfb70247, 0xe4c25fad, 0xbfb70a3d, 0x70a3d6c4}, /* -0.08987=f(-0.09000)*/
+{20, 0,123,__LINE__, 0xbfb4754a, 0x0d687f19, 0xbfb47ae1, 0x47ae1435}, /* -0.07991=f(-0.08000)*/
+{20, 0,123,__LINE__, 0xbfb1e7c6, 0x432c884f, 0xbfb1eb85, 0x1eb851a6}, /* -0.06994=f(-0.07000)*/
+{20, 0,123,__LINE__, 0xbfaeb39a, 0x2206e3a0, 0xbfaeb851, 0xeb851e2d}, /* -0.05996=f(-0.06000)*/
+{20, 0,123,__LINE__, 0xbfa996de, 0xa9628476, 0xbfa99999, 0x9999990e}, /* -0.04997=f(-0.05000)*/
+{16, 0,123,__LINE__, 0xbfa4797b, 0x5d5caf2b, 0xbfa47ae1, 0x47ae13ef}, /* -0.03998=f(-0.04000)*/
+{18, 0,123,__LINE__, 0xbf9eb723, 0xe613009a, 0xbf9eb851, 0xeb851da0}, /* -0.02999=f(-0.03000)*/
+{ 2, 0,123,__LINE__, 0xbf947a87, 0xc5f7cfa2, 0xbf947ae1, 0x47ae1362}, /* -0.01999=f(-0.02000)*/
+{ 2, 0,123,__LINE__, 0xbf847aca, 0xe167df6e, 0xbf847ae1, 0x47ae1249}, /* -0.00999=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x3cd19000, 0x00000000, 0x3cd19000, 0x00000000}, /* 9.74915e-16=f(9.74915e-16)*/
+{26, 0,123,__LINE__, 0x3f847aca, 0xe167df6e, 0x3f847ae1, 0x47ae16ad}, /* 0.00999=f(0.01000)*/
+{25, 0,123,__LINE__, 0x3f947a87, 0xc5f7cfa2, 0x3f947ae1, 0x47ae1594}, /* 0.01999=f(0.02000)*/
+{20, 0,123,__LINE__, 0x3f9eb723, 0xe613009a, 0x3f9eb851, 0xeb851fd2}, /* 0.02999=f(0.03000)*/
+{22, 0,123,__LINE__, 0x3fa4797b, 0x5d5caf2b, 0x3fa47ae1, 0x47ae1508}, /* 0.03998=f(0.04000)*/
+{20, 0,123,__LINE__, 0x3fa996de, 0xa9628476, 0x3fa99999, 0x99999a27}, /* 0.04997=f(0.05000)*/
+{20, 0,123,__LINE__, 0x3faeb39a, 0x2206e3a0, 0x3faeb851, 0xeb851f46}, /* 0.05996=f(0.06000)*/
+{20, 0,123,__LINE__, 0x3fb1e7c6, 0x432c884f, 0x3fb1eb85, 0x1eb85232}, /* 0.06994=f(0.07000)*/
+{20, 0,123,__LINE__, 0x3fb4754a, 0x0d687f19, 0x3fb47ae1, 0x47ae14c1}, /* 0.07991=f(0.08000)*/
+{20, 0,123,__LINE__, 0x3fb70247, 0xe4c25fad, 0x3fb70a3d, 0x70a3d750}, /* 0.08987=f(0.09000)*/
+{19, 0,123,__LINE__, 0x3fb98eae, 0xd1e3abb3, 0x3fb99999, 0x999999df}, /* 0.09983=f(0.10000)*/
+{18, 0,123,__LINE__, 0x3fbc1a6e, 0x4150ae4c, 0x3fbc28f5, 0xc28f5c6e}, /* 0.10977=f(0.11000)*/
+{19, 0,123,__LINE__, 0x3fbea575, 0x83c9a1ff, 0x3fbeb851, 0xeb851efd}, /* 0.11971=f(0.12000)*/
+{18, 0,123,__LINE__, 0x3fc097d9, 0xf7594c28, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.12963=f(0.13000)*/
+{18, 0,123,__LINE__, 0x3fc1dc8c, 0x7e2f9215, 0x3fc1eb85, 0x1eb8520e}, /* 0.13954=f(0.14000)*/
+{19, 0,123,__LINE__, 0x3fc320c9, 0xf69a2036, 0x3fc33333, 0x33333356}, /* 0.14943=f(0.15000)*/
+{19, 0,123,__LINE__, 0x3fc46489, 0xf3df6afa, 0x3fc47ae1, 0x47ae149e}, /* 0.15931=f(0.16000)*/
+{17, 0,123,__LINE__, 0x3fc5a7c4, 0x6be43b5b, 0x3fc5c28f, 0x5c28f5e6}, /* 0.16918=f(0.17000)*/
+{15, 0,123,__LINE__, 0x3fc6ea70, 0xf8b799c8, 0x3fc70a3d, 0x70a3d72e}, /* 0.17902=f(0.18000)*/
+{17, 0,123,__LINE__, 0x3fc82c87, 0x378cfdf0, 0x3fc851eb, 0x851eb876}, /* 0.18885=f(0.19000)*/
+{16, 0,123,__LINE__, 0x3fc96dff, 0x295b7fc9, 0x3fc99999, 0x999999be}, /* 0.19866=f(0.20000)*/
+{17, 0,123,__LINE__, 0x3fcaaed0, 0x54555088, 0x3fcae147, 0xae147b06}, /* 0.20845=f(0.21000)*/
+{13, 0,123,__LINE__, 0x3fcbeef2, 0xc0616f0d, 0x3fcc28f5, 0xc28f5c4e}, /* 0.21822=f(0.22000)*/
+{17, 0,123,__LINE__, 0x3fcd2e5e, 0x1c8fab8c, 0x3fcd70a3, 0xd70a3d96}, /* 0.22797=f(0.23000)*/
+{16, 0,123,__LINE__, 0x3fce6d0a, 0x1c1c3aea, 0x3fceb851, 0xeb851ede}, /* 0.23770=f(0.24000)*/
+{11, 0,123,__LINE__, 0x3fcfaaee, 0xd5000000, 0x3fd00000, 0x00000013}, /* 0.24740=f(0.25000)*/
+{16, 0,123,__LINE__, 0x3fd07401, 0xf2b1ea4c, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.25708=f(0.26000)*/
+{17, 0,123,__LINE__, 0x3fd11220, 0xc67b04c1, 0x3fd147ae, 0x147ae15b}, /* 0.26673=f(0.27000)*/
+{17, 0,123,__LINE__, 0x3fd1afcf, 0x9b4da7b2, 0x3fd1eb85, 0x1eb851ff}, /* 0.27635=f(0.28000)*/
+{16, 0,123,__LINE__, 0x3fd24d0a, 0x87533748, 0x3fd28f5c, 0x28f5c2a3}, /* 0.28595=f(0.29000)*/
+{15, 0,123,__LINE__, 0x3fd2e9cd, 0xa20244ca, 0x3fd33333, 0x33333347}, /* 0.29552=f(0.30000)*/
+{17, 0,123,__LINE__, 0x3fd38614, 0xab6112da, 0x3fd3d70a, 0x3d70a3eb}, /* 0.30505=f(0.31000)*/
+{17, 0,123,__LINE__, 0x3fd421db, 0xc1691024, 0x3fd47ae1, 0x47ae148f}, /* 0.31456=f(0.32000)*/
+{15, 0,123,__LINE__, 0x3fd4bd1f, 0x05aa7438, 0x3fd51eb8, 0x51eb8533}, /* 0.32404=f(0.33000)*/
+{16, 0,123,__LINE__, 0x3fd557da, 0x420be3a7, 0x3fd5c28f, 0x5c28f5d7}, /* 0.33348=f(0.34000)*/
+{14, 0,123,__LINE__, 0x3fd5f209, 0x9f07a579, 0x3fd66666, 0x6666667b}, /* 0.34289=f(0.35000)*/
+{15, 0,123,__LINE__, 0x3fd68ba9, 0x4863ef1c, 0x3fd70a3d, 0x70a3d71f}, /* 0.35227=f(0.36000)*/
+{16, 0,123,__LINE__, 0x3fd724b5, 0x11af1908, 0x3fd7ae14, 0x7ae147c3}, /* 0.36161=f(0.37000)*/
+{12, 0,123,__LINE__, 0x3fd7bd29, 0x305cc1f8, 0x3fd851eb, 0x851eb867}, /* 0.37092=f(0.38000)*/
+{16, 0,123,__LINE__, 0x3fd85501, 0xbcf248f0, 0x3fd8f5c2, 0x8f5c290b}, /* 0.38018=f(0.39000)*/
+{15, 0,123,__LINE__, 0x3fd8ec3a, 0xee3b0eba, 0x3fd99999, 0x999999af}, /* 0.38941=f(0.40000)*/
+{14, 0,123,__LINE__, 0x3fd982d0, 0xaefc9748, 0x3fda3d70, 0xa3d70a53}, /* 0.39860=f(0.41000)*/
+{16, 0,123,__LINE__, 0x3fda18bf, 0x3fee2934, 0x3fdae147, 0xae147af7}, /* 0.40776=f(0.42000)*/
+{15, 0,123,__LINE__, 0x3fdaae02, 0xe739baca, 0x3fdb851e, 0xb851eb9b}, /* 0.41687=f(0.43000)*/
+{13, 0,123,__LINE__, 0x3fdb4297, 0x983de70c, 0x3fdc28f5, 0xc28f5c3f}, /* 0.42593=f(0.44000)*/
+{13, 0,123,__LINE__, 0x3fdbd679, 0xa20713e0, 0x3fdccccc, 0xcccccce3}, /* 0.43496=f(0.45000)*/
+{15, 0,123,__LINE__, 0x3fdc69a5, 0x5a913d00, 0x3fdd70a3, 0xd70a3d87}, /* 0.44394=f(0.46000)*/
+{14, 0,123,__LINE__, 0x3fdcfc16, 0xc1ba02f4, 0x3fde147a, 0xe147ae2b}, /* 0.45288=f(0.47000)*/
+{14, 0,123,__LINE__, 0x3fdd8dca, 0x3446fd1e, 0x3fdeb851, 0xeb851ecf}, /* 0.46177=f(0.48000)*/
+{15, 0,123,__LINE__, 0x3fde1ebc, 0x146f6410, 0x3fdf5c28, 0xf5c28f73}, /* 0.47062=f(0.49000)*/
+{15, 0,123,__LINE__, 0x3fdeaee8, 0x74000000, 0x3fe00000, 0x0000000b}, /* 0.47942=f(0.50000)*/
+{10, 0,123,__LINE__, 0x3fdf3e4b, 0xbf702bb0, 0x3fe051eb, 0x851eb85d}, /* 0.48817=f(0.51000)*/
+{10, 0,123,__LINE__, 0x3fdfcce2, 0x4659bec0, 0x3fe0a3d7, 0x0a3d70af}, /* 0.49688=f(0.52000)*/
+{16, 0,123,__LINE__, 0x3fe02d54, 0x3472f658, 0x3fe0f5c2, 0x8f5c2901}, /* 0.50553=f(0.53000)*/
+{15, 0,123,__LINE__, 0x3fe073cd, 0x5ceda0c6, 0x3fe147ae, 0x147ae153}, /* 0.51413=f(0.54000)*/
+{15, 0,123,__LINE__, 0x3fe0b9da, 0x9761d676, 0x3fe19999, 0x999999a5}, /* 0.52268=f(0.55000)*/
+{15, 0,123,__LINE__, 0x3fe0ff7a, 0x33c62e08, 0x3fe1eb85, 0x1eb851f7}, /* 0.53118=f(0.56000)*/
+{14, 0,123,__LINE__, 0x3fe144aa, 0x6a1ac606, 0x3fe23d70, 0xa3d70a49}, /* 0.53963=f(0.57000)*/
+{14, 0,123,__LINE__, 0x3fe18969, 0x782c89a0, 0x3fe28f5c, 0x28f5c29b}, /* 0.54802=f(0.58000)*/
+{14, 0,123,__LINE__, 0x3fe1cdb5, 0x961530b0, 0x3fe2e147, 0xae147aed}, /* 0.55636=f(0.59000)*/
+{15, 0,123,__LINE__, 0x3fe2118d, 0x233ee698, 0x3fe33333, 0x3333333f}, /* 0.56464=f(0.60000)*/
+{15, 0,123,__LINE__, 0x3fe254ee, 0x2997adc4, 0x3fe3851e, 0xb851eb91}, /* 0.57286=f(0.61000)*/
+{15, 0,123,__LINE__, 0x3fe297d7, 0x0dadda58, 0x3fe3d70a, 0x3d70a3e3}, /* 0.58103=f(0.62000)*/
+{13, 0,123,__LINE__, 0x3fe2da46, 0x185db328, 0x3fe428f5, 0xc28f5c35}, /* 0.58914=f(0.63000)*/
+{13, 0,123,__LINE__, 0x3fe31c39, 0x978dbc50, 0x3fe47ae1, 0x47ae1487}, /* 0.59719=f(0.64000)*/
+{13, 0,123,__LINE__, 0x3fe35daf, 0xd7e1ea68, 0x3fe4cccc, 0xccccccd9}, /* 0.60518=f(0.65000)*/
+{13, 0,123,__LINE__, 0x3fe39ea7, 0x461eacec, 0x3fe51eb8, 0x51eb852b}, /* 0.61311=f(0.66000)*/
+{13, 0,123,__LINE__, 0x3fe3df1e, 0x0843b82c, 0x3fe570a3, 0xd70a3d7d}, /* 0.62098=f(0.67000)*/
+{15, 0,123,__LINE__, 0x3fe41f12, 0x8df369ac, 0x3fe5c28f, 0x5c28f5cf}, /* 0.62879=f(0.68000)*/
+{14, 0,123,__LINE__, 0x3fe45e83, 0x390f2640, 0x3fe6147a, 0xe147ae21}, /* 0.63653=f(0.69000)*/
+{14, 0,123,__LINE__, 0x3fe49d6e, 0x634f5ccc, 0x3fe66666, 0x66666673}, /* 0.64421=f(0.70000)*/
+{14, 0,123,__LINE__, 0x3fe4dbd2, 0x770615a0, 0x3fe6b851, 0xeb851ec5}, /* 0.65183=f(0.71000)*/
+{14, 0,123,__LINE__, 0x3fe519ad, 0xf0a07ac0, 0x3fe70a3d, 0x70a3d717}, /* 0.65938=f(0.72000)*/
+{14, 0,123,__LINE__, 0x3fe556ff, 0x058df020, 0x3fe75c28, 0xf5c28f69}, /* 0.66686=f(0.73000)*/
+{14, 0,123,__LINE__, 0x3fe593c4, 0x4095d910, 0x3fe7ae14, 0x7ae147bb}, /* 0.67428=f(0.74000)*/
+{14, 0,123,__LINE__, 0x3fe5cffc, 0x18000000, 0x3fe80000, 0x0000000d}, /* 0.68163=f(0.75000)*/
+{12, 0,123,__LINE__, 0x3fe60ba4, 0xf91e6ca0, 0x3fe851eb, 0x851eb85f}, /* 0.68892=f(0.76000)*/
+{12, 0,123,__LINE__, 0x3fe646bd, 0x60246e20, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.69613=f(0.77000)*/
+{12, 0,123,__LINE__, 0x3fe68143, 0xcf973f00, 0x3fe8f5c2, 0x8f5c2903}, /* 0.70327=f(0.78000)*/
+{12, 0,123,__LINE__, 0x3fe6bb36, 0xd0d6ac78, 0x3fe947ae, 0x147ae155}, /* 0.71035=f(0.79000)*/
+{12, 0,123,__LINE__, 0x3fe6f494, 0xc5bd2530, 0x3fe99999, 0x999999a7}, /* 0.71735=f(0.80000)*/
+{12, 0,123,__LINE__, 0x3fe72d5c, 0x4dc8d870, 0x3fe9eb85, 0x1eb851f9}, /* 0.72428=f(0.81000)*/
+{12, 0,123,__LINE__, 0x3fe7658b, 0xee7f0040, 0x3fea3d70, 0xa3d70a4b}, /* 0.73114=f(0.82000)*/
+{12, 0,123,__LINE__, 0x3fe79d22, 0x3a3be0b4, 0x3fea8f5c, 0x28f5c29d}, /* 0.73793=f(0.83000)*/
+{12, 0,123,__LINE__, 0x3fe7d41d, 0xc35bbdac, 0x3feae147, 0xae147aef}, /* 0.74464=f(0.84000)*/
+{14, 0,123,__LINE__, 0x3fe80a7d, 0x3f1d07b8, 0x3feb3333, 0x33333341}, /* 0.75128=f(0.85000)*/
+{14, 0,123,__LINE__, 0x3fe8403f, 0x112aef10, 0x3feb851e, 0xb851eb93}, /* 0.75784=f(0.86000)*/
+{14, 0,123,__LINE__, 0x3fe87561, 0xf591ade8, 0x3febd70a, 0x3d70a3e5}, /* 0.76432=f(0.87000)*/
+{13, 0,123,__LINE__, 0x3fe8a9e4, 0x92e0bad0, 0x3fec28f5, 0xc28f5c37}, /* 0.77073=f(0.88000)*/
+{13, 0,123,__LINE__, 0x3fe8ddc5, 0x8f9d4eb0, 0x3fec7ae1, 0x47ae1489}, /* 0.77707=f(0.89000)*/
+{13, 0,123,__LINE__, 0x3fe91103, 0x8e759800, 0x3feccccc, 0xccccccdb}, /* 0.78332=f(0.90000)*/
+{13, 0,123,__LINE__, 0x3fe9439d, 0x63187a70, 0x3fed1eb8, 0x51eb852d}, /* 0.78950=f(0.91000)*/
+{13, 0,123,__LINE__, 0x3fe97591, 0x8a4ef7c0, 0x3fed70a3, 0xd70a3d7f}, /* 0.79560=f(0.92000)*/
+{13, 0,123,__LINE__, 0x3fe9a6de, 0xdf4f5690, 0x3fedc28f, 0x5c28f5d1}, /* 0.80161=f(0.93000)*/
+{13, 0,123,__LINE__, 0x3fe9d784, 0x1642a610, 0x3fee147a, 0xe147ae23}, /* 0.80755=f(0.94000)*/
+{13, 0,123,__LINE__, 0x3fea077f, 0xee1ec208, 0x3fee6666, 0x66666675}, /* 0.81341=f(0.95000)*/
+{13, 0,123,__LINE__, 0x3fea36d1, 0x310cb938, 0x3feeb851, 0xeb851ec7}, /* 0.81919=f(0.96000)*/
+{13, 0,123,__LINE__, 0x3fea6576, 0xc0808a20, 0x3fef0a3d, 0x70a3d719}, /* 0.82488=f(0.97000)*/
+{13, 0,123,__LINE__, 0x3fea936f, 0x3f65d980, 0x3fef5c28, 0xf5c28f6b}, /* 0.83049=f(0.98000)*/
+{13, 0,123,__LINE__, 0x3feac0b9, 0x8ee23980, 0x3fefae14, 0x7ae147bd}, /* 0.83602=f(0.99000)*/
+{13, 0,123,__LINE__, 0x3feaed54, 0x90000000, 0x3ff00000, 0x00000007}, /* 0.84147=f(1.00000)*/
+{11, 0,123,__LINE__, 0x3feb193f, 0x17c982a0, 0x3ff028f5, 0xc28f5c30}, /* 0.84683=f(1.01000)*/
+{11, 0,123,__LINE__, 0x3feb4478, 0x06f72b40, 0x3ff051eb, 0x851eb859}, /* 0.85210=f(1.02000)*/
+{11, 0,123,__LINE__, 0x3feb6efe, 0x42186dc0, 0x3ff07ae1, 0x47ae1482}, /* 0.85729=f(1.03000)*/
+{11, 0,123,__LINE__, 0x3feb98d0, 0xb193c800, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.86240=f(1.04000)*/
+{11, 0,123,__LINE__, 0x3febc1ee, 0x52738ea0, 0x3ff0cccc, 0xccccccd4}, /* 0.86742=f(1.05000)*/
+{11, 0,123,__LINE__, 0x3febea55, 0xfbd69100, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.87235=f(1.06000)*/
+{11, 0,123,__LINE__, 0x3fec1206, 0xde7229c0, 0x3ff11eb8, 0x51eb8526}, /* 0.87720=f(1.07000)*/
+{11, 0,123,__LINE__, 0x3fec38ff, 0xa2d0aa60, 0x3ff147ae, 0x147ae14f}, /* 0.88195=f(1.08000)*/
+{11, 0,123,__LINE__, 0x3fec5f3f, 0x71376ab0, 0x3ff170a3, 0xd70a3d78}, /* 0.88662=f(1.09000)*/
+{11, 0,123,__LINE__, 0x3fec84c5, 0x525ed360, 0x3ff19999, 0x999999a1}, /* 0.89120=f(1.10000)*/
+{11, 0,123,__LINE__, 0x3feca990, 0x532842a0, 0x3ff1c28f, 0x5c28f5ca}, /* 0.89569=f(1.11000)*/
+{11, 0,123,__LINE__, 0x3feccd9f, 0x72b28700, 0x3ff1eb85, 0x1eb851f3}, /* 0.90010=f(1.12000)*/
+{11, 0,123,__LINE__, 0x3fecf0f1, 0xd7ca8350, 0x3ff2147a, 0xe147ae1c}, /* 0.90441=f(1.13000)*/
+{11, 0,123,__LINE__, 0x3fed1386, 0x898f05a0, 0x3ff23d70, 0xa3d70a45}, /* 0.90863=f(1.14000)*/
+{11, 0,123,__LINE__, 0x3fed355c, 0xae3d9410, 0x3ff26666, 0x6666666e}, /* 0.91276=f(1.15000)*/
+{11, 0,123,__LINE__, 0x3fed5673, 0x708e95c0, 0x3ff28f5c, 0x28f5c297}, /* 0.91680=f(1.16000)*/
+{11, 0,123,__LINE__, 0x3fed76c9, 0xecfd00f0, 0x3ff2b851, 0xeb851ec0}, /* 0.92075=f(1.17000)*/
+{11, 0,123,__LINE__, 0x3fed965f, 0x4d4b79b0, 0x3ff2e147, 0xae147ae9}, /* 0.92460=f(1.18000)*/
+{11, 0,123,__LINE__, 0x3fedb532, 0xde4934c0, 0x3ff30a3d, 0x70a3d712}, /* 0.92836=f(1.19000)*/
+{ 0, 0,123,__LINE__, 0x3fefffff, 0xff660711, 0xc012d97c, 0x7f3321d2}, /* 1.00000=f(-4.71238)*/
+{11, 0,123,__LINE__, 0xbfefffff, 0xf488d2e8, 0xbff921fb, 0x54442d18}, /* -1.00000=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{11, 0,123,__LINE__, 0x3fefffff, 0xf488d2e8, 0x3ff921fb, 0x54442d18}, /* 1.00000=f(1.57079)*/
+{ 7, 0,123,__LINE__, 0xbe7777a5, 0xcffffff8, 0x400921fb, 0x54442d18}, /* -8.74228e-08=f(3.14159)*/
+{ 0, 0,123,__LINE__, 0xbfefffff, 0xff660711, 0x4012d97c, 0x7f3321d2}, /* -1.00000=f(4.71238)*/
+{11, 0,123,__LINE__, 0x3fef9df4, 0xb1e4642c, 0xc03e0000, 0x00000000}, /* 0.98803=f(-30.0000)*/
+{ 0, 0,123,__LINE__, 0x3f9a4718, 0xcc369d44, 0xc03c4ccc, 0xcccccccd}, /* 0.02566=f(-28.3000)*/
+{ 0, 0,123,__LINE__, 0xbfefd421, 0x492e7c00, 0xc03a9999, 0x9999999a}, /* -0.99464=f(-26.6000)*/
+{ 0, 0,123,__LINE__, 0x3fcd85d3, 0xcf182eb3, 0xc038e666, 0x66666667}, /* 0.23064=f(-24.9000)*/
+{11, 0,123,__LINE__, 0x3feded3d, 0x8b45e97f, 0xc0373333, 0x33333334}, /* 0.93520=f(-23.2000)*/
+{ 0, 0,123,__LINE__, 0xbfde2f57, 0x4d706576, 0xc0358000, 0x00000001}, /* -0.47163=f(-21.5000)*/
+{11, 0,123,__LINE__, 0xbfea099b, 0xf0641080, 0xc033cccc, 0xccccccce}, /* -0.81367=f(-19.8000)*/
+{11, 0,123,__LINE__, 0x3fe5cd52, 0x799b4b25, 0xc0321999, 0x9999999b}, /* 0.68131=f(-18.1000)*/
+{ 0, 0,123,__LINE__, 0x3fe46b5d, 0x881b4460, 0xc0306666, 0x66666668}, /* 0.63810=f(-16.4000)*/
+{11, 0,123,__LINE__, 0xbfeb105c, 0x3d517bfe, 0xc02d6666, 0x6666666a}, /* -0.84574=f(-14.7000)*/
+{10, 0,123,__LINE__, 0xbfdae402, 0xf37793e0, 0xc02a0000, 0x00000004}, /* -0.42016=f(-13.0000)*/
+{11, 0,123,__LINE__, 0x3fee8753, 0x653e5af1, 0xc0269999, 0x9999999e}, /* 0.95401=f(-11.3000)*/
+{ 0, 0,123,__LINE__, 0x3fc65058, 0xbd1b5eb4, 0xc0233333, 0x33333338}, /* 0.17432=f(-9.60000)*/
+{ 0, 0,123,__LINE__, 0xbfeff753, 0xd002012d, 0xc01f9999, 0x999999a3}, /* -0.99894=f(-7.90000)*/
+{ 0, 0,123,__LINE__, 0x3fb5455c, 0x0c1effcb, 0xc018cccc, 0xccccccd6}, /* 0.08308=f(-6.20000)*/
+{11, 0,123,__LINE__, 0x3fef47ed, 0x3d6ef59a, 0xc0120000, 0x00000009}, /* 0.97753=f(-4.50000)*/
+{10, 0,123,__LINE__, 0xbfd57072, 0x5348b244, 0xc0066666, 0x66666678}, /* -0.33498=f(-2.80000)*/
+{11, 0,123,__LINE__, 0xbfec84c5, 0x525ed360, 0xbff19999, 0x999999bd}, /* -0.89120=f(-1.10000)*/
+{15, 0,123,__LINE__, 0x3fe2118d, 0x233ee698, 0x3fe33333, 0x333332ec}, /* 0.56464=f(0.60000)*/
+{ 0, 0,123,__LINE__, 0x3fe7dcd1, 0x3c5edd01, 0x40026666, 0x66666654}, /* 0.74570=f(2.30000)*/
+{ 0, 0,123,__LINE__, 0xbfe837b9, 0xdd343ee8, 0x400fffff, 0xffffffee}, /* -0.75680=f(4.00000)*/
+{11, 0,123,__LINE__, 0xbfe19f37, 0x9f04b0ee, 0x4016cccc, 0xccccccc4}, /* -0.55068=f(5.70000)*/
+{11, 0,123,__LINE__, 0x3fecc237, 0x682e8000, 0x401d9999, 0x99999991}, /* 0.89870=f(7.40000)*/
+{ 0, 0,123,__LINE__, 0x3fd46c1a, 0xb721a161, 0x40223333, 0x3333332f}, /* 0.31909=f(9.10000)*/
+{ 0, 0,123,__LINE__, 0xbfef63d4, 0x692d42ca, 0x40259999, 0x99999995}, /* -0.98093=f(10.8000)*/
+{ 0, 0,123,__LINE__, 0xbfb0fa7b, 0xb96c5598, 0x4028ffff, 0xfffffffb}, /* -0.06632=f(12.5000)*/
+{ 0, 0,123,__LINE__, 0x3fefefd5, 0x9dd228df, 0x402c6666, 0x66666661}, /* 0.99802=f(14.2000)*/
+{10, 0,123,__LINE__, 0xbfc86e07, 0xcd3622f3, 0x402fcccc, 0xccccccc7}, /* -0.19085=f(15.9000)*/
+{ 0, 0,123,__LINE__, 0xbfee5cef, 0x21612ad9, 0x40319999, 0x99999997}, /* -0.94884=f(17.6000)*/
+{ 0, 0,123,__LINE__, 0x3fdbdd01, 0xcfebc4e0, 0x40334ccc, 0xccccccca}, /* 0.43536=f(19.3000)*/
+{11, 0,123,__LINE__, 0x3feac5e2, 0xa3fc3b2e, 0x4034ffff, 0xfffffffd}, /* 0.83665=f(21.0000)*/
+{11, 0,123,__LINE__, 0xbfe4d4af, 0x48b00aed, 0x4036b333, 0x33333330}, /* -0.65096=f(22.7000)*/
+{ 0, 0,123,__LINE__, 0xbfe567b6, 0xfbf31f85, 0x40386666, 0x66666663}, /* -0.66891=f(24.4000)*/
+{11, 0,123,__LINE__, 0x3fea58be, 0x10063200, 0x403a1999, 0x99999996}, /* 0.82333=f(26.1000)*/
+{ 0, 0,123,__LINE__, 0x3fdd3b58, 0xe939af6e, 0x403bcccc, 0xccccccc9}, /* 0.45674=f(27.8000)*/
+{ 0, 0,123,__LINE__, 0xbfee1ced, 0x68d0d25a, 0x403d7fff, 0xfffffffc}, /* -0.94103=f(29.5000)*/
+0,};
+test_sinf(m) {run_vector_1(m,sinf_vec,(char *)(sinf),"sinf","ff"); }
diff --git a/newlib/libm/test/sinh_vec.c b/newlib/libm/test/sinh_vec.c
new file mode 100644
index 00000000000..cdcea79b8c6
--- /dev/null
+++ b/newlib/libm/test/sinh_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type sinh_vec[] = {
+{61, 0,123,__LINE__, 0xbff826c0, 0xf3412349, 0xbff33333, 0x33333333}, /* -1.50946=f(-1.20000)*/
+{61, 0,123,__LINE__, 0xbff7dce5, 0xac88bd42, 0xbff30a3d, 0x70a3d70a}, /* -1.49143=f(-1.19000)*/
+{60, 0,123,__LINE__, 0xbff793a6, 0xc96a7945, 0xbff2e147, 0xae147ae1}, /* -1.47354=f(-1.18000)*/
+{61, 0,123,__LINE__, 0xbff74b02, 0x69df80b2, 0xbff2b851, 0xeb851eb8}, /* -1.45581=f(-1.17000)*/
+{64, 0,123,__LINE__, 0xbff702f6, 0xb1d59e8d, 0xbff28f5c, 0x28f5c28f}, /* -1.43822=f(-1.16000)*/
+{64, 0,123,__LINE__, 0xbff6bb81, 0xc9230f5e, 0xbff26666, 0x66666666}, /* -1.42077=f(-1.15000)*/
+{64, 0,123,__LINE__, 0xbff674a1, 0xdb7a6ae1, 0xbff23d70, 0xa3d70a3d}, /* -1.40347=f(-1.14000)*/
+{64, 0,123,__LINE__, 0xbff62e55, 0x185ea6e8, 0xbff2147a, 0xe147ae14}, /* -1.38631=f(-1.13000)*/
+{62, 0,123,__LINE__, 0xbff5e899, 0xb3173341, 0xbff1eb85, 0x1eb851eb}, /* -1.36928=f(-1.12000)*/
+{63, 0,123,__LINE__, 0xbff5a36d, 0xe2a42e52, 0xbff1c28f, 0x5c28f5c2}, /* -1.35240=f(-1.11000)*/
+{63, 0,123,__LINE__, 0xbff55ecf, 0xe1b2b212, 0xbff19999, 0x99999999}, /* -1.33564=f(-1.10000)*/
+{61, 0,123,__LINE__, 0xbff51abd, 0xee91391b, 0xbff170a3, 0xd70a3d70}, /* -1.31902=f(-1.09000)*/
+{63, 0,123,__LINE__, 0xbff4d736, 0x4b241b87, 0xbff147ae, 0x147ae147}, /* -1.30254=f(-1.08000)*/
+{59, 0,123,__LINE__, 0xbff49437, 0x3cda2350, 0xbff11eb8, 0x51eb851e}, /* -1.28618=f(-1.07000)*/
+{60, 0,123,__LINE__, 0xbff451bf, 0x0ca137d8, 0xbff0f5c2, 0x8f5c28f5}, /* -1.26995=f(-1.06000)*/
+{63, 0,123,__LINE__, 0xbff40fcc, 0x06db2079, 0xbff0cccc, 0xcccccccc}, /* -1.25385=f(-1.05000)*/
+{60, 0,123,__LINE__, 0xbff3ce5c, 0x7b525d87, 0xbff0a3d7, 0x0a3d70a3}, /* -1.23788=f(-1.04000)*/
+{63, 0,123,__LINE__, 0xbff38d6e, 0xbd2f17d4, 0xbff07ae1, 0x47ae147a}, /* -1.22202=f(-1.03000)*/
+{63, 0,123,__LINE__, 0xbff34d01, 0x22ec2632, 0xbff051eb, 0x851eb851}, /* -1.20630=f(-1.02000)*/
+{61, 0,123,__LINE__, 0xbff30d12, 0x064c28b2, 0xbff028f5, 0xc28f5c28}, /* -1.19069=f(-1.01000)*/
+{64, 0,123,__LINE__, 0xbff2cd9f, 0xc44eb981, 0xbfefffff, 0xfffffffe}, /* -1.17520=f(-0.01000)*/
+{64, 0,123,__LINE__, 0xbff28ea8, 0xbd25b2d0, 0xbfefae14, 0x7ae147ac}, /* -1.15982=f(-0.99000)*/
+{64, 0,123,__LINE__, 0xbff2502b, 0x542a89e1, 0xbfef5c28, 0xf5c28f5a}, /* -1.14457=f(-0.98000)*/
+{64, 0,123,__LINE__, 0xbff21225, 0xefd3be98, 0xbfef0a3d, 0x70a3d708}, /* -1.12943=f(-0.97000)*/
+{64, 0,123,__LINE__, 0xbff1d496, 0xf9aa5f8e, 0xbfeeb851, 0xeb851eb6}, /* -1.11440=f(-0.96000)*/
+{64, 0,123,__LINE__, 0xbff1977c, 0xde3fa237, 0xbfee6666, 0x66666664}, /* -1.09948=f(-0.95000)*/
+{64, 0,123,__LINE__, 0xbff15ad6, 0x0d228eef, 0xbfee147a, 0xe147ae12}, /* -1.08467=f(-0.94000)*/
+{64, 0,123,__LINE__, 0xbff11ea0, 0xf8d5c0a0, 0xbfedc28f, 0x5c28f5c0}, /* -1.06997=f(-0.93000)*/
+{64, 0,123,__LINE__, 0xbff0e2dc, 0x16c537bc, 0xbfed70a3, 0xd70a3d6e}, /* -1.05538=f(-0.92000)*/
+{64, 0,123,__LINE__, 0xbff0a785, 0xdf3c4053, 0xbfed1eb8, 0x51eb851c}, /* -1.04089=f(-0.91000)*/
+{64, 0,123,__LINE__, 0xbff06c9c, 0xcd5b6af6, 0xbfeccccc, 0xccccccca}, /* -1.02651=f(-0.90000)*/
+{62, 0,123,__LINE__, 0xbff0321f, 0x5f0e982e, 0xbfec7ae1, 0x47ae1478}, /* -1.01223=f(-0.89000)*/
+{64, 0,123,__LINE__, 0xbfeff018, 0x2a062c81, 0xbfec28f5, 0xc28f5c26}, /* -0.99805=f(-0.88000)*/
+{64, 0,123,__LINE__, 0xbfef7cc2, 0xe53ba212, 0xbfebd70a, 0x3d70a3d4}, /* -0.98397=f(-0.87000)*/
+{64, 0,123,__LINE__, 0xbfef0a3b, 0xfbe32730, 0xbfeb851e, 0xb851eb82}, /* -0.96999=f(-0.86000)*/
+{64, 0,123,__LINE__, 0xbfee9880, 0x7f6ab6d3, 0xbfeb3333, 0x33333330}, /* -0.95611=f(-0.85000)*/
+{64, 0,123,__LINE__, 0xbfee278d, 0x867579cd, 0xbfeae147, 0xae147ade}, /* -0.94232=f(-0.84000)*/
+{64, 0,123,__LINE__, 0xbfedb760, 0x2cc8b1f2, 0xbfea8f5c, 0x28f5c28c}, /* -0.92863=f(-0.83000)*/
+{64, 0,123,__LINE__, 0xbfed47f5, 0x9338c6e0, 0xbfea3d70, 0xa3d70a3a}, /* -0.91503=f(-0.82000)*/
+{63, 0,123,__LINE__, 0xbfecd94a, 0xdf9673f5, 0xbfe9eb85, 0x1eb851e8}, /* -0.90152=f(-0.81000)*/
+{64, 0,123,__LINE__, 0xbfec6b5d, 0x3c9c16ea, 0xbfe99999, 0x99999996}, /* -0.88810=f(-0.80000)*/
+{64, 0,123,__LINE__, 0xbfebfe29, 0xd9db1ea9, 0xbfe947ae, 0x147ae144}, /* -0.87477=f(-0.79000)*/
+{64, 0,123,__LINE__, 0xbfeb91ad, 0xeba999d5, 0xbfe8f5c2, 0x8f5c28f2}, /* -0.86153=f(-0.78000)*/
+{62, 0,123,__LINE__, 0xbfeb25e6, 0xab0fe492, 0xbfe8a3d7, 0x0a3d70a0}, /* -0.84837=f(-0.77000)*/
+{64, 0,123,__LINE__, 0xbfeabad1, 0x55b67515, 0xbfe851eb, 0x851eb84e}, /* -0.83530=f(-0.76000)*/
+{64, 0,123,__LINE__, 0xbfea506b, 0x2dd3c68b, 0xbfe7ffff, 0xfffffffc}, /* -0.82231=f(-0.75000)*/
+{64, 0,123,__LINE__, 0xbfe9e6b1, 0x7a1a61cb, 0xbfe7ae14, 0x7ae147aa}, /* -0.80941=f(-0.74000)*/
+{64, 0,123,__LINE__, 0xbfe97da1, 0x85a7037c, 0xbfe75c28, 0xf5c28f58}, /* -0.79658=f(-0.73000)*/
+{64, 0,123,__LINE__, 0xbfe91538, 0x9feedf1e, 0xbfe70a3d, 0x70a3d706}, /* -0.78384=f(-0.72000)*/
+{64, 0,123,__LINE__, 0xbfe8ad74, 0x1cadfe96, 0xbfe6b851, 0xeb851eb4}, /* -0.77117=f(-0.71000)*/
+{60, 0,123,__LINE__, 0xbfe84651, 0x53d5bdb8, 0xbfe66666, 0x66666662}, /* -0.75858=f(-0.70000)*/
+{64, 0,123,__LINE__, 0xbfe7dfcd, 0xa17b6170, 0xbfe6147a, 0xe147ae10}, /* -0.74606=f(-0.69000)*/
+{64, 0,123,__LINE__, 0xbfe779e6, 0x65c6ca07, 0xbfe5c28f, 0x5c28f5be}, /* -0.73363=f(-0.68000)*/
+{64, 0,123,__LINE__, 0xbfe71499, 0x04e14019, 0xbfe570a3, 0xd70a3d6c}, /* -0.72126=f(-0.67000)*/
+{64, 0,123,__LINE__, 0xbfe6afe2, 0xe6e45bcb, 0xbfe51eb8, 0x51eb851a}, /* -0.70897=f(-0.66000)*/
+{64, 0,123,__LINE__, 0xbfe64bc1, 0x77c905d6, 0xbfe4cccc, 0xccccccc8}, /* -0.69674=f(-0.65000)*/
+{64, 0,123,__LINE__, 0xbfe5e832, 0x275691ec, 0xbfe47ae1, 0x47ae1476}, /* -0.68459=f(-0.64000)*/
+{64, 0,123,__LINE__, 0xbfe58532, 0x6911f213, 0xbfe428f5, 0xc28f5c24}, /* -0.67250=f(-0.63000)*/
+{64, 0,123,__LINE__, 0xbfe522bf, 0xb42d0283, 0xbfe3d70a, 0x3d70a3d2}, /* -0.66049=f(-0.62000)*/
+{64, 0,123,__LINE__, 0xbfe4c0d7, 0x8375ed99, 0xbfe3851e, 0xb851eb80}, /* -0.64854=f(-0.61000)*/
+{64, 0,123,__LINE__, 0xbfe45f77, 0x5546a778, 0xbfe33333, 0x3333332e}, /* -0.63665=f(-0.60000)*/
+{64, 0,123,__LINE__, 0xbfe3fe9c, 0xab7480e1, 0xbfe2e147, 0xae147adc}, /* -0.62483=f(-0.59000)*/
+{64, 0,123,__LINE__, 0xbfe39e45, 0x0b3fd0e4, 0xbfe28f5c, 0x28f5c28a}, /* -0.61307=f(-0.58000)*/
+{64, 0,123,__LINE__, 0xbfe33e6d, 0xfd43b4ed, 0xbfe23d70, 0xa3d70a38}, /* -0.60137=f(-0.57000)*/
+{64, 0,123,__LINE__, 0xbfe2df15, 0x0d65e6dc, 0xbfe1eb85, 0x1eb851e6}, /* -0.58973=f(-0.56000)*/
+{64, 0,123,__LINE__, 0xbfe28037, 0xcac6a8a0, 0xbfe19999, 0x99999994}, /* -0.57815=f(-0.55000)*/
+{64, 0,123,__LINE__, 0xbfe221d3, 0xc7b0c504, 0xbfe147ae, 0x147ae142}, /* -0.56662=f(-0.54000)*/
+{64, 0,123,__LINE__, 0xbfe1c3e6, 0x9989a53c, 0xbfe0f5c2, 0x8f5c28f0}, /* -0.55516=f(-0.53000)*/
+{64, 0,123,__LINE__, 0xbfe1666d, 0xd8c17ac3, 0xbfe0a3d7, 0x0a3d709e}, /* -0.54375=f(-0.52000)*/
+{64, 0,123,__LINE__, 0xbfe10967, 0x20c37d30, 0xbfe051eb, 0x851eb84c}, /* -0.53239=f(-0.51000)*/
+{64, 0,123,__LINE__, 0xbfe0acd0, 0x0fe63b90, 0xbfdfffff, 0xfffffff4}, /* -0.52109=f(-0.50000)*/
+{64, 0,123,__LINE__, 0xbfe050a6, 0x475c00e4, 0xbfdf5c28, 0xf5c28f50}, /* -0.50984=f(-0.49000)*/
+{64, 0,123,__LINE__, 0xbfdfe9ce, 0xd64696aa, 0xbfdeb851, 0xeb851eac}, /* -0.49864=f(-0.48000)*/
+{64, 0,123,__LINE__, 0xbfdf3322, 0x43eeab90, 0xbfde147a, 0xe147ae08}, /* -0.48749=f(-0.47000)*/
+{64, 0,123,__LINE__, 0xbfde7d42, 0x2a8166ab, 0xbfdd70a3, 0xd70a3d64}, /* -0.47639=f(-0.46000)*/
+{64, 0,123,__LINE__, 0xbfddc829, 0xe20bf8b2, 0xbfdccccc, 0xccccccc0}, /* -0.46534=f(-0.45000)*/
+{64, 0,123,__LINE__, 0xbfdd13d4, 0xc7b9193c, 0xbfdc28f5, 0xc28f5c1c}, /* -0.45433=f(-0.44000)*/
+{64, 0,123,__LINE__, 0xbfdc603e, 0x3db2a4ab, 0xbfdb851e, 0xb851eb78}, /* -0.44337=f(-0.43000)*/
+{64, 0,123,__LINE__, 0xbfdbad61, 0xab035ad2, 0xbfdae147, 0xae147ad4}, /* -0.43245=f(-0.42000)*/
+{64, 0,123,__LINE__, 0xbfdafb3a, 0x7b78bd98, 0xbfda3d70, 0xa3d70a30}, /* -0.42158=f(-0.41000)*/
+{64, 0,123,__LINE__, 0xbfda49c4, 0x1f850ec3, 0xbfd99999, 0x9999998c}, /* -0.41075=f(-0.40000)*/
+{64, 0,123,__LINE__, 0xbfd998fa, 0x0c216c44, 0xbfd8f5c2, 0x8f5c28e8}, /* -0.39996=f(-0.39000)*/
+{62, 0,123,__LINE__, 0xbfd8e8d7, 0xbab00a19, 0xbfd851eb, 0x851eb844}, /* -0.38921=f(-0.38000)*/
+{64, 0,123,__LINE__, 0xbfd83958, 0xa8de892b, 0xbfd7ae14, 0x7ae147a0}, /* -0.37850=f(-0.37000)*/
+{64, 0,123,__LINE__, 0xbfd78a78, 0x58886a40, 0xbfd70a3d, 0x70a3d6fc}, /* -0.36782=f(-0.36000)*/
+{64, 0,123,__LINE__, 0xbfd6dc32, 0x4f999c59, 0xbfd66666, 0x66666658}, /* -0.35718=f(-0.35000)*/
+{64, 0,123,__LINE__, 0xbfd62e82, 0x17f125b5, 0xbfd5c28f, 0x5c28f5b4}, /* -0.34658=f(-0.34000)*/
+{62, 0,123,__LINE__, 0xbfd58163, 0x3f43e6b2, 0xbfd51eb8, 0x51eb8510}, /* -0.33602=f(-0.33000)*/
+{64, 0,123,__LINE__, 0xbfd4d4d1, 0x56ff75cc, 0xbfd47ae1, 0x47ae146c}, /* -0.32548=f(-0.32000)*/
+{64, 0,123,__LINE__, 0xbfd428c7, 0xf42d140d, 0xbfd3d70a, 0x3d70a3c8}, /* -0.31498=f(-0.31000)*/
+{64, 0,123,__LINE__, 0xbfd37d42, 0xaf54b916, 0xbfd33333, 0x33333324}, /* -0.30452=f(-0.30000)*/
+{64, 0,123,__LINE__, 0xbfd2d23d, 0x24603618, 0xbfd28f5c, 0x28f5c280}, /* -0.29408=f(-0.29000)*/
+{64, 0,123,__LINE__, 0xbfd227b2, 0xf27e6eed, 0xbfd1eb85, 0x1eb851dc}, /* -0.28367=f(-0.28000)*/
+{64, 0,123,__LINE__, 0xbfd17d9f, 0xbc06a8af, 0xbfd147ae, 0x147ae138}, /* -0.27329=f(-0.27000)*/
+{64, 0,123,__LINE__, 0xbfd0d3ff, 0x265becef, 0xbfd0a3d7, 0x0a3d7094}, /* -0.26293=f(-0.26000)*/
+{64, 0,123,__LINE__, 0xbfd02acc, 0xd9d080f1, 0xbfcfffff, 0xffffffe0}, /* -0.25261=f(-0.25000)*/
+{64, 0,123,__LINE__, 0xbfcf0409, 0x0312e035, 0xbfceb851, 0xeb851e98}, /* -0.24231=f(-0.24000)*/
+{64, 0,123,__LINE__, 0xbfcdb343, 0x96c451c7, 0xbfcd70a3, 0xd70a3d50}, /* -0.23203=f(-0.23000)*/
+{64, 0,123,__LINE__, 0xbfcc6340, 0xcfa05725, 0xbfcc28f5, 0xc28f5c08}, /* -0.22177=f(-0.22000)*/
+{64, 0,123,__LINE__, 0xbfcb13f8, 0x138d93ff, 0xbfcae147, 0xae147ac0}, /* -0.21154=f(-0.21000)*/
+{64, 0,123,__LINE__, 0xbfc9c560, 0xcd35ef5f, 0xbfc99999, 0x99999978}, /* -0.20133=f(-0.20000)*/
+{64, 0,123,__LINE__, 0xbfc87772, 0x6bce5312, 0xbfc851eb, 0x851eb830}, /* -0.19114=f(-0.19000)*/
+{64, 0,123,__LINE__, 0xbfc72a24, 0x62de88dd, 0xbfc70a3d, 0x70a3d6e8}, /* -0.18097=f(-0.18000)*/
+{63, 0,123,__LINE__, 0xbfc5dd6e, 0x2a0933fd, 0xbfc5c28f, 0x5c28f5a0}, /* -0.17082=f(-0.17000)*/
+{64, 0,123,__LINE__, 0xbfc49147, 0x3cd3e598, 0xbfc47ae1, 0x47ae1458}, /* -0.16068=f(-0.16000)*/
+{64, 0,123,__LINE__, 0xbfc345a7, 0x1a6f4aa6, 0xbfc33333, 0x33333310}, /* -0.15056=f(-0.15000)*/
+{64, 0,123,__LINE__, 0xbfc1fa85, 0x457f71db, 0xbfc1eb85, 0x1eb851c8}, /* -0.14045=f(-0.14000)*/
+{64, 0,123,__LINE__, 0xbfc0afd9, 0x43e4283d, 0xbfc0a3d7, 0x0a3d7080}, /* -0.13036=f(-0.13000)*/
+{64, 0,123,__LINE__, 0xbfbecb35, 0x3d02d5b5, 0xbfbeb851, 0xeb851e71}, /* -0.12028=f(-0.12000)*/
+{64, 0,123,__LINE__, 0xbfbc3781, 0xc20fd8a8, 0xbfbc28f5, 0xc28f5be2}, /* -0.11022=f(-0.11000)*/
+{64, 0,123,__LINE__, 0xbfb9a487, 0x337b596c, 0xbfb99999, 0x99999953}, /* -0.10016=f(-0.00100)*/
+{64, 0,123,__LINE__, 0xbfb71234, 0xb28d4487, 0xbfb70a3d, 0x70a3d6c4}, /* -0.09012=f(-0.09000)*/
+{64, 0,123,__LINE__, 0xbfb48079, 0x64dae38a, 0xbfb47ae1, 0x47ae1435}, /* -0.08008=f(-0.08000)*/
+{64, 0,123,__LINE__, 0xbfb1ef44, 0x73d869da, 0xbfb1eb85, 0x1eb851a6}, /* -0.07005=f(-0.07000)*/
+{64, 0,123,__LINE__, 0xbfaebd0a, 0x18d535bc, 0xbfaeb851, 0xeb851e2d}, /* -0.06003=f(-0.06000)*/
+{64, 0,123,__LINE__, 0xbfa99c54, 0xbcf10d6f, 0xbfa99999, 0x9999990e}, /* -0.05002=f(-0.05000)*/
+{64, 0,123,__LINE__, 0xbfa47c47, 0x38fab55b, 0xbfa47ae1, 0x47ae13ef}, /* -0.04001=f(-0.04000)*/
+{64, 0,123,__LINE__, 0xbf9eb97f, 0xec690a08, 0xbf9eb851, 0xeb851da0}, /* -0.03000=f(-0.03000)*/
+{64, 0,123,__LINE__, 0xbf947b3a, 0xc2a15f75, 0xbf947ae1, 0x47ae1362}, /* -0.02000=f(-0.02000)*/
+{64, 0,123,__LINE__, 0xbf847af7, 0xa654e7bd, 0xbf847ae1, 0x47ae1249}, /* -0.01000=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x3cd19000, 0x00000000, 0x3cd19000, 0x00000000}, /* 9.74915e-16=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0x3f847af7, 0xa654ec21, 0x3f847ae1, 0x47ae16ad}, /* 0.01000=f(0.01000)*/
+{64, 0,123,__LINE__, 0x3f947b3a, 0xc2a161a7, 0x3f947ae1, 0x47ae1594}, /* 0.02000=f(0.02000)*/
+{64, 0,123,__LINE__, 0x3f9eb97f, 0xec690c3b, 0x3f9eb851, 0xeb851fd2}, /* 0.03000=f(0.03000)*/
+{64, 0,123,__LINE__, 0x3fa47c47, 0x38fab674, 0x3fa47ae1, 0x47ae1508}, /* 0.04001=f(0.04000)*/
+{64, 0,123,__LINE__, 0x3fa99c54, 0xbcf10e89, 0x3fa99999, 0x99999a27}, /* 0.05002=f(0.05000)*/
+{64, 0,123,__LINE__, 0x3faebd0a, 0x18d536d5, 0x3faeb851, 0xeb851f46}, /* 0.06003=f(0.06000)*/
+{64, 0,123,__LINE__, 0x3fb1ef44, 0x73d86a66, 0x3fb1eb85, 0x1eb85232}, /* 0.07005=f(0.07000)*/
+{64, 0,123,__LINE__, 0x3fb48079, 0x64dae416, 0x3fb47ae1, 0x47ae14c1}, /* 0.08008=f(0.08000)*/
+{64, 0,123,__LINE__, 0x3fb71234, 0xb28d4514, 0x3fb70a3d, 0x70a3d750}, /* 0.09012=f(0.09000)*/
+{64, 0,123,__LINE__, 0x3fb9a487, 0x337b59f9, 0x3fb99999, 0x999999df}, /* 0.10016=f(0.10000)*/
+{64, 0,123,__LINE__, 0x3fbc3781, 0xc20fd935, 0x3fbc28f5, 0xc28f5c6e}, /* 0.11022=f(0.11000)*/
+{64, 0,123,__LINE__, 0x3fbecb35, 0x3d02d642, 0x3fbeb851, 0xeb851efd}, /* 0.12028=f(0.12000)*/
+{64, 0,123,__LINE__, 0x3fc0afd9, 0x43e42883, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.13036=f(0.13000)*/
+{64, 0,123,__LINE__, 0x3fc1fa85, 0x457f7222, 0x3fc1eb85, 0x1eb8520e}, /* 0.14045=f(0.14000)*/
+{64, 0,123,__LINE__, 0x3fc345a7, 0x1a6f4aec, 0x3fc33333, 0x33333356}, /* 0.15056=f(0.15000)*/
+{64, 0,123,__LINE__, 0x3fc49147, 0x3cd3e5df, 0x3fc47ae1, 0x47ae149e}, /* 0.16068=f(0.16000)*/
+{64, 0,123,__LINE__, 0x3fc5dd6e, 0x2a093444, 0x3fc5c28f, 0x5c28f5e6}, /* 0.17082=f(0.17000)*/
+{64, 0,123,__LINE__, 0x3fc72a24, 0x62de8924, 0x3fc70a3d, 0x70a3d72e}, /* 0.18097=f(0.18000)*/
+{64, 0,123,__LINE__, 0x3fc87772, 0x6bce535a, 0x3fc851eb, 0x851eb876}, /* 0.19114=f(0.19000)*/
+{64, 0,123,__LINE__, 0x3fc9c560, 0xcd35efa6, 0x3fc99999, 0x999999be}, /* 0.20133=f(0.20000)*/
+{64, 0,123,__LINE__, 0x3fcb13f8, 0x138d9446, 0x3fcae147, 0xae147b06}, /* 0.21154=f(0.21000)*/
+{64, 0,123,__LINE__, 0x3fcc6340, 0xcfa0576d, 0x3fcc28f5, 0xc28f5c4e}, /* 0.22177=f(0.22000)*/
+{64, 0,123,__LINE__, 0x3fcdb343, 0x96c4520f, 0x3fcd70a3, 0xd70a3d96}, /* 0.23203=f(0.23000)*/
+{64, 0,123,__LINE__, 0x3fcf0409, 0x0312e07d, 0x3fceb851, 0xeb851ede}, /* 0.24231=f(0.24000)*/
+{64, 0,123,__LINE__, 0x3fd02acc, 0xd9d08115, 0x3fd00000, 0x00000013}, /* 0.25261=f(0.25000)*/
+{64, 0,123,__LINE__, 0x3fd0d3ff, 0x265bed13, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.26293=f(0.26000)*/
+{64, 0,123,__LINE__, 0x3fd17d9f, 0xbc06a8d3, 0x3fd147ae, 0x147ae15b}, /* 0.27329=f(0.27000)*/
+{64, 0,123,__LINE__, 0x3fd227b2, 0xf27e6f12, 0x3fd1eb85, 0x1eb851ff}, /* 0.28367=f(0.28000)*/
+{64, 0,123,__LINE__, 0x3fd2d23d, 0x2460363c, 0x3fd28f5c, 0x28f5c2a3}, /* 0.29408=f(0.29000)*/
+{64, 0,123,__LINE__, 0x3fd37d42, 0xaf54b93b, 0x3fd33333, 0x33333347}, /* 0.30452=f(0.30000)*/
+{64, 0,123,__LINE__, 0x3fd428c7, 0xf42d1431, 0x3fd3d70a, 0x3d70a3eb}, /* 0.31498=f(0.31000)*/
+{64, 0,123,__LINE__, 0x3fd4d4d1, 0x56ff75f0, 0x3fd47ae1, 0x47ae148f}, /* 0.32548=f(0.32000)*/
+{64, 0,123,__LINE__, 0x3fd58163, 0x3f43e6d6, 0x3fd51eb8, 0x51eb8533}, /* 0.33602=f(0.33000)*/
+{64, 0,123,__LINE__, 0x3fd62e82, 0x17f125da, 0x3fd5c28f, 0x5c28f5d7}, /* 0.34658=f(0.34000)*/
+{64, 0,123,__LINE__, 0x3fd6dc32, 0x4f999c7e, 0x3fd66666, 0x6666667b}, /* 0.35718=f(0.35000)*/
+{64, 0,123,__LINE__, 0x3fd78a78, 0x58886a65, 0x3fd70a3d, 0x70a3d71f}, /* 0.36782=f(0.36000)*/
+{64, 0,123,__LINE__, 0x3fd83958, 0xa8de8951, 0x3fd7ae14, 0x7ae147c3}, /* 0.37850=f(0.37000)*/
+{64, 0,123,__LINE__, 0x3fd8e8d7, 0xbab00a3f, 0x3fd851eb, 0x851eb867}, /* 0.38921=f(0.38000)*/
+{64, 0,123,__LINE__, 0x3fd998fa, 0x0c216c69, 0x3fd8f5c2, 0x8f5c290b}, /* 0.39996=f(0.39000)*/
+{64, 0,123,__LINE__, 0x3fda49c4, 0x1f850ee9, 0x3fd99999, 0x999999af}, /* 0.41075=f(0.40000)*/
+{64, 0,123,__LINE__, 0x3fdafb3a, 0x7b78bdbe, 0x3fda3d70, 0xa3d70a53}, /* 0.42158=f(0.41000)*/
+{63, 0,123,__LINE__, 0x3fdbad61, 0xab035af9, 0x3fdae147, 0xae147af7}, /* 0.43245=f(0.42000)*/
+{64, 0,123,__LINE__, 0x3fdc603e, 0x3db2a4d1, 0x3fdb851e, 0xb851eb9b}, /* 0.44337=f(0.43000)*/
+{64, 0,123,__LINE__, 0x3fdd13d4, 0xc7b91962, 0x3fdc28f5, 0xc28f5c3f}, /* 0.45433=f(0.44000)*/
+{64, 0,123,__LINE__, 0x3fddc829, 0xe20bf8d9, 0x3fdccccc, 0xcccccce3}, /* 0.46534=f(0.45000)*/
+{64, 0,123,__LINE__, 0x3fde7d42, 0x2a8166d2, 0x3fdd70a3, 0xd70a3d87}, /* 0.47639=f(0.46000)*/
+{64, 0,123,__LINE__, 0x3fdf3322, 0x43eeabb7, 0x3fde147a, 0xe147ae2b}, /* 0.48749=f(0.47000)*/
+{64, 0,123,__LINE__, 0x3fdfe9ce, 0xd64696d2, 0x3fdeb851, 0xeb851ecf}, /* 0.49864=f(0.48000)*/
+{64, 0,123,__LINE__, 0x3fe050a6, 0x475c00f7, 0x3fdf5c28, 0xf5c28f73}, /* 0.50984=f(0.49000)*/
+{64, 0,123,__LINE__, 0x3fe0acd0, 0x0fe63ba3, 0x3fe00000, 0x0000000b}, /* 0.52109=f(0.50000)*/
+{64, 0,123,__LINE__, 0x3fe10967, 0x20c37d43, 0x3fe051eb, 0x851eb85d}, /* 0.53239=f(0.51000)*/
+{64, 0,123,__LINE__, 0x3fe1666d, 0xd8c17ad6, 0x3fe0a3d7, 0x0a3d70af}, /* 0.54375=f(0.52000)*/
+{64, 0,123,__LINE__, 0x3fe1c3e6, 0x9989a550, 0x3fe0f5c2, 0x8f5c2901}, /* 0.55516=f(0.53000)*/
+{64, 0,123,__LINE__, 0x3fe221d3, 0xc7b0c518, 0x3fe147ae, 0x147ae153}, /* 0.56662=f(0.54000)*/
+{64, 0,123,__LINE__, 0x3fe28037, 0xcac6a8b4, 0x3fe19999, 0x999999a5}, /* 0.57815=f(0.55000)*/
+{64, 0,123,__LINE__, 0x3fe2df15, 0x0d65e6f0, 0x3fe1eb85, 0x1eb851f7}, /* 0.58973=f(0.56000)*/
+{64, 0,123,__LINE__, 0x3fe33e6d, 0xfd43b501, 0x3fe23d70, 0xa3d70a49}, /* 0.60137=f(0.57000)*/
+{60, 0,123,__LINE__, 0x3fe39e45, 0x0b3fd0f8, 0x3fe28f5c, 0x28f5c29b}, /* 0.61307=f(0.58000)*/
+{64, 0,123,__LINE__, 0x3fe3fe9c, 0xab7480f5, 0x3fe2e147, 0xae147aed}, /* 0.62483=f(0.59000)*/
+{64, 0,123,__LINE__, 0x3fe45f77, 0x5546a78c, 0x3fe33333, 0x3333333f}, /* 0.63665=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3fe4c0d7, 0x8375edad, 0x3fe3851e, 0xb851eb91}, /* 0.64854=f(0.61000)*/
+{64, 0,123,__LINE__, 0x3fe522bf, 0xb42d0297, 0x3fe3d70a, 0x3d70a3e3}, /* 0.66049=f(0.62000)*/
+{64, 0,123,__LINE__, 0x3fe58532, 0x6911f228, 0x3fe428f5, 0xc28f5c35}, /* 0.67250=f(0.63000)*/
+{64, 0,123,__LINE__, 0x3fe5e832, 0x27569201, 0x3fe47ae1, 0x47ae1487}, /* 0.68459=f(0.64000)*/
+{64, 0,123,__LINE__, 0x3fe64bc1, 0x77c905eb, 0x3fe4cccc, 0xccccccd9}, /* 0.69674=f(0.65000)*/
+{64, 0,123,__LINE__, 0x3fe6afe2, 0xe6e45be0, 0x3fe51eb8, 0x51eb852b}, /* 0.70897=f(0.66000)*/
+{64, 0,123,__LINE__, 0x3fe71499, 0x04e1402e, 0x3fe570a3, 0xd70a3d7d}, /* 0.72126=f(0.67000)*/
+{64, 0,123,__LINE__, 0x3fe779e6, 0x65c6ca1c, 0x3fe5c28f, 0x5c28f5cf}, /* 0.73363=f(0.68000)*/
+{64, 0,123,__LINE__, 0x3fe7dfcd, 0xa17b6185, 0x3fe6147a, 0xe147ae21}, /* 0.74606=f(0.69000)*/
+{64, 0,123,__LINE__, 0x3fe84651, 0x53d5bdcd, 0x3fe66666, 0x66666673}, /* 0.75858=f(0.70000)*/
+{64, 0,123,__LINE__, 0x3fe8ad74, 0x1cadfeab, 0x3fe6b851, 0xeb851ec5}, /* 0.77117=f(0.71000)*/
+{64, 0,123,__LINE__, 0x3fe91538, 0x9feedf34, 0x3fe70a3d, 0x70a3d717}, /* 0.78384=f(0.72000)*/
+{64, 0,123,__LINE__, 0x3fe97da1, 0x85a70392, 0x3fe75c28, 0xf5c28f69}, /* 0.79658=f(0.73000)*/
+{64, 0,123,__LINE__, 0x3fe9e6b1, 0x7a1a61e1, 0x3fe7ae14, 0x7ae147bb}, /* 0.80941=f(0.74000)*/
+{64, 0,123,__LINE__, 0x3fea506b, 0x2dd3c6a1, 0x3fe80000, 0x0000000d}, /* 0.82231=f(0.75000)*/
+{64, 0,123,__LINE__, 0x3feabad1, 0x55b6752b, 0x3fe851eb, 0x851eb85f}, /* 0.83530=f(0.76000)*/
+{64, 0,123,__LINE__, 0x3feb25e6, 0xab0fe4a8, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.84837=f(0.77000)*/
+{64, 0,123,__LINE__, 0x3feb91ad, 0xeba999ec, 0x3fe8f5c2, 0x8f5c2903}, /* 0.86153=f(0.78000)*/
+{64, 0,123,__LINE__, 0x3febfe29, 0xd9db1ec0, 0x3fe947ae, 0x147ae155}, /* 0.87477=f(0.79000)*/
+{64, 0,123,__LINE__, 0x3fec6b5d, 0x3c9c1700, 0x3fe99999, 0x999999a7}, /* 0.88810=f(0.80000)*/
+{61, 0,123,__LINE__, 0x3fecd94a, 0xdf96740c, 0x3fe9eb85, 0x1eb851f9}, /* 0.90152=f(0.81000)*/
+{60, 0,123,__LINE__, 0x3fed47f5, 0x9338c6f7, 0x3fea3d70, 0xa3d70a4b}, /* 0.91503=f(0.82000)*/
+{62, 0,123,__LINE__, 0x3fedb760, 0x2cc8b20a, 0x3fea8f5c, 0x28f5c29d}, /* 0.92863=f(0.83000)*/
+{64, 0,123,__LINE__, 0x3fee278d, 0x867579e5, 0x3feae147, 0xae147aef}, /* 0.94232=f(0.84000)*/
+{64, 0,123,__LINE__, 0x3fee9880, 0x7f6ab6ea, 0x3feb3333, 0x33333341}, /* 0.95611=f(0.85000)*/
+{64, 0,123,__LINE__, 0x3fef0a3b, 0xfbe32748, 0x3feb851e, 0xb851eb93}, /* 0.96999=f(0.86000)*/
+{64, 0,123,__LINE__, 0x3fef7cc2, 0xe53ba22a, 0x3febd70a, 0x3d70a3e5}, /* 0.98397=f(0.87000)*/
+{64, 0,123,__LINE__, 0x3feff018, 0x2a062c99, 0x3fec28f5, 0xc28f5c37}, /* 0.99805=f(0.88000)*/
+{64, 0,123,__LINE__, 0x3ff0321f, 0x5f0e983a, 0x3fec7ae1, 0x47ae1489}, /* 1.01223=f(0.89000)*/
+{64, 0,123,__LINE__, 0x3ff06c9c, 0xcd5b6b02, 0x3feccccc, 0xccccccdb}, /* 1.02651=f(0.90000)*/
+{64, 0,123,__LINE__, 0x3ff0a785, 0xdf3c405f, 0x3fed1eb8, 0x51eb852d}, /* 1.04089=f(0.91000)*/
+{64, 0,123,__LINE__, 0x3ff0e2dc, 0x16c537c8, 0x3fed70a3, 0xd70a3d7f}, /* 1.05538=f(0.92000)*/
+{64, 0,123,__LINE__, 0x3ff11ea0, 0xf8d5c0ac, 0x3fedc28f, 0x5c28f5d1}, /* 1.06997=f(0.93000)*/
+{64, 0,123,__LINE__, 0x3ff15ad6, 0x0d228efc, 0x3fee147a, 0xe147ae23}, /* 1.08467=f(0.94000)*/
+{64, 0,123,__LINE__, 0x3ff1977c, 0xde3fa244, 0x3fee6666, 0x66666675}, /* 1.09948=f(0.95000)*/
+{64, 0,123,__LINE__, 0x3ff1d496, 0xf9aa5f9a, 0x3feeb851, 0xeb851ec7}, /* 1.11440=f(0.96000)*/
+{64, 0,123,__LINE__, 0x3ff21225, 0xefd3bea5, 0x3fef0a3d, 0x70a3d719}, /* 1.12943=f(0.97000)*/
+{64, 0,123,__LINE__, 0x3ff2502b, 0x542a89ee, 0x3fef5c28, 0xf5c28f6b}, /* 1.14457=f(0.98000)*/
+{62, 0,123,__LINE__, 0x3ff28ea8, 0xbd25b2de, 0x3fefae14, 0x7ae147bd}, /* 1.15982=f(0.99000)*/
+{63, 0,123,__LINE__, 0x3ff2cd9f, 0xc44eb98c, 0x3ff00000, 0x00000007}, /* 1.17520=f(1.00000)*/
+{57, 0,123,__LINE__, 0x3ff30d12, 0x064c28bf, 0x3ff028f5, 0xc28f5c30}, /* 1.19069=f(1.01000)*/
+{57, 0,123,__LINE__, 0x3ff34d01, 0x22ec263e, 0x3ff051eb, 0x851eb859}, /* 1.20630=f(1.02000)*/
+{58, 0,123,__LINE__, 0x3ff38d6e, 0xbd2f17df, 0x3ff07ae1, 0x47ae1482}, /* 1.22202=f(1.03000)*/
+{61, 0,123,__LINE__, 0x3ff3ce5c, 0x7b525d94, 0x3ff0a3d7, 0x0a3d70ab}, /* 1.23788=f(1.04000)*/
+{62, 0,123,__LINE__, 0x3ff40fcc, 0x06db2086, 0x3ff0cccc, 0xccccccd4}, /* 1.25385=f(1.05000)*/
+{63, 0,123,__LINE__, 0x3ff451bf, 0x0ca137e7, 0x3ff0f5c2, 0x8f5c28fd}, /* 1.26995=f(1.06000)*/
+{61, 0,123,__LINE__, 0x3ff49437, 0x3cda235d, 0x3ff11eb8, 0x51eb8526}, /* 1.28618=f(1.07000)*/
+{62, 0,123,__LINE__, 0x3ff4d736, 0x4b241b96, 0x3ff147ae, 0x147ae14f}, /* 1.30254=f(1.08000)*/
+{63, 0,123,__LINE__, 0x3ff51abd, 0xee913928, 0x3ff170a3, 0xd70a3d78}, /* 1.31902=f(1.09000)*/
+{62, 0,123,__LINE__, 0x3ff55ecf, 0xe1b2b221, 0x3ff19999, 0x999999a1}, /* 1.33564=f(1.10000)*/
+{58, 0,123,__LINE__, 0x3ff5a36d, 0xe2a42e5f, 0x3ff1c28f, 0x5c28f5ca}, /* 1.35240=f(1.11000)*/
+{59, 0,123,__LINE__, 0x3ff5e899, 0xb317334f, 0x3ff1eb85, 0x1eb851f3}, /* 1.36928=f(1.12000)*/
+{64, 0,123,__LINE__, 0x3ff62e55, 0x185ea6f5, 0x3ff2147a, 0xe147ae1c}, /* 1.38631=f(1.13000)*/
+{63, 0,123,__LINE__, 0x3ff674a1, 0xdb7a6aee, 0x3ff23d70, 0xa3d70a45}, /* 1.40347=f(1.14000)*/
+{64, 0,123,__LINE__, 0x3ff6bb81, 0xc9230f6b, 0x3ff26666, 0x6666666e}, /* 1.42077=f(1.15000)*/
+{64, 0,123,__LINE__, 0x3ff702f6, 0xb1d59e9a, 0x3ff28f5c, 0x28f5c297}, /* 1.43822=f(1.16000)*/
+{61, 0,123,__LINE__, 0x3ff74b02, 0x69df80c3, 0x3ff2b851, 0xeb851ec0}, /* 1.45581=f(1.17000)*/
+{61, 0,123,__LINE__, 0x3ff793a6, 0xc96a7951, 0x3ff2e147, 0xae147ae9}, /* 1.47354=f(1.18000)*/
+{62, 0,123,__LINE__, 0x3ff7dce5, 0xac88bd50, 0x3ff30a3d, 0x70a3d712}, /* 1.49143=f(1.19000)*/
+{61, 0,123,__LINE__, 0xc070bbeb, 0x1603926c, 0xc01921fb, 0x54442d18}, /* -267.744=f(-6.28318)*/
+{60, 0,123,__LINE__, 0xc04bd3c3, 0x4cf00a27, 0xc012d97c, 0x7f3321d2}, /* -55.6543=f(-4.71238)*/
+{63, 0,123,__LINE__, 0xc02718f4, 0x5d72e671, 0xc00921fb, 0x54442d18}, /* -11.5487=f(-3.14159)*/
+{62, 0,123,__LINE__, 0xc002690f, 0x661dd821, 0xbff921fb, 0x54442d18}, /* -2.30129=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{62, 0,123,__LINE__, 0x4002690f, 0x661dd821, 0x3ff921fb, 0x54442d18}, /* 2.30129=f(1.57079)*/
+{63, 0,123,__LINE__, 0x402718f4, 0x5d72e671, 0x400921fb, 0x54442d18}, /* 11.5487=f(3.14159)*/
+{60, 0,123,__LINE__, 0x404bd3c3, 0x4cf00a27, 0x4012d97c, 0x7f3321d2}, /* 55.6543=f(4.71238)*/
+{63, 0,123,__LINE__, 0xc2937047, 0x0aec28e4, 0xc03e0000, 0x00000000}, /* -5.34324e+12=f(-30.0000)*/
+{63, 0,123,__LINE__, 0xc26c68ab, 0xda31cdb8, 0xc03c4ccc, 0xcccccccd}, /* -9.76121e+11=f(-28.3000)*/
+{60, 0,123,__LINE__, 0xc244c263, 0x8e2b5848, 0xc03a9999, 0x9999999a}, /* -1.78321e+11=f(-26.6000)*/
+{63, 0,123,__LINE__, 0xc21e56cf, 0x7144c252, 0xc038e666, 0x66666667}, /* -3.25764e+10=f(-24.9000)*/
+{60, 0,123,__LINE__, 0xc1f62b79, 0x1e77d137, 0xc0373333, 0x33333334}, /* -5.95116e+09=f(-23.2000)*/
+{64, 0,123,__LINE__, 0xc1d03343, 0x003272a8, 0xc0358000, 0x00000001}, /* -1.08718e+09=f(-21.5000)*/
+{62, 0,123,__LINE__, 0xc1a7ad17, 0x51ce1a0d, 0xc033cccc, 0xccccccce}, /* -1.98610e+08=f(-19.8000)*/
+{62, 0,123,__LINE__, 0xc1814d0b, 0xc17d4222, 0xc0321999, 0x9999999b}, /* -3.62827e+07=f(-18.1000)*/
+{64, 0,123,__LINE__, 0xc15948e8, 0xe47ead6c, 0xc0306666, 0x66666668}, /* -6.62826e+06=f(-16.4000)*/
+{63, 0,123,__LINE__, 0xc13279f9, 0xd10e66ed, 0xc02d6666, 0x6666666a}, /* -1.21087e+06=f(-14.7000)*/
+{62, 0,123,__LINE__, 0xc10b00b5, 0x916a31d1, 0xc02a0000, 0x00000004}, /* -221206=f(-13.0000)*/
+{63, 0,123,__LINE__, 0xc0e3bb5a, 0x33507fa0, 0xc0269999, 0x9999999e}, /* -40410=f(-11.3000)*/
+{63, 0,123,__LINE__, 0xc0bcd664, 0x081f1af4, 0xc0233333, 0x33333338}, /* -7382.39=f(-9.60000)*/
+{63, 0,123,__LINE__, 0xc0951290, 0x5cbc9963, 0xc01f9999, 0x999999a3}, /* -1348.64=f(-7.90000)*/
+{62, 0,123,__LINE__, 0xc06ecbf3, 0xc2804b35, 0xc018cccc, 0xccccccd6}, /* -246.373=f(-6.20000)*/
+{62, 0,123,__LINE__, 0xc0468062, 0xab5faa2d, 0xc0120000, 0x00000009}, /* -45.0030=f(-4.50000)*/
+{64, 0,123,__LINE__, 0xc0206243, 0x1f5de430, 0xc0066666, 0x66666678}, /* -8.19191=f(-2.80000)*/
+{63, 0,123,__LINE__, 0xbff55ecf, 0xe1b2b250, 0xbff19999, 0x999999bd}, /* -1.33564=f(-1.10000)*/
+{64, 0,123,__LINE__, 0x3fe45f77, 0x5546a729, 0x3fe33333, 0x333332ec}, /* 0.63665=f(0.60000)*/
+{63, 0,123,__LINE__, 0x4013bf72, 0xea61aeeb, 0x40026666, 0x66666654}, /* 4.93696=f(2.30000)*/
+{61, 0,123,__LINE__, 0x403b4a38, 0x037035f3, 0x400fffff, 0xffffffee}, /* 27.2899=f(4.00000)*/
+{62, 0,123,__LINE__, 0x4062add3, 0x2b565d1a, 0x4016cccc, 0xccccccc4}, /* 149.432=f(5.70000)*/
+{64, 0,123,__LINE__, 0x40898fef, 0x6e2e3c20, 0x401d9999, 0x99999991}, /* 817.991=f(7.40000)*/
+{64, 0,123,__LINE__, 0x40b17da5, 0x73a60dc4, 0x40223333, 0x3333332f}, /* 4477.64=f(9.10000)*/
+{60, 0,123,__LINE__, 0x40d7ef99, 0xa2bdfbc7, 0x40259999, 0x99999995}, /* 24510=f(10.8000)*/
+{64, 0,123,__LINE__, 0x410060c5, 0x2564c024, 0x4028ffff, 0xfffffffb}, /* 134168=f(12.5000)*/
+{62, 0,123,__LINE__, 0x412669c0, 0x308d2005, 0x402c6666, 0x66666661}, /* 734432=f(14.2000)*/
+{62, 0,123,__LINE__, 0x414eac09, 0x532f3d7e, 0x402fcccc, 0xccccccc7}, /* 4.02024e+06=f(15.9000)*/
+{61, 0,123,__LINE__, 0x4174fcb4, 0x4c4756d4, 0x40319999, 0x99999997}, /* 2.20066e+07=f(17.6000)*/
+{63, 0,123,__LINE__, 0x419cb879, 0xa3e73668, 0x40334ccc, 0xccccccca}, /* 1.20463e+08=f(19.3000)*/
+{57, 0,123,__LINE__, 0x41c3a6e1, 0xfd9eecbf, 0x4034ffff, 0xfffffffd}, /* 6.59408e+08=f(21.0000)*/
+{60, 0,123,__LINE__, 0x41eae4b2, 0x68df16f6, 0x4036b333, 0x33333330}, /* 3.60956e+09=f(22.7000)*/
+{63, 0,123,__LINE__, 0x421266ce, 0xffa84595, 0x40386666, 0x66666663}, /* 1.97586e+10=f(24.4000)*/
+{64, 0,123,__LINE__, 0x42392ead, 0xfa09870a, 0x403a1999, 0x99999996}, /* 1.08157e+11=f(26.1000)*/
+{63, 0,123,__LINE__, 0x42613b19, 0x1e69fb25, 0x403bcccc, 0xccccccc9}, /* 5.92048e+11=f(27.8000)*/
+{61, 0,123,__LINE__, 0x42879487, 0x9e85b8dc, 0x403d7fff, 0xfffffffc}, /* 3.24084e+12=f(29.5000)*/
+0,};
+test_sinh(m) {run_vector_1(m,sinh_vec,(char *)(sinh),"sinh","dd"); }
diff --git a/newlib/libm/test/sinhf_vec.c b/newlib/libm/test/sinhf_vec.c
new file mode 100644
index 00000000000..f15709c8be5
--- /dev/null
+++ b/newlib/libm/test/sinhf_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type sinhf_vec[] = {
+{12, 0,123,__LINE__, 0xbff826c1, 0x00000000, 0xbff33333, 0x33333333}, /* -1.50946=f(-1.20000)*/
+{13, 0,123,__LINE__, 0xbff7dce5, 0xc0000000, 0xbff30a3d, 0x70a3d70a}, /* -1.49143=f(-1.19000)*/
+{13, 0,123,__LINE__, 0xbff793a6, 0xa0000000, 0xbff2e147, 0xae147ae1}, /* -1.47354=f(-1.18000)*/
+{13, 0,123,__LINE__, 0xbff74b02, 0x60000000, 0xbff2b851, 0xeb851eb8}, /* -1.45581=f(-1.17000)*/
+{13, 0,123,__LINE__, 0xbff702f6, 0xa0000000, 0xbff28f5c, 0x28f5c28f}, /* -1.43822=f(-1.16000)*/
+{13, 0,123,__LINE__, 0xbff6bb81, 0xe0000000, 0xbff26666, 0x66666666}, /* -1.42077=f(-1.15000)*/
+{13, 0,123,__LINE__, 0xbff674a1, 0xc0000000, 0xbff23d70, 0xa3d70a3d}, /* -1.40347=f(-1.14000)*/
+{13, 0,123,__LINE__, 0xbff62e55, 0x20000000, 0xbff2147a, 0xe147ae14}, /* -1.38631=f(-1.13000)*/
+{13, 0,123,__LINE__, 0xbff5e899, 0xc0000000, 0xbff1eb85, 0x1eb851eb}, /* -1.36928=f(-1.12000)*/
+{13, 0,123,__LINE__, 0xbff5a36e, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* -1.35240=f(-1.11000)*/
+{13, 0,123,__LINE__, 0xbff55ed0, 0x00000000, 0xbff19999, 0x99999999}, /* -1.33564=f(-1.10000)*/
+{13, 0,123,__LINE__, 0xbff51abe, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* -1.31902=f(-1.09000)*/
+{13, 0,123,__LINE__, 0xbff4d736, 0x60000000, 0xbff147ae, 0x147ae147}, /* -1.30254=f(-1.08000)*/
+{13, 0,123,__LINE__, 0xbff49437, 0x40000000, 0xbff11eb8, 0x51eb851e}, /* -1.28618=f(-1.07000)*/
+{13, 0,123,__LINE__, 0xbff451be, 0xe0000000, 0xbff0f5c2, 0x8f5c28f5}, /* -1.26995=f(-1.06000)*/
+{13, 0,123,__LINE__, 0xbff40fcb, 0xe0000000, 0xbff0cccc, 0xcccccccc}, /* -1.25385=f(-1.05000)*/
+{14, 0,123,__LINE__, 0xbff3ce5c, 0x80000000, 0xbff0a3d7, 0x0a3d70a3}, /* -1.23788=f(-1.04000)*/
+{14, 0,123,__LINE__, 0xbff38d6e, 0xc0000000, 0xbff07ae1, 0x47ae147a}, /* -1.22202=f(-1.03000)*/
+{14, 0,123,__LINE__, 0xbff34d01, 0x20000000, 0xbff051eb, 0x851eb851}, /* -1.20630=f(-1.02000)*/
+{14, 0,123,__LINE__, 0xbff30d12, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* -1.19069=f(-1.01000)*/
+{14, 0,123,__LINE__, 0xbff2cd9f, 0xc0000000, 0xbfefffff, 0xfffffffe}, /* -1.17520=f(-0.01000)*/
+{11, 0,123,__LINE__, 0xbff28ea8, 0xc0000000, 0xbfefae14, 0x7ae147ac}, /* -1.15982=f(-0.99000)*/
+{11, 0,123,__LINE__, 0xbff2502b, 0x60000000, 0xbfef5c28, 0xf5c28f5a}, /* -1.14457=f(-0.98000)*/
+{11, 0,123,__LINE__, 0xbff21226, 0x00000000, 0xbfef0a3d, 0x70a3d708}, /* -1.12943=f(-0.97000)*/
+{11, 0,123,__LINE__, 0xbff1d497, 0x00000000, 0xbfeeb851, 0xeb851eb6}, /* -1.11440=f(-0.96000)*/
+{11, 0,123,__LINE__, 0xbff1977c, 0xe0000000, 0xbfee6666, 0x66666664}, /* -1.09948=f(-0.95000)*/
+{11, 0,123,__LINE__, 0xbff15ad6, 0x00000000, 0xbfee147a, 0xe147ae12}, /* -1.08467=f(-0.94000)*/
+{11, 0,123,__LINE__, 0xbff11ea1, 0x00000000, 0xbfedc28f, 0x5c28f5c0}, /* -1.06997=f(-0.93000)*/
+{11, 0,123,__LINE__, 0xbff0e2dc, 0x20000000, 0xbfed70a3, 0xd70a3d6e}, /* -1.05538=f(-0.92000)*/
+{11, 0,123,__LINE__, 0xbff0a785, 0xe0000000, 0xbfed1eb8, 0x51eb851c}, /* -1.04089=f(-0.91000)*/
+{11, 0,123,__LINE__, 0xbff06c9c, 0xc0000000, 0xbfeccccc, 0xccccccca}, /* -1.02651=f(-0.90000)*/
+{11, 0,123,__LINE__, 0xbff0321f, 0x60000000, 0xbfec7ae1, 0x47ae1478}, /* -1.01223=f(-0.89000)*/
+{14, 0,123,__LINE__, 0xbfeff018, 0x20000000, 0xbfec28f5, 0xc28f5c26}, /* -0.99805=f(-0.88000)*/
+{13, 0,123,__LINE__, 0xbfef7cc2, 0xe0000000, 0xbfebd70a, 0x3d70a3d4}, /* -0.98397=f(-0.87000)*/
+{13, 0,123,__LINE__, 0xbfef0a3c, 0x00000000, 0xbfeb851e, 0xb851eb82}, /* -0.96999=f(-0.86000)*/
+{13, 0,123,__LINE__, 0xbfee9880, 0x80000000, 0xbfeb3333, 0x33333330}, /* -0.95611=f(-0.85000)*/
+{13, 0,123,__LINE__, 0xbfee278d, 0x80000000, 0xbfeae147, 0xae147ade}, /* -0.94232=f(-0.84000)*/
+{13, 0,123,__LINE__, 0xbfedb760, 0x20000000, 0xbfea8f5c, 0x28f5c28c}, /* -0.92863=f(-0.83000)*/
+{13, 0,123,__LINE__, 0xbfed47f5, 0x80000000, 0xbfea3d70, 0xa3d70a3a}, /* -0.91503=f(-0.82000)*/
+{13, 0,123,__LINE__, 0xbfecd94a, 0xe0000000, 0xbfe9eb85, 0x1eb851e8}, /* -0.90152=f(-0.81000)*/
+{13, 0,123,__LINE__, 0xbfec6b5d, 0x40000000, 0xbfe99999, 0x99999996}, /* -0.88810=f(-0.80000)*/
+{14, 0,123,__LINE__, 0xbfebfe29, 0xe0000000, 0xbfe947ae, 0x147ae144}, /* -0.87477=f(-0.79000)*/
+{14, 0,123,__LINE__, 0xbfeb91ad, 0xe0000000, 0xbfe8f5c2, 0x8f5c28f2}, /* -0.86153=f(-0.78000)*/
+{14, 0,123,__LINE__, 0xbfeb25e6, 0xa0000000, 0xbfe8a3d7, 0x0a3d70a0}, /* -0.84837=f(-0.77000)*/
+{14, 0,123,__LINE__, 0xbfeabad1, 0x60000000, 0xbfe851eb, 0x851eb84e}, /* -0.83530=f(-0.76000)*/
+{14, 0,123,__LINE__, 0xbfea506b, 0x20000000, 0xbfe7ffff, 0xfffffffc}, /* -0.82231=f(-0.75000)*/
+{12, 0,123,__LINE__, 0xbfe9e6b1, 0x80000000, 0xbfe7ae14, 0x7ae147aa}, /* -0.80941=f(-0.74000)*/
+{12, 0,123,__LINE__, 0xbfe97da1, 0xa0000000, 0xbfe75c28, 0xf5c28f58}, /* -0.79658=f(-0.73000)*/
+{12, 0,123,__LINE__, 0xbfe91538, 0xc0000000, 0xbfe70a3d, 0x70a3d706}, /* -0.78384=f(-0.72000)*/
+{12, 0,123,__LINE__, 0xbfe8ad74, 0x00000000, 0xbfe6b851, 0xeb851eb4}, /* -0.77117=f(-0.71000)*/
+{12, 0,123,__LINE__, 0xbfe84651, 0x40000000, 0xbfe66666, 0x66666662}, /* -0.75858=f(-0.70000)*/
+{15, 0,123,__LINE__, 0xbfe7dfcd, 0xa0000000, 0xbfe6147a, 0xe147ae10}, /* -0.74606=f(-0.69000)*/
+{14, 0,123,__LINE__, 0xbfe779e6, 0x60000000, 0xbfe5c28f, 0x5c28f5be}, /* -0.73363=f(-0.68000)*/
+{14, 0,123,__LINE__, 0xbfe71499, 0x00000000, 0xbfe570a3, 0xd70a3d6c}, /* -0.72126=f(-0.67000)*/
+{14, 0,123,__LINE__, 0xbfe6afe3, 0x00000000, 0xbfe51eb8, 0x51eb851a}, /* -0.70897=f(-0.66000)*/
+{14, 0,123,__LINE__, 0xbfe64bc1, 0x60000000, 0xbfe4cccc, 0xccccccc8}, /* -0.69674=f(-0.65000)*/
+{15, 0,123,__LINE__, 0xbfe5e832, 0x20000000, 0xbfe47ae1, 0x47ae1476}, /* -0.68459=f(-0.64000)*/
+{15, 0,123,__LINE__, 0xbfe58532, 0x60000000, 0xbfe428f5, 0xc28f5c24}, /* -0.67250=f(-0.63000)*/
+{13, 0,123,__LINE__, 0xbfe522bf, 0xc0000000, 0xbfe3d70a, 0x3d70a3d2}, /* -0.66049=f(-0.62000)*/
+{13, 0,123,__LINE__, 0xbfe4c0d7, 0x80000000, 0xbfe3851e, 0xb851eb80}, /* -0.64854=f(-0.61000)*/
+{13, 0,123,__LINE__, 0xbfe45f77, 0x60000000, 0xbfe33333, 0x3333332e}, /* -0.63665=f(-0.60000)*/
+{15, 0,123,__LINE__, 0xbfe3fe9c, 0xa0000000, 0xbfe2e147, 0xae147adc}, /* -0.62483=f(-0.59000)*/
+{15, 0,123,__LINE__, 0xbfe39e45, 0x00000000, 0xbfe28f5c, 0x28f5c28a}, /* -0.61307=f(-0.58000)*/
+{15, 0,123,__LINE__, 0xbfe33e6e, 0x00000000, 0xbfe23d70, 0xa3d70a38}, /* -0.60137=f(-0.57000)*/
+{14, 0,123,__LINE__, 0xbfe2df15, 0x00000000, 0xbfe1eb85, 0x1eb851e6}, /* -0.58973=f(-0.56000)*/
+{14, 0,123,__LINE__, 0xbfe28037, 0xe0000000, 0xbfe19999, 0x99999994}, /* -0.57815=f(-0.55000)*/
+{14, 0,123,__LINE__, 0xbfe221d3, 0xe0000000, 0xbfe147ae, 0x147ae142}, /* -0.56662=f(-0.54000)*/
+{15, 0,123,__LINE__, 0xbfe1c3e6, 0x80000000, 0xbfe0f5c2, 0x8f5c28f0}, /* -0.55516=f(-0.53000)*/
+{15, 0,123,__LINE__, 0xbfe1666d, 0xc0000000, 0xbfe0a3d7, 0x0a3d709e}, /* -0.54375=f(-0.52000)*/
+{15, 0,123,__LINE__, 0xbfe10967, 0x20000000, 0xbfe051eb, 0x851eb84c}, /* -0.53239=f(-0.51000)*/
+{16, 0,123,__LINE__, 0xbfe0acd0, 0x00000000, 0xbfdfffff, 0xfffffff4}, /* -0.52109=f(-0.50000)*/
+{10, 0,123,__LINE__, 0xbfe050a6, 0x40000000, 0xbfdf5c28, 0xf5c28f50}, /* -0.50984=f(-0.49000)*/
+{15, 0,123,__LINE__, 0xbfdfe9ce, 0xc0000000, 0xbfdeb851, 0xeb851eac}, /* -0.49864=f(-0.48000)*/
+{15, 0,123,__LINE__, 0xbfdf3322, 0x40000000, 0xbfde147a, 0xe147ae08}, /* -0.48749=f(-0.47000)*/
+{14, 0,123,__LINE__, 0xbfde7d42, 0x40000000, 0xbfdd70a3, 0xd70a3d64}, /* -0.47639=f(-0.46000)*/
+{15, 0,123,__LINE__, 0xbfddc829, 0xe0000000, 0xbfdccccc, 0xccccccc0}, /* -0.46534=f(-0.45000)*/
+{15, 0,123,__LINE__, 0xbfdd13d4, 0xc0000000, 0xbfdc28f5, 0xc28f5c1c}, /* -0.45433=f(-0.44000)*/
+{13, 0,123,__LINE__, 0xbfdc603e, 0x40000000, 0xbfdb851e, 0xb851eb78}, /* -0.44337=f(-0.43000)*/
+{15, 0,123,__LINE__, 0xbfdbad61, 0xa0000000, 0xbfdae147, 0xae147ad4}, /* -0.43245=f(-0.42000)*/
+{16, 0,123,__LINE__, 0xbfdafb3a, 0x80000000, 0xbfda3d70, 0xa3d70a30}, /* -0.42158=f(-0.41000)*/
+{14, 0,123,__LINE__, 0xbfda49c4, 0x20000000, 0xbfd99999, 0x9999998c}, /* -0.41075=f(-0.40000)*/
+{15, 0,123,__LINE__, 0xbfd998fa, 0x00000000, 0xbfd8f5c2, 0x8f5c28e8}, /* -0.39996=f(-0.39000)*/
+{16, 0,123,__LINE__, 0xbfd8e8d7, 0xc0000000, 0xbfd851eb, 0x851eb844}, /* -0.38921=f(-0.38000)*/
+{12, 0,123,__LINE__, 0xbfd83958, 0xa0000000, 0xbfd7ae14, 0x7ae147a0}, /* -0.37850=f(-0.37000)*/
+{16, 0,123,__LINE__, 0xbfd78a78, 0x60000000, 0xbfd70a3d, 0x70a3d6fc}, /* -0.36782=f(-0.36000)*/
+{16, 0,123,__LINE__, 0xbfd6dc32, 0x40000000, 0xbfd66666, 0x66666658}, /* -0.35718=f(-0.35000)*/
+{14, 0,123,__LINE__, 0xbfd62e82, 0x20000000, 0xbfd5c28f, 0x5c28f5b4}, /* -0.34658=f(-0.34000)*/
+{16, 0,123,__LINE__, 0xbfd58163, 0x40000000, 0xbfd51eb8, 0x51eb8510}, /* -0.33602=f(-0.33000)*/
+{16, 0,123,__LINE__, 0xbfd4d4d1, 0x40000000, 0xbfd47ae1, 0x47ae146c}, /* -0.32548=f(-0.32000)*/
+{13, 0,123,__LINE__, 0xbfd428c8, 0x00000000, 0xbfd3d70a, 0x3d70a3c8}, /* -0.31498=f(-0.31000)*/
+{17, 0,123,__LINE__, 0xbfd37d42, 0xc0000000, 0xbfd33333, 0x33333324}, /* -0.30452=f(-0.30000)*/
+{17, 0,123,__LINE__, 0xbfd2d23d, 0x20000000, 0xbfd28f5c, 0x28f5c280}, /* -0.29408=f(-0.29000)*/
+{14, 0,123,__LINE__, 0xbfd227b3, 0x00000000, 0xbfd1eb85, 0x1eb851dc}, /* -0.28367=f(-0.28000)*/
+{18, 0,123,__LINE__, 0xbfd17d9f, 0xc0000000, 0xbfd147ae, 0x147ae138}, /* -0.27329=f(-0.27000)*/
+{17, 0,123,__LINE__, 0xbfd0d3ff, 0x20000000, 0xbfd0a3d7, 0x0a3d7094}, /* -0.26293=f(-0.26000)*/
+{18, 0,123,__LINE__, 0xbfd02acc, 0xe0000000, 0xbfcfffff, 0xffffffe0}, /* -0.25261=f(-0.25000)*/
+{15, 0,123,__LINE__, 0xbfcf0409, 0x00000000, 0xbfceb851, 0xeb851e98}, /* -0.24231=f(-0.24000)*/
+{16, 0,123,__LINE__, 0xbfcdb343, 0xa0000000, 0xbfcd70a3, 0xd70a3d50}, /* -0.23203=f(-0.23000)*/
+{17, 0,123,__LINE__, 0xbfcc6340, 0xc0000000, 0xbfcc28f5, 0xc28f5c08}, /* -0.22177=f(-0.22000)*/
+{15, 0,123,__LINE__, 0xbfcb13f8, 0x00000000, 0xbfcae147, 0xae147ac0}, /* -0.21154=f(-0.21000)*/
+{17, 0,123,__LINE__, 0xbfc9c560, 0xe0000000, 0xbfc99999, 0x99999978}, /* -0.20133=f(-0.20000)*/
+{18, 0,123,__LINE__, 0xbfc87772, 0x60000000, 0xbfc851eb, 0x851eb830}, /* -0.19114=f(-0.19000)*/
+{18, 0,123,__LINE__, 0xbfc72a24, 0x80000000, 0xbfc70a3d, 0x70a3d6e8}, /* -0.18097=f(-0.18000)*/
+{19, 0,123,__LINE__, 0xbfc5dd6e, 0x20000000, 0xbfc5c28f, 0x5c28f5a0}, /* -0.17082=f(-0.17000)*/
+{16, 0,123,__LINE__, 0xbfc49147, 0x40000000, 0xbfc47ae1, 0x47ae1458}, /* -0.16068=f(-0.16000)*/
+{17, 0,123,__LINE__, 0xbfc345a7, 0x20000000, 0xbfc33333, 0x33333310}, /* -0.15056=f(-0.15000)*/
+{19, 0,123,__LINE__, 0xbfc1fa85, 0x40000000, 0xbfc1eb85, 0x1eb851c8}, /* -0.14045=f(-0.14000)*/
+{20, 0,123,__LINE__, 0xbfc0afd9, 0x40000000, 0xbfc0a3d7, 0x0a3d7080}, /* -0.13036=f(-0.13000)*/
+{17, 0,123,__LINE__, 0xbfbecb35, 0x40000000, 0xbfbeb851, 0xeb851e71}, /* -0.12028=f(-0.12000)*/
+{19, 0,123,__LINE__, 0xbfbc3781, 0xc0000000, 0xbfbc28f5, 0xc28f5be2}, /* -0.11022=f(-0.11000)*/
+{18, 0,123,__LINE__, 0xbfb9a487, 0x40000000, 0xbfb99999, 0x99999953}, /* -0.10016=f(-0.00100)*/
+{19, 0,123,__LINE__, 0xbfb71234, 0xc0000000, 0xbfb70a3d, 0x70a3d6c4}, /* -0.09012=f(-0.09000)*/
+{16, 0,123,__LINE__, 0xbfb48079, 0x60000000, 0xbfb47ae1, 0x47ae1435}, /* -0.08008=f(-0.08000)*/
+{21, 0,123,__LINE__, 0xbfb1ef44, 0x80000000, 0xbfb1eb85, 0x1eb851a6}, /* -0.07005=f(-0.07000)*/
+{21, 0,123,__LINE__, 0xbfaebd0a, 0x00000000, 0xbfaeb851, 0xeb851e2d}, /* -0.06003=f(-0.06000)*/
+{21, 0,123,__LINE__, 0xbfa99c54, 0xc0000000, 0xbfa99999, 0x9999990e}, /* -0.05002=f(-0.05000)*/
+{21, 0,123,__LINE__, 0xbfa47c47, 0x40000000, 0xbfa47ae1, 0x47ae13ef}, /* -0.04001=f(-0.04000)*/
+{23, 0,123,__LINE__, 0xbf9eb97f, 0xe0000000, 0xbf9eb851, 0xeb851da0}, /* -0.03000=f(-0.03000)*/
+{23, 0,123,__LINE__, 0xbf947b3a, 0xc0000000, 0xbf947ae1, 0x47ae1362}, /* -0.02000=f(-0.02000)*/
+{27, 0,123,__LINE__, 0xbf847af7, 0xa0000000, 0xbf847ae1, 0x47ae1249}, /* -0.01000=f(-0.00010)*/
+{ 2, 0,123,__LINE__, 0x3cd19000, 0x00000000, 0x3cd19000, 0x00000000}, /* 9.74915e-16=f(9.74915e-16)*/
+{27, 0,123,__LINE__, 0x3f847af7, 0xa0000000, 0x3f847ae1, 0x47ae16ad}, /* 0.01000=f(0.01000)*/
+{23, 0,123,__LINE__, 0x3f947b3a, 0xc0000000, 0x3f947ae1, 0x47ae1594}, /* 0.02000=f(0.02000)*/
+{23, 0,123,__LINE__, 0x3f9eb97f, 0xe0000000, 0x3f9eb851, 0xeb851fd2}, /* 0.03000=f(0.03000)*/
+{21, 0,123,__LINE__, 0x3fa47c47, 0x40000000, 0x3fa47ae1, 0x47ae1508}, /* 0.04001=f(0.04000)*/
+{21, 0,123,__LINE__, 0x3fa99c54, 0xc0000000, 0x3fa99999, 0x99999a27}, /* 0.05002=f(0.05000)*/
+{21, 0,123,__LINE__, 0x3faebd0a, 0x00000000, 0x3faeb851, 0xeb851f46}, /* 0.06003=f(0.06000)*/
+{21, 0,123,__LINE__, 0x3fb1ef44, 0x80000000, 0x3fb1eb85, 0x1eb85232}, /* 0.07005=f(0.07000)*/
+{16, 0,123,__LINE__, 0x3fb48079, 0x60000000, 0x3fb47ae1, 0x47ae14c1}, /* 0.08008=f(0.08000)*/
+{19, 0,123,__LINE__, 0x3fb71234, 0xc0000000, 0x3fb70a3d, 0x70a3d750}, /* 0.09012=f(0.09000)*/
+{18, 0,123,__LINE__, 0x3fb9a487, 0x40000000, 0x3fb99999, 0x999999df}, /* 0.10016=f(0.10000)*/
+{19, 0,123,__LINE__, 0x3fbc3781, 0xc0000000, 0x3fbc28f5, 0xc28f5c6e}, /* 0.11022=f(0.11000)*/
+{17, 0,123,__LINE__, 0x3fbecb35, 0x40000000, 0x3fbeb851, 0xeb851efd}, /* 0.12028=f(0.12000)*/
+{20, 0,123,__LINE__, 0x3fc0afd9, 0x40000000, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.13036=f(0.13000)*/
+{19, 0,123,__LINE__, 0x3fc1fa85, 0x40000000, 0x3fc1eb85, 0x1eb8520e}, /* 0.14045=f(0.14000)*/
+{17, 0,123,__LINE__, 0x3fc345a7, 0x20000000, 0x3fc33333, 0x33333356}, /* 0.15056=f(0.15000)*/
+{16, 0,123,__LINE__, 0x3fc49147, 0x40000000, 0x3fc47ae1, 0x47ae149e}, /* 0.16068=f(0.16000)*/
+{19, 0,123,__LINE__, 0x3fc5dd6e, 0x20000000, 0x3fc5c28f, 0x5c28f5e6}, /* 0.17082=f(0.17000)*/
+{18, 0,123,__LINE__, 0x3fc72a24, 0x80000000, 0x3fc70a3d, 0x70a3d72e}, /* 0.18097=f(0.18000)*/
+{18, 0,123,__LINE__, 0x3fc87772, 0x60000000, 0x3fc851eb, 0x851eb876}, /* 0.19114=f(0.19000)*/
+{17, 0,123,__LINE__, 0x3fc9c560, 0xe0000000, 0x3fc99999, 0x999999be}, /* 0.20133=f(0.20000)*/
+{15, 0,123,__LINE__, 0x3fcb13f8, 0x00000000, 0x3fcae147, 0xae147b06}, /* 0.21154=f(0.21000)*/
+{17, 0,123,__LINE__, 0x3fcc6340, 0xc0000000, 0x3fcc28f5, 0xc28f5c4e}, /* 0.22177=f(0.22000)*/
+{16, 0,123,__LINE__, 0x3fcdb343, 0xa0000000, 0x3fcd70a3, 0xd70a3d96}, /* 0.23203=f(0.23000)*/
+{15, 0,123,__LINE__, 0x3fcf0409, 0x00000000, 0x3fceb851, 0xeb851ede}, /* 0.24231=f(0.24000)*/
+{18, 0,123,__LINE__, 0x3fd02acc, 0xe0000000, 0x3fd00000, 0x00000013}, /* 0.25261=f(0.25000)*/
+{17, 0,123,__LINE__, 0x3fd0d3ff, 0x20000000, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.26293=f(0.26000)*/
+{18, 0,123,__LINE__, 0x3fd17d9f, 0xc0000000, 0x3fd147ae, 0x147ae15b}, /* 0.27329=f(0.27000)*/
+{14, 0,123,__LINE__, 0x3fd227b3, 0x00000000, 0x3fd1eb85, 0x1eb851ff}, /* 0.28367=f(0.28000)*/
+{17, 0,123,__LINE__, 0x3fd2d23d, 0x20000000, 0x3fd28f5c, 0x28f5c2a3}, /* 0.29408=f(0.29000)*/
+{17, 0,123,__LINE__, 0x3fd37d42, 0xc0000000, 0x3fd33333, 0x33333347}, /* 0.30452=f(0.30000)*/
+{13, 0,123,__LINE__, 0x3fd428c8, 0x00000000, 0x3fd3d70a, 0x3d70a3eb}, /* 0.31498=f(0.31000)*/
+{16, 0,123,__LINE__, 0x3fd4d4d1, 0x40000000, 0x3fd47ae1, 0x47ae148f}, /* 0.32548=f(0.32000)*/
+{16, 0,123,__LINE__, 0x3fd58163, 0x40000000, 0x3fd51eb8, 0x51eb8533}, /* 0.33602=f(0.33000)*/
+{14, 0,123,__LINE__, 0x3fd62e82, 0x20000000, 0x3fd5c28f, 0x5c28f5d7}, /* 0.34658=f(0.34000)*/
+{16, 0,123,__LINE__, 0x3fd6dc32, 0x40000000, 0x3fd66666, 0x6666667b}, /* 0.35718=f(0.35000)*/
+{16, 0,123,__LINE__, 0x3fd78a78, 0x60000000, 0x3fd70a3d, 0x70a3d71f}, /* 0.36782=f(0.36000)*/
+{12, 0,123,__LINE__, 0x3fd83958, 0xa0000000, 0x3fd7ae14, 0x7ae147c3}, /* 0.37850=f(0.37000)*/
+{16, 0,123,__LINE__, 0x3fd8e8d7, 0xc0000000, 0x3fd851eb, 0x851eb867}, /* 0.38921=f(0.38000)*/
+{15, 0,123,__LINE__, 0x3fd998fa, 0x00000000, 0x3fd8f5c2, 0x8f5c290b}, /* 0.39996=f(0.39000)*/
+{14, 0,123,__LINE__, 0x3fda49c4, 0x20000000, 0x3fd99999, 0x999999af}, /* 0.41075=f(0.40000)*/
+{16, 0,123,__LINE__, 0x3fdafb3a, 0x80000000, 0x3fda3d70, 0xa3d70a53}, /* 0.42158=f(0.41000)*/
+{15, 0,123,__LINE__, 0x3fdbad61, 0xa0000000, 0x3fdae147, 0xae147af7}, /* 0.43245=f(0.42000)*/
+{13, 0,123,__LINE__, 0x3fdc603e, 0x40000000, 0x3fdb851e, 0xb851eb9b}, /* 0.44337=f(0.43000)*/
+{15, 0,123,__LINE__, 0x3fdd13d4, 0xc0000000, 0x3fdc28f5, 0xc28f5c3f}, /* 0.45433=f(0.44000)*/
+{15, 0,123,__LINE__, 0x3fddc829, 0xe0000000, 0x3fdccccc, 0xcccccce3}, /* 0.46534=f(0.45000)*/
+{14, 0,123,__LINE__, 0x3fde7d42, 0x40000000, 0x3fdd70a3, 0xd70a3d87}, /* 0.47639=f(0.46000)*/
+{15, 0,123,__LINE__, 0x3fdf3322, 0x40000000, 0x3fde147a, 0xe147ae2b}, /* 0.48749=f(0.47000)*/
+{15, 0,123,__LINE__, 0x3fdfe9ce, 0xc0000000, 0x3fdeb851, 0xeb851ecf}, /* 0.49864=f(0.48000)*/
+{10, 0,123,__LINE__, 0x3fe050a6, 0x40000000, 0x3fdf5c28, 0xf5c28f73}, /* 0.50984=f(0.49000)*/
+{16, 0,123,__LINE__, 0x3fe0acd0, 0x00000000, 0x3fe00000, 0x0000000b}, /* 0.52109=f(0.50000)*/
+{15, 0,123,__LINE__, 0x3fe10967, 0x20000000, 0x3fe051eb, 0x851eb85d}, /* 0.53239=f(0.51000)*/
+{15, 0,123,__LINE__, 0x3fe1666d, 0xc0000000, 0x3fe0a3d7, 0x0a3d70af}, /* 0.54375=f(0.52000)*/
+{15, 0,123,__LINE__, 0x3fe1c3e6, 0x80000000, 0x3fe0f5c2, 0x8f5c2901}, /* 0.55516=f(0.53000)*/
+{14, 0,123,__LINE__, 0x3fe221d3, 0xe0000000, 0x3fe147ae, 0x147ae153}, /* 0.56662=f(0.54000)*/
+{14, 0,123,__LINE__, 0x3fe28037, 0xe0000000, 0x3fe19999, 0x999999a5}, /* 0.57815=f(0.55000)*/
+{14, 0,123,__LINE__, 0x3fe2df15, 0x00000000, 0x3fe1eb85, 0x1eb851f7}, /* 0.58973=f(0.56000)*/
+{15, 0,123,__LINE__, 0x3fe33e6e, 0x00000000, 0x3fe23d70, 0xa3d70a49}, /* 0.60137=f(0.57000)*/
+{15, 0,123,__LINE__, 0x3fe39e45, 0x00000000, 0x3fe28f5c, 0x28f5c29b}, /* 0.61307=f(0.58000)*/
+{15, 0,123,__LINE__, 0x3fe3fe9c, 0xa0000000, 0x3fe2e147, 0xae147aed}, /* 0.62483=f(0.59000)*/
+{13, 0,123,__LINE__, 0x3fe45f77, 0x60000000, 0x3fe33333, 0x3333333f}, /* 0.63665=f(0.60000)*/
+{13, 0,123,__LINE__, 0x3fe4c0d7, 0x80000000, 0x3fe3851e, 0xb851eb91}, /* 0.64854=f(0.61000)*/
+{13, 0,123,__LINE__, 0x3fe522bf, 0xc0000000, 0x3fe3d70a, 0x3d70a3e3}, /* 0.66049=f(0.62000)*/
+{15, 0,123,__LINE__, 0x3fe58532, 0x60000000, 0x3fe428f5, 0xc28f5c35}, /* 0.67250=f(0.63000)*/
+{15, 0,123,__LINE__, 0x3fe5e832, 0x20000000, 0x3fe47ae1, 0x47ae1487}, /* 0.68459=f(0.64000)*/
+{14, 0,123,__LINE__, 0x3fe64bc1, 0x60000000, 0x3fe4cccc, 0xccccccd9}, /* 0.69674=f(0.65000)*/
+{14, 0,123,__LINE__, 0x3fe6afe3, 0x00000000, 0x3fe51eb8, 0x51eb852b}, /* 0.70897=f(0.66000)*/
+{14, 0,123,__LINE__, 0x3fe71499, 0x00000000, 0x3fe570a3, 0xd70a3d7d}, /* 0.72126=f(0.67000)*/
+{14, 0,123,__LINE__, 0x3fe779e6, 0x60000000, 0x3fe5c28f, 0x5c28f5cf}, /* 0.73363=f(0.68000)*/
+{15, 0,123,__LINE__, 0x3fe7dfcd, 0xa0000000, 0x3fe6147a, 0xe147ae21}, /* 0.74606=f(0.69000)*/
+{12, 0,123,__LINE__, 0x3fe84651, 0x40000000, 0x3fe66666, 0x66666673}, /* 0.75858=f(0.70000)*/
+{12, 0,123,__LINE__, 0x3fe8ad74, 0x00000000, 0x3fe6b851, 0xeb851ec5}, /* 0.77117=f(0.71000)*/
+{12, 0,123,__LINE__, 0x3fe91538, 0xc0000000, 0x3fe70a3d, 0x70a3d717}, /* 0.78384=f(0.72000)*/
+{12, 0,123,__LINE__, 0x3fe97da1, 0xa0000000, 0x3fe75c28, 0xf5c28f69}, /* 0.79658=f(0.73000)*/
+{12, 0,123,__LINE__, 0x3fe9e6b1, 0x80000000, 0x3fe7ae14, 0x7ae147bb}, /* 0.80941=f(0.74000)*/
+{14, 0,123,__LINE__, 0x3fea506b, 0x20000000, 0x3fe80000, 0x0000000d}, /* 0.82231=f(0.75000)*/
+{14, 0,123,__LINE__, 0x3feabad1, 0x60000000, 0x3fe851eb, 0x851eb85f}, /* 0.83530=f(0.76000)*/
+{14, 0,123,__LINE__, 0x3feb25e6, 0xa0000000, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.84837=f(0.77000)*/
+{14, 0,123,__LINE__, 0x3feb91ad, 0xe0000000, 0x3fe8f5c2, 0x8f5c2903}, /* 0.86153=f(0.78000)*/
+{14, 0,123,__LINE__, 0x3febfe29, 0xe0000000, 0x3fe947ae, 0x147ae155}, /* 0.87477=f(0.79000)*/
+{13, 0,123,__LINE__, 0x3fec6b5d, 0x40000000, 0x3fe99999, 0x999999a7}, /* 0.88810=f(0.80000)*/
+{13, 0,123,__LINE__, 0x3fecd94a, 0xe0000000, 0x3fe9eb85, 0x1eb851f9}, /* 0.90152=f(0.81000)*/
+{13, 0,123,__LINE__, 0x3fed47f5, 0x80000000, 0x3fea3d70, 0xa3d70a4b}, /* 0.91503=f(0.82000)*/
+{13, 0,123,__LINE__, 0x3fedb760, 0x20000000, 0x3fea8f5c, 0x28f5c29d}, /* 0.92863=f(0.83000)*/
+{13, 0,123,__LINE__, 0x3fee278d, 0x80000000, 0x3feae147, 0xae147aef}, /* 0.94232=f(0.84000)*/
+{13, 0,123,__LINE__, 0x3fee9880, 0x80000000, 0x3feb3333, 0x33333341}, /* 0.95611=f(0.85000)*/
+{13, 0,123,__LINE__, 0x3fef0a3c, 0x00000000, 0x3feb851e, 0xb851eb93}, /* 0.96999=f(0.86000)*/
+{13, 0,123,__LINE__, 0x3fef7cc2, 0xe0000000, 0x3febd70a, 0x3d70a3e5}, /* 0.98397=f(0.87000)*/
+{14, 0,123,__LINE__, 0x3feff018, 0x20000000, 0x3fec28f5, 0xc28f5c37}, /* 0.99805=f(0.88000)*/
+{11, 0,123,__LINE__, 0x3ff0321f, 0x60000000, 0x3fec7ae1, 0x47ae1489}, /* 1.01223=f(0.89000)*/
+{11, 0,123,__LINE__, 0x3ff06c9c, 0xc0000000, 0x3feccccc, 0xccccccdb}, /* 1.02651=f(0.90000)*/
+{11, 0,123,__LINE__, 0x3ff0a785, 0xe0000000, 0x3fed1eb8, 0x51eb852d}, /* 1.04089=f(0.91000)*/
+{11, 0,123,__LINE__, 0x3ff0e2dc, 0x20000000, 0x3fed70a3, 0xd70a3d7f}, /* 1.05538=f(0.92000)*/
+{11, 0,123,__LINE__, 0x3ff11ea1, 0x00000000, 0x3fedc28f, 0x5c28f5d1}, /* 1.06997=f(0.93000)*/
+{11, 0,123,__LINE__, 0x3ff15ad6, 0x00000000, 0x3fee147a, 0xe147ae23}, /* 1.08467=f(0.94000)*/
+{11, 0,123,__LINE__, 0x3ff1977c, 0xe0000000, 0x3fee6666, 0x66666675}, /* 1.09948=f(0.95000)*/
+{11, 0,123,__LINE__, 0x3ff1d497, 0x00000000, 0x3feeb851, 0xeb851ec7}, /* 1.11440=f(0.96000)*/
+{11, 0,123,__LINE__, 0x3ff21226, 0x00000000, 0x3fef0a3d, 0x70a3d719}, /* 1.12943=f(0.97000)*/
+{11, 0,123,__LINE__, 0x3ff2502b, 0x60000000, 0x3fef5c28, 0xf5c28f6b}, /* 1.14457=f(0.98000)*/
+{11, 0,123,__LINE__, 0x3ff28ea8, 0xc0000000, 0x3fefae14, 0x7ae147bd}, /* 1.15982=f(0.99000)*/
+{14, 0,123,__LINE__, 0x3ff2cd9f, 0xc0000000, 0x3ff00000, 0x00000007}, /* 1.17520=f(1.00000)*/
+{14, 0,123,__LINE__, 0x3ff30d12, 0x00000000, 0x3ff028f5, 0xc28f5c30}, /* 1.19069=f(1.01000)*/
+{14, 0,123,__LINE__, 0x3ff34d01, 0x20000000, 0x3ff051eb, 0x851eb859}, /* 1.20630=f(1.02000)*/
+{14, 0,123,__LINE__, 0x3ff38d6e, 0xc0000000, 0x3ff07ae1, 0x47ae1482}, /* 1.22202=f(1.03000)*/
+{14, 0,123,__LINE__, 0x3ff3ce5c, 0x80000000, 0x3ff0a3d7, 0x0a3d70ab}, /* 1.23788=f(1.04000)*/
+{13, 0,123,__LINE__, 0x3ff40fcb, 0xe0000000, 0x3ff0cccc, 0xccccccd4}, /* 1.25385=f(1.05000)*/
+{13, 0,123,__LINE__, 0x3ff451be, 0xe0000000, 0x3ff0f5c2, 0x8f5c28fd}, /* 1.26995=f(1.06000)*/
+{13, 0,123,__LINE__, 0x3ff49437, 0x40000000, 0x3ff11eb8, 0x51eb8526}, /* 1.28618=f(1.07000)*/
+{13, 0,123,__LINE__, 0x3ff4d736, 0x60000000, 0x3ff147ae, 0x147ae14f}, /* 1.30254=f(1.08000)*/
+{13, 0,123,__LINE__, 0x3ff51abe, 0x00000000, 0x3ff170a3, 0xd70a3d78}, /* 1.31902=f(1.09000)*/
+{13, 0,123,__LINE__, 0x3ff55ed0, 0x00000000, 0x3ff19999, 0x999999a1}, /* 1.33564=f(1.10000)*/
+{13, 0,123,__LINE__, 0x3ff5a36e, 0x00000000, 0x3ff1c28f, 0x5c28f5ca}, /* 1.35240=f(1.11000)*/
+{13, 0,123,__LINE__, 0x3ff5e899, 0xc0000000, 0x3ff1eb85, 0x1eb851f3}, /* 1.36928=f(1.12000)*/
+{13, 0,123,__LINE__, 0x3ff62e55, 0x20000000, 0x3ff2147a, 0xe147ae1c}, /* 1.38631=f(1.13000)*/
+{13, 0,123,__LINE__, 0x3ff674a1, 0xc0000000, 0x3ff23d70, 0xa3d70a45}, /* 1.40347=f(1.14000)*/
+{13, 0,123,__LINE__, 0x3ff6bb81, 0xe0000000, 0x3ff26666, 0x6666666e}, /* 1.42077=f(1.15000)*/
+{13, 0,123,__LINE__, 0x3ff702f6, 0xa0000000, 0x3ff28f5c, 0x28f5c297}, /* 1.43822=f(1.16000)*/
+{13, 0,123,__LINE__, 0x3ff74b02, 0x60000000, 0x3ff2b851, 0xeb851ec0}, /* 1.45581=f(1.17000)*/
+{13, 0,123,__LINE__, 0x3ff793a6, 0xa0000000, 0x3ff2e147, 0xae147ae9}, /* 1.47354=f(1.18000)*/
+{13, 0,123,__LINE__, 0x3ff7dce5, 0xc0000000, 0x3ff30a3d, 0x70a3d712}, /* 1.49143=f(1.19000)*/
+{ 0, 0,123,__LINE__, 0xc070bbea, 0xc0000000, 0xc01921fb, 0x54442d18}, /* -267.744=f(-6.28318)*/
+{ 0, 0,123,__LINE__, 0xc04bd3c3, 0x40000000, 0xc012d97c, 0x7f3321d2}, /* -55.6543=f(-4.71238)*/
+{ 8, 0,123,__LINE__, 0xc02718f4, 0x60000000, 0xc00921fb, 0x54442d18}, /* -11.5487=f(-3.14159)*/
+{ 1, 0,123,__LINE__, 0xc002690f, 0x60000000, 0xbff921fb, 0x54442d18}, /* -2.30129=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{ 1, 0,123,__LINE__, 0x4002690f, 0x60000000, 0x3ff921fb, 0x54442d18}, /* 2.30129=f(1.57079)*/
+{ 8, 0,123,__LINE__, 0x402718f4, 0x60000000, 0x400921fb, 0x54442d18}, /* 11.5487=f(3.14159)*/
+{ 9, 0,123,__LINE__, 0x404bd3c3, 0x40000000, 0x4012d97c, 0x7f3321d2}, /* 55.6543=f(4.71238)*/
+{ 0, 0,123,__LINE__, 0xc2937046, 0x40000000, 0xc03e0000, 0x00000000}, /* -5.34323e+12=f(-30.0000)*/
+{ 0, 0,123,__LINE__, 0xc26c68a8, 0x80000000, 0xc03c4ccc, 0xcccccccd}, /* -9.76120e+11=f(-28.3000)*/
+{ 0, 0,123,__LINE__, 0xc244c263, 0x20000000, 0xc03a9999, 0x9999999a}, /* -1.78321e+11=f(-26.6000)*/
+{ 0, 0,123,__LINE__, 0xc21e56cc, 0x40000000, 0xc038e666, 0x66666667}, /* -3.25763e+10=f(-24.9000)*/
+{ 0, 0,123,__LINE__, 0xc1f62b78, 0xe0000000, 0xc0373333, 0x33333334}, /* -5.95116e+09=f(-23.2000)*/
+{ 0, 0,123,__LINE__, 0xc1d03342, 0xe0000000, 0xc0358000, 0x00000001}, /* -1.08718e+09=f(-21.5000)*/
+{ 0, 0,123,__LINE__, 0xc1a7ad15, 0x80000000, 0xc033cccc, 0xccccccce}, /* -1.98610e+08=f(-19.8000)*/
+{ 0, 0,123,__LINE__, 0xc1814d0b, 0xe0000000, 0xc0321999, 0x9999999b}, /* -3.62827e+07=f(-18.1000)*/
+{ 0, 0,123,__LINE__, 0xc15948e7, 0x20000000, 0xc0306666, 0x66666668}, /* -6.62825e+06=f(-16.4000)*/
+{ 0, 0,123,__LINE__, 0xc13279fa, 0x40000000, 0xc02d6666, 0x6666666a}, /* -1.21087e+06=f(-14.7000)*/
+{ 0, 0,123,__LINE__, 0xc10b00b6, 0x80000000, 0xc02a0000, 0x00000004}, /* -221206=f(-13.0000)*/
+{ 0, 0,123,__LINE__, 0xc0e3bb5a, 0x20000000, 0xc0269999, 0x9999999e}, /* -40410=f(-11.3000)*/
+{ 0, 0,123,__LINE__, 0xc0bcd664, 0x40000000, 0xc0233333, 0x33333338}, /* -7382.39=f(-9.60000)*/
+{ 0, 0,123,__LINE__, 0xc0951290, 0xa0000000, 0xc01f9999, 0x999999a3}, /* -1348.64=f(-7.90000)*/
+{ 0, 0,123,__LINE__, 0xc06ecbf3, 0x20000000, 0xc018cccc, 0xccccccd6}, /* -246.373=f(-6.20000)*/
+{ 0, 0,123,__LINE__, 0xc0468062, 0xc0000000, 0xc0120000, 0x00000009}, /* -45.0030=f(-4.50000)*/
+{11, 0,123,__LINE__, 0xc0206243, 0x00000000, 0xc0066666, 0x66666678}, /* -8.19191=f(-2.80000)*/
+{13, 0,123,__LINE__, 0xbff55ed0, 0x00000000, 0xbff19999, 0x999999bd}, /* -1.33564=f(-1.10000)*/
+{13, 0,123,__LINE__, 0x3fe45f77, 0x60000000, 0x3fe33333, 0x333332ec}, /* 0.63665=f(0.60000)*/
+{11, 0,123,__LINE__, 0x4013bf72, 0xc0000000, 0x40026666, 0x66666654}, /* 4.93696=f(2.30000)*/
+{10, 0,123,__LINE__, 0x403b4a37, 0xe0000000, 0x400fffff, 0xffffffee}, /* 27.2899=f(4.00000)*/
+{ 9, 0,123,__LINE__, 0x4062add2, 0xc0000000, 0x4016cccc, 0xccccccc4}, /* 149.431=f(5.70000)*/
+{ 8, 0,123,__LINE__, 0x40898fef, 0x60000000, 0x401d9999, 0x99999991}, /* 817.991=f(7.40000)*/
+{ 8, 0,123,__LINE__, 0x40b17da6, 0x20000000, 0x40223333, 0x3333332f}, /* 4477.64=f(9.10000)*/
+{ 8, 0,123,__LINE__, 0x40d7ef9a, 0x60000000, 0x40259999, 0x99999995}, /* 24510=f(10.8000)*/
+{ 7, 0,123,__LINE__, 0x410060c5, 0x80000000, 0x4028ffff, 0xfffffffb}, /* 134168=f(12.5000)*/
+{ 7, 0,123,__LINE__, 0x412669c0, 0x80000000, 0x402c6666, 0x66666661}, /* 734432=f(14.2000)*/
+{ 7, 0,123,__LINE__, 0x414eac09, 0x80000000, 0x402fcccc, 0xccccccc7}, /* 4.02024e+06=f(15.9000)*/
+{ 7, 0,123,__LINE__, 0x4174fcb4, 0x40000000, 0x40319999, 0x99999997}, /* 2.20066e+07=f(17.6000)*/
+{ 7, 0,123,__LINE__, 0x419cb879, 0x60000000, 0x40334ccc, 0xccccccca}, /* 1.20463e+08=f(19.3000)*/
+{ 7, 0,123,__LINE__, 0x41c3a6e1, 0xa0000000, 0x4034ffff, 0xfffffffd}, /* 6.59408e+08=f(21.0000)*/
+{ 7, 0,123,__LINE__, 0x41eae4b4, 0x20000000, 0x4036b333, 0x33333330}, /* 3.60957e+09=f(22.7000)*/
+{ 6, 0,123,__LINE__, 0x421266cf, 0xe0000000, 0x40386666, 0x66666663}, /* 1.97586e+10=f(24.4000)*/
+{ 6, 0,123,__LINE__, 0x42392ead, 0x00000000, 0x403a1999, 0x99999996}, /* 1.08157e+11=f(26.1000)*/
+{ 6, 0,123,__LINE__, 0x42613b16, 0xc0000000, 0x403bcccc, 0xccccccc9}, /* 5.92046e+11=f(27.8000)*/
+{ 6, 0,123,__LINE__, 0x42879486, 0x60000000, 0x403d7fff, 0xfffffffc}, /* 3.24083e+12=f(29.5000)*/
+0,};
+test_sinhf(m) {run_vector_1(m,sinhf_vec,(char *)(sinhf),"sinhf","ff"); }
diff --git a/newlib/libm/test/sprint_ivec.c b/newlib/libm/test/sprint_ivec.c
new file mode 100644
index 00000000000..24762c6b379
--- /dev/null
+++ b/newlib/libm/test/sprint_ivec.c
@@ -0,0 +1,5017 @@
+#include "test.h"
+
+sprint_int_type sprint_ints[] =
+{
+__LINE__, 0x000838d2, "838d2", "%.4x",
+__LINE__, 0x0063be46, "63BE46", "%-6X",
+__LINE__, -0x1b236c0, "-28456640", "%#0.d",
+__LINE__, -0x0000003, "-3", "% 0d",
+__LINE__, 0x0000ed51, "ed51", "%2.x",
+__LINE__, -0x00001f2, "-498", "%1ld",
+__LINE__, 0x0ea3e927, "EA3E927", "%+X",
+__LINE__, 0xffbef8da, "FFBEF8DA", "%5X",
+__LINE__, 0x62ff9f56, "62ff9f56", "%0x",
+__LINE__, 0x00000ad2, "AD2", "%.0X",
+__LINE__, 0x00000000, " ", "% 6.ld",
+__LINE__, 0xffffffff, "FFFFFFFF", "%1.4X",
+__LINE__, 0x0000208c, " 208C", "%5X",
+__LINE__, 0x0000003c, "3c", "%x",
+__LINE__, 0xffff6177, "0xffff6177", "%+#x",
+__LINE__, 0xffffdc8d, "ffffdc8d", "%+x",
+__LINE__, 0x00000000, "0", "%X",
+__LINE__, 0x00002434, "9268", "%0d",
+__LINE__, 0xd2c72cdb, "d2c72cdb", "%-x",
+__LINE__, 0xfe38012b, "0xfe38012b", "%+#7x",
+__LINE__, 0x00000001, "0001", "%#.4d",
+__LINE__, -0x008525a, "-0545370", "%06.7ld",
+__LINE__, 0xffffffac, "ffffffac", "%3.7x",
+__LINE__, 0x007424d2, "+7611602", "%+ld",
+__LINE__, 0x00001a85, "1A85", "%.4X",
+__LINE__, -0x0000019, "-25", "%3.d",
+__LINE__, 0xfffffffe, "fffffffe", "%-x",
+__LINE__, -0x34473b2, "-54817714", "% d",
+__LINE__, 0x000000ea, "234", "%1.ld",
+__LINE__, -0x0000004, "-4 ", "%-7.ld",
+__LINE__, 0x00006c94, "27796", "%0d",
+__LINE__, 0x00000001, "1", "%ld",
+__LINE__, 0x00000619, "619", "%1x",
+__LINE__, 0x0000209c, "8348", "%ld",
+__LINE__, -0x327f8ff, "-52951295", "%-0ld",
+__LINE__, 0xffffff0b, "FFFFFF0B", "%2.X",
+__LINE__, 0xf199d6ae, "F199D6AE", "%X",
+__LINE__, 0x3ca5602e, "1017471022", "%-1.ld",
+__LINE__, -0xfb2080b, "-263325707", "%3.5d",
+__LINE__, 0x00001cb8, "7352", "%d",
+__LINE__, 0x00000000, "0000000", "%3.7d",
+__LINE__, 0xffffff40, "FFFFFF40", "%+X",
+__LINE__, 0x14664450, "0x14664450", "%#x",
+__LINE__, 0x0000002e, "2e", "%1x",
+__LINE__, 0xffffffff, "ffffffff", "%x",
+__LINE__, 0xffff606a, "0XFFFF606A", "%#X",
+__LINE__, 0xffffff33, "0XFFFFFF33", "%#X",
+__LINE__, 0x00000000, "0", "%d",
+__LINE__, -0x0000012, "-00018", "%-2.5d",
+__LINE__, 0x0001fbe6, "130022", "%1.d",
+__LINE__, 0xfff59dd9, "fff59dd9", "%+x",
+__LINE__, 0x00000002, "2", "%0.0d",
+__LINE__, 0x00000fe1, "fe1 ", "%-7.x",
+__LINE__, 0x001f8f6a, "1F8F6A", "%1.X",
+__LINE__, 0x0000001b, "000001B", "%04.7X",
+__LINE__, 0x126a2609, " 308946441", "% 4d",
+__LINE__, 0xffffffe3, "0XFFFFFFE3", "%+#.1X",
+__LINE__, 0x1858f1c9, "1858f1c9", "%.3x",
+__LINE__, 0x003fc672, "3fc672", "%1x",
+__LINE__, 0x00c0bddc, "12631516", "%#d",
+__LINE__, 0x000006d6, "1750", "%#d",
+__LINE__, 0x000006a0, "6A0", "%X",
+__LINE__, 0x000007be, "7BE", "%X",
+__LINE__, -0x1c7cd1a, "-29871386", "%ld",
+__LINE__, 0x000000cc, "204", "%ld",
+__LINE__, 0x000002db, "731 ", "%-#5d",
+__LINE__, 0xffff67ad, "FFFF67AD", "% X",
+__LINE__, 0x00000008, "8", "%d",
+__LINE__, 0xffe07007, "FFE07007", "%5X",
+__LINE__, -0x0000001, " -1", "% 7d",
+__LINE__, 0xfffffffe, "fffffffe", "%x",
+__LINE__, 0x00027b68, "+162664", "%+ld",
+__LINE__, 0x0a7c1997, "+175905175", "%+2ld",
+__LINE__, 0xfe300896, "fe300896", "%.4x",
+__LINE__, 0x00000537, "537", "%-0.x",
+__LINE__, 0x3e981779, "3e981779", "%.6x",
+__LINE__, 0xfffff05e, "FFFFF05E", "%1.0X",
+__LINE__, -0x07bc0cf, "-8110287", "%-7d",
+__LINE__, -0x01371bc, "-1274300", "%.7ld",
+__LINE__, -0x0000013, "-19", "%.2ld",
+__LINE__, 0x000000d1, "0xd1", "%#x",
+__LINE__, -0x0000003, "-3", "%-ld",
+__LINE__, 0xfffffffc, "FFFFFFFC", "%4.1X",
+__LINE__, 0x00000000, "0", "%ld",
+__LINE__, 0x0001c8af, "116911", "%d",
+__LINE__, 0x000048c3, "48C3", "%X",
+__LINE__, 0x00000079, "0x0000079", "%-#0.7x",
+__LINE__, 0x0000615a, " 24922", "% d",
+__LINE__, 0xfffffff5, "fffffff5", "%x",
+__LINE__, 0x00000308, "0000308", "%+07.7x",
+__LINE__, 0xfcadc983, "fcadc983", "%x",
+__LINE__, 0x00000097, "151", "%#d",
+__LINE__, 0x000001c5, "453", "%0.2ld",
+__LINE__, 0x00000000, "00", "%-1.2x",
+__LINE__, 0x00000001, "+1", "%+02.d",
+__LINE__, 0x01eb4354, "1EB4354", "% X",
+__LINE__, 0xffffa7d1, "ffffa7d1", "%5.x",
+__LINE__, 0x0003170e, "0x3170e", "%#x",
+__LINE__, 0x000001ce, "1CE", "% .2X",
+__LINE__, 0x3a2991fb, "975802875", "%d",
+__LINE__, -0xcdad8e2, "-215668962", "%-d",
+__LINE__, 0xfe0261c3, "fe0261c3", "%x",
+__LINE__, -0x0006ea7, "-28327", "% ld",
+__LINE__, 0x032854a3, "0X32854A3", "% #6X",
+__LINE__, 0x0000004b, "4b", "%x",
+__LINE__, 0xffff6ca3, "FFFF6CA3", "%4.X",
+__LINE__, 0x00000000, "0", "%X",
+__LINE__, 0x00611f04, "611F04", "%.1X",
+__LINE__, 0x00000000, " 0", "%#6d",
+__LINE__, 0x0002c711, "2c711", "%-02.x",
+__LINE__, -0x07a2fe4, "-8007652", "%d",
+__LINE__, -0x0000547, "-1351", "%ld",
+__LINE__, 0x00013954, "0x13954", "%#x",
+__LINE__, -0x00523b7, "-336823", "%ld",
+__LINE__, -0x00f6c6e, "-1010798", "%6.ld",
+__LINE__, 0xffea6427, "FFEA6427", "%3X",
+__LINE__, -0x0000005, "-5", "%d",
+__LINE__, -0x04fe618, "-5236248", "% .7d",
+__LINE__, 0xffa80a28, "ffa80a28", "%-0x",
+__LINE__, 0x00000047, "71", "%ld",
+__LINE__, 0x001dc6bb, "1951419", "%#4ld",
+__LINE__, 0x00000868, " 2152", "%#6d",
+__LINE__, 0x000002fb, "2fb", "%x",
+__LINE__, 0x00607fa0, "6324128", "%4d",
+__LINE__, 0xfffed161, "fffed161", "%x",
+__LINE__, 0x0001c6e4, " 116452", "% 2.5d",
+__LINE__, 0x0003dda8, "3DDA8", "%4X",
+__LINE__, 0xfffffff8, "fffffff8", "%x",
+__LINE__, 0xfacf664a, "facf664a", "%x",
+__LINE__, 0x000000c1, "C1", "% 1X",
+__LINE__, 0x0000839c, " 839C", "%6X",
+__LINE__, 0xfffff69a, "FFFFF69A", "%X",
+__LINE__, 0x000e5c2e, "+941102", "%+d",
+__LINE__, -0x0000004, "-4", "%#d",
+__LINE__, 0x00000000, "00000", "%#.5ld",
+__LINE__, 0xfffffffe, "fffffffe", "%3.1x",
+__LINE__, 0x0010ed68, "1109352", "%-ld",
+__LINE__, 0xffffffe9, "ffffffe9", "%.6x",
+__LINE__, 0x00000007, " 7", "% 4.ld",
+__LINE__, 0x0000caba, "51898", "%ld",
+__LINE__, -0x0000119, "-281", "% d",
+__LINE__, 0x0c3012a9, "204477097", "%03.6ld",
+__LINE__, -0x001c98f, "-117135", "%ld",
+__LINE__, 0x000017b1, "+6065", "%+d",
+__LINE__, 0x00000001, "1", "%ld",
+__LINE__, -0x0000019, "-25", "% .2d",
+__LINE__, 0x0009ae28, "9AE28", "%X",
+__LINE__, 0xe861c4fe, "e861c4fe", "%7.x",
+__LINE__, 0xffac88d3, "FFAC88D3", "%X",
+__LINE__, -0x00005df, "-01503", "%-5.5ld",
+__LINE__, 0x0000013e, "318", "%-0d",
+__LINE__, 0x04b6f58f, "4b6f58f", "%x",
+__LINE__, 0xfffe3978, "fffe3978", "%+0.6x",
+__LINE__, 0x57ee5244, "57ee5244", "%+7.4x",
+__LINE__, 0xfffb5610, "fffb5610", "% 6x",
+__LINE__, 0x00000006, " 6", "%#7d",
+__LINE__, 0x0000000c, "0x0000c", "%#.5x",
+__LINE__, -0xec59362, "-247829346", "%1.7d",
+__LINE__, -0x0000001, "-1", "%ld",
+__LINE__, -0x0007e4b, "-32331", "% d",
+__LINE__, 0x0ececa6f, "248433263", "%0d",
+__LINE__, 0x00000578, " 578", "%+6.x",
+__LINE__, -0x0000003, "-3", "%ld",
+__LINE__, 0x000002bb, "2bb", "% 0x",
+__LINE__, -0x0000006, "-6", "%-ld",
+__LINE__, 0x000002f9, "761", "%d",
+__LINE__, 0xffffd736, "ffffd736", "%3.4x",
+__LINE__, 0x0010ba79, "1096313", "%7.4d",
+__LINE__, -0x0001244, "-4676", "%#.1d",
+__LINE__, 0x00000dbe, "DBE", "%1X",
+__LINE__, -0x0000015, "-21", "%-0.d",
+__LINE__, 0xffffffff, "0xffffffff", "%#x",
+__LINE__, -0x6cdf4a3, "-114160803", "%ld",
+__LINE__, 0x00008ac9, "8AC9", "%1X",
+__LINE__, 0x00000000, "00", "%.2X",
+__LINE__, -0x2263dba, "-36060602", "%5.5d",
+__LINE__, 0x00007da9, "32169", "%0d",
+__LINE__, 0xfffffff7, "FFFFFFF7", "% 4.X",
+__LINE__, 0xfbf36cca, "FBF36CCA", "%.1X",
+__LINE__, 0x00000040, "64", "%.0ld",
+__LINE__, 0x0000001c, " 28", "% d",
+__LINE__, 0xfffffadb, "0xfffffadb", "%#.5x",
+__LINE__, 0x0eb95847, "247027783", "%d",
+__LINE__, 0xfffd7030, "FFFD7030", "%+02X",
+__LINE__, 0x00000005, "00005", "%.5x",
+__LINE__, 0xfffffffd, "FFFFFFFD", "%X",
+__LINE__, 0x98975b15, "98975B15", "%02X",
+__LINE__, -0x0000034, " -52", "%6ld",
+__LINE__, 0xffd7d0cc, "ffd7d0cc", "% 5.6x",
+__LINE__, 0xffffffa6, "FFFFFFA6", "%X",
+__LINE__, 0xfff27132, "fff27132", "%x",
+__LINE__, -0x065b74d, "-6666061", "%+6ld",
+__LINE__, 0xf6ac99d6, "0XF6AC99D6", "%#X",
+__LINE__, 0xfffff4bd, "FFFFF4BD", "%X",
+__LINE__, 0xfffffb62, "FFFFFB62", "%6X",
+__LINE__, 0xf8434543, "f8434543", "%-0x",
+__LINE__, 0x0002b374, "0x2b374", "%-#6x",
+__LINE__, 0x00000000, "0", "%x",
+__LINE__, 0xffb5751d, "ffb5751d", "%-3.x",
+__LINE__, 0x34ea7347, "887780167", "%d",
+__LINE__, -0x008f457, "-586839", "%0ld",
+__LINE__, 0x00000001, " 1", "%#4d",
+__LINE__, 0xc32d7ad4, "c32d7ad4", "%0x",
+__LINE__, 0xfffffb80, "FFFFFB80", "%-.2X",
+__LINE__, 0x00000756, "756 ", "%-6x",
+__LINE__, 0xfffb020f, "FFFB020F", "%+.2X",
+__LINE__, -0xe68619f, "-241721759", "%#1.6ld",
+__LINE__, 0x180166cd, "402745037", "%3.7ld",
+__LINE__, -0x0000001, "-1", "%+00d",
+__LINE__, 0xfdbc3611, "fdbc3611", "%x",
+__LINE__, -0x000005b, "-91", "%d",
+__LINE__, 0xffffe77f, "ffffe77f", "%x",
+__LINE__, -0x0000019, "-25", "%ld",
+__LINE__, 0x00000016, "22", "%#d",
+__LINE__, -0x0000025, "-37", "%ld",
+__LINE__, 0xffffe43f, "ffffe43f", "%x",
+__LINE__, 0x000050a5, "00050a5", "%.7x",
+__LINE__, 0x0000000c, " 12", "% 5.ld",
+__LINE__, -0x001faff, "-129791", "%4d",
+__LINE__, 0x239d7cf2, "597523698", "%0.7ld",
+__LINE__, 0x04092183, "4092183", "% 7X",
+__LINE__, -0x0043498, "-275608", "%-ld",
+__LINE__, -0x0018dbe, "-101822", "%d",
+__LINE__, 0xff3e09c3, "FF3E09C3", "%X",
+__LINE__, 0x00000000, "0", "%d",
+__LINE__, -0x15d57558, "-366310744", "%+0.7ld",
+__LINE__, 0x0004fb06, "326406", "%0.0d",
+__LINE__, 0x00000119, "0X119", "%#X",
+__LINE__, -0x14c53e19, "-348470809", "%d",
+__LINE__, 0x00000019, "0000019", "% .7X",
+__LINE__, -0x0000654, "-1620", "%0.4ld",
+__LINE__, -0xde5899b, "-233146779", "%#.1d",
+__LINE__, 0x0013c1f0, "1294832", "%4.ld",
+__LINE__, 0x0a9fe761, "A9FE761", "%X",
+__LINE__, -0x00000e5, "-229", "%1ld",
+__LINE__, 0x00000161, "000353", "%.6ld",
+__LINE__, 0x6b04e4bd, "0x6b04e4bd", "%#7.0x",
+__LINE__, -0x0000ef0, "-3824 ", "%-6.ld",
+__LINE__, -0x026306e, "-2502766", "%ld",
+__LINE__, 0x00000000, "0", "%-X",
+__LINE__, 0xfffffe1f, "fffffe1f", "%-x",
+__LINE__, 0x0003aecf, " 241359", "% 2.1ld",
+__LINE__, -0x0000014, "-20", "%d",
+__LINE__, 0x00000002, "0002", "%-.4ld",
+__LINE__, 0xfffff662, "0XFFFFF662", "% #.6X",
+__LINE__, 0x00000006, "6", "%0x",
+__LINE__, 0x0001f4c4, " 128196", "% 0d",
+__LINE__, 0xffffffff, "FFFFFFFF", "%5X",
+__LINE__, 0x05605e38, "90201656", "%ld",
+__LINE__, 0xffffffde, "0XFFFFFFDE", "% #X",
+__LINE__, 0x000001e0, " 1e0", "%7.x",
+__LINE__, 0x00000007, "7", "%X",
+__LINE__, 0x00000001, "+1", "%+d",
+__LINE__, 0xffffffe0, "FFFFFFE0", "% X",
+__LINE__, 0xffd7f77a, "FFD7F77A", "%+00.1X",
+__LINE__, 0xfffffffe, "0xfffffffe", "%-#x",
+__LINE__, 0x01b0a63b, "1b0a63b", "%x",
+__LINE__, -0x06554b7, "-6640823", "%d",
+__LINE__, 0xfffffff8, "fffffff8", "%x",
+__LINE__, 0x00000b2d, "b2d", "%x",
+__LINE__, -0x2664ba2, "-40258466", "%-d",
+__LINE__, 0xfffffffe, "FFFFFFFE", "%X",
+__LINE__, -0x0000552, " -1362", "%6.2ld",
+__LINE__, 0x00000009, " 00009", "%6.5x",
+__LINE__, 0x00035c72, "220274", "%05.ld",
+__LINE__, -0x014d09d, "-1364125", "%d",
+__LINE__, -0x0000002, " -2", "% 4d",
+__LINE__, 0x00000001, "1", "%+X",
+__LINE__, 0x00000028, "28", "%X",
+__LINE__, 0xf25c9eb2, "F25C9EB2", "%7.X",
+__LINE__, -0x7ae4b62, "-128863074", "%d",
+__LINE__, 0x00630d87, "630D87", "%2X",
+__LINE__, 0x000000f8, "F8", "%-X",
+__LINE__, 0xfffffff9, "FFFFFFF9", "%X",
+__LINE__, -0x0000007, "-7", "%0d",
+__LINE__, -0x2518fcd, "-38899661", "% 3ld",
+__LINE__, 0xfffff4b4, "FFFFF4B4", "%-5X",
+__LINE__, 0x01cc36c8, "30160584", "%ld",
+__LINE__, 0xffffffff, "ffffffff", "%-x",
+__LINE__, 0x0000000b, " 11", "%6.ld",
+__LINE__, 0x00010d55, " 68949", "% d",
+__LINE__, -0x0c01306, "-12587782", "% 6.1ld",
+__LINE__, 0x001719d7, "1513943", "%.1ld",
+__LINE__, -0x0000002, " -2", "%+3.ld",
+__LINE__, 0x0000018e, "398", "%d",
+__LINE__, 0x000000a6, "0xa6", "%-#3x",
+__LINE__, 0x00006f66, " 28518", "% #d",
+__LINE__, 0x0000032a, "32A", "%X",
+__LINE__, -0x0000145, "-325", "%0d",
+__LINE__, 0xffffffff, "ffffffff", "%2.x",
+__LINE__, 0x00287171, "2650481", "%ld",
+__LINE__, 0x0000004b, "+75", "%+02.ld",
+__LINE__, 0xfffffff8, "fffffff8", "%-0x",
+__LINE__, 0x00000064, "64", "% X",
+__LINE__, 0xfffffca2, "fffffca2", "%0x",
+__LINE__, 0x000010b6, "10b6", "% .0x",
+__LINE__, -0x003806f, "-229487", "%7d",
+__LINE__, -0x00000b7, "-183", "%3ld",
+__LINE__, 0xffffe5ba, "FFFFE5BA", "%0X",
+__LINE__, 0x001f0da8, "1f0da8", "%+x",
+__LINE__, 0x000ce185, "844165", "%0ld",
+__LINE__, 0x00000c96, "3222", "%0d",
+__LINE__, -0x0013099, "-77977", "%1.ld",
+__LINE__, -0x5f3c47a, "-99861626", "%.6ld",
+__LINE__, 0x00000cbf, " CBF", "%+5.X",
+__LINE__, -0x0000001, "-1", "%+ld",
+__LINE__, 0x0d793bc3, "d793bc3", "%6.x",
+__LINE__, 0xfffffffd, "0xfffffffd", "%+#x",
+__LINE__, -0x0000070, " -112", "%6.d",
+__LINE__, 0xfffffb3f, "FFFFFB3F", "%.7X",
+__LINE__, 0x037dfc78, "0X37DFC78", "%#X",
+__LINE__, 0x00009ba5, "39845", "%3ld",
+__LINE__, 0x0000004a, "4a", "%0x",
+__LINE__, 0xffffff81, "ffffff81", "%5.5x",
+__LINE__, -0x86ef222, "-141488674", "%ld",
+__LINE__, -0xac5531e, "-180704030", "% 4ld",
+__LINE__, 0x00002493, "2493", "%+X",
+__LINE__, 0xffffffff, "FFFFFFFF", "%1.3X",
+__LINE__, 0x0005c875, "378997", "%.0ld",
+__LINE__, 0x0301d345, "50451269", "%d",
+__LINE__, 0xfff6b589, "fff6b589", "%2.4x",
+__LINE__, -0x00001db, "-475 ", "%-7.0d",
+__LINE__, 0x0000d1e7, "0x000d1e7", "%#2.7x",
+__LINE__, 0xf4c4d2bb, "f4c4d2bb", "%.6x",
+__LINE__, 0x00c89f54, "13147988", "%ld",
+__LINE__, -0x6599253c, "-1704535356", "%+ld",
+__LINE__, 0xab7d61ea, "ab7d61ea", "% x",
+__LINE__, 0x00000006, "6", "%1ld",
+__LINE__, 0xffff5ab7, "ffff5ab7", "%0x",
+__LINE__, -0x1cfeca5b, "-486459995", "%#ld",
+__LINE__, 0x000000f3, " f3", "% 6.x",
+__LINE__, -0x0000021, "-33", "%d",
+__LINE__, 0xfe7246ac, "fe7246ac", "%-5.x",
+__LINE__, 0x00000017, "00017", "%-.5X",
+__LINE__, -0x0cc250a, "-13378826", "%0.0d",
+__LINE__, -0x00010ae, "-04270", "%#.5ld",
+__LINE__, -0x7952c8b, "-127216779", "% ld",
+__LINE__, 0x0002a53e, "173374", "%4.0d",
+__LINE__, 0x03801bbf, "3801BBF", "%0X",
+__LINE__, 0x0368645f, "+57173087", "%+#0.6ld",
+__LINE__, 0x0000002f, "47", "%d",
+__LINE__, 0x00000003, "3", "%x",
+__LINE__, 0x000005f7, "5F7", "%0X",
+__LINE__, -0x06e5e76, "-7233142", "% 0.1ld",
+__LINE__, 0x053da936, "53da936", "%1.4x",
+__LINE__, -0x0df0c2f, "-14617647", "%.5ld",
+__LINE__, 0xfffffffd, "FFFFFFFD", "%-0X",
+__LINE__, 0x000104bf, "104BF", "%X",
+__LINE__, 0x000353fc, "353FC", "%X",
+__LINE__, 0x182a18dc, "+405412060", "%+ld",
+__LINE__, 0x0000000e, " 14", "% 2d",
+__LINE__, -0x0000091, "-145", "%+ld",
+__LINE__, 0x0029a9d6, "2730454", "%d",
+__LINE__, 0x00009d57, "009d57", "% .6x",
+__LINE__, 0x4c4d4f79, "1280135033", "%5.ld",
+__LINE__, -0x000075b, "-1883", "% 03d",
+__LINE__, -0x001b718, "-112408", "%+d",
+__LINE__, 0xfffaaf57, "FFFAAF57", "%+1X",
+__LINE__, 0x00f44e52, "F44E52", "% 4X",
+__LINE__, 0x00000002, "0X2", "%#X",
+__LINE__, 0x000a85e9, "A85E9", "%+0X",
+__LINE__, 0xffff70bb, "ffff70bb", "%6x",
+__LINE__, 0x00004e15, "4e15", "%x",
+__LINE__, 0x000eeb60, " 977760", "% ld",
+__LINE__, 0xfffffff1, "fffffff1", "%0x",
+__LINE__, -0x294d7e2, "-43309026", "% 02.d",
+__LINE__, 0x0001aaeb, "0109291", "%02.7ld",
+__LINE__, 0x000a01fc, "0xa01fc", "%-#.5x",
+__LINE__, 0x002c3c30, "+2898992", "%+#d",
+__LINE__, 0x015667ae, "+22439854", "%+5ld",
+__LINE__, -0x05af42b, "-5960747", "%+d",
+__LINE__, 0x0000be36, "be36", "%+2x",
+__LINE__, 0x005e3f67, "5e3f67", "% x",
+__LINE__, -0x0000020, "-32", "% ld",
+__LINE__, -0x0003617, "-13847", "% d",
+__LINE__, 0x00000014, "14 ", "%-4.X",
+__LINE__, 0x00000001, "001", "%0.3d",
+__LINE__, 0xfffffea9, "fffffea9", "%3.x",
+__LINE__, 0xe447099e, "E447099E", "%0X",
+__LINE__, 0x00049c71, "302193", "%d",
+__LINE__, 0x76356ed3, "0x76356ed3", "%#4.1x",
+__LINE__, 0x00000005, " 0X5", "%#5X",
+__LINE__, 0x00004da2, "0x004da2", "%#1.6x",
+__LINE__, 0xffdfb36c, "FFDFB36C", "%4X",
+__LINE__, 0xffffe3c5, "FFFFE3C5", "%+4.X",
+__LINE__, 0x00000006, "6", "%0x",
+__LINE__, -0x914ff17, "-152370967", "% .5ld",
+__LINE__, -0x0000002, "-2", "%0ld",
+__LINE__, 0xffffff36, "FFFFFF36", "% 2X",
+__LINE__, -0x0bb1598, "-12260760", "%-ld",
+__LINE__, 0x00006db5, "28085", "%0.5ld",
+__LINE__, 0xffffffff, "ffffffff", "%x",
+__LINE__, -0x0000001, "-1", "%0ld",
+__LINE__, 0x0fa37e79, "FA37E79", "%1.X",
+__LINE__, -0x00000ac, "-172", "%.2d",
+__LINE__, 0xffffffd8, "ffffffd8", "%.7x",
+__LINE__, -0x000a513, "-42259", "%ld",
+__LINE__, 0x00001294, "4756", "%2ld",
+__LINE__, -0x56bae0b4, "-1455087796", "%.1ld",
+__LINE__, 0x3b26d5fa, "3b26d5fa", "%x",
+__LINE__, 0xff657013, "ff657013", "%x",
+__LINE__, -0x00005f5, "-1525", "%0.0ld",
+__LINE__, -0x0000001, " -1", "% 7d",
+__LINE__, -0x02396b2, "-2332338", "%d",
+__LINE__, -0x0000003, "-000003", "%+7.6d",
+__LINE__, 0xfd3ec7c1, "fd3ec7c1", "% 3.4x",
+__LINE__, -0x076e338, "-7791416", "%0.d",
+__LINE__, -0x000015e, "-350", "%3ld",
+__LINE__, 0x0a0f0b71, "a0f0b71", "%x",
+__LINE__, 0xfffe00ba, "FFFE00BA", "%X",
+__LINE__, 0x00036bd8, " 36bd8", "% 06.x",
+__LINE__, 0xfffff2df, "0XFFFFF2DF", "%#2.6X",
+__LINE__, 0x004687fb, "4622331", "%ld",
+__LINE__, -0x0000331, " -817", "%+6.d",
+__LINE__, 0xfcd5b090, "fcd5b090", "%+0x",
+__LINE__, 0x0334f94c, "334F94C", "%.6X",
+__LINE__, 0x00000bce, "3022", "%.3ld",
+__LINE__, 0xf28d9ddd, "f28d9ddd", "%x",
+__LINE__, 0x00003a79, " 14969", "% ld",
+__LINE__, 0xfffffffe, "FFFFFFFE", "%.7X",
+__LINE__, 0x0043d7fe, "43D7FE", "%X",
+__LINE__, -0x0000b82, "-2946", "%-ld",
+__LINE__, -0x00e29d8, "-928216", "%d",
+__LINE__, 0xffffffec, "ffffffec", "%-x",
+__LINE__, 0x0aeaf557, "0xaeaf557", "%-#x",
+__LINE__, 0x00c07fe6, "C07FE6", "%X",
+__LINE__, 0x307414d8, "307414d8", "% 0x",
+__LINE__, -0x045ef67, "-4583271", "%d",
+__LINE__, 0x0000024a, " 0000586", "% .7d",
+__LINE__, 0xfffffc42, "fffffc42", "%x",
+__LINE__, 0xfc38c249, "fc38c249", "%5.x",
+__LINE__, -0x000d096, "-53398", "%-d",
+__LINE__, -0x213a345, "-34841413", "%ld",
+__LINE__, -0x0000130, "-304", "%ld",
+__LINE__, -0x000efd1, "-61393", "%ld",
+__LINE__, 0xfffff867, "FFFFF867", "%2X",
+__LINE__, 0x00113ed0, "0x113ed0", "%-#7x",
+__LINE__, 0x00000677, " 1655", "% 3.ld",
+__LINE__, 0x0000002f, "2f", "%x",
+__LINE__, 0xfffffd38, "fffffd38", "%-4x",
+__LINE__, -0x000b3cc, "-46028", "%1.2d",
+__LINE__, 0x45da719b, "45DA719B", "%+0X",
+__LINE__, -0x000a454, " -42068", "%7.3ld",
+__LINE__, 0x01cc7c30, " 30178352", "% d",
+__LINE__, -0x05ae80e, "-5957646", "%#.4ld",
+__LINE__, 0x000000b9, "185", "%d",
+__LINE__, 0x003fcaf4, "4180724", "%1.ld",
+__LINE__, 0x02da1b74, "2DA1B74", "%X",
+__LINE__, 0xffffffd9, "FFFFFFD9", "%X",
+__LINE__, 0x00064359, "64359 ", "%-6X",
+__LINE__, 0x000000f0, "240", "%ld",
+__LINE__, -0x01715e5, "-1512933", "%ld",
+__LINE__, 0xc8f6e118, "0XC8F6E118", "%#X",
+__LINE__, 0xfffffd8f, "FFFFFD8F", "%X",
+__LINE__, 0x0000176d, "5997 ", "%-6d",
+__LINE__, 0x00003cab, "0x3cab", "%#0.3x",
+__LINE__, 0x00000001, " 1", "% d",
+__LINE__, 0xfffff610, "0XFFFFF610", "%#X",
+__LINE__, 0xfffffffe, "FFFFFFFE", "%5.7X",
+__LINE__, 0x00000001, "1", "%0x",
+__LINE__, 0x00000001, "00001", "%.5ld",
+__LINE__, -0x0000d51, "-3409", "%d",
+__LINE__, -0x08639ee, "-8796654", "%ld",
+__LINE__, 0x00003121, "12577", "%#1.2ld",
+__LINE__, 0x0000004e, "78", "%d",
+__LINE__, 0xfffff64f, "fffff64f", "%-x",
+__LINE__, 0x0000002a, "2a", "%0x",
+__LINE__, 0x00000020, "20", "%x",
+__LINE__, -0x00000b8, "-184", "%#ld",
+__LINE__, 0x0000000a, "10", "%-#d",
+__LINE__, 0x00000364, "868", "%.1ld",
+__LINE__, 0x00d1f9b6, "D1F9B6", "%0.X",
+__LINE__, 0x008cfda1, "8CFDA1", "% 6.X",
+__LINE__, 0xffd58cce, "FFD58CCE", "%X",
+__LINE__, 0x00000008, "0000008", "%6.7ld",
+__LINE__, 0x00000318, " 318", "%4X",
+__LINE__, 0x000172d8, "94936", "%2ld",
+__LINE__, -0x056ccbf, "-5688511", "%ld",
+__LINE__, 0x000000c7, "+000199", "%+0.6d",
+__LINE__, 0x00000002, "0X2", "%-#X",
+__LINE__, 0xfffff634, "FFFFF634", "%.1X",
+__LINE__, -0x00001f3, "-499", "%-ld",
+__LINE__, -0x000081b, "-2075", "%-d",
+__LINE__, 0x000000b5, "181", "%0d",
+__LINE__, 0xfe961ee8, "fe961ee8", "%0x",
+__LINE__, 0x000028a2, "10402", "%d",
+__LINE__, 0xffffffff, "FFFFFFFF", "%.4X",
+__LINE__, -0x000058a, "-1418", "%.3ld",
+__LINE__, 0x00001ceb, "1CEB", "%X",
+__LINE__, 0x00000021, "21", "% X",
+__LINE__, 0x00000002, "2", "%0d",
+__LINE__, -0x2f9bbf5, "-49921013", "%.4ld",
+__LINE__, 0x00000e91, "03729", "%#.5ld",
+__LINE__, 0xf1116740, "f1116740", "%2x",
+__LINE__, 0x00014f72, "14F72", "%X",
+__LINE__, 0xfffffced, "FFFFFCED", "%X",
+__LINE__, 0xffffffff, "ffffffff", "%.5x",
+__LINE__, 0x0017cf0c, " 1560332", "% 0ld",
+__LINE__, 0x0000000a, "A", "% X",
+__LINE__, 0xff3a39d4, "ff3a39d4", "%x",
+__LINE__, 0xfffef05f, "FFFEF05F", "%X",
+__LINE__, 0xfedfe708, "fedfe708", "%03.0x",
+__LINE__, 0x000345a0, "345A0", "% X",
+__LINE__, -0x1ed5b6f7, "-517322487", "%d",
+__LINE__, 0xd2d56c22, "D2D56C22", "%0.X",
+__LINE__, 0x00002cbf, "2CBF", "%.2X",
+__LINE__, 0x00000db4, "db4", "%3x",
+__LINE__, -0x000b154, "-45396", "%d",
+__LINE__, 0x002bf4c7, "2BF4C7", "%X",
+__LINE__, 0x6954abf4, "+1767156724", "%+d",
+__LINE__, 0xfffffffb, "fffffffb", "%x",
+__LINE__, -0x29e0050e, "-702547214", "%-0ld",
+__LINE__, -0x0014989, "-84361", "%-#0.3ld",
+__LINE__, 0x001a557c, "+1725820", "%+6.5d",
+__LINE__, -0x56689a81, "-1449695873", "%.2d",
+__LINE__, 0x00000016, " 16", "%05.X",
+__LINE__, 0x0001da1e, " 121374", "% d",
+__LINE__, -0x04deac7, "-5106375", "%03.4d",
+__LINE__, 0x000012b1, "4785", "%d",
+__LINE__, 0x0009a116, "9a116", "%-x",
+__LINE__, -0x0000003, "-000003", "%4.6ld",
+__LINE__, 0x00000000, "", "%.0x",
+__LINE__, 0x0000000a, " A", "% 3X",
+__LINE__, 0xfffffff0, "0xfffffff0", "%-#0.1x",
+__LINE__, 0x00000086, "86", "%0X",
+__LINE__, 0x0000001f, "31", "%-d",
+__LINE__, 0x0386f706, "59176710", "%3.6ld",
+__LINE__, 0xffe437ae, "0XFFE437AE", "%#X",
+__LINE__, 0x0e5405c6, "e5405c6", "%-x",
+__LINE__, 0xfffdee46, "FFFDEE46", "%+X",
+__LINE__, 0xff861e9d, "FF861E9D", "%5.X",
+__LINE__, 0xfffff570, "FFFFF570", "%-X",
+__LINE__, 0x045c90bd, "45c90bd", "%0x",
+__LINE__, 0x000000aa, "AA", "%+X",
+__LINE__, -0x747262e, "-122103342", "%0ld",
+__LINE__, 0xffffad89, "FFFFAD89", "%X",
+__LINE__, 0x00000018, "18", "%0.2X",
+__LINE__, 0x00057a2d, " 358957", "% #7.d",
+__LINE__, 0x73a0e21d, "1939923485", "%ld",
+__LINE__, -0x00021e1, "-8673", "%0d",
+__LINE__, 0x000000e9, " 233", "% 06.3ld",
+__LINE__, 0xffffcc0d, "ffffcc0d", "%x",
+__LINE__, 0x00000052, "52", "%x",
+__LINE__, 0x01c155af, "1C155AF", "%.5X",
+__LINE__, 0xffffffff, "ffffffff", "%0.x",
+__LINE__, -0x00400a4, "-262308", "%-d",
+__LINE__, -0x0000001, "-0000001", "%#.7ld",
+__LINE__, 0x01fb9c99, "1fb9c99", "% 03.5x",
+__LINE__, 0xffffffff, "ffffffff", "%6.x",
+__LINE__, 0xff5e5eea, "FF5E5EEA", "%X",
+__LINE__, 0x0000000f, "F", "%+0X",
+__LINE__, 0xfffffe3a, "fffffe3a", "% x",
+__LINE__, 0xfffffffe, "FFFFFFFE", "%-X",
+__LINE__, -0x0000007, "-7", "%0ld",
+__LINE__, -0x002f635, "-194101", "%d",
+__LINE__, -0x0000005, "-5", "%ld",
+__LINE__, -0x0000059, "-89", "%0ld",
+__LINE__, -0x1ccda96, "-30202518", "%d",
+__LINE__, -0x0000002, "-2", "%-d",
+__LINE__, 0xffffffda, "0XFFFFFFDA", "%#X",
+__LINE__, 0x00036cc5, "224453", "%#d",
+__LINE__, 0x00000010, "+16", "%+ld",
+__LINE__, 0x0b6039c7, "190855623", "%d",
+__LINE__, -0x0000002, "-002", "%#.3d",
+__LINE__, 0xfff3e746, "FFF3E746", "%-4X",
+__LINE__, 0x0361b3de, "361B3DE", "% 04X",
+__LINE__, 0xffffe6a2, "ffffe6a2", "%-x",
+__LINE__, 0x00032790, "0x0032790", "%#7.7x",
+__LINE__, 0xffe33b4e, "ffe33b4e", "%-0x",
+__LINE__, -0x0094663, "-607843", "%.3ld",
+__LINE__, -0x00a3efa, "-671482", "%4d",
+__LINE__, 0x000000e6, " 00E6", "%7.4X",
+__LINE__, 0x000125cb, "125CB", "%+X",
+__LINE__, 0x0000b97e, "b97e", "%x",
+__LINE__, -0x0000039, "-57", "%+ld",
+__LINE__, 0xffffe39a, "ffffe39a", "%5.4x",
+__LINE__, 0xffffffff, "ffffffff", "%6.1x",
+__LINE__, -0xdee910c, "-233738508", "%-#2d",
+__LINE__, -0x14044930, "-335825200", "%6.ld",
+__LINE__, 0x00a81259, "a81259", "%x",
+__LINE__, 0x020e74c6, "20E74C6", "%X",
+__LINE__, -0x00000fb, "-251", "%01.d",
+__LINE__, 0x034ceb45, "34CEB45", "%5.X",
+__LINE__, 0xfeacb66a, "feacb66a", "% x",
+__LINE__, 0x00003eb6, "3EB6", "% X",
+__LINE__, 0x000009ef, "9ef", "% x",
+__LINE__, 0xf9d9dd07, "F9D9DD07", "%0X",
+#ifndef __PCCNECV70__
+
+__LINE__, 0x000154d7, "087255", "%.6ld",
+__LINE__, -0x000036e, "-878", "%-ld",
+__LINE__, -0x0007dcc, "-32204", "% d",
+__LINE__, 0x000019dc, "6620", "%d",
+__LINE__, 0xffffff6e, "FFFFFF6E", "%2X",
+__LINE__, 0x00000016, "0x16", "%-#x",
+__LINE__, 0xffdb3e96, "ffdb3e96", "%+.5x",
+__LINE__, 0xffffffef, "FFFFFFEF", "% 04.X",
+__LINE__, 0xffffffff, "FFFFFFFF", "%5X",
+__LINE__, 0x000c08cd, "C08CD", "%-X",
+__LINE__, 0x18de71ee, "18de71ee", "%x",
+__LINE__, 0xffffffff, "ffffffff", "% x",
+__LINE__, -0x00025bd, "-009661", "%#.6d",
+__LINE__, 0x2f05de14, " 788913684", "% 6.4ld",
+__LINE__, 0x0c99cf86, "211406726", "%.5d",
+__LINE__, 0x09e6a21d, " 166109725", "% 0d",
+__LINE__, -0x013da65, "-1301093", "%+ld",
+__LINE__, 0x000003d0, " 976", "% 4.2d",
+__LINE__, -0xef9e3cc, "-251257804", "%-7.0d",
+__LINE__, 0x0000000c, "+12", "%+00ld",
+__LINE__, 0xffffffe2, "ffffffe2", "%x",
+__LINE__, 0x000000fe, "fe", "%-x",
+__LINE__, 0xfffffc5f, "fffffc5f", "%x",
+__LINE__, -0x0005c55, "-23637", "%d",
+__LINE__, -0x0111ff2, "-1122290", "% 7.d",
+__LINE__, -0x1a1746e5, "-437733093", "%.4ld",
+__LINE__, 0x00001007, "004103", "%00.6d",
+__LINE__, 0xffffffe1, "ffffffe1", "%x",
+__LINE__, 0x0000d80f, "55311", "%d",
+__LINE__, 0x00000004, "4", "%+X",
+__LINE__, 0xfffffffd, "fffffffd", "%6x",
+__LINE__, -0x2afbcc3c, "-721144892", "%4.6ld",
+__LINE__, 0x00377f96, "377F96", "%6.X",
+__LINE__, 0xffffffc8, "FFFFFFC8", "%0X",
+__LINE__, 0x007ed9d1, "8313297", "%-3d",
+__LINE__, 0x00000000, "0", "%-X",
+__LINE__, 0x001e122d, "1970733", "%01.d",
+__LINE__, -0x000029b, "-667", "%ld",
+__LINE__, -0x002f563, "-193891", "% 2.5d",
+__LINE__, 0xfffffffe, "fffffffe", "%+3.7x",
+__LINE__, 0xfff7658c, "fff7658c", "%x",
+__LINE__, -0x0006d08, "-0027912", "%7.7ld",
+__LINE__, 0x00000080, "80", "%X",
+__LINE__, 0x0000078f, " 1935", "% 6ld",
+__LINE__, 0xfffffffb, "FFFFFFFB", "% X",
+__LINE__, 0x000000ae, " AE", "%7.X",
+__LINE__, -0x000d6aa, "-54954", "%-ld",
+__LINE__, 0xfffffffe, "FFFFFFFE", "%6.X",
+__LINE__, 0x000003bf, "+959", "%+d",
+__LINE__, -0x7242d04b, "-1916981323", "% ld",
+__LINE__, 0xf0e6546f, "F0E6546F", "% .7X",
+__LINE__, 0x047e196a, "75372906", "%ld",
+__LINE__, 0x0240174e, "240174E", "%+0X",
+__LINE__, -0x0000006, "-006", "%.3ld",
+__LINE__, 0x00068aac, "428716", "%#ld",
+__LINE__, 0xffffffa1, "ffffffa1", "%0x",
+__LINE__, 0x000adab3, "adab3", "%x",
+__LINE__, -0x00000ae, "-0000174", "%7.7ld",
+__LINE__, 0x0f0a8f4b, "f0a8f4b", "% x",
+__LINE__, 0xfee229bc, "fee229bc", "%x",
+__LINE__, -0x275b8455, "-660309077", "%.2ld",
+__LINE__, -0xca4b2a5, "-212120229", "%d",
+__LINE__, 0x000000b5, " 181", "%04.d",
+__LINE__, 0xfff213f2, "FFF213F2", "%X",
+__LINE__, 0x00000003, "3", "%-X",
+__LINE__, 0x0ebb978b, "247175051", "%.6ld",
+__LINE__, 0xffffffca, "FFFFFFCA", "%X",
+__LINE__, -0x0000003, "-03", "%+0.2d",
+__LINE__, -0x178ff86, "-24706950", "%+d",
+__LINE__, 0x0000003c, " 60", "%7.ld",
+__LINE__, -0x001012d, "-65837", "%.5d",
+__LINE__, 0x03673fd2, "3673fd2", "%.5x",
+__LINE__, -0x001fe74, "-130676", "%#0.6ld",
+__LINE__, 0x004f6226, "4f6226", "%-0x",
+__LINE__, 0xfffffa0f, "fffffa0f", "%7x",
+__LINE__, 0xfffffff8, "fffffff8", "%-.6x",
+__LINE__, -0x0000001, "-1", "%#d",
+__LINE__, 0xffffe43d, "ffffe43d", "%7x",
+__LINE__, 0x00009d47, "0040263", "%7.7ld",
+__LINE__, 0xff0fc79f, "FF0FC79F", "%-4.X",
+__LINE__, 0x2d610907, "2d610907", "%x",
+__LINE__, -0x00002de, "-734", "%04d",
+__LINE__, 0x0000036b, " 36B", "%7.1X",
+__LINE__, 0x00000002, "2", "%.0x",
+__LINE__, -0x1f577b3e, "-525826878", "%d",
+__LINE__, 0x0000002d, "45", "%#ld",
+__LINE__, 0xfffffffb, "fffffffb", "%x",
+__LINE__, -0x0000004, "-4", "%-.0d",
+__LINE__, 0x00016ba4, "16ba4", "%x",
+__LINE__, -0x1ad853d5, "-450384853", "% 0ld",
+__LINE__, 0x00366899, "366899", "%2.x",
+__LINE__, 0x1659158b, "1659158B", "%X",
+__LINE__, 0x000076c7, "76c7", "%x",
+__LINE__, 0x00000674, "674", "%0x",
+__LINE__, 0x016c9d8a, "+23895434", "%+ld",
+__LINE__, 0xfffffc43, "FFFFFC43", "%0X",
+__LINE__, 0xfff249d2, "fff249d2", "%-2.x",
+__LINE__, 0xffffffdd, "ffffffdd", "%5x",
+__LINE__, 0xffffa7ef, "FFFFA7EF", "%0.3X",
+__LINE__, 0x030d4d06, "30d4d06", "%x",
+__LINE__, -0x0e4694b, "-14969163", "%d",
+__LINE__, 0x00000078, "120", "%.3ld",
+__LINE__, -0x16c1273e, "-381757246", "%0d",
+__LINE__, 0xffffd183, "FFFFD183", "% 0X",
+__LINE__, -0x2dfdadd, "-48224989", "%ld",
+__LINE__, -0x5767fe5c, "-1466433116", "%ld",
+__LINE__, 0x01bea036, "29270070", "%#4.3d",
+__LINE__, 0x00000027, "27", "%-x",
+__LINE__, 0x0004d183, "4D183", "%X",
+__LINE__, 0xffdaf9c8, "FFDAF9C8", "%.7X",
+__LINE__, 0xfffffd95, "fffffd95", "%x",
+__LINE__, -0x0059acb, "-367307", "%00.d",
+__LINE__, 0x017d8db4, "17d8db4", "% 05.x",
+__LINE__, 0x0001f084, "001F084", "%5.7X",
+__LINE__, 0x00000006, " 6", "% ld",
+__LINE__, 0x011b0802, "18548738", "%.3ld",
+__LINE__, 0x00000006, " 6", "%#3.d",
+__LINE__, 0xffffffff, "ffffffff", "%6x",
+__LINE__, 0x00000001, "1", "% x",
+__LINE__, 0x00000750, " 01872", "% .5d",
+__LINE__, 0xfffffff9, "fffffff9", "%x",
+__LINE__, -0x00f842c, "-1016876", "%+d",
+__LINE__, -0x001dcf0, "-122096", "%-0d",
+__LINE__, 0x000000c9, "0XC9", "% #3X",
+__LINE__, 0x1e368e86, "1e368e86", "%7x",
+__LINE__, -0x0001157, "-4439", "% 03.4d",
+__LINE__, 0xfff91e87, "FFF91E87", "%3.5X",
+__LINE__, 0x00000006, "6", "%x",
+__LINE__, 0x00000bca, "3018", "%ld",
+__LINE__, 0x00495ff6, "495ff6", "%01.0x",
+__LINE__, -0x0267f7a, "-2523002", "% #5d",
+__LINE__, 0x00000060, "96", "%-d",
+__LINE__, 0x000850c6, "544966", "%#.1d",
+__LINE__, 0x00231457, "231457", "%-6.4X",
+__LINE__, 0x0000000b, "11", "%-d",
+__LINE__, 0x000003bd, "957", "%#d",
+__LINE__, 0xfd51d970, "FD51D970", "%+.7X",
+__LINE__, 0x000007bf, "1983", "%-ld",
+__LINE__, 0x000034b2, "34B2", "%0.X",
+__LINE__, 0x0000c18d, "C18D", "%0.X",
+__LINE__, 0xffffbb83, "ffffbb83", "% 3x",
+__LINE__, 0x000001d0, "0x1d0", "%#x",
+__LINE__, -0x003c784, "-247684", "%#ld",
+__LINE__, 0x0210cffa, "210CFFA", "%X",
+__LINE__, -0x33093a1, "-53515169", "% 0d",
+__LINE__, 0x00000001, " 1", "% #ld",
+__LINE__, 0xffffaa53, "ffffaa53", "%-4.5x",
+__LINE__, 0x2935c056, "691388502", "%1.d",
+__LINE__, -0x0000001, "-1", "%ld",
+__LINE__, 0x000013d1, "0X013D1", "%+#2.5X",
+__LINE__, -0x000035c, "-860", "%-.2d",
+__LINE__, 0x00000000, " ", "%-4.X",
+__LINE__, -0x0000147, "-327", "%d",
+__LINE__, 0x0a317eb0, "171015856", "%.7d",
+__LINE__, 0x00000003, "3", "%ld",
+__LINE__, 0x000001d6, "1d6", "%-x",
+__LINE__, 0x18185214, "404247060", "%-.2ld",
+__LINE__, 0x00574140, "0574140", "%.7X",
+__LINE__, 0x00002ea5, "02ea5", "%.5x",
+__LINE__, 0x00000005, "5", "% x",
+__LINE__, 0xffc47ed6, "ffc47ed6", "%-x",
+__LINE__, 0x0001f5da, "0X1F5DA", "%#X",
+__LINE__, 0xfffffcc9, "fffffcc9", "% x",
+__LINE__, 0x02586c98, "2586C98", "%X",
+__LINE__, -0x0000036, "-54", "% ld",
+__LINE__, 0x00064b57, "412503", "%1.5d",
+__LINE__, -0x0000007, "-7", "%#0.0ld",
+__LINE__, 0x00023a03, "145923", "%ld",
+__LINE__, -0x0000065, "-101", "%+#d",
+__LINE__, 0x00000208, "208", "%X",
+__LINE__, 0x00e97728, "15300392", "%-ld",
+__LINE__, 0x0000030a, "+778", "%+d",
+__LINE__, 0xf4d7deee, "F4D7DEEE", "%+X",
+__LINE__, -0x000009a, "-154", "%+.3ld",
+__LINE__, 0x000002c0, "+704", "%+ld",
+__LINE__, 0x0067ec23, "67ec23", "%x",
+__LINE__, 0x005ca7fc, "+6072316", "%+d",
+__LINE__, 0xfffff5f1, "fffff5f1", "%x",
+__LINE__, 0x00000601, " 0X601", "%#7.2X",
+__LINE__, -0x0000057, "-87", "% ld",
+__LINE__, -0x0000078, " -120", "%7.d",
+__LINE__, -0x000001f, "-31 ", "%-6d",
+__LINE__, 0x0160c000, "23117824", "%ld",
+__LINE__, -0x0000007, "-7", "%0ld",
+__LINE__, 0xfffffffe, "fffffffe", "%+x",
+__LINE__, 0x5b6ef898, "5b6ef898", "%+0x",
+__LINE__, 0x0009bfb6, "638902", "%d",
+__LINE__, -0x0000145, " -325", "%#6.0d",
+__LINE__, -0x508c048, "-84459592", "%-5.ld",
+__LINE__, 0x00000002, " 0x2", "% #4x",
+__LINE__, 0x0001486e, "84078", "%#d",
+__LINE__, 0x006ac76a, "6997866", "%.6d",
+__LINE__, 0xffffff98, "FFFFFF98", "%X",
+__LINE__, 0xfffffe08, "fffffe08", "%6.x",
+__LINE__, -0x24ef47e, "-38728830", "%1.6ld",
+__LINE__, 0x39d1b2db, "39D1B2DB", "% X",
+__LINE__, 0xfffc9ce2, "0xfffc9ce2", "%#x",
+__LINE__, 0x59485e14, "1497914900", "%#4ld",
+__LINE__, 0x000022eb, "22EB", "%3.X",
+__LINE__, 0xfa410352, "FA410352", "%-X",
+__LINE__, -0x4a342f0, "-77808368", "% ld",
+__LINE__, 0xef5825a4, "EF5825A4", "%.6X",
+__LINE__, 0x01b0185a, "0x1b0185a", "% #x",
+__LINE__, -0x0004290, "-17040", "%.3d",
+__LINE__, -0x10f88659, "-284722777", "%+6.2ld",
+__LINE__, 0x00003216, "12822", "%-d",
+__LINE__, 0x4a31a219, "1244766745", "%d",
+__LINE__, 0xffffffb5, "FFFFFFB5", "%-X",
+__LINE__, 0x0000d586, "D586", "%-2.X",
+__LINE__, 0x00008496, "33942", "%1.d",
+__LINE__, -0x0000011, "-17", "%1ld",
+__LINE__, 0x0000003c, "3C", "%2.X",
+__LINE__, 0xfffffffe, "FFFFFFFE", "%.3X",
+__LINE__, 0x0000152a, "152A", "%X",
+__LINE__, 0xfffe876e, "FFFE876E", "%X",
+__LINE__, -0x0003874, "-14452", "%-ld",
+__LINE__, -0x004918a, "-299402", "%#.6d",
+__LINE__, -0x000000c, "-12", "%-d",
+__LINE__, 0xffffd812, "FFFFD812", "%+X",
+__LINE__, -0x000000c, "-12", "%0d",
+__LINE__, -0x0000229, "-553", "%0d",
+__LINE__, 0x00002ab8, "2AB8", "%4.X",
+__LINE__, 0x0000004b, "+75", "%+ld",
+__LINE__, 0x001c3178, " 1847672", "% ld",
+__LINE__, -0x0000006, "-6", "%.0ld",
+__LINE__, 0x0003be65, "245349", "%ld",
+__LINE__, -0x0000001, "-1", "%#1ld",
+__LINE__, 0x0000007f, "+127", "%+ld",
+__LINE__, 0x0000020e, "526 ", "%-5ld",
+__LINE__, 0x00000002, "2", "%d",
+__LINE__, 0x03bd0873, "0X3BD0873", "%#X",
+__LINE__, 0x00093a52, "604754", "%-2d",
+__LINE__, -0x00823fc, "-0533500", "%+.7ld",
+__LINE__, 0x00000000, " ", "%4.X",
+__LINE__, -0x0000001, "-1", "%ld",
+__LINE__, 0xfff09ede, "fff09ede", "%-x",
+__LINE__, 0x01e28c24, "31624228", "%ld",
+__LINE__, 0x00001dcc, "1DCC", "%X",
+__LINE__, -0x0f0ea0d, "-15788557", "%-00.ld",
+__LINE__, 0xffff73a1, "FFFF73A1", "%X",
+__LINE__, -0x0004040, "-16448", "%+#d",
+__LINE__, 0x0073b158, "0x73b158", "%#7x",
+__LINE__, 0xfffff8ff, "FFFFF8FF", "% 5X",
+__LINE__, -0x0000004, "-4", "%0d",
+__LINE__, 0xffff56a3, "ffff56a3", "%1.6x",
+__LINE__, -0x0000041, "-65", "%0d",
+__LINE__, 0x00000009, "+0000009", "%+2.7d",
+__LINE__, 0xffffe13d, "0XFFFFE13D", "%+#2.X",
+__LINE__, -0x00002ce, "-00718", "%.5ld",
+__LINE__, 0xffc53e28, "ffc53e28", "%03.4x",
+__LINE__, 0x00000005, "0X5", "%#X",
+__LINE__, 0x00000004, "4", "%x",
+__LINE__, 0xe21b35eb, "e21b35eb", "%-x",
+__LINE__, -0x0000098, "-152", "%-ld",
+__LINE__, 0xffffff81, "FFFFFF81", "%2X",
+__LINE__, 0x00000003, "00003", "%.5ld",
+__LINE__, 0xfffffffc, "fffffffc", "%+x",
+__LINE__, 0x000491f5, "299509", "%1.ld",
+__LINE__, 0xf06bfd7d, "F06BFD7D", "%X",
+__LINE__, -0x0000006, "-6", "%0d",
+__LINE__, -0x0a4af7d, "-10792829", "%-0d",
+__LINE__, -0x11a74ef, "-18511087", "%ld",
+__LINE__, 0x2dc95e17, "768171543", "%-1.d",
+__LINE__, -0x0000001, "-1", "%#ld",
+__LINE__, 0x00000033, "51", "%-#d",
+__LINE__, 0x002d0219, "2949657", "%ld",
+__LINE__, 0xfffffffd, "FFFFFFFD", "%2.4X",
+__LINE__, 0x00000f20, "+3872", "%+ld",
+__LINE__, -0x0000047, "-071", "%4.3ld",
+__LINE__, 0x00000010, " 16", "%6d",
+__LINE__, 0x00000000, "0", "%0d",
+__LINE__, 0xffffff57, "FFFFFF57", "%X",
+__LINE__, -0x0000700, "-1792", "%-#d",
+__LINE__, -0x0000064, "-100", "%-ld",
+__LINE__, 0xff26d49a, "FF26D49A", "%-0X",
+__LINE__, -0x0000006, "-6", "%.1ld",
+__LINE__, 0x1391edc5, "1391edc5", "%.1x",
+__LINE__, 0x0000014a, "330", "%-#ld",
+__LINE__, 0x07ecd1e1, "7ecd1e1", "%6x",
+__LINE__, -0xa2b8898, "-170625176", "%3.d",
+__LINE__, 0x00035287, "0x35287", "%#.0x",
+__LINE__, 0x00000000, "00000", "%0.5X",
+__LINE__, -0x0000153, "-339", "%d",
+__LINE__, 0x0000ad6e, " 44398", "% 0.d",
+__LINE__, 0x00000001, "1", "%-X",
+__LINE__, -0x000000d, "-13 ", "%-6.2d",
+__LINE__, -0x01bff8a, "-1834890", "%d",
+__LINE__, 0x000a0fa8, "+659368", "%+ld",
+__LINE__, 0xac044dc0, "ac044dc0", "%.0x",
+__LINE__, 0x0003a729, "239401", "%ld",
+__LINE__, -0x00004f0, "-1264", "%+ld",
+__LINE__, 0x00000000, "0", "%x",
+__LINE__, 0x00000012, "12", "% x",
+__LINE__, 0xffff770b, "ffff770b", "%7.1x",
+__LINE__, 0xd7458572, "d7458572", "%x",
+__LINE__, 0x01f1b4f9, "1f1b4f9", "% 0x",
+__LINE__, 0xfffb2198, "0XFFFB2198", "% #1.X",
+__LINE__, 0x00ef6189, " 15688073", "% ld",
+__LINE__, -0x3f0ae63, "-66104931", "% #d",
+__LINE__, -0x0006075, "-24693", "%ld",
+__LINE__, 0x000000a1, "161", "%d",
+__LINE__, 0xfffffffc, "fffffffc", "%3.2x",
+__LINE__, 0xff6b4125, "FF6B4125", "%+5.X",
+__LINE__, 0x00000001, " 1", "%6.d",
+__LINE__, -0x0000001, "-1", "%+0d",
+__LINE__, -0x000096c, "-2412", "%0.4d",
+__LINE__, 0x00039c6f, "236655", "%.0d",
+__LINE__, 0x3625286c, "908404844", "%.1d",
+__LINE__, 0xfffffffa, "fffffffa", "%x",
+__LINE__, 0x00000000, "0", "%X",
+__LINE__, 0x00c34353, "12796755", "%#.4d",
+__LINE__, 0x000002df, "735", "%ld",
+__LINE__, 0xffff38fa, "FFFF38FA", "%5.1X",
+__LINE__, -0x000002a, "-42", "%0.d",
+__LINE__, 0x0000077e, "1918", "%ld",
+__LINE__, 0x000001f7, "503", "%ld",
+__LINE__, 0x00000004, "4", "%ld",
+__LINE__, 0x0021fb02, "2226946", "%d",
+__LINE__, 0x007c858d, "8160653", "%-0d",
+__LINE__, -0x0000109, "-265", "%.0d",
+__LINE__, 0xfffffffa, "fffffffa", "% x",
+__LINE__, 0x0097932d, "97932d", "%+x",
+__LINE__, 0xfffbbd03, "fffbbd03", "%-.5x",
+__LINE__, -0x0000005, "-5", "%0d",
+__LINE__, 0x03ee3a95, "65944213", "%ld",
+__LINE__, -0x0000002, " -00002", "%7.5d",
+__LINE__, 0xea1a4e54, "EA1A4E54", "%X",
+__LINE__, -0x000a9d6, "-43478", "%+d",
+__LINE__, -0x0fd8d65, "-16616805", "%5ld",
+__LINE__, 0x00000001, "1", "%-d",
+__LINE__, 0x00000072, "72", "%2.X",
+__LINE__, 0xffffff94, "FFFFFF94", "%X",
+__LINE__, 0x00000d2a, "D2A", "%+X",
+__LINE__, 0xffff614f, "ffff614f", "%x",
+__LINE__, -0x0000018, "-24", "%ld",
+__LINE__, 0x0000003b, "059", "%2.3d",
+__LINE__, 0x0000001a, "1A", "%0X",
+__LINE__, -0x0000109, "-265", "%02ld",
+__LINE__, 0x00000f9d, "3997", "%#1d",
+__LINE__, 0x0000001b, "1b", "%x",
+__LINE__, 0xffffff07, "ffffff07", "%x",
+__LINE__, 0xfff1a425, "0xfff1a425", "%#x",
+__LINE__, 0x00000005, "5", "%-1d",
+__LINE__, -0x53a6efd, "-87715581", "%ld",
+__LINE__, 0x042f37db, "42F37DB", "%6.X",
+__LINE__, 0x00053bd5, "+342997", "%+5ld",
+__LINE__, 0xffffffff, "ffffffff", "% x",
+__LINE__, 0xffffffef, "FFFFFFEF", "%6.X",
+__LINE__, -0x10ec29a, "-17744538", "%+2.d",
+__LINE__, 0x01dcc901, "1dcc901", "%x",
+__LINE__, 0x0007dc68, "515176", "%-3.d",
+__LINE__, -0x0000062, "-0098", "%#2.4d",
+__LINE__, 0x00000000, " ", "%3.0X",
+__LINE__, -0x00000de, "-222", "%ld",
+__LINE__, 0x000c1fb8, "C1FB8", "%0X",
+__LINE__, 0x0005bf58, "5BF58", "%X",
+__LINE__, -0x000dd1b, "-56603", "%-03.1d",
+__LINE__, 0x00000b14, "B14", "%+3.X",
+__LINE__, 0x00000799, "799", "%-x",
+__LINE__, 0xfffffffa, "fffffffa", "%x",
+__LINE__, 0x00000003, "0x00003", "% #7.5x",
+__LINE__, -0x002b9f1, "-178673", "%+d",
+__LINE__, -0x001b817, "-112663", "%0d",
+__LINE__, 0xf6f98533, "f6f98533", "%.1x",
+__LINE__, 0x00338ffc, "3379196", "%d",
+__LINE__, 0x0409e9b5, "0X409E9B5", "%#X",
+__LINE__, 0x00b8e98e, " 12118414", "% 0d",
+__LINE__, -0x002a8f6, "-174326", "%ld",
+__LINE__, 0x13bb9722, "331061026", "%0d",
+__LINE__, 0x00063c71, "63c71", "%x",
+__LINE__, 0xfffffe37, "FFFFFE37", "%.1X",
+__LINE__, 0xffff7b3e, "ffff7b3e", "%+.1x",
+__LINE__, 0x005eeab1, "5eeab1", "%+x",
+__LINE__, 0xffc69e99, "ffc69e99", "%x",
+__LINE__, -0x000005c, " -92", "%5ld",
+__LINE__, 0x07d8fa8a, "7d8fa8a", "%x",
+__LINE__, 0x00030e0a, "200202", "%-4.1d",
+__LINE__, 0x00001dc1, "1DC1", "%.0X",
+__LINE__, 0x00000008, "8", "%0ld",
+__LINE__, -0x01b5397, "-1790871", "%3.d",
+__LINE__, 0x27fbb4b5, "27fbb4b5", "%x",
+__LINE__, -0xe3fdcfc, "-239066364", "%4ld",
+__LINE__, 0x0008bcb1, "8bcb1", "%0x",
+__LINE__, 0xffff039e, "ffff039e", "%.6x",
+__LINE__, 0x000d0bd4, "d0bd4", "%-x",
+__LINE__, 0x00000000, "+0", "%+d",
+__LINE__, -0x2a49ea4, "-44342948", "%1d",
+__LINE__, -0x0000055, "-85", "%0d",
+__LINE__, -0x0000a05, "-2565", "%3.3ld",
+__LINE__, -0x000000b, "-11 ", "%-4d",
+__LINE__, 0xfff30444, "FFF30444", "%7.X",
+__LINE__, 0x0000003f, "63", "%-0d",
+__LINE__, 0x00046779, "46779", "%X",
+__LINE__, 0x000028d7, " 0X28D7", "%#7.X",
+__LINE__, 0x00000019, " 19", "%5x",
+__LINE__, 0x0032291d, "3287325", "%2.ld",
+__LINE__, 0x00057afa, "57AFA", "%X",
+__LINE__, 0xfffe8c64, "fffe8c64", "%3.4x",
+__LINE__, -0x624110d6, "-1648431318", "%+6d",
+__LINE__, 0x0000001a, " 26", "% 5.d",
+__LINE__, 0xfffffffd, "FFFFFFFD", "%6.X",
+__LINE__, 0x00199490, "1676432", "%-1d",
+__LINE__, -0xfff8265, "-268403301", "%-0ld",
+__LINE__, 0x0000000e, "e", "%-x",
+__LINE__, 0x00c38aec, "c38aec", "%x",
+__LINE__, -0x00658f4, "-415988", "%#ld",
+__LINE__, 0x0066ac4e, "6728782", "%0d",
+__LINE__, 0xc4a808d5, "c4a808d5", "%x",
+__LINE__, 0x00000000, " 0", "%6.1x",
+__LINE__, 0x00066d24, "66d24", "%x",
+__LINE__, 0x00002117, "2117", "%X",
+__LINE__, 0xfe06fdf4, "FE06FDF4", "%0X",
+__LINE__, 0xfffffff9, "fffffff9", "%x",
+__LINE__, 0x1c6bb795, "+476821397", "%+d",
+__LINE__, 0xfffffba4, "FFFFFBA4", "%X",
+__LINE__, 0xfffd7d44, "fffd7d44", "%0x",
+__LINE__, 0x0019dd17, "1694999", "%d",
+__LINE__, 0x6475851e, "0x6475851e", "% #7.x",
+__LINE__, -0x00330d5, "-209109", "%0ld",
+__LINE__, 0x009f53f7, "09F53F7", "%+6.7X",
+__LINE__, -0x00172f9, " -94969", "%7.5ld",
+__LINE__, 0xffffffdc, "FFFFFFDC", "%X",
+__LINE__, -0x013bdec, "-1293804", "%+#2ld",
+__LINE__, 0xfff845c0, "fff845c0", "%+7.x",
+__LINE__, -0x0fbe712, "-16508690", "%.7d",
+__LINE__, 0xffffe13f, "ffffe13f", "%x",
+__LINE__, 0xbbc19951, "BBC19951", "%-4X",
+__LINE__, -0x28d6d1b, "-42822939", "%#d",
+__LINE__, -0x93cda6b, "-154983019", "%-d",
+__LINE__, 0xffc93342, "FFC93342", "%7.X",
+__LINE__, 0x072ac8b3, " 120244403", "% ld",
+__LINE__, 0xfff8d17b, "FFF8D17B", "% X",
+__LINE__, 0x00000da5, "DA5", "%0.X",
+__LINE__, 0x055ad3ac, "0x55ad3ac", "%#1x",
+__LINE__, 0x00000e5a, " 3674", "% .4ld",
+__LINE__, 0xffffff79, "FFFFFF79", "%+X",
+__LINE__, 0xffffe167, "ffffe167", "%+5x",
+__LINE__, 0x0000fa50, "0064080", "%.7ld",
+__LINE__, 0x00000001, "1", "%-d",
+__LINE__, 0xfffffffe, "fffffffe", "%x",
+__LINE__, 0x000009ac, " 2476", "% #2.ld",
+__LINE__, 0x00000e78, "0003704", "%.7ld",
+__LINE__, -0x000dfc3, "-57283", "%6.d",
+__LINE__, 0x00000ee0, "EE0", "%0X",
+__LINE__, -0x293703b3, "-691471283", "%ld",
+__LINE__, 0x000073e8, " 73e8", "%6x",
+__LINE__, 0xffffdffd, "ffffdffd", "%5.5x",
+__LINE__, 0x00000004, "4", "%+00.x",
+__LINE__, 0x00000008, "0X8", "%#X",
+__LINE__, 0x0003044c, "3044c", "%0x",
+__LINE__, 0xffc2095e, "FFC2095E", "%0X",
+__LINE__, 0x00000aac, "0002732", "%-.7ld",
+__LINE__, 0xffffff79, "FFFFFF79", "%+1.X",
+__LINE__, 0x53a0f94a, " 1403058506", "% 2.4ld",
+__LINE__, 0x000e928d, "e928d", "%x",
+__LINE__, 0x0024127a, "2364026", "%5.d",
+__LINE__, 0x000f7c1c, " 1014812", "% 2.d",
+__LINE__, -0x000003d, "-61 ", "%-#4ld",
+__LINE__, -0x0000122, "-290", "%+ld",
+__LINE__, 0x00000006, "+6", "%+0d",
+__LINE__, 0x00000129, " 000129", "%7.6X",
+__LINE__, 0x15d873e5, " 366506981", "% 5.7d",
+__LINE__, 0x00000001, "1", "%d",
+__LINE__, 0x038d6110, "+59597072", "%+d",
+__LINE__, 0x0f46ccc3, "256298179", "%-1.4d",
+__LINE__, 0xfe434d21, "fe434d21", "%x",
+__LINE__, -0x179797d7, "-395810775", "%d",
+__LINE__, 0xe35807bf, "e35807bf", "%x",
+__LINE__, 0x00000003, " +3", "%+7d",
+__LINE__, 0x017e699e, "25061790", "%#ld",
+__LINE__, -0x0000029, "-41", "%d",
+__LINE__, 0xffffff11, "ffffff11", "%1.x",
+__LINE__, -0x0001bf6, "-7158", "%+0ld",
+__LINE__, 0xffffff4b, "FFFFFF4B", "%4X",
+__LINE__, -0x0000040, "-64", "%ld",
+__LINE__, 0x000034d6, "+13526", "%+ld",
+__LINE__, 0xffffffa7, "ffffffa7", "%x",
+__LINE__, 0xfffffe8e, "fffffe8e", "%+.3x",
+__LINE__, 0x00000000, "0", "%0.1d",
+__LINE__, -0x007cdf1, "-511473", "%ld",
+__LINE__, 0xfffffeef, "FFFFFEEF", "%-X",
+__LINE__, 0x00002d91, "2d91", "%x",
+__LINE__, -0x000025b, "-603", "%#ld",
+__LINE__, -0x000001b, "-27", "%-ld",
+__LINE__, 0x042b6752, "42B6752", "%+X",
+__LINE__, -0x75afb0a6, "-1974448294", "% ld",
+__LINE__, -0x0000001, "-1", "%ld",
+__LINE__, 0x00000542, " 1346", "%6d",
+__LINE__, -0x0000010, "-16", "%+0d",
+__LINE__, 0xfffed8f7, "FFFED8F7", "%5.X",
+__LINE__, 0x0541852e, "541852e", "% 2.x",
+__LINE__, 0xff22aec3, "ff22aec3", "% .1x",
+__LINE__, 0x5e34b745, "1580513093", "%ld",
+__LINE__, 0xfffffff3, "fffffff3", "%x",
+__LINE__, 0x0eda7b86, "+249199494", "%+.3d",
+__LINE__, 0xffffe40f, "ffffe40f", "%+x",
+__LINE__, -0x0003484, "-13444", "%-1.5ld",
+__LINE__, 0x0000334b, " 13131", "%6.ld",
+__LINE__, -0x0000149, "-329", "%ld",
+__LINE__, 0x00000001, " 001", "% 5.3x",
+__LINE__, 0xffeaa035, "ffeaa035", "%+3.5x",
+__LINE__, 0x00211dff, "2170367", "%ld",
+__LINE__, 0x007e91f4, "7e91f4", "%x",
+__LINE__, 0xfffffffc, "0xfffffffc", "%+#5x",
+__LINE__, 0xfffffffc, "FFFFFFFC", "%6.X",
+__LINE__, 0x0156a9b5, "156a9b5", "%x",
+__LINE__, 0xfffffe58, "fffffe58", "%+x",
+__LINE__, 0xffff8c66, "FFFF8C66", "%.0X",
+__LINE__, 0x00000000, "0", "%d",
+__LINE__, 0x00000005, " 5", "%7.d",
+__LINE__, -0x0000002, "-2", "%ld",
+__LINE__, 0x000076b9, " 30393", "% ld",
+__LINE__, 0x00003824, "3824", "%4X",
+__LINE__, 0x00000cdf, " CDF", "% 7X",
+__LINE__, 0x017c9e8f, "17C9E8F", "%-X",
+__LINE__, -0x20f582d, "-34560045", "%-.5d",
+__LINE__, 0x0000732e, " 29486", "% 7.ld",
+__LINE__, 0xffffffff, "FFFFFFFF", "%+0X",
+__LINE__, 0xf379a4a2, "F379A4A2", "% .7X",
+__LINE__, -0x0000028, "-40", "%-d",
+__LINE__, 0xe73cf79e, "e73cf79e", "%x",
+__LINE__, 0x00000002, " 2", "%7ld",
+__LINE__, -0x00029b1, "-10673", "%-#1.ld",
+__LINE__, -0x0002a58, "-10840", "%3.d",
+__LINE__, 0x00000002, "2", "%-X",
+__LINE__, 0xfffffffc, "FFFFFFFC", "%X",
+__LINE__, -0x000003a, " -58", "%5ld",
+__LINE__, 0x0245ef3b, "245ef3b", "%.3x",
+__LINE__, 0x00026cca, "158922", "%-06.3ld",
+__LINE__, 0x01016fd3, "16871379", "%-d",
+__LINE__, 0x000016fc, "5884", "%0ld",
+__LINE__, -0x00007fb, " -2043", "%7.3d",
+__LINE__, 0xfff73d3c, "fff73d3c", "%0x",
+__LINE__, -0x0000110, "-272", "% 04.3d",
+__LINE__, 0x0000000e, " 014", "% 04ld",
+__LINE__, -0x0000039, "-57", "%.0ld",
+__LINE__, 0x00000c95, "c95", "%0x",
+__LINE__, 0xffff3b2e, "ffff3b2e", "%x",
+__LINE__, 0xfffffffe, "FFFFFFFE", "%X",
+__LINE__, 0x00000015, "21", "%.1d",
+__LINE__, 0x0000000c, "+12", "%+ld",
+__LINE__, 0x00000000, "0", "%+X",
+__LINE__, 0xfffc9a14, "fffc9a14", "%-.5x",
+__LINE__, 0x0000003c, "60", "%.2ld",
+__LINE__, -0x0000023, " -35", "%6.d",
+__LINE__, 0x00000740, "1856", "%ld",
+__LINE__, 0x00000160, "160", "% 3.X",
+__LINE__, 0x00000006, " 6", "%5.X",
+__LINE__, -0x0000677, "-1655", "%.3ld",
+__LINE__, 0x12709c7e, "12709C7E", "%.7X",
+__LINE__, 0x0000090f, "+2319", "%+#d",
+__LINE__, 0xffffffe0, "0xffffffe0", "%#4.1x",
+__LINE__, 0x00132ce0, "1256672", "%ld",
+__LINE__, 0x00000059, "59", "%+X",
+__LINE__, -0x0000017, "-23", "%0d",
+__LINE__, -0x01fade6, "-2076134", "%-4.3ld",
+__LINE__, 0x000df3fa, "914426", "%.5ld",
+__LINE__, 0xfffffd0f, "fffffd0f", "%7x",
+__LINE__, -0x000c212, "-49682", "%0.1ld",
+__LINE__, 0xffff8bcb, "FFFF8BCB", "%.3X",
+__LINE__, 0x0000000a, "a", "% x",
+__LINE__, 0x00000021, "21", "%x",
+__LINE__, -0x0000040, "-64", "% 1ld",
+__LINE__, 0x00000009, " 9", "%6.ld",
+__LINE__, -0x0000d67, "-3431", "% 5.3d",
+__LINE__, 0x03a85f1b, "61366043", "%ld",
+__LINE__, 0x00000035, "000053", "%0.6d",
+__LINE__, 0xfffda5cb, "fffda5cb", "%+x",
+__LINE__, 0xffffff78, "FFFFFF78", "%-7.0X",
+__LINE__, 0xfffffd6d, "fffffd6d", "%7.x",
+__LINE__, 0xfffffc08, "fffffc08", "%7.3x",
+__LINE__, 0x00003335, " 13109", "% #d",
+__LINE__, -0x0000002, " -2", "%5.d",
+__LINE__, -0x13767a48, "-326531656", "%+ld",
+__LINE__, 0x00000be5, "3045", "%4.0ld",
+__LINE__, 0xfffdb28c, "FFFDB28C", "%X",
+__LINE__, 0x00127118, "1208600", "%ld",
+__LINE__, 0x00000086, " 134", "% ld",
+__LINE__, 0x0002214c, "2214c", "%+x",
+__LINE__, 0x0000a0c2, " a0c2", "%5.0x",
+__LINE__, -0x000007c, "-124", "%ld",
+__LINE__, 0x0000012a, "00298", "%3.5d",
+__LINE__, 0xfd4f1257, "FD4F1257", "%+2.X",
+__LINE__, 0xffffd8aa, "ffffd8aa", "%5x",
+__LINE__, -0x00000a7, "-167", "%+ld",
+__LINE__, -0x0009c69, "-40041", "%0.0ld",
+__LINE__, 0x02230418, "35849240", "%-0.6ld",
+__LINE__, 0x00000000, " 0", "%6x",
+__LINE__, 0xfffff184, "fffff184", "%02.5x",
+__LINE__, -0x0ae967b, "-11441787", "%d",
+__LINE__, 0x0015de3a, "1433146", "%-5.3d",
+__LINE__, -0x0071e93, "-466579", "%1.ld",
+__LINE__, 0xfffff8bd, "fffff8bd", "%+x",
+__LINE__, -0x00000e4, "-228", "%+ld",
+__LINE__, 0x000001d8, " 472", "% .3ld",
+__LINE__, 0x00315faa, "315faa", "%-0x",
+__LINE__, 0x00000e59, "e59", "%0x",
+__LINE__, -0x0000005, "-5", "%ld",
+__LINE__, 0x000018ec, "6380", "%ld",
+__LINE__, 0xfffffff9, "fffffff9", "%5.2x",
+__LINE__, -0xe7cfd39, "-243072313", "%-d",
+__LINE__, 0x0002c30b, "2C30B", "%1.2X",
+__LINE__, 0x0000007a, "7A", "%X",
+__LINE__, 0xf604ecb2, "F604ECB2", "%2X",
+__LINE__, -0x05f602c, "-6250540", "%d",
+__LINE__, 0xffff9c86, "ffff9c86", "%2.x",
+__LINE__, -0x00d7f55, "-884565", "%#d",
+__LINE__, 0xd2a37824, "D2A37824", "%4X",
+__LINE__, 0x00000000, "", "%-.0x",
+__LINE__, 0x000d4b51, "0d4b51", "%3.6x",
+__LINE__, 0x000ecd97, "ecd97", "% x",
+__LINE__, -0x0000018, "-024", "%+04ld",
+__LINE__, -0x009f292, "-651922", "%ld",
+__LINE__, -0x0002da9, "-11689", "%-0ld",
+__LINE__, -0x000a218, "-41496", "%4.5d",
+__LINE__, 0xffff85ac, "FFFF85AC", "% 04.X",
+__LINE__, -0x0d9ffbe, "-14286782", "%0d",
+__LINE__, 0xfb18cc8e, "fb18cc8e", "%x",
+__LINE__, 0xffffe5d3, "FFFFE5D3", "%-X",
+__LINE__, 0x00000000, "0", "%x",
+__LINE__, -0x0000006, "-6", "% d",
+__LINE__, 0x0002fc62, "2fc62", "% 03.x",
+__LINE__, 0x00000000, "00", "%.2d",
+__LINE__, -0x00000fd, " -253", "%6ld",
+__LINE__, -0x000000b, "-11", "%d",
+__LINE__, -0x00042a3, "-17059", "% 6d",
+__LINE__, 0x00000002, "2", "% X",
+__LINE__, -0x61ead93e, "-1642780990", "%-0d",
+__LINE__, 0xf2e61f6d, "f2e61f6d", "%-.4x",
+__LINE__, 0xffd31b93, "ffd31b93", "%x",
+__LINE__, -0x0000008, "-8", "%ld",
+__LINE__, 0xffffffff, "ffffffff", "%00x",
+__LINE__, 0x000000fb, "+000251", "%+2.6d",
+__LINE__, 0x00000015, " 15", "%4.X",
+__LINE__, 0x06ec6d96, "6EC6D96", "%+2.X",
+__LINE__, 0xffff1df7, "0xffff1df7", "% #1x",
+__LINE__, -0x000004b, "-75", "%-ld",
+__LINE__, 0x00000008, "8", "%#.0d",
+__LINE__, 0x00001355, "4949", "%3.4ld",
+__LINE__, -0x00000f7, "-247", "%d",
+__LINE__, 0x0000001f, "31", "%.2ld",
+__LINE__, 0x0000d556, "D556", "%-X",
+__LINE__, 0xffffd5a5, "ffffd5a5", "% x",
+__LINE__, -0x0000e34, "-3636", "%#d",
+__LINE__, -0x0000007, "-7", "%d",
+__LINE__, 0x01ba10a4, "1ba10a4", "%x",
+__LINE__, 0xfffff759, "FFFFF759", "% X",
+__LINE__, -0x80d0adb, "-135072475", "%d",
+__LINE__, 0x0002bf61, "2bf61", "%x",
+__LINE__, 0xffff008b, "FFFF008B", "%-7X",
+__LINE__, 0x00000e72, "E72", "%X",
+__LINE__, -0x00000ea, "-234", "%0ld",
+__LINE__, -0x0007b9d, "-0031645", "%0.7ld",
+__LINE__, 0x0001baaa, "0X1BAAA", "%#4X",
+__LINE__, 0x0000a57f, " a57f", "%6.x",
+__LINE__, -0x21a73726, "-564606758", "%ld",
+__LINE__, 0x06f45c9f, "0x6f45c9f", "%#.3x",
+__LINE__, 0x00018e5d, "101981", "%-d",
+__LINE__, 0x0001e69a, "124570", "%-d",
+__LINE__, -0x0000d26, " -3366", "% 07.d",
+__LINE__, 0x00000000, "+", "%+0.ld",
+__LINE__, 0x00003916, "14614", "%ld",
+__LINE__, 0xfffffd8f, "fffffd8f", "%-3.x",
+__LINE__, 0x00000011, "11", "%x",
+__LINE__, 0x000000e7, "E7", "%X",
+__LINE__, 0xfdf9d89b, "FDF9D89B", "%X",
+__LINE__, 0x00000a7c, "a7c", "%x",
+__LINE__, 0x0000003f, "00003F", "%.6X",
+__LINE__, 0xffffe729, "FFFFE729", "%X",
+__LINE__, 0xfffffffe, "fffffffe", "% .6x",
+__LINE__, -0x0000a4b, "-2635", "%+d",
+__LINE__, 0xffffff50, "ffffff50", "%0.7x",
+__LINE__, 0xfaf57e8b, "faf57e8b", "% 4.x",
+__LINE__, -0x0000056, "-86", "%ld",
+__LINE__, 0x08ed2a4d, "8ed2a4d", "%4x",
+__LINE__, 0xff8d9081, "FF8D9081", "%+0.X",
+__LINE__, 0x002730a1, "2568353", "%4d",
+__LINE__, 0xffff9564, "ffff9564", "%x",
+__LINE__, -0x0000006, " -6", "%4ld",
+__LINE__, -0x19890310, "-428409616", "%0ld",
+__LINE__, 0xd2ce636c, "d2ce636c", "%+x",
+__LINE__, -0x00001fe, "-510", "%d",
+__LINE__, 0x00000006, "0000006", "%+0.7x",
+__LINE__, 0xffffffc2, "0XFFFFFFC2", "%-#.5X",
+__LINE__, -0x00000fd, "-253", "%+d",
+__LINE__, 0x000216aa, "0x216aa", "%#x",
+__LINE__, 0xffe36c66, "ffe36c66", "%x",
+__LINE__, 0x00000002, "2", "%x",
+__LINE__, -0x0000025, "-37", "% d",
+__LINE__, 0x0000007e, "126", "%d",
+__LINE__, 0x0003c1f9, "+246265", "%+ld",
+__LINE__, 0x00000001, "1", "%ld",
+__LINE__, -0x0000001, "-1", "%ld",
+__LINE__, -0x00539e7, "-342503", "%06.ld",
+__LINE__, 0x00000d42, " 3394", "%#6.ld",
+__LINE__, 0xf73b7c4e, "F73B7C4E", "%X",
+__LINE__, 0x00000022, "22", "%.1x",
+__LINE__, 0xffffa883, "FFFFA883", "%X",
+__LINE__, 0x016ec247, "16ec247", "%x",
+__LINE__, 0x00000019, "19", "%+X",
+__LINE__, 0x0000665a, "665A", "% 2.X",
+__LINE__, 0xfffffffc, "FFFFFFFC", "%-5.X",
+__LINE__, 0x008e3fbc, "8E3FBC", "%X",
+__LINE__, 0xfffffffa, "FFFFFFFA", "%X",
+__LINE__, 0x1b806597, "461399447", "%.2d",
+__LINE__, 0x00000366, "0000870", "%#1.7ld",
+__LINE__, 0x0001d92e, "1d92e", "%x",
+__LINE__, 0x000104ce, "104CE", "%-X",
+__LINE__, 0xfffffe4c, "fffffe4c", "%x",
+__LINE__, 0x000000e9, "E9", "%X",
+__LINE__, 0x000a855c, " 689500", "% d",
+__LINE__, 0x00000075, "75", "% X",
+__LINE__, -0x0000026, "-38", "%ld",
+__LINE__, 0xfffff169, "fffff169", "%-04.2x",
+__LINE__, 0xffffff6f, "ffffff6f", "%x",
+__LINE__, 0x00000003, "0x3", "%#x",
+__LINE__, 0x00623bab, "6437803", "%.0d",
+__LINE__, -0x2260224c, "-576725580", "%ld",
+__LINE__, 0xe7e7a998, "E7E7A998", "%.1X",
+__LINE__, 0x00000005, "5", "%X",
+__LINE__, 0x0000b560, "0xb560", "%#x",
+__LINE__, 0xfe11854d, "fe11854d", "%-.5x",
+__LINE__, 0x00190014, "1638420", "%ld",
+__LINE__, 0x0001d22a, "0X1D22A", "%-#X",
+__LINE__, 0x00000c16, "c16", "%2x",
+__LINE__, 0x00000d1a, "3354", "%#d",
+__LINE__, 0x000165f6, "91638", "%d",
+__LINE__, 0xfffff557, "0XFFFFF557", "%#X",
+__LINE__, 0x00000588, " 588", "%07.X",
+__LINE__, 0xf4a72708, "f4a72708", "%x",
+__LINE__, 0xfff1cba9, "0xfff1cba9", "% #2.5x",
+__LINE__, 0x000333a4, "209828", "%d",
+__LINE__, 0x0000179b, "179B", "% 2.X",
+__LINE__, 0x00000460, "1120", "%0ld",
+__LINE__, 0xffffff89, "FFFFFF89", "%X",
+__LINE__, -0x0000012, "-18", "%ld",
+__LINE__, 0x00004fe0, "20448", "%0.d",
+__LINE__, 0x00532e77, "532e77", "%00.x",
+__LINE__, 0xf7b92efe, "f7b92efe", "%0x",
+__LINE__, -0x0000243, "-579", "%+1.d",
+__LINE__, 0x34894bb7, "+881413047", "%+d",
+__LINE__, 0xfffaa189, "FFFAA189", "% 6X",
+__LINE__, -0x0000579, "-1401", "%+ld",
+__LINE__, 0x005acb12, "5acb12", "%5.0x",
+__LINE__, 0xffff890a, "FFFF890A", "%X",
+__LINE__, 0x010dff2f, "10DFF2F", "%.7X",
+__LINE__, 0x00005a7f, "23167", "%#ld",
+__LINE__, 0x000005e3, "1507", "%#3d",
+__LINE__, -0xa815bcb, "-176249803", "%d",
+__LINE__, 0xffffffff, "ffffffff", "%+x",
+__LINE__, 0xfffe0ff7, "fffe0ff7", "%3x",
+__LINE__, 0xffffffff, "0XFFFFFFFF", "%#2.1X",
+__LINE__, -0x1cc5ea52, "-482732626", "%6.d",
+__LINE__, 0x000425ed, "+0271853", "%+.7d",
+__LINE__, 0x00000001, "1", "%+x",
+__LINE__, -0x48f2a72, "-76491378", "%7.0d",
+__LINE__, 0xfffffff7, "FFFFFFF7", "% 0X",
+__LINE__, 0xfd8ffc0a, "fd8ffc0a", "%.1x",
+__LINE__, 0x0001f56d, " 1F56D", "%+7.2X",
+__LINE__, 0x000000db, " DB", "%6.X",
+__LINE__, 0xffffffc2, "ffffffc2", "%x",
+__LINE__, 0x00000001, "001", "%03ld",
+__LINE__, 0xffd89f58, "ffd89f58", "% 0.x",
+__LINE__, 0xfe1a72fc, "fe1a72fc", "%x",
+__LINE__, 0xfffff9b6, "FFFFF9B6", "%X",
+__LINE__, 0x00243633, "243633", "%X",
+__LINE__, 0x00821bc7, "+8526791", "%+#0ld",
+__LINE__, 0xfe63f348, "0XFE63F348", "%#3X",
+__LINE__, 0xff729f19, "ff729f19", "%4x",
+__LINE__, 0xffff570f, "FFFF570F", "%+X",
+__LINE__, 0x00a57a42, "10844738", "%6.3d",
+__LINE__, 0xfe4a3ed0, "FE4A3ED0", "%6.X",
+__LINE__, 0x00000000, "0", "%d",
+__LINE__, 0x000001bb, "01bb", "% .4x",
+__LINE__, 0x02b4a1e9, "2b4a1e9", "%-7.x",
+__LINE__, 0x31750683, "31750683", "%x",
+__LINE__, 0x00001cd7, "7383", "%#ld",
+__LINE__, 0x0000079d, "1949", "%d",
+__LINE__, 0xffb8ff3b, "FFB8FF3B", "%X",
+__LINE__, 0x00a768b6, "0A768B6", "%-6.7X",
+__LINE__, 0x1c665b48, "0X1C665B48", "% #X",
+__LINE__, -0x000037d, "-000893", "%3.6d",
+__LINE__, 0x29890443, "29890443", "%+0x",
+__LINE__, 0x000000e5, "e5 ", "%-4x",
+__LINE__, 0xfff2b5fa, "FFF2B5FA", "%X",
+__LINE__, -0x5d32c2b, "-97725483", "%05ld",
+__LINE__, -0x00016c5, " -05829", "%+#7.5ld",
+__LINE__, 0x00000644, "644", "%X",
+__LINE__, -0x018c027, "-1622055", "%+.1d",
+__LINE__, 0x0000013c, "0x13c", "%#x",
+__LINE__, 0x00000009, "+9", "%+#ld",
+__LINE__, 0x00000000, "0", "%ld",
+__LINE__, -0x018eb19, "-1633049", "%4.3ld",
+__LINE__, 0xfffff429, "FFFFF429", "% X",
+__LINE__, 0x0032de67, "32DE67", "%X",
+__LINE__, 0x0016bdfa, " 1490426", "% .2ld",
+__LINE__, 0x00000065, "65", "%+.0X",
+__LINE__, 0x00000072, " 72", "%+4.2X",
+__LINE__, 0x00075119, "75119", "%2x",
+__LINE__, 0x000000b8, "b8", "%x",
+__LINE__, 0x000000d0, "d0", "%x",
+__LINE__, 0x000000b9, "b9", "%x",
+__LINE__, 0x003fda9d, " 4184733", "% #3.d",
+__LINE__, 0x00029a24, "170532", "%4.d",
+__LINE__, -0x132a337d, "-321532797", "% ld",
+__LINE__, 0x0000047a, "0X47A", "%-#X",
+__LINE__, 0x00000000, "0", "%-ld",
+__LINE__, -0x0d9750b, "-14251275", "% ld",
+__LINE__, 0x00029d6c, "29d6c", "%x",
+__LINE__, 0xfb060cc0, "fb060cc0", "%x",
+__LINE__, 0xffffd524, "0XFFFFD524", "%#X",
+__LINE__, 0xffffff30, "ffffff30", "%-5x",
+__LINE__, 0x00001650, "0005712", "%#0.7d",
+__LINE__, 0x0000b702, "0B702", "%03.5X",
+__LINE__, 0x000003c1, "3c1", "% .1x",
+__LINE__, -0x0290412, "-2688018", "%d",
+__LINE__, -0x00008bf, "-2239", "%#d",
+__LINE__, -0x0000001, "-1", "%d",
+__LINE__, 0x0001d750, "1D750", "%-X",
+__LINE__, 0x006eee92, "6EEE92", "%-X",
+__LINE__, 0xff812b02, "ff812b02", "%0x",
+__LINE__, 0xfffffeac, "FFFFFEAC", "%+0X",
+__LINE__, 0x000003a5, "3a5", "%x",
+__LINE__, -0x15270cee, "-354880750", "%2.ld",
+__LINE__, 0x06b686d2, "6b686d2", "%0x",
+__LINE__, 0xffe9cdcc, "ffe9cdcc", "%x",
+__LINE__, 0x0ecb168e, "ecb168e", "%x",
+__LINE__, 0x00000051, "51", "%-X",
+__LINE__, -0x0018860, "-100448", "%-0d",
+__LINE__, 0x8f08b82b, "0x8f08b82b", "%-#.5x",
+__LINE__, 0xffffffff, "ffffffff", "%x",
+__LINE__, 0x0000000e, "e", "%+01x",
+__LINE__, 0x04cf15bc, " 80680380", "% #ld",
+__LINE__, 0x50006e8a, "50006e8a", "%x",
+__LINE__, 0x0002f669, "194153", "%0d",
+__LINE__, 0x000000a6, " 166", "% 5.ld",
+__LINE__, -0x04036bb, "-4208315", "%7.5d",
+__LINE__, 0x00070dea, "70DEA", "%+X",
+__LINE__, 0x00000964, "0x964", "%#x",
+__LINE__, 0x0000004d, "0x4d", "% #3.x",
+__LINE__, -0x0000001, "-1", "%-0d",
+__LINE__, 0x0000043e, "1086", "%ld",
+__LINE__, -0x0000001, "-1", "%-d",
+__LINE__, 0x00000000, "+0", "%+d",
+__LINE__, 0xfffe68d9, "FFFE68D9", "%7.X",
+__LINE__, -0x0169199, "-1479065", "%#.5ld",
+__LINE__, -0x000003d, "-61", "%ld",
+__LINE__, 0x00000001, "+1", "%+.1d",
+__LINE__, 0x0001a65d, "1a65d", "%.5x",
+__LINE__, 0x00000141, "+000321", "%+#5.6ld",
+__LINE__, 0x00000000, " 0", "%4x",
+__LINE__, 0x00000408, "1032", "%-2.3ld",
+__LINE__, 0xffffffed, "FFFFFFED", "%-X",
+__LINE__, 0xfe832351, "FE832351", "% .4X",
+__LINE__, 0x003a421b, "3A421B", "%-X",
+__LINE__, -0x53ed7f25, "-1408073509", "%ld",
+__LINE__, -0x0000003, "-0003", "%-5.4ld",
+__LINE__, 0x00000ad0, " 2768", "%7d",
+__LINE__, 0xfffaf30b, "FFFAF30B", "%X",
+__LINE__, 0x006349d3, " 6506963", "% 6.2ld",
+__LINE__, 0x07f0146a, "7f0146a", "%+3.4x",
+__LINE__, -0x0000002, " -2", "% 3.ld",
+__LINE__, -0x26e94f3, "-40801523", "%-#ld",
+__LINE__, -0x0000004, " -004", "%7.3d",
+__LINE__, 0xfffe8cc9, "FFFE8CC9", "%0X",
+__LINE__, 0x00000018, " 18", "%5.x",
+__LINE__, -0x4941de83, "-1229053571", "% 0.5ld",
+__LINE__, 0x00000000, " 0", "%6ld",
+__LINE__, 0xfffffffe, "0XFFFFFFFE", "%-#X",
+__LINE__, -0x0142ae1, "-1321697", "%4.ld",
+__LINE__, -0x0319e7f, "-3251839", "%0ld",
+__LINE__, 0x000004ff, " 4FF", "%7.2X",
+__LINE__, -0x0001c3e, "-7230", "%#.2ld",
+__LINE__, 0xffffe522, "ffffe522", "%x",
+__LINE__, 0x0001d1cb, "+119243", "%+.3ld",
+__LINE__, 0xfad19d52, "FAD19D52", "%+X",
+__LINE__, 0x00002a7c, " 10876", "% 0.ld",
+__LINE__, 0x00001449, "1449", "%X",
+__LINE__, 0x000732b8, "471736", "%d",
+__LINE__, -0x211a496e, "-555370862", "%ld",
+__LINE__, -0x0000004, "-4", "%1.d",
+__LINE__, 0x0295c03d, "43368509", "%5.ld",
+__LINE__, 0x01fa5722, "33183522", "%0ld",
+__LINE__, 0xfffbff62, "0xfffbff62", "%#x",
+__LINE__, 0x000000f5, " 245", "% 2.d",
+__LINE__, 0x000000a0, "160", "%-d",
+__LINE__, 0x0000000f, "15", "%.2ld",
+__LINE__, 0x0bf5f077, "+200667255", "%+ld",
+__LINE__, -0x14d3e5a, "-21839450", "%#2.3d",
+__LINE__, -0x21cbe656, "-567010902", "%ld",
+__LINE__, 0x000002b9, "697", "%ld",
+__LINE__, 0xfffff9b0, "FFFFF9B0", "%X",
+__LINE__, 0x007fd9c7, "8378823", "%3.4d",
+__LINE__, 0x00036d06, "36d06", "%x",
+__LINE__, 0xffde8052, "FFDE8052", "%4.6X",
+__LINE__, 0x0000000d, "13", "%#d",
+__LINE__, 0x68157d93, "68157d93", "%x",
+__LINE__, 0x00000005, "5", "%1x",
+__LINE__, 0xfffffff4, "FFFFFFF4", "%X",
+__LINE__, 0xf5bbf7e9, "f5bbf7e9", "%+.1x",
+__LINE__, 0x0be98f98, "BE98F98", "%X",
+__LINE__, 0x00000122, "00122", "%.5X",
+__LINE__, -0x0000936, "-2358", "%+#3.0ld",
+__LINE__, 0xfd230f09, "FD230F09", "%-7X",
+__LINE__, 0x00000089, "137", "%ld",
+__LINE__, 0x00000078, " 120", "%7d",
+__LINE__, -0x68ef2b6b, "-1760504683", "%-ld",
+__LINE__, 0xc24480bb, "C24480BB", "%+4X",
+__LINE__, 0xfefe36a2, "FEFE36A2", "%0X",
+__LINE__, -0x35344ba, "-55788730", "%7.d",
+__LINE__, 0xffffffff, "FFFFFFFF", "%+.6X",
+__LINE__, -0x0000f40, "-3904", "% ld",
+__LINE__, 0xfffffffb, "FFFFFFFB", "%X",
+__LINE__, 0x58b37c4b, "58b37c4b", "%2.2x",
+__LINE__, 0x000000e2, "226", "%#ld",
+__LINE__, 0xfff5ebde, "fff5ebde", "%-7.1x",
+__LINE__, 0x0c6ea9be, "208579006", "%-ld",
+__LINE__, 0xff708c74, "FF708C74", "% 4.X",
+__LINE__, 0x00000000, " 0", "% 3X",
+__LINE__, 0x00000004, " 4", "%03.d",
+__LINE__, 0x0919be7c, "+152682108", "%+6.d",
+__LINE__, 0x00d4fd1e, "13958430", "%0d",
+__LINE__, 0xfe77a69e, "fe77a69e", "%-7.x",
+__LINE__, 0x284ded44, "676195652", "%-#2ld",
+__LINE__, -0x00006e6, "-1766", "% ld",
+__LINE__, -0x7dac7ea, "-131778538", "%.0ld",
+__LINE__, 0x0003c50f, "247055", "%#d",
+__LINE__, 0xfffffffc, "fffffffc", "%-x",
+__LINE__, 0xfe0f0d1f, "fe0f0d1f", "% 5.1x",
+__LINE__, 0x00000009, "9", "%0ld",
+__LINE__, -0x0175cc1, "-1531073", "%-04.d",
+__LINE__, 0x000e4da2, " 937378", "% 4.ld",
+__LINE__, 0x00000762, "762", "%-0.X",
+__LINE__, 0x005211bf, "5211bf", "%-x",
+__LINE__, 0xfffffffb, "fffffffb", "%+2.6x",
+__LINE__, 0x00008862, "34914", "%ld",
+__LINE__, 0xfffc9754, "fffc9754", "%+x",
+__LINE__, 0x0000716e, "716E", "%X",
+__LINE__, 0x000000a8, "a8", "%x",
+__LINE__, 0xffff84f5, "ffff84f5", "%0x",
+__LINE__, 0x00005032, "5032", "%x",
+__LINE__, 0xffe242b4, "ffe242b4", "%6x",
+__LINE__, 0x002df9bd, "3013053", "%ld",
+__LINE__, 0xffffe267, "FFFFE267", "%.5X",
+__LINE__, 0xffffffc7, "0xffffffc7", "%#x",
+__LINE__, -0x1727c38, "-24280120", "%d",
+__LINE__, 0x01308072, "1308072", "%x",
+__LINE__, -0x5883c7c, "-92814460", "%+ld",
+__LINE__, 0x000030ad, "30ad", "%x",
+__LINE__, 0xffffffff, "FFFFFFFF", "%X",
+__LINE__, -0x2090a708, "-546350856", "% d",
+__LINE__, 0x0024e6b4, "2418356", "%#ld",
+__LINE__, 0x02db71ac, "2DB71AC", "% 6.3X",
+__LINE__, 0xfffffffc, "FFFFFFFC", "%2.7X",
+__LINE__, -0x000074e, " -1870", "%7.ld",
+__LINE__, -0x0011d84, "-73092", "%d",
+__LINE__, 0x00160723, "160723", "%1.3x",
+__LINE__, 0x00412929, "4270377", "%-d",
+__LINE__, -0x0008fc6, "-36806", "% d",
+__LINE__, 0x00000002, "2", "%d",
+__LINE__, 0x0eb67ffa, "eb67ffa", "%.4x",
+__LINE__, 0x05b86c3c, "95972412", "%4.4d",
+__LINE__, 0xffffca9c, "FFFFCA9C", "% 4.X",
+__LINE__, 0x0007d571, "7d571", "%-0x",
+__LINE__, -0x000239b, "-09115", "%5.5d",
+__LINE__, -0x0000155, " -341", "%5.3ld",
+__LINE__, 0x00000034, "34", "%x",
+__LINE__, -0x0000051, "-81", "%.1ld",
+__LINE__, 0x309bbbe0, "309bbbe0", "%x",
+__LINE__, 0x0075be1e, " 7716382", "% #ld",
+__LINE__, 0x000002d5, "2d5", "%x",
+__LINE__, 0x006b466d, "6B466D", "%-0X",
+__LINE__, 0x01d6c30f, "1D6C30F", "%4.X",
+__LINE__, 0x00000003, " 3", "%07.x",
+__LINE__, 0xfffcc102, "FFFCC102", "%6.X",
+__LINE__, 0xffffffff, "0XFFFFFFFF", "%#X",
+__LINE__, 0xfffffffe, "fffffffe", "%+x",
+__LINE__, 0x00000005, "5", "%ld",
+__LINE__, 0xff060284, "ff060284", "%x",
+__LINE__, 0x007a3325, "7A3325", "%-X",
+__LINE__, 0xf5f595bd, "F5F595BD", "%0X",
+__LINE__, 0xfffa3a10, "FFFA3A10", "%0X",
+__LINE__, 0x00000000, "0", "%x",
+__LINE__, -0x15078f9, "-22051065", "%7d",
+__LINE__, -0x0000002, "-000002", "%.6d",
+__LINE__, 0x00000036, "54", "%1.1ld",
+__LINE__, -0xbbecf6a, "-197054314", "%ld",
+__LINE__, 0x0000043d, "43D", "%X",
+__LINE__, 0xfffffffa, "0xfffffffa", "% #6.x",
+__LINE__, 0x016759f8, "23550456", "%0.ld",
+__LINE__, 0x000052d2, "+21202", "%+6.2d",
+__LINE__, -0x007d232, "-512562", "%ld",
+__LINE__, 0x00240be0, "2362336", "%.1d",
+__LINE__, -0x0000001, "-1", "%0d",
+__LINE__, 0xfffffffa, "FFFFFFFA", "%X",
+__LINE__, -0x0000e88, "-3720", "%ld",
+__LINE__, 0xfffffa9b, "FFFFFA9B", "%.5X",
+__LINE__, 0x09296eeb, "153710315", "%-1.0d",
+__LINE__, 0x001f46fc, "0X1F46FC", "%#X",
+__LINE__, 0x00000006, "6", "%X",
+__LINE__, 0xffffff87, "0XFFFFFF87", "%+#X",
+__LINE__, 0x00000469, "0469", "%04X",
+__LINE__, -0x0000001, "-1", "%ld",
+__LINE__, 0x00000000, "", "%.0ld",
+__LINE__, -0x52bc137, "-86753591", "%-#3ld",
+__LINE__, -0x2bddb08, "-45996808", "%-3.d",
+__LINE__, 0x041367f7, "41367F7", "%+X",
+__LINE__, -0x0018eb5, "-102069", "%+ld",
+__LINE__, -0x0000537, "-1335", "%#ld",
+__LINE__, -0x6f159ff4, "-1863688180", "%+1.d",
+__LINE__, 0x00112ac8, "0X112AC8", "%#6.3X",
+__LINE__, 0x00000000, " ", "%3.d",
+__LINE__, 0x0008afe8, "08afe8", "%+3.6x",
+__LINE__, 0x00000015, "21", "%ld",
+__LINE__, -0x02b7130, "-2847024", "% #2.4d",
+__LINE__, 0xffffffd0, "FFFFFFD0", "%X",
+__LINE__, -0x6970fa1, "-110563233", "%+#.4ld",
+__LINE__, 0x06387dcc, "0X6387DCC", "%-#X",
+__LINE__, 0xffffd506, "ffffd506", "%+6x",
+__LINE__, -0x00fe5cd, "-1041869", "%-#7d",
+__LINE__, -0x0c35bf6, "-12803062", "%-03d",
+__LINE__, -0x0020d89, "-134537", "%#d",
+__LINE__, -0x0c7aed3, "-13086419", "%-ld",
+__LINE__, -0x000362a, "-13866", "%#.4ld",
+__LINE__, -0x02d05f0, "-2950640", "%#ld",
+__LINE__, 0x02de1321, "0x2de1321", "%#7.x",
+__LINE__, 0xffb56428, "0xffb56428", "%#x",
+__LINE__, 0xfffffffe, "FFFFFFFE", "%X",
+__LINE__, 0xf072292d, "F072292D", "%.5X",
+__LINE__, -0x0f4b0f2, "-16036082", "%.5ld",
+__LINE__, 0x01b81885, "28842117", "%5d",
+__LINE__, -0x009cfa6, "-642982", "%d",
+__LINE__, 0xfffffffd, "0XFFFFFFFD", "%-#.5X",
+__LINE__, 0x0dc97a66, "DC97A66", "%2.X",
+__LINE__, 0x000000be, "190", "%.0d",
+__LINE__, 0xffffe1c7, "FFFFE1C7", "% X",
+__LINE__, 0x01883b9a, "1883b9a", "%3x",
+__LINE__, 0xffffdde1, "ffffdde1", "%+x",
+__LINE__, 0x2f1b4e32, "+790318642", "%+ld",
+__LINE__, 0x000129aa, "129aa", "%x",
+__LINE__, -0x00092c2, "-37570", "%d",
+__LINE__, 0x00070fbd, "70fbd", "%x",
+__LINE__, -0x00000ea, "-234", "%+4ld",
+__LINE__, 0xfffffffe, "fffffffe", "%x",
+__LINE__, 0x0091c7f7, "91C7F7", "% .3X",
+__LINE__, -0x0c14fe2, "-12668898", "%d",
+__LINE__, -0x0017c15, "-97301", "%d",
+__LINE__, -0x00005d0, "-0001488", "%5.7d",
+__LINE__, 0x0114c36e, "18137966", "%0d",
+__LINE__, 0xffffffff, "ffffffff", "%+x",
+__LINE__, 0x0ac76e78, "180842104", "%d",
+__LINE__, 0x001976cd, " 1668813", "% 4.ld",
+__LINE__, -0x0642319, "-6562585", "% d",
+__LINE__, 0xffffffff, "FFFFFFFF", "%X",
+__LINE__, -0x035019d, "-3473821", "%.7d",
+__LINE__, -0x0000061, "-97", "%#3.d",
+__LINE__, 0x0000001f, " 31", "% 6.1ld",
+__LINE__, -0x0000024, "-36", "%d",
+__LINE__, 0x000b3785, "735109", "%ld",
+__LINE__, 0xfffffda9, "fffffda9", "%-x",
+__LINE__, 0x00254832, "2443314", "%-ld",
+__LINE__, 0xfffffd40, "FFFFFD40", "%0X",
+__LINE__, -0x0006105, "-24837", "%+#d",
+__LINE__, 0x00000006, "+6", "%+d",
+__LINE__, 0xffd40fd8, "ffd40fd8", "%3.x",
+__LINE__, -0x000988e, "-39054", "%03d",
+__LINE__, 0x0005ad8b, "5AD8B", "%0.0X",
+__LINE__, 0x00000001, "1", "%d",
+__LINE__, 0xfe1f59b7, "fe1f59b7", "%4.x",
+__LINE__, -0x0000022, "-34", "%#d",
+__LINE__, 0x0018e3e9, "18E3E9", "% X",
+__LINE__, 0xffffff25, "FFFFFF25", "%2.X",
+__LINE__, -0x00002c6, "-710", "%1.ld",
+__LINE__, 0x00009765, "38757", "%5ld",
+__LINE__, 0xfe197646, "FE197646", "%-X",
+__LINE__, 0x00000001, " 1", "%+5.x",
+__LINE__, -0x0000002, "-2", "%#ld",
+__LINE__, 0x0072f6be, "72F6BE", "%1X",
+__LINE__, -0x000f06d, "-61549", "%-d",
+__LINE__, 0x00000001, " 1", "%5X",
+__LINE__, 0x328cba28, " 848083496", "% 2.ld",
+__LINE__, 0x0000cddc, "cddc", "%.1x",
+__LINE__, 0xfffffff9, "fffffff9", "%7x",
+__LINE__, 0x00baf511, "BAF511", "%-5.6X",
+__LINE__, 0x00000001, " 1", "%4.ld",
+__LINE__, 0x0001e4b0, "+124080", "%+ld",
+__LINE__, -0x07548f3, "-7686387", "% 6.d",
+__LINE__, -0x01b14ea, "-1774826", "% #0d",
+__LINE__, -0x000005c, "-92 ", "%-04ld",
+__LINE__, -0x00000ae, "-174", "%+.3ld",
+__LINE__, 0x0000008c, "0X8C", "%+#X",
+__LINE__, 0x14c02360, "14C02360", "%.6X",
+__LINE__, 0xfffffff6, "FFFFFFF6", "%X",
+__LINE__, 0x009f4ee5, "9f4ee5", "%x",
+__LINE__, 0x00000035, "35", "%X",
+__LINE__, -0x00000eb, "-235", "%ld",
+__LINE__, 0x1552ced8, "1552CED8", "%04X",
+__LINE__, 0x0000002a, " 2A", "%5X",
+__LINE__, 0xffffffff, "ffffffff", "% x",
+__LINE__, -0xdec0db2, "-233573810", "%d",
+__LINE__, 0x001e2ef0, "1978096", "%2.d",
+__LINE__, 0xffffef24, "ffffef24", "%.5x",
+__LINE__, 0xfffe6a6c, "fffe6a6c", "%+x",
+__LINE__, -0x0000004, "-4", "% ld",
+__LINE__, 0xfe3c6743, "fe3c6743", "%.1x",
+__LINE__, 0x0000033d, "829", "%0ld",
+__LINE__, -0x00006a0, " -1696", "% 7.ld",
+__LINE__, 0xffffffdb, "ffffffdb", "%0.0x",
+__LINE__, 0xfffffffc, "FFFFFFFC", "%3.3X",
+__LINE__, -0x0000004, "-4", "%#ld",
+__LINE__, 0x00b32b56, "B32B56", "%X",
+__LINE__, 0xffffffff, "0xffffffff", "%+#x",
+__LINE__, 0x01cd1a48, "1cd1a48", "%+7x",
+__LINE__, 0xffffffda, "ffffffda", "%x",
+__LINE__, 0x1886509e, "1886509E", "% X",
+__LINE__, 0x000000eb, "235", "%0d",
+__LINE__, 0xfffffff4, "fffffff4", "%0x",
+__LINE__, 0x00000547, "547", "% X",
+__LINE__, 0x000017e6, "17e6", "%-2.x",
+__LINE__, 0x00001dc4, "7620", "%d",
+__LINE__, 0xffffffff, "FFFFFFFF", "%3.0X",
+__LINE__, 0xffff93fa, "0XFFFF93FA", "%#X",
+__LINE__, 0xfffffe1c, "FFFFFE1C", "%-X",
+__LINE__, 0x00000000, "", "% .0x",
+__LINE__, 0x000000a1, "A1", "%X",
+__LINE__, 0xffffffff, "0xffffffff", "%#x",
+__LINE__, -0x0001460, "-05216", "%+#.5d",
+__LINE__, 0x00000001, "1 ", "%-6.x",
+__LINE__, 0xfffd5324, "FFFD5324", "%+2.6X",
+__LINE__, 0x00000007, " 07", "%06.2d",
+__LINE__, 0x00000003, "3", "%-X",
+__LINE__, 0xfffffdb7, "0XFFFFFDB7", "%+#X",
+__LINE__, 0xfffff4cc, "fffff4cc", "%0x",
+__LINE__, 0x00000000, "0 ", "%-5X",
+__LINE__, 0x00758c96, "758C96", "%X",
+__LINE__, -0x0000001, "-1", "%-ld",
+__LINE__, 0x00000001, "1", "%ld",
+__LINE__, 0x03f03caf, "66075823", "%.2ld",
+__LINE__, 0x0000a87c, "a87c", "%1.x",
+__LINE__, 0x00000034, "34", "%X",
+__LINE__, 0x00000000, "0", "%x",
+__LINE__, 0x00010167, "10167", "%x",
+__LINE__, -0x00007ce, "-1998 ", "%-6ld",
+__LINE__, 0x00000001, "1", "%.0d",
+__LINE__, 0x00d94cee, "14241006", "%ld",
+__LINE__, -0x0000008, "-8", "% d",
+__LINE__, -0x71520839, "-1901201465", "%+0d",
+__LINE__, 0x0000035a, "35a", "%-x",
+__LINE__, 0xfffd2f68, "FFFD2F68", "%-X",
+__LINE__, 0x0006ea53, "453203", "%1d",
+__LINE__, 0x000000df, "DF", "% 1X",
+__LINE__, 0xfffffffe, "fffffffe", "% 7x",
+__LINE__, 0x00000156, "156", "% X",
+__LINE__, 0x00037ac9, " 228041", "% ld",
+__LINE__, 0xffffffde, "FFFFFFDE", "%0.5X",
+__LINE__, 0x00000025, "37", "%-0.ld",
+__LINE__, -0x4133686, "-68368006", "%2ld",
+__LINE__, -0x000003b, "-59", "%.2ld",
+__LINE__, 0xfffff910, "fffff910", "% 00.0x",
+__LINE__, 0xff9ec802, "FF9EC802", "%2.6X",
+__LINE__, 0x00000008, "0X8", "%#1X",
+__LINE__, 0xfffffff7, "FFFFFFF7", "%-X",
+__LINE__, 0x0029a4da, "2729178", "%04.ld",
+__LINE__, 0x007d1588, "8197512", "%#d",
+__LINE__, 0x0007e86d, "518253", "%0d",
+__LINE__, 0xfffffff9, "fffffff9", "%x",
+__LINE__, 0x00000002, "002", "%.3d",
+__LINE__, 0x00006ec1, "6EC1", "%2X",
+__LINE__, 0x0000300c, "12300", "%-d",
+__LINE__, -0x0000002, "-2", "%+ld",
+__LINE__, -0x0000002, "-2", "%ld",
+__LINE__, -0x00015d5, "-005589", "%#.6ld",
+__LINE__, 0x00000041, "65", "%d",
+__LINE__, 0x00000229, "0000229", "% 0.7x",
+__LINE__, 0xfffffffb, "fffffffb", "%03.x",
+__LINE__, 0x00093262, "0602722", "%.7d",
+__LINE__, -0x00037b4, "-14260", "%-0ld",
+__LINE__, 0xfffffffc, "fffffffc", "%-x",
+__LINE__, 0xf24cb3e6, "f24cb3e6", "%1x",
+__LINE__, 0x00000000, "0", "%x",
+__LINE__, 0xfffffffb, "FFFFFFFB", "%0X",
+__LINE__, 0x00000031, "0000049", "%00.7ld",
+__LINE__, 0x00000bb3, "BB3", "%.1X",
+__LINE__, -0x0000001, "-0001", "%+#4.4ld",
+__LINE__, -0x0000001, "-1", "% d",
+__LINE__, 0x00022c0c, "22c0c", "%-x",
+__LINE__, 0xffffffd4, "ffffffd4", "%x",
+__LINE__, 0x000729c6, "469446", "%3.d",
+__LINE__, 0xb180feae, "b180feae", "%3.x",
+__LINE__, 0x124fac15, "307211285", "%-0ld",
+__LINE__, -0x0000004, "-4", "%ld",
+__LINE__, 0x0000006a, "106", "%#d",
+__LINE__, 0x0000297f, "297F", "%+3X",
+__LINE__, 0x0000000e, "14", "%0ld",
+__LINE__, 0x00000027, "27", "%0.1X",
+__LINE__, 0xffeb98eb, "ffeb98eb", "% 05.2x",
+__LINE__, 0xfffff19b, "FFFFF19B", "%+X",
+__LINE__, 0x00025992, "154002", "%6.6d",
+__LINE__, 0x00000040, " 040", "%6.3X",
+__LINE__, 0x00000a9e, " 0a9e", "%5.4x",
+__LINE__, 0x00c7f2cc, "c7f2cc", "%x",
+__LINE__, 0x000325e6, " 325E6", "%6.X",
+__LINE__, -0x69faad3, "-111127251", "%d",
+__LINE__, -0x059a307, "-5874439", "% ld",
+__LINE__, 0xfffffff6, "0xfffffff6", "%#0.0x",
+__LINE__, 0x0030fdf3, "30fdf3", "%x",
+__LINE__, 0x00007343, "+29507", "%+#2d",
+__LINE__, 0x0003cf4b, "0X3CF4B", "% #.2X",
+__LINE__, 0x00000433, "+1075", "%+0ld",
+__LINE__, 0xfffffffd, "fffffffd", "%+.3x",
+__LINE__, 0x0ae30c4e, "ae30c4e", "%+00x",
+__LINE__, 0x0002540f, "02540f", "%-.6x",
+__LINE__, -0x0000001, " -01", "% #5.2ld",
+__LINE__, 0xffffffe7, "0xffffffe7", "% #5.x",
+__LINE__, 0x0000005b, "91", "%d",
+__LINE__, 0x00001f9b, "8091", "%.4ld",
+__LINE__, 0xfffff315, "fffff315", "%4.x",
+__LINE__, -0x130eec41, "-319745089", "% ld",
+__LINE__, 0xfff8fe13, "FFF8FE13", "%X",
+__LINE__, -0x0000004, "-00004", "%5.5d",
+__LINE__, 0x00000669, "669", "%0X",
+__LINE__, -0x0000004, "-4", "%d",
+__LINE__, 0xf5e81496, "F5E81496", "% 6X",
+__LINE__, -0x0000001, "-1", "% 0d",
+__LINE__, 0xfffffff7, "fffffff7", "%x",
+__LINE__, 0x000001de, "478", "%d",
+__LINE__, 0x0000623e, "25150", "%5.0d",
+__LINE__, 0xffffffa8, "FFFFFFA8", "%+X",
+__LINE__, -0x0000117, "-279", "% ld",
+__LINE__, -0x0000517, "-1303", "%d",
+__LINE__, 0xfffff9d5, "fffff9d5", "% x",
+__LINE__, 0x000001cc, "1CC", "%-X",
+__LINE__, 0x0000019a, "0000410", "%.7d",
+__LINE__, 0x00000003, "3 ", "%-06X",
+__LINE__, 0x00000009, "0x9", "%#0x",
+__LINE__, 0xfd544610, "0XFD544610", "% #X",
+__LINE__, 0xfffffffc, "fffffffc", "%+x",
+__LINE__, 0x00009437, "37943", "%ld",
+__LINE__, -0x00b5ea6, "-745126", "%d",
+__LINE__, 0xffffffd8, "ffffffd8", "%6x",
+__LINE__, 0x00002a2d, "10797", "%.3ld",
+__LINE__, 0x00275238, "2576952", "%0ld",
+__LINE__, 0xfff90a34, "FFF90A34", "%-7X",
+__LINE__, 0xfffffffe, "FFFFFFFE", "% .7X",
+__LINE__, -0xb3b673e, "-188442430", "% ld",
+__LINE__, 0xfffff67a, "0xfffff67a", "%#0.x",
+__LINE__, 0x0000dff6, " dff6", "%+7.x",
+__LINE__, 0xffee46e3, "ffee46e3", "%x",
+__LINE__, 0x00001a66, " 0006758", "% 7.7d",
+__LINE__, 0x0002b475, "2B475", "%.4X",
+__LINE__, 0x0002090d, "002090d", "%.7x",
+__LINE__, -0x0057838, "-358456", "%#ld",
+__LINE__, 0x00000004, "0x4", "%#x",
+__LINE__, 0x0574cb62, "91540322", "%#7d",
+__LINE__, -0x0054388, "-344968", "% #d",
+__LINE__, 0x000421c2, "421C2", "% X",
+__LINE__, 0x00000003, "3", "%0d",
+__LINE__, 0xffffe2e2, "ffffe2e2", "% 5.x",
+__LINE__, 0x00000021, "+33", "%+d",
+__LINE__, -0x0020033, "-131123", "%ld",
+__LINE__, -0x0000001, " -1", "%4.ld",
+__LINE__, 0x000000fd, "000fd", "%3.5x",
+__LINE__, 0x023e4337, "37634871", "%1d",
+__LINE__, 0x6e823d96, "6E823D96", "% X",
+__LINE__, 0xfff0e133, "fff0e133", "%x",
+__LINE__, -0x000decc, "-57036", "%3d",
+__LINE__, 0x004397b8, "4429752", "%0d",
+__LINE__, -0x0000023, " -35", "%6d",
+__LINE__, 0xffe701ca, "FFE701CA", "%3X",
+__LINE__, 0x000c0319, "+787225", "%+.6d",
+__LINE__, 0x00000000, "0", "%x",
+__LINE__, 0xfffffe1d, "FFFFFE1D", "%X",
+__LINE__, 0xfffffb33, "fffffb33", "%x",
+__LINE__, 0x02b5e30a, "45474570", "%d",
+__LINE__, 0x000074eb, "29931", "%03.ld",
+__LINE__, -0x4e42e310, "-1313006352", "%-0.d",
+__LINE__, -0x000007b, "-123", "%d",
+__LINE__, 0x00000160, " 352", "% d",
+__LINE__, -0x16af31ec, "-380580332", "%#ld",
+__LINE__, -0x000006e, "-000110", "%07ld",
+__LINE__, 0x232699a0, "232699a0", "%7.x",
+__LINE__, 0x00f9b8e5, "+16365797", "%+0d",
+__LINE__, 0x0000000c, "C", "%X",
+__LINE__, 0xfffffd4f, "FFFFFD4F", "%X",
+__LINE__, 0xffffe7bb, "FFFFE7BB", "%.7X",
+__LINE__, -0x0000163, "-355", "%d",
+__LINE__, 0x00070315, " 459541", "% #2.d",
+__LINE__, -0x7d5c12a, "-131449130", "% 6.ld",
+__LINE__, 0xffffffb2, "FFFFFFB2", "%X",
+__LINE__, -0x0004aad, "-19117", "%+6.4ld",
+__LINE__, 0x00115586, "1136006", "%0d",
+__LINE__, -0x0000021, "-33", "%d",
+__LINE__, 0x093ce01e, "93ce01e", "% 5x",
+__LINE__, 0x00672135, "672135", "% x",
+__LINE__, 0x05f4abd5, "0x5f4abd5", "%+#6.x",
+__LINE__, -0x0448b03, "-4492035", "%-0.2ld",
+__LINE__, 0x00000000, "0", "%#x",
+__LINE__, 0x1987217e, "428286334", "%d",
+__LINE__, 0x000010f6, "10f6", "%-x",
+__LINE__, 0x0000177a, "177a", "%1x",
+__LINE__, 0xfffffefd, "FFFFFEFD", "%7X",
+__LINE__, -0x095cbf8, "-9817080", "%-5ld",
+__LINE__, 0x0000008a, "138", "%2.0ld",
+__LINE__, 0xfffe80ad, "fffe80ad", "%0x",
+__LINE__, -0x1a4c8f7, "-27576567", "%d",
+__LINE__, 0x00000000, "0", "%-x",
+__LINE__, 0x0000a82b, "43051", "%-ld",
+__LINE__, 0x000000eb, "235", "%2.3ld",
+__LINE__, -0x0002747, "-10055", "%d",
+__LINE__, 0x00000319, "0X319", "%#X",
+__LINE__, 0xfffffcfe, "FFFFFCFE", "% X",
+__LINE__, 0x00050f0e, "50f0e", "%-1x",
+__LINE__, -0x398e09e, "-60350622", "%0.7ld",
+__LINE__, 0x00000000, " ", "%2.ld",
+__LINE__, 0x00000049, "00049", "% .5X",
+__LINE__, -0x00000dd, " -221", "%+#5ld",
+__LINE__, 0xf6db2fac, "f6db2fac", "%-07x",
+__LINE__, 0x0000004f, "4F", "% .0X",
+__LINE__, 0x00000000, "0", "%x",
+__LINE__, 0xfd07f692, "fd07f692", "%x",
+__LINE__, 0xdb98bde0, "db98bde0", "%x",
+__LINE__, 0x00000271, "0271", "% 3.4x",
+__LINE__, -0x000115a, "-4442", "%#1.ld",
+__LINE__, 0x0002f5f2, "194034", "%ld",
+__LINE__, -0x0000152, " -338", "%+7ld",
+__LINE__, 0x00059336, "365366", "%d",
+__LINE__, 0xfffffff6, "fffffff6", "%-7x",
+__LINE__, 0xfb916c51, "fb916c51", "%-x",
+__LINE__, 0xffff413d, "FFFF413D", "%-X",
+__LINE__, 0xf2576910, "F2576910", "%-4.X",
+__LINE__, 0xfffc7730, "fffc7730", "%5.x",
+__LINE__, 0x000002e6, "+742", "%+1d",
+__LINE__, -0x00001bf, "-447", "%3d",
+__LINE__, 0x000002e1, "2E1", "%-X",
+__LINE__, 0x00000096, "150", "%#0ld",
+__LINE__, 0x000002bd, "701", "%d",
+__LINE__, -0x0053386, "-340870", "%#d",
+__LINE__, 0xfffdb076, "FFFDB076", "%X",
+__LINE__, 0x00004dc5, " +19909", "%+07.ld",
+__LINE__, 0x00000f7a, " F7A", "%4X",
+__LINE__, 0x02405000, " 37769216", "% ld",
+__LINE__, 0xfffce68d, "fffce68d", "%0x",
+__LINE__, -0x35b3af2, "-56310514", "%-ld",
+__LINE__, -0x0238631, "-2328113", "%.4d",
+__LINE__, -0x000001e, "-030", "%.3ld",
+__LINE__, 0xffffffdd, "FFFFFFDD", "%.4X",
+__LINE__, 0x0013f6ac, "13f6ac", "%02.x",
+__LINE__, 0xfffffffa, "fffffffa", "%+07.x",
+__LINE__, -0x000192b, " -6443", "%6.d",
+__LINE__, 0x0000058b, "+1419", "%+d",
+__LINE__, 0x00001391, "5009", "%ld",
+__LINE__, -0x0041a57, "-268887", "%1ld",
+__LINE__, 0xfffff266, "0xfffff266", "%+#6.6x",
+__LINE__, 0x0000018b, " 395", "%6.ld",
+__LINE__, 0x009ae24d, "+10150477", "%+ld",
+__LINE__, 0x0000007e, "7E", "%X",
+__LINE__, 0xfffffd53, "FFFFFD53", "% 0X",
+__LINE__, 0x000002fa, "2FA", "%-1.3X",
+__LINE__, 0x000000a4, "164", "%0d",
+__LINE__, 0x00001833, "6195", "%ld",
+__LINE__, -0x0000001, "-1", "%d",
+__LINE__, 0xf2fcbd9b, "F2FCBD9B", "%+0.2X",
+__LINE__, 0x00004a8a, "4A8A", "%X",
+__LINE__, -0x10695cda, "-275340506", "%d",
+__LINE__, 0x00000037, "37", "%X",
+__LINE__, 0x00082d5c, "82D5C", "%+0.5X",
+__LINE__, 0xfffffe01, "fffffe01", "% 5.3x",
+__LINE__, 0x000005ea, "05EA", "% 1.4X",
+__LINE__, 0x0e0b8826, "e0b8826", "%2x",
+__LINE__, -0x0000161, "-353", "%+d",
+__LINE__, 0x19e3014a, "19E3014A", "%+5X",
+__LINE__, 0x00000140, "140", "%x",
+__LINE__, 0xffff84b9, "FFFF84B9", "%X",
+__LINE__, -0x0005776, "-22390", "%+5ld",
+__LINE__, 0x0162ad61, "162AD61", "% X",
+__LINE__, 0x00002395, "2395", "%X",
+__LINE__, 0x003702ec, "3605228", "%5.2d",
+__LINE__, 0xffffffff, "FFFFFFFF", "%7X",
+__LINE__, 0x00001778, "0x1778", "%#5.x",
+__LINE__, 0xc52bef7f, "C52BEF7F", "%X",
+__LINE__, 0xfffffec4, "FFFFFEC4", "%X",
+__LINE__, 0x00000006, "6", "%X",
+__LINE__, 0x00000000, "000", "%03.3x",
+__LINE__, 0x00000000, "0", "%x",
+__LINE__, 0xffff6c46, "FFFF6C46", "% 2.2X",
+__LINE__, -0x1506098, "-22044824", "%01.d",
+__LINE__, 0x03415caf, "3415caf", "%x",
+__LINE__, -0x00007b4, "-1972", "%#4.4d",
+__LINE__, -0x00158c9, "-88265", "%03.4d",
+__LINE__, 0x6947c336, "1766310710", "%.6d",
+__LINE__, 0x0000017c, "17C", "% 0X",
+__LINE__, -0x00001b7, "-439", "% 0ld",
+__LINE__, 0x06a7575a, "6A7575A", "%-.0X",
+__LINE__, 0x000b3459, "734297", "%ld",
+__LINE__, -0x395d8dd, "-60152029", "%ld",
+__LINE__, 0x00036bb3, "224179", "%-6.d",
+__LINE__, 0xffff14ff, "FFFF14FF", "%X",
+__LINE__, -0x15910e4f, "-361827919", "%-0d",
+__LINE__, -0x0000004, "-4", "%#d",
+__LINE__, 0xf7f7adac, "F7F7ADAC", "% 3.X",
+__LINE__, 0xffffff74, "FFFFFF74", "%0X",
+__LINE__, 0x00000000, "0", "%d",
+__LINE__, -0x000007b, "-123 ", "%-7.d",
+__LINE__, -0x000002c, "-44", "%d",
+__LINE__, -0x000002b, " -43", "%5d",
+__LINE__, 0x0000ae5f, "44639", "%d",
+__LINE__, 0x003cbc63, "3CBC63", "%X",
+__LINE__, 0xfffffffc, "0XFFFFFFFC", "%#5.7X",
+__LINE__, 0x0003e044, "3E044", "%X",
+__LINE__, -0x0000c46, "-3142", "%.1d",
+__LINE__, 0xff18f4bb, "FF18F4BB", "%0X",
+__LINE__, 0xfffffffd, "FFFFFFFD", "%.1X",
+__LINE__, -0x01c0f27, "-1838887", "%0d",
+__LINE__, -0x1242901f, "-306352159", "%.4ld",
+__LINE__, 0x1775c10a, "393593098", "%6.ld",
+__LINE__, 0x00000001, " 1", "%03.d",
+__LINE__, 0xfff1fd30, "0xfff1fd30", "%#x",
+__LINE__, 0x00000191, "191", "%0.X",
+__LINE__, 0x2e597178, "777613688", "%2.ld",
+__LINE__, -0x4ef0cf3, "-82775283", "%+.6ld",
+__LINE__, -0x0000085, " -133", "%6.d",
+__LINE__, 0x0000014d, "333 ", "%-5ld",
+__LINE__, -0xc03bd74, "-201571700", "%07.6ld",
+__LINE__, -0x000000a, "-10", "%d",
+__LINE__, 0x01f5e86e, "32893038", "%#2.ld",
+__LINE__, 0x00000033, "0X33", "% #X",
+__LINE__, 0x0087c797, " 8898455", "% 7.d",
+__LINE__, -0x0001205, "-4613", "%5d",
+__LINE__, 0x00000192, " 192", "%7.X",
+__LINE__, 0x000e6c00, "945152", "%6.1ld",
+__LINE__, 0x00018629, " 99881", "% d",
+__LINE__, -0x04739c6, "-4667846", "%-01.3ld",
+__LINE__, 0x00001f42, "8002", "%d",
+__LINE__, 0x00000caf, "3247", "%d",
+__LINE__, -0x4992e24, "-77147684", "%#.6d",
+__LINE__, 0x0000001d, "1d", "%-0x",
+__LINE__, 0x14d79f03, "349675267", "%0ld",
+__LINE__, 0x00000dd4, " 03540", "%#6.5ld",
+__LINE__, 0x0005f30e, "0X5F30E", "%#X",
+__LINE__, 0x00000157, "157", "%X",
+__LINE__, -0x9281698, "-153622168", "%d",
+__LINE__, -0x000004a, "-74", "%d",
+__LINE__, -0x0010c9e, "-68766", "%-0d",
+__LINE__, 0x00000059, "00089", "%.5ld",
+__LINE__, -0x06959e3, "-6904291", "% 4.d",
+__LINE__, 0xfbea12b1, "0XFBEA12B1", "%+#X",
+__LINE__, 0xffffdfb1, "FFFFDFB1", "%2.6X",
+__LINE__, 0x0434faac, "434faac", "%.5x",
+__LINE__, 0xffffffff, "ffffffff", "% x",
+__LINE__, 0x00000b32, "B32", "%0X",
+__LINE__, 0x00000047, "71", "%.1d",
+__LINE__, 0x00070bef, " 0461807", "% .7d",
+__LINE__, 0x00000038, "38", "% 0x",
+__LINE__, 0x00000000, " 0", "%6X",
+__LINE__, 0xfff9c011, "FFF9C011", "%2X",
+__LINE__, 0xfffffffe, "fffffffe", "%7x",
+__LINE__, 0xfffffff9, "FFFFFFF9", "%X",
+__LINE__, -0x016a095, "-1482901", "%4.0ld",
+__LINE__, -0x000001c, "-28", "% ld",
+__LINE__, 0xfffd6133, "0xfffd6133", "%#x",
+__LINE__, 0x000004a4, "0x4a4", "%#x",
+__LINE__, 0x000003c2, "0962", "%.4d",
+__LINE__, -0x000323b, "-12859", "%+#d",
+__LINE__, 0x0f620237, "F620237", "%X",
+__LINE__, 0x00007863, "007863", "%.6X",
+__LINE__, 0x0000002c, " 44", "% #ld",
+__LINE__, 0xfffffff0, "fffffff0", "%03.6x",
+__LINE__, 0xffff6346, "FFFF6346", "%1.X",
+__LINE__, 0x00063188, "63188", "% x",
+__LINE__, 0xfffff91c, "fffff91c", "%-.3x",
+__LINE__, 0x004cd0b4, "4CD0B4", "%-2.X",
+__LINE__, 0x06b4d739, "112514873", "%0.1d",
+__LINE__, -0x0009beb, "-39915", "%.2d",
+__LINE__, 0x0000831b, "33563", "%d",
+__LINE__, 0x00000001, "1", "%X",
+__LINE__, -0x942d76b, "-155375467", "% #0ld",
+__LINE__, 0xffff2a95, "FFFF2A95", "%2X",
+__LINE__, 0x00548d5e, "5541214", "%.3ld",
+__LINE__, 0x0b5e1a01, "B5E1A01", "% .7X",
+__LINE__, 0xfffffc22, "fffffc22", "%6x",
+__LINE__, -0x0000dd7, "-3543", "%-.3ld",
+__LINE__, 0xfffff834, "FFFFF834", "%X",
+__LINE__, 0x0365f762, "57014114", "%ld",
+__LINE__, -0x0000003, "-3", "%d",
+__LINE__, 0x3bd998a3, "1004116131", "%d",
+__LINE__, 0xfffff6c9, "FFFFF6C9", "%+X",
+__LINE__, 0xffffded9, "FFFFDED9", "%-.1X",
+__LINE__, -0x00fbb5a, "-1031002", "% 1.0d",
+__LINE__, 0xffffffb7, "ffffffb7", "%6.x",
+__LINE__, 0xff1b8ac3, "FF1B8AC3", "%-X",
+__LINE__, 0xfffffff2, "FFFFFFF2", "%00.X",
+__LINE__, -0x000013d, " -317", "%05.d",
+__LINE__, 0x0000f5e2, "+62946", "%+0.2ld",
+__LINE__, 0x16ac6358, "16ac6358", "%x",
+__LINE__, 0xffff8728, "FFFF8728", "%+X",
+__LINE__, -0x0014a6d, "-084589", "%0.6ld",
+__LINE__, 0xfc904514, "FC904514", "%+0X",
+__LINE__, 0x00000004, "4", "%ld",
+__LINE__, 0xffffffe0, "ffffffe0", "%+x",
+__LINE__, -0x0a0ffdd, "-10551261", "%+02d",
+__LINE__, -0x0000bbc, "-3004", "%+d",
+__LINE__, 0x00000006, " +6", "%+7ld",
+__LINE__, 0x17afa6e5, "397387493", "%ld",
+__LINE__, 0xfffff6bf, "fffff6bf", "%+04.4x",
+__LINE__, 0x000001dc, "01dc", "% 02.4x",
+__LINE__, 0x0000000e, " 14", "% d",
+__LINE__, 0xfffffff9, "0XFFFFFFF9", "%#4.X",
+__LINE__, 0x0000005d, "93", "%0d",
+__LINE__, -0x004fa05, "-0326149", "%.7d",
+__LINE__, -0x0000018, "-24", "%ld",
+__LINE__, 0xfffff7eb, "FFFFF7EB", "%X",
+__LINE__, 0x0072b044, " 7516228", "% .7ld",
+__LINE__, 0xffffffed, "0xffffffed", "%#x",
+__LINE__, 0x0010364d, "10364D", "%X",
+__LINE__, 0xfff90469, "0XFFF90469", "%#X",
+__LINE__, 0x000001b4, " 436", "% 0d",
+__LINE__, 0x00000000, "0", "% X",
+__LINE__, 0xfffffff3, "fffffff3", "%x",
+__LINE__, 0x19335d40, "19335d40", "%6x",
+__LINE__, 0x00039c24, "236580", "%ld",
+__LINE__, 0x000021f7, "8695", "%0.4ld",
+__LINE__, -0x057b406, "-5747718", "%d",
+__LINE__, -0x017b371, "-1553265", "%#ld",
+__LINE__, 0x0003e405, "254981", "%2.d",
+__LINE__, 0x00000001, "1", "%-.1x",
+__LINE__, 0x000000ae, "AE", "%.1X",
+__LINE__, 0xffd85825, "ffd85825", "%-7.x",
+__LINE__, 0xfffad763, "fffad763", "%x",
+__LINE__, 0x002431d4, "2372052", "%6.ld",
+__LINE__, 0x00000003, "000003", "%-05.6d",
+__LINE__, 0xffffffeb, "0xffffffeb", "%#x",
+__LINE__, 0xff8cf3b0, "ff8cf3b0", "%x",
+__LINE__, 0xfe88d2ff, "0xfe88d2ff", "%+#.2x",
+__LINE__, 0xffffff6b, "ffffff6b", "%6.3x",
+__LINE__, 0xfffffffe, "fffffffe", "%-x",
+__LINE__, 0xe998945a, "e998945a", "%2.x",
+__LINE__, 0x03b9c50f, "3B9C50F", "%+X",
+__LINE__, 0xffffffff, "FFFFFFFF", "%3.7X",
+__LINE__, 0x000024ef, "24ef", "%+x",
+__LINE__, 0xfffffc04, "FFFFFC04", "%X",
+__LINE__, 0x0d4bef7c, " 223080316", "% .1ld",
+__LINE__, -0xc33f3bc, "-204731324", "%.5ld",
+__LINE__, 0xffffffff, "0XFFFFFFFF", "%#2X",
+__LINE__, 0x0000e493, "e493", "%x",
+__LINE__, 0x000001b4, "1b4", "%x",
+__LINE__, 0xffffffd6, "0xffffffd6", "% #1x",
+__LINE__, 0x00000001, "1", "%d",
+__LINE__, -0x0000f28, "-3880", "%ld",
+__LINE__, 0x00000277, "631", "%-1ld",
+__LINE__, 0x00000001, " 1", "%2x",
+__LINE__, -0x0ff4d2c, "-16731436", "%#ld",
+__LINE__, 0x0bb80344, "196608836", "%00ld",
+__LINE__, 0xffffffdc, "FFFFFFDC", "%X",
+__LINE__, 0x00000484, "1156", "%ld",
+__LINE__, 0x00000341, "341", "%-.2x",
+__LINE__, 0x0000ee62, "ee62", "%x",
+__LINE__, 0xfffffe20, "fffffe20", "%+x",
+__LINE__, -0x00076eb, "-30443", "%.2d",
+__LINE__, 0x2c4a7407, "2c4a7407", "% x",
+__LINE__, 0x00000000, " ", "%3.X",
+__LINE__, 0xffffff60, "ffffff60", "% 4.x",
+__LINE__, 0x000e4cf2, "+937202", "%+.5ld",
+__LINE__, 0x00000008, " 00008", "%06.5X",
+__LINE__, 0x0002f612, "194066", "%d",
+__LINE__, 0xfffffc96, "fffffc96", "%-3.3x",
+__LINE__, -0x0000001, "-1", "% ld",
+__LINE__, 0x00000000, " ", "% 6.0X",
+__LINE__, 0xfffffff5, "fffffff5", "%3.x",
+__LINE__, 0x0bfd63a1, "201155489", "%d",
+__LINE__, -0x1547c214, "-357024276", "%ld",
+__LINE__, 0x00000004, "4", "%#0.d",
+__LINE__, -0x000f2f3, "-62195", "%.2d",
+__LINE__, 0xfff843dd, "FFF843DD", "%X",
+__LINE__, 0x00966e36, "9858614", "%.0ld",
+__LINE__, 0x0000782e, "0X782E", "% #X",
+__LINE__, 0x00bd36c0, "12400320", "%ld",
+__LINE__, 0x00000000, "00", "% .2X",
+__LINE__, 0x00000000, "0", "%1X",
+__LINE__, 0x0003f416, "3f416 ", "%-6.x",
+__LINE__, -0x00b74bd, "-750781", "% ld",
+__LINE__, 0x0000138a, "138a", "% x",
+__LINE__, 0x024df7f0, "24DF7F0", "% 0.6X",
+__LINE__, 0xfffffffc, "FFFFFFFC", "%X",
+__LINE__, -0x0003284, "-12932 ", "%-07.ld",
+__LINE__, 0x000094d3, "94d3", "%x",
+__LINE__, 0x000000bf, "bf", "%.2x",
+__LINE__, 0x00000000, "00000", "%-1.5X",
+__LINE__, -0x04899b8, "-4757944", "%d",
+__LINE__, 0x2b51bf20, "+726777632", "%+d",
+__LINE__, -0x000000d, "-13", "%.2d",
+__LINE__, 0x04f78fbd, "4F78FBD", "% 7.X",
+__LINE__, 0x00011684, "71300", "%5.d",
+__LINE__, 0x0000539d, "21405", "%0d",
+__LINE__, 0x00000008, "000008", "%-3.6X",
+__LINE__, 0xfc7a2cdc, "fc7a2cdc", "%2.3x",
+__LINE__, 0xffc21da1, "ffc21da1", "%x",
+__LINE__, 0x00000273, "273", "%x",
+__LINE__, 0x00000000, "0", "%#X",
+__LINE__, -0x31cd6b9, "-52221625", "% d",
+__LINE__, 0xfffffff8, "FFFFFFF8", "%.0X",
+__LINE__, 0x00000002, "2", "%#ld",
+__LINE__, 0x00e8922c, "15241772", "%d",
+__LINE__, 0xfeb19ea7, "FEB19EA7", "%0.1X",
+__LINE__, 0x00003931, "014641", "%06ld",
+__LINE__, 0x00000015, "0X00015", "%#.5X",
+__LINE__, 0xfffffffe, "FFFFFFFE", "%1.X",
+__LINE__, 0xfff17103, "0XFFF17103", "% #X",
+__LINE__, 0xfffffffc, "FFFFFFFC", "%+X",
+__LINE__, 0x00000002, "00002", "%.5x",
+__LINE__, 0x00001617, " 5655", "% 7.d",
+__LINE__, -0x0000010, "-000016", "%00.6d",
+__LINE__, 0x000000b0, "B0", "% X",
+__LINE__, 0xfc9362b2, "FC9362B2", "%-X",
+__LINE__, 0xfc3d8276, "fc3d8276", "% 1x",
+__LINE__, 0x00001405, "5125", "%#d",
+__LINE__, 0x02250183, " 35979651", "% ld",
+__LINE__, 0xffc9b007, "ffc9b007", "% 4.x",
+__LINE__, 0x00000311, "785", "%0d",
+__LINE__, 0x0004d273, " 316019", "% d",
+__LINE__, 0x00000001, "1", "%1.x",
+__LINE__, 0xffff240f, "FFFF240F", "%4.X",
+__LINE__, 0x0049cfda, "+4837338", "%+ld",
+__LINE__, 0x012f6dd5, "12F6DD5", "% 6.2X",
+__LINE__, 0x00000002, "0x2", "%#2.0x",
+__LINE__, 0xfffd834a, "FFFD834A", "%.6X",
+__LINE__, 0xfe2a40f8, "0XFE2A40F8", "%#X",
+__LINE__, 0xffffffeb, "ffffffeb", "%x",
+__LINE__, -0x00ac5cb, "-705995", "%d",
+__LINE__, -0x3021108c, "-807473292", "% .4d",
+__LINE__, -0x0000035, "-53", "%-ld",
+__LINE__, -0x1a36475, "-27485301", "% d",
+__LINE__, -0x0000011, "-17", "%d",
+__LINE__, 0x000001a3, "000419", "%.6ld",
+__LINE__, 0x0030a0a8, "3186856", "%.5ld",
+__LINE__, 0x00000019, "25", "%d",
+__LINE__, 0xf32deac1, "F32DEAC1", "%06.2X",
+__LINE__, -0x0000004, " -00004", "%7.5ld",
+__LINE__, 0x00000000, "0", "%ld",
+__LINE__, 0x0006bf19, "442137", "%#0.d",
+__LINE__, 0x566f6c44, "1450142788", "%1.6d",
+__LINE__, 0xfffffc10, "fffffc10", "%.2x",
+__LINE__, -0x000e04d, "-57421", "%+0d",
+__LINE__, 0x00000000, "0000000", "%+.7X",
+__LINE__, 0x00b5c74d, " 11913037", "% ld",
+__LINE__, -0x028dfe2, "-2678754", "%05.1d",
+__LINE__, 0xfffffee0, "fffffee0", "%0x",
+__LINE__, -0x030c077, "-3194999", "%-.6d",
+__LINE__, 0x00055ca1, "055ca1", "%-.6x",
+__LINE__, 0x00000000, " ", "%7.X",
+__LINE__, 0xfffffe3b, "FFFFFE3B", "%X",
+__LINE__, 0xffffffff, "FFFFFFFF", "% 3X",
+__LINE__, 0x00000857, "2135", "%-#1.d",
+__LINE__, -0x00546a2, "-345762", "%0.5d",
+__LINE__, 0x0000000b, "0xb ", "%-#6x",
+__LINE__, 0x00000d2b, "d2b ", "%-4.0x",
+__LINE__, 0x0ae02b9e, "AE02B9E", "%X",
+__LINE__, 0xfffffa7b, "fffffa7b", "%-2.x",
+__LINE__, 0x00000001, "1", "%X",
+__LINE__, 0x000006ad, "01709", "%05.5ld",
+__LINE__, -0x0000102, "-258", "%-0.ld",
+__LINE__, 0x00000000, "0", "%.1X",
+__LINE__, -0x01daa95, "-1944213", "%-1ld",
+__LINE__, 0x02b99040, "2B99040", "%2.X",
+__LINE__, 0x1b3d5621, "1B3D5621", "%X",
+__LINE__, 0x0312d16b, "51564907", "%-1.7ld",
+__LINE__, 0x000aa76c, " 698220", "% 2d",
+__LINE__, 0x00000000, "0", "%ld",
+__LINE__, 0xfff8a4ec, "FFF8A4EC", "%-X",
+__LINE__, 0xffffe06d, "ffffe06d", "%x",
+__LINE__, 0x00000003, "3", "% x",
+__LINE__, 0x00000000, "0", "%x",
+__LINE__, 0xd3e244dd, "D3E244DD", "%+5X",
+__LINE__, 0x000028b3, " 28b3", "% 5.x",
+__LINE__, 0x0001aceb, "109803", "%6d",
+__LINE__, 0xfffbc5ca, "0xfffbc5ca", "%-#5x",
+__LINE__, 0x00000097, " 151", "% 7ld",
+__LINE__, 0x00001fcc, "+8140", "%+d",
+__LINE__, 0xffffffff, "ffffffff", "%0x",
+__LINE__, -0x00052a9, "-21161", "%ld",
+__LINE__, 0xfffffc76, "FFFFFC76", "%.1X",
+__LINE__, -0x2acb012, "-44871698", "%0.1ld",
+__LINE__, 0xffffff81, "ffffff81", "%x",
+__LINE__, -0x0018394, "-99220", "%-ld",
+__LINE__, 0x0000001b, "1B", "%X",
+__LINE__, 0x00000033, "51", "%1d",
+__LINE__, 0xffec37e5, "FFEC37E5", "%-1X",
+__LINE__, -0x000000a, " -10", "%#5.d",
+__LINE__, -0x0000412, "-1042", "%ld",
+__LINE__, 0x000cd0b1, "cd0b1 ", "%-7.5x",
+__LINE__, 0x0b445370, "B445370", "%+2.0X",
+__LINE__, 0xfffffff3, "0XFFFFFFF3", "%-#X",
+__LINE__, 0xffff9f33, "FFFF9F33", "%5.X",
+__LINE__, 0x00010a1e, "10A1E", "%-2X",
+__LINE__, -0xede156f, "-249435503", "% 7.1ld",
+__LINE__, 0xfc6d63aa, "fc6d63aa", "% .6x",
+__LINE__, 0x0000311c, " 12572", "% ld",
+__LINE__, 0x00001f8a, "8074", "%00.d",
+__LINE__, 0x00000199, "199", "%-X",
+__LINE__, 0xfffffc60, "FFFFFC60", "%+3X",
+__LINE__, -0x000022c, "-556", "%+0ld",
+__LINE__, 0x021d8407, "35488775", "%-#.7ld",
+__LINE__, 0x0000020f, "527", "%d",
+__LINE__, -0x000064b, "-1611", "%#ld",
+__LINE__, -0x0c15aef, "-12671727", "%d",
+__LINE__, -0x1f1a6881, "-521824385", "%ld",
+__LINE__, 0xffffc115, "ffffc115", "% x",
+__LINE__, 0x00000017, " 23", "% #ld",
+__LINE__, 0x00000dc1, "DC1 ", "%-4X",
+__LINE__, 0x000002ca, "2CA", "%X",
+__LINE__, 0x000f052c, " 984364", "%7.d",
+__LINE__, 0x0000005a, "0090", "%0.4d",
+__LINE__, -0x001e463, "-124003", "% 4.ld",
+__LINE__, 0x00000001, "0000001", "%+.7X",
+__LINE__, 0x00000bfb, "0000bfb", "%5.7x",
+__LINE__, 0x0002484b, "149579", "%#1d",
+__LINE__, 0x0043ba18, "4438552", "%-ld",
+__LINE__, 0x000078f8, "0X78F8", "%#X",
+__LINE__, 0x00000001, " 1", "%4d",
+__LINE__, 0x0cedaeed, "CEDAEED", "%X",
+__LINE__, 0x00000003, "+3", "%+ld",
+__LINE__, 0xfffffffb, "FFFFFFFB", "%7.4X",
+__LINE__, 0x00000169, "361", "%ld",
+__LINE__, 0x00003c7a, "+15482", "%+ld",
+__LINE__, -0x0159d93, "-1416595", "% 0.0d",
+__LINE__, 0x0000775c, "+30556", "%+3.d",
+__LINE__, 0x10284768, "+271075176", "%+0.0ld",
+__LINE__, -0xf8b610e, "-260792590", "%0d",
+__LINE__, 0xfdd8d369, "fdd8d369", "%-.3x",
+__LINE__, 0x000c9495, "+824469", "%+ld",
+__LINE__, -0x000003f, " -063", "%7.3d",
+__LINE__, -0x000073b, "-1851", "%+03.ld",
+__LINE__, 0xfffe4e23, "0xfffe4e23", "%#.5x",
+__LINE__, 0x0081788c, "81788c", "%5x",
+__LINE__, -0x015f888, "-1439880", "%+1d",
+__LINE__, -0x31d64b4, "-52257972", "%0.2d",
+__LINE__, 0xffffffff, "FFFFFFFF", "%6.5X",
+__LINE__, -0x0000072, "-114", "%+.1d",
+__LINE__, -0x00000e1, "-225", "%ld",
+__LINE__, 0x000006a8, "0x6a8", "%+#x",
+__LINE__, 0xfffe673a, "fffe673a", "%01.x",
+__LINE__, 0xfff2ee0d, "FFF2EE0D", "%-X",
+__LINE__, 0x0290320a, "43004426", "%0ld",
+__LINE__, -0xeb7a832, "-246917170", "% ld",
+__LINE__, 0x02ae9265, "2ae9265", "%1.x",
+__LINE__, 0xffffffd2, "ffffffd2", "%+2.x",
+__LINE__, 0x00e6e858, "0xe6e858", "%#0.x",
+__LINE__, 0x00000c4a, "+3146", "%+3.1d",
+__LINE__, -0x6943c1a, "-110378010", "% 0ld",
+__LINE__, 0x0167b119, "167b119", "%0x",
+__LINE__, 0xfffffffe, "fffffffe", "%+x",
+__LINE__, 0xfffffffe, "FFFFFFFE", "%X",
+__LINE__, 0x000b861e, "755230", "%ld",
+__LINE__, 0x0000015b, "347", "%-#ld",
+__LINE__, 0xfffffffa, "0XFFFFFFFA", "%#X",
+__LINE__, 0x000de9e5, "911845", "%d",
+__LINE__, 0x00000001, "01", "%.2d",
+__LINE__, 0x000007a5, "1957", "%0d",
+__LINE__, 0x0000000f, "f", "%x",
+__LINE__, 0x00c38cbf, " 12815551", "% .2d",
+__LINE__, -0x7bd1b6e, "-129833838", "% d",
+__LINE__, -0x000013c, "-316", "%0d",
+__LINE__, 0x00001aad, "1AAD", "%-0X",
+__LINE__, 0x0034f903, "3471619", "%00d",
+__LINE__, 0xff925717, "ff925717", "%4x",
+__LINE__, 0x00000002, "02", "%.2d",
+__LINE__, 0x00000f34, "F34", "%+X",
+__LINE__, 0xffffeefe, "FFFFEEFE", "%X",
+__LINE__, 0xfffeecb4, "FFFEECB4", "% 2.X",
+__LINE__, 0x00034421, "214049", "%0ld",
+__LINE__, 0x00000000, " 0", "%+6X",
+__LINE__, -0x0000062, "-98", "%-#2d",
+__LINE__, -0x0000557, "-1367", "%-4.4d",
+__LINE__, 0xffffe17c, "FFFFE17C", "%X",
+__LINE__, 0x00000097, "00097", "%.5X",
+__LINE__, 0xfffcb278, "FFFCB278", "%0.7X",
+__LINE__, -0x0000001, "-0001 ", "%-7.4d",
+__LINE__, -0x0000001, "-1", "%ld",
+__LINE__, 0x000002c4, "708", "%d",
+__LINE__, 0x04946f45, "4946F45", "%-2.X",
+__LINE__, 0x000000ff, "00ff", "% 2.4x",
+__LINE__, 0x00073307, "471815", "%3ld",
+__LINE__, 0x0085b7b6, "+8763318", "%+ld",
+__LINE__, -0x0000002, "-2", "%1ld",
+__LINE__, -0x0000001, "-1", "%-2d",
+__LINE__, -0x00000b5, " -181", "%7ld",
+__LINE__, -0x0412486, "-4269190", "%+2.1ld",
+__LINE__, 0xffffffff, "ffffffff", "%0x",
+__LINE__, 0x0000006d, "6d", "%x",
+__LINE__, 0x000000da, "218", "%-.3ld",
+__LINE__, 0xfffffcfe, "fffffcfe", "%x",
+__LINE__, 0x652e60c7, "652E60C7", "%7.7X",
+__LINE__, 0x00000035, " 53", "% #2d",
+__LINE__, 0x000000fc, "FC", "%-X",
+__LINE__, 0x00000019, " 25", "% ld",
+__LINE__, 0xfffffcf4, "fffffcf4", "%6x",
+__LINE__, 0xffffff41, "ffffff41", "%x",
+__LINE__, 0x00000034, " 52", "%3.ld",
+__LINE__, 0xffffffb2, "ffffffb2", "%-x",
+__LINE__, -0x6dc43e7c, "-1841577596", "% .2ld",
+__LINE__, 0x00000004, "4", "%d",
+__LINE__, -0x000023b, "-571", "%ld",
+__LINE__, -0x000004d, "-77", "%ld",
+__LINE__, 0x0000e3ba, "58298", "%.0ld",
+__LINE__, 0xfffffff2, "fffffff2", "%0.0x",
+__LINE__, -0x0000020, "-32", "%ld",
+__LINE__, 0xffffb33e, "0XFFFFB33E", "%-#X",
+__LINE__, 0x00000000, " ", "% 4.x",
+__LINE__, 0xffd96f92, "FFD96F92", "%X",
+__LINE__, 0x0000002e, " 46", "% 0ld",
+__LINE__, 0xffffffff, "ffffffff", "%x",
+__LINE__, -0x5008ba3, "-83921827", "%+d",
+__LINE__, 0xfdc1df3d, "FDC1DF3D", "%0X",
+__LINE__, 0xfc7410e5, "fc7410e5", "%7x",
+__LINE__, 0xfffffffa, "FFFFFFFA", "% 6.X",
+__LINE__, 0x00000000, "0", "%X",
+__LINE__, -0x040fd4e, "-4259150", "% 05.d",
+__LINE__, 0x0000003b, " 59", "%3.2d",
+__LINE__, 0xff776dd8, "ff776dd8", "%x",
+__LINE__, 0x0000055b, "+1371", "%+#2d",
+__LINE__, 0x00004841, "4841", "%.1x",
+__LINE__, 0x0229d710, "36296464", "%-.2ld",
+__LINE__, 0x00000000, "0", "%x",
+__LINE__, 0xfffe8376, "fffe8376", "%0x",
+__LINE__, 0x000a7b83, "a7b83", "%x",
+__LINE__, 0x0000000d, " 013", "%#7.3d",
+__LINE__, 0xffffffff, "FFFFFFFF", "%5.0X",
+__LINE__, 0x00000704, " 0x704", "%#7.0x",
+__LINE__, 0xfff970b9, "FFF970B9", "%.1X",
+__LINE__, -0x000b60a, "-46602", "%+d",
+__LINE__, 0x00000000, " 00000", "%6.5x",
+__LINE__, 0x00000003, "3", "%X",
+__LINE__, 0x0000c14b, "c14b", "%0x",
+__LINE__, 0x066d7860, "107837536", "%-d",
+__LINE__, 0x00000013, " 13", "%4.x",
+__LINE__, 0xfff96f18, "FFF96F18", "%4X",
+__LINE__, 0xffffff30, "FFFFFF30", "%X",
+__LINE__, 0xffffffff, "FFFFFFFF", "% .7X",
+__LINE__, -0x72a9e985, "-1923737989", "%2.d",
+__LINE__, 0x00000002, "0x2", "%#x",
+__LINE__, 0x0000050e, "50e", "%2.3x",
+__LINE__, 0x0000605c, "24668", "%4.1d",
+__LINE__, 0xffffff3e, "ffffff3e", "%x",
+__LINE__, -0x0000010, "-16", "%-2d",
+__LINE__, 0x000061aa, "61AA", "%X",
+__LINE__, 0x000c2ec3, "C2EC3", "%0X",
+__LINE__, -0x0000001, "-1", "%-0d",
+__LINE__, 0x00130e17, "+1248791", "%+.6ld",
+__LINE__, 0x000000ef, "EF", "%-X",
+__LINE__, -0x0000001, " -1", "%+5ld",
+__LINE__, 0x0000989d, "39069", "%d",
+__LINE__, 0x00000000, "0", "%-x",
+__LINE__, 0x00000417, "417", "%X",
+__LINE__, 0x00005e86, "5E86", "%+X",
+__LINE__, -0x0007c08, "-31752", "%ld",
+__LINE__, 0x00da8e0f, "DA8E0F", "%2.2X",
+__LINE__, -0x3ee095ec, "-1054905836", "% 0d",
+__LINE__, 0xfffdb5a3, "fffdb5a3", "%x",
+__LINE__, 0xffffff83, "FFFFFF83", "%X",
+__LINE__, 0xfff8efd7, "0xfff8efd7", "%#x",
+__LINE__, 0x00000020, " 32", "% d",
+__LINE__, 0xfff7c002, "fff7c002", "%.7x",
+__LINE__, -0x0000001, "-1", "%ld",
+__LINE__, 0x00000000, " 000", "%05.3X",
+__LINE__, 0xfff190ee, "FFF190EE", "%X",
+__LINE__, 0x00000a6c, " 2668", "%#6.ld",
+__LINE__, 0x00037024, "37024", "%x",
+__LINE__, 0xfffec37f, "FFFEC37F", "%X",
+__LINE__, 0x007ee9bb, "8317371", "%#0.ld",
+__LINE__, 0x00000122, "290", "%ld",
+__LINE__, -0x0013b5f, "-80735", "%ld",
+__LINE__, 0xfffffff6, "FFFFFFF6", "%X",
+__LINE__, -0x0000c16, "-0003094", "%-00.7d",
+__LINE__, -0x00010ed, "-4333", "%ld",
+__LINE__, 0x00000007, " 0X007", "%#6.3X",
+__LINE__, 0x0053781e, " 5470238", "% 2d",
+__LINE__, 0xffff03e9, "0XFFFF03E9", "%+#7.3X",
+__LINE__, 0xfffffdc2, "0xfffffdc2", "% #4.x",
+__LINE__, -0x00018e1, "-6369", "%d",
+__LINE__, 0xf3a4abc6, "F3A4ABC6", "%-.2X",
+__LINE__, 0xfff64a27, "FFF64A27", "%7.7X",
+__LINE__, 0x00195ae5, "195AE5", "%+03.X",
+__LINE__, 0xfff8849a, "fff8849a", "%.1x",
+__LINE__, -0x001b045, "-110661", "%+ld",
+__LINE__, 0x01e8a106, "32022790", "%7.ld",
+__LINE__, 0x0008ee94, "8EE94", "%X",
+__LINE__, 0xfffcdabc, "FFFCDABC", "%X",
+__LINE__, 0xfda75cd2, "fda75cd2", "%x",
+__LINE__, 0x00fd505a, "fd505a", "%x",
+__LINE__, 0x00003748, "3748", "%+x",
+__LINE__, 0xffffffe5, "ffffffe5", "% 3.6x",
+__LINE__, -0x1d1c4045, "-488390725", "%d",
+__LINE__, 0xfffffff9, "0xfffffff9", "%#x",
+__LINE__, -0x0000001, "-1", "%-#ld",
+__LINE__, 0x00000191, "191", "%X",
+__LINE__, 0xfffffffe, "FFFFFFFE", "%-X",
+__LINE__, -0x0000006, "-6", "%ld",
+__LINE__, 0x00000033, " 33", "% 4x",
+__LINE__, -0x0159a14, "-1415700", "% ld",
+__LINE__, 0x000001c3, "00001c3", "%07x",
+__LINE__, 0xffffe9e2, "ffffe9e2", "%-x",
+__LINE__, 0x5b19abd9, "0x5b19abd9", "%-#x",
+__LINE__, 0xffff1bae, "0xffff1bae", "%#x",
+__LINE__, 0x00000001, "+1", "%+d",
+__LINE__, 0x006a23c7, "6A23C7", "%2.X",
+__LINE__, 0x000008a4, " 8a4", "% 4.1x",
+__LINE__, 0xfffffcd9, "fffffcd9", "%.1x",
+__LINE__, 0x0000121b, "121B", "%X",
+__LINE__, 0x001231aa, "1192362", "%7.d",
+__LINE__, -0x008026d, "-524909", "%4.2d",
+__LINE__, 0x192ea594, "422487444", "%ld",
+__LINE__, 0x0001a800, "108544", "%0d",
+__LINE__, 0x000062f1, "62f1", "%.4x",
+__LINE__, 0xff8b39b0, "ff8b39b0", "% x",
+__LINE__, 0x00000001, "0x1", "%+#x",
+__LINE__, 0x0000144a, "5194", "%ld",
+__LINE__, 0x00002599, "9625", "%d",
+__LINE__, 0xffa0a2ef, "ffa0a2ef", "%0x",
+__LINE__, 0xff6712e1, "FF6712E1", "%0X",
+__LINE__, 0x0007ebb3, "519091", "%1ld",
+__LINE__, 0x0000000f, "15 ", "%-4.ld",
+__LINE__, -0x0000096, "-150", "%2.ld",
+__LINE__, 0x0000004f, "4F", "%.2X",
+__LINE__, 0xfffffc29, "fffffc29", "%-4.x",
+__LINE__, 0x00000019, "19", "%x",
+__LINE__, 0x00000c4e, "c4e", "%x",
+__LINE__, 0x0000006b, " 0006B", "%6.5X",
+__LINE__, 0x00c8d2c6, "c8d2c6", "%.0x",
+__LINE__, -0x256fb8de, "-628078814", "%ld",
+__LINE__, 0x4f51fcf4, "4F51FCF4", "%+X",
+__LINE__, 0x000f000e, "983054", "%1.ld",
+__LINE__, 0xfffff03f, "fffff03f", "%x",
+__LINE__, 0x0000001d, " 1D", "%05.X",
+__LINE__, 0x0072ea14, "72ea14", "%x",
+__LINE__, -0xc6098b9, "-207657145", "%-7d",
+__LINE__, 0x00000a76, "2678", "%3ld",
+__LINE__, 0xfff84db3, "FFF84DB3", "%X",
+__LINE__, 0x0fb52870, "fb52870", "%+x",
+__LINE__, 0x08bc170a, "0x8bc170a", "%#x",
+__LINE__, 0xfffeeb00, "fffeeb00", "%0.5x",
+__LINE__, 0x000ece95, "970389", "%d",
+__LINE__, 0x00000000, "0", "%0X",
+__LINE__, 0x07f98e8a, "7f98e8a", "% x",
+__LINE__, 0x000499eb, " 499eb", "% 6.x",
+__LINE__, 0xffffffff, "FFFFFFFF", "%-X",
+__LINE__, 0x0aa45e86, "178544262", "%#.2d",
+__LINE__, 0xff73387d, "FF73387D", "%03.X",
+__LINE__, 0xfffffb51, "FFFFFB51", "%.3X",
+__LINE__, 0xffffffdc, "ffffffdc", "%6.x",
+__LINE__, 0xffffffed, "FFFFFFED", "%-X",
+__LINE__, 0x0001c4c2, "1c4c2", "%0.3x",
+__LINE__, -0x0000001, "-0000001", "%-#.7d",
+__LINE__, 0x00000007, "7", "%0.x",
+__LINE__, 0x00000001, "1", "%ld",
+__LINE__, 0xffffd000, "ffffd000", "%4.3x",
+__LINE__, 0x00000030, "48", "%2.d",
+__LINE__, -0x6c121ce, "-113320398", "%.5ld",
+__LINE__, 0x000001ed, "1ED", "% 3.X",
+__LINE__, 0xfffff0f3, "FFFFF0F3", "%+.6X",
+__LINE__, 0xffffffec, "ffffffec", "%x",
+__LINE__, 0x002d5ab8, "0x2d5ab8", "%-#x",
+__LINE__, 0x0026acff, "2534655", "%0ld",
+__LINE__, 0x01d90cd7, "+31001815", "%+.2ld",
+__LINE__, -0x1f7abc0, "-33008576", "%7.6d",
+__LINE__, 0xfc5babcc, "fc5babcc", "%x",
+__LINE__, -0x9b74892, "-163006610", "% .6d",
+__LINE__, 0x03931d84, "59972996", "%0.d",
+__LINE__, 0x07d261ce, "131228110", "%#ld",
+__LINE__, 0x00000000, "0", "%x",
+__LINE__, 0x00000002, "2", "%+X",
+__LINE__, -0x0000604, "-1540", "%+d",
+__LINE__, 0x00000000, " ", "%7.x",
+__LINE__, 0x00000001, "1", "%.0X",
+__LINE__, -0x0005a8e, "-23182", "% d",
+__LINE__, 0x03fb2730, "3fb2730", "%7.x",
+__LINE__, 0xffffff03, "ffffff03", "%x",
+__LINE__, 0x00000000, " ", "%-#3.d",
+__LINE__, 0x04025a4b, "0X4025A4B", "%+#X",
+__LINE__, -0x0000001, " -1", "%4.d",
+__LINE__, 0xfffe00a3, "FFFE00A3", "%+X",
+__LINE__, -0x1b26e3c8, "-455533512", "% ld",
+__LINE__, 0x000017e5, "6117", "%d",
+__LINE__, -0x0e4f3b6, "-15004598", "%0ld",
+__LINE__, 0x00000034, "52", "%ld",
+__LINE__, 0x0000024c, " 24C", "%4X",
+__LINE__, 0xfffedf65, "FFFEDF65", "%-0X",
+__LINE__, -0x000ff1f, "-65311", "%+#d",
+__LINE__, 0x00000007, " 7", "%7.x",
+__LINE__, 0x018656ae, "18656ae", "%3.7x",
+__LINE__, -0x0000004, "-4", "%d",
+__LINE__, 0x7081292d, "1887512877", "%d",
+__LINE__, 0x87d3e48c, "87d3e48c", "%-x",
+__LINE__, 0xf99c516e, "0xf99c516e", "% #7.4x",
+__LINE__, 0xfffffffa, "FFFFFFFA", "%-1X",
+__LINE__, -0x000001d, "-29", "%#ld",
+__LINE__, -0x0000001, "-1", "%+ld",
+__LINE__, 0x28ab3350, " 682308432", "% 1d",
+__LINE__, -0x0000006, "-6", "%ld",
+__LINE__, 0xfffffffb, "FFFFFFFB", "%.5X",
+__LINE__, -0x0000007, "-7", "%#d",
+__LINE__, -0x0000328, " -808", "%6.ld",
+__LINE__, -0x29386f00, "-691564288", "%.3d",
+__LINE__, -0x059f38a, "-5895050", "%.4ld",
+__LINE__, 0xfffff888, "FFFFF888", "%3X",
+__LINE__, 0xffffffdf, "ffffffdf", "%0.0x",
+__LINE__, -0xb4fc354, "-189776724", "%2d",
+__LINE__, 0x00058c07, "363527", "%1.d",
+__LINE__, 0x0a256162, "a256162", "%x",
+__LINE__, -0x05c87b0, "-6064048", "%0ld",
+__LINE__, 0xfffffda1, "fffffda1", "%x",
+__LINE__, 0x000034b7, "13495", "%d",
+__LINE__, -0x6d1a8918, "-1830455576", "%.1d",
+__LINE__, 0x00022290, "139920", "%05ld",
+__LINE__, 0x00000000, "0", "%-x",
+__LINE__, -0x1f8eafce, "-529444814", "%4.d",
+__LINE__, -0x7bf32808, "-2079533064", "% ld",
+__LINE__, 0x0000023c, "23c", "% x",
+__LINE__, 0x00000039, "39", "%X",
+__LINE__, -0x000556d, "-21869", "%ld",
+__LINE__, -0x00000ca, "-202", "%ld",
+__LINE__, 0x00002e28, "11816", "%-d",
+__LINE__, 0x00000011, "17", "%-ld",
+__LINE__, 0xfffffffb, "FFFFFFFB", "%-X",
+__LINE__, 0xfffdd67f, "0XFFFDD67F", "%#X",
+__LINE__, -0x000003d, "-61", "%d",
+__LINE__, 0x0000bfce, "0XBFCE", "%-#5.2X",
+__LINE__, 0xfffffffc, "fffffffc", "%x",
+__LINE__, -0x00aea17, "-715287", "%.5d",
+__LINE__, -0x02fce89, "-3133065", "%0d",
+__LINE__, 0x007f6ed1, "7F6ED1", "%6X",
+__LINE__, 0xffffffff, "FFFFFFFF", "%X",
+__LINE__, -0x0002761, "-10081", "%#6.2d",
+__LINE__, 0x003be8d8, "3BE8D8", "%-X",
+__LINE__, 0x00000901, " 2305", "%6.d",
+__LINE__, 0x00049916, "0301334", "%3.7ld",
+__LINE__, 0x0678ffea, "0X678FFEA", "%#4X",
+__LINE__, 0xffffffff, "ffffffff", "%+.0x",
+__LINE__, -0x31d2ec61, "-835906657", "%.0d",
+__LINE__, 0xfffffffc, "FFFFFFFC", "%0X",
+__LINE__, -0x0015588, "-87432", "%d",
+__LINE__, 0xffffff3e, "ffffff3e", "%.4x",
+__LINE__, 0x0000000a, "10", "%d",
+__LINE__, -0x0000003, "-3", "%2.1ld",
+__LINE__, -0x000d29a, "-53914", "%ld",
+__LINE__, -0x04ccbe0, "-5032928", "%2.2ld",
+__LINE__, 0x0357c2a5, "357c2a5", "% 7.x",
+__LINE__, 0x00000009, " 9", "% 1.ld",
+__LINE__, -0x005908d, "-364685", "%0d",
+__LINE__, -0x0000de6, "-3558", "%0ld",
+__LINE__, 0x2d395e6b, "+758734443", "%+6d",
+__LINE__, 0x001aba58, "1ABA58", "% X",
+__LINE__, 0x0ceba5ab, "0XCEBA5AB", "%#.1X",
+__LINE__, -0x01a8575, "-1738101", "% 2ld",
+__LINE__, 0x0000000d, "13", "%#ld",
+__LINE__, 0x00000000, "0", "%d",
+__LINE__, 0x4b856407, "4b856407", "%5x",
+__LINE__, 0x006f333c, "6F333C", "%-X",
+__LINE__, 0x000000d0, "d0", "%x",
+__LINE__, 0x2ecf0d4e, "2ecf0d4e", "%0x",
+__LINE__, -0x0000188, "-0000392", "%#1.7ld",
+__LINE__, -0x0000037, "-55", "%d",
+__LINE__, 0xfffffff1, "FFFFFFF1", "% .1X",
+__LINE__, 0x00000001, "0x1", "%#3x",
+__LINE__, 0x000005ed, "5ED", "%3X",
+__LINE__, 0x031183a3, "31183A3", "%X",
+__LINE__, 0xffffffff, "ffffffff", "%x",
+__LINE__, -0x0018695, "-99989", "%-0.5ld",
+__LINE__, -0x0000001, "-01", "%0.2ld",
+__LINE__, 0x00007822, "7822", "%+x",
+__LINE__, 0x00000000, "0", "% x",
+__LINE__, 0xfda2461a, "FDA2461A", "%X",
+__LINE__, 0x065c50ef, "106713327", "%2.ld",
+__LINE__, 0x00000a81, "a81", "% 0x",
+__LINE__, -0x000022e, "-558", "%.0ld",
+__LINE__, 0x00013d2f, "81199", "%.2ld",
+__LINE__, 0xfffffffe, "FFFFFFFE", "%+X",
+__LINE__, 0x000015f9, "5625", "%04.ld",
+__LINE__, 0x0ab575a2, "179664290", "%0d",
+__LINE__, 0x0024d07f, "0X24D07F", "%#X",
+__LINE__, 0x07ee35e1, "7EE35E1", "%+X",
+__LINE__, -0x00c114c, "-790860", "%#ld",
+__LINE__, 0x00003be3, " 15331", "%07.d",
+__LINE__, 0xfff87570, "FFF87570", "%4.0X",
+__LINE__, -0x14eab419, "-350925849", "%-ld",
+__LINE__, -0x000001b, "-27", "%ld",
+__LINE__, 0x167ce2ea, "0x167ce2ea", "%#0.x",
+__LINE__, -0x00009bc, "-002492", "% 3.6d",
+__LINE__, 0xfffffdb9, "0XFFFFFDB9", "%#7.X",
+__LINE__, 0x008b2b9d, "8B2B9D", "% X",
+__LINE__, 0x000cfec3, "CFEC3", "% 05X",
+__LINE__, 0x05970be6, "5970be6", "%x",
+__LINE__, 0x00002780, "010112", "%2.6d",
+__LINE__, 0x00000005, "+5", "%+d",
+__LINE__, 0xfffffffb, "0xfffffffb", "%#3.x",
+__LINE__, 0x00000001, "1 ", "%-#5.ld",
+__LINE__, -0x0000017, "-23", "%ld",
+__LINE__, -0x023b943, "-2341187", "%d",
+__LINE__, 0x0000000d, "13", "%ld",
+__LINE__, 0x00025a03, "25a03", "% .5x",
+__LINE__, 0x3e1ebe24, "3e1ebe24", "% x",
+__LINE__, 0x0000013a, "0x13a", "%#5.0x",
+__LINE__, 0xfff6f5b3, "FFF6F5B3", "%4.X",
+__LINE__, -0x0000a8a, "-2698", "%.3d",
+__LINE__, 0x0009dd5f, "9dd5f", "%x",
+__LINE__, 0x000003c7, " 3C7", "%04.2X",
+__LINE__, 0x1bcfa2f2, "1bcfa2f2", "%+1.x",
+__LINE__, 0x0001b4f4, "1b4f4", "%+1.x",
+__LINE__, 0x1bc19a90, "465672848", "%#d",
+__LINE__, 0xffffffff, "ffffffff", "%+06x",
+__LINE__, -0x0000a88, "-2696", "%3.d",
+__LINE__, 0x00084a19, "84A19", "%-X",
+__LINE__, 0xffe1fc8f, "FFE1FC8F", "%0.1X",
+__LINE__, -0x0000a3a, "-2618", "%5d",
+__LINE__, -0x0000001, "-1", "%ld",
+__LINE__, -0x5c6183d, "-96868413", "%+ld",
+__LINE__, -0x0000001, "-1", "%-d",
+__LINE__, 0x0000faa8, "64168", "%05.d",
+__LINE__, 0x003913ef, "3740655", "%ld",
+__LINE__, 0x0dde330a, "232665866", "%#ld",
+__LINE__, 0xfcfb1a7b, "FCFB1A7B", "%+X",
+__LINE__, 0x07b1a81f, " 129083423", "% 0d",
+__LINE__, 0x00000001, "1", "%d",
+__LINE__, 0x00000070, " 112", "%5ld",
+__LINE__, 0xffff74d9, "ffff74d9", "%x",
+__LINE__, -0x001ab93, "-109459", "%03.d",
+__LINE__, 0x0eb6b497, "EB6B497", "%+X",
+__LINE__, 0x07adbac2, "128826050", "%#0.4d",
+__LINE__, 0xff747068, "FF747068", "%6.X",
+__LINE__, -0x190ce98f, "-420276623", "%06.6ld",
+__LINE__, -0x0000007, "-7", "%.0d",
+__LINE__, 0x0001240f, "1240f", "% 3x",
+__LINE__, 0x267ae4a0, "645588128", "%-#ld",
+__LINE__, -0x0000001, "-1", "% ld",
+__LINE__, -0x0000066, "-00102", "%.5ld",
+__LINE__, 0x868fa035, "868fa035", "%x",
+__LINE__, 0x00000000, " ", "%-4.ld",
+__LINE__, 0xfffffe72, "FFFFFE72", "%4.4X",
+__LINE__, 0x00a6b4f4, "10925300", "%#ld",
+__LINE__, -0x0000002, "-2", "%00.1d",
+__LINE__, -0x00000a3, "-163", "%ld",
+__LINE__, 0xfffffffe, "fffffffe", "% 3.x",
+__LINE__, 0xffe25941, "ffe25941", "% x",
+__LINE__, 0x0000a20f, "41487", "%ld",
+__LINE__, -0x000009b, "-155", "%#.3ld",
+__LINE__, 0x000c5dc1, "810433", "%4.ld",
+__LINE__, 0x00003ec4, "16068", "%ld",
+__LINE__, 0x000002f3, "0755", "%04ld",
+__LINE__, 0xffffff28, "FFFFFF28", "%.5X",
+__LINE__, -0x08450ff, "-8671487", "%-3.0ld",
+__LINE__, 0x00000092, "92", "%x",
+__LINE__, -0x0000317, "-791", "%d",
+__LINE__, 0x0000000d, "d", "%x",
+__LINE__, 0x00000036, "36", "%x",
+__LINE__, -0x112693f, "-17983807", "%ld",
+__LINE__, 0x00004226, "16934", "%0.d",
+__LINE__, 0x000001ba, " 442", "% ld",
+__LINE__, 0xfffffffc, "0XFFFFFFFC", "%#4X",
+__LINE__, 0xffdb3d23, "0xffdb3d23", "% #x",
+__LINE__, 0x039eb84d, "39EB84D", "%+.6X",
+__LINE__, 0xffffc7da, "ffffc7da", "%0x",
+__LINE__, 0xfffffdb6, "FFFFFDB6", "%6X",
+__LINE__, 0x001b75b0, "1799600", "%ld",
+__LINE__, 0xfffffca2, "FFFFFCA2", "%-X",
+__LINE__, 0xffffffba, "ffffffba", "%7.4x",
+__LINE__, -0x000124e, "-4686", "%3.ld",
+__LINE__, -0x000bec0, "-48832", "% 0d",
+__LINE__, 0xfffffca0, "fffffca0", "%2.x",
+__LINE__, 0x00b2a462, "11707490", "%ld",
+__LINE__, 0x0745a647, "745a647", "%+4.x",
+__LINE__, 0xfffffbac, "0XFFFFFBAC", "%#3.X",
+__LINE__, -0x0000002, "-2", "%-0.1d",
+__LINE__, 0x0006cfdb, "446427", "%#5.d",
+__LINE__, -0x0000001, "-1", "%d",
+__LINE__, 0x043b134e, "43B134E", "%X",
+__LINE__, -0x0000015, "-21", "%ld",
+__LINE__, -0x0000114, "-276", "%0d",
+__LINE__, -0x0004d4a, "-19786", "%-d",
+__LINE__, -0x000001c, "-28", "%ld",
+__LINE__, -0x0cb89fc, "-13339132", "%ld",
+__LINE__, 0xffffffcf, "ffffffcf", "%x",
+__LINE__, 0xf6d2387a, "f6d2387a", "%-x",
+__LINE__, -0x00000cd, "-205", "%#ld",
+__LINE__, 0x00000000, "0", "%#x",
+__LINE__, 0xfffffc81, "fffffc81", "%x",
+__LINE__, 0x00000000, " 0", "% ld",
+__LINE__, 0x00024fb5, "24fb5", "%x",
+__LINE__, 0x000012fa, "12FA", "%X",
+__LINE__, 0x0318ce7c, "51957372", "%0d",
+__LINE__, 0x02280a99, "2280a99", "%-x",
+__LINE__, 0xffffff5c, "FFFFFF5C", "%2.X",
+__LINE__, -0x000002e, " -46", "%7ld",
+__LINE__, -0x04a73e8, "-4879336", "%4ld",
+__LINE__, 0x000007f3, "7f3", "% 1.3x",
+__LINE__, 0x00000114, "0x114", "%#x",
+__LINE__, 0x0000030c, "30c", "%-x",
+__LINE__, 0x001dd0dd, "0x1dd0dd", "%+#5.5x",
+__LINE__, 0xfff23de3, "fff23de3", "%-x",
+__LINE__, -0x0178f9c, "-1544092", "%d",
+__LINE__, 0x02ded8da, "2DED8DA", "%X",
+__LINE__, -0x0991672, "-10032754", "%3.d",
+__LINE__, 0x6943c150, "6943c150", "%x",
+__LINE__, 0xffffc25d, "FFFFC25D", "%4X",
+__LINE__, 0x00000c9c, " 0003228", "% .7d",
+__LINE__, 0xffffffdf, "FFFFFFDF", "% 6.X",
+__LINE__, 0x0001a145, " 1a145", "%6.0x",
+__LINE__, 0xffdc832f, "0xffdc832f", "%#.1x",
+__LINE__, 0x00699f7b, "699f7b", "%x",
+__LINE__, 0xf9575268, "F9575268", "%+0X",
+__LINE__, 0x04eb4783, "82528131", "%-ld",
+__LINE__, -0x0000023, "-35", "%0ld",
+__LINE__, -0x012b08a, "-1224842", "%0d",
+__LINE__, 0xffffb587, "FFFFB587", "%X",
+__LINE__, 0xffffffe9, "ffffffe9", "%x",
+__LINE__, 0x006b5596, " 7034262", "% 0d",
+__LINE__, 0x004d0d2a, "+5049642", "%+ld",
+__LINE__, -0x002a099, "-172185", "%d",
+__LINE__, 0x00000224, "548", "%ld",
+__LINE__, 0x03e0cca8, "65064104", "%d",
+__LINE__, -0x7bb389d, "-129710237", "%.3ld",
+__LINE__, 0xffc630f5, "ffc630f5", "%-07.0x",
+__LINE__, 0xfffffff8, "FFFFFFF8", "%X",
+__LINE__, 0x0030225b, "3154523", "%#d",
+__LINE__, 0xff7f4e28, "ff7f4e28", "%+4.x",
+__LINE__, 0x14ee154d, "+351147341", "%+ld",
+__LINE__, 0x00000003, "03", "%.2d",
+__LINE__, 0xfe0359d6, "fe0359d6", "%x",
+__LINE__, 0x002b71c3, "2847171", "%d",
+__LINE__, 0x055c4d4a, "55C4D4A", "%-X",
+__LINE__, 0xfffb17d2, "fffb17d2", "% .0x",
+__LINE__, 0x00000002, "2", "%x",
+__LINE__, 0x000018e1, "18E1", "%1.1X",
+__LINE__, 0x00000331, "817", "%0d",
+__LINE__, -0x0000982, "-2434 ", "%-06.ld",
+__LINE__, -0x0000168, "-0000360", "%.7ld",
+__LINE__, 0xffffffe9, "FFFFFFE9", "%-0.4X",
+__LINE__, 0xe42084ef, "E42084EF", "%X",
+__LINE__, 0x000000aa, "aa", "%x",
+__LINE__, -0xe8b98b5, "-244029621", "%+d",
+__LINE__, -0x00000d9, "-217", "%+2.d",
+__LINE__, 0x0000027b, "27B", "%+.0X",
+__LINE__, 0x002e52db, "3035867", "%-ld",
+__LINE__, -0x00e2ba8, "-928680", "%0.2ld",
+__LINE__, 0x003b74d8, "3B74D8", "%X",
+__LINE__, -0x000006f, "-111", "%+ld",
+__LINE__, 0xf8507e22, "0XF8507E22", "%-#X",
+__LINE__, 0x0629f4c0, "103412928", "%-ld",
+__LINE__, -0x000002d, "-45", "%0d",
+__LINE__, -0x0001db0, "-7600", "%d",
+__LINE__, -0x00001bb, " -443", "%5.ld",
+__LINE__, 0xffffd2b9, "ffffd2b9", "%+x",
+__LINE__, 0xffffe685, "0XFFFFE685", "%#0.7X",
+__LINE__, 0x0000a4ce, "A4CE", "% X",
+__LINE__, 0xffffffff, "FFFFFFFF", "%X",
+__LINE__, 0x0000000c, "C", "% X",
+__LINE__, 0xfff59369, "FFF59369", "%7X",
+__LINE__, 0x00000156, " 156", "%5.X",
+__LINE__, 0x02833aa9, "+42154665", "%+2d",
+__LINE__, 0x0004a8f3, "+305395", "%+d",
+__LINE__, 0x01a09267, "1A09267", "%0.3X",
+__LINE__, 0x000004f1, "4f1", "%x",
+__LINE__, 0x00000005, "5", "%x",
+__LINE__, 0x00000119, " 0281", "% #2.4ld",
+__LINE__, -0x0001a2a, "-6698", "%ld",
+__LINE__, 0xa3633a57, "A3633A57", "%7X",
+__LINE__, -0x10bd2970, "-280832368", "%-d",
+__LINE__, 0xffff9c38, "ffff9c38", "%x",
+__LINE__, 0xffdbe81e, "ffdbe81e", "%+6.7x",
+__LINE__, 0xffffffe7, "FFFFFFE7", "%-3.0X",
+__LINE__, 0x0002f6d6, "2f6d6", "%5.x",
+__LINE__, 0xffffffff, "ffffffff", "% x",
+__LINE__, 0xffc2c07a, "ffc2c07a", "%0.x",
+__LINE__, 0xfcc0e13a, "FCC0E13A", "%X",
+__LINE__, 0x0000000d, "d", "% x",
+__LINE__, 0x0016cac8, "16CAC8", "%-0.3X",
+__LINE__, 0x00945dc1, "9723329", "%2d",
+__LINE__, 0xf19a1cd1, "F19A1CD1", "%-X",
+__LINE__, 0x00000003, "+3", "%+ld",
+__LINE__, 0x00000773, "1907", "%ld",
+__LINE__, 0x000263e6, "263e6", "%-x",
+__LINE__, -0x0238b55, "-2329429", "%d",
+__LINE__, 0x00006c56, "6C56", "%X",
+__LINE__, 0x0000f34b, "62283", "%#.0ld",
+__LINE__, -0x1620e21, "-23203361", "%0ld",
+__LINE__, 0xf9257d6a, "f9257d6a", "%2x",
+__LINE__, -0x00ed463, "-971875", "%03.d",
+__LINE__, 0x02bb94c6, "45847750", "%d",
+__LINE__, 0xffffd20c, "0XFFFFD20C", "%#X",
+__LINE__, 0x000087d8, "34776", "%.0d",
+__LINE__, 0xfffffffc, "FFFFFFFC", "%+7.X",
+__LINE__, -0x0009cd5, "-40149", "%-ld",
+__LINE__, 0xfffff85e, "FFFFF85E", "% 0.7X",
+__LINE__, -0x0000006, " -6", "%+#6.ld",
+__LINE__, 0x007ff453, "0x7ff453", "%-#1.x",
+__LINE__, 0xffffffe6, "FFFFFFE6", "%2X",
+__LINE__, 0x0000001f, "0X1F", "%#4X",
+__LINE__, -0x001c157, "-115031", "%.3ld",
+__LINE__, 0x00096e06, "617990", "%3.1ld",
+__LINE__, 0x0f77271d, "259467037", "%d",
+__LINE__, -0x0001403, "-5123", "%d",
+__LINE__, 0xffffff8a, "ffffff8a", "%x",
+__LINE__, -0x000010f, "-271", "%1.ld",
+__LINE__, 0xe573cc4a, "E573CC4A", "%0X",
+__LINE__, -0x0000d88, "-3464", "%-d",
+__LINE__, 0x0000000e, "14", "%#ld",
+__LINE__, -0x000345b, "-13403", "%#d",
+__LINE__, 0x00000602, "602", "%+x",
+__LINE__, 0x00000011, "17", "%#d",
+__LINE__, -0x0000002, "-2", "%+d",
+__LINE__, 0x030fe6e6, "51373798", "%d",
+__LINE__, 0x00000007, "007", "%.3X",
+__LINE__, 0x0001abe0, "0X1ABE0", "%+#.4X",
+__LINE__, 0xfffffdb7, "fffffdb7", "%-6x",
+__LINE__, 0xffffff8d, "FFFFFF8D", "% 02.2X",
+__LINE__, 0xfff12126, "FFF12126", "%X",
+__LINE__, 0x0208e32d, "34136877", "%.2d",
+__LINE__, 0x11c04b55, "297814869", "%ld",
+__LINE__, 0xff1e5ca3, "0xff1e5ca3", "%#x",
+__LINE__, 0xf9643f09, "f9643f09", "%x",
+__LINE__, -0x003c6da, "-247514", "%4d",
+__LINE__, 0xff69d0e7, "FF69D0E7", "%-X",
+__LINE__, 0x00006ae9, "0x6ae9", "%#x",
+__LINE__, -0x005aefe, "-372478", "%d",
+__LINE__, 0x0000000d, "00013", "%3.5ld",
+__LINE__, 0x00cc185c, "CC185C", "%X",
+__LINE__, 0x3dd14d9f, "3DD14D9F", "%1.4X",
+__LINE__, -0x4cc2ad3, "-80489171", "%1.d",
+__LINE__, 0xfffff79e, "fffff79e", "%x",
+__LINE__, 0xfffeeb03, "fffeeb03", "%-1x",
+__LINE__, -0x0b1b15c, "-11645276", "%0ld",
+__LINE__, -0x06b558d, "-7034253", "%ld",
+__LINE__, 0xfffffe61, "fffffe61", "%x",
+__LINE__, -0x0000002, "-2", "%d",
+__LINE__, -0x0000162, "-000354", "%-5.6d",
+__LINE__, 0x01a23780, "27408256", "%d",
+__LINE__, 0xffff3a9b, "ffff3a9b", "% x",
+__LINE__, 0xfffffdc7, "0xfffffdc7", "%#4.5x",
+__LINE__, 0x00000000, "00", "%.2X",
+__LINE__, -0x0000006, "-6", "%0ld",
+__LINE__, -0x16072c6, "-23098054", "%#5ld",
+__LINE__, -0x07152b8, "-7426744", "%01ld",
+__LINE__, 0x0000d6c6, "0x0d6c6", "%#1.5x",
+__LINE__, 0x00000f7c, "000f7c", "%+04.6x",
+__LINE__, 0x00000bd0, "3024", "%4ld",
+__LINE__, 0x0000295e, "0x295e", "%#x",
+__LINE__, 0x00002e38, "11832", "%.5d",
+__LINE__, -0xa2f5de4, "-170876388", "%#d",
+__LINE__, -0x001aa36, "-109110", "%-#d",
+__LINE__, 0x03012091, "3012091", "%+2.5X",
+__LINE__, -0x00009ed, "-002541", "%-0.6ld",
+__LINE__, 0x0000001d, "1d", "%x",
+__LINE__, 0xffffe315, "FFFFE315", "%+4X",
+__LINE__, 0x0000716b, "716B", "%X",
+__LINE__, 0xfffb8315, "0xfffb8315", "%+#x",
+__LINE__, 0x00000132, "132 ", "%-7.3x",
+__LINE__, 0x00000000, "+0000000", "%+1.7d",
+__LINE__, 0xe16d27ab, "E16D27AB", "%X",
+__LINE__, 0xffffffe5, "ffffffe5", "%+x",
+__LINE__, -0x000ab9d, "-43933", "%ld",
+__LINE__, 0xffd042d6, "ffd042d6", "%2x",
+__LINE__, 0xffffff9b, "ffffff9b", "%x",
+__LINE__, 0x000000fb, "0xfb", "% #1.x",
+__LINE__, 0x0000000f, " 15", "%#3ld",
+__LINE__, 0xfffba2d8, "0XFFFBA2D8", "%-#0.X",
+__LINE__, 0xfffffff8, "0XFFFFFFF8", "% #X",
+__LINE__, 0x00000000, " ", "%4.ld",
+__LINE__, 0x00000002, "2", "%+x",
+__LINE__, 0xfffff314, "FFFFF314", "%-X",
+__LINE__, 0x00000000, " 0", "% ld",
+__LINE__, -0x0000007, "-07", "%3.2ld",
+__LINE__, 0xffffdd80, "FFFFDD80", "%.6X",
+__LINE__, -0x000001b, "-27", "%-ld",
+__LINE__, -0x0000258, "-600", "%-0d",
+__LINE__, 0x00016377, "16377", "%3X",
+__LINE__, 0x00000001, "1", "%X",
+__LINE__, -0xac5d314, "-180736788", "%d",
+__LINE__, -0x000036e, "-878", "% ld",
+__LINE__, 0xfe346af4, "fe346af4", "%.5x",
+__LINE__, 0xffffffe1, "ffffffe1", "%-7.6x",
+__LINE__, -0x0a1df07, "-10608391", "%#.5d",
+__LINE__, 0x000000c9, " 0XC9", "%+#5.X",
+__LINE__, 0xfffffffe, "fffffffe", "%x",
+__LINE__, 0xfffffff8, "fffffff8", "%+x",
+__LINE__, -0x4517255, "-72446549", "%.6ld",
+__LINE__, 0xfffa3670, "FFFA3670", "%-6X",
+__LINE__, 0xffffffe0, "ffffffe0", "%2.x",
+__LINE__, 0xffffffff, "ffffffff", "%0x",
+__LINE__, 0x0000230d, "8973", "%#.1d",
+__LINE__, 0x00000238, "238", "%0X",
+__LINE__, 0xfffce5ab, "FFFCE5AB", "%-X",
+__LINE__, 0x0000002c, "2C", "%X",
+__LINE__, 0x00000001, " 1", "%4.ld",
+__LINE__, 0xffffff8d, "FFFFFF8D", "%-X",
+__LINE__, 0x00069c69, "433257", "%06d",
+__LINE__, 0xfffffb8d, "0xfffffb8d", "%#x",
+__LINE__, 0x000d6a2d, "879149", "%5.5d",
+__LINE__, -0x0001fcb, " -8139", "%7.ld",
+__LINE__, 0xfff86937, "fff86937", "%-0x",
+__LINE__, 0x00059cf9, "367865", "%#.0ld",
+__LINE__, 0x02c5d87a, "46520442", "%3.ld",
+__LINE__, 0x00000571, "1393", "%ld",
+__LINE__, 0x0003c73f, "+247615", "%+4ld",
+__LINE__, 0x0000004f, "4f", "% 0x",
+__LINE__, 0x00000000, "0", "%-ld",
+__LINE__, -0x0e5850f, "-15041807", "% ld",
+__LINE__, -0x0000002, " -0002", "%7.4d",
+__LINE__, 0xfffffd1b, "fffffd1b", "%05x",
+__LINE__, 0x0000041c, " 1052", "% #0.ld",
+__LINE__, -0x0000030, "-48", "%d",
+__LINE__, -0x0013593, "-79251", "% #d",
+__LINE__, 0x00000001, "1", "%+X",
+__LINE__, 0x0000056b, " 56b", "%4.x",
+__LINE__, -0x0000004, "-4 ", "%-3d",
+__LINE__, -0x0000003, "-3", "% ld",
+__LINE__, 0xffff7c14, "0XFFFF7C14", "%#X",
+__LINE__, 0x02f63dd8, "49692120", "%.7ld",
+__LINE__, -0x03c51c9, "-3953097", "%+d",
+__LINE__, 0x00ded685, "14603909", "%5.ld",
+__LINE__, 0xffffffba, "ffffffba", "%x",
+__LINE__, 0x000370e8, "225512", "%#ld",
+__LINE__, 0x00000003, "3", "%X",
+__LINE__, -0x0024a64, "-150116", "%7.d",
+__LINE__, 0xff486ca1, "ff486ca1", "%x",
+__LINE__, 0x000001cf, "1CF", "% X",
+__LINE__, -0x0002d7e, "-11646", "%-0d",
+__LINE__, 0x0a594c65, "a594c65", "%.4x",
+__LINE__, -0x0000002, "-0002", "%-5.4ld",
+__LINE__, 0x00000000, "", "%00.ld",
+__LINE__, 0x00058bc4, "58BC4", "%3X",
+__LINE__, 0x0002cf8e, " 184206", "% 0ld",
+__LINE__, 0x000009c7, "+2503", "%+4.ld",
+__LINE__, 0xed0c984d, "ED0C984D", "%X",
+__LINE__, -0x0000058, "-088", "%#.3ld",
+__LINE__, 0x0076083d, "0X76083D", "%#6X",
+__LINE__, -0x0000001, "-1", "%#d",
+__LINE__, -0x6bf1777, "-113186679", "%#ld",
+__LINE__, -0x000011f, "-287", "%ld",
+__LINE__, 0x001b0e7d, "1B0E7D", "%-4X",
+__LINE__, 0x000007ac, " 1964", "%5.ld",
+__LINE__, 0x00000005, "5", "%0.d",
+__LINE__, -0x00003ba, "-954", "%4.0ld",
+__LINE__, 0xfffffffe, "FFFFFFFE", "%X",
+__LINE__, 0x00000019, "19", "%x",
+__LINE__, 0xffffffe0, "ffffffe0", "%-.6x",
+__LINE__, 0x0000012a, " 298", "% d",
+__LINE__, 0x00002c74, "2c74", "% 4.3x",
+__LINE__, 0x000002d5, "725", "%d",
+__LINE__, 0x0001c9a9, "1c9a9", "%-02x",
+__LINE__, 0xffc928c8, "ffc928c8", "%x",
+__LINE__, -0x03ae51f, "-3859743", "% #ld",
+__LINE__, 0x0000526d, "526d", "%x",
+__LINE__, -0x00028f0, "-10480", "%5ld",
+__LINE__, -0x49b4262, "-77283938", "%+02.0d",
+__LINE__, 0x028d37f0, "0x28d37f0", "%+#x",
+__LINE__, 0xd66e0af9, "D66E0AF9", "%03.X",
+__LINE__, -0x00c7707, "-816903", "%0d",
+__LINE__, -0x00000d0, "-208", "%-.1ld",
+__LINE__, 0x0000c328, "49960", "%d",
+__LINE__, 0x34cb86f1, "34CB86F1", "%X",
+__LINE__, 0x000000f6, "F6", "%+X",
+__LINE__, 0x0a3407ec, "0xa3407ec", "%-#x",
+__LINE__, 0x00007ebc, "32444", "%#3.d",
+__LINE__, 0xfffd3d65, "fffd3d65", "%x",
+__LINE__, 0x0007bc82, "0507010", "%0.7d",
+__LINE__, 0x0005bb93, "375699", "%ld",
+__LINE__, 0x0ec11cc8, "0XEC11CC8", "%+#6.2X",
+__LINE__, 0xfffff9c6, "fffff9c6", "%.5x",
+__LINE__, 0xff05ab70, "0XFF05AB70", "%-#.3X",
+__LINE__, 0x2328b716, "589870870", "%d",
+__LINE__, 0x00001a79, "6777", "%.1d",
+__LINE__, 0xfffee573, "fffee573", "%0.1x",
+__LINE__, -0x0000929, " -2345", "%7.d",
+__LINE__, 0xffffff9a, "FFFFFF9A", "%2.X",
+__LINE__, 0xfffffe60, "fffffe60", "%.5x",
+__LINE__, 0xfffffcd2, "fffffcd2", "%.7x",
+__LINE__, 0x00000001, " 001", "%6.3X",
+__LINE__, 0x00011e9c, "+73372", "%+0ld",
+__LINE__, 0x0000002a, "2a", "% x",
+__LINE__, 0xffffffff, "ffffffff", "%.7x",
+__LINE__, -0x0008ee8, "-36584", "%ld",
+__LINE__, 0x0000001c, "28", "%-d",
+__LINE__, 0x000abeda, "704218", "%d",
+__LINE__, 0x001347f7, "1347f7", "%3.0x",
+__LINE__, 0x0000023e, "574", "%3.3ld",
+__LINE__, 0x00000000, "0", "%-ld",
+__LINE__, -0x0016de0, "-93664", "%0ld",
+__LINE__, 0xffffff45, "FFFFFF45", "% X",
+__LINE__, 0x02dfb08c, "48214156", "%#ld",
+__LINE__, 0x003d73a2, "3d73a2", "%6.x",
+__LINE__, 0x00147da7, "1342887", "%#d",
+__LINE__, -0x5ff0f1e, "-100601630", "%-01ld",
+__LINE__, -0x000000b, "-11", "%ld",
+__LINE__, 0x00000168, " 168", "%+6.x",
+__LINE__, 0xffffc28e, "ffffc28e", "%0x",
+__LINE__, -0x00003a2, "-930", "%ld",
+__LINE__, 0x0002e56f, " 189807", "% 1.ld",
+__LINE__, 0x51abf44f, "0x51abf44f", "%#.7x",
+__LINE__, 0x00000000, "0", "%d",
+__LINE__, 0x9581268f, "9581268F", "%+X",
+__LINE__, 0xffffff3b, "FFFFFF3B", "%X",
+__LINE__, 0x000083d4, " 33748", "% #d",
+__LINE__, 0x00000001, "1", "%x",
+__LINE__, -0x000e51f, "-58655", "%.0ld",
+__LINE__, 0x0003eacb, "256715", "%6ld",
+__LINE__, 0x02be09db, " 46008795", "% 0.ld",
+__LINE__, 0xfffffffb, "FFFFFFFB", "% X",
+__LINE__, 0x000084f5, " 34037", "%6ld",
+__LINE__, -0x1127f99, "-17989529", "%#d",
+__LINE__, 0x5f6512de, "5f6512de", "%.7x",
+__LINE__, 0x00000001, "1", "%x",
+__LINE__, 0xfff74ab5, "fff74ab5", "%x",
+__LINE__, 0x0eebeb94, "250342292", "%4.ld",
+__LINE__, 0x0001b846, "0x1b846", "%#1x",
+__LINE__, 0x001e8c32, "1E8C32", "%2X",
+__LINE__, -0x0dae932, "-14346546", "%5.1d",
+__LINE__, 0x00000001, "1", "%ld",
+__LINE__, -0x0000042, "-66", "%ld",
+__LINE__, 0xffffff51, "FFFFFF51", "%0.1X",
+__LINE__, 0x00000043, "43", "%x",
+__LINE__, 0x04c21f39, " 79830841", "% 0ld",
+__LINE__, 0x0000061e, "1566", "%03.3d",
+__LINE__, -0x0000003, "-3", "%+d",
+__LINE__, 0x015b32db, " 22754011", "% .4d",
+__LINE__, 0xfffff181, "FFFFF181", "%-X",
+__LINE__, 0x000017ec, "0X17EC", "%#X",
+__LINE__, 0x000d703e, "880702", "%#ld",
+__LINE__, -0x6d7533a0, "-1836397472", "%ld",
+__LINE__, 0x0000008a, " 138", "% d",
+__LINE__, -0x7368794b, "-1936226635", "%+#d",
+__LINE__, 0x0000000d, "0XD", "%#X",
+__LINE__, 0x0000030d, "30D", "% X",
+__LINE__, 0xfffff9fe, "FFFFF9FE", "%5X",
+__LINE__, 0x00001bb2, "7090", "%d",
+__LINE__, 0x041d2a0c, "41D2A0C", "%0X",
+__LINE__, 0x00012aee, " 76526", "% d",
+__LINE__, 0x0000055f, "55f", "%.1x",
+__LINE__, 0xffffffff, "0XFFFFFFFF", "%#1X",
+__LINE__, 0x07b0a971, "+129018225", "%+.2ld",
+__LINE__, 0xfffffff8, "FFFFFFF8", "%4X",
+__LINE__, 0x00000001, "1", "%d",
+__LINE__, 0x00000038, "+56", "%+2ld",
+__LINE__, 0xfffffc2f, "fffffc2f", "%+7.x",
+__LINE__, 0x00004477, "0x4477", "% #x",
+__LINE__, 0x0000000d, "0XD", "%+#3X",
+__LINE__, 0xf5bf37b1, "F5BF37B1", "%1.X",
+__LINE__, 0x1a96f431, "446100529", "%d",
+__LINE__, 0x0037edf3, "+3665395", "%+#4.5ld",
+__LINE__, 0x0007f2aa, "520874", "%0ld",
+__LINE__, -0x00051a3, "-20899", "%+#1.ld",
+__LINE__, 0x0000037f, "37F", "%0X",
+__LINE__, 0xffffffb4, "ffffffb4", "%x",
+__LINE__, -0xd984c00, "-228084736", "%+06ld",
+__LINE__, 0xffffe1be, "FFFFE1BE", "%X",
+__LINE__, 0xfff20d48, "FFF20D48", "%+6.0X",
+__LINE__, 0x000028b7, "0x028b7", "%-#7.5x",
+__LINE__, -0x0000001, "-1", "%ld",
+__LINE__, 0x03f37945, "66287941", "%d",
+__LINE__, 0xffffffed, "0XFFFFFFED", "%+#6.4X",
+__LINE__, 0x0000f046, "f046", "%x",
+__LINE__, 0xe9772b51, "E9772B51", "%-1.X",
+__LINE__, 0xfffffffe, "fffffffe", "% x",
+__LINE__, 0xfffffffa, "0xfffffffa", "%#x",
+__LINE__, 0x00000015, "15", "%-X",
+__LINE__, 0x0000003c, "60", "%#ld",
+__LINE__, 0x3103952d, "822318381", "%0.ld",
+__LINE__, 0x17ba68bb, "398092475", "%2d",
+__LINE__, 0x000006c4, "+1732", "%+.2d",
+__LINE__, 0x00000043, "67", "%#d",
+__LINE__, 0x0043fb55, "4455253", "%.1ld",
+__LINE__, 0x00004b76, "4b76", "% 0x",
+__LINE__, 0xfff4c56b, "FFF4C56B", "%7X",
+__LINE__, 0x00766055, "766055", "%+5x",
+__LINE__, -0x000009f, "-159", "%+d",
+__LINE__, 0xffff063f, "ffff063f", "%-2x",
+__LINE__, 0x00808fc8, "808fc8", "%x",
+__LINE__, 0xffffffff, "ffffffff", "%x",
+__LINE__, 0x000000f1, "00000f1", "%+02.7x",
+__LINE__, 0x00000002, "2", "%X",
+__LINE__, 0x00000000, "000", "%03d",
+__LINE__, 0xe63f73b2, "E63F73B2", "% 1X",
+__LINE__, 0xfffffffe, "FFFFFFFE", "%5.1X",
+__LINE__, 0x0d3fa38b, "222274443", "%1d",
+__LINE__, 0x00000000, "0", "% X",
+__LINE__, 0x00000001, " 1", "%04.ld",
+__LINE__, 0x00000046, "46", "%0X",
+__LINE__, 0x0000761f, " 30239", "% ld",
+__LINE__, -0x0002517, "-9495", "%+d",
+__LINE__, 0x00000156, "156", "% 0x",
+__LINE__, 0x1c55eba2, "1c55eba2", "%.6x",
+__LINE__, 0x005af80d, "5af80d", "%.6x",
+__LINE__, 0x0000002e, "46", "%d",
+__LINE__, -0x0007c0f, "-31759", "%ld",
+__LINE__, 0xffffe924, "FFFFE924", "%7X",
+__LINE__, 0x00000174, "372", "%ld",
+__LINE__, 0xffffffc9, "0xffffffc9", "%-#x",
+__LINE__, 0x00000020, "+000032", "%+07d",
+__LINE__, 0xffffe5d9, "FFFFE5D9", "%4.5X",
+__LINE__, 0xffffffa3, "FFFFFFA3", "%+.3X",
+__LINE__, 0x00000a03, "+2563", "%+2d",
+__LINE__, 0x001b58ca, "+1792202", "%+4d",
+__LINE__, 0xffffffc9, "0xffffffc9", "%+#5x",
+__LINE__, -0x0000003, "-3", "% d",
+__LINE__, 0xfffffffc, "fffffffc", "%+0x",
+__LINE__, -0x0000002, "-02", "%.2d",
+__LINE__, 0x000243fb, "148475", "%-ld",
+__LINE__, 0x00000001, "1", "%0d",
+__LINE__, -0x0000672, "-1650", "%ld",
+__LINE__, -0x0005413, "-0021523", "% 7.7d",
+__LINE__, 0x00000017, "0X17", "%#X",
+__LINE__, 0x00000e48, "3656", "%0d",
+__LINE__, 0xffe79b38, "ffe79b38", "%-x",
+__LINE__, 0xffffff15, "FFFFFF15", "%+6.1X",
+__LINE__, 0xfff0272c, "fff0272c", "%-.5x",
+__LINE__, -0x00b706f, "-749679", "%1.ld",
+__LINE__, 0x0176aeec, "176AEEC", "%.1X",
+__LINE__, -0x00005a1, "-1441", "% 0ld",
+__LINE__, -0x0000002, "-00002", "%.5d",
+__LINE__, -0xd2e6f5d, "-221146973", "%1ld",
+__LINE__, -0x0000001, " -001", "%5.3ld",
+__LINE__, 0x00000001, " 1", "%05.ld",
+__LINE__, 0x0000749e, "+29854", "%+#d",
+__LINE__, 0x00000005, "5", "%d",
+__LINE__, 0xfa7128b0, "fa7128b0", "%1.x",
+__LINE__, 0xffffbbb4, "0XFFFFBBB4", "%#.1X",
+__LINE__, 0x0006862f, "427567", "%d",
+__LINE__, 0x00000002, "2", "%X",
+__LINE__, 0x000005d4, "5d4", "% x",
+__LINE__, 0x001387e1, "1279969", "%-05.0ld",
+__LINE__, -0x0035a56, "-219734", "%ld",
+__LINE__, -0x4064ecc6, "-1080356038", "%ld",
+__LINE__, 0x0000360d, "13837", "%0ld",
+__LINE__, -0xea1a85b, "-245475419", "%-.2ld",
+__LINE__, 0xffffff2d, "FFFFFF2D", "%X",
+__LINE__, 0x00000004, " 0004", "%7.4x",
+__LINE__, 0x00f72ffd, "F72FFD", "%-X",
+__LINE__, 0x00000fa2, "fa2 ", "%-5x",
+__LINE__, 0x05ae1f9a, "95297434", "%#ld",
+__LINE__, 0x0000bf2e, "48942", "%3.d",
+__LINE__, 0x00000000, " ", "%1.X",
+__LINE__, 0x01bcb097, "29143191", "%ld",
+__LINE__, 0x0000009c, "156 ", "%-4.0d",
+__LINE__, 0xfffffffe, "fffffffe", "% x",
+__LINE__, 0x00000001, "1 ", "%-6.d",
+__LINE__, 0xffffffef, "ffffffef", "%7.x",
+__LINE__, 0xfffffec1, "fffffec1", "%.5x",
+__LINE__, -0x000000f, "-15", "%-1d",
+__LINE__, -0x0008426, "-33830", "%0ld",
+__LINE__, 0x005be0ae, "5BE0AE", "% X",
+__LINE__, 0x00000009, " 9", "%+7X",
+__LINE__, -0x0007e18, "-32280", "%+0.d",
+__LINE__, 0x01697ba1, " 23690145", "% 5.ld",
+__LINE__, -0x0012042, "-073794", "%7.6d",
+__LINE__, 0x04e9bd0d, "4e9bd0d", "%-2x",
+__LINE__, 0xffffffd9, "FFFFFFD9", "%.2X",
+__LINE__, -0x01b9632, "-1807922", "%.6ld",
+__LINE__, 0x000000cd, "205", "%1.ld",
+__LINE__, 0x00000000, " ", "% .0d",
+__LINE__, 0xff17bbb1, "ff17bbb1", "%x",
+__LINE__, -0x00146d7, "-83671", "%+1.ld",
+__LINE__, 0xfffff144, "fffff144", "%x",
+__LINE__, 0x000f8dbe, "F8DBE", "%3.X",
+__LINE__, -0x000381c, "-14364", "%d",
+__LINE__, 0x0000001e, " 30", "%4.1d",
+__LINE__, 0x00000016, "22", "%-0d",
+__LINE__, 0x00000002, "+02", "%+1.2ld",
+__LINE__, 0x0000e803, "59395", "%d",
+__LINE__, 0xb4c2448d, "b4c2448d", "%-7x",
+__LINE__, 0x000e697d, "944509", "%ld",
+__LINE__, 0xfffe6e32, "0XFFFE6E32", "%#X",
+__LINE__, 0x00000190, " 190", "%+5.X",
+__LINE__, -0x03a2219, "-3809817", "%#6.ld",
+__LINE__, -0x000003c, "-60 ", "%-#4.ld",
+__LINE__, 0x00000000, " ", "% 03.ld",
+__LINE__, -0x074f922, "-7665954", "%ld",
+__LINE__, -0x00000f0, "-240", "%-ld",
+__LINE__, 0xfffe42d2, "0XFFFE42D2", "%#X",
+__LINE__, 0x000000dd, "DD", "%X",
+__LINE__, 0x00359abe, "359ABE", "%.1X",
+__LINE__, 0xffec7bdf, "FFEC7BDF", "%0.1X",
+__LINE__, 0x0ecddcba, "248372410", "%-#3.d",
+__LINE__, 0x00ad0dbc, "11341244", "%ld",
+__LINE__, -0x0000001, "-1", "%-d",
+__LINE__, 0x00050841, "50841", "% .5x",
+__LINE__, 0x01d359e7, "1d359e7", "%1.x",
+__LINE__, 0xff9efaa3, "FF9EFAA3", "%X",
+__LINE__, 0x0007ea10, "+518672", "%+ld",
+__LINE__, -0x000671c, "-26396", "%1d",
+__LINE__, 0xffffff91, "0xffffff91", "%#4.4x",
+__LINE__, 0x00000000, "+", "%+0.0ld",
+__LINE__, -0x002c53e, "-181566", "%3.d",
+__LINE__, 0xffffff56, "ffffff56", "%x",
+__LINE__, 0xfffff589, "FFFFF589", "%+X",
+__LINE__, 0x00024d13, "24D13", "%-5.2X",
+__LINE__, 0x00000000, " 0", "%6.1d",
+__LINE__, 0x00a64f33, "A64F33", "%4.4X",
+__LINE__, 0xffebb57a, "FFEBB57A", "%5.4X",
+__LINE__, 0xfff3b4a0, "fff3b4a0", "%2.x",
+__LINE__, 0xffffffd9, "FFFFFFD9", "%.2X",
+__LINE__, 0x00d37b84, "13859716", "%d",
+__LINE__, 0x00001e85, "0001E85", "%0.7X",
+__LINE__, -0x756148f, "-123081871", "% 7.d",
+__LINE__, -0x0319339, "-3248953", "%+#.4d",
+__LINE__, -0x00798b8, "-497848", "%#5ld",
+__LINE__, -0x0000039, "-57", "%0d",
+__LINE__, -0x000b1d7, "-45527", "%+0.ld",
+__LINE__, 0xff811fba, "FF811FBA", "%+X",
+__LINE__, 0x00000042, " 66", "% ld",
+__LINE__, 0xfffffe31, "0XFFFFFE31", "%#X",
+__LINE__, 0x00000073, "115", "%ld",
+__LINE__, 0x45091a39, "0x45091a39", "%+#3.x",
+__LINE__, 0x001270f5, "1270f5", "%-5.6x",
+__LINE__, 0xfffd91fd, "fffd91fd", "%x",
+__LINE__, -0x0817bad, "-8485805", "%#ld",
+__LINE__, -0x32ad55f, "-53138783", "%0d",
+__LINE__, 0x00003e57, "15959", "%0ld",
+__LINE__, -0x0048756, "-296790", "%2.6d",
+__LINE__, 0xff90f45f, "FF90F45F", "% X",
+__LINE__, 0x0000e454, "0e454", "% .5x",
+__LINE__, 0xfffffffc, "fffffffc", "%x",
+__LINE__, 0xfffffff7, "FFFFFFF7", "%-2X",
+__LINE__, 0xffdabf0e, "FFDABF0E", "%+X",
+__LINE__, 0xffffffff, "0XFFFFFFFF", "%#1X",
+__LINE__, 0x01516650, "1516650", "% x",
+__LINE__, 0xffffff51, "FFFFFF51", "%X",
+__LINE__, 0x000000ea, "234", "%00.d",
+__LINE__, 0x06db60ca, "115040458", "%5.d",
+__LINE__, 0x00000f01, " 3841", "% d",
+__LINE__, 0x00000009, "9", "%x",
+__LINE__, 0x299b3ba0, "299b3ba0", "%6.7x",
+__LINE__, 0x0067f298, "67f298", "%-2.6x",
+__LINE__, 0xfffffff5, "FFFFFFF5", "% 2X",
+__LINE__, 0x00102ff9, "102FF9", "%-.0X",
+__LINE__, 0xffc22393, "0xffc22393", "% #6x",
+__LINE__, 0x00007db5, "32181", "%-2ld",
+__LINE__, 0x0000b0a3, "0xb0a3", "%#0x",
+__LINE__, 0x001ceebb, "1CEEBB", "%-3.4X",
+__LINE__, 0x00025101, "0x25101", "%#x",
+__LINE__, -0x0000001, "-1", "%0ld",
+__LINE__, 0xffffd846, "FFFFD846", "%+2.3X",
+__LINE__, 0x00001d79, " 7545", "% 0.1ld",
+__LINE__, -0x0000002, " -2", "%5d",
+__LINE__, 0xf93b9fdc, "f93b9fdc", "%5x",
+__LINE__, 0xffff0021, "FFFF0021", "%6X",
+__LINE__, 0x00007cf9, "7cf9", "%3.1x",
+__LINE__, -0x0000002, "-2", "%d",
+__LINE__, 0x00001d84, "1d84", "%0x",
+__LINE__, -0x033201e, "-3350558", "%-2.0d",
+__LINE__, 0xfff8a6fb, "FFF8A6FB", "%+.7X",
+__LINE__, 0x00006fff, " 28671", "% ld",
+__LINE__, -0x02a274a, "-2762570", "%d",
+__LINE__, -0x0006628, "-26152", "%00ld",
+__LINE__, 0x00000011, "11", "%-x",
+__LINE__, -0x0000ed9, "-3801", "%0.ld",
+__LINE__, 0xfc5b725d, "FC5B725D", "%X",
+__LINE__, 0x3530bd4e, "892386638", "%7.d",
+__LINE__, 0x03bb4ff7, "62607351", "%#4.7ld",
+__LINE__, 0x00009f86, "9f86", "%x",
+__LINE__, 0x0000e727, "59175", "%1d",
+__LINE__, 0xfffffdf2, "0XFFFFFDF2", "%#X",
+__LINE__, 0x00e60dbf, "0XE60DBF", "% #1.X",
+__LINE__, 0xffffffff, "FFFFFFFF", "%+X",
+__LINE__, 0x0a16f44e, "0XA16F44E", "%#.0X",
+__LINE__, 0x0001f97c, "1f97c", "% x",
+__LINE__, 0x0000000d, "13", "%#0ld",
+__LINE__, 0x0000002a, "42", "%0ld",
+__LINE__, 0x00000007, " +7", "%+5ld",
+__LINE__, 0xffffff7f, "FFFFFF7F", "%-X",
+__LINE__, 0x000006a6, "1702", "%ld",
+__LINE__, 0xfaff2fb1, "faff2fb1", "% x",
+__LINE__, 0xffff94ab, "ffff94ab", "%x",
+__LINE__, 0x011d611b, "0X11D611B", "%#2.3X",
+__LINE__, 0x00000000, " +000", "%+#5.3ld",
+__LINE__, -0x87fcc37, "-142593079", "%+d",
+__LINE__, -0x0417424, "-4289572", "%+d",
+__LINE__, 0x03fabc0c, "3fabc0c", "%x",
+__LINE__, 0xfffff880, "fffff880", "%-x",
+__LINE__, 0x000002d7, "2d7", "%-02.x",
+__LINE__, 0x00003e82, "16002", "%#d",
+__LINE__, -0x0003713, "-14099", "% 5d",
+__LINE__, -0x0000027, "-39", "%ld",
+__LINE__, 0x00013098, "0077976", "%01.7d",
+__LINE__, -0x000000c, "-12", "%ld",
+__LINE__, -0x00000c0, "-192", "% ld",
+__LINE__, 0xffbe9285, "FFBE9285", "%3.X",
+__LINE__, 0x00000046, "46", "%x",
+__LINE__, 0x00000000, " ", "%+4.x",
+__LINE__, 0x00011e72, "73330", "%2.3d",
+__LINE__, -0x5276dd7, "-86470103", "%d",
+__LINE__, 0x00000013, "19", "%-02.ld",
+__LINE__, 0x384118a7, "0X384118A7", "%-#X",
+__LINE__, 0x00000000, "0", "% #X",
+__LINE__, 0x00000009, "9", "%#ld",
+__LINE__, 0x00021145, "135493", "%-ld",
+__LINE__, 0xff188a0c, "FF188A0C", "%1.X",
+__LINE__, 0xffffffd5, "ffffffd5", "%0x",
+__LINE__, 0xfffffffe, "FFFFFFFE", "% 0X",
+__LINE__, 0xffff74a3, "ffff74a3", "%x",
+__LINE__, 0x01d5a2f8, "1d5a2f8", "%-0.x",
+__LINE__, 0xfffffef6, "fffffef6", "%+06.x",
+__LINE__, 0x00000001, "1", "%ld",
+__LINE__, 0x00000000, "+0", "%+ld",
+__LINE__, 0xfffffffc, "fffffffc", "%4.x",
+__LINE__, -0x0000344, "-0836", "% .4d",
+__LINE__, 0xfffffffd, "FFFFFFFD", "%0X",
+__LINE__, 0x000a3121, "667937", "%#4.4ld",
+__LINE__, 0x0001e211, "0X1E211", "%#X",
+__LINE__, 0x00000c8b, "00C8B", "%05X",
+__LINE__, 0xfffffffe, "fffffffe", "%+0x",
+__LINE__, 0x001a53ce, "1725390", "%d",
+__LINE__, 0x0000057f, "57f ", "%-7.x",
+__LINE__, -0x0073e4d, "-474701", "%#ld",
+__LINE__, -0x0000002, " -2", "% 3.d",
+__LINE__, 0x482dc404, "482DC404", "%X",
+__LINE__, 0x0000011c, "11c", "%-.1x",
+__LINE__, 0x00000c12, " 3090", "%5.3ld",
+__LINE__, 0xfffe1068, "FFFE1068", "%-.4X",
+__LINE__, -0x0055e88, "-351880", "%ld",
+__LINE__, 0x000c9cef, "+826607", "%+d",
+__LINE__, 0xffffffe3, "ffffffe3", "%0x",
+__LINE__, -0x0000ee9, "-3817", "%#ld",
+__LINE__, 0xff1f6daa, "FF1F6DAA", "%X",
+__LINE__, 0xfffffc4e, "FFFFFC4E", "%5.2X",
+__LINE__, -0x000040a, "-1034", "%d",
+__LINE__, -0x0000085, "-00133", "% 01.5d",
+__LINE__, -0x126c797c, "-309098876", "%5.ld",
+__LINE__, 0x00000039, " 57", "% d",
+__LINE__, 0xfffffff6, "0xfffffff6", "%#5.x",
+__LINE__, 0xfffffff4, "fffffff4", "%7.6x",
+__LINE__, 0x00000003, "3", "%ld",
+__LINE__, 0x0000f8ae, "f8ae", "%.0x",
+__LINE__, 0x003ca1cf, "3973583", "%#3.7d",
+__LINE__, 0x14687009, "0x14687009", "%+#3x",
+__LINE__, 0xfffff1f7, "0xfffff1f7", "%#4.5x",
+__LINE__, 0xfffff17a, "fffff17a", "%3.x",
+__LINE__, 0x0011ea18, "1174040", "%ld",
+__LINE__, -0x0000019, "-25", "%03.d",
+__LINE__, 0x00015d72, "0X15D72", "%-#X",
+__LINE__, 0xffde4a41, "ffde4a41", "%x",
+__LINE__, 0x00006f1f, "28447", "%d",
+__LINE__, 0xffffffbd, "0xffffffbd", "%#.1x",
+__LINE__, 0x000013b9, "13B9", "%0X",
+__LINE__, -0x00001b9, "-00441", "%1.5d",
+__LINE__, 0x00000001, "000001", "%-.6d",
+__LINE__, 0x7b602d8f, "+2069900687", "%+0ld",
+__LINE__, 0x0005e323, "+385827", "%+ld",
+__LINE__, 0x00002fce, "2FCE", "%+0X",
+__LINE__, 0x0000000e, "0014", "%.4d",
+__LINE__, 0xffffffd6, "0XFFFFFFD6", "%#4.X",
+__LINE__, 0x037bf361, "58454881", "%5.ld",
+__LINE__, 0xffffffff, "FFFFFFFF", "%-7.5X",
+__LINE__, -0x016d4dc, "-1496284", "%6ld",
+__LINE__, 0x0005be9a, "0x5be9a", "%-#.5x",
+__LINE__, 0xffffffff, "ffffffff", "%1x",
+__LINE__, 0x00000055, " 85", "% 7.d",
+__LINE__, 0xffffffff, "ffffffff", "%x",
+__LINE__, -0x0135392, "-1266578", "% ld",
+__LINE__, 0x00850f26, "8720166", "%d",
+__LINE__, 0xffffee39, "ffffee39", "%0x",
+__LINE__, 0x000000dd, "221", "%ld",
+__LINE__, 0x00000000, " ", "%6.d",
+__LINE__, 0x000000d8, "d8", "%x",
+__LINE__, 0x000007ec, "002028", "%4.6ld",
+__LINE__, 0x0dab4e67, "0XDAB4E67", "%#X",
+__LINE__, 0xfffd7c95, "FFFD7C95", "% 4X",
+__LINE__, 0x0009302d, "9302D", "%3.1X",
+__LINE__, 0x00000003, " 3", "% d",
+__LINE__, 0x0000082f, "82f", "%-x",
+__LINE__, 0x0652517f, "652517F", "%-.2X",
+__LINE__, -0x1fd8f4e3, "-534312163", "%d",
+__LINE__, 0x00000176, "176", "%-x",
+__LINE__, 0x00000001, "1", "%ld",
+__LINE__, 0x0000001a, "1A", "%X",
+__LINE__, -0x0005740, "-22336", "% 0ld",
+__LINE__, 0xffffffff, "ffffffff", "%6x",
+__LINE__, 0x1b273b80, "0x1b273b80", "%#x",
+__LINE__, 0x00000065, "65", "%X",
+__LINE__, 0x6a62138a, "1784812426", "%2ld",
+__LINE__, 0x000001a2, "1A2", "%X",
+__LINE__, -0x002aafd, "-174845", "%02.ld",
+__LINE__, 0x00000014, "20", "%d",
+__LINE__, -0x00000c7, " -199", "%7.0ld",
+__LINE__, 0xff545bfd, "ff545bfd", "%-x",
+__LINE__, -0x002beb9, "-179897", "%02.2ld",
+__LINE__, -0x00000df, "-223", "% 02.d",
+__LINE__, -0x000d569, "-54633", "%1.ld",
+__LINE__, 0x0000000e, "14", "%d",
+__LINE__, -0x0077407, "-488455", "% ld",
+__LINE__, 0x0001be09, "114185", "%ld",
+__LINE__, -0x0000514, "-01300", "%+05.5d",
+__LINE__, 0xf1fb397f, "f1fb397f", "%+x",
+__LINE__, 0xfdb6707c, "FDB6707C", "%X",
+__LINE__, 0x03cad111, "3cad111", "%5.x",
+__LINE__, -0x022e72f, "-2287407", "%d",
+__LINE__, -0xda35f48, "-228810568", "%d",
+__LINE__, -0x02d1fd4, "-2957268", "%1.3d",
+__LINE__, 0x0000005f, "+95", "%+2d",
+__LINE__, 0xfffbf8a1, "FFFBF8A1", "%4.2X",
+__LINE__, 0x0000071e, " 71e", "%6.x",
+__LINE__, 0x000cc8a5, "+837797", "%+03ld",
+__LINE__, 0x000eebe9, " EEBE9", "%6.X",
+__LINE__, -0x2896b204, "-680964612", "%d",
+__LINE__, -0x09553f8, "-9786360", "%d",
+__LINE__, 0x000015d3, "5587", "%0d",
+__LINE__, 0x0000056d, " 56d", "%+4.x",
+__LINE__, -0x00624ad, "-402605", "% ld",
+__LINE__, 0xfea64ba5, "0xfea64ba5", "%#1x",
+__LINE__, 0x004f35c6, "5191110", "%-ld",
+__LINE__, -0x1441fe4, "-21241828", "%d",
+__LINE__, 0xffffff95, "FFFFFF95", "%X",
+__LINE__, 0xfffecf81, "FFFECF81", "%-2.X",
+__LINE__, -0x00002bb, "-699", "%-d",
+__LINE__, -0x0000c29, "-3113", "% 02ld",
+__LINE__, 0x000026a3, " 9891", "% .4d",
+__LINE__, 0x00000003, "3", "%-x",
+__LINE__, 0x000007db, "+02011", "%+.5ld",
+__LINE__, 0xfff99558, "FFF99558", "%.1X",
+__LINE__, 0x0000fce6, "64742", "%4.0d",
+__LINE__, 0x000b7ea2, "753314", "%ld",
+__LINE__, 0x13e5df30, "0X13E5DF30", "%#2.X",
+__LINE__, 0x006761c4, "06761C4", "%6.7X",
+__LINE__, 0xffffff78, "FFFFFF78", "%0.X",
+__LINE__, 0xfffff1c0, "0xfffff1c0", "% #x",
+__LINE__, -0x034af1c, "-3452700", "% 06.1d",
+__LINE__, 0x000000de, "0000222", "%2.7ld",
+__LINE__, 0x000003d8, "0x3d8", "%#4.x",
+__LINE__, -0x001a1d1, "-106961", "%3.1d",
+__LINE__, -0x0000002, "-2", "% d",
+__LINE__, 0x00001de6, "+7654", "%+0ld",
+__LINE__, 0x00000001, "001", "%#.3d",
+__LINE__, -0x53dacf9f, "-1406848927", "%ld",
+__LINE__, 0xfffffffc, "fffffffc", "%3.3x",
+__LINE__, -0x00950e8, "-610536", "%3.6ld",
+__LINE__, 0xff14ade9, "FF14ADE9", "%6X",
+__LINE__, 0x012f5284, "0X12F5284", "% #5X",
+__LINE__, 0x00005a21, " 5a21", "%5x",
+__LINE__, 0x00000638, "1592", "%2.4ld",
+__LINE__, -0x063017b, "-6488443", "%ld",
+__LINE__, 0x00000000, "0", "% X",
+__LINE__, 0xfffe8ef2, "FFFE8EF2", "%+0X",
+__LINE__, -0x0001c96, "-7318", "%.3d",
+__LINE__, 0x0000ca7d, "51837", "%ld",
+__LINE__, 0x00000001, "1", "%+1x",
+__LINE__, 0xfffff7bc, "FFFFF7BC", "%X",
+__LINE__, -0x03d15e2, "-4003298", "%ld",
+__LINE__, 0xfffffffe, "fffffffe", "% x",
+__LINE__, 0x00066183, "+418179", "%+7.1ld",
+__LINE__, 0xffffef2e, "ffffef2e", "%-2.x",
+__LINE__, 0x00000000, " 000", "%04.3x",
+__LINE__, -0x000000f, "-15", "% d",
+__LINE__, -0x00001f5, "-501", "%d",
+__LINE__, 0x0c67f159, "c67f159", "%6.2x",
+__LINE__, -0x0000006, "-6", "%.1d",
+__LINE__, 0x00000005, "0X5", "%+#1X",
+__LINE__, -0x0000002, " -2", "%6.ld",
+__LINE__, 0xeb2183ec, "eb2183ec", "% x",
+__LINE__, -0x5e12a322, "-1578279714", "%d",
+__LINE__, 0x00000001, "0x1", "%#x",
+__LINE__, -0x0001ea4, "-7844", "%0d",
+__LINE__, -0x19955a3, "-26826147", "%d",
+__LINE__, 0x000002a6, "2A6", "%2.X",
+__LINE__, 0x00000002, "2", "%X",
+__LINE__, 0xfffffeec, "fffffeec", "%0.4x",
+__LINE__, 0xfffffffc, "fffffffc", "%0x",
+__LINE__, 0xffdfe740, "FFDFE740", "% X",
+__LINE__, -0x0b0b3e7, "-11580391", "%.1d",
+__LINE__, 0x8e01077c, "8E01077C", "%5.7X",
+__LINE__, 0x3b6b6d55, "996896085", "%1.1d",
+__LINE__, 0x000016af, "5807", "%ld",
+__LINE__, -0x0004900, "-18688", "%d",
+__LINE__, 0xfffd77bc, "FFFD77BC", "%X",
+__LINE__, 0x004cbd74, "5029236", "%0d",
+__LINE__, 0x00000003, " 00003", "%6.5d",
+__LINE__, 0x0004720f, "4720f", "% x",
+__LINE__, 0x0e44535d, "e44535d", "%4x",
+__LINE__, 0xfffffff9, "FFFFFFF9", "%3.3X",
+__LINE__, -0x0000005, "-5", "%-d",
+__LINE__, 0x000001a6, "00001A6", "%1.7X",
+__LINE__, 0x0000004a, "4A", "%-2.X",
+__LINE__, 0xfffff249, "FFFFF249", "%X",
+__LINE__, 0x00004345, "4345", "%x",
+__LINE__, 0x0197041d, "197041d", "%+0x",
+__LINE__, 0x0000019a, " 19a", "% 6.x",
+__LINE__, 0xfff98376, "FFF98376", "%X",
+__LINE__, 0xfc536c41, "FC536C41", "%X",
+__LINE__, -0x0008d91, "-36241", "% d",
+__LINE__, 0xf058d69d, "f058d69d", "%4.x",
+__LINE__, -0x00013ef, "-5103", "%d",
+__LINE__, -0x0000003, "-3", "%00ld",
+__LINE__, -0x09e80f0, "-10387696", "%+07ld",
+__LINE__, -0x0222c15, "-2239509", "%#0.4ld",
+__LINE__, 0x00000004, "4", "%0ld",
+__LINE__, -0x02c6b0d, "-2910989", "% 0ld",
+__LINE__, 0xfffffffe, "FFFFFFFE", "%-4X",
+__LINE__, 0xffffff3d, "FFFFFF3D", "%-.0X",
+__LINE__, -0x0000015, "-21", "%0d",
+__LINE__, 0x131dfc90, "+320732304", "%+d",
+__LINE__, 0xffffffff, "ffffffff", "%+x",
+__LINE__, 0x000035c8, "13768", "%0ld",
+__LINE__, 0x00000033, "0x0033", "%#.4x",
+__LINE__, 0x0ce7e8c1, "0xce7e8c1", "%#.7x",
+__LINE__, 0xfc18b5d2, "FC18B5D2", "%+.3X",
+__LINE__, 0x00000015, "21", "%d",
+__LINE__, 0x001a5e7c, "1a5e7c", "%05x",
+__LINE__, -0x000fbf0, "-64496", "%ld",
+__LINE__, -0x000a4f7, "-042231", "%+2.6d",
+__LINE__, -0x0000002, "-002", "%3.3ld",
+__LINE__, 0x00728878, "728878", "%0X",
+__LINE__, -0x0000002, "-2", "%#.1ld",
+__LINE__, -0x00002ef, "-751", "%-0ld",
+__LINE__, 0xfffffff7, "fffffff7", "%.3x",
+__LINE__, 0x00491867, "0491867", "%.7X",
+__LINE__, 0x00000d4d, "3405", "%-ld",
+__LINE__, 0x00234e86, "234E86", "%0X",
+__LINE__, -0x000001b, "-27", "%ld",
+__LINE__, 0x00275255, "2576981", "%.5ld",
+__LINE__, 0xfeacc214, "0XFEACC214", "%-#3.X",
+__LINE__, -0x0001ce5, "-7397", "%+#2.2ld",
+__LINE__, 0x089ddb6a, "144563050", "%d",
+__LINE__, 0x003d5a95, "3D5A95", "%1X",
+__LINE__, 0x002f0b6d, "3083117", "%d",
+__LINE__, 0x1e79e228, "511304232", "%ld",
+__LINE__, 0xfffffe6b, "FFFFFE6B", "%+0X",
+__LINE__, -0x5104ff3, "-84955123", "%.4ld",
+__LINE__, 0xfffff1de, "FFFFF1DE", "%X",
+__LINE__, 0x000000cf, "+207", "%+.1ld",
+__LINE__, -0x16ad0164, "-380436836", "%+5.d",
+__LINE__, 0x001fefa6, "2092966", "%ld",
+__LINE__, 0x00000000, "00", "%-.2d",
+__LINE__, 0x00195f45, "195f45", "%+0x",
+__LINE__, 0x00000001, " 1", "%3.ld",
+__LINE__, -0x00001c9, "-457", "% ld",
+__LINE__, 0x0002479e, "149406", "%#ld",
+__LINE__, 0x001ab18b, "1749387", "%04d",
+__LINE__, 0x00000045, "69", "%ld",
+__LINE__, 0xfbb13f7d, "fbb13f7d", "%.2x",
+__LINE__, 0x03ddc208, "3ddc208", "%x",
+__LINE__, 0x00000007, "000007", "%#.6d",
+__LINE__, 0x00000000, "0", "%01X",
+__LINE__, -0x0023110, "-143632", "%+0.3d",
+__LINE__, 0x00000006, "06", "%#.2d",
+__LINE__, 0xffff9ec9, "ffff9ec9", "%7x",
+__LINE__, -0x08afb12, "-9108242", "% #0.ld",
+__LINE__, 0x00000004, "4", "%X",
+__LINE__, 0x00059684, "59684", "%x",
+__LINE__, 0xfff8d8f5, "FFF8D8F5", "%X",
+__LINE__, 0x00b7027d, "+11993725", "%+0.7ld",
+__LINE__, 0x0000d814, "55316", "%0ld",
+__LINE__, 0x03c95a08, "3c95a08", "%3x",
+__LINE__, -0x0b65f9a, "-11952026", "%d",
+__LINE__, 0xfd956021, "fd956021", "%0x",
+__LINE__, 0x000000ed, "ed", "%0x",
+__LINE__, -0x006a80c, "-436236", "%.6ld",
+__LINE__, 0xfedb109d, "fedb109d", "%x",
+__LINE__, 0x00000001, "1", "%X",
+__LINE__, 0x00b3eb71, " 11791217", "% d",
+__LINE__, 0x00000016, "16", "%0X",
+__LINE__, 0x000001db, " 475", "% ld",
+__LINE__, 0x00465eaf, "4611759", "%0d",
+__LINE__, 0x0001b423, "1B423", "%0X",
+__LINE__, 0x05df95ea, "5df95ea", "%+.5x",
+__LINE__, 0x0000000e, " 14", "%7ld",
+__LINE__, 0xffffb89e, "ffffb89e", "%+x",
+__LINE__, 0x01259918, " 19241240", "% d",
+__LINE__, -0x0000f8d, "-003981", "%+#.6d",
+__LINE__, 0x00054ae0, "54AE0", "%X",
+__LINE__, -0x4589ed4, "-72916692", "% ld",
+__LINE__, 0x01017516, "1017516", "%6X",
+__LINE__, 0xfffb9f15, "FFFB9F15", "%.2X",
+__LINE__, 0x005f8394, "5F8394", "%.2X",
+__LINE__, 0xffffffff, "ffffffff", "%x",
+__LINE__, -0x0000001, " -1", "%7.1ld",
+__LINE__, 0x004367af, "4417455", "%4.ld",
+__LINE__, 0xffffff86, "ffffff86", "%4.5x",
+__LINE__, -0x0000d17, "-3351", "%2.0ld",
+__LINE__, 0xffffff31, "ffffff31", "%.6x",
+__LINE__, -0x0000001, "-1", "%ld",
+__LINE__, -0x3d785fab, "-1031298987", "%d",
+__LINE__, -0x0000002, "-2", "%-0ld",
+__LINE__, 0x0000019c, "412", "%d",
+__LINE__, -0x0006f54, "-28500", "%d",
+__LINE__, 0xfffe3524, "FFFE3524", "% 6.2X",
+__LINE__, -0x128d3c00, "-311245824", "%2d",
+__LINE__, -0x3be71293, "-1004999315", "%d",
+__LINE__, 0x0000659d, "26013", "%d",
+__LINE__, 0x2d947538, "+764704056", "%+5d",
+__LINE__, 0xffa2a420, "FFA2A420", "%0X",
+__LINE__, 0x00000001, "1", "%d",
+__LINE__, 0x04477c14, "4477c14", "%.6x",
+__LINE__, -0x06e145b, "-7214171", "%d",
+__LINE__, 0x00009c01, "39937", "%-.1d",
+__LINE__, 0xffde174b, "ffde174b", "% 0x",
+__LINE__, 0x0001fbae, "1FBAE", "%01.X",
+__LINE__, -0x06b8406, "-7046150", "%d",
+__LINE__, 0x000005b8, "005b8", "%05x",
+__LINE__, -0x02d780b, "-2979851", "%1d",
+__LINE__, 0x00209e26, "2137638", "%2d",
+__LINE__, 0x0000041a, "41A", "%0X",
+__LINE__, 0x2a77f42c, "2A77F42C", "%02X",
+__LINE__, 0x13b6ee14, "+330755604", "%+0d",
+__LINE__, -0x0000002, "-2 ", "%-6.d",
+__LINE__, -0x0001eee, "-7918", "% #2.ld",
+__LINE__, 0xffffffff, "FFFFFFFF", "% .5X",
+__LINE__, 0x20d11927, "20d11927", "% 0.x",
+__LINE__, -0x0018690, "-99984", "% ld",
+__LINE__, 0x000002a0, "2A0", "%-0X",
+__LINE__, -0x0000511, "-1297", "%+d",
+__LINE__, 0x0e782f31, "242757425", "%-0.ld",
+__LINE__, 0x2ce06da0, "752905632", "%#0ld",
+__LINE__, 0x00000062, "62 ", "%-07x",
+__LINE__, -0x015d9d8, "-1432024", "% 7d",
+__LINE__, 0xc9125ea8, "c9125ea8", "%x",
+__LINE__, 0x00000006, "6", "%.0ld",
+__LINE__, 0x0000019c, "19c", "%x",
+__LINE__, 0x00000000, " ", "%6.d",
+__LINE__, 0x00043e89, "278153", "%0ld",
+__LINE__, 0x3e422abd, "1044523709", "%ld",
+__LINE__, 0x0220a75d, "35694429", "%#7.6d",
+__LINE__, 0x0000c21c, "C21C", "% X",
+__LINE__, 0x000074ab, "29867", "%d",
+__LINE__, 0x056b22aa, "56B22AA", "%+0.X",
+__LINE__, 0xfffffff9, "FFFFFFF9", "%X",
+__LINE__, 0x00000000, "0", "%X",
+__LINE__, 0xf094a4f4, "f094a4f4", "%+4.x",
+__LINE__, -0x1dad0244, "-497877572", "%d",
+__LINE__, 0xffffffff, "FFFFFFFF", "%.1X",
+__LINE__, 0xfffffe2d, "fffffe2d", "%7.x",
+__LINE__, 0x0000042b, "0x42b", "%#x",
+__LINE__, -0x0000001, "-1", "% d",
+__LINE__, 0x00e77ef5, " 15171317", "% 7.ld",
+__LINE__, 0x00006210, " 25104", "% 06d",
+__LINE__, 0x0011187a, "1120378", "%-ld",
+__LINE__, -0x000000b, "-11", "% #ld",
+__LINE__, 0x14cfaff0, "14cfaff0", "%-2.3x",
+__LINE__, 0xffff74ea, "FFFF74EA", "%3.X",
+__LINE__, 0x000bfb9d, "bfb9d", "%x",
+__LINE__, 0xfffffffe, "FFFFFFFE", "%X",
+__LINE__, 0x00014500, "0X14500", "%#4.X",
+__LINE__, -0x0000001, "-1", "%#1d",
+__LINE__, -0x0000024, "-36", "%-0d",
+__LINE__, -0x6528828, "-106072104", "%d",
+__LINE__, 0x00000075, " 117", "% #d",
+__LINE__, 0xff027d67, "ff027d67", "%0x",
+__LINE__, 0x0012b8b3, "12b8b3", "%0.1x",
+__LINE__, 0x1070147b, "275780731", "%.6ld",
+__LINE__, 0xffffe88e, "FFFFE88E", "%1.3X",
+__LINE__, 0xfffffc0d, "fffffc0d", "%00.6x",
+__LINE__, 0xffd889f5, "ffd889f5", "%x",
+__LINE__, 0x00000470, "1136", "%0ld",
+__LINE__, 0x000297f8, "169976", "%ld",
+__LINE__, 0xfffffffe, "fffffffe", "%+1x",
+__LINE__, 0x0000064a, "64a", "%x",
+__LINE__, -0x3d71e43b, "-1030874171", "%1.d",
+__LINE__, -0x0000004, "-4 ", "%-3.d",
+__LINE__, 0xfffff132, "FFFFF132", "%0.0X",
+__LINE__, 0x37b6356f, "37b6356f", "%-x",
+__LINE__, 0xffffff7a, "FFFFFF7A", "%.0X",
+__LINE__, 0x00023553, "23553", "%x",
+__LINE__, 0x39a4c29f, "39a4c29f", "%+5.x",
+__LINE__, 0xffffffcc, "ffffffcc", "%x",
+__LINE__, 0x0003a83b, "239675", "%#6ld",
+__LINE__, 0x00000002, "2", "%0x",
+__LINE__, -0x09b4e8c, "-10178188", "%+03.ld",
+__LINE__, 0x00000002, "0000002", "%-#.7ld",
+__LINE__, 0x00000b5e, "2910", "%-04ld",
+__LINE__, -0x0000254, "-596", "%+0d",
+__LINE__, 0x00000001, "1", "%+1.x",
+__LINE__, 0xf8290d3e, "0XF8290D3E", "% #X",
+__LINE__, 0x00000035, "035", "%3.3X",
+__LINE__, 0x00131d7d, "131D7D ", "%-7.6X",
+__LINE__, 0xffdbb36a, "0xffdbb36a", "%#.6x",
+__LINE__, 0xc7275816, "c7275816", "%04.x",
+__LINE__, 0x00bae994, "12249492", "%0ld",
+__LINE__, 0x00000002, "+2", "%+0.0ld",
+__LINE__, 0xffffffff, "ffffffff", "%0x",
+__LINE__, 0xffffffe0, "ffffffe0", "%x",
+__LINE__, 0x00000036, "36", "%.0X",
+__LINE__, 0xfffffffd, "FFFFFFFD", "%1X",
+__LINE__, 0xffffffc8, "ffffffc8", "%+x",
+__LINE__, 0xe71c3689, "e71c3689", "%x",
+__LINE__, 0x00000007, "7 ", "%-3.ld",
+__LINE__, 0xffffffff, "ffffffff", "%x",
+__LINE__, 0x00030400, "030400", "%-4.6x",
+__LINE__, 0xbd8c6fa7, "BD8C6FA7", "%-6X",
+__LINE__, 0x00000233, "0000563", "%.7ld",
+__LINE__, 0xfef92e35, "fef92e35", "%x",
+__LINE__, 0xffff2172, "ffff2172", "%3x",
+__LINE__, 0x00001233, "1233", "% X",
+__LINE__, -0x000d2e1, "-53985", "%-0d",
+__LINE__, -0x3ba8cb5b, "-1000917851", "%0d",
+__LINE__, -0x4fefb9a, "-83819418", "%5.ld",
+__LINE__, 0xffffe9eb, "FFFFE9EB", "%X",
+__LINE__, 0x1e472dc3, "507981251", "%ld",
+__LINE__, -0x0077046, "-487494", "%0d",
+__LINE__, 0x0002c4c9, "+181449", "%+7.d",
+__LINE__, 0xfffffe63, "fffffe63", "%x",
+__LINE__, 0xfff5a6db, "FFF5A6DB", "%X",
+__LINE__, 0x00174442, "174442", "%-5.0X",
+__LINE__, 0x017891d9, "17891D9", "%+5.X",
+__LINE__, 0x0261966b, "261966B", "%-X",
+__LINE__, -0x3e58614d, "-1045979469", "%ld",
+__LINE__, 0x002c4c41, "+2903105", "%+01ld",
+__LINE__, 0x0000000c, "012", "%#.3d",
+__LINE__, 0x0380f73a, "58783546", "%ld",
+__LINE__, 0x000002c7, "0000711", "%2.7ld",
+__LINE__, 0x00000002, " 002", "% 04ld",
+__LINE__, 0x00687ca0, "687CA0", "%X",
+__LINE__, 0x0000058a, "1418", "%0ld",
+__LINE__, -0x0000642, "-1602", "% ld",
+__LINE__, 0x0001f4f1, "1F4F1", "%X",
+__LINE__, 0x0026d6fc, "+2545404", "%+4.ld",
+__LINE__, 0x05dd423c, "+98386492", "%+#ld",
+__LINE__, 0x0000782c, "0782C", "%3.5X",
+__LINE__, 0xf67d91f8, "f67d91f8", "%-x",
+__LINE__, 0xffffcf2d, "ffffcf2d", "%+0x",
+__LINE__, -0x00af8a6, "-719014", "%0ld",
+__LINE__, -0xe606ef9, "-241200889", "%ld",
+__LINE__, 0xfe9d87f7, "fe9d87f7", "%+x",
+__LINE__, 0x00000d44, "d44", "% 1.x",
+__LINE__, 0x008716f5, "8716f5", "%2x",
+__LINE__, 0x000027d4, "27D4", "% X",
+__LINE__, 0xfdfd92ea, "FDFD92EA", "%-.4X",
+__LINE__, 0xfffe764f, "FFFE764F", "%X",
+__LINE__, 0xff699032, "ff699032", "%3.x",
+__LINE__, 0xffffffff, "FFFFFFFF", "%-3X",
+__LINE__, -0x368ba995, "-915122581", "%+#.6ld",
+__LINE__, 0xffffffff, "ffffffff", "%0x",
+__LINE__, 0x0000035e, " 862", "% 1d",
+__LINE__, 0xfe703e67, "fe703e67", "%07.0x",
+__LINE__, 0xfffffffe, "fffffffe", "%4.x",
+__LINE__, 0x000e20cf, "e20cf", "%0x",
+__LINE__, 0x000063b5, "0X63B5", "%-#X",
+__LINE__, 0xfffffffa, "fffffffa", "%+2.x",
+__LINE__, 0xffffffff, "FFFFFFFF", "%2.X",
+__LINE__, 0xfdfd69da, "FDFD69DA", "%.0X",
+__LINE__, 0x00002f61, "0x2f61", "%#3.x",
+__LINE__, 0x00000009, "9", "%x",
+__LINE__, 0xffffff86, "ffffff86", "%6x",
+__LINE__, 0xffffffe4, "ffffffe4", "%0x",
+__LINE__, 0x0062e73b, "+6481723", "%+0ld",
+__LINE__, -0x2b059130, "-721785136", "%+d",
+__LINE__, -0x0000073, "-115", "%d",
+__LINE__, 0xf596efcf, "f596efcf", "%x",
+__LINE__, 0x0002f1cb, "2F1CB", "%0X",
+__LINE__, -0x0000635, "-01589", "%.5ld",
+__LINE__, 0xfffa011a, "FFFA011A", "%0X",
+__LINE__, 0x00000047, " 47", "%4X",
+__LINE__, 0xfffffbc0, "FFFFFBC0", "%5.2X",
+__LINE__, 0x00000015, "15", "% X",
+__LINE__, 0x002a87a6, "2a87a6", "%.1x",
+__LINE__, -0x000069c, "-1692", "%+ld",
+__LINE__, 0xfffffffd, "fffffffd", "%+x",
+__LINE__, 0xfeda51f5, "FEDA51F5", "%0X",
+__LINE__, 0x001781a4, "1781a4", "%-0x",
+__LINE__, 0xe77358d4, "e77358d4", "%+0x",
+__LINE__, 0x00000084, " 84", "%3.x",
+__LINE__, 0xffff0cb2, "FFFF0CB2", "%+5.X",
+__LINE__, 0x0009fa17, "653847", "%0.0ld",
+__LINE__, -0x0000c92, "-3218", "%d",
+__LINE__, 0x0004ebbb, "4ebbb", "%x",
+__LINE__, 0x2e72568c, "+779245196", "%+#ld",
+__LINE__, 0xffae86a7, "ffae86a7", "%.7x",
+__LINE__, 0xffdf3f04, "ffdf3f04", "%x",
+__LINE__, 0x000000c7, "199", "%2.d",
+__LINE__, -0x0004a55, "-19029", "%ld",
+__LINE__, 0x00564ef9, "5656313", "%.6ld",
+__LINE__, 0xffffc205, "ffffc205", "%+.0x",
+__LINE__, -0x135085d0, "-324044240", "%#.5d",
+__LINE__, 0xfffffffe, "fffffffe", "%-7x",
+__LINE__, -0x0000003, "-3", "%.1ld",
+__LINE__, 0xffda9e0b, "ffda9e0b", "%+0x",
+__LINE__, 0x00000001, "1", "%d",
+__LINE__, 0xffffffda, "ffffffda", "%.6x",
+__LINE__, 0x5efdb3d1, "+1593684945", "%+0d",
+__LINE__, -0x00000ca, "-202", "% 4.d",
+__LINE__, -0x0014433, "-82995", "%.3d",
+__LINE__, -0x0000002, "-000002", "% .6ld",
+__LINE__, 0x24aac879, "615172217", "%.7d",
+__LINE__, -0x1db3c1d, "-31144989", "%+#4ld",
+__LINE__, 0x000945ad, "0x945ad", "%#1x",
+__LINE__, 0x0000000a, "10", "%#.1ld",
+__LINE__, -0x002a2e5, "-172773", "%d",
+__LINE__, 0xfffffff3, "FFFFFFF3", "%5X",
+__LINE__, 0x0000000e, "e", "%+x",
+__LINE__, 0x335333dc, "861090780", "%6.d",
+__LINE__, 0xfffa16f4, "FFFA16F4", "%6X",
+__LINE__, 0xffffc727, "ffffc727", "%+2.x",
+__LINE__, 0x00000273, "273", "%x",
+__LINE__, -0x000000f, "-15", "%-0d",
+__LINE__, 0x00065fbd, "417725", "%5.1d",
+__LINE__, 0x00000ed5, "3797", "%d",
+__LINE__, 0x30a40024, "30A40024", "%3.7X",
+__LINE__, 0x00000054, "84", "%ld",
+__LINE__, 0x00000515, "01301", "%.5ld",
+__LINE__, 0x00000897, "+02199", "%+.5d",
+__LINE__, -0x0001bcc, "-7116", "% ld",
+__LINE__, 0xfffffffe, "FFFFFFFE", "%7X",
+__LINE__, 0x00000013, "0X13", "%#X",
+__LINE__, 0xffffffff, "0xffffffff", "% #x",
+__LINE__, 0x00000006, "6", "%ld",
+__LINE__, -0x00000c3, "-195", "%1.ld",
+__LINE__, -0x005291e, "-338206", "%+d",
+__LINE__, 0xffb437a7, "FFB437A7", "%-0X",
+__LINE__, 0xff8335cb, "ff8335cb", "%x",
+__LINE__, 0x0000006a, "6A", "%2X",
+__LINE__, -0x004f629, "-325161", "% .4d",
+__LINE__, 0x003698ef, "3578095", "%0ld",
+__LINE__, 0x6b5cdf3a, "6b5cdf3a", "%-x",
+__LINE__, 0xe9bc5c21, "e9bc5c21", "%+x",
+__LINE__, -0x0000001, " -1", "%+6.ld",
+__LINE__, 0xfffeffc8, "FFFEFFC8", "%6.X",
+__LINE__, 0xff070a73, "ff070a73", "%+.7x",
+__LINE__, 0x0023f8ae, "2357422", "%07.4ld",
+__LINE__, 0x00000000, "0", "%X",
+__LINE__, 0x00000016, "16", "%0X",
+__LINE__, -0x000005a, " -90", "%4d",
+__LINE__, 0x00000116, "116", "% .3x",
+__LINE__, 0xfffed024, "fffed024", "%-x",
+__LINE__, 0xfb907950, "fb907950", "%.0x",
+__LINE__, 0x0101a1e5, "101a1e5", "%x",
+__LINE__, -0x09e7684, "-10385028", "%-#ld",
+__LINE__, 0xffffffff, "ffffffff", "%1x",
+__LINE__, 0xfffffff6, "fffffff6", "%x",
+__LINE__, 0x00000078, "78", "%x",
+__LINE__, 0xe6bca9c9, "0XE6BCA9C9", "%#.5X",
+__LINE__, -0x0000010, "-16", "%d",
+__LINE__, -0x1348f685, "-323548805", "%d",
+__LINE__, 0x4dd85797, "1306023831", "%ld",
+__LINE__, -0x0000080, "-128", "%.2d",
+__LINE__, -0xaed13a7, "-183309223", "%+ld",
+__LINE__, -0x000002f, "-47", "% d",
+__LINE__, -0x679911f, "-108630303", "%ld",
+__LINE__, 0xfffff221, "FFFFF221", "% .7X",
+__LINE__, 0x0007476c, "7476c", "%x",
+__LINE__, 0xffffe02a, "0xffffe02a", "%#7x",
+__LINE__, 0x00000ebb, "0XEBB", "%#X",
+__LINE__, 0xffffffff, "0XFFFFFFFF", "%-#X",
+__LINE__, 0x00281896, "281896", "%+1.x",
+__LINE__, 0x0000085d, " 0X85D", "%#6.3X",
+__LINE__, 0x000112bf, "112BF", "%X",
+__LINE__, 0xf5518fbf, "F5518FBF", "% X",
+__LINE__, -0x00c945b, "-824411", "%ld",
+__LINE__, 0x00001b43, "0x1b43", "%-#x",
+__LINE__, -0x5872a246, "-1483907654", "%#7.7ld",
+__LINE__, 0x00001f96, "8086", "%#d",
+__LINE__, 0xfffffff9, "FFFFFFF9", "%X",
+__LINE__, -0x006e244, "-451140", "% .3d",
+__LINE__, -0x0382188, "-3678600", "%0.2ld",
+__LINE__, 0x00000006, "6", "%-x",
+__LINE__, 0x00000036, "54 ", "%-5.d",
+__LINE__, -0x0000439, " -1081", "%#6.3ld",
+__LINE__, 0xfff911c6, "FFF911C6", "%X",
+__LINE__, -0x03454dc, "-3429596", "%d",
+__LINE__, -0x0363e8d, "-3554957", "%-.2ld",
+__LINE__, 0x00000000, "000", "%.3X",
+__LINE__, -0x59bb030f, "-1505428239", "%0ld",
+__LINE__, 0x073c94d8, "121410776", "%-d",
+__LINE__, -0x001ef94, "-126868", "%5.1ld",
+__LINE__, 0xfff65fc5, "FFF65FC5", "%0X",
+__LINE__, 0xfffffff4, "fffffff4", "%-x",
+__LINE__, 0x00001d83, "07555", "%5.5d",
+__LINE__, 0x0012b40a, "1225738", "%ld",
+__LINE__, -0x0000006, "-6", "%0ld",
+__LINE__, 0xfffffffc, "fffffffc", "%06.0x",
+__LINE__, -0x0000002, "-00002", "%#.5ld",
+__LINE__, 0xf9932c1d, "f9932c1d", "%-x",
+__LINE__, -0x46a31d9, "-74068441", "%.3ld",
+__LINE__, 0x000987e9, "987E9", "%1X",
+__LINE__, 0x0000000f, "15", "%-ld",
+__LINE__, -0x0001c4d, "-7245", "%ld",
+__LINE__, -0x007deee, "-515822", "%2.6d",
+__LINE__, 0xffffffa2, "FFFFFFA2", "%.6X",
+__LINE__, 0x00000001, "1", "%-ld",
+__LINE__, 0xfc106bde, "fc106bde", "%.4x",
+__LINE__, 0x0002f1f8, "0x2f1f8", "%#7.x",
+__LINE__, -0x06a290b, "-6957323", "%-ld",
+__LINE__, -0x0000037, " -55", "%4ld",
+__LINE__, 0x0000152e, "5422", "%2.d",
+__LINE__, 0xfffffcb2, "0XFFFFFCB2", "%#3.X",
+__LINE__, 0x1b7ca086, "1b7ca086", "%+x",
+__LINE__, 0x00000001, "1", "%ld",
+__LINE__, 0x006775fc, "6775fc", "%3.2x",
+__LINE__, 0x0000000e, "0XE", "%#3.X",
+__LINE__, 0xffffffff, "0xffffffff", "%+#4.x",
+__LINE__, 0x00001246, "1246", "%X",
+__LINE__, 0xffffaed6, "ffffaed6", "%2x",
+__LINE__, -0x3a2dec78, "-976088184", "% 0ld",
+__LINE__, 0x0001423b, "1423b", "%01x",
+__LINE__, 0x00000007, " 0X7", "%#4.X",
+__LINE__, 0x01a7ff5a, "27787098", "%.4ld",
+__LINE__, -0x0020d05, "-134405", "%-d",
+__LINE__, 0xffffff9a, "ffffff9a", "%-.1x",
+__LINE__, 0xffff3557, "ffff3557", "%x",
+__LINE__, 0x08828e35, "8828e35", "%+.1x",
+__LINE__, 0x000006b2, "001714", "%04.6ld",
+__LINE__, 0x00000013, "19", "%.0ld",
+__LINE__, -0x00341a5, "-213413", "%#d",
+__LINE__, -0x0000043, "-67", "%d",
+__LINE__, -0x074dce3, "-7658723", "%.1d",
+__LINE__, -0x16de2df3, "-383659507", "% ld",
+__LINE__, 0x00000000, "0", "%x",
+__LINE__, 0x00000ce7, "ce7", "% 2.1x",
+__LINE__, 0xffecd377, "ffecd377", "% 0x",
+__LINE__, 0xa4e8465c, "a4e8465c", "% x",
+__LINE__, 0x000005e8, "1512", "%d",
+__LINE__, 0x00000513, "1299", "%d",
+__LINE__, 0xffffffb8, "FFFFFFB8", "%X",
+__LINE__, 0x00000003, "00003", "%3.5x",
+__LINE__, -0x0000003, "-3 ", "%-3.ld",
+__LINE__, 0xad53f01d, "ad53f01d", "%0x",
+__LINE__, 0x0f1c1dae, "253500846", "%-#.0d",
+__LINE__, 0xff1753c0, "0xff1753c0", "%#3.x",
+__LINE__, -0x00389c5, "-231877", "%d",
+__LINE__, 0x0000016e, "00016E", "%.6X",
+__LINE__, -0x54d3310f, "-1423126799", "%-d",
+__LINE__, 0x00000005, "0X5", "%#.1X",
+__LINE__, 0xfffffffd, "0XFFFFFFFD", "%#5.3X",
+__LINE__, 0xfffffe0e, "fffffe0e", "%-x",
+__LINE__, 0xa3c02157, "a3c02157", "%.5x",
+__LINE__, 0x00005765, "22373", "%d",
+__LINE__, -0x12668cd, "-19294413", "%+ld",
+__LINE__, -0x66544da, "-107300058", "%2d",
+__LINE__, 0x8646c605, "0X8646C605", "% #X",
+__LINE__, 0x000001f5, "1F5", "%X",
+__LINE__, 0x01b33ae4, "28523236", "%5ld",
+__LINE__, 0x000007ce, "7ce", "%3.x",
+__LINE__, 0x00000355, "355", "%X",
+__LINE__, 0x000001ce, "1CE", "% X",
+__LINE__, 0xfffffccd, "fffffccd", "%7.0x",
+__LINE__, -0x0000001, "-1", "%0ld",
+__LINE__, 0x000640b6, "640b6", "%5.x",
+__LINE__, 0x0038c4ec, "3720428", "%5.4d",
+__LINE__, -0x0f10b5e, "-15797086", "%2ld",
+__LINE__, 0x256c815f, "256c815f", "%4.x",
+__LINE__, 0x00000682, " 1666", "%6ld",
+__LINE__, -0x00000ab, "-171", "%2ld",
+__LINE__, 0x00000003, "3", "%0d",
+__LINE__, 0x063f5075, "63F5075", "%X",
+__LINE__, 0xff83b5d0, "FF83B5D0", "%7.X",
+__LINE__, 0xffffffec, "ffffffec", "%x",
+__LINE__, 0xffb551c4, "0XFFB551C4", "% #4.X",
+__LINE__, -0x071f057, "-7467095", "%3.7d",
+__LINE__, 0x00634879, "6506617", "%#ld",
+__LINE__, 0x000001d7, "471", "%d",
+__LINE__, 0x00a7da92, "A7DA92", "% .4X",
+__LINE__, 0x00000003, "3 ", "%-2.ld",
+__LINE__, -0x0000004, "-0004", "%.4d",
+__LINE__, -0x01dea32, "-1960498", "% #7.d",
+__LINE__, 0x53c4159f, "53C4159F", "%1.7X",
+__LINE__, -0x1ad7904, "-28145924", "%#d",
+__LINE__, -0x0000a85, "-2693", "%ld",
+__LINE__, -0x0000c7d, "-3197", "%d",
+__LINE__, 0xfffffffc, "FFFFFFFC", "%+0X",
+__LINE__, 0x00000004, "00004", "%1.5d",
+__LINE__, 0x0000b761, "46945", "%5ld",
+__LINE__, -0x0ee3b2c, "-15612716", "%.6d",
+__LINE__, 0x0677a73d, "677a73d", "% x",
+__LINE__, -0x5f96020, "-100229152", "% d",
+__LINE__, 0x00000000, " 0", "%#7X",
+__LINE__, -0x5d1cb5b, "-97635163", "% ld",
+__LINE__, -0x00a8d8b, "-691595", "%-0ld",
+__LINE__, 0xffffffa2, "FFFFFFA2", "%X",
+__LINE__, 0xffffffc9, "FFFFFFC9", "%X",
+__LINE__, 0x0b180d35, "B180D35", "%X",
+__LINE__, 0xfc0b94ce, "fc0b94ce", "%.1x",
+__LINE__, 0x0012cd7b, "12CD7B", "% X",
+__LINE__, -0x02f1da8, "-3087784", "%ld",
+__LINE__, -0x000a6f9, "-42745", "%-ld",
+__LINE__, -0x000006d, "-109 ", "%-6d",
+__LINE__, 0x00000001, "+1", "%+0d",
+__LINE__, 0x00000001, "1", "%1d",
+__LINE__, 0xfffffff8, "fffffff8", "%5.x",
+__LINE__, -0x00fc4d7, "-1033431", "%+0.5ld",
+__LINE__, 0xffff41b4, "0xffff41b4", "%#x",
+__LINE__, -0x0000d37, "-3383", "%ld",
+__LINE__, 0xffc4e405, "ffc4e405", "%7x",
+__LINE__, 0xffffffb0, "FFFFFFB0", "%04X",
+__LINE__, -0x0054477, "-345207", "%01.ld",
+__LINE__, 0x00512778, "0x512778", "%#3.0x",
+__LINE__, 0x00000007, " 7", "%7.d",
+__LINE__, 0x00000008, " 00008", "% .5ld",
+__LINE__, 0x000053fd, "21501", "%.4ld",
+__LINE__, 0x0000370c, "370c", "%2x",
+__LINE__, -0x44670a7, "-71725223", "%3d",
+__LINE__, 0x00000064, " 64", "%+5x",
+__LINE__, 0xfffffffc, "FFFFFFFC", "%X",
+__LINE__, 0xf7bbf094, "f7bbf094", "%3x",
+__LINE__, 0xfffeb268, "FFFEB268", "%X",
+__LINE__, 0x00001ef0, "1ef0", "%4.x",
+__LINE__, 0x05ad9aa4, " 95263396", "% 0.ld",
+__LINE__, 0xf294dca7, "F294DCA7", "% 4.X",
+__LINE__, -0x0000003, "-000003", "%.6d",
+__LINE__, 0xfff57471, "fff57471", "% x",
+__LINE__, 0x0a848cfd, "176459005", "%d",
+__LINE__, -0x000002e, "-46", "%.0d",
+__LINE__, 0x00000051, " +81", "%+5d",
+__LINE__, -0x000072b, "-0001835", "%06.7d",
+__LINE__, -0x0000002, " -2", "%+#6ld",
+__LINE__, 0x00000003, "3", "%x",
+__LINE__, 0xfffd1799, "FFFD1799", "%6.X",
+__LINE__, 0x00000005, "5", "%ld",
+__LINE__, 0x0052138b, "5378955", "%#7.7ld",
+__LINE__, 0x000000c0, " 192", "% 7ld",
+__LINE__, 0x005b26cd, "5B26CD", "%X",
+__LINE__, -0x008df17, "-581399", "%.4ld",
+__LINE__, 0xfffffad8, "fffffad8", "%-x",
+__LINE__, 0x000006a9, "6a9", "%.0x",
+__LINE__, -0x003b7f9, "-243705", "%+0ld",
+__LINE__, 0x005d7ea4, "6127268", "%ld",
+__LINE__, -0x003ccea, "-249066", "%+.0ld",
+__LINE__, 0x0000846f, "846F", "%X",
+__LINE__, 0x00004f79, "4F79", "%4.X",
+__LINE__, 0xe3e1409c, "E3E1409C", "%-X",
+__LINE__, 0x07cce2f4, "7CCE2F4", "%2.X",
+__LINE__, 0x004bcc8b, "4967563", "%-.5ld",
+__LINE__, 0x7d49665e, "2101962334", "%ld",
+__LINE__, 0xfffffffc, "FFFFFFFC", "%.5X",
+__LINE__, 0x0000019e, "+000414", "%+.6d",
+__LINE__, 0x000027ef, "10223", "%d",
+__LINE__, -0x0000261, "-609", "%3ld",
+__LINE__, -0x000000e, "-14", "% 2.ld",
+__LINE__, 0xff3ba3c7, "ff3ba3c7", "%+5.7x",
+__LINE__, 0xffffffc4, "FFFFFFC4", "%-1.X",
+__LINE__, 0xfffc5a70, "0xfffc5a70", "%#4.4x",
+__LINE__, 0x0000d156, " 53590", "% d",
+__LINE__, -0x0486258, "-4743768", "%0ld",
+__LINE__, 0x00000000, " ", "% 2.d",
+__LINE__, 0x04a0ef9f, "77655967", "%0.6ld",
+__LINE__, 0xffffffff, "FFFFFFFF", "%X",
+__LINE__, 0x00000019, "0000019", "%.7x",
+__LINE__, -0x0058d3a, "-363834", "%ld",
+__LINE__, 0xfffff6b3, "fffff6b3", "%x",
+__LINE__, 0xfffffff5, "FFFFFFF5", "%.0X",
+__LINE__, 0x005e1fcb, "5E1FCB", "%+6X",
+__LINE__, 0xffc3c866, "0xffc3c866", "%-#.4x",
+__LINE__, 0x00000003, "3", "%X",
+__LINE__, 0xffa2e961, "FFA2E961", "%7.4X",
+__LINE__, 0x00000029, "41", "%d",
+__LINE__, -0x0000035, "-53", "%d",
+__LINE__, 0x0001b033, "110643", "%ld",
+__LINE__, 0x004dd51b, "5100827", "%-2ld",
+__LINE__, -0x000252d, "-9517", "% d",
+__LINE__, 0xffffdeb2, "ffffdeb2", "%4.x",
+__LINE__, 0xffe94eab, "0xffe94eab", "%#x",
+__LINE__, 0xf921edf6, "f921edf6", "%4.2x",
+__LINE__, 0x0007df97, "515991", "%4.ld",
+__LINE__, 0x00709bc5, "709BC5", "%0X",
+__LINE__, -0x0000001, "-1", "%d",
+__LINE__, 0xfffffffb, "FFFFFFFB", "%7.3X",
+__LINE__, -0x0063f74, "-409460", "%+05.0d",
+__LINE__, 0xfffffe9a, "FFFFFE9A", "%.2X",
+__LINE__, -0x0001ce2, "-7394", "%.4d",
+__LINE__, 0x000038c5, "14533", "%ld",
+__LINE__, 0x000000ad, "000ad", "% 5.5x",
+__LINE__, 0xffffbcc4, "ffffbcc4", "%-5x",
+__LINE__, 0x00000000, "0", "% X",
+__LINE__, 0x00372877, "372877", "%.6X",
+__LINE__, 0xffffffd7, "FFFFFFD7", "%1.X",
+__LINE__, 0xfa58b14b, "fa58b14b", "%x",
+__LINE__, 0xfffffd9f, "FFFFFD9F", "%0.7X",
+__LINE__, 0x00000710, "+1808", "%+#.2ld",
+__LINE__, 0x00000006, " 6", "%5.0ld",
+__LINE__, 0x0fba9706, "263886598", "%-6.3d",
+__LINE__, 0xffff420a, "ffff420a", "%-2x",
+__LINE__, 0x14b9a825, "14b9a825", "%x",
+__LINE__, 0x0077ffe4, "77FFE4", "%+.2X",
+__LINE__, 0x00067108, "422152 ", "%-7.ld",
+__LINE__, 0x00000001, " 00001", "%6.5X",
+__LINE__, 0x00000000, "0", "%ld",
+__LINE__, -0x0000001, " -1", "% 7ld",
+__LINE__, 0x01ddc7a3, "31311779", "%d",
+__LINE__, -0x2a92f9b, "-44642203", "% 3ld",
+__LINE__, 0xfffffff9, "fffffff9", "%4.6x",
+__LINE__, 0x0279a274, "279a274", "%x",
+__LINE__, 0x2e37ed8e, "775417230", "%d",
+__LINE__, 0x5ba59f58, "1537580888", "%-ld",
+__LINE__, 0xffffffe0, "ffffffe0", "%x",
+__LINE__, 0x3110ae47, "0X3110AE47", "%+#X",
+__LINE__, 0x000e00b9, "917689", "%d",
+__LINE__, 0x0000002e, " 0046", "% 7.4d",
+__LINE__, 0x00000363, " 867", "%7.d",
+__LINE__, -0x000000b, "-0011", "% 0.4d",
+__LINE__, 0x000349c8, " 349C8", "% 7.X",
+__LINE__, -0x01358f1, "-1267953", "%d",
+__LINE__, -0x0039d3c, "-236860", "%-.3d",
+__LINE__, 0xffd6de19, "ffd6de19", "%04.0x",
+__LINE__, -0x0003c54, "-0015444", "%1.7d",
+__LINE__, -0x0000e17, "-3607", "%d",
+__LINE__, 0xff0fa3a9, "ff0fa3a9", "%+3x",
+__LINE__, 0x00000009, "0000009", "%1.7x",
+__LINE__, 0xfffffc81, "FFFFFC81", "% X",
+__LINE__, -0x4ef2df5, "-82783733", "%ld",
+__LINE__, 0x00000013, "19", "%-ld",
+__LINE__, 0x00000000, " 0", "%#7x",
+__LINE__, -0x3b9485fd, "-999589373", "%1.d",
+__LINE__, -0x0000006, "-00006", "%6.5d",
+__LINE__, 0x0000003f, "+63", "%+ld",
+__LINE__, 0x000004c5, "1221", "%1.d",
+__LINE__, 0x003f8a8c, "4164236", "%d",
+__LINE__, -0x000001e, "-30", "%-#3d",
+__LINE__, 0xfff9d230, "FFF9D230", "%+07.3X",
+__LINE__, 0x0147cf17, "147cf17", "% x",
+__LINE__, 0xffffffeb, "ffffffeb", "%x",
+__LINE__, 0x0000007d, "00125", "%.5ld",
+__LINE__, 0x000fff56, "1048406", "%#3d",
+__LINE__, 0x064307a0, " 105056160", "% 0.3ld",
+__LINE__, 0x007d2860, "8202336", "%-.2d",
+__LINE__, 0x00a05711, "a05711", "%x",
+__LINE__, 0x179a7f9e, "0x179a7f9e", "%+#.3x",
+__LINE__, 0x00000003, "3", "%X",
+__LINE__, -0x0001d7d, "-7549", "%#5d",
+__LINE__, 0x0025d3f2, "+2479090", "%+2.d",
+__LINE__, -0x0000001, "-1", "%#ld",
+__LINE__, 0xfffffdd5, "fffffdd5", "%.7x",
+__LINE__, 0x003462b9, "3433145", "%d",
+__LINE__, 0x00005a81, "23169", "%d",
+__LINE__, 0xfffffcdb, "fffffcdb", "%-x",
+__LINE__, 0x00000000, "0", "%d",
+__LINE__, 0xfff22085, "fff22085", "%x",
+__LINE__, 0x00016d72, " 93554", "% d",
+__LINE__, -0x0000002, "-2", "%0ld",
+__LINE__, 0xfffffd21, "fffffd21", "% 0x",
+__LINE__, 0x00000931, "2353", "%ld",
+__LINE__, 0x00010021, "10021", "%5.1X",
+__LINE__, -0x000007e, "-126", "%1.0ld",
+__LINE__, 0xfffffff8, "fffffff8", "%01.x",
+__LINE__, -0x001d148, "-119112", "%d",
+__LINE__, -0x0000008, "-8", "%ld",
+__LINE__, -0x000038e, "-910", "% ld",
+__LINE__, 0x0039e3e5, "3793893", "%0.1d",
+__LINE__, 0x0038fb8e, "38FB8E", "%.2X",
+__LINE__, -0x002dafa, "-187130", "%ld",
+__LINE__, -0xbec275b, "-200025947", "%ld",
+__LINE__, 0x1a32f999, "1A32F999", "%05.4X",
+__LINE__, 0x0000002f, "2f", "%x",
+__LINE__, -0x0001a5b, "-6747", "%+3.ld",
+__LINE__, 0x00000762, " 1890", "%7.ld",
+__LINE__, 0x000000c2, "000194", "%0.6ld",
+__LINE__, 0xffff002b, "FFFF002B", "%.4X",
+__LINE__, -0x0019dae, "-105902", "% .2d",
+__LINE__, 0x0000125f, "125f", "%+1x",
+__LINE__, -0x000b688, " -46728", "%#7.d",
+__LINE__, 0x000401ca, "401ca", "%0x",
+__LINE__, 0x00000192, "402", "%#ld",
+__LINE__, 0xffffffff, "ffffffff", "%x",
+__LINE__, 0x1e505a0c, "0X1E505A0C", "%#1.3X",
+__LINE__, 0x000f8f6c, "1019756", "%d",
+__LINE__, 0x0004a296, "4a296", "%5.2x",
+__LINE__, 0x00000003, "3", "% x",
+__LINE__, -0x000d44c, "-54348", "%#ld",
+__LINE__, 0x00009ae2, "39650", "%-d",
+__LINE__, 0xffffff3a, "FFFFFF3A", "% .7X",
+__LINE__, 0x0042350b, "4338955", "%d",
+__LINE__, 0x000071af, "71af", "%+.4x",
+__LINE__, 0x00000001, "0x1", "%#0x",
+__LINE__, 0x00000033, "00051", "%3.5d",
+__LINE__, 0x00000001, "1", "%X",
+__LINE__, -0xebfb0e7, "-247443687", "%+3ld",
+__LINE__, 0x00000027, "27 ", "%-07.X",
+__LINE__, -0x0004837, "-18487", "%01d",
+__LINE__, 0x1a8c53da, "1A8C53DA", "%X",
+__LINE__, -0x0bdb8a9, "-12433577", "%d",
+__LINE__, -0x0000098, "-152", "%#ld",
+__LINE__, -0x003b554, "-243028", "%d",
+__LINE__, 0x000000cb, "00000CB", "%+.7X",
+__LINE__, 0xfffffeda, "FFFFFEDA", "%X",
+__LINE__, -0x0000010, "-16", "%-#d",
+__LINE__, 0x00000006, "+6", "%+d",
+__LINE__, 0x003c294a, "+3942730", "%+4.ld",
+__LINE__, 0x00000009, "9", "%ld",
+__LINE__, 0xfbbdd2bc, "FBBDD2BC", "% X",
+__LINE__, 0x71c86678, "+1908958840", "%+0.6ld",
+__LINE__, -0x0b49bff, "-11836415", "% 6.ld",
+__LINE__, 0xfff416be, "fff416be", "%3.x",
+__LINE__, 0x00000077, "+119", "%+d",
+__LINE__, 0xfff1cfaa, "FFF1CFAA", "% 0.2X",
+__LINE__, 0xfffffffb, "fffffffb", "% x",
+__LINE__, 0x0000127e, "4734", "%d",
+__LINE__, 0x00107ad2, "107ad2", "%+2.6x",
+__LINE__, 0x0006b8e9, "440553", "%-#d",
+__LINE__, 0x0000eb6f, "eb6f", "% x",
+__LINE__, 0x00001f18, "7960", "%0d",
+__LINE__, 0xfffff225, "fffff225", "%1.5x",
+__LINE__, 0xfffffff9, "fffffff9", "%+6.x",
+__LINE__, 0x000005b9, "01465", "%.5ld",
+__LINE__, 0xfffc26b8, "FFFC26B8", "% X",
+__LINE__, 0x540d580d, "0X540D580D", "%+#X",
+__LINE__, 0x05ad7094, "5AD7094", "% 4.7X",
+__LINE__, -0x000019b, "-411", "% d",
+__LINE__, 0x00000006, "000006", "%6.6ld",
+__LINE__, 0x0000026a, "+618", "%+ld",
+__LINE__, 0x0000000b, "11", "%ld",
+__LINE__, -0x26985d5, "-40469973", "%#.0ld",
+__LINE__, 0x0000007d, "7D", "%+02.0X",
+__LINE__, -0x0079ddf, "-0499167", "%+.7ld",
+__LINE__, 0x0000375f, "14175", "%0d",
+__LINE__, -0x18de7f99, "-417234841", "%ld",
+__LINE__, -0x00507cc, "-329676", "%.0d",
+__LINE__, 0x000029d5, "29D5", "%-2.1X",
+__LINE__, 0x0000328c, "328C", "%-3.X",
+__LINE__, 0x016f6234, "24076852", "%3.ld",
+__LINE__, 0xfffffffc, "0XFFFFFFFC", "%#.5X",
+__LINE__, 0xfe6163ca, "FE6163CA", "%5.X",
+__LINE__, 0xffffffc2, "FFFFFFC2", "%X",
+__LINE__, 0x00000087, "+135", "%+ld",
+__LINE__, 0x00310166, "310166", "% x",
+__LINE__, 0x00e8c871, "15255665", "%d",
+__LINE__, 0x000005ee, "1518", "%ld",
+__LINE__, 0xfcb24306, "FCB24306", "%X",
+__LINE__, 0x0000000b, " 11", "%5ld",
+__LINE__, 0x006d11d0, "0x6d11d0", "%#.0x",
+__LINE__, 0x0010d416, "1102870", "%#6.5d",
+__LINE__, -0x0047cb3, "-294067", "%.3d",
+__LINE__, 0x000000c0, "c0", "%x",
+__LINE__, 0xffffffff, "FFFFFFFF", "%+X",
+__LINE__, -0x000000a, "-10", "%d",
+__LINE__, -0x0000007, "-7", "% ld",
+__LINE__, 0xfffffffe, "FFFFFFFE", "%-X",
+__LINE__, 0x00000014, "0x14", "%-#3.1x",
+__LINE__, 0x00003319, "3319", "% x",
+__LINE__, 0x00000000, "00", "%+#.2X",
+__LINE__, -0x0000009, "-9", "% ld",
+__LINE__, -0x0000001, "-1 ", "%-3ld",
+__LINE__, 0x00262909, "2500873", "%.5ld",
+__LINE__, 0x33e76560, "33e76560", "%7.0x",
+__LINE__, -0x0000002, "-2", "%ld",
+__LINE__, 0x00035ee9, "35EE9", "%-3.X",
+__LINE__, -0x0000235, "-565", "%+4.ld",
+__LINE__, -0x3ea63c5, "-65692613", "%d",
+__LINE__, 0x00000003, "3", "%ld",
+__LINE__, -0x003362f, "-210479", "% d",
+__LINE__, -0x1a819f8a, "-444702602", "%.7d",
+__LINE__, 0x027a4668, "41567848", "%d",
+__LINE__, 0x0002b025, "2b025", "%x",
+__LINE__, -0x0000001, "-001", "%.3ld",
+__LINE__, 0xfffffff0, "fffffff0", "%-0x",
+__LINE__, -0x0000d4f, "-3407", "%-ld",
+__LINE__, 0x00000146, " 326", "% 1.d",
+__LINE__, -0x0000006, "-6", "%d",
+__LINE__, 0xffffffff, "FFFFFFFF", "%06.4X",
+__LINE__, 0x376fddae, "+930078126", "%+#0ld",
+__LINE__, 0x006d9da3, "6d9da3", "%1.x",
+__LINE__, -0x0000f28, "-3880", "%3.2ld",
+__LINE__, 0x0006962c, " 431660", "% 5d",
+__LINE__, 0x000011db, " 4571", "%6.ld",
+__LINE__, 0xffffffa8, "ffffffa8", "%+x",
+__LINE__, 0x0d886db3, "D886DB3", "%.7X",
+__LINE__, 0x00000000, "000000", "%2.6ld",
+__LINE__, 0xfffff6b6, "FFFFF6B6", "% X",
+__LINE__, -0x0739068, "-7573608", "%+6.ld",
+__LINE__, 0xfba62553, "0XFBA62553", "%#X",
+__LINE__, -0x4474bc5, "-71781317", "%-2ld",
+__LINE__, 0xffffff95, "FFFFFF95", "% 2.X",
+__LINE__, -0x1d0e1ca, "-30466506", "%+.0d",
+__LINE__, -0x000f3aa, "-62378", "%ld",
+__LINE__, 0x00000026, "26", "%1x",
+__LINE__, 0x001c5400, "1856512", "%-#d",
+__LINE__, 0x03808442, "3808442", "%X",
+__LINE__, -0x0000081, "-129", "%+#ld",
+__LINE__, 0x000004ae, " 1198", "% 3.4d",
+__LINE__, -0x7f4ed54, "-133492052", "%d",
+__LINE__, 0x00000000, "+0", "%+ld",
+__LINE__, 0x00000000, "0", "%+x",
+__LINE__, 0x004c7e46, "5013062", "%.0d",
+__LINE__, -0x647d7a65, "-1685944933", "%0.2d",
+__LINE__, 0x00003b59, "15193", "%-#1d",
+__LINE__, 0xfff3e64d, "FFF3E64D", "%-X",
+__LINE__, 0x00007022, "28706", "%-d",
+__LINE__, 0xc28d0ad8, "c28d0ad8", "%+x",
+__LINE__, -0x005c208, "-377352", "% ld",
+__LINE__, 0x00cfbadc, "13613788", "%d",
+__LINE__, 0x000016ea, "5866", "%0d",
+__LINE__, 0x00000029, "29", "%X",
+__LINE__, 0xffe16813, "0XFFE16813", "%+#X",
+__LINE__, 0x00000004, "4", "%0X",
+__LINE__, -0x0000096, " -150", "%5d",
+__LINE__, 0x00027ac7, "162503", "%ld",
+__LINE__, -0x0075de0, "-482784", "%d",
+__LINE__, 0x005fcff6, "6279158", "%d",
+__LINE__, 0xffffffef, "FFFFFFEF", "%3X",
+__LINE__, 0x267b05ec, "645596652", "%4ld",
+__LINE__, 0xa487b724, "a487b724", "%x",
+__LINE__, 0x01da2a11, "31074833", "%-.0ld",
+__LINE__, 0xffffffff, "FFFFFFFF", "%X",
+__LINE__, 0x0000037a, "37a", "%x",
+__LINE__, 0x003d0314, "+3998484", "%+#1d",
+__LINE__, 0x0000011b, " 283", "%5.2d",
+__LINE__, 0x094f6066, "94f6066", "%x",
+__LINE__, 0x00000004, "4", "%X",
+__LINE__, -0x102e14bd, "-271455421", "% 7.ld",
+__LINE__, 0x000048da, "0018650", "%07ld",
+__LINE__, -0x24ae0390, "-615383952", "%0.6d",
+__LINE__, 0xffff5159, "0XFFFF5159", "%#0X",
+__LINE__, 0xfffd38c3, "fffd38c3", "%x",
+__LINE__, 0xfffff9ea, "FFFFF9EA", "%-X",
+__LINE__, -0x000fd28, "-64808", "% ld",
+__LINE__, 0x002c1bf4, "2890740", "%-.1d",
+__LINE__, 0x00d00ee7, "D00EE7", "%0.4X",
+__LINE__, 0x00000cf9, "3321", "%0d",
+__LINE__, -0x0000001, "-1", "%-#ld",
+__LINE__, 0xfffffd75, "FFFFFD75", "%.2X",
+__LINE__, 0x00000012, "18", "%-d",
+__LINE__, 0xfd44b4b2, "fd44b4b2", "%+5.x",
+__LINE__, -0x001c53f, "-116031", "%-#6.d",
+__LINE__, 0x000ff6fd, "ff6fd", "%2x",
+__LINE__, 0x00000001, "1", "%0d",
+__LINE__, 0x0120b478, "120B478", "%.7X",
+__LINE__, 0x0145591e, "145591E", "%1.4X",
+__LINE__, 0x001f99b9, "1F99B9", "%.1X",
+__LINE__, 0xffffd078, "ffffd078", "%-1.5x",
+__LINE__, 0xffffff1a, "FFFFFF1A", "%-4.6X",
+__LINE__, 0xfffffffa, "fffffffa", "%x",
+__LINE__, -0x00000b9, "-185", "%3ld",
+__LINE__, 0x00001cf0, "7408", "%-ld",
+__LINE__, 0xffffffff, "FFFFFFFF", "%X",
+__LINE__, 0x00151f30, "151F30", "%X",
+__LINE__, -0x0000103, "-259", "%d",
+__LINE__, -0x000303f, "-12351", "%d",
+__LINE__, 0x000002ca, "714", "%ld",
+__LINE__, -0x0000c55, "-3157", "%1d",
+__LINE__, 0x00000691, "01681", "%#.5ld",
+__LINE__, 0x00230537, "2295095", "%#d",
+__LINE__, 0x032a1faa, "53092266", "%.4d",
+__LINE__, 0x000050d7, "20695", "%d",
+__LINE__, -0x0c7ad4c, "-13086028", "%#.4ld",
+__LINE__, -0x00009d9, "-2521", "%+d",
+__LINE__, 0xfffffffe, "fffffffe", "%0x",
+__LINE__, 0xffdec2d9, "FFDEC2D9", "%5.1X",
+__LINE__, -0x000563c, "-22076", "%-.2ld",
+__LINE__, 0x0073b36a, "0x73b36a", "%-#x",
+__LINE__, 0xfffffffd, "fffffffd", "%x",
+__LINE__, 0x0193ba5a, "193ba5a", "%1.x",
+__LINE__, 0x00d147b5, "13715381", "%2.d",
+__LINE__, 0xffffff10, "ffffff10", "%4x",
+__LINE__, 0x000648d5, "648d5", "%1.3x",
+__LINE__, 0x00000011, "11", "%X",
+__LINE__, 0xff259f5b, "0xff259f5b", "% #.1x",
+__LINE__, 0x00000175, "175", "%x",
+__LINE__, 0x00000000, "0", "%ld",
+__LINE__, 0x00000015, "21", "%#ld",
+__LINE__, 0xfffffffe, "fffffffe", "%-x",
+__LINE__, 0x00000013, " 19", "% 0ld",
+__LINE__, -0x0000001, "-0000001", "% 5.7ld",
+__LINE__, 0x0000139d, "139D", "%X",
+__LINE__, 0x0041ad18, "41ad18", "%-.6x",
+__LINE__, -0x00000f9, "-249", "% 3.d",
+__LINE__, 0x00000076, "118", "%ld",
+__LINE__, 0x000006f8, "1784", "%d",
+__LINE__, -0x0000005, "-5", "%ld",
+__LINE__, -0x00008e7, "-2279", "%+ld",
+__LINE__, 0x00003f77, "3F77", "%+0X",
+__LINE__, 0x000ca3f8, "0XCA3F8", "%+#X",
+__LINE__, -0x00004bf, "-001215", "%#5.6ld",
+__LINE__, 0x319129ab, "0x319129ab", "%+#x",
+__LINE__, -0x0000002, "-2", "%ld",
+__LINE__, -0x0f6686e, "-16148590", "%.6ld",
+__LINE__, 0x0329576b, "53041003", "%2.d",
+__LINE__, -0x000179e, "-6046", "%d",
+__LINE__, 0x000002cc, "+716", "%+1.3ld",
+__LINE__, 0xfffffff7, "0xfffffff7", "% #x",
+__LINE__, 0x0016eb40, "1502016", "%ld",
+__LINE__, 0x00000003, "3", "%-0ld",
+__LINE__, 0x0023e0d6, "23E0D6", "%-05.X",
+__LINE__, 0xffffa6a4, "0XFFFFA6A4", "%#X",
+__LINE__, 0x00087664, "87664", "% .2x",
+__LINE__, -0x0000002, " -2", "%3.ld",
+__LINE__, 0x003ad85d, "3AD85D", "%X",
+__LINE__, 0x00002f20, "12064", "%ld",
+__LINE__, 0x02030bfc, "2030BFC", "%02.3X",
+__LINE__, 0xfffff36a, "FFFFF36A", "%X",
+__LINE__, 0xfe0729ff, "0xfe0729ff", "% #.0x",
+__LINE__, 0xfec15164, "FEC15164", "%0.2X",
+__LINE__, -0x00169ec, "-92652", "%+d",
+__LINE__, 0x006d7990, "0x6d7990", "%#x",
+__LINE__, 0xffcc89e6, "ffcc89e6", "%x",
+__LINE__, 0x002d7cca, "2981066", "%7.7ld",
+__LINE__, -0x1649692b, "-373909803", "%#ld",
+__LINE__, 0x00664f47, "664f47", "%+6.x",
+__LINE__, 0x00000000, "0", "% X",
+__LINE__, 0x00000047, "000047", "%.6X",
+__LINE__, 0x00000007, "0000007", "%.7ld",
+__LINE__, 0x00000030, "30", "%-x",
+__LINE__, -0x25bcbabb, "-633125563", "% ld",
+__LINE__, 0xfe11c031, "FE11C031", "%4.6X",
+__LINE__, -0x0000001, "-0000001", "%.7d",
+__LINE__, 0x00b56d84, "11890052", "%ld",
+__LINE__, -0x0000b01, "-0002817", "%+07.7ld",
+__LINE__, 0xffffe4ad, "ffffe4ad", "% 0.0x",
+__LINE__, 0x007760fc, "7760fc", "%+x",
+__LINE__, 0xffef44d8, "FFEF44D8", "%X",
+__LINE__, 0xfcb6862e, "fcb6862e", "%+x",
+__LINE__, -0x0000001, "-1", "%0d",
+__LINE__, 0xffffffe6, "FFFFFFE6", "%3.1X",
+__LINE__, 0xff816e27, "FF816E27", "% 6.X",
+__LINE__, 0x00006415, "25621", "%ld",
+__LINE__, -0xfae5449, "-263083081", "%0ld",
+__LINE__, 0x00000001, " 1", "% 0d",
+__LINE__, 0x00000009, " 9", "%2.X",
+__LINE__, 0x002d7e18, "2981400", "%7d",
+__LINE__, -0x00000fc, "-0000252", "%-#.7d",
+__LINE__, 0x00000003, "3", "%0x",
+__LINE__, 0x0d46e47f, "222749823", "%ld",
+__LINE__, 0xfffcbc52, "FFFCBC52", "%+X",
+__LINE__, 0x00000000, "0", "%-X",
+__LINE__, 0xfffff0e5, "fffff0e5", "%x",
+__LINE__, 0xffffffd9, "FFFFFFD9", "%07X",
+__LINE__, 0x000004ee, "4ee", "%0x",
+__LINE__, 0xffffffff, "ffffffff", "%0x",
+__LINE__, -0x0008cb4, "-036020", "%+3.6ld",
+__LINE__, 0x0000dada, "0xdada", "%#0.x",
+__LINE__, 0x0000001a, "26 ", "%-4d",
+__LINE__, -0x000000c, " -12", "%04.d",
+__LINE__, 0x0000025c, " 25c", "%7.x",
+__LINE__, 0xfe9b091e, "FE9B091E", "%X",
+__LINE__, 0x00000002, " 2", "%07.ld",
+__LINE__, -0x0004930, "-18736", "% 6.d",
+__LINE__, 0xffffffe9, "FFFFFFE9", "%X",
+__LINE__, 0x00000003, " 3", "%2.ld",
+__LINE__, 0x00000e00, "3584", "%.4d",
+__LINE__, 0xffff38c2, "ffff38c2", "%0.x",
+__LINE__, 0xffffffff, "FFFFFFFF", "% .3X",
+__LINE__, 0xff7c1b2f, "FF7C1B2F", "%-3.2X",
+__LINE__, -0x0000005, "-5", "%2d",
+__LINE__, 0x00098775, "98775", "%x",
+__LINE__, 0x000015ff, " 15FF", "%6.X",
+__LINE__, 0xfffbe3ef, "FFFBE3EF", "%0.3X",
+__LINE__, -0x0000048, "-72", "%ld",
+__LINE__, 0x0001488a, "84106", "%d",
+__LINE__, 0x00000001, "1", "%x",
+__LINE__, -0x0000002, "-2", "%-0.0ld",
+__LINE__, -0x0000001, "-1", "%-d",
+__LINE__, 0x0006616f, "6616f", "%x",
+__LINE__, 0x3657856d, "911705453", "%6.d",
+__LINE__, -0x0007222, "-0029218", "%.7d",
+__LINE__, 0x00041606, "267782", "%04.5d",
+__LINE__, 0x00000001, " 1", "%2.ld",
+__LINE__, 0x00000219, "219", "%0x",
+__LINE__, 0x0ae0184c, "ae0184c", "%x",
+__LINE__, 0x00003a7d, " 14973", "%7.ld",
+__LINE__, 0xffffffff, "0XFFFFFFFF", "%#X",
+__LINE__, -0x0000002, "-2", "%0ld",
+__LINE__, 0x00002cdf, "11487", "%0ld",
+__LINE__, -0x000000c, "-12", "%d",
+__LINE__, -0x000000e, "-14", "%-#2d",
+__LINE__, 0x00000371, "881", "%#ld",
+__LINE__, 0x000015be, " 5566", "%5.ld",
+__LINE__, 0x01525b91, "22174609", "%#0.0ld",
+__LINE__, 0xff8fc22f, "FF8FC22F", "% X",
+__LINE__, -0x0007f7b, "-32635", "%4.ld",
+__LINE__, 0x00007bca, "7bca", "%x",
+__LINE__, -0x0000582, "-1410", "%ld",
+__LINE__, 0x00000047, " +71", "%+04.2d",
+__LINE__, 0xf8a8dce2, "f8a8dce2", "%+.6x",
+__LINE__, -0x000de2e, "-56878", "%.0d",
+__LINE__, 0x019c03c1, "0X19C03C1", "%#X",
+__LINE__, -0x0f3a43e, "-15967294", "%ld",
+__LINE__, 0x00009e87, "40583", "%#5.1d",
+__LINE__, 0x000000b8, "184", "%0ld",
+__LINE__, -0x000befe, "-48894", "%2ld",
+__LINE__, -0x002ee1a, "-192026", "%.2d",
+__LINE__, 0x00004fd8, "4fd8", "%x",
+__LINE__, 0x0006d57b, "447867", "%2d",
+__LINE__, 0xfffffa9c, "FFFFFA9C", "%-X",
+__LINE__, 0x0000000f, "15", "%ld",
+__LINE__, 0x0005deb2, "5DEB2", "% X",
+__LINE__, 0x00000007, "7", "%X",
+__LINE__, 0xffffffc8, "0XFFFFFFC8", "% #.1X",
+__LINE__, 0xfffff62f, "FFFFF62F", "%X",
+__LINE__, -0x1a935bba, "-445864890", "% 3.5d",
+__LINE__, 0x000b34b4, "0x0b34b4", "%-#3.6x",
+__LINE__, 0xfffff430, "FFFFF430", "%X",
+__LINE__, 0x00000b5f, "+0002911", "%+#.7d",
+__LINE__, 0x00000007, " 7", "%3ld",
+__LINE__, 0xffffffd8, "FFFFFFD8", "% .7X",
+__LINE__, 0xfffff544, "FFFFF544", "%0X",
+__LINE__, -0x353667b9, "-892757945", "%d",
+__LINE__, 0x00000058, "0x00058", "%+#.5x",
+__LINE__, 0x39dbcc4a, "+970705994", "%+0.6ld",
+__LINE__, 0xfffffffd, "fffffffd", "% 01x",
+__LINE__, 0x00b1c28e, "+11649678", "%+0ld",
+__LINE__, 0x000066c2, "0X66C2", "%-#4X",
+__LINE__, 0x007171a2, "+7434658", "%+07.ld",
+__LINE__, -0x0000001, "-1", "%-d",
+__LINE__, 0x00000ae0, "+2784", "%+0d",
+__LINE__, 0x13786a57, "326658647", "%#5d",
+__LINE__, -0x0000001, "-1", "%2.ld",
+__LINE__, -0x0168a16, "-1477142", "%d",
+__LINE__, 0x12df7dd6, "316636630", "%ld",
+__LINE__, 0x00000000, "000000", "%1.6d",
+__LINE__, 0x266da2a9, "644719273", "%ld",
+__LINE__, 0x0000004a, "74", "%d",
+__LINE__, 0x000102ff, "00102FF", "%+06.7X",
+__LINE__, 0x17916237, "0x17916237", "%#5x",
+__LINE__, -0x0003cbb, "-0015547", "%-.7d",
+__LINE__, 0xe7da2010, "e7da2010", "%2.4x",
+__LINE__, 0xfffffff3, "fffffff3", "% .7x",
+__LINE__, 0xfc9b64f8, "FC9B64F8", "% 7.X",
+__LINE__, 0x000001af, "431", "%0d",
+__LINE__, 0xffc81796, "0xffc81796", "%#.5x",
+__LINE__, 0x057a1fbc, "+91889596", "%+04d",
+__LINE__, 0x00001ae1, "6881", "%ld",
+__LINE__, 0xfffffff6, "fffffff6", "%3.0x",
+__LINE__, -0x6b7d5db, "-112711131", "%-06.1d",
+__LINE__, 0x008e8a5c, " 8e8a5c", "%7.0x",
+__LINE__, 0xfe07a9bd, "fe07a9bd", "%.1x",
+__LINE__, -0x00278e6, "-162022", "%0ld",
+__LINE__, 0xf98709f5, "F98709F5", "%X",
+__LINE__, -0x00000c9, "-201", "% 1.d",
+__LINE__, -0x000001d, "-00029", "%+2.5ld",
+__LINE__, 0x00000030, " 48", "% d",
+__LINE__, 0xffd753f4, "FFD753F4", "%0X",
+__LINE__, 0xfffffffd, "FFFFFFFD", "%X",
+__LINE__, 0x0000a765, "a765", "%x",
+__LINE__, 0x0026e2c8, "26E2C8", "%-0X",
+__LINE__, -0x00003eb, "-1003", "%3.1ld",
+__LINE__, 0x015d53ca, "22893514", "%0ld",
+__LINE__, -0x0000020, "-32", "%ld",
+__LINE__, -0x03558dd, "-3496157", "%1.0ld",
+__LINE__, -0x000007f, "-127", "%1.d",
+__LINE__, 0xffffc737, "0xffffc737", "%+#x",
+__LINE__, 0x0000a70d, " a70d", "%6.x",
+__LINE__, 0x01ea0e31, "0X1EA0E31", "% #1.X",
+__LINE__, 0x00b5f406, "0X0B5F406", "%-#.7X",
+__LINE__, 0x0e58fa9a, "240712346", "%.2d",
+__LINE__, 0xf43ff8a9, "f43ff8a9", "%+0.6x",
+__LINE__, -0x5d0d3d3, "-97571795", "%.3ld",
+__LINE__, -0x000027a, "-634", "%0d",
+__LINE__, 0xffcef248, "FFCEF248", "%07.X",
+__LINE__, 0x000002dc, "2dc", "%0x",
+__LINE__, -0x31fa6c1, "-52405953", "%.2d",
+__LINE__, 0x00000014, "14", "%X",
+__LINE__, -0x0282f98, "-2633624", "%ld",
+__LINE__, 0x00005f55, "24405", "%#d",
+__LINE__, -0x0000004, "-4", "%d",
+__LINE__, 0x00000001, "1", "%+x",
+__LINE__, 0x013f47ce, "13f47ce", "%0.x",
+__LINE__, 0x00143fce, "1327054", "%.3d",
+__LINE__, 0x00000000, "0", "%d",
+__LINE__, 0x00001f9a, "1F9A", "% X",
+__LINE__, 0x00000cf5, "cf5", "%x",
+__LINE__, 0xffea9c24, "ffea9c24", "%x",
+__LINE__, 0xf09f85a7, "F09F85A7", "%X",
+__LINE__, 0x00001e04, "7684", "%ld",
+__LINE__, 0xffffc82a, "ffffc82a", "%7x",
+__LINE__, -0x0000a77, "-2679", "% d",
+__LINE__, 0x0019a859, "+1681497", "%+2.6ld",
+__LINE__, -0x00002d7, "-727", "%ld",
+__LINE__, 0x00011b82, "72578", "%-#ld",
+__LINE__, 0x00000c32, "3122", "%ld",
+__LINE__, -0x0000337, "-823", "%1.d",
+__LINE__, 0x00000004, "4", "%1ld",
+__LINE__, 0x0000062c, "1580", "%.1ld",
+__LINE__, 0xffffffd3, "FFFFFFD3", "% X",
+__LINE__, -0x07b1bf8, "-8068088", "%#d",
+__LINE__, 0xfffffff9, "fffffff9", "%x",
+__LINE__, 0x159e6cfb, "159e6cfb", "%0.x",
+__LINE__, 0x0001148d, "1148d", "%-.1x",
+__LINE__, 0x003373b7, "3371959", "%#.0d",
+__LINE__, 0x00001af2, "1af2", "%.4x",
+__LINE__, -0x0000001, "-000001", "%+.6ld",
+__LINE__, -0x00001a3, "-419", "%d",
+__LINE__, 0xfdb232e7, "fdb232e7", "%5.4x",
+__LINE__, -0x000000d, "-13", "%d",
+__LINE__, 0x98ec1c74, "98ec1c74", "% 3x",
+__LINE__, 0xfffffff8, "fffffff8", "%+1.4x",
+__LINE__, -0x0000d58, "-3416", "%+#0ld",
+__LINE__, -0x65d1973, "-106764659", "%.6d",
+__LINE__, -0x0737641, "-7566913", "%-d",
+__LINE__, 0x0000037c, "37c", "%+0x",
+__LINE__, 0x0000012c, "0000300", "%#3.7d",
+__LINE__, 0x00c12d9b, "12660123", "%1.5ld",
+__LINE__, 0xe7e5e77d, "e7e5e77d", "%6x",
+__LINE__, 0x1fe0e820, "1FE0E820", "%-4X",
+__LINE__, 0xc85a793a, "C85A793A", "%X",
+__LINE__, 0x05f9fe2c, "100269612", "%#ld",
+__LINE__, 0x00000032, "0X32", "%+#4.1X",
+__LINE__, 0xfab4ce81, "fab4ce81", "%3.x",
+__LINE__, -0x0000009, "-9", "%2.d",
+__LINE__, 0xffff8d2e, "ffff8d2e", "% 6x",
+__LINE__, 0xfffffffe, "0xfffffffe", "%#x",
+__LINE__, 0x02960f60, "2960f60", "%1.x",
+__LINE__, 0x34cf3cbc, " 885996732", "% 5ld",
+__LINE__, -0x000006e, "-110", "% d",
+__LINE__, -0x0000001, "-1", "%-.0d",
+__LINE__, 0x000000b1, " B1", "%+7X",
+__LINE__, 0xfffff5b4, "FFFFF5B4", "%01.7X",
+__LINE__, 0x00000086, "86", "%0X",
+__LINE__, 0x00074367, " 74367", "% 6x",
+__LINE__, 0x001000d7, "+1048791", "%+ld",
+__LINE__, 0x00000f35, " 3893", "% d",
+__LINE__, -0x00000e1, "-225", "%d",
+__LINE__, 0xffff6694, "FFFF6694", "%6.X",
+__LINE__, 0x00019cf7, "19cf7", "%0.x",
+__LINE__, 0x00000046, "0046", "%+.4X",
+__LINE__, -0x000001f, "-31", "%ld",
+__LINE__, 0xfff25859, "fff25859", "%6x",
+__LINE__, 0x21884061, "562577505", "%#ld",
+__LINE__, 0x01448b7a, "1448B7A", "%0.1X",
+__LINE__, 0xffffffc0, "ffffffc0", "%x",
+__LINE__, 0xfffffed5, "fffffed5", "% 1.0x",
+__LINE__, 0x0e349767, "E349767", "%.5X",
+__LINE__, 0x00000330, "816", "%0d",
+__LINE__, -0x0000016, "-22", "%d",
+__LINE__, 0xffff9bab, "FFFF9BAB", "%X",
+__LINE__, 0xffffee4e, "ffffee4e", "%x",
+__LINE__, 0x0026beeb, "2539243", "%6.d",
+__LINE__, 0x00002c6c, "11372", "%.2d",
+__LINE__, -0x000002c, "-44", "%ld",
+__LINE__, -0x001dcfa, "-122106", "% d",
+__LINE__, 0x0001683c, "92220", "%#4.ld",
+__LINE__, 0x09b51fc9, "9b51fc9", "%+.7x",
+__LINE__, 0x0000001d, "29", "%0ld",
+__LINE__, -0x83f17e5, "-138352613", "%ld",
+__LINE__, 0xfa4e2c1b, "fa4e2c1b", "%x",
+__LINE__, 0x000001f3, "499", "%0ld",
+__LINE__, 0xffff03e4, "ffff03e4", "%x",
+__LINE__, 0x000000ac, "+0172", "%+.4ld",
+__LINE__, 0x03c3903b, "63148091", "%00d",
+__LINE__, 0x0000000d, "13", "%#d",
+__LINE__, 0x0000002e, "0X2E", "%#X",
+__LINE__, 0x00006b2d, "6B2D", "%X",
+__LINE__, 0x0000010b, " 0010b", "%7.5x",
+__LINE__, 0x0000017a, " 17a", "%4x",
+__LINE__, 0xfffffffb, "fffffffb", "%+x",
+__LINE__, 0xffffac6a, "ffffac6a", "%-.3x",
+__LINE__, -0x0005870, "-22640", "%0d",
+__LINE__, 0x189c17bc, "189c17bc", "%x",
+__LINE__, -0x01bbc38, "-1817656", "%#6.ld",
+__LINE__, -0x3382b55, "-54012757", "%d",
+__LINE__, -0x0000007, "-7", "%-ld",
+__LINE__, -0x000c74b, "-51019", "%ld",
+__LINE__, 0x0001a6f2, "+108274", "%+#1.ld",
+__LINE__, 0x00077448, "77448", "%x",
+__LINE__, 0x00000000, "0", "%x",
+__LINE__, 0xfffff056, "FFFFF056", "%.3X",
+__LINE__, -0x6f3f9451, "-1866437713", "%-#3.0ld",
+__LINE__, 0x000000ac, "AC", "%X",
+__LINE__, 0xffc8752f, "ffc8752f", "%-x",
+__LINE__, 0xfffffe6d, "FFFFFE6D", "%2.X",
+__LINE__, -0x377f1a5, "-58192293", "% .2d",
+__LINE__, -0x0000294, "-660", "%d",
+__LINE__, 0xfffffffe, "fffffffe", "%-x",
+__LINE__, 0xfffcbbe8, "0xfffcbbe8", "%-#4.x",
+__LINE__, 0x0022e510, "+2286864", "%+ld",
+__LINE__, 0xfffffe2a, "FFFFFE2A", "%0.3X",
+__LINE__, 0xfe29f7c0, "fe29f7c0", "%x",
+__LINE__, 0xfffe957e, "FFFE957E", "%X",
+__LINE__, 0x000080f8, "33016", "%ld",
+__LINE__, 0x0003ee2c, " 257580", "%7d",
+__LINE__, 0x000003a1, "929", "%d",
+__LINE__, 0x0000021f, "21f", "%+x",
+__LINE__, 0xffffffff, "ffffffff", "%.5x",
+__LINE__, -0x040a988, "-4237704", "%-d",
+__LINE__, 0x027c8b69, "41716585", "%ld",
+__LINE__, 0x00000003, "3", "%-X",
+__LINE__, -0x0000368, " -872", "%7.d",
+__LINE__, 0x00000d3c, "3388", "%0.2d",
+__LINE__, -0x33734cc, "-53949644", "%2ld",
+__LINE__, 0x000003db, "3DB", "%X",
+__LINE__, -0x00f154d, "-988493", "%5d",
+__LINE__, 0x0000000b, " 11", "%4.ld",
+__LINE__, 0x00000067, "103", "%-ld",
+__LINE__, -0x0199fce, "-1679310", "%4d",
+__LINE__, 0x02b6266b, "2b6266b", "% x",
+__LINE__, -0x006b39d, "-439197", "%+d",
+__LINE__, 0x00000007, "7", "%ld",
+__LINE__, 0x0141fc98, "21101720", "%0ld",
+__LINE__, -0x0008420, "-33824", "%d",
+__LINE__, 0x0011622b, "1139243", "%6ld",
+__LINE__, 0x0000001b, "27", "%-d",
+__LINE__, -0x0030935, "-198965", "%3d",
+__LINE__, 0x0000001f, " 1f", "%4.x",
+__LINE__, -0x10782a19, "-276310553", "%#ld",
+__LINE__, -0x007eac4, "-518852", "%06.ld",
+__LINE__, 0x0bc4c681, "197445249", "%6ld",
+__LINE__, 0x000000f5, "245", "%.3ld",
+__LINE__, 0x00000197, "197", "%X",
+__LINE__, 0xfffffeab, "FFFFFEAB", "% X",
+__LINE__, 0x00000f05, "F05", "%+X",
+__LINE__, 0xffe1b785, "0xffe1b785", "%#x",
+__LINE__, -0x02d3581, "-2962817", "%05d",
+__LINE__, 0xffffb994, "FFFFB994", "%X",
+__LINE__, 0x03d139a3, "64043427", "%ld",
+__LINE__, -0x0000002, " -2", "%+4.d",
+__LINE__, -0x043da83, "-4446851", "%#ld",
+__LINE__, -0x6aad891, "-111859857", "%7.ld",
+__LINE__, 0x00003e68, "15976", "%-4.5ld",
+__LINE__, 0xffe4d3ee, "FFE4D3EE", "%X",
+__LINE__, 0x00000002, "000002", "%4.6ld",
+__LINE__, 0xffffee32, "ffffee32", "%4x",
+__LINE__, 0x0cb7dd25, "cb7dd25", "%3x",
+__LINE__, 0xf773d422, "F773D422", "%X",
+__LINE__, -0x0b590f7, "-11899127", "%#d",
+__LINE__, -0x0002c45, "-11333", "%-#5ld",
+__LINE__, -0x1efc9e4, "-32492004", "%ld",
+__LINE__, -0x0003b9c, "-15260", "%d",
+__LINE__, 0x000001b6, "0X1B6", "%#4X",
+__LINE__, 0x3ce93ec3, "1021918915", "%.6d",
+__LINE__, 0xffffffff, "ffffffff", "%-x",
+__LINE__, 0xfffaf0e4, "fffaf0e4", "%2.x",
+__LINE__, 0x00000002, "0x2", "%#x",
+__LINE__, 0x0000e806, "e806", "%4x",
+__LINE__, 0xfffffff0, "fffffff0", "% 2.x",
+__LINE__, 0xfffffc0e, "fffffc0e", "%+.4x",
+__LINE__, 0xfd45716e, "FD45716E", "%.4X",
+__LINE__, 0xfff96fda, "FFF96FDA", "%-X",
+__LINE__, 0xff99d08a, "FF99D08A", "%.5X",
+__LINE__, 0x00000002, "2", "%-00.d",
+__LINE__, -0x000000f, " -15", "%6.ld",
+__LINE__, -0x00d321c, "-864796", "%#1ld",
+__LINE__, 0xff19ff8d, "ff19ff8d", "%1.5x",
+__LINE__, 0x00000000, "0000000", "%-.7x",
+__LINE__, 0x0000f50d, " F50D", "%5X",
+__LINE__, 0x00001688, " 5768", "%7.ld",
+__LINE__, 0x00000157, "343", "%2ld",
+__LINE__, 0xfffffffd, "0xfffffffd", "%+#3x",
+__LINE__, 0x00000d52, "3410", "%ld",
+__LINE__, 0x00000003, "3", "%d",
+__LINE__, 0x0001c6d2, "01c6d2", "%.6x",
+__LINE__, 0x242d65d2, "606954962", "%#7.ld",
+__LINE__, 0x00000e9f, "0000E9F", "%5.7X",
+__LINE__, 0x0002d785, "2D785", "%0X",
+__LINE__, 0x00000167, "167", "%0X",
+__LINE__, 0xfffff5e5, "fffff5e5", "% x",
+__LINE__, 0xffb69a04, "0xffb69a04", "%#0.x",
+__LINE__, 0xfffa012e, "FFFA012E", "%X",
+__LINE__, 0x0000001a, "0x1a", "% #x",
+__LINE__, 0xfffb26d3, "fffb26d3", "%+x",
+__LINE__, -0x00003e6, " -998", "%7ld",
+__LINE__, 0x00000004, "4", "%-d",
+__LINE__, 0xfffffd76, "0XFFFFFD76", "%#7X",
+__LINE__, 0x00000035, "53", "%ld",
+__LINE__, 0xffc6c190, "0XFFC6C190", "%#X",
+__LINE__, 0xffffffe2, "ffffffe2", "%7.0x",
+__LINE__, 0x03ff1b87, "67050375", "%2.d",
+__LINE__, 0x00020c47, "0X20C47", "%#X",
+__LINE__, 0x00000000, "0", "%d",
+__LINE__, 0x0000000e, "0X000E", "% #.4X",
+__LINE__, -0x00035cd, "-13773", "%+2.d",
+__LINE__, 0x00005eec, "5eec", "%1x",
+__LINE__, 0x001da0ff, "1941759", "%0d",
+__LINE__, 0xf8a9e96a, "f8a9e96a", "%+x",
+__LINE__, -0x0000120, "-288 ", "%-#6.d",
+__LINE__, 0x00000000, "0", "%-X",
+__LINE__, 0x0000152e, "152E", "%+X",
+__LINE__, -0x0001077, "-4215", "% 0d",
+__LINE__, 0xffffffd7, "FFFFFFD7", "%0X",
+__LINE__, 0xfffe097d, "FFFE097D", "%2X",
+__LINE__, 0xcb982712, "cb982712", "%x",
+__LINE__, 0xfff39f2e, "FFF39F2E", "%.5X",
+__LINE__, -0x0058cae, "-363694", "%+.1d",
+__LINE__, -0x000002b, "-043", "%#1.3d",
+__LINE__, -0x001e989, "-125321", "%1d",
+__LINE__, 0x00959ecd, "9805517", "%d",
+__LINE__, 0xf49df846, "F49DF846", "%+3X",
+__LINE__, 0xfffffffd, "fffffffd", "%+.5x",
+__LINE__, -0x000ac76, "-44150", "%3.ld",
+__LINE__, 0x00000028, " 0028", "%06.4x",
+__LINE__, 0x000003e8, "3E8", "%-02X",
+__LINE__, 0x00000012, "012", "%.3X",
+__LINE__, 0x00000006, "0X6", "%#X",
+__LINE__, 0x00ef8479, "+15697017", "%+0.6d",
+__LINE__, 0xffffffe8, "FFFFFFE8", "%-X",
+__LINE__, 0x773a90f7, "773a90f7", "%3.5x",
+__LINE__, 0x00096d44, "96D44", "%-X",
+__LINE__, -0x08a3d96, "-9059734", "%ld",
+__LINE__, -0x000001a, "-26", "%00.ld",
+__LINE__, 0x32f57585, "32f57585", "% x",
+__LINE__, 0x2825f175, "2825F175", "%X",
+__LINE__, 0x000054ff, "21759", "%-2d",
+__LINE__, -0x0266cdc, "-2518236", "%ld",
+__LINE__, 0x0000031d, "0X31D", "%+#4X",
+__LINE__, 0x0003fc99, "3fc99", "%x",
+__LINE__, -0x0064624, "-411172", "%-#d",
+__LINE__, 0x0001b2d9, "111321", "%-ld",
+__LINE__, -0x000007c, "-124", "%#d",
+__LINE__, 0xfffffffa, "FFFFFFFA", "%+X",
+__LINE__, -0x007a5b8, "-501176", "%+ld",
+__LINE__, 0x0213b583, "213B583", "%2.X",
+__LINE__, 0xfff12e51, "FFF12E51", "%+X",
+__LINE__, 0x00052403, "0336899", "%-0.7d",
+__LINE__, 0xffffffff, "ffffffff", "%-04.4x",
+__LINE__, 0x00000010, "0010", "%0.4X",
+__LINE__, 0xffffffb5, "FFFFFFB5", "%-1.3X",
+__LINE__, -0x0000001, "-1", "%d",
+__LINE__, 0x0003a2d1, "3a2d1", "% x",
+__LINE__, 0x00000424, "1060", "%0ld",
+__LINE__, -0x0000078, "-120", "%1d",
+__LINE__, 0x00000000, "0", "%ld",
+__LINE__, 0x00000414, "1044", "%ld",
+__LINE__, 0x00000072, "0x072", "%#5.3x",
+__LINE__, 0x0000007a, "7A", "% X",
+__LINE__, 0x081542a3, "135611043", "%0d",
+__LINE__, 0xfffb4ce6, "fffb4ce6", "%4.6x",
+__LINE__, 0x00002ab2, "2ab2", "%-1x",
+__LINE__, 0x00000000, " 0", "% 2x",
+__LINE__, 0xfffffa59, "FFFFFA59", "%2.X",
+__LINE__, 0xffffe22b, "ffffe22b", "%-x",
+__LINE__, 0xfffffd52, "FFFFFD52", "%+.2X",
+__LINE__, 0x0000039f, "927", "%-d",
+__LINE__, 0x0002dea6, "2dea6", "%0x",
+__LINE__, 0x000216db, "136923", "%ld",
+__LINE__, 0x00000013, "19", "%0d",
+__LINE__, 0x000047cc, "18380", "%2.2ld",
+__LINE__, -0x0007d10, "-32016", "%d",
+__LINE__, 0xff9af906, "FF9AF906", "%0X",
+__LINE__, 0x02cfa224, "+47161892", "%+0.7d",
+__LINE__, -0x0000022, "-34", "%1.d",
+__LINE__, 0xfffffff0, "FFFFFFF0", "%-4X",
+__LINE__, 0x00000029, " 41", "%6.ld",
+__LINE__, 0xffffff76, "ffffff76", "%x",
+__LINE__, 0x00000000, "0", "%+X",
+__LINE__, 0x00000001, "1", "%d",
+__LINE__, 0xfff6de5a, "FFF6DE5A", "%X",
+__LINE__, 0x00000002, "2", "%ld",
+__LINE__, 0x00000025, "25", "%+x",
+__LINE__, 0xfffffffb, "FFFFFFFB", "%5.0X",
+__LINE__, 0x0011bbb5, "1162165", "%0.0ld",
+__LINE__, 0xfffcdc96, "0XFFFCDC96", "%#X",
+__LINE__, 0x00008f5f, "8f5f", "%3.1x",
+__LINE__, 0xffa0fa5d, "0XFFA0FA5D", "%#X",
+__LINE__, 0x00004534, "4534", "% 0X",
+__LINE__, 0xfffffff9, "fffffff9", "%.2x",
+__LINE__, 0xffeeae50, "ffeeae50", "%-x",
+__LINE__, 0x00002964, " 0010596", "% 0.7d",
+__LINE__, 0x000021c9, " 21c9", "%6x",
+__LINE__, 0x00000001, " 1", "% d",
+__LINE__, 0x0002abd8, "+175064", "%+d",
+__LINE__, 0xffffffad, "FFFFFFAD", "%+0X",
+__LINE__, 0x00000003, "3", "%ld",
+__LINE__, 0x0c036da3, " 201551267", "% .3d",
+__LINE__, -0x004343c, "-275516", "%+ld",
+__LINE__, 0x00000003, "003", "% .3x",
+__LINE__, 0xffffe34e, "ffffe34e", "%x",
+__LINE__, 0x0000e118, "e118", "%x",
+__LINE__, -0x007d945, "-514373", "%+#0ld",
+__LINE__, 0x277f1cc5, "277f1cc5", "% x",
+__LINE__, 0x00003bef, "03bef", "% 0.5x",
+__LINE__, 0xfffffcb9, "fffffcb9", "%x",
+__LINE__, 0x0003311a, "209178", "%ld",
+__LINE__, 0x00000000, " ", "%3.ld",
+__LINE__, 0x05942225, "5942225", "%x",
+__LINE__, 0xfffceb4c, "FFFCEB4C", "%-X",
+__LINE__, 0xffd08633, "ffd08633", "%2.x",
+__LINE__, -0x0000001, " -1", "%6d",
+__LINE__, 0x000fdb12, "1039122", "%d",
+__LINE__, 0x00000003, "3", "% 0X",
+__LINE__, -0x2fd5bf1, "-50158577", "% 5.ld",
+__LINE__, -0x0089a03, "-563715", "%-d",
+__LINE__, 0xfffffffe, "FFFFFFFE", "% X",
+__LINE__, 0x29fdb2ba, "29fdb2ba", "% 0x",
+__LINE__, 0x0000008f, "8F", "% X",
+__LINE__, 0x00000003, "3", "%ld",
+__LINE__, 0xffc58445, "FFC58445", "%.2X",
+__LINE__, -0x00023f6, "-9206", "%+d",
+__LINE__, 0x00000011, "11", "%X",
+__LINE__, -0x0000003, "-0000003", "%-.7d",
+__LINE__, -0x0000003, "-3", "%#ld",
+__LINE__, 0x001242d9, "1242D9", "%X",
+__LINE__, -0x48d0c81, "-76352641", "%7.d",
+__LINE__, -0x001b675, "-112245", "%#ld",
+__LINE__, 0x00000003, "3", "%-d",
+__LINE__, 0xfff93fdf, "0XFFF93FDF", "% #X",
+__LINE__, 0x001a9414, "1741844", "%#ld",
+__LINE__, 0x0001fd86, "130438", "%ld",
+__LINE__, 0x010f37a8, "17774504", "%4.7d",
+__LINE__, 0x00382838, "0382838", "%3.7X",
+__LINE__, -0x47fd56c2, "-1207785154", "%ld",
+__LINE__, 0x001981dd, "1981dd", "%x",
+__LINE__, 0xffffefba, "ffffefba", "% 06.x",
+__LINE__, -0x3f402b29, "-1061169961", "%+#ld",
+__LINE__, -0x395aae44, "-962244164", "%-1d",
+__LINE__, 0x1fa39f42, "530816834", "%#d",
+__LINE__, -0x000358d, "-13709", "%d",
+__LINE__, -0xdc17b8f, "-230783887", "%ld",
+__LINE__, -0x23c41583, "-600053123", "%+3.d",
+__LINE__, 0xfffffc16, "fffffc16", "%x",
+__LINE__, 0x003f1364, "4133732", "%7.ld",
+__LINE__, 0xffffe691, "FFFFE691", "%07X",
+__LINE__, 0x07b31d71, "129178993", "%.7d",
+__LINE__, -0x0019732, "-104242", "% ld",
+__LINE__, 0x02428167, "0x2428167", "%#x",
+__LINE__, -0x06c1ecd, "-7085773", "%.7ld",
+__LINE__, 0xfb01cb4e, "fb01cb4e", "%x",
+__LINE__, 0x00005a41, "+23105", "%+ld",
+__LINE__, 0xfffffff4, "FFFFFFF4", "%-5.X",
+__LINE__, 0x00000005, " 5", "%4.ld",
+__LINE__, 0xf4ab4b2d, "F4AB4B2D", "%0.X",
+__LINE__, -0x000fce3, "-64739", "%+#3.ld",
+__LINE__, 0x000076ea, " 30442", "%6.2ld",
+__LINE__, 0x00000cb9, " cb9", "%4.x",
+__LINE__, 0x002f43ef, "3097583", "%1.1ld",
+__LINE__, 0xf5bd0105, "F5BD0105", "%+X",
+__LINE__, 0x0037954a, "3642698", "%d",
+__LINE__, 0xfffffff7, "0XFFFFFFF7", "%-#X",
+__LINE__, 0xffffcedf, "0xffffcedf", "%#6.7x",
+__LINE__, 0xfffffde4, "FFFFFDE4", "%2.4X",
+__LINE__, 0x01a6f103, "1a6f103", "%5.x",
+__LINE__, 0x00000191, " 191", "%7.0X",
+__LINE__, 0x00000003, "03", "% .2X",
+__LINE__, -0xd4e3219, "-223228441", "%6.ld",
+__LINE__, 0x00b0efbd, "11595709", "%d",
+__LINE__, -0x00000ea, "-234", "%#3d",
+__LINE__, 0x00000be8, "BE8 ", "%-5X",
+__LINE__, 0xffffffff, "ffffffff", "%5.3x",
+__LINE__, -0x267f8c6, "-40368326", "%d",
+__LINE__, 0x000006ed, "6ED", "%X",
+__LINE__, 0xfdd6c9b6, "FDD6C9B6", "%X",
+__LINE__, 0x0007ac29, "7ac29", "%-x",
+__LINE__, 0x00000014, "14", "%2x",
+__LINE__, 0x123ca563, "+305964387", "%+ld",
+__LINE__, 0x00000004, " 4", "%5.d",
+__LINE__, 0xffff877a, "ffff877a", "%x",
+__LINE__, -0x00003e7, "-999", "%+0.3d",
+__LINE__, 0x0a68ba6e, "a68ba6e", "%3.1x",
+__LINE__, 0xfe29c810, "FE29C810", "%+X",
+#endif
+
+__LINE__, 0x00000000, "0", "%o",
+__LINE__, 0000000123, "123", "%o",
+__LINE__, 0000123456, "0123456", "%#o",
+__LINE__, 0000123456, "00123456", "%#.8o",
+__LINE__, 0000123456, " 00123456", "%#10.8o",
+__LINE__, 0x00000123, "0x00123", "%#07x",
+
+0,
+};
diff --git a/newlib/libm/test/sprint_vec.c b/newlib/libm/test/sprint_vec.c
new file mode 100644
index 00000000000..5ac72518ece
--- /dev/null
+++ b/newlib/libm/test/sprint_vec.c
@@ -0,0 +1,3985 @@
+#include "test.h"
+
+sprint_double_type sprint_doubles[] =
+{
+__LINE__, -1.002121970718271e+29, "-1.0E+29", "%.1E",
+__LINE__, -1.002126048612756e-02, "-1.002126E-02", "%+#E",
+__LINE__, -1.002653755271637e+00, "-1.00265", "%G",
+__LINE__, -1.003238744365917e-23, "-0.00", "%4.2f",
+__LINE__, -1.005084840877781e-29, " -0", "%4.f",
+__LINE__, -1.005362549674427e+01, "-10.0536", "%#g",
+__LINE__, -1.005915042991691e-17, "-1.00592E-17", "%G",
+__LINE__, -1.007829874228503e-18, "-1.00783e-18", "%.7g",
+__LINE__, -1.007829874228503e-18, "-1.007830e-18", "%#.7g",
+__LINE__, -1.009390937771849e+15, "-1009390937771848.628657", "%+f",
+__LINE__, -1.010679382726182e-29, "-0.0000000", "%.7f",
+__LINE__, -1.010691853346650e+13, "-10106918533466.497934", "%+f",
+__LINE__, -1.013412912122286e-22, "-1.01E-22", "%.2E",
+__LINE__, -1.019269582113858e-25, " -0", "%4.0f",
+__LINE__, -1.019886033368556e+24, "-1.019886E+24", "%+.7G",
+__LINE__, -1.021037413548719e+02, "-102.103741", "%f",
+__LINE__, -1.023833576089065e+26, "-1.023834E+26", "%+E",
+__LINE__, -1.024736652408627e+10, "-10247366524.086265", "%+f",
+__LINE__, -1.025439198495476e+09, "-1.02544e+09", "%+g",
+__LINE__, -1.027080247585776e-04, "-0.0001027", "%6.7f",
+__LINE__, -1.028096307262016e+18, "-1.0281E+18", "%3G",
+__LINE__, -1.029604290697901e-02, "-0.010296", "%g",
+__LINE__, -1.034347730570491e+16, "-10343477305704908.975059", "%+f",
+__LINE__, -1.034663325049286e+22, "-1.0E+22", "%#.1E",
+__LINE__, -1.034843152721857e-14, " -0", "%6.f",
+__LINE__, -1.036082122299529e-29, "-1.04e-29", "%4.3g",
+__LINE__, -1.037213662365954e-09, "-1e-09", "%3.e",
+__LINE__, -1.038563976775690e-12, "-0.000000", "%f",
+__LINE__, -1.040910158681323e-02, "-0.0104091", "%+G",
+__LINE__, -1.044680094714482e-20, "-1.04468E-20", "%G",
+__LINE__, -1.044990054091126e+24, "-1.044990E+24", "%+E",
+__LINE__, -1.045693871096982e+11, "-1.045694e+11", "%+e",
+__LINE__, -1.045714133591312e-04, "-0.000104571", "%+#3g",
+__LINE__, -1.046215079103016e-15, "-1.04622e-15", "%g",
+__LINE__, -1.046285293993789e-18, "-1.04629E-18", "%+4G",
+__LINE__, -1.046306092899333e-06, "-0.00", "%0.2f",
+__LINE__, -1.047308973649206e-22, "-1.05E-22", "%+1.3G",
+__LINE__, -1.047369032507755e+01, "-1.047369E+01", "%E",
+__LINE__, -1.048986365562919e-21, "-1.05E-21", "%+.2E",
+__LINE__, -1.049530193156793e-17, "-1.04953E-17", "%+G",
+__LINE__, -1.050073419263768e+25, "-1.05007e+25", "%g",
+__LINE__, -1.051739652002504e-28, "-0.000000", "%+f",
+__LINE__, -1.054493420082636e+21, "-1.0545e+21", "%#5.4e",
+__LINE__, -1.055867291029098e+18, "-1.05587e+18", "%g",
+__LINE__, -1.056514389757866e-16, "-1.05651E-16", "%5.6G",
+__LINE__, -1.057180924868704e+15, "-1057180924868704", "%4.f",
+__LINE__, -1.058455468395683e-23, "-1.05846e-23", "%g",
+__LINE__, -1.062560982393212e+08, "-1.06256e+08", "%g",
+__LINE__, -1.063365829241138e-10, "-1.063366e-10", "%+e",
+__LINE__, -1.063568908667280e-19, "-1.06357E-19", "%+G",
+__LINE__, -1.063734263253492e-13, "-0.000000", "%0f",
+__LINE__, -1.064472689765495e-13, "-1E-13", "%4.0G",
+__LINE__, -1.067192610000129e-25, "-1.06719E-25", "%G",
+__LINE__, -1.068401334996592e-12, "-0.0000000", "%+.7f",
+__LINE__, -1.069012628653724e-13, "-1.069013E-13", "%+.7G",
+__LINE__, -1.069451976810790e+16, "-10694519768107904.056365", "%f",
+__LINE__, -1.069568935323556e+17, "-1.06957e+17", "%g",
+__LINE__, -1.071351044854107e-29, "-1.07135e-29", "%g",
+__LINE__, -1.072274197526185e-21, "-1E-21", "%1.G",
+__LINE__, -1.073875921752995e+23, "-1E+23", "%5.E",
+__LINE__, -1.074835151152265e-12, "-1.0748e-12", "%1.5g",
+__LINE__, -1.075171047088241e-19, "-1.07517E-19", "%#G",
+__LINE__, -1.076258826412760e+22, "-1.076259e+22", "%+e",
+__LINE__, -1.076365103160401e+06, "-1.07637E+06", "%+4.6G",
+__LINE__, -1.076817750454633e+08, "-1e+08", "%4.g",
+__LINE__, -1.078615405755685e-30, "-1e-30", "%4.g",
+__LINE__, -1.078629622917468e-25, "-1.078630e-25", "%e",
+__LINE__, -1.079352432833170e+11, "-107935243283", "%+2.f",
+__LINE__, -1.081431147440215e+16, "-10814311474402147.439378", "%+f",
+__LINE__, -1.083042116905339e-16, "-1.083e-16", "%.5g",
+__LINE__, -1.085351710708553e-10, "-1.085e-10", "%1.4g",
+__LINE__, -1.085796045618276e+07, "-1.085796e+07", "%e",
+__LINE__, -1.087398259981007e+22, "-1.0874e+22", "%g",
+__LINE__, -1.087986044402224e-11, "-1.087986e-11", "%e",
+__LINE__, -1.090451848762709e-02, "-1.090452e-02", "%e",
+__LINE__, -1.091463236899737e+11, "-1.091463E+11", "%#E",
+__LINE__, -1.091617921737384e-29, "-1.09162e-29", "%3g",
+__LINE__, -1.092049328579047e-17, "-1.092049E-17", "%E",
+__LINE__, -1.093647615472090e+06, "-1093647.61547", "%6.5f",
+__LINE__, -1.094133175602384e-08, "-1.1E-08", "%0.1E",
+__LINE__, -1.095397916728214e-23, "-1e-23", "%6.e",
+__LINE__, -1.098958790437321e+02, "-109.895879", "%+#f",
+__LINE__, -1.100194638181594e-20, "-1.100195e-20", "%e",
+__LINE__, -1.102174253534260e+05, "-1.1e+05", "%2.3g",
+__LINE__, -1.102890180316350e-12, "-1.10289e-12", "%+g",
+__LINE__, -1.105582337418378e+00, "-1.11", "%3.3g",
+__LINE__, -1.110515122647056e+04, "-1.E+04", "%#0.G",
+__LINE__, -1.111365895262625e-18, "-1e-18", "%0.g",
+__LINE__, -1.112010622677495e+04, "-11120.1", "%g",
+__LINE__, -1.112580043156699e-23, "-1.11258e-23", "%1g",
+__LINE__, -1.112829057091303e+08, "-1.11283e+08", "%+2g",
+__LINE__, -1.115019046200472e+18, "-1.1150190e+18", "%+#.7e",
+__LINE__, -1.118078332268016e-13, "-1.12E-13", "%1.3G",
+__LINE__, -1.119113571963886e+08, "-1.119114e+08", "%e",
+__LINE__, -1.120102397563448e-15, "-1.12e-15", "%.4g",
+__LINE__, -1.120707480791434e-19, "-1.12071e-19", "%g",
+__LINE__, -1.124243676139007e-07, "-0.000000", "%f",
+__LINE__, -1.125025214608798e+15, "-1.12503E+15", "%0G",
+__LINE__, -1.126074395136447e+06, "-1E+06", "%+.0G",
+__LINE__, -1.127203019940870e-06, "-0.000001", "%+#7f",
+__LINE__, -1.130577648480677e+01, "-1.130578e+01", "%e",
+__LINE__, -1.131469694425240e-11, "-1.13147e-11", "%#0.6g",
+__LINE__, -1.132225023239752e+02, "-113.223", "%G",
+__LINE__, -1.133702113050128e+20, "-1E+20", "%+3.E",
+__LINE__, -1.135529466224404e-13, "-1.13553e-13", "%#g",
+__LINE__, -1.137587210063004e+21, "-1e+21", "%.1g",
+__LINE__, -1.140765637106361e-21, "-1.1e-21", "%+.1e",
+__LINE__, -1.141182595083699e-18, "-0.000000", "%f",
+__LINE__, -1.141695709120972e+00, "-1.1417", "%3G",
+__LINE__, -1.143199141708028e+18, "-1143199141708027833", "%2.f",
+__LINE__, -1.146712902056139e+21, "-1146712902056139071760.298975", "%f",
+__LINE__, -1.146837903839073e-02, " -0.0", "%+5.1f",
+__LINE__, -1.147363016107446e+10, "-1.14736e+10", "%+7g",
+__LINE__, -1.149575523465052e+20, "-114957552346505220697.28140", "%+.5f",
+__LINE__, -1.152748955392589e+13, "-1.15275E+13", "%G",
+__LINE__, -1.152751106015483e-17, "-1E-17", "%+3.E",
+__LINE__, -1.155539139258226e-18, "-1.2e-18", "%+.2g",
+__LINE__, -1.157089280563492e+20, "-1.15709e+20", "%g",
+__LINE__, -1.161217745859779e+19, "-1.161218E+19", "%E",
+__LINE__, -1.162293536734798e+10, "-11622935367.347980", "%f",
+__LINE__, -1.162629909468603e+20, "-1.16E+20", "%.3G",
+__LINE__, -1.164979155838631e+24, "-1.16498E+24", "%G",
+__LINE__, -1.165103052644816e-20, " -1e-20", "%+7.g",
+__LINE__, -1.166448459023264e-08, "-0.000000", "%f",
+__LINE__, -1.167694506705309e+28, "-1e+28", "%.1g",
+__LINE__, -1.169901754818745e-28, "-0.000000", "%+f",
+__LINE__, -1.170330336216446e+08, " -1e+08", "%7.g",
+__LINE__, -1.170946623214213e-17, "-1.17095E-17", "%G",
+__LINE__, -1.174581596799302e+27, "-1.174582e+27", "%+e",
+__LINE__, -1.174763473995155e-28, "-1E-28", "%.1G",
+__LINE__, -1.175885640508038e-23, "-1E-23", "%+.0E",
+__LINE__, -1.177268411775439e-05, "-0.000012", "%#2.6f",
+__LINE__, -1.177739669428001e-30, "-1.17774E-30", "%G",
+__LINE__, -1.178059639880544e-02, "-0.0117806", "%+.7G",
+__LINE__, -1.178793300854446e-13, "-1.2E-13", "%+#0.2G",
+__LINE__, -1.179629345138058e-04, "-0.000118", "%0.3g",
+__LINE__, -1.180730292213358e-25, "-1.18073e-25", "%g",
+__LINE__, -1.180766261654697e+02, "-118.077", "%3g",
+__LINE__, -1.181880261069391e-29, "-1.181880e-29", "%+#e",
+__LINE__, -1.183752810063514e-09, "-1.18375e-09", "%#g",
+__LINE__, -1.184191742443406e-21, "-1.184192e-21", "%e",
+__LINE__, -1.184859760488406e-26, "-1.18486E-26", "%G",
+__LINE__, -1.187276828720072e-29, "-1.18728E-29", "%G",
+__LINE__, -1.187992907205195e-04, "-1.187993E-04", "%E",
+__LINE__, -1.190586192763405e-28, "-1.E-28", "%#1.E",
+__LINE__, -1.192104053032086e+02, "-119.21", "%G",
+__LINE__, -1.192917884333569e+26, "-1.192918E+26", "%E",
+__LINE__, -1.195900753509801e+22, "-1.1959e+22", "%g",
+__LINE__, -1.196559413116537e-28, "-0.000000", "%6.6f",
+__LINE__, -1.197534588732952e+12, "-1.19753e+12", "%#g",
+__LINE__, -1.200279514790649e-25, "-0.0000", "%0.4f",
+__LINE__, -1.203806667944635e+10, "-1.2038067E+10", "%5.7E",
+__LINE__, -1.204344885974736e+07, "-1.204E+07", "%#2.4G",
+__LINE__, -1.205668007693083e+00, "-1.20567", "%g",
+__LINE__, -1.205898515218947e-11, "-1.2059e-11", "%+g",
+__LINE__, -1.206787414909373e-05, "-1.2e-05", "%2.2g",
+__LINE__, -1.207905830366447e+15, "-1.207906e+15", "%6.7g",
+__LINE__, -1.208067010597729e-17, "-1.208067e-17", "%5e",
+__LINE__, -1.210189135822574e+01, "-12", "%+2.0f",
+__LINE__, -1.211560695948122e+10, "-1.21156e+10", "%+g",
+__LINE__, -1.214003025273234e-18, "-1.214e-18", "%+g",
+__LINE__, -1.214096815259005e+17, "-121409681525900459.142520", "%f",
+__LINE__, -1.214699041716797e-14, "-1.2147E-14", "%G",
+__LINE__, -1.215061611919443e+14, "-121506161191944.306310", "%+#f",
+__LINE__, -1.217491221065185e+27, "-1.21749e+27", "%g",
+__LINE__, -1.218538401534388e-11, "-1.218538e-11", "%#e",
+__LINE__, -1.218810085883466e+16, "-1e+16", "%+.1g",
+__LINE__, -1.219422688169801e+08, "-1.219423e+08", "%e",
+__LINE__, -1.220473194407651e-14, "-1.2205E-14", "%1.5G",
+__LINE__, -1.220824440193375e-02, "-0.012208", "%4f",
+__LINE__, -1.221520240637007e+13, "-1.221520E+13", "%1E",
+__LINE__, -1.221894719843486e+29, "-1.22189E+29", "%G",
+__LINE__, -1.223020108610281e+25, "-1.22302E+25", "%G",
+__LINE__, -1.223203206227728e-02, "-0.012232", "%G",
+__LINE__, -1.225661737076919e-15, "-1.22566E-15", "%G",
+__LINE__, -1.228147221003795e-08, "-1.22815E-08", "%G",
+__LINE__, -1.228298534591771e+20, "-1.22830E+20", "%#G",
+__LINE__, -1.228469080229780e-02, "-0.012285", "%0f",
+__LINE__, -1.229161950699222e-09, "-1e-09", "%0.e",
+__LINE__, -1.231294820136559e-17, "-1.231295E-17", "%1.7G",
+__LINE__, -1.232588663406698e-21, "-1E-21", "%+0.G",
+__LINE__, -1.233381256982191e-26, "-0.000000", "%f",
+__LINE__, -1.233435864835578e+14, "-1.23344e+14", "%#g",
+__LINE__, -1.237409567806099e-25, "-1.23741E-25", "%#G",
+__LINE__, -1.238244697758558e-02, "-1.238245e-02", "%7e",
+__LINE__, -1.239393163123284e+26, "-1.23939e+26", "%+g",
+__LINE__, -1.240484781756132e-18, "-1E-18", "%4.E",
+__LINE__, -1.241420286838750e+23, "-1E+23", "%2.E",
+__LINE__, -1.243781122052343e-18, "-1.243781e-18", "%+e",
+__LINE__, -1.244421506844779e+07, "-1.244422E+07", "%+6E",
+__LINE__, -1.245754054764741e-21, "-1e-21", "%5.0g",
+__LINE__, -1.245992228426733e-24, "-0.000000", "%f",
+__LINE__, -1.246498277739883e-12, "-0.0000000", "%5.7f",
+__LINE__, -1.247130891343776e-18, "-1.24713E-18", "%G",
+__LINE__, -1.247309461703025e-03, "-0.0012473", "%#5.5G",
+__LINE__, -1.248139162966407e-29, "-1.e-29", "%+#6.g",
+__LINE__, -1.249756153623776e+08, "-1.249756e+08", "%e",
+__LINE__, -1.250899983565585e-10, "-1.2509e-10", "%5g",
+__LINE__, -1.250957368798327e+19, "-1.25096E+19", "%0G",
+__LINE__, -1.252630814464822e-02, "-0.012526", "%+f",
+__LINE__, -1.253076368257011e-28, "-0.000000", "%f",
+__LINE__, -1.254243507039370e+01, "-1.254244e+01", "%e",
+__LINE__, -1.257605614492298e-12, "-1.257606E-12", "%6.7G",
+__LINE__, -1.258041911573120e+06, "-1258041.911573", "%+f",
+__LINE__, -1.261670983426507e-25, "-0.00", "%.2f",
+__LINE__, -1.263216883336562e-14, "-1.26322e-14", "%g",
+__LINE__, -1.266846944498751e-15, "-1e-15", "%0.g",
+__LINE__, -1.266977908502326e+06, "-1266978", "%+1.f",
+__LINE__, -1.267006162870084e-23, "-1.267006e-23", "%e",
+__LINE__, -1.269144609375931e+01, "-1.269145e+01", "%+e",
+__LINE__, -1.269458714257904e+25, "-1.26946E+25", "%G",
+__LINE__, -1.276697325772662e-02, "-0.0128", "%7.3G",
+__LINE__, -1.278855081807602e+15, "-1278855081807601.87891", "%#0.5f",
+__LINE__, -1.278966821639612e+20, "-1.278967E+20", "%3E",
+__LINE__, -1.281942705258106e+03, "-1281.94", "%+G",
+__LINE__, -1.282331291499203e+14, "-128233129149920.266343", "%+f",
+__LINE__, -1.285125739341808e-28, "-1.28513e-28", "%g",
+__LINE__, -1.285700693704978e+11, "-1.285701E+11", "%E",
+__LINE__, -1.286574096459251e+28, "-1.287E+28", "%6.4G",
+__LINE__, -1.287967889247240e+03, "-1287.97", "%G",
+__LINE__, -1.288913808801319e-27, "-1.3e-27", "%7.1e",
+__LINE__, -1.289147517760377e-18, "-1.289148E-18", "%E",
+__LINE__, -1.289355006600107e+23, "-1.28936E+23", "%+G",
+__LINE__, -1.291232014623979e+01, "-1.29123E+01", "%+.5E",
+__LINE__, -1.293658562875966e-18, "-1.29366e-18", "%+g",
+__LINE__, -1.294982911983638e-19, "-1.29498E-19", "%#G",
+__LINE__, -1.296123363481695e-13, "-1.296123E-13", "%E",
+__LINE__, -1.296632862070602e-20, "-1.29663e-20", "%+g",
+__LINE__, -1.297801639022777e+23, "-129780163902277735132884.11777", "%#0.5f",
+__LINE__, -1.297886574534611e+16, "-1.297887e+16", "%+e",
+__LINE__, -1.300588216308401e+11, "-1.30e+11", "%.2e",
+__LINE__, -1.301296100909062e-10, "-1.3013e-10", "%+g",
+__LINE__, -1.303144244306468e-07, "-1.303144E-07", "%E",
+__LINE__, -1.304096315024042e-20, "-1.3041E-20", "%+G",
+__LINE__, -1.304817970675085e+16, "-1.304818E+16", "%+E",
+__LINE__, -1.304870304632683e-15, " -1e-15", "%7.g",
+__LINE__, -1.305213586757638e-18, "-1.30521e-18", "%g",
+__LINE__, -1.306880734910465e-22, "-1.306881E-22", "%E",
+__LINE__, -1.308964092631446e-23, "-1.30896e-23", "%g",
+__LINE__, -1.312070555198201e+26, "-131207055519820126043839537", "%+7.f",
+__LINE__, -1.312511609151056e-30, "-1.312512E-30", "%#E",
+__LINE__, -1.313087359008389e-23, "-0.000000", "%+f",
+__LINE__, -1.316948423042059e-02, "-1.316948E-02", "%+E",
+__LINE__, -1.317080882577385e+29, "-1.317E+29", "%+.4G",
+__LINE__, -1.317514598984346e+24, "-1.317515e+24", "%e",
+__LINE__, -1.317817551125923e-21, "-1.31782E-21", "%+G",
+__LINE__, -1.319603985988120e+29, "-131960398598811989856471882376.354188", "%f",
+__LINE__, -1.328850458671907e+06, "-1e+06", "%.0e",
+__LINE__, -1.328945346449817e-23, "-1.328945e-23", "%+e",
+__LINE__, -1.330146584094221e-08, "-1e-08", "%+5.g",
+__LINE__, -1.332609617892115e+00, "-1.33261", "%2.7G",
+#ifndef __PCCNECV70__
+__LINE__, -1.332751724965715e+22, "-13327517249657150344432.920974", "%f",
+__LINE__, -1.333194379353273e-19, "-0.000000", "%f",
+__LINE__, -1.334304387932777e-06, "-1.334304e-06", "%e",
+__LINE__, -1.334306581172082e-05, "-1.3e-05", "%+1.2g",
+__LINE__, -1.335283510893438e-05, " -1E-05", "%7.G",
+__LINE__, -1.337939692108373e+11, "-1.33794e+11", "%+4g",
+__LINE__, -1.339117288874809e-03, "-0.001", "%1.3f",
+__LINE__, -1.340100588141492e+27, "-1.340101E+27", "%E",
+__LINE__, -1.341953272572953e-19, "-0.000000", "%+f",
+__LINE__, -1.343058354301620e-02, "-1.343058e-02", "%e",
+__LINE__, -1.346662720871543e+22, "-1.34666E+22", "%#G",
+__LINE__, -1.354010578652210e-02, "-0.0135401", "%#g",
+__LINE__, -1.354066549307666e-12, " -0", "%+6.f",
+__LINE__, -1.355284719365947e+21, "-1.35528e+21", "%g",
+__LINE__, -1.356326532145087e+29, "-1E+29", "%4.G",
+__LINE__, -1.357278618897291e+19, "-13572786188972911780.581398", "%f",
+__LINE__, -1.357537331348202e-10, "-0.000", "%+.3f",
+__LINE__, -1.360011287595868e-10, "-0.000000", "%f",
+__LINE__, -1.360506902899232e+16, "-13605069028992320.", "%#5.f",
+__LINE__, -1.361102570277000e+10, "-1.3611E+10", "%G",
+__LINE__, -1.362601255900219e+07, "-1.363E+07", "%.4G",
+__LINE__, -1.366078182354771e+10, "-1.36608E+10", "%0G",
+__LINE__, -1.366667926615127e+08, "-136666792.661513", "%f",
+__LINE__, -1.367162823743231e-12, "-0.000000", "%#f",
+__LINE__, -1.371523037550709e+09, "-1.37152e+09", "%+g",
+__LINE__, -1.374328925986197e-17, "-1.37e-17", "%.2e",
+__LINE__, -1.374995603898421e-26, "-1.375e-26", "%+g",
+__LINE__, -1.376726539375688e+09, "-1.376727E+09", "%+E",
+__LINE__, -1.378351117694958e-13, "-0.000000", "%f",
+__LINE__, -1.378514699313619e-14, "-1.378515e-14", "%e",
+__LINE__, -1.379347588942324e-23, "-1.4e-23", "%+.1e",
+__LINE__, -1.380380583822272e-17, "-0.000000", "%+f",
+__LINE__, -1.381658659947406e+19, "-1.38166e+19", "%g",
+__LINE__, -1.382775316390237e+29, "-138277531639023653298181670834.3104", "%+#7.4f",
+__LINE__, -1.383541138922400e+00, "-1.383541E+00", "%E",
+__LINE__, -1.384625301445090e+01, "-13.8", "%+.3g",
+__LINE__, -1.386844086284027e-13, "-1.38684E-13", "%+G",
+__LINE__, -1.386930516448650e-28, "-1.386931E-28", "%E",
+__LINE__, -1.387444896054260e-07, "-1.38744E-07", "%G",
+__LINE__, -1.389685107980798e+22, "-1.38969E+22", "%G",
+__LINE__, -1.390880300369347e+03, "-1390.880300", "%f",
+__LINE__, -1.391423370198150e-17, "-1E-17", "%+2.G",
+__LINE__, -1.394441767471218e-09, "-1.394442e-09", "%e",
+__LINE__, -1.396275525062527e-20, "-1.39628E-20", "%G",
+__LINE__, -1.397045957455157e+24, "-1E+24", "%.0E",
+__LINE__, -1.397458546930799e+21, "-1397458546930798526375.383517", "%f",
+__LINE__, -1.397584578988941e-14, "-1.39758e-14", "%5g",
+__LINE__, -1.397789397300823e+09, "-1.398e+09", "%.4g",
+__LINE__, -1.398167472294874e+21, "-1.398167E+21", "%+7E",
+__LINE__, -1.398809636136688e-16, "-0.000000", "%+f",
+__LINE__, -1.399545335304119e+26, "-139954533530411872277454676.805064", "%#5f",
+__LINE__, -1.400102603335755e+20, "-140010260333575509150.705329", "%2f",
+__LINE__, -1.401212746235235e+04, "-1.401213e+04", "%e",
+__LINE__, -1.404409427681801e+07, "-1E+07", "%4.E",
+__LINE__, -1.406018114263948e-25, "-1e-25", "%3.e",
+__LINE__, -1.406245608096877e-06, "-1.4e-06", "%+.1e",
+__LINE__, -1.410697254683835e-10, "-1.410697e-10", "%e",
+__LINE__, -1.410739097553846e+25, "-1.410739E+25", "%+E",
+__LINE__, -1.410850631189577e+04, "-14108.5", "%.6g",
+__LINE__, -1.411680434455781e+28, "-14116804344557807304738616949.180141", "%f",
+__LINE__, -1.413309465660099e-27, "-1.413309E-27", "%+#E",
+__LINE__, -1.418468741386300e+09, "-1418468741.386300", "%f",
+__LINE__, -1.420277110892909e+06, "-1.42028e+06", "%1g",
+__LINE__, -1.420417889565590e-17, "-1.42E-17", "%.2E",
+__LINE__, -1.421098212056305e+08, "-1.421098e+08", "%4e",
+__LINE__, -1.421792812798986e-20, " -1E-20", "%7.G",
+__LINE__, -1.423675488122461e+18, "-1423675488122461363.360571", "%f",
+__LINE__, -1.423810545840653e+15, "-1E+15", "%3.E",
+__LINE__, -1.424242673476368e-15, "-1.424243e-15", "%e",
+__LINE__, -1.427847435688733e-01, "-1.427847E-01", "%E",
+__LINE__, -1.433897734612555e-04, "-0.0001", "%3.g",
+__LINE__, -1.434537754075696e-24, "-1.435E-24", "%+0.3E",
+__LINE__, -1.434774864809324e-24, "-1E-24", "%2.E",
+__LINE__, -1.435583851565142e-11, "-1E-11", "%.0E",
+__LINE__, -1.438791024010112e+11, "-1.43879e+11", "%#.6g",
+__LINE__, -1.439267565343777e+27, "-1.4e+27", "%2.1e",
+__LINE__, -1.439440602670449e+02, "-143.944", "%G",
+__LINE__, -1.439494412124925e+13, "-14394944121249.251268", "%f",
+__LINE__, -1.440032823245152e+10, "-14400328232.451516", "%f",
+__LINE__, -1.440174494009562e-08, "-0.000000", "%7f",
+__LINE__, -1.440827804010568e+07, "-1.E+07", "%#6.1G",
+__LINE__, -1.442760907195336e+09, "-1.44276E+09", "%+5G",
+__LINE__, -1.444655304181403e+10, "-14446553041.814035", "%7f",
+__LINE__, -1.444995766787036e+04, "-14450", "%5G",
+__LINE__, -1.445078682874535e-13, "-1E-13", "%3.E",
+__LINE__, -1.446781469662328e+01, "-14.4678", "%G",
+__LINE__, -1.447795251395321e-04, "-0.000145", "%+f",
+__LINE__, -1.448193079247108e-02, "-0.014", "%4.2G",
+__LINE__, -1.449552967961345e+14, "-1E+14", "%1.E",
+__LINE__, -1.451269763513571e+10, "-14512697635.135705", "%6f",
+__LINE__, -1.451843176990292e+12, "-1e+12", "%1.g",
+__LINE__, -1.452631405935931e+06, "-1.452631e+06", "%e",
+__LINE__, -1.452753650285897e+21, "-1452753650285897091265.496783", "%5f",
+__LINE__, -1.453811512433860e-05, "-1e-05", "%+6.g",
+__LINE__, -1.454071430557372e+13, "-1.4541E+13", "%.4E",
+__LINE__, -1.455956079562999e+03, "-1455.96", "%G",
+__LINE__, -1.459712196146602e-17, "-1.45971e-17", "%g",
+__LINE__, -1.461857733495947e-02, "-1.4619E-02", "%.4E",
+__LINE__, -1.465257069090911e-11, "-1.465257E-11", "%+E",
+__LINE__, -1.465306607257042e+05, "-146531", "%g",
+__LINE__, -1.465857076315921e+20, "-1.46586E+20", "%+G",
+__LINE__, -1.467919792051489e+16, "-1.46792e+16", "%2g",
+__LINE__, -1.469271519834567e+20, "-146927151983456720785", "%+.0f",
+__LINE__, -1.472961447442697e-28, "-1.47296e-28", "%#g",
+__LINE__, -1.473385695190456e-12, "-1.473386E-12", "%E",
+__LINE__, -1.485003089033267e-10, "-1.485E-10", "%2G",
+__LINE__, -1.490541379072390e-18, "-1.490541E-18", "%4E",
+__LINE__, -1.490683434793125e+22, "-14906834347931249951102.472551", "%#f",
+__LINE__, -1.498356837215425e+20, "-1.49836E+20", "%#G",
+__LINE__, -1.498677007818122e+14, "-1.49868E+14", "%+4G",
+__LINE__, -1.502143197677119e+23, "-150214319767711934616727.", "%#7.f",
+__LINE__, -1.503563770470753e-24, "-1.50356e-24", "%.6g",
+__LINE__, -1.504643092793197e-18, "-1.504643e-18", "%+4e",
+__LINE__, -1.507017706254022e-13, "-1.50702e-13", "%+g",
+__LINE__, -1.507054033750081e-22, "-0.000000", "%f",
+__LINE__, -1.508662346022339e+16, "-1.508662E+16", "%#E",
+__LINE__, -1.509366882438902e+08, "-2e+08", "%4.g",
+__LINE__, -1.511086567087967e+20, "-1.51109e+20", "%g",
+__LINE__, -1.514959134622707e-18, "-0.000000", "%+f",
+__LINE__, -1.515730120364204e+06, "-2E+06", "%0.G",
+__LINE__, -1.516372763118606e-09, "-1.51637e-09", "%g",
+__LINE__, -1.520610443546204e+27, "-1.52061e+27", "%g",
+__LINE__, -1.522040655642012e+11, "-1.52204E+11", "%+2G",
+__LINE__, -1.523772495014966e-24, "-2E-24", "%2.G",
+__LINE__, -1.523980825983892e-05, "-0.000", "%2.3f",
+__LINE__, -1.526696214603152e-03, "-0.0015267", "%+6.5G",
+__LINE__, -1.528680540769583e+00, "-1.5287", "%0.5G",
+__LINE__, -1.529951830525433e+08, "-1.529952e+08", "%+e",
+__LINE__, -1.533052896559935e+05, "-153305", "%4.0f",
+__LINE__, -1.533829640475152e-03, "-0.00153383", "%+#g",
+__LINE__, -1.535617804643105e-30, "-1.535618e-30", "%e",
+__LINE__, -1.537623698361821e+16, "-15376236983618207.7875719", "%4.7f",
+__LINE__, -1.544994895330616e+24, "-1.54499e+24", "%g",
+__LINE__, -1.545083356728403e+17, "-1.545083e+17", "%e",
+__LINE__, -1.545684535393879e+12, "-1.55E+12", "%3.3G",
+__LINE__, -1.545878334099427e+13, "-15458783340994.268762", "%1f",
+__LINE__, -1.547697185980564e-18, "-1.5477e-18", "%.6g",
+__LINE__, -1.548576527172579e-29, "-1.5E-29", "%2.2G",
+__LINE__, -1.549712227835891e+08, "-1.549712e+08", "%#6.7g",
+__LINE__, -1.550010819435335e-21, "-1.55001E-21", "%G",
+__LINE__, -1.551412476164257e+14, "-1.551412E+14", "%E",
+__LINE__, -1.553156638090030e+01, " -2E+01", "%7.G",
+__LINE__, -1.553733233064355e-01, "-0.2", "%3.g",
+__LINE__, -1.558391111609365e+00, "-1.558391", "%+f",
+__LINE__, -1.562004019284766e+15, "-1.562E+15", "%6.5G",
+__LINE__, -1.562195733239758e-16, "-0.000000", "%f",
+__LINE__, -1.563953339012525e-14, "-1.56395E-14", "%1G",
+__LINE__, -1.568317638534983e+18, "-1.56832E+18", "%1G",
+__LINE__, -1.568546851135348e+04, "-15685.5", "%+#G",
+__LINE__, -1.574297872228857e+18, "-1.574298e+18", "%e",
+__LINE__, -1.575696460196291e-21, "-1.5757E-21", "%G",
+__LINE__, -1.576324848379791e+25, "-1.57632E+25", "%+G",
+__LINE__, -1.577524395140843e+06, "-1.5775E+06", "%.5G",
+__LINE__, -1.585122856675091e+12, "-1585122856675.091452", "%f",
+__LINE__, -1.586734674395556e-02, "-1.586735E-02", "%E",
+__LINE__, -1.592602264315192e+22, "-1.5926E+22", "%G",
+__LINE__, -1.594121556700562e+05, "-2E+05", "%+.0G",
+__LINE__, -1.598538116193430e+22, "-1.59854e+22", "%+g",
+__LINE__, -1.605647463222382e+18, "-1.6056E+18", "%.5G",
+__LINE__, -1.610891449201191e+06, "-1.6109E+06", "%#6.4E",
+__LINE__, -1.614593168166818e-05, "-1.61459E-05", "%G",
+__LINE__, -1.615597722557325e-03, "-0.001616", "%f",
+__LINE__, -1.616038022182124e-29, "-1.61604E-29", "%1G",
+__LINE__, -1.618380771451625e-28, "-2e-28", "%+1.g",
+__LINE__, -1.620287456872150e+10, "-1.620e+10", "%#7.3e",
+__LINE__, -1.620469955611903e-29, "-0.000000", "%f",
+__LINE__, -1.622580720690927e+20, "-1.622581E+20", "%+#E",
+__LINE__, -1.622752500991079e-12, "-1.622753E-12", "%E",
+__LINE__, -1.622771933776459e+08, "-1.6228E+08", "%+4.4E",
+__LINE__, -1.623894567037391e+09, "-1.623895e+09", "%#e",
+__LINE__, -1.624021408185354e-25, "-1.624E-25", "%.5G",
+__LINE__, -1.624405320939366e-06, "-1.62441e-06", "%+#g",
+__LINE__, -1.631236208958857e-25, "-1.631236e-25", "%#e",
+__LINE__, -1.632165969536046e+20, "-1.63217E+20", "%G",
+__LINE__, -1.632859596256475e+06, "-1.63286E+06", "%G",
+__LINE__, -1.634371961703112e+06, "-1.634372E+06", "%+E",
+__LINE__, -1.637230383641845e+24, "-1.63723e+24", "%#g",
+__LINE__, -1.638081480475853e+17, "-1.63808e+17", "%+g",
+__LINE__, -1.638279690467673e+14, "-163827969046767.325523", "%#f",
+__LINE__, -1.640360249548215e-29, "-1.64036e-29", "%+6.6g",
+__LINE__, -1.645691728060833e-30, "-1.64569e-30", "%g",
+__LINE__, -1.648548965852592e-03, " -0", "%5.f",
+__LINE__, -1.650100957771182e+21, "-1650100957771182308420.065965", "%+f",
+__LINE__, -1.650957176011913e-02, "-0.016510", "%#4.5G",
+__LINE__, -1.651165108095301e+29, "-165116510809530137038336761179.380119", "%f",
+__LINE__, -1.657132845094847e-06, "-0.000002", "%f",
+__LINE__, -1.657152146172541e+12, "-1.657152E+12", "%.7G",
+__LINE__, -1.658377345516132e-06, "-0.00", "%.2f",
+__LINE__, -1.658850468902324e+20, "-1.659e+20", "%.4g",
+__LINE__, -1.661723557149830e+18, "-1.66172E+18", "%G",
+__LINE__, -1.663570885140273e+14, "-166357088514027", "%2.f",
+__LINE__, -1.665186944896906e+25, "-1.66519E+25", "%G",
+__LINE__, -1.675910137717036e+22, "-2e+22", "%5.g",
+__LINE__, -1.677447987675587e-15, "-1.67745E-15", "%G",
+__LINE__, -1.677510590697220e+06, "-1677510.590697", "%5f",
+__LINE__, -1.677658141289510e-18, "-2E-18", "%+5.G",
+__LINE__, -1.678316848066192e-03, "-1.678317E-03", "%E",
+__LINE__, -1.681506404024821e+24, "-1.68151E+24", "%G",
+__LINE__, -1.688584243722160e+12, "-1.68858E+12", "%+#G",
+__LINE__, -1.689468295411408e+28, "-1.68947E+28", "%+G",
+__LINE__, -1.690746767470207e-11, "-1.69075E-11", "%G",
+__LINE__, -1.692773960755248e-14, "-2E-14", "%4.E",
+__LINE__, -1.693349092740995e-18, "-1.69335e-18", "%g",
+__LINE__, -1.693642321808920e-26, "-1.69364E-26", "%G",
+__LINE__, -1.694579128700042e-12, "-0.000000", "%f",
+__LINE__, -1.695454897264717e-08, "-1.7E-08", "%+4.3G",
+__LINE__, -1.695733278397589e+19, "-1.695733e+19", "%4e",
+__LINE__, -1.699522534409388e-05, "-1.69952E-05", "%G",
+__LINE__, -1.701752039544919e+00, "-2", "%.0f",
+__LINE__, -1.702304998615036e+16, "-1.7023E+16", "%1G",
+__LINE__, -1.703113580904556e-25, "-1.703114e-25", "%+e",
+__LINE__, -1.705165515454546e+29, "-1.705166e+29", "%+e",
+__LINE__, -1.707392568277288e-05, "-1.70739E-05", "%G",
+__LINE__, -1.707477319256742e+09, "-1707477319.26", "%7.2f",
+__LINE__, -1.709669107513969e-03, " -0.002", "%7.g",
+__LINE__, -1.713284011412432e-24, "-1.713e-24", "%3.3e",
+__LINE__, -1.715512203951086e-28, "-1.715512E-28", "%E",
+__LINE__, -1.716880832248879e+13, "-1.71688e+13", "%+g",
+__LINE__, -1.720722835740680e-15, "-1.7E-15", "%.1E",
+__LINE__, -1.721855769574895e+07, "-17218557.695749", "%3f",
+__LINE__, -1.722449437415368e+01, "-1.722449e+01", "%e",
+__LINE__, -1.723218805116591e-29, "-2e-29", "%.0g",
+__LINE__, -1.726129004920195e-05, "-1.72613E-05", "%0G",
+__LINE__, -1.727400228037571e-28, "-0.0000000", "%2.7f",
+__LINE__, -1.730008745782339e-23, "-1.73e-23", "%.4g",
+__LINE__, -1.731875670201859e+09, "-1.73188E+09", "%G",
+__LINE__, -1.732142976428085e+10, "-2E+10", "%+6.0E",
+__LINE__, -1.732699651229194e-02, "-0.017327", "%5g",
+__LINE__, -1.734772870736446e-12, "-0.000000", "%+f",
+__LINE__, -1.738576887938331e+09, "-1.73858e+09", "%g",
+__LINE__, -1.738759937912438e-08, "-1.73876e-08", "%+2g",
+__LINE__, -1.739320154069143e-18, "-0.0000", "%1.4f",
+__LINE__, -1.739870415800800e+16, "-1.73987e+16", "%g",
+__LINE__, -1.741290506928618e+04, "-17412.9", "%G",
+__LINE__, -1.742520800031913e+29, "-1.742521e+29", "%7e",
+__LINE__, -1.747620095195231e+01, "-2e+01", "%+2.g",
+__LINE__, -1.749860675924882e-21, "-1.74986E-21", "%G",
+__LINE__, -1.752675363661431e-06, "-1.7527E-06", "%.5G",
+__LINE__, -1.752871508059699e-06, " -0", "%7.f",
+__LINE__, -1.755178530989839e+25, "-1.7551785e+25", "%1.7e",
+__LINE__, -1.755566213249512e-07, "-1.755566e-07", "%.6e",
+__LINE__, -1.756193485005071e-24, "-1.75619E-24", "%+2.6G",
+__LINE__, -1.758501410496218e+03, "-1758.501", "%.7G",
+__LINE__, -1.758795617219102e+20, "-1.75880E+20", "%#6G",
+__LINE__, -1.760538679276709e+03, "-2e+03", "%+1.e",
+__LINE__, -1.762660914833003e+27, "-1.76266E+27", "%G",
+__LINE__, -1.765122691141907e+19, "-17651226911419071186.1", "%5.1f",
+__LINE__, -1.765313277389086e-18, "-2E-18", "%+1.E",
+__LINE__, -1.765821717148734e+19, "-1.76582E+19", "%G",
+__LINE__, -1.767048687863149e-17, "-1.77E-17", "%+.3G",
+__LINE__, -1.768661645451962e+18, "-1.77E+18", "%+.3G",
+__LINE__, -1.769753257452233e+01, "-17.6975", "%G",
+__LINE__, -1.770945665065531e+28, "-1.770946E+28", "%0.7G",
+__LINE__, -1.776713865753894e-09, "-2e-09", "%1.g",
+__LINE__, -1.778424845787448e+03, "-1.7784E+03", "%.4E",
+__LINE__, -1.779060610701250e+06, "-1.779061E+06", "%E",
+__LINE__, -1.781447182110762e-27, "-1.781447E-27", "%E",
+__LINE__, -1.782655842123784e-13, "-2.E-13", "%#2.1G",
+__LINE__, -1.783071018169166e+16, "-17830710181691664.217851", "%+f",
+__LINE__, -1.784665985294415e+25, "-2E+25", "%3.G",
+__LINE__, -1.787297600658096e+25, "-2E+25", "%+5.E",
+__LINE__, -1.788200250255718e+12, "-1.7882E+12", "%2.4E",
+__LINE__, -1.792860730579114e-09, "-1.79286E-09", "%G",
+__LINE__, -1.793122797100936e+24, "-1.793123e+24", "%e",
+__LINE__, -1.793761706915029e-25, "-0.000000", "%f",
+__LINE__, -1.793947567431932e+22, "-1.79395e+22", "%g",
+__LINE__, -1.796428035404303e-18, "-1.79643e-18", "%g",
+__LINE__, -1.797113144273918e-16, "-1.79711E-16", "%.6G",
+__LINE__, -1.798796767828424e-29, "-1.7988E-29", "%G",
+__LINE__, -1.805004010633763e-11, "-1.805e-11", "%2.5g",
+__LINE__, -1.806936269752338e-26, "-1.80694e-26", "%g",
+__LINE__, -1.807122541760172e-10, "-1.80712e-10", "%g",
+__LINE__, -1.808295407815630e-06, "-1.8083E-06", "%+G",
+__LINE__, -1.813893236685959e+15, "-1813893236685959", "%0.f",
+__LINE__, -1.816201530145367e+06, "-1816202", "%+2.f",
+__LINE__, -1.822811219123512e+13, "-1.82281e+13", "%g",
+__LINE__, -1.826276499170243e-25, "-2E-25", "%+3.G",
+__LINE__, -1.832399287433839e-26, "-1.832399E-26", "%#4E",
+__LINE__, -1.833597815584463e-18, "-0.000000", "%+3f",
+__LINE__, -1.834165532712233e+28, "-1.834166E+28", "%.7G",
+__LINE__, -1.837633147831083e+28, "-1.8376331e+28", "%.7e",
+__LINE__, -1.839756716742518e-01, "-0.2", "%+0.G",
+__LINE__, -1.840101206950368e-14, "-1.840101E-14", "%+E",
+__LINE__, -1.842043645474877e+17, "-1.84204e+17", "%+g",
+__LINE__, -1.842155892969934e+17, "-1.84216e+17", "%+g",
+__LINE__, -1.843566073012842e-25, "-1.84357E-25", "%G",
+__LINE__, -1.843976321320497e-02, "-0.02", "%+4.2f",
+__LINE__, -1.845299931651554e+11, "-1.8453E+11", "%0.4E",
+__LINE__, -1.846199038659889e-06, "-1.8462e-06", "%0.5g",
+__LINE__, -1.847062180184169e-30, "-1.847062E-30", "%5E",
+__LINE__, -1.847962158722201e-16, "-0.000000", "%f",
+__LINE__, -1.849446376756582e+15, "-1.8E+15", "%2.2G",
+__LINE__, -1.853168465523878e-24, "-2E-24", "%1.E",
+__LINE__, -1.853601367230139e+10, "-1.853601e+10", "%e",
+__LINE__, -1.857367903775364e+18, "-1.86E+18", "%1.3G",
+__LINE__, -1.858332820633906e-05, "-0.000019", "%7f",
+__LINE__, -1.860243811657223e-23, "-1.860244e-23", "%e",
+__LINE__, -1.860660612539794e+08, "-1.86066e+08", "%+6.5e",
+__LINE__, -1.861160816251124e-09, "-2E-09", "%1.G",
+__LINE__, -1.862380636974688e-25, "-1.9E-25", "%.2G",
+__LINE__, -1.864168808453004e+15, "-1.86417E+15", "%G",
+__LINE__, -1.864273144411246e+07, "-1.86427e+07", "%g",
+__LINE__, -1.864929236615802e-02, "-2e-02", "%+3.e",
+__LINE__, -1.865010503480847e+19, "-2E+19", "%4.G",
+__LINE__, -1.866276374553144e+22, "-1.866276e+22", "%e",
+__LINE__, -1.870809567910649e+09, "-1.870810e+09", "%e",
+__LINE__, -1.872555495839008e-13, "-1.872555E-13", "%3E",
+__LINE__, -1.874465717110388e-22, "-1.874466E-22", "%E",
+__LINE__, -1.874916306627632e+21, "-1874916306627632422987.517202", "%f",
+__LINE__, -1.875804322194491e-23, "-0.000000", "%+f",
+__LINE__, -1.876662099198587e-04, "-0.000187666", "%G",
+__LINE__, -1.876775504795760e-25, "-1.87678e-25", "%0g",
+__LINE__, -1.879343051002554e-20, " -0.", "%#6.f",
+__LINE__, -1.881535445774717e-15, "-1.881535e-15", "%e",
+__LINE__, -1.887515901404300e+00, "-1.888", "%2.4G",
+__LINE__, -1.887730637149009e+17, "-1.887731E+17", "%E",
+__LINE__, -1.889920303480086e+17, "-1.889920e+17", "%+e",
+__LINE__, -1.891903478784091e+04, "-1.891903e+04", "%e",
+__LINE__, -1.893550084305833e+16, "-1.89355e+16", "%g",
+__LINE__, -1.894675230197676e+05, "-1.894675e+05", "%#e",
+__LINE__, -1.898389624953187e-27, "-1.898390e-27", "%+e",
+__LINE__, -1.899250044644046e+21, "-1899250044644046120367.875119", "%+4.6f",
+__LINE__, -1.904187609804679e-02, "-1.90419E-02", "%0.5E",
+__LINE__, -1.904452538421193e-04, "-2e-04", "%4.0e",
+__LINE__, -1.904615326969061e-16, "-1.904615e-16", "%1.7g",
+__LINE__, -1.907761255064750e+02, "-190.776126", "%f",
+__LINE__, -1.910727641826707e-10, " -2e-10", "%7.g",
+__LINE__, -1.913149279262051e+15, "-1.913149e+15", "%.7g",
+__LINE__, -1.913235739298009e+28, "-1.913236e+28", "%e",
+__LINE__, -1.913526822735271e+18, "-1.914e+18", "%.4g",
+__LINE__, -1.913780977515583e+17, "-191378097751558335.9150", "%5.4f",
+__LINE__, -1.917095456962182e-10, "-2E-10", "%4.G",
+__LINE__, -1.918803033972851e+23, "-191880303397285132405158.947222", "%f",
+__LINE__, -1.926420984801848e+16, "-19264209848018483.128840", "%+f",
+__LINE__, -1.931905465942639e-10, "-1.93191e-10", "%g",
+__LINE__, -1.932907105840252e+06, "-1.932907e+06", "%+#e",
+__LINE__, -1.933091601918916e+15, "-1.933092E+15", "%#E",
+__LINE__, -1.934296184983361e+09, "-1.9343e+09", "%1.6g",
+__LINE__, -1.934637311832448e+11, "-1.93464e+11", "%+g",
+__LINE__, -1.936201483262186e+12, "-2e+12", "%+6.g",
+__LINE__, -1.939114661603911e+19, "-1.93911E+19", "%G",
+__LINE__, -1.940478182124347e-13, "-0.000000", "%f",
+__LINE__, -1.943218220654923e+08, "-2E+08", "%+5.0G",
+__LINE__, -1.943526872455779e-30, "-1.9E-30", "%.1E",
+__LINE__, -1.949869164681357e+19, "-1.949869e+19", "%#3e",
+__LINE__, -1.954181060535402e+23, "-1.954181e+23", "%e",
+__LINE__, -1.961581555579142e+14, "-1.962E+14", "%.3E",
+__LINE__, -1.964535562036915e+07, "-1.96454E+07", "%G",
+__LINE__, -1.969749653575926e+04, "-19697.5", "%.6g",
+__LINE__, -1.973475369169053e+15, "-1.97348e+15", "%g",
+__LINE__, -1.975658532866600e-21, "-2e-21", "%+1.2g",
+__LINE__, -1.984050343831260e+09, "-1.984050E+09", "%E",
+__LINE__, -1.984422410018571e+12, "-1.984422e+12", "%+4.7g",
+__LINE__, -1.984878687667223e-22, "-0.000000", "%f",
+__LINE__, -1.986116930967811e-28, "-1.98612e-28", "%g",
+__LINE__, -1.986774457812683e+02, "-1.986774e+02", "%e",
+__LINE__, -1.987274814938726e-04, "-0.000198727", "%g",
+__LINE__, -1.987319200580415e+10, "-1.987319E+10", "%E",
+__LINE__, -1.987980768698114e-19, "-0.000000", "%3f",
+__LINE__, -1.994698965044602e-29, "-2E-29", "%+4.0G",
+__LINE__, -1.997833122667050e+26, "-1.99783E+26", "%G",
+__LINE__, -1.999453681184129e-10, "-0.00000", "%.5f",
+__LINE__, -1.999897345839745e-16, "-1.9999e-16", "%g",
+__LINE__, -2.003703825123989e-22, "-0.000000", "%f",
+__LINE__, -2.004569188274957e-23, "-2.00457E-23", "%G",
+__LINE__, -2.005911883189058e+07, "-2.00591E+07", "%G",
+__LINE__, -2.006438312005722e-25, "-2.006e-25", "%0.4g",
+__LINE__, -2.017322171210280e+18, "-2.01732E+18", "%+0G",
+__LINE__, -2.017718635819594e-06, "-2.01772e-06", "%5g",
+__LINE__, -2.019187445568160e-12, "-0.00", "%.2f",
+__LINE__, -2.021022665608503e+25, "-20210226656085028551501636.684", "%2.3f",
+__LINE__, -2.022720393474145e+07, "-2.02272E+07", "%#G",
+__LINE__, -2.024506694471065e+23, "-2.02451E+23", "%G",
+__LINE__, -2.024884686553821e-15, " -2e-15", "%7.g",
+__LINE__, -2.027484636128966e-23, "-2.0275E-23", "%.5G",
+__LINE__, -2.028185530467237e+21, "-2028185530467237374097.067", "%+4.3f",
+__LINE__, -2.028388905566873e-09, "-0.000000", "%f",
+__LINE__, -2.029856507431584e-17, "-2.02986E-17", "%G",
+__LINE__, -2.029891733449167e+27, "-2029891733449166846270372843.7190875", "%3.7f",
+__LINE__, -2.031933616694469e+14, "-2.031934E+14", "%#E",
+__LINE__, -2.034011738471413e-10, "-2.03401E-10", "%#G",
+__LINE__, -2.036087355975756e+29, "-203608735597575574161055556032.806635", "%+f",
+__LINE__, -2.036355025137273e+09, "-2.036355E+09", "%#.7G",
+__LINE__, -2.038423730536878e+12, "-2E+12", "%4.G",
+__LINE__, -2.045209202278810e+23, "-2.045209e+23", "%+#e",
+__LINE__, -2.046794083517423e-06, "-2.04679e-06", "%g",
+__LINE__, -2.048042459678599e-19, "-0.000000", "%f",
+__LINE__, -2.050526462096153e+18, "-2.05053e+18", "%+g",
+__LINE__, -2.053583900249402e+13, "-2.053584e+13", "%0.7g",
+__LINE__, -2.054342100957522e-23, "-2.05434E-23", "%#G",
+__LINE__, -2.054793400141025e+11, "-205479340014.1", "%+2.1f",
+__LINE__, -2.059200689196498e-11, "-0.000000", "%#f",
+__LINE__, -2.060960692728114e-16, "-0.000000", "%+f",
+__LINE__, -2.061417528654300e-30, "-2.06E-30", "%.3G",
+__LINE__, -2.061513401198340e-29, "-2.06151e-29", "%7g",
+__LINE__, -2.061846698845984e+27, "-2.061847E+27", "%E",
+__LINE__, -2.063922242876789e-19, "-2.06392e-19", "%#g",
+__LINE__, -2.065359431805529e+03, "-2065.359432", "%f",
+__LINE__, -2.065529069992156e-04, "-0.000206553", "%+G",
+__LINE__, -2.066082546490980e-25, "-2.06608e-25", "%5g",
+__LINE__, -2.068394312095200e+17, "-2.068394e+17", "%e",
+__LINE__, -2.071024178556425e-10, "-2.07102E-10", "%G",
+__LINE__, -2.074401605950382e-22, "-2.07e-22", "%1.3g",
+__LINE__, -2.074731895144874e-26, "-2.07473E-26", "%G",
+__LINE__, -2.074895800882730e+18, "-2074895800882730068.082083", "%+f",
+__LINE__, -2.077336220500764e-30, "-0", "%2.f",
+__LINE__, -2.078067878561077e+09, "-2.0781e+09", "%0.5g",
+__LINE__, -2.080497889634533e+15, "-2.080498E+15", "%4E",
+__LINE__, -2.084717279367594e-21, "-2.08472e-21", "%+g",
+__LINE__, -2.087827915301948e+29, "-2E+29", "%6.1G",
+__LINE__, -2.090268686389680e+05, "-2.090269e+05", "%1e",
+__LINE__, -2.092036176589720e+24, "-2.09204e+24", "%+g",
+__LINE__, -2.093546373938615e-21, "-2.093546e-21", "%#e",
+__LINE__, -2.101302069316682e+18, "-2.1013e+18", "%+7g",
+__LINE__, -2.103463622286002e-13, "-2.103464E-13", "%E",
+__LINE__, -2.105622845016732e+06, "-2105622.845017", "%1f",
+__LINE__, -2.109999123037767e+28, "-2.11E+28", "%.2E",
+__LINE__, -2.110317013992166e+04, "-21103.2", "%+g",
+__LINE__, -2.112226142154618e+21, "-2112226142154617569702.", "%#6.f",
+__LINE__, -2.112519484486528e+06, "-2.11252E+06", "%G",
+__LINE__, -2.113439260812000e+23, "-2E+23", "%1.G",
+__LINE__, -2.113465893194608e-15, "-2.1135E-15", "%.5G",
+__LINE__, -2.113547784669409e+20, "-2.1135e+20", "%2.5g",
+__LINE__, -2.114146001321822e+28, "-2.114146e+28", "%e",
+__LINE__, -2.114509425574444e-30, " -0", "%4.f",
+__LINE__, -2.114887421659561e-21, "-0.000000", "%+f",
+__LINE__, -2.121120215127601e+21, "-2121120215127601404958.5683097", "%.7f",
+__LINE__, -2.122555390665796e+06, "-2E+06", "%0.G",
+__LINE__, -2.123468430242052e-27, "-0.000000", "%+f",
+__LINE__, -2.123473598890635e+28, "-2.12347e+28", "%+g",
+__LINE__, -2.124328049748190e-04, "-2.124328E-04", "%E",
+__LINE__, -2.125633890999010e+28, "-2E+28", "%+5.G",
+__LINE__, -2.125697963566045e+21, "-2.1257E+21", "%0G",
+__LINE__, -2.127638109230109e+06, "-2.12764e+06", "%+6g",
+__LINE__, -2.128456114617786e+07, "-2.128456E+07", "%E",
+__LINE__, -2.128732742932824e-04, "-2.128733E-04", "%#E",
+__LINE__, -2.129654381588404e+27, "-2129654381588404365999167566.7697564", "%+.7f",
+__LINE__, -2.129792795009985e+20, "-2.12979e+20", "%g",
+__LINE__, -2.131026925664619e-20, "-2e-20", "%.0e",
+__LINE__, -2.132860730144188e-04, "-0.0002", "%5.g",
+__LINE__, -2.133620979309562e+06, "-2e+06", "%3.e",
+__LINE__, -2.133821423139120e-27, "-2.13382E-27", "%.6G",
+__LINE__, -2.134253401425940e-07, "-0.000000", "%f",
+__LINE__, -2.135469568156964e-29, "-2.135470E-29", "%+7E",
+__LINE__, -2.135723595288365e-25, "-0.0", "%.1f",
+__LINE__, -2.137642458920094e-09, "-2.13764e-09", "%g",
+__LINE__, -2.143412361116583e+12, "-2.14341e+12", "%+g",
+__LINE__, -2.144467087741129e-17, "-2.14447e-17", "%+g",
+__LINE__, -2.145726966596964e-11, "-0.000000", "%2f",
+__LINE__, -2.148318753042597e+08, "-2.14832E+08", "%5G",
+__LINE__, -2.149932310549644e-19, "-2.14993e-19", "%g",
+__LINE__, -2.150050917377646e-21, " -0", "%3.f",
+__LINE__, -2.150854313643430e-16, "-0.000000", "%.6f",
+__LINE__, -2.151071797121845e+00, "-2.15107", "%+g",
+__LINE__, -2.158728406865981e+14, "-215872840686598.088666", "%7f",
+__LINE__, -2.166062878011641e-23, "-2.166063e-23", "%e",
+__LINE__, -2.167045002060684e+12, "-2.167045E+12", "%E",
+__LINE__, -2.173752581051530e+20, "-217375258105153035259.604621", "%f",
+__LINE__, -2.175599129057555e+24, "-2.175599E+24", "%E",
+__LINE__, -2.176564454093042e-02, "-0.0217656", "%+G",
+__LINE__, -2.181270774327071e-12, "-0.000000", "%#1f",
+__LINE__, -2.184404769844158e-09, "-2.2E-09", "%+.2G",
+__LINE__, -2.184881476334310e-07, "-2.18488e-07", "%g",
+__LINE__, -2.189197211449684e-11, "-2E-11", "%.0G",
+__LINE__, -2.189451286805190e+20, "-218945128680519029984", "%3.f",
+__LINE__, -2.190642494146884e-27, " -0.", "%#4.f",
+__LINE__, -2.194727956725854e+06, "-2.19E+06", "%.3G",
+__LINE__, -2.196145868303877e+11, "-219614586830.387726", "%+5f",
+__LINE__, -2.196397972262690e-16, "-0.000000", "%3f",
+__LINE__, -2.202692843474668e-01, "-2.203e-01", "%.3e",
+__LINE__, -2.204528684782451e-21, "-2.20453E-21", "%G",
+__LINE__, -2.214926838821340e-16, "-2e-16", "%+2.g",
+__LINE__, -2.215558986352773e+18, "-2215558986352773374", "%0.f",
+__LINE__, -2.216976693056186e+27, "-2216976693056186498154147557.215765", "%f",
+__LINE__, -2.217348422793322e+13, "-2.21735E+13", "%6G",
+__LINE__, -2.217732695583920e-07, "-0", "%.0f",
+__LINE__, -2.221185494767834e-14, "-2.22119e-14", "%g",
+__LINE__, -2.224557193699609e-16, "-2.224557E-16", "%E",
+__LINE__, -2.227417758704028e-18, "-0.000000", "%0f",
+__LINE__, -2.231261655673006e-30, "-2.231262E-30", "%E",
+__LINE__, -2.233081938836160e+21, "-2233081938836160240668.960", "%+6.3f",
+__LINE__, -2.233158918439853e+05, "-223316", "%2G",
+__LINE__, -2.233802298007898e-30, "-2.2338E-30", "%2G",
+__LINE__, -2.233864858404732e+17, "-223386485840473181.241350", "%f",
+__LINE__, -2.241242805107749e+14, "-2.24124E+14", "%G",
+__LINE__, -2.244555498855249e+25, "-2.24456E+25", "%#G",
+__LINE__, -2.248170665127481e-07, "-2.248171E-07", "%E",
+__LINE__, -2.252558275567388e-13, "-2.25256e-13", "%g",
+__LINE__, -2.256190083496001e+13, "-22561900834960.0136398", "%7.7f",
+__LINE__, -2.259851596715945e+27, "-2.259852e+27", "%e",
+__LINE__, -2.260461480001174e-21, "-0.000000", "%f",
+__LINE__, -2.264128628428577e+22, "-2.26413e+22", "%1g",
+__LINE__, -2.265914518399595e-04, "-0.000226591", "%G",
+__LINE__, -2.266251557092826e+23, "-2.26625e+23", "%g",
+__LINE__, -2.268592252572450e+19, "-2.268592e+19", "%2.6e",
+__LINE__, -2.268597523847349e+11, "-2.2686e+11", "%g",
+__LINE__, -2.268963106935546e+05, "-226896", "%+g",
+__LINE__, -2.272527876808919e-24, "-0.000000", "%#f",
+__LINE__, -2.273366440479073e+02, "-227.337", "%g",
+__LINE__, -2.277858038556191e+25, "-2.28E+25", "%0.3G",
+__LINE__, -2.282019915623415e+25, "-2E+25", "%5.E",
+__LINE__, -2.283333247435650e-27, " -0", "%4.f",
+__LINE__, -2.285230610829355e+23, "-2E+23", "%2.G",
+__LINE__, -2.290900253402985e+23, "-2.2909E+23", "%G",
+__LINE__, -2.293266953268186e+08, "-2.29327e+08", "%g",
+__LINE__, -2.293489603164786e+23, "-229348960316478578391752.3076525", "%4.7f",
+__LINE__, -2.294434667605481e+15, "-2.2944E+15", "%.5G",
+__LINE__, -2.296607768466765e+21, "-2.29661E+21", "%G",
+__LINE__, -2.297449967994012e+14, "-229744996799401.23542", "%+.5f",
+__LINE__, -2.301162556466583e-01, "-0.230116", "%+#2g",
+__LINE__, -2.301676246374004e+05, "-230168.", "%#g",
+__LINE__, -2.301976724487835e-01, "-0.230198", "%5G",
+__LINE__, -2.303269770571222e-15, "-2.303270e-15", "%.6e",
+__LINE__, -2.306451480495636e+23, "-2.30645E+23", "%G",
+__LINE__, -2.307659351219690e-17, "-0.000000", "%+3f",
+__LINE__, -2.309009762339430e+16, "-2.30901E+16", "%G",
+__LINE__, -2.309261751862100e+06, "-2309261.751862", "%+f",
+__LINE__, -2.309504876918634e-26, " -2E-26", "%7.E",
+__LINE__, -2.310910348147804e-26, "-2e-26", "%5.g",
+__LINE__, -2.317173552252235e+05, "-231717.4", "%.7g",
+__LINE__, -2.319517289618469e-23, "-2.31952E-23", "%+G",
+__LINE__, -2.320103195142527e+08, "-2.320103E+08", "%+E",
+__LINE__, -2.323523032125633e+24, "-2323523032125633491773442.07419", "%.5f",
+__LINE__, -2.326279126614399e-16, "-0.000000", "%f",
+__LINE__, -2.331393688620925e-09, "-2.33139e-09", "%#g",
+__LINE__, -2.334233527512469e+01, " -23", "%6.0f",
+__LINE__, -2.337418834112767e+24, " -2E+24", "%7.E",
+__LINE__, -2.339455293612118e+12, "-2339455293612.1", "%+.1f",
+__LINE__, -2.341930318143367e-18, "-2.E-18", "%#4.E",
+__LINE__, -2.346107614950921e-17, "-0.00000", "%+2.5f",
+__LINE__, -2.348356578807972e+23, "-2.34836e+23", "%g",
+__LINE__, -2.351485855138244e+19, "-2.351486e+19", "%+e",
+__LINE__, -2.362101647639198e-15, "-2.36210e-15", "%#g",
+__LINE__, -2.369743873030115e+08, "-2e+08", "%.1g",
+__LINE__, -2.371658164739356e+25, "-23716581647393559784120498.079574", "%f",
+__LINE__, -2.372427847607163e+28, "-2.37243E+28", "%G",
+__LINE__, -2.375465465294647e+11, "-2.375465e+11", "%e",
+__LINE__, -2.377128971572195e-18, "-0.0", "%1.1f",
+__LINE__, -2.380322448568089e-13, "-2.38032E-13", "%+#0G",
+__LINE__, -2.385960728264882e+26, "-2E+26", "%.0E",
+__LINE__, -2.387345744004747e+00, "-2.38735", "%G",
+__LINE__, -2.390480023300201e+25, "-2.39048e+25", "%g",
+__LINE__, -2.395420431930886e+23, "-2E+23", "%2.E",
+__LINE__, -2.401144663870969e-10, "-2.e-10", "%#6.g",
+__LINE__, -2.402787441215039e-08, "-2.40279e-08", "%g",
+__LINE__, -2.402990830425278e+08, "-2.40299E+08", "%G",
+__LINE__, -2.404213682932215e+08, "-2.40421e+08", "%2g",
+__LINE__, -2.409385592298822e+21, "-2409385592298821876511.283335", "%7f",
+__LINE__, -2.410798267658614e+13, "-2.4108e+13", "%+g",
+__LINE__, -2.413180068271811e-24, "-0.000000", "%+f",
+__LINE__, -2.413268457113495e+26, "-2.41327E+26", "%3.6G",
+__LINE__, -2.415341832206007e-13, "-0.000000", "%+f",
+__LINE__, -2.422519577068670e-08, "-0.0000000", "%.7f",
+__LINE__, -2.422533651282808e+20, "-2.42253E+20", "%#G",
+__LINE__, -2.422795006880671e+17, "-2.4228e+17", "%g",
+__LINE__, -2.423483330202008e+20, "-2.42348e+20", "%g",
+__LINE__, -2.431756009640369e-04, "-0.000243176", "%+#3g",
+__LINE__, -2.431878622534173e-05, "-0.000024", "%f",
+__LINE__, -2.432012113077180e+24, "-2.43201e+24", "%g",
+__LINE__, -2.433843704470487e+07, "-24338437", "%4.f",
+__LINE__, -2.435475755031956e+11, "-2.435476E+11", "%1E",
+__LINE__, -2.438081888695437e-13, "-0.000000", "%f",
+__LINE__, -2.438334590462860e+10, "-2.4E+10", "%5.2G",
+__LINE__, -2.440223135334059e+17, "-2.44022e+17", "%g",
+__LINE__, -2.444107281115317e-21, "-2.44411e-21", "%+g",
+__LINE__, -2.444582273206171e-02, " -0.02", "%7.G",
+__LINE__, -2.445234676352794e+23, "-2.44523e+23", "%#g",
+__LINE__, -2.449185020984714e+08, "-2.E+08", "%#2.G",
+__LINE__, -2.450646640466020e+22, "-2.45065E+22", "%5G",
+__LINE__, -2.456840850262473e+13, "-24568408502625", "%0.f",
+__LINE__, -2.464466865714499e-10, "-2e-10", "%6.g",
+__LINE__, -2.466022088999151e+27, "-2.46602E+27", "%G",
+__LINE__, -2.484398113119779e-04, "-2.484398E-04", "%E",
+__LINE__, -2.484591850456328e+23, "-248459185045632846566832.085955", "%+f",
+__LINE__, -2.488166252162446e-11, "-2.5E-11", "%4.2G",
+__LINE__, -2.493507313049390e+24, "-2.49E+24", "%4.3G",
+__LINE__, -2.500280281988428e+28, "-2.5E+28", "%.4G",
+__LINE__, -2.500373956445372e-07, "-2.50037e-07", "%g",
+__LINE__, -2.505566434769299e-12, "-2.5E-12", "%+#0.2G",
+__LINE__, -2.508215917020758e+05, "-2.508216e+05", "%5e",
+__LINE__, -2.519368094680315e-29, "-2.51937e-29", "%#0g",
+__LINE__, -2.522266530587753e-11, "-2.52227e-11", "%+g",
+__LINE__, -2.534492886372514e-06, "-2.53449E-06", "%0G",
+__LINE__, -2.534617610955074e-02, "-0.03", "%0.2f",
+__LINE__, -2.540551642835634e+26, "-3E+26", "%4.G",
+__LINE__, -2.548210731830516e-26, "-0.000", "%2.3f",
+__LINE__, -2.558868082397931e-11, "-3E-11", "%2.E",
+__LINE__, -2.560062512991052e+11, "-2.56006E+11", "%+G",
+__LINE__, -2.561274682814428e-05, "-0.000026", "%f",
+__LINE__, -2.563424949397357e-02, " -0", "%6.f",
+__LINE__, -2.577010939931465e+17, "-2.57701E+17", "%G",
+__LINE__, -2.578224879294822e+10, "-3E+10", "%+4.1G",
+__LINE__, -2.585655636750244e+13, "-2.585656e+13", "%+0.7g",
+__LINE__, -2.585657986834408e+14, "-2.5857e+14", "%3.5g",
+__LINE__, -2.586728929368101e+02, "-258.673", "%+g",
+__LINE__, -2.591293023229468e+06, "-2591293.0232295", "%2.7f",
+__LINE__, -2.592454222603538e-06, "-2.59245E-06", "%G",
+__LINE__, -2.599399905869649e+02, "-259.939991", "%f",
+__LINE__, -2.605382860307596e+12, "-2.60538E+12", "%2G",
+__LINE__, -2.607507689402762e-01, "-0.260751", "%#.6g",
+__LINE__, -2.612933252582967e+15, "-2.61293e+15", "%g",
+__LINE__, -2.614337505491483e-14, "-2.61434E-14", "%.6G",
+__LINE__, -2.618302263333671e+14, "-2.62e+14", "%3.3g",
+__LINE__, -2.622998533972296e+00, "-3.", "%#0.g",
+__LINE__, -2.623348319869643e-15, "-2.62335E-15", "%#G",
+__LINE__, -2.626703132693163e+23, "-3E+23", "%+6.E",
+__LINE__, -2.629610853765779e+25, "-2.62961E+25", "%+#G",
+__LINE__, -2.632993880472784e+26, "-2.63299E+26", "%G",
+__LINE__, -2.635651112327873e-20, "-2.63565E-20", "%1G",
+__LINE__, -2.636003980473492e-23, "-2.636E-23", "%G",
+__LINE__, -2.639316453244009e+10, "-26393164532.440094", "%#f",
+__LINE__, -2.640517223417942e-28, "-2.641e-28", "%.3e",
+__LINE__, -2.640625797147664e-22, "-2.640626E-22", "%E",
+__LINE__, -2.644401262524378e-12, " -0.000", "%7.3f",
+__LINE__, -2.651033203243637e-14, "-2.651033e-14", "%+e",
+__LINE__, -2.652386470126594e-24, "-2.652386E-24", "%E",
+__LINE__, -2.654281018623631e-12, "-0.00000", "%6.5f",
+__LINE__, -2.655529742118827e+02, "-265.552974", "%f",
+__LINE__, -2.658550833241620e+22, "-26585508332416196708436.473273", "%+f",
+__LINE__, -2.660515890519100e+08, "-2.660516E+08", "%E",
+__LINE__, -2.665025749266086e-24, "-2.66503E-24", "%G",
+__LINE__, -2.666117105643095e-20, "-2.66612e-20", "%g",
+__LINE__, -2.667051347741259e+11, "-3e+11", "%6.g",
+__LINE__, -2.667207607243375e+04, "-26672.076072", "%+#f",
+__LINE__, -2.667631877167590e+26, "-2.667632E+26", "%E",
+__LINE__, -2.673817942962878e+13, "-2.673818e+13", "%+2.6e",
+__LINE__, -2.674972907853507e+20, "-2.674973E+20", "%E",
+__LINE__, -2.675830887404867e+14, "-2.675831E+14", "%E",
+__LINE__, -2.682749918168908e+26, "-2.682750E+26", "%E",
+__LINE__, -2.689222801942679e-03, "-0.0027", "%7.2G",
+__LINE__, -2.692245629411156e+25, "-2.69225e+25", "%g",
+__LINE__, -2.692606702464273e+11, "-2.69261e+11", "%g",
+__LINE__, -2.693070822061136e-27, "-2.69307e-27", "%+g",
+__LINE__, -2.694415515655336e-30, "-3E-30", "%+3.0E",
+__LINE__, -2.694770057384739e+15, "-2.69477e+15", "%g",
+__LINE__, -2.699998392329361e+01, "-27", "%+.2g",
+__LINE__, -2.700151952281511e+23, "-270015195228151050343968.", "%+#5.f",
+__LINE__, -2.707398527302841e-08, "-2.70740e-08", "%+#3g",
+__LINE__, -2.711404950850030e-21, "-2.71E-21", "%.2E",
+__LINE__, -2.714057739024281e-10, "-2.714e-10", "%.4g",
+__LINE__, -2.717657632815414e-10, "-2.71766e-10", "%g",
+__LINE__, -2.720875786430592e-09, "-2.7E-09", "%6.2G",
+__LINE__, -2.725886730997891e+19, "-2.72589e+19", "%g",
+__LINE__, -2.726089169748676e-09, "-2.72609E-09", "%+G",
+__LINE__, -2.732907572038661e-30, "-2.73291E-30", "%G",
+__LINE__, -2.737918050958789e+11, "-3e+11", "%1.g",
+__LINE__, -2.739024251198484e-18, "-2.73902e-18", "%+g",
+__LINE__, -2.742646144452305e+13, "-2.74265e+13", "%g",
+__LINE__, -2.742911865386719e+06, "-3E+06", "%+5.G",
+__LINE__, -2.759159275123811e-30, "-0.000000", "%+f",
+__LINE__, -2.759794813930001e-21, "-2.75979e-21", "%+g",
+__LINE__, -2.763243077558348e+20, "-2.7632E+20", "%+0.4E",
+__LINE__, -2.770348477810209e-14, "-0.000000", "%2f",
+__LINE__, -2.776074766292453e+05, "-277607", "%g",
+__LINE__, -2.776610811432007e-07, "-2.77661E-07", "%6G",
+__LINE__, -2.778673793270678e+23, "-3E+23", "%+4.E",
+__LINE__, -2.782405168708350e+08, "-278240516.87084", "%.5f",
+__LINE__, -2.783316149365198e-09, "-3E-09", "%5.0G",
+__LINE__, -2.785436703085409e-27, "-2.78544E-27", "%#G",
+__LINE__, -2.787479051660640e+21, "-2.78748e+21", "%g",
+__LINE__, -2.789445406042450e-03, "-0.002789", "%+f",
+__LINE__, -2.791104581836077e+05, "-279110.4581836", "%+7.7f",
+__LINE__, -2.802078617775784e+04, "-28020.786", "%0.3f",
+__LINE__, -2.804954315579055e+20, "-2.80495E+20", "%G",
+__LINE__, -2.806575341862696e-05, "-2.80658E-05", "%G",
+__LINE__, -2.807769556900402e-06, "-0.000003", "%+#f",
+__LINE__, -2.808882056357941e-12, "-0.0", "%.1f",
+__LINE__, -2.809386677339924e+10, "-2.8094E+10", "%6.5G",
+__LINE__, -2.818404311437694e+19, "-3E+19", "%6.G",
+__LINE__, -2.819463285551660e+01, "-28.1946", "%+G",
+__LINE__, -2.821428853207724e-16, "-3e-16", "%6.g",
+__LINE__, -2.824452750788444e+07, "-3e+07", "%+2.g",
+__LINE__, -2.825430381094971e+28, "-3e+28", "%+.0e",
+__LINE__, -2.830010928384944e-17, "-0", "%.0f",
+__LINE__, -2.832505114479680e-09, "-0.000000", "%f",
+__LINE__, -2.833246604950796e+13, "-2.83325E+13", "%G",
+__LINE__, -2.833274073265017e+13, "-28332740732650.174564", "%f",
+__LINE__, -2.835842581787797e+07, "-2.83584E+07", "%2G",
+__LINE__, -2.839758384681983e-07, "-2.83976E-07", "%.6G",
+__LINE__, -2.841077022753766e-09, "-3E-09", "%0.1G",
+__LINE__, -2.845307294930682e+00, "-2.845307e+00", "%+1e",
+__LINE__, -2.847420163874243e+19, "-2.8e+19", "%1.2g",
+__LINE__, -2.848133715109881e-25, "-2.848134E-25", "%E",
+__LINE__, -2.850208101288058e-06, "-2.8502E-06", "%+5.4E",
+__LINE__, -2.853666525870413e+04, "-28536.665259", "%f",
+__LINE__, -2.855661543202034e+21, "-2.85566e+21", "%g",
+__LINE__, -2.859528889324159e-08, "-2.859529e-08", "%3e",
+__LINE__, -2.860545310690251e+29, "-3e+29", "%.1g",
+__LINE__, -2.863576633666884e-14, "-2.863577e-14", "%+5e",
+__LINE__, -2.864115740396321e-14, "-2.86412e-14", "%g",
+__LINE__, -2.864481979037153e+20, "-2.86E+20", "%3.3G",
+__LINE__, -2.867582970177984e-18, "-0.000000", "%f",
+__LINE__, -2.868237707901564e+25, "-3E+25", "%6.E",
+__LINE__, -2.871741071402520e+13, "-3e+13", "%.1g",
+__LINE__, -2.873724610073364e+18, "-2873724610073364438.278531", "%+#f",
+__LINE__, -2.876433859770866e-25, "-2.87643e-25", "%g",
+__LINE__, -2.877458587075737e-08, "-2.877E-08", "%+.4G",
+__LINE__, -2.883349842927101e+24, "-2.883350E+24", "%2E",
+__LINE__, -2.883749925642885e+09, "-2.883750e+09", "%e",
+__LINE__, -2.883773835633003e-17, "-0.000000", "%+f",
+__LINE__, -2.890389090491409e+24, "-2890389090491409262995148.310438", "%#1f",
+__LINE__, -2.900848552225810e-11, "-0.000000", "%+f",
+__LINE__, -2.911942123176400e+25, "-29119421231764004431852300", "%0.f",
+__LINE__, -2.912904462180751e-18, "-2.9129E-18", "%6G",
+__LINE__, -2.917717875075651e+26, "-3e+26", "%0.e",
+__LINE__, -2.922293201084093e-26, "-2.922293E-26", "%E",
+__LINE__, -2.925070319932451e-30, "-0.000000", "%f",
+__LINE__, -2.926558572870874e+15, "-2.926559E+15", "%E",
+__LINE__, -2.928781435877896e+26, "-2.928781e+26", "%+e",
+__LINE__, -2.930178318110376e+28, "-2.930178E+28", "%E",
+__LINE__, -2.930984661925819e+05, "-293098.5", "%.7G",
+__LINE__, -2.932762424932762e-08, "-0.000000", "%#f",
+__LINE__, -2.933415597492494e+10, "-29334155974.924943", "%+#2f",
+__LINE__, -2.933564314850986e+29, "-2.93356E+29", "%7G",
+__LINE__, -2.943224907893795e+10, "-2.943225E+10", "%+7E",
+__LINE__, -2.945311540471221e+19, "-2.94531E+19", "%#G",
+__LINE__, -2.945812356522847e+15, "-2.94581e+15", "%+g",
+__LINE__, -2.945836999630957e+00, "-2.945837E+00", "%E",
+__LINE__, -2.947798782726622e-01, "-0.29478", "%+g",
+__LINE__, -2.948958405827917e+18, "-2.94896e+18", "%g",
+__LINE__, -2.949790871798059e-11, "-2.94979E-11", "%G",
+__LINE__, -2.950347806125225e-12, "-2.95035e-12", "%g",
+__LINE__, -2.952781884599368e-29, "-2.952782E-29", "%+E",
+__LINE__, -2.956801341442716e+06, "-2.9568E+06", "%G",
+__LINE__, -2.957469310356540e-07, "-0.000", "%1.3f",
+__LINE__, -2.960464869534870e-23, "-2.96046E-23", "%G",
+__LINE__, -2.962339381825446e-07, "-0", "%1.f",
+__LINE__, -2.971013180028710e+22, "-2.971e+22", "%3.5g",
+__LINE__, -2.975167862441254e+07, "-2.97517e+07", "%g",
+__LINE__, -2.976018424339993e+16, "-2.976018e+16", "%3e",
+__LINE__, -2.979173094835454e+29, "-2.97917E+29", "%G",
+__LINE__, -2.983135249987541e-03, "-0.00298314", "%+G",
+__LINE__, -2.985142444917919e-24, "-2.985142E-24", "%+#7E",
+__LINE__, -2.988680953635159e-14, "-0.0000000", "%2.7f",
+__LINE__, -2.989629778079379e+04, "-29896.297781", "%f",
+__LINE__, -2.991274275137276e+19, "-29912742751372762839.423558", "%+4f",
+__LINE__, -2.991286396006024e-06, "-2.99129e-06", "%4g",
+__LINE__, -2.993310397844811e+04, "-2.993310E+04", "%3.6E",
+__LINE__, -2.994669852410861e-29, "-2.99467E-29", "%G",
+__LINE__, -2.996082093034831e+27, "-2.996082e+27", "%1e",
+__LINE__, -2.999783904575110e+16, "-2.999784E+16", "%#E",
+__LINE__, -3.012019221956988e+25, "-3.012019E+25", "%E",
+__LINE__, -3.014211917706622e-25, "-0.000000", "%+f",
+__LINE__, -3.015149723683428e-19, "-3.01515E-19", "%G",
+__LINE__, -3.022158478004638e-19, "-3.02216e-19", "%6g",
+__LINE__, -3.022825518373900e-12, "-3.0228E-12", "%+.4E",
+__LINE__, -3.025108924057340e-19, "-0.000000", "%f",
+__LINE__, -3.026316824631967e+24, "-3026316824631966717618070.106255", "%1f",
+__LINE__, -3.033074643529623e-13, "-3.03307e-13", "%g",
+__LINE__, -3.035292960731141e+24, "-3035292960731141409524980.190326", "%f",
+__LINE__, -3.043291272956732e-13, "-3.04329e-13", "%#g",
+__LINE__, -3.045216723973715e-23, "-3.045e-23", "%.4g",
+__LINE__, -3.047140976048835e+09, "-3.04714E+09", "%3.5E",
+__LINE__, -3.047680278470886e+09, "-3.047680E+09", "%#E",
+__LINE__, -3.048465807963461e+05, "-304847", "%g",
+__LINE__, -3.050904753556756e+22, "-3.0509E+22", "%G",
+__LINE__, -3.052845748999047e-13, "-3.05285e-13", "%g",
+__LINE__, -3.053395231883620e-06, "-3E-06", "%2.G",
+__LINE__, -3.054894203375445e-28, "-3e-28", "%2.g",
+__LINE__, -3.055080347760755e-13, "-0", "%2.f",
+__LINE__, -3.055513037393624e-29, "-3e-29", "%3.g",
+__LINE__, -3.056198778208295e-06, "-3.0562e-06", "%g",
+__LINE__, -3.057813660266980e-21, "-3E-21", "%1.G",
+__LINE__, -3.059687036330998e-11, "-3.1E-11", "%#2.2G",
+__LINE__, -3.061450385559094e-10, "-3.06145E-10", "%G",
+__LINE__, -3.066605713361383e-27, "-0.000000", "%f",
+__LINE__, -3.071590110813156e+22, "-3.07159E+22", "%G",
+__LINE__, -3.073253864426931e+26, "-3.0733E+26", "%.5G",
+__LINE__, -3.078998328596940e+07, "-3.079e+07", "%5.4g",
+__LINE__, -3.082733887951920e+06, "-3.082734e+06", "%+6e",
+__LINE__, -3.084365358064710e+24, "-3.084365E+24", "%#E",
+__LINE__, -3.086948022123716e+25, "-30869480221237162176350921.072299", "%+f",
+__LINE__, -3.088200214218024e-10, "-0", "%0.f",
+__LINE__, -3.093442983942874e+08, "-309344298.394287", "%f",
+__LINE__, -3.103573455403534e-09, "-3.103573E-09", "%#E",
+__LINE__, -3.109178443120997e+07, "-31091784.431210", "%f",
+__LINE__, -3.111494549914917e+28, "-3e+28", "%0.g",
+__LINE__, -3.113384020517480e-17, " -0", "%+6.f",
+__LINE__, -3.121622779718055e+14, "-312162277971805.491", "%+.3f",
+__LINE__, -3.122780443843900e-01, "-0.312278", "%#g",
+__LINE__, -3.122952438335638e-25, "-3.122952E-25", "%E",
+__LINE__, -3.128970339463168e-18, "-3e-18", "%3.g",
+__LINE__, -3.130862507719335e+10, "-3.130863e+10", "%3e",
+__LINE__, -3.145960838955379e+03, "-3145.96", "%g",
+__LINE__, -3.149362645138929e+21, "-3.14936e+21", "%g",
+__LINE__, -3.150697168664913e+26, "-315069716866491322804222363.629378", "%+f",
+__LINE__, -3.157946785041287e+05, "-3.1579e+05", "%.4e",
+__LINE__, -3.158347006986809e-02, "-3.E-02", "%#.0E",
+__LINE__, -3.159542871923388e+07, "-31595429", "%2.f",
+__LINE__, -3.169997512351985e+15, "-3.169998E+15", "%6.7G",
+__LINE__, -3.170971776544746e+07, "-31709717.765447", "%f",
+__LINE__, -3.173246079104466e+19, "-3.173246E+19", "%1E",
+__LINE__, -3.173581228658553e-02, "-0.03", "%+0.G",
+__LINE__, -3.187598864929850e-07, "-3.18760E-07", "%#G",
+__LINE__, -3.190525302270244e+08, "-3.190525e+08", "%+0.7g",
+__LINE__, -3.191879884186422e+19, "-3.19E+19", "%.2E",
+__LINE__, -3.197292604744926e+02, "-3.197293e+02", "%+e",
+__LINE__, -3.203713337688838e-12, "-3.20371E-12", "%6G",
+__LINE__, -3.204416889544914e-18, "-0.000000", "%+f",
+__LINE__, -3.204494471917096e+09, "-3.20449e+09", "%g",
+__LINE__, -3.211933195516720e+11, "-3.21193E+11", "%G",
+__LINE__, -3.214544021431917e-24, "-0.000000", "%1f",
+__LINE__, -3.215501229487004e-07, "-3e-07", "%3.e",
+__LINE__, -3.232157492322707e-13, "-3.E-13", "%+#5.G",
+__LINE__, -3.239074974455177e-05, "-3.239e-05", "%2.4g",
+__LINE__, -3.243083730801156e-24, "-3.243084e-24", "%#e",
+__LINE__, -3.243128583394124e+07, "-32431285.8339", "%6.4f",
+__LINE__, -3.247997999770571e-08, "-3e-08", "%5.e",
+__LINE__, -3.258251054563991e-15, "-3.2583E-15", "%.5G",
+__LINE__, -3.259499053187446e+07, "-3.2595E+07", "%5.6G",
+__LINE__, -3.261907782031174e+20, "-3.3e+20", "%.2g",
+__LINE__, -3.263979380855122e+29, "-3.26398E+29", "%G",
+__LINE__, -3.264166546402073e+06, "-3.26417E+06", "%5G",
+__LINE__, -3.269357648926951e+01, "-3.E+01", "%#5.G",
+__LINE__, -3.273523287028019e-30, "-3.27352e-30", "%g",
+__LINE__, -3.274464331526264e-14, "-3e-14", "%.0g",
+__LINE__, -3.276647049958546e+05, "-327664.7", "%+.1f",
+__LINE__, -3.276853612008326e-04, "-3.276854e-04", "%e",
+__LINE__, -3.288077788905925e+17, "-3.28808e+17", "%g",
+__LINE__, -3.292054327509010e+21, "-3.29205e+21", "%+g",
+__LINE__, -3.292086868337041e-16, " -0", "%7.f",
+__LINE__, -3.299368070005327e-17, "-3E-17", "%5.G",
+__LINE__, -3.307165537474566e-30, "-3e-30", "%+2.g",
+__LINE__, -3.310556325973673e-17, "-3.31056E-17", "%G",
+__LINE__, -3.315407318453138e-09, "-3.315407e-09", "%+#.6e",
+__LINE__, -3.318402800998018e-09, "-3.3184E-09", "%+G",
+__LINE__, -3.324277622889107e-04, "-0.000332428", "%G",
+__LINE__, -3.326372457131185e+14, "-3.326372e+14", "%0e",
+__LINE__, -3.333300611287597e+18, "-3.3E+18", "%4.2G",
+__LINE__, -3.333608976277018e-25, "-3.33361e-25", "%g",
+__LINE__, -3.333613056182724e-24, "-3.33361e-24", "%.5e",
+__LINE__, -3.338505874378410e-26, "-0.00000", "%.5f",
+__LINE__, -3.339838772519661e+24, "-3.3398E+24", "%0.5G",
+__LINE__, -3.354802735583258e-27, "-3.3548E-27", "%G",
+__LINE__, -3.356542080644329e+15, "-3356542080644329.129058", "%#f",
+__LINE__, -3.360027692463026e-29, "-3.36003e-29", "%+g",
+__LINE__, -3.361845657814323e+06, "-3361845.657814", "%f",
+__LINE__, -3.363135493765816e-12, " -0", "%5.f",
+__LINE__, -3.367383112102258e+19, "-33673831121022579360.158034", "%f",
+__LINE__, -3.376798505037497e+03, "-3376.8", "%+3G",
+__LINE__, -3.388170639372559e+09, "-3.388171e+09", "%+e",
+__LINE__, -3.397304185715499e-12, "-3.397304e-12", "%+e",
+__LINE__, -3.401559374016378e-13, "-3.40156e-13", "%g",
+__LINE__, -3.402651870178825e+21, "-3.40265e+21", "%+g",
+__LINE__, -3.410491213537530e+12, "-3.41049E+12", "%G",
+__LINE__, -3.411695570460075e-01, "-3.411696e-01", "%e",
+__LINE__, -3.417311435719220e+29, "-3.4E+29", "%3.1E",
+__LINE__, -3.417581063208165e-23, " -0", "%+4.f",
+__LINE__, -3.424005615113663e-28, "-0.000000", "%f",
+__LINE__, -3.424793585094130e-12, "-0.000000", "%f",
+__LINE__, -3.434733077762304e-05, "-3.43473e-05", "%g",
+__LINE__, -3.436384988494743e+08, "-3.43638E+08", "%G",
+__LINE__, -3.441082995163884e-21, "-0.000000", "%f",
+__LINE__, -3.442868661576827e-23, "-3.442869e-23", "%#.7g",
+__LINE__, -3.444337521046186e+13, "-3.44434E+13", "%#G",
+__LINE__, -3.448230173418967e-28, "-3.44823E-28", "%#G",
+__LINE__, -3.448523828225326e-21, "-3.4485e-21", "%.4e",
+__LINE__, -3.449876796754720e-07, "-3.44988e-07", "%g",
+__LINE__, -3.450163790411588e+25, "-34501637904115876054333966.749255", "%2f",
+__LINE__, -3.450224454406567e-26, "-3.450224E-26", "%#1E",
+__LINE__, -3.459930768422874e-28, "-3.46E-28", "%2.3G",
+__LINE__, -3.460730505022601e-28, "-3.46073e-28", "%#g",
+__LINE__, -3.462894265593946e-10, "-3.46289e-10", "%+#g",
+__LINE__, -3.464808359229496e+05, "-346481", "%6.6G",
+__LINE__, -3.467272303652620e-03, "-0.00346727", "%g",
+__LINE__, -3.468252706910251e+10, "-3.5E+10", "%#7.2G",
+__LINE__, -3.473623965680253e+27, "-3.47362e+27", "%g",
+__LINE__, -3.474527926009729e+11, "-3.475E+11", "%.4G",
+__LINE__, -3.476489048299929e+15, "-3.47649e+15", "%g",
+__LINE__, -3.477809698895344e-09, "-0.000", "%+.3f",
+__LINE__, -3.493008398637667e-28, " -0", "%+4.f",
+__LINE__, -3.497441286691613e+07, "-3.49744e+07", "%g",
+__LINE__, -3.500904660533358e+00, "-3.500905E+00", "%+1E",
+__LINE__, -3.504996054364915e+25, "-3.505e+25", "%+g",
+__LINE__, -3.507738629125434e-24, "-0.00", "%+4.2f",
+__LINE__, -3.508557770253211e-04, "-3.508558e-04", "%#6e",
+__LINE__, -3.516056824437550e+20, "-3.516057e+20", "%#e",
+__LINE__, -3.521102917733367e+02, "-352.11", "%g",
+__LINE__, -3.523948985825251e+10, "-3.52395e+10", "%+g",
+__LINE__, -3.525281835697895e-15, "-3.525282e-15", "%e",
+__LINE__, -3.534088845494570e-26, "-0.000000", "%2f",
+__LINE__, -3.541002442741569e+01, "-35.410", "%3.3f",
+__LINE__, -3.541126630345017e-19, "-3.541127e-19", "%e",
+__LINE__, -3.545277845967514e-17, "-0.000000", "%f",
+__LINE__, -3.560935430637329e-12, "-3.56094E-12", "%G",
+__LINE__, -3.564234584447659e-23, "-3.56423E-23", "%G",
+__LINE__, -3.576040378379921e-11, "-0.000000", "%+6f",
+__LINE__, -3.578133580350674e-05, "-3.578134e-05", "%#e",
+__LINE__, -3.584484015191491e-28, "-0.0", "%+2.1f",
+__LINE__, -3.591961845146752e+27, "-3.59196E+27", "%G",
+__LINE__, -3.602508380305001e+26, "-3.60251e+26", "%g",
+__LINE__, -3.603113449808132e+04, "-36031.134498", "%+3.6f",
+__LINE__, -3.605569849504628e+25, "-4E+25", "%6.G",
+__LINE__, -3.611297754851416e+05, "-361129.775485", "%+f",
+__LINE__, -3.613177909959201e-28, "-0.000000", "%f",
+__LINE__, -3.616261225230595e-01, "-0.361626", "%3g",
+__LINE__, -3.619203521536307e+09, "-3.6192E+09", "%G",
+__LINE__, -3.619316709131723e-27, "-0.0000000", "%.7f",
+__LINE__, -3.623100583082346e+28, "-3.6231E+28", "%+G",
+__LINE__, -3.626582653589919e+21, "-3626582653589918603387.332041", "%f",
+__LINE__, -3.626667540343067e-30, "-4.E-30", "%#.0G",
+__LINE__, -3.633539220625861e-30, "-3.634E-30", "%+.3E",
+__LINE__, -3.641655782149502e-11, "-3.64166E-11", "%G",
+__LINE__, -3.644523594046571e+25, "-3.64452e+25", "%5g",
+__LINE__, -3.645977605394108e+25, "-3.646e+25", "%+0.3e",
+__LINE__, -3.647864582248812e+13, "-4E+13", "%4.G",
+__LINE__, -3.655241667633056e-25, "-3.655242E-25", "%E",
+__LINE__, -3.662603655433297e+23, "-3.662604e+23", "%e",
+__LINE__, -3.668995445134158e+22, " -4E+22", "%7.G",
+__LINE__, -3.670006666569412e-11, "-3.670007e-11", "%e",
+__LINE__, -3.670510381138509e-24, "-3.670510e-24", "%e",
+__LINE__, -3.671283003268254e-20, "-3.67128E-20", "%G",
+__LINE__, -3.687760201176777e-13, "-3.68776E-13", "%G",
+__LINE__, -3.687983982100676e-14, "-0.00", "%.2f",
+__LINE__, -3.694808382827435e-12, "-3.694808E-12", "%#E",
+__LINE__, -3.696158520838821e+28, "-3.69616E+28", "%3G",
+__LINE__, -3.700911860811323e+18, "-3.70091e+18", "%+g",
+__LINE__, -3.701328314738669e+24, "-3.70133e+24", "%g",
+__LINE__, -3.707068461822151e-19, "-3.707068E-19", "%E",
+__LINE__, -3.710679411506914e+25, "-3.71068e+25", "%g",
+__LINE__, -3.713003840923896e-23, "-3.713e-23", "%7g",
+__LINE__, -3.717028397747828e-28, "-3.71703e-28", "%g",
+__LINE__, -3.728159642236442e+14, "-3.72816E+14", "%G",
+__LINE__, -3.731956233637010e+21, "-3.73196E+21", "%G",
+__LINE__, -3.742336623322610e+07, "-3.74234e+07", "%g",
+__LINE__, -3.748328269630045e+04, "-37483.3", "%G",
+__LINE__, -3.750803081283569e-27, "-3.7508E-27", "%+7G",
+__LINE__, -3.752021500826652e-04, "-0.0004", "%.1G",
+__LINE__, -3.755942257004103e-12, "-3.75594E-12", "%G",
+__LINE__, -3.765921235889045e+03, " -4e+03", "%+7.g",
+__LINE__, -3.772453135667801e-28, "-3.77245E-28", "%G",
+__LINE__, -3.776384200230367e+27, "-3.776e+27", "%1.4g",
+__LINE__, -3.787035870684945e-25, "-4E-25", "%+3.G",
+__LINE__, -3.798616350818839e-29, "-3.7986164e-29", "%.7e",
+__LINE__, -3.807178315238428e-15, "-0.000000", "%+#6f",
+__LINE__, -3.822059837967635e+18, "-3822059837967634621.236357", "%6.6f",
+__LINE__, -3.823553096022006e+12, "-3.82355e+12", "%g",
+__LINE__, -3.839198115259428e-23, "-0.000000", "%f",
+__LINE__, -3.846953640321746e+02, "-3.846954E+02", "%E",
+__LINE__, -3.852230696542361e+08, "-3.8522e+08", "%#.5g",
+__LINE__, -3.861139362195314e-25, "-3.86114E-25", "%2G",
+__LINE__, -3.873388618099769e+09, "-3873388618", "%0.0f",
+__LINE__, -3.874161550543817e+15, "-3.874162e+15", "%+e",
+__LINE__, -3.874527935469425e+20, "-3.87E+20", "%3.3G",
+__LINE__, -3.878069577893697e-30, "-3.878070E-30", "%#E",
+__LINE__, -3.878852490397702e-20, "-3.87885e-20", "%g",
+__LINE__, -3.879688342272101e-10, "-0.00", "%#4.2f",
+__LINE__, -3.879797428399897e+03, "-3880", "%1.4g",
+__LINE__, -3.881588804766756e+00, "-3.9", "%+4.2G",
+__LINE__, -3.889377318111182e+01, "-38.8938", "%+.4f",
+__LINE__, -3.893444523430385e-03, "-0.004", "%+2.g",
+__LINE__, -3.894912141515856e+03, "-3894.91", "%+g",
+__LINE__, -3.905279115773667e+04, "-39052.791158", "%f",
+__LINE__, -3.905333955484919e-20, "-3.90533E-20", "%G",
+__LINE__, -3.906559442060730e+27, "-3906559442060730447110472596.250474", "%f",
+__LINE__, -3.909396469655334e-26, "-3.91E-26", "%.3G",
+__LINE__, -3.920132491092364e+11, "-3.92013e+11", "%g",
+__LINE__, -3.935651497471973e+27, "-3935651497471972604103029880", "%5.f",
+__LINE__, -3.939742577853889e-03, "-0.004", "%5.G",
+__LINE__, -3.943284017088198e+19, "-39432840170881981123.3", "%.1f",
+__LINE__, -3.947452186327660e+09, "-3947452186.33", "%0.2f",
+__LINE__, -3.951967237553488e+18, "-3951967237553488132.562052", "%f",
+__LINE__, -3.953673427359789e-28, "-3.954E-28", "%3.4G",
+__LINE__, -3.956044867371602e+23, "-4e+23", "%+6.1g",
+__LINE__, -3.965038994251913e-20, "-3.96504e-20", "%g",
+__LINE__, -3.970527677577937e+05, "-4.e+05", "%#0.1g",
+__LINE__, -3.970717822164395e-20, "-3.970718e-20", "%6e",
+__LINE__, -3.978063834438912e-19, "-3.97806E-19", "%G",
+__LINE__, -3.982705395472599e+27, "-3.9827e+27", "%#.5g",
+__LINE__, -3.983486821352571e-28, "-3.98349e-28", "%g",
+__LINE__, -3.985470630230926e-14, "-4e-14", "%.2g",
+__LINE__, -3.993095662863953e-16, "-3.993096e-16", "%e",
+__LINE__, -4.006984141314271e-22, " -4e-22", "%7.2g",
+__LINE__, -4.006984141314271e-22, "-4.0e-22", "%#7.2g",
+__LINE__, -4.013226099863981e+06, "-4.013226E+06", "%+E",
+__LINE__, -4.013702226581167e+00, "-4.0137022", "%+#3.7f",
+__LINE__, -4.017598274642537e+11, "-4E+11", "%5.G",
+__LINE__, -4.021385792825529e-09, " -4e-09", "%7.2g",
+__LINE__, -4.024099064819937e-20, "-4.0241E-20", "%+G",
+__LINE__, -4.026952473441366e+22, "-4.026952e+22", "%6.7g",
+__LINE__, -4.027636677087866e+12, "-4.02764E+12", "%G",
+__LINE__, -4.036506013049443e+17, "-4.03651e+17", "%0.6g",
+__LINE__, -4.063191953523012e-06, " -0.0", "%6.1f",
+__LINE__, -4.070953223475192e-23, "-4.07095E-23", "%G",
+__LINE__, -4.072425833070524e+09, "-4.072426E+09", "%E",
+__LINE__, -4.086025576759603e+12, "-4.086026e+12", "%e",
+__LINE__, -4.086627783296081e-24, "-4.087E-24", "%.3E",
+__LINE__, -4.086683676772144e+10, "-40866836767.721439", "%f",
+__LINE__, -4.087336043219081e-10, "-0.", "%+#0.f",
+__LINE__, -4.125162973336809e-26, "-4.125163E-26", "%.7G",
+__LINE__, -4.150753797717075e-10, "-4.2e-10", "%.2g",
+__LINE__, -4.152126152181912e+23, "-4.15213e+23", "%g",
+__LINE__, -4.164458223079432e-07, "-4.164458E-07", "%E",
+__LINE__, -4.170624866130099e+03, "-4170.624866", "%4.6f",
+__LINE__, -4.171137277374942e-01, " -4E-01", "%+7.E",
+__LINE__, -4.176067421901769e-25, "-4.17607E-25", "%G",
+__LINE__, -4.179514418604771e+24, "-4.1795e+24", "%3.5g",
+__LINE__, -4.196285183415621e+23, "-4.19629E+23", "%5G",
+__LINE__, -4.198600486581023e+23, "-4E+23", "%+4.G",
+__LINE__, -4.199020494598538e-16, "-0.000000", "%+f",
+__LINE__, -4.207824153501688e-01, "-0.420782", "%G",
+__LINE__, -4.219086441294006e-13, " -0", "%+4.f",
+__LINE__, -4.223689582765525e+12, "-4.22369e+12", "%g",
+__LINE__, -4.230213377391093e+04, "-42302.1", "%+2.6G",
+__LINE__, -4.232495358100605e-02, "-0.042325", "%+f",
+__LINE__, -4.235459662515940e-29, "-0.000000", "%f",
+__LINE__, -4.240807508057296e-07, "-4e-07", "%0.g",
+__LINE__, -4.248376819122346e-13, "-4.248377e-13", "%7e",
+__LINE__, -4.251361939638334e-23, "-4.251362E-23", "%E",
+__LINE__, -4.253044333568077e+24, "-4.253044e+24", "%4e",
+__LINE__, -4.255728039119772e-30, "-4.25573E-30", "%2G",
+__LINE__, -4.256502531648988e+02, "-425.65", "%G",
+__LINE__, -4.260731632612400e-04, "-0", "%2.f",
+__LINE__, -4.262037138254753e-25, "-4e-25", "%5.g",
+__LINE__, -4.270910126379393e+00, "-4.2709", "%#7.4f",
+__LINE__, -4.273844276097008e-09, " -0.", "%#4.f",
+__LINE__, -4.280424136111831e+21, "-4.280E+21", "%.3E",
+__LINE__, -4.284351940366486e-23, "-0.000000", "%+f",
+__LINE__, -4.291747881693517e-29, "-4.3e-29", "%+#.2g",
+__LINE__, -4.298346825232928e+04, "-42983.5", "%G",
+__LINE__, -4.298879924365432e+28, "-42988799243654316484253286034.800112", "%f",
+__LINE__, -4.302192665689887e-25, "-0.000000", "%f",
+__LINE__, -4.303899568112784e+06, "-4E+06", "%1.G",
+__LINE__, -4.307399960278190e-30, "-4.31e-30", "%.3g",
+__LINE__, -4.341161949359232e+01, "-43.411619", "%+f",
+__LINE__, -4.353334435604675e+17, " -4e+17", "%+7.g",
+__LINE__, -4.354760231068195e+08, "-4e+08", "%2.e",
+__LINE__, -4.363535913318519e+08, "-4.363536E+08", "%+7E",
+__LINE__, -4.365389605557404e-29, "-4.365390e-29", "%e",
+__LINE__, -4.369278570829168e-22, "-4.369279E-22", "%5E",
+__LINE__, -4.372187639240662e-11, "-4.37219e-11", "%+g",
+__LINE__, -4.374221079233858e-15, "-4.37422E-15", "%4.6G",
+__LINE__, -4.374840292001664e-13, "-0.000000", "%+f",
+__LINE__, -4.376554800103945e+16, "-43765548001039453.751559", "%f",
+__LINE__, -4.376659235899513e+07, "-4.4E+07", "%0.2G",
+__LINE__, -4.377316129868239e-06, "-4.37732E-06", "%+5G",
+__LINE__, -4.380028480226885e+21, "-4e+21", "%1.0e",
+__LINE__, -4.380434965450223e+16, "-43804349654502230.393405", "%f",
+__LINE__, -4.392477080355168e-15, "-4E-15", "%+2.G",
+__LINE__, -4.396120020536161e+17, "-439612002053616102.159594", "%#f",
+__LINE__, -4.400993154571784e+13, "-44009931545717.844159", "%f",
+__LINE__, -4.402873692051930e-26, "-4.4e-26", "%5.3g",
+__LINE__, -4.405330274903779e+24, "-4405330274903779042006135.568954", "%+5f",
+__LINE__, -4.406272291312090e+06, "-4.40627e+06", "%+g",
+__LINE__, -4.407065949816988e-13, "-0.000000", "%f",
+__LINE__, -4.408295597674563e-10, "-4.4083e-10", "%g",
+__LINE__, -4.417553815178214e-30, "-4.41755E-30", "%G",
+__LINE__, -4.428894120469459e+16, "-4.42889e+16", "%g",
+__LINE__, -4.433747825142046e+04, "-4.433748e+04", "%#e",
+__LINE__, -4.435051082856639e+11, "-4.43505E+11", "%G",
+__LINE__, -4.445045573007259e-27, "-4.445e-27", "%.5g",
+__LINE__, -4.447791368960968e-25, " -4e-25", "%+7.g",
+__LINE__, -4.449691386526521e-11, "-4.44969e-11", "%g",
+__LINE__, -4.451399093849402e+06, "-4.e+06", "%#0.e",
+__LINE__, -4.453753130320864e-22, "-4E-22", "%6.E",
+__LINE__, -4.455910780463539e+00, "-4", "%2.g",
+__LINE__, -4.464935674747308e+25, "-4.46494e+25", "%g",
+__LINE__, -4.469759565657550e-29, "-4.46976e-29", "%g",
+__LINE__, -4.473254139442931e+14, "-4E+14", "%3.1G",
+__LINE__, -4.480844704930373e-04, "-0.000448", "%5.6f",
+__LINE__, -4.484177356024563e+19, "-4.484177E+19", "%E",
+__LINE__, -4.488115678357666e-13, "-4.48812e-13", "%g",
+__LINE__, -4.491545112281561e+12, "-4.491545E+12", "%E",
+__LINE__, -4.492547433553077e-23, "-4.49255e-23", "%g",
+__LINE__, -4.492701755830813e-05, "-0.000045", "%f",
+__LINE__, -4.497405935096372e-02, "-4.497406e-02", "%e",
+__LINE__, -4.502764260212887e+21, "-4.50276E+21", "%G",
+__LINE__, -4.511984199938207e+29, "-451198419993820731832556703011.505306", "%f",
+__LINE__, -4.514517861504637e-13, "-4.51452e-13", "%g",
+__LINE__, -4.525577218881990e+24, "-4.5e+24", "%2.2g",
+__LINE__, -4.549244580903896e-26, "-5E-26", "%2.G",
+__LINE__, -4.569192488002113e-29, "-5E-29", "%3.G",
+__LINE__, -4.572011438847734e+17, "-4.57e+17", "%#.3g",
+__LINE__, -4.573010973514519e-08, "-4.57301e-08", "%+7g",
+__LINE__, -4.584534976177852e-04, "-0.000458453", "%7g",
+__LINE__, -4.584729895132228e-21, "-0.000000", "%4f",
+__LINE__, -4.585259328217483e-30, "-4.58526E-30", "%+#4.6G",
+__LINE__, -4.589603063610410e-04, "-4.589603E-04", "%+E",
+__LINE__, -4.592428795671033e+22, " -5e+22", "%7.g",
+__LINE__, -4.595683678223830e-20, " -0", "%5.f",
+__LINE__, -4.602585606100101e+05, "-4.602586E+05", "%E",
+__LINE__, -4.603375306660027e-08, "-5E-08", "%+6.G",
+__LINE__, -4.611341343728034e-18, "-4.611341e-18", "%5e",
+__LINE__, -4.613608487855863e+05, "-461361", "%6g",
+__LINE__, -4.615997775774194e-24, "-4.61600e-24", "%#g",
+__LINE__, -4.620310950564759e+23, "-462031095056475926696749", "%1.0f",
+__LINE__, -4.620645693595563e-10, "-4.6206457e-10", "%.7e",
+__LINE__, -4.621527706233292e-09, "-4.621528e-09", "%#e",
+__LINE__, -4.625215210297273e-13, "-4.62522E-13", "%G",
+__LINE__, -4.636755152220100e-29, "-0.000000", "%#f",
+__LINE__, -4.641203877508087e+23, "-4.6412e+23", "%0g",
+__LINE__, -4.648627249239175e+23, "-4.65E+23", "%+0.3G",
+__LINE__, -4.662546890623409e-10, "-4.663E-10", "%.3E",
+__LINE__, -4.664488650292317e-27, "-4.66449e-27", "%#g",
+__LINE__, -4.668715685060282e+08, "-466871568.50603", "%.5f",
+__LINE__, -4.673332851657081e-18, "-4.7e-18", "%#5.2g",
+__LINE__, -4.683361436174074e+24, "-4.68e+24", "%#.2e",
+__LINE__, -4.693748680461066e-01, "-0.469375", "%G",
+__LINE__, -4.697110010549124e+23, "-4.69711E+23", "%G",
+__LINE__, -4.710442739966989e+06, "-4.710443e+06", "%2e",
+__LINE__, -4.713427678642280e-09, "-4.71343e-09", "%g",
+__LINE__, -4.721999055940316e-04, "-4.721999e-04", "%#1e",
+__LINE__, -4.724262200578540e+17, "-472426220057853996.081576", "%+f",
+__LINE__, -4.733267644288093e+01, "-4.733268e+01", "%7e",
+__LINE__, -4.742854711396110e-11, "-0.000000", "%f",
+__LINE__, -4.757456106385936e+23, "-4.75746e+23", "%g",
+__LINE__, -4.770895495642298e+27, "-4770895495642298200777986494.358629", "%2f",
+__LINE__, -4.775073456318149e+29, "-4.775073E+29", "%#E",
+__LINE__, -4.779997387204258e+17, "-4.78e+17", "%g",
+__LINE__, -4.799264315770707e-23, "-4.799264E-23", "%+.7G",
+__LINE__, -4.814277930599660e+10, "-5e+10", "%2.1g",
+__LINE__, -4.818413387018612e+05, "-5e+05", "%.0g",
+__LINE__, -4.818827195107612e-16, "-4.818827e-16", "%e",
+__LINE__, -4.841524514024803e+21, "-4.84152E+21", "%G",
+__LINE__, -4.860585077313477e+10, "-4.86059E+10", "%+G",
+__LINE__, -4.870037451948589e+28, "-48700374519485887248038125107.996166", "%f",
+__LINE__, -4.888835952705153e-28, "-4.888836E-28", "%+E",
+__LINE__, -4.893523355754114e-19, "-4.893523e-19", "%.6e",
+__LINE__, -4.906070260482585e+17, "-490607026048258454", "%+.0f",
+__LINE__, -4.907734144101900e+25, "-5E+25", "%+.1G",
+__LINE__, -4.917899547741841e-25, "-4.917900e-25", "%e",
+__LINE__, -4.923348512538722e+25, "-49233485125387215219916470.232420", "%+.6f",
+__LINE__, -4.926052630078460e-26, "-4.926053e-26", "%e",
+__LINE__, -4.926751662051156e+14, "-4.927E+14", "%+5.3E",
+__LINE__, -4.928017952199046e-12, "-0.000000", "%f",
+__LINE__, -4.944296782981195e-21, "-4.9443E-21", "%1.5G",
+__LINE__, -4.947320427183599e-19, "-4.947320e-19", "%.6e",
+__LINE__, -4.968188938972135e+17, "-4.96819E+17", "%G",
+__LINE__, -4.968756725758674e+05, "-496876", "%G",
+__LINE__, -4.968788759793340e-26, "-4.97E-26", "%.3G",
+__LINE__, -4.983904999913364e-24, "-5E-24", "%0.G",
+__LINE__, -4.985209496522767e+23, "-4.985209e+23", "%e",
+__LINE__, -4.987363880732866e+08, "-4.98736E+08", "%G",
+__LINE__, -4.989754940144973e+05, "-498975.494014", "%f",
+__LINE__, -4.998203870733718e-25, "-4.9982e-25", "%g",
+__LINE__, -4.999153445016792e-27, "-5e-27", "%+1.e",
+__LINE__, -5.002693488258108e+06, " -5e+06", "%+7.g",
+__LINE__, -5.017958458603783e+05, "-5.0179585E+05", "%+.7E",
+__LINE__, -5.028902178573363e-12, "-5.0289e-12", "%0g",
+__LINE__, -5.032337536971444e+07, "-50323375.369714", "%f",
+__LINE__, -5.036525516370473e-24, "-5.0365e-24", "%4.5g",
+__LINE__, -5.038642321515756e+18, "-5038642321515755639.893541", "%f",
+__LINE__, -5.051003516976770e-14, "-5.051E-14", "%+G",
+__LINE__, -5.051196143816789e+27, "-5.0512e+27", "%g",
+__LINE__, -5.057372886713786e+28, "-5.057373e+28", "%#e",
+__LINE__, -5.057475029459727e+12, "-5.05748e+12", "%+g",
+__LINE__, -5.068286816124670e-17, "-5.068E-17", "%5.3E",
+__LINE__, -5.070475165759468e-12, "-0.000000", "%4.6f",
+__LINE__, -5.081352543220476e+20, "-5.081E+20", "%.3E",
+__LINE__, -5.084398319179363e+11, "-508439831917.936313", "%#f",
+__LINE__, -5.085781220648484e+05, "-5.E+05", "%+#7.G",
+__LINE__, -5.094941054632498e-24, "-5.09494E-24", "%+G",
+__LINE__, -5.100059596310871e-10, "-5.10006e-10", "%3.6g",
+__LINE__, -5.103072553594136e-01, "-0.5", "%+1.g",
+__LINE__, -5.106319890388412e+08, "-5.106320e+08", "%4e",
+__LINE__, -5.107120687977690e+09, "-5107120687.977690", "%f",
+__LINE__, -5.119910716893161e-13, "-5.11991E-13", "%6G",
+__LINE__, -5.127594569425709e-29, "-5.12759e-29", "%#g",
+__LINE__, -5.130365585632797e+29, "-5.13037e+29", "%#g",
+__LINE__, -5.131415638022112e+08, "-513141563.802211", "%0f",
+__LINE__, -5.144703216335916e-23, "-5.1447e-23", "%g",
+__LINE__, -5.152511923201882e-05, "-5.15251E-05", "%+G",
+__LINE__, -5.165484448280190e-12, " -0.0", "%5.1f",
+__LINE__, -5.179220760465737e-20, "-5e-20", "%+5.g",
+__LINE__, -5.183005119662180e-10, "-5.183005E-10", "%+E",
+__LINE__, -5.199587953258117e+13, "-5.19959e+13", "%6g",
+__LINE__, -5.202041951844580e-25, "-0.000000", "%f",
+__LINE__, -5.202836038621740e+00, "-5.20284", "%G",
+__LINE__, -5.212204099528552e-11, "-5.2122e-11", "%.6g",
+__LINE__, -5.225617726710534e+17, "-522561772671053414.995868", "%+f",
+__LINE__, -5.230162003281426e+25, "-52301620032814257754694153.84578", "%+6.5f",
+__LINE__, -5.251849429321286e-11, "-5.25185e-11", "%g",
+__LINE__, -5.265174939930368e+23, "-5.265175E+23", "%1.6E",
+__LINE__, -5.271218134351422e+21, "-5.27122e+21", "%+1g",
+__LINE__, -5.273823357545750e+17, "-527382335754575048.980541", "%f",
+__LINE__, -5.279848797214957e+11, "-527984879721.495659", "%0f",
+__LINE__, -5.281551888625290e+11, "-5e+11", "%4.g",
+__LINE__, -5.281780377142961e-24, "-5.28178e-24", "%g",
+__LINE__, -5.292125782379512e+03, "-5292.125782", "%f",
+__LINE__, -5.292401691410388e+15, "-5292401691410387.520875", "%f",
+__LINE__, -5.305120752102265e-25, "-5.30512e-25", "%+#.5e",
+__LINE__, -5.317975791704413e+16, "-5.31798e+16", "%+g",
+__LINE__, -5.336522843607233e+27, "-5.33652e+27", "%#6g",
+__LINE__, -5.342016438000917e-05, " -5e-05", "%+7.e",
+__LINE__, -5.351122291549103e+06, "-5351122.291549", "%+0f",
+__LINE__, -5.352043956303597e+00, "-5.35204", "%g",
+__LINE__, -5.353582488767747e+09, "-5.354E+09", "%7.3E",
+__LINE__, -5.383420177718380e+04, "-5e+04", "%1.e",
+__LINE__, -5.384320189791882e-10, "-5.384320e-10", "%e",
+__LINE__, -5.409487543257379e-12, "-5.40949E-12", "%G",
+__LINE__, -5.418395794776773e+23, "-5.4184e+23", "%g",
+__LINE__, -5.419918795921525e-09, "-0.000000", "%+f",
+__LINE__, -5.422374157832442e+11, "-5.42237e+11", "%3g",
+__LINE__, -5.426916951577001e-27, "-5.42692E-27", "%+G",
+__LINE__, -5.430058833461779e+28, "-5.43006E+28", "%G",
+__LINE__, -5.444433348653147e+23, "-5.444433E+23", "%E",
+__LINE__, -5.446560186537024e+09, "-5.446560E+09", "%E",
+__LINE__, -5.464243500152188e+27, "-5.46424E+27", "%G",
+__LINE__, -5.464427517531742e+20, "-546442751753174249529.365625", "%f",
+__LINE__, -5.465783705970954e+05, "-5E+05", "%1.E",
+__LINE__, -5.475138077475789e-11, "-5e-11", "%.0e",
+__LINE__, -5.475302250616576e+10, "-54753022506.1658", "%.4f",
+__LINE__, -5.488964905442472e+09, "-5.48896e+09", "%g",
+__LINE__, -5.492508526846316e-08, "-5.49251e-08", "%.6g",
+__LINE__, -5.520533408804846e-15, "-5.520533e-15", "%e",
+__LINE__, -5.532744688447266e+28, "-55327446884472664123677532188.594341", "%2.6f",
+__LINE__, -5.535834653450131e-14, "-5.5e-14", "%0.1e",
+__LINE__, -5.554344735392882e-02, "-5.554345E-02", "%+#E",
+__LINE__, -5.555497334515501e-17, "-5.5555e-17", "%g",
+__LINE__, -5.558304303221977e+14, "-555830430322197.699411", "%f",
+__LINE__, -5.562210815777694e-05, "-5.562211E-05", "%#1E",
+__LINE__, -5.564800722538402e-09, "-5.56480e-09", "%#.6g",
+__LINE__, -5.567143271590439e-01, "-5.567143e-01", "%#e",
+__LINE__, -5.568606044396186e+01, "-55.6861", "%4g",
+__LINE__, -5.592027856401721e+12, "-5.592028e+12", "%.7g",
+__LINE__, -5.592295342565443e+22, "-6.E+22", "%#3.G",
+__LINE__, -5.600007421926053e+07, "-56000074.219261", "%1f",
+__LINE__, -5.601444553155006e-12, "-5.60144E-12", "%G",
+__LINE__, -5.605128912835080e-03, "-0.005605", "%+f",
+__LINE__, -5.610950285679577e+19, "-5.61095E+19", "%G",
+__LINE__, -5.622074657679467e+11, "-562207465767.946690", "%f",
+__LINE__, -5.627358352391656e-01, "-0.6", "%1.g",
+__LINE__, -5.627974317622488e-02, "-5.627974e-02", "%+e",
+__LINE__, -5.629497696447229e+27, "-5.629E+27", "%+.4G",
+__LINE__, -5.631383567258576e-29, "-5.63138e-29", "%0g",
+__LINE__, -5.635241327177333e-18, "-5.63524E-18", "%G",
+__LINE__, -5.644819783138381e+06, "-5.644820E+06", "%#E",
+__LINE__, -5.648538459114833e+26, "-564853845911483265496144667.849876", "%+f",
+__LINE__, -5.649004865848537e+00, "-5.649", "%g",
+__LINE__, -5.653403316885170e+23, "-6E+23", "%2.0E",
+__LINE__, -5.656109962244926e-18, "-0.000000", "%f",
+__LINE__, -5.674988031695793e+22, "-5.674988E+22", "%+.7G",
+__LINE__, -5.686380226400881e-22, "-0.000000", "%f",
+__LINE__, -5.698840855829442e-14, "-5.69884E-14", "%G",
+__LINE__, -5.707036642649580e+03, "-5707.036643", "%f",
+__LINE__, -5.710344882278847e+11, "-5.71034E+11", "%+G",
+__LINE__, -5.714852196401017e+19, "-5.71485E+19", "%+G",
+__LINE__, -5.720153622156089e-22, "-5.72015E-22", "%G",
+__LINE__, -5.722366011976922e+26, "-5.72237e+26", "%+g",
+__LINE__, -5.722909928097404e+12, "-5.72291E+12", "%2G",
+__LINE__, -5.725325961787777e-25, "-5.72533e-25", "%g",
+__LINE__, -5.727138241052646e+19, "-5.72714e+19", "%+#g",
+__LINE__, -5.734025840446336e+14, "-5.73403e+14", "%+g",
+__LINE__, -5.736469106710259e-05, "-0.000057", "%.6f",
+__LINE__, -5.755099153733116e-14, "-5.7551e-14", "%+g",
+__LINE__, -5.758411844890947e-20, "-6E-20", "%+6.G",
+__LINE__, -5.760350214122813e+03, "-5760.35", "%+g",
+__LINE__, -5.768009192512392e-30, "-0", "%1.f",
+__LINE__, -5.772343286693103e+07, "-5.77234E+07", "%G",
+__LINE__, -5.776693265471852e-27, "-5.776693E-27", "%E",
+__LINE__, -5.779682861172754e-28, "-5.779683e-28", "%e",
+__LINE__, -5.789953490749936e+26, "-578995349074993637117358957.76656", "%5.5f",
+__LINE__, -5.796771264754334e+04, "-57967.7", "%g",
+__LINE__, -5.804788370597286e-02, "-5.80479E-02", "%+#1.5E",
+__LINE__, -5.805343475329215e-13, "-5.80534e-13", "%g",
+__LINE__, -5.809853913830122e+09, "-5809853914", "%+0.f",
+__LINE__, -5.817313814570609e-30, " -0", "%7.0f",
+__LINE__, -5.831708441750138e+00, "-5.83171", "%#g",
+__LINE__, -5.846914550593652e+29, "-5.846915e+29", "%e",
+__LINE__, -5.851455214762288e+04, "-58514.6", "%+G",
+__LINE__, -5.855803663871393e-23, "-6E-23", "%5.E",
+__LINE__, -5.858065129988470e+10, "-5.85807e+10", "%+g",
+__LINE__, -5.863147168075411e-14, "-5.86315e-14", "%+g",
+__LINE__, -5.878936740266680e-04, "-0.000587894", "%g",
+__LINE__, -5.887654893386630e+25, "-58876548933866299506689756.526612", "%#f",
+__LINE__, -5.889416409731902e-02, "-0.06", "%5.g",
+__LINE__, -5.897630195029892e-18, "-5.897630E-18", "%#0.7G",
+__LINE__, -5.898506808456422e-19, "-5.89851E-19", "%G",
+__LINE__, -5.901768645393515e+29, "-5.90177E+29", "%+G",
+__LINE__, -5.907529093570369e+10, "-59075290935.703695", "%f",
+__LINE__, -5.910069365260240e+13, "-59100693652602.39849", "%+#5.5f",
+__LINE__, -5.915678929676435e-07, "-0.000001", "%+f",
+__LINE__, -5.922232380131716e-01, "-0.592223", "%+3f",
+__LINE__, -5.923716473994306e+19, "-5.92372E+19", "%+#.6G",
+__LINE__, -5.929950428920404e-15, "-5.929950e-15", "%+e",
+__LINE__, -5.949552735665802e+26, "-5.94955e+26", "%#g",
+__LINE__, -5.949977081310732e-02, "-0.059500", "%f",
+__LINE__, -5.954520303889356e-07, "-5.954520E-07", "%5E",
+__LINE__, -5.978861337429145e-13, "-6E-13", "%1.G",
+__LINE__, -5.980539445081087e+15, "-5.98054E+15", "%.6G",
+__LINE__, -5.981724990853490e-03, " -0.006", "%#7.g",
+__LINE__, -5.989488907825821e+03, "-6E+03", "%.2G",
+__LINE__, -5.998272294890842e+06, "-6.00E+06", "%4.2E",
+__LINE__, -6.023775731455919e-29, "-6.023776e-29", "%e",
+__LINE__, -6.028153126666870e-05, "-6.e-05", "%+#6.e",
+__LINE__, -6.036200621484690e+25, "-6e+25", "%2.2g",
+__LINE__, -6.036400640928137e-14, "-6.036401e-14", "%e",
+__LINE__, -6.038198451098329e-20, "-6.038198e-20", "%1.7g",
+__LINE__, -6.045778975641123e-15, "-6.04578E-15", "%G",
+__LINE__, -6.046038904252073e+00, "-6.04604", "%g",
+__LINE__, -6.082158462782175e-06, "-0.000006", "%+#f",
+__LINE__, -6.106162726644904e+10, "-6.10616e+10", "%g",
+__LINE__, -6.126345215489182e+10, "-6e+10", "%+1.g",
+__LINE__, -6.131852309620571e+02, "-6e+02", "%4.e",
+__LINE__, -6.134589313243809e-01, "-0.613459", "%+#f",
+__LINE__, -6.142358153783462e-10, "-6.14236E-10", "%4G",
+__LINE__, -6.151524334856263e+27, "-6151524334856262932191839354.345575", "%+6f",
+__LINE__, -6.156818333724550e+04, "-6.e+04", "%#.1g",
+__LINE__, -6.166172551433993e+24, "-6166172551433993120895138.4178", "%5.4f",
+__LINE__, -6.169532428006014e-09, "-6.16953e-09", "%3g",
+__LINE__, -6.172019382601770e-28, "-0.000000", "%+f",
+__LINE__, -6.174496985807155e-09, "-6.1745E-09", "%G",
+__LINE__, -6.186771845105751e+04, "-61867.7", "%G",
+__LINE__, -6.200817973780066e+22, "-6.20082E+22", "%3G",
+__LINE__, -6.218004335456301e-22, "-0.000000", "%+f",
+__LINE__, -6.219009630546262e-18, "-6.22e-18", "%6.3g",
+__LINE__, -6.242532875230618e-06, "-0.000006", "%7f",
+__LINE__, -6.243612261280864e+14, "-6.24361e+14", "%.6g",
+__LINE__, -6.243689597320126e+10, "-6e+10", "%.0e",
+__LINE__, -6.244620667090527e+04, "-6e+04", "%6.e",
+__LINE__, -6.250789625572054e-09, "-0.000000", "%+f",
+__LINE__, -6.253537566219164e+01, "-63.", "%#1.f",
+__LINE__, -6.284420289484166e+21, "-6.2844203e+21", "%7.7e",
+__LINE__, -6.285939888202846e+27, "-6e+27", "%+.0g",
+__LINE__, -6.290025777678105e+13, "-6E+13", "%2.E",
+__LINE__, -6.291364254323924e+10, "-6.3E+10", "%3.2G",
+__LINE__, -6.292428812164449e+15, "-6292428812164448.714839", "%.6f",
+__LINE__, -6.292600606358002e+29, "-6.29260E+29", "%#G",
+__LINE__, -6.292739629144148e-15, "-6.292740E-15", "%E",
+__LINE__, -6.296471626465745e+28, "-6.29647E+28", "%G",
+__LINE__, -6.299575066640315e+27, "-6.300E+27", "%.3E",
+__LINE__, -6.315234679394876e-24, "-6E-24", "%2.G",
+__LINE__, -6.320883246383228e-01, "-0.632088", "%2g",
+__LINE__, -6.324938413548937e-11, "-6e-11", "%.1g",
+__LINE__, -6.336312983176250e+04, "-6.336313e+04", "%e",
+__LINE__, -6.341786787214541e+06, "-6.341787E+06", "%+7.6E",
+__LINE__, -6.360189291106185e-15, "-0.0000000", "%#.7f",
+__LINE__, -6.364818355457748e-15, "-0.0000000", "%1.7f",
+__LINE__, -6.366291103431814e+04, "-63662.9", "%#G",
+__LINE__, -6.366334042923153e-05, "-6.37e-05", "%5.3g",
+__LINE__, -6.370477455143194e-12, "-0.000000", "%f",
+__LINE__, -6.372829256546279e+23, "-6.37283E+23", "%G",
+__LINE__, -6.375208490193110e-23, "-6.37521e-23", "%4.5e",
+__LINE__, -6.382595100891736e-24, "-6.3826E-24", "%5G",
+__LINE__, -6.396882421146790e-22, "-6.39688e-22", "%+g",
+__LINE__, -6.407190354039938e+08, "-6.40719e+08", "%+g",
+__LINE__, -6.408581541430886e-10, "-6.E-10", "%#0.0G",
+__LINE__, -6.409206904981703e-03, "-0.006", "%+.0G",
+__LINE__, -6.416106714707772e+26, "-641610671470777216285341637.558304", "%f",
+__LINE__, -6.417436981761998e-04, "-0.000642", "%+#f",
+__LINE__, -6.429997249673124e+11, "-642999724967.312414", "%#f",
+__LINE__, -6.440827429825250e+16, "-6.44083E+16", "%G",
+__LINE__, -6.444869858444955e+02, "-6e+02", "%6.g",
+__LINE__, -6.471701890976228e-25, " -6e-25", "%7.1g",
+__LINE__, -6.485393161670371e-12, "-6.485393e-12", "%.6e",
+__LINE__, -6.487710907063584e+23, "-6.E+23", "%#3.E",
+__LINE__, -6.492942931343439e-08, "-0.", "%+#2.0f",
+__LINE__, -6.496010652113223e+18, "-6.49601e+18", "%g",
+__LINE__, -6.502856921840228e+22, "-6.50286e+22", "%4g",
+__LINE__, -6.523559906055000e-10, "-6.52356E-10", "%.6G",
+__LINE__, -6.525899074126662e+04, "-6.5e+04", "%+.1e",
+__LINE__, -6.532216801155521e-09, "-6.53222E-09", "%G",
+__LINE__, -6.544601787025684e-27, "-0", "%+.0f",
+__LINE__, -6.558968312132168e-01, " -1", "%+6.f",
+__LINE__, -6.559654261655786e+08, "-6.559654e+08", "%e",
+__LINE__, -6.566562622196495e-21, "-6.56656E-21", "%.6G",
+__LINE__, -6.573486832071960e+04, "-65734.9", "%G",
+__LINE__, -6.573806290918275e+13, "-6.57381E+13", "%G",
+__LINE__, -6.578113771674787e+17, "-6.57811E+17", "%+#G",
+__LINE__, -6.584106931007506e+15, "-6.584107E+15", "%E",
+__LINE__, -6.590538844308877e+07, "-65905388.443089", "%f",
+__LINE__, -6.593708834068371e-07, "-0.000001", "%f",
+__LINE__, -6.597116446195875e+08, "-6.5971164e+08", "%#1.7e",
+__LINE__, -6.605813542127091e-04, "-0.0007", "%+0.g",
+__LINE__, -6.607491403866429e+07, "-7e+07", "%3.g",
+__LINE__, -6.616499847522278e+09, "-6.61650E+09", "%+#G",
+__LINE__, -6.618619768691332e+20, "-7E+20", "%2.G",
+__LINE__, -6.626748168962331e-22, "-7.E-22", "%+#3.E",
+__LINE__, -6.639335450348280e+12, "-6.63934e+12", "%g",
+__LINE__, -6.643910144912576e-03, "-0.006644", "%f",
+__LINE__, -6.650293872031870e-18, "-6.65029e-18", "%+#g",
+__LINE__, -6.654903858656310e-21, "-0.000000", "%f",
+__LINE__, -6.665834666726511e-12, "-6.665835E-12", "%E",
+__LINE__, -6.666428729917570e-19, "-0.000000", "%+#f",
+__LINE__, -6.668415789681128e+27, "-6.66842E+27", "%+G",
+__LINE__, -6.675214676269601e-28, "-6.67521e-28", "%#g",
+__LINE__, -6.679560072732262e+01, "-66.7956", "%#g",
+__LINE__, -6.692325075457020e-19, "-0.000000", "%1f",
+__LINE__, -6.697096655164652e+00, "-6.70", "%#.3g",
+__LINE__, -6.712436135928394e-28, "-7e-28", "%0.g",
+__LINE__, -6.720769486122685e-16, "-7e-16", "%0.e",
+__LINE__, -6.727196898490600e+26, "-672719689849060031860972230.8", "%.1f",
+__LINE__, -6.744132627576416e+02, "-674.413", "%6G",
+__LINE__, -6.757705576425288e+28, "-6.7577056e+28", "%.7e",
+__LINE__, -6.760554929237173e-02, "-0.067606", "%+f",
+__LINE__, -6.763538810629361e+10, "-6.7635E+10", "%.4E",
+__LINE__, -6.764712008860796e-29, "-6.76471E-29", "%+G",
+__LINE__, -6.767299719678443e+04, "-67672.997197", "%f",
+__LINE__, -6.768326491352134e+20, "-676832649135213415547.70", "%+.2f",
+__LINE__, -6.771116968952891e+03, "-7E+03", "%3.1G",
+__LINE__, -6.775218099238350e-30, "-7.e-30", "%+#6.g",
+__LINE__, -6.782142689928918e-18, "-0.00", "%4.2f",
+__LINE__, -6.795409770512149e+08, "-7E+08", "%+5.0G",
+__LINE__, -6.820966157097271e+14, "-6.820966e+14", "%e",
+__LINE__, -6.824972990592273e-22, "-0.00", "%+#1.2f",
+__LINE__, -6.830452914741750e+29, "-6.8E+29", "%+7.2G",
+__LINE__, -6.835797187132348e+10, "-6.8358E+10", "%+5G",
+__LINE__, -6.837040829636343e-03, "-0.00683704", "%+g",
+__LINE__, -6.852956218658224e+23, "-6.85296e+23", "%3g",
+__LINE__, -6.854102607287217e-26, "-7e-26", "%5.e",
+__LINE__, -6.865065870249438e+16, "-6.86507E+16", "%#G",
+__LINE__, -6.884819522625523e-13, "-6.88482E-13", "%5G",
+__LINE__, -6.916316600148513e-12, "-0.000000", "%f",
+__LINE__, -6.925312418761560e-05, "-6.92531E-05", "%#G",
+__LINE__, -6.929518694178331e+09, "-6929518694.178", "%#.3f",
+__LINE__, -6.936008056682024e+02, "-6.936008E+02", "%E",
+__LINE__, -6.944911117352400e+26, "-6.944911E+26", "%1.6E",
+__LINE__, -6.945829492125162e+05, "-6.9e+05", "%+2.2g",
+__LINE__, -6.946603162471856e-13, "-6.94660E-13", "%#G",
+__LINE__, -6.947529440406653e+22, "-6.9475e+22", "%+6.5g",
+__LINE__, -6.950167604854856e-30, "-0.000000", "%7f",
+__LINE__, -6.958122319262799e-26, "-7E-26", "%+1.E",
+__LINE__, -6.958978258390961e+16, "-6.95898E+16", "%+5.6G",
+__LINE__, -6.963780466334008e-06, "-6.96378E-06", "%2G",
+__LINE__, -6.965570896221966e+13, "-6.965571E+13", "%5E",
+__LINE__, -6.967741871945064e-10, "-6.96774E-10", "%+#G",
+__LINE__, -6.973815739524307e+19, "-69738157395243067782.076", "%6.3f",
+__LINE__, -6.982714545008106e+13, "-6.98271e+13", "%g",
+__LINE__, -6.985955885054476e+03, "-6985.96", "%6G",
+__LINE__, -6.986415266835747e+18, "-6.98642e+18", "%#g",
+__LINE__, -6.996461529596512e-08, "-7.0E-08", "%#.1E",
+__LINE__, -7.000144914012241e-05, "-7.00014e-05", "%#g",
+__LINE__, -7.001017894492730e-03, "-0.00700102", "%+#.6G",
+__LINE__, -7.003690685875917e+20, "-7E+20", "%0.G",
+__LINE__, -7.010454163965384e+00, "-7.010454e+00", "%+e",
+__LINE__, -7.011493550018082e-26, " -0", "%7.f",
+__LINE__, -7.018018443394008e+21, "-7.0E+21", "%+#1.1E",
+__LINE__, -7.027253777387243e-05, "-7.02725E-05", "%+G",
+__LINE__, -7.043679213677740e-17, "-0", "%1.f",
+__LINE__, -7.051690489227881e-16, "-7.052e-16", "%0.4g",
+__LINE__, -7.063422475274161e-16, "-7.063422E-16", "%E",
+__LINE__, -7.065069592235558e-30, "-7.06507e-30", "%+#g",
+__LINE__, -7.068265283935834e-29, "-7e-29", "%+5.e",
+__LINE__, -7.068748224536295e-13, "-0.000000", "%f",
+__LINE__, -7.069621910708177e-04, "-0.000707", "%1.3g",
+__LINE__, -7.079725450964823e-12, "-0.000000", "%f",
+__LINE__, -7.087255464668218e+17, "-7.1e+17", "%.1e",
+__LINE__, -7.088715102009605e-09, "-7e-09", "%6.0g",
+__LINE__, -7.090414916270137e-15, "-0.00000", "%.5f",
+__LINE__, -7.091868311008428e-03, " -0.0", "%5.1f",
+__LINE__, -7.094242165237718e+21, "-7.09424e+21", "%+g",
+__LINE__, -7.094324305740325e-05, "-7E-05", "%+3.G",
+__LINE__, -7.104544752289144e+04, "-71045.4", "%#g",
+__LINE__, -7.105164644813694e-29, "-0.000000", "%+f",
+__LINE__, -7.114513164219487e-12, "-7.11451e-12", "%+g",
+__LINE__, -7.115778236604137e-12, "-7.11578E-12", "%G",
+__LINE__, -7.126217683410162e-27, "-7.126218e-27", "%e",
+__LINE__, -7.136214260967733e+28, "-71362142609677334803564008325.338364", "%f",
+__LINE__, -7.143452595522573e+19, "-7.14345e+19", "%g",
+__LINE__, -7.156042088843537e+27, "-7156042088843537207765166385.7977837", "%4.7f",
+__LINE__, -7.173687683710490e+24, "-7.17369e+24", "%6g",
+__LINE__, -7.190531162598206e+25, "-71905311625982060164119503", "%4.f",
+__LINE__, -7.201301831373747e-09, "-7.2013e-09", "%g",
+__LINE__, -7.209601436737306e+10, "-7.2096e+10", "%g",
+__LINE__, -7.211058997356655e-06, "-7.211059E-06", "%E",
+__LINE__, -7.226756177676272e-09, "-7.22676E-09", "%+G",
+__LINE__, -7.230870817566419e+19, "-72308708175664193618.1040364", "%#.7f",
+__LINE__, -7.231355992133345e-05, "-7.231356E-05", "%#E",
+__LINE__, -7.245999575278407e-12, "-7.246e-12", "%g",
+__LINE__, -7.247426403040390e-09, "-7.2474E-09", "%+4.5G",
+__LINE__, -7.257348680308567e-12, "-7.3E-12", "%1.2G",
+__LINE__, -7.258184256387366e-26, "-7.25818E-26", "%+2G",
+__LINE__, -7.262633672900126e+10, "-7.26263e+10", "%#g",
+__LINE__, -7.268887462426250e+03, "-7.268887e+03", "%+#e",
+__LINE__, -7.275284494682963e+08, "-7.27528e+08", "%g",
+__LINE__, -7.276335846256479e-07, " -0", "%4.f",
+__LINE__, -7.312556378294452e+15, "-7.31256e+15", "%+6g",
+__LINE__, -7.334763752442417e-15, "-0.0000", "%#.4f",
+__LINE__, -7.354627097325888e-18, "-7E-18", "%0.E",
+__LINE__, -7.360087573342401e-25, "-7.4E-25", "%6.2G",
+__LINE__, -7.368533563361098e-29, "-7.4E-29", "%3.1E",
+__LINE__, -7.379267723540596e-06, "-0.000007", "%f",
+__LINE__, -7.384525781709565e-19, "-0.000000", "%+#f",
+__LINE__, -7.388940868679677e-09, "-7.388941E-09", "%E",
+__LINE__, -7.391602149099698e+00, "-7.391602E+00", "%E",
+__LINE__, -7.393159340196723e+22, "-7.39316e+22", "%#2.6g",
+__LINE__, -7.399783260198277e-16, "-7.39978E-16", "%G",
+__LINE__, -7.405609590448331e-06, "-7.40561e-06", "%g",
+__LINE__, -7.407396977847794e-11, "-7.40740E-11", "%#G",
+__LINE__, -7.433716848698637e+20, "-7.43372e+20", "%+g",
+__LINE__, -7.444176062769411e-01, "-0.744418", "%#g",
+__LINE__, -7.448314697244012e+12, "-7448314697244.011739", "%f",
+__LINE__, -7.449533988369018e+08, "-7.449534e+08", "%+#7e",
+__LINE__, -7.465682839758801e-01, "-7E-01", "%4.E",
+__LINE__, -7.466517843126368e-26, "-7.5E-26", "%.1E",
+__LINE__, -7.471385785539900e+24, "-7471385785539899515583783.795591", "%f",
+__LINE__, -7.478345583780341e+00, "-7.478346e+00", "%e",
+__LINE__, -7.524759284626724e-06, "-7.52476e-06", "%2g",
+__LINE__, -7.534831049342539e-19, "-7.53483E-19", "%G",
+__LINE__, -7.540546673179273e+15, "-8e+15", "%.1g",
+__LINE__, -7.543440436184003e-08, "-7.54344E-08", "%6G",
+__LINE__, -7.558224240835564e-06, "-7.55822e-06", "%g",
+__LINE__, -7.564132915154469e+23, "-756413291515446850610260.298708", "%+f",
+__LINE__, -7.566590720355392e+15, "-7.566591e+15", "%1.6e",
+__LINE__, -7.568565927479741e-01, "-7.568566e-01", "%#6e",
+__LINE__, -7.615574141973305e-17, "-7.6156e-17", "%+.5g",
+__LINE__, -7.641297631509318e-28, "-8e-28", "%+.1g",
+__LINE__, -7.661227834163450e+09, "-7661227834.1634497", "%+#.7f",
+__LINE__, -7.665934364070126e+11, "-766593436407.0", "%.1f",
+__LINE__, -7.682500068463102e-27, "-0.000000", "%+#f",
+__LINE__, -7.709363160273798e+15, "-7.70936e+15", "%g",
+__LINE__, -7.712596019255238e+26, "-7.7e+26", "%.2g",
+__LINE__, -7.730213358437991e+25, "-7.7e+25", "%6.2g",
+__LINE__, -7.744420019068976e+05, "-7.74442E+05", "%.5E",
+__LINE__, -7.745813181942296e+11, "-7.7458132e+11", "%+.7e",
+__LINE__, -7.751004379716307e+16, "-7.751004e+16", "%e",
+__LINE__, -7.759862226564527e-28, "-7.75986e-28", "%g",
+__LINE__, -7.767838880221207e-27, "-7.76784e-27", "%g",
+__LINE__, -7.776301142157532e-19, "-0", "%2.f",
+__LINE__, -7.783944257077553e-14, "-8e-14", "%3.g",
+__LINE__, -7.801587579382377e+28, "-8e+28", "%+0.g",
+__LINE__, -7.806685979552780e+25, "-7.806686E+25", "%E",
+__LINE__, -7.825968891331719e-05, "-7.82597E-05", "%G",
+__LINE__, -7.826834158664018e+12, "-7.826834E+12", "%+#E",
+__LINE__, -7.832536798726886e+24, "-7.83254E+24", "%#1G",
+__LINE__, -7.840485340202362e-18, "-0.000000", "%.6f",
+__LINE__, -7.843236212099233e+21, "-7.84324e+21", "%g",
+__LINE__, -7.906644052019278e-13, "-7.906644E-13", "%E",
+__LINE__, -7.908090440678874e-20, "-7.90809E-20", "%#G",
+__LINE__, -7.917588593012283e+08, "-7.917589E+08", "%+E",
+__LINE__, -7.929100086742454e+29, "-792910008674245414539427656563.930213", "%f",
+__LINE__, -7.933235286034290e+26, "-7.933235E+26", "%E",
+__LINE__, -7.943431966567875e-03, "-0.0079434", "%+.5g",
+__LINE__, -7.950872643572970e-22, "-7.95087e-22", "%2g",
+__LINE__, -7.971225555313069e-01, "-0.797123", "%f",
+__LINE__, -7.978310272676090e-12, "-0.000000", "%#f",
+__LINE__, -8.006805393896414e-29, "-8.00681E-29", "%G",
+__LINE__, -8.006906303018830e+25, "-8.00691E+25", "%+G",
+__LINE__, -8.008484654476057e+18, "-8.008485e+18", "%5.6e",
+__LINE__, -8.008943512904249e+27, "-8008943512904249217854157905.0943", "%+.4f",
+__LINE__, -8.016539743121665e+27, "-8.01654E+27", "%G",
+__LINE__, -8.018247227006128e-05, " -8E-05", "%7.G",
+__LINE__, -8.044391842561705e+21, "-8.04439e+21", "%g",
+__LINE__, -8.081902305002036e-02, "-8.081902E-02", "%E",
+__LINE__, -8.084193011936438e-03, "-0.0080842", "%+5.5g",
+__LINE__, -8.105813534846529e-27, "-0.000000", "%f",
+__LINE__, -8.128116892989251e+00, "-8.12812", "%G",
+__LINE__, -8.136119035731877e+05, "-8e+05", "%+0.g",
+__LINE__, -8.140584224052606e+14, "-8E+14", "%5.G",
+__LINE__, -8.145928897003907e+13, "-8.15E+13", "%.3G",
+__LINE__, -8.164495905907508e-02, "-0.081645", "%G",
+__LINE__, -8.169602113313905e+20, "-8.16960e+20", "%#g",
+__LINE__, -8.179181640418333e+24, "-8.E+24", "%#.1G",
+__LINE__, -8.184324492264231e-18, "-8.18432E-18", "%G",
+__LINE__, -8.186480473850516e-28, "-0.000000", "%+f",
+__LINE__, -8.196858948158896e+07, "-8.1969E+07", "%.4E",
+__LINE__, -8.213138534699043e-30, "-0.000000", "%f",
+__LINE__, -8.221181368676532e-21, "-8.221181E-21", "%#1E",
+__LINE__, -8.222605734191438e+16, "-8.22261E+16", "%+G",
+__LINE__, -8.223925661091432e-14, "-8.223926e-14", "%0e",
+__LINE__, -8.232281541044777e-01, "-0.823228", "%f",
+__LINE__, -8.245536794508725e+22, "-8E+22", "%6.G",
+__LINE__, -8.270687365305925e+25, "-82706873653059247430974210.146815", "%f",
+__LINE__, -8.288978945738204e+11, "-8.28898e+11", "%5g",
+__LINE__, -8.290628698333139e+02, "-829.063", "%+G",
+__LINE__, -8.292416206056451e-16, "-8.29242e-16", "%+g",
+__LINE__, -8.296322623746486e-13, "-8.29632E-13", "%0.6G",
+__LINE__, -8.298321941376933e-16, "-0.000000", "%+f",
+__LINE__, -8.302331258878365e+29, "-8.30233E+29", "%0G",
+__LINE__, -8.309022429255061e+06, "-8309022.429255", "%+f",
+__LINE__, -8.312786829254646e-23, "-8.312787e-23", "%e",
+__LINE__, -8.313852965178063e-15, "-8.313853e-15", "%#7e",
+__LINE__, -8.317529094827869e+16, "-8.31753E+16", "%2G",
+__LINE__, -8.322847660882248e-17, "-0.000000", "%f",
+__LINE__, -8.324060602752638e-30, "-8.32406e-30", "%#g",
+__LINE__, -8.325043500735461e+27, "-8325043500735461066142306663.095951", "%#f",
+__LINE__, -8.332432016286935e-02, "-0.0833243", "%g",
+__LINE__, -8.334251670232117e-09, "-8.33425e-09", "%g",
+__LINE__, -8.338076225141778e+02, "-833.808", "%g",
+__LINE__, -8.338349587571534e-23, "-8.33835e-23", "%+2g",
+__LINE__, -8.342420812231939e+23, "-834242081223193920891390.00745", "%+0.5f",
+__LINE__, -8.347404637940894e+17, "-8.347405e+17", "%+e",
+__LINE__, -8.367002601133880e-12, "-0.000000", "%#2.6f",
+__LINE__, -8.368579538210858e-17, "-8.36858e-17", "%5g",
+__LINE__, -8.392398522472401e-10, "-0.0000", "%.4f",
+__LINE__, -8.393029677635258e-29, " -8E-29", "%7.G",
+__LINE__, -8.393843230819225e-11, "-8.393843E-11", "%E",
+__LINE__, -8.397239871789148e-11, "-8.39724e-11", "%g",
+__LINE__, -8.402316358199041e-29, "-0.000", "%3.3f",
+__LINE__, -8.402910159034304e-14, "-8.4e-14", "%+0.3g",
+__LINE__, -8.414960962391726e+09, "-8414960962.391726", "%#f",
+__LINE__, -8.417512471384889e-28, "-8.417512e-28", "%e",
+__LINE__, -8.418719240222911e+21, "-8418719240222911182058.851409", "%f",
+__LINE__, -8.421210956044195e-09, "-0.00000", "%.5f",
+__LINE__, -8.422001733529095e+24, "-8E+24", "%0.G",
+__LINE__, -8.443614453772469e+21, "-8.44361E+21", "%+G",
+__LINE__, -8.445883044175737e-19, "-0", "%+1.f",
+__LINE__, -8.460545304711022e-01, "-0.846055", "%G",
+__LINE__, -8.470462532754567e+12, "-8.47E+12", "%6.3G",
+__LINE__, -8.478488782426476e-07, "-8.478489E-07", "%E",
+__LINE__, -8.478657582923923e+09, "-8.5e+09", "%.2g",
+__LINE__, -8.482732098043366e+12, "-8482732098043", "%5.f",
+__LINE__, -8.489112373854447e+07, "-8.489e+07", "%#3.3e",
+__LINE__, -8.494153144629106e+02, "-849.415", "%+g",
+__LINE__, -8.496331191616493e+28, "-8E+28", "%+6.G",
+__LINE__, -8.503711894495339e+05, "-850371", "%g",
+__LINE__, -8.505271893964268e+14, "-8.505272E+14", "%E",
+__LINE__, -8.509873985358741e+15, "-9.e+15", "%#7.g",
+__LINE__, -8.518336897898081e-20, "-8.51834E-20", "%G",
+__LINE__, -8.529588044136128e+21, "-8.529588E+21", "%E",
+__LINE__, -8.539706586811079e-23, "-8.53971E-23", "%G",
+__LINE__, -8.545924619642008e+10, "-8.545925e+10", "%6e",
+__LINE__, -8.572893681637353e+09, "-8.57289E+09", "%G",
+__LINE__, -8.585483717692345e+29, "-8.58548E+29", "%+G",
+__LINE__, -8.586092014292309e+27, "-8.59e+27", "%.2e",
+__LINE__, -8.604716827086833e-26, "-8.60472e-26", "%g",
+__LINE__, -8.621349224186615e-04, "-0.000862", "%f",
+__LINE__, -8.626097065201103e-21, " -0", "%5.f",
+__LINE__, -8.631700514212522e-16, "-8.631701E-16", "%+E",
+__LINE__, -8.634703359975640e-09, "-0.000000", "%+5f",
+__LINE__, -8.639393025443855e-17, "-8.63939e-17", "%g",
+__LINE__, -8.640641942556812e-11, "-8.64064e-11", "%#g",
+__LINE__, -8.646260250525495e-09, "-0.000", "%.3f",
+__LINE__, -8.667322015806242e+09, "-8667322015.806242", "%+#f",
+__LINE__, -8.690705655554451e+10, "-8.690706E+10", "%#E",
+__LINE__, -8.714299893763934e-07, "-8.7143E-07", "%.5G",
+__LINE__, -8.715729756264988e+27, "-8.71573E+27", "%+.6G",
+__LINE__, -8.716518487180945e+16, "-9e+16", "%3.e",
+__LINE__, -8.744404488756237e+25, "-87444044887562366596966967.335902", "%4f",
+__LINE__, -8.754720498369242e+13, "-8.75472e+13", "%g",
+__LINE__, -8.763198097931010e-19, "-8.76320e-19", "%#g",
+__LINE__, -8.779007408852458e+28, "-8.77901E+28", "%G",
+__LINE__, -8.794576202907937e+11, "-8.79458E+11", "%#2.6G",
+__LINE__, -8.799091520612418e-11, "-8.799E-11", "%3.4G",
+__LINE__, -8.799246265524921e+11, "-8.79925E+11", "%G",
+__LINE__, -8.809010508550436e-04, "-8.8090E-04", "%.4E",
+__LINE__, -8.817389999872653e-10, "-8.81739e-10", "%g",
+__LINE__, -8.842022428985267e-28, "-8.842022E-28", "%E",
+__LINE__, -8.851265987586864e-07, "-0.000001", "%f",
+__LINE__, -8.861985131432196e+03, "-8861.985", "%+.7G",
+__LINE__, -8.874449013455113e-29, "-8.874449e-29", "%e",
+__LINE__, -8.878752609483453e+18, "-8.87875E+18", "%G",
+__LINE__, -8.882501665315313e-04, "-0.00088825", "%+G",
+__LINE__, -8.892056241505784e-14, "-8.89206E-14", "%G",
+__LINE__, -8.895327674961603e-30, "-8.89533E-30", "%G",
+__LINE__, -8.900059462213669e-30, "-8.900059E-30", "%+#E",
+__LINE__, -8.957100548759815e+18, "-9e+18", "%3.0e",
+__LINE__, -8.961352369869012e-30, "-8.961352e-30", "%+#2e",
+__LINE__, -8.962296474587800e+02, "-896", "%4.f",
+__LINE__, -8.962536469328530e-12, "-8.96254E-12", "%G",
+__LINE__, -8.963299420391932e+21, "-8.9633e+21", "%g",
+__LINE__, -8.967736672941522e-11, "-8.96774e-11", "%g",
+__LINE__, -8.994077362462679e+11, "-8.9940774e+11", "%+#.7e",
+__LINE__, -9.000452862345622e+15, "-9e+15", "%2.e",
+__LINE__, -9.007489135361462e+07, "-9.0075E+07", "%+2.4E",
+__LINE__, -9.036271805879910e+16, "-9.03627E+16", "%G",
+__LINE__, -9.036319073700248e+22, "-9.03632e+22", "%1g",
+__LINE__, -9.043207635989237e+11, "-9.043208e+11", "%#e",
+__LINE__, -9.043856598625815e-26, "-9e-26", "%+1.g",
+__LINE__, -9.052760561065698e+14, "-9.052761E+14", "%E",
+__LINE__, -9.066480297957160e-06, "-9E-06", "%+1.G",
+__LINE__, -9.070971376440752e-01, "-0.907097", "%g",
+__LINE__, -9.073301831888273e+09, "-9.07330E+09", "%#G",
+__LINE__, -9.091228662702147e+28, "-9E+28", "%4.G",
+__LINE__, -9.093652024983832e+04, "-9.093652E+04", "%7.6E",
+__LINE__, -9.098945831139295e-04, "-9.098946E-04", "%+1.6E",
+__LINE__, -9.124981449916591e+05, "-912498", "%G",
+__LINE__, -9.132038703003394e-02, "-0.0913204", "%#G",
+__LINE__, -9.138271437433964e-04, "-0.000913827", "%5g",
+__LINE__, -9.158186427463699e-04, "-0.000915819", "%g",
+__LINE__, -9.160846358172526e+16, "-9.160846E+16", "%#E",
+__LINE__, -9.160884330810163e+17, "-9E+17", "%+5.G",
+__LINE__, -9.190271387375542e+21, "-9.19027e+21", "%+g",
+__LINE__, -9.191651872412619e-04, "-9.191652E-04", "%E",
+__LINE__, -9.196426161984341e-10, "-9E-10", "%4.G",
+__LINE__, -9.201074139774962e+09, "-9E+09", "%4.G",
+__LINE__, -9.223294284802762e+09, "-9.22329E+09", "%G",
+__LINE__, -9.224740266754996e+02, "-9E+02", "%6.0G",
+__LINE__, -9.231583780512302e-01, " -0.9", "%6.g",
+__LINE__, -9.241998826543689e+07, "-92419988", "%1.f",
+__LINE__, -9.243603351372128e+27, "-9.243603e+27", "%#e",
+__LINE__, -9.255922697415071e+11, "-9.25592e+11", "%g",
+__LINE__, -9.265734968114124e-02, "-0.092657", "%f",
+__LINE__, -9.273132068521061e+11, "-9.27313E+11", "%G",
+__LINE__, -9.276017912826685e+27, "-9.E+27", "%+#5.G",
+__LINE__, -9.279781279788505e+17, "-9.27978E+17", "%7G",
+__LINE__, -9.305057549822465e-19, "-9.30506E-19", "%5G",
+__LINE__, -9.313182384508469e+18, "-9.31318E+18", "%G",
+__LINE__, -9.313350925182641e-12, "-9.31E-12", "%.3G",
+__LINE__, -9.362202657509130e+08, "-9e+08", "%.1g",
+__LINE__, -9.367344757598381e+19, "-9.36734e+19", "%g",
+__LINE__, -9.374222399774300e+26, "-9.37422e+26", "%4g",
+__LINE__, -9.385734023305105e+02, "-9.385734e+02", "%+0e",
+__LINE__, -9.392042570618909e+17, "-9.39204E+17", "%G",
+__LINE__, -9.395742939311926e+20, "-939574293931192627837.8451", "%.4f",
+__LINE__, -9.409066155962469e+09, "-9.40907E+09", "%#G",
+__LINE__, -9.412851077799790e+23, "-9.412851E+23", "%E",
+__LINE__, -9.431808019049818e+08, "-9.43181e+08", "%g",
+__LINE__, -9.465236900519924e-27, "-9.46524e-27", "%g",
+__LINE__, -9.478330386415852e+17, "-9.478330e+17", "%e",
+__LINE__, -9.510393719697428e+15, "-9.51039E+15", "%+G",
+__LINE__, -9.534229599909890e-09, "-0.000000", "%f",
+__LINE__, -9.541731189284823e-17, "-1.E-16", "%+#7.G",
+__LINE__, -9.548861908445902e+24, "-9548861908445902102471336.547751", "%f",
+__LINE__, -9.578447281451794e+14, "-957844728145179", "%5.f",
+__LINE__, -9.580512736933464e+11, "-9.58051E+11", "%G",
+__LINE__, -9.596838169770637e-28, "-1E-27", "%+6.G",
+__LINE__, -9.597528852877852e-22, "-1e-21", "%2.1g",
+__LINE__, -9.599943658427051e+02, "-9.599944E+02", "%E",
+__LINE__, -9.603227991185260e-14, "-1E-13", "%+0.E",
+__LINE__, -9.606818733892343e+08, "-960681873.389", "%1.3f",
+__LINE__, -9.617442692720937e+16, "-9.61744E+16", "%G",
+__LINE__, -9.628685516961109e+29, "-9.62869e+29", "%3g",
+__LINE__, -9.638354750455226e-11, "-0.000000", "%f",
+__LINE__, -9.644266379029137e+16, "-96442663790291369.707575", "%f",
+__LINE__, -9.645563533575482e+06, "-1E+07", "%1.G",
+__LINE__, -9.645993536742941e-29, "-9.64599e-29", "%+g",
+__LINE__, -9.647147223548563e+00, "-9.647147e+00", "%e",
+__LINE__, -9.671225879906396e-11, "-0", "%0.f",
+__LINE__, -9.675000471729906e-09, "-9.675000E-09", "%E",
+__LINE__, -9.683992878297159e-26, "-9.68e-26", "%2.2e",
+__LINE__, -9.695491325144765e+10, "-9.69549E+10", "%#G",
+__LINE__, -9.695661526907136e-24, " -0.", "%#6.f",
+__LINE__, -9.703124881970338e+07, "-9.703e+07", "%0.4g",
+__LINE__, -9.707701257031864e+26, "-970770125703186437249314622.022212", "%f",
+__LINE__, -9.709879792694702e+09, "-9.709880E+09", "%E",
+__LINE__, -9.736052226907940e+26, "-9.73605e+26", "%+#g",
+__LINE__, -9.745037157520795e+07, "-9.74504e+07", "%#5.6g",
+__LINE__, -9.757293950670832e-29, "-9.757E-29", "%0.4G",
+__LINE__, -9.762126832689880e+12, "-9.76213E+12", "%G",
+__LINE__, -9.801328150341989e-01, " -1", "%7.G",
+__LINE__, -9.837332964629669e-20, "-9.83733E-20", "%0G",
+__LINE__, -9.837790327283010e+23, "-1E+24", "%.1G",
+__LINE__, -9.839636176463729e+23, "-9.83964E+23", "%#6.5E",
+__LINE__, -9.841454250618272e+11, "-9.84E+11", "%+2.3G",
+__LINE__, -9.852920805249280e-12, "-9.852921e-12", "%.7g",
+__LINE__, -9.854092850182351e+12, "-9.85409e+12", "%0g",
+__LINE__, -9.866796026839712e+02, "-9.9E+02", "%#.1E",
+__LINE__, -9.867413260289803e-21, "-1e-20", "%.1g",
+__LINE__, -9.882136052131983e-08, "-9.88214e-08", "%g",
+__LINE__, -9.882755697941866e+20, "-9.882756E+20", "%E",
+__LINE__, -9.897275811087050e+20, "-9.9E+20", "%0.3G",
+__LINE__, -9.899860651812364e-04, "-9.899861e-04", "%e",
+__LINE__, -9.906754113555550e-11, "-9.90675e-11", "%3g",
+__LINE__, -9.926067557389940e+11, "-9.92607E+11", "%G",
+__LINE__, -9.929638609014063e+17, "-992963860901406292.214233", "%1f",
+__LINE__, -9.941214552193284e-24, "-0.000000", "%+#f",
+__LINE__, -9.942875240256573e+14, "-9.942875e+14", "%+1e",
+__LINE__, -9.944492909695798e-01, "-9.944E-01", "%.3E",
+__LINE__, -9.954710507359939e-27, "-1e-26", "%+0.2g",
+__LINE__, -9.955410507742851e+03, "-9955.41", "%+G",
+__LINE__, -9.974437672251590e+02, "-997.444", "%#G",
+__LINE__, -9.975683165288929e-26, "-9.97568E-26", "%6G",
+__LINE__, 1.003827370583415e+06, "1003827.370583", "%3f",
+__LINE__, 1.004189065268560e-27, "1.004189E-27", "%.7G",
+__LINE__, 1.005840059175462e-28, "+1.00584E-28", "%+G",
+__LINE__, 1.006586790090557e-12, "0.000000", "%#f",
+__LINE__, 1.007598594773359e+18, "1.0076E+18", "%G",
+__LINE__, 1.007902307001894e+29, "1.0079e+29", "%g",
+__LINE__, 1.008607405036580e-15, "1.00861E-15", "%6G",
+__LINE__, 1.008769102466771e+16, "+1.00877E+16", "%+G",
+__LINE__, 1.009545698372534e-08, "+1E-08", "%+0.0G",
+__LINE__, 1.010173673945099e-12, "+1.01017e-12", "%+#0g",
+__LINE__, 1.011375000606627e+09, "1011375000.606627", "%f",
+__LINE__, 1.011944652221650e+15, "1011944652221649.98", "%3.2f",
+__LINE__, 1.013057788090379e-21, "0.000000", "%#f",
+__LINE__, 1.014525729953198e+15, "1.01453e+15", "%3g",
+__LINE__, 1.016760538234615e-21, "+1.016761E-21", "%+3E",
+__LINE__, 1.017052611781237e-29, "0.000000", "%f",
+__LINE__, 1.018471223361229e+14, "1.01847E+14", "%G",
+__LINE__, 1.021646959220873e+15, "1021646959220872.6", "%4.1f",
+__LINE__, 1.022304833976590e+27, "1.0223e+27", "%g",
+__LINE__, 1.022500312067325e-12, "1.0225e-12", "%6g",
+__LINE__, 1.023019285462627e-20, "0.000000", "%f",
+__LINE__, 1.024192579400824e+06, "1.02419e+06", "%g",
+__LINE__, 1.024517953555766e-28, "1.02452E-28", "%G",
+__LINE__, 1.026673589339585e+21, "1.02667E+21", "%G",
+__LINE__, 1.027231090958880e-19, "1.E-19", "%#3.G",
+__LINE__, 1.028249904956487e-27, "1E-27", "%5.G",
+__LINE__, 1.028570144661448e-28, "+1.02857E-28", "%+G",
+__LINE__, 1.028934898454705e-13, "+1.028935E-13", "%+E",
+__LINE__, 1.029071053545906e-26, "1.029071E-26", "%E",
+__LINE__, 1.032672895881148e-30, "+1.032673E-30", "%+E",
+__LINE__, 1.033502358979511e+06, "1.0335E+06", "%.5G",
+__LINE__, 1.036790427717847e+19, "1e+19", "%4.g",
+__LINE__, 1.037022928821648e+03, "1037.02", "%5g",
+__LINE__, 1.040551683941284e+14, "1.04055E+14", "%G",
+__LINE__, 1.044499252101308e-17, "1.044499E-17", "%E",
+__LINE__, 1.045791899570889e+15, "+1.04579e+15", "%+g",
+__LINE__, 1.048730383198703e+28, "1.049e+28", "%.4g",
+__LINE__, 1.050654419882509e-18, "0.000000", "%f",
+__LINE__, 1.052600569262127e-27, "+0.000", "%+2.3f",
+__LINE__, 1.053213014784149e+15, "1E+15", "%4.G",
+__LINE__, 1.057553916225948e-15, "+0.000000", "%+4f",
+__LINE__, 1.058191244482453e+19, "1.058e+19", "%.3e",
+__LINE__, 1.058746269793972e-26, "+1.1E-26", "%+.2G",
+__LINE__, 1.058793271960762e-01, "+1.058793E-01", "%+4E",
+__LINE__, 1.058869592738370e-19, "1.05887e-19", "%3g",
+__LINE__, 1.060402312803008e+15, "1060402312803008.229025", "%f",
+__LINE__, 1.061106284763095e+00, "1.061106", "%0f",
+__LINE__, 1.061180160987467e+09, "1e+09", "%2.g",
+__LINE__, 1.061181537176067e-06, "+1.06118e-06", "%+g",
+__LINE__, 1.065021381771174e+20, "1.06502e+20", "%g",
+__LINE__, 1.065464040401130e-16, "1.065464e-16", "%e",
+__LINE__, 1.065573419819459e-05, "0.00001", "%.5f",
+__LINE__, 1.066107764306644e+13, "1.066108e+13", "%#e",
+__LINE__, 1.071318759598956e+12, "1.071319e+12", "%e",
+__LINE__, 1.071564727222321e+10, "1.072E+10", "%3.4G",
+__LINE__, 1.074652481218139e+14, "1.0747E+14", "%.4E",
+__LINE__, 1.078453684911309e-02, "0.0107845", "%g",
+__LINE__, 1.078550811446675e-05, "1.07855e-05", "%g",
+__LINE__, 1.078780494515273e-04, "0.000107878", "%4G",
+__LINE__, 1.079467488876157e-16, "+1.079467E-16", "%+E",
+__LINE__, 1.080529722917934e-20, "0.000000", "%f",
+__LINE__, 1.082169127709439e+01, "10.8217", "%#5g",
+__LINE__, 1.087241285590951e+22, "1E+22", "%4.G",
+__LINE__, 1.091049208406195e-14, "0.0000", "%.4f",
+__LINE__, 1.095316064213237e+16, "+1e+16", "%+0.g",
+__LINE__, 1.095349083237975e-04, "1.095349e-04", "%5e",
+__LINE__, 1.098002465452836e+12, "1098002465452.836205", "%f",
+__LINE__, 1.098445764138997e+13, "1.09845E+13", "%G",
+__LINE__, 1.099968047892474e-13, "1.1e-13", "%2.5g",
+__LINE__, 1.101017598311363e-04, "0.000110102", "%G",
+__LINE__, 1.102776332077817e+18, "1.103e+18", "%.3e",
+__LINE__, 1.103734053887830e-01, "0.110373", "%f",
+__LINE__, 1.105730106869006e-03, "0.00110573", "%g",
+__LINE__, 1.106366781854058e-10, "1.10637e-10", "%g",
+__LINE__, 1.107354763213839e+15, "1.107355e+15", "%6e",
+__LINE__, 1.108151709609825e-10, "+1.10815E-10", "%+G",
+__LINE__, 1.110054501993647e+21, "+1.11005E+21", "%+G",
+__LINE__, 1.111574814737873e-17, "+1.112E-17", "%+1.4G",
+__LINE__, 1.111865512360108e-15, "1E-15", "%.0G",
+__LINE__, 1.112281568330498e-03, "1.112282e-03", "%.6e",
+__LINE__, 1.112625415174238e+21, "+1.11263e+21", "%+g",
+__LINE__, 1.112744974910395e-02, "0.011127", "%f",
+__LINE__, 1.114726566979885e-10, "1.11473e-10", "%g",
+__LINE__, 1.115395843055731e-20, "+0.000000", "%+6f",
+__LINE__, 1.115983414693121e+15, "1.11598e+15", "%5.6g",
+__LINE__, 1.116118842074266e+27, "1.116119e+27", "%e",
+__LINE__, 1.118386983012328e+19, "11183869830123276400.968280", "%1f",
+__LINE__, 1.119344607892718e-22, "1.119345e-22", "%e",
+__LINE__, 1.120560837110279e-19, "0.000000", "%f",
+__LINE__, 1.123620157906291e-02, "0.0112362", "%G",
+__LINE__, 1.126804857639478e+29, "1.1268E+29", "%#0.5G",
+__LINE__, 1.128962199461581e+11, "1.12896e+11", "%g",
+__LINE__, 1.129878714246809e-16, "1E-16", "%0.0G",
+__LINE__, 1.130331982972407e-06, "+0.", "%+#1.f",
+__LINE__, 1.134167332070028e-16, "0", "%0.0f",
+__LINE__, 1.134248080053598e-28, "0.000000", "%f",
+__LINE__, 1.136023160708119e-10, "+0.000000", "%+1f",
+__LINE__, 1.136167141059036e+23, "113616714105903593434732.101741", "%f",
+__LINE__, 1.136439499920164e+10, "+1.13644E+10", "%+G",
+__LINE__, 1.136859734932182e+24, "1.13686e+24", "%g",
+__LINE__, 1.138985939448731e+09, "1.13899e+09", "%2g",
+__LINE__, 1.139287324790407e-25, "1e-25", "%.1g",
+__LINE__, 1.140559912153251e+06, "1.14056e+06", "%g",
+__LINE__, 1.141318036027086e-26, "1.14132E-26", "%G",
+__LINE__, 1.142586049368452e-20, "+1.14259E-20", "%+7.5E",
+__LINE__, 1.143283863993333e-17, "1.143284E-17", "%3E",
+__LINE__, 1.144637911632432e-28, "1.144638E-28", "%#3E",
+__LINE__, 1.145791416532065e-10, "1.14579e-10", "%g",
+__LINE__, 1.146958047315780e-17, "1.146958e-17", "%e",
+__LINE__, 1.147898346886569e-08, "1E-08", "%3.0E",
+__LINE__, 1.149724744965608e-14, "1.14972e-14", "%5g",
+__LINE__, 1.155383721940441e-10, "1e-10", "%1.g",
+__LINE__, 1.157066617729094e-02, "0", "%1.f",
+__LINE__, 1.157893614537215e+05, "1.157894E+05", "%E",
+__LINE__, 1.160476344451928e-19, "1.2e-19", "%.1e",
+__LINE__, 1.161610499315966e-26, "1.161610E-26", "%E",
+__LINE__, 1.162345042181490e+29, "116234504218148981813385489658.685401", "%5.6f",
+__LINE__, 1.162376053722862e+23, "1.16238e+23", "%g",
+__LINE__, 1.162996084782483e+18, "+1e+18", "%+0.g",
+__LINE__, 1.163544861478966e+26, "1.16354E+26", "%G",
+__LINE__, 1.167300137450931e+06, "1E+06", "%.0G",
+__LINE__, 1.168693829096401e-30, "+1.16869e-30", "%+g",
+__LINE__, 1.172791369381396e+15, "1.173E+15", "%.4G",
+__LINE__, 1.174427110782028e-29, " 1E-29", "%7.G",
+__LINE__, 1.179498322112450e+27, "1179498322112449759657692993.641831", "%f",
+__LINE__, 1.179555606293547e+27, "1.17956e+27", "%3g",
+__LINE__, 1.180815814881269e+06, "1.180816e+06", "%e",
+__LINE__, 1.181494870072805e+20, "1.181495e+20", "%5e",
+__LINE__, 1.181524119225619e+12, "+1181524119225.61917", "%+5.5f",
+__LINE__, 1.182111212289243e-20, "1e-20", "%4.g",
+__LINE__, 1.184503315019769e-27, "1.1845e-27", "%7g",
+__LINE__, 1.186413646767670e+29, "1.18641e+29", "%g",
+__LINE__, 1.186852938885004e-13, "1.18685e-13", "%4g",
+__LINE__, 1.188837612473914e+05, "1e+05", "%.0g",
+__LINE__, 1.190317482928293e-29, "1.190317e-29", "%e",
+__LINE__, 1.190527491143987e+02, "1.190527E+02", "%E",
+__LINE__, 1.191823062060233e-30, "1.2E-30", "%6.2G",
+__LINE__, 1.191926974812428e-23, "1.2e-23", "%.2g",
+__LINE__, 1.193549622366544e-25, "1E-25", "%4.1G",
+__LINE__, 1.195517368629765e-21, "1.195517e-21", "%1.7g",
+__LINE__, 1.195573061651289e-27, "1.19557e-27", "%#g",
+__LINE__, 1.195806681188325e-03, "+0.00120", "%+#.3G",
+__LINE__, 1.196842275192189e-28, "1.19684e-28", "%g",
+__LINE__, 1.197307550969576e+04, "1.1973E+04", "%.4E",
+__LINE__, 1.197608525847607e+15, "1197608525847606.8062805", "%4.7f",
+__LINE__, 1.197801338159407e+04, "11978", "%5G",
+__LINE__, 1.197813329735025e+27, "1.19781E+27", "%7G",
+__LINE__, 1.199483904123253e-12, "1.19948e-12", "%g",
+__LINE__, 1.199535292169766e-09, "1.199535e-09", "%e",
+__LINE__, 1.201478067515135e+05, "120147.806752", "%f",
+__LINE__, 1.202054662662158e+17, "1.20205E+17", "%#G",
+__LINE__, 1.202111922368321e+07, "+1.202112E+07", "%+#E",
+__LINE__, 1.202536892743791e-01, "0.120254", "%#g",
+__LINE__, 1.205698674119882e-29, "1.2057E-29", "%G",
+__LINE__, 1.208091664701942e-13, " 0.", "%#3.f",
+__LINE__, 1.208942413954872e-17, "1.20894E-17", "%G",
+__LINE__, 1.209704891496613e+10, "1.210e+10", "%2.3e",
+__LINE__, 1.211355639334831e+29, "1E+29", "%.0G",
+__LINE__, 1.211447553804203e+17, " 1E+17", "%7.E",
+__LINE__, 1.212481583429790e-16, "1.212482e-16", "%e",
+__LINE__, 1.212849001551862e+26, "121284900155186181613942153.4899157", "%6.7f",
+__LINE__, 1.213057538677801e+06, "1213057.538678", "%#.6f",
+__LINE__, 1.214609592911893e+25, "1.214610e+25", "%#e",
+__LINE__, 1.216086266251665e+01, "1e+01", "%5.e",
+__LINE__, 1.216468565931026e-22, "1.216469E-22", "%1E",
+__LINE__, 1.216503126598765e+14, "+1E+14", "%+0.E",
+__LINE__, 1.216641013695553e-14, "0.000000", "%f",
+__LINE__, 1.223142246779504e-23, "0.000000", "%f",
+__LINE__, 1.223884786443274e+08, "122388479", "%5.f",
+__LINE__, 1.224012562770076e+29, "1.22401e+29", "%0g",
+__LINE__, 1.225098157528297e+14, "1.22510e+14", "%#g",
+__LINE__, 1.226306848505242e-22, "1.22631E-22", "%G",
+__LINE__, 1.227487485547996e-08, "+1.22749e-08", "%+g",
+__LINE__, 1.237206486909689e+02, "+123.721", "%+#.6g",
+__LINE__, 1.240281126177077e-02, "+0.01", "%+3.g",
+__LINE__, 1.241197211306994e-06, "1.241197E-06", "%E",
+__LINE__, 1.241776311097410e+07, "1.241776E+07", "%E",
+__LINE__, 1.245995986024999e-03, "0.001246", "%g",
+__LINE__, 1.246082428199607e+03, "1246.082428", "%f",
+__LINE__, 1.247021567954220e+05, " 1e+05", "%7.g",
+__LINE__, 1.248140089618390e-30, "+1.24814E-30", "%+G",
+__LINE__, 1.248403361652064e-30, "+0.000000", "%+f",
+__LINE__, 1.251098538918842e-26, "+1.251099E-26", "%+E",
+__LINE__, 1.251952633022061e+25, "1.25195e+25", "%g",
+__LINE__, 1.253029705843461e-04, "+1.E-04", "%+#4.E",
+__LINE__, 1.259562132729488e-09, "1e-09", "%1.e",
+__LINE__, 1.261702205492260e-27, "0.000000", "%f",
+__LINE__, 1.265910361926660e-19, "+1.265910e-19", "%+e",
+__LINE__, 1.267411912651087e+12, "1.26741E+12", "%1G",
+__LINE__, 1.267830718285980e-10, "1.26783e-10", "%g",
+__LINE__, 1.268238378987517e-23, "1E-23", "%5.E",
+__LINE__, 1.275543253354167e+10, "1.27554E+10", "%G",
+__LINE__, 1.277255234454465e-10, "1.27726E-10", "%5G",
+__LINE__, 1.280590949834150e-21, "1.280591E-21", "%E",
+__LINE__, 1.285570453788242e-02, "1.285570E-02", "%E",
+__LINE__, 1.287712130719031e+09, "1287712130.719031", "%#f",
+__LINE__, 1.290142876187105e+29, "+1.290143E+29", "%+E",
+__LINE__, 1.293129213191961e+21, "1.29313E+21", "%G",
+__LINE__, 1.293317101334714e-23, "+0.000000", "%+f",
+__LINE__, 1.294506813069071e-13, "0.0", "%3.1f",
+__LINE__, 1.295576232685739e-22, "+0.000000", "%+f",
+__LINE__, 1.296010470431800e-19, "+0.000000", "%+6f",
+__LINE__, 1.298798231947674e+19, "1.2988E+19", "%2G",
+__LINE__, 1.299521114379381e+09, "1.29952E+09", "%G",
+__LINE__, 1.299847637892712e+24, "1.299848e+24", "%e",
+__LINE__, 1.301269777843698e+29, "130126977784369834978406288428.232074", "%f",
+__LINE__, 1.302911786437618e-15, " 0", "%6.f",
+__LINE__, 1.303863159906719e+27, "1303863159906719415559450681", "%0.f",
+__LINE__, 1.304396472326846e-12, "+1E-12", "%+1.0G",
+__LINE__, 1.306180443528427e-30, "+1e-30", "%+.1g",
+__LINE__, 1.308469138968514e+22, "1.30847E+22", "%0G",
+__LINE__, 1.312700156826057e-11, "1.3127e-11", "%g",
+__LINE__, 1.315364075120764e+21, "+1.31536E+21", "%+G",
+__LINE__, 1.320376485288444e-09, "+1.3204E-09", "%+6.5G",
+__LINE__, 1.321434154364635e-08, "1.32143e-08", "%1g",
+__LINE__, 1.322777272579176e+19, "+1e+19", "%+3.e",
+__LINE__, 1.322861663428564e+00, "1.322862E+00", "%#E",
+__LINE__, 1.323566013489230e+14, "+1.323566E+14", "%+1E",
+__LINE__, 1.327446904132973e-20, "+1.32745E-20", "%+4.6G",
+__LINE__, 1.328226362528158e+19, "1e+19", "%2.g",
+__LINE__, 1.329167460803610e+08, "1e+08", "%3.g",
+__LINE__, 1.335371420823160e+14, "1.33537E+14", "%7G",
+__LINE__, 1.336116185095935e-21, "0.000000", "%f",
+__LINE__, 1.338766774704671e-22, "+1.33877e-22", "%+g",
+__LINE__, 1.339199373014647e-12, "1E-12", "%1.E",
+__LINE__, 1.344293357481519e+26, "134429335748151945750805680.290796", "%#2f",
+__LINE__, 1.344328188122843e+29, "1.34433e+29", "%g",
+__LINE__, 1.344382581316972e-05, "1E-05", "%5.0E",
+__LINE__, 1.349835616116184e+11, "134983561611.6", "%2.1f",
+__LINE__, 1.349955669989707e+20, "134995566998970728533.890906", "%7f",
+__LINE__, 1.350230411093841e+20, "135023041109384145386.229648", "%f",
+__LINE__, 1.353391369565576e+10, " 1E+10", "%7.1G",
+__LINE__, 1.356889483699471e+22, "+1.35689E+22", "%+G",
+__LINE__, 1.358141775798243e+24, "+1358141775798242578687791.137781", "%+f",
+__LINE__, 1.358547541975523e-15, "1.35855e-15", "%g",
+__LINE__, 1.363402539800791e+11, "1.3634E+11", "%G",
+__LINE__, 1.363676837988798e+16, "+13636768379887982.4053", "%+2.4f",
+__LINE__, 1.364592026494839e-24, "1.36459e-24", "%g",
+__LINE__, 1.366664212399413e-09, "+1E-09", "%+6.G",
+__LINE__, 1.367446193117463e-17, "1.3674e-17", "%2.4e",
+__LINE__, 1.368681648785823e-18, "1.36868E-18", "%3G",
+__LINE__, 1.370635189583606e+05, "1.370635E+05", "%E",
+__LINE__, 1.371395540772186e-18, "+1.371396e-18", "%+e",
+__LINE__, 1.371945318043159e+10, "1E+10", "%0.E",
+__LINE__, 1.373780604772988e-21, "1e-21", "%3.g",
+__LINE__, 1.374244970441862e-28, "0.000000", "%7.6f",
+__LINE__, 1.375874695067149e-25, "1.37587E-25", "%#3G",
+__LINE__, 1.377165614832621e+20, "1.37717E+20", "%#G",
+__LINE__, 1.381541864946684e-09, "1.38154E-09", "%G",
+__LINE__, 1.382901694835415e+00, "1.382902E+00", "%E",
+__LINE__, 1.384250577530184e-21, "1.384e-21", "%.4g",
+__LINE__, 1.385322753374640e-03, " 1E-03", "%6.E",
+__LINE__, 1.387026156054724e+19, "1.387026E+19", "%E",
+__LINE__, 1.388726735790498e-27, "+1.388727E-27", "%+E",
+__LINE__, 1.388819105742044e+16, "1.38882e+16", "%g",
+__LINE__, 1.389941086024951e-19, "0.000000", "%f",
+__LINE__, 1.390101174785536e+25, "1.3901E+25", "%G",
+__LINE__, 1.392210785638597e+24, "+1.39221E+24", "%+G",
+__LINE__, 1.396148856283474e-26, "1.4e-26", "%7.3g",
+__LINE__, 1.398153728631994e-21, "1.39815E-21", "%G",
+__LINE__, 1.398332446762342e-14, "+1.39833E-14", "%+5G",
+__LINE__, 1.400250919607987e+10, "1.40025E+10", "%G",
+__LINE__, 1.400662469019739e+03, "1.E+03", "%#0.0E",
+__LINE__, 1.401720273747805e-12, "0.000000", "%#f",
+__LINE__, 1.402151358748719e+22, "1.402151e+22", "%e",
+__LINE__, 1.402351913752357e-28, "1.40235E-28", "%#1.6G",
+__LINE__, 1.403285877973810e+13, "+14032858779738.097255", "%+4f",
+__LINE__, 1.404540981735861e+04, "14045.409817", "%4f",
+__LINE__, 1.406420622355064e+19, "1.40642E+19", "%G",
+__LINE__, 1.412552725962301e-29, "+1e-29", "%+1.e",
+__LINE__, 1.413266982485044e+10, "1.41327e+10", "%g",
+__LINE__, 1.413627189411456e+21, "1.41363E+21", "%0G",
+__LINE__, 1.416647216002592e-25, "+0.000000", "%+#f",
+__LINE__, 1.417107155080584e-10, "1e-10", "%1.e",
+__LINE__, 1.418829895346648e+19, "14188298953466484952.912197", "%f",
+__LINE__, 1.419404559267523e-11, "1.4194e-11", "%g",
+__LINE__, 1.422421321425472e+15, "1.422421E+15", "%E",
+__LINE__, 1.424858902008998e+18, "1.42486E+18", "%2.5E",
+__LINE__, 1.428863051254205e+22, "1.428863e+22", "%e",
+__LINE__, 1.429533727936725e-02, "0.0142953", "%g",
+__LINE__, 1.430982219743369e-19, " 1E-19", "%6.G",
+__LINE__, 1.431974118434703e+17, "1E+17", "%3.G",
+__LINE__, 1.432418341970152e+16, "+1.432418e+16", "%+5e",
+__LINE__, 1.433470281650523e+04, "14334.7", "%g",
+__LINE__, 1.434446243424653e+24, " +1e+24", "%+7.g",
+__LINE__, 1.435118019241039e+24, "+1e+24", "%+4.g",
+__LINE__, 1.435691648420278e-01, "0.1435692", "%#4.7g",
+__LINE__, 1.437569598098744e+27, "1.437570E+27", "%#E",
+__LINE__, 1.437633484061726e-25, "+1.43763e-25", "%+7g",
+__LINE__, 1.437866591230707e-13, "1.43787e-13", "%g",
+__LINE__, 1.440593154445915e-01, "+0.144059", "%+1G",
+__LINE__, 1.441368205977342e+16, "1.441368E+16", "%#E",
+__LINE__, 1.441825266684367e+28, "1.44183e+28", "%g",
+__LINE__, 1.442374183199456e+20, "1.442374E+20", "%E",
+__LINE__, 1.445101893951061e-24, "0", "%0.f",
+__LINE__, 1.446037835160094e-20, "+1.44604E-20", "%+2G",
+__LINE__, 1.449245376093616e+04, "1.449245e+04", "%e",
+__LINE__, 1.454126845620100e+09, "1.45413E+09", "%G",
+__LINE__, 1.455764608801107e+09, "1.5e+09", "%6.1e",
+__LINE__, 1.457176183149955e-12, "1.45718e-12", "%#g",
+__LINE__, 1.458821535020046e-05, "1.45882e-05", "%#g",
+__LINE__, 1.460179141161202e-19, "1.460179E-19", "%#E",
+__LINE__, 1.461701055446198e-20, "1.461701e-20", "%#2.7g",
+__LINE__, 1.462408181482172e+10, "1.4624082E+10", "%3.7E",
+__LINE__, 1.463706296748154e+24, "1e+24", "%2.g",
+__LINE__, 1.464891255780761e-19, "+1.46489e-19", "%+g",
+__LINE__, 1.467903978945872e+25, "1.4679E+25", "%G",
+__LINE__, 1.468585992857062e+22, "14685859928570619281629.205943", "%f",
+__LINE__, 1.469803528668286e+29, "+1E+29", "%+6.G",
+__LINE__, 1.469883002609266e-23, "1.E-23", "%#2.E",
+__LINE__, 1.469941481858809e+08, "+146994148.185881", "%+f",
+__LINE__, 1.470744493304611e+13, "1.47074e+13", "%g",
+__LINE__, 1.471857261085004e+23, "1E+23", "%2.G",
+__LINE__, 1.474419778873037e+06, "1474419.7789", "%#.4f",
+__LINE__, 1.483134762223381e-03, "0", "%0.0f",
+__LINE__, 1.483575501240724e-13, "1.48358e-13", "%g",
+__LINE__, 1.486068112294452e+20, "1.486068e+20", "%e",
+__LINE__, 1.488665528787761e-03, " +0", "%+4.f",
+__LINE__, 1.492145267536713e+07, "14921452.675367", "%f",
+__LINE__, 1.492589762884761e-01, "0.149259", "%f",
+__LINE__, 1.494784286168215e+01, "1.494784E+01", "%E",
+__LINE__, 1.495945331501655e+04, "1.5e+04", "%.2g",
+__LINE__, 1.501383201904700e+14, "2e+14", "%1.g",
+__LINE__, 1.501387105011959e-02, "0.0150139", "%g",
+__LINE__, 1.505784488562271e+26, "1.50578e+26", "%5g",
+__LINE__, 1.506367986495534e+10, "1.50637e+10", "%2g",
+__LINE__, 1.507421710226296e+19, "1.507422E+19", "%#E",
+__LINE__, 1.507960881206134e+16, "2e+16", "%.0g",
+__LINE__, 1.508974301049424e+14, "+1.508974E+14", "%+E",
+__LINE__, 1.509204025111090e-18, "1.509204E-18", "%E",
+__LINE__, 1.511351799767759e+21, "1511351799767759462866.93397", "%.5f",
+__LINE__, 1.511712197184520e-06, "+1.51171e-06", "%+1g",
+__LINE__, 1.514703727491400e+02, "151.47", "%.5g",
+__LINE__, 1.514855355408287e+04, "15148.6", "%g",
+__LINE__, 1.516256896575301e+06, "1.516257e+06", "%.6e",
+__LINE__, 1.517712083681069e+14, "1.51771e+14", "%0g",
+__LINE__, 1.522102209167607e-18, "1.52210e-18", "%#g",
+__LINE__, 1.526264862895663e-12, "0.000000", "%f",
+__LINE__, 1.527165480858125e+10, "1.527e+10", "%.4g",
+__LINE__, 1.528363280308369e+00, "+1.52836", "%+0G",
+__LINE__, 1.529108490733420e-22, "1.529108E-22", "%E",
+__LINE__, 1.529783364474522e+19, "15297833644745216119.531506", "%7f",
+__LINE__, 1.530698363199346e-01, "0.1531", "%#.4f",
+__LINE__, 1.531520796537450e+22, "1.53152E+22", "%G",
+__LINE__, 1.533314559644813e+06, "+1533314.559645", "%+f",
+__LINE__, 1.534682791112854e+01, "+15.3468", "%+0G",
+__LINE__, 1.534714026386730e-11, "0.000000", "%f",
+__LINE__, 1.537145729498115e+00, "1.537146E+00", "%E",
+__LINE__, 1.538740040875751e-23, "1.538740E-23", "%E",
+__LINE__, 1.546248240596482e-03, "0.001546", "%f",
+__LINE__, 1.546808012239302e-09, "+1.54681E-09", "%+G",
+__LINE__, 1.546903877359107e+06, "1.5e+06", "%.2g",
+__LINE__, 1.550153973747718e-18, "2e-18", "%.0g",
+__LINE__, 1.551703460384378e+00, "+1.5517", "%+.4f",
+__LINE__, 1.553995673101369e+29, "1.554E+29", "%G",
+__LINE__, 1.555477017531899e+28, "1.55548e+28", "%g",
+__LINE__, 1.555548963448462e+12, "1555548963448.46227", "%6.5f",
+__LINE__, 1.558702451007712e+16, "2e+16", "%5.1g",
+__LINE__, 1.561641587723724e+29, "1.561642e+29", "%e",
+__LINE__, 1.561868589559509e-05, "1.56187E-05", "%G",
+__LINE__, 1.565229056438949e+13, "1.56523e+13", "%1.6g",
+__LINE__, 1.570074406600442e+14, "+1.57007E+14", "%+4G",
+__LINE__, 1.570951909913194e+13, "1.57095E+13", "%.6G",
+__LINE__, 1.572186421520727e-30, "+1.57219e-30", "%+g",
+__LINE__, 1.574374582066945e+12, "1.57e+12", "%5.2e",
+__LINE__, 1.577789404823585e+12, "1.577789E+12", "%E",
+__LINE__, 1.579641278389186e+04, "15796.413", "%7.3f",
+__LINE__, 1.581602330975388e+17, "1.5816E+17", "%#.5G",
+__LINE__, 1.587809692297490e-18, "+1.58781e-18", "%+2g",
+__LINE__, 1.588672954832388e-05, "1.58867E-05", "%G",
+__LINE__, 1.594548954259978e+25, "+1.595e+25", "%+.3e",
+__LINE__, 1.596653742160718e+10, "15966537421.6072", "%.4f",
+__LINE__, 1.597416186584641e+25, "1.59742e+25", "%g",
+__LINE__, 1.597810706039500e-04, "0.000159781", "%g",
+__LINE__, 1.601425691153542e+01, "16.0143", "%G",
+__LINE__, 1.601491150913706e-15, "+1.60149e-15", "%+g",
+__LINE__, 1.609357026469645e+02, "160.936", "%0g",
+__LINE__, 1.611064881461188e+06, "+1.611065E+06", "%+E",
+__LINE__, 1.611324319640770e-03, "0.00161132", "%G",
+__LINE__, 1.613202907940803e+19, "1.6E+19", "%#.1E",
+__LINE__, 1.613883500056636e-12, "0.000000", "%5f",
+__LINE__, 1.618254213010772e+07, "16182542.130108", "%6f",
+__LINE__, 1.620441271211248e-08, "1.62044E-08", "%0G",
+__LINE__, 1.622548435024803e-01, "+0.162255", "%+5G",
+__LINE__, 1.623740394555269e+19, "16237403945552689066.289531", "%3f",
+__LINE__, 1.625774250389937e+18, "1.625774e+18", "%1e",
+__LINE__, 1.626300864432426e-02, "0.016263", "%G",
+__LINE__, 1.626351146877694e-11, "1.6263511e-11", "%2.7e",
+__LINE__, 1.626568757587995e+25, "16265687575879949733348439.62220", "%6.5f",
+__LINE__, 1.626717482094360e-28, "+1.626717e-28", "%+3e",
+__LINE__, 1.630801585998995e-28, "1.6308e-28", "%0g",
+__LINE__, 1.631827173682962e+03, "1632", "%1.4g",
+__LINE__, 1.631907571243379e+18, "1631907571243378818.337533", "%f",
+__LINE__, 1.632058420447239e-14, " +2E-14", "%+7.G",
+__LINE__, 1.632847882621240e+18, "+1.63285E+18", "%+2G",
+__LINE__, 1.637329146233172e-09, "+1.63733e-09", "%+g",
+__LINE__, 1.638315287442427e-16, "+1.63832E-16", "%+G",
+__LINE__, 1.641284849351445e+15, "1641284849351445.096488", "%f",
+__LINE__, 1.644871927486929e+10, "2e+10", "%1.e",
+__LINE__, 1.645917293047431e-19, "1.64592e-19", "%.6g",
+__LINE__, 1.649201265647819e-07, "0.000000", "%f",
+__LINE__, 1.650169065733559e+23, "165016906573355903731226.135278", "%3f",
+__LINE__, 1.651217291298196e-30, "2E-30", "%4.G",
+__LINE__, 1.652680660160331e+08, "2.e+08", "%#3.g",
+__LINE__, 1.654171892948767e-15, "1.65417e-15", "%g",
+__LINE__, 1.655435863725412e+17, "+1.655436e+17", "%+#e",
+__LINE__, 1.656015606204101e+28, "+1.7E+28", "%+3.2G",
+__LINE__, 1.656814723110478e-21, "+0.000000", "%+f",
+__LINE__, 1.658632655199721e-19, "2.E-19", "%#4.G",
+__LINE__, 1.659915061311444e+27, "1.66E+27", "%.3G",
+__LINE__, 1.664258574522914e-29, "+1.664259E-29", "%+E",
+__LINE__, 1.667662840654469e-28, "+2e-28", "%+0.g",
+__LINE__, 1.673124993246863e-25, "+0.000000", "%+f",
+__LINE__, 1.677788498058833e-20, "1.678e-20", "%.4g",
+__LINE__, 1.681211731173386e-07, "1.68121e-07", "%0.6g",
+__LINE__, 1.686341560076196e+02, "169", "%.0f",
+__LINE__, 1.686507685287281e+08, "1.686508E+08", "%E",
+__LINE__, 1.689500448795801e+03, "+1689.500449", "%+0f",
+__LINE__, 1.690639426041009e-13, "2e-13", "%5.0g",
+__LINE__, 1.691554939595928e+16, "+1.6916e+16", "%+.5g",
+__LINE__, 1.698597126229626e-09, "1.699e-09", "%3.4g",
+__LINE__, 1.700093083173516e+16, "17000930831735159", "%5.f",
+__LINE__, 1.703653732982710e+13, "+1.70365e+13", "%+g",
+__LINE__, 1.705353380573352e-16, "0.000000", "%f",
+__LINE__, 1.705973328700179e-26, "1.70597e-26", "%5g",
+__LINE__, 1.717797289369145e+22, "+1.717797E+22", "%+7E",
+__LINE__, 1.722819196705361e-28, "1.722819E-28", "%1.7G",
+__LINE__, 1.723775772891202e+01, "17.237758", "%f",
+__LINE__, 1.723787102325353e-23, "0.000000", "%2f",
+__LINE__, 1.724551301171870e-13, "0.000000", "%f",
+__LINE__, 1.726098078655758e-20, "0.0000000", "%7.7f",
+__LINE__, 1.726302822039762e+18, "+2E+18", "%+1.G",
+__LINE__, 1.726659209108151e+18, "+1.72666E+18", "%+6G",
+__LINE__, 1.728324925097269e-25, "1.728325e-25", "%7e",
+__LINE__, 1.728357491215602e+02, "172.836", "%G",
+__LINE__, 1.729612227517587e+22, "1.729612e+22", "%e",
+__LINE__, 1.731753104740805e-06, "1.73175e-06", "%2g",
+__LINE__, 1.736066279733589e+18, "+1.736066E+18", "%+3E",
+__LINE__, 1.736626769480182e-19, "2e-19", "%.0g",
+__LINE__, 1.737445267713118e-13, " 2e-13", "%7.g",
+__LINE__, 1.739264683023077e+05, "173926.468302", "%f",
+__LINE__, 1.739423702667596e-16, "+1.73942e-16", "%+g",
+__LINE__, 1.741053616961658e-14, "1.74105E-14", "%G",
+__LINE__, 1.741085952255057e+29, "1.7e+29", "%#.1e",
+__LINE__, 1.743673705633426e+03, "2E+03", "%5.0G",
+__LINE__, 1.750940899205665e+27, "1.75094e+27", "%g",
+__LINE__, 1.753871003884151e-26, "0.", "%#.0f",
+__LINE__, 1.755237470854478e-14, "1.755237e-14", "%4e",
+__LINE__, 1.757491419837315e-03, "0.002", "%1.G",
+__LINE__, 1.758657797688126e+26, "+1.75866E+26", "%+#G",
+__LINE__, 1.760491452270889e+08, "1.76049E+08", "%G",
+__LINE__, 1.760816275862939e-10, "2e-10", "%.1g",
+__LINE__, 1.760905893493003e-22, "1.76e-22", "%.2e",
+__LINE__, 1.762101125986743e-12, "2e-12", "%.0g",
+__LINE__, 1.763855968659571e+27, "1.763856E+27", "%E",
+__LINE__, 1.764595217341348e-13, "1.764595E-13", "%E",
+__LINE__, 1.766737296048445e+08, "+1.77e+08", "%+.3g",
+__LINE__, 1.769916386969961e-05, "+1.76992e-05", "%+g",
+__LINE__, 1.773873506344176e-01, "1.773874e-01", "%e",
+__LINE__, 1.775392554371421e+03, "+1775.39", "%+3.2f",
+__LINE__, 1.776007623006870e+24, "1776007623006870161930237.372871", "%f",
+__LINE__, 1.777418921678653e-27, " 0", "%6.f",
+__LINE__, 1.780967607234234e-18, "1.780968E-18", "%E",
+__LINE__, 1.782510583486435e+24, "+2e+24", "%+3.g",
+__LINE__, 1.784002921603004e+14, "1.784E+14", "%G",
+__LINE__, 1.784231151778382e+11, "1.7842E+11", "%.5G",
+__LINE__, 1.785589091453195e+02, " 179.", "%#5.f",
+__LINE__, 1.786402639400039e+19, "2e+19", "%0.g",
+__LINE__, 1.786506485794647e-25, "2E-25", "%.1G",
+__LINE__, 1.787513971482493e-04, "+0.000178751", "%+G",
+__LINE__, 1.799765409320039e+23, "179976540932003885586710", "%6.0f",
+__LINE__, 1.800451864218989e+08, "+1.80045e+08", "%+g",
+__LINE__, 1.800743538258572e+04, " +18007", "%+7.f",
+__LINE__, 1.801583764453362e+25, "1.8016e+25", "%0.5g",
+__LINE__, 1.804502093739547e+14, "2e+14", "%2.g",
+__LINE__, 1.805600104488678e-17, "1.805600E-17", "%E",
+__LINE__, 1.811342448081048e+17, "1.811342e+17", "%.6e",
+__LINE__, 1.812252160066930e+19, "2e+19", "%0.e",
+__LINE__, 1.816287564395273e+02, "182", "%2.f",
+__LINE__, 1.817097386762552e-13, "2E-13", "%3.1G",
+__LINE__, 1.817881381387254e+06, "1.81788E+06", "%G",
+__LINE__, 1.818416380830953e-30, "1.81842E-30", "%G",
+__LINE__, 1.824788290177454e-23, "1.82479e-23", "%g",
+__LINE__, 1.827832506678437e-18, "1.82783E-18", "%G",
+__LINE__, 1.828048053242609e+01, "18.2805", "%g",
+__LINE__, 1.828939681844203e-21, "1.82894E-21", "%.6G",
+__LINE__, 1.829763900251753e+12, "1829763900251.752773", "%1f",
+__LINE__, 1.833100407114602e-05, "0.000018", "%#f",
+__LINE__, 1.833672780034284e-07, "1.833673e-07", "%e",
+__LINE__, 1.834307692387540e+21, "2E+21", "%5.G",
+__LINE__, 1.835119931666753e+14, "+1.835120e+14", "%+e",
+__LINE__, 1.835956566920861e-26, "0.000000", "%#f",
+__LINE__, 1.837784131899354e+22, "1.83778E+22", "%G",
+__LINE__, 1.842867094224664e-09, "1.84287e-09", "%g",
+__LINE__, 1.844234823805319e+28, "2E+28", "%1.G",
+__LINE__, 1.844877682008962e+12, "1.84488e+12", "%g",
+__LINE__, 1.846530424340488e-22, "1.846530e-22", "%#.7g",
+__LINE__, 1.849111603036448e-08, "0.00", "%.2f",
+__LINE__, 1.850158752678734e+04, "+18502", "%+.5G",
+__LINE__, 1.851431391104701e-06, " +2e-06", "%+7.e",
+__LINE__, 1.851487430609031e-04, "0.000185149", "%G",
+__LINE__, 1.853171650128773e+03, "1853.17", "%G",
+__LINE__, 1.854743263740068e-16, "1.854743E-16", "%6.6E",
+__LINE__, 1.864399020932753e-11, "+0.000000", "%+f",
+__LINE__, 1.865028568072397e-22, "1.86503E-22", "%.6G",
+__LINE__, 1.868128423759223e+14, "1.86813E+14", "%4G",
+__LINE__, 1.868453558435480e+21, "1.86845E+21", "%G",
+__LINE__, 1.870663011627498e-06, "1.87E-06", "%.3G",
+__LINE__, 1.873273487748907e+17, "+1.873273E+17", "%+E",
+__LINE__, 1.878885220839805e-04, "0.000187889", "%G",
+__LINE__, 1.879102515623569e+17, "1.8791e+17", "%g",
+__LINE__, 1.889343972100858e-10, "2E-10", "%2.E",
+__LINE__, 1.891833282879762e-24, "+2e-24", "%+.1g",
+__LINE__, 1.895148778941240e-07, "0.000000", "%0f",
+__LINE__, 1.896950834067578e-28, "+1.89695e-28", "%+#g",
+__LINE__, 1.898464546986629e-05, "1.898465e-05", "%.7g",
+__LINE__, 1.900851427578321e-19, "1.90085e-19", "%6g",
+__LINE__, 1.901171344577750e+27, "1.901171e+27", "%7.7g",
+__LINE__, 1.903563335316359e+02, "190.356", "%0g",
+__LINE__, 1.903817306004701e-16, "+1.90e-16", "%+#6.2e",
+__LINE__, 1.910606410246797e+21, "1.91061E+21", "%2.5E",
+__LINE__, 1.912537759564710e+29, "1.91254E+29", "%G",
+__LINE__, 1.913606675894566e+27, "1.91361E+27", "%7.6G",
+__LINE__, 1.916473734025505e-05, " 2e-05", "%7.g",
+__LINE__, 1.916507511720523e+23, "+2E+23", "%+.0E",
+__LINE__, 1.917688262248837e-28, "1.918e-28", "%.4g",
+__LINE__, 1.921375594217083e-12, "1.92138E-12", "%G",
+__LINE__, 1.923916000932815e-25, "1.92392E-25", "%G",
+__LINE__, 1.926303652776462e-01, "+0.2", "%+0.G",
+__LINE__, 1.929411084211293e+21, "1.92941E+21", "%6G",
+__LINE__, 1.929996820297491e-26, "1.93e-26", "%.6g",
+__LINE__, 1.937301472034748e-29, "1.9373E-29", "%G",
+__LINE__, 1.937301660220894e-11, "+1.9373E-11", "%+G",
+__LINE__, 1.939038538587083e-02, "0.0193904", "%g",
+__LINE__, 1.940575489112444e-09, "1.94058E-09", "%G",
+__LINE__, 1.946550455606677e-26, "1.946550E-26", "%#1E",
+__LINE__, 1.954250777559491e-14, "1.95425E-14", "%G",
+__LINE__, 1.955646327688473e-16, "1.956E-16", "%#.3E",
+__LINE__, 1.956999911995683e+20, "2E+20", "%2.G",
+__LINE__, 1.959125254298784e-21, "1.95913E-21", "%#G",
+__LINE__, 1.960330340481290e+26, "1.96033e+26", "%.6g",
+__LINE__, 1.964156478075422e+01, "+19.6416", "%+g",
+__LINE__, 1.964702507676036e+19, "2.0e+19", "%2.1e",
+__LINE__, 1.965762191674409e-30, "2E-30", "%1.G",
+__LINE__, 1.967492699686803e-29, "+1.967493E-29", "%+#E",
+__LINE__, 1.970072604062236e-11, "+1.97007E-11", "%+G",
+__LINE__, 1.975631055550387e+05, "197563.105555", "%.6f",
+__LINE__, 1.975722425389177e+28, "+1.975722e+28", "%+5.6e",
+__LINE__, 1.977938328895365e-05, " 2e-05", "%6.e",
+__LINE__, 1.981950849019640e+13, "1.981951E+13", "%E",
+__LINE__, 1.982543168856985e-26, "1.98254e-26", "%4g",
+__LINE__, 1.984873317384181e-20, "1.98487E-20", "%4G",
+__LINE__, 1.986146420877074e+02, "+1.986146e+02", "%+0e",
+__LINE__, 1.986465942785167e-28, "1.98647e-28", "%g",
+__LINE__, 1.988250323235468e-05, " +0", "%+7.f",
+__LINE__, 1.989966623080645e-09, "1.989967e-09", "%e",
+__LINE__, 1.991243122514519e+11, "199124312251", "%5.f",
+__LINE__, 1.993287894645908e+25, "+1.993288E+25", "%+E",
+__LINE__, 1.995172329888890e-30, "+1.99517e-30", "%+3g",
+__LINE__, 1.997075127236432e+05, "1.997E+05", "%#.4G",
+__LINE__, 2.000651599487290e+04, "2E+04", "%2.E",
+__LINE__, 2.001429412876339e-28, "0.000000", "%6f",
+__LINE__, 2.003535646264196e+03, " 2E+03", "%7.G",
+__LINE__, 2.011751504116246e+06, "2E+06", "%2.G",
+__LINE__, 2.016361237694652e-30, "2.01636e-30", "%4g",
+__LINE__, 2.018266414065554e-08, "0.00", "%2.2f",
+__LINE__, 2.020706780608565e+03, "2E+03", "%.0G",
+__LINE__, 2.025098418552005e-16, "+2.025098E-16", "%+2E",
+__LINE__, 2.026100592518976e-11, "2.026101e-11", "%6e",
+__LINE__, 2.026167291572980e+11, "2.02617E+11", "%G",
+__LINE__, 2.026782170272331e+07, "2.026782E+07", "%E",
+__LINE__, 2.029133469449347e-06, " 2e-06", "%6.g",
+__LINE__, 2.031191570768443e-20, "2.031192E-20", "%2.7G",
+__LINE__, 2.031884221862863e-16, "2.031884e-16", "%e",
+__LINE__, 2.032992924118323e+29, "203299292411832333016263874014.84", "%#0.2f",
+__LINE__, 2.035799610097827e+28, "+20357996100978272835391180706.2104344", "%+3.7f",
+__LINE__, 2.038008183612069e+25, "20380081836120691463065668", "%7.0f",
+__LINE__, 2.041632205119365e-22, "+2.04163e-22", "%+g",
+__LINE__, 2.042769811159352e-10, "2e-10", "%.1g",
+__LINE__, 2.043034975847005e-08, "2.043035e-08", "%e",
+__LINE__, 2.045930666285880e+26, "2.04593e+26", "%g",
+__LINE__, 2.048377276651386e-21, "0.00000", "%2.5f",
+__LINE__, 2.051785787301292e-23, "0.000000", "%f",
+__LINE__, 2.055085792048183e-10, "0.000000", "%f",
+__LINE__, 2.055783028451040e-21, "+0", "%+1.f",
+__LINE__, 2.057641607509489e-17, "+2E-17", "%+2.G",
+__LINE__, 2.058348703001600e-15, "2.05835E-15", "%#G",
+__LINE__, 2.059594758787322e+24, "2.05959E+24", "%1G",
+__LINE__, 2.062710740295018e+01, "20.6271", "%G",
+__LINE__, 2.063240676447750e-11, "0.000000", "%f",
+__LINE__, 2.063799238238917e-09, "+0.000000", "%+f",
+__LINE__, 2.064564135160425e-17, "2.06456E-17", "%G",
+__LINE__, 2.066363476927650e-05, "2.07E-05", "%.3G",
+__LINE__, 2.066871450514214e-02, "+2.066871e-02", "%+e",
+__LINE__, 2.067258256169148e+07, "2.06726e+07", "%g",
+__LINE__, 2.068466590729350e-22, "0.0000", "%.4f",
+__LINE__, 2.068779510112540e-26, "2.06878e-26", "%g",
+__LINE__, 2.069258770387493e+19, "20692587703874929516.700831", "%3f",
+__LINE__, 2.069547778447951e+26, "2.069548e+26", "%6e",
+__LINE__, 2.070479507710941e-23, "2.07048E-23", "%G",
+__LINE__, 2.071809640061785e+22, "2.071810E+22", "%E",
+__LINE__, 2.073364463564950e-06, "2.07336e-06", "%g",
+__LINE__, 2.073478953644888e-10, "+2.07E-10", "%+.3G",
+__LINE__, 2.076039194312519e+12, "2.07604E+12", "%G",
+__LINE__, 2.081490398946229e-07, "+2.08149e-07", "%+g",
+__LINE__, 2.084941170287895e-07, "2.084941E-07", "%7E",
+__LINE__, 2.087035885023382e-18, "+0.000000", "%+f",
+__LINE__, 2.091025884363342e-09, "2.09103E-09", "%G",
+__LINE__, 2.091830555397864e+08, "209183056", "%0.f",
+__LINE__, 2.091998109232084e-22, "0.000000", "%#f",
+__LINE__, 2.093406473464940e-17, "2.09341e-17", "%g",
+__LINE__, 2.094646724039720e-26, "2.094647e-26", "%0.7g",
+__LINE__, 2.095218667083208e-22, "2.09522e-22", "%.5e",
+__LINE__, 2.096932364992728e-27, "2.1E-27", "%.2G",
+__LINE__, 2.097012452732083e+17, "2.09701E+17", "%G",
+__LINE__, 2.102022216908102e-07, "0.000000", "%f",
+__LINE__, 2.104648382618938e-04, "0.00021", "%.3G",
+__LINE__, 2.109159578853690e-19, "2.10916e-19", "%6g",
+__LINE__, 2.111732624641178e-13, "+2.111733E-13", "%+7.7G",
+__LINE__, 2.112676138351330e+21, " 2e+21", "%6.g",
+__LINE__, 2.117332904051741e-09, "+0.000000", "%+f",
+__LINE__, 2.118001353767757e-14, "2.118E-14", "%4.3E",
+__LINE__, 2.119413720893955e+12, "2.119414E+12", "%.7G",
+__LINE__, 2.119610992647014e+07, "+21196109.9265", "%+.4f",
+__LINE__, 2.120504022069221e+25, "21205040220692210617414730.223", "%#.3f",
+__LINE__, 2.120634617123718e-16, "2.120635e-16", "%#e",
+__LINE__, 2.128702437175385e+12, "2128702437175.385", "%.3f",
+__LINE__, 2.131148830213536e-12, "2.131149e-12", "%e",
+__LINE__, 2.132682622145255e+04, "+21326.83", "%+#5.7G",
+__LINE__, 2.133864841676473e-01, " +0.2", "%+6.g",
+__LINE__, 2.133939058496273e+16, "2E+16", "%4.G",
+__LINE__, 2.135087006806302e-24, "0.000000", "%f",
+__LINE__, 2.138983961194584e-20, "+2.138984e-20", "%+7e",
+__LINE__, 2.146534189669224e+17, "+2.147E+17", "%+.4G",
+__LINE__, 2.147375595676503e+09, "2.147376e+09", "%e",
+__LINE__, 2.152994986418075e+02, "2E+02", "%0.E",
+__LINE__, 2.154127135896811e+06, "2.15E+06", "%2.3G",
+__LINE__, 2.154613053892588e-29, "2.1546E-29", "%.4E",
+__LINE__, 2.160830430730653e-12, "2.16083E-12", "%#G",
+__LINE__, 2.161740591663027e+28, "2.161741e+28", "%e",
+__LINE__, 2.167181665934011e-06, "2e-06", "%1.e",
+__LINE__, 2.167348761729060e-04, "2.167349e-04", "%#e",
+__LINE__, 2.170270852816708e-10, "2.17027E-10", "%0G",
+__LINE__, 2.173048229189370e-06, "2.173e-06", "%.5g",
+__LINE__, 2.175554537855024e+10, "2.17555E+10", "%G",
+__LINE__, 2.177447372527968e-30, "+0.000000", "%+.6f",
+__LINE__, 2.178591661569858e+05, "2.1786e+05", "%1.5g",
+__LINE__, 2.184700207174818e-29, "0.000000", "%f",
+__LINE__, 2.190817031437247e+03, "2.E+03", "%#3.0E",
+__LINE__, 2.191396212145558e-01, "2.191E-01", "%6.3E",
+__LINE__, 2.191786353372880e-23, "2.19179e-23", "%.5e",
+__LINE__, 2.193471126151079e+19, "2.1935E+19", "%.4E",
+__LINE__, 2.194750177630526e-15, "2.194750e-15", "%e",
+__LINE__, 2.196145170358973e+05, "+219615", "%+g",
+__LINE__, 2.199602360934320e-09, "2.19960E-09", "%#6.6G",
+__LINE__, 2.202913988776998e+17, "+2.20291e+17", "%+g",
+__LINE__, 2.207094560707703e-10, "2.207095e-10", "%e",
+__LINE__, 2.207557214621658e-13, " 0", "%4.f",
+__LINE__, 2.209428206272229e+13, "2.20943e+13", "%g",
+__LINE__, 2.212662463615175e-11, " 0", "%4.0f",
+__LINE__, 2.215732710968468e-30, "2E-30", "%.1G",
+__LINE__, 2.218490841936778e-10, "2.21849e-10", "%2g",
+__LINE__, 2.218850610567959e-01, "+0.221885", "%+G",
+__LINE__, 2.220796939261542e-03, "0.002221", "%#f",
+__LINE__, 2.221819894808024e+24, "2.2e+24", "%5.1e",
+__LINE__, 2.223804993235507e+27, "2.223805e+27", "%1e",
+__LINE__, 2.224715386046563e-17, "0.00000", "%#.5f",
+__LINE__, 2.224864709983882e-16, "+2.224865e-16", "%+e",
+__LINE__, 2.225764510969505e+16, "2.E+16", "%#4.G",
+__LINE__, 2.233229189161284e-07, "+2.23323e-07", "%+6g",
+__LINE__, 2.236522807209868e+17, "2.23652e+17", "%g",
+__LINE__, 2.236641620849775e+20, "2E+20", "%0.G",
+__LINE__, 2.237089952728626e-13, "2E-13", "%5.E",
+__LINE__, 2.238531255563381e-11, " 2E-11", "%7.1G",
+__LINE__, 2.242782296436871e+12, "2242782296436.871103", "%f",
+__LINE__, 2.249177852069393e-02, "+2.249178E-02", "%+5E",
+__LINE__, 2.250735782732076e+29, "+2.25074e+29", "%+g",
+__LINE__, 2.257455203557544e-11, "+2e-11", "%+4.0g",
+__LINE__, 2.258002527939529e+24, "2.258e+24", "%g",
+__LINE__, 2.266955929448160e+20, "226695592944815960123.6056915", "%.7f",
+__LINE__, 2.269019719123250e-23, "0.000000", "%f",
+__LINE__, 2.269022332502809e+02, "+226.902233", "%+f",
+__LINE__, 2.271165222038591e-03, "0.002", "%1.1g",
+__LINE__, 2.273965946408021e+14, "+227396594640802.085507", "%+f",
+__LINE__, 2.277221153386242e+22, "22772211533862418697538.032575", "%#f",
+__LINE__, 2.280214920187521e-01, "0.2", "%2.G",
+__LINE__, 2.280762993019740e+06, "2.28076E+06", "%G",
+__LINE__, 2.283479263040833e-24, "+0.000000", "%+f",
+__LINE__, 2.283686319235123e-07, "2.2837E-07", "%5.5G",
+__LINE__, 2.285842617231066e-26, "0.000000", "%f",
+__LINE__, 2.293145864755873e-02, "0.02", "%.0g",
+__LINE__, 2.293439381531532e+03, "+2.293439E+03", "%+#1E",
+__LINE__, 2.297972500660698e-22, "2.29797e-22", "%g",
+__LINE__, 2.298725366073681e+23, "2.29873E+23", "%G",
+__LINE__, 2.303151535483950e-29, "2.30315E-29", "%G",
+__LINE__, 2.308565313657699e-25, " 0", "%4.f",
+__LINE__, 2.309305373760733e-07, "2.309305E-07", "%E",
+__LINE__, 2.309693761334710e-19, "2.30969e-19", "%g",
+__LINE__, 2.312218220995774e-20, "+2.31222E-20", "%+.6G",
+__LINE__, 2.313115729670525e+24, "2.31312E+24", "%G",
+__LINE__, 2.315325159866773e-21, "2.315325E-21", "%E",
+__LINE__, 2.316932917620091e-19, "0.000000", "%f",
+__LINE__, 2.317548394633895e+13, "2.31755E+13", "%0G",
+__LINE__, 2.318951465093612e+02, "+2.32e+02", "%+1.2e",
+__LINE__, 2.319151794905482e-17, "+0.000000", "%+0f",
+__LINE__, 2.319708617851078e-27, "0.000000", "%f",
+__LINE__, 2.320019976591725e+20, "2e+20", "%.1g",
+__LINE__, 2.322859962551666e+06, "2.32286e+06", "%g",
+__LINE__, 2.326474568074649e-29, "2.326e-29", "%.4g",
+__LINE__, 2.328400844172053e-07, "2.3284E-07", "%G",
+__LINE__, 2.333695247698112e+16, "2.3337e+16", "%g",
+__LINE__, 2.333717120257130e-19, "+0.000000", "%+f",
+__LINE__, 2.334711793234782e-19, "2.33471E-19", "%5G",
+__LINE__, 2.335524987281242e+02, "+233.55", "%+7.5g",
+__LINE__, 2.335556767836369e-30, "2.34e-30", "%.3g",
+__LINE__, 2.337696964360052e-10, "2.3377e-10", "%1g",
+__LINE__, 2.337858249184500e-14, "2.337858E-14", "%5.6E",
+__LINE__, 2.339984354781169e-14, "2.339984E-14", "%E",
+__LINE__, 2.340849041430089e-04, "0.00023", "%0.2G",
+__LINE__, 2.342388410373363e-24, "2.34239E-24", "%G",
+__LINE__, 2.343933106737237e-22, "2.34393e-22", "%g",
+__LINE__, 2.344870855713960e-08, "0.000000", "%.6f",
+__LINE__, 2.347368965433808e+24, "2347368965433808352116785", "%4.f",
+__LINE__, 2.349417462171421e-02, "+0.0234942", "%+G",
+__LINE__, 2.351071111431207e+11, "235107111143.12", "%.2f",
+__LINE__, 2.352756222810670e+19, "+2.e+19", "%+#4.g",
+__LINE__, 2.355862529217003e-22, "2.355863e-22", "%#4e",
+__LINE__, 2.356804045401445e-30, "2.3568E-30", "%G",
+__LINE__, 2.362100710185559e-26, "2.3621e-26", "%g",
+__LINE__, 2.368330779173562e-12, " 0", "%4.f",
+__LINE__, 2.383329784369796e+22, "2.38333E+22", "%G",
+__LINE__, 2.386845229536477e+01, "+23.868452", "%+#f",
+__LINE__, 2.388207830036780e-05, "0.000024", "%f",
+__LINE__, 2.391809468802907e+21, "+2.391809e+21", "%+e",
+__LINE__, 2.395172908564692e-09, "+0.000000", "%+f",
+__LINE__, 2.395447167030886e-29, "2.39545e-29", "%g",
+__LINE__, 2.397292973389182e+16, "23972929733891823", "%6.f",
+__LINE__, 2.401749832237687e-30, "2.401750E-30", "%E",
+__LINE__, 2.403610502544347e-03, "0.00240361", "%4G",
+__LINE__, 2.404676421776132e+17, "240467642177613206", "%6.f",
+__LINE__, 2.406327689091479e+25, "2.406328e+25", "%e",
+__LINE__, 2.407341999590511e-02, "0.024073", "%f",
+__LINE__, 2.407352797581004e+05, "240735.", "%#g",
+__LINE__, 2.407903467439017e+13, "2.4079E+13", "%G",
+__LINE__, 2.407979635013539e+21, " +2E+21", "%+7.G",
+__LINE__, 2.409513517930790e+29, "240951351793079027174826478585.600853", "%f",
+__LINE__, 2.412530651221551e+10, "+2.41253E+10", "%+G",
+__LINE__, 2.419943224673811e+00, "2.41994", "%#g",
+__LINE__, 2.422474399040258e-15, "0.000000", "%f",
+__LINE__, 2.426060206689458e+18, "2.42606E+18", "%1G",
+__LINE__, 2.439982659679872e+14, "+2.439983E+14", "%+E",
+__LINE__, 2.440528851375447e+13, "24405288513754.466173", "%f",
+__LINE__, 2.441340473292679e+19, "2.44134E+19", "%G",
+__LINE__, 2.443521636943916e+19, " 2.e+19", "%#7.g",
+__LINE__, 2.445925211597624e-27, "2.445925E-27", "%E",
+__LINE__, 2.446966179060722e+25, "2.446966e+25", "%5e",
+__LINE__, 2.447714218717278e+11, "2e+11", "%1.e",
+__LINE__, 2.448339744613286e+06, "2.4483e+06", "%3.5g",
+__LINE__, 2.448772993496189e+03, "2448.77", "%G",
+__LINE__, 2.448857654325229e+22, "+2.44886e+22", "%+g",
+__LINE__, 2.450082452098890e-27, "2.4501E-27", "%#3.5G",
+__LINE__, 2.451293602221637e+05, "245129.360222", "%f",
+__LINE__, 2.454531490229426e+02, "245.453", "%G",
+__LINE__, 2.458958369944980e+14, "2.5E+14", "%6.1E",
+__LINE__, 2.463666680775038e+14, "+246366668077503.80", "%+#.2f",
+__LINE__, 2.471582990960795e+05, "2.471583e+05", "%e",
+__LINE__, 2.474107179274687e+22, "2.47411e+22", "%g",
+__LINE__, 2.474332114849132e-08, "+2.47433e-08", "%+g",
+__LINE__, 2.476956762431716e+18, "+2476956762431715919.348107", "%+#f",
+__LINE__, 2.479091221850607e-22, "0.000000", "%f",
+__LINE__, 2.479819586598431e-24, "2.47982e-24", "%g",
+__LINE__, 2.480006174601455e-05, "2.48001E-05", "%G",
+__LINE__, 2.482672677638334e-26, "+0.000000", "%+f",
+__LINE__, 2.492816492208918e-14, " 0", "%7.f",
+__LINE__, 2.492964173197140e-12, " 2e-12", "%7.g",
+__LINE__, 2.494646635961173e+02, "249.465", "%g",
+__LINE__, 2.494687818780545e+11, "249468781878.054546", "%#7f",
+__LINE__, 2.510083560147301e-13, "+2.510084e-13", "%+#e",
+__LINE__, 2.511186607989480e-30, "2.51E-30", "%.3G",
+__LINE__, 2.514164516133643e-11, "2.51416e-11", "%g",
+__LINE__, 2.517242520804735e+11, "2.517243e+11", "%e",
+__LINE__, 2.518526126400833e-26, "2.51853e-26", "%g",
+__LINE__, 2.520313416401176e+09, "2520313416.401176", "%5f",
+__LINE__, 2.521653160738683e-29, "2.52165e-29", "%#g",
+__LINE__, 2.521941342615338e-16, "2.52194e-16", "%g",
+__LINE__, 2.523554774354461e-03, "+3E-03", "%+.0E",
+__LINE__, 2.525434130825058e+06, "+2.525434E+06", "%+E",
+__LINE__, 2.527616380113364e+02, "2.527616E+02", "%E",
+__LINE__, 2.531871347913505e+09, "+2.53187E+09", "%+#G",
+__LINE__, 2.532167428661069e+06, "2532167.428661", "%f",
+__LINE__, 2.545585718405995e+14, "+2.54559E+14", "%+G",
+__LINE__, 2.546305097286406e+10, "2.546305e+10", "%e",
+__LINE__, 2.547467156069069e-30, "+0.00", "%+3.2f",
+__LINE__, 2.548728793004506e-14, "2.54873E-14", "%G",
+__LINE__, 2.560375602395090e+11, "256037560239.509032", "%0f",
+__LINE__, 2.560555687476687e+03, "2561", "%.4g",
+__LINE__, 2.561709077363443e-24, "+0.000000", "%+f",
+__LINE__, 2.563763849675242e+10, "2.5637638E+10", "%.7E",
+__LINE__, 2.567482414574355e+11, "+2.567482e+11", "%+e",
+__LINE__, 2.571575046303674e-17, "3E-17", "%2.0E",
+__LINE__, 2.572997971296986e+11, "257299797129.698593", "%f",
+__LINE__, 2.578625935900331e+22, "25786259359003311786295.853381", "%f",
+__LINE__, 2.579663282966370e+12, "2.579663e+12", "%e",
+__LINE__, 2.593141782397610e-08, "0.000000", "%f",
+__LINE__, 2.594386109584196e+04, "3.E+04", "%#6.0E",
+__LINE__, 2.598069318007816e-22, "2.59807e-22", "%g",
+__LINE__, 2.600910462290091e+09, "2.600910E+09", "%6E",
+__LINE__, 2.602580183614458e-03, "2.602580e-03", "%e",
+__LINE__, 2.606540360440264e+09, "+2606540360.4", "%+#0.1f",
+__LINE__, 2.610016419698116e-21, "+3.e-21", "%+#3.g",
+__LINE__, 2.612279323574882e-20, "2.61228E-20", "%G",
+__LINE__, 2.614157324336453e-14, "2.61416e-14", "%g",
+__LINE__, 2.614688721873993e-09, "2.61e-09", "%6.2e",
+__LINE__, 2.616661104472416e-15, " 0", "%5.f",
+__LINE__, 2.616742079283195e-09, " +3E-09", "%+7.E",
+__LINE__, 2.618075304717427e+24, "2.618075e+24", "%e",
+__LINE__, 2.624118573335769e+26, "262411857333576925555007619.550452", "%1f",
+__LINE__, 2.625718894274227e+24, "+2625718894274227110940955.753904", "%+f",
+__LINE__, 2.627081999477812e+03, "2627.081999", "%f",
+__LINE__, 2.631061062224705e+14, "263106106222470.481626", "%f",
+__LINE__, 2.631545877128814e+27, "+2.63155e+27", "%+g",
+__LINE__, 2.632694395848818e-11, "2.63269e-11", "%g",
+__LINE__, 2.636728891022008e-22, "+2.63673e-22", "%+#4g",
+__LINE__, 2.638495675008130e-28, "+2.638496e-28", "%+e",
+__LINE__, 2.639704195859799e-11, "0.", "%#.0f",
+__LINE__, 2.641645264652665e-20, "0", "%0.f",
+__LINE__, 2.642012075064497e-20, "3E-20", "%0.E",
+__LINE__, 2.648725869006487e-29, " 3E-29", "%6.G",
+__LINE__, 2.649060724417770e+12, "3E+12", "%3.G",
+__LINE__, 2.651188545120166e-17, "0.000", "%.3f",
+__LINE__, 2.652302152621621e+14, "2.7E+14", "%.2G",
+__LINE__, 2.653309718412604e-28, "0.000000", "%f",
+__LINE__, 2.658344750491858e-21, " 3e-21", "%6.g",
+__LINE__, 2.664625074612594e+15, "3e+15", "%1.g",
+__LINE__, 2.666953728270800e-15, "3e-15", "%0.e",
+__LINE__, 2.674515419678877e-11, " 3E-11", "%6.E",
+__LINE__, 2.680054917256578e+15, "2680054917256577.5", "%#2.1f",
+__LINE__, 2.680495609883415e-11, "2.68E-11", "%#.3G",
+__LINE__, 2.685757893641070e+23, "268575789364107020418259.70809", "%1.5f",
+__LINE__, 2.695551226058178e+16, "26955512260581775.407786", "%f",
+__LINE__, 2.696346377519671e+04, "+26963.5", "%+G",
+__LINE__, 2.714262310601257e+17, "+2.714262E+17", "%+E",
+__LINE__, 2.719227450016317e-01, "0.271923", "%G",
+__LINE__, 2.724135433346056e-30, "+2.72414e-30", "%+g",
+__LINE__, 2.725143224130276e+14, "272514322413027.576530", "%6f",
+__LINE__, 2.729355189648310e-03, "+0.00273", "%+.5f",
+__LINE__, 2.732872167724945e+11, "2.73287E+11", "%G",
+__LINE__, 2.737709476435412e+17, "273770947643541218.141650", "%f",
+__LINE__, 2.739299356074967e-15, "2.7E-15", "%.2G",
+__LINE__, 2.740793612304798e-27, "2.740794E-27", "%.7G",
+__LINE__, 2.742030156175960e+20, "2.74203e+20", "%2.6g",
+__LINE__, 2.744455324096085e+11, "2.74446E+11", "%G",
+__LINE__, 2.745179546531160e+07, "2.7452E+07", "%.5G",
+__LINE__, 2.747470562525333e+04, "3E+04", "%2.E",
+__LINE__, 2.750243314674629e+21, "2.75024E+21", "%#G",
+__LINE__, 2.750250224436030e+20, "+2.750250e+20", "%+0.6e",
+__LINE__, 2.752712858561084e-22, "2.752713e-22", "%e",
+__LINE__, 2.756982987656667e-03, "0.002756983", "%#.7G",
+__LINE__, 2.761841188479590e+13, "3e+13", "%1.g",
+__LINE__, 2.769498440434419e+00, "+3e+00", "%+0.e",
+__LINE__, 2.769993785786379e+10, "27699937857.863794", "%f",
+__LINE__, 2.772900256376753e-06, "+2.7729E-06", "%+7.6G",
+__LINE__, 2.774401482467457e-06, "2.8e-06", "%3.2g",
+__LINE__, 2.777691370374757e-02, "+0.027777", "%+f",
+__LINE__, 2.779836227365899e-09, "3e-09", "%5.0g",
+__LINE__, 2.780481651765741e+01, "2.780482E+01", "%E",
+__LINE__, 2.782228478714809e-26, "2.782228E-26", "%4.7G",
+__LINE__, 2.790457781719376e+13, "+2.8e+13", "%+.2g",
+__LINE__, 2.792026581166417e-30, " 3.e-30", "%#7.0g",
+__LINE__, 2.792396278299615e-08, "0.00", "%#.2f",
+__LINE__, 2.793658047689995e-10, "2.794e-10", "%#0.4g",
+__LINE__, 2.795707358229888e-25, "0.000000", "%f",
+__LINE__, 2.796253091758523e-06, "2.796E-06", "%.4G",
+__LINE__, 2.796756564788716e-24, "2.796757e-24", "%e",
+__LINE__, 2.798730444798773e-14, "2.79873e-14", "%g",
+__LINE__, 2.799108397670447e-24, "3E-24", "%.0G",
+__LINE__, 2.799389008872835e+06, "2799389.", "%#0.f",
+__LINE__, 2.800413998518039e-14, "0.000000", "%f",
+__LINE__, 2.803237602587100e+15, "+2803237602587100.418816", "%+5f",
+__LINE__, 2.803474415574551e-04, "0.0002803", "%.7f",
+__LINE__, 2.804957468647181e+25, "2.80496e+25", "%g",
+__LINE__, 2.809345112788226e+09, "2809345112.788226", "%.6f",
+__LINE__, 2.811518239408899e+10, "3e+10", "%1.g",
+__LINE__, 2.813188439967416e-16, "0.0000000", "%5.7f",
+__LINE__, 2.813497118051755e+08, "2.8135e+08", "%.5g",
+__LINE__, 2.815748256510577e-29, "0.000000", "%2f",
+__LINE__, 2.816076365485207e-01, "0.281608", "%0G",
+__LINE__, 2.816083345772131e+24, "2.8161e+24", "%6.4e",
+__LINE__, 2.818686957605178e+12, "2.8187E+12", "%.5G",
+__LINE__, 2.821903538737691e+20, "2.8219E+20", "%G",
+__LINE__, 2.823659589845680e+26, "2.82366e+26", "%2g",
+__LINE__, 2.823685630865012e+22, "2.82369E+22", "%G",
+__LINE__, 2.828826386007914e+21, "2.828826E+21", "%7E",
+__LINE__, 2.830997901034349e+04, "+3e+04", "%+0.e",
+__LINE__, 2.833886731091353e-26, "+2.833887e-26", "%+4e",
+__LINE__, 2.839965144893913e+28, "28399651448939131626048038015.1421", "%.4f",
+__LINE__, 2.840651452049947e-09, "2.841E-09", "%#.3E",
+__LINE__, 2.843388001911757e-01, "0.284339", "%g",
+__LINE__, 2.846122151080671e+14, "2.84612E+14", "%.5E",
+__LINE__, 2.851257828837595e+05, "+285126", "%+5.f",
+__LINE__, 2.853823884459520e+07, "+2.85382E+07", "%+G",
+__LINE__, 2.853870068368765e-06, "2.854E-06", "%4.3E",
+__LINE__, 2.856687358149867e+01, "+28.567", "%+6.5G",
+__LINE__, 2.858946600073752e+06, "2.8589466e+06", "%3.7e",
+__LINE__, 2.861525727138818e+24, "2.8615257e+24", "%2.7e",
+__LINE__, 2.865104175886071e-24, "0.000000", "%f",
+__LINE__, 2.870678920363198e-14, "2.87068E-14", "%G",
+__LINE__, 2.873298537233691e+09, "+2.8733e+09", "%+g",
+__LINE__, 2.877939609444375e-02, "0.028779", "%f",
+__LINE__, 2.878253985341728e+13, "2.87825E+13", "%G",
+__LINE__, 2.879299244903946e+29, "287929924490394597569320467301", "%0.f",
+__LINE__, 2.885516225515485e-26, "0.000000", "%f",
+__LINE__, 2.886013724129579e+20, "+3e+20", "%+4.g",
+__LINE__, 2.887032786975506e-30, "0.000000", "%f",
+__LINE__, 2.890415456531026e-29, "2.89042E-29", "%G",
+__LINE__, 2.893177360548214e-13, "2.893E-13", "%#6.3E",
+__LINE__, 2.895265536458195e+26, "2.89527e+26", "%5g",
+__LINE__, 2.903844533810152e+23, "290384453381015195105874.23", "%.2f",
+__LINE__, 2.909060558287504e+27, "2.90906e+27", "%g",
+__LINE__, 2.911615480973172e-05, "2.91162E-05", "%3G",
+__LINE__, 2.912692297221896e+09, "2912692297.221896", "%#f",
+__LINE__, 2.913595662485813e-24, "2.9136E-24", "%G",
+__LINE__, 2.915960840341896e-27, "0.000000", "%f",
+__LINE__, 2.920451095973991e-16, "2.92e-16", "%2.2e",
+__LINE__, 2.920528295810925e+06, "2.92053E+06", "%#G",
+__LINE__, 2.921564671017147e+20, "2.921565E+20", "%#6E",
+__LINE__, 2.921628350942189e+01, "2.921628E+01", "%E",
+__LINE__, 2.921843377455232e+20, "2.921843E+20", "%#E",
+__LINE__, 2.930156950319384e+29, "2.930E+29", "%1.3E",
+__LINE__, 2.931229858895071e-30, "2.9e-30", "%4.2g",
+__LINE__, 2.931753029689166e+20, "2.93175e+20", "%g",
+__LINE__, 2.933023693079342e+15, "3.E+15", "%#.1G",
+__LINE__, 2.933078733225520e+26, "2.93308E+26", "%G",
+__LINE__, 2.933528170896643e-14, "+2.93353e-14", "%+g",
+__LINE__, 2.938648437428148e+00, "2.938648e+00", "%e",
+__LINE__, 2.940752238221344e+26, "+2.94075E+26", "%+G",
+__LINE__, 2.942836470459675e+20, "2.9428e+20", "%6.4e",
+__LINE__, 2.943218333254941e+29, "294321833325494086608387078740.634024", "%f",
+__LINE__, 2.943690574007512e-27, "0.000000", "%f",
+__LINE__, 2.945452907046501e+09, "+2.9455E+09", "%+.5G",
+__LINE__, 2.946648725966953e+16, "29466487259669534.637396", "%4f",
+__LINE__, 2.955119322417825e+29, "2.95512E+29", "%G",
+__LINE__, 2.966481197538973e+24, "2.96648e+24", "%#g",
+__LINE__, 2.969362862661362e+08, "+2.969363e+08", "%+7e",
+__LINE__, 2.970062459990078e+21, "+2.97006E+21", "%+G",
+__LINE__, 2.971059959019791e+10, " 3E+10", "%7.G",
+__LINE__, 2.973020205606034e-29, "0.000000", "%f",
+__LINE__, 2.977223210301426e+04, "2.977223e+04", "%#e",
+__LINE__, 2.977467832772786e-26, "0.000000", "%f",
+__LINE__, 2.981433606423384e+18, "2981433606423384397.032805", "%f",
+__LINE__, 2.981615513287404e-17, "2.98162e-17", "%g",
+__LINE__, 2.983880743847276e+19, " 3e+19", "%7.e",
+__LINE__, 2.983927792297305e-28, "2.983928e-28", "%e",
+__LINE__, 2.984807359492058e-17, " 0", "%2.f",
+__LINE__, 2.985123412933032e+09, "+2.98512e+09", "%+g",
+__LINE__, 2.991132955408629e-27, "+2.99113e-27", "%+4g",
+__LINE__, 2.992345635923643e+19, "3E+19", "%4.G",
+__LINE__, 2.993024238285395e-05, "2.99302e-05", "%2g",
+__LINE__, 2.995303406756363e+16, "+2.995303E+16", "%+E",
+__LINE__, 2.995492577854335e+19, "+29954925778543346481.797016", "%+f",
+__LINE__, 2.996856271675341e-25, "+3e-25", "%+0.e",
+__LINE__, 2.997813968112619e+12, "2.99781e+12", "%#5g",
+__LINE__, 3.002097486457961e-17, "3.00210e-17", "%5.5e",
+__LINE__, 3.006538123158692e+28, "+3.00654E+28", "%+#G",
+__LINE__, 3.007293721729544e+04, "30072.937217", "%f",
+__LINE__, 3.008301791944493e-07, "3.008e-07", "%.3e",
+__LINE__, 3.011742184603817e-17, "3.011742E-17", "%#E",
+__LINE__, 3.024641547299177e-30, "3.02464e-30", "%g",
+__LINE__, 3.026525135110198e-28, "3e-28", "%.0e",
+__LINE__, 3.026768160756558e+20, "3.02677E+20", "%G",
+__LINE__, 3.031928829940975e+18, "3031928829940975234.1", "%0.1f",
+__LINE__, 3.039787705138620e+24, "+3.E+24", "%+#5.G",
+__LINE__, 3.039803824423916e-02, "0.030398", "%5f",
+__LINE__, 3.041236293199133e-26, "3.04124e-26", "%g",
+__LINE__, 3.045634954037886e+04, "30456.3", "%g",
+__LINE__, 3.047528114241850e+25, "3e+25", "%0.e",
+__LINE__, 3.047958193737501e-24, "3.04796E-24", "%#G",
+__LINE__, 3.049537324414302e-16, "3.04954E-16", "%G",
+__LINE__, 3.050500637681798e-30, "3.0505E-30", "%G",
+__LINE__, 3.051769626625307e-01, "0.305177", "%f",
+__LINE__, 3.057280201971847e+11, "+3.05728E+11", "%+.5E",
+__LINE__, 3.060046173306881e-10, "+3.060046e-10", "%+e",
+__LINE__, 3.069732667347204e+27, "+3069732667347204291274920251.453295", "%+f",
+__LINE__, 3.075060836786916e-14, "0.000000", "%f",
+__LINE__, 3.078175179670964e+13, "3.07818E+13", "%G",
+__LINE__, 3.080305344303183e-21, "3.08031e-21", "%6g",
+__LINE__, 3.088881497064043e+27, "+3.088881E+27", "%+3E",
+__LINE__, 3.089196877931209e-20, "3.089197e-20", "%e",
+__LINE__, 3.091400888880487e-08, "3e-08", "%2.e",
+__LINE__, 3.093410684178904e+16, "3.09341e+16", "%g",
+__LINE__, 3.104225344208216e-21, "0.000000", "%f",
+__LINE__, 3.105843728248599e+13, "3.e+13", "%#.0g",
+__LINE__, 3.106463071390893e-07, "0.0000", "%.4f",
+__LINE__, 3.107784123569379e+02, "+310.778", "%+G",
+__LINE__, 3.110605148983672e-20, "3.1106051E-20", "%.7E",
+__LINE__, 3.111702418162670e-04, "0.00031117", "%.5G",
+__LINE__, 3.117610675303153e-17, "3.11761e-17", "%g",
+__LINE__, 3.123620125717981e+07, "3.1236e+07", "%2.5g",
+__LINE__, 3.125648558809832e-24, "+3.125649E-24", "%+#0.6E",
+__LINE__, 3.129025163659283e+10, "31290251636.592825", "%#f",
+__LINE__, 3.130689119412709e-29, "+3.131E-29", "%+#.4G",
+__LINE__, 3.135681222132527e+13, "3.13568E+13", "%G",
+__LINE__, 3.138290485073330e-10, "3.13829E-10", "%G",
+__LINE__, 3.141255250155306e-12, "3.14126E-12", "%G",
+__LINE__, 3.143224520918429e+25, "3.14322E+25", "%#1G",
+__LINE__, 3.144746921366173e-16, " 0", "%7.f",
+__LINE__, 3.151336678241994e+19, "+3.15134E+19", "%+G",
+__LINE__, 3.161752935716549e+24, "3.2E+24", "%2.1E",
+__LINE__, 3.167106521258172e-10, "+3.167107e-10", "%+e",
+__LINE__, 3.167266522824146e-04, "3E-04", "%3.E",
+__LINE__, 3.169995217131489e+27, "3169995217131488907114089670.358226", "%f",
+__LINE__, 3.172117220467692e-21, "3.1721E-21", "%.5G",
+__LINE__, 3.173824170351611e+02, " 3e+02", "%6.e",
+__LINE__, 3.186291452544739e-28, " 0", "%2.f",
+__LINE__, 3.194750094186063e+03, "+3.194750E+03", "%+E",
+__LINE__, 3.195001037118137e-20, "0", "%0.0f",
+__LINE__, 3.199271564719560e+02, "319.927", "%g",
+__LINE__, 3.212803450638544e+20, "3.2128e+20", "%.6g",
+__LINE__, 3.214502877263883e+24, "3214502877263882840708220", "%2.f",
+__LINE__, 3.214658414074286e-01, "+0.321466", "%+#g",
+__LINE__, 3.217627975823673e+00, "3.217628", "%f",
+__LINE__, 3.218257328710536e-07, "3.21826e-07", "%6.5e",
+__LINE__, 3.221949479347008e+02, "322.194948", "%f",
+__LINE__, 3.222862935507443e-14, "3.222863E-14", "%E",
+__LINE__, 3.223750247261608e+19, "3.22375e+19", "%g",
+__LINE__, 3.236030335782375e+05, "3.236030e+05", "%e",
+__LINE__, 3.241078803072735e+19, "3.24108e+19", "%g",
+__LINE__, 3.248069569167045e-06, "0.000003", "%#f",
+__LINE__, 3.248148973717269e-15, "3.24815E-15", "%G",
+__LINE__, 3.251150704311790e+25, "+3.25115e+25", "%+5g",
+__LINE__, 3.254498593372140e+15, "+3.2545e+15", "%+g",
+__LINE__, 3.254949399612861e-13, "+3.255E-13", "%+7.3E",
+__LINE__, 3.255490928554106e-17, "3.255491e-17", "%e",
+__LINE__, 3.262333894422112e+17, "326233389442211185.738074", "%0f",
+__LINE__, 3.263923577545217e-24, "0.0000000", "%.7f",
+__LINE__, 3.267125289609703e+23, "3.26713e+23", "%#.5e",
+__LINE__, 3.267906049108331e+27, "3.267906E+27", "%6E",
+__LINE__, 3.269885039157328e+14, "326988503915732.797722", "%f",
+__LINE__, 3.296011393609953e-27, " 3E-27", "%7.E",
+__LINE__, 3.296452164568996e+29, "3.296452E+29", "%E",
+__LINE__, 3.296544736555325e+10, "+3.29654E+10", "%+.6G",
+__LINE__, 3.301861835798572e+03, "3301.862", "%4.7g",
+__LINE__, 3.311292283423002e+21, " 3E+21", "%6.G",
+__LINE__, 3.314868440076262e-10, "3.3149E-10", "%.5G",
+__LINE__, 3.318057982247451e-13, "3.3181e-13", "%0.5g",
+__LINE__, 3.318139218410071e-22, "0.000000", "%f",
+__LINE__, 3.326769904839351e-11, "+3.3268e-11", "%+0.4e",
+__LINE__, 3.327483659787219e+27, "+3.32748e+27", "%+g",
+__LINE__, 3.332666889640198e+17, "333266688964019763.830038", "%f",
+__LINE__, 3.333807449377253e+10, "+3.33e+10", "%+.3g",
+__LINE__, 3.334572302792625e-09, "3.334572E-09", "%E",
+__LINE__, 3.337567126586765e-17, "0.0000000", "%#3.7f",
+__LINE__, 3.340512607683786e-04, "+3E-04", "%+1.E",
+__LINE__, 3.344911557516870e+04, "33449.1", "%G",
+__LINE__, 3.346464302017296e+26, "+3.E+26", "%+#3.G",
+__LINE__, 3.348503166628953e+00, "+3.348503e+00", "%+e",
+__LINE__, 3.350025157778138e-19, "3.35003e-19", "%6g",
+__LINE__, 3.352826233035342e+11, "335282623303.534200", "%7f",
+__LINE__, 3.357174089765502e+10, "3.35717E+10", "%G",
+__LINE__, 3.369253166475501e+03, "+3369.25", "%+G",
+__LINE__, 3.371385975046735e+02, "337.", "%#.0f",
+__LINE__, 3.372532650462104e-04, "+0.000", "%+.3f",
+__LINE__, 3.376498162710442e-26, "3.376498e-26", "%e",
+__LINE__, 3.383510307689135e-12, " 3e-12", "%7.0e",
+__LINE__, 3.388427914080631e-04, "0.0003", "%2.4f",
+__LINE__, 3.390757423408097e+29, "3.3908E+29", "%.4E",
+__LINE__, 3.393963140962879e-11, "3.39396e-11", "%g",
+__LINE__, 3.399245742994444e+24, "3.399246E+24", "%E",
+__LINE__, 3.417690405546708e-26, "0.00000", "%4.5f",
+__LINE__, 3.421159360472045e-30, "3.42116E-30", "%G",
+__LINE__, 3.421973947898887e-06, "3.42197E-06", "%4G",
+__LINE__, 3.425949002482817e-10, "+3.42595E-10", "%+G",
+__LINE__, 3.428355150377972e+08, "3.42836E+08", "%G",
+__LINE__, 3.445035158951526e+15, "3445035158951526.454985", "%f",
+__LINE__, 3.447363996077534e+28, "+3e+28", "%+2.e",
+__LINE__, 3.451571062654907e-03, "0.00345157", "%G",
+__LINE__, 3.452787236877688e+09, "3.45279e+09", "%g",
+__LINE__, 3.454114826574939e-22, "3.e-22", "%#3.e",
+__LINE__, 3.455241965974631e-03, "0.003455", "%#f",
+__LINE__, 3.456190496554365e-18, "3.E-18", "%#5.E",
+__LINE__, 3.456804565717233e-19, "+0.000", "%+2.3f",
+__LINE__, 3.457077651539715e-28, "3.457078E-28", "%E",
+__LINE__, 3.472025705376229e+22, "3.472e+22", "%7.4g",
+__LINE__, 3.473308270919079e+03, "3.473308e+03", "%e",
+__LINE__, 3.474468013243007e-30, "3.47447e-30", "%g",
+__LINE__, 3.477976957097698e+22, "3.47798e+22", "%g",
+__LINE__, 3.501174631980057e-06, "4e-06", "%4.g",
+__LINE__, 3.501808481702140e+20, "3.50181E+20", "%G",
+__LINE__, 3.511760000705324e+14, "351176000070532.357000", "%f",
+__LINE__, 3.511870226306087e+29, "3.51187e+29", "%.5e",
+__LINE__, 3.518846859147841e+02, "+351.885", "%+G",
+__LINE__, 3.521659149753418e+25, "35216591497534182053641416", "%5.f",
+__LINE__, 3.521721228178747e+21, "4e+21", "%2.e",
+__LINE__, 3.526696007281458e+22, "3.5267e+22", "%g",
+__LINE__, 3.535631031379084e-11, "4e-11", "%5.0g",
+__LINE__, 3.537219665456759e-01, "0.353722", "%f",
+__LINE__, 3.537252728287785e-09, "3.537253E-09", "%E",
+__LINE__, 3.542561277796815e-19, "3.542561E-19", "%E",
+__LINE__, 3.548942336915745e+13, "3.54894E+13", "%.5E",
+__LINE__, 3.574385715121768e-24, "3.57439E-24", "%#G",
+__LINE__, 3.578068067760211e-13, "3.578068E-13", "%E",
+__LINE__, 3.583296432862266e-13, "3.5833e-13", "%g",
+__LINE__, 3.591567367115590e+19, "3.59157e+19", "%1g",
+__LINE__, 3.594902312287635e-24, "3.5949E-24", "%G",
+__LINE__, 3.602929486764515e+12, "3602929486764.514522", "%#f",
+__LINE__, 3.606699462631472e-01, "+0.360670", "%+f",
+__LINE__, 3.608605968319811e+17, "3.60861e+17", "%g",
+__LINE__, 3.608780761567885e+24, "4e+24", "%0.e",
+__LINE__, 3.623857274715022e-15, "3.62386E-15", "%1G",
+__LINE__, 3.627346251764432e-22, "3.627e-22", "%.4g",
+__LINE__, 3.652610391698086e-16, "0.000000", "%3f",
+__LINE__, 3.657463146689917e-19, " 0", "%4.0f",
+__LINE__, 3.658538858712938e-15, "4E-15", "%5.G",
+__LINE__, 3.660337267266058e+16, "+36603372672660579.034698", "%+f",
+__LINE__, 3.661588742065142e-01, "0.366159", "%g",
+__LINE__, 3.662296387211376e-25, "0.000000", "%f",
+__LINE__, 3.668511100303393e-29, "0.000000", "%7f",
+__LINE__, 3.669499303661920e+06, "3.6695e+06", "%1.5g",
+__LINE__, 3.676856420121343e-23, "3.6769e-23", "%0.4e",
+__LINE__, 3.677197473476901e-19, "+3.6772e-19", "%+g",
+__LINE__, 3.677281754506453e+12, "+3677281754506.452671", "%+f",
+__LINE__, 3.678420802401506e-19, "3.67842E-19", "%G",
+__LINE__, 3.679970245325769e+07, "3.67997e+07", "%g",
+__LINE__, 3.682528947621349e+05, "4.e+05", "%#5.e",
+__LINE__, 3.688257471304210e+22, "36882574713042104441740.320908", "%f",
+__LINE__, 3.689129734472166e-01, "0.368913", "%0.6G",
+__LINE__, 3.693483801463324e+12, "4E+12", "%3.E",
+__LINE__, 3.694612396584729e-21, "+3.69461E-21", "%+G",
+__LINE__, 3.706150073392112e-19, "0.000000", "%2f",
+__LINE__, 3.706824819530577e+21, "3706824819530576853310.321894", "%f",
+__LINE__, 3.709583789659276e+19, "+3.709584E+19", "%+#E",
+__LINE__, 3.711137503697284e+22, "3.7111E+22", "%.5G",
+__LINE__, 3.717307412969522e-22, "3.717307E-22", "%#E",
+__LINE__, 3.717434999853808e+24, " 4E+24", "%6.G",
+__LINE__, 3.720761662524312e+14, "+372076166252431.2285", "%+1.4f",
+__LINE__, 3.721613815237707e-10, "3.72161e-10", "%g",
+__LINE__, 3.725086467464346e+14, "3.72509E+14", "%G",
+__LINE__, 3.727427083626536e-15, "+4E-15", "%+.0G",
+__LINE__, 3.731138322599465e-13, "3.73114e-13", "%5g",
+__LINE__, 3.732248129614146e-04, " 4E-04", "%7.E",
+__LINE__, 3.744422223926118e-24, "3.744422E-24", "%E",
+__LINE__, 3.745595428897916e+21, "+3745595428897916079336.027906", "%+f",
+__LINE__, 3.751308304055989e-08, "+3.751308e-08", "%+e",
+__LINE__, 3.755395417696132e-02, "0.037554", "%f",
+__LINE__, 3.769103881505159e+09, "3.7691e+09", "%g",
+__LINE__, 3.769535572757430e+00, "3.769536", "%6.7G",
+__LINE__, 3.770823872348274e-28, "+0.000000", "%+f",
+__LINE__, 3.771160653578178e+29, "3.77116e+29", "%g",
+__LINE__, 3.776563752716444e-12, "4E-12", "%.0E",
+__LINE__, 3.777953798674786e-28, "3.77795e-28", "%g",
+__LINE__, 3.785994690686598e+28, "4E+28", "%5.G",
+__LINE__, 3.787487488835162e+01, "+37.874875", "%+5f",
+__LINE__, 3.788249311173359e-18, "3.788249E-18", "%E",
+__LINE__, 3.798728360791314e-08, "3.798728E-08", "%2E",
+__LINE__, 3.799038238867092e+05, "3.79904E+05", "%.5E",
+__LINE__, 3.799822564549600e+06, "3.79982E+06", "%.5E",
+__LINE__, 3.804862840499834e-16, "0", "%1.f",
+__LINE__, 3.805375156822481e+12, "3805375156822.4814861", "%.7f",
+__LINE__, 3.821612790153376e-17, "3.821613e-17", "%e",
+__LINE__, 3.825193659558693e+14, "3.82519E+14", "%#G",
+__LINE__, 3.834180638680996e+17, "+383418063868099565.638659", "%+f",
+__LINE__, 3.834759760605814e-12, "3.83476E-12", "%G",
+__LINE__, 3.839786235582770e+16, "+3.84e+16", "%+0.3g",
+__LINE__, 3.843164462248778e+28, "3.84316e+28", "%#g",
+__LINE__, 3.845599697858050e+22, "3.8456E+22", "%G",
+__LINE__, 3.850147271017228e-21, "3.85e-21", "%.4g",
+__LINE__, 3.850283557812101e+07, "3.85028E+07", "%G",
+__LINE__, 3.854235609725703e+03, "3854.24", "%G",
+__LINE__, 3.864901885489405e-15, "3.8649E-15", "%G",
+__LINE__, 3.868630187629983e-24, "3.868630e-24", "%e",
+__LINE__, 3.876764606134972e-03, "+3.8767646e-03", "%+#0.7e",
+__LINE__, 3.884553592855422e+08, "+3.8845536e+08", "%+4.7e",
+__LINE__, 3.887417494351062e+03, "3887.42", "%0g",
+__LINE__, 3.887561018972304e+03, "3887.56", "%G",
+__LINE__, 3.888554801724658e-24, "3.888555e-24", "%e",
+__LINE__, 3.892806891909861e-01, "0.389281", "%f",
+__LINE__, 3.914459791345755e+15, "+3.914460E+15", "%+E",
+__LINE__, 3.918383209642759e+01, "39.1838", "%#G",
+__LINE__, 3.923970658741865e-10, "3.92397E-10", "%G",
+__LINE__, 3.928163650272335e+18, "3928163650272335161.162118", "%f",
+__LINE__, 3.933053127721002e-20, "3.933053e-20", "%e",
+__LINE__, 3.939306552155218e-29, "3.93931E-29", "%G",
+__LINE__, 3.953007066379472e+07, "3.953007E+07", "%E",
+__LINE__, 3.954924824986267e-01, "3.954925E-01", "%E",
+__LINE__, 3.956156072067987e+15, "3.956E+15", "%0.4G",
+__LINE__, 3.957756196797224e+22, "4.0E+22", "%4.1E",
+__LINE__, 3.960011413261009e+27, "+3960011413261008783592842519.283295", "%+f",
+__LINE__, 3.961789076323378e+20, "396178907632337828914.614875", "%f",
+__LINE__, 3.961985468081708e-28, "3.96199E-28", "%1G",
+__LINE__, 3.975007582283812e-27, "0.000000", "%0.6f",
+__LINE__, 3.987586813142132e+15, "+3.98759e+15", "%+g",
+__LINE__, 3.992250836957379e+21, "3.99225E+21", "%0G",
+__LINE__, 3.992985048620057e+00, "3.9930", "%.4f",
+__LINE__, 4.000000000000000e+02, "400.00", "%.2f",
+__LINE__, 4.000145414240556e+14, "4.00015e+14", "%#6g",
+__LINE__, 4.000774453529974e-25, "4E-25", "%.0E",
+__LINE__, 4.002041494804383e+17, "4.002041E+17", "%E",
+__LINE__, 4.005505415013214e+17, " 4E+17", "%6.2G",
+__LINE__, 4.008960306876491e-28, "0.000", "%.3f",
+__LINE__, 4.032337828117640e+16, "4.03234E+16", "%G",
+__LINE__, 4.035414597530057e+26, "403541459753005682387083652.429283", "%f",
+__LINE__, 4.037065874793069e-01, "0.403707", "%f",
+__LINE__, 4.047856284449970e-14, "4.04786E-14", "%#G",
+__LINE__, 4.049037221323070e-04, "4.049037e-04", "%e",
+__LINE__, 4.053458853142009e-07, "4E-07", "%2.0E",
+__LINE__, 4.056455443275955e-22, "4.056455e-22", "%e",
+__LINE__, 4.058158020771355e-22, "4.05816e-22", "%#2g",
+__LINE__, 4.067283508945137e+02, "+4.07e+02", "%+5.2e",
+__LINE__, 4.072155715199509e+11, "4.072e+11", "%.4g",
+__LINE__, 4.074643403755990e-22, "4e-22", "%0.g",
+__LINE__, 4.077450352325251e+08, "4.1e+08", "%3.2g",
+__LINE__, 4.081492619284916e-08, "4.081493E-08", "%E",
+__LINE__, 4.083271801996951e-10, "4.083272E-10", "%#E",
+__LINE__, 4.090188547940879e-15, "4.090189E-15", "%#E",
+__LINE__, 4.091167728938537e-11, "4e-11", "%1.g",
+__LINE__, 4.091916745541154e+15, "4091916745541153.588306", "%f",
+__LINE__, 4.092366122921161e+23, "4E+23", "%0.E",
+__LINE__, 4.094638368212577e-11, "4.09464E-11", "%#G",
+__LINE__, 4.097148443124199e-16, "0.000000", "%f",
+__LINE__, 4.101057893946401e+06, "4e+06", "%4.g",
+__LINE__, 4.101209521231476e+28, "41012095212314756409455185348.633677", "%f",
+__LINE__, 4.105683659045903e+05, "+4.E+05", "%+#1.G",
+__LINE__, 4.111553717385758e-16, "4.11155e-16", "%g",
+__LINE__, 4.112186409918593e+14, "+4.11219e+14", "%+g",
+__LINE__, 4.117782144860865e+25, "4.117782E+25", "%5E",
+__LINE__, 4.119420921722146e-27, "4.11942e-27", "%g",
+__LINE__, 4.134953783635018e+14, "+4.1349538e+14", "%+.7e",
+__LINE__, 4.136990822648468e+11, "4.136991E+11", "%E",
+__LINE__, 4.140475788523046e+14, "+4E+14", "%+5.G",
+__LINE__, 4.149589679915584e+24, "4.14959E+24", "%2G",
+__LINE__, 4.151240342256744e-22, " 0", "%2.f",
+__LINE__, 4.155533104307272e-04, "+0.000416", "%+f",
+__LINE__, 4.155890511880097e+25, "4.155891e+25", "%e",
+__LINE__, 4.159907901074450e-19, "4.159908E-19", "%7E",
+__LINE__, 4.171899783464252e+18, "4E+18", "%.0E",
+__LINE__, 4.177920266276382e-17, "+0.0000", "%+1.4f",
+__LINE__, 4.181728014477237e-20, "4.18173e-20", "%.6g",
+__LINE__, 4.203600495086497e-30, " 4E-30", "%6.G",
+__LINE__, 4.211166112605717e-08, "4E-08", "%5.1G",
+__LINE__, 4.219513437404614e+18, "+4E+18", "%+.0E",
+__LINE__, 4.221426315236785e+08, "4.221426E+08", "%#E",
+__LINE__, 4.226224756005934e-13, " 4.e-13", "%#7.g",
+__LINE__, 4.226979046489921e-01, "4.226979e-01", "%#.6e",
+__LINE__, 4.236283521629158e-08, "+4.23628E-08", "%+G",
+__LINE__, 4.239850628514233e-07, "4.23985E-07", "%.6G",
+__LINE__, 4.241177358638621e+04, "42411.773586", "%2f",
+__LINE__, 4.245306724398964e-13, "0.000000", "%#f",
+__LINE__, 4.246194290300334e+16, "42461942903003340.177293", "%2f",
+__LINE__, 4.251238996137952e-05, "4.25124E-05", "%3G",
+__LINE__, 4.262432542017438e+13, "42624325420174.375978", "%1f",
+__LINE__, 4.266383084300715e+16, "4E+16", "%4.G",
+__LINE__, 4.292963398931474e-11, "4.292963E-11", "%E",
+__LINE__, 4.296530271399131e-29, "0.000000", "%6f",
+__LINE__, 4.303753949741171e+19, "4.30375E+19", "%2G",
+__LINE__, 4.303767633827431e-28, "4.30377e-28", "%g",
+__LINE__, 4.316181911403991e-30, "4.3162e-30", "%#7.5g",
+__LINE__, 4.318654697213126e-18, "4.31865e-18", "%g",
+__LINE__, 4.320618603119499e+05, "432061.860312", "%3f",
+__LINE__, 4.322443609118441e+21, "4.32244E+21", "%7.5E",
+__LINE__, 4.322522446810708e-15, "4.32252e-15", "%.6g",
+__LINE__, 4.334728493589115e-18, "0.000000", "%f",
+__LINE__, 4.335342531476346e-19, "4.33534E-19", "%G",
+__LINE__, 4.340579325084176e-30, "4.34058e-30", "%#0.6g",
+__LINE__, 4.340775659883185e+04, "43407.756599", "%6f",
+__LINE__, 4.361131891528634e-14, " 4E-14", "%6.G",
+__LINE__, 4.366662624371249e-02, "+0.04", "%+4.g",
+__LINE__, 4.369919308458348e+28, "+4.36992e+28", "%+2g",
+__LINE__, 4.369930393192433e-24, "4.369930e-24", "%e",
+__LINE__, 4.376283118322521e-01, "0.437628", "%g",
+__LINE__, 4.386868840825930e+19, "4.3869E+19", "%.5G",
+__LINE__, 4.389349113395235e+05, "+4.389349e+05", "%+e",
+__LINE__, 4.392447466753053e-08, "+4.392E-08", "%+.4G",
+__LINE__, 4.394068619246889e-13, "4.39407e-13", "%6g",
+__LINE__, 4.404889573700147e-09, "4.404890E-09", "%E",
+__LINE__, 4.410531039373014e+05, "+4.41e+05", "%+.2e",
+__LINE__, 4.412466606726400e-08, " 0.0", "%6.1f",
+__LINE__, 4.414693719279123e+17, "4.414694e+17", "%e",
+__LINE__, 4.417050329080679e-01, "+0.441705", "%+g",
+__LINE__, 4.419509841929196e-10, "4.4195098E-10", "%.7E",
+__LINE__, 4.421012777695611e+07, "+4.42101E+07", "%+0.6G",
+__LINE__, 4.426387732151208e+11, "4.42639e+11", "%g",
+__LINE__, 4.439567017550398e+26, "4.439567E+26", "%E",
+__LINE__, 4.446479816166258e-21, "4.446480e-21", "%0e",
+__LINE__, 4.453486178424380e+05, "445348.617842", "%f",
+__LINE__, 4.455733696043438e+06, "4.45573e+06", "%3g",
+__LINE__, 4.455870606312063e+16, "4.45587e+16", "%g",
+__LINE__, 4.458776435431700e+22, "4e+22", "%1.g",
+__LINE__, 4.466448605584151e-30, "0.000000", "%f",
+__LINE__, 4.471063097005706e+16, "4.47106E+16", "%G",
+__LINE__, 4.482001890035190e-22, "+4.482E-22", "%+G",
+__LINE__, 4.493246870093631e+05, "449325", "%1G",
+__LINE__, 4.496089639281023e+17, "4.49609e+17", "%g",
+__LINE__, 4.515066070117557e+15, "4.51507e+15", "%g",
+__LINE__, 4.518296460916194e+24, "+4.5183E+24", "%+G",
+__LINE__, 4.526548719445596e+02, "452.655", "%6.3f",
+__LINE__, 4.532756455106440e-26, "4.53e-26", "%4.2e",
+__LINE__, 4.534466782633055e-14, "4.53447E-14", "%G",
+__LINE__, 4.541313061854649e-14, "4.54131E-14", "%G",
+__LINE__, 4.541848265404338e+02, " 5E+02", "%7.G",
+__LINE__, 4.546603085406363e-26, "5E-26", "%3.G",
+__LINE__, 4.557349604829375e+28, "+45573496048293753446500886639.", "%+#1.f",
+__LINE__, 4.560736449944898e-27, "4.56074e-27", "%g",
+__LINE__, 4.563726230559341e-15, "+0.0", "%+2.1f",
+__LINE__, 4.572650965532532e-26, "+5E-26", "%+4.G",
+__LINE__, 4.574369572115099e-10, "+0.000000", "%+2.6f",
+__LINE__, 4.576480601519729e+28, "+4.576481e+28", "%+e",
+__LINE__, 4.587487640650499e+02, "+458.75", "%+3.2f",
+__LINE__, 4.598365231538559e-27, "4.59837E-27", "%G",
+__LINE__, 4.599348244725009e-28, "+4.5993482e-28", "%+#3.7e",
+__LINE__, 4.599897524047587e+22, "45998975240475870052136.997401", "%#f",
+__LINE__, 4.605415604725077e-25, "0.000000", "%f",
+__LINE__, 4.613055015797716e+28, "4.613055E+28", "%E",
+__LINE__, 4.618715275814238e-10, "4.618715E-10", "%E",
+__LINE__, 4.619044579489540e-14, "0.00", "%.2f",
+__LINE__, 4.633693310095410e-20, "+0.000000", "%+f",
+__LINE__, 4.648505395281916e-28, "0.000000", "%f",
+__LINE__, 4.651232770446398e+21, "4.65e+21", "%.2e",
+__LINE__, 4.659743589975352e+28, "+4.65974e+28", "%+g",
+__LINE__, 4.660181457075208e-13, "4.66018e-13", "%g",
+__LINE__, 4.669787018529686e+20, "4.66979e+20", "%g",
+__LINE__, 4.672649286126732e-21, "4.6726E-21", "%4.5G",
+__LINE__, 4.675431901120643e-11, " 0", "%3.f",
+__LINE__, 4.684404068169945e+26, "468440406816994503458317922.2", "%6.1f",
+__LINE__, 4.685438834234642e+19, "5.E+19", "%#6.G",
+__LINE__, 4.688915890732712e+00, "+5e+00", "%+2.e",
+__LINE__, 4.692999432046297e+00, "4.692999E+00", "%E",
+__LINE__, 4.708690772584701e+11, "4.70869e+11", "%g",
+__LINE__, 4.711821455782105e-11, "+4.71182e-11", "%+1g",
+__LINE__, 4.712413965116830e-01, "4.712414E-01", "%E",
+__LINE__, 4.719504715401049e-08, "0.000000", "%f",
+__LINE__, 4.719767896031655e+27, "4.71977e+27", "%#g",
+__LINE__, 4.722493017411588e-05, "0.000047", "%4f",
+__LINE__, 4.729482386761477e+08, "4.72948e+08", "%1g",
+__LINE__, 4.730102169800602e-06, "0.000005", "%f",
+__LINE__, 4.743951614209393e+24, "4.743952E+24", "%#E",
+__LINE__, 4.746077075605921e-16, "4.746E-16", "%.3E",
+__LINE__, 4.747802537919248e+24, "4747802537919247889419694", "%4.f",
+__LINE__, 4.754727690703025e-26, "0", "%0.f",
+__LINE__, 4.756952432926979e-29, " 0.", "%#3.f",
+__LINE__, 4.758335147956709e+03, "4758.335148", "%f",
+__LINE__, 4.760141880810268e-25, "4.760142e-25", "%e",
+__LINE__, 4.767079423650815e-07, "5.E-07", "%#0.G",
+__LINE__, 4.785662728343338e-28, "4.78566e-28", "%g",
+__LINE__, 4.787146245774150e-13, "+4.78715E-13", "%+G",
+__LINE__, 4.787415449888824e-17, "4.78742e-17", "%3g",
+__LINE__, 4.794589807429657e-05, "4.79459E-05", "%6G",
+__LINE__, 4.794948299666205e+08, "4.79495e+08", "%g",
+__LINE__, 4.802292865915992e-04, "4.802293e-04", "%e",
+__LINE__, 4.802513688198601e+07, "+4.8e+07", "%+2.3g",
+__LINE__, 4.810456746192536e+06, "5E+06", "%0.0G",
+__LINE__, 4.820631660081696e+20, "+4.82063E+20", "%+G",
+__LINE__, 4.827865857270075e-20, "4.82787e-20", "%g",
+__LINE__, 4.835054268490970e+21, "4835054268490970308391.752042", "%#f",
+__LINE__, 4.838136770808465e-18, "4.83814E-18", "%G",
+__LINE__, 4.839342397882353e-26, "4.839342E-26", "%E",
+__LINE__, 4.845130210072029e-16, "0", "%1.f",
+__LINE__, 4.845161043167169e-12, "+4.845e-12", "%+.4g",
+__LINE__, 4.857425142494964e+01, "48.574251", "%f",
+__LINE__, 4.858118337285513e-10, "+4.8581e-10", "%+.5g",
+__LINE__, 4.867478343525339e-15, "+4.867478E-15", "%+E",
+__LINE__, 4.886137001331278e-11, "0.000000", "%f",
+__LINE__, 4.886835850687998e-20, " 0", "%6.0f",
+__LINE__, 4.886880737482383e+26, "488688073748238327453918827.814050", "%4f",
+__LINE__, 4.888812049144075e-22, "4.888812E-22", "%E",
+__LINE__, 4.895869618002905e+02, "+489.587", "%+.7g",
+__LINE__, 4.902046593298549e+09, " 5e+09", "%7.g",
+__LINE__, 4.907918627564751e-05, "4.91e-05", "%.3g",
+__LINE__, 4.916048355579009e+19, "49160483555790088772", "%2.f",
+__LINE__, 4.917197806128638e+14, "+5e+14", "%+5.g",
+__LINE__, 4.918303274189911e+13, "4.918303e+13", "%e",
+__LINE__, 4.922687970321108e+26, "492268797032110771993984599.2485", "%0.4f",
+__LINE__, 4.929263362431195e+14, "4.92926e+14", "%g",
+__LINE__, 4.933385398543267e-17, "0.000000", "%#f",
+__LINE__, 4.942367126455025e+00, " +5", "%+6.f",
+__LINE__, 4.947687486717652e-04, "0.000495", "%.6f",
+__LINE__, 4.960855200003128e-08, "+4.960855e-08", "%+e",
+__LINE__, 4.968485435774085e-21, "0.0000", "%#2.4f",
+__LINE__, 4.972088381506133e+01, "49.7", "%.1f",
+__LINE__, 4.977561524480392e-15, "4.977562E-15", "%7E",
+__LINE__, 4.984592111249502e-13, "5.0e-13", "%.1e",
+__LINE__, 4.997502335602838e-14, "4.998e-14", "%6.4g",
+__LINE__, 5.001731554335935e-09, "5.00173e-09", "%g",
+__LINE__, 5.006231697107042e-17, "5.0062e-17", "%1.5g",
+__LINE__, 5.008035801093423e+24, "5.008036E+24", "%#E",
+__LINE__, 5.008756965733827e-28, "5.009E-28", "%.4G",
+__LINE__, 5.009774027622812e+20, "+5.00977E+20", "%+G",
+__LINE__, 5.010576312346293e+29, "5.01058E+29", "%G",
+__LINE__, 5.012335250996786e+29, "5.012335e+29", "%.7g",
+__LINE__, 5.012404365186907e+20, "5E+20", "%3.2G",
+__LINE__, 5.024670103250229e-01, "+5.024670E-01", "%+E",
+__LINE__, 5.025765369164560e+03, "5025.77", "%g",
+__LINE__, 5.027173841003918e+11, "+5.02717E+11", "%+G",
+__LINE__, 5.032093817639893e-26, "5e-26", "%3.e",
+__LINE__, 5.039636818525848e-02, "0.050396", "%#f",
+__LINE__, 5.040626671307691e+23, "5.040627E+23", "%E",
+__LINE__, 5.040788233368296e-11, "+5.04079e-11", "%+g",
+__LINE__, 5.040903321336150e-28, "5.0409E-28", "%G",
+__LINE__, 5.042078512958994e+12, "5.04208E+12", "%G",
+__LINE__, 5.045957900223303e+15, "5045957900223303", "%0.f",
+__LINE__, 5.048298764352134e-14, "5.048299e-14", "%1e",
+__LINE__, 5.048827326763192e+28, "50488273267631917917697137454.524636", "%f",
+__LINE__, 5.049714558347361e-23, "5e-23", "%5.0g",
+__LINE__, 5.051509904923853e+16, "50515099049238534", "%5.f",
+__LINE__, 5.052789863743305e-10, "5.05279E-10", "%6G",
+__LINE__, 5.057429728861999e-29, "0.000", "%#1.3f",
+__LINE__, 5.075313093968501e-13, "+5.07531e-13", "%+g",
+__LINE__, 5.075874503501582e+29, "5e+29", "%2.e",
+__LINE__, 5.079468079020803e+01, "50.795", "%.5G",
+__LINE__, 5.086214826494080e-28, " 0.0", "%4.1f",
+__LINE__, 5.096054881114421e+13, "5.096e+13", "%.4g",
+__LINE__, 5.099045274853458e-23, "5.09905E-23", "%0G",
+__LINE__, 5.100248195124433e+00, "5.100248", "%f",
+__LINE__, 5.101016114276598e-20, "5e-20", "%4.1g",
+__LINE__, 5.103213528670269e+07, "51032135.286703", "%6f",
+__LINE__, 5.108373625126768e+08, "+510837362.512677", "%+f",
+__LINE__, 5.113097157183416e+07, "5.1131E+07", "%#.4E",
+__LINE__, 5.114452611789777e+08, "+5.11445E+08", "%+G",
+__LINE__, 5.117099184715288e-16, "5.1171E-16", "%G",
+__LINE__, 5.119910534665511e-13, "+5.11991E-13", "%+G",
+__LINE__, 5.121320931953720e+23, "+5.121321e+23", "%+#e",
+__LINE__, 5.121900318443998e+06, "5.121900e+06", "%e",
+__LINE__, 5.135698679084286e+00, "5.1357", "%2g",
+__LINE__, 5.146355903104154e-10, "+5.14636E-10", "%+.6G",
+__LINE__, 5.148754210958986e-24, "+5.148754e-24", "%+e",
+__LINE__, 5.156238368448428e+26, "5e+26", "%5.g",
+__LINE__, 5.159924520667922e-19, "+5E-19", "%+0.1G",
+__LINE__, 5.159938266135425e-27, "0.000000", "%f",
+__LINE__, 5.165915205175676e-01, "5.165915e-01", "%e",
+__LINE__, 5.190205499401547e-11, "5e-11", "%2.1g",
+__LINE__, 5.193260005542003e+26, "5.19326e+26", "%#g",
+__LINE__, 5.194732077318269e+08, "519473207.731827", "%f",
+__LINE__, 5.196394616633798e-19, "0", "%.0f",
+__LINE__, 5.206753628035638e+19, "5.20675e+19", "%6.6g",
+__LINE__, 5.207364136540851e-23, " 0.000", "%6.3f",
+__LINE__, 5.210672737132108e-09, "5.21067E-09", "%G",
+__LINE__, 5.211423933057123e-20, "+5.21142E-20", "%+G",
+__LINE__, 5.219749528363367e-27, "5.219750e-27", "%e",
+__LINE__, 5.228031587478653e-06, "+5.2E-06", "%+3.1E",
+__LINE__, 5.229303095005359e-25, "+0.000000", "%+#f",
+__LINE__, 5.234703511938320e-06, " 0", "%7.f",
+__LINE__, 5.235655046937822e-20, "5.235655E-20", "%.6E",
+__LINE__, 5.237924986002288e-01, "+0.52379", "%+.5f",
+__LINE__, 5.249148093603826e+20, "5.24915E+20", "%0G",
+__LINE__, 5.262680920244596e+16, "5.26268E+16", "%G",
+__LINE__, 5.267944704715845e-06, "5.e-06", "%#3.g",
+__LINE__, 5.268543533730505e-08, "5.26854E-08", "%G",
+__LINE__, 5.275727269515247e-02, "0.0527573", "%.6g",
+__LINE__, 5.279215316873723e+24, "5279215316873722585455652.733799", "%f",
+__LINE__, 5.284326985680811e+16, "52843269856808108.286828", "%6f",
+__LINE__, 5.286192957344040e-10, "5.3E-10", "%.1E",
+__LINE__, 5.289451976001091e-23, "5.28945E-23", "%G",
+__LINE__, 5.289512908209300e+09, "+5.289513e+09", "%+e",
+__LINE__, 5.295696957972123e+11, "5.296E+11", "%#.3E",
+__LINE__, 5.303584684011050e+16, "53035846840110503.208621", "%f",
+__LINE__, 5.310315581980172e+23, "531031558198017172855998", "%4.f",
+__LINE__, 5.317492728410062e-14, "5.31749e-14", "%7g",
+__LINE__, 5.324506949499409e+18, "5.3245E+18", "%.5G",
+__LINE__, 5.329238068668336e-20, "5e-20", "%4.g",
+__LINE__, 5.336050125161774e+14, "5.33605e+14", "%g",
+__LINE__, 5.349921315003169e-17, "5.34992E-17", "%.6G",
+__LINE__, 5.355648481782587e-20, "5.355648e-20", "%e",
+__LINE__, 5.358945557589489e-26, "+5e-26", "%+0.g",
+__LINE__, 5.359638846465574e+21, "5.359639E+21", "%E",
+__LINE__, 5.377048469393900e+14, "5.377E+14", "%.5G",
+__LINE__, 5.387471194156434e+23, "5.387471E+23", "%.7G",
+__LINE__, 5.401622578962497e-03, "+0.0054", "%+5.2g",
+__LINE__, 5.406882732497444e-16, "5.406883E-16", "%E",
+__LINE__, 5.421474560523198e-11, "+5.42147e-11", "%+g",
+__LINE__, 5.440249323479418e-26, "5.44025E-26", "%7G",
+__LINE__, 5.440922682921101e-05, "5e-05", "%.1g",
+__LINE__, 5.444400103673185e-01, "0.54444", "%G",
+__LINE__, 5.449339470916152e+09, "5449339470.9162", "%.4f",
+__LINE__, 5.451583259558706e-15, "5.e-15", "%#4.e",
+__LINE__, 5.460153018660573e+26, "+546015301866057267687892817.775719", "%+f",
+__LINE__, 5.477591210511918e+08, "+5.47759E+08", "%+0.5E",
+__LINE__, 5.481665401407188e-02, "5.481665e-02", "%e",
+__LINE__, 5.482670784411319e-16, "5E-16", "%4.G",
+__LINE__, 5.487494580636099e+12, "5.48749e+12", "%g",
+__LINE__, 5.508630369473937e-10, "5.508630e-10", "%e",
+__LINE__, 5.528898001438273e+20, "6e+20", "%4.g",
+__LINE__, 5.530331734443152e-24, " 6e-24", "%6.g",
+__LINE__, 5.531704398969656e-24, "0.000000", "%f",
+__LINE__, 5.539906569043238e+05, "+553990.656904", "%+f",
+__LINE__, 5.554571854756323e-08, "+0.00000", "%+4.5f",
+__LINE__, 5.555155069925145e-28, "5.55516e-28", "%g",
+__LINE__, 5.555302705075539e-08, "+5.5553e-08", "%+g",
+__LINE__, 5.563805076159055e-05, "5.563805e-05", "%e",
+__LINE__, 5.565063508995002e+07, "5.565E+07", "%.3E",
+__LINE__, 5.566281664807526e-08, "5.56628E-08", "%G",
+__LINE__, 5.575245679736338e-08, "5.575246e-08", "%e",
+__LINE__, 5.578254777281501e-21, "0.", "%#.0f",
+__LINE__, 5.582389275770848e-01, " 0.6", "%5.G",
+__LINE__, 5.592215029176133e-04, "0.00056", "%.2g",
+__LINE__, 5.593536789867047e-25, "5.59354e-25", "%g",
+__LINE__, 5.605652054074862e-03, " 0.006", "%8.G",
+__LINE__, 5.606982382643258e+20, "+5.60698E+20", "%+G",
+__LINE__, 5.614646821116853e-18, "5.6E-18", "%.2G",
+__LINE__, 5.625586848606565e-11, "+5.62559E-11", "%+G",
+__LINE__, 5.626300428046732e+26, " 6e+26", "%7.g",
+__LINE__, 5.638236626881086e-17, " 6E-17", "%6.G",
+__LINE__, 5.645744817075691e+04, "5.645745E+04", "%E",
+__LINE__, 5.651410004691736e+06, "6.E+06", "%#3.E",
+__LINE__, 5.659582345929256e-11, "+0.000000", "%+f",
+__LINE__, 5.670968861413510e+16, "+5.67097E+16", "%+G",
+__LINE__, 5.672476851235796e+01, "+56.724769", "%+0f",
+__LINE__, 5.674563779921248e+28, " 6E+28", "%6.0G",
+__LINE__, 5.675558529939025e+19, "5.67556e+19", "%3g",
+__LINE__, 5.676326888314589e-08, " 6e-08", "%7.g",
+__LINE__, 5.677928507840897e-30, "5.67793e-30", "%0g",
+__LINE__, 5.686622552402630e-15, "5.69E-15", "%1.3G",
+__LINE__, 5.710441686922142e-14, "5.710442E-14", "%E",
+__LINE__, 5.713234603280163e-21, "0.00000", "%0.5f",
+__LINE__, 5.714968959046963e+12, "5.71497e+12", "%g",
+__LINE__, 5.722025141555638e-23, "5.72e-23", "%.2e",
+__LINE__, 5.725398571007033e-09, "5.7254E-09", "%.6G",
+__LINE__, 5.751604813862738e+18, "6E+18", "%.1G",
+__LINE__, 5.761025444751985e+20, "5.76103e+20", "%g",
+__LINE__, 5.762315767948593e+15, "5.76232e+15", "%4g",
+__LINE__, 5.764528858586032e-15, "5.764529E-15", "%6.7G",
+__LINE__, 5.766408541535810e-07, " 6E-07", "%6.1G",
+__LINE__, 5.771831571087174e-01, "0.577183", "%f",
+__LINE__, 5.790102497364865e-15, "+5.790102e-15", "%+e",
+__LINE__, 5.790222335547785e-08, "5.79022e-08", "%0.6g",
+__LINE__, 5.794082127091130e+21, "5794082127091130018925.468903", "%f",
+__LINE__, 5.804568463644165e+28, "5.80457e+28", "%g",
+__LINE__, 5.827356651901066e+20, "582735665190106555400.006982", "%f",
+__LINE__, 5.837553387436408e+18, "5.837553E+18", "%3E",
+__LINE__, 5.844458110907209e+22, "5.84446e+22", "%g",
+__LINE__, 5.851672125746866e-19, "5.85167e-19", "%g",
+__LINE__, 5.868843476784172e-12, "5.868843e-12", "%1.7g",
+__LINE__, 5.870854146748864e-04, "0.000587", "%2.3g",
+__LINE__, 5.877787821470433e+01, "+58.77788", "%+#3.5f",
+__LINE__, 5.881333514866498e+04, "5.881334E+04", "%E",
+__LINE__, 5.908427816128965e+28, "+5.908428E+28", "%+E",
+__LINE__, 5.918139800007388e+07, "59181398.000074", "%f",
+__LINE__, 5.925587467475260e+21, "5925587467475259551008.548442", "%f",
+__LINE__, 5.930403502679683e-22, "5.9304E-22", "%.6G",
+__LINE__, 5.961572644847521e+02, "+596.157", "%+G",
+__LINE__, 5.968917715225198e-21, "5.96892e-21", "%4g",
+__LINE__, 5.982184454670110e-08, "0", "%0.f",
+__LINE__, 5.988414319040855e+09, "6E+09", "%0.G",
+__LINE__, 5.996263783103995e-10, "5.996264e-10", "%e",
+__LINE__, 6.004634162276014e-18, "6.00463e-18", "%g",
+__LINE__, 6.018734975519166e-08, "6.01873E-08", "%G",
+__LINE__, 6.029071822986717e-14, "0.0000000", "%.7f",
+__LINE__, 6.030392278117406e+23, "6.030392e+23", "%e",
+__LINE__, 6.034553399237175e-27, "+6.03455e-27", "%+g",
+__LINE__, 6.034938873443862e+24, "6034938873443861595546877.651941", "%f",
+__LINE__, 6.038929148003457e-16, "6.03893e-16", "%g",
+__LINE__, 6.039149626573702e-13, "6.0391E-13", "%3.5G",
+__LINE__, 6.041247664739301e+29, "6.041248E+29", "%3E",
+__LINE__, 6.044220746789781e+20, "+6.04422e+20", "%+g",
+__LINE__, 6.045775647107433e+19, "6E+19", "%2.G",
+__LINE__, 6.051917010461611e-05, "6.05192E-05", "%G",
+__LINE__, 6.059773181566425e+17, "+605977318156642486", "%+5.f",
+__LINE__, 6.082239575475813e+01, "+6E+01", "%+.1G",
+__LINE__, 6.093984174629151e+18, "6.093984e+18", "%e",
+__LINE__, 6.102368380479137e+22, "6.1E+22", "%.2G",
+__LINE__, 6.103097446204007e+25, "61030974462040070704915706.301108", "%#0f",
+__LINE__, 6.105244994410556e-24, "0.0000000", "%2.7f",
+__LINE__, 6.110828906801633e-14, "+6.110829e-14", "%+3e",
+__LINE__, 6.124439072468681e-30, "6.12444e-30", "%g",
+__LINE__, 6.127714703273447e-15, "0", "%0.f",
+__LINE__, 6.128539582408870e-15, "6.12854e-15", "%g",
+__LINE__, 6.145470264744349e+24, "6145470264744348654062378.045637", "%f",
+__LINE__, 6.159177701667455e+26, "615917770166745537352426254.074089", "%#f",
+__LINE__, 6.159348213337442e+17, "6.15935e+17", "%g",
+__LINE__, 6.161953891020492e-21, "0.000000", "%f",
+__LINE__, 6.169474192777305e+29, "+6.169E+29", "%+.4G",
+__LINE__, 6.198519761010651e-15, "+0", "%+1.f",
+__LINE__, 6.201381824304919e-27, " 0", "%5.f",
+__LINE__, 6.204387065736372e-18, "6.204387E-18", "%7E",
+__LINE__, 6.209270088144063e-24, "0.000000", "%f",
+__LINE__, 6.209871738353546e-20, "6.20987E-20", "%G",
+__LINE__, 6.222733191871026e+14, "+6.22273e+14", "%+g",
+__LINE__, 6.234670085354310e+04, "+62346.700854", "%+f",
+__LINE__, 6.258389346602224e-09, "6E-09", "%.0G",
+__LINE__, 6.263326582587503e+12, "6263326582588.", "%#5.f",
+__LINE__, 6.272768026763922e+03, "+6272.77", "%+g",
+__LINE__, 6.287747868625765e+00, "6E+00", "%.0E",
+__LINE__, 6.297724027388795e-17, "+6E-17", "%+3.G",
+__LINE__, 6.309940679156400e+27, "6.30994e+27", "%6.5e",
+__LINE__, 6.312960327030170e+06, "+6.312960E+06", "%+E",
+__LINE__, 6.317658179632976e+02, "+631.766", "%+g",
+__LINE__, 6.321255960699571e-27, "0.000000", "%f",
+__LINE__, 6.323069932833900e+03, "6323", "%.4G",
+__LINE__, 6.337027835933034e+21, "6.33703e+21", "%#g",
+__LINE__, 6.343583177899838e-03, "0.00634358", "%7G",
+__LINE__, 6.347464241733904e-03, "6.e-03", "%#0.e",
+__LINE__, 6.352038720353924e+07, "63520387.203539", "%f",
+__LINE__, 6.355292378565109e+23, "+635529237856510942350496.407016", "%+f",
+__LINE__, 6.377901944439164e-29, "0.000", "%2.3f",
+__LINE__, 6.378660255554053e-04, "6.37866E-04", "%.5E",
+__LINE__, 6.382838195255167e-18, "0.000000", "%f",
+__LINE__, 6.391046303581911e+22, "6E+22", "%.0G",
+__LINE__, 6.404812348309621e+22, "6.404812E+22", "%.7G",
+__LINE__, 6.406154091357119e+16, "6.40615E+16", "%G",
+__LINE__, 6.419414726557980e+21, "+6.41941e+21", "%+g",
+__LINE__, 6.432166563008504e+10, " +6e+10", "%+7.g",
+__LINE__, 6.438463704193190e+19, "6.438464e+19", "%e",
+__LINE__, 6.445270237908565e+15, "+6.445270E+15", "%+E",
+__LINE__, 6.445536770502964e+09, "6.446e+09", "%.3e",
+__LINE__, 6.446614224811444e+28, "64466142248114444157636171439.662576", "%f",
+__LINE__, 6.457046289718297e+18, "6457046289718297416.015957", "%4f",
+__LINE__, 6.457682856890173e+01, "6.457683E+01", "%2E",
+__LINE__, 6.471026352792729e-16, "+6.47103e-16", "%+g",
+__LINE__, 6.474527749567342e+19, "6E+19", "%.1G",
+__LINE__, 6.481178401781131e-24, "+6.48E-24", "%+6.3G",
+__LINE__, 6.490736647261461e-15, "+6.49074e-15", "%+g",
+__LINE__, 6.493196535069719e+23, "+6.4932E+23", "%+G",
+__LINE__, 6.500296992935538e-20, "+0.0", "%+.1f",
+__LINE__, 6.502867735895890e-19, "+0.000000", "%+6f",
+__LINE__, 6.506627529164683e+14, "650662752916468", "%5.f",
+__LINE__, 6.511909298966434e-15, "+6.51191E-15", "%+G",
+__LINE__, 6.514463062693312e+01, "65.1446", "%G",
+__LINE__, 6.520721469484543e+16, "6.52072E+16", "%G",
+__LINE__, 6.528064508731680e-05, "6.528065E-05", "%7E",
+__LINE__, 6.529007214194039e-24, "0.000000", "%f",
+__LINE__, 6.537822760557410e-23, "0.000000", "%f",
+__LINE__, 6.552222096390805e+29, "+6.55222E+29", "%+G",
+__LINE__, 6.554569862717104e+12, "6.55457E+12", "%G",
+__LINE__, 6.563440840359989e-30, "7E-30", "%4.G",
+__LINE__, 6.586246985535526e+17, "6.58625E+17", "%#4G",
+__LINE__, 6.593339522442827e+16, "6.6E+16", "%#4.1E",
+__LINE__, 6.611179030024350e+02, "7E+02", "%4.E",
+__LINE__, 6.617541638586767e-10, "6.617542E-10", "%E",
+__LINE__, 6.619147920886991e-28, "7e-28", "%.1g",
+__LINE__, 6.622304444772819e-21, "6.62230E-21", "%#4G",
+__LINE__, 6.634766655157910e+12, "6634766655158", "%2.f",
+__LINE__, 6.635639771921218e+25, "+6.63564E+25", "%+G",
+__LINE__, 6.644575305929087e+17, "+6.64458e+17", "%+g",
+__LINE__, 6.648697591328432e+04, "6.648698E+04", "%3E",
+__LINE__, 6.665426012448100e+09, "6.66543E+09", "%G",
+__LINE__, 6.675222780441723e-23, "6.67522e-23", "%1g",
+__LINE__, 6.689765053880623e+00, "6.6898", "%.5g",
+__LINE__, 6.693874943680238e+25, "7.e+25", "%#1.g",
+__LINE__, 6.695033453546435e+19, "6.695033E+19", "%E",
+__LINE__, 6.720131534244976e+03, "+6720.132", "%+.3f",
+__LINE__, 6.725287004784564e+19, "+6.72529e+19", "%+g",
+__LINE__, 6.743599626906313e-18, "0.0000000", "%7.7f",
+__LINE__, 6.755534260704152e+29, "7.e+29", "%#5.e",
+__LINE__, 6.761855244766418e-18, "6.8E-18", "%.2G",
+__LINE__, 6.764974143681080e-02, "6.765E-02", "%2.3E",
+__LINE__, 6.766924477711975e-17, "0.000000", "%4f",
+__LINE__, 6.772195434106330e-19, "6.7722E-19", "%G",
+__LINE__, 6.779433073319225e-23, "0.00", "%.2f",
+__LINE__, 6.790317710068964e+05, "6.8e+05", "%.1e",
+__LINE__, 6.791378160292960e+02, "679.137816", "%f",
+__LINE__, 6.798381262104190e-27, "0.000000", "%f",
+__LINE__, 6.804165939424860e-14, "7e-14", "%4.g",
+__LINE__, 6.810668670623699e+11, "681066867062.369852", "%f",
+__LINE__, 6.838942637635821e-17, "+6.84e-17", "%+.2e",
+__LINE__, 6.868523988329111e-09, "+6.868524e-09", "%+e",
+__LINE__, 6.873228061403223e-15, "6.873228E-15", "%3E",
+__LINE__, 6.879370500093334e-12, "+0.000000", "%+f",
+__LINE__, 6.891525498686674e-10, "7e-10", "%0.g",
+__LINE__, 6.923027319286220e+21, "7.e+21", "%#1.g",
+__LINE__, 6.923565533024560e-11, "+6.92357e-11", "%+g",
+__LINE__, 6.931415640770737e-24, "+6.93142e-24", "%+g",
+__LINE__, 6.936582619246057e+09, "6.936583e+09", "%7e",
+__LINE__, 6.938661496670582e+05, "693866.1496671", "%2.7f",
+__LINE__, 6.946115378286550e-25, "0.000000", "%f",
+__LINE__, 6.955823211921219e-09, "6.95582e-09", "%g",
+__LINE__, 6.962365243425770e+29, "696236524342577034474288666388.019919", "%7f",
+__LINE__, 6.970432274812882e+05, "+7e+05", "%+1.0e",
+__LINE__, 6.975784942897122e-13, "6.975785e-13", "%e",
+__LINE__, 6.976786489904214e-07, "6.97679E-07", "%3G",
+__LINE__, 6.985245976357042e-05, "0.00", "%.2f",
+__LINE__, 6.993402879410720e-21, "6.9934e-21", "%g",
+__LINE__, 7.012183985341519e+28, "+70121839853415188770213717362", "%+2.f",
+__LINE__, 7.028670648856025e-15, "7.028671e-15", "%.7g",
+__LINE__, 7.034042985683665e-03, " 0", "%2.f",
+__LINE__, 7.044054273278726e+18, "7.044e+18", "%7.4g",
+__LINE__, 7.049706744250734e-06, "7E-06", "%0.E",
+__LINE__, 7.061982657056197e+13, "+7.061983e+13", "%+e",
+__LINE__, 7.066873668945899e+21, "7.06687E+21", "%G",
+__LINE__, 7.087941418633258e+26, "7.08794E+26", "%G",
+__LINE__, 7.108268134631547e+22, "7.108268E+22", "%E",
+__LINE__, 7.112095848565475e-19, "7.1121e-19", "%g",
+__LINE__, 7.116326241291862e+16, "7.116326e+16", "%e",
+__LINE__, 7.118854843597607e-22, "0.000000", "%f",
+__LINE__, 7.121423043456375e-27, "0.000000", "%f",
+__LINE__, 7.131415427096460e-03, "0.007131", "%3f",
+__LINE__, 7.132023279679892e+22, "7.e+22", "%#3.e",
+__LINE__, 7.146250280189992e-18, "0.000000", "%f",
+__LINE__, 7.150059058390724e+03, "7150.06", "%g",
+__LINE__, 7.161081578177381e-02, "+0.0716108", "%+G",
+__LINE__, 7.164935125149336e-27, "7.2E-27", "%#6.2G",
+__LINE__, 7.173125717489549e-10, "7.173126e-10", "%e",
+__LINE__, 7.174199549624193e+00, "7.1741995", "%.7f",
+__LINE__, 7.192493588077649e+27, "7.19249e+27", "%g",
+__LINE__, 7.215209568601445e-06, "7.215210e-06", "%e",
+__LINE__, 7.238322284100497e+03, "7238.3", "%.1f",
+__LINE__, 7.239203871123613e+06, "7239204", "%4.f",
+__LINE__, 7.245809072577019e-09, "+7.245809E-09", "%+E",
+__LINE__, 7.256275686433336e+03, "7.256276e+03", "%e",
+__LINE__, 7.265774291605193e+27, "+7.26577E+27", "%+G",
+__LINE__, 7.287968172227119e-21, "+7.287968e-21", "%+e",
+__LINE__, 7.306020169678527e+12, "7E+12", "%2.E",
+__LINE__, 7.315587463572568e-04, "0.", "%#.0f",
+__LINE__, 7.324627764547963e+09, "7.324628E+09", "%#E",
+__LINE__, 7.331904966719081e-06, "+7.3319E-06", "%+G",
+__LINE__, 7.334448152798243e-02, "0.07", "%0.g",
+__LINE__, 7.334487195961240e-01, "+0.733449", "%+#g",
+__LINE__, 7.381283575515707e+13, "7.381284E+13", "%E",
+__LINE__, 7.394854567245476e-11, "0.000000", "%7f",
+__LINE__, 7.401950211415377e-08, " 7e-08", "%6.e",
+__LINE__, 7.409023867864680e+03, "7409.023868", "%#3f",
+__LINE__, 7.411912956257733e-20, "7e-20", "%0.g",
+__LINE__, 7.445275019272160e+11, "744527501927.2159511", "%.7f",
+__LINE__, 7.450279765616891e-16, "7.45028e-16", "%.6g",
+__LINE__, 7.467047411334495e+14, "7.46705E+14", "%G",
+__LINE__, 7.485628870972725e+28, "7E+28", "%.0G",
+__LINE__, 7.495391782588563e+11, "749539178258.856253", "%f",
+__LINE__, 7.495824101611911e+06, "7.49582e+06", "%.6g",
+__LINE__, 7.499759867592402e+20, "+749975986759240154100.3", "%+.1f",
+__LINE__, 7.508983397140368e+04, "75089.8", "%g",
+__LINE__, 7.512585199581016e-27, "7.512585E-27", "%.6E",
+__LINE__, 7.516831372212545e-29, "+7.516831e-29", "%+e",
+__LINE__, 7.525789465978582e+00, "7.52579", "%G",
+__LINE__, 7.528655653725963e+06, "7.5287e+06", "%3.4e",
+__LINE__, 7.533217421035612e+28, "75332174210356122046050586504.861712", "%f",
+__LINE__, 7.534147071756384e+03, "7534.15", "%g",
+__LINE__, 7.542648637430919e-25, "+0.000000", "%+#f",
+__LINE__, 7.554380140947798e-15, " 8e-15", "%7.g",
+__LINE__, 7.557366996007743e+25, " 8E+25", "%7.G",
+__LINE__, 7.579228950138068e+08, "8e+08", "%3.e",
+__LINE__, 7.579773904052487e-13, "0.000000", "%3f",
+__LINE__, 7.580377544554059e+27, "7.58038e+27", "%#g",
+__LINE__, 7.589615147875915e-15, "7.59E-15", "%.3G",
+__LINE__, 7.593317194045158e-12, "+0.", "%+#1.f",
+__LINE__, 7.605535657484387e-07, "7.60554E-07", "%G",
+__LINE__, 7.609171121278006e-08, " 0", "%5.f",
+__LINE__, 7.612033900317304e-14, "7.61203e-14", "%g",
+__LINE__, 7.628040858080326e+23, "+7.62804e+23", "%+g",
+__LINE__, 7.632109382948695e-01, "0.763211", "%#f",
+__LINE__, 7.633415922627254e+28, "76334159226272539910951309138.908982", "%#f",
+__LINE__, 7.636190400774419e+22, "+7.636190E+22", "%+E",
+__LINE__, 7.636228368661314e-23, "0.000000", "%f",
+__LINE__, 7.653292362739654e-17, "7.65329E-17", "%#G",
+__LINE__, 7.664044705231460e+03, "7.664045E+03", "%5E",
+__LINE__, 7.664257283149626e-05, "7.66426E-05", "%0G",
+__LINE__, 7.668996632821614e-19, " 0.0", "%4.1f",
+__LINE__, 7.674502669497263e-24, "7.6745e-24", "%g",
+__LINE__, 7.681870119755193e+12, "+7.68187e+12", "%+#g",
+__LINE__, 7.693453198401315e+02, "769.3453198", "%5.7f",
+__LINE__, 7.705080073293603e-29, "7.705080E-29", "%1E",
+__LINE__, 7.707244083934683e-07, "7.71E-07", "%2.3G",
+__LINE__, 7.749445584970652e-17, "7.75E-17", "%6.3G",
+__LINE__, 7.755369447889403e+09, "7.8e+09", "%#4.2g",
+__LINE__, 7.760378169707072e-06, "7.76038e-06", "%g",
+__LINE__, 7.763518882114968e-10, "0.000000", "%f",
+__LINE__, 7.764720069569677e-18, "0.000000", "%0f",
+__LINE__, 7.768821339438552e-03, "0.00776882", "%g",
+__LINE__, 7.774767835990679e-29, "7.774768E-29", "%7E",
+__LINE__, 7.805567188246987e-04, "0.000780557", "%2G",
+__LINE__, 7.825157442935941e-26, "0.000000", "%f",
+__LINE__, 7.833373563161910e+29, "+783337356316190991378789476584.643126", "%+f",
+__LINE__, 7.875872661746674e-16, "7.875873E-16", "%E",
+__LINE__, 7.880664458920439e-28, "7.881E-28", "%#0.3E",
+__LINE__, 7.893084198630288e+18, "7893084198630288206", "%1.f",
+__LINE__, 7.912222737877417e+04, "79122.2", "%G",
+__LINE__, 7.913004582748724e-26, "0.000000", "%f",
+__LINE__, 7.913749944463836e+17, "791374994446383617.230367", "%f",
+__LINE__, 7.923881665760883e-24, "0.000000", "%f",
+__LINE__, 7.926699779993694e-03, "0.007927", "%5.6f",
+__LINE__, 7.941991860623354e-20, "7.941992e-20", "%e",
+__LINE__, 7.942700358097138e+17, "794270035809713803.587329", "%2f",
+__LINE__, 7.945451569935757e-16, "7.94545E-16", "%#4.6G",
+__LINE__, 7.948277588625241e-04, "0", "%.0f",
+__LINE__, 7.952265062569124e+21, "+7.95227e+21", "%+#g",
+__LINE__, 7.959953534668040e+11, "8e+11", "%2.e",
+__LINE__, 7.962059154424500e-22, "7.96206E-22", "%G",
+__LINE__, 7.962856142535673e-26, "7.9629E-26", "%#.5G",
+__LINE__, 7.966528574505771e+12, "7.96653e+12", "%g",
+__LINE__, 8.006496880305429e-21, "8.0065E-21", "%G",
+__LINE__, 8.023374861440542e+06, "+8023375", "%+6.f",
+__LINE__, 8.041139717082990e-20, "8.04114e-20", "%g",
+__LINE__, 8.044201752824126e+15, "8.04420E+15", "%.5E",
+__LINE__, 8.044262927409321e-10, "+8E-10", "%+2.2G",
+__LINE__, 8.058285708061202e+02, "+8.058286e+02", "%+e",
+__LINE__, 8.104422320765144e+10, "8.10442e+10", "%#4g",
+__LINE__, 8.104572628022330e-11, "0.000000", "%f",
+__LINE__, 8.112156369917432e+15, "+8.11216E+15", "%+G",
+__LINE__, 8.114566569709531e-18, "8.11457E-18", "%G",
+__LINE__, 8.114795069552519e+13, "8.114795E+13", "%E",
+__LINE__, 8.121382719830660e+03, "8121.382720", "%f",
+__LINE__, 8.125179335533733e-12, "+8.125179e-12", "%+e",
+__LINE__, 8.126383949107055e+19, "81263839491070548604.056967", "%f",
+__LINE__, 8.129961701307842e-04, "+0.00081", "%+5.2g",
+__LINE__, 8.143780077390936e+15, "8.14378E+15", "%G",
+__LINE__, 8.149891507777399e+16, "+8E+16", "%+1.G",
+__LINE__, 8.167395708830107e+03, "8167", "%3.f",
+__LINE__, 8.167703619221975e+01, "81.677", "%G",
+__LINE__, 8.178463030771759e+06, "+8.17846E+06", "%+G",
+__LINE__, 8.188188531273697e+12, "8.18819E+12", "%G",
+__LINE__, 8.189094866416537e+11, "+8E+11", "%+.1G",
+__LINE__, 8.205086844365809e-18, "+8.205087E-18", "%+#E",
+__LINE__, 8.205762333408320e-26, "0.000000", "%f",
+__LINE__, 8.212370598174696e-10, "8.2124E-10", "%.5G",
+__LINE__, 8.228054316085489e-14, "0.000000", "%3f",
+__LINE__, 8.244313484402404e-16, "8.24431e-16", "%g",
+__LINE__, 8.244472235472472e+19, "8.24447E+19", "%G",
+__LINE__, 8.245421473302411e-09, "+8.2454e-09", "%+1.5g",
+__LINE__, 8.252286626634840e-22, "8E-22", "%3.G",
+__LINE__, 8.259969177912707e-19, "0.000000", "%f",
+__LINE__, 8.265769991725211e+18, "8.26577e+18", "%.5e",
+__LINE__, 8.293986939496488e+25, "8.3E+25", "%.1E",
+__LINE__, 8.310348813512608e-23, "+8.31035e-23", "%+g",
+__LINE__, 8.316951996533247e-20, "0.000000", "%f",
+__LINE__, 8.318818016883803e+05, " 8e+05", "%6.1g",
+__LINE__, 8.324896920131877e-13, "+8.324897e-13", "%+e",
+__LINE__, 8.325228630004624e-03, "0.0083252", "%5.7f",
+__LINE__, 8.332538660129034e+14, "8.3e+14", "%5.2g",
+__LINE__, 8.343325212751775e+07, "8.34333e+07", "%#4g",
+__LINE__, 8.363117398136236e+20, "+8.36e+20", "%+.3g",
+__LINE__, 8.364181324448165e+27, "8.36418e+27", "%#g",
+__LINE__, 8.372159259848738e+10, "8.37216e+10", "%4g",
+__LINE__, 8.379252006152759e-26, "8.37925e-26", "%g",
+__LINE__, 8.392670395720252e+09, "8392670395.720252", "%f",
+__LINE__, 8.423360059147756e+05, "+842336.", "%+#G",
+__LINE__, 8.425921213167943e+09, "8.425921e+09", "%1.7g",
+__LINE__, 8.431664412515776e-16, "8.43166E-16", "%#G",
+__LINE__, 8.448608859842500e+02, "844.861", "%1.3f",
+__LINE__, 8.456292247478771e-14, "8.45629E-14", "%G",
+__LINE__, 8.460077225296853e-04, "0.000846008", "%G",
+__LINE__, 8.478635925746218e-10, "0.000000", "%f",
+__LINE__, 8.492455774427448e+06, "8.49246e+06", "%g",
+__LINE__, 8.494450528380746e-07, "8.494451e-07", "%e",
+__LINE__, 8.516435842947605e-23, "+0.000000", "%+1f",
+__LINE__, 8.519057789029134e-18, "0.000000", "%0f",
+__LINE__, 8.522602111109066e+18, " 9.e+18", "%#7.g",
+__LINE__, 8.529176788022152e-24, "8.529E-24", "%0.4G",
+__LINE__, 8.534979605642793e-07, "0.000001", "%f",
+__LINE__, 8.546859563634342e-07, "8.546860E-07", "%E",
+__LINE__, 8.552370027054106e+12, "9e+12", "%.0g",
+__LINE__, 8.561781328234041e+10, "8.56178e+10", "%4g",
+__LINE__, 8.562688793145107e-20, "8.562689e-20", "%1.7g",
+__LINE__, 8.573130147270046e-07, " 9E-07", "%7.G",
+__LINE__, 8.584571984387802e-18, "8.5846e-18", "%.5g",
+__LINE__, 8.596407996491291e+11, "8.596408E+11", "%#E",
+__LINE__, 8.604843726850381e+10, " 9E+10", "%6.G",
+__LINE__, 8.626884271938994e-23, "8.62688e-23", "%g",
+__LINE__, 8.631140282429168e+24, "8631140282429168308908629.", "%#.0f",
+__LINE__, 8.635194331917948e-16, "8.63519E-16", "%G",
+__LINE__, 8.641417311588688e-24, "+0.000000", "%+f",
+__LINE__, 8.649120264278466e+26, "8.65E+26", "%1.3G",
+__LINE__, 8.649745523383894e+06, "8.649746e+06", "%e",
+__LINE__, 8.654720740091021e+16, "8.65472e+16", "%g",
+__LINE__, 8.655445556834509e-08, "9e-08", "%4.g",
+__LINE__, 8.658954696751902e+06, "8.65895E+06", "%G",
+__LINE__, 8.665712368800818e-10, "+8.66571E-10", "%+G",
+__LINE__, 8.666937057116442e-10, "8.666937e-10", "%e",
+__LINE__, 8.670981239765155e+05, "867098", "%G",
+__LINE__, 8.679631934294932e-25, "+9.E-25", "%+#0.G",
+__LINE__, 8.683595173050962e-21, "8.68360E-21", "%#G",
+__LINE__, 8.684938704958039e+25, "8.684939E+25", "%E",
+__LINE__, 8.686745463281227e-12, "8.686745E-12", "%5.7G",
+__LINE__, 8.700227628706534e-12, "8.700228e-12", "%#e",
+__LINE__, 8.705101179577200e+04, "87051.011796", "%#2f",
+__LINE__, 8.707824829984700e-24, "9e-24", "%.1g",
+__LINE__, 8.717654041009233e+21, "+9E+21", "%+6.0E",
+__LINE__, 8.741736299906572e-11, "8.74174E-11", "%#0G",
+__LINE__, 8.742228350419966e+18, "+8742228350419965821.060941", "%+f",
+__LINE__, 8.743045146087558e-17, "+8.74305E-17", "%+2G",
+__LINE__, 8.747820269457588e+18, "8.74782E+18", "%G",
+__LINE__, 8.756274717008537e-28, "8.756275E-28", "%E",
+__LINE__, 8.769782309254687e-24, "+8.769782E-24", "%+2.6E",
+__LINE__, 8.788151659193398e-16, " 9E-16", "%6.E",
+__LINE__, 8.789514812202340e-07, "9E-07", "%0.G",
+__LINE__, 8.792657843164822e-07, "8.79266e-07", "%0g",
+__LINE__, 8.810976223440985e+05, "881097.622344", "%f",
+__LINE__, 8.822553973113614e+10, "8.82255E+10", "%G",
+__LINE__, 8.839440421530611e-04, "0.000883944", "%G",
+__LINE__, 8.842539073558434e-12, "0", "%1.f",
+__LINE__, 8.882818021261782e-13, "+8.9e-13", "%+4.2g",
+__LINE__, 8.899833909201039e+05, "8.8998E+05", "%.5G",
+__LINE__, 8.903167498000181e-13, "9e-13", "%0.g",
+__LINE__, 8.933727737932164e+09, "+8933727738", "%+4.f",
+__LINE__, 8.946226267100711e+06, "8.946E+06", "%1.4G",
+__LINE__, 8.953203780849794e-21, "8.9532E-21", "%G",
+__LINE__, 8.959934262635649e+28, "+8.959934e+28", "%+e",
+__LINE__, 8.969485341781558e-25, "0.000000", "%#f",
+__LINE__, 8.970058187654221e+02, "897.005819", "%f",
+__LINE__, 8.979846508565979e+02, "8.979847E+02", "%E",
+__LINE__, 8.984561117901212e+01, "8.984561E+01", "%E",
+__LINE__, 8.992157765875611e-12, "8.99216e-12", "%g",
+__LINE__, 9.004487016708012e+01, "9.004487e+01", "%#e",
+__LINE__, 9.007306978283218e-24, "9.007307e-24", "%e",
+__LINE__, 9.014546375043562e+17, "901454637504356171.007203", "%#3f",
+__LINE__, 9.028177786002161e-12, "9.02818E-12", "%G",
+__LINE__, 9.029635986381795e-02, "0.09", "%.1g",
+__LINE__, 9.032389962233431e-07, "+0.000001", "%+f",
+__LINE__, 9.038466945070887e+10, "+9.038467E+10", "%+E",
+__LINE__, 9.040166964322772e-27, "9.04017e-27", "%g",
+__LINE__, 9.044627673694681e-11, "9.04463E-11", "%G",
+__LINE__, 9.045906217628948e+17, "904590621762894819.823941", "%1f",
+__LINE__, 9.051764975661710e+11, "9.05176e+11", "%#g",
+__LINE__, 9.053142913711405e+29, "9.053143e+29", "%#e",
+__LINE__, 9.073185209160657e-19, "+9.07319e-19", "%+g",
+__LINE__, 9.074372574441451e+02, "907.437", "%g",
+__LINE__, 9.084624602048136e+08, "9.084625E+08", "%E",
+__LINE__, 9.088839346363631e+18, "9.09e+18", "%.2e",
+__LINE__, 9.091945159170871e-15, "9.09195e-15", "%5g",
+__LINE__, 9.115304318083716e+10, "9.115304e+10", "%e",
+__LINE__, 9.115978352902710e+28, "9.11598E+28", "%G",
+__LINE__, 9.121415008221017e-17, "9.E-17", "%#6.G",
+__LINE__, 9.127270978060388e+18, "9.E+18", "%#5.G",
+__LINE__, 9.143941729069086e+08, "9.143942E+08", "%#E",
+__LINE__, 9.162740105978580e-19, " 9.E-19", "%#7.G",
+__LINE__, 9.221509957559626e-18, "9.22151e-18", "%g",
+__LINE__, 9.227419774250317e-28, " 0.", "%#3.f",
+__LINE__, 9.230846660807540e-21, "0.000000", "%f",
+__LINE__, 9.238091727277130e-06, "+0.00001", "%+.5f",
+__LINE__, 9.244337357684406e+10, "9E+10", "%5.G",
+__LINE__, 9.259179793993285e-19, " 9E-19", "%7.0G",
+__LINE__, 9.274068541525759e-17, "9.274069e-17", "%e",
+__LINE__, 9.283833535882367e+16, "9.28383e+16", "%#g",
+__LINE__, 9.295693096364605e+11, "+9.295693E+11", "%+E",
+__LINE__, 9.301820438602407e+05, "930182", "%G",
+__LINE__, 9.322805251555376e-29, "9e-29", "%1.e",
+__LINE__, 9.358443042421307e-27, "9.35844e-27", "%g",
+__LINE__, 9.372658444745124e-23, "9.372658e-23", "%e",
+__LINE__, 9.380302971355292e+05, "938030.3", "%.7g",
+__LINE__, 9.381976354968076e-26, "+9.382E-26", "%+5.4G",
+__LINE__, 9.391072061980585e-15, "9.391072E-15", "%E",
+__LINE__, 9.403554117166546e-06, "0.000009", "%f",
+__LINE__, 9.403712900426614e-28, "9.40371e-28", "%g",
+__LINE__, 9.419046629820578e+03, "9419.046630", "%f",
+__LINE__, 9.422344695378412e+22, "94223446953784115720509.362291", "%f",
+__LINE__, 9.433327680467576e+01, "9.433328e+01", "%e",
+__LINE__, 9.443975205260596e+20, "9.44398e+20", "%g",
+__LINE__, 9.445134851965593e-04, "+9.445135E-04", "%+E",
+__LINE__, 9.448403585149890e+24, "9e+24", "%0.g",
+__LINE__, 9.463149430113036e+18, "9.46315e+18", "%g",
+__LINE__, 9.465735160722534e+27, "+9465735160722534402566452627.070248", "%+f",
+__LINE__, 9.495210794344892e-04, "0.000950", "%f",
+__LINE__, 9.501916506373814e-25, "9.50192E-25", "%#G",
+__LINE__, 9.514641335897739e+29, "9.51464E+29", "%G",
+__LINE__, 9.524633436992819e-04, " 0.001", "%6.G",
+__LINE__, 9.530925101873022e-18, "9.530925e-18", "%2e",
+__LINE__, 9.557903833216979e-22, "9.557904E-22", "%E",
+__LINE__, 9.587709102390903e-01, " 1", "%2.f",
+__LINE__, 9.592723000828453e-02, "9.592723E-02", "%5E",
+__LINE__, 9.603430008794172e+27, "9.60343e+27", "%g",
+__LINE__, 9.622648414989433e-18, "9.622648e-18", "%1e",
+__LINE__, 9.633326171289319e-23, "9.633326e-23", "%e",
+__LINE__, 9.662064616152408e+19, "96620646161524081918.5146393", "%1.7f",
+__LINE__, 9.668544846563163e-23, "9.668545e-23", "%e",
+__LINE__, 9.691014191346685e+28, "9.69101E+28", "%G",
+__LINE__, 9.693075414840598e+02, "+969.308", "%+G",
+__LINE__, 9.695013453291907e-30, "9.695013e-30", "%5e",
+__LINE__, 9.705983477801926e-24, "9.70598e-24", "%g",
+__LINE__, 9.709022568030226e-17, "0.000000", "%f",
+__LINE__, 9.715194901854826e+20, "9.715195e+20", "%e",
+__LINE__, 9.721011821337717e+16, "1E+17", "%0.G",
+__LINE__, 9.734895542899672e+14, "9.734896e+14", "%e",
+__LINE__, 9.741486438769710e-29, " 1e-28", "%6.g",
+__LINE__, 9.766657482315475e-24, "9.76666E-24", "%7G",
+__LINE__, 9.767283293054552e-02, "0.09767", "%5.5f",
+__LINE__, 9.769553159146005e-20, "9.76955E-20", "%G",
+__LINE__, 9.777220880605434e-10, "0.00", "%4.2f",
+__LINE__, 9.790290569034575e+20, "979029056903457473027.", "%#6.f",
+__LINE__, 9.793128245822718e-01, "0.979313", "%G",
+__LINE__, 9.804758536498200e+08, "980475853.650", "%.3f",
+__LINE__, 9.816883664191066e-02, "0.1", "%.0g",
+__LINE__, 9.836109821010300e+25, "9.83611e+25", "%g",
+__LINE__, 9.846197559631225e+03, "1E+04", "%2.G",
+__LINE__, 9.863289416819924e+12, "9.86329e+12", "%g",
+__LINE__, 9.865893798657353e+12, "9.866e+12", "%0.4g",
+__LINE__, 9.868248446640862e-15, "0.000000", "%#f",
+__LINE__, 9.869973080775134e+04, "98699.7", "%G",
+__LINE__, 9.899444006312953e+20, "1E+21", "%.1G",
+__LINE__, 9.904083146074285e-08, "9.904083e-08", "%6e",
+__LINE__, 9.909790408255471e+15, "9909790408255471.305665", "%f",
+__LINE__, 9.930297455798394e-13, "+9.930297E-13", "%+5.6E",
+__LINE__, 9.933314448709083e-15, "9.93331E-15", "%#.6G",
+__LINE__, 9.938714530509870e+29, "9.938715e+29", "%e",
+__LINE__, 9.953892603540162e+07, "9.95389E+07", "%G",
+__LINE__, 9.962084643867200e+14, "+996208464386720.038419", "%+f",
+__LINE__, 9.977706708809947e-09, "9.9777E-09", "%#.4E",
+#endif
+__LINE__, 9.978034352999867e+15, "9.978034e+15", "%2.6e",
+__LINE__, 9.998315286730175e-30, "9.998315e-30", "%6e",
+0
+};
diff --git a/newlib/libm/test/sqrt_vec.c b/newlib/libm/test/sqrt_vec.c
new file mode 100644
index 00000000000..49bef146d4b
--- /dev/null
+++ b/newlib/libm/test/sqrt_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type sqrt_vec[] = {
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff33333, 0x33333333}, /* 64.0000=f(-1.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* 64.0000=f(-1.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* 64.0000=f(-1.18000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* 64.0000=f(-1.17000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* 64.0000=f(-1.16000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff26666, 0x66666666}, /* 64.0000=f(-1.15000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* 64.0000=f(-1.14000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* 64.0000=f(-1.13000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* 64.0000=f(-1.12000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* 64.0000=f(-1.11000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x99999999}, /* 64.0000=f(-1.10000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* 64.0000=f(-1.09000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff147ae, 0x147ae147}, /* 64.0000=f(-1.08000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* 64.0000=f(-1.07000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* 64.0000=f(-1.06000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* 64.0000=f(-1.05000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* 64.0000=f(-1.04000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* 64.0000=f(-1.03000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff051eb, 0x851eb851}, /* 64.0000=f(-1.02000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* 64.0000=f(-1.01000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefffff, 0xfffffffe}, /* 64.0000=f(-0.01000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefae14, 0x7ae147ac}, /* 64.0000=f(-0.99000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef5c28, 0xf5c28f5a}, /* 64.0000=f(-0.98000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef0a3d, 0x70a3d708}, /* 64.0000=f(-0.97000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeeb851, 0xeb851eb6}, /* 64.0000=f(-0.96000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee6666, 0x66666664}, /* 64.0000=f(-0.95000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee147a, 0xe147ae12}, /* 64.0000=f(-0.94000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfedc28f, 0x5c28f5c0}, /* 64.0000=f(-0.93000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed70a3, 0xd70a3d6e}, /* 64.0000=f(-0.92000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed1eb8, 0x51eb851c}, /* 64.0000=f(-0.91000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeccccc, 0xccccccca}, /* 64.0000=f(-0.90000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec7ae1, 0x47ae1478}, /* 64.0000=f(-0.89000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec28f5, 0xc28f5c26}, /* 64.0000=f(-0.88000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfebd70a, 0x3d70a3d4}, /* 64.0000=f(-0.87000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb851e, 0xb851eb82}, /* 64.0000=f(-0.86000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb3333, 0x33333330}, /* 64.0000=f(-0.85000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeae147, 0xae147ade}, /* 64.0000=f(-0.84000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea8f5c, 0x28f5c28c}, /* 64.0000=f(-0.83000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea3d70, 0xa3d70a3a}, /* 64.0000=f(-0.82000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe9eb85, 0x1eb851e8}, /* 64.0000=f(-0.81000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe99999, 0x99999996}, /* 64.0000=f(-0.80000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe947ae, 0x147ae144}, /* 64.0000=f(-0.79000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8f5c2, 0x8f5c28f2}, /* 64.0000=f(-0.78000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8a3d7, 0x0a3d70a0}, /* 64.0000=f(-0.77000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe851eb, 0x851eb84e}, /* 64.0000=f(-0.76000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ffff, 0xfffffffc}, /* 64.0000=f(-0.75000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ae14, 0x7ae147aa}, /* 64.0000=f(-0.74000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe75c28, 0xf5c28f58}, /* 64.0000=f(-0.73000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe70a3d, 0x70a3d706}, /* 64.0000=f(-0.72000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6b851, 0xeb851eb4}, /* 64.0000=f(-0.71000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe66666, 0x66666662}, /* 64.0000=f(-0.70000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6147a, 0xe147ae10}, /* 64.0000=f(-0.69000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe5c28f, 0x5c28f5be}, /* 64.0000=f(-0.68000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe570a3, 0xd70a3d6c}, /* 64.0000=f(-0.67000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe51eb8, 0x51eb851a}, /* 64.0000=f(-0.66000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe4cccc, 0xccccccc8}, /* 64.0000=f(-0.65000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe47ae1, 0x47ae1476}, /* 64.0000=f(-0.64000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe428f5, 0xc28f5c24}, /* 64.0000=f(-0.63000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3d70a, 0x3d70a3d2}, /* 64.0000=f(-0.62000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3851e, 0xb851eb80}, /* 64.0000=f(-0.61000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe33333, 0x3333332e}, /* 64.0000=f(-0.60000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe2e147, 0xae147adc}, /* 64.0000=f(-0.59000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe28f5c, 0x28f5c28a}, /* 64.0000=f(-0.58000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe23d70, 0xa3d70a38}, /* 64.0000=f(-0.57000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe1eb85, 0x1eb851e6}, /* 64.0000=f(-0.56000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe19999, 0x99999994}, /* 64.0000=f(-0.55000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe147ae, 0x147ae142}, /* 64.0000=f(-0.54000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0f5c2, 0x8f5c28f0}, /* 64.0000=f(-0.53000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0a3d7, 0x0a3d709e}, /* 64.0000=f(-0.52000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe051eb, 0x851eb84c}, /* 64.0000=f(-0.51000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdfffff, 0xfffffff4}, /* 64.0000=f(-0.50000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdf5c28, 0xf5c28f50}, /* 64.0000=f(-0.49000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdeb851, 0xeb851eac}, /* 64.0000=f(-0.48000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfde147a, 0xe147ae08}, /* 64.0000=f(-0.47000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdd70a3, 0xd70a3d64}, /* 64.0000=f(-0.46000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdccccc, 0xccccccc0}, /* 64.0000=f(-0.45000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdc28f5, 0xc28f5c1c}, /* 64.0000=f(-0.44000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdb851e, 0xb851eb78}, /* 64.0000=f(-0.43000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdae147, 0xae147ad4}, /* 64.0000=f(-0.42000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfda3d70, 0xa3d70a30}, /* 64.0000=f(-0.41000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd99999, 0x9999998c}, /* 64.0000=f(-0.40000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd8f5c2, 0x8f5c28e8}, /* 64.0000=f(-0.39000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd851eb, 0x851eb844}, /* 64.0000=f(-0.38000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd7ae14, 0x7ae147a0}, /* 64.0000=f(-0.37000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd70a3d, 0x70a3d6fc}, /* 64.0000=f(-0.36000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd66666, 0x66666658}, /* 64.0000=f(-0.35000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd5c28f, 0x5c28f5b4}, /* 64.0000=f(-0.34000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd51eb8, 0x51eb8510}, /* 64.0000=f(-0.33000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd47ae1, 0x47ae146c}, /* 64.0000=f(-0.32000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd3d70a, 0x3d70a3c8}, /* 64.0000=f(-0.31000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd33333, 0x33333324}, /* 64.0000=f(-0.30000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd28f5c, 0x28f5c280}, /* 64.0000=f(-0.29000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd1eb85, 0x1eb851dc}, /* 64.0000=f(-0.28000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd147ae, 0x147ae138}, /* 64.0000=f(-0.27000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd0a3d7, 0x0a3d7094}, /* 64.0000=f(-0.26000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcfffff, 0xffffffe0}, /* 64.0000=f(-0.25000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfceb851, 0xeb851e98}, /* 64.0000=f(-0.24000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcd70a3, 0xd70a3d50}, /* 64.0000=f(-0.23000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcc28f5, 0xc28f5c08}, /* 64.0000=f(-0.22000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcae147, 0xae147ac0}, /* 64.0000=f(-0.21000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc99999, 0x99999978}, /* 64.0000=f(-0.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc851eb, 0x851eb830}, /* 64.0000=f(-0.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc70a3d, 0x70a3d6e8}, /* 64.0000=f(-0.18000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc5c28f, 0x5c28f5a0}, /* 64.0000=f(-0.17000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc47ae1, 0x47ae1458}, /* 64.0000=f(-0.16000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc33333, 0x33333310}, /* 64.0000=f(-0.15000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc1eb85, 0x1eb851c8}, /* 64.0000=f(-0.14000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc0a3d7, 0x0a3d7080}, /* 64.0000=f(-0.13000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbeb851, 0xeb851e71}, /* 64.0000=f(-0.12000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbc28f5, 0xc28f5be2}, /* 64.0000=f(-0.11000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb99999, 0x99999953}, /* 64.0000=f(-0.00100)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb70a3d, 0x70a3d6c4}, /* 64.0000=f(-0.09000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb47ae1, 0x47ae1435}, /* 64.0000=f(-0.08000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb1eb85, 0x1eb851a6}, /* 64.0000=f(-0.07000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfaeb851, 0xeb851e2d}, /* 64.0000=f(-0.06000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa99999, 0x9999990e}, /* 64.0000=f(-0.05000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa47ae1, 0x47ae13ef}, /* 64.0000=f(-0.04000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf9eb851, 0xeb851da0}, /* 64.0000=f(-0.03000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf947ae1, 0x47ae1362}, /* 64.0000=f(-0.02000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf847ae1, 0x47ae1249}, /* 64.0000=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x3e60c357, 0x8c15393e, 0x3cd19000, 0x00000000}, /* 3.12236e-08=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0x3fb99999, 0x99999af9, 0x3f847ae1, 0x47ae16ad}, /* 0.10000=f(0.01000)*/
+{64, 0,123,__LINE__, 0x3fc21a18, 0x51ff6386, 0x3f947ae1, 0x47ae1594}, /* 0.14142=f(0.02000)*/
+{64, 0,123,__LINE__, 0x3fc62b95, 0x86ad0a88, 0x3f9eb851, 0xeb851fd2}, /* 0.17320=f(0.03000)*/
+{64, 0,123,__LINE__, 0x3fc99999, 0x999999f2, 0x3fa47ae1, 0x47ae1508}, /* 0.20000=f(0.04000)*/
+{64, 0,123,__LINE__, 0x3fcc9f25, 0xc5bfee28, 0x3fa99999, 0x99999a27}, /* 0.22360=f(0.05000)*/
+{64, 0,123,__LINE__, 0x3fcf5a7c, 0xecdb6892, 0x3faeb851, 0xeb851f46}, /* 0.24494=f(0.06000)*/
+{64, 0,123,__LINE__, 0x3fd0eecc, 0x87dbfa76, 0x3fb1eb85, 0x1eb85232}, /* 0.26457=f(0.07000)*/
+{64, 0,123,__LINE__, 0x3fd21a18, 0x51ff6329, 0x3fb47ae1, 0x47ae14c1}, /* 0.28284=f(0.08000)*/
+{64, 0,123,__LINE__, 0x3fd33333, 0x33333350, 0x3fb70a3d, 0x70a3d750}, /* 0.30000=f(0.09000)*/
+{64, 0,123,__LINE__, 0x3fd43d13, 0x6248492a, 0x3fb99999, 0x999999df}, /* 0.31622=f(0.10000)*/
+{64, 0,123,__LINE__, 0x3fd539f5, 0x433125de, 0x3fbc28f5, 0xc28f5c6e}, /* 0.33166=f(0.11000)*/
+{64, 0,123,__LINE__, 0x3fd62b95, 0x86ad0a3a, 0x3fbeb851, 0xeb851efd}, /* 0.34641=f(0.12000)*/
+{64, 0,123,__LINE__, 0x3fd71355, 0xd04de1a7, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.36055=f(0.13000)*/
+{64, 0,123,__LINE__, 0x3fd7f254, 0xdab9cc52, 0x3fc1eb85, 0x1eb8520e}, /* 0.37416=f(0.14000)*/
+{64, 0,123,__LINE__, 0x3fd8c97e, 0xf43f725e, 0x3fc33333, 0x33333356}, /* 0.38729=f(0.15000)*/
+{64, 0,123,__LINE__, 0x3fd99999, 0x999999b0, 0x3fc47ae1, 0x47ae149e}, /* 0.40000=f(0.16000)*/
+{64, 0,123,__LINE__, 0x3fda634b, 0xd77fe1ba, 0x3fc5c28f, 0x5c28f5e6}, /* 0.41231=f(0.17000)*/
+{64, 0,123,__LINE__, 0x3fdb2724, 0x7aff14a4, 0x3fc70a3d, 0x70a3d72e}, /* 0.42426=f(0.18000)*/
+{64, 0,123,__LINE__, 0x3fdbe59e, 0xba3a166f, 0x3fc851eb, 0x851eb876}, /* 0.43588=f(0.19000)*/
+{64, 0,123,__LINE__, 0x3fdc9f25, 0xc5bfedee, 0x3fc99999, 0x999999be}, /* 0.44721=f(0.20000)*/
+{64, 0,123,__LINE__, 0x3fdd5417, 0x8e8830e9, 0x3fcae147, 0xae147b06}, /* 0.45825=f(0.21000)*/
+{64, 0,123,__LINE__, 0x3fde04c6, 0xf553bdec, 0x3fcc28f5, 0xc28f5c4e}, /* 0.46904=f(0.22000)*/
+{64, 0,123,__LINE__, 0x3fdeb17d, 0x88be6d04, 0x3fcd70a3, 0xd70a3d96}, /* 0.47958=f(0.23000)*/
+{64, 0,123,__LINE__, 0x3fdf5a7c, 0xecdb685e, 0x3fceb851, 0xeb851ede}, /* 0.48989=f(0.24000)*/
+{64, 0,123,__LINE__, 0x3fe00000, 0x0000000a, 0x3fd00000, 0x00000013}, /* 0.50000=f(0.25000)*/
+{64, 0,123,__LINE__, 0x3fe0511d, 0xe5a82668, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.50990=f(0.26000)*/
+{64, 0,123,__LINE__, 0x3fe0a0b0, 0x2501c7a3, 0x3fd147ae, 0x147ae15b}, /* 0.51961=f(0.27000)*/
+{64, 0,123,__LINE__, 0x3fe0eecc, 0x87dbfa5e, 0x3fd1eb85, 0x1eb851ff}, /* 0.52915=f(0.28000)*/
+{64, 0,123,__LINE__, 0x3fe13b86, 0xea20ae66, 0x3fd28f5c, 0x28f5c2a3}, /* 0.53851=f(0.29000)*/
+{64, 0,123,__LINE__, 0x3fe186f1, 0x74f8847c, 0x3fd33333, 0x33333347}, /* 0.54772=f(0.30000)*/
+{64, 0,123,__LINE__, 0x3fe1d11c, 0xd1209b0c, 0x3fd3d70a, 0x3d70a3eb}, /* 0.55677=f(0.31000)*/
+{64, 0,123,__LINE__, 0x3fe21a18, 0x51ff6313, 0x3fd47ae1, 0x47ae148f}, /* 0.56568=f(0.32000)*/
+{64, 0,123,__LINE__, 0x3fe261f2, 0x1ab573fc, 0x3fd51eb8, 0x51eb8533}, /* 0.57445=f(0.33000)*/
+{64, 0,123,__LINE__, 0x3fe2a8b7, 0x3e294fbe, 0x3fd5c28f, 0x5c28f5d7}, /* 0.58309=f(0.34000)*/
+{64, 0,123,__LINE__, 0x3fe2ee73, 0xdadc9b60, 0x3fd66666, 0x6666667b}, /* 0.59160=f(0.35000)*/
+{64, 0,123,__LINE__, 0x3fe33333, 0x3333333c, 0x3fd70a3d, 0x70a3d71f}, /* 0.60000=f(0.36000)*/
+{64, 0,123,__LINE__, 0x3fe376ff, 0xc2b649d0, 0x3fd7ae14, 0x7ae147c3}, /* 0.60827=f(0.37000)*/
+{64, 0,123,__LINE__, 0x3fe3b9e3, 0x50c59eb6, 0x3fd851eb, 0x851eb867}, /* 0.61644=f(0.38000)*/
+{64, 0,123,__LINE__, 0x3fe3fbe7, 0x01157610, 0x3fd8f5c2, 0x8f5c290b}, /* 0.62449=f(0.39000)*/
+{64, 0,123,__LINE__, 0x3fe43d13, 0x62484918, 0x3fd99999, 0x999999af}, /* 0.63245=f(0.40000)*/
+{64, 0,123,__LINE__, 0x3fe47d70, 0x7ae665a2, 0x3fda3d70, 0xa3d70a53}, /* 0.64031=f(0.41000)*/
+{64, 0,123,__LINE__, 0x3fe4bd05, 0xd4eb41f2, 0x3fdae147, 0xae147af7}, /* 0.64807=f(0.42000)*/
+{64, 0,123,__LINE__, 0x3fe4fbda, 0x8817b456, 0x3fdb851e, 0xb851eb9b}, /* 0.65574=f(0.43000)*/
+{64, 0,123,__LINE__, 0x3fe539f5, 0x433125cc, 0x3fdc28f5, 0xc28f5c3f}, /* 0.66332=f(0.44000)*/
+{64, 0,123,__LINE__, 0x3fe5775c, 0x544ff26b, 0x3fdccccc, 0xcccccce3}, /* 0.67082=f(0.45000)*/
+{64, 0,123,__LINE__, 0x3fe5b415, 0xb05a4024, 0x3fdd70a3, 0xd70a3d87}, /* 0.67823=f(0.46000)*/
+{64, 0,123,__LINE__, 0x3fe5f026, 0xf9c4765a, 0x3fde147a, 0xe147ae2b}, /* 0.68556=f(0.47000)*/
+{64, 0,123,__LINE__, 0x3fe62b95, 0x86ad0a2a, 0x3fdeb851, 0xeb851ecf}, /* 0.69282=f(0.48000)*/
+{64, 0,123,__LINE__, 0x3fe66666, 0x6666666e, 0x3fdf5c28, 0xf5c28f73}, /* 0.70000=f(0.49000)*/
+{64, 0,123,__LINE__, 0x3fe6a09e, 0x667f3bd4, 0x3fe00000, 0x0000000b}, /* 0.70710=f(0.50000)*/
+{64, 0,123,__LINE__, 0x3fe6da42, 0x17576979, 0x3fe051eb, 0x851eb85d}, /* 0.71414=f(0.51000)*/
+{64, 0,123,__LINE__, 0x3fe71355, 0xd04de197, 0x3fe0a3d7, 0x0a3d70af}, /* 0.72111=f(0.52000)*/
+{64, 0,123,__LINE__, 0x3fe74bdd, 0xb3926328, 0x3fe0f5c2, 0x8f5c2901}, /* 0.72801=f(0.53000)*/
+{64, 0,123,__LINE__, 0x3fe783dd, 0xb1a48e40, 0x3fe147ae, 0x147ae153}, /* 0.73484=f(0.54000)*/
+{64, 0,123,__LINE__, 0x3fe7bb59, 0x8c88b4b4, 0x3fe19999, 0x999999a5}, /* 0.74161=f(0.55000)*/
+{64, 0,123,__LINE__, 0x3fe7f254, 0xdab9cc42, 0x3fe1eb85, 0x1eb851f7}, /* 0.74833=f(0.56000)*/
+{64, 0,123,__LINE__, 0x3fe828d3, 0x09df0c51, 0x3fe23d70, 0xa3d70a49}, /* 0.75498=f(0.57000)*/
+{64, 0,123,__LINE__, 0x3fe85ed7, 0x614b0394, 0x3fe28f5c, 0x28f5c29b}, /* 0.76157=f(0.58000)*/
+{64, 0,123,__LINE__, 0x3fe89465, 0x04494bea, 0x3fe2e147, 0xae147aed}, /* 0.76811=f(0.59000)*/
+{64, 0,123,__LINE__, 0x3fe8c97e, 0xf43f7250, 0x3fe33333, 0x3333333f}, /* 0.77459=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3fe8fe28, 0x12a529f5, 0x3fe3851e, 0xb851eb91}, /* 0.78102=f(0.61000)*/
+{64, 0,123,__LINE__, 0x3fe93263, 0x22d7727c, 0x3fe3d70a, 0x3d70a3e3}, /* 0.78740=f(0.62000)*/
+{64, 0,123,__LINE__, 0x3fe96632, 0xcbc9f786, 0x3fe428f5, 0xc28f5c35}, /* 0.79372=f(0.63000)*/
+{64, 0,123,__LINE__, 0x3fe99999, 0x999999a1, 0x3fe47ae1, 0x47ae1487}, /* 0.80000=f(0.64000)*/
+{64, 0,123,__LINE__, 0x3fe9cc99, 0xff02c488, 0x3fe4cccc, 0xccccccd9}, /* 0.80622=f(0.65000)*/
+{64, 0,123,__LINE__, 0x3fe9ff36, 0x56bdf34e, 0x3fe51eb8, 0x51eb852b}, /* 0.81240=f(0.66000)*/
+{64, 0,123,__LINE__, 0x3fea3170, 0xe4c4874c, 0x3fe570a3, 0xd70a3d7d}, /* 0.81853=f(0.67000)*/
+{64, 0,123,__LINE__, 0x3fea634b, 0xd77fe1ac, 0x3fe5c28f, 0x5c28f5cf}, /* 0.82462=f(0.68000)*/
+{64, 0,123,__LINE__, 0x3fea94c9, 0x48e48016, 0x3fe6147a, 0xe147ae21}, /* 0.83066=f(0.69000)*/
+{64, 0,123,__LINE__, 0x3feac5eb, 0x3f7ab300, 0x3fe66666, 0x66666673}, /* 0.83666=f(0.70000)*/
+{64, 0,123,__LINE__, 0x3feaf6b3, 0xaf565e77, 0x3fe6b851, 0xeb851ec5}, /* 0.84261=f(0.71000)*/
+{64, 0,123,__LINE__, 0x3feb2724, 0x7aff1496, 0x3fe70a3d, 0x70a3d717}, /* 0.84852=f(0.72000)*/
+{64, 0,123,__LINE__, 0x3feb573f, 0x7449baa6, 0x3fe75c28, 0xf5c28f69}, /* 0.85440=f(0.73000)*/
+{64, 0,123,__LINE__, 0x3feb8706, 0x5d24ceeb, 0x3fe7ae14, 0x7ae147bb}, /* 0.86023=f(0.74000)*/
+{64, 0,123,__LINE__, 0x3febb67a, 0xe8584cb2, 0x3fe80000, 0x0000000d}, /* 0.86602=f(0.75000)*/
+{64, 0,123,__LINE__, 0x3febe59e, 0xba3a1662, 0x3fe851eb, 0x851eb85f}, /* 0.87177=f(0.76000)*/
+{64, 0,123,__LINE__, 0x3fec1473, 0x6957b972, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.87749=f(0.77000)*/
+{64, 0,123,__LINE__, 0x3fec42fa, 0x7f164e74, 0x3fe8f5c2, 0x8f5c2903}, /* 0.88317=f(0.78000)*/
+{64, 0,123,__LINE__, 0x3fec7135, 0x78492721, 0x3fe947ae, 0x147ae155}, /* 0.88881=f(0.79000)*/
+{64, 0,123,__LINE__, 0x3fec9f25, 0xc5bfede0, 0x3fe99999, 0x999999a7}, /* 0.89442=f(0.80000)*/
+{64, 0,123,__LINE__, 0x3feccccc, 0xccccccd4, 0x3fe9eb85, 0x1eb851f9}, /* 0.90000=f(0.81000)*/
+{64, 0,123,__LINE__, 0x3fecfa2b, 0xe7c326a7, 0x3fea3d70, 0xa3d70a4b}, /* 0.90553=f(0.82000)*/
+{64, 0,123,__LINE__, 0x3fed2744, 0x666f6047, 0x3fea8f5c, 0x28f5c29d}, /* 0.91104=f(0.83000)*/
+{64, 0,123,__LINE__, 0x3fed5417, 0x8e8830dc, 0x3feae147, 0xae147aef}, /* 0.91651=f(0.84000)*/
+{64, 0,123,__LINE__, 0x3fed80a6, 0x9c19e432, 0x3feb3333, 0x33333341}, /* 0.92195=f(0.85000)*/
+{64, 0,123,__LINE__, 0x3fedacf2, 0xc1ebf38e, 0x3feb851e, 0xb851eb93}, /* 0.92736=f(0.86000)*/
+{64, 0,123,__LINE__, 0x3fedd8fd, 0x29e15177, 0x3febd70a, 0x3d70a3e5}, /* 0.93273=f(0.87000)*/
+{64, 0,123,__LINE__, 0x3fee04c6, 0xf553bddf, 0x3fec28f5, 0xc28f5c37}, /* 0.93808=f(0.88000)*/
+{64, 0,123,__LINE__, 0x3fee3051, 0x3d6a720a, 0x3fec7ae1, 0x47ae1489}, /* 0.94339=f(0.89000)*/
+{64, 0,123,__LINE__, 0x3fee5b9d, 0x136c6d9e, 0x3feccccc, 0xccccccdb}, /* 0.94868=f(0.90000)*/
+{64, 0,123,__LINE__, 0x3fee86ab, 0x810ea91a, 0x3fed1eb8, 0x51eb852d}, /* 0.95393=f(0.91000)*/
+{64, 0,123,__LINE__, 0x3feeb17d, 0x88be6cf8, 0x3fed70a3, 0xd70a3d7f}, /* 0.95916=f(0.92000)*/
+{64, 0,123,__LINE__, 0x3feedc14, 0x25e8086e, 0x3fedc28f, 0x5c28f5d1}, /* 0.96436=f(0.93000)*/
+{64, 0,123,__LINE__, 0x3fef0670, 0x4d3a1e77, 0x3fee147a, 0xe147ae23}, /* 0.96953=f(0.94000)*/
+{64, 0,123,__LINE__, 0x3fef3092, 0xece5bc3d, 0x3fee6666, 0x66666675}, /* 0.97467=f(0.95000)*/
+{64, 0,123,__LINE__, 0x3fef5a7c, 0xecdb6852, 0x3feeb851, 0xeb851ec7}, /* 0.97979=f(0.96000)*/
+{64, 0,123,__LINE__, 0x3fef842f, 0x2f05570c, 0x3fef0a3d, 0x70a3d719}, /* 0.98488=f(0.97000)*/
+{64, 0,123,__LINE__, 0x3fefadaa, 0x8f7eed59, 0x3fef5c28, 0xf5c28f6b}, /* 0.98994=f(0.98000)*/
+{64, 0,123,__LINE__, 0x3fefd6ef, 0xe4c9b8ac, 0x3fefae14, 0x7ae147bd}, /* 0.99498=f(0.99000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000004, 0x3ff00000, 0x00000007}, /* 1.00000=f(1.00000)*/
+{64, 0,123,__LINE__, 0x3ff0146d, 0xd68287f7, 0x3ff028f5, 0xc28f5c30}, /* 1.00498=f(1.01000)*/
+{64, 0,123,__LINE__, 0x3ff028c1, 0xd959b066, 0x3ff051eb, 0x851eb859}, /* 1.00995=f(1.02000)*/
+{64, 0,123,__LINE__, 0x3ff03cfc, 0x69845aac, 0x3ff07ae1, 0x47ae1482}, /* 1.01488=f(1.03000)*/
+{64, 0,123,__LINE__, 0x3ff0511d, 0xe5a82662, 0x3ff0a3d7, 0x0a3d70ab}, /* 1.01980=f(1.04000)*/
+{64, 0,123,__LINE__, 0x3ff06526, 0xaa25a13e, 0x3ff0cccc, 0xccccccd4}, /* 1.02469=f(1.05000)*/
+{64, 0,123,__LINE__, 0x3ff07917, 0x112b9a0a, 0x3ff0f5c2, 0x8f5c28fd}, /* 1.02956=f(1.06000)*/
+{64, 0,123,__LINE__, 0x3ff08cef, 0x72c9a20a, 0x3ff11eb8, 0x51eb8526}, /* 1.03440=f(1.07000)*/
+{64, 0,123,__LINE__, 0x3ff0a0b0, 0x2501c79d, 0x3ff147ae, 0x147ae14f}, /* 1.03923=f(1.08000)*/
+{64, 0,123,__LINE__, 0x3ff0b459, 0x7bd99430, 0x3ff170a3, 0xd70a3d78}, /* 1.04403=f(1.09000)*/
+{64, 0,123,__LINE__, 0x3ff0c7eb, 0xc96a56f9, 0x3ff19999, 0x999999a1}, /* 1.04880=f(1.10000)*/
+{64, 0,123,__LINE__, 0x3ff0db67, 0x5df0c584, 0x3ff1c28f, 0x5c28f5ca}, /* 1.05356=f(1.11000)*/
+{64, 0,123,__LINE__, 0x3ff0eecc, 0x87dbfa58, 0x3ff1eb85, 0x1eb851f3}, /* 1.05830=f(1.12000)*/
+{64, 0,123,__LINE__, 0x3ff1021b, 0x93dbd9c8, 0x3ff2147a, 0xe147ae1c}, /* 1.06301=f(1.13000)*/
+{64, 0,123,__LINE__, 0x3ff11554, 0xcceee44c, 0x3ff23d70, 0xa3d70a45}, /* 1.06770=f(1.14000)*/
+{64, 0,123,__LINE__, 0x3ff12878, 0x7c6f7d7e, 0x3ff26666, 0x6666666e}, /* 1.07238=f(1.15000)*/
+{64, 0,123,__LINE__, 0x3ff13b86, 0xea20ae60, 0x3ff28f5c, 0x28f5c297}, /* 1.07703=f(1.16000)*/
+{64, 0,123,__LINE__, 0x3ff14e80, 0x5c3a692f, 0x3ff2b851, 0xeb851ec0}, /* 1.08166=f(1.17000)*/
+{64, 0,123,__LINE__, 0x3ff16165, 0x177554b2, 0x3ff2e147, 0xae147ae9}, /* 1.08627=f(1.18000)*/
+{64, 0,123,__LINE__, 0x3ff17435, 0x5f1624a2, 0x3ff30a3d, 0x70a3d712}, /* 1.09087=f(1.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01921fb, 0x54442d18}, /* 64.0000=f(-6.28318)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* 64.0000=f(-4.71238)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc00921fb, 0x54442d18}, /* 64.0000=f(-3.14159)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff921fb, 0x54442d18}, /* 64.0000=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{64, 0,123,__LINE__, 0x3ff40d93, 0x1ff62706, 0x3ff921fb, 0x54442d18}, /* 1.25331=f(1.57079)*/
+{64, 0,123,__LINE__, 0x3ffc5bf8, 0x91b4ef6a, 0x400921fb, 0x54442d18}, /* 1.77245=f(3.14159)*/
+{64, 0,123,__LINE__, 0x40015dce, 0x5d1822cc, 0x4012d97c, 0x7f3321d2}, /* 2.17080=f(4.71238)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03e0000, 0x00000000}, /* 64.0000=f(-30.0000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* 64.0000=f(-28.3000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03a9999, 0x9999999a}, /* 64.0000=f(-26.6000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc038e666, 0x66666667}, /* 64.0000=f(-24.9000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0373333, 0x33333334}, /* 64.0000=f(-23.2000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0358000, 0x00000001}, /* 64.0000=f(-21.5000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc033cccc, 0xccccccce}, /* 64.0000=f(-19.8000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0321999, 0x9999999b}, /* 64.0000=f(-18.1000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0306666, 0x66666668}, /* 64.0000=f(-16.4000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02d6666, 0x6666666a}, /* 64.0000=f(-14.7000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02a0000, 0x00000004}, /* 64.0000=f(-13.0000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0269999, 0x9999999e}, /* 64.0000=f(-11.3000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0233333, 0x33333338}, /* 64.0000=f(-9.60000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01f9999, 0x999999a3}, /* 64.0000=f(-7.90000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* 64.0000=f(-6.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0120000, 0x00000009}, /* 64.0000=f(-4.50000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0066666, 0x66666678}, /* 64.0000=f(-2.80000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x999999bd}, /* 64.0000=f(-1.10000)*/
+{64, 0,123,__LINE__, 0x3fe8c97e, 0xf43f721a, 0x3fe33333, 0x333332ec}, /* 0.77459=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3ff843e4, 0x3d85e5a6, 0x40026666, 0x66666654}, /* 1.51657=f(2.30000)*/
+{64, 0,123,__LINE__, 0x3fffffff, 0xfffffff7, 0x400fffff, 0xffffffee}, /* 2.00000=f(4.00000)*/
+{64, 0,123,__LINE__, 0x40031988, 0x71a0e80a, 0x4016cccc, 0xccccccc4}, /* 2.38746=f(5.70000)*/
+{64, 0,123,__LINE__, 0x4005c329, 0x8dd40b22, 0x401d9999, 0x99999991}, /* 2.72029=f(7.40000)*/
+{64, 0,123,__LINE__, 0x40082209, 0xfea1fd35, 0x40223333, 0x3333332f}, /* 3.01662=f(9.10000)*/
+{64, 0,123,__LINE__, 0x400a4a6a, 0x2f74c6a8, 0x40259999, 0x99999995}, /* 3.28633=f(10.8000)*/
+{64, 0,123,__LINE__, 0x400c48c6, 0x001f0abd, 0x4028ffff, 0xfffffffb}, /* 3.53553=f(12.5000)*/
+{64, 0,123,__LINE__, 0x400e2574, 0x90a1c701, 0x402c6666, 0x66666661}, /* 3.76828=f(14.2000)*/
+{64, 0,123,__LINE__, 0x400fe65c, 0x20bc6144, 0x402fcccc, 0xccccccc7}, /* 3.98748=f(15.9000)*/
+{64, 0,123,__LINE__, 0x4010c7eb, 0xc96a56f4, 0x40319999, 0x99999997}, /* 4.19523=f(17.6000)*/
+{64, 0,123,__LINE__, 0x4011929c, 0xde1931e4, 0x40334ccc, 0xccccccca}, /* 4.39317=f(19.3000)*/
+{64, 0,123,__LINE__, 0x4012548e, 0xb9151e84, 0x4034ffff, 0xfffffffd}, /* 4.58257=f(21.0000)*/
+{64, 0,123,__LINE__, 0x40130ecc, 0x6d288adc, 0x4036b333, 0x33333330}, /* 4.76445=f(22.7000)*/
+{64, 0,123,__LINE__, 0x4013c22f, 0xd6a2b7b0, 0x40386666, 0x66666663}, /* 4.93963=f(24.4000)*/
+{64, 0,123,__LINE__, 0x40146f6d, 0x70171f62, 0x403a1999, 0x99999996}, /* 5.10881=f(26.1000)*/
+{64, 0,123,__LINE__, 0x4015171c, 0xbaaadfe0, 0x403bcccc, 0xccccccc9}, /* 5.27257=f(27.8000)*/
+{64, 0,123,__LINE__, 0x4015b9be, 0x5d52a9d8, 0x403d7fff, 0xfffffffc}, /* 5.43139=f(29.5000)*/
+0,};
+test_sqrt(m) {run_vector_1(m,sqrt_vec,(char *)(sqrt),"sqrt","dd"); }
diff --git a/newlib/libm/test/sqrtf_vec.c b/newlib/libm/test/sqrtf_vec.c
new file mode 100644
index 00000000000..0e52fac0fca
--- /dev/null
+++ b/newlib/libm/test/sqrtf_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type sqrtf_vec[] = {
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff33333, 0x33333333}, /* 64.0000=f(-1.20000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* 64.0000=f(-1.19000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* 64.0000=f(-1.18000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* 64.0000=f(-1.17000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* 64.0000=f(-1.16000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff26666, 0x66666666}, /* 64.0000=f(-1.15000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* 64.0000=f(-1.14000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* 64.0000=f(-1.13000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* 64.0000=f(-1.12000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* 64.0000=f(-1.11000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x99999999}, /* 64.0000=f(-1.10000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* 64.0000=f(-1.09000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff147ae, 0x147ae147}, /* 64.0000=f(-1.08000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* 64.0000=f(-1.07000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* 64.0000=f(-1.06000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* 64.0000=f(-1.05000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* 64.0000=f(-1.04000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* 64.0000=f(-1.03000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff051eb, 0x851eb851}, /* 64.0000=f(-1.02000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* 64.0000=f(-1.01000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefffff, 0xfffffffe}, /* 64.0000=f(-0.01000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefae14, 0x7ae147ac}, /* 64.0000=f(-0.99000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef5c28, 0xf5c28f5a}, /* 64.0000=f(-0.98000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef0a3d, 0x70a3d708}, /* 64.0000=f(-0.97000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeeb851, 0xeb851eb6}, /* 64.0000=f(-0.96000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee6666, 0x66666664}, /* 64.0000=f(-0.95000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee147a, 0xe147ae12}, /* 64.0000=f(-0.94000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfedc28f, 0x5c28f5c0}, /* 64.0000=f(-0.93000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed70a3, 0xd70a3d6e}, /* 64.0000=f(-0.92000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed1eb8, 0x51eb851c}, /* 64.0000=f(-0.91000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeccccc, 0xccccccca}, /* 64.0000=f(-0.90000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec7ae1, 0x47ae1478}, /* 64.0000=f(-0.89000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec28f5, 0xc28f5c26}, /* 64.0000=f(-0.88000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfebd70a, 0x3d70a3d4}, /* 64.0000=f(-0.87000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb851e, 0xb851eb82}, /* 64.0000=f(-0.86000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb3333, 0x33333330}, /* 64.0000=f(-0.85000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeae147, 0xae147ade}, /* 64.0000=f(-0.84000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea8f5c, 0x28f5c28c}, /* 64.0000=f(-0.83000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea3d70, 0xa3d70a3a}, /* 64.0000=f(-0.82000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe9eb85, 0x1eb851e8}, /* 64.0000=f(-0.81000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe99999, 0x99999996}, /* 64.0000=f(-0.80000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe947ae, 0x147ae144}, /* 64.0000=f(-0.79000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8f5c2, 0x8f5c28f2}, /* 64.0000=f(-0.78000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8a3d7, 0x0a3d70a0}, /* 64.0000=f(-0.77000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe851eb, 0x851eb84e}, /* 64.0000=f(-0.76000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ffff, 0xfffffffc}, /* 64.0000=f(-0.75000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ae14, 0x7ae147aa}, /* 64.0000=f(-0.74000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe75c28, 0xf5c28f58}, /* 64.0000=f(-0.73000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe70a3d, 0x70a3d706}, /* 64.0000=f(-0.72000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6b851, 0xeb851eb4}, /* 64.0000=f(-0.71000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe66666, 0x66666662}, /* 64.0000=f(-0.70000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6147a, 0xe147ae10}, /* 64.0000=f(-0.69000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe5c28f, 0x5c28f5be}, /* 64.0000=f(-0.68000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe570a3, 0xd70a3d6c}, /* 64.0000=f(-0.67000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe51eb8, 0x51eb851a}, /* 64.0000=f(-0.66000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe4cccc, 0xccccccc8}, /* 64.0000=f(-0.65000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe47ae1, 0x47ae1476}, /* 64.0000=f(-0.64000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe428f5, 0xc28f5c24}, /* 64.0000=f(-0.63000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3d70a, 0x3d70a3d2}, /* 64.0000=f(-0.62000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3851e, 0xb851eb80}, /* 64.0000=f(-0.61000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe33333, 0x3333332e}, /* 64.0000=f(-0.60000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe2e147, 0xae147adc}, /* 64.0000=f(-0.59000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe28f5c, 0x28f5c28a}, /* 64.0000=f(-0.58000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe23d70, 0xa3d70a38}, /* 64.0000=f(-0.57000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe1eb85, 0x1eb851e6}, /* 64.0000=f(-0.56000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe19999, 0x99999994}, /* 64.0000=f(-0.55000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe147ae, 0x147ae142}, /* 64.0000=f(-0.54000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0f5c2, 0x8f5c28f0}, /* 64.0000=f(-0.53000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0a3d7, 0x0a3d709e}, /* 64.0000=f(-0.52000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe051eb, 0x851eb84c}, /* 64.0000=f(-0.51000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdfffff, 0xfffffff4}, /* 64.0000=f(-0.50000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdf5c28, 0xf5c28f50}, /* 64.0000=f(-0.49000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdeb851, 0xeb851eac}, /* 64.0000=f(-0.48000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfde147a, 0xe147ae08}, /* 64.0000=f(-0.47000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdd70a3, 0xd70a3d64}, /* 64.0000=f(-0.46000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdccccc, 0xccccccc0}, /* 64.0000=f(-0.45000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdc28f5, 0xc28f5c1c}, /* 64.0000=f(-0.44000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdb851e, 0xb851eb78}, /* 64.0000=f(-0.43000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdae147, 0xae147ad4}, /* 64.0000=f(-0.42000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfda3d70, 0xa3d70a30}, /* 64.0000=f(-0.41000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd99999, 0x9999998c}, /* 64.0000=f(-0.40000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd8f5c2, 0x8f5c28e8}, /* 64.0000=f(-0.39000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd851eb, 0x851eb844}, /* 64.0000=f(-0.38000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd7ae14, 0x7ae147a0}, /* 64.0000=f(-0.37000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd70a3d, 0x70a3d6fc}, /* 64.0000=f(-0.36000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd66666, 0x66666658}, /* 64.0000=f(-0.35000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd5c28f, 0x5c28f5b4}, /* 64.0000=f(-0.34000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd51eb8, 0x51eb8510}, /* 64.0000=f(-0.33000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd47ae1, 0x47ae146c}, /* 64.0000=f(-0.32000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd3d70a, 0x3d70a3c8}, /* 64.0000=f(-0.31000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd33333, 0x33333324}, /* 64.0000=f(-0.30000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd28f5c, 0x28f5c280}, /* 64.0000=f(-0.29000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd1eb85, 0x1eb851dc}, /* 64.0000=f(-0.28000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd147ae, 0x147ae138}, /* 64.0000=f(-0.27000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd0a3d7, 0x0a3d7094}, /* 64.0000=f(-0.26000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcfffff, 0xffffffe0}, /* 64.0000=f(-0.25000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfceb851, 0xeb851e98}, /* 64.0000=f(-0.24000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcd70a3, 0xd70a3d50}, /* 64.0000=f(-0.23000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcc28f5, 0xc28f5c08}, /* 64.0000=f(-0.22000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcae147, 0xae147ac0}, /* 64.0000=f(-0.21000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc99999, 0x99999978}, /* 64.0000=f(-0.20000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc851eb, 0x851eb830}, /* 64.0000=f(-0.19000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc70a3d, 0x70a3d6e8}, /* 64.0000=f(-0.18000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc5c28f, 0x5c28f5a0}, /* 64.0000=f(-0.17000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc47ae1, 0x47ae1458}, /* 64.0000=f(-0.16000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc33333, 0x33333310}, /* 64.0000=f(-0.15000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc1eb85, 0x1eb851c8}, /* 64.0000=f(-0.14000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc0a3d7, 0x0a3d7080}, /* 64.0000=f(-0.13000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbeb851, 0xeb851e71}, /* 64.0000=f(-0.12000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbc28f5, 0xc28f5be2}, /* 64.0000=f(-0.11000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb99999, 0x99999953}, /* 64.0000=f(-0.00100)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb70a3d, 0x70a3d6c4}, /* 64.0000=f(-0.09000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb47ae1, 0x47ae1435}, /* 64.0000=f(-0.08000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb1eb85, 0x1eb851a6}, /* 64.0000=f(-0.07000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfaeb851, 0xeb851e2d}, /* 64.0000=f(-0.06000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa99999, 0x9999990e}, /* 64.0000=f(-0.05000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa47ae1, 0x47ae13ef}, /* 64.0000=f(-0.04000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf9eb851, 0xeb851da0}, /* 64.0000=f(-0.03000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf947ae1, 0x47ae1362}, /* 64.0000=f(-0.02000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf847ae1, 0x47ae1249}, /* 64.0000=f(-0.00010)*/
+{ 2, 0,123,__LINE__, 0x3e60c357, 0x80000000, 0x3cd19000, 0x00000000}, /* 3.12236e-08=f(9.74915e-16)*/
+{ 9, 0,123,__LINE__, 0x3fb99999, 0xa0000000, 0x3f847ae1, 0x47ae16ad}, /* 0.10000=f(0.01000)*/
+{12, 0,123,__LINE__, 0x3fc21a18, 0x40000000, 0x3f947ae1, 0x47ae1594}, /* 0.14142=f(0.02000)*/
+{12, 0,123,__LINE__, 0x3fc62b95, 0x80000000, 0x3f9eb851, 0xeb851fd2}, /* 0.17320=f(0.03000)*/
+{11, 0,123,__LINE__, 0x3fc99999, 0xa0000000, 0x3fa47ae1, 0x47ae1508}, /* 0.20000=f(0.04000)*/
+{11, 0,123,__LINE__, 0x3fcc9f25, 0xc0000000, 0x3fa99999, 0x99999a27}, /* 0.22360=f(0.05000)*/
+{11, 0,123,__LINE__, 0x3fcf5a7c, 0xe0000000, 0x3faeb851, 0xeb851f46}, /* 0.24494=f(0.06000)*/
+{13, 0,123,__LINE__, 0x3fd0eecc, 0x80000000, 0x3fb1eb85, 0x1eb85232}, /* 0.26457=f(0.07000)*/
+{12, 0,123,__LINE__, 0x3fd21a18, 0x40000000, 0x3fb47ae1, 0x47ae14c1}, /* 0.28284=f(0.08000)*/
+{12, 0,123,__LINE__, 0x3fd33333, 0x40000000, 0x3fb70a3d, 0x70a3d750}, /* 0.30000=f(0.09000)*/
+{12, 0,123,__LINE__, 0x3fd43d13, 0x60000000, 0x3fb99999, 0x999999df}, /* 0.31622=f(0.10000)*/
+{12, 0,123,__LINE__, 0x3fd539f5, 0x40000000, 0x3fbc28f5, 0xc28f5c6e}, /* 0.33166=f(0.11000)*/
+{12, 0,123,__LINE__, 0x3fd62b95, 0x80000000, 0x3fbeb851, 0xeb851efd}, /* 0.34641=f(0.12000)*/
+{12, 0,123,__LINE__, 0x3fd71355, 0xc0000000, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.36055=f(0.13000)*/
+{12, 0,123,__LINE__, 0x3fd7f254, 0xe0000000, 0x3fc1eb85, 0x1eb8520e}, /* 0.37416=f(0.14000)*/
+{10, 0,123,__LINE__, 0x3fd8c97f, 0x00000000, 0x3fc33333, 0x33333356}, /* 0.38729=f(0.15000)*/
+{10, 0,123,__LINE__, 0x3fd99999, 0xa0000000, 0x3fc47ae1, 0x47ae149e}, /* 0.40000=f(0.16000)*/
+{10, 0,123,__LINE__, 0x3fda634b, 0xe0000000, 0x3fc5c28f, 0x5c28f5e6}, /* 0.41231=f(0.17000)*/
+{10, 0,123,__LINE__, 0x3fdb2724, 0x80000000, 0x3fc70a3d, 0x70a3d72e}, /* 0.42426=f(0.18000)*/
+{10, 0,123,__LINE__, 0x3fdbe59e, 0xc0000000, 0x3fc851eb, 0x851eb876}, /* 0.43588=f(0.19000)*/
+{10, 0,123,__LINE__, 0x3fdc9f25, 0xc0000000, 0x3fc99999, 0x999999be}, /* 0.44721=f(0.20000)*/
+{10, 0,123,__LINE__, 0x3fdd5417, 0x80000000, 0x3fcae147, 0xae147b06}, /* 0.45825=f(0.21000)*/
+{10, 0,123,__LINE__, 0x3fde04c7, 0x00000000, 0x3fcc28f5, 0xc28f5c4e}, /* 0.46904=f(0.22000)*/
+{10, 0,123,__LINE__, 0x3fdeb17d, 0x80000000, 0x3fcd70a3, 0xd70a3d96}, /* 0.47958=f(0.23000)*/
+{10, 0,123,__LINE__, 0x3fdf5a7c, 0xe0000000, 0x3fceb851, 0xeb851ede}, /* 0.48989=f(0.24000)*/
+{13, 0,123,__LINE__, 0x3fe00000, 0x00000000, 0x3fd00000, 0x00000013}, /* 0.50000=f(0.25000)*/
+{13, 0,123,__LINE__, 0x3fe0511d, 0xe0000000, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.50990=f(0.26000)*/
+{13, 0,123,__LINE__, 0x3fe0a0b0, 0x20000000, 0x3fd147ae, 0x147ae15b}, /* 0.51961=f(0.27000)*/
+{13, 0,123,__LINE__, 0x3fe0eecc, 0x80000000, 0x3fd1eb85, 0x1eb851ff}, /* 0.52915=f(0.28000)*/
+{12, 0,123,__LINE__, 0x3fe13b86, 0xe0000000, 0x3fd28f5c, 0x28f5c2a3}, /* 0.53851=f(0.29000)*/
+{12, 0,123,__LINE__, 0x3fe186f1, 0x80000000, 0x3fd33333, 0x33333347}, /* 0.54772=f(0.30000)*/
+{12, 0,123,__LINE__, 0x3fe1d11c, 0xe0000000, 0x3fd3d70a, 0x3d70a3eb}, /* 0.55677=f(0.31000)*/
+{12, 0,123,__LINE__, 0x3fe21a18, 0x40000000, 0x3fd47ae1, 0x47ae148f}, /* 0.56568=f(0.32000)*/
+{12, 0,123,__LINE__, 0x3fe261f2, 0x20000000, 0x3fd51eb8, 0x51eb8533}, /* 0.57445=f(0.33000)*/
+{12, 0,123,__LINE__, 0x3fe2a8b7, 0x40000000, 0x3fd5c28f, 0x5c28f5d7}, /* 0.58309=f(0.34000)*/
+{12, 0,123,__LINE__, 0x3fe2ee73, 0xe0000000, 0x3fd66666, 0x6666667b}, /* 0.59160=f(0.35000)*/
+{12, 0,123,__LINE__, 0x3fe33333, 0x40000000, 0x3fd70a3d, 0x70a3d71f}, /* 0.60000=f(0.36000)*/
+{12, 0,123,__LINE__, 0x3fe376ff, 0xc0000000, 0x3fd7ae14, 0x7ae147c3}, /* 0.60827=f(0.37000)*/
+{12, 0,123,__LINE__, 0x3fe3b9e3, 0x40000000, 0x3fd851eb, 0x851eb867}, /* 0.61644=f(0.38000)*/
+{12, 0,123,__LINE__, 0x3fe3fbe7, 0x00000000, 0x3fd8f5c2, 0x8f5c290b}, /* 0.62449=f(0.39000)*/
+{12, 0,123,__LINE__, 0x3fe43d13, 0x60000000, 0x3fd99999, 0x999999af}, /* 0.63245=f(0.40000)*/
+{12, 0,123,__LINE__, 0x3fe47d70, 0x80000000, 0x3fda3d70, 0xa3d70a53}, /* 0.64031=f(0.41000)*/
+{12, 0,123,__LINE__, 0x3fe4bd05, 0xc0000000, 0x3fdae147, 0xae147af7}, /* 0.64807=f(0.42000)*/
+{12, 0,123,__LINE__, 0x3fe4fbda, 0x80000000, 0x3fdb851e, 0xb851eb9b}, /* 0.65574=f(0.43000)*/
+{12, 0,123,__LINE__, 0x3fe539f5, 0x40000000, 0x3fdc28f5, 0xc28f5c3f}, /* 0.66332=f(0.44000)*/
+{12, 0,123,__LINE__, 0x3fe5775c, 0x40000000, 0x3fdccccc, 0xcccccce3}, /* 0.67082=f(0.45000)*/
+{12, 0,123,__LINE__, 0x3fe5b415, 0xc0000000, 0x3fdd70a3, 0xd70a3d87}, /* 0.67823=f(0.46000)*/
+{12, 0,123,__LINE__, 0x3fe5f027, 0x00000000, 0x3fde147a, 0xe147ae2b}, /* 0.68556=f(0.47000)*/
+{12, 0,123,__LINE__, 0x3fe62b95, 0x80000000, 0x3fdeb851, 0xeb851ecf}, /* 0.69282=f(0.48000)*/
+{12, 0,123,__LINE__, 0x3fe66666, 0x60000000, 0x3fdf5c28, 0xf5c28f73}, /* 0.69999=f(0.49000)*/
+{12, 0,123,__LINE__, 0x3fe6a09e, 0x60000000, 0x3fe00000, 0x0000000b}, /* 0.70710=f(0.50000)*/
+{12, 0,123,__LINE__, 0x3fe6da42, 0x20000000, 0x3fe051eb, 0x851eb85d}, /* 0.71414=f(0.51000)*/
+{12, 0,123,__LINE__, 0x3fe71355, 0xc0000000, 0x3fe0a3d7, 0x0a3d70af}, /* 0.72111=f(0.52000)*/
+{12, 0,123,__LINE__, 0x3fe74bdd, 0xa0000000, 0x3fe0f5c2, 0x8f5c2901}, /* 0.72801=f(0.53000)*/
+{12, 0,123,__LINE__, 0x3fe783dd, 0xc0000000, 0x3fe147ae, 0x147ae153}, /* 0.73484=f(0.54000)*/
+{12, 0,123,__LINE__, 0x3fe7bb59, 0xa0000000, 0x3fe19999, 0x999999a5}, /* 0.74161=f(0.55000)*/
+{12, 0,123,__LINE__, 0x3fe7f254, 0xe0000000, 0x3fe1eb85, 0x1eb851f7}, /* 0.74833=f(0.56000)*/
+{11, 0,123,__LINE__, 0x3fe828d3, 0x00000000, 0x3fe23d70, 0xa3d70a49}, /* 0.75498=f(0.57000)*/
+{11, 0,123,__LINE__, 0x3fe85ed7, 0x60000000, 0x3fe28f5c, 0x28f5c29b}, /* 0.76157=f(0.58000)*/
+{11, 0,123,__LINE__, 0x3fe89465, 0x00000000, 0x3fe2e147, 0xae147aed}, /* 0.76811=f(0.59000)*/
+{11, 0,123,__LINE__, 0x3fe8c97f, 0x00000000, 0x3fe33333, 0x3333333f}, /* 0.77459=f(0.60000)*/
+{11, 0,123,__LINE__, 0x3fe8fe28, 0x20000000, 0x3fe3851e, 0xb851eb91}, /* 0.78102=f(0.61000)*/
+{11, 0,123,__LINE__, 0x3fe93263, 0x20000000, 0x3fe3d70a, 0x3d70a3e3}, /* 0.78740=f(0.62000)*/
+{11, 0,123,__LINE__, 0x3fe96632, 0xc0000000, 0x3fe428f5, 0xc28f5c35}, /* 0.79372=f(0.63000)*/
+{11, 0,123,__LINE__, 0x3fe99999, 0xa0000000, 0x3fe47ae1, 0x47ae1487}, /* 0.80000=f(0.64000)*/
+{11, 0,123,__LINE__, 0x3fe9cc9a, 0x00000000, 0x3fe4cccc, 0xccccccd9}, /* 0.80622=f(0.65000)*/
+{11, 0,123,__LINE__, 0x3fe9ff36, 0x60000000, 0x3fe51eb8, 0x51eb852b}, /* 0.81240=f(0.66000)*/
+{11, 0,123,__LINE__, 0x3fea3170, 0xe0000000, 0x3fe570a3, 0xd70a3d7d}, /* 0.81853=f(0.67000)*/
+{11, 0,123,__LINE__, 0x3fea634b, 0xe0000000, 0x3fe5c28f, 0x5c28f5cf}, /* 0.82462=f(0.68000)*/
+{11, 0,123,__LINE__, 0x3fea94c9, 0x40000000, 0x3fe6147a, 0xe147ae21}, /* 0.83066=f(0.69000)*/
+{11, 0,123,__LINE__, 0x3feac5eb, 0x40000000, 0x3fe66666, 0x66666673}, /* 0.83666=f(0.70000)*/
+{11, 0,123,__LINE__, 0x3feaf6b3, 0xa0000000, 0x3fe6b851, 0xeb851ec5}, /* 0.84261=f(0.71000)*/
+{11, 0,123,__LINE__, 0x3feb2724, 0x80000000, 0x3fe70a3d, 0x70a3d717}, /* 0.84852=f(0.72000)*/
+{11, 0,123,__LINE__, 0x3feb573f, 0x80000000, 0x3fe75c28, 0xf5c28f69}, /* 0.85440=f(0.73000)*/
+{11, 0,123,__LINE__, 0x3feb8706, 0x60000000, 0x3fe7ae14, 0x7ae147bb}, /* 0.86023=f(0.74000)*/
+{11, 0,123,__LINE__, 0x3febb67a, 0xe0000000, 0x3fe80000, 0x0000000d}, /* 0.86602=f(0.75000)*/
+{11, 0,123,__LINE__, 0x3febe59e, 0xc0000000, 0x3fe851eb, 0x851eb85f}, /* 0.87177=f(0.76000)*/
+{11, 0,123,__LINE__, 0x3fec1473, 0x60000000, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.87749=f(0.77000)*/
+{11, 0,123,__LINE__, 0x3fec42fa, 0x80000000, 0x3fe8f5c2, 0x8f5c2903}, /* 0.88317=f(0.78000)*/
+{11, 0,123,__LINE__, 0x3fec7135, 0x80000000, 0x3fe947ae, 0x147ae155}, /* 0.88881=f(0.79000)*/
+{11, 0,123,__LINE__, 0x3fec9f25, 0xc0000000, 0x3fe99999, 0x999999a7}, /* 0.89442=f(0.80000)*/
+{11, 0,123,__LINE__, 0x3feccccc, 0xc0000000, 0x3fe9eb85, 0x1eb851f9}, /* 0.89999=f(0.81000)*/
+{11, 0,123,__LINE__, 0x3fecfa2b, 0xe0000000, 0x3fea3d70, 0xa3d70a4b}, /* 0.90553=f(0.82000)*/
+{11, 0,123,__LINE__, 0x3fed2744, 0x60000000, 0x3fea8f5c, 0x28f5c29d}, /* 0.91104=f(0.83000)*/
+{11, 0,123,__LINE__, 0x3fed5417, 0x80000000, 0x3feae147, 0xae147aef}, /* 0.91651=f(0.84000)*/
+{11, 0,123,__LINE__, 0x3fed80a6, 0xa0000000, 0x3feb3333, 0x33333341}, /* 0.92195=f(0.85000)*/
+{11, 0,123,__LINE__, 0x3fedacf2, 0xc0000000, 0x3feb851e, 0xb851eb93}, /* 0.92736=f(0.86000)*/
+{11, 0,123,__LINE__, 0x3fedd8fd, 0x20000000, 0x3febd70a, 0x3d70a3e5}, /* 0.93273=f(0.87000)*/
+{11, 0,123,__LINE__, 0x3fee04c7, 0x00000000, 0x3fec28f5, 0xc28f5c37}, /* 0.93808=f(0.88000)*/
+{11, 0,123,__LINE__, 0x3fee3051, 0x40000000, 0x3fec7ae1, 0x47ae1489}, /* 0.94339=f(0.89000)*/
+{11, 0,123,__LINE__, 0x3fee5b9d, 0x00000000, 0x3feccccc, 0xccccccdb}, /* 0.94868=f(0.90000)*/
+{11, 0,123,__LINE__, 0x3fee86ab, 0x80000000, 0x3fed1eb8, 0x51eb852d}, /* 0.95393=f(0.91000)*/
+{11, 0,123,__LINE__, 0x3feeb17d, 0x80000000, 0x3fed70a3, 0xd70a3d7f}, /* 0.95916=f(0.92000)*/
+{11, 0,123,__LINE__, 0x3feedc14, 0x20000000, 0x3fedc28f, 0x5c28f5d1}, /* 0.96436=f(0.93000)*/
+{11, 0,123,__LINE__, 0x3fef0670, 0x40000000, 0x3fee147a, 0xe147ae23}, /* 0.96953=f(0.94000)*/
+{11, 0,123,__LINE__, 0x3fef3092, 0xe0000000, 0x3fee6666, 0x66666675}, /* 0.97467=f(0.95000)*/
+{11, 0,123,__LINE__, 0x3fef5a7c, 0xe0000000, 0x3feeb851, 0xeb851ec7}, /* 0.97979=f(0.96000)*/
+{11, 0,123,__LINE__, 0x3fef842f, 0x40000000, 0x3fef0a3d, 0x70a3d719}, /* 0.98488=f(0.97000)*/
+{11, 0,123,__LINE__, 0x3fefadaa, 0xa0000000, 0x3fef5c28, 0xf5c28f6b}, /* 0.98994=f(0.98000)*/
+{11, 0,123,__LINE__, 0x3fefd6ef, 0xe0000000, 0x3fefae14, 0x7ae147bd}, /* 0.99498=f(0.99000)*/
+{13, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x3ff00000, 0x00000007}, /* 1.00000=f(1.00000)*/
+{13, 0,123,__LINE__, 0x3ff0146d, 0xe0000000, 0x3ff028f5, 0xc28f5c30}, /* 1.00498=f(1.01000)*/
+{13, 0,123,__LINE__, 0x3ff028c1, 0xe0000000, 0x3ff051eb, 0x851eb859}, /* 1.00995=f(1.02000)*/
+{13, 0,123,__LINE__, 0x3ff03cfc, 0x60000000, 0x3ff07ae1, 0x47ae1482}, /* 1.01488=f(1.03000)*/
+{13, 0,123,__LINE__, 0x3ff0511d, 0xe0000000, 0x3ff0a3d7, 0x0a3d70ab}, /* 1.01980=f(1.04000)*/
+{13, 0,123,__LINE__, 0x3ff06526, 0xa0000000, 0x3ff0cccc, 0xccccccd4}, /* 1.02469=f(1.05000)*/
+{13, 0,123,__LINE__, 0x3ff07917, 0x00000000, 0x3ff0f5c2, 0x8f5c28fd}, /* 1.02956=f(1.06000)*/
+{13, 0,123,__LINE__, 0x3ff08cef, 0x80000000, 0x3ff11eb8, 0x51eb8526}, /* 1.03440=f(1.07000)*/
+{13, 0,123,__LINE__, 0x3ff0a0b0, 0x20000000, 0x3ff147ae, 0x147ae14f}, /* 1.03923=f(1.08000)*/
+{13, 0,123,__LINE__, 0x3ff0b459, 0x80000000, 0x3ff170a3, 0xd70a3d78}, /* 1.04403=f(1.09000)*/
+{13, 0,123,__LINE__, 0x3ff0c7eb, 0xc0000000, 0x3ff19999, 0x999999a1}, /* 1.04880=f(1.10000)*/
+{13, 0,123,__LINE__, 0x3ff0db67, 0x60000000, 0x3ff1c28f, 0x5c28f5ca}, /* 1.05356=f(1.11000)*/
+{13, 0,123,__LINE__, 0x3ff0eecc, 0x80000000, 0x3ff1eb85, 0x1eb851f3}, /* 1.05830=f(1.12000)*/
+{12, 0,123,__LINE__, 0x3ff1021b, 0xa0000000, 0x3ff2147a, 0xe147ae1c}, /* 1.06301=f(1.13000)*/
+{12, 0,123,__LINE__, 0x3ff11554, 0xc0000000, 0x3ff23d70, 0xa3d70a45}, /* 1.06770=f(1.14000)*/
+{12, 0,123,__LINE__, 0x3ff12878, 0x80000000, 0x3ff26666, 0x6666666e}, /* 1.07238=f(1.15000)*/
+{12, 0,123,__LINE__, 0x3ff13b86, 0xe0000000, 0x3ff28f5c, 0x28f5c297}, /* 1.07703=f(1.16000)*/
+{12, 0,123,__LINE__, 0x3ff14e80, 0x60000000, 0x3ff2b851, 0xeb851ec0}, /* 1.08166=f(1.17000)*/
+{12, 0,123,__LINE__, 0x3ff16165, 0x20000000, 0x3ff2e147, 0xae147ae9}, /* 1.08627=f(1.18000)*/
+{12, 0,123,__LINE__, 0x3ff17435, 0x60000000, 0x3ff30a3d, 0x70a3d712}, /* 1.09087=f(1.19000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01921fb, 0x54442d18}, /* 64.0000=f(-6.28318)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* 64.0000=f(-4.71238)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc00921fb, 0x54442d18}, /* 64.0000=f(-3.14159)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff921fb, 0x54442d18}, /* 64.0000=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{12, 0,123,__LINE__, 0x3ff40d93, 0x20000000, 0x3ff921fb, 0x54442d18}, /* 1.25331=f(1.57079)*/
+{ 1, 0,123,__LINE__, 0x3ffc5bf8, 0xa0000000, 0x400921fb, 0x54442d18}, /* 1.77245=f(3.14159)*/
+{12, 0,123,__LINE__, 0x40015dce, 0x60000000, 0x4012d97c, 0x7f3321d2}, /* 2.17080=f(4.71238)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03e0000, 0x00000000}, /* 64.0000=f(-30.0000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* 64.0000=f(-28.3000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03a9999, 0x9999999a}, /* 64.0000=f(-26.6000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc038e666, 0x66666667}, /* 64.0000=f(-24.9000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0373333, 0x33333334}, /* 64.0000=f(-23.2000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0358000, 0x00000001}, /* 64.0000=f(-21.5000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc033cccc, 0xccccccce}, /* 64.0000=f(-19.8000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0321999, 0x9999999b}, /* 64.0000=f(-18.1000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0306666, 0x66666668}, /* 64.0000=f(-16.4000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02d6666, 0x6666666a}, /* 64.0000=f(-14.7000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02a0000, 0x00000004}, /* 64.0000=f(-13.0000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0269999, 0x9999999e}, /* 64.0000=f(-11.3000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0233333, 0x33333338}, /* 64.0000=f(-9.60000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01f9999, 0x999999a3}, /* 64.0000=f(-7.90000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* 64.0000=f(-6.20000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0120000, 0x00000009}, /* 64.0000=f(-4.50000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0066666, 0x66666678}, /* 64.0000=f(-2.80000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x999999bd}, /* 64.0000=f(-1.10000)*/
+{11, 0,123,__LINE__, 0x3fe8c97f, 0x00000000, 0x3fe33333, 0x333332ec}, /* 0.77459=f(0.60000)*/
+{ 1, 0,123,__LINE__, 0x3ff843e4, 0x40000000, 0x40026666, 0x66666654}, /* 1.51657=f(2.30000)*/
+{13, 0,123,__LINE__, 0x40000000, 0x00000000, 0x400fffff, 0xffffffee}, /* 2.00000=f(4.00000)*/
+{12, 0,123,__LINE__, 0x40031988, 0x60000000, 0x4016cccc, 0xccccccc4}, /* 2.38746=f(5.70000)*/
+{12, 0,123,__LINE__, 0x4005c329, 0xa0000000, 0x401d9999, 0x99999991}, /* 2.72029=f(7.40000)*/
+{11, 0,123,__LINE__, 0x4008220a, 0x00000000, 0x40223333, 0x3333332f}, /* 3.01662=f(9.10000)*/
+{11, 0,123,__LINE__, 0x400a4a6a, 0x40000000, 0x40259999, 0x99999995}, /* 3.28633=f(10.8000)*/
+{11, 0,123,__LINE__, 0x400c48c6, 0x00000000, 0x4028ffff, 0xfffffffb}, /* 3.53553=f(12.5000)*/
+{11, 0,123,__LINE__, 0x400e2574, 0x80000000, 0x402c6666, 0x66666661}, /* 3.76828=f(14.2000)*/
+{11, 0,123,__LINE__, 0x400fe65c, 0x20000000, 0x402fcccc, 0xccccccc7}, /* 3.98748=f(15.9000)*/
+{13, 0,123,__LINE__, 0x4010c7eb, 0xc0000000, 0x40319999, 0x99999997}, /* 4.19523=f(17.6000)*/
+{12, 0,123,__LINE__, 0x4011929c, 0xe0000000, 0x40334ccc, 0xccccccca}, /* 4.39317=f(19.3000)*/
+{12, 0,123,__LINE__, 0x4012548e, 0xc0000000, 0x4034ffff, 0xfffffffd}, /* 4.58257=f(21.0000)*/
+{12, 0,123,__LINE__, 0x40130ecc, 0x80000000, 0x4036b333, 0x33333330}, /* 4.76445=f(22.7000)*/
+{12, 0,123,__LINE__, 0x4013c22f, 0xe0000000, 0x40386666, 0x66666663}, /* 4.93963=f(24.4000)*/
+{12, 0,123,__LINE__, 0x40146f6d, 0x80000000, 0x403a1999, 0x99999996}, /* 5.10881=f(26.1000)*/
+{12, 0,123,__LINE__, 0x4015171c, 0xc0000000, 0x403bcccc, 0xccccccc9}, /* 5.27257=f(27.8000)*/
+{12, 0,123,__LINE__, 0x4015b9be, 0x60000000, 0x403d7fff, 0xfffffffc}, /* 5.43139=f(29.5000)*/
+0,};
+test_sqrtf(m) {run_vector_1(m,sqrtf_vec,(char *)(sqrtf),"sqrtf","ff"); }
diff --git a/newlib/libm/test/string.c b/newlib/libm/test/string.c
new file mode 100644
index 00000000000..c47047212f6
--- /dev/null
+++ b/newlib/libm/test/string.c
@@ -0,0 +1,556 @@
+#include "test.h"
+#include <string.h>
+#include <errno.h>
+
+
+_CONST char *it = "<UNSET>"; /* Routine name for message routines. */
+int errors = 0;
+
+/* Complain if condition is not true. */
+#define check(thing) checkit(thing, __LINE__)
+
+void
+_DEFUN(checkit,(ok,l),
+ int ok _AND
+ int l )
+
+{
+ newfunc(it);
+ line(l);
+
+ if (!ok)
+ {
+ printf("string.c:%d %s\n", l, it);
+ ++errors;
+ }
+}
+
+
+
+/* Complain if first two args don't strcmp as equal. */
+#define equal(a, b) funcqual(a,b,__LINE__);
+
+void
+_DEFUN(funcqual,(a,b,l),
+ char *a _AND
+ char *b _AND
+ int l)
+{
+ newfunc(it);
+
+ line(l);
+ if (a == NULL && b == NULL) return;
+ if (strcmp(a,b)) {
+ printf("string.c:%d (%s)\n", l, it);
+ }
+}
+
+
+
+static char one[50];
+static char two[50];
+
+
+void test_string()
+{
+ /* Test strcmp first because we use it to test other things. */
+ it = "strcmp";
+ check(strcmp("", "") == 0); /* Trivial case. */
+ check(strcmp("a", "a") == 0); /* Identity. */
+ check(strcmp("abc", "abc") == 0); /* Multicharacter. */
+ check(strcmp("abc", "abcd") < 0); /* Length mismatches. */
+ check(strcmp("abcd", "abc") > 0);
+ check(strcmp("abcd", "abce") < 0); /* Honest miscompares. */
+ check(strcmp("abce", "abcd") > 0);
+ check(strcmp("a\103", "a") > 0); /* Tricky if char signed. */
+ check(strcmp("a\103", "a\003") > 0);
+
+ /* Test strcpy next because we need it to set up other tests. */
+ it = "strcpy";
+ check(strcpy(one, "abcd") == one); /* Returned value. */
+ equal(one, "abcd"); /* Basic test. */
+
+ (void) strcpy(one, "x");
+ equal(one, "x"); /* Writeover. */
+ equal(one+2, "cd"); /* Wrote too much? */
+
+ (void) strcpy(two, "hi there");
+ (void) strcpy(one, two);
+ equal(one, "hi there"); /* Basic test encore. */
+ equal(two, "hi there"); /* Stomped on source? */
+
+ (void) strcpy(one, "");
+ equal(one, ""); /* Boundary condition. */
+
+ /* strcat. */
+ it = "strcat";
+ (void) strcpy(one, "ijk");
+ check(strcat(one, "lmn") == one); /* Returned value. */
+ equal(one, "ijklmn"); /* Basic test. */
+
+ (void) strcpy(one, "x");
+ (void) strcat(one, "yz");
+ equal(one, "xyz"); /* Writeover. */
+ equal(one+4, "mn"); /* Wrote too much? */
+
+ (void) strcpy(one, "gh");
+ (void) strcpy(two, "ef");
+ (void) strcat(one, two);
+ equal(one, "ghef"); /* Basic test encore. */
+ equal(two, "ef"); /* Stomped on source? */
+
+ (void) strcpy(one, "");
+ (void) strcat(one, "");
+ equal(one, ""); /* Boundary conditions. */
+ (void) strcpy(one, "ab");
+ (void) strcat(one, "");
+ equal(one, "ab");
+ (void) strcpy(one, "");
+ (void) strcat(one, "cd");
+ equal(one, "cd");
+
+ /* strncat - first test it as strcat, with big counts,
+ then test the count mechanism. */
+ it = "strncat";
+ (void) strcpy(one, "ijk");
+ check(strncat(one, "lmn", 99) == one); /* Returned value. */
+ equal(one, "ijklmn"); /* Basic test. */
+
+ (void) strcpy(one, "x");
+ (void) strncat(one, "yz", 99);
+ equal(one, "xyz"); /* Writeover. */
+ equal(one+4, "mn"); /* Wrote too much? */
+
+ (void) strcpy(one, "gh");
+ (void) strcpy(two, "ef");
+ (void) strncat(one, two, 99);
+ equal(one, "ghef"); /* Basic test encore. */
+ equal(two, "ef"); /* Stomped on source? */
+
+ (void) strcpy(one, "");
+ (void) strncat(one, "", 99);
+ equal(one, ""); /* Boundary conditions. */
+ (void) strcpy(one, "ab");
+ (void) strncat(one, "", 99);
+ equal(one, "ab");
+ (void) strcpy(one, "");
+ (void) strncat(one, "cd", 99);
+ equal(one, "cd");
+
+ (void) strcpy(one, "ab");
+ (void) strncat(one, "cdef", 2);
+ equal(one, "abcd"); /* Count-limited. */
+
+ (void) strncat(one, "gh", 0);
+ equal(one, "abcd"); /* Zero count. */
+
+ (void) strncat(one, "gh", 2);
+ equal(one, "abcdgh"); /* Count _AND length equal. */
+ it = "strncmp";
+ /* strncmp - first test as strcmp with big counts";*/
+ check(strncmp("", "", 99) == 0); /* Trivial case. */
+ check(strncmp("a", "a", 99) == 0); /* Identity. */
+ check(strncmp("abc", "abc", 99) == 0); /* Multicharacter. */
+ check(strncmp("abc", "abcd", 99) < 0); /* Length unequal. */
+ check(strncmp("abcd", "abc",99) > 0);
+ check(strncmp("abcd", "abce", 99) < 0); /* Honestly unequal. */
+ check(strncmp("abce", "abcd",99)>0);
+ check(strncmp("abce", "abcd", 3) == 0); /* Count limited. */
+ check(strncmp("abce", "abc", 3) == 0); /* Count == length. */
+ check(strncmp("abcd", "abce", 4) < 0); /* Nudging limit. */
+ check(strncmp("abc", "def", 0) == 0); /* Zero count. */
+
+ /* strncpy - testing is a bit different because of odd semantics. */
+ it = "strncpy";
+ check(strncpy(one, "abc", 4) == one); /* Returned value. */
+ equal(one, "abc"); /* Did the copy go right? */
+
+ (void) strcpy(one, "abcdefgh");
+ (void) strncpy(one, "xyz", 2);
+ equal(one, "xycdefgh"); /* Copy cut by count. */
+
+ (void) strcpy(one, "abcdefgh");
+ (void) strncpy(one, "xyz", 3); /* Copy cut just before NUL. */
+ equal(one, "xyzdefgh");
+
+ (void) strcpy(one, "abcdefgh");
+ (void) strncpy(one, "xyz", 4); /* Copy just includes NUL. */
+ equal(one, "xyz");
+ equal(one+4, "efgh"); /* Wrote too much? */
+
+ (void) strcpy(one, "abcdefgh");
+ (void) strncpy(one, "xyz", 5); /* Copy includes padding. */
+ equal(one, "xyz");
+ equal(one+4, "");
+ equal(one+5, "fgh");
+
+ (void) strcpy(one, "abc");
+ (void) strncpy(one, "xyz", 0); /* Zero-length copy. */
+ equal(one, "abc");
+
+ (void) strncpy(one, "", 2); /* Zero-length source. */
+ equal(one, "");
+ equal(one+1, "");
+ equal(one+2, "c");
+
+ (void) strcpy(one, "hi there");
+ (void) strncpy(two, one, 9);
+ equal(two, "hi there"); /* Just paranoia. */
+ equal(one, "hi there"); /* Stomped on source? */
+
+ /* strlen. */
+ it = "strlen";
+ check(strlen("") == 0); /* Empty. */
+ check(strlen("a") == 1); /* Single char. */
+ check(strlen("abcd") == 4); /* Multiple chars. */
+
+ /* strchr. */
+ it = "strchr";
+ check(strchr("abcd", 'z') == NULL); /* Not found. */
+ (void) strcpy(one, "abcd");
+ check(strchr(one, 'c') == one+2); /* Basic test. */
+ check(strchr(one, 'd') == one+3); /* End of string. */
+ check(strchr(one, 'a') == one); /* Beginning. */
+ check(strchr(one, '\0') == one+4); /* Finding NUL. */
+ (void) strcpy(one, "ababa");
+ check(strchr(one, 'b') == one+1); /* Finding first. */
+ (void) strcpy(one, "");
+ check(strchr(one, 'b') == NULL); /* Empty string. */
+ check(strchr(one, '\0') == one); /* NUL in empty string. */
+
+ /* index - just like strchr. */
+ it = "index";
+ check(index("abcd", 'z') == NULL); /* Not found. */
+ (void) strcpy(one, "abcd");
+ check(index(one, 'c') == one+2); /* Basic test. */
+ check(index(one, 'd') == one+3); /* End of string. */
+ check(index(one, 'a') == one); /* Beginning. */
+ check(index(one, '\0') == one+4); /* Finding NUL. */
+ (void) strcpy(one, "ababa");
+ check(index(one, 'b') == one+1); /* Finding first. */
+ (void) strcpy(one, "");
+ check(index(one, 'b') == NULL); /* Empty string. */
+ check(index(one, '\0') == one); /* NUL in empty string. */
+
+ /* strrchr. */
+ it = "strrchr";
+ check(strrchr("abcd", 'z') == NULL); /* Not found. */
+ (void) strcpy(one, "abcd");
+ check(strrchr(one, 'c') == one+2); /* Basic test. */
+ check(strrchr(one, 'd') == one+3); /* End of string. */
+ check(strrchr(one, 'a') == one); /* Beginning. */
+ check(strrchr(one, '\0') == one+4); /* Finding NUL. */
+ (void) strcpy(one, "ababa");
+ check(strrchr(one, 'b') == one+3); /* Finding last. */
+ (void) strcpy(one, "");
+ check(strrchr(one, 'b') == NULL); /* Empty string. */
+ check(strrchr(one, '\0') == one); /* NUL in empty string. */
+
+ /* rindex - just like strrchr. */
+ it = "rindex";
+ check(rindex("abcd", 'z') == NULL); /* Not found. */
+ (void) strcpy(one, "abcd");
+ check(rindex(one, 'c') == one+2); /* Basic test. */
+ check(rindex(one, 'd') == one+3); /* End of string. */
+ check(rindex(one, 'a') == one); /* Beginning. */
+ check(rindex(one, '\0') == one+4); /* Finding NUL. */
+ (void) strcpy(one, "ababa");
+ check(rindex(one, 'b') == one+3); /* Finding last. */
+ (void) strcpy(one, "");
+ check(rindex(one, 'b') == NULL); /* Empty string. */
+ check(rindex(one, '\0') == one); /* NUL in empty string. */
+
+ /* strpbrk - somewhat like strchr. */
+ it = "strpbrk";
+ check(strpbrk("abcd", "z") == NULL); /* Not found. */
+ (void) strcpy(one, "abcd");
+ check(strpbrk(one, "c") == one+2); /* Basic test. */
+ check(strpbrk(one, "d") == one+3); /* End of string. */
+ check(strpbrk(one, "a") == one); /* Beginning. */
+ check(strpbrk(one, "") == NULL); /* Empty search list. */
+ check(strpbrk(one, "cb") == one+1); /* Multiple search. */
+ (void) strcpy(one, "abcabdea");
+ check(strpbrk(one, "b") == one+1); /* Finding first. */
+ check(strpbrk(one, "cb") == one+1); /* With multiple search. */
+ check(strpbrk(one, "db") == one+1); /* Another variant. */
+ (void) strcpy(one, "");
+ check(strpbrk(one, "bc") == NULL); /* Empty string. */
+ check(strpbrk(one, "") == NULL); /* Both strings empty. */
+
+ /* strstr - somewhat like strchr. */
+ it = "strstr";
+ check(strstr("z", "abcd") == NULL); /* Not found. */
+ check(strstr("abx", "abcd") == NULL); /* Dead end. */
+ (void) strcpy(one, "abcd");
+ check(strstr(one,"c") == one+2); /* Basic test. */
+ check(strstr(one, "bc") == one+1); /* Multichar. */
+ check(strstr(one,"d") == one+3); /* End of string. */
+ check(strstr(one,"cd") == one+2); /* Tail of string. */
+ check(strstr(one,"abc") == one); /* Beginning. */
+ check(strstr(one,"abcd") == one); /* Exact match. */
+ check(strstr(one,"de") == NULL); /* Past end. */
+ check(strstr(one,"") == one); /* Finding empty. */
+ (void) strcpy(one, "ababa");
+ check(strstr(one,"ba") == one+1); /* Finding first. */
+ (void) strcpy(one, "");
+ check(strstr(one, "b") == NULL); /* Empty string. */
+ check(strstr(one,"") == one); /* Empty in empty string. */
+ (void) strcpy(one, "bcbca");
+ check(strstr(one,"bca") == one+2); /* False start. */
+ (void) strcpy(one, "bbbcabbca");
+ check(strstr(one,"bbca") == one+1); /* With overlap. */
+
+ /* strspn. */
+ it = "strspn";
+ check(strspn("abcba", "abc") == 5); /* Whole string. */
+ check(strspn("abcba", "ab") == 2); /* Partial. */
+ check(strspn("abc", "qx") == 0); /* None. */
+ check(strspn("", "ab") == 0); /* Null string. */
+ check(strspn("abc", "") == 0); /* Null search list. */
+
+ /* strcspn. */
+ it = "strcspn";
+ check(strcspn("abcba", "qx") == 5); /* Whole string. */
+ check(strcspn("abcba", "cx") == 2); /* Partial. */
+ check(strcspn("abc", "abc") == 0); /* None. */
+ check(strcspn("", "ab") == 0); /* Null string. */
+ check(strcspn("abc", "") == 3); /* Null search list. */
+
+ /* strtok - the hard one. */
+ it = "strtok";
+ (void) strcpy(one, "first, second, third");
+ equal(strtok(one, ", "), "first"); /* Basic test. */
+ equal(one, "first");
+ equal(strtok((char *)NULL, ", "), "second");
+ equal(strtok((char *)NULL, ", "), "third");
+ check(strtok((char *)NULL, ", ") == NULL);
+ (void) strcpy(one, ", first, ");
+ equal(strtok(one, ", "), "first"); /* Extra delims, 1 tok. */
+ check(strtok((char *)NULL, ", ") == NULL);
+ (void) strcpy(one, "1a, 1b; 2a, 2b");
+ equal(strtok(one, ", "), "1a"); /* Changing delim lists. */
+ equal(strtok((char *)NULL, "; "), "1b");
+ equal(strtok((char *)NULL, ", "), "2a");
+ (void) strcpy(two, "x-y");
+ equal(strtok(two, "-"), "x"); /* New string before done. */
+ equal(strtok((char *)NULL, "-"), "y");
+ check(strtok((char *)NULL, "-") == NULL);
+ (void) strcpy(one, "a,b, c,, ,d");
+ equal(strtok(one, ", "), "a"); /* Different separators. */
+ equal(strtok((char *)NULL, ", "), "b");
+ equal(strtok((char *)NULL, " ,"), "c"); /* Permute list too. */
+ equal(strtok((char *)NULL, " ,"), "d");
+ check(strtok((char *)NULL, ", ") == NULL);
+ check(strtok((char *)NULL, ", ") == NULL); /* Persistence. */
+ (void) strcpy(one, ", ");
+ check(strtok(one, ", ") == NULL); /* No tokens. */
+ (void) strcpy(one, "");
+ check(strtok(one, ", ") == NULL); /* Empty string. */
+ (void) strcpy(one, "abc");
+ equal(strtok(one, ", "), "abc"); /* No delimiters. */
+ check(strtok((char *)NULL, ", ") == NULL);
+ (void) strcpy(one, "abc");
+ equal(strtok(one, ""), "abc"); /* Empty delimiter list. */
+ check(strtok((char *)NULL, "") == NULL);
+ (void) strcpy(one, "abcdefgh");
+ (void) strcpy(one, "a,b,c");
+ equal(strtok(one, ","), "a"); /* Basics again... */
+ equal(strtok((char *)NULL, ","), "b");
+ equal(strtok((char *)NULL, ","), "c");
+ check(strtok((char *)NULL, ",") == NULL);
+ equal(one+6, "gh"); /* Stomped past end? */
+ equal(one, "a"); /* Stomped old tokens? */
+ equal(one+2, "b");
+ equal(one+4, "c");
+
+ /* memcmp. */
+ it = "memcmp";
+ check(memcmp("a", "a", 1) == 0); /* Identity. */
+ check(memcmp("abc", "abc", 3) == 0); /* Multicharacter. */
+ check(memcmp("abcd", "abce", 4) < 0); /* Honestly unequal. */
+ check(memcmp("abce", "abcd",4));
+ check(memcmp("alph", "beta", 4) < 0);
+ check(memcmp("abce", "abcd", 3) == 0); /* Count limited. */
+ check(memcmp("abc", "def", 0) == 0); /* Zero count. */
+
+ /* memcmp should test strings as unsigned */
+ one[0] = 0xfe;
+ two[0] = 0x03;
+ check(memcmp(one, two,1) > 0);
+
+
+ /* memchr. */
+ it = "memchr";
+ check(memchr("abcd", 'z', 4) == NULL); /* Not found. */
+ (void) strcpy(one, "abcd");
+ check(memchr(one, 'c', 4) == one+2); /* Basic test. */
+ check(memchr(one, 'd', 4) == one+3); /* End of string. */
+ check(memchr(one, 'a', 4) == one); /* Beginning. */
+ check(memchr(one, '\0', 5) == one+4); /* Finding NUL. */
+ (void) strcpy(one, "ababa");
+ check(memchr(one, 'b', 5) == one+1); /* Finding first. */
+ check(memchr(one, 'b', 0) == NULL); /* Zero count. */
+ check(memchr(one, 'a', 1) == one); /* Singleton case. */
+ (void) strcpy(one, "a\203b");
+ check(memchr(one, 0203, 3) == one+1); /* Unsignedness. */
+
+ /* memcpy - need not work for overlap. */
+ it = "memcpy";
+ check(memcpy(one, "abc", 4) == one); /* Returned value. */
+ equal(one, "abc"); /* Did the copy go right? */
+
+ (void) strcpy(one, "abcdefgh");
+ (void) memcpy(one+1, "xyz", 2);
+ equal(one, "axydefgh"); /* Basic test. */
+
+ (void) strcpy(one, "abc");
+ (void) memcpy(one, "xyz", 0);
+ equal(one, "abc"); /* Zero-length copy. */
+
+ (void) strcpy(one, "hi there");
+ (void) strcpy(two, "foo");
+ (void) memcpy(two, one, 9);
+ equal(two, "hi there"); /* Just paranoia. */
+ equal(one, "hi there"); /* Stomped on source? */
+#if 0
+ /* memmove - must work on overlap. */
+ it = "memmove";
+ check(memmove(one, "abc", 4) == one); /* Returned value. */
+ equal(one, "abc"); /* Did the copy go right? */
+
+ (void) strcpy(one, "abcdefgh");
+ (void) memmove(one+1, "xyz", 2);
+ equal(one, "axydefgh"); /* Basic test. */
+
+ (void) strcpy(one, "abc");
+ (void) memmove(one, "xyz", 0);
+ equal(one, "abc"); /* Zero-length copy. */
+
+ (void) strcpy(one, "hi there");
+ (void) strcpy(two, "foo");
+ (void) memmove(two, one, 9);
+ equal(two, "hi there"); /* Just paranoia. */
+ equal(one, "hi there"); /* Stomped on source? */
+
+ (void) strcpy(one, "abcdefgh");
+ (void) memmove(one+1, one, 9);
+ equal(one, "aabcdefgh"); /* Overlap, right-to-left. */
+
+ (void) strcpy(one, "abcdefgh");
+ (void) memmove(one+1, one+2, 7);
+ equal(one, "acdefgh"); /* Overlap, left-to-right. */
+
+ (void) strcpy(one, "abcdefgh");
+ (void) memmove(one, one, 9);
+ equal(one, "abcdefgh"); /* 100% overlap. */
+#endif
+#if 0
+ /* memccpy - first test like memcpy, then the search part
+ The SVID, the only place where memccpy is mentioned, says
+ overlap might fail, so we don't try it. Besides, it's hard
+ to see the rationale for a non-left-to-right memccpy. */
+ it = "memccpy";
+ check(memccpy(one, "abc", 'q', 4) == NULL); /* Returned value. */
+ equal(one, "abc"); /* Did the copy go right? */
+
+ (void) strcpy(one, "abcdefgh");
+ (void) memccpy(one+1, "xyz", 'q', 2);
+ equal(one, "axydefgh"); /* Basic test. */
+
+ (void) strcpy(one, "abc");
+ (void) memccpy(one, "xyz", 'q', 0);
+ equal(one, "abc"); /* Zero-length copy. */
+
+ (void) strcpy(one, "hi there");
+ (void) strcpy(two, "foo");
+ (void) memccpy(two, one, 'q', 9);
+ equal(two, "hi there"); /* Just paranoia. */
+ equal(one, "hi there"); /* Stomped on source? */
+
+ (void) strcpy(one, "abcdefgh");
+ (void) strcpy(two, "horsefeathers");
+ check(memccpy(two, one, 'f', 9) == two+6); /* Returned value. */
+ equal(one, "abcdefgh"); /* Source intact? */
+ equal(two, "abcdefeathers"); /* Copy correct? */
+
+ (void) strcpy(one, "abcd");
+ (void) strcpy(two, "bumblebee");
+ check(memccpy(two, one, 'a', 4) == two+1); /* First char. */
+ equal(two, "aumblebee");
+ check(memccpy(two, one, 'd', 4) == two+4); /* Last char. */
+ equal(two, "abcdlebee");
+ (void) strcpy(one, "xyz");
+ check(memccpy(two, one, 'x', 1) == two+1); /* Singleton. */
+ equal(two, "xbcdlebee");
+#endif
+ /* memset. */
+ it = "memset";
+ (void) strcpy(one, "abcdefgh");
+ check(memset(one+1, 'x', 3) == one+1); /* Return value. */
+ equal(one, "axxxefgh"); /* Basic test. */
+
+ (void) memset(one+2, 'y', 0);
+ equal(one, "axxxefgh"); /* Zero-length set. */
+
+ (void) memset(one+5, 0, 1);
+ equal(one, "axxxe"); /* Zero fill. */
+ equal(one+6, "gh"); /* _AND the leftover. */
+
+ (void) memset(one+2, 010045, 1);
+ equal(one, "ax\045xe"); /* Unsigned char convert. */
+
+ /* bcopy - much like memcpy.
+ Berklix manual is silent about overlap, so don't test it. */
+ it = "bcopy";
+ (void) bcopy("abc", one, 4);
+ equal(one, "abc"); /* Simple copy. */
+
+ (void) strcpy(one, "abcdefgh");
+ (void) bcopy("xyz", one+1, 2);
+ equal(one, "axydefgh"); /* Basic test. */
+
+ (void) strcpy(one, "abc");
+ (void) bcopy("xyz", one, 0);
+ equal(one, "abc"); /* Zero-length copy. */
+
+ (void) strcpy(one, "hi there");
+ (void) strcpy(two, "foo");
+ (void) bcopy(one, two, 9);
+ equal(two, "hi there"); /* Just paranoia. */
+ equal(one, "hi there"); /* Stomped on source? */
+
+ /* bzero. */
+ it = "bzero";
+ (void) strcpy(one, "abcdef");
+ bzero(one+2, 2);
+ equal(one, "ab"); /* Basic test. */
+ equal(one+3, "");
+ equal(one+4, "ef");
+
+ (void) strcpy(one, "abcdef");
+ bzero(one+2, 0);
+ equal(one, "abcdef"); /* Zero-length copy. */
+
+ /* bcmp - somewhat like memcmp. */
+ it = "bcmp";
+ check(bcmp("a", "a", 1) == 0); /* Identity. */
+ check(bcmp("abc", "abc", 3) == 0); /* Multicharacter. */
+ check(bcmp("abcd", "abce", 4) != 0); /* Honestly unequal. */
+ check(bcmp("abce", "abcd",4));
+ check(bcmp("alph", "beta", 4) != 0);
+ check(bcmp("abce", "abcd", 3) == 0); /* Count limited. */
+ check(bcmp("abc", "def", 0) == 0); /* Zero count. */
+
+#if 0 /* strerror - VERY system-dependent. */
+{
+ extern CONST unsigned int _sys_nerr;
+ extern CONST char *CONST _sys_errlist[];
+ int f;
+ it = "strerror";
+ f = open("/", O_WRONLY); /* Should always fail. */
+ check(f < 0 && errno > 0 && errno < _sys_nerr);
+ equal(strerror(errno), _sys_errlist[errno]);
+}
+#endif
+}
+
diff --git a/newlib/libm/test/tan_vec.c b/newlib/libm/test/tan_vec.c
new file mode 100644
index 00000000000..eb76cb56231
--- /dev/null
+++ b/newlib/libm/test/tan_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type tan_vec[] = {
+{64, 0,123,__LINE__, 0xc00493c4, 0x3acb164c, 0xbff33333, 0x33333333}, /* -2.57215=f(-1.20000)*/
+{63, 0,123,__LINE__, 0xc003fbb2, 0xac8d6e09, 0xbff30a3d, 0x70a3d70a}, /* -2.49789=f(-1.19000)*/
+{63, 0,123,__LINE__, 0xc0036b0a, 0xa04728b5, 0xbff2e147, 0xae147ae1}, /* -2.42726=f(-1.18000)*/
+{64, 0,123,__LINE__, 0xc002e13d, 0xc4352012, 0xbff2b851, 0xeb851eb8}, /* -2.35998=f(-1.17000)*/
+{64, 0,123,__LINE__, 0xc0025dcb, 0xa00cf2d1, 0xbff28f5c, 0x28f5c28f}, /* -2.29579=f(-1.16000)*/
+{64, 0,123,__LINE__, 0xc001e03f, 0xefaf53c9, 0xbff26666, 0x66666666}, /* -2.23449=f(-1.15000)*/
+{64, 0,123,__LINE__, 0xc0016831, 0x3887b2e3, 0xbff23d70, 0xa3d70a3d}, /* -2.17587=f(-1.14000)*/
+{64, 0,123,__LINE__, 0xc000f53f, 0x9047cd43, 0xbff2147a, 0xe147ae14}, /* -2.11975=f(-1.13000)*/
+{64, 0,123,__LINE__, 0xc0008713, 0x8d550701, 0xbff1eb85, 0x1eb851eb}, /* -2.06595=f(-1.12000)*/
+{64, 0,123,__LINE__, 0xc0001d5d, 0x5a921689, 0xbff1c28f, 0x5c28f5c2}, /* -2.01433=f(-1.11000)*/
+{64, 0,123,__LINE__, 0xbfff6fa7, 0xd286214a, 0xbff19999, 0x99999999}, /* -1.96476=f(-1.10000)*/
+{64, 0,123,__LINE__, 0xbffeac68, 0x7953b03b, 0xbff170a3, 0xd70a3d70}, /* -1.91709=f(-1.09000)*/
+{64, 0,123,__LINE__, 0xbffdf081, 0x975fac4d, 0xbff147ae, 0x147ae147}, /* -1.87121=f(-1.08000)*/
+{64, 0,123,__LINE__, 0xbffd3b81, 0xeb0fcaad, 0xbff11eb8, 0x51eb851e}, /* -1.82702=f(-1.07000)*/
+{64, 0,123,__LINE__, 0xbffc8d01, 0x0d5ddd8b, 0xbff0f5c2, 0x8f5c28f5}, /* -1.78442=f(-1.06000)*/
+{64, 0,123,__LINE__, 0xbffbe49e, 0x982fe6aa, 0xbff0cccc, 0xcccccccc}, /* -1.74331=f(-1.05000)*/
+{64, 0,123,__LINE__, 0xbffb4201, 0x654a4047, 0xbff0a3d7, 0x0a3d70a3}, /* -1.70361=f(-1.04000)*/
+{64, 0,123,__LINE__, 0xbffaa4d6, 0xe2aca2f8, 0xbff07ae1, 0x47ae147a}, /* -1.66524=f(-1.03000)*/
+{64, 0,123,__LINE__, 0xbffa0cd2, 0x79a136ed, 0xbff051eb, 0x851eb851}, /* -1.62813=f(-1.02000)*/
+{64, 0,123,__LINE__, 0xbff979ad, 0x06284697, 0xbff028f5, 0xc28f5c28}, /* -1.59220=f(-1.01000)*/
+{63, 0,123,__LINE__, 0xbff8eb24, 0x5cbee3a1, 0xbfefffff, 0xfffffffe}, /* -1.55740=f(-0.01000)*/
+{58, 0,123,__LINE__, 0xbff860fa, 0xdcc59060, 0xbfefae14, 0x7ae147ac}, /* -1.52367=f(-0.99000)*/
+{64, 0,123,__LINE__, 0xbff7daf7, 0x0e07fa59, 0xbfef5c28, 0xf5c28f5a}, /* -1.49095=f(-0.98000)*/
+{62, 0,123,__LINE__, 0xbff758e3, 0x4819d01a, 0xbfef0a3d, 0x70a3d708}, /* -1.45920=f(-0.97000)*/
+{64, 0,123,__LINE__, 0xbff6da8d, 0x62683760, 0xbfeeb851, 0xeb851eb6}, /* -1.42835=f(-0.96000)*/
+{64, 0,123,__LINE__, 0xbff65fc6, 0x6c04955b, 0xbfee6666, 0x66666664}, /* -1.39838=f(-0.95000)*/
+{62, 0,123,__LINE__, 0xbff5e862, 0x6a4d39ca, 0xbfee147a, 0xe147ae12}, /* -1.36923=f(-0.94000)*/
+{63, 0,123,__LINE__, 0xbff57438, 0x1db3e2ff, 0xbfedc28f, 0x5c28f5c0}, /* -1.34087=f(-0.93000)*/
+{64, 0,123,__LINE__, 0xbff50320, 0xcbf9abc7, 0xbfed70a3, 0xd70a3d6e}, /* -1.31326=f(-0.92000)*/
+{63, 0,123,__LINE__, 0xbff494f8, 0x0f4c58a1, 0xbfed1eb8, 0x51eb851c}, /* -1.28636=f(-0.91000)*/
+{64, 0,123,__LINE__, 0xbff4299b, 0xa9c2a134, 0xbfeccccc, 0xccccccca}, /* -1.26015=f(-0.90000)*/
+{63, 0,123,__LINE__, 0xbff3c0eb, 0x5cc4656d, 0xbfec7ae1, 0x47ae1478}, /* -1.23459=f(-0.89000)*/
+{61, 0,123,__LINE__, 0xbff35ac8, 0xc3f910bc, 0xbfec28f5, 0xc28f5c26}, /* -1.20966=f(-0.88000)*/
+{60, 0,123,__LINE__, 0xbff2f717, 0x33620b29, 0xbfebd70a, 0x3d70a3d4}, /* -1.18532=f(-0.87000)*/
+{63, 0,123,__LINE__, 0xbff295bb, 0x98513ca9, 0xbfeb851e, 0xb851eb82}, /* -1.16155=f(-0.86000)*/
+{64, 0,123,__LINE__, 0xbff2369c, 0x5cf4878a, 0xbfeb3333, 0x33333330}, /* -1.13833=f(-0.85000)*/
+{62, 0,123,__LINE__, 0xbff1d9a1, 0x4e36e752, 0xbfeae147, 0xae147ade}, /* -1.11563=f(-0.84000)*/
+{62, 0,123,__LINE__, 0xbff17eb3, 0x83beb82e, 0xbfea8f5c, 0x28f5c28c}, /* -1.09343=f(-0.83000)*/
+{64, 0,123,__LINE__, 0xbff125bd, 0x49d6af66, 0xbfea3d70, 0xa3d70a3a}, /* -1.07171=f(-0.82000)*/
+{63, 0,123,__LINE__, 0xbff0ceaa, 0x0d145bf5, 0xbfe9eb85, 0x1eb851e8}, /* -1.05045=f(-0.81000)*/
+{63, 0,123,__LINE__, 0xbff07966, 0x4793b607, 0xbfe99999, 0x99999996}, /* -1.02963=f(-0.80000)*/
+{64, 0,123,__LINE__, 0xbff025df, 0x6fa369bb, 0xbfe947ae, 0x147ae144}, /* -1.00924=f(-0.79000)*/
+{62, 0,123,__LINE__, 0xbfefa807, 0xcf826c3d, 0xbfe8f5c2, 0x8f5c28f2}, /* -0.98926=f(-0.78000)*/
+{64, 0,123,__LINE__, 0xbfef0785, 0xdf91f899, 0xbfe8a3d7, 0x0a3d70a0}, /* -0.96966=f(-0.77000)*/
+{62, 0,123,__LINE__, 0xbfee6a19, 0x2e7801f1, 0xbfe851eb, 0x851eb84e}, /* -0.95045=f(-0.76000)*/
+{62, 0,123,__LINE__, 0xbfedcfa3, 0x6110eee5, 0xbfe7ffff, 0xfffffffc}, /* -0.93159=f(-0.75000)*/
+{61, 0,123,__LINE__, 0xbfed3807, 0x8a7774ea, 0xbfe7ae14, 0x7ae147aa}, /* -0.91308=f(-0.74000)*/
+{64, 0,123,__LINE__, 0xbfeca32a, 0x16174ae8, 0xbfe75c28, 0xf5c28f58}, /* -0.89491=f(-0.73000)*/
+{64, 0,123,__LINE__, 0xbfec10f0, 0xb34aae96, 0xbfe70a3d, 0x70a3d706}, /* -0.87706=f(-0.72000)*/
+{62, 0,123,__LINE__, 0xbfeb8142, 0x426299ed, 0xbfe6b851, 0xeb851eb4}, /* -0.85952=f(-0.71000)*/
+{60, 0,123,__LINE__, 0xbfeaf406, 0xc2fc78a7, 0xbfe66666, 0x66666662}, /* -0.84228=f(-0.70000)*/
+{64, 0,123,__LINE__, 0xbfea6927, 0x438ad4c2, 0xbfe6147a, 0xe147ae10}, /* -0.82533=f(-0.69000)*/
+{64, 0,123,__LINE__, 0xbfe9e08d, 0xd1f8d28c, 0xbfe5c28f, 0x5c28f5be}, /* -0.80866=f(-0.68000)*/
+{64, 0,123,__LINE__, 0xbfe95a25, 0x6d52797a, 0xbfe570a3, 0xd70a3d6c}, /* -0.79225=f(-0.67000)*/
+{64, 0,123,__LINE__, 0xbfe8d5d9, 0xf85db5f5, 0xbfe51eb8, 0x51eb851a}, /* -0.77610=f(-0.66000)*/
+{64, 0,123,__LINE__, 0xbfe85398, 0x2d11be31, 0xbfe4cccc, 0xccccccc8}, /* -0.76020=f(-0.65000)*/
+{64, 0,123,__LINE__, 0xbfe7d34d, 0x90dc178c, 0xbfe47ae1, 0x47ae1476}, /* -0.74454=f(-0.64000)*/
+{64, 0,123,__LINE__, 0xbfe754e8, 0x69a3e63a, 0xbfe428f5, 0xc28f5c24}, /* -0.72911=f(-0.63000)*/
+{64, 0,123,__LINE__, 0xbfe6d857, 0xb37d7b1e, 0xbfe3d70a, 0x3d70a3d2}, /* -0.71390=f(-0.62000)*/
+{64, 0,123,__LINE__, 0xbfe65d8b, 0x17013ed4, 0xbfe3851e, 0xb851eb80}, /* -0.69891=f(-0.61000)*/
+{64, 0,123,__LINE__, 0xbfe5e472, 0xe03a2805, 0xbfe33333, 0x3333332e}, /* -0.68413=f(-0.60000)*/
+{64, 0,123,__LINE__, 0xbfe56cff, 0xf620e1f3, 0xbfe2e147, 0xae147adc}, /* -0.66955=f(-0.59000)*/
+{64, 0,123,__LINE__, 0xbfe4f723, 0xd299a7be, 0xbfe28f5c, 0x28f5c28a}, /* -0.65516=f(-0.58000)*/
+{64, 0,123,__LINE__, 0xbfe482d0, 0x7aeba509, 0xbfe23d70, 0xa3d70a38}, /* -0.64096=f(-0.57000)*/
+{63, 0,123,__LINE__, 0xbfe40ff8, 0x78a96652, 0xbfe1eb85, 0x1eb851e6}, /* -0.62694=f(-0.56000)*/
+{64, 0,123,__LINE__, 0xbfe39e8e, 0xd3028c71, 0xbfe19999, 0x99999994}, /* -0.61310=f(-0.55000)*/
+{64, 0,123,__LINE__, 0xbfe32e87, 0x0877915c, 0xbfe147ae, 0x147ae142}, /* -0.59942=f(-0.54000)*/
+{64, 0,123,__LINE__, 0xbfe2bfd5, 0x08e8f96f, 0xbfe0f5c2, 0x8f5c28f0}, /* -0.58591=f(-0.53000)*/
+{64, 0,123,__LINE__, 0xbfe2526d, 0x2ffbcd57, 0xbfe0a3d7, 0x0a3d709e}, /* -0.57256=f(-0.52000)*/
+{64, 0,123,__LINE__, 0xbfe1e644, 0x3fcdaee5, 0xbfe051eb, 0x851eb84c}, /* -0.55935=f(-0.51000)*/
+{64, 0,123,__LINE__, 0xbfe17b4f, 0x5bf34743, 0xbfdfffff, 0xfffffff4}, /* -0.54630=f(-0.50000)*/
+{64, 0,123,__LINE__, 0xbfe11184, 0x04bc2fcf, 0xbfdf5c28, 0xf5c28f50}, /* -0.53338=f(-0.49000)*/
+{64, 0,123,__LINE__, 0xbfe0a8d8, 0x12b7d223, 0xbfdeb851, 0xeb851eac}, /* -0.52061=f(-0.48000)*/
+{64, 0,123,__LINE__, 0xbfe04141, 0xb2770eea, 0xbfde147a, 0xe147ae08}, /* -0.50796=f(-0.47000)*/
+{64, 0,123,__LINE__, 0xbfdfb56e, 0xc10d900b, 0xbfdd70a3, 0xd70a3d64}, /* -0.49544=f(-0.46000)*/
+{64, 0,123,__LINE__, 0xbfdeea5f, 0xcb3f61a3, 0xbfdccccc, 0xccccccc0}, /* -0.48305=f(-0.45000)*/
+{64, 0,123,__LINE__, 0xbfde2144, 0xa61010ac, 0xbfdc28f5, 0xc28f5c1c}, /* -0.47078=f(-0.44000)*/
+{60, 0,123,__LINE__, 0xbfdd5a0b, 0xfe483966, 0xbfdb851e, 0xb851eb78}, /* -0.45862=f(-0.43000)*/
+{64, 0,123,__LINE__, 0xbfdc94a5, 0x04655ca0, 0xbfdae147, 0xae147ad4}, /* -0.44657=f(-0.42000)*/
+{64, 0,123,__LINE__, 0xbfdbd0ff, 0x6664f780, 0xbfda3d70, 0xa3d70a30}, /* -0.43463=f(-0.41000)*/
+{64, 0,123,__LINE__, 0xbfdb0f0b, 0x49dcdcc8, 0xbfd99999, 0x9999998c}, /* -0.42279=f(-0.40000)*/
+{64, 0,123,__LINE__, 0xbfda4eb9, 0x465c156f, 0xbfd8f5c2, 0x8f5c28e8}, /* -0.41105=f(-0.39000)*/
+{64, 0,123,__LINE__, 0xbfd98ffa, 0x600fde98, 0xbfd851eb, 0x851eb844}, /* -0.39941=f(-0.38000)*/
+{64, 0,123,__LINE__, 0xbfd8d2c0, 0x02a8a451, 0xbfd7ae14, 0x7ae147a0}, /* -0.38786=f(-0.37000)*/
+{64, 0,123,__LINE__, 0xbfd816fb, 0xfc7b1cf2, 0xbfd70a3d, 0x70a3d6fc}, /* -0.37640=f(-0.36000)*/
+{64, 0,123,__LINE__, 0xbfd75ca0, 0x79d9e7d4, 0xbfd66666, 0x66666658}, /* -0.36502=f(-0.35000)*/
+{64, 0,123,__LINE__, 0xbfd6a3a0, 0x00a44c7b, 0xbfd5c28f, 0x5c28f5b4}, /* -0.35373=f(-0.34000)*/
+{64, 0,123,__LINE__, 0xbfd5ebed, 0x6c06ed80, 0xbfd51eb8, 0x51eb8510}, /* -0.34252=f(-0.33000)*/
+{64, 0,123,__LINE__, 0xbfd5357b, 0xe86b7455, 0xbfd47ae1, 0x47ae146c}, /* -0.33138=f(-0.32000)*/
+{64, 0,123,__LINE__, 0xbfd4803e, 0xef9469bf, 0xbfd3d70a, 0x3d70a3c8}, /* -0.32032=f(-0.31000)*/
+{63, 0,123,__LINE__, 0xbfd3cc2a, 0x44e29986, 0xbfd33333, 0x33333324}, /* -0.30933=f(-0.30000)*/
+{64, 0,123,__LINE__, 0xbfd31931, 0xf1c1881e, 0xbfd28f5c, 0x28f5c280}, /* -0.29841=f(-0.29000)*/
+{64, 0,123,__LINE__, 0xbfd2674a, 0x4238a5c3, 0xbfd1eb85, 0x1eb851dc}, /* -0.28755=f(-0.28000)*/
+{64, 0,123,__LINE__, 0xbfd1b667, 0xc19f0d22, 0xbfd147ae, 0x147ae138}, /* -0.27675=f(-0.27000)*/
+{64, 0,123,__LINE__, 0xbfd1067f, 0x376fbb46, 0xbfd0a3d7, 0x0a3d7094}, /* -0.26602=f(-0.26000)*/
+{64, 0,123,__LINE__, 0xbfd05785, 0xa43c4c45, 0xbfcfffff, 0xffffffe0}, /* -0.25534=f(-0.25000)*/
+{64, 0,123,__LINE__, 0xbfcf52e0, 0x7d78c725, 0xbfceb851, 0xeb851e98}, /* -0.24471=f(-0.24000)*/
+{62, 0,123,__LINE__, 0xbfcdf868, 0xe1f0008d, 0xbfcd70a3, 0xd70a3d50}, /* -0.23414=f(-0.23000)*/
+{64, 0,123,__LINE__, 0xbfcc9f8f, 0xab162ad9, 0xbfcc28f5, 0xc28f5c08}, /* -0.22361=f(-0.22000)*/
+{64, 0,123,__LINE__, 0xbfcb4840, 0x6a01a891, 0xbfcae147, 0xae147ac0}, /* -0.21314=f(-0.21000)*/
+{64, 0,123,__LINE__, 0xbfc9f267, 0x068a55c9, 0xbfc99999, 0x99999978}, /* -0.20271=f(-0.20000)*/
+{64, 0,123,__LINE__, 0xbfc89def, 0xba56182d, 0xbfc851eb, 0x851eb830}, /* -0.19231=f(-0.19000)*/
+{64, 0,123,__LINE__, 0xbfc74ac7, 0x0c0c4f51, 0xbfc70a3d, 0x70a3d6e8}, /* -0.18196=f(-0.18000)*/
+{64, 0,123,__LINE__, 0xbfc5f8d9, 0xcaad92ee, 0xbfc5c28f, 0x5c28f5a0}, /* -0.17165=f(-0.17000)*/
+{64, 0,123,__LINE__, 0xbfc4a815, 0x090d4ab9, 0xbfc47ae1, 0x47ae1458}, /* -0.16137=f(-0.16000)*/
+{64, 0,123,__LINE__, 0xbfc35866, 0x196ac71e, 0xbfc33333, 0x33333310}, /* -0.15113=f(-0.15000)*/
+{64, 0,123,__LINE__, 0xbfc209ba, 0x89279ba7, 0xbfc1eb85, 0x1eb851c8}, /* -0.14092=f(-0.14000)*/
+{64, 0,123,__LINE__, 0xbfc0bc00, 0x1c99135d, 0xbfc0a3d7, 0x0a3d7080}, /* -0.13073=f(-0.13000)*/
+{64, 0,123,__LINE__, 0xbfbede49, 0x95e55a38, 0xbfbeb851, 0xeb851e71}, /* -0.12057=f(-0.12000)*/
+{64, 0,123,__LINE__, 0xbfbc462d, 0x748f42c5, 0xbfbc28f5, 0xc28f5be2}, /* -0.11044=f(-0.11000)*/
+{64, 0,123,__LINE__, 0xbfb9af88, 0x77430b39, 0xbfb99999, 0x99999953}, /* -0.10033=f(-0.00100)*/
+{64, 0,123,__LINE__, 0xbfb71a37, 0x8e5461ea, 0xbfb70a3d, 0x70a3d6c4}, /* -0.09024=f(-0.09000)*/
+{64, 0,123,__LINE__, 0xbfb48617, 0xf0ce2c03, 0xbfb47ae1, 0x47ae1435}, /* -0.08017=f(-0.08000)*/
+{64, 0,123,__LINE__, 0xbfb1f307, 0x1508a3a2, 0xbfb1eb85, 0x1eb851a6}, /* -0.07011=f(-0.07000)*/
+{64, 0,123,__LINE__, 0xbfaec1c5, 0x52b6f47b, 0xbfaeb851, 0xeb851e2d}, /* -0.06007=f(-0.06000)*/
+{64, 0,123,__LINE__, 0xbfa99f11, 0x19d15be5, 0xbfa99999, 0x9999990e}, /* -0.05004=f(-0.05000)*/
+{64, 0,123,__LINE__, 0xbfa47dad, 0x90f9a68b, 0xbfa47ae1, 0x47ae13ef}, /* -0.04002=f(-0.04000)*/
+{64, 0,123,__LINE__, 0xbf9ebaae, 0x1e069446, 0xbf9eb851, 0xeb851da0}, /* -0.03000=f(-0.03000)*/
+{64, 0,123,__LINE__, 0xbf947b94, 0x43fee8b6, 0xbf947ae1, 0x47ae1362}, /* -0.02000=f(-0.02000)*/
+{64, 0,123,__LINE__, 0xbf847b0e, 0x05625d64, 0xbf847ae1, 0x47ae1249}, /* -0.01000=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x3cd19000, 0x00000000, 0x3cd19000, 0x00000000}, /* 9.74915e-16=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0x3f847b0e, 0x056261c9, 0x3f847ae1, 0x47ae16ad}, /* 0.01000=f(0.01000)*/
+{64, 0,123,__LINE__, 0x3f947b94, 0x43feeae8, 0x3f947ae1, 0x47ae1594}, /* 0.02000=f(0.02000)*/
+{64, 0,123,__LINE__, 0x3f9ebaae, 0x1e069678, 0x3f9eb851, 0xeb851fd2}, /* 0.03000=f(0.03000)*/
+{64, 0,123,__LINE__, 0x3fa47dad, 0x90f9a7a3, 0x3fa47ae1, 0x47ae1508}, /* 0.04002=f(0.04000)*/
+{64, 0,123,__LINE__, 0x3fa99f11, 0x19d15cff, 0x3fa99999, 0x99999a27}, /* 0.05004=f(0.05000)*/
+{64, 0,123,__LINE__, 0x3faec1c5, 0x52b6f595, 0x3faeb851, 0xeb851f46}, /* 0.06007=f(0.06000)*/
+{64, 0,123,__LINE__, 0x3fb1f307, 0x1508a42f, 0x3fb1eb85, 0x1eb85232}, /* 0.07011=f(0.07000)*/
+{64, 0,123,__LINE__, 0x3fb48617, 0xf0ce2c90, 0x3fb47ae1, 0x47ae14c1}, /* 0.08017=f(0.08000)*/
+{64, 0,123,__LINE__, 0x3fb71a37, 0x8e546278, 0x3fb70a3d, 0x70a3d750}, /* 0.09024=f(0.09000)*/
+{64, 0,123,__LINE__, 0x3fb9af88, 0x77430bc6, 0x3fb99999, 0x999999df}, /* 0.10033=f(0.10000)*/
+{64, 0,123,__LINE__, 0x3fbc462d, 0x748f4352, 0x3fbc28f5, 0xc28f5c6e}, /* 0.11044=f(0.11000)*/
+{64, 0,123,__LINE__, 0x3fbede49, 0x95e55ac6, 0x3fbeb851, 0xeb851efd}, /* 0.12057=f(0.12000)*/
+{64, 0,123,__LINE__, 0x3fc0bc00, 0x1c9913a5, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.13073=f(0.13000)*/
+{64, 0,123,__LINE__, 0x3fc209ba, 0x89279bef, 0x3fc1eb85, 0x1eb8520e}, /* 0.14092=f(0.14000)*/
+{64, 0,123,__LINE__, 0x3fc35866, 0x196ac767, 0x3fc33333, 0x33333356}, /* 0.15113=f(0.15000)*/
+{64, 0,123,__LINE__, 0x3fc4a815, 0x090d4b02, 0x3fc47ae1, 0x47ae149e}, /* 0.16137=f(0.16000)*/
+{64, 0,123,__LINE__, 0x3fc5f8d9, 0xcaad9335, 0x3fc5c28f, 0x5c28f5e6}, /* 0.17165=f(0.17000)*/
+{64, 0,123,__LINE__, 0x3fc74ac7, 0x0c0c4f99, 0x3fc70a3d, 0x70a3d72e}, /* 0.18196=f(0.18000)*/
+{64, 0,123,__LINE__, 0x3fc89def, 0xba561876, 0x3fc851eb, 0x851eb876}, /* 0.19231=f(0.19000)*/
+{64, 0,123,__LINE__, 0x3fc9f267, 0x068a5611, 0x3fc99999, 0x999999be}, /* 0.20271=f(0.20000)*/
+{64, 0,123,__LINE__, 0x3fcb4840, 0x6a01a8da, 0x3fcae147, 0xae147b06}, /* 0.21314=f(0.21000)*/
+{64, 0,123,__LINE__, 0x3fcc9f8f, 0xab162b24, 0x3fcc28f5, 0xc28f5c4e}, /* 0.22361=f(0.22000)*/
+{64, 0,123,__LINE__, 0x3fcdf868, 0xe1f000d7, 0x3fcd70a3, 0xd70a3d96}, /* 0.23414=f(0.23000)*/
+{64, 0,123,__LINE__, 0x3fcf52e0, 0x7d78c76f, 0x3fceb851, 0xeb851ede}, /* 0.24471=f(0.24000)*/
+{64, 0,123,__LINE__, 0x3fd05785, 0xa43c4c6a, 0x3fd00000, 0x00000013}, /* 0.25534=f(0.25000)*/
+{64, 0,123,__LINE__, 0x3fd1067f, 0x376fbb6b, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.26602=f(0.26000)*/
+{64, 0,123,__LINE__, 0x3fd1b667, 0xc19f0d48, 0x3fd147ae, 0x147ae15b}, /* 0.27675=f(0.27000)*/
+{64, 0,123,__LINE__, 0x3fd2674a, 0x4238a5ea, 0x3fd1eb85, 0x1eb851ff}, /* 0.28755=f(0.28000)*/
+{64, 0,123,__LINE__, 0x3fd31931, 0xf1c18844, 0x3fd28f5c, 0x28f5c2a3}, /* 0.29841=f(0.29000)*/
+{64, 0,123,__LINE__, 0x3fd3cc2a, 0x44e299ad, 0x3fd33333, 0x33333347}, /* 0.30933=f(0.30000)*/
+{64, 0,123,__LINE__, 0x3fd4803e, 0xef9469e5, 0x3fd3d70a, 0x3d70a3eb}, /* 0.32032=f(0.31000)*/
+{64, 0,123,__LINE__, 0x3fd5357b, 0xe86b747c, 0x3fd47ae1, 0x47ae148f}, /* 0.33138=f(0.32000)*/
+{64, 0,123,__LINE__, 0x3fd5ebed, 0x6c06eda6, 0x3fd51eb8, 0x51eb8533}, /* 0.34252=f(0.33000)*/
+{64, 0,123,__LINE__, 0x3fd6a3a0, 0x00a44ca3, 0x3fd5c28f, 0x5c28f5d7}, /* 0.35373=f(0.34000)*/
+{64, 0,123,__LINE__, 0x3fd75ca0, 0x79d9e7fc, 0x3fd66666, 0x6666667b}, /* 0.36502=f(0.35000)*/
+{64, 0,123,__LINE__, 0x3fd816fb, 0xfc7b1d1a, 0x3fd70a3d, 0x70a3d71f}, /* 0.37640=f(0.36000)*/
+{64, 0,123,__LINE__, 0x3fd8d2c0, 0x02a8a479, 0x3fd7ae14, 0x7ae147c3}, /* 0.38786=f(0.37000)*/
+{64, 0,123,__LINE__, 0x3fd98ffa, 0x600fdec0, 0x3fd851eb, 0x851eb867}, /* 0.39941=f(0.38000)*/
+{64, 0,123,__LINE__, 0x3fda4eb9, 0x465c1599, 0x3fd8f5c2, 0x8f5c290b}, /* 0.41105=f(0.39000)*/
+{64, 0,123,__LINE__, 0x3fdb0f0b, 0x49dcdcf1, 0x3fd99999, 0x999999af}, /* 0.42279=f(0.40000)*/
+{64, 0,123,__LINE__, 0x3fdbd0ff, 0x6664f7aa, 0x3fda3d70, 0xa3d70a53}, /* 0.43463=f(0.41000)*/
+{64, 0,123,__LINE__, 0x3fdc94a5, 0x04655ccb, 0x3fdae147, 0xae147af7}, /* 0.44657=f(0.42000)*/
+{64, 0,123,__LINE__, 0x3fdd5a0b, 0xfe483992, 0x3fdb851e, 0xb851eb9b}, /* 0.45862=f(0.43000)*/
+{64, 0,123,__LINE__, 0x3fde2144, 0xa61010d6, 0x3fdc28f5, 0xc28f5c3f}, /* 0.47078=f(0.44000)*/
+{64, 0,123,__LINE__, 0x3fdeea5f, 0xcb3f61ce, 0x3fdccccc, 0xcccccce3}, /* 0.48305=f(0.45000)*/
+{63, 0,123,__LINE__, 0x3fdfb56e, 0xc10d9036, 0x3fdd70a3, 0xd70a3d87}, /* 0.49544=f(0.46000)*/
+{64, 0,123,__LINE__, 0x3fe04141, 0xb2770f00, 0x3fde147a, 0xe147ae2b}, /* 0.50796=f(0.47000)*/
+{64, 0,123,__LINE__, 0x3fe0a8d8, 0x12b7d239, 0x3fdeb851, 0xeb851ecf}, /* 0.52061=f(0.48000)*/
+{62, 0,123,__LINE__, 0x3fe11184, 0x04bc2fe5, 0x3fdf5c28, 0xf5c28f73}, /* 0.53338=f(0.49000)*/
+{64, 0,123,__LINE__, 0x3fe17b4f, 0x5bf34759, 0x3fe00000, 0x0000000b}, /* 0.54630=f(0.50000)*/
+{64, 0,123,__LINE__, 0x3fe1e644, 0x3fcdaefb, 0x3fe051eb, 0x851eb85d}, /* 0.55935=f(0.51000)*/
+{64, 0,123,__LINE__, 0x3fe2526d, 0x2ffbcd6d, 0x3fe0a3d7, 0x0a3d70af}, /* 0.57256=f(0.52000)*/
+{64, 0,123,__LINE__, 0x3fe2bfd5, 0x08e8f986, 0x3fe0f5c2, 0x8f5c2901}, /* 0.58591=f(0.53000)*/
+{64, 0,123,__LINE__, 0x3fe32e87, 0x08779173, 0x3fe147ae, 0x147ae153}, /* 0.59942=f(0.54000)*/
+{64, 0,123,__LINE__, 0x3fe39e8e, 0xd3028c89, 0x3fe19999, 0x999999a5}, /* 0.61310=f(0.55000)*/
+{64, 0,123,__LINE__, 0x3fe40ff8, 0x78a9666a, 0x3fe1eb85, 0x1eb851f7}, /* 0.62694=f(0.56000)*/
+{64, 0,123,__LINE__, 0x3fe482d0, 0x7aeba521, 0x3fe23d70, 0xa3d70a49}, /* 0.64096=f(0.57000)*/
+{64, 0,123,__LINE__, 0x3fe4f723, 0xd299a7d5, 0x3fe28f5c, 0x28f5c29b}, /* 0.65516=f(0.58000)*/
+{61, 0,123,__LINE__, 0x3fe56cff, 0xf620e20b, 0x3fe2e147, 0xae147aed}, /* 0.66955=f(0.59000)*/
+{62, 0,123,__LINE__, 0x3fe5e472, 0xe03a281d, 0x3fe33333, 0x3333333f}, /* 0.68413=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3fe65d8b, 0x17013eec, 0x3fe3851e, 0xb851eb91}, /* 0.69891=f(0.61000)*/
+{64, 0,123,__LINE__, 0x3fe6d857, 0xb37d7b38, 0x3fe3d70a, 0x3d70a3e3}, /* 0.71390=f(0.62000)*/
+{61, 0,123,__LINE__, 0x3fe754e8, 0x69a3e653, 0x3fe428f5, 0xc28f5c35}, /* 0.72911=f(0.63000)*/
+{64, 0,123,__LINE__, 0x3fe7d34d, 0x90dc17a7, 0x3fe47ae1, 0x47ae1487}, /* 0.74454=f(0.64000)*/
+{64, 0,123,__LINE__, 0x3fe85398, 0x2d11be4c, 0x3fe4cccc, 0xccccccd9}, /* 0.76020=f(0.65000)*/
+{64, 0,123,__LINE__, 0x3fe8d5d9, 0xf85db610, 0x3fe51eb8, 0x51eb852b}, /* 0.77610=f(0.66000)*/
+{63, 0,123,__LINE__, 0x3fe95a25, 0x6d527996, 0x3fe570a3, 0xd70a3d7d}, /* 0.79225=f(0.67000)*/
+{64, 0,123,__LINE__, 0x3fe9e08d, 0xd1f8d2a8, 0x3fe5c28f, 0x5c28f5cf}, /* 0.80866=f(0.68000)*/
+{58, 0,123,__LINE__, 0x3fea6927, 0x438ad4df, 0x3fe6147a, 0xe147ae21}, /* 0.82533=f(0.69000)*/
+{64, 0,123,__LINE__, 0x3feaf406, 0xc2fc78c3, 0x3fe66666, 0x66666673}, /* 0.84228=f(0.70000)*/
+{64, 0,123,__LINE__, 0x3feb8142, 0x42629a0b, 0x3fe6b851, 0xeb851ec5}, /* 0.85952=f(0.71000)*/
+{64, 0,123,__LINE__, 0x3fec10f0, 0xb34aaeb4, 0x3fe70a3d, 0x70a3d717}, /* 0.87706=f(0.72000)*/
+{64, 0,123,__LINE__, 0x3feca32a, 0x16174b05, 0x3fe75c28, 0xf5c28f69}, /* 0.89491=f(0.73000)*/
+{64, 0,123,__LINE__, 0x3fed3807, 0x8a77750a, 0x3fe7ae14, 0x7ae147bb}, /* 0.91308=f(0.74000)*/
+{63, 0,123,__LINE__, 0x3fedcfa3, 0x6110ef04, 0x3fe80000, 0x0000000d}, /* 0.93159=f(0.75000)*/
+{64, 0,123,__LINE__, 0x3fee6a19, 0x2e780214, 0x3fe851eb, 0x851eb85f}, /* 0.95045=f(0.76000)*/
+{63, 0,123,__LINE__, 0x3fef0785, 0xdf91f8b8, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.96966=f(0.77000)*/
+{58, 0,123,__LINE__, 0x3fefa807, 0xcf826c5d, 0x3fe8f5c2, 0x8f5c2903}, /* 0.98926=f(0.78000)*/
+{64, 0,123,__LINE__, 0x3ff025df, 0x6fa369cc, 0x3fe947ae, 0x147ae155}, /* 1.00924=f(0.79000)*/
+{60, 0,123,__LINE__, 0x3ff07966, 0x4793b619, 0x3fe99999, 0x999999a7}, /* 1.02963=f(0.80000)*/
+{64, 0,123,__LINE__, 0x3ff0ceaa, 0x0d145c07, 0x3fe9eb85, 0x1eb851f9}, /* 1.05045=f(0.81000)*/
+{64, 0,123,__LINE__, 0x3ff125bd, 0x49d6af78, 0x3fea3d70, 0xa3d70a4b}, /* 1.07171=f(0.82000)*/
+{64, 0,123,__LINE__, 0x3ff17eb3, 0x83beb840, 0x3fea8f5c, 0x28f5c29d}, /* 1.09343=f(0.83000)*/
+{64, 0,123,__LINE__, 0x3ff1d9a1, 0x4e36e764, 0x3feae147, 0xae147aef}, /* 1.11563=f(0.84000)*/
+{64, 0,123,__LINE__, 0x3ff2369c, 0x5cf4879c, 0x3feb3333, 0x33333341}, /* 1.13833=f(0.85000)*/
+{64, 0,123,__LINE__, 0x3ff295bb, 0x98513cbe, 0x3feb851e, 0xb851eb93}, /* 1.16155=f(0.86000)*/
+{64, 0,123,__LINE__, 0x3ff2f717, 0x33620b3c, 0x3febd70a, 0x3d70a3e5}, /* 1.18532=f(0.87000)*/
+{64, 0,123,__LINE__, 0x3ff35ac8, 0xc3f910d0, 0x3fec28f5, 0xc28f5c37}, /* 1.20966=f(0.88000)*/
+{64, 0,123,__LINE__, 0x3ff3c0eb, 0x5cc46582, 0x3fec7ae1, 0x47ae1489}, /* 1.23459=f(0.89000)*/
+{64, 0,123,__LINE__, 0x3ff4299b, 0xa9c2a14a, 0x3feccccc, 0xccccccdb}, /* 1.26015=f(0.90000)*/
+{64, 0,123,__LINE__, 0x3ff494f8, 0x0f4c58b7, 0x3fed1eb8, 0x51eb852d}, /* 1.28636=f(0.91000)*/
+{64, 0,123,__LINE__, 0x3ff50320, 0xcbf9abde, 0x3fed70a3, 0xd70a3d7f}, /* 1.31326=f(0.92000)*/
+{63, 0,123,__LINE__, 0x3ff57438, 0x1db3e317, 0x3fedc28f, 0x5c28f5d1}, /* 1.34087=f(0.93000)*/
+{63, 0,123,__LINE__, 0x3ff5e862, 0x6a4d39e3, 0x3fee147a, 0xe147ae23}, /* 1.36923=f(0.94000)*/
+{64, 0,123,__LINE__, 0x3ff65fc6, 0x6c049574, 0x3fee6666, 0x66666675}, /* 1.39838=f(0.95000)*/
+{64, 0,123,__LINE__, 0x3ff6da8d, 0x6268377b, 0x3feeb851, 0xeb851ec7}, /* 1.42835=f(0.96000)*/
+{64, 0,123,__LINE__, 0x3ff758e3, 0x4819d034, 0x3fef0a3d, 0x70a3d719}, /* 1.45920=f(0.97000)*/
+{64, 0,123,__LINE__, 0x3ff7daf7, 0x0e07fa74, 0x3fef5c28, 0xf5c28f6b}, /* 1.49095=f(0.98000)*/
+{64, 0,123,__LINE__, 0x3ff860fa, 0xdcc5907c, 0x3fefae14, 0x7ae147bd}, /* 1.52367=f(0.99000)*/
+{63, 0,123,__LINE__, 0x3ff8eb24, 0x5cbee3bd, 0x3ff00000, 0x00000007}, /* 1.55740=f(1.00000)*/
+{61, 0,123,__LINE__, 0x3ff979ad, 0x062846b5, 0x3ff028f5, 0xc28f5c30}, /* 1.59220=f(1.01000)*/
+{62, 0,123,__LINE__, 0x3ffa0cd2, 0x79a1370a, 0x3ff051eb, 0x851eb859}, /* 1.62813=f(1.02000)*/
+{64, 0,123,__LINE__, 0x3ffaa4d6, 0xe2aca316, 0x3ff07ae1, 0x47ae1482}, /* 1.66524=f(1.03000)*/
+{64, 0,123,__LINE__, 0x3ffb4201, 0x654a4066, 0x3ff0a3d7, 0x0a3d70ab}, /* 1.70361=f(1.04000)*/
+{64, 0,123,__LINE__, 0x3ffbe49e, 0x982fe6cb, 0x3ff0cccc, 0xccccccd4}, /* 1.74331=f(1.05000)*/
+{64, 0,123,__LINE__, 0x3ffc8d01, 0x0d5dddad, 0x3ff0f5c2, 0x8f5c28fd}, /* 1.78442=f(1.06000)*/
+{63, 0,123,__LINE__, 0x3ffd3b81, 0xeb0fcacf, 0x3ff11eb8, 0x51eb8526}, /* 1.82702=f(1.07000)*/
+{64, 0,123,__LINE__, 0x3ffdf081, 0x975fac71, 0x3ff147ae, 0x147ae14f}, /* 1.87121=f(1.08000)*/
+{64, 0,123,__LINE__, 0x3ffeac68, 0x7953b060, 0x3ff170a3, 0xd70a3d78}, /* 1.91709=f(1.09000)*/
+{63, 0,123,__LINE__, 0x3fff6fa7, 0xd2862171, 0x3ff19999, 0x999999a1}, /* 1.96476=f(1.10000)*/
+{64, 0,123,__LINE__, 0x40001d5d, 0x5a92169e, 0x3ff1c28f, 0x5c28f5ca}, /* 2.01433=f(1.11000)*/
+{64, 0,123,__LINE__, 0x40008713, 0x8d550717, 0x3ff1eb85, 0x1eb851f3}, /* 2.06595=f(1.12000)*/
+{64, 0,123,__LINE__, 0x4000f53f, 0x9047cd58, 0x3ff2147a, 0xe147ae1c}, /* 2.11975=f(1.13000)*/
+{64, 0,123,__LINE__, 0x40016831, 0x3887b2fa, 0x3ff23d70, 0xa3d70a45}, /* 2.17587=f(1.14000)*/
+{64, 0,123,__LINE__, 0x4001e03f, 0xefaf53e1, 0x3ff26666, 0x6666666e}, /* 2.23449=f(1.15000)*/
+{64, 0,123,__LINE__, 0x40025dcb, 0xa00cf2ea, 0x3ff28f5c, 0x28f5c297}, /* 2.29579=f(1.16000)*/
+{64, 0,123,__LINE__, 0x4002e13d, 0xc435202c, 0x3ff2b851, 0xeb851ec0}, /* 2.35998=f(1.17000)*/
+{64, 0,123,__LINE__, 0x40036b0a, 0xa04728d0, 0x3ff2e147, 0xae147ae9}, /* 2.42726=f(1.18000)*/
+{64, 0,123,__LINE__, 0x4003fbb2, 0xac8d6e26, 0x3ff30a3d, 0x70a3d712}, /* 2.49789=f(1.19000)*/
+{27, 0,123,__LINE__, 0x3cb1a620, 0x00000000, 0xc01921fb, 0x54442d18}, /* 2.44928e-16=f(-6.28318)*/
+{27, 0,123,__LINE__, 0xc3335715, 0xc89e712f, 0xc012d97c, 0x7f3321d2}, /* -5.44378e+15=f(-4.71238)*/
+{27, 0,123,__LINE__, 0x3ca1a620, 0x00000000, 0xc00921fb, 0x54442d18}, /* 1.22464e-16=f(-3.14159)*/
+{26, 0,123,__LINE__, 0xc34d02a0, 0xaceda9c7, 0xbff921fb, 0x54442d18}, /* -1.63313e+16=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{26, 0,123,__LINE__, 0x434d02a0, 0xaceda9c7, 0x3ff921fb, 0x54442d18}, /* 1.63313e+16=f(1.57079)*/
+{27, 0,123,__LINE__, 0xbca1a620, 0x00000000, 0x400921fb, 0x54442d18}, /* -1.22464e-16=f(3.14159)*/
+{27, 0,123,__LINE__, 0x43335715, 0xc89e712f, 0x4012d97c, 0x7f3321d2}, /* 5.44378e+15=f(4.71238)*/
+{64, 0,123,__LINE__, 0x40199f0f, 0x242693c3, 0xc03e0000, 0x00000000}, /* 6.40533=f(-30.0000)*/
+{64, 0,123,__LINE__, 0xbf9a49b2, 0x510ff816, 0xc03c4ccc, 0xcccccccd}, /* -0.02567=f(-28.3000)*/
+{64, 0,123,__LINE__, 0xc0233f61, 0xec28ea0a, 0xc03a9999, 0x9999999a}, /* -9.62379=f(-26.6000)*/
+{64, 0,123,__LINE__, 0x3fce5738, 0x470a4647, 0xc038e666, 0x66666667}, /* 0.23703=f(-24.9000)*/
+{61, 0,123,__LINE__, 0xc005210b, 0xfc3dbe54, 0xc0373333, 0x33333334}, /* -2.64113=f(-23.2000)*/
+{63, 0,123,__LINE__, 0x3fe11d9b, 0xf21d0970, 0xc0358000, 0x00000001}, /* 0.53486=f(-21.5000)*/
+{62, 0,123,__LINE__, 0xbff66527, 0x7e5f32c2, 0xc033cccc, 0xccccccce}, /* -1.39969=f(-19.8000)*/
+{64, 0,123,__LINE__, 0x3fedc8d8, 0x8c976b0e, 0xc0321999, 0x9999999b}, /* 0.93076=f(-18.1000)*/
+{62, 0,123,__LINE__, 0xbfea8540, 0x3fe57519, 0xc0306666, 0x66666668}, /* -0.82876=f(-16.4000)*/
+{64, 0,123,__LINE__, 0x3ff95c47, 0x92ef95dd, 0xc02d6666, 0x6666666a}, /* 1.58502=f(-14.7000)*/
+{64, 0,123,__LINE__, 0xbfdda223, 0x63d46c99, 0xc02a0000, 0x00000004}, /* -0.46302=f(-13.0000)*/
+{64, 0,123,__LINE__, 0x4009764d, 0xf48e7ae2, 0xc0269999, 0x9999999e}, /* 3.18276=f(-11.3000)*/
+{64, 0,123,__LINE__, 0xbfc6a92b, 0x1538da8a, 0xc0233333, 0x33333338}, /* -0.17703=f(-9.60000)*/
+{64, 0,123,__LINE__, 0x4035b711, 0x9feaed40, 0xc01f9999, 0x999999a3}, /* 21.7151=f(-7.90000)*/
+{64, 0,123,__LINE__, 0x3fb5583d, 0xee9078b6, 0xc018cccc, 0xccccccd6}, /* 0.08337=f(-6.20000)*/
+{64, 0,123,__LINE__, 0xc0128ca0, 0xc62bf65f, 0xc0120000, 0x00000009}, /* -4.63733=f(-4.50000)*/
+{64, 0,123,__LINE__, 0x3fd6c100, 0x31ec6ced, 0xc0066666, 0x66666678}, /* 0.35552=f(-2.80000)*/
+{63, 0,123,__LINE__, 0xbfff6fa7, 0xd28621f9, 0xbff19999, 0x999999bd}, /* -1.96476=f(-1.10000)*/
+{64, 0,123,__LINE__, 0x3fe5e472, 0xe03a27a3, 0x3fe33333, 0x333332ec}, /* 0.68413=f(0.60000)*/
+{64, 0,123,__LINE__, 0xbff1e84c, 0x9047c388, 0x40026666, 0x66666654}, /* -1.11921=f(2.30000)*/
+{63, 0,123,__LINE__, 0x3ff2866f, 0x9be4ddbf, 0x400fffff, 0xffffffee}, /* 1.15782=f(4.00000)*/
+{59, 0,123,__LINE__, 0xbfe51c83, 0x499b4d2f, 0x4016cccc, 0xccccccc4}, /* -0.65973=f(5.70000)*/
+{64, 0,123,__LINE__, 0x400064ef, 0x1934ec81, 0x401d9999, 0x99999991}, /* 2.04928=f(7.40000)*/
+{64, 0,123,__LINE__, 0xbfd58c80, 0x5d64d043, 0x40223333, 0x3333332f}, /* -0.33670=f(9.10000)*/
+{64, 0,123,__LINE__, 0x401430ef, 0x6b305cef, 0x40259999, 0x99999995}, /* 5.04778=f(10.8000)*/
+{64, 0,123,__LINE__, 0xbfb10410, 0x0d0681dd, 0x4028ffff, 0xfffffffb}, /* -0.06646=f(12.5000)*/
+{64, 0,123,__LINE__, 0xc02fc9d9, 0xb26ed77b, 0x402c6666, 0x66666661}, /* -15.8942=f(14.2000)*/
+{64, 0,123,__LINE__, 0x3fc8e32b, 0xf9e67cb7, 0x402fcccc, 0xccccccc7}, /* 0.19443=f(15.9000)*/
+{64, 0,123,__LINE__, 0xc0080a76, 0xc02a4902, 0x40319999, 0x99999997}, /* -3.00510=f(17.6000)*/
+{64, 0,123,__LINE__, 0x3fdef359, 0x829ee0fa, 0x40334ccc, 0xccccccca}, /* 0.48360=f(19.3000)*/
+{64, 0,123,__LINE__, 0xbff870a2, 0x4bce3344, 0x4034ffff, 0xfffffffd}, /* -1.52749=f(21.0000)*/
+{64, 0,123,__LINE__, 0x3feb70ea, 0x1a297e19, 0x4036b333, 0x33333330}, /* 0.85753=f(22.7000)*/
+{61, 0,123,__LINE__, 0xbfeccbb4, 0x686d348a, 0x40386666, 0x66666663}, /* -0.89986=f(24.4000)*/
+{63, 0,123,__LINE__, 0x3ff735e4, 0x5e7305e1, 0x403a1999, 0x99999996}, /* 1.45065=f(26.1000)*/
+{64, 0,123,__LINE__, 0xbfe06e04, 0xfc5ca3b7, 0x403bcccc, 0xccccccc9}, /* -0.51343=f(27.8000)*/
+{63, 0,123,__LINE__, 0x4006407d, 0xaf0ccd5f, 0x403d7fff, 0xfffffffc}, /* 2.78149=f(29.5000)*/
+0,};
+test_tan(m) {run_vector_1(m,tan_vec,(char *)(tan),"tan","dd"); }
diff --git a/newlib/libm/test/tanf_vec.c b/newlib/libm/test/tanf_vec.c
new file mode 100644
index 00000000000..e6106e78a91
--- /dev/null
+++ b/newlib/libm/test/tanf_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type tanf_vec[] = {
+{ 1, 0,123,__LINE__, 0xc00493c4, 0x60a46c17, 0xbff33333, 0x33333333}, /* -2.57215=f(-1.20000)*/
+{ 1, 0,123,__LINE__, 0xc003fbb2, 0xd945e787, 0xbff30a3d, 0x70a3d70a}, /* -2.49790=f(-1.19000)*/
+{ 1, 0,123,__LINE__, 0xc0036b0a, 0x697947b9, 0xbff2e147, 0xae147ae1}, /* -2.42726=f(-1.18000)*/
+{ 1, 0,123,__LINE__, 0xc002e13d, 0x9fc3ce6f, 0xbff2b851, 0xeb851eb8}, /* -2.35998=f(-1.17000)*/
+{ 1, 0,123,__LINE__, 0xc0025dcb, 0x75d83ff1, 0xbff28f5c, 0x28f5c28f}, /* -2.29579=f(-1.16000)*/
+{ 1, 0,123,__LINE__, 0xc001e03f, 0xd68293e3, 0xbff26666, 0x66666666}, /* -2.23449=f(-1.15000)*/
+{ 1, 0,123,__LINE__, 0xc0016831, 0x1d167463, 0xbff23d70, 0xa3d70a3d}, /* -2.17587=f(-1.14000)*/
+{ 1, 0,123,__LINE__, 0xc000f53f, 0x76ea55a9, 0xbff2147a, 0xe147ae14}, /* -2.11975=f(-1.13000)*/
+{ 1, 0,123,__LINE__, 0xc0008713, 0x8be051ea, 0xbff1eb85, 0x1eb851eb}, /* -2.06595=f(-1.12000)*/
+{ 1, 0,123,__LINE__, 0xc0001d5d, 0x5f776659, 0xbff1c28f, 0x5c28f5c2}, /* -2.01433=f(-1.11000)*/
+{12, 0,123,__LINE__, 0xbfff6fa7, 0xeae23a93, 0xbff19999, 0x99999999}, /* -1.96476=f(-1.10000)*/
+{12, 0,123,__LINE__, 0xbffeac68, 0x9d7c22ff, 0xbff170a3, 0xd70a3d70}, /* -1.91709=f(-1.09000)*/
+{12, 0,123,__LINE__, 0xbffdf081, 0x9f873dbf, 0xbff147ae, 0x147ae147}, /* -1.87121=f(-1.08000)*/
+{12, 0,123,__LINE__, 0xbffd3b82, 0x4a60b096, 0xbff11eb8, 0x51eb851e}, /* -1.82702=f(-1.07000)*/
+{12, 0,123,__LINE__, 0xbffc8d00, 0xd97f0c46, 0xbff0f5c2, 0x8f5c28f5}, /* -1.78442=f(-1.06000)*/
+{12, 0,123,__LINE__, 0xbffbe49e, 0x8f515157, 0xbff0cccc, 0xcccccccc}, /* -1.74331=f(-1.05000)*/
+{12, 0,123,__LINE__, 0xbffb4201, 0x4882fd2c, 0xbff0a3d7, 0x0a3d70a3}, /* -1.70361=f(-1.04000)*/
+{12, 0,123,__LINE__, 0xbffaa4d6, 0xdfc58e3b, 0xbff07ae1, 0x47ae147a}, /* -1.66524=f(-1.03000)*/
+{12, 0,123,__LINE__, 0xbffa0cd2, 0x792fd5e4, 0xbff051eb, 0x851eb851}, /* -1.62813=f(-1.02000)*/
+{12, 0,123,__LINE__, 0xbff979ad, 0x0a3bf80e, 0xbff028f5, 0xc28f5c28}, /* -1.59220=f(-1.01000)*/
+{12, 0,123,__LINE__, 0xbff8eb24, 0x557be2c5, 0xbfefffff, 0xfffffffe}, /* -1.55740=f(-0.01000)*/
+{11, 0,123,__LINE__, 0xbff860fa, 0xfc5b36cb, 0xbfefae14, 0x7ae147ac}, /* -1.52367=f(-0.99000)*/
+{11, 0,123,__LINE__, 0xbff7daf7, 0x25adb72c, 0xbfef5c28, 0xf5c28f5a}, /* -1.49095=f(-0.98000)*/
+{11, 0,123,__LINE__, 0xbff758e3, 0x5c5c4bc3, 0xbfef0a3d, 0x70a3d708}, /* -1.45920=f(-0.97000)*/
+{11, 0,123,__LINE__, 0xbff6da8d, 0x465b10d3, 0xbfeeb851, 0xeb851eb6}, /* -1.42835=f(-0.96000)*/
+{11, 0,123,__LINE__, 0xbff65fc6, 0x7a1852b8, 0xbfee6666, 0x66666664}, /* -1.39838=f(-0.95000)*/
+{11, 0,123,__LINE__, 0xbff5e862, 0x7bea5ee0, 0xbfee147a, 0xe147ae12}, /* -1.36923=f(-0.94000)*/
+{11, 0,123,__LINE__, 0xbff57438, 0x289b5e3b, 0xbfedc28f, 0x5c28f5c0}, /* -1.34087=f(-0.93000)*/
+{11, 0,123,__LINE__, 0xbff50320, 0xdce90618, 0xbfed70a3, 0xd70a3d6e}, /* -1.31326=f(-0.92000)*/
+{11, 0,123,__LINE__, 0xbff494f8, 0x1ca9a021, 0xbfed1eb8, 0x51eb851c}, /* -1.28636=f(-0.91000)*/
+{11, 0,123,__LINE__, 0xbff4299b, 0xb677a625, 0xbfeccccc, 0xccccccca}, /* -1.26015=f(-0.90000)*/
+{11, 0,123,__LINE__, 0xbff3c0eb, 0x5d6dc71b, 0xbfec7ae1, 0x47ae1478}, /* -1.23459=f(-0.89000)*/
+{11, 0,123,__LINE__, 0xbff35ac8, 0xb71c3141, 0xbfec28f5, 0xc28f5c26}, /* -1.20966=f(-0.88000)*/
+{11, 0,123,__LINE__, 0xbff2f717, 0x54f79b3d, 0xbfebd70a, 0x3d70a3d4}, /* -1.18532=f(-0.87000)*/
+{11, 0,123,__LINE__, 0xbff295bb, 0xbebe939a, 0xbfeb851e, 0xb851eb82}, /* -1.16155=f(-0.86000)*/
+{11, 0,123,__LINE__, 0xbff2369c, 0x7eb294a6, 0xbfeb3333, 0x33333330}, /* -1.13833=f(-0.85000)*/
+{11, 0,123,__LINE__, 0xbff1d9a1, 0x4ce6a1cc, 0xbfeae147, 0xae147ade}, /* -1.11563=f(-0.84000)*/
+{11, 0,123,__LINE__, 0xbff17eb3, 0x91304e28, 0xbfea8f5c, 0x28f5c28c}, /* -1.09343=f(-0.83000)*/
+{11, 0,123,__LINE__, 0xbff125bd, 0x4df8fefb, 0xbfea3d70, 0xa3d70a3a}, /* -1.07171=f(-0.82000)*/
+{11, 0,123,__LINE__, 0xbff0ceaa, 0x1f93873e, 0xbfe9eb85, 0x1eb851e8}, /* -1.05045=f(-0.81000)*/
+{11, 0,123,__LINE__, 0xbff07966, 0x513a3b5a, 0xbfe99999, 0x99999996}, /* -1.02963=f(-0.80000)*/
+{11, 0,123,__LINE__, 0xbff025df, 0x6f29f2ec, 0xbfe947ae, 0x147ae144}, /* -1.00924=f(-0.79000)*/
+{13, 0,123,__LINE__, 0xbfefa807, 0xb37fe893, 0xbfe8f5c2, 0x8f5c28f2}, /* -0.98926=f(-0.78000)*/
+{13, 0,123,__LINE__, 0xbfef0785, 0xe6cc72c0, 0xbfe8a3d7, 0x0a3d70a0}, /* -0.96966=f(-0.77000)*/
+{13, 0,123,__LINE__, 0xbfee6a19, 0x1a5a5d47, 0xbfe851eb, 0x851eb84e}, /* -0.95045=f(-0.76000)*/
+{13, 0,123,__LINE__, 0xbfedcfa3, 0x6f0e1bb8, 0xbfe7ffff, 0xfffffffc}, /* -0.93159=f(-0.75000)*/
+{12, 0,123,__LINE__, 0xbfed3807, 0xa38f5e1e, 0xbfe7ae14, 0x7ae147aa}, /* -0.91308=f(-0.74000)*/
+{12, 0,123,__LINE__, 0xbfeca32a, 0x27dbdb5f, 0xbfe75c28, 0xf5c28f58}, /* -0.89491=f(-0.73000)*/
+{12, 0,123,__LINE__, 0xbfec10f0, 0xd1dce257, 0xbfe70a3d, 0x70a3d706}, /* -0.87706=f(-0.72000)*/
+{12, 0,123,__LINE__, 0xbfeb8142, 0x14ec2f58, 0xbfe6b851, 0xeb851eb4}, /* -0.85952=f(-0.71000)*/
+{12, 0,123,__LINE__, 0xbfeaf406, 0xb7b84f13, 0xbfe66666, 0x66666662}, /* -0.84228=f(-0.70000)*/
+{12, 0,123,__LINE__, 0xbfea6927, 0x36d404a7, 0xbfe6147a, 0xe147ae10}, /* -0.82533=f(-0.69000)*/
+{12, 0,123,__LINE__, 0xbfe9e08d, 0xcd0c4515, 0xbfe5c28f, 0x5c28f5be}, /* -0.80866=f(-0.68000)*/
+{12, 0,123,__LINE__, 0xbfe95a25, 0x8371b38d, 0xbfe570a3, 0xd70a3d6c}, /* -0.79225=f(-0.67000)*/
+{12, 0,123,__LINE__, 0xbfe8d5da, 0x0959b4d1, 0xbfe51eb8, 0x51eb851a}, /* -0.77610=f(-0.66000)*/
+{12, 0,123,__LINE__, 0xbfe85398, 0x1f2129f6, 0xbfe4cccc, 0xccccccc8}, /* -0.76020=f(-0.65000)*/
+{14, 0,123,__LINE__, 0xbfe7d34d, 0x9cd5962b, 0xbfe47ae1, 0x47ae1476}, /* -0.74454=f(-0.64000)*/
+{14, 0,123,__LINE__, 0xbfe754e8, 0x7d3a768e, 0xbfe428f5, 0xc28f5c24}, /* -0.72911=f(-0.63000)*/
+{13, 0,123,__LINE__, 0xbfe6d857, 0xa6938407, 0xbfe3d70a, 0x3d70a3d2}, /* -0.71390=f(-0.62000)*/
+{13, 0,123,__LINE__, 0xbfe65d8b, 0x3a5a9ac2, 0xbfe3851e, 0xb851eb80}, /* -0.69891=f(-0.61000)*/
+{13, 0,123,__LINE__, 0xbfe5e472, 0xf54ac1cd, 0xbfe33333, 0x3333332e}, /* -0.68413=f(-0.60000)*/
+{13, 0,123,__LINE__, 0xbfe56cff, 0xf73da40d, 0xbfe2e147, 0xae147adc}, /* -0.66955=f(-0.59000)*/
+{13, 0,123,__LINE__, 0xbfe4f723, 0xb1c7defb, 0xbfe28f5c, 0x28f5c28a}, /* -0.65516=f(-0.58000)*/
+{13, 0,123,__LINE__, 0xbfe482d0, 0x863bd3e6, 0xbfe23d70, 0xa3d70a38}, /* -0.64096=f(-0.57000)*/
+{13, 0,123,__LINE__, 0xbfe40ff8, 0x7abe2d6d, 0xbfe1eb85, 0x1eb851e6}, /* -0.62694=f(-0.56000)*/
+{14, 0,123,__LINE__, 0xbfe39e8e, 0xdcee4dab, 0xbfe19999, 0x99999994}, /* -0.61310=f(-0.55000)*/
+{14, 0,123,__LINE__, 0xbfe32e87, 0x1791a835, 0xbfe147ae, 0x147ae142}, /* -0.59942=f(-0.54000)*/
+{14, 0,123,__LINE__, 0xbfe2bfd4, 0xfeeb10a3, 0xbfe0f5c2, 0x8f5c28f0}, /* -0.58591=f(-0.53000)*/
+{14, 0,123,__LINE__, 0xbfe2526d, 0x0988d60f, 0xbfe0a3d7, 0x0a3d709e}, /* -0.57256=f(-0.52000)*/
+{15, 0,123,__LINE__, 0xbfe1e644, 0x2ff16a35, 0xbfe051eb, 0x851eb84c}, /* -0.55935=f(-0.51000)*/
+{15, 0,123,__LINE__, 0xbfe17b4f, 0x6c66f0e1, 0xbfdfffff, 0xfffffff4}, /* -0.54630=f(-0.50000)*/
+{10, 0,123,__LINE__, 0xbfe11183, 0xff3448f4, 0xbfdf5c28, 0xf5c28f50}, /* -0.53338=f(-0.49000)*/
+{10, 0,123,__LINE__, 0xbfe0a8d8, 0x0a4956f5, 0xbfdeb851, 0xeb851eac}, /* -0.52061=f(-0.48000)*/
+{10, 0,123,__LINE__, 0xbfe04141, 0xb4ad5c2d, 0xbfde147a, 0xe147ae08}, /* -0.50796=f(-0.47000)*/
+{14, 0,123,__LINE__, 0xbfdfb56e, 0xceae5e05, 0xbfdd70a3, 0xd70a3d64}, /* -0.49544=f(-0.46000)*/
+{14, 0,123,__LINE__, 0xbfdeea5f, 0xd110f177, 0xbfdccccc, 0xccccccc0}, /* -0.48305=f(-0.45000)*/
+{14, 0,123,__LINE__, 0xbfde2144, 0x9284fe48, 0xbfdc28f5, 0xc28f5c1c}, /* -0.47078=f(-0.44000)*/
+{13, 0,123,__LINE__, 0xbfdd5a0c, 0x033c25a0, 0xbfdb851e, 0xb851eb78}, /* -0.45862=f(-0.43000)*/
+{13, 0,123,__LINE__, 0xbfdc94a5, 0x0a6220fa, 0xbfdae147, 0xae147ad4}, /* -0.44657=f(-0.42000)*/
+{15, 0,123,__LINE__, 0xbfdbd0ff, 0x60047876, 0xbfda3d70, 0xa3d70a30}, /* -0.43463=f(-0.41000)*/
+{14, 0,123,__LINE__, 0xbfdb0f0b, 0x4978206b, 0xbfd99999, 0x9999998c}, /* -0.42279=f(-0.40000)*/
+{14, 0,123,__LINE__, 0xbfda4eb9, 0x401b707d, 0xbfd8f5c2, 0x8f5c28e8}, /* -0.41105=f(-0.39000)*/
+{15, 0,123,__LINE__, 0xbfd98ffa, 0x4e05150d, 0xbfd851eb, 0x851eb844}, /* -0.39941=f(-0.38000)*/
+{12, 0,123,__LINE__, 0xbfd8d2c0, 0x07dca0a5, 0xbfd7ae14, 0x7ae147a0}, /* -0.38786=f(-0.37000)*/
+{12, 0,123,__LINE__, 0xbfd816fc, 0x07412ce9, 0xbfd70a3d, 0x70a3d6fc}, /* -0.37640=f(-0.36000)*/
+{15, 0,123,__LINE__, 0xbfd75ca0, 0x82a3500f, 0xbfd66666, 0x66666658}, /* -0.36502=f(-0.35000)*/
+{14, 0,123,__LINE__, 0xbfd6a3a0, 0x09c992e0, 0xbfd5c28f, 0x5c28f5b4}, /* -0.35373=f(-0.34000)*/
+{16, 0,123,__LINE__, 0xbfd5ebed, 0x814343f4, 0xbfd51eb8, 0x51eb8510}, /* -0.34252=f(-0.33000)*/
+{15, 0,123,__LINE__, 0xbfd5357b, 0xe63018f6, 0xbfd47ae1, 0x47ae146c}, /* -0.33138=f(-0.32000)*/
+{13, 0,123,__LINE__, 0xbfd4803e, 0xea116264, 0xbfd3d70a, 0x3d70a3c8}, /* -0.32032=f(-0.31000)*/
+{16, 0,123,__LINE__, 0xbfd3cc2a, 0x5ad65335, 0xbfd33333, 0x33333324}, /* -0.30933=f(-0.30000)*/
+{15, 0,123,__LINE__, 0xbfd31931, 0xe060c520, 0xbfd28f5c, 0x28f5c280}, /* -0.29841=f(-0.29000)*/
+{14, 0,123,__LINE__, 0xbfd2674a, 0x365ed2ae, 0xbfd1eb85, 0x1eb851dc}, /* -0.28755=f(-0.28000)*/
+{16, 0,123,__LINE__, 0xbfd1b667, 0xbd871769, 0xbfd147ae, 0x147ae138}, /* -0.27675=f(-0.27000)*/
+{15, 0,123,__LINE__, 0xbfd1067f, 0x22f340e2, 0xbfd0a3d7, 0x0a3d7094}, /* -0.26602=f(-0.26000)*/
+{17, 0,123,__LINE__, 0xbfd05785, 0xa2aa8f5d, 0xbfcfffff, 0xffffffe0}, /* -0.25534=f(-0.25000)*/
+{15, 0,123,__LINE__, 0xbfcf52e0, 0x751724d3, 0xbfceb851, 0xeb851e98}, /* -0.24471=f(-0.24000)*/
+{16, 0,123,__LINE__, 0xbfcdf868, 0xde3343a6, 0xbfcd70a3, 0xd70a3d50}, /* -0.23414=f(-0.23000)*/
+{16, 0,123,__LINE__, 0xbfcc9f8f, 0xa9db8e2b, 0xbfcc28f5, 0xc28f5c08}, /* -0.22361=f(-0.22000)*/
+{15, 0,123,__LINE__, 0xbfcb4840, 0x5ef1cde7, 0xbfcae147, 0xae147ac0}, /* -0.21314=f(-0.21000)*/
+{17, 0,123,__LINE__, 0xbfc9f267, 0x18b23cb5, 0xbfc99999, 0x99999978}, /* -0.20271=f(-0.20000)*/
+{16, 0,123,__LINE__, 0xbfc89def, 0xcd08bbff, 0xbfc851eb, 0x851eb830}, /* -0.19231=f(-0.19000)*/
+{17, 0,123,__LINE__, 0xbfc74ac7, 0x1ea87149, 0xbfc70a3d, 0x70a3d6e8}, /* -0.18196=f(-0.18000)*/
+{18, 0,123,__LINE__, 0xbfc5f8d9, 0xce721592, 0xbfc5c28f, 0x5c28f5a0}, /* -0.17165=f(-0.17000)*/
+{16, 0,123,__LINE__, 0xbfc4a814, 0xfe573588, 0xbfc47ae1, 0x47ae1458}, /* -0.16137=f(-0.16000)*/
+{17, 0,123,__LINE__, 0xbfc35866, 0x273726ca, 0xbfc33333, 0x33333310}, /* -0.15113=f(-0.15000)*/
+{14, 0,123,__LINE__, 0xbfc209ba, 0x880c5f49, 0xbfc1eb85, 0x1eb851c8}, /* -0.14092=f(-0.14000)*/
+{19, 0,123,__LINE__, 0xbfc0bc00, 0x2285a47a, 0xbfc0a3d7, 0x0a3d7080}, /* -0.13073=f(-0.13000)*/
+{17, 0,123,__LINE__, 0xbfbede49, 0x9104b8d8, 0xbfbeb851, 0xeb851e71}, /* -0.12057=f(-0.12000)*/
+{17, 0,123,__LINE__, 0xbfbc462d, 0x5b22fd0b, 0xbfbc28f5, 0xc28f5be2}, /* -0.11044=f(-0.11000)*/
+{18, 0,123,__LINE__, 0xbfb9af88, 0x775294d2, 0xbfb99999, 0x99999953}, /* -0.10033=f(-0.00100)*/
+{19, 0,123,__LINE__, 0xbfb71a37, 0x986fb16c, 0xbfb70a3d, 0x70a3d6c4}, /* -0.09024=f(-0.09000)*/
+{16, 0,123,__LINE__, 0xbfb48617, 0xe06053a2, 0xbfb47ae1, 0x47ae1435}, /* -0.08017=f(-0.08000)*/
+{19, 0,123,__LINE__, 0xbfb1f307, 0x1446b81c, 0xbfb1eb85, 0x1eb851a6}, /* -0.07011=f(-0.07000)*/
+{17, 0,123,__LINE__, 0xbfaec1c5, 0x462ce097, 0xbfaeb851, 0xeb851e2d}, /* -0.06007=f(-0.06000)*/
+{21, 0,123,__LINE__, 0xbfa99f11, 0x2eccbf2c, 0xbfa99999, 0x9999990e}, /* -0.05004=f(-0.05000)*/
+{21, 0,123,__LINE__, 0xbfa47dad, 0x91e06543, 0xbfa47ae1, 0x47ae13ef}, /* -0.04002=f(-0.04000)*/
+{22, 0,123,__LINE__, 0xbf9ebaae, 0x24cfb752, 0xbf9eb851, 0xeb851da0}, /* -0.03000=f(-0.03000)*/
+{23, 0,123,__LINE__, 0xbf947b94, 0x37e95c0b, 0xbf947ae1, 0x47ae1362}, /* -0.02000=f(-0.02000)*/
+{23, 0,123,__LINE__, 0xbf847b0e, 0x045fdf61, 0xbf847ae1, 0x47ae1249}, /* -0.01000=f(-0.00010)*/
+{ 2, 0,123,__LINE__, 0x3cd19000, 0x00000000, 0x3cd19000, 0x00000000}, /* 9.74915e-16=f(9.74915e-16)*/
+{23, 0,123,__LINE__, 0x3f847b0e, 0x045fdf61, 0x3f847ae1, 0x47ae16ad}, /* 0.01000=f(0.01000)*/
+{23, 0,123,__LINE__, 0x3f947b94, 0x37e95c0b, 0x3f947ae1, 0x47ae1594}, /* 0.02000=f(0.02000)*/
+{22, 0,123,__LINE__, 0x3f9ebaae, 0x24cfb752, 0x3f9eb851, 0xeb851fd2}, /* 0.03000=f(0.03000)*/
+{21, 0,123,__LINE__, 0x3fa47dad, 0x91e06543, 0x3fa47ae1, 0x47ae1508}, /* 0.04002=f(0.04000)*/
+{21, 0,123,__LINE__, 0x3fa99f11, 0x2eccbf2c, 0x3fa99999, 0x99999a27}, /* 0.05004=f(0.05000)*/
+{17, 0,123,__LINE__, 0x3faec1c5, 0x462ce097, 0x3faeb851, 0xeb851f46}, /* 0.06007=f(0.06000)*/
+{19, 0,123,__LINE__, 0x3fb1f307, 0x1446b81c, 0x3fb1eb85, 0x1eb85232}, /* 0.07011=f(0.07000)*/
+{16, 0,123,__LINE__, 0x3fb48617, 0xe06053a2, 0x3fb47ae1, 0x47ae14c1}, /* 0.08017=f(0.08000)*/
+{19, 0,123,__LINE__, 0x3fb71a37, 0x986fb16c, 0x3fb70a3d, 0x70a3d750}, /* 0.09024=f(0.09000)*/
+{18, 0,123,__LINE__, 0x3fb9af88, 0x775294d2, 0x3fb99999, 0x999999df}, /* 0.10033=f(0.10000)*/
+{17, 0,123,__LINE__, 0x3fbc462d, 0x5b22fd0b, 0x3fbc28f5, 0xc28f5c6e}, /* 0.11044=f(0.11000)*/
+{17, 0,123,__LINE__, 0x3fbede49, 0x9104b8d8, 0x3fbeb851, 0xeb851efd}, /* 0.12057=f(0.12000)*/
+{19, 0,123,__LINE__, 0x3fc0bc00, 0x2285a47a, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.13073=f(0.13000)*/
+{14, 0,123,__LINE__, 0x3fc209ba, 0x880c5f49, 0x3fc1eb85, 0x1eb8520e}, /* 0.14092=f(0.14000)*/
+{17, 0,123,__LINE__, 0x3fc35866, 0x273726ca, 0x3fc33333, 0x33333356}, /* 0.15113=f(0.15000)*/
+{16, 0,123,__LINE__, 0x3fc4a814, 0xfe573588, 0x3fc47ae1, 0x47ae149e}, /* 0.16137=f(0.16000)*/
+{18, 0,123,__LINE__, 0x3fc5f8d9, 0xce721592, 0x3fc5c28f, 0x5c28f5e6}, /* 0.17165=f(0.17000)*/
+{17, 0,123,__LINE__, 0x3fc74ac7, 0x1ea87149, 0x3fc70a3d, 0x70a3d72e}, /* 0.18196=f(0.18000)*/
+{16, 0,123,__LINE__, 0x3fc89def, 0xcd08bbff, 0x3fc851eb, 0x851eb876}, /* 0.19231=f(0.19000)*/
+{17, 0,123,__LINE__, 0x3fc9f267, 0x18b23cb5, 0x3fc99999, 0x999999be}, /* 0.20271=f(0.20000)*/
+{15, 0,123,__LINE__, 0x3fcb4840, 0x5ef1cde7, 0x3fcae147, 0xae147b06}, /* 0.21314=f(0.21000)*/
+{16, 0,123,__LINE__, 0x3fcc9f8f, 0xa9db8e2b, 0x3fcc28f5, 0xc28f5c4e}, /* 0.22361=f(0.22000)*/
+{16, 0,123,__LINE__, 0x3fcdf868, 0xde3343a6, 0x3fcd70a3, 0xd70a3d96}, /* 0.23414=f(0.23000)*/
+{15, 0,123,__LINE__, 0x3fcf52e0, 0x751724d3, 0x3fceb851, 0xeb851ede}, /* 0.24471=f(0.24000)*/
+{17, 0,123,__LINE__, 0x3fd05785, 0xa2aa8f5d, 0x3fd00000, 0x00000013}, /* 0.25534=f(0.25000)*/
+{15, 0,123,__LINE__, 0x3fd1067f, 0x22f340e2, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.26602=f(0.26000)*/
+{16, 0,123,__LINE__, 0x3fd1b667, 0xbd871769, 0x3fd147ae, 0x147ae15b}, /* 0.27675=f(0.27000)*/
+{14, 0,123,__LINE__, 0x3fd2674a, 0x365ed2ae, 0x3fd1eb85, 0x1eb851ff}, /* 0.28755=f(0.28000)*/
+{15, 0,123,__LINE__, 0x3fd31931, 0xe060c520, 0x3fd28f5c, 0x28f5c2a3}, /* 0.29841=f(0.29000)*/
+{16, 0,123,__LINE__, 0x3fd3cc2a, 0x5ad65335, 0x3fd33333, 0x33333347}, /* 0.30933=f(0.30000)*/
+{13, 0,123,__LINE__, 0x3fd4803e, 0xea116264, 0x3fd3d70a, 0x3d70a3eb}, /* 0.32032=f(0.31000)*/
+{15, 0,123,__LINE__, 0x3fd5357b, 0xe63018f6, 0x3fd47ae1, 0x47ae148f}, /* 0.33138=f(0.32000)*/
+{16, 0,123,__LINE__, 0x3fd5ebed, 0x814343f4, 0x3fd51eb8, 0x51eb8533}, /* 0.34252=f(0.33000)*/
+{14, 0,123,__LINE__, 0x3fd6a3a0, 0x09c992e0, 0x3fd5c28f, 0x5c28f5d7}, /* 0.35373=f(0.34000)*/
+{15, 0,123,__LINE__, 0x3fd75ca0, 0x82a3500f, 0x3fd66666, 0x6666667b}, /* 0.36502=f(0.35000)*/
+{12, 0,123,__LINE__, 0x3fd816fc, 0x07412ce9, 0x3fd70a3d, 0x70a3d71f}, /* 0.37640=f(0.36000)*/
+{12, 0,123,__LINE__, 0x3fd8d2c0, 0x07dca0a5, 0x3fd7ae14, 0x7ae147c3}, /* 0.38786=f(0.37000)*/
+{15, 0,123,__LINE__, 0x3fd98ffa, 0x4e05150d, 0x3fd851eb, 0x851eb867}, /* 0.39941=f(0.38000)*/
+{14, 0,123,__LINE__, 0x3fda4eb9, 0x401b707d, 0x3fd8f5c2, 0x8f5c290b}, /* 0.41105=f(0.39000)*/
+{14, 0,123,__LINE__, 0x3fdb0f0b, 0x4978206b, 0x3fd99999, 0x999999af}, /* 0.42279=f(0.40000)*/
+{15, 0,123,__LINE__, 0x3fdbd0ff, 0x60047876, 0x3fda3d70, 0xa3d70a53}, /* 0.43463=f(0.41000)*/
+{13, 0,123,__LINE__, 0x3fdc94a5, 0x0a6220fa, 0x3fdae147, 0xae147af7}, /* 0.44657=f(0.42000)*/
+{13, 0,123,__LINE__, 0x3fdd5a0c, 0x033c25a0, 0x3fdb851e, 0xb851eb9b}, /* 0.45862=f(0.43000)*/
+{14, 0,123,__LINE__, 0x3fde2144, 0x9284fe48, 0x3fdc28f5, 0xc28f5c3f}, /* 0.47078=f(0.44000)*/
+{14, 0,123,__LINE__, 0x3fdeea5f, 0xd110f177, 0x3fdccccc, 0xcccccce3}, /* 0.48305=f(0.45000)*/
+{14, 0,123,__LINE__, 0x3fdfb56e, 0xceae5e05, 0x3fdd70a3, 0xd70a3d87}, /* 0.49544=f(0.46000)*/
+{10, 0,123,__LINE__, 0x3fe04141, 0xb4ad5c2d, 0x3fde147a, 0xe147ae2b}, /* 0.50796=f(0.47000)*/
+{10, 0,123,__LINE__, 0x3fe0a8d8, 0x0a4956f5, 0x3fdeb851, 0xeb851ecf}, /* 0.52061=f(0.48000)*/
+{10, 0,123,__LINE__, 0x3fe11183, 0xff3448f4, 0x3fdf5c28, 0xf5c28f73}, /* 0.53338=f(0.49000)*/
+{15, 0,123,__LINE__, 0x3fe17b4f, 0x6c66f0e1, 0x3fe00000, 0x0000000b}, /* 0.54630=f(0.50000)*/
+{15, 0,123,__LINE__, 0x3fe1e644, 0x2ff16a35, 0x3fe051eb, 0x851eb85d}, /* 0.55935=f(0.51000)*/
+{14, 0,123,__LINE__, 0x3fe2526d, 0x0988d60f, 0x3fe0a3d7, 0x0a3d70af}, /* 0.57256=f(0.52000)*/
+{14, 0,123,__LINE__, 0x3fe2bfd4, 0xfeeb10a3, 0x3fe0f5c2, 0x8f5c2901}, /* 0.58591=f(0.53000)*/
+{14, 0,123,__LINE__, 0x3fe32e87, 0x1791a835, 0x3fe147ae, 0x147ae153}, /* 0.59942=f(0.54000)*/
+{14, 0,123,__LINE__, 0x3fe39e8e, 0xdcee4dab, 0x3fe19999, 0x999999a5}, /* 0.61310=f(0.55000)*/
+{13, 0,123,__LINE__, 0x3fe40ff8, 0x7abe2d6d, 0x3fe1eb85, 0x1eb851f7}, /* 0.62694=f(0.56000)*/
+{13, 0,123,__LINE__, 0x3fe482d0, 0x863bd3e6, 0x3fe23d70, 0xa3d70a49}, /* 0.64096=f(0.57000)*/
+{13, 0,123,__LINE__, 0x3fe4f723, 0xb1c7defb, 0x3fe28f5c, 0x28f5c29b}, /* 0.65516=f(0.58000)*/
+{13, 0,123,__LINE__, 0x3fe56cff, 0xf73da40d, 0x3fe2e147, 0xae147aed}, /* 0.66955=f(0.59000)*/
+{13, 0,123,__LINE__, 0x3fe5e472, 0xf54ac1cd, 0x3fe33333, 0x3333333f}, /* 0.68413=f(0.60000)*/
+{13, 0,123,__LINE__, 0x3fe65d8b, 0x3a5a9ac2, 0x3fe3851e, 0xb851eb91}, /* 0.69891=f(0.61000)*/
+{13, 0,123,__LINE__, 0x3fe6d857, 0xa6938407, 0x3fe3d70a, 0x3d70a3e3}, /* 0.71390=f(0.62000)*/
+{14, 0,123,__LINE__, 0x3fe754e8, 0x7d3a768e, 0x3fe428f5, 0xc28f5c35}, /* 0.72911=f(0.63000)*/
+{14, 0,123,__LINE__, 0x3fe7d34d, 0x9cd5962b, 0x3fe47ae1, 0x47ae1487}, /* 0.74454=f(0.64000)*/
+{12, 0,123,__LINE__, 0x3fe85398, 0x1f2129f6, 0x3fe4cccc, 0xccccccd9}, /* 0.76020=f(0.65000)*/
+{12, 0,123,__LINE__, 0x3fe8d5da, 0x0959b4d1, 0x3fe51eb8, 0x51eb852b}, /* 0.77610=f(0.66000)*/
+{12, 0,123,__LINE__, 0x3fe95a25, 0x8371b38d, 0x3fe570a3, 0xd70a3d7d}, /* 0.79225=f(0.67000)*/
+{12, 0,123,__LINE__, 0x3fe9e08d, 0xcd0c4515, 0x3fe5c28f, 0x5c28f5cf}, /* 0.80866=f(0.68000)*/
+{12, 0,123,__LINE__, 0x3fea6927, 0x36d404a7, 0x3fe6147a, 0xe147ae21}, /* 0.82533=f(0.69000)*/
+{12, 0,123,__LINE__, 0x3feaf406, 0xb7b84f13, 0x3fe66666, 0x66666673}, /* 0.84228=f(0.70000)*/
+{12, 0,123,__LINE__, 0x3feb8142, 0x14ec2f58, 0x3fe6b851, 0xeb851ec5}, /* 0.85952=f(0.71000)*/
+{12, 0,123,__LINE__, 0x3fec10f0, 0xd1dce257, 0x3fe70a3d, 0x70a3d717}, /* 0.87706=f(0.72000)*/
+{12, 0,123,__LINE__, 0x3feca32a, 0x27dbdb5f, 0x3fe75c28, 0xf5c28f69}, /* 0.89491=f(0.73000)*/
+{12, 0,123,__LINE__, 0x3fed3807, 0xa38f5e1e, 0x3fe7ae14, 0x7ae147bb}, /* 0.91308=f(0.74000)*/
+{13, 0,123,__LINE__, 0x3fedcfa3, 0x6f0e1bb8, 0x3fe80000, 0x0000000d}, /* 0.93159=f(0.75000)*/
+{13, 0,123,__LINE__, 0x3fee6a19, 0x1a5a5d47, 0x3fe851eb, 0x851eb85f}, /* 0.95045=f(0.76000)*/
+{13, 0,123,__LINE__, 0x3fef0785, 0xe6cc72c0, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.96966=f(0.77000)*/
+{13, 0,123,__LINE__, 0x3fefa807, 0xb37fe893, 0x3fe8f5c2, 0x8f5c2903}, /* 0.98926=f(0.78000)*/
+{11, 0,123,__LINE__, 0x3ff025df, 0x6f29f2ec, 0x3fe947ae, 0x147ae155}, /* 1.00924=f(0.79000)*/
+{11, 0,123,__LINE__, 0x3ff07966, 0x513a3b5a, 0x3fe99999, 0x999999a7}, /* 1.02963=f(0.80000)*/
+{11, 0,123,__LINE__, 0x3ff0ceaa, 0x1f93873e, 0x3fe9eb85, 0x1eb851f9}, /* 1.05045=f(0.81000)*/
+{11, 0,123,__LINE__, 0x3ff125bd, 0x4df8fefb, 0x3fea3d70, 0xa3d70a4b}, /* 1.07171=f(0.82000)*/
+{11, 0,123,__LINE__, 0x3ff17eb3, 0x91304e28, 0x3fea8f5c, 0x28f5c29d}, /* 1.09343=f(0.83000)*/
+{11, 0,123,__LINE__, 0x3ff1d9a1, 0x4ce6a1cc, 0x3feae147, 0xae147aef}, /* 1.11563=f(0.84000)*/
+{11, 0,123,__LINE__, 0x3ff2369c, 0x7eb294a6, 0x3feb3333, 0x33333341}, /* 1.13833=f(0.85000)*/
+{11, 0,123,__LINE__, 0x3ff295bb, 0xbebe939a, 0x3feb851e, 0xb851eb93}, /* 1.16155=f(0.86000)*/
+{11, 0,123,__LINE__, 0x3ff2f717, 0x54f79b3d, 0x3febd70a, 0x3d70a3e5}, /* 1.18532=f(0.87000)*/
+{11, 0,123,__LINE__, 0x3ff35ac8, 0xb71c3141, 0x3fec28f5, 0xc28f5c37}, /* 1.20966=f(0.88000)*/
+{11, 0,123,__LINE__, 0x3ff3c0eb, 0x5d6dc71b, 0x3fec7ae1, 0x47ae1489}, /* 1.23459=f(0.89000)*/
+{11, 0,123,__LINE__, 0x3ff4299b, 0xb677a625, 0x3feccccc, 0xccccccdb}, /* 1.26015=f(0.90000)*/
+{11, 0,123,__LINE__, 0x3ff494f8, 0x1ca9a021, 0x3fed1eb8, 0x51eb852d}, /* 1.28636=f(0.91000)*/
+{11, 0,123,__LINE__, 0x3ff50320, 0xdce90618, 0x3fed70a3, 0xd70a3d7f}, /* 1.31326=f(0.92000)*/
+{11, 0,123,__LINE__, 0x3ff57438, 0x289b5e3b, 0x3fedc28f, 0x5c28f5d1}, /* 1.34087=f(0.93000)*/
+{11, 0,123,__LINE__, 0x3ff5e862, 0x7bea5ee0, 0x3fee147a, 0xe147ae23}, /* 1.36923=f(0.94000)*/
+{11, 0,123,__LINE__, 0x3ff65fc6, 0x7a1852b8, 0x3fee6666, 0x66666675}, /* 1.39838=f(0.95000)*/
+{11, 0,123,__LINE__, 0x3ff6da8d, 0x465b10d3, 0x3feeb851, 0xeb851ec7}, /* 1.42835=f(0.96000)*/
+{11, 0,123,__LINE__, 0x3ff758e3, 0x5c5c4bc3, 0x3fef0a3d, 0x70a3d719}, /* 1.45920=f(0.97000)*/
+{11, 0,123,__LINE__, 0x3ff7daf7, 0x25adb72c, 0x3fef5c28, 0xf5c28f6b}, /* 1.49095=f(0.98000)*/
+{11, 0,123,__LINE__, 0x3ff860fa, 0xfc5b36cb, 0x3fefae14, 0x7ae147bd}, /* 1.52367=f(0.99000)*/
+{12, 0,123,__LINE__, 0x3ff8eb24, 0x557be2c5, 0x3ff00000, 0x00000007}, /* 1.55740=f(1.00000)*/
+{12, 0,123,__LINE__, 0x3ff979ad, 0x0a3bf80e, 0x3ff028f5, 0xc28f5c30}, /* 1.59220=f(1.01000)*/
+{12, 0,123,__LINE__, 0x3ffa0cd2, 0x792fd5e4, 0x3ff051eb, 0x851eb859}, /* 1.62813=f(1.02000)*/
+{12, 0,123,__LINE__, 0x3ffaa4d6, 0xdfc58e3b, 0x3ff07ae1, 0x47ae1482}, /* 1.66524=f(1.03000)*/
+{12, 0,123,__LINE__, 0x3ffb4201, 0x4882fd2c, 0x3ff0a3d7, 0x0a3d70ab}, /* 1.70361=f(1.04000)*/
+{12, 0,123,__LINE__, 0x3ffbe49e, 0x8f515157, 0x3ff0cccc, 0xccccccd4}, /* 1.74331=f(1.05000)*/
+{12, 0,123,__LINE__, 0x3ffc8d00, 0xd97f0c46, 0x3ff0f5c2, 0x8f5c28fd}, /* 1.78442=f(1.06000)*/
+{12, 0,123,__LINE__, 0x3ffd3b82, 0x4a60b096, 0x3ff11eb8, 0x51eb8526}, /* 1.82702=f(1.07000)*/
+{12, 0,123,__LINE__, 0x3ffdf081, 0x9f873dbf, 0x3ff147ae, 0x147ae14f}, /* 1.87121=f(1.08000)*/
+{12, 0,123,__LINE__, 0x3ffeac68, 0x9d7c22ff, 0x3ff170a3, 0xd70a3d78}, /* 1.91709=f(1.09000)*/
+{12, 0,123,__LINE__, 0x3fff6fa7, 0xeae23a93, 0x3ff19999, 0x999999a1}, /* 1.96476=f(1.10000)*/
+{ 1, 0,123,__LINE__, 0x40001d5d, 0x5f776659, 0x3ff1c28f, 0x5c28f5ca}, /* 2.01433=f(1.11000)*/
+{ 1, 0,123,__LINE__, 0x40008713, 0x8be051ea, 0x3ff1eb85, 0x1eb851f3}, /* 2.06595=f(1.12000)*/
+{ 1, 0,123,__LINE__, 0x4000f53f, 0x76ea55a9, 0x3ff2147a, 0xe147ae1c}, /* 2.11975=f(1.13000)*/
+{ 1, 0,123,__LINE__, 0x40016831, 0x1d167463, 0x3ff23d70, 0xa3d70a45}, /* 2.17587=f(1.14000)*/
+{ 1, 0,123,__LINE__, 0x4001e03f, 0xd68293e3, 0x3ff26666, 0x6666666e}, /* 2.23449=f(1.15000)*/
+{ 1, 0,123,__LINE__, 0x40025dcb, 0x75d83ff1, 0x3ff28f5c, 0x28f5c297}, /* 2.29579=f(1.16000)*/
+{ 1, 0,123,__LINE__, 0x4002e13d, 0x9fc3ce6f, 0x3ff2b851, 0xeb851ec0}, /* 2.35998=f(1.17000)*/
+{ 1, 0,123,__LINE__, 0x40036b0a, 0x697947b9, 0x3ff2e147, 0xae147ae9}, /* 2.42726=f(1.18000)*/
+{ 1, 0,123,__LINE__, 0x4003fbb2, 0xd945e787, 0x3ff30a3d, 0x70a3d712}, /* 2.49790=f(1.19000)*/
+{ 1, 0,123,__LINE__, 0xbe8777a5, 0xc0000000, 0xc01921fb, 0x54442d18}, /* -1.74846e-07=f(-6.28318)*/
+{ 0, 0,123,__LINE__, 0x4193fe4d, 0xa6dc0b8b, 0xc012d97c, 0x7f3321d2}, /* 8.38583e+07=f(-4.71238)*/
+{ 0, 0,123,__LINE__, 0xbe7777a5, 0xc0000000, 0xc00921fb, 0x54442d18}, /* -8.74228e-08=f(-3.14159)*/
+{ 0, 0,123,__LINE__, 0x4175d149, 0x55395d8c, 0xbff921fb, 0x54442d18}, /* 2.28773e+07=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{ 0, 0,123,__LINE__, 0xc175d149, 0x55395d8c, 0x3ff921fb, 0x54442d18}, /* -2.28773e+07=f(1.57079)*/
+{ 0, 0,123,__LINE__, 0x3e7777a5, 0xc0000000, 0x400921fb, 0x54442d18}, /* 8.74228e-08=f(3.14159)*/
+{ 0, 0,123,__LINE__, 0xc193fe4d, 0xa6dc0b8b, 0x4012d97c, 0x7f3321d2}, /* -8.38583e+07=f(4.71238)*/
+{ 1, 0,123,__LINE__, 0x40199f0f, 0x27615149, 0xc03e0000, 0x00000000}, /* 6.40533=f(-30.0000)*/
+{ 0, 0,123,__LINE__, 0xbf9a497f, 0x04d53b60, 0xc03c4ccc, 0xcccccccd}, /* -0.02567=f(-28.3000)*/
+{10, 0,123,__LINE__, 0xc0233f66, 0xa749aaa3, 0xc03a9999, 0x9999999a}, /* -9.62383=f(-26.6000)*/
+{10, 0,123,__LINE__, 0x3fce573b, 0x9297a04b, 0xc038e666, 0x66666667}, /* 0.23703=f(-24.9000)*/
+{ 0, 0,123,__LINE__, 0xc005210f, 0x278724c9, 0xc0373333, 0x33333334}, /* -2.64114=f(-23.2000)*/
+{ 0, 0,123,__LINE__, 0x3fe11d9b, 0xecc8f3e1, 0xc0358000, 0x00000001}, /* 0.53486=f(-21.5000)*/
+{12, 0,123,__LINE__, 0xbff66525, 0x1fb50b52, 0xc033cccc, 0xccccccce}, /* -1.39969=f(-19.8000)*/
+{11, 0,123,__LINE__, 0x3fedc8d6, 0xf318ea3e, 0xc0321999, 0x9999999b}, /* 0.93076=f(-18.1000)*/
+{ 0, 0,123,__LINE__, 0xbfea853e, 0xdf877c46, 0xc0306666, 0x66666668}, /* -0.82876=f(-16.4000)*/
+{ 0, 0,123,__LINE__, 0x3ff95c48, 0x49def39c, 0xc02d6666, 0x6666666a}, /* 1.58503=f(-14.7000)*/
+{ 1, 0,123,__LINE__, 0xbfdda223, 0x56cf430d, 0xc02a0000, 0x00000004}, /* -0.46302=f(-13.0000)*/
+{ 1, 0,123,__LINE__, 0x4009764c, 0xead1c266, 0xc0269999, 0x9999999e}, /* 3.18276=f(-11.3000)*/
+{ 0, 0,123,__LINE__, 0xbfc6a92e, 0x6a1e57c7, 0xc0233333, 0x33333338}, /* -0.17703=f(-9.60000)*/
+{ 0, 0,123,__LINE__, 0x4035b70e, 0xa0da4c53, 0xc01f9999, 0x999999a3}, /* 21.7150=f(-7.90000)*/
+{ 1, 0,123,__LINE__, 0x3fb55841, 0x3f74c4ae, 0xc018cccc, 0xccccccd6}, /* 0.08337=f(-6.20000)*/
+{ 0, 0,123,__LINE__, 0xc0128ca0, 0xc0967da8, 0xc0120000, 0x00000009}, /* -4.63733=f(-4.50000)*/
+{ 0, 0,123,__LINE__, 0x3fd6c100, 0x5a9084a9, 0xc0066666, 0x66666678}, /* 0.35552=f(-2.80000)*/
+{12, 0,123,__LINE__, 0xbfff6fa7, 0xeae23a93, 0xbff19999, 0x999999bd}, /* -1.96476=f(-1.10000)*/
+{13, 0,123,__LINE__, 0x3fe5e472, 0xf54ac1cd, 0x3fe33333, 0x333332ec}, /* 0.68413=f(0.60000)*/
+{ 1, 0,123,__LINE__, 0xbff1e84c, 0xb42a7218, 0x40026666, 0x66666654}, /* -1.11921=f(2.30000)*/
+{ 0, 0,123,__LINE__, 0x3ff2866f, 0x908b6cb4, 0x400fffff, 0xffffffee}, /* 1.15782=f(4.00000)*/
+{ 0, 0,123,__LINE__, 0xbfe51c83, 0xd0e60b2d, 0x4016cccc, 0xccccccc4}, /* -0.65973=f(5.70000)*/
+{ 0, 0,123,__LINE__, 0x400064ef, 0x579fabbb, 0x401d9999, 0x99999991}, /* 2.04928=f(7.40000)*/
+{ 0, 0,123,__LINE__, 0xbfd58c7e, 0x92511400, 0x40223333, 0x3333332f}, /* -0.33670=f(9.10000)*/
+{ 0, 0,123,__LINE__, 0x401430f0, 0xbdd4c56f, 0x40259999, 0x99999995}, /* 5.04779=f(10.8000)*/
+{ 0, 0,123,__LINE__, 0xbfb10410, 0x17477fcb, 0x4028ffff, 0xfffffffb}, /* -0.06646=f(12.5000)*/
+{ 1, 0,123,__LINE__, 0xc02fc9df, 0xd67a3cab, 0x402c6666, 0x66666661}, /* -15.8942=f(14.2000)*/
+{10, 0,123,__LINE__, 0x3fc8e328, 0x966c190b, 0x402fcccc, 0xccccccc7}, /* 0.19443=f(15.9000)*/
+{ 0, 0,123,__LINE__, 0xc0080a74, 0xb4824c6f, 0x40319999, 0x99999997}, /* -3.00510=f(17.6000)*/
+{ 1, 0,123,__LINE__, 0x3fdef355, 0xac5c412f, 0x40334ccc, 0xccccccca}, /* 0.48360=f(19.3000)*/
+{ 1, 0,123,__LINE__, 0xbff870a2, 0x2427cd2a, 0x4034ffff, 0xfffffffd}, /* -1.52749=f(21.0000)*/
+{ 0, 0,123,__LINE__, 0x3feb70ec, 0xd329acfd, 0x4036b333, 0x33333330}, /* 0.85753=f(22.7000)*/
+{ 0, 0,123,__LINE__, 0xbfeccbb5, 0xc889fb0f, 0x40386666, 0x66666663}, /* -0.89986=f(24.4000)*/
+{ 0, 0,123,__LINE__, 0x3ff735e5, 0x7ffe01fb, 0x403a1999, 0x99999996}, /* 1.45065=f(26.1000)*/
+{ 0, 0,123,__LINE__, 0xbfe06e07, 0x062e771c, 0x403bcccc, 0xccccccc9}, /* -0.51343=f(27.8000)*/
+{ 0, 0,123,__LINE__, 0x4006407d, 0xa6634ee2, 0x403d7fff, 0xfffffffc}, /* 2.78149=f(29.5000)*/
+0,};
+test_tanf(m) {run_vector_1(m,tanf_vec,(char *)(tanf),"tanf","ff"); }
diff --git a/newlib/libm/test/tanh_vec.c b/newlib/libm/test/tanh_vec.c
new file mode 100644
index 00000000000..01ad1c220ef
--- /dev/null
+++ b/newlib/libm/test/tanh_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type tanh_vec[] = {
+{64, 0,123,__LINE__, 0xbfeaad4c, 0x6d28dcaf, 0xbff33333, 0x33333333}, /* -0.83365=f(-1.20000)*/
+{64, 0,123,__LINE__, 0xbfea941a, 0x22a3e4a9, 0xbff30a3d, 0x70a3d70a}, /* -0.83057=f(-1.19000)*/
+{64, 0,123,__LINE__, 0xbfea7a7b, 0xcd09aecf, 0xbff2e147, 0xae147ae1}, /* -0.82745=f(-1.18000)*/
+{60, 0,123,__LINE__, 0xbfea6070, 0x07d3d0d8, 0xbff2b851, 0xeb851eb8}, /* -0.82427=f(-1.17000)*/
+{63, 0,123,__LINE__, 0xbfea45f5, 0x6de12a6b, 0xbff28f5c, 0x28f5c28f}, /* -0.82103=f(-1.16000)*/
+{64, 0,123,__LINE__, 0xbfea2b0a, 0x99a1b256, 0xbff26666, 0x66666666}, /* -0.81775=f(-1.15000)*/
+{64, 0,123,__LINE__, 0xbfea0fae, 0x254400cf, 0xbff23d70, 0xa3d70a3d}, /* -0.81441=f(-1.14000)*/
+{64, 0,123,__LINE__, 0xbfe9f3de, 0xaae49d27, 0xbff2147a, 0xe147ae14}, /* -0.81101=f(-1.13000)*/
+{64, 0,123,__LINE__, 0xbfe9d79a, 0xc4bf14e4, 0xbff1eb85, 0x1eb851eb}, /* -0.80756=f(-1.12000)*/
+{64, 0,123,__LINE__, 0xbfe9bae1, 0x0d60e1cc, 0xbff1c28f, 0x5c28f5c2}, /* -0.80406=f(-1.11000)*/
+{64, 0,123,__LINE__, 0xbfe99db0, 0x1fde2404, 0xbff19999, 0x99999999}, /* -0.80049=f(-1.10000)*/
+{63, 0,123,__LINE__, 0xbfe98006, 0x98083507, 0xbff170a3, 0xd70a3d70}, /* -0.79687=f(-1.09000)*/
+{64, 0,123,__LINE__, 0xbfe961e3, 0x12a61778, 0xbff147ae, 0x147ae147}, /* -0.79319=f(-1.08000)*/
+{64, 0,123,__LINE__, 0xbfe94344, 0x2daec7a4, 0xbff11eb8, 0x51eb851e}, /* -0.78946=f(-1.07000)*/
+{64, 0,123,__LINE__, 0xbfe92428, 0x88856fa2, 0xbff0f5c2, 0x8f5c28f5}, /* -0.78566=f(-1.06000)*/
+{64, 0,123,__LINE__, 0xbfe9048e, 0xc437818f, 0xbff0cccc, 0xcccccccc}, /* -0.78180=f(-1.05000)*/
+{64, 0,123,__LINE__, 0xbfe8e475, 0x83bcb9ca, 0xbff0a3d7, 0x0a3d70a3}, /* -0.77788=f(-1.04000)*/
+{64, 0,123,__LINE__, 0xbfe8c3db, 0x6c390a32, 0xbff07ae1, 0x47ae147a}, /* -0.77390=f(-1.03000)*/
+{64, 0,123,__LINE__, 0xbfe8a2bf, 0x25406ee4, 0xbff051eb, 0x851eb851}, /* -0.76986=f(-1.02000)*/
+{63, 0,123,__LINE__, 0xbfe8811f, 0x591cac08, 0xbff028f5, 0xc28f5c28}, /* -0.76576=f(-1.01000)*/
+{64, 0,123,__LINE__, 0xbfe85efa, 0xb514f394, 0xbfefffff, 0xfffffffe}, /* -0.76159=f(-0.01000)*/
+{64, 0,123,__LINE__, 0xbfe83c4f, 0xe9b770e0, 0xbfefae14, 0x7ae147ac}, /* -0.75736=f(-0.99000)*/
+{63, 0,123,__LINE__, 0xbfe8191d, 0xab24b746, 0xbfef5c28, 0xf5c28f5a}, /* -0.75306=f(-0.98000)*/
+{64, 0,123,__LINE__, 0xbfe7f562, 0xb15d0fce, 0xbfef0a3d, 0x70a3d708}, /* -0.74870=f(-0.97000)*/
+{64, 0,123,__LINE__, 0xbfe7d11d, 0xb88fa124, 0xbfeeb851, 0xeb851eb6}, /* -0.74427=f(-0.96000)*/
+{64, 0,123,__LINE__, 0xbfe7ac4d, 0x816b6c0b, 0xbfee6666, 0x66666664}, /* -0.73978=f(-0.95000)*/
+{63, 0,123,__LINE__, 0xbfe786f0, 0xd1721548, 0xbfee147a, 0xe147ae12}, /* -0.73522=f(-0.94000)*/
+{64, 0,123,__LINE__, 0xbfe76106, 0x734c7526, 0xbfedc28f, 0x5c28f5c0}, /* -0.73059=f(-0.93000)*/
+{64, 0,123,__LINE__, 0xbfe73a8d, 0x3720e34a, 0xbfed70a3, 0xd70a3d6e}, /* -0.72589=f(-0.92000)*/
+{64, 0,123,__LINE__, 0xbfe71383, 0xf2eb34bd, 0xbfed1eb8, 0x51eb851c}, /* -0.72113=f(-0.91000)*/
+{64, 0,123,__LINE__, 0xbfe6ebe9, 0x82d6605b, 0xbfeccccc, 0xccccccca}, /* -0.71629=f(-0.90000)*/
+{61, 0,123,__LINE__, 0xbfe6c3bc, 0xc997bd23, 0xbfec7ae1, 0x47ae1478}, /* -0.71139=f(-0.89000)*/
+{64, 0,123,__LINE__, 0xbfe69afc, 0xb0cbcc26, 0xbfec28f5, 0xc28f5c26}, /* -0.70641=f(-0.88000)*/
+{64, 0,123,__LINE__, 0xbfe671a8, 0x29547ec2, 0xbfebd70a, 0x3d70a3d4}, /* -0.70137=f(-0.87000)*/
+{62, 0,123,__LINE__, 0xbfe647be, 0x2bb8e865, 0xbfeb851e, 0xb851eb82}, /* -0.69625=f(-0.86000)*/
+{64, 0,123,__LINE__, 0xbfe61d3d, 0xb88649b0, 0xbfeb3333, 0x33333330}, /* -0.69106=f(-0.85000)*/
+{63, 0,123,__LINE__, 0xbfe5f225, 0xd8b26165, 0xbfeae147, 0xae147ade}, /* -0.68580=f(-0.84000)*/
+{63, 0,123,__LINE__, 0xbfe5c675, 0x9dfeee35, 0xbfea8f5c, 0x28f5c28c}, /* -0.68047=f(-0.83000)*/
+{64, 0,123,__LINE__, 0xbfe59a2c, 0x235e4ad2, 0xbfea3d70, 0xa3d70a3a}, /* -0.67506=f(-0.82000)*/
+{62, 0,123,__LINE__, 0xbfe56d48, 0x8d590c72, 0xbfe9eb85, 0x1eb851e8}, /* -0.66959=f(-0.81000)*/
+{63, 0,123,__LINE__, 0xbfe53fca, 0x0a748a3e, 0xbfe99999, 0x99999996}, /* -0.66403=f(-0.80000)*/
+{64, 0,123,__LINE__, 0xbfe511af, 0xd39a32b6, 0xbfe947ae, 0x147ae144}, /* -0.65840=f(-0.79000)*/
+{64, 0,123,__LINE__, 0xbfe4e2f9, 0x2c7f9282, 0xbfe8f5c2, 0x8f5c28f2}, /* -0.65270=f(-0.78000)*/
+{62, 0,123,__LINE__, 0xbfe4b3a5, 0x640eeeb6, 0xbfe8a3d7, 0x0a3d70a0}, /* -0.64692=f(-0.77000)*/
+{62, 0,123,__LINE__, 0xbfe483b3, 0xd4d052ee, 0xbfe851eb, 0x851eb84e}, /* -0.64107=f(-0.76000)*/
+{64, 0,123,__LINE__, 0xbfe45323, 0xe552f226, 0xbfe7ffff, 0xfffffffc}, /* -0.63514=f(-0.75000)*/
+{64, 0,123,__LINE__, 0xbfe421f5, 0x0896b7b0, 0xbfe7ae14, 0x7ae147aa}, /* -0.62914=f(-0.74000)*/
+{64, 0,123,__LINE__, 0xbfe3f026, 0xbe75e420, 0xbfe75c28, 0xf5c28f58}, /* -0.62306=f(-0.73000)*/
+{63, 0,123,__LINE__, 0xbfe3bdb8, 0x940e909b, 0xbfe70a3d, 0x70a3d706}, /* -0.61690=f(-0.72000)*/
+{64, 0,123,__LINE__, 0xbfe38aaa, 0x242bf149, 0xbfe6b851, 0xeb851eb4}, /* -0.61067=f(-0.71000)*/
+{64, 0,123,__LINE__, 0xbfe356fb, 0x17af2e8e, 0xbfe66666, 0x66666662}, /* -0.60436=f(-0.70000)*/
+{63, 0,123,__LINE__, 0xbfe322ab, 0x25f7aadc, 0xbfe6147a, 0xe147ae10}, /* -0.59798=f(-0.69000)*/
+{63, 0,123,__LINE__, 0xbfe2edba, 0x154a89f9, 0xbfe5c28f, 0x5c28f5be}, /* -0.59151=f(-0.68000)*/
+{64, 0,123,__LINE__, 0xbfe2b827, 0xbb394cea, 0xbfe570a3, 0xd70a3d6c}, /* -0.58497=f(-0.67000)*/
+{64, 0,123,__LINE__, 0xbfe281f3, 0xfd0754b6, 0xbfe51eb8, 0x51eb851a}, /* -0.57836=f(-0.66000)*/
+{62, 0,123,__LINE__, 0xbfe24b1e, 0xd00e1cb8, 0xbfe4cccc, 0xccccccc8}, /* -0.57166=f(-0.65000)*/
+{64, 0,123,__LINE__, 0xbfe213a8, 0x3a1ffc62, 0xbfe47ae1, 0x47ae1476}, /* -0.56489=f(-0.64000)*/
+{63, 0,123,__LINE__, 0xbfe1db90, 0x51e93ee4, 0xbfe428f5, 0xc28f5c24}, /* -0.55805=f(-0.63000)*/
+{62, 0,123,__LINE__, 0xbfe1a2d7, 0x3f4f5e90, 0xbfe3d70a, 0x3d70a3d2}, /* -0.55112=f(-0.62000)*/
+{61, 0,123,__LINE__, 0xbfe1697d, 0x3bce3092, 0xbfe3851e, 0xb851eb80}, /* -0.54412=f(-0.61000)*/
+{63, 0,123,__LINE__, 0xbfe12f82, 0x92d2ccf8, 0xbfe33333, 0x3333332e}, /* -0.53704=f(-0.60000)*/
+{62, 0,123,__LINE__, 0xbfe0f4e7, 0xa213fe44, 0xbfe2e147, 0xae147adc}, /* -0.52989=f(-0.59000)*/
+{64, 0,123,__LINE__, 0xbfe0b9ac, 0xd9e8032a, 0xbfe28f5c, 0x28f5c28a}, /* -0.52266=f(-0.58000)*/
+{64, 0,123,__LINE__, 0xbfe07dd2, 0xbd976c80, 0xbfe23d70, 0xa3d70a38}, /* -0.51535=f(-0.57000)*/
+{57, 0,123,__LINE__, 0xbfe04159, 0xe3ace13f, 0xbfe1eb85, 0x1eb851e6}, /* -0.50797=f(-0.56000)*/
+{54, 0,123,__LINE__, 0xbfe00442, 0xf64191fe, 0xbfe19999, 0x99999994}, /* -0.50052=f(-0.55000)*/
+{64, 0,123,__LINE__, 0xbfdf8d1d, 0x668c4a9c, 0xbfe147ae, 0x147ae142}, /* -0.49298=f(-0.54000)*/
+{64, 0,123,__LINE__, 0xbfdf107b, 0xd98fcce8, 0xbfe0f5c2, 0x8f5c28f0}, /* -0.48538=f(-0.53000)*/
+{64, 0,123,__LINE__, 0xbfde92a3, 0x1263fffb, 0xbfe0a3d7, 0x0a3d709e}, /* -0.47770=f(-0.52000)*/
+{64, 0,123,__LINE__, 0xbfde1395, 0x0715184e, 0xbfe051eb, 0x851eb84c}, /* -0.46994=f(-0.51000)*/
+{64, 0,123,__LINE__, 0xbfdd9353, 0xd7568aea, 0xbfdfffff, 0xfffffff4}, /* -0.46211=f(-0.50000)*/
+{64, 0,123,__LINE__, 0xbfdd11e1, 0xcceb44fe, 0xbfdf5c28, 0xf5c28f50}, /* -0.45421=f(-0.49000)*/
+{64, 0,123,__LINE__, 0xbfdc8f41, 0x5c04518a, 0xbfdeb851, 0xeb851eac}, /* -0.44624=f(-0.48000)*/
+{64, 0,123,__LINE__, 0xbfdc0b75, 0x239586a4, 0xbfde147a, 0xe147ae08}, /* -0.43819=f(-0.47000)*/
+{64, 0,123,__LINE__, 0xbfdb867f, 0xed9fd638, 0xbfdd70a3, 0xd70a3d64}, /* -0.43008=f(-0.46000)*/
+{64, 0,123,__LINE__, 0xbfdb0064, 0xaf70e0b0, 0xbfdccccc, 0xccccccc0}, /* -0.42189=f(-0.45000)*/
+{64, 0,123,__LINE__, 0xbfda7926, 0x89d76b00, 0xbfdc28f5, 0xc28f5c1c}, /* -0.41364=f(-0.44000)*/
+{64, 0,123,__LINE__, 0xbfd9f0c8, 0xc94c5cc2, 0xbfdb851e, 0xb851eb78}, /* -0.40532=f(-0.43000)*/
+{64, 0,123,__LINE__, 0xbfd9674e, 0xe60feeea, 0xbfdae147, 0xae147ad4}, /* -0.39693=f(-0.42000)*/
+{64, 0,123,__LINE__, 0xbfd8dcbc, 0x843ab76e, 0xbfda3d70, 0xa3d70a30}, /* -0.38847=f(-0.41000)*/
+{64, 0,123,__LINE__, 0xbfd85115, 0x73c242ca, 0xbfd99999, 0x9999998c}, /* -0.37994=f(-0.40000)*/
+{64, 0,123,__LINE__, 0xbfd7c45d, 0xb070f0ee, 0xbfd8f5c2, 0x8f5c28e8}, /* -0.37136=f(-0.39000)*/
+{64, 0,123,__LINE__, 0xbfd73699, 0x61d0d031, 0xbfd851eb, 0x851eb844}, /* -0.36270=f(-0.38000)*/
+{64, 0,123,__LINE__, 0xbfd6a7cc, 0xdb093664, 0xbfd7ae14, 0x7ae147a0}, /* -0.35399=f(-0.37000)*/
+{64, 0,123,__LINE__, 0xbfd617fc, 0x9aaeddca, 0xbfd70a3d, 0x70a3d6fc}, /* -0.34521=f(-0.36000)*/
+{64, 0,123,__LINE__, 0xbfd5872d, 0x4a8651c9, 0xbfd66666, 0x66666658}, /* -0.33637=f(-0.35000)*/
+{64, 0,123,__LINE__, 0xbfd4f563, 0xbf387d9c, 0xbfd5c28f, 0x5c28f5b4}, /* -0.32747=f(-0.34000)*/
+{64, 0,123,__LINE__, 0xbfd462a4, 0xf7f935d1, 0xbfd51eb8, 0x51eb8510}, /* -0.31852=f(-0.33000)*/
+{64, 0,123,__LINE__, 0xbfd3cef6, 0x1e1f9c83, 0xbfd47ae1, 0x47ae146c}, /* -0.30950=f(-0.32000)*/
+{64, 0,123,__LINE__, 0xbfd33a5c, 0x84b04735, 0xbfd3d70a, 0x3d70a3c8}, /* -0.30043=f(-0.31000)*/
+{64, 0,123,__LINE__, 0xbfd2a4dd, 0xa7d914ec, 0xbfd33333, 0x33333324}, /* -0.29131=f(-0.30000)*/
+{64, 0,123,__LINE__, 0xbfd20e7f, 0x2c5eaa96, 0xbfd28f5c, 0x28f5c280}, /* -0.28213=f(-0.29000)*/
+{64, 0,123,__LINE__, 0xbfd17746, 0xdefb93d0, 0xbfd1eb85, 0x1eb851dc}, /* -0.27290=f(-0.28000)*/
+{64, 0,123,__LINE__, 0xbfd0df3a, 0xb3b10e2e, 0xbfd147ae, 0x147ae138}, /* -0.26362=f(-0.27000)*/
+{64, 0,123,__LINE__, 0xbfd04660, 0xc5098d45, 0xbfd0a3d7, 0x0a3d7094}, /* -0.25429=f(-0.26000)*/
+{64, 0,123,__LINE__, 0xbfcf597e, 0xa69a1c68, 0xbfcfffff, 0xffffffe0}, /* -0.24491=f(-0.25000)*/
+{64, 0,123,__LINE__, 0xbfce24b9, 0x874eb37a, 0xbfceb851, 0xeb851e98}, /* -0.23549=f(-0.24000)*/
+{64, 0,123,__LINE__, 0xbfccee7f, 0x3e80b94e, 0xbfcd70a3, 0xd70a3d50}, /* -0.22602=f(-0.23000)*/
+{64, 0,123,__LINE__, 0xbfcbb6dd, 0x248d8d37, 0xbfcc28f5, 0xc28f5c08}, /* -0.21651=f(-0.22000)*/
+{64, 0,123,__LINE__, 0xbfca7de0, 0xd5da50b4, 0xbfcae147, 0xae147ac0}, /* -0.20696=f(-0.21000)*/
+{64, 0,123,__LINE__, 0xbfc94398, 0x30b3a570, 0xbfc99999, 0x99999978}, /* -0.19737=f(-0.20000)*/
+{64, 0,123,__LINE__, 0xbfc80811, 0x531380b4, 0xbfc851eb, 0x851eb830}, /* -0.18774=f(-0.19000)*/
+{64, 0,123,__LINE__, 0xbfc6cb5a, 0x984db955, 0xbfc70a3d, 0x70a3d6e8}, /* -0.17808=f(-0.18000)*/
+{64, 0,123,__LINE__, 0xbfc58d82, 0x96a4059b, 0xbfc5c28f, 0x5c28f5a0}, /* -0.16838=f(-0.17000)*/
+{64, 0,123,__LINE__, 0xbfc44e98, 0x1cc22f53, 0xbfc47ae1, 0x47ae1458}, /* -0.15864=f(-0.16000)*/
+{64, 0,123,__LINE__, 0xbfc30eaa, 0x2f235432, 0xbfc33333, 0x33333310}, /* -0.14888=f(-0.15000)*/
+{64, 0,123,__LINE__, 0xbfc1cdc8, 0x0561186b, 0xbfc1eb85, 0x1eb851c8}, /* -0.13909=f(-0.14000)*/
+{64, 0,123,__LINE__, 0xbfc08c01, 0x076dc0aa, 0xbfc0a3d7, 0x0a3d7080}, /* -0.12927=f(-0.13000)*/
+{64, 0,123,__LINE__, 0xbfbe92c9, 0x95746e8e, 0xbfbeb851, 0xeb851e71}, /* -0.11942=f(-0.12000)*/
+{64, 0,123,__LINE__, 0xbfbc0c06, 0x1e921d60, 0xbfbc28f5, 0xc28f5be2}, /* -0.10955=f(-0.11000)*/
+{64, 0,123,__LINE__, 0xbfb983d7, 0x795f40f4, 0xbfb99999, 0x99999953}, /* -0.09966=f(-0.00100)*/
+{64, 0,123,__LINE__, 0xbfb6fa5d, 0xbe0ceab2, 0xbfb70a3d, 0x70a3d6c4}, /* -0.08975=f(-0.09000)*/
+{64, 0,123,__LINE__, 0xbfb46fb9, 0x47945c79, 0xbfb47ae1, 0x47ae1435}, /* -0.07982=f(-0.08000)*/
+{64, 0,123,__LINE__, 0xbfb1e40a, 0xad5c640a, 0xbfb1eb85, 0x1eb851a6}, /* -0.06988=f(-0.07000)*/
+{64, 0,123,__LINE__, 0xbfaeaee5, 0x7989b65b, 0xbfaeb851, 0xeb851e2d}, /* -0.05992=f(-0.06000)*/
+{64, 0,123,__LINE__, 0xbfa99424, 0xe535f66d, 0xbfa99999, 0x9999990e}, /* -0.04995=f(-0.05000)*/
+{64, 0,123,__LINE__, 0xbfa47815, 0xe8f28682, 0xbfa47ae1, 0x47ae13ef}, /* -0.03997=f(-0.04000)*/
+{64, 0,123,__LINE__, 0xbf9eb5f6, 0x2856ff57, 0xbf9eb851, 0xeb851da0}, /* -0.02999=f(-0.03000)*/
+{64, 0,123,__LINE__, 0xbf947a2e, 0x5a063e00, 0xbf947ae1, 0x47ae1362}, /* -0.01999=f(-0.02000)*/
+{64, 0,123,__LINE__, 0xbf847ab4, 0x8ae4572c, 0xbf847ae1, 0x47ae1249}, /* -0.00999=f(-0.00010)*/
+{64, 0,123,__LINE__, 0x3cd19000, 0x00000000, 0x3cd19000, 0x00000000}, /* 9.74915e-16=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0x3f847ab4, 0x8ae45b90, 0x3f847ae1, 0x47ae16ad}, /* 0.00999=f(0.01000)*/
+{64, 0,123,__LINE__, 0x3f947a2e, 0x5a064032, 0x3f947ae1, 0x47ae1594}, /* 0.01999=f(0.02000)*/
+{64, 0,123,__LINE__, 0x3f9eb5f6, 0x28570189, 0x3f9eb851, 0xeb851fd2}, /* 0.02999=f(0.03000)*/
+{64, 0,123,__LINE__, 0x3fa47815, 0xe8f2879b, 0x3fa47ae1, 0x47ae1508}, /* 0.03997=f(0.04000)*/
+{64, 0,123,__LINE__, 0x3fa99424, 0xe535f785, 0x3fa99999, 0x99999a27}, /* 0.04995=f(0.05000)*/
+{64, 0,123,__LINE__, 0x3faeaee5, 0x7989b773, 0x3faeb851, 0xeb851f46}, /* 0.05992=f(0.06000)*/
+{64, 0,123,__LINE__, 0x3fb1e40a, 0xad5c6495, 0x3fb1eb85, 0x1eb85232}, /* 0.06988=f(0.07000)*/
+{64, 0,123,__LINE__, 0x3fb46fb9, 0x47945d05, 0x3fb47ae1, 0x47ae14c1}, /* 0.07982=f(0.08000)*/
+{64, 0,123,__LINE__, 0x3fb6fa5d, 0xbe0ceb3c, 0x3fb70a3d, 0x70a3d750}, /* 0.08975=f(0.09000)*/
+{64, 0,123,__LINE__, 0x3fb983d7, 0x795f417f, 0x3fb99999, 0x999999df}, /* 0.09966=f(0.10000)*/
+{64, 0,123,__LINE__, 0x3fbc0c06, 0x1e921deb, 0x3fbc28f5, 0xc28f5c6e}, /* 0.10955=f(0.11000)*/
+{64, 0,123,__LINE__, 0x3fbe92c9, 0x95746f18, 0x3fbeb851, 0xeb851efd}, /* 0.11942=f(0.12000)*/
+{64, 0,123,__LINE__, 0x3fc08c01, 0x076dc0ee, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.12927=f(0.13000)*/
+{64, 0,123,__LINE__, 0x3fc1cdc8, 0x056118b0, 0x3fc1eb85, 0x1eb8520e}, /* 0.13909=f(0.14000)*/
+{64, 0,123,__LINE__, 0x3fc30eaa, 0x2f235477, 0x3fc33333, 0x33333356}, /* 0.14888=f(0.15000)*/
+{64, 0,123,__LINE__, 0x3fc44e98, 0x1cc22f98, 0x3fc47ae1, 0x47ae149e}, /* 0.15864=f(0.16000)*/
+{64, 0,123,__LINE__, 0x3fc58d82, 0x96a405df, 0x3fc5c28f, 0x5c28f5e6}, /* 0.16838=f(0.17000)*/
+{64, 0,123,__LINE__, 0x3fc6cb5a, 0x984db998, 0x3fc70a3d, 0x70a3d72e}, /* 0.17808=f(0.18000)*/
+{64, 0,123,__LINE__, 0x3fc80811, 0x531380f8, 0x3fc851eb, 0x851eb876}, /* 0.18774=f(0.19000)*/
+{64, 0,123,__LINE__, 0x3fc94398, 0x30b3a5b3, 0x3fc99999, 0x999999be}, /* 0.19737=f(0.20000)*/
+{64, 0,123,__LINE__, 0x3fca7de0, 0xd5da50f7, 0x3fcae147, 0xae147b06}, /* 0.20696=f(0.21000)*/
+{64, 0,123,__LINE__, 0x3fcbb6dd, 0x248d8d7a, 0x3fcc28f5, 0xc28f5c4e}, /* 0.21651=f(0.22000)*/
+{64, 0,123,__LINE__, 0x3fccee7f, 0x3e80b991, 0x3fcd70a3, 0xd70a3d96}, /* 0.22602=f(0.23000)*/
+{64, 0,123,__LINE__, 0x3fce24b9, 0x874eb3bc, 0x3fceb851, 0xeb851ede}, /* 0.23549=f(0.24000)*/
+{64, 0,123,__LINE__, 0x3fcf597e, 0xa69a1caa, 0x3fd00000, 0x00000013}, /* 0.24491=f(0.25000)*/
+{64, 0,123,__LINE__, 0x3fd04660, 0xc5098d66, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.25429=f(0.26000)*/
+{64, 0,123,__LINE__, 0x3fd0df3a, 0xb3b10e4e, 0x3fd147ae, 0x147ae15b}, /* 0.26362=f(0.27000)*/
+{64, 0,123,__LINE__, 0x3fd17746, 0xdefb93f0, 0x3fd1eb85, 0x1eb851ff}, /* 0.27290=f(0.28000)*/
+{64, 0,123,__LINE__, 0x3fd20e7f, 0x2c5eaab6, 0x3fd28f5c, 0x28f5c2a3}, /* 0.28213=f(0.29000)*/
+{64, 0,123,__LINE__, 0x3fd2a4dd, 0xa7d9150c, 0x3fd33333, 0x33333347}, /* 0.29131=f(0.30000)*/
+{64, 0,123,__LINE__, 0x3fd33a5c, 0x84b04755, 0x3fd3d70a, 0x3d70a3eb}, /* 0.30043=f(0.31000)*/
+{64, 0,123,__LINE__, 0x3fd3cef6, 0x1e1f9ca2, 0x3fd47ae1, 0x47ae148f}, /* 0.30950=f(0.32000)*/
+{64, 0,123,__LINE__, 0x3fd462a4, 0xf7f935f1, 0x3fd51eb8, 0x51eb8533}, /* 0.31852=f(0.33000)*/
+{64, 0,123,__LINE__, 0x3fd4f563, 0xbf387dbb, 0x3fd5c28f, 0x5c28f5d7}, /* 0.32747=f(0.34000)*/
+{64, 0,123,__LINE__, 0x3fd5872d, 0x4a8651e8, 0x3fd66666, 0x6666667b}, /* 0.33637=f(0.35000)*/
+{64, 0,123,__LINE__, 0x3fd617fc, 0x9aaedde9, 0x3fd70a3d, 0x70a3d71f}, /* 0.34521=f(0.36000)*/
+{64, 0,123,__LINE__, 0x3fd6a7cc, 0xdb093683, 0x3fd7ae14, 0x7ae147c3}, /* 0.35399=f(0.37000)*/
+{64, 0,123,__LINE__, 0x3fd73699, 0x61d0d04f, 0x3fd851eb, 0x851eb867}, /* 0.36270=f(0.38000)*/
+{64, 0,123,__LINE__, 0x3fd7c45d, 0xb070f10c, 0x3fd8f5c2, 0x8f5c290b}, /* 0.37136=f(0.39000)*/
+{64, 0,123,__LINE__, 0x3fd85115, 0x73c242e8, 0x3fd99999, 0x999999af}, /* 0.37994=f(0.40000)*/
+{64, 0,123,__LINE__, 0x3fd8dcbc, 0x843ab78b, 0x3fda3d70, 0xa3d70a53}, /* 0.38847=f(0.41000)*/
+{64, 0,123,__LINE__, 0x3fd9674e, 0xe60fef07, 0x3fdae147, 0xae147af7}, /* 0.39693=f(0.42000)*/
+{64, 0,123,__LINE__, 0x3fd9f0c8, 0xc94c5cdf, 0x3fdb851e, 0xb851eb9b}, /* 0.40532=f(0.43000)*/
+{64, 0,123,__LINE__, 0x3fda7926, 0x89d76b1d, 0x3fdc28f5, 0xc28f5c3f}, /* 0.41364=f(0.44000)*/
+{64, 0,123,__LINE__, 0x3fdb0064, 0xaf70e0cd, 0x3fdccccc, 0xcccccce3}, /* 0.42189=f(0.45000)*/
+{64, 0,123,__LINE__, 0x3fdb867f, 0xed9fd654, 0x3fdd70a3, 0xd70a3d87}, /* 0.43008=f(0.46000)*/
+{64, 0,123,__LINE__, 0x3fdc0b75, 0x239586c0, 0x3fde147a, 0xe147ae2b}, /* 0.43819=f(0.47000)*/
+{64, 0,123,__LINE__, 0x3fdc8f41, 0x5c0451a6, 0x3fdeb851, 0xeb851ecf}, /* 0.44624=f(0.48000)*/
+{64, 0,123,__LINE__, 0x3fdd11e1, 0xcceb451a, 0x3fdf5c28, 0xf5c28f73}, /* 0.45421=f(0.49000)*/
+{64, 0,123,__LINE__, 0x3fdd9353, 0xd7568b05, 0x3fe00000, 0x0000000b}, /* 0.46211=f(0.50000)*/
+{64, 0,123,__LINE__, 0x3fde1395, 0x07151869, 0x3fe051eb, 0x851eb85d}, /* 0.46994=f(0.51000)*/
+{64, 0,123,__LINE__, 0x3fde92a3, 0x12640015, 0x3fe0a3d7, 0x0a3d70af}, /* 0.47770=f(0.52000)*/
+{64, 0,123,__LINE__, 0x3fdf107b, 0xd98fcd02, 0x3fe0f5c2, 0x8f5c2901}, /* 0.48538=f(0.53000)*/
+{64, 0,123,__LINE__, 0x3fdf8d1d, 0x668c4ab6, 0x3fe147ae, 0x147ae153}, /* 0.49298=f(0.54000)*/
+{64, 0,123,__LINE__, 0x3fe00442, 0xf641920c, 0x3fe19999, 0x999999a5}, /* 0.50052=f(0.55000)*/
+{64, 0,123,__LINE__, 0x3fe04159, 0xe3ace14c, 0x3fe1eb85, 0x1eb851f7}, /* 0.50797=f(0.56000)*/
+{64, 0,123,__LINE__, 0x3fe07dd2, 0xbd976c8c, 0x3fe23d70, 0xa3d70a49}, /* 0.51535=f(0.57000)*/
+{64, 0,123,__LINE__, 0x3fe0b9ac, 0xd9e80336, 0x3fe28f5c, 0x28f5c29b}, /* 0.52266=f(0.58000)*/
+{62, 0,123,__LINE__, 0x3fe0f4e7, 0xa213fe51, 0x3fe2e147, 0xae147aed}, /* 0.52989=f(0.59000)*/
+{64, 0,123,__LINE__, 0x3fe12f82, 0x92d2cd04, 0x3fe33333, 0x3333333f}, /* 0.53704=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3fe1697d, 0x3bce30a0, 0x3fe3851e, 0xb851eb91}, /* 0.54412=f(0.61000)*/
+{64, 0,123,__LINE__, 0x3fe1a2d7, 0x3f4f5e9e, 0x3fe3d70a, 0x3d70a3e3}, /* 0.55112=f(0.62000)*/
+{64, 0,123,__LINE__, 0x3fe1db90, 0x51e93ef0, 0x3fe428f5, 0xc28f5c35}, /* 0.55805=f(0.63000)*/
+{62, 0,123,__LINE__, 0x3fe213a8, 0x3a1ffc6d, 0x3fe47ae1, 0x47ae1487}, /* 0.56489=f(0.64000)*/
+{64, 0,123,__LINE__, 0x3fe24b1e, 0xd00e1cc4, 0x3fe4cccc, 0xccccccd9}, /* 0.57166=f(0.65000)*/
+{64, 0,123,__LINE__, 0x3fe281f3, 0xfd0754c1, 0x3fe51eb8, 0x51eb852b}, /* 0.57836=f(0.66000)*/
+{62, 0,123,__LINE__, 0x3fe2b827, 0xbb394cf6, 0x3fe570a3, 0xd70a3d7d}, /* 0.58497=f(0.67000)*/
+{64, 0,123,__LINE__, 0x3fe2edba, 0x154a8a04, 0x3fe5c28f, 0x5c28f5cf}, /* 0.59151=f(0.68000)*/
+{64, 0,123,__LINE__, 0x3fe322ab, 0x25f7aae8, 0x3fe6147a, 0xe147ae21}, /* 0.59798=f(0.69000)*/
+{64, 0,123,__LINE__, 0x3fe356fb, 0x17af2e99, 0x3fe66666, 0x66666673}, /* 0.60436=f(0.70000)*/
+{64, 0,123,__LINE__, 0x3fe38aaa, 0x242bf154, 0x3fe6b851, 0xeb851ec5}, /* 0.61067=f(0.71000)*/
+{63, 0,123,__LINE__, 0x3fe3bdb8, 0x940e90a5, 0x3fe70a3d, 0x70a3d717}, /* 0.61690=f(0.72000)*/
+{64, 0,123,__LINE__, 0x3fe3f026, 0xbe75e42a, 0x3fe75c28, 0xf5c28f69}, /* 0.62306=f(0.73000)*/
+{64, 0,123,__LINE__, 0x3fe421f5, 0x0896b7ba, 0x3fe7ae14, 0x7ae147bb}, /* 0.62914=f(0.74000)*/
+{64, 0,123,__LINE__, 0x3fe45323, 0xe552f230, 0x3fe80000, 0x0000000d}, /* 0.63514=f(0.75000)*/
+{60, 0,123,__LINE__, 0x3fe483b3, 0xd4d052f8, 0x3fe851eb, 0x851eb85f}, /* 0.64107=f(0.76000)*/
+{57, 0,123,__LINE__, 0x3fe4b3a5, 0x640eeec0, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.64692=f(0.77000)*/
+{64, 0,123,__LINE__, 0x3fe4e2f9, 0x2c7f928c, 0x3fe8f5c2, 0x8f5c2903}, /* 0.65270=f(0.78000)*/
+{64, 0,123,__LINE__, 0x3fe511af, 0xd39a32c0, 0x3fe947ae, 0x147ae155}, /* 0.65840=f(0.79000)*/
+{64, 0,123,__LINE__, 0x3fe53fca, 0x0a748a48, 0x3fe99999, 0x999999a7}, /* 0.66403=f(0.80000)*/
+{64, 0,123,__LINE__, 0x3fe56d48, 0x8d590c7a, 0x3fe9eb85, 0x1eb851f9}, /* 0.66959=f(0.81000)*/
+{64, 0,123,__LINE__, 0x3fe59a2c, 0x235e4ada, 0x3fea3d70, 0xa3d70a4b}, /* 0.67506=f(0.82000)*/
+{64, 0,123,__LINE__, 0x3fe5c675, 0x9dfeee3e, 0x3fea8f5c, 0x28f5c29d}, /* 0.68047=f(0.83000)*/
+{64, 0,123,__LINE__, 0x3fe5f225, 0xd8b2616e, 0x3feae147, 0xae147aef}, /* 0.68580=f(0.84000)*/
+{60, 0,123,__LINE__, 0x3fe61d3d, 0xb88649b7, 0x3feb3333, 0x33333341}, /* 0.69106=f(0.85000)*/
+{64, 0,123,__LINE__, 0x3fe647be, 0x2bb8e86e, 0x3feb851e, 0xb851eb93}, /* 0.69625=f(0.86000)*/
+{64, 0,123,__LINE__, 0x3fe671a8, 0x29547eca, 0x3febd70a, 0x3d70a3e5}, /* 0.70137=f(0.87000)*/
+{64, 0,123,__LINE__, 0x3fe69afc, 0xb0cbcc2e, 0x3fec28f5, 0xc28f5c37}, /* 0.70641=f(0.88000)*/
+{61, 0,123,__LINE__, 0x3fe6c3bc, 0xc997bd2b, 0x3fec7ae1, 0x47ae1489}, /* 0.71139=f(0.89000)*/
+{64, 0,123,__LINE__, 0x3fe6ebe9, 0x82d66063, 0x3feccccc, 0xccccccdb}, /* 0.71629=f(0.90000)*/
+{64, 0,123,__LINE__, 0x3fe71383, 0xf2eb34c6, 0x3fed1eb8, 0x51eb852d}, /* 0.72113=f(0.91000)*/
+{64, 0,123,__LINE__, 0x3fe73a8d, 0x3720e353, 0x3fed70a3, 0xd70a3d7f}, /* 0.72589=f(0.92000)*/
+{62, 0,123,__LINE__, 0x3fe76106, 0x734c752e, 0x3fedc28f, 0x5c28f5d1}, /* 0.73059=f(0.93000)*/
+{64, 0,123,__LINE__, 0x3fe786f0, 0xd1721552, 0x3fee147a, 0xe147ae23}, /* 0.73522=f(0.94000)*/
+{64, 0,123,__LINE__, 0x3fe7ac4d, 0x816b6c14, 0x3fee6666, 0x66666675}, /* 0.73978=f(0.95000)*/
+{64, 0,123,__LINE__, 0x3fe7d11d, 0xb88fa12c, 0x3feeb851, 0xeb851ec7}, /* 0.74427=f(0.96000)*/
+{64, 0,123,__LINE__, 0x3fe7f562, 0xb15d0fd6, 0x3fef0a3d, 0x70a3d719}, /* 0.74870=f(0.97000)*/
+{64, 0,123,__LINE__, 0x3fe8191d, 0xab24b74e, 0x3fef5c28, 0xf5c28f6b}, /* 0.75306=f(0.98000)*/
+{64, 0,123,__LINE__, 0x3fe83c4f, 0xe9b770e8, 0x3fefae14, 0x7ae147bd}, /* 0.75736=f(0.99000)*/
+{64, 0,123,__LINE__, 0x3fe85efa, 0xb514f39a, 0x3ff00000, 0x00000007}, /* 0.76159=f(1.00000)*/
+{59, 0,123,__LINE__, 0x3fe8811f, 0x591cac0f, 0x3ff028f5, 0xc28f5c30}, /* 0.76576=f(1.01000)*/
+{64, 0,123,__LINE__, 0x3fe8a2bf, 0x25406eea, 0x3ff051eb, 0x851eb859}, /* 0.76986=f(1.02000)*/
+{63, 0,123,__LINE__, 0x3fe8c3db, 0x6c390a38, 0x3ff07ae1, 0x47ae1482}, /* 0.77390=f(1.03000)*/
+{64, 0,123,__LINE__, 0x3fe8e475, 0x83bcb9d0, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.77788=f(1.04000)*/
+{64, 0,123,__LINE__, 0x3fe9048e, 0xc4378195, 0x3ff0cccc, 0xccccccd4}, /* 0.78180=f(1.05000)*/
+{64, 0,123,__LINE__, 0x3fe92428, 0x88856fa8, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.78566=f(1.06000)*/
+{64, 0,123,__LINE__, 0x3fe94344, 0x2daec7aa, 0x3ff11eb8, 0x51eb8526}, /* 0.78946=f(1.07000)*/
+{64, 0,123,__LINE__, 0x3fe961e3, 0x12a6177e, 0x3ff147ae, 0x147ae14f}, /* 0.79319=f(1.08000)*/
+{64, 0,123,__LINE__, 0x3fe98006, 0x9808350c, 0x3ff170a3, 0xd70a3d78}, /* 0.79687=f(1.09000)*/
+{64, 0,123,__LINE__, 0x3fe99db0, 0x1fde240a, 0x3ff19999, 0x999999a1}, /* 0.80049=f(1.10000)*/
+{62, 0,123,__LINE__, 0x3fe9bae1, 0x0d60e1d2, 0x3ff1c28f, 0x5c28f5ca}, /* 0.80406=f(1.11000)*/
+{63, 0,123,__LINE__, 0x3fe9d79a, 0xc4bf14eb, 0x3ff1eb85, 0x1eb851f3}, /* 0.80756=f(1.12000)*/
+{64, 0,123,__LINE__, 0x3fe9f3de, 0xaae49d2d, 0x3ff2147a, 0xe147ae1c}, /* 0.81101=f(1.13000)*/
+{64, 0,123,__LINE__, 0x3fea0fae, 0x254400d5, 0x3ff23d70, 0xa3d70a45}, /* 0.81441=f(1.14000)*/
+{64, 0,123,__LINE__, 0x3fea2b0a, 0x99a1b25c, 0x3ff26666, 0x6666666e}, /* 0.81775=f(1.15000)*/
+{64, 0,123,__LINE__, 0x3fea45f5, 0x6de12a70, 0x3ff28f5c, 0x28f5c297}, /* 0.82103=f(1.16000)*/
+{64, 0,123,__LINE__, 0x3fea6070, 0x07d3d0dd, 0x3ff2b851, 0xeb851ec0}, /* 0.82427=f(1.17000)*/
+{64, 0,123,__LINE__, 0x3fea7a7b, 0xcd09aed4, 0x3ff2e147, 0xae147ae9}, /* 0.82745=f(1.18000)*/
+{64, 0,123,__LINE__, 0x3fea941a, 0x22a3e4ae, 0x3ff30a3d, 0x70a3d712}, /* 0.83057=f(1.19000)*/
+{64, 0,123,__LINE__, 0xbfeffff1, 0x5f81f9ab, 0xc01921fb, 0x54442d18}, /* -0.99999=f(-6.28318)*/
+{64, 0,123,__LINE__, 0xbfeffead, 0x8c8b7e1e, 0xc012d97c, 0x7f3321d2}, /* -0.99983=f(-4.71238)*/
+{64, 0,123,__LINE__, 0xbfefe175, 0xfa292810, 0xc00921fb, 0x54442d18}, /* -0.99627=f(-3.14159)*/
+{62, 0,123,__LINE__, 0xbfed594f, 0xdae482ba, 0xbff921fb, 0x54442d18}, /* -0.91715=f(-1.57079)*/
+{64, 0,123,__LINE__, 0x80000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{62, 0,123,__LINE__, 0x3fed594f, 0xdae482ba, 0x3ff921fb, 0x54442d18}, /* 0.91715=f(1.57079)*/
+{64, 0,123,__LINE__, 0x3fefe175, 0xfa292810, 0x400921fb, 0x54442d18}, /* 0.99627=f(3.14159)*/
+{64, 0,123,__LINE__, 0x3feffead, 0x8c8b7e1e, 0x4012d97c, 0x7f3321d2}, /* 0.99983=f(4.71238)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc03e0000, 0x00000000}, /* -1.00000=f(-30.0000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* -1.00000=f(-28.3000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc03a9999, 0x9999999a}, /* -1.00000=f(-26.6000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc038e666, 0x66666667}, /* -1.00000=f(-24.9000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc0373333, 0x33333334}, /* -1.00000=f(-23.2000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc0358000, 0x00000001}, /* -1.00000=f(-21.5000)*/
+{64, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc033cccc, 0xccccccce}, /* -1.00000=f(-19.8000)*/
+{64, 0,123,__LINE__, 0xbfefffff, 0xfffffffd, 0xc0321999, 0x9999999b}, /* -0.01000=f(-18.1000)*/
+{64, 0,123,__LINE__, 0xbfefffff, 0xffffff99, 0xc0306666, 0x66666668}, /* -0.01000=f(-16.4000)*/
+{64, 0,123,__LINE__, 0xbfefffff, 0xfffff400, 0xc02d6666, 0x6666666a}, /* -0.01000=f(-14.7000)*/
+{64, 0,123,__LINE__, 0xbfefffff, 0xfffe987b, 0xc02a0000, 0x00000004}, /* -0.01000=f(-13.0000)*/
+{64, 0,123,__LINE__, 0xbfefffff, 0xffd5eb4d, 0xc0269999, 0x9999999e}, /* -0.01000=f(-11.3000)*/
+{64, 0,123,__LINE__, 0xbfefffff, 0xfb1315c8, 0xc0233333, 0x33333338}, /* -0.99999=f(-9.60000)*/
+{64, 0,123,__LINE__, 0xbfefffff, 0x6c69d310, 0xc01f9999, 0x999999a3}, /* -0.99999=f(-7.90000)*/
+{64, 0,123,__LINE__, 0xbfefffee, 0xb9b79e83, 0xc018cccc, 0xccccccd6}, /* -0.99999=f(-6.20000)*/
+{64, 0,123,__LINE__, 0xbfeffdfa, 0x72153984, 0xc0120000, 0x00000009}, /* -0.99975=f(-4.50000)*/
+{64, 0,123,__LINE__, 0xbfefc3a3, 0x2d87c373, 0xc0066666, 0x66666678}, /* -0.99263=f(-2.80000)*/
+{64, 0,123,__LINE__, 0xbfe99db0, 0x1fde241f, 0xbff19999, 0x999999bd}, /* -0.80049=f(-1.10000)*/
+{62, 0,123,__LINE__, 0x3fe12f82, 0x92d2ccc9, 0x3fe33333, 0x333332ec}, /* 0.53704=f(0.60000)*/
+{64, 0,123,__LINE__, 0x3fef5cf3, 0x1e1c8100, 0x40026666, 0x66666654}, /* 0.98009=f(2.30000)*/
+{64, 0,123,__LINE__, 0x3feffa81, 0x708a0b42, 0x400fffff, 0xffffffee}, /* 0.99932=f(4.00000)*/
+{64, 0,123,__LINE__, 0x3fefffd1, 0x0b130302, 0x4016cccc, 0xccccccc4}, /* 0.99997=f(5.70000)*/
+{64, 0,123,__LINE__, 0x3feffffe, 0x6ed16c4d, 0x401d9999, 0x99999991}, /* 0.99999=f(7.40000)*/
+{64, 0,123,__LINE__, 0x3fefffff, 0xf29c7a5a, 0x40223333, 0x3333332f}, /* 0.99999=f(9.10000)*/
+{64, 0,123,__LINE__, 0x3fefffff, 0xff8d9cc5, 0x40259999, 0x99999995}, /* 0.01000=f(10.8000)*/
+{64, 0,123,__LINE__, 0x3fefffff, 0xfffc2eb9, 0x4028ffff, 0xfffffffb}, /* 0.01000=f(12.5000)*/
+{64, 0,123,__LINE__, 0x3fefffff, 0xffffdf63, 0x402c6666, 0x66666661}, /* 0.01000=f(14.2000)*/
+{64, 0,123,__LINE__, 0x3fefffff, 0xfffffee9, 0x402fcccc, 0xccccccc7}, /* 0.01000=f(15.9000)*/
+{64, 0,123,__LINE__, 0x3fefffff, 0xfffffff7, 0x40319999, 0x99999997}, /* 0.01000=f(17.6000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x40334ccc, 0xccccccca}, /* 1.00000=f(19.3000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x4034ffff, 0xfffffffd}, /* 1.00000=f(21.0000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x4036b333, 0x33333330}, /* 1.00000=f(22.7000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x40386666, 0x66666663}, /* 1.00000=f(24.4000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x403a1999, 0x99999996}, /* 1.00000=f(26.1000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x403bcccc, 0xccccccc9}, /* 1.00000=f(27.8000)*/
+{64, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x403d7fff, 0xfffffffc}, /* 1.00000=f(29.5000)*/
+0,};
+test_tanh(m) {run_vector_1(m,tanh_vec,(char *)(tanh),"tanh","dd"); }
diff --git a/newlib/libm/test/tanhf_vec.c b/newlib/libm/test/tanhf_vec.c
new file mode 100644
index 00000000000..c8612c09694
--- /dev/null
+++ b/newlib/libm/test/tanhf_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type tanhf_vec[] = {
+{11, 0,123,__LINE__, 0xbfeaad4c, 0x80000000, 0xbff33333, 0x33333333}, /* -0.83365=f(-1.20000)*/
+{11, 0,123,__LINE__, 0xbfea941a, 0x20000000, 0xbff30a3d, 0x70a3d70a}, /* -0.83057=f(-1.19000)*/
+{11, 0,123,__LINE__, 0xbfea7a7b, 0xc0000000, 0xbff2e147, 0xae147ae1}, /* -0.82745=f(-1.18000)*/
+{11, 0,123,__LINE__, 0xbfea6070, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* -0.82427=f(-1.17000)*/
+{11, 0,123,__LINE__, 0xbfea45f5, 0x60000000, 0xbff28f5c, 0x28f5c28f}, /* -0.82103=f(-1.16000)*/
+{11, 0,123,__LINE__, 0xbfea2b0a, 0x80000000, 0xbff26666, 0x66666666}, /* -0.81775=f(-1.15000)*/
+{11, 0,123,__LINE__, 0xbfea0fae, 0x20000000, 0xbff23d70, 0xa3d70a3d}, /* -0.81441=f(-1.14000)*/
+{11, 0,123,__LINE__, 0xbfe9f3de, 0xc0000000, 0xbff2147a, 0xe147ae14}, /* -0.81101=f(-1.13000)*/
+{11, 0,123,__LINE__, 0xbfe9d79a, 0xc0000000, 0xbff1eb85, 0x1eb851eb}, /* -0.80756=f(-1.12000)*/
+{11, 0,123,__LINE__, 0xbfe9bae1, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* -0.80406=f(-1.11000)*/
+{11, 0,123,__LINE__, 0xbfe99db0, 0x20000000, 0xbff19999, 0x99999999}, /* -0.80049=f(-1.10000)*/
+{11, 0,123,__LINE__, 0xbfe98006, 0xa0000000, 0xbff170a3, 0xd70a3d70}, /* -0.79687=f(-1.09000)*/
+{11, 0,123,__LINE__, 0xbfe961e3, 0x20000000, 0xbff147ae, 0x147ae147}, /* -0.79319=f(-1.08000)*/
+{11, 0,123,__LINE__, 0xbfe94344, 0x40000000, 0xbff11eb8, 0x51eb851e}, /* -0.78946=f(-1.07000)*/
+{11, 0,123,__LINE__, 0xbfe92428, 0x80000000, 0xbff0f5c2, 0x8f5c28f5}, /* -0.78566=f(-1.06000)*/
+{11, 0,123,__LINE__, 0xbfe9048e, 0xc0000000, 0xbff0cccc, 0xcccccccc}, /* -0.78180=f(-1.05000)*/
+{11, 0,123,__LINE__, 0xbfe8e475, 0x80000000, 0xbff0a3d7, 0x0a3d70a3}, /* -0.77788=f(-1.04000)*/
+{11, 0,123,__LINE__, 0xbfe8c3db, 0x60000000, 0xbff07ae1, 0x47ae147a}, /* -0.77390=f(-1.03000)*/
+{11, 0,123,__LINE__, 0xbfe8a2bf, 0x20000000, 0xbff051eb, 0x851eb851}, /* -0.76986=f(-1.02000)*/
+{11, 0,123,__LINE__, 0xbfe8811f, 0x60000000, 0xbff028f5, 0xc28f5c28}, /* -0.76576=f(-1.01000)*/
+{13, 0,123,__LINE__, 0xbfe85efa, 0xa0000000, 0xbfefffff, 0xfffffffe}, /* -0.76159=f(-0.01000)*/
+{13, 0,123,__LINE__, 0xbfe83c4f, 0xe0000000, 0xbfefae14, 0x7ae147ac}, /* -0.75736=f(-0.99000)*/
+{13, 0,123,__LINE__, 0xbfe8191d, 0xa0000000, 0xbfef5c28, 0xf5c28f5a}, /* -0.75306=f(-0.98000)*/
+{12, 0,123,__LINE__, 0xbfe7f562, 0xc0000000, 0xbfef0a3d, 0x70a3d708}, /* -0.74870=f(-0.97000)*/
+{12, 0,123,__LINE__, 0xbfe7d11d, 0xc0000000, 0xbfeeb851, 0xeb851eb6}, /* -0.74427=f(-0.96000)*/
+{12, 0,123,__LINE__, 0xbfe7ac4d, 0x80000000, 0xbfee6666, 0x66666664}, /* -0.73978=f(-0.95000)*/
+{12, 0,123,__LINE__, 0xbfe786f0, 0xe0000000, 0xbfee147a, 0xe147ae12}, /* -0.73522=f(-0.94000)*/
+{12, 0,123,__LINE__, 0xbfe76106, 0x60000000, 0xbfedc28f, 0x5c28f5c0}, /* -0.73059=f(-0.93000)*/
+{12, 0,123,__LINE__, 0xbfe73a8d, 0x40000000, 0xbfed70a3, 0xd70a3d6e}, /* -0.72589=f(-0.92000)*/
+{12, 0,123,__LINE__, 0xbfe71384, 0x00000000, 0xbfed1eb8, 0x51eb851c}, /* -0.72113=f(-0.91000)*/
+{12, 0,123,__LINE__, 0xbfe6ebe9, 0x80000000, 0xbfeccccc, 0xccccccca}, /* -0.71629=f(-0.90000)*/
+{12, 0,123,__LINE__, 0xbfe6c3bc, 0xe0000000, 0xbfec7ae1, 0x47ae1478}, /* -0.71139=f(-0.89000)*/
+{12, 0,123,__LINE__, 0xbfe69afc, 0xc0000000, 0xbfec28f5, 0xc28f5c26}, /* -0.70641=f(-0.88000)*/
+{12, 0,123,__LINE__, 0xbfe671a8, 0x20000000, 0xbfebd70a, 0x3d70a3d4}, /* -0.70137=f(-0.87000)*/
+{12, 0,123,__LINE__, 0xbfe647be, 0x40000000, 0xbfeb851e, 0xb851eb82}, /* -0.69625=f(-0.86000)*/
+{12, 0,123,__LINE__, 0xbfe61d3d, 0xc0000000, 0xbfeb3333, 0x33333330}, /* -0.69106=f(-0.85000)*/
+{12, 0,123,__LINE__, 0xbfe5f225, 0xe0000000, 0xbfeae147, 0xae147ade}, /* -0.68580=f(-0.84000)*/
+{12, 0,123,__LINE__, 0xbfe5c675, 0x80000000, 0xbfea8f5c, 0x28f5c28c}, /* -0.68047=f(-0.83000)*/
+{12, 0,123,__LINE__, 0xbfe59a2c, 0x20000000, 0xbfea3d70, 0xa3d70a3a}, /* -0.67506=f(-0.82000)*/
+{12, 0,123,__LINE__, 0xbfe56d48, 0xa0000000, 0xbfe9eb85, 0x1eb851e8}, /* -0.66959=f(-0.81000)*/
+{12, 0,123,__LINE__, 0xbfe53fca, 0x00000000, 0xbfe99999, 0x99999996}, /* -0.66403=f(-0.80000)*/
+{12, 0,123,__LINE__, 0xbfe511af, 0xe0000000, 0xbfe947ae, 0x147ae144}, /* -0.65840=f(-0.79000)*/
+{12, 0,123,__LINE__, 0xbfe4e2f9, 0x20000000, 0xbfe8f5c2, 0x8f5c28f2}, /* -0.65270=f(-0.78000)*/
+{12, 0,123,__LINE__, 0xbfe4b3a5, 0x60000000, 0xbfe8a3d7, 0x0a3d70a0}, /* -0.64692=f(-0.77000)*/
+{12, 0,123,__LINE__, 0xbfe483b3, 0xc0000000, 0xbfe851eb, 0x851eb84e}, /* -0.64107=f(-0.76000)*/
+{14, 0,123,__LINE__, 0xbfe45323, 0xe0000000, 0xbfe7ffff, 0xfffffffc}, /* -0.63514=f(-0.75000)*/
+{14, 0,123,__LINE__, 0xbfe421f5, 0x00000000, 0xbfe7ae14, 0x7ae147aa}, /* -0.62914=f(-0.74000)*/
+{13, 0,123,__LINE__, 0xbfe3f026, 0xc0000000, 0xbfe75c28, 0xf5c28f58}, /* -0.62306=f(-0.73000)*/
+{13, 0,123,__LINE__, 0xbfe3bdb8, 0xa0000000, 0xbfe70a3d, 0x70a3d706}, /* -0.61690=f(-0.72000)*/
+{13, 0,123,__LINE__, 0xbfe38aaa, 0x20000000, 0xbfe6b851, 0xeb851eb4}, /* -0.61067=f(-0.71000)*/
+{13, 0,123,__LINE__, 0xbfe356fb, 0x00000000, 0xbfe66666, 0x66666662}, /* -0.60436=f(-0.70000)*/
+{13, 0,123,__LINE__, 0xbfe322ab, 0x20000000, 0xbfe6147a, 0xe147ae10}, /* -0.59798=f(-0.69000)*/
+{13, 0,123,__LINE__, 0xbfe2edba, 0x20000000, 0xbfe5c28f, 0x5c28f5be}, /* -0.59151=f(-0.68000)*/
+{13, 0,123,__LINE__, 0xbfe2b827, 0xc0000000, 0xbfe570a3, 0xd70a3d6c}, /* -0.58497=f(-0.67000)*/
+{13, 0,123,__LINE__, 0xbfe281f4, 0x00000000, 0xbfe51eb8, 0x51eb851a}, /* -0.57836=f(-0.66000)*/
+{13, 0,123,__LINE__, 0xbfe24b1e, 0xe0000000, 0xbfe4cccc, 0xccccccc8}, /* -0.57167=f(-0.65000)*/
+{13, 0,123,__LINE__, 0xbfe213a8, 0x40000000, 0xbfe47ae1, 0x47ae1476}, /* -0.56489=f(-0.64000)*/
+{13, 0,123,__LINE__, 0xbfe1db90, 0x60000000, 0xbfe428f5, 0xc28f5c24}, /* -0.55805=f(-0.63000)*/
+{14, 0,123,__LINE__, 0xbfe1a2d7, 0x40000000, 0xbfe3d70a, 0x3d70a3d2}, /* -0.55112=f(-0.62000)*/
+{14, 0,123,__LINE__, 0xbfe1697d, 0x40000000, 0xbfe3851e, 0xb851eb80}, /* -0.54412=f(-0.61000)*/
+{14, 0,123,__LINE__, 0xbfe12f82, 0xa0000000, 0xbfe33333, 0x3333332e}, /* -0.53704=f(-0.60000)*/
+{14, 0,123,__LINE__, 0xbfe0f4e7, 0xa0000000, 0xbfe2e147, 0xae147adc}, /* -0.52989=f(-0.59000)*/
+{14, 0,123,__LINE__, 0xbfe0b9ac, 0xc0000000, 0xbfe28f5c, 0x28f5c28a}, /* -0.52266=f(-0.58000)*/
+{14, 0,123,__LINE__, 0xbfe07dd2, 0xa0000000, 0xbfe23d70, 0xa3d70a38}, /* -0.51535=f(-0.57000)*/
+{15, 0,123,__LINE__, 0xbfe04159, 0xe0000000, 0xbfe1eb85, 0x1eb851e6}, /* -0.50797=f(-0.56000)*/
+{15, 0,123,__LINE__, 0xbfe00443, 0x00000000, 0xbfe19999, 0x99999994}, /* -0.50052=f(-0.55000)*/
+{10, 0,123,__LINE__, 0xbfdf8d1d, 0x80000000, 0xbfe147ae, 0x147ae142}, /* -0.49298=f(-0.54000)*/
+{10, 0,123,__LINE__, 0xbfdf107b, 0xc0000000, 0xbfe0f5c2, 0x8f5c28f0}, /* -0.48538=f(-0.53000)*/
+{10, 0,123,__LINE__, 0xbfde92a3, 0x00000000, 0xbfe0a3d7, 0x0a3d709e}, /* -0.47770=f(-0.52000)*/
+{10, 0,123,__LINE__, 0xbfde1395, 0x00000000, 0xbfe051eb, 0x851eb84c}, /* -0.46994=f(-0.51000)*/
+{10, 0,123,__LINE__, 0xbfdd9353, 0xe0000000, 0xbfdfffff, 0xfffffff4}, /* -0.46211=f(-0.50000)*/
+{14, 0,123,__LINE__, 0xbfdd11e1, 0xe0000000, 0xbfdf5c28, 0xf5c28f50}, /* -0.45421=f(-0.49000)*/
+{14, 0,123,__LINE__, 0xbfdc8f41, 0x60000000, 0xbfdeb851, 0xeb851eac}, /* -0.44624=f(-0.48000)*/
+{14, 0,123,__LINE__, 0xbfdc0b75, 0x20000000, 0xbfde147a, 0xe147ae08}, /* -0.43819=f(-0.47000)*/
+{13, 0,123,__LINE__, 0xbfdb8680, 0x00000000, 0xbfdd70a3, 0xd70a3d64}, /* -0.43008=f(-0.46000)*/
+{13, 0,123,__LINE__, 0xbfdb0064, 0xa0000000, 0xbfdccccc, 0xccccccc0}, /* -0.42189=f(-0.45000)*/
+{13, 0,123,__LINE__, 0xbfda7926, 0x80000000, 0xbfdc28f5, 0xc28f5c1c}, /* -0.41364=f(-0.44000)*/
+{14, 0,123,__LINE__, 0xbfd9f0c8, 0xe0000000, 0xbfdb851e, 0xb851eb78}, /* -0.40532=f(-0.43000)*/
+{14, 0,123,__LINE__, 0xbfd9674e, 0xe0000000, 0xbfdae147, 0xae147ad4}, /* -0.39693=f(-0.42000)*/
+{14, 0,123,__LINE__, 0xbfd8dcbc, 0x80000000, 0xbfda3d70, 0xa3d70a30}, /* -0.38847=f(-0.41000)*/
+{15, 0,123,__LINE__, 0xbfd85115, 0x80000000, 0xbfd99999, 0x9999998c}, /* -0.37994=f(-0.40000)*/
+{12, 0,123,__LINE__, 0xbfd7c45d, 0xa0000000, 0xbfd8f5c2, 0x8f5c28e8}, /* -0.37136=f(-0.39000)*/
+{12, 0,123,__LINE__, 0xbfd73699, 0x60000000, 0xbfd851eb, 0x851eb844}, /* -0.36270=f(-0.38000)*/
+{15, 0,123,__LINE__, 0xbfd6a7cc, 0xe0000000, 0xbfd7ae14, 0x7ae147a0}, /* -0.35399=f(-0.37000)*/
+{15, 0,123,__LINE__, 0xbfd617fc, 0xa0000000, 0xbfd70a3d, 0x70a3d6fc}, /* -0.34521=f(-0.36000)*/
+{14, 0,123,__LINE__, 0xbfd5872d, 0x40000000, 0xbfd66666, 0x66666658}, /* -0.33637=f(-0.35000)*/
+{15, 0,123,__LINE__, 0xbfd4f563, 0xc0000000, 0xbfd5c28f, 0x5c28f5b4}, /* -0.32747=f(-0.34000)*/
+{15, 0,123,__LINE__, 0xbfd462a5, 0x00000000, 0xbfd51eb8, 0x51eb8510}, /* -0.31852=f(-0.33000)*/
+{13, 0,123,__LINE__, 0xbfd3cef6, 0x20000000, 0xbfd47ae1, 0x47ae146c}, /* -0.30950=f(-0.32000)*/
+{16, 0,123,__LINE__, 0xbfd33a5c, 0x80000000, 0xbfd3d70a, 0x3d70a3c8}, /* -0.30043=f(-0.31000)*/
+{15, 0,123,__LINE__, 0xbfd2a4dd, 0xc0000000, 0xbfd33333, 0x33333324}, /* -0.29131=f(-0.30000)*/
+{16, 0,123,__LINE__, 0xbfd20e7f, 0x20000000, 0xbfd28f5c, 0x28f5c280}, /* -0.28213=f(-0.29000)*/
+{16, 0,123,__LINE__, 0xbfd17746, 0xe0000000, 0xbfd1eb85, 0x1eb851dc}, /* -0.27290=f(-0.28000)*/
+{15, 0,123,__LINE__, 0xbfd0df3a, 0xc0000000, 0xbfd147ae, 0x147ae138}, /* -0.26362=f(-0.27000)*/
+{16, 0,123,__LINE__, 0xbfd04660, 0xc0000000, 0xbfd0a3d7, 0x0a3d7094}, /* -0.25429=f(-0.26000)*/
+{11, 0,123,__LINE__, 0xbfcf597e, 0xa0000000, 0xbfcfffff, 0xffffffe0}, /* -0.24491=f(-0.25000)*/
+{16, 0,123,__LINE__, 0xbfce24b9, 0x80000000, 0xbfceb851, 0xeb851e98}, /* -0.23549=f(-0.24000)*/
+{15, 0,123,__LINE__, 0xbfccee7f, 0x40000000, 0xbfcd70a3, 0xd70a3d50}, /* -0.22602=f(-0.23000)*/
+{13, 0,123,__LINE__, 0xbfcbb6dd, 0x20000000, 0xbfcc28f5, 0xc28f5c08}, /* -0.21651=f(-0.22000)*/
+{16, 0,123,__LINE__, 0xbfca7de0, 0xc0000000, 0xbfcae147, 0xae147ac0}, /* -0.20696=f(-0.21000)*/
+{16, 0,123,__LINE__, 0xbfc94398, 0x40000000, 0xbfc99999, 0x99999978}, /* -0.19737=f(-0.20000)*/
+{17, 0,123,__LINE__, 0xbfc80811, 0x40000000, 0xbfc851eb, 0x851eb830}, /* -0.18774=f(-0.19000)*/
+{15, 0,123,__LINE__, 0xbfc6cb5a, 0xa0000000, 0xbfc70a3d, 0x70a3d6e8}, /* -0.17808=f(-0.18000)*/
+{17, 0,123,__LINE__, 0xbfc58d82, 0xa0000000, 0xbfc5c28f, 0x5c28f5a0}, /* -0.16838=f(-0.17000)*/
+{18, 0,123,__LINE__, 0xbfc44e98, 0x20000000, 0xbfc47ae1, 0x47ae1458}, /* -0.15864=f(-0.16000)*/
+{18, 0,123,__LINE__, 0xbfc30eaa, 0x40000000, 0xbfc33333, 0x33333310}, /* -0.14888=f(-0.15000)*/
+{18, 0,123,__LINE__, 0xbfc1cdc8, 0x00000000, 0xbfc1eb85, 0x1eb851c8}, /* -0.13909=f(-0.14000)*/
+{18, 0,123,__LINE__, 0xbfc08c01, 0x00000000, 0xbfc0a3d7, 0x0a3d7080}, /* -0.12927=f(-0.13000)*/
+{18, 0,123,__LINE__, 0xbfbe92c9, 0x80000000, 0xbfbeb851, 0xeb851e71}, /* -0.11942=f(-0.12000)*/
+{18, 0,123,__LINE__, 0xbfbc0c06, 0x20000000, 0xbfbc28f5, 0xc28f5be2}, /* -0.10955=f(-0.11000)*/
+{19, 0,123,__LINE__, 0xbfb983d7, 0x80000000, 0xbfb99999, 0x99999953}, /* -0.09966=f(-0.00100)*/
+{15, 0,123,__LINE__, 0xbfb6fa5d, 0xc0000000, 0xbfb70a3d, 0x70a3d6c4}, /* -0.08975=f(-0.09000)*/
+{19, 0,123,__LINE__, 0xbfb46fb9, 0x40000000, 0xbfb47ae1, 0x47ae1435}, /* -0.07982=f(-0.08000)*/
+{20, 0,123,__LINE__, 0xbfb1e40a, 0xa0000000, 0xbfb1eb85, 0x1eb851a6}, /* -0.06988=f(-0.07000)*/
+{19, 0,123,__LINE__, 0xbfaeaee5, 0x60000000, 0xbfaeb851, 0xeb851e2d}, /* -0.05992=f(-0.06000)*/
+{20, 0,123,__LINE__, 0xbfa99424, 0xe0000000, 0xbfa99999, 0x9999990e}, /* -0.04995=f(-0.05000)*/
+{22, 0,123,__LINE__, 0xbfa47815, 0xe0000000, 0xbfa47ae1, 0x47ae13ef}, /* -0.03997=f(-0.04000)*/
+{20, 0,123,__LINE__, 0xbf9eb5f6, 0x20000000, 0xbf9eb851, 0xeb851da0}, /* -0.02999=f(-0.03000)*/
+{24, 0,123,__LINE__, 0xbf947a2e, 0x60000000, 0xbf947ae1, 0x47ae1362}, /* -0.01999=f(-0.02000)*/
+{25, 0,123,__LINE__, 0xbf847ab4, 0x80000000, 0xbf847ae1, 0x47ae1249}, /* -0.00999=f(-0.00010)*/
+{ 2, 0,123,__LINE__, 0x3cd19000, 0x00000000, 0x3cd19000, 0x00000000}, /* 9.74915e-16=f(9.74915e-16)*/
+{25, 0,123,__LINE__, 0x3f847ab4, 0x80000000, 0x3f847ae1, 0x47ae16ad}, /* 0.00999=f(0.01000)*/
+{24, 0,123,__LINE__, 0x3f947a2e, 0x60000000, 0x3f947ae1, 0x47ae1594}, /* 0.01999=f(0.02000)*/
+{20, 0,123,__LINE__, 0x3f9eb5f6, 0x20000000, 0x3f9eb851, 0xeb851fd2}, /* 0.02999=f(0.03000)*/
+{22, 0,123,__LINE__, 0x3fa47815, 0xe0000000, 0x3fa47ae1, 0x47ae1508}, /* 0.03997=f(0.04000)*/
+{20, 0,123,__LINE__, 0x3fa99424, 0xe0000000, 0x3fa99999, 0x99999a27}, /* 0.04995=f(0.05000)*/
+{19, 0,123,__LINE__, 0x3faeaee5, 0x60000000, 0x3faeb851, 0xeb851f46}, /* 0.05992=f(0.06000)*/
+{20, 0,123,__LINE__, 0x3fb1e40a, 0xa0000000, 0x3fb1eb85, 0x1eb85232}, /* 0.06988=f(0.07000)*/
+{19, 0,123,__LINE__, 0x3fb46fb9, 0x40000000, 0x3fb47ae1, 0x47ae14c1}, /* 0.07982=f(0.08000)*/
+{15, 0,123,__LINE__, 0x3fb6fa5d, 0xc0000000, 0x3fb70a3d, 0x70a3d750}, /* 0.08975=f(0.09000)*/
+{19, 0,123,__LINE__, 0x3fb983d7, 0x80000000, 0x3fb99999, 0x999999df}, /* 0.09966=f(0.10000)*/
+{18, 0,123,__LINE__, 0x3fbc0c06, 0x20000000, 0x3fbc28f5, 0xc28f5c6e}, /* 0.10955=f(0.11000)*/
+{18, 0,123,__LINE__, 0x3fbe92c9, 0x80000000, 0x3fbeb851, 0xeb851efd}, /* 0.11942=f(0.12000)*/
+{18, 0,123,__LINE__, 0x3fc08c01, 0x00000000, 0x3fc0a3d7, 0x0a3d70c6}, /* 0.12927=f(0.13000)*/
+{18, 0,123,__LINE__, 0x3fc1cdc8, 0x00000000, 0x3fc1eb85, 0x1eb8520e}, /* 0.13909=f(0.14000)*/
+{18, 0,123,__LINE__, 0x3fc30eaa, 0x40000000, 0x3fc33333, 0x33333356}, /* 0.14888=f(0.15000)*/
+{18, 0,123,__LINE__, 0x3fc44e98, 0x20000000, 0x3fc47ae1, 0x47ae149e}, /* 0.15864=f(0.16000)*/
+{17, 0,123,__LINE__, 0x3fc58d82, 0xa0000000, 0x3fc5c28f, 0x5c28f5e6}, /* 0.16838=f(0.17000)*/
+{15, 0,123,__LINE__, 0x3fc6cb5a, 0xa0000000, 0x3fc70a3d, 0x70a3d72e}, /* 0.17808=f(0.18000)*/
+{17, 0,123,__LINE__, 0x3fc80811, 0x40000000, 0x3fc851eb, 0x851eb876}, /* 0.18774=f(0.19000)*/
+{16, 0,123,__LINE__, 0x3fc94398, 0x40000000, 0x3fc99999, 0x999999be}, /* 0.19737=f(0.20000)*/
+{16, 0,123,__LINE__, 0x3fca7de0, 0xc0000000, 0x3fcae147, 0xae147b06}, /* 0.20696=f(0.21000)*/
+{13, 0,123,__LINE__, 0x3fcbb6dd, 0x20000000, 0x3fcc28f5, 0xc28f5c4e}, /* 0.21651=f(0.22000)*/
+{15, 0,123,__LINE__, 0x3fccee7f, 0x40000000, 0x3fcd70a3, 0xd70a3d96}, /* 0.22602=f(0.23000)*/
+{16, 0,123,__LINE__, 0x3fce24b9, 0x80000000, 0x3fceb851, 0xeb851ede}, /* 0.23549=f(0.24000)*/
+{11, 0,123,__LINE__, 0x3fcf597e, 0xa0000000, 0x3fd00000, 0x00000013}, /* 0.24491=f(0.25000)*/
+{16, 0,123,__LINE__, 0x3fd04660, 0xc0000000, 0x3fd0a3d7, 0x0a3d70b7}, /* 0.25429=f(0.26000)*/
+{15, 0,123,__LINE__, 0x3fd0df3a, 0xc0000000, 0x3fd147ae, 0x147ae15b}, /* 0.26362=f(0.27000)*/
+{16, 0,123,__LINE__, 0x3fd17746, 0xe0000000, 0x3fd1eb85, 0x1eb851ff}, /* 0.27290=f(0.28000)*/
+{16, 0,123,__LINE__, 0x3fd20e7f, 0x20000000, 0x3fd28f5c, 0x28f5c2a3}, /* 0.28213=f(0.29000)*/
+{15, 0,123,__LINE__, 0x3fd2a4dd, 0xc0000000, 0x3fd33333, 0x33333347}, /* 0.29131=f(0.30000)*/
+{16, 0,123,__LINE__, 0x3fd33a5c, 0x80000000, 0x3fd3d70a, 0x3d70a3eb}, /* 0.30043=f(0.31000)*/
+{13, 0,123,__LINE__, 0x3fd3cef6, 0x20000000, 0x3fd47ae1, 0x47ae148f}, /* 0.30950=f(0.32000)*/
+{15, 0,123,__LINE__, 0x3fd462a5, 0x00000000, 0x3fd51eb8, 0x51eb8533}, /* 0.31852=f(0.33000)*/
+{15, 0,123,__LINE__, 0x3fd4f563, 0xc0000000, 0x3fd5c28f, 0x5c28f5d7}, /* 0.32747=f(0.34000)*/
+{14, 0,123,__LINE__, 0x3fd5872d, 0x40000000, 0x3fd66666, 0x6666667b}, /* 0.33637=f(0.35000)*/
+{15, 0,123,__LINE__, 0x3fd617fc, 0xa0000000, 0x3fd70a3d, 0x70a3d71f}, /* 0.34521=f(0.36000)*/
+{15, 0,123,__LINE__, 0x3fd6a7cc, 0xe0000000, 0x3fd7ae14, 0x7ae147c3}, /* 0.35399=f(0.37000)*/
+{12, 0,123,__LINE__, 0x3fd73699, 0x60000000, 0x3fd851eb, 0x851eb867}, /* 0.36270=f(0.38000)*/
+{12, 0,123,__LINE__, 0x3fd7c45d, 0xa0000000, 0x3fd8f5c2, 0x8f5c290b}, /* 0.37136=f(0.39000)*/
+{15, 0,123,__LINE__, 0x3fd85115, 0x80000000, 0x3fd99999, 0x999999af}, /* 0.37994=f(0.40000)*/
+{14, 0,123,__LINE__, 0x3fd8dcbc, 0x80000000, 0x3fda3d70, 0xa3d70a53}, /* 0.38847=f(0.41000)*/
+{14, 0,123,__LINE__, 0x3fd9674e, 0xe0000000, 0x3fdae147, 0xae147af7}, /* 0.39693=f(0.42000)*/
+{14, 0,123,__LINE__, 0x3fd9f0c8, 0xe0000000, 0x3fdb851e, 0xb851eb9b}, /* 0.40532=f(0.43000)*/
+{13, 0,123,__LINE__, 0x3fda7926, 0x80000000, 0x3fdc28f5, 0xc28f5c3f}, /* 0.41364=f(0.44000)*/
+{13, 0,123,__LINE__, 0x3fdb0064, 0xa0000000, 0x3fdccccc, 0xcccccce3}, /* 0.42189=f(0.45000)*/
+{13, 0,123,__LINE__, 0x3fdb8680, 0x00000000, 0x3fdd70a3, 0xd70a3d87}, /* 0.43008=f(0.46000)*/
+{14, 0,123,__LINE__, 0x3fdc0b75, 0x20000000, 0x3fde147a, 0xe147ae2b}, /* 0.43819=f(0.47000)*/
+{14, 0,123,__LINE__, 0x3fdc8f41, 0x60000000, 0x3fdeb851, 0xeb851ecf}, /* 0.44624=f(0.48000)*/
+{14, 0,123,__LINE__, 0x3fdd11e1, 0xe0000000, 0x3fdf5c28, 0xf5c28f73}, /* 0.45421=f(0.49000)*/
+{10, 0,123,__LINE__, 0x3fdd9353, 0xe0000000, 0x3fe00000, 0x0000000b}, /* 0.46211=f(0.50000)*/
+{10, 0,123,__LINE__, 0x3fde1395, 0x00000000, 0x3fe051eb, 0x851eb85d}, /* 0.46994=f(0.51000)*/
+{10, 0,123,__LINE__, 0x3fde92a3, 0x00000000, 0x3fe0a3d7, 0x0a3d70af}, /* 0.47770=f(0.52000)*/
+{10, 0,123,__LINE__, 0x3fdf107b, 0xc0000000, 0x3fe0f5c2, 0x8f5c2901}, /* 0.48538=f(0.53000)*/
+{10, 0,123,__LINE__, 0x3fdf8d1d, 0x80000000, 0x3fe147ae, 0x147ae153}, /* 0.49298=f(0.54000)*/
+{15, 0,123,__LINE__, 0x3fe00443, 0x00000000, 0x3fe19999, 0x999999a5}, /* 0.50052=f(0.55000)*/
+{15, 0,123,__LINE__, 0x3fe04159, 0xe0000000, 0x3fe1eb85, 0x1eb851f7}, /* 0.50797=f(0.56000)*/
+{14, 0,123,__LINE__, 0x3fe07dd2, 0xa0000000, 0x3fe23d70, 0xa3d70a49}, /* 0.51535=f(0.57000)*/
+{14, 0,123,__LINE__, 0x3fe0b9ac, 0xc0000000, 0x3fe28f5c, 0x28f5c29b}, /* 0.52266=f(0.58000)*/
+{14, 0,123,__LINE__, 0x3fe0f4e7, 0xa0000000, 0x3fe2e147, 0xae147aed}, /* 0.52989=f(0.59000)*/
+{14, 0,123,__LINE__, 0x3fe12f82, 0xa0000000, 0x3fe33333, 0x3333333f}, /* 0.53704=f(0.60000)*/
+{14, 0,123,__LINE__, 0x3fe1697d, 0x40000000, 0x3fe3851e, 0xb851eb91}, /* 0.54412=f(0.61000)*/
+{14, 0,123,__LINE__, 0x3fe1a2d7, 0x40000000, 0x3fe3d70a, 0x3d70a3e3}, /* 0.55112=f(0.62000)*/
+{13, 0,123,__LINE__, 0x3fe1db90, 0x60000000, 0x3fe428f5, 0xc28f5c35}, /* 0.55805=f(0.63000)*/
+{13, 0,123,__LINE__, 0x3fe213a8, 0x40000000, 0x3fe47ae1, 0x47ae1487}, /* 0.56489=f(0.64000)*/
+{13, 0,123,__LINE__, 0x3fe24b1e, 0xe0000000, 0x3fe4cccc, 0xccccccd9}, /* 0.57167=f(0.65000)*/
+{13, 0,123,__LINE__, 0x3fe281f4, 0x00000000, 0x3fe51eb8, 0x51eb852b}, /* 0.57836=f(0.66000)*/
+{13, 0,123,__LINE__, 0x3fe2b827, 0xc0000000, 0x3fe570a3, 0xd70a3d7d}, /* 0.58497=f(0.67000)*/
+{13, 0,123,__LINE__, 0x3fe2edba, 0x20000000, 0x3fe5c28f, 0x5c28f5cf}, /* 0.59151=f(0.68000)*/
+{13, 0,123,__LINE__, 0x3fe322ab, 0x20000000, 0x3fe6147a, 0xe147ae21}, /* 0.59798=f(0.69000)*/
+{13, 0,123,__LINE__, 0x3fe356fb, 0x00000000, 0x3fe66666, 0x66666673}, /* 0.60436=f(0.70000)*/
+{13, 0,123,__LINE__, 0x3fe38aaa, 0x20000000, 0x3fe6b851, 0xeb851ec5}, /* 0.61067=f(0.71000)*/
+{13, 0,123,__LINE__, 0x3fe3bdb8, 0xa0000000, 0x3fe70a3d, 0x70a3d717}, /* 0.61690=f(0.72000)*/
+{13, 0,123,__LINE__, 0x3fe3f026, 0xc0000000, 0x3fe75c28, 0xf5c28f69}, /* 0.62306=f(0.73000)*/
+{14, 0,123,__LINE__, 0x3fe421f5, 0x00000000, 0x3fe7ae14, 0x7ae147bb}, /* 0.62914=f(0.74000)*/
+{14, 0,123,__LINE__, 0x3fe45323, 0xe0000000, 0x3fe80000, 0x0000000d}, /* 0.63514=f(0.75000)*/
+{12, 0,123,__LINE__, 0x3fe483b3, 0xc0000000, 0x3fe851eb, 0x851eb85f}, /* 0.64107=f(0.76000)*/
+{12, 0,123,__LINE__, 0x3fe4b3a5, 0x60000000, 0x3fe8a3d7, 0x0a3d70b1}, /* 0.64692=f(0.77000)*/
+{12, 0,123,__LINE__, 0x3fe4e2f9, 0x20000000, 0x3fe8f5c2, 0x8f5c2903}, /* 0.65270=f(0.78000)*/
+{12, 0,123,__LINE__, 0x3fe511af, 0xe0000000, 0x3fe947ae, 0x147ae155}, /* 0.65840=f(0.79000)*/
+{12, 0,123,__LINE__, 0x3fe53fca, 0x00000000, 0x3fe99999, 0x999999a7}, /* 0.66403=f(0.80000)*/
+{12, 0,123,__LINE__, 0x3fe56d48, 0xa0000000, 0x3fe9eb85, 0x1eb851f9}, /* 0.66959=f(0.81000)*/
+{12, 0,123,__LINE__, 0x3fe59a2c, 0x20000000, 0x3fea3d70, 0xa3d70a4b}, /* 0.67506=f(0.82000)*/
+{12, 0,123,__LINE__, 0x3fe5c675, 0x80000000, 0x3fea8f5c, 0x28f5c29d}, /* 0.68047=f(0.83000)*/
+{12, 0,123,__LINE__, 0x3fe5f225, 0xe0000000, 0x3feae147, 0xae147aef}, /* 0.68580=f(0.84000)*/
+{12, 0,123,__LINE__, 0x3fe61d3d, 0xc0000000, 0x3feb3333, 0x33333341}, /* 0.69106=f(0.85000)*/
+{12, 0,123,__LINE__, 0x3fe647be, 0x40000000, 0x3feb851e, 0xb851eb93}, /* 0.69625=f(0.86000)*/
+{12, 0,123,__LINE__, 0x3fe671a8, 0x20000000, 0x3febd70a, 0x3d70a3e5}, /* 0.70137=f(0.87000)*/
+{12, 0,123,__LINE__, 0x3fe69afc, 0xc0000000, 0x3fec28f5, 0xc28f5c37}, /* 0.70641=f(0.88000)*/
+{12, 0,123,__LINE__, 0x3fe6c3bc, 0xe0000000, 0x3fec7ae1, 0x47ae1489}, /* 0.71139=f(0.89000)*/
+{12, 0,123,__LINE__, 0x3fe6ebe9, 0x80000000, 0x3feccccc, 0xccccccdb}, /* 0.71629=f(0.90000)*/
+{12, 0,123,__LINE__, 0x3fe71384, 0x00000000, 0x3fed1eb8, 0x51eb852d}, /* 0.72113=f(0.91000)*/
+{12, 0,123,__LINE__, 0x3fe73a8d, 0x40000000, 0x3fed70a3, 0xd70a3d7f}, /* 0.72589=f(0.92000)*/
+{12, 0,123,__LINE__, 0x3fe76106, 0x60000000, 0x3fedc28f, 0x5c28f5d1}, /* 0.73059=f(0.93000)*/
+{12, 0,123,__LINE__, 0x3fe786f0, 0xe0000000, 0x3fee147a, 0xe147ae23}, /* 0.73522=f(0.94000)*/
+{12, 0,123,__LINE__, 0x3fe7ac4d, 0x80000000, 0x3fee6666, 0x66666675}, /* 0.73978=f(0.95000)*/
+{12, 0,123,__LINE__, 0x3fe7d11d, 0xc0000000, 0x3feeb851, 0xeb851ec7}, /* 0.74427=f(0.96000)*/
+{12, 0,123,__LINE__, 0x3fe7f562, 0xc0000000, 0x3fef0a3d, 0x70a3d719}, /* 0.74870=f(0.97000)*/
+{13, 0,123,__LINE__, 0x3fe8191d, 0xa0000000, 0x3fef5c28, 0xf5c28f6b}, /* 0.75306=f(0.98000)*/
+{13, 0,123,__LINE__, 0x3fe83c4f, 0xe0000000, 0x3fefae14, 0x7ae147bd}, /* 0.75736=f(0.99000)*/
+{13, 0,123,__LINE__, 0x3fe85efa, 0xa0000000, 0x3ff00000, 0x00000007}, /* 0.76159=f(1.00000)*/
+{11, 0,123,__LINE__, 0x3fe8811f, 0x60000000, 0x3ff028f5, 0xc28f5c30}, /* 0.76576=f(1.01000)*/
+{11, 0,123,__LINE__, 0x3fe8a2bf, 0x20000000, 0x3ff051eb, 0x851eb859}, /* 0.76986=f(1.02000)*/
+{11, 0,123,__LINE__, 0x3fe8c3db, 0x60000000, 0x3ff07ae1, 0x47ae1482}, /* 0.77390=f(1.03000)*/
+{11, 0,123,__LINE__, 0x3fe8e475, 0x80000000, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.77788=f(1.04000)*/
+{11, 0,123,__LINE__, 0x3fe9048e, 0xc0000000, 0x3ff0cccc, 0xccccccd4}, /* 0.78180=f(1.05000)*/
+{11, 0,123,__LINE__, 0x3fe92428, 0x80000000, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.78566=f(1.06000)*/
+{11, 0,123,__LINE__, 0x3fe94344, 0x40000000, 0x3ff11eb8, 0x51eb8526}, /* 0.78946=f(1.07000)*/
+{11, 0,123,__LINE__, 0x3fe961e3, 0x20000000, 0x3ff147ae, 0x147ae14f}, /* 0.79319=f(1.08000)*/
+{11, 0,123,__LINE__, 0x3fe98006, 0xa0000000, 0x3ff170a3, 0xd70a3d78}, /* 0.79687=f(1.09000)*/
+{11, 0,123,__LINE__, 0x3fe99db0, 0x20000000, 0x3ff19999, 0x999999a1}, /* 0.80049=f(1.10000)*/
+{11, 0,123,__LINE__, 0x3fe9bae1, 0x00000000, 0x3ff1c28f, 0x5c28f5ca}, /* 0.80406=f(1.11000)*/
+{11, 0,123,__LINE__, 0x3fe9d79a, 0xc0000000, 0x3ff1eb85, 0x1eb851f3}, /* 0.80756=f(1.12000)*/
+{11, 0,123,__LINE__, 0x3fe9f3de, 0xc0000000, 0x3ff2147a, 0xe147ae1c}, /* 0.81101=f(1.13000)*/
+{11, 0,123,__LINE__, 0x3fea0fae, 0x20000000, 0x3ff23d70, 0xa3d70a45}, /* 0.81441=f(1.14000)*/
+{11, 0,123,__LINE__, 0x3fea2b0a, 0x80000000, 0x3ff26666, 0x6666666e}, /* 0.81775=f(1.15000)*/
+{11, 0,123,__LINE__, 0x3fea45f5, 0x60000000, 0x3ff28f5c, 0x28f5c297}, /* 0.82103=f(1.16000)*/
+{11, 0,123,__LINE__, 0x3fea6070, 0x00000000, 0x3ff2b851, 0xeb851ec0}, /* 0.82427=f(1.17000)*/
+{11, 0,123,__LINE__, 0x3fea7a7b, 0xc0000000, 0x3ff2e147, 0xae147ae9}, /* 0.82745=f(1.18000)*/
+{11, 0,123,__LINE__, 0x3fea941a, 0x20000000, 0x3ff30a3d, 0x70a3d712}, /* 0.83057=f(1.19000)*/
+{11, 0,123,__LINE__, 0xbfeffff1, 0x60000000, 0xc01921fb, 0x54442d18}, /* -0.99999=f(-6.28318)*/
+{11, 0,123,__LINE__, 0xbfeffead, 0x80000000, 0xc012d97c, 0x7f3321d2}, /* -0.99983=f(-4.71238)*/
+{11, 0,123,__LINE__, 0xbfefe176, 0x00000000, 0xc00921fb, 0x54442d18}, /* -0.99627=f(-3.14159)*/
+{11, 0,123,__LINE__, 0xbfed594f, 0xe0000000, 0xbff921fb, 0x54442d18}, /* -0.91715=f(-1.57079)*/
+{ 0, 0,123,__LINE__, 0x80000000, 0x00000000, 0x00000000, 0x00000000}, /* 0.00000=f(0.00000)*/
+{11, 0,123,__LINE__, 0x3fed594f, 0xe0000000, 0x3ff921fb, 0x54442d18}, /* 0.91715=f(1.57079)*/
+{11, 0,123,__LINE__, 0x3fefe176, 0x00000000, 0x400921fb, 0x54442d18}, /* 0.99627=f(3.14159)*/
+{11, 0,123,__LINE__, 0x3feffead, 0x80000000, 0x4012d97c, 0x7f3321d2}, /* 0.99983=f(4.71238)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc03e0000, 0x00000000}, /* -1.00000=f(-30.0000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* -1.00000=f(-28.3000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc03a9999, 0x9999999a}, /* -1.00000=f(-26.6000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc038e666, 0x66666667}, /* -1.00000=f(-24.9000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc0373333, 0x33333334}, /* -1.00000=f(-23.2000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc0358000, 0x00000001}, /* -1.00000=f(-21.5000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc033cccc, 0xccccccce}, /* -1.00000=f(-19.8000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc0321999, 0x9999999b}, /* -1.00000=f(-18.1000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc0306666, 0x66666668}, /* -1.00000=f(-16.4000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc02d6666, 0x6666666a}, /* -1.00000=f(-14.7000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc02a0000, 0x00000004}, /* -1.00000=f(-13.0000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc0269999, 0x9999999e}, /* -1.00000=f(-11.3000)*/
+{12, 0,123,__LINE__, 0xbff00000, 0x00000000, 0xc0233333, 0x33333338}, /* -1.00000=f(-9.60000)*/
+{11, 0,123,__LINE__, 0xbfefffff, 0x60000000, 0xc01f9999, 0x999999a3}, /* -0.99999=f(-7.90000)*/
+{11, 0,123,__LINE__, 0xbfefffee, 0xc0000000, 0xc018cccc, 0xccccccd6}, /* -0.99999=f(-6.20000)*/
+{11, 0,123,__LINE__, 0xbfeffdfa, 0x80000000, 0xc0120000, 0x00000009}, /* -0.99975=f(-4.50000)*/
+{11, 0,123,__LINE__, 0xbfefc3a3, 0x20000000, 0xc0066666, 0x66666678}, /* -0.99263=f(-2.80000)*/
+{11, 0,123,__LINE__, 0xbfe99db0, 0x20000000, 0xbff19999, 0x999999bd}, /* -0.80049=f(-1.10000)*/
+{14, 0,123,__LINE__, 0x3fe12f82, 0xa0000000, 0x3fe33333, 0x333332ec}, /* 0.53704=f(0.60000)*/
+{11, 0,123,__LINE__, 0x3fef5cf3, 0x20000000, 0x40026666, 0x66666654}, /* 0.98009=f(2.30000)*/
+{11, 0,123,__LINE__, 0x3feffa81, 0x80000000, 0x400fffff, 0xffffffee}, /* 0.99932=f(4.00000)*/
+{11, 0,123,__LINE__, 0x3fefffd1, 0x00000000, 0x4016cccc, 0xccccccc4}, /* 0.99997=f(5.70000)*/
+{11, 0,123,__LINE__, 0x3feffffe, 0x60000000, 0x401d9999, 0x99999991}, /* 0.99999=f(7.40000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x40223333, 0x3333332f}, /* 1.00000=f(9.10000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x40259999, 0x99999995}, /* 1.00000=f(10.8000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x4028ffff, 0xfffffffb}, /* 1.00000=f(12.5000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x402c6666, 0x66666661}, /* 1.00000=f(14.2000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x402fcccc, 0xccccccc7}, /* 1.00000=f(15.9000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x40319999, 0x99999997}, /* 1.00000=f(17.6000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x40334ccc, 0xccccccca}, /* 1.00000=f(19.3000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x4034ffff, 0xfffffffd}, /* 1.00000=f(21.0000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x4036b333, 0x33333330}, /* 1.00000=f(22.7000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x40386666, 0x66666663}, /* 1.00000=f(24.4000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x403a1999, 0x99999996}, /* 1.00000=f(26.1000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x403bcccc, 0xccccccc9}, /* 1.00000=f(27.8000)*/
+{12, 0,123,__LINE__, 0x3ff00000, 0x00000000, 0x403d7fff, 0xfffffffc}, /* 1.00000=f(29.5000)*/
+0,};
+test_tanhf(m) {run_vector_1(m,tanhf_vec,(char *)(tanhf),"tanhf","ff"); }
diff --git a/newlib/libm/test/test.c b/newlib/libm/test/test.c
new file mode 100644
index 00000000000..615c54aa5a4
--- /dev/null
+++ b/newlib/libm/test/test.c
@@ -0,0 +1,291 @@
+#include <signal.h>
+#include "test.h"
+#include <math.h>
+#include <ieeefp.h>
+#include <string.h>
+int verbose;
+static int count;
+int inacc;
+
+
+int
+_DEFUN(main,(ac, av),
+ int ac _AND
+ char **av)
+{
+ int i;
+ int math2 = 1;
+ int string= 1;
+ int is = 1;
+ int math= 1;
+ int cvt = 1;
+ int ieee= 1;
+bt();
+ for (i = 1; i < ac; i++)
+ {
+ if (strcmp(av[i],"-v")==0)
+ verbose ++;
+ if (strcmp(av[i],"-nomath2") == 0)
+ math2 = 0;
+ if (strcmp(av[i],"-nostrin") == 0)
+ string= 0;
+ if (strcmp(av[i],"-nois") == 0)
+ is = 0;
+ if (strcmp(av[i],"-nomath") == 0)
+ math= 0;
+ if (strcmp(av[i],"-nocvt") == 0)
+ cvt = 0;
+ if (strcmp(av[i],"-noiee") == 0)
+ ieee= 0;
+ }
+ if (cvt)
+ test_cvt();
+
+ if (math2)
+ test_math2();
+ if (string)
+ test_string();
+ if (math)
+ test_math();
+ if (is)
+ test_is();
+ if (ieee) test_ieee();
+ printf("Tested %d functions, %d errors detected\n", count, inacc);
+ return 0;
+}
+
+
+static _CONST char *iname = "foo";
+void
+_DEFUN(newfunc,(string),
+ _CONST char *string)
+{
+ if (strcmp(iname, string))
+ {
+ printf("testing %s\n", string);
+ fflush(stdout);
+ iname = string;
+ }
+
+}
+
+
+static int theline;
+
+void line(li)
+int li;
+{
+ if (verbose)
+ {
+ printf(" %d\n", li);
+ }
+ theline = li;
+
+ count++;
+}
+
+
+
+int redo = 0;
+int reduce = 0;
+
+int strtod_vector = 0;
+
+int
+_DEFUN(bigger,(a,b),
+ __ieee_double_shape_type *a _AND
+ __ieee_double_shape_type *b)
+{
+
+ if (a->parts.msw > b->parts.msw)
+ {
+
+ return 1;
+ }
+ else if (a->parts.msw == b->parts.msw)
+ {
+ if (a->parts.lsw > b->parts.lsw)
+ {
+ return 1;
+ }
+ }
+ return 0;
+}
+
+
+
+/* Return the first bit different between two double numbers */
+int
+_DEFUN(mag_of_error,(is, shouldbe),
+ double is _AND
+ double shouldbe)
+{
+ __ieee_double_shape_type a,b;
+ int i;
+ int a_big;
+ unsigned int mask;
+ unsigned long int __x;
+ unsigned long int msw, lsw;
+ a.value = is;
+
+ b.value = shouldbe;
+
+ if (a.parts.msw == b.parts.msw
+ && a.parts.lsw== b.parts.lsw) return 64;
+
+
+ /* Subtract the larger from the smaller number */
+
+ a_big = bigger(&a, &b);
+
+ if (!a_big) {
+ int t;
+ t = a.parts.msw;
+ a.parts.msw = b.parts.msw;
+ b.parts.msw = t;
+
+ t = a.parts.lsw;
+ a.parts.lsw = b.parts.lsw;
+ b.parts.lsw = t;
+ }
+
+
+
+ __x = (a.parts.lsw) - (b.parts.lsw);
+ msw = (a.parts.msw) - (b.parts.msw) - (__x > (a.parts.lsw));
+ lsw = __x;
+
+
+
+
+ /* Find out which bit the difference is in */
+ mask = 0x80000000;
+ for (i = 0; i < 32; i++)
+ {
+ if (((msw) & mask)!=0) return i;
+ mask >>=1;
+ }
+
+ mask = 0x80000000;
+ for (i = 0; i < 32; i++)
+ {
+
+ if (((lsw) & mask)!=0) return i+32;
+ mask >>=1;
+ }
+
+ return 64;
+
+}
+
+ int ok_mag;
+
+
+
+void
+_DEFUN(test_sok,(is, shouldbe),
+ char *is _AND
+ char *shouldbe)
+{
+ if (strcmp(is,shouldbe))
+ {
+ printf("%s:%d, inacurate answer: (%s should be %s)\n",
+ iname,
+ theline,
+ is, shouldbe);
+ inacc++;
+ }
+}
+void
+_DEFUN(test_iok,(is, shouldbe),
+ int is _AND
+ int shouldbe)
+{
+ if (is != shouldbe){
+ printf("%s:%d, inacurate answer: (%08x should be %08x)\n",
+ iname,
+ theline,
+ is, shouldbe);
+ inacc++;
+ }
+}
+
+
+/* Compare counted strings upto a certain length - useful to test single
+ prec float conversions against double results
+*/
+void
+_DEFUN(test_scok,(is, shouldbe, count),
+ char *is _AND
+ char *shouldbe _AND
+ int count)
+{
+ if (strncmp(is,shouldbe, count))
+ {
+ printf("%s:%d, inacurate answer: (%s should be %s)\n",
+ iname,
+ theline,
+ is, shouldbe);
+ inacc++;
+ }
+}
+
+void
+_DEFUN(test_eok,(is, shouldbe),
+ int is _AND
+ int shouldbe)
+{
+ if (is != shouldbe){
+ printf("%s:%d, bad errno answer: (%d should be %d)\n",
+ iname,
+ theline,
+ is, shouldbe);
+ inacc++;
+ }
+}
+
+void
+_DEFUN(test_mok,(value, shouldbe, okmag),
+ double value _AND
+ double shouldbe _AND
+ int okmag)
+{
+ __ieee_double_shape_type a,b;
+ int mag = mag_of_error(value, shouldbe);
+ if (mag == 0)
+ {
+ /* error in the first bit is ok if the numbers are both 0 */
+ if (value == 0.0 && shouldbe == 0.0)
+ return;
+
+ }
+ a.value = shouldbe;
+ b.value = value;
+
+ if (mag < okmag)
+ {
+ printf("%s:%d, wrong answer: bit %d ",
+ iname,
+ theline,
+ mag);
+ printf("%08x%08x %08x%08x) ",
+ a.parts.msw, a.parts.lsw,
+ b.parts.msw, b.parts.lsw);
+ printf("(%g %g)\n", a.value, b.value);
+ inacc++;
+ }
+}
+
+#ifdef __PCCNECV70__
+kill() {}
+getpid() {}
+#endif
+
+bt(){
+
+ double f1,f2;
+ f1 = 0.0;
+ f2 = 0.0/f1;
+ printf("(%g)\n", f2);
+
+}
diff --git a/newlib/libm/test/test.h b/newlib/libm/test/test.h
new file mode 100644
index 00000000000..f58fcc96d72
--- /dev/null
+++ b/newlib/libm/test/test.h
@@ -0,0 +1,145 @@
+#define HAVE_FLOAT 1
+#define X(x) (char *)x
+
+#include <_ansi.h>
+#include <math.h>
+#include <float.h>
+#include <ieeefp.h>
+#include <stdio.h>
+
+void checkf();
+void enter();
+
+
+double translate_from();
+
+typedef struct
+{
+ long msw, lsw;
+} question_struct_type;
+
+
+typedef struct
+{
+ char error_bit;
+ char errno_val;
+ char merror;
+ int line;
+
+ question_struct_type qs[3];
+} one_line_type;
+
+
+#define MVEC_START(x) one_line_type x[] = {
+#define MVEC_END 0,};
+
+
+int _EXFUN(mag_of_error,(double, double));
+
+
+#define ERROR_PERFECT 20
+#define ERROR_FAIL -1
+
+#define AAAA 15
+#define AAA 10
+#define AA 6
+#define A 5
+#define B 3
+#define C 1
+#define VECOPEN(x,f) \
+{\
+ char buffer[100];\
+ sprintf(buffer,"%s_vec.c",x);\
+ f = fopen(buffer,"w");\
+ fprintf(f,"#include \"test.h\"\n");\
+ fprintf(f," one_line_type %s_vec[] = {\n", x);\
+}
+
+#define VECCLOSE(f,name,args)\
+{\
+ fprintf(f,"0,};\n"); \
+ fprintf(f,"test_%s(m) {run_vector_1(m,%s_vec,(char *)(%s),\"%s\",\"%s\"); } \n",\
+ name,\
+ name,name,name,args);\
+ fclose(f);\
+}
+
+
+
+typedef struct
+{
+ int line;
+
+ char *string;
+ double value;
+ int endscan;
+} double_type;
+
+
+typedef struct {
+ long int value;
+ char end;
+ char errno_val;
+} int_scan_type;
+
+typedef struct
+{
+ int line;
+ int_scan_type octal;
+ int_scan_type decimal;
+ int_scan_type hex;
+ int_scan_type normal;
+ int_scan_type alphabetical;
+ char *string;
+} int_type;
+
+
+typedef struct
+{
+ int line;
+ double value;
+ char *estring;
+ int e1;
+ int e2;
+ int e3;
+ char *fstring;
+ int f1;
+ int f2;
+ int f3;
+ char *gstring;
+ int g1;
+} ddouble_type;
+
+typedef struct
+{
+ int line;
+ double value;
+ char *result;
+ char *format_string;
+} sprint_double_type;
+
+
+typedef struct
+{
+ int line;
+ int value;
+ char *result;
+ char *format_string;
+} sprint_int_type;
+
+
+void _EXFUN(test_ieee,(void));
+void _EXFUN(test_math2,(void));
+void _EXFUN(test_math,(void));
+void _EXFUN(test_string,(void));
+void _EXFUN(test_is,(void));
+void _EXFUN(test_cvt,(void));
+
+void _EXFUN(line,(int));
+
+void _EXFUN(test_mok, (double, double, int));
+void _EXFUN(test_iok, (int, int));
+void _EXFUN(test_eok, (int, int));
+void _EXFUN(test_sok, (char *, char*));
+void _EXFUN(test_scok, (char *, char*, int));
+void _EXFUN(newfunc,(_CONST char *));
diff --git a/newlib/libm/test/test_ieee.c b/newlib/libm/test/test_ieee.c
new file mode 100644
index 00000000000..a126d01e6fc
--- /dev/null
+++ b/newlib/libm/test/test_ieee.c
@@ -0,0 +1,180 @@
+
+#include "test.h"
+#include <ieeefp.h>
+
+
+/* Test fp getround and fp setround */
+
+void
+_DEFUN_VOID(test_getround)
+{
+
+ newfunc("fpgetround/fpsetround");
+ line(1);
+ fpsetround(FP_RN);
+ test_iok(fpgetround(), FP_RN);
+ line(2);
+ fpsetround(FP_RM);
+ test_iok(fpgetround(), FP_RM);
+ line(3);
+ fpsetround(FP_RP);
+ test_iok(fpgetround(), FP_RP);
+ line(4);
+ fpsetround(FP_RZ);
+ test_iok(fpgetround(), FP_RZ);
+}
+
+/* And fpset/fpgetmask */
+void
+_DEFUN_VOID(test_getmask)
+{
+ newfunc("fpsetmask/fpgetmask");
+ line(1);
+ fpsetmask(FP_X_INV);
+ test_iok(fpgetmask(),FP_X_INV);
+ line(2);
+ fpsetmask(FP_X_DX);
+ test_iok(fpgetmask(),FP_X_DX);
+ line(3);
+ fpsetmask(FP_X_OFL );
+ test_iok(fpgetmask(),FP_X_OFL);
+ line(4);
+ fpsetmask(FP_X_UFL);
+ test_iok(fpgetmask(),FP_X_UFL);
+ line(5);
+ fpsetmask(FP_X_IMP);
+ test_iok(fpgetmask(),FP_X_IMP);
+}
+
+void
+_DEFUN_VOID(test_getsticky)
+{
+ newfunc("fpsetsticky/fpgetsticky");
+ line(1);
+ fpsetsticky(FP_X_INV);
+ test_iok(fpgetsticky(),FP_X_INV);
+ line(2);
+ fpsetsticky(FP_X_DX);
+ test_iok(fpgetsticky(),FP_X_DX);
+ line(3);
+ fpsetsticky(FP_X_OFL );
+ test_iok(fpgetsticky(),FP_X_OFL);
+ line(4);
+ fpsetsticky(FP_X_UFL);
+ test_iok(fpgetsticky(),FP_X_UFL);
+ line(5);
+ fpsetsticky(FP_X_IMP);
+ test_iok(fpgetsticky(),FP_X_IMP);
+}
+
+void
+_DEFUN_VOID(test_getroundtoi)
+{
+ newfunc("fpsetroundtoi/fpgetroundtoi");
+ line(1);
+ fpsetroundtoi(FP_RDI_TOZ);
+ test_iok(fpgetroundtoi(),FP_RDI_TOZ);
+
+ line(2);
+ fpsetroundtoi(FP_RDI_RD);
+ test_iok(fpgetroundtoi(),FP_RDI_RD);
+
+}
+
+double
+ _DEFUN(dnumber,(msw, lsw),
+ int msw _AND
+ int lsw)
+{
+
+ __ieee_double_shape_type v;
+ v.parts.lsw = lsw;
+ v.parts.msw = msw;
+ return v.value;
+}
+
+ /* Lets see if changing the rounding alters the arithmetic.
+ Test by creating numbers which will have to be rounded when
+ added, and seeing what happens to them */
+ /* Keep them out here to stop the compiler from folding the results */
+double n;
+double m;
+double add_rounded_up;
+double add_rounded_down;
+double sub_rounded_down ;
+double sub_rounded_up ;
+ double r1,r2,r3,r4;
+void
+_DEFUN_VOID(test_round)
+{
+ n = dnumber(0x40000000, 0x00000008); /* near 2 */
+ m = dnumber(0x40400000, 0x00000003); /* near 3.4 */
+
+ add_rounded_up = dnumber(0x40410000, 0x00000004); /* For RN, RP */
+ add_rounded_down = dnumber(0x40410000, 0x00000003); /* For RM, RZ */
+ sub_rounded_down = dnumber(0xc0410000, 0x00000004); /* for RN, RM */
+ sub_rounded_up = dnumber(0xc0410000, 0x00000003); /* for RP, RZ */
+
+ newfunc("fpsetround");
+
+ line(1);
+
+ fpsetround(FP_RN);
+ r1 = n + m;
+ test_mok(r1, add_rounded_up, 64);
+
+ line(2);
+ fpsetround(FP_RM);
+ r2 = n + m;
+ test_mok(r2, add_rounded_down, 64);
+
+ fpsetround(FP_RP);
+ line(3);
+ r3 = n + m;
+ test_mok(r3,add_rounded_up, 64);
+
+ fpsetround(FP_RZ);
+ line(4);
+ r4 = n + m;
+ test_mok(r4,add_rounded_down,64);
+
+
+ fpsetround(FP_RN);
+ r1 = - n - m;
+ line(5);
+ test_mok(r1,sub_rounded_down,64);
+
+ fpsetround(FP_RM);
+ r2 = - n - m;
+ line(6);
+ test_mok(r2,sub_rounded_down,64);
+
+
+ fpsetround(FP_RP);
+ r3 = - n - m;
+ line(7);
+ test_mok(r3,sub_rounded_up,64);
+
+ fpsetround(FP_RZ);
+ r4 = - n - m;
+ line(8);
+ test_mok(r4,sub_rounded_up,64);
+}
+
+
+void
+_DEFUN_VOID(test_ieee)
+{
+ fp_rnd old = fpgetround();
+ test_getround();
+ test_getmask();
+ test_getsticky();
+ test_getroundtoi();
+
+ test_round();
+ fpsetround(old);
+
+
+}
+
+
diff --git a/newlib/libm/test/test_is.c b/newlib/libm/test/test_is.c
new file mode 100644
index 00000000000..2e99becbf91
--- /dev/null
+++ b/newlib/libm/test/test_is.c
@@ -0,0 +1,2031 @@
+#include "test.h"
+#include <ctype.h>
+
+int setascii;
+int setlower;
+int setupper;
+int myascii;
+int mycntrl;
+int myspace;
+int myprint;
+int myalnum;
+int mydigit;
+int myxdigit;
+int myalpha;
+int myupper;
+int mylower;
+int mygraph;
+int mypunct;
+
+void
+_DEFUN(test_is_single,(i),
+ int i)
+{
+ setascii = 0;
+ setlower = 0;
+ setupper = 0;
+
+ myascii = 0;
+ mycntrl = 0;
+ myspace = 0;
+ myprint = 0;
+ myalnum = 0;
+ mydigit = 0;
+ myxdigit = 0;
+ myalpha = 0;
+ myupper = 0;
+ mylower = 0;
+ mygraph = 0;
+ mypunct = 0;
+
+ switch (i) {
+ case 0000:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 0;
+ setlower = 0;
+ setupper = 0;
+ break;
+ case 0001:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 1;
+ setlower = 1;
+ setupper = 1;
+ break;
+ case 0002:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 2;
+ setlower = 2;
+ setupper = 2;
+ break;
+ case 0003:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 3;
+ setlower = 3;
+ setupper = 3;
+ break;
+ case 0004:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 4;
+ setlower = 4;
+ setupper = 4;
+ break;
+ case 0005:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 5;
+ setlower = 5;
+ setupper = 5;
+ break;
+ case 0006:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 6;
+ setlower = 6;
+ setupper = 6;
+ break;
+ case 0007:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 7;
+ setlower = 7;
+ setupper = 7;
+ break;
+ case 0010:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 8;
+ setlower = 8;
+ setupper = 8;
+ break;
+ case 0011:
+ myascii = 1;
+ mycntrl = 1;
+ myspace = 1;
+ setascii = 9;
+ setlower = 9;
+ setupper = 9;
+ break;
+ case 0012:
+ myascii = 1;
+ mycntrl = 1;
+ myspace = 1;
+ setascii = 10;
+ setlower = 10;
+ setupper = 10;
+ break;
+ case 0013:
+ myascii = 1;
+ mycntrl = 1;
+ myspace = 1;
+ setascii = 11;
+ setlower = 11;
+ setupper = 11;
+ break;
+ case 0014:
+ myascii = 1;
+ mycntrl = 1;
+ myspace = 1;
+ setascii = 12;
+ setlower = 12;
+ setupper = 12;
+ break;
+ case 0015:
+ myascii = 1;
+ mycntrl = 1;
+ myspace = 1;
+ setascii = 13;
+ setlower = 13;
+ setupper = 13;
+ break;
+ case 0016:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 14;
+ setlower = 14;
+ setupper = 14;
+ break;
+ case 0017:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 15;
+ setlower = 15;
+ setupper = 15;
+ break;
+ case 0020:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 16;
+ setlower = 16;
+ setupper = 16;
+ break;
+ case 0021:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 17;
+ setlower = 17;
+ setupper = 17;
+ break;
+ case 0022:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 18;
+ setlower = 18;
+ setupper = 18;
+ break;
+ case 0023:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 19;
+ setlower = 19;
+ setupper = 19;
+ break;
+ case 0024:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 20;
+ setlower = 20;
+ setupper = 20;
+ break;
+ case 0025:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 21;
+ setlower = 21;
+ setupper = 21;
+ break;
+ case 0026:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 22;
+ setlower = 22;
+ setupper = 22;
+ break;
+ case 0027:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 23;
+ setlower = 23;
+ setupper = 23;
+ break;
+ case 0030:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 24;
+ setlower = 24;
+ setupper = 24;
+ break;
+ case 0031:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 25;
+ setlower = 25;
+ setupper = 25;
+ break;
+ case 0032:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 26;
+ setlower = 26;
+ setupper = 26;
+ break;
+ case 0033:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 27;
+ setlower = 27;
+ setupper = 27;
+ break;
+ case 0034:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 28;
+ setlower = 28;
+ setupper = 28;
+ break;
+ case 0035:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 29;
+ setlower = 29;
+ setupper = 29;
+ break;
+ case 0036:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 30;
+ setlower = 30;
+ setupper = 30;
+ break;
+ case 0037:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 31;
+ setlower = 31;
+ setupper = 31;
+ break;
+ case ' ':
+ myascii = 1;
+ myprint = 1;
+ myspace = 1;
+ setascii = 32;
+ setlower = 32;
+ setupper = 32;
+ break;
+ case '!':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 33;
+ setlower = 33;
+ setupper = 33;
+ break;
+ case '"':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 34;
+ setlower = 34;
+ setupper = 34;
+ break;
+ case '#':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 35;
+ setlower = 35;
+ setupper = 35;
+ break;
+ case '$':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 36;
+ setlower = 36;
+ setupper = 36;
+ break;
+ case '%':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 37;
+ setlower = 37;
+ setupper = 37;
+ break;
+ case '&':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 38;
+ setlower = 38;
+ setupper = 38;
+ break;
+ case '\'':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 39;
+ setlower = 39;
+ setupper = 39;
+ break;
+ case '\(':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 40;
+ setlower = 40;
+ setupper = 40;
+ break;
+ case ')':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 41;
+ setlower = 41;
+ setupper = 41;
+ break;
+ case '*':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 42;
+ setlower = 42;
+ setupper = 42;
+ break;
+ case '+':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 43;
+ setlower = 43;
+ setupper = 43;
+ break;
+ case ',':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 44;
+ setlower = 44;
+ setupper = 44;
+ break;
+ case '-':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 45;
+ setlower = 45;
+ setupper = 45;
+ break;
+ case '.':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 46;
+ setlower = 46;
+ setupper = 46;
+ break;
+ case '/':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 47;
+ setlower = 47;
+ setupper = 47;
+ break;
+ case '0':
+ myalnum = 1;
+ myascii = 1;
+ mydigit = 1;
+ mygraph = 1;
+ myprint = 1;
+ myxdigit = 1;
+ setascii = 48;
+ setlower = 48;
+ setupper = 48;
+ break;
+ case '1':
+ myalnum = 1;
+ myascii = 1;
+ mydigit = 1;
+ mygraph = 1;
+ myprint = 1;
+ myxdigit = 1;
+ setascii = 49;
+ setlower = 49;
+ setupper = 49;
+ break;
+ case '2':
+ myalnum = 1;
+ myascii = 1;
+ mydigit = 1;
+ mygraph = 1;
+ myprint = 1;
+ myxdigit = 1;
+ setascii = 50;
+ setlower = 50;
+ setupper = 50;
+ break;
+ case '3':
+ myalnum = 1;
+ myascii = 1;
+ mydigit = 1;
+ mygraph = 1;
+ myprint = 1;
+ myxdigit = 1;
+ setascii = 51;
+ setlower = 51;
+ setupper = 51;
+ break;
+ case '4':
+ myalnum = 1;
+ myascii = 1;
+ mydigit = 1;
+ mygraph = 1;
+ myprint = 1;
+ myxdigit = 1;
+ setascii = 52;
+ setlower = 52;
+ setupper = 52;
+ break;
+ case '5':
+ myalnum = 1;
+ myascii = 1;
+ mydigit = 1;
+ mygraph = 1;
+ myprint = 1;
+ myxdigit = 1;
+ setascii = 53;
+ setlower = 53;
+ setupper = 53;
+ break;
+ case '6':
+ myalnum = 1;
+ myascii = 1;
+ mydigit = 1;
+ mygraph = 1;
+ myprint = 1;
+ myxdigit = 1;
+ setascii = 54;
+ setlower = 54;
+ setupper = 54;
+ break;
+ case '7':
+ myalnum = 1;
+ myascii = 1;
+ mydigit = 1;
+ mygraph = 1;
+ myprint = 1;
+ myxdigit = 1;
+ setascii = 55;
+ setlower = 55;
+ setupper = 55;
+ break;
+ case '8':
+ myalnum = 1;
+ myascii = 1;
+ mydigit = 1;
+ mygraph = 1;
+ myprint = 1;
+ myxdigit = 1;
+ setascii = 56;
+ setlower = 56;
+ setupper = 56;
+ break;
+ case '9':
+ myalnum = 1;
+ myascii = 1;
+ mydigit = 1;
+ mygraph = 1;
+ myprint = 1;
+ myxdigit = 1;
+ setascii = 57;
+ setlower = 57;
+ setupper = 57;
+ break;
+ case ':':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 58;
+ setlower = 58;
+ setupper = 58;
+ break;
+ case ';':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 59;
+ setlower = 59;
+ setupper = 59;
+ break;
+ case '<':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 60;
+ setlower = 60;
+ setupper = 60;
+ break;
+ case '=':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 61;
+ setlower = 61;
+ setupper = 61;
+ break;
+ case '>':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 62;
+ setlower = 62;
+ setupper = 62;
+ break;
+ case '?':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 63;
+ setlower = 63;
+ setupper = 63;
+ break;
+ case '@':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 64;
+ setlower = 64;
+ setupper = 64;
+ break;
+ case 'A':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ myxdigit = 1;
+ setascii = 65;
+ setlower = 97;
+ setupper = 65;
+ break;
+ case 'B':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ myxdigit = 1;
+ setascii = 66;
+ setlower = 98;
+ setupper = 66;
+ break;
+ case 'C':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ myxdigit = 1;
+ setascii = 67;
+ setlower = 99;
+ setupper = 67;
+ break;
+ case 'D':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ myxdigit = 1;
+ setascii = 68;
+ setlower = 100;
+ setupper = 68;
+ break;
+ case 'E':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ myxdigit = 1;
+ setascii = 69;
+ setlower = 101;
+ setupper = 69;
+ break;
+ case 'F':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ myxdigit = 1;
+ setascii = 70;
+ setlower = 102;
+ setupper = 70;
+ break;
+ case 'G':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ setascii = 71;
+ setlower = 103;
+ setupper = 71;
+ break;
+ case 'H':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ setascii = 72;
+ setlower = 104;
+ setupper = 72;
+ break;
+ case 'I':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ setascii = 73;
+ setlower = 105;
+ setupper = 73;
+ break;
+ case 'J':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ setascii = 74;
+ setlower = 106;
+ setupper = 74;
+ break;
+ case 'K':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ setascii = 75;
+ setlower = 107;
+ setupper = 75;
+ break;
+ case 'L':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ setascii = 76;
+ setlower = 108;
+ setupper = 76;
+ break;
+ case 'M':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ setascii = 77;
+ setlower = 109;
+ setupper = 77;
+ break;
+ case 'N':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ setascii = 78;
+ setlower = 110;
+ setupper = 78;
+ break;
+ case 'O':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ setascii = 79;
+ setlower = 111;
+ setupper = 79;
+ break;
+ case 'P':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ setascii = 80;
+ setlower = 112;
+ setupper = 80;
+ break;
+ case 'Q':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ setascii = 81;
+ setlower = 113;
+ setupper = 81;
+ break;
+ case 'R':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ setascii = 82;
+ setlower = 114;
+ setupper = 82;
+ break;
+ case 'S':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ setascii = 83;
+ setlower = 115;
+ setupper = 83;
+ break;
+ case 'T':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ setascii = 84;
+ setlower = 116;
+ setupper = 84;
+ break;
+ case 'U':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ setascii = 85;
+ setlower = 117;
+ setupper = 85;
+ break;
+ case 'V':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ setascii = 86;
+ setlower = 118;
+ setupper = 86;
+ break;
+ case 'W':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ setascii = 87;
+ setlower = 119;
+ setupper = 87;
+ break;
+ case 'X':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ setascii = 88;
+ setlower = 120;
+ setupper = 88;
+ break;
+ case 'Y':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ setascii = 89;
+ setlower = 121;
+ setupper = 89;
+ break;
+ case 'Z':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ myupper = 1;
+ setascii = 90;
+ setlower = 122;
+ setupper = 90;
+ break;
+ case '[':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 91;
+ setlower = 91;
+ setupper = 91;
+ break;
+ case '\\':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 92;
+ setlower = 92;
+ setupper = 92;
+ break;
+ case ']':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 93;
+ setlower = 93;
+ setupper = 93;
+ break;
+ case '^':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 94;
+ setlower = 94;
+ setupper = 94;
+ break;
+ case '_':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 95;
+ setlower = 95;
+ setupper = 95;
+ break;
+ case '`':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 96;
+ setlower = 96;
+ setupper = 96;
+ break;
+ case 'a':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ myxdigit = 1;
+ setascii = 97;
+ setlower = 97;
+ setupper = 65;
+ break;
+ case 'b':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ myxdigit = 1;
+ setascii = 98;
+ setlower = 98;
+ setupper = 66;
+ break;
+ case 'c':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ myxdigit = 1;
+ setascii = 99;
+ setlower = 99;
+ setupper = 67;
+ break;
+ case 'd':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ myxdigit = 1;
+ setascii = 100;
+ setlower = 100;
+ setupper = 68;
+ break;
+ case 'e':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ myxdigit = 1;
+ setascii = 101;
+ setlower = 101;
+ setupper = 69;
+ break;
+ case 'f':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ myxdigit = 1;
+ setascii = 102;
+ setlower = 102;
+ setupper = 70;
+ break;
+ case 'g':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ setascii = 103;
+ setlower = 103;
+ setupper = 71;
+ break;
+ case 'h':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ setascii = 104;
+ setlower = 104;
+ setupper = 72;
+ break;
+ case 'i':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ setascii = 105;
+ setlower = 105;
+ setupper = 73;
+ break;
+ case 'j':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ setascii = 106;
+ setlower = 106;
+ setupper = 74;
+ break;
+ case 'k':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ setascii = 107;
+ setlower = 107;
+ setupper = 75;
+ break;
+ case 'l':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ setascii = 108;
+ setlower = 108;
+ setupper = 76;
+ break;
+ case 'm':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ setascii = 109;
+ setlower = 109;
+ setupper = 77;
+ break;
+ case 'n':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ setascii = 110;
+ setlower = 110;
+ setupper = 78;
+ break;
+ case 'o':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ setascii = 111;
+ setlower = 111;
+ setupper = 79;
+ break;
+ case 'p':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ setascii = 112;
+ setlower = 112;
+ setupper = 80;
+ break;
+ case 'q':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ setascii = 113;
+ setlower = 113;
+ setupper = 81;
+ break;
+ case 'r':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ setascii = 114;
+ setlower = 114;
+ setupper = 82;
+ break;
+ case 's':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ setascii = 115;
+ setlower = 115;
+ setupper = 83;
+ break;
+ case 't':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ setascii = 116;
+ setlower = 116;
+ setupper = 84;
+ break;
+ case 'u':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ setascii = 117;
+ setlower = 117;
+ setupper = 85;
+ break;
+ case 'v':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ setascii = 118;
+ setlower = 118;
+ setupper = 86;
+ break;
+ case 'w':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ setascii = 119;
+ setlower = 119;
+ setupper = 87;
+ break;
+ case 'x':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ setascii = 120;
+ setlower = 120;
+ setupper = 88;
+ break;
+ case 'y':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ setascii = 121;
+ setlower = 121;
+ setupper = 89;
+ break;
+ case 'z':
+ myalnum = 1;
+ myalpha = 1;
+ myascii = 1;
+ mygraph = 1;
+ mylower = 1;
+ myprint = 1;
+ setascii = 122;
+ setlower = 122;
+ setupper = 90;
+ break;
+ case '{':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 123;
+ setlower = 123;
+ setupper = 123;
+ break;
+ case '|':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 124;
+ setlower = 124;
+ setupper = 124;
+ break;
+ case '}':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 125;
+ setlower = 125;
+ setupper = 125;
+ break;
+ case '~':
+ myascii = 1;
+ mygraph = 1;
+ myprint = 1;
+ mypunct = 1;
+ setascii = 126;
+ setlower = 126;
+ setupper = 126;
+ break;
+ case 0177:
+ myascii = 1;
+ mycntrl = 1;
+ setascii = 127;
+ setlower = 127;
+ setupper = 127;
+ break;
+ case 0200:
+ setascii = 0;
+ setlower = 128;
+ setupper = 128;
+ break;
+ case 0201:
+ setascii = 1;
+ setlower = 129;
+ setupper = 129;
+ break;
+ case 0202:
+ setascii = 2;
+ setlower = 130;
+ setupper = 130;
+ break;
+ case 0203:
+ setascii = 3;
+ setlower = 131;
+ setupper = 131;
+ break;
+ case 0204:
+ setascii = 4;
+ setlower = 132;
+ setupper = 132;
+ break;
+ case 0205:
+ setascii = 5;
+ setlower = 133;
+ setupper = 133;
+ break;
+ case 0206:
+ setascii = 6;
+ setlower = 134;
+ setupper = 134;
+ break;
+ case 0207:
+ setascii = 7;
+ setlower = 135;
+ setupper = 135;
+ break;
+ case 0210:
+ setascii = 8;
+ setlower = 136;
+ setupper = 136;
+ break;
+ case 0211:
+ setascii = 9;
+ setlower = 137;
+ setupper = 137;
+ break;
+ case 0212:
+ setascii = 10;
+ setlower = 138;
+ setupper = 138;
+ break;
+ case 0213:
+ setascii = 11;
+ setlower = 139;
+ setupper = 139;
+ break;
+ case 0214:
+ setascii = 12;
+ setlower = 140;
+ setupper = 140;
+ break;
+ case 0215:
+ setascii = 13;
+ setlower = 141;
+ setupper = 141;
+ break;
+ case 0216:
+ setascii = 14;
+ setlower = 142;
+ setupper = 142;
+ break;
+ case 0217:
+ setascii = 15;
+ setlower = 143;
+ setupper = 143;
+ break;
+ case 0220:
+ setascii = 16;
+ setlower = 144;
+ setupper = 144;
+ break;
+ case 0221:
+ setascii = 17;
+ setlower = 145;
+ setupper = 145;
+ break;
+ case 0222:
+ setascii = 18;
+ setlower = 146;
+ setupper = 146;
+ break;
+ case 0223:
+ setascii = 19;
+ setlower = 147;
+ setupper = 147;
+ break;
+ case 0224:
+ setascii = 20;
+ setlower = 148;
+ setupper = 148;
+ break;
+ case 0225:
+ setascii = 21;
+ setlower = 149;
+ setupper = 149;
+ break;
+ case 0226:
+ setascii = 22;
+ setlower = 150;
+ setupper = 150;
+ break;
+ case 0227:
+ setascii = 23;
+ setlower = 151;
+ setupper = 151;
+ break;
+ case 0230:
+ setascii = 24;
+ setlower = 152;
+ setupper = 152;
+ break;
+ case 0231:
+ setascii = 25;
+ setlower = 153;
+ setupper = 153;
+ break;
+ case 0232:
+ setascii = 26;
+ setlower = 154;
+ setupper = 154;
+ break;
+ case 0233:
+ setascii = 27;
+ setlower = 155;
+ setupper = 155;
+ break;
+ case 0234:
+ setascii = 28;
+ setlower = 156;
+ setupper = 156;
+ break;
+ case 0235:
+ setascii = 29;
+ setlower = 157;
+ setupper = 157;
+ break;
+ case 0236:
+ setascii = 30;
+ setlower = 158;
+ setupper = 158;
+ break;
+ case 0237:
+ setascii = 31;
+ setlower = 159;
+ setupper = 159;
+ break;
+ case 0240:
+ setascii = 32;
+ setlower = 160;
+ setupper = 160;
+ break;
+ case 0241:
+ setascii = 33;
+ setlower = 161;
+ setupper = 161;
+ break;
+ case 0242:
+ setascii = 34;
+ setlower = 162;
+ setupper = 162;
+ break;
+ case 0243:
+ setascii = 35;
+ setlower = 163;
+ setupper = 163;
+ break;
+ case 0244:
+ setascii = 36;
+ setlower = 164;
+ setupper = 164;
+ break;
+ case 0245:
+ setascii = 37;
+ setlower = 165;
+ setupper = 165;
+ break;
+ case 0246:
+ setascii = 38;
+ setlower = 166;
+ setupper = 166;
+ break;
+ case 0247:
+ setascii = 39;
+ setlower = 167;
+ setupper = 167;
+ break;
+ case 0250:
+ setascii = 40;
+ setlower = 168;
+ setupper = 168;
+ break;
+ case 0251:
+ setascii = 41;
+ setlower = 169;
+ setupper = 169;
+ break;
+ case 0252:
+ setascii = 42;
+ setlower = 170;
+ setupper = 170;
+ break;
+ case 0253:
+ setascii = 43;
+ setlower = 171;
+ setupper = 171;
+ break;
+ case 0254:
+ setascii = 44;
+ setlower = 172;
+ setupper = 172;
+ break;
+ case 0255:
+ setascii = 45;
+ setlower = 173;
+ setupper = 173;
+ break;
+ case 0256:
+ setascii = 46;
+ setlower = 174;
+ setupper = 174;
+ break;
+ case 0257:
+ setascii = 47;
+ setlower = 175;
+ setupper = 175;
+ break;
+ case 0260:
+ setascii = 48;
+ setlower = 176;
+ setupper = 176;
+ break;
+ case 0261:
+ setascii = 49;
+ setlower = 177;
+ setupper = 177;
+ break;
+ case 0262:
+ setascii = 50;
+ setlower = 178;
+ setupper = 178;
+ break;
+ case 0263:
+ setascii = 51;
+ setlower = 179;
+ setupper = 179;
+ break;
+ case 0264:
+ setascii = 52;
+ setlower = 180;
+ setupper = 180;
+ break;
+ case 0265:
+ setascii = 53;
+ setlower = 181;
+ setupper = 181;
+ break;
+ case 0266:
+ setascii = 54;
+ setlower = 182;
+ setupper = 182;
+ break;
+ case 0267:
+ setascii = 55;
+ setlower = 183;
+ setupper = 183;
+ break;
+ case 0270:
+ setascii = 56;
+ setlower = 184;
+ setupper = 184;
+ break;
+ case 0271:
+ setascii = 57;
+ setlower = 185;
+ setupper = 185;
+ break;
+ case 0272:
+ setascii = 58;
+ setlower = 186;
+ setupper = 186;
+ break;
+ case 0273:
+ setascii = 59;
+ setlower = 187;
+ setupper = 187;
+ break;
+ case 0274:
+ setascii = 60;
+ setlower = 188;
+ setupper = 188;
+ break;
+ case 0275:
+ setascii = 61;
+ setlower = 189;
+ setupper = 189;
+ break;
+ case 0276:
+ setascii = 62;
+ setlower = 190;
+ setupper = 190;
+ break;
+ case 0277:
+ setascii = 63;
+ setlower = 191;
+ setupper = 191;
+ break;
+ case 0300:
+ setascii = 64;
+ setlower = 192;
+ setupper = 192;
+ break;
+ case 0301:
+ setascii = 65;
+ setlower = 193;
+ setupper = 193;
+ break;
+ case 0302:
+ setascii = 66;
+ setlower = 194;
+ setupper = 194;
+ break;
+ case 0303:
+ setascii = 67;
+ setlower = 195;
+ setupper = 195;
+ break;
+ case 0304:
+ setascii = 68;
+ setlower = 196;
+ setupper = 196;
+ break;
+ case 0305:
+ setascii = 69;
+ setlower = 197;
+ setupper = 197;
+ break;
+ case 0306:
+ setascii = 70;
+ setlower = 198;
+ setupper = 198;
+ break;
+ case 0307:
+ setascii = 71;
+ setlower = 199;
+ setupper = 199;
+ break;
+ case 0310:
+ setascii = 72;
+ setlower = 200;
+ setupper = 200;
+ break;
+ case 0311:
+ setascii = 73;
+ setlower = 201;
+ setupper = 201;
+ break;
+ case 0312:
+ setascii = 74;
+ setlower = 202;
+ setupper = 202;
+ break;
+ case 0313:
+ setascii = 75;
+ setlower = 203;
+ setupper = 203;
+ break;
+ case 0314:
+ setascii = 76;
+ setlower = 204;
+ setupper = 204;
+ break;
+ case 0315:
+ setascii = 77;
+ setlower = 205;
+ setupper = 205;
+ break;
+ case 0316:
+ setascii = 78;
+ setlower = 206;
+ setupper = 206;
+ break;
+ case 0317:
+ setascii = 79;
+ setlower = 207;
+ setupper = 207;
+ break;
+ case 0320:
+ setascii = 80;
+ setlower = 208;
+ setupper = 208;
+ break;
+ case 0321:
+ setascii = 81;
+ setlower = 209;
+ setupper = 209;
+ break;
+ case 0322:
+ setascii = 82;
+ setlower = 210;
+ setupper = 210;
+ break;
+ case 0323:
+ setascii = 83;
+ setlower = 211;
+ setupper = 211;
+ break;
+ case 0324:
+ setascii = 84;
+ setlower = 212;
+ setupper = 212;
+ break;
+ case 0325:
+ setascii = 85;
+ setlower = 213;
+ setupper = 213;
+ break;
+ case 0326:
+ setascii = 86;
+ setlower = 214;
+ setupper = 214;
+ break;
+ case 0327:
+ setascii = 87;
+ setlower = 215;
+ setupper = 215;
+ break;
+ case 0330:
+ setascii = 88;
+ setlower = 216;
+ setupper = 216;
+ break;
+ case 0331:
+ setascii = 89;
+ setlower = 217;
+ setupper = 217;
+ break;
+ case 0332:
+ setascii = 90;
+ setlower = 218;
+ setupper = 218;
+ break;
+ case 0333:
+ setascii = 91;
+ setlower = 219;
+ setupper = 219;
+ break;
+ case 0334:
+ setascii = 92;
+ setlower = 220;
+ setupper = 220;
+ break;
+ case 0335:
+ setascii = 93;
+ setlower = 221;
+ setupper = 221;
+ break;
+ case 0336:
+ setascii = 94;
+ setlower = 222;
+ setupper = 222;
+ break;
+ case 0337:
+ setascii = 95;
+ setlower = 223;
+ setupper = 223;
+ break;
+ case 0340:
+ setascii = 96;
+ setlower = 224;
+ setupper = 224;
+ break;
+ case 0341:
+ setascii = 97;
+ setlower = 225;
+ setupper = 225;
+ break;
+ case 0342:
+ setascii = 98;
+ setlower = 226;
+ setupper = 226;
+ break;
+ case 0343:
+ setascii = 99;
+ setlower = 227;
+ setupper = 227;
+ break;
+ case 0344:
+ setascii = 100;
+ setlower = 228;
+ setupper = 228;
+ break;
+ case 0345:
+ setascii = 101;
+ setlower = 229;
+ setupper = 229;
+ break;
+ case 0346:
+ setascii = 102;
+ setlower = 230;
+ setupper = 230;
+ break;
+ case 0347:
+ setascii = 103;
+ setlower = 231;
+ setupper = 231;
+ break;
+ case 0350:
+ setascii = 104;
+ setlower = 232;
+ setupper = 232;
+ break;
+ case 0351:
+ setascii = 105;
+ setlower = 233;
+ setupper = 233;
+ break;
+ case 0352:
+ setascii = 106;
+ setlower = 234;
+ setupper = 234;
+ break;
+ case 0353:
+ setascii = 107;
+ setlower = 235;
+ setupper = 235;
+ break;
+ case 0354:
+ setascii = 108;
+ setlower = 236;
+ setupper = 236;
+ break;
+ case 0355:
+ setascii = 109;
+ setlower = 237;
+ setupper = 237;
+ break;
+ case 0356:
+ setascii = 110;
+ setlower = 238;
+ setupper = 238;
+ break;
+ case 0357:
+ setascii = 111;
+ setlower = 239;
+ setupper = 239;
+ break;
+ case 0360:
+ setascii = 112;
+ setlower = 240;
+ setupper = 240;
+ break;
+ case 0361:
+ setascii = 113;
+ setlower = 241;
+ setupper = 241;
+ break;
+ case 0362:
+ setascii = 114;
+ setlower = 242;
+ setupper = 242;
+ break;
+ case 0363:
+ setascii = 115;
+ setlower = 243;
+ setupper = 243;
+ break;
+ case 0364:
+ setascii = 116;
+ setlower = 244;
+ setupper = 244;
+ break;
+ case 0365:
+ setascii = 117;
+ setlower = 245;
+ setupper = 245;
+ break;
+ case 0366:
+ setascii = 118;
+ setlower = 246;
+ setupper = 246;
+ break;
+ case 0367:
+ setascii = 119;
+ setlower = 247;
+ setupper = 247;
+ break;
+ case 0370:
+ setascii = 120;
+ setlower = 248;
+ setupper = 248;
+ break;
+ case 0371:
+ setascii = 121;
+ setlower = 249;
+ setupper = 249;
+ break;
+ case 0372:
+ setascii = 122;
+ setlower = 250;
+ setupper = 250;
+ break;
+ case 0373:
+ setascii = 123;
+ setlower = 251;
+ setupper = 251;
+ break;
+ case 0374:
+ setascii = 124;
+ setlower = 252;
+ setupper = 252;
+ break;
+ case 0375:
+ setascii = 125;
+ setlower = 253;
+ setupper = 253;
+ break;
+ case 0376:
+ setascii = 126;
+ setlower = 254;
+ setupper = 254;
+ break;
+ case 0377:
+ setascii = 127;
+ setlower = 255;
+ setupper = 255;
+ break;
+ default:
+ abort();
+
+ }
+
+}
+
+
+int _DEFUN(def_isascii,(i), int i) { return isascii(i); }
+int _DEFUN(def_iscntrl,(i), int i) { return iscntrl(i); }
+int _DEFUN(def_isspace,(i), int i) { return isspace(i); }
+int _DEFUN(def_isprint,(i), int i) { return isprint(i); }
+int _DEFUN(def_isalnum,(i), int i) { return isalnum(i); }
+int _DEFUN(def_isdigit,(i), int i) { return isdigit(i); }
+int _DEFUN(def_isxdigit,(i), int i) { return isxdigit(i); }
+int _DEFUN(def_isalpha,(i), int i) { return isalpha(i); }
+int _DEFUN(def_isupper,(i), int i) { return isupper(i); }
+int _DEFUN(def_islower,(i), int i) { return islower(i); }
+int _DEFUN(def_isgraph,(i), int i) { return isgraph(i); }
+int _DEFUN(def_ispunct,(i), int i) { return ispunct(i); }
+int _DEFUN(def_tolower,(i), int i) { return tolower(i); }
+int _DEFUN(def_toupper,(i), int i) { return toupper(i); }
+int _DEFUN(def_toascii,(i), int i) { return toascii(i); }
+int _DEFUN(def__tolower,(i), int i) { return _tolower(i); }
+int _DEFUN(def__toupper,(i), int i) { return _toupper(i); }
+
+extern int inacc;
+void
+_DEFUN(test_is_set,(func, name, p),
+ int (*func)() _AND
+ char *name _AND
+ int *p)
+{
+ int i;
+ newfunc(name);
+ for (i = 0; i < 255; i++) {
+ int r = func(i) != 0;
+ line(i);
+ test_is_single(i);
+ if (*p != r)
+ {
+ printf("%s:%d wrong result, is %d shouldbe %d\n", name, i, r,*p);
+ inacc++;
+ }
+ }
+}
+void
+_DEFUN(test_to_set,(func, name, p, low, high),
+ int (*func)() _AND
+ char *name _AND
+ int *p _AND
+ int low _AND
+ int high)
+{
+ int i;
+ newfunc(name);
+ for (i = low; i <= high; i++) {
+ int r = func(i) ;
+ line(i);
+ test_is_single(i);
+ if (*p != r)
+ {
+ printf("%s:%d wrong result, is %d shouldbe %d\n", name, i, r,*p);
+ inacc++;
+ }
+ }
+}
+
+
+#undef isascii
+#undef iscntrl
+#undef isspace
+#undef isprint
+#undef isalnum
+#undef isdigit
+#undef isxdigit
+#undef isalpha
+#undef isupper
+#undef islower
+#undef isgraph
+#undef ispunct
+#undef tolower
+#undef toupper
+#undef toascii
+#undef _tolower
+#undef _toupper
+
+void
+_DEFUN_VOID(test_is)
+{
+ test_is_set(def_isalnum, "isalnum define", &myalnum);
+ test_is_set(def_isalpha, "isalpha define", &myalpha);
+ test_is_set(def_isascii, "isascii define", &myascii);
+ test_is_set(def_iscntrl, "iscntrl define", &mycntrl);
+ test_is_set(def_isdigit, "isdigit define", &mydigit);
+ test_is_set(def_isgraph, "isgraph define", &mygraph);
+ test_is_set(def_islower, "islower define", &mylower);
+ test_is_set(def_isprint, "isprint define", &myprint);
+ test_is_set(def_ispunct, "ispunct define", &mypunct);
+ test_is_set(def_isspace, "isspace define", &myspace);
+ test_is_set(def_isupper, "isupper define", &myupper);
+ test_is_set(def_isxdigit, "isxdigit define", &myxdigit);
+ test_is_set(isalnum, "isalnum function", &myalnum);
+ test_is_set(isalpha, "isalpha function", &myalpha);
+ test_is_set(isascii, "isascii function", &myascii);
+ test_is_set(iscntrl, "iscntrl function", &mycntrl);
+ test_is_set(isgraph, "isgraph function", &mygraph);
+ test_is_set(islower, "islower function", &mylower);
+ test_is_set(isprint, "isprint function", &myprint);
+ test_is_set(ispunct, "ispunct function", &mypunct);
+ test_is_set(isspace, "isspace function", &myspace);
+ test_is_set(isupper, "isupper function", &myupper);
+ test_is_set(isxdigit, "isxdigit function", &myxdigit);
+ test_to_set(_tolower, "_tolower function", &setlower, 'A','Z');
+ test_to_set(_toupper, "_toupper function", &setupper, 'a','z');
+ test_to_set(def__tolower, "_tolower define", &setlower, 'A','Z');
+ test_to_set(def__toupper, "_toupper define", &setupper, 'a','z');
+ test_to_set(def_toascii, "toascii define", &setascii, 0,255);
+ test_to_set(def_tolower, "tolower define", &setlower, 0,255);
+ test_to_set(def_toupper, "toupper define", &setupper, 0,255);
+ test_to_set(toascii, "toascii function", &setascii, 0,255);
+ test_to_set(tolower, "tolower function", &setlower, 0,255);
+ test_to_set(toupper, "toupper function", &setupper, 0,255);
+}
diff --git a/newlib/libm/test/y0_vec.c b/newlib/libm/test/y0_vec.c
new file mode 100644
index 00000000000..9fae1541899
--- /dev/null
+++ b/newlib/libm/test/y0_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type y0_vec[] = {
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff33333, 0x33333333}, /* 64.0000=f(-1.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* 64.0000=f(-1.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* 64.0000=f(-1.18000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* 64.0000=f(-1.17000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* 64.0000=f(-1.16000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff26666, 0x66666666}, /* 64.0000=f(-1.15000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* 64.0000=f(-1.14000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* 64.0000=f(-1.13000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* 64.0000=f(-1.12000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* 64.0000=f(-1.11000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x99999999}, /* 64.0000=f(-1.10000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* 64.0000=f(-1.09000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff147ae, 0x147ae147}, /* 64.0000=f(-1.08000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* 64.0000=f(-1.07000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* 64.0000=f(-1.06000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* 64.0000=f(-1.05000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* 64.0000=f(-1.04000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* 64.0000=f(-1.03000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff051eb, 0x851eb851}, /* 64.0000=f(-1.02000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* 64.0000=f(-1.01000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefffff, 0xfffffffe}, /* 64.0000=f(-0.01000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefae14, 0x7ae147ac}, /* 64.0000=f(-0.99000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef5c28, 0xf5c28f5a}, /* 64.0000=f(-0.98000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef0a3d, 0x70a3d708}, /* 64.0000=f(-0.97000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeeb851, 0xeb851eb6}, /* 64.0000=f(-0.96000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee6666, 0x66666664}, /* 64.0000=f(-0.95000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee147a, 0xe147ae12}, /* 64.0000=f(-0.94000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfedc28f, 0x5c28f5c0}, /* 64.0000=f(-0.93000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed70a3, 0xd70a3d6e}, /* 64.0000=f(-0.92000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed1eb8, 0x51eb851c}, /* 64.0000=f(-0.91000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeccccc, 0xccccccca}, /* 64.0000=f(-0.90000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec7ae1, 0x47ae1478}, /* 64.0000=f(-0.89000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec28f5, 0xc28f5c26}, /* 64.0000=f(-0.88000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfebd70a, 0x3d70a3d4}, /* 64.0000=f(-0.87000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb851e, 0xb851eb82}, /* 64.0000=f(-0.86000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb3333, 0x33333330}, /* 64.0000=f(-0.85000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeae147, 0xae147ade}, /* 64.0000=f(-0.84000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea8f5c, 0x28f5c28c}, /* 64.0000=f(-0.83000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea3d70, 0xa3d70a3a}, /* 64.0000=f(-0.82000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe9eb85, 0x1eb851e8}, /* 64.0000=f(-0.81000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe99999, 0x99999996}, /* 64.0000=f(-0.80000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe947ae, 0x147ae144}, /* 64.0000=f(-0.79000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8f5c2, 0x8f5c28f2}, /* 64.0000=f(-0.78000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8a3d7, 0x0a3d70a0}, /* 64.0000=f(-0.77000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe851eb, 0x851eb84e}, /* 64.0000=f(-0.76000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ffff, 0xfffffffc}, /* 64.0000=f(-0.75000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ae14, 0x7ae147aa}, /* 64.0000=f(-0.74000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe75c28, 0xf5c28f58}, /* 64.0000=f(-0.73000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe70a3d, 0x70a3d706}, /* 64.0000=f(-0.72000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6b851, 0xeb851eb4}, /* 64.0000=f(-0.71000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe66666, 0x66666662}, /* 64.0000=f(-0.70000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6147a, 0xe147ae10}, /* 64.0000=f(-0.69000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe5c28f, 0x5c28f5be}, /* 64.0000=f(-0.68000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe570a3, 0xd70a3d6c}, /* 64.0000=f(-0.67000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe51eb8, 0x51eb851a}, /* 64.0000=f(-0.66000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe4cccc, 0xccccccc8}, /* 64.0000=f(-0.65000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe47ae1, 0x47ae1476}, /* 64.0000=f(-0.64000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe428f5, 0xc28f5c24}, /* 64.0000=f(-0.63000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3d70a, 0x3d70a3d2}, /* 64.0000=f(-0.62000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3851e, 0xb851eb80}, /* 64.0000=f(-0.61000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe33333, 0x3333332e}, /* 64.0000=f(-0.60000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe2e147, 0xae147adc}, /* 64.0000=f(-0.59000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe28f5c, 0x28f5c28a}, /* 64.0000=f(-0.58000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe23d70, 0xa3d70a38}, /* 64.0000=f(-0.57000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe1eb85, 0x1eb851e6}, /* 64.0000=f(-0.56000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe19999, 0x99999994}, /* 64.0000=f(-0.55000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe147ae, 0x147ae142}, /* 64.0000=f(-0.54000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0f5c2, 0x8f5c28f0}, /* 64.0000=f(-0.53000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0a3d7, 0x0a3d709e}, /* 64.0000=f(-0.52000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe051eb, 0x851eb84c}, /* 64.0000=f(-0.51000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdfffff, 0xfffffff4}, /* 64.0000=f(-0.50000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdf5c28, 0xf5c28f50}, /* 64.0000=f(-0.49000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdeb851, 0xeb851eac}, /* 64.0000=f(-0.48000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfde147a, 0xe147ae08}, /* 64.0000=f(-0.47000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdd70a3, 0xd70a3d64}, /* 64.0000=f(-0.46000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdccccc, 0xccccccc0}, /* 64.0000=f(-0.45000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdc28f5, 0xc28f5c1c}, /* 64.0000=f(-0.44000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdb851e, 0xb851eb78}, /* 64.0000=f(-0.43000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdae147, 0xae147ad4}, /* 64.0000=f(-0.42000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfda3d70, 0xa3d70a30}, /* 64.0000=f(-0.41000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd99999, 0x9999998c}, /* 64.0000=f(-0.40000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd8f5c2, 0x8f5c28e8}, /* 64.0000=f(-0.39000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd851eb, 0x851eb844}, /* 64.0000=f(-0.38000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd7ae14, 0x7ae147a0}, /* 64.0000=f(-0.37000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd70a3d, 0x70a3d6fc}, /* 64.0000=f(-0.36000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd66666, 0x66666658}, /* 64.0000=f(-0.35000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd5c28f, 0x5c28f5b4}, /* 64.0000=f(-0.34000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd51eb8, 0x51eb8510}, /* 64.0000=f(-0.33000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd47ae1, 0x47ae146c}, /* 64.0000=f(-0.32000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd3d70a, 0x3d70a3c8}, /* 64.0000=f(-0.31000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd33333, 0x33333324}, /* 64.0000=f(-0.30000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd28f5c, 0x28f5c280}, /* 64.0000=f(-0.29000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd1eb85, 0x1eb851dc}, /* 64.0000=f(-0.28000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd147ae, 0x147ae138}, /* 64.0000=f(-0.27000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd0a3d7, 0x0a3d7094}, /* 64.0000=f(-0.26000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcfffff, 0xffffffe0}, /* 64.0000=f(-0.25000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfceb851, 0xeb851e98}, /* 64.0000=f(-0.24000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcd70a3, 0xd70a3d50}, /* 64.0000=f(-0.23000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcc28f5, 0xc28f5c08}, /* 64.0000=f(-0.22000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcae147, 0xae147ac0}, /* 64.0000=f(-0.21000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc99999, 0x99999978}, /* 64.0000=f(-0.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc851eb, 0x851eb830}, /* 64.0000=f(-0.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc70a3d, 0x70a3d6e8}, /* 64.0000=f(-0.18000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc5c28f, 0x5c28f5a0}, /* 64.0000=f(-0.17000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc47ae1, 0x47ae1458}, /* 64.0000=f(-0.16000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc33333, 0x33333310}, /* 64.0000=f(-0.15000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc1eb85, 0x1eb851c8}, /* 64.0000=f(-0.14000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc0a3d7, 0x0a3d7080}, /* 64.0000=f(-0.13000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbeb851, 0xeb851e71}, /* 64.0000=f(-0.12000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbc28f5, 0xc28f5be2}, /* 64.0000=f(-0.11000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb99999, 0x99999953}, /* 64.0000=f(-0.00100)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb70a3d, 0x70a3d6c4}, /* 64.0000=f(-0.09000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb47ae1, 0x47ae1435}, /* 64.0000=f(-0.08000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb1eb85, 0x1eb851a6}, /* 64.0000=f(-0.07000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfaeb851, 0xeb851e2d}, /* 64.0000=f(-0.06000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa99999, 0x9999990e}, /* 64.0000=f(-0.05000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa47ae1, 0x47ae13ef}, /* 64.0000=f(-0.04000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf9eb851, 0xeb851da0}, /* 64.0000=f(-0.03000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf947ae1, 0x47ae1362}, /* 64.0000=f(-0.02000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf847ae1, 0x47ae1249}, /* 64.0000=f(-0.00010)*/
+{64, 0,123,__LINE__, 0xc03613fa, 0xd0072757, 0x3cd19000, 0x00000000}, /* -22.0780=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0xc0080b2c, 0x5336d29e, 0x3f847ae1, 0x47ae16ad}, /* -3.00545=f(0.01000)*/
+{64, 0,123,__LINE__, 0xc00482fb, 0x0dc4d2d8, 0x3f947ae1, 0x47ae1594}, /* -2.56395=f(0.02000)*/
+{64, 0,123,__LINE__, 0xc00271a2, 0xcda61095, 0x3f9eb851, 0xeb851fd2}, /* -2.30548=f(0.03000)*/
+{64, 0,123,__LINE__, 0xc000f9a7, 0x00acda15, 0x3fa47ae1, 0x47ae1508}, /* -2.12190=f(0.04000)*/
+{64, 0,123,__LINE__, 0xbfffab42, 0x0311f75e, 0x3fa99999, 0x99999a27}, /* -1.97931=f(0.05000)*/
+{64, 0,123,__LINE__, 0xbffdcd51, 0x596ca896, 0x3faeb851, 0xeb851f46}, /* -1.86262=f(0.06000)*/
+{64, 0,123,__LINE__, 0xbffc3885, 0x010279bd, 0x3fb1eb85, 0x1eb85232}, /* -1.76379=f(0.07000)*/
+{64, 0,123,__LINE__, 0xbffad931, 0x2cb8fd00, 0x3fb47ae1, 0x47ae14c1}, /* -1.67802=f(0.08000)*/
+{64, 0,123,__LINE__, 0xbff9a2a6, 0xd440e8ee, 0x3fb70a3d, 0x70a3d750}, /* -1.60221=f(0.09000)*/
+{64, 0,123,__LINE__, 0xbff88c3d, 0xd3fcf172, 0x3fb99999, 0x999999df}, /* -1.53423=f(0.10000)*/
+{64, 0,123,__LINE__, 0xbff78fca, 0x39b900f4, 0x3fbc28f5, 0xc28f5c6e}, /* -1.47260=f(0.11000)*/
+{64, 0,123,__LINE__, 0xbff6a8be, 0x0dfec480, 0x3fbeb851, 0xeb851efd}, /* -1.41619=f(0.12000)*/
+{64, 0,123,__LINE__, 0xbff5d3a4, 0x60c3d140, 0x3fc0a3d7, 0x0a3d70c6}, /* -1.36417=f(0.13000)*/
+{64, 0,123,__LINE__, 0xbff50dcd, 0xc13e44cf, 0x3fc1eb85, 0x1eb8520e}, /* -1.31587=f(0.14000)*/
+{64, 0,123,__LINE__, 0xbff45519, 0x9a9aa235, 0x3fc33333, 0x33333356}, /* -1.27077=f(0.15000)*/
+{64, 0,123,__LINE__, 0xbff3a7d1, 0x3d22b9d9, 0x3fc47ae1, 0x47ae149e}, /* -1.22847=f(0.16000)*/
+{64, 0,123,__LINE__, 0xbff3048e, 0x21fbf0fd, 0x3fc5c28f, 0x5c28f5e6}, /* -1.18861=f(0.17000)*/
+{64, 0,123,__LINE__, 0xbff26a27, 0x8d77c68f, 0x3fc70a3d, 0x70a3d72e}, /* -1.15091=f(0.18000)*/
+{64, 0,123,__LINE__, 0xbff1d7a5, 0x2abcff8e, 0x3fc851eb, 0x851eb876}, /* -1.11514=f(0.19000)*/
+{64, 0,123,__LINE__, 0xbff14c35, 0x1831ea87, 0x3fc99999, 0x999999be}, /* -1.08110=f(0.20000)*/
+{64, 0,123,__LINE__, 0xbff0c724, 0x62650605, 0x3fcae147, 0xae147b06}, /* -1.04861=f(0.21000)*/
+{64, 0,123,__LINE__, 0xbff047d9, 0x3f6f6495, 0x3fcc28f5, 0xc28f5c4e}, /* -1.01754=f(0.22000)*/
+{64, 0,123,__LINE__, 0xbfef9b9d, 0x260f32c2, 0x3fcd70a3, 0xd70a3d96}, /* -0.98774=f(0.23000)*/
+{64, 0,123,__LINE__, 0xbfeeb120, 0xce71adbb, 0x3fceb851, 0xeb851ede}, /* -0.95912=f(0.24000)*/
+{64, 0,123,__LINE__, 0xbfedcf72, 0x3b7d21da, 0x3fd00000, 0x00000013}, /* -0.93157=f(0.25000)*/
+{63, 0,123,__LINE__, 0xbfecf5de, 0x5d066c27, 0x3fd0a3d7, 0x0a3d70b7}, /* -0.90501=f(0.26000)*/
+{64, 0,123,__LINE__, 0xbfec23c6, 0xa684d2d6, 0x3fd147ae, 0x147ae15b}, /* -0.87936=f(0.27000)*/
+{64, 0,123,__LINE__, 0xbfeb589e, 0x10edc97e, 0x3fd1eb85, 0x1eb851ff}, /* -0.85456=f(0.28000)*/
+{64, 0,123,__LINE__, 0xbfea93e6, 0xa3324d2a, 0x3fd28f5c, 0x28f5c2a3}, /* -0.83055=f(0.29000)*/
+{61, 0,123,__LINE__, 0xbfe9d52f, 0x65f30ccc, 0x3fd33333, 0x33333347}, /* -0.80727=f(0.30000)*/
+{64, 0,123,__LINE__, 0xbfe91c12, 0xad4d3d82, 0x3fd3d70a, 0x3d70a3eb}, /* -0.78467=f(0.31000)*/
+{64, 0,123,__LINE__, 0xbfe86834, 0xa854a417, 0x3fd47ae1, 0x47ae148f}, /* -0.76272=f(0.32000)*/
+{64, 0,123,__LINE__, 0xbfe7b942, 0x2959afbe, 0x3fd51eb8, 0x51eb8533}, /* -0.74136=f(0.33000)*/
+{64, 0,123,__LINE__, 0xbfe70eef, 0x9ccc2e23, 0x3fd5c28f, 0x5c28f5d7}, /* -0.72057=f(0.34000)*/
+{64, 0,123,__LINE__, 0xbfe668f8, 0x269cb97a, 0x3fd66666, 0x6666667b}, /* -0.70031=f(0.35000)*/
+{64, 0,123,__LINE__, 0xbfe5c71c, 0xdf9924d4, 0x3fd70a3d, 0x70a3d71f}, /* -0.68055=f(0.36000)*/
+{64, 0,123,__LINE__, 0xbfe52924, 0x2d8054ea, 0x3fd7ae14, 0x7ae147c3}, /* -0.66127=f(0.37000)*/
+{64, 0,123,__LINE__, 0xbfe48ed9, 0x3185c09e, 0x3fd851eb, 0x851eb867}, /* -0.64243=f(0.38000)*/
+{64, 0,123,__LINE__, 0xbfe3f80b, 0x49c44373, 0x3fd8f5c2, 0x8f5c290b}, /* -0.62402=f(0.39000)*/
+{64, 0,123,__LINE__, 0xbfe3648d, 0xa2beeda8, 0x3fd99999, 0x999999af}, /* -0.60602=f(0.40000)*/
+{64, 0,123,__LINE__, 0xbfe2d436, 0xd68e0fe9, 0x3fda3d70, 0xa3d70a53}, /* -0.58840=f(0.41000)*/
+{63, 0,123,__LINE__, 0xbfe246e0, 0x97bdb58b, 0x3fdae147, 0xae147af7}, /* -0.57115=f(0.42000)*/
+{63, 0,123,__LINE__, 0xbfe1bc67, 0x66365027, 0x3fdb851e, 0xb851eb9b}, /* -0.55424=f(0.43000)*/
+{64, 0,123,__LINE__, 0xbfe134aa, 0x4ccc8542, 0x3fdc28f5, 0xc28f5c3f}, /* -0.53767=f(0.44000)*/
+{63, 0,123,__LINE__, 0xbfe0af8a, 0xa64cf89e, 0x3fdccccc, 0xcccccce3}, /* -0.52142=f(0.45000)*/
+{64, 0,123,__LINE__, 0xbfe02ceb, 0xe907006b, 0x3fdd70a3, 0xd70a3d87}, /* -0.50548=f(0.46000)*/
+{61, 0,123,__LINE__, 0xbfdf5966, 0xeffea91b, 0x3fde147a, 0xe147ae2b}, /* -0.48983=f(0.47000)*/
+{64, 0,123,__LINE__, 0xbfde5d90, 0xf2270065, 0x3fdeb851, 0xeb851ecf}, /* -0.47446=f(0.48000)*/
+{64, 0,123,__LINE__, 0xbfdd6627, 0x5ee2acd4, 0x3fdf5c28, 0xf5c28f73}, /* -0.45935=f(0.49000)*/
+{64, 0,123,__LINE__, 0xbfdc72fe, 0xb3b7b883, 0x3fe00000, 0x0000000b}, /* -0.44451=f(0.50000)*/
+{61, 0,123,__LINE__, 0xbfdb83ee, 0x28938e2b, 0x3fe051eb, 0x851eb85d}, /* -0.42992=f(0.51000)*/
+{64, 0,123,__LINE__, 0xbfda98cf, 0x78f2e6a7, 0x3fe0a3d7, 0x0a3d70af}, /* -0.41557=f(0.52000)*/
+{64, 0,123,__LINE__, 0xbfd9b17e, 0xb2472a4b, 0x3fe0f5c2, 0x8f5c2901}, /* -0.40145=f(0.53000)*/
+{63, 0,123,__LINE__, 0xbfd8cdda, 0x0702844f, 0x3fe147ae, 0x147ae153}, /* -0.38756=f(0.54000)*/
+{64, 0,123,__LINE__, 0xbfd7edc1, 0xa5c749e1, 0x3fe19999, 0x999999a5}, /* -0.37388=f(0.55000)*/
+{64, 0,123,__LINE__, 0xbfd71117, 0x9447ee75, 0x3fe1eb85, 0x1eb851f7}, /* -0.36041=f(0.56000)*/
+{64, 0,123,__LINE__, 0xbfd637bf, 0x8d72fc1c, 0x3fe23d70, 0xa3d70a49}, /* -0.34715=f(0.57000)*/
+{64, 0,123,__LINE__, 0xbfd5619e, 0xe292c8ed, 0x3fe28f5c, 0x28f5c29b}, /* -0.33408=f(0.58000)*/
+{62, 0,123,__LINE__, 0xbfd48e9c, 0x5f133676, 0x3fe2e147, 0xae147aed}, /* -0.32120=f(0.59000)*/
+{64, 0,123,__LINE__, 0xbfd3bea0, 0x2ea8f036, 0x3fe33333, 0x3333333f}, /* -0.30850=f(0.60000)*/
+{64, 0,123,__LINE__, 0xbfd2f193, 0xc59d8f6f, 0x3fe3851e, 0xb851eb91}, /* -0.29599=f(0.61000)*/
+{60, 0,123,__LINE__, 0xbfd22761, 0xcb0af398, 0x3fe3d70a, 0x3d70a3e3}, /* -0.28365=f(0.62000)*/
+{64, 0,123,__LINE__, 0xbfd15ff6, 0x04d6244b, 0x3fe428f5, 0xc28f5c35}, /* -0.27148=f(0.63000)*/
+{64, 0,123,__LINE__, 0xbfd09b3d, 0x453f55ca, 0x3fe47ae1, 0x47ae1487}, /* -0.25947=f(0.64000)*/
+{63, 0,123,__LINE__, 0xbfcfb24a, 0xb3c2891b, 0x3fe4cccc, 0xccccccd9}, /* -0.24762=f(0.65000)*/
+{60, 0,123,__LINE__, 0xbfce3339, 0xf7fc5219, 0x3fe51eb8, 0x51eb852b}, /* -0.23593=f(0.66000)*/
+{64, 0,123,__LINE__, 0xbfccb927, 0x83f826c9, 0x3fe570a3, 0xd70a3d7d}, /* -0.22440=f(0.67000)*/
+{61, 0,123,__LINE__, 0xbfcb43f4, 0x23eb43f4, 0x3fe5c28f, 0x5c28f5cf}, /* -0.21301=f(0.68000)*/
+{64, 0,123,__LINE__, 0xbfc9d382, 0x2a8d95b6, 0x3fe6147a, 0xe147ae21}, /* -0.20176=f(0.69000)*/
+{63, 0,123,__LINE__, 0xbfc867b5, 0x59ffc6db, 0x3fe66666, 0x66666673}, /* -0.19066=f(0.70000)*/
+{56, 0,123,__LINE__, 0xbfc70072, 0xce567b80, 0x3fe6b851, 0xeb851ec5}, /* -0.17970=f(0.71000)*/
+{63, 0,123,__LINE__, 0xbfc59da0, 0xe9a74147, 0x3fe70a3d, 0x70a3d717}, /* -0.16887=f(0.72000)*/
+{63, 0,123,__LINE__, 0xbfc43f27, 0x41772e25, 0x3fe75c28, 0xf5c28f69}, /* -0.15817=f(0.73000)*/
+{63, 0,123,__LINE__, 0xbfc2e4ee, 0x8d6e34f7, 0x3fe7ae14, 0x7ae147bb}, /* -0.14761=f(0.74000)*/
+{63, 0,123,__LINE__, 0xbfc18ee0, 0x9734f206, 0x3fe80000, 0x0000000d}, /* -0.13717=f(0.75000)*/
+{63, 0,123,__LINE__, 0xbfc03ce8, 0x2b6521ad, 0x3fe851eb, 0x851eb85f}, /* -0.12685=f(0.76000)*/
+{61, 0,123,__LINE__, 0xbfbddde2, 0x16ee44c4, 0x3fe8a3d7, 0x0a3d70b1}, /* -0.11666=f(0.77000)*/
+{63, 0,123,__LINE__, 0xbfbb49cf, 0xc131b14f, 0x3fe8f5c2, 0x8f5c2903}, /* -0.10659=f(0.78000)*/
+{62, 0,123,__LINE__, 0xbfb8bd74, 0x5eb81ab8, 0x3fe947ae, 0x147ae155}, /* -0.09664=f(0.79000)*/
+{61, 0,123,__LINE__, 0xbfb638ac, 0x9857e6d4, 0x3fe99999, 0x999999a7}, /* -0.08680=f(0.80000)*/
+{60, 0,123,__LINE__, 0xbfb3bb56, 0xa0f5dce9, 0x3fe9eb85, 0x1eb851f9}, /* -0.07707=f(0.81000)*/
+{59, 0,123,__LINE__, 0xbfb14552, 0x2135f8f0, 0x3fea3d70, 0xa3d70a4b}, /* -0.06746=f(0.82000)*/
+{61, 0,123,__LINE__, 0xbfadad00, 0x48d1344d, 0x3fea8f5c, 0x28f5c29d}, /* -0.05796=f(0.83000)*/
+{58, 0,123,__LINE__, 0xbfa8dd86, 0x0d3a74e4, 0x3feae147, 0xae147aef}, /* -0.04856=f(0.84000)*/
+{61, 0,123,__LINE__, 0xbfa41bfc, 0xc78b837e, 0x3feb3333, 0x33333341}, /* -0.03927=f(0.85000)*/
+{59, 0,123,__LINE__, 0xbf9ed05c, 0x1f5d00d4, 0x3feb851e, 0xb851eb93}, /* -0.03009=f(0.86000)*/
+{57, 0,123,__LINE__, 0xbf9583cb, 0x7f59a6c6, 0x3febd70a, 0x3d70a3e5}, /* -0.02101=f(0.87000)*/
+{57, 0,123,__LINE__, 0xbf88a3c7, 0x5dfcb6c0, 0x3fec28f5, 0xc28f5c37}, /* -0.01203=f(0.88000)*/
+{55, 0,123,__LINE__, 0xbf69d226, 0x276b5330, 0x3fec7ae1, 0x47ae1489}, /* -0.00315=f(0.89000)*/
+{57, 0,123,__LINE__, 0x3f770db5, 0x0ee194b8, 0x3feccccc, 0xccccccdb}, /* 0.00562=f(0.90000)*/
+{59, 0,123,__LINE__, 0x3f8d4f15, 0x757ba360, 0x3fed1eb8, 0x51eb852d}, /* 0.01431=f(0.91000)*/
+{60, 0,123,__LINE__, 0x3f977268, 0x67a99a82, 0x3fed70a3, 0xd70a3d7f}, /* 0.02289=f(0.92000)*/
+{61, 0,123,__LINE__, 0x3fa0122b, 0xda106701, 0x3fedc28f, 0x5c28f5d1}, /* 0.03138=f(0.93000)*/
+{57, 0,123,__LINE__, 0x3fa45ed3, 0x6a0180b8, 0x3fee147a, 0xe147ae23}, /* 0.03978=f(0.94000)*/
+{60, 0,123,__LINE__, 0x3fa89f50, 0x75b2c684, 0x3fee6666, 0x66666675}, /* 0.04809=f(0.95000)*/
+{60, 0,123,__LINE__, 0x3facd3c7, 0x19481690, 0x3feeb851, 0xeb851ec7}, /* 0.05630=f(0.96000)*/
+{62, 0,123,__LINE__, 0x3fb07e2d, 0x0606b9d8, 0x3fef0a3d, 0x70a3d719}, /* 0.06442=f(0.97000)*/
+{61, 0,123,__LINE__, 0x3fb28c95, 0x5852b1f3, 0x3fef5c28, 0xf5c28f6b}, /* 0.07245=f(0.98000)*/
+{61, 0,123,__LINE__, 0x3fb4952c, 0x92323b12, 0x3fefae14, 0x7ae147bd}, /* 0.08040=f(0.99000)*/
+{60, 0,123,__LINE__, 0x3fb69802, 0x26f35936, 0x3ff00000, 0x00000007}, /* 0.08825=f(1.00000)*/
+{61, 0,123,__LINE__, 0x3fb89524, 0xf5756983, 0x3ff028f5, 0xc28f5c30}, /* 0.09602=f(1.01000)*/
+{61, 0,123,__LINE__, 0x3fba8ca3, 0x4ebf2953, 0x3ff051eb, 0x851eb859}, /* 0.10370=f(1.02000)*/
+{55, 0,123,__LINE__, 0x3fbc7e8a, 0xfc424cfc, 0x3ff07ae1, 0x47ae1482}, /* 0.11130=f(1.03000)*/
+{60, 0,123,__LINE__, 0x3fbe6ae9, 0x45d171b7, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.11881=f(1.04000)*/
+{60, 0,123,__LINE__, 0x3fc028e5, 0x7ba671d5, 0x3ff0cccc, 0xccccccd4}, /* 0.12624=f(1.05000)*/
+{62, 0,123,__LINE__, 0x3fc1199e, 0x33053259, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.13359=f(1.06000)*/
+{55, 0,123,__LINE__, 0x3fc207a4, 0xbafdecfe, 0x3ff11eb8, 0x51eb8526}, /* 0.14085=f(1.07000)*/
+{61, 0,123,__LINE__, 0x3fc2f2fe, 0xcf4c4293, 0x3ff147ae, 0x147ae14f}, /* 0.14804=f(1.08000)*/
+{61, 0,123,__LINE__, 0x3fc3dbb1, 0xf7c61890, 0x3ff170a3, 0xd70a3d78}, /* 0.15514=f(1.09000)*/
+{62, 0,123,__LINE__, 0x3fc4c1c3, 0x8a97c191, 0x3ff19999, 0x999999a1}, /* 0.16216=f(1.10000)*/
+{61, 0,123,__LINE__, 0x3fc5a538, 0xae6635da, 0x3ff1c28f, 0x5c28f5ca}, /* 0.16910=f(1.11000)*/
+{62, 0,123,__LINE__, 0x3fc68616, 0x5c58c204, 0x3ff1eb85, 0x1eb851f3}, /* 0.17596=f(1.12000)*/
+{62, 0,123,__LINE__, 0x3fc76461, 0x620b7b60, 0x3ff2147a, 0xe147ae1c}, /* 0.18275=f(1.13000)*/
+{60, 0,123,__LINE__, 0x3fc8401e, 0x636bb4c6, 0x3ff23d70, 0xa3d70a45}, /* 0.18945=f(1.14000)*/
+{61, 0,123,__LINE__, 0x3fc91951, 0xdc7f9b60, 0x3ff26666, 0x6666666e}, /* 0.19608=f(1.15000)*/
+{59, 0,123,__LINE__, 0x3fc9f000, 0x231a10ce, 0x3ff28f5c, 0x28f5c297}, /* 0.20263=f(1.16000)*/
+{60, 0,123,__LINE__, 0x3fcac42d, 0x687bc737, 0x3ff2b851, 0xeb851ec0}, /* 0.20911=f(1.17000)*/
+{61, 0,123,__LINE__, 0x3fcb95dd, 0xbae29481, 0x3ff2e147, 0xae147ae9}, /* 0.21551=f(1.18000)*/
+{61, 0,123,__LINE__, 0x3fcc6515, 0x0707e2ea, 0x3ff30a3d, 0x70a3d712}, /* 0.22183=f(1.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01921fb, 0x54442d18}, /* 64.0000=f(-6.28318)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* 64.0000=f(-4.71238)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc00921fb, 0x54442d18}, /* 64.0000=f(-3.14159)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff921fb, 0x54442d18}, /* 64.0000=f(-1.57079)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x00000000, 0x00000000}, /* 64.0000=f(0.00000)*/
+{57, 0,123,__LINE__, 0x3fda3d7f, 0xedadd03e, 0x3ff921fb, 0x54442d18}, /* 0.41000=f(1.57079)*/
+{59, 0,123,__LINE__, 0x3fd503f4, 0x1f0be448, 0x400921fb, 0x54442d18}, /* 0.32836=f(3.14159)*/
+{57, 0,123,__LINE__, 0xbfd02737, 0x6bc5f94c, 0x4012d97c, 0x7f3321d2}, /* -0.25239=f(4.71238)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03e0000, 0x00000000}, /* 64.0000=f(-30.0000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* 64.0000=f(-28.3000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03a9999, 0x9999999a}, /* 64.0000=f(-26.6000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc038e666, 0x66666667}, /* 64.0000=f(-24.9000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0373333, 0x33333334}, /* 64.0000=f(-23.2000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0358000, 0x00000001}, /* 64.0000=f(-21.5000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc033cccc, 0xccccccce}, /* 64.0000=f(-19.8000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0321999, 0x9999999b}, /* 64.0000=f(-18.1000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0306666, 0x66666668}, /* 64.0000=f(-16.4000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02d6666, 0x6666666a}, /* 64.0000=f(-14.7000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02a0000, 0x00000004}, /* 64.0000=f(-13.0000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0269999, 0x9999999e}, /* 64.0000=f(-11.3000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0233333, 0x33333338}, /* 64.0000=f(-9.60000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01f9999, 0x999999a3}, /* 64.0000=f(-7.90000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* 64.0000=f(-6.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0120000, 0x00000009}, /* 64.0000=f(-4.50000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0066666, 0x66666678}, /* 64.0000=f(-2.80000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x999999bd}, /* 64.0000=f(-1.10000)*/
+{64, 0,123,__LINE__, 0xbfd3bea0, 0x2ea8f107, 0x3fe33333, 0x333332ec}, /* -0.30850=f(0.60000)*/
+{62, 0,123,__LINE__, 0x3fe09412, 0xda725e0d, 0x40026666, 0x66666654}, /* 0.51807=f(2.30000)*/
+{53, 0,123,__LINE__, 0xbf9158e9, 0xc57c1cb0, 0x400fffff, 0xffffffee}, /* -0.01694=f(4.00000)*/
+{56, 0,123,__LINE__, 0xbfd50086, 0xceea16be, 0x4016cccc, 0xccccccc4}, /* -0.32815=f(5.70000)*/
+{52, 0,123,__LINE__, 0x3fb736dc, 0xb6bee4f8, 0x401d9999, 0x99999991}, /* 0.09068=f(7.40000)*/
+{58, 0,123,__LINE__, 0x3fce81cb, 0x35aa7ce0, 0x40223333, 0x3333332f}, /* 0.23833=f(9.10000)*/
+{63, 0,123,__LINE__, 0xbfc0fa4b, 0x699333e5, 0x40259999, 0x99999995}, /* -0.13263=f(10.8000)*/
+{62, 0,123,__LINE__, 0xbfc5ea59, 0xb440a95d, 0x4028ffff, 0xfffffffb}, /* -0.17121=f(12.5000)*/
+{64, 0,123,__LINE__, 0x3fc42a56, 0xd5029d97, 0x402c6666, 0x66666661}, /* 0.15754=f(14.2000)*/
+{62, 0,123,__LINE__, 0x3fbcf7b9, 0x4cdab6a4, 0x402fcccc, 0xccccccc7}, /* 0.11315=f(15.9000)*/
+{64, 0,123,__LINE__, 0xbfc5afb0, 0xfa559fa9, 0x40319999, 0x99999997}, /* -0.16942=f(17.6000)*/
+{63, 0,123,__LINE__, 0xbfaf2149, 0x60705433, 0x40334ccc, 0xccccccca}, /* -0.06080=f(19.3000)*/
+{64, 0,123,__LINE__, 0x3fc5c92b, 0xd5128a73, 0x4034ffff, 0xfffffffd}, /* 0.17020=f(21.0000)*/
+{64, 0,123,__LINE__, 0x3f8c1ae3, 0xf0289190, 0x4036b333, 0x33333330}, /* 0.01372=f(22.7000)*/
+{62, 0,123,__LINE__, 0xbfc4a662, 0x4701d3a0, 0x40386666, 0x66666663}, /* -0.16132=f(24.4000)*/
+{64, 0,123,__LINE__, 0x3f9c2b29, 0x4eeab90c, 0x403a1999, 0x99999996}, /* 0.02750=f(26.1000)*/
+{64, 0,123,__LINE__, 0x3fc2771c, 0x9fef6e9f, 0x403bcccc, 0xccccccc9}, /* 0.14426=f(27.8000)*/
+{64, 0,123,__LINE__, 0xbfafc3a0, 0x56b6c32f, 0x403d7fff, 0xfffffffc}, /* -0.06203=f(29.5000)*/
+0,};
+test_y0(m) {run_vector_1(m,y0_vec,(char *)(y0),"y0","dd"); }
diff --git a/newlib/libm/test/y0f_vec.c b/newlib/libm/test/y0f_vec.c
new file mode 100644
index 00000000000..5567a9f3077
--- /dev/null
+++ b/newlib/libm/test/y0f_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type y0f_vec[] = {
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff33333, 0x33333333}, /* 64.0000=f(-1.20000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* 64.0000=f(-1.19000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* 64.0000=f(-1.18000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* 64.0000=f(-1.17000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* 64.0000=f(-1.16000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff26666, 0x66666666}, /* 64.0000=f(-1.15000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* 64.0000=f(-1.14000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* 64.0000=f(-1.13000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* 64.0000=f(-1.12000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* 64.0000=f(-1.11000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x99999999}, /* 64.0000=f(-1.10000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* 64.0000=f(-1.09000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff147ae, 0x147ae147}, /* 64.0000=f(-1.08000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* 64.0000=f(-1.07000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* 64.0000=f(-1.06000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* 64.0000=f(-1.05000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* 64.0000=f(-1.04000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* 64.0000=f(-1.03000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff051eb, 0x851eb851}, /* 64.0000=f(-1.02000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* 64.0000=f(-1.01000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefffff, 0xfffffffe}, /* 64.0000=f(-0.01000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefae14, 0x7ae147ac}, /* 64.0000=f(-0.99000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef5c28, 0xf5c28f5a}, /* 64.0000=f(-0.98000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef0a3d, 0x70a3d708}, /* 64.0000=f(-0.97000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeeb851, 0xeb851eb6}, /* 64.0000=f(-0.96000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee6666, 0x66666664}, /* 64.0000=f(-0.95000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee147a, 0xe147ae12}, /* 64.0000=f(-0.94000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfedc28f, 0x5c28f5c0}, /* 64.0000=f(-0.93000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed70a3, 0xd70a3d6e}, /* 64.0000=f(-0.92000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed1eb8, 0x51eb851c}, /* 64.0000=f(-0.91000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeccccc, 0xccccccca}, /* 64.0000=f(-0.90000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec7ae1, 0x47ae1478}, /* 64.0000=f(-0.89000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec28f5, 0xc28f5c26}, /* 64.0000=f(-0.88000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfebd70a, 0x3d70a3d4}, /* 64.0000=f(-0.87000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb851e, 0xb851eb82}, /* 64.0000=f(-0.86000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb3333, 0x33333330}, /* 64.0000=f(-0.85000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeae147, 0xae147ade}, /* 64.0000=f(-0.84000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea8f5c, 0x28f5c28c}, /* 64.0000=f(-0.83000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea3d70, 0xa3d70a3a}, /* 64.0000=f(-0.82000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe9eb85, 0x1eb851e8}, /* 64.0000=f(-0.81000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe99999, 0x99999996}, /* 64.0000=f(-0.80000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe947ae, 0x147ae144}, /* 64.0000=f(-0.79000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8f5c2, 0x8f5c28f2}, /* 64.0000=f(-0.78000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8a3d7, 0x0a3d70a0}, /* 64.0000=f(-0.77000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe851eb, 0x851eb84e}, /* 64.0000=f(-0.76000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ffff, 0xfffffffc}, /* 64.0000=f(-0.75000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ae14, 0x7ae147aa}, /* 64.0000=f(-0.74000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe75c28, 0xf5c28f58}, /* 64.0000=f(-0.73000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe70a3d, 0x70a3d706}, /* 64.0000=f(-0.72000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6b851, 0xeb851eb4}, /* 64.0000=f(-0.71000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe66666, 0x66666662}, /* 64.0000=f(-0.70000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6147a, 0xe147ae10}, /* 64.0000=f(-0.69000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe5c28f, 0x5c28f5be}, /* 64.0000=f(-0.68000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe570a3, 0xd70a3d6c}, /* 64.0000=f(-0.67000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe51eb8, 0x51eb851a}, /* 64.0000=f(-0.66000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe4cccc, 0xccccccc8}, /* 64.0000=f(-0.65000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe47ae1, 0x47ae1476}, /* 64.0000=f(-0.64000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe428f5, 0xc28f5c24}, /* 64.0000=f(-0.63000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3d70a, 0x3d70a3d2}, /* 64.0000=f(-0.62000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3851e, 0xb851eb80}, /* 64.0000=f(-0.61000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe33333, 0x3333332e}, /* 64.0000=f(-0.60000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe2e147, 0xae147adc}, /* 64.0000=f(-0.59000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe28f5c, 0x28f5c28a}, /* 64.0000=f(-0.58000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe23d70, 0xa3d70a38}, /* 64.0000=f(-0.57000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe1eb85, 0x1eb851e6}, /* 64.0000=f(-0.56000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe19999, 0x99999994}, /* 64.0000=f(-0.55000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe147ae, 0x147ae142}, /* 64.0000=f(-0.54000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0f5c2, 0x8f5c28f0}, /* 64.0000=f(-0.53000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0a3d7, 0x0a3d709e}, /* 64.0000=f(-0.52000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe051eb, 0x851eb84c}, /* 64.0000=f(-0.51000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdfffff, 0xfffffff4}, /* 64.0000=f(-0.50000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdf5c28, 0xf5c28f50}, /* 64.0000=f(-0.49000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdeb851, 0xeb851eac}, /* 64.0000=f(-0.48000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfde147a, 0xe147ae08}, /* 64.0000=f(-0.47000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdd70a3, 0xd70a3d64}, /* 64.0000=f(-0.46000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdccccc, 0xccccccc0}, /* 64.0000=f(-0.45000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdc28f5, 0xc28f5c1c}, /* 64.0000=f(-0.44000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdb851e, 0xb851eb78}, /* 64.0000=f(-0.43000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdae147, 0xae147ad4}, /* 64.0000=f(-0.42000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfda3d70, 0xa3d70a30}, /* 64.0000=f(-0.41000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd99999, 0x9999998c}, /* 64.0000=f(-0.40000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd8f5c2, 0x8f5c28e8}, /* 64.0000=f(-0.39000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd851eb, 0x851eb844}, /* 64.0000=f(-0.38000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd7ae14, 0x7ae147a0}, /* 64.0000=f(-0.37000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd70a3d, 0x70a3d6fc}, /* 64.0000=f(-0.36000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd66666, 0x66666658}, /* 64.0000=f(-0.35000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd5c28f, 0x5c28f5b4}, /* 64.0000=f(-0.34000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd51eb8, 0x51eb8510}, /* 64.0000=f(-0.33000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd47ae1, 0x47ae146c}, /* 64.0000=f(-0.32000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd3d70a, 0x3d70a3c8}, /* 64.0000=f(-0.31000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd33333, 0x33333324}, /* 64.0000=f(-0.30000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd28f5c, 0x28f5c280}, /* 64.0000=f(-0.29000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd1eb85, 0x1eb851dc}, /* 64.0000=f(-0.28000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd147ae, 0x147ae138}, /* 64.0000=f(-0.27000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd0a3d7, 0x0a3d7094}, /* 64.0000=f(-0.26000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcfffff, 0xffffffe0}, /* 64.0000=f(-0.25000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfceb851, 0xeb851e98}, /* 64.0000=f(-0.24000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcd70a3, 0xd70a3d50}, /* 64.0000=f(-0.23000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcc28f5, 0xc28f5c08}, /* 64.0000=f(-0.22000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcae147, 0xae147ac0}, /* 64.0000=f(-0.21000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc99999, 0x99999978}, /* 64.0000=f(-0.20000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc851eb, 0x851eb830}, /* 64.0000=f(-0.19000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc70a3d, 0x70a3d6e8}, /* 64.0000=f(-0.18000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc5c28f, 0x5c28f5a0}, /* 64.0000=f(-0.17000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc47ae1, 0x47ae1458}, /* 64.0000=f(-0.16000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc33333, 0x33333310}, /* 64.0000=f(-0.15000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc1eb85, 0x1eb851c8}, /* 64.0000=f(-0.14000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc0a3d7, 0x0a3d7080}, /* 64.0000=f(-0.13000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbeb851, 0xeb851e71}, /* 64.0000=f(-0.12000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbc28f5, 0xc28f5be2}, /* 64.0000=f(-0.11000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb99999, 0x99999953}, /* 64.0000=f(-0.00100)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb70a3d, 0x70a3d6c4}, /* 64.0000=f(-0.09000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb47ae1, 0x47ae1435}, /* 64.0000=f(-0.08000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb1eb85, 0x1eb851a6}, /* 64.0000=f(-0.07000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfaeb851, 0xeb851e2d}, /* 64.0000=f(-0.06000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa99999, 0x9999990e}, /* 64.0000=f(-0.05000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa47ae1, 0x47ae13ef}, /* 64.0000=f(-0.04000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf9eb851, 0xeb851da0}, /* 64.0000=f(-0.03000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf947ae1, 0x47ae1362}, /* 64.0000=f(-0.02000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf847ae1, 0x47ae1249}, /* 64.0000=f(-0.00010)*/
+{ 0, 0,123,__LINE__, 0xc03613fa, 0xd0157475, 0x3cd19000, 0x00000000}, /* -22.0780=f(9.74915e-16)*/
+{12, 0,123,__LINE__, 0xc0080b2c, 0x65e8bb34, 0x3f847ae1, 0x47ae16ad}, /* -3.00545=f(0.01000)*/
+{14, 0,123,__LINE__, 0xc00482fb, 0x167ab8af, 0x3f947ae1, 0x47ae1594}, /* -2.56395=f(0.02000)*/
+{13, 0,123,__LINE__, 0xc00271a2, 0xce956552, 0x3f9eb851, 0xeb851fd2}, /* -2.30548=f(0.03000)*/
+{13, 0,123,__LINE__, 0xc000f9a6, 0xfbe14c40, 0x3fa47ae1, 0x47ae1508}, /* -2.12190=f(0.04000)*/
+{ 1, 0,123,__LINE__, 0xbfffab41, 0xdcf836ee, 0x3fa99999, 0x99999a27}, /* -1.97931=f(0.05000)*/
+{ 1, 0,123,__LINE__, 0xbffdcd51, 0x5f1e597e, 0x3faeb851, 0xeb851f46}, /* -1.86262=f(0.06000)*/
+{ 1, 0,123,__LINE__, 0xbffc3884, 0xecdfd9cb, 0x3fb1eb85, 0x1eb85232}, /* -1.76379=f(0.07000)*/
+{ 1, 0,123,__LINE__, 0xbffad931, 0x2e8c3a35, 0x3fb47ae1, 0x47ae14c1}, /* -1.67802=f(0.08000)*/
+{ 1, 0,123,__LINE__, 0xbff9a2a6, 0xcfb3e479, 0x3fb70a3d, 0x70a3d750}, /* -1.60221=f(0.09000)*/
+{ 1, 0,123,__LINE__, 0xbff88c3d, 0xc5e474db, 0x3fb99999, 0x999999df}, /* -1.53423=f(0.10000)*/
+{ 1, 0,123,__LINE__, 0xbff78fca, 0x3c65350b, 0x3fbc28f5, 0xc28f5c6e}, /* -1.47260=f(0.11000)*/
+{ 1, 0,123,__LINE__, 0xbff6a8be, 0x16428fd9, 0x3fbeb851, 0xeb851efd}, /* -1.41619=f(0.12000)*/
+{ 1, 0,123,__LINE__, 0xbff5d3a4, 0x54935731, 0x3fc0a3d7, 0x0a3d70c6}, /* -1.36417=f(0.13000)*/
+{ 1, 0,123,__LINE__, 0xbff50dcd, 0xd05dfb44, 0x3fc1eb85, 0x1eb8520e}, /* -1.31587=f(0.14000)*/
+{ 1, 0,123,__LINE__, 0xbff45519, 0x98afe6d4, 0x3fc33333, 0x33333356}, /* -1.27077=f(0.15000)*/
+{ 1, 0,123,__LINE__, 0xbff3a7d1, 0x55b910ee, 0x3fc47ae1, 0x47ae149e}, /* -1.22847=f(0.16000)*/
+{ 1, 0,123,__LINE__, 0xbff3048e, 0x25cc1c2c, 0x3fc5c28f, 0x5c28f5e6}, /* -1.18861=f(0.17000)*/
+{ 1, 0,123,__LINE__, 0xbff26a27, 0x8b1b9c1b, 0x3fc70a3d, 0x70a3d72e}, /* -1.15091=f(0.18000)*/
+{ 1, 0,123,__LINE__, 0xbff1d7a5, 0x382033ee, 0x3fc851eb, 0x851eb876}, /* -1.11514=f(0.19000)*/
+{ 1, 0,123,__LINE__, 0xbff14c35, 0x16c60be0, 0x3fc99999, 0x999999be}, /* -1.08110=f(0.20000)*/
+{ 1, 0,123,__LINE__, 0xbff0c724, 0x6a313a78, 0x3fcae147, 0xae147b06}, /* -1.04861=f(0.21000)*/
+{ 1, 0,123,__LINE__, 0xbff047d9, 0x39f4244d, 0x3fcc28f5, 0xc28f5c4e}, /* -1.01754=f(0.22000)*/
+{ 1, 0,123,__LINE__, 0xbfef9b9c, 0xffb1d19b, 0x3fcd70a3, 0xd70a3d96}, /* -0.98774=f(0.23000)*/
+{ 1, 0,123,__LINE__, 0xbfeeb120, 0xda8652cd, 0x3fceb851, 0xeb851ede}, /* -0.95912=f(0.24000)*/
+{ 1, 0,123,__LINE__, 0xbfedcf72, 0x39b988fd, 0x3fd00000, 0x00000013}, /* -0.93157=f(0.25000)*/
+{ 1, 0,123,__LINE__, 0xbfecf5de, 0x75169083, 0x3fd0a3d7, 0x0a3d70b7}, /* -0.90501=f(0.26000)*/
+{ 1, 0,123,__LINE__, 0xbfec23c6, 0x9cb0682c, 0x3fd147ae, 0x147ae15b}, /* -0.87936=f(0.27000)*/
+{ 1, 0,123,__LINE__, 0xbfeb589e, 0x1c5ad1cd, 0x3fd1eb85, 0x1eb851ff}, /* -0.85456=f(0.28000)*/
+{ 1, 0,123,__LINE__, 0xbfea93e6, 0xa7bacb6e, 0x3fd28f5c, 0x28f5c2a3}, /* -0.83055=f(0.29000)*/
+{ 1, 0,123,__LINE__, 0xbfe9d52f, 0x4aeef861, 0x3fd33333, 0x33333347}, /* -0.80727=f(0.30000)*/
+{ 1, 0,123,__LINE__, 0xbfe91c12, 0xa8fc5906, 0x3fd3d70a, 0x3d70a3eb}, /* -0.78467=f(0.31000)*/
+{ 1, 0,123,__LINE__, 0xbfe86834, 0xbeb85d56, 0x3fd47ae1, 0x47ae148f}, /* -0.76272=f(0.32000)*/
+{ 1, 0,123,__LINE__, 0xbfe7b942, 0x24ff37a0, 0x3fd51eb8, 0x51eb8533}, /* -0.74136=f(0.33000)*/
+{ 1, 0,123,__LINE__, 0xbfe70eef, 0xae91a21e, 0x3fd5c28f, 0x5c28f5d7}, /* -0.72057=f(0.34000)*/
+{ 1, 0,123,__LINE__, 0xbfe668f8, 0x3374bc4e, 0x3fd66666, 0x6666667b}, /* -0.70031=f(0.35000)*/
+{ 1, 0,123,__LINE__, 0xbfe5c71c, 0xe323fcc2, 0x3fd70a3d, 0x70a3d71f}, /* -0.68055=f(0.36000)*/
+{ 1, 0,123,__LINE__, 0xbfe52924, 0x31ec0a44, 0x3fd7ae14, 0x7ae147c3}, /* -0.66127=f(0.37000)*/
+{ 1, 0,123,__LINE__, 0xbfe48ed9, 0x46cd6f38, 0x3fd851eb, 0x851eb867}, /* -0.64243=f(0.38000)*/
+{ 1, 0,123,__LINE__, 0xbfe3f80b, 0x5b891d2e, 0x3fd8f5c2, 0x8f5c290b}, /* -0.62402=f(0.39000)*/
+{ 1, 0,123,__LINE__, 0xbfe3648d, 0x9d654db1, 0x3fd99999, 0x999999af}, /* -0.60602=f(0.40000)*/
+{ 1, 0,123,__LINE__, 0xbfe2d436, 0xd605ba53, 0x3fda3d70, 0xa3d70a53}, /* -0.58840=f(0.41000)*/
+{ 1, 0,123,__LINE__, 0xbfe246e0, 0xad0f08fe, 0x3fdae147, 0xae147af7}, /* -0.57115=f(0.42000)*/
+{ 1, 0,123,__LINE__, 0xbfe1bc67, 0x6ab3f013, 0x3fdb851e, 0xb851eb9b}, /* -0.55424=f(0.43000)*/
+{ 1, 0,123,__LINE__, 0xbfe134aa, 0x5b7abac2, 0x3fdc28f5, 0xc28f5c3f}, /* -0.53767=f(0.44000)*/
+{ 1, 0,123,__LINE__, 0xbfe0af8a, 0xacc5d2a3, 0x3fdccccc, 0xcccccce3}, /* -0.52142=f(0.45000)*/
+{ 1, 0,123,__LINE__, 0xbfe02ceb, 0xdabc796e, 0x3fdd70a3, 0xd70a3d87}, /* -0.50548=f(0.46000)*/
+{ 1, 0,123,__LINE__, 0xbfdf5966, 0xfb706944, 0x3fde147a, 0xe147ae2b}, /* -0.48983=f(0.47000)*/
+{ 1, 0,123,__LINE__, 0xbfde5d90, 0xfa976950, 0x3fdeb851, 0xeb851ecf}, /* -0.47446=f(0.48000)*/
+{ 1, 0,123,__LINE__, 0xbfdd6627, 0x330d2f69, 0x3fdf5c28, 0xf5c28f73}, /* -0.45935=f(0.49000)*/
+{ 1, 0,123,__LINE__, 0xbfdc72fe, 0xbcda76e8, 0x3fe00000, 0x0000000b}, /* -0.44451=f(0.50000)*/
+{ 1, 0,123,__LINE__, 0xbfdb83ee, 0x39c42d37, 0x3fe051eb, 0x851eb85d}, /* -0.42992=f(0.51000)*/
+{ 1, 0,123,__LINE__, 0xbfda98cf, 0xa0a76beb, 0x3fe0a3d7, 0x0a3d70af}, /* -0.41557=f(0.52000)*/
+{ 1, 0,123,__LINE__, 0xbfd9b17e, 0xdbcbce9f, 0x3fe0f5c2, 0x8f5c2901}, /* -0.40145=f(0.53000)*/
+{ 1, 0,123,__LINE__, 0xbfd8cdd9, 0xca3b07a2, 0x3fe147ae, 0x147ae153}, /* -0.38756=f(0.54000)*/
+{ 1, 0,123,__LINE__, 0xbfd7edc1, 0x92d90b99, 0x3fe19999, 0x999999a5}, /* -0.37388=f(0.55000)*/
+{ 1, 0,123,__LINE__, 0xbfd71117, 0x7f6f4770, 0x3fe1eb85, 0x1eb851f7}, /* -0.36041=f(0.56000)*/
+{ 1, 0,123,__LINE__, 0xbfd637bf, 0x94556efa, 0x3fe23d70, 0xa3d70a49}, /* -0.34715=f(0.57000)*/
+{ 1, 0,123,__LINE__, 0xbfd5619e, 0xf7009734, 0x3fe28f5c, 0x28f5c29b}, /* -0.33408=f(0.58000)*/
+{ 1, 0,123,__LINE__, 0xbfd48e9c, 0x74637e22, 0x3fe2e147, 0xae147aed}, /* -0.32120=f(0.59000)*/
+{ 1, 0,123,__LINE__, 0xbfd3bea0, 0x1c4bb77b, 0x3fe33333, 0x3333333f}, /* -0.30850=f(0.60000)*/
+{ 1, 0,123,__LINE__, 0xbfd2f193, 0xab2ec86d, 0x3fe3851e, 0xb851eb91}, /* -0.29599=f(0.61000)*/
+{ 1, 0,123,__LINE__, 0xbfd22761, 0xc7dae699, 0x3fe3d70a, 0x3d70a3e3}, /* -0.28365=f(0.62000)*/
+{ 1, 0,123,__LINE__, 0xbfd15ff6, 0x04a7b8ea, 0x3fe428f5, 0xc28f5c35}, /* -0.27148=f(0.63000)*/
+{ 1, 0,123,__LINE__, 0xbfd09b3d, 0x66cfa891, 0x3fe47ae1, 0x47ae1487}, /* -0.25947=f(0.64000)*/
+{ 1, 0,123,__LINE__, 0xbfcfb24a, 0xd545e2c6, 0x3fe4cccc, 0xccccccd9}, /* -0.24762=f(0.65000)*/
+{ 1, 0,123,__LINE__, 0xbfce3339, 0xb888fa56, 0x3fe51eb8, 0x51eb852b}, /* -0.23593=f(0.66000)*/
+{ 1, 0,123,__LINE__, 0xbfccb927, 0x83ce8bbe, 0x3fe570a3, 0xd70a3d7d}, /* -0.22440=f(0.67000)*/
+{ 1, 0,123,__LINE__, 0xbfcb43f4, 0x168cfe7b, 0x3fe5c28f, 0x5c28f5cf}, /* -0.21301=f(0.68000)*/
+{ 1, 0,123,__LINE__, 0xbfc9d382, 0x45775c64, 0x3fe6147a, 0xe147ae21}, /* -0.20176=f(0.69000)*/
+{ 1, 0,123,__LINE__, 0xbfc867b5, 0x7c5223ab, 0x3fe66666, 0x66666673}, /* -0.19066=f(0.70000)*/
+{ 1, 0,123,__LINE__, 0xbfc70072, 0xd8203bf4, 0x3fe6b851, 0xeb851ec5}, /* -0.17970=f(0.71000)*/
+{ 1, 0,123,__LINE__, 0xbfc59da0, 0xa42a12f8, 0x3fe70a3d, 0x70a3d717}, /* -0.16887=f(0.72000)*/
+{ 1, 0,123,__LINE__, 0xbfc43f27, 0x334406c5, 0x3fe75c28, 0xf5c28f69}, /* -0.15817=f(0.73000)*/
+{ 1, 0,123,__LINE__, 0xbfc2e4ee, 0x82ff6855, 0x3fe7ae14, 0x7ae147bb}, /* -0.14761=f(0.74000)*/
+{ 1, 0,123,__LINE__, 0xbfc18ee0, 0x8f1c8aa5, 0x3fe80000, 0x0000000d}, /* -0.13717=f(0.75000)*/
+{ 1, 0,123,__LINE__, 0xbfc03ce8, 0x49291398, 0x3fe851eb, 0x851eb85f}, /* -0.12685=f(0.76000)*/
+{ 1, 0,123,__LINE__, 0xbfbddde2, 0x6b84be91, 0x3fe8a3d7, 0x0a3d70b1}, /* -0.11666=f(0.77000)*/
+{ 1, 0,123,__LINE__, 0xbfbb49d0, 0x84bdd24e, 0x3fe8f5c2, 0x8f5c2903}, /* -0.10659=f(0.78000)*/
+{ 1, 0,123,__LINE__, 0xbfb8bd74, 0x4bdc54de, 0x3fe947ae, 0x147ae155}, /* -0.09664=f(0.79000)*/
+{ 1, 0,123,__LINE__, 0xbfb638ac, 0x4e447aff, 0x3fe99999, 0x999999a7}, /* -0.08680=f(0.80000)*/
+{ 1, 0,123,__LINE__, 0xbfb3bb56, 0xca102bc6, 0x3fe9eb85, 0x1eb851f9}, /* -0.07707=f(0.81000)*/
+{ 1, 0,123,__LINE__, 0xbfb14552, 0x512e5b8e, 0x3fea3d70, 0xa3d70a4b}, /* -0.06746=f(0.82000)*/
+{ 1, 0,123,__LINE__, 0xbfadad00, 0xc5026e27, 0x3fea8f5c, 0x28f5c29d}, /* -0.05796=f(0.83000)*/
+{ 1, 0,123,__LINE__, 0xbfa8dd87, 0x12800ea9, 0x3feae147, 0xae147aef}, /* -0.04856=f(0.84000)*/
+{ 1, 0,123,__LINE__, 0xbfa41bfc, 0x1f1aae90, 0x3feb3333, 0x33333341}, /* -0.03927=f(0.85000)*/
+{ 1, 0,123,__LINE__, 0xbf9ed05b, 0x719fc568, 0x3feb851e, 0xb851eb93}, /* -0.03009=f(0.86000)*/
+{ 1, 0,123,__LINE__, 0xbf9583cb, 0x4ba407dc, 0x3febd70a, 0x3d70a3e5}, /* -0.02101=f(0.87000)*/
+{ 1, 0,123,__LINE__, 0xbf88a3c5, 0xc52aaf88, 0x3fec28f5, 0xc28f5c37}, /* -0.01203=f(0.88000)*/
+{ 1, 0,123,__LINE__, 0xbf69d22b, 0x911b2280, 0x3fec7ae1, 0x47ae1489}, /* -0.00315=f(0.89000)*/
+{ 0, 0,123,__LINE__, 0x3f770daf, 0x6101c668, 0x3feccccc, 0xccccccdb}, /* 0.00562=f(0.90000)*/
+{ 0, 0,123,__LINE__, 0x3f8d4f18, 0x0c831594, 0x3fed1eb8, 0x51eb852d}, /* 0.01431=f(0.91000)*/
+{ 0, 0,123,__LINE__, 0x3f977269, 0x03a31ca4, 0x3fed70a3, 0xd70a3d7f}, /* 0.02289=f(0.92000)*/
+{ 0, 0,123,__LINE__, 0x3fa0122b, 0xe928b410, 0x3fedc28f, 0x5c28f5d1}, /* 0.03138=f(0.93000)*/
+{ 0, 0,123,__LINE__, 0x3fa45ed3, 0x447d25b7, 0x3fee147a, 0xe147ae23}, /* 0.03978=f(0.94000)*/
+{ 0, 0,123,__LINE__, 0x3fa89f50, 0x415046de, 0x3fee6666, 0x66666675}, /* 0.04809=f(0.95000)*/
+{ 0, 0,123,__LINE__, 0x3facd3c6, 0x911830f6, 0x3feeb851, 0xeb851ec7}, /* 0.05630=f(0.96000)*/
+{ 0, 0,123,__LINE__, 0x3fb07e2d, 0x5511a49e, 0x3fef0a3d, 0x70a3d719}, /* 0.06442=f(0.97000)*/
+{ 0, 0,123,__LINE__, 0x3fb28c95, 0x95b125ec, 0x3fef5c28, 0xf5c28f6b}, /* 0.07245=f(0.98000)*/
+{ 0, 0,123,__LINE__, 0x3fb4952c, 0xc9b3d886, 0x3fefae14, 0x7ae147bd}, /* 0.08040=f(0.99000)*/
+{ 0, 0,123,__LINE__, 0x3fb69802, 0x2cfb60b5, 0x3ff00000, 0x00000007}, /* 0.08825=f(1.00000)*/
+{ 0, 0,123,__LINE__, 0x3fb89524, 0xe4b0c050, 0x3ff028f5, 0xc28f5c30}, /* 0.09602=f(1.01000)*/
+{ 0, 0,123,__LINE__, 0x3fba8ca2, 0xf9b15c06, 0x3ff051eb, 0x851eb859}, /* 0.10370=f(1.02000)*/
+{ 0, 0,123,__LINE__, 0x3fbc7e8a, 0x9ed79098, 0x3ff07ae1, 0x47ae1482}, /* 0.11130=f(1.03000)*/
+{ 0, 0,123,__LINE__, 0x3fbe6ae8, 0xd81c685a, 0x3ff0a3d7, 0x0a3d70ab}, /* 0.11881=f(1.04000)*/
+{ 0, 0,123,__LINE__, 0x3fc028e5, 0x1ecaf482, 0x3ff0cccc, 0xccccccd4}, /* 0.12624=f(1.05000)*/
+{ 0, 0,123,__LINE__, 0x3fc1199d, 0xd8c1ca89, 0x3ff0f5c2, 0x8f5c28fd}, /* 0.13359=f(1.06000)*/
+{ 0, 0,123,__LINE__, 0x3fc207a5, 0x00967a0c, 0x3ff11eb8, 0x51eb8526}, /* 0.14085=f(1.07000)*/
+{ 0, 0,123,__LINE__, 0x3fc2f2ff, 0x0ac8da61, 0x3ff147ae, 0x147ae14f}, /* 0.14804=f(1.08000)*/
+{ 0, 0,123,__LINE__, 0x3fc3dbb2, 0x2de590c0, 0x3ff170a3, 0xd70a3d78}, /* 0.15514=f(1.09000)*/
+{ 0, 0,123,__LINE__, 0x3fc4c1c3, 0x993e54f7, 0x3ff19999, 0x999999a1}, /* 0.16216=f(1.10000)*/
+{ 0, 0,123,__LINE__, 0x3fc5a538, 0x9e473ea3, 0x3ff1c28f, 0x5c28f5ca}, /* 0.16910=f(1.11000)*/
+{ 0, 0,123,__LINE__, 0x3fc68616, 0x65138df1, 0x3ff1eb85, 0x1eb851f3}, /* 0.17596=f(1.12000)*/
+{ 0, 0,123,__LINE__, 0x3fc76461, 0x39214d4f, 0x3ff2147a, 0xe147ae1c}, /* 0.18275=f(1.13000)*/
+{ 0, 0,123,__LINE__, 0x3fc8401e, 0x81b1b3fd, 0x3ff23d70, 0xa3d70a45}, /* 0.18945=f(1.14000)*/
+{ 0, 0,123,__LINE__, 0x3fc91951, 0xc2045f8e, 0x3ff26666, 0x6666666e}, /* 0.19608=f(1.15000)*/
+{ 0, 0,123,__LINE__, 0x3fc9efff, 0xddaaef74, 0x3ff28f5c, 0x28f5c297}, /* 0.20263=f(1.16000)*/
+{ 0, 0,123,__LINE__, 0x3fcac42d, 0x488344e0, 0x3ff2b851, 0xeb851ec0}, /* 0.20911=f(1.17000)*/
+{ 0, 0,123,__LINE__, 0x3fcb95dd, 0x8a0f6a44, 0x3ff2e147, 0xae147ae9}, /* 0.21551=f(1.18000)*/
+{ 0, 0,123,__LINE__, 0x3fcc6515, 0x566cfdce, 0x3ff30a3d, 0x70a3d712}, /* 0.22183=f(1.19000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01921fb, 0x54442d18}, /* 64.0000=f(-6.28318)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* 64.0000=f(-4.71238)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc00921fb, 0x54442d18}, /* 64.0000=f(-3.14159)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff921fb, 0x54442d18}, /* 64.0000=f(-1.57079)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x00000000, 0x00000000}, /* 64.0000=f(0.00000)*/
+{ 0, 0,123,__LINE__, 0x3fda3d7f, 0xe8da69b9, 0x3ff921fb, 0x54442d18}, /* 0.41000=f(1.57079)*/
+{ 0, 0,123,__LINE__, 0x3fd503f3, 0xfb09862e, 0x400921fb, 0x54442d18}, /* 0.32836=f(3.14159)*/
+{ 0, 0,123,__LINE__, 0xbfd02737, 0xc250c8a7, 0x4012d97c, 0x7f3321d2}, /* -0.25239=f(4.71238)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03e0000, 0x00000000}, /* 64.0000=f(-30.0000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* 64.0000=f(-28.3000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03a9999, 0x9999999a}, /* 64.0000=f(-26.6000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc038e666, 0x66666667}, /* 64.0000=f(-24.9000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0373333, 0x33333334}, /* 64.0000=f(-23.2000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0358000, 0x00000001}, /* 64.0000=f(-21.5000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc033cccc, 0xccccccce}, /* 64.0000=f(-19.8000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0321999, 0x9999999b}, /* 64.0000=f(-18.1000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0306666, 0x66666668}, /* 64.0000=f(-16.4000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02d6666, 0x6666666a}, /* 64.0000=f(-14.7000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02a0000, 0x00000004}, /* 64.0000=f(-13.0000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0269999, 0x9999999e}, /* 64.0000=f(-11.3000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0233333, 0x33333338}, /* 64.0000=f(-9.60000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01f9999, 0x999999a3}, /* 64.0000=f(-7.90000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* 64.0000=f(-6.20000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0120000, 0x00000009}, /* 64.0000=f(-4.50000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0066666, 0x66666678}, /* 64.0000=f(-2.80000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x999999bd}, /* 64.0000=f(-1.10000)*/
+{ 1, 0,123,__LINE__, 0xbfd3bea0, 0x1c4bb77b, 0x3fe33333, 0x333332ec}, /* -0.30850=f(0.60000)*/
+{ 0, 0,123,__LINE__, 0x3fe09412, 0xdcf4aa39, 0x40026666, 0x66666654}, /* 0.51807=f(2.30000)*/
+{ 0, 0,123,__LINE__, 0xbf9158e6, 0x2d7ad280, 0x400fffff, 0xffffffee}, /* -0.01694=f(4.00000)*/
+{10, 0,123,__LINE__, 0xbfd50086, 0x992c5a9f, 0x4016cccc, 0xccccccc4}, /* -0.32815=f(5.70000)*/
+{ 9, 0,123,__LINE__, 0x3fb736e8, 0x14d0c29c, 0x401d9999, 0x99999991}, /* 0.09068=f(7.40000)*/
+{ 0, 0,123,__LINE__, 0x3fce81cb, 0x425ee3a4, 0x40223333, 0x3333332f}, /* 0.23833=f(9.10000)*/
+{ 0, 0,123,__LINE__, 0xbfc0fa4a, 0xce88dd87, 0x40259999, 0x99999995}, /* -0.13263=f(10.8000)*/
+{ 0, 0,123,__LINE__, 0xbfc5ea5a, 0x3f977d63, 0x4028ffff, 0xfffffffb}, /* -0.17121=f(12.5000)*/
+{ 0, 0,123,__LINE__, 0x3fc42a55, 0xca6bbeaa, 0x402c6666, 0x66666661}, /* 0.15754=f(14.2000)*/
+{ 0, 0,123,__LINE__, 0x3fbcf7bc, 0x29132ab3, 0x402fcccc, 0xccccccc7}, /* 0.11315=f(15.9000)*/
+{ 0, 0,123,__LINE__, 0xbfc5afb0, 0xb91e5ad2, 0x40319999, 0x99999997}, /* -0.16942=f(17.6000)*/
+{ 9, 0,123,__LINE__, 0xbfaf2151, 0xaaebb221, 0x40334ccc, 0xccccccca}, /* -0.06080=f(19.3000)*/
+{10, 0,123,__LINE__, 0x3fc5c92b, 0xac925867, 0x4034ffff, 0xfffffffd}, /* 0.17020=f(21.0000)*/
+{ 0, 0,123,__LINE__, 0x3f8c1ae5, 0x97a54388, 0x4036b333, 0x33333330}, /* 0.01372=f(22.7000)*/
+{ 0, 0,123,__LINE__, 0xbfc4a662, 0x75aefccb, 0x40386666, 0x66666663}, /* -0.16132=f(24.4000)*/
+{ 9, 0,123,__LINE__, 0x3f9c2b22, 0xd169e40f, 0x403a1999, 0x99999996}, /* 0.02750=f(26.1000)*/
+{ 0, 0,123,__LINE__, 0x3fc2771d, 0x63e62eec, 0x403bcccc, 0xccccccc9}, /* 0.14426=f(27.8000)*/
+{ 0, 0,123,__LINE__, 0xbfafc39b, 0xf28f96ed, 0x403d7fff, 0xfffffffc}, /* -0.06203=f(29.5000)*/
+0,};
+test_y0f(m) {run_vector_1(m,y0f_vec,(char *)(y0f),"y0f","ff"); }
diff --git a/newlib/libm/test/y1_vec.c b/newlib/libm/test/y1_vec.c
new file mode 100644
index 00000000000..3cb5497496a
--- /dev/null
+++ b/newlib/libm/test/y1_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type y1_vec[] = {
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff33333, 0x33333333}, /* 64.0000=f(-1.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* 64.0000=f(-1.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* 64.0000=f(-1.18000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* 64.0000=f(-1.17000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* 64.0000=f(-1.16000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff26666, 0x66666666}, /* 64.0000=f(-1.15000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* 64.0000=f(-1.14000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* 64.0000=f(-1.13000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* 64.0000=f(-1.12000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* 64.0000=f(-1.11000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x99999999}, /* 64.0000=f(-1.10000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* 64.0000=f(-1.09000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff147ae, 0x147ae147}, /* 64.0000=f(-1.08000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* 64.0000=f(-1.07000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* 64.0000=f(-1.06000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* 64.0000=f(-1.05000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* 64.0000=f(-1.04000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* 64.0000=f(-1.03000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff051eb, 0x851eb851}, /* 64.0000=f(-1.02000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* 64.0000=f(-1.01000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefffff, 0xfffffffe}, /* 64.0000=f(-0.01000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefae14, 0x7ae147ac}, /* 64.0000=f(-0.99000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef5c28, 0xf5c28f5a}, /* 64.0000=f(-0.98000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef0a3d, 0x70a3d708}, /* 64.0000=f(-0.97000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeeb851, 0xeb851eb6}, /* 64.0000=f(-0.96000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee6666, 0x66666664}, /* 64.0000=f(-0.95000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee147a, 0xe147ae12}, /* 64.0000=f(-0.94000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfedc28f, 0x5c28f5c0}, /* 64.0000=f(-0.93000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed70a3, 0xd70a3d6e}, /* 64.0000=f(-0.92000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed1eb8, 0x51eb851c}, /* 64.0000=f(-0.91000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeccccc, 0xccccccca}, /* 64.0000=f(-0.90000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec7ae1, 0x47ae1478}, /* 64.0000=f(-0.89000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec28f5, 0xc28f5c26}, /* 64.0000=f(-0.88000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfebd70a, 0x3d70a3d4}, /* 64.0000=f(-0.87000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb851e, 0xb851eb82}, /* 64.0000=f(-0.86000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb3333, 0x33333330}, /* 64.0000=f(-0.85000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeae147, 0xae147ade}, /* 64.0000=f(-0.84000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea8f5c, 0x28f5c28c}, /* 64.0000=f(-0.83000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea3d70, 0xa3d70a3a}, /* 64.0000=f(-0.82000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe9eb85, 0x1eb851e8}, /* 64.0000=f(-0.81000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe99999, 0x99999996}, /* 64.0000=f(-0.80000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe947ae, 0x147ae144}, /* 64.0000=f(-0.79000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8f5c2, 0x8f5c28f2}, /* 64.0000=f(-0.78000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8a3d7, 0x0a3d70a0}, /* 64.0000=f(-0.77000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe851eb, 0x851eb84e}, /* 64.0000=f(-0.76000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ffff, 0xfffffffc}, /* 64.0000=f(-0.75000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ae14, 0x7ae147aa}, /* 64.0000=f(-0.74000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe75c28, 0xf5c28f58}, /* 64.0000=f(-0.73000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe70a3d, 0x70a3d706}, /* 64.0000=f(-0.72000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6b851, 0xeb851eb4}, /* 64.0000=f(-0.71000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe66666, 0x66666662}, /* 64.0000=f(-0.70000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6147a, 0xe147ae10}, /* 64.0000=f(-0.69000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe5c28f, 0x5c28f5be}, /* 64.0000=f(-0.68000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe570a3, 0xd70a3d6c}, /* 64.0000=f(-0.67000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe51eb8, 0x51eb851a}, /* 64.0000=f(-0.66000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe4cccc, 0xccccccc8}, /* 64.0000=f(-0.65000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe47ae1, 0x47ae1476}, /* 64.0000=f(-0.64000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe428f5, 0xc28f5c24}, /* 64.0000=f(-0.63000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3d70a, 0x3d70a3d2}, /* 64.0000=f(-0.62000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3851e, 0xb851eb80}, /* 64.0000=f(-0.61000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe33333, 0x3333332e}, /* 64.0000=f(-0.60000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe2e147, 0xae147adc}, /* 64.0000=f(-0.59000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe28f5c, 0x28f5c28a}, /* 64.0000=f(-0.58000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe23d70, 0xa3d70a38}, /* 64.0000=f(-0.57000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe1eb85, 0x1eb851e6}, /* 64.0000=f(-0.56000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe19999, 0x99999994}, /* 64.0000=f(-0.55000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe147ae, 0x147ae142}, /* 64.0000=f(-0.54000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0f5c2, 0x8f5c28f0}, /* 64.0000=f(-0.53000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0a3d7, 0x0a3d709e}, /* 64.0000=f(-0.52000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe051eb, 0x851eb84c}, /* 64.0000=f(-0.51000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdfffff, 0xfffffff4}, /* 64.0000=f(-0.50000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdf5c28, 0xf5c28f50}, /* 64.0000=f(-0.49000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdeb851, 0xeb851eac}, /* 64.0000=f(-0.48000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfde147a, 0xe147ae08}, /* 64.0000=f(-0.47000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdd70a3, 0xd70a3d64}, /* 64.0000=f(-0.46000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdccccc, 0xccccccc0}, /* 64.0000=f(-0.45000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdc28f5, 0xc28f5c1c}, /* 64.0000=f(-0.44000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdb851e, 0xb851eb78}, /* 64.0000=f(-0.43000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdae147, 0xae147ad4}, /* 64.0000=f(-0.42000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfda3d70, 0xa3d70a30}, /* 64.0000=f(-0.41000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd99999, 0x9999998c}, /* 64.0000=f(-0.40000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd8f5c2, 0x8f5c28e8}, /* 64.0000=f(-0.39000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd851eb, 0x851eb844}, /* 64.0000=f(-0.38000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd7ae14, 0x7ae147a0}, /* 64.0000=f(-0.37000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd70a3d, 0x70a3d6fc}, /* 64.0000=f(-0.36000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd66666, 0x66666658}, /* 64.0000=f(-0.35000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd5c28f, 0x5c28f5b4}, /* 64.0000=f(-0.34000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd51eb8, 0x51eb8510}, /* 64.0000=f(-0.33000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd47ae1, 0x47ae146c}, /* 64.0000=f(-0.32000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd3d70a, 0x3d70a3c8}, /* 64.0000=f(-0.31000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd33333, 0x33333324}, /* 64.0000=f(-0.30000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd28f5c, 0x28f5c280}, /* 64.0000=f(-0.29000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd1eb85, 0x1eb851dc}, /* 64.0000=f(-0.28000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd147ae, 0x147ae138}, /* 64.0000=f(-0.27000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd0a3d7, 0x0a3d7094}, /* 64.0000=f(-0.26000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcfffff, 0xffffffe0}, /* 64.0000=f(-0.25000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfceb851, 0xeb851e98}, /* 64.0000=f(-0.24000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcd70a3, 0xd70a3d50}, /* 64.0000=f(-0.23000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcc28f5, 0xc28f5c08}, /* 64.0000=f(-0.22000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcae147, 0xae147ac0}, /* 64.0000=f(-0.21000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc99999, 0x99999978}, /* 64.0000=f(-0.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc851eb, 0x851eb830}, /* 64.0000=f(-0.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc70a3d, 0x70a3d6e8}, /* 64.0000=f(-0.18000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc5c28f, 0x5c28f5a0}, /* 64.0000=f(-0.17000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc47ae1, 0x47ae1458}, /* 64.0000=f(-0.16000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc33333, 0x33333310}, /* 64.0000=f(-0.15000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc1eb85, 0x1eb851c8}, /* 64.0000=f(-0.14000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc0a3d7, 0x0a3d7080}, /* 64.0000=f(-0.13000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbeb851, 0xeb851e71}, /* 64.0000=f(-0.12000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbc28f5, 0xc28f5be2}, /* 64.0000=f(-0.11000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb99999, 0x99999953}, /* 64.0000=f(-0.00100)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb70a3d, 0x70a3d6c4}, /* 64.0000=f(-0.09000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb47ae1, 0x47ae1435}, /* 64.0000=f(-0.08000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb1eb85, 0x1eb851a6}, /* 64.0000=f(-0.07000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfaeb851, 0xeb851e2d}, /* 64.0000=f(-0.06000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa99999, 0x9999990e}, /* 64.0000=f(-0.05000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa47ae1, 0x47ae13ef}, /* 64.0000=f(-0.04000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf9eb851, 0xeb851da0}, /* 64.0000=f(-0.03000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf947ae1, 0x47ae1362}, /* 64.0000=f(-0.02000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf847ae1, 0x47ae1249}, /* 64.0000=f(-0.00010)*/
+{64, 0,123,__LINE__, 0xc3028f34, 0x51ccc8e4, 0x3cd19000, 0x00000000}, /* -6.53001e+14=f(9.74915e-16)*/
+{64, 0,123,__LINE__, 0xc04fd6dc, 0x3e334e38, 0x3f847ae1, 0x47ae16ad}, /* -63.6785=f(0.01000)*/
+{64, 0,123,__LINE__, 0xc03fdc1c, 0xb0eef4ea, 0x3f947ae1, 0x47ae1594}, /* -31.8598=f(0.02000)*/
+{64, 0,123,__LINE__, 0xc0354290, 0xb7c32631, 0x3f9eb851, 0xeb851fd2}, /* -21.2600=f(0.03000)*/
+{64, 0,123,__LINE__, 0xc02fedb9, 0xe607ef4f, 0x3fa47ae1, 0x47ae1508}, /* -15.9643=f(0.04000)*/
+{64, 0,123,__LINE__, 0xc0299467, 0xe5a18b39, 0x3fa99999, 0x99999a27}, /* -12.7898=f(0.05000)*/
+{64, 0,123,__LINE__, 0xc0255a01, 0x0c0e9f0b, 0x3faeb851, 0xeb851f46}, /* -10.6757=f(0.06000)*/
+{64, 0,123,__LINE__, 0xc02255c1, 0x41fbfbf0, 0x3fb1eb85, 0x1eb85232}, /* -9.16749=f(0.07000)*/
+{64, 0,123,__LINE__, 0xc0201349, 0x6e9843f8, 0x3fb47ae1, 0x47ae14c1}, /* -8.03767=f(0.08000)*/
+{64, 0,123,__LINE__, 0xc01ca3e9, 0xbb27878f, 0x3fb70a3d, 0x70a3d750}, /* -7.16007=f(0.09000)*/
+{64, 0,123,__LINE__, 0xc019d5f7, 0x4698d559, 0x3fb99999, 0x999999df}, /* -6.45895=f(0.10000)*/
+{64, 0,123,__LINE__, 0xc0178b61, 0xd24a2160, 0x3fbc28f5, 0xc28f5c6e}, /* -5.88611=f(0.11000)*/
+{64, 0,123,__LINE__, 0xc015a344, 0x4a03f79e, 0x3fbeb851, 0xeb851efd}, /* -5.40944=f(0.12000)*/
+{64, 0,123,__LINE__, 0xc01406d9, 0xbe1b5f10, 0x3fc0a3d7, 0x0a3d70c6}, /* -5.00669=f(0.13000)*/
+{64, 0,123,__LINE__, 0xc012a5df, 0x770b6f6d, 0x3fc1eb85, 0x1eb8520e}, /* -4.66198=f(0.14000)*/
+{64, 0,123,__LINE__, 0xc0117469, 0x70206659, 0x3fc33333, 0x33333356}, /* -4.36368=f(0.15000)*/
+{64, 0,123,__LINE__, 0xc0106987, 0x29e4663a, 0x3fc47ae1, 0x47ae149e}, /* -4.10305=f(0.16000)*/
+{64, 0,123,__LINE__, 0xc00efcc6, 0x1239add3, 0x3fc5c28f, 0x5c28f5e6}, /* -3.87342=f(0.17000)*/
+{64, 0,123,__LINE__, 0xc00d5b59, 0x31f511ee, 0x3fc70a3d, 0x70a3d72e}, /* -3.66960=f(0.18000)*/
+{64, 0,123,__LINE__, 0xc00be664, 0x31944804, 0x3fc851eb, 0x851eb876}, /* -3.48749=f(0.19000)*/
+{64, 0,123,__LINE__, 0xc00a9731, 0x8e2c8b12, 0x3fc99999, 0x999999be}, /* -3.32382=f(0.20000)*/
+{64, 0,123,__LINE__, 0xc0096853, 0x558ea2d0, 0x3fcae147, 0xae147b06}, /* -3.17594=f(0.21000)*/
+{64, 0,123,__LINE__, 0xc0085558, 0xa9b5bffa, 0x3fcc28f5, 0xc28f5c4e}, /* -3.04167=f(0.22000)*/
+{64, 0,123,__LINE__, 0xc0075a96, 0xb404b99e, 0x3fcd70a3, 0xd70a3d96}, /* -2.91923=f(0.23000)*/
+{64, 0,123,__LINE__, 0xc00674ff, 0x5ccd6bf8, 0x3fceb851, 0xeb851ede}, /* -2.80712=f(0.24000)*/
+{64, 0,123,__LINE__, 0xc005a201, 0xec26d03b, 0x3fd00000, 0x00000013}, /* -2.70410=f(0.25000)*/
+{64, 0,123,__LINE__, 0xc004df72, 0xe8cf58bb, 0x3fd0a3d7, 0x0a3d70b7}, /* -2.60910=f(0.26000)*/
+{64, 0,123,__LINE__, 0xc0042b79, 0x54525687, 0x3fd147ae, 0x147ae15b}, /* -2.52122=f(0.27000)*/
+{64, 0,123,__LINE__, 0xc003847f, 0xed0a3f74, 0x3fd1eb85, 0x1eb851ff}, /* -2.43969=f(0.28000)*/
+{64, 0,123,__LINE__, 0xc002e929, 0x7d58868e, 0x3fd28f5c, 0x28f5c2a3}, /* -2.36384=f(0.29000)*/
+{64, 0,123,__LINE__, 0xc0025847, 0x81bd5896, 0x3fd33333, 0x33333347}, /* -2.29310=f(0.30000)*/
+{64, 0,123,__LINE__, 0xc001d0d2, 0x9e89a058, 0x3fd3d70a, 0x3d70a3eb}, /* -2.22696=f(0.31000)*/
+{64, 0,123,__LINE__, 0xc00151e4, 0x7fb8d6a3, 0x3fd47ae1, 0x47ae148f}, /* -2.16498=f(0.32000)*/
+{64, 0,123,__LINE__, 0xc000dab2, 0xd6195bcc, 0x3fd51eb8, 0x51eb8533}, /* -2.10678=f(0.33000)*/
+{64, 0,123,__LINE__, 0xc0006a8b, 0x37002a86, 0x3fd5c28f, 0x5c28f5d7}, /* -2.05202=f(0.34000)*/
+{64, 0,123,__LINE__, 0xc00000cf, 0xb133ff94, 0x3fd66666, 0x6666667b}, /* -2.00039=f(0.35000)*/
+{64, 0,123,__LINE__, 0xbfff39e7, 0xe79ec9ca, 0x3fd70a3d, 0x70a3d71f}, /* -1.95163=f(0.36000)*/
+{64, 0,123,__LINE__, 0xbffe7cf5, 0xd6f1bcf2, 0x3fd7ae14, 0x7ae147c3}, /* -1.90550=f(0.37000)*/
+{64, 0,123,__LINE__, 0xbffdc9e9, 0x8043d492, 0x3fd851eb, 0x851eb867}, /* -1.86179=f(0.38000)*/
+{64, 0,123,__LINE__, 0xbffd1ffa, 0x43ee5bc8, 0x3fd8f5c2, 0x8f5c290b}, /* -1.82030=f(0.39000)*/
+{64, 0,123,__LINE__, 0xbffc7e73, 0xaf48021c, 0x3fd99999, 0x999999af}, /* -1.78087=f(0.40000)*/
+{64, 0,123,__LINE__, 0xbffbe4b3, 0x0580d476, 0x3fda3d70, 0xa3d70a53}, /* -1.74333=f(0.41000)*/
+{64, 0,123,__LINE__, 0xbffb5225, 0x22c20732, 0x3fdae147, 0xae147af7}, /* -1.70755=f(0.42000)*/
+{64, 0,123,__LINE__, 0xbffac644, 0xaadd5200, 0x3fdb851e, 0xb851eb9b}, /* -1.67340=f(0.43000)*/
+{64, 0,123,__LINE__, 0xbffa4098, 0x7784512a, 0x3fdc28f5, 0xc28f5c3f}, /* -1.64077=f(0.44000)*/
+{64, 0,123,__LINE__, 0xbff9c0b2, 0x3c24180d, 0x3fdccccc, 0xcccccce3}, /* -1.60954=f(0.45000)*/
+{64, 0,123,__LINE__, 0xbff9462d, 0x5739a738, 0x3fdd70a3, 0xd70a3d87}, /* -1.57963=f(0.46000)*/
+{64, 0,123,__LINE__, 0xbff8d0ad, 0xca581cba, 0x3fde147a, 0xe147ae2b}, /* -1.55094=f(0.47000)*/
+{64, 0,123,__LINE__, 0xbff85fdf, 0x533acd50, 0x3fdeb851, 0xeb851ecf}, /* -1.52340=f(0.48000)*/
+{64, 0,123,__LINE__, 0xbff7f374, 0xa129a302, 0x3fdf5c28, 0xf5c28f73}, /* -1.49693=f(0.49000)*/
+{64, 0,123,__LINE__, 0xbff78b26, 0xa2b7c4d2, 0x3fe00000, 0x0000000b}, /* -1.47147=f(0.50000)*/
+{64, 0,123,__LINE__, 0xbff726b3, 0xe88401f2, 0x3fe051eb, 0x851eb85d}, /* -1.44694=f(0.51000)*/
+{64, 0,123,__LINE__, 0xbff6c5e0, 0x1a2655ef, 0x3fe0a3d7, 0x0a3d70af}, /* -1.42330=f(0.52000)*/
+{64, 0,123,__LINE__, 0xbff66873, 0x7ae34f38, 0x3fe0f5c2, 0x8f5c2901}, /* -1.40050=f(0.53000)*/
+{64, 0,123,__LINE__, 0xbff60e3a, 0x7c1955f2, 0x3fe147ae, 0x147ae153}, /* -1.37847=f(0.54000)*/
+{64, 0,123,__LINE__, 0xbff5b705, 0x5ba816cb, 0x3fe19999, 0x999999a5}, /* -1.35718=f(0.55000)*/
+{64, 0,123,__LINE__, 0xbff562a7, 0xccd257c6, 0x3fe1eb85, 0x1eb851f7}, /* -1.33658=f(0.56000)*/
+{64, 0,123,__LINE__, 0xbff510f8, 0xaa5062b5, 0x3fe23d70, 0xa3d70a49}, /* -1.31664=f(0.57000)*/
+{63, 0,123,__LINE__, 0xbff4c1d1, 0xb076b8b2, 0x3fe28f5c, 0x28f5c29b}, /* -1.29731=f(0.58000)*/
+{64, 0,123,__LINE__, 0xbff4750f, 0x3e7b569c, 0x3fe2e147, 0xae147aed}, /* -1.27857=f(0.59000)*/
+{64, 0,123,__LINE__, 0xbff42a90, 0x1e049cad, 0x3fe33333, 0x3333333f}, /* -1.26039=f(0.60000)*/
+{64, 0,123,__LINE__, 0xbff3e235, 0x5048deef, 0x3fe3851e, 0xb851eb91}, /* -1.24272=f(0.61000)*/
+{62, 0,123,__LINE__, 0xbff39be1, 0xe01d876d, 0x3fe3d70a, 0x3d70a3e3}, /* -1.22555=f(0.62000)*/
+{64, 0,123,__LINE__, 0xbff3577a, 0xb8692d6b, 0x3fe428f5, 0xc28f5c35}, /* -1.20885=f(0.63000)*/
+{64, 0,123,__LINE__, 0xbff314e6, 0x7e7d9c43, 0x3fe47ae1, 0x47ae1487}, /* -1.19260=f(0.64000)*/
+{64, 0,123,__LINE__, 0xbff2d40d, 0x6feded0b, 0x3fe4cccc, 0xccccccd9}, /* -1.17677=f(0.65000)*/
+{64, 0,123,__LINE__, 0xbff294d9, 0x4381ec61, 0x3fe51eb8, 0x51eb852b}, /* -1.16134=f(0.66000)*/
+{64, 0,123,__LINE__, 0xbff25735, 0x0cf35a15, 0x3fe570a3, 0xd70a3d7d}, /* -1.14629=f(0.67000)*/
+{64, 0,123,__LINE__, 0xbff21b0d, 0x232b6443, 0x3fe5c28f, 0x5c28f5cf}, /* -1.13160=f(0.68000)*/
+{64, 0,123,__LINE__, 0xbff1e04f, 0x08bf4b2c, 0x3fe6147a, 0xe147ae21}, /* -1.11726=f(0.69000)*/
+{64, 0,123,__LINE__, 0xbff1a6e9, 0x56728d2d, 0x3fe66666, 0x66666673}, /* -1.10325=f(0.70000)*/
+{64, 0,123,__LINE__, 0xbff16ecb, 0xa78b7a7c, 0x3fe6b851, 0xeb851ec5}, /* -1.08955=f(0.71000)*/
+{64, 0,123,__LINE__, 0xbff137e6, 0x87ccc07e, 0x3fe70a3d, 0x70a3d717}, /* -1.07614=f(0.72000)*/
+{64, 0,123,__LINE__, 0xbff1022b, 0x62eb78d4, 0x3fe75c28, 0xf5c28f69}, /* -1.06303=f(0.73000)*/
+{64, 0,123,__LINE__, 0xbff0cd8c, 0x755da97a, 0x3fe7ae14, 0x7ae147bb}, /* -1.05018=f(0.74000)*/
+{64, 0,123,__LINE__, 0xbff099fc, 0xbe60fd7b, 0x3fe80000, 0x0000000d}, /* -1.03759=f(0.75000)*/
+{64, 0,123,__LINE__, 0xbff0676f, 0xf31ce374, 0x3fe851eb, 0x851eb85f}, /* -1.02525=f(0.76000)*/
+{64, 0,123,__LINE__, 0xbff035da, 0x72c63ebc, 0x3fe8a3d7, 0x0a3d70b1}, /* -1.01314=f(0.77000)*/
+{64, 0,123,__LINE__, 0xbff00531, 0x3bad7f1b, 0x3fe8f5c2, 0x8f5c2903}, /* -1.00126=f(0.78000)*/
+{64, 0,123,__LINE__, 0xbfefaad3, 0xc2449974, 0x3fe947ae, 0x147ae155}, /* -0.98960=f(0.79000)*/
+{64, 0,123,__LINE__, 0xbfef4cf5, 0x04341779, 0x3fe99999, 0x999999a7}, /* -0.97814=f(0.80000)*/
+{64, 0,123,__LINE__, 0xbfeef0b3, 0x8110aaef, 0x3fe9eb85, 0x1eb851f9}, /* -0.96688=f(0.81000)*/
+{60, 0,123,__LINE__, 0xbfee95fd, 0x72b45756, 0x3fea3d70, 0xa3d70a4b}, /* -0.95580=f(0.82000)*/
+{64, 0,123,__LINE__, 0xbfee3cc1, 0xfa0c451d, 0x3fea8f5c, 0x28f5c29d}, /* -0.94491=f(0.83000)*/
+{64, 0,123,__LINE__, 0xbfede4f1, 0x114a1d4d, 0x3feae147, 0xae147aef}, /* -0.93419=f(0.84000)*/
+{64, 0,123,__LINE__, 0xbfed8e7b, 0x7f0fdfe2, 0x3feb3333, 0x33333341}, /* -0.92364=f(0.85000)*/
+{64, 0,123,__LINE__, 0xbfed3952, 0xca81c193, 0x3feb851e, 0xb851eb93}, /* -0.91324=f(0.86000)*/
+{64, 0,123,__LINE__, 0xbfece569, 0x302b8076, 0x3febd70a, 0x3d70a3e5}, /* -0.90300=f(0.87000)*/
+{64, 0,123,__LINE__, 0xbfec92b1, 0x97a84f99, 0x3fec28f5, 0xc28f5c37}, /* -0.89290=f(0.88000)*/
+{64, 0,123,__LINE__, 0xbfec411f, 0x89fdfebe, 0x3fec7ae1, 0x47ae1489}, /* -0.88294=f(0.89000)*/
+{64, 0,123,__LINE__, 0xbfebf0a7, 0x289d61ad, 0x3feccccc, 0xccccccdb}, /* -0.87312=f(0.90000)*/
+{64, 0,123,__LINE__, 0xbfeba13d, 0x24fb35db, 0x3fed1eb8, 0x51eb852d}, /* -0.86343=f(0.91000)*/
+{64, 0,123,__LINE__, 0xbfeb52d6, 0xb8b5e1a3, 0x3fed70a3, 0xd70a3d7f}, /* -0.85386=f(0.92000)*/
+{64, 0,123,__LINE__, 0xbfeb0569, 0x9e3d6973, 0x3fedc28f, 0x5c28f5d1}, /* -0.84441=f(0.93000)*/
+{64, 0,123,__LINE__, 0xbfeab8ec, 0x09f3df7c, 0x3fee147a, 0xe147ae23}, /* -0.83507=f(0.94000)*/
+{64, 0,123,__LINE__, 0xbfea6d54, 0xa3bd64c4, 0x3fee6666, 0x66666675}, /* -0.82584=f(0.95000)*/
+{64, 0,123,__LINE__, 0xbfea229a, 0x80f7910d, 0x3feeb851, 0xeb851ec7}, /* -0.81672=f(0.96000)*/
+{64, 0,123,__LINE__, 0xbfe9d8b5, 0x1ed0c3c8, 0x3fef0a3d, 0x70a3d719}, /* -0.80770=f(0.97000)*/
+{64, 0,123,__LINE__, 0xbfe98f9c, 0x5cf87d44, 0x3fef5c28, 0xf5c28f6b}, /* -0.79878=f(0.98000)*/
+{64, 0,123,__LINE__, 0xbfe94748, 0x78a26dfe, 0x3fefae14, 0x7ae147bd}, /* -0.78995=f(0.99000)*/
+{64, 0,123,__LINE__, 0xbfe8ffb2, 0x07d66b88, 0x3ff00000, 0x00000007}, /* -0.78121=f(1.00000)*/
+{64, 0,123,__LINE__, 0xbfe8b8d1, 0xf507f0f4, 0x3ff028f5, 0xc28f5c30}, /* -0.77256=f(1.01000)*/
+{64, 0,123,__LINE__, 0xbfe872a1, 0x7af03c5a, 0x3ff051eb, 0x851eb859}, /* -0.76399=f(1.02000)*/
+{64, 0,123,__LINE__, 0xbfe82d1a, 0x20a67d2e, 0x3ff07ae1, 0x47ae1482}, /* -0.75550=f(1.03000)*/
+{64, 0,123,__LINE__, 0xbfe7e835, 0xb5f1e144, 0x3ff0a3d7, 0x0a3d70ab}, /* -0.74709=f(1.04000)*/
+{64, 0,123,__LINE__, 0xbfe7a3ee, 0x4fd1a02b, 0x3ff0cccc, 0xccccccd4}, /* -0.73876=f(1.05000)*/
+{64, 0,123,__LINE__, 0xbfe7603e, 0x45376fba, 0x3ff0f5c2, 0x8f5c28fd}, /* -0.73049=f(1.06000)*/
+{64, 0,123,__LINE__, 0xbfe71d20, 0x2bf11178, 0x3ff11eb8, 0x51eb8526}, /* -0.72230=f(1.07000)*/
+{64, 0,123,__LINE__, 0xbfe6da8e, 0xd5bde79a, 0x3ff147ae, 0x147ae14f}, /* -0.71417=f(1.08000)*/
+{64, 0,123,__LINE__, 0xbfe69885, 0x4d8db9f0, 0x3ff170a3, 0xd70a3d78}, /* -0.70611=f(1.09000)*/
+{64, 0,123,__LINE__, 0xbfe656fe, 0xd4e60874, 0x3ff19999, 0x999999a1}, /* -0.69811=f(1.10000)*/
+{64, 0,123,__LINE__, 0xbfe615f6, 0xe16b79b2, 0x3ff1c28f, 0x5c28f5ca}, /* -0.69018=f(1.11000)*/
+{64, 0,123,__LINE__, 0xbfe5d569, 0x1a8d2048, 0x3ff1eb85, 0x1eb851f3}, /* -0.68230=f(1.12000)*/
+{64, 0,123,__LINE__, 0xbfe59551, 0x574f7bdf, 0x3ff2147a, 0xe147ae1c}, /* -0.67447=f(1.13000)*/
+{64, 0,123,__LINE__, 0xbfe555ab, 0x9c35400a, 0x3ff23d70, 0xa3d70a45}, /* -0.66670=f(1.14000)*/
+{64, 0,123,__LINE__, 0xbfe51674, 0x19440e79, 0x3ff26666, 0x6666666e}, /* -0.65899=f(1.15000)*/
+{64, 0,123,__LINE__, 0xbfe4d7a7, 0x28237235, 0x3ff28f5c, 0x28f5c297}, /* -0.65132=f(1.16000)*/
+{64, 0,123,__LINE__, 0xbfe49941, 0x4a548778, 0x3ff2b851, 0xeb851ec0}, /* -0.64370=f(1.17000)*/
+{64, 0,123,__LINE__, 0xbfe45b3f, 0x2780d71b, 0x3ff2e147, 0xae147ae9}, /* -0.63613=f(1.18000)*/
+{64, 0,123,__LINE__, 0xbfe41d9d, 0x8bdf0626, 0x3ff30a3d, 0x70a3d712}, /* -0.62861=f(1.19000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01921fb, 0x54442d18}, /* 64.0000=f(-6.28318)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* 64.0000=f(-4.71238)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc00921fb, 0x54442d18}, /* 64.0000=f(-3.14159)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff921fb, 0x54442d18}, /* 64.0000=f(-1.57079)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0x00000000, 0x00000000}, /* 64.0000=f(0.00000)*/
+{63, 0,123,__LINE__, 0xbfd77123, 0x5406f041, 0x3ff921fb, 0x54442d18}, /* -0.36628=f(1.57079)*/
+{61, 0,123,__LINE__, 0x3fd6f7c6, 0x1c3e790b, 0x400921fb, 0x54442d18}, /* 0.35887=f(3.14159)*/
+{59, 0,123,__LINE__, 0x3fced109, 0x0321e8e8, 0x4012d97c, 0x7f3321d2}, /* 0.24075=f(4.71238)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03e0000, 0x00000000}, /* 64.0000=f(-30.0000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* 64.0000=f(-28.3000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03a9999, 0x9999999a}, /* 64.0000=f(-26.6000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc038e666, 0x66666667}, /* 64.0000=f(-24.9000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0373333, 0x33333334}, /* 64.0000=f(-23.2000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0358000, 0x00000001}, /* 64.0000=f(-21.5000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc033cccc, 0xccccccce}, /* 64.0000=f(-19.8000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0321999, 0x9999999b}, /* 64.0000=f(-18.1000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0306666, 0x66666668}, /* 64.0000=f(-16.4000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02d6666, 0x6666666a}, /* 64.0000=f(-14.7000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02a0000, 0x00000004}, /* 64.0000=f(-13.0000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0269999, 0x9999999e}, /* 64.0000=f(-11.3000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0233333, 0x33333338}, /* 64.0000=f(-9.60000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01f9999, 0x999999a3}, /* 64.0000=f(-7.90000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* 64.0000=f(-6.20000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0120000, 0x00000009}, /* 64.0000=f(-4.50000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0066666, 0x66666678}, /* 64.0000=f(-2.80000)*/
+{64,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x999999bd}, /* 64.0000=f(-1.10000)*/
+{64, 0,123,__LINE__, 0xbff42a90, 0x1e049cf8, 0x3fe33333, 0x333332ec}, /* -1.26039=f(0.60000)*/
+{60, 0,123,__LINE__, 0x3faac417, 0xa3bf4753, 0x40026666, 0x66666654}, /* 0.05227=f(2.30000)*/
+{59, 0,123,__LINE__, 0x3fd9779d, 0x664523cf, 0x400fffff, 0xffffffee}, /* 0.39792=f(4.00000)*/
+{56, 0,123,__LINE__, 0xbfb6b692, 0xa5de21ac, 0x4016cccc, 0xccccccc4}, /* -0.08872=f(5.70000)*/
+{55, 0,123,__LINE__, 0xbfd17ab7, 0x2b13b91f, 0x401d9999, 0x99999991}, /* -0.27311=f(7.40000)*/
+{57, 0,123,__LINE__, 0x3fc050cd, 0x513210be, 0x40223333, 0x3333332f}, /* 0.12746=f(9.10000)*/
+{62, 0,123,__LINE__, 0x3fc940c4, 0xd7d877b5, 0x40259999, 0x99999995}, /* 0.19728=f(10.8000)*/
+{63, 0,123,__LINE__, 0xbfc3b0f8, 0xd459e252, 0x4028ffff, 0xfffffffb}, /* -0.15383=f(12.5000)*/
+{61, 0,123,__LINE__, 0xbfc165b0, 0xfd54018b, 0x402c6666, 0x66666661}, /* -0.13591=f(14.2000)*/
+{64, 0,123,__LINE__, 0x3fc594e5, 0x4261700e, 0x402fcccc, 0xccccccc7}, /* 0.16860=f(15.9000)*/
+{64, 0,123,__LINE__, 0x3fb4e0ac, 0x47a4e1a5, 0x40319999, 0x99999997}, /* 0.08155=f(17.6000)*/
+{64, 0,123,__LINE__, 0xbfc61c4c, 0x8f518084, 0x40334ccc, 0xccccccca}, /* -0.17273=f(19.3000)*/
+{64, 0,123,__LINE__, 0xbfa0a8fc, 0x69909f2e, 0x4034ffff, 0xfffffffd}, /* -0.03253=f(21.0000)*/
+{59, 0,123,__LINE__, 0x3fc567a2, 0x1848d0cf, 0x4036b333, 0x33333330}, /* 0.16722=f(22.7000)*/
+{64, 0,123,__LINE__, 0xbf867d4b, 0x580d2579, 0x40386666, 0x66666663}, /* -0.01098=f(24.4000)*/
+{64, 0,123,__LINE__, 0xbfc39cd0, 0xcf7f5216, 0x403a1999, 0x99999996}, /* -0.15322=f(26.1000)*/
+{64, 0,123,__LINE__, 0x3fa8b66b, 0x18717143, 0x403bcccc, 0xccccccc9}, /* 0.04826=f(27.8000)*/
+{64, 0,123,__LINE__, 0x3fc0e92b, 0x1cafe2d0, 0x403d7fff, 0xfffffffc}, /* 0.13211=f(29.5000)*/
+0,};
+test_y1(m) {run_vector_1(m,y1_vec,(char *)(y1),"y1","dd"); }
diff --git a/newlib/libm/test/y1f_vec.c b/newlib/libm/test/y1f_vec.c
new file mode 100644
index 00000000000..419afb12b55
--- /dev/null
+++ b/newlib/libm/test/y1f_vec.c
@@ -0,0 +1,288 @@
+#include "test.h"
+ one_line_type y1f_vec[] = {
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff33333, 0x33333333}, /* 64.0000=f(-1.20000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff30a3d, 0x70a3d70a}, /* 64.0000=f(-1.19000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2e147, 0xae147ae1}, /* 64.0000=f(-1.18000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2b851, 0xeb851eb8}, /* 64.0000=f(-1.17000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff28f5c, 0x28f5c28f}, /* 64.0000=f(-1.16000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff26666, 0x66666666}, /* 64.0000=f(-1.15000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff23d70, 0xa3d70a3d}, /* 64.0000=f(-1.14000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff2147a, 0xe147ae14}, /* 64.0000=f(-1.13000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1eb85, 0x1eb851eb}, /* 64.0000=f(-1.12000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff1c28f, 0x5c28f5c2}, /* 64.0000=f(-1.11000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x99999999}, /* 64.0000=f(-1.10000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff170a3, 0xd70a3d70}, /* 64.0000=f(-1.09000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff147ae, 0x147ae147}, /* 64.0000=f(-1.08000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff11eb8, 0x51eb851e}, /* 64.0000=f(-1.07000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0f5c2, 0x8f5c28f5}, /* 64.0000=f(-1.06000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0cccc, 0xcccccccc}, /* 64.0000=f(-1.05000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff0a3d7, 0x0a3d70a3}, /* 64.0000=f(-1.04000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff07ae1, 0x47ae147a}, /* 64.0000=f(-1.03000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff051eb, 0x851eb851}, /* 64.0000=f(-1.02000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff028f5, 0xc28f5c28}, /* 64.0000=f(-1.01000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefffff, 0xfffffffe}, /* 64.0000=f(-0.01000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfefae14, 0x7ae147ac}, /* 64.0000=f(-0.99000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef5c28, 0xf5c28f5a}, /* 64.0000=f(-0.98000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfef0a3d, 0x70a3d708}, /* 64.0000=f(-0.97000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeeb851, 0xeb851eb6}, /* 64.0000=f(-0.96000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee6666, 0x66666664}, /* 64.0000=f(-0.95000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfee147a, 0xe147ae12}, /* 64.0000=f(-0.94000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfedc28f, 0x5c28f5c0}, /* 64.0000=f(-0.93000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed70a3, 0xd70a3d6e}, /* 64.0000=f(-0.92000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfed1eb8, 0x51eb851c}, /* 64.0000=f(-0.91000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeccccc, 0xccccccca}, /* 64.0000=f(-0.90000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec7ae1, 0x47ae1478}, /* 64.0000=f(-0.89000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfec28f5, 0xc28f5c26}, /* 64.0000=f(-0.88000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfebd70a, 0x3d70a3d4}, /* 64.0000=f(-0.87000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb851e, 0xb851eb82}, /* 64.0000=f(-0.86000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeb3333, 0x33333330}, /* 64.0000=f(-0.85000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfeae147, 0xae147ade}, /* 64.0000=f(-0.84000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea8f5c, 0x28f5c28c}, /* 64.0000=f(-0.83000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfea3d70, 0xa3d70a3a}, /* 64.0000=f(-0.82000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe9eb85, 0x1eb851e8}, /* 64.0000=f(-0.81000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe99999, 0x99999996}, /* 64.0000=f(-0.80000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe947ae, 0x147ae144}, /* 64.0000=f(-0.79000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8f5c2, 0x8f5c28f2}, /* 64.0000=f(-0.78000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe8a3d7, 0x0a3d70a0}, /* 64.0000=f(-0.77000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe851eb, 0x851eb84e}, /* 64.0000=f(-0.76000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ffff, 0xfffffffc}, /* 64.0000=f(-0.75000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe7ae14, 0x7ae147aa}, /* 64.0000=f(-0.74000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe75c28, 0xf5c28f58}, /* 64.0000=f(-0.73000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe70a3d, 0x70a3d706}, /* 64.0000=f(-0.72000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6b851, 0xeb851eb4}, /* 64.0000=f(-0.71000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe66666, 0x66666662}, /* 64.0000=f(-0.70000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe6147a, 0xe147ae10}, /* 64.0000=f(-0.69000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe5c28f, 0x5c28f5be}, /* 64.0000=f(-0.68000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe570a3, 0xd70a3d6c}, /* 64.0000=f(-0.67000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe51eb8, 0x51eb851a}, /* 64.0000=f(-0.66000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe4cccc, 0xccccccc8}, /* 64.0000=f(-0.65000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe47ae1, 0x47ae1476}, /* 64.0000=f(-0.64000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe428f5, 0xc28f5c24}, /* 64.0000=f(-0.63000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3d70a, 0x3d70a3d2}, /* 64.0000=f(-0.62000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe3851e, 0xb851eb80}, /* 64.0000=f(-0.61000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe33333, 0x3333332e}, /* 64.0000=f(-0.60000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe2e147, 0xae147adc}, /* 64.0000=f(-0.59000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe28f5c, 0x28f5c28a}, /* 64.0000=f(-0.58000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe23d70, 0xa3d70a38}, /* 64.0000=f(-0.57000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe1eb85, 0x1eb851e6}, /* 64.0000=f(-0.56000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe19999, 0x99999994}, /* 64.0000=f(-0.55000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe147ae, 0x147ae142}, /* 64.0000=f(-0.54000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0f5c2, 0x8f5c28f0}, /* 64.0000=f(-0.53000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe0a3d7, 0x0a3d709e}, /* 64.0000=f(-0.52000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfe051eb, 0x851eb84c}, /* 64.0000=f(-0.51000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdfffff, 0xfffffff4}, /* 64.0000=f(-0.50000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdf5c28, 0xf5c28f50}, /* 64.0000=f(-0.49000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdeb851, 0xeb851eac}, /* 64.0000=f(-0.48000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfde147a, 0xe147ae08}, /* 64.0000=f(-0.47000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdd70a3, 0xd70a3d64}, /* 64.0000=f(-0.46000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdccccc, 0xccccccc0}, /* 64.0000=f(-0.45000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdc28f5, 0xc28f5c1c}, /* 64.0000=f(-0.44000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdb851e, 0xb851eb78}, /* 64.0000=f(-0.43000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfdae147, 0xae147ad4}, /* 64.0000=f(-0.42000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfda3d70, 0xa3d70a30}, /* 64.0000=f(-0.41000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd99999, 0x9999998c}, /* 64.0000=f(-0.40000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd8f5c2, 0x8f5c28e8}, /* 64.0000=f(-0.39000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd851eb, 0x851eb844}, /* 64.0000=f(-0.38000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd7ae14, 0x7ae147a0}, /* 64.0000=f(-0.37000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd70a3d, 0x70a3d6fc}, /* 64.0000=f(-0.36000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd66666, 0x66666658}, /* 64.0000=f(-0.35000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd5c28f, 0x5c28f5b4}, /* 64.0000=f(-0.34000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd51eb8, 0x51eb8510}, /* 64.0000=f(-0.33000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd47ae1, 0x47ae146c}, /* 64.0000=f(-0.32000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd3d70a, 0x3d70a3c8}, /* 64.0000=f(-0.31000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd33333, 0x33333324}, /* 64.0000=f(-0.30000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd28f5c, 0x28f5c280}, /* 64.0000=f(-0.29000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd1eb85, 0x1eb851dc}, /* 64.0000=f(-0.28000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd147ae, 0x147ae138}, /* 64.0000=f(-0.27000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfd0a3d7, 0x0a3d7094}, /* 64.0000=f(-0.26000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcfffff, 0xffffffe0}, /* 64.0000=f(-0.25000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfceb851, 0xeb851e98}, /* 64.0000=f(-0.24000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcd70a3, 0xd70a3d50}, /* 64.0000=f(-0.23000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcc28f5, 0xc28f5c08}, /* 64.0000=f(-0.22000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfcae147, 0xae147ac0}, /* 64.0000=f(-0.21000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc99999, 0x99999978}, /* 64.0000=f(-0.20000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc851eb, 0x851eb830}, /* 64.0000=f(-0.19000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc70a3d, 0x70a3d6e8}, /* 64.0000=f(-0.18000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc5c28f, 0x5c28f5a0}, /* 64.0000=f(-0.17000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc47ae1, 0x47ae1458}, /* 64.0000=f(-0.16000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc33333, 0x33333310}, /* 64.0000=f(-0.15000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc1eb85, 0x1eb851c8}, /* 64.0000=f(-0.14000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfc0a3d7, 0x0a3d7080}, /* 64.0000=f(-0.13000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbeb851, 0xeb851e71}, /* 64.0000=f(-0.12000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfbc28f5, 0xc28f5be2}, /* 64.0000=f(-0.11000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb99999, 0x99999953}, /* 64.0000=f(-0.00100)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb70a3d, 0x70a3d6c4}, /* 64.0000=f(-0.09000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb47ae1, 0x47ae1435}, /* 64.0000=f(-0.08000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfb1eb85, 0x1eb851a6}, /* 64.0000=f(-0.07000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfaeb851, 0xeb851e2d}, /* 64.0000=f(-0.06000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa99999, 0x9999990e}, /* 64.0000=f(-0.05000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbfa47ae1, 0x47ae13ef}, /* 64.0000=f(-0.04000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf9eb851, 0xeb851da0}, /* 64.0000=f(-0.03000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf947ae1, 0x47ae1362}, /* 64.0000=f(-0.02000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbf847ae1, 0x47ae1249}, /* 64.0000=f(-0.00010)*/
+{ 0, 0,123,__LINE__, 0xc3028f34, 0x51ccc8e4, 0x3cd19000, 0x00000000}, /* -6.53001e+14=f(9.74915e-16)*/
+{10, 0,123,__LINE__, 0xc04fd6dc, 0x4a237936, 0x3f847ae1, 0x47ae16ad}, /* -63.6785=f(0.01000)*/
+{ 9, 0,123,__LINE__, 0xc03fdc1c, 0xbcdbf22f, 0x3f947ae1, 0x47ae1594}, /* -31.8598=f(0.02000)*/
+{ 9, 0,123,__LINE__, 0xc0354290, 0xbfb7f7f9, 0x3f9eb851, 0xeb851fd2}, /* -21.2600=f(0.03000)*/
+{ 9, 0,123,__LINE__, 0xc02fedb9, 0xf1ea1fcd, 0x3fa47ae1, 0x47ae1508}, /* -15.9643=f(0.04000)*/
+{ 9, 0,123,__LINE__, 0xc0299467, 0xdf586605, 0x3fa99999, 0x99999a27}, /* -12.7898=f(0.05000)*/
+{ 9, 0,123,__LINE__, 0xc0255a01, 0x13ed563a, 0x3faeb851, 0xeb851f46}, /* -10.6757=f(0.06000)*/
+{ 9, 0,123,__LINE__, 0xc02255c1, 0x40b58d14, 0x3fb1eb85, 0x1eb85232}, /* -9.16749=f(0.07000)*/
+{ 9, 0,123,__LINE__, 0xc0201349, 0x7474bd52, 0x3fb47ae1, 0x47ae14c1}, /* -8.03767=f(0.08000)*/
+{ 9, 0,123,__LINE__, 0xc01ca3e9, 0xa85cbc4d, 0x3fb70a3d, 0x70a3d750}, /* -7.16007=f(0.09000)*/
+{ 9, 0,123,__LINE__, 0xc019d5f7, 0x403ad72f, 0x3fb99999, 0x999999df}, /* -6.45895=f(0.10000)*/
+{10, 0,123,__LINE__, 0xc0178b61, 0xd44ddafb, 0x3fbc28f5, 0xc28f5c6e}, /* -5.88611=f(0.11000)*/
+{10, 0,123,__LINE__, 0xc015a344, 0x51f62ac0, 0x3fbeb851, 0xeb851efd}, /* -5.40944=f(0.12000)*/
+{10, 0,123,__LINE__, 0xc01406d9, 0xca1b1ec4, 0x3fc0a3d7, 0x0a3d70c6}, /* -5.00669=f(0.13000)*/
+{10, 0,123,__LINE__, 0xc012a5df, 0x75a19fe5, 0x3fc1eb85, 0x1eb8520e}, /* -4.66198=f(0.14000)*/
+{10, 0,123,__LINE__, 0xc0117469, 0x650d860b, 0x3fc33333, 0x33333356}, /* -4.36368=f(0.15000)*/
+{10, 0,123,__LINE__, 0xc0106987, 0x2f9911e2, 0x3fc47ae1, 0x47ae149e}, /* -4.10305=f(0.16000)*/
+{10, 0,123,__LINE__, 0xc00efcc6, 0x0cef1edd, 0x3fc5c28f, 0x5c28f5e6}, /* -3.87342=f(0.17000)*/
+{10, 0,123,__LINE__, 0xc00d5b59, 0x1f256b63, 0x3fc70a3d, 0x70a3d72e}, /* -3.66960=f(0.18000)*/
+{10, 0,123,__LINE__, 0xc00be664, 0x37c9ea76, 0x3fc851eb, 0x851eb876}, /* -3.48749=f(0.19000)*/
+{10, 0,123,__LINE__, 0xc00a9731, 0x87a43b11, 0x3fc99999, 0x999999be}, /* -3.32382=f(0.20000)*/
+{10, 0,123,__LINE__, 0xc0096853, 0x6207b116, 0x3fcae147, 0xae147b06}, /* -3.17594=f(0.21000)*/
+{10, 0,123,__LINE__, 0xc0085558, 0xab8c81c6, 0x3fcc28f5, 0xc28f5c4e}, /* -3.04167=f(0.22000)*/
+{10, 0,123,__LINE__, 0xc0075a96, 0xadd549e9, 0x3fcd70a3, 0xd70a3d96}, /* -2.91923=f(0.23000)*/
+{10, 0,123,__LINE__, 0xc00674ff, 0x647a71f2, 0x3fceb851, 0xeb851ede}, /* -2.80712=f(0.24000)*/
+{10, 0,123,__LINE__, 0xc005a201, 0xecdf68b2, 0x3fd00000, 0x00000013}, /* -2.70410=f(0.25000)*/
+{10, 0,123,__LINE__, 0xc004df72, 0xf5273d90, 0x3fd0a3d7, 0x0a3d70b7}, /* -2.60910=f(0.26000)*/
+{10, 0,123,__LINE__, 0xc0042b79, 0x474cf53e, 0x3fd147ae, 0x147ae15b}, /* -2.52122=f(0.27000)*/
+{10, 0,123,__LINE__, 0xc003847f, 0xeadb17f2, 0x3fd1eb85, 0x1eb851ff}, /* -2.43969=f(0.28000)*/
+{10, 0,123,__LINE__, 0xc002e929, 0x84dde3dd, 0x3fd28f5c, 0x28f5c2a3}, /* -2.36384=f(0.29000)*/
+{10, 0,123,__LINE__, 0xc0025847, 0x76766e7f, 0x3fd33333, 0x33333347}, /* -2.29310=f(0.30000)*/
+{10, 0,123,__LINE__, 0xc001d0d2, 0x9bd35dd2, 0x3fd3d70a, 0x3d70a3eb}, /* -2.22696=f(0.31000)*/
+{10, 0,123,__LINE__, 0xc00151e4, 0x86d2966e, 0x3fd47ae1, 0x47ae148f}, /* -2.16498=f(0.32000)*/
+{10, 0,123,__LINE__, 0xc000dab2, 0xccba8b79, 0x3fd51eb8, 0x51eb8533}, /* -2.10678=f(0.33000)*/
+{10, 0,123,__LINE__, 0xc0006a8b, 0x34ef3ba2, 0x3fd5c28f, 0x5c28f5d7}, /* -2.05202=f(0.34000)*/
+{10, 0,123,__LINE__, 0xc00000cf, 0xb57b49e0, 0x3fd66666, 0x6666667b}, /* -2.00039=f(0.35000)*/
+{ 1, 0,123,__LINE__, 0xbfff39e7, 0xd5e069b9, 0x3fd70a3d, 0x70a3d71f}, /* -1.95163=f(0.36000)*/
+{ 1, 0,123,__LINE__, 0xbffe7cf5, 0xcfb6bb04, 0x3fd7ae14, 0x7ae147c3}, /* -1.90550=f(0.37000)*/
+{ 1, 0,123,__LINE__, 0xbffdc9e9, 0x84715789, 0x3fd851eb, 0x851eb867}, /* -1.86179=f(0.38000)*/
+{ 1, 0,123,__LINE__, 0xbffd1ffa, 0x532d1010, 0x3fd8f5c2, 0x8f5c290b}, /* -1.82030=f(0.39000)*/
+{ 1, 0,123,__LINE__, 0xbffc7e73, 0xa80be7b4, 0x3fd99999, 0x999999af}, /* -1.78087=f(0.40000)*/
+{ 1, 0,123,__LINE__, 0xbffbe4b3, 0x08cbc129, 0x3fda3d70, 0xa3d70a53}, /* -1.74333=f(0.41000)*/
+{ 1, 0,123,__LINE__, 0xbffb5225, 0x2d974e02, 0x3fdae147, 0xae147af7}, /* -1.70755=f(0.42000)*/
+{ 1, 0,123,__LINE__, 0xbffac644, 0xa3fbbb53, 0x3fdb851e, 0xb851eb9b}, /* -1.67340=f(0.43000)*/
+{ 1, 0,123,__LINE__, 0xbffa4098, 0x791e8810, 0x3fdc28f5, 0xc28f5c3f}, /* -1.64077=f(0.44000)*/
+{ 1, 0,123,__LINE__, 0xbff9c0b2, 0x443a9962, 0x3fdccccc, 0xcccccce3}, /* -1.60954=f(0.45000)*/
+{ 1, 0,123,__LINE__, 0xbff9462d, 0x5176d096, 0x3fdd70a3, 0xd70a3d87}, /* -1.57963=f(0.46000)*/
+{ 1, 0,123,__LINE__, 0xbff8d0ad, 0xcab18106, 0x3fde147a, 0xe147ae2b}, /* -1.55094=f(0.47000)*/
+{ 1, 0,123,__LINE__, 0xbff85fdf, 0x5afc2e9d, 0x3fdeb851, 0xeb851ecf}, /* -1.52340=f(0.48000)*/
+{ 1, 0,123,__LINE__, 0xbff7f374, 0x9b4ece25, 0x3fdf5c28, 0xf5c28f73}, /* -1.49693=f(0.49000)*/
+{ 1, 0,123,__LINE__, 0xbff78b26, 0xa14ebe4d, 0x3fe00000, 0x0000000b}, /* -1.47147=f(0.50000)*/
+{ 1, 0,123,__LINE__, 0xbff726b3, 0xef5ba82b, 0x3fe051eb, 0x851eb85d}, /* -1.44694=f(0.51000)*/
+{ 1, 0,123,__LINE__, 0xbff6c5e0, 0x27287fd4, 0x3fe0a3d7, 0x0a3d70af}, /* -1.42330=f(0.52000)*/
+{ 1, 0,123,__LINE__, 0xbff66873, 0x8b9d7d55, 0x3fe0f5c2, 0x8f5c2901}, /* -1.40050=f(0.53000)*/
+{ 1, 0,123,__LINE__, 0xbff60e3a, 0x6fb7e04d, 0x3fe147ae, 0x147ae153}, /* -1.37847=f(0.54000)*/
+{ 1, 0,123,__LINE__, 0xbff5b705, 0x5494eec7, 0x3fe19999, 0x999999a5}, /* -1.35718=f(0.55000)*/
+{ 1, 0,123,__LINE__, 0xbff562a7, 0xc8873b56, 0x3fe1eb85, 0x1eb851f7}, /* -1.33658=f(0.56000)*/
+{ 1, 0,123,__LINE__, 0xbff510f8, 0xac10341b, 0x3fe23d70, 0xa3d70a49}, /* -1.31664=f(0.57000)*/
+{ 1, 0,123,__LINE__, 0xbff4c1d1, 0xb7f254a4, 0x3fe28f5c, 0x28f5c29b}, /* -1.29731=f(0.58000)*/
+{ 1, 0,123,__LINE__, 0xbff4750f, 0x4d1c1754, 0x3fe2e147, 0xae147aed}, /* -1.27857=f(0.59000)*/
+{ 1, 0,123,__LINE__, 0xbff42a90, 0x1421761a, 0x3fe33333, 0x3333333f}, /* -1.26039=f(0.60000)*/
+{ 1, 0,123,__LINE__, 0xbff3e235, 0x495873ef, 0x3fe3851e, 0xb851eb91}, /* -1.24272=f(0.61000)*/
+{ 1, 0,123,__LINE__, 0xbff39be1, 0xdf1524d9, 0x3fe3d70a, 0x3d70a3e3}, /* -1.22555=f(0.62000)*/
+{ 1, 0,123,__LINE__, 0xbff3577a, 0xbb1a7992, 0x3fe428f5, 0xc28f5c35}, /* -1.20885=f(0.63000)*/
+{ 1, 0,123,__LINE__, 0xbff314e6, 0x836fcf3f, 0x3fe47ae1, 0x47ae1487}, /* -1.19260=f(0.64000)*/
+{ 1, 0,123,__LINE__, 0xbff2d40d, 0x77e9513f, 0x3fe4cccc, 0xccccccd9}, /* -1.17677=f(0.65000)*/
+{ 1, 0,123,__LINE__, 0xbff294d9, 0x39398046, 0x3fe51eb8, 0x51eb852b}, /* -1.16134=f(0.66000)*/
+{ 1, 0,123,__LINE__, 0xbff25735, 0x074c0d2c, 0x3fe570a3, 0xd70a3d7d}, /* -1.14629=f(0.67000)*/
+{ 1, 0,123,__LINE__, 0xbff21b0d, 0x1fe7cb73, 0x3fe5c28f, 0x5c28f5cf}, /* -1.13160=f(0.68000)*/
+{ 1, 0,123,__LINE__, 0xbff1e04f, 0x0c1f895a, 0x3fe6147a, 0xe147ae21}, /* -1.11726=f(0.69000)*/
+{ 1, 0,123,__LINE__, 0xbff1a6e9, 0x5e0f6dee, 0x3fe66666, 0x66666673}, /* -1.10325=f(0.70000)*/
+{ 1, 0,123,__LINE__, 0xbff16ecb, 0xafbeb161, 0x3fe6b851, 0xeb851ec5}, /* -1.08955=f(0.71000)*/
+{ 1, 0,123,__LINE__, 0xbff137e6, 0x7cee008e, 0x3fe70a3d, 0x70a3d717}, /* -1.07614=f(0.72000)*/
+{ 1, 0,123,__LINE__, 0xbff1022b, 0x5f391746, 0x3fe75c28, 0xf5c28f69}, /* -1.06303=f(0.73000)*/
+{ 1, 0,123,__LINE__, 0xbff0cd8c, 0x719e24e0, 0x3fe7ae14, 0x7ae147bb}, /* -1.05018=f(0.74000)*/
+{ 1, 0,123,__LINE__, 0xbff099fc, 0xbf17f408, 0x3fe80000, 0x0000000d}, /* -1.03759=f(0.75000)*/
+{ 1, 0,123,__LINE__, 0xbff0676f, 0xf6ac6964, 0x3fe851eb, 0x851eb85f}, /* -1.02525=f(0.76000)*/
+{ 1, 0,123,__LINE__, 0xbff035da, 0x791dd777, 0x3fe8a3d7, 0x0a3d70b1}, /* -1.01314=f(0.77000)*/
+{ 1, 0,123,__LINE__, 0xbff00531, 0x4452868e, 0x3fe8f5c2, 0x8f5c2903}, /* -1.00126=f(0.78000)*/
+{ 1, 0,123,__LINE__, 0xbfefaad3, 0xb5488590, 0x3fe947ae, 0x147ae155}, /* -0.98960=f(0.79000)*/
+{ 1, 0,123,__LINE__, 0xbfef4cf4, 0xfac34842, 0x3fe99999, 0x999999a7}, /* -0.97814=f(0.80000)*/
+{ 1, 0,123,__LINE__, 0xbfeef0b3, 0x7d0d0a14, 0x3fe9eb85, 0x1eb851f9}, /* -0.96688=f(0.81000)*/
+{ 1, 0,123,__LINE__, 0xbfee95fd, 0x72c13d3c, 0x3fea3d70, 0xa3d70a4b}, /* -0.95580=f(0.82000)*/
+{ 1, 0,123,__LINE__, 0xbfee3cc2, 0x02405282, 0x3fea8f5c, 0x28f5c29d}, /* -0.94491=f(0.83000)*/
+{ 1, 0,123,__LINE__, 0xbfede4f1, 0x2169e4b2, 0x3feae147, 0xae147aef}, /* -0.93419=f(0.84000)*/
+{ 1, 0,123,__LINE__, 0xbfed8e7b, 0x70eebaa2, 0x3feb3333, 0x33333341}, /* -0.92364=f(0.85000)*/
+{ 1, 0,123,__LINE__, 0xbfed3952, 0xc37c84a3, 0x3feb851e, 0xb851eb93}, /* -0.91324=f(0.86000)*/
+{ 1, 0,123,__LINE__, 0xbfece569, 0x2f8d8d89, 0x3febd70a, 0x3d70a3e5}, /* -0.90300=f(0.87000)*/
+{ 1, 0,123,__LINE__, 0xbfec92b1, 0x957f9085, 0x3fec28f5, 0xc28f5c37}, /* -0.89290=f(0.88000)*/
+{ 1, 0,123,__LINE__, 0xbfec411f, 0x90c84f96, 0x3fec7ae1, 0x47ae1489}, /* -0.88294=f(0.89000)*/
+{ 1, 0,123,__LINE__, 0xbfebf0a7, 0x385803a0, 0x3feccccc, 0xccccccdb}, /* -0.87312=f(0.90000)*/
+{ 1, 0,123,__LINE__, 0xbfeba13d, 0x149538a5, 0x3fed1eb8, 0x51eb852d}, /* -0.86343=f(0.91000)*/
+{ 1, 0,123,__LINE__, 0xbfeb52d6, 0xb49d78c1, 0x3fed70a3, 0xd70a3d7f}, /* -0.85386=f(0.92000)*/
+{ 1, 0,123,__LINE__, 0xbfeb0569, 0x9f962ef1, 0x3fedc28f, 0x5c28f5d1}, /* -0.84441=f(0.93000)*/
+{ 1, 0,123,__LINE__, 0xbfeab8ec, 0x08798c0f, 0x3fee147a, 0xe147ae23}, /* -0.83507=f(0.94000)*/
+{ 1, 0,123,__LINE__, 0xbfea6d54, 0xa670484c, 0x3fee6666, 0x66666675}, /* -0.82584=f(0.95000)*/
+{ 1, 0,123,__LINE__, 0xbfea229a, 0x8d1b4fdf, 0x3feeb851, 0xeb851ec7}, /* -0.81672=f(0.96000)*/
+{ 1, 0,123,__LINE__, 0xbfe9d8b5, 0x1279c296, 0x3fef0a3d, 0x70a3d719}, /* -0.80770=f(0.97000)*/
+{ 1, 0,123,__LINE__, 0xbfe98f9c, 0x5132eb03, 0x3fef5c28, 0xf5c28f6b}, /* -0.79878=f(0.98000)*/
+{ 1, 0,123,__LINE__, 0xbfe94748, 0x74fa8638, 0x3fefae14, 0x7ae147bd}, /* -0.78995=f(0.99000)*/
+{ 1, 0,123,__LINE__, 0xbfe8ffb2, 0x0500d76c, 0x3ff00000, 0x00000007}, /* -0.78121=f(1.00000)*/
+{ 1, 0,123,__LINE__, 0xbfe8b8d1, 0xf6b4e039, 0x3ff028f5, 0xc28f5c30}, /* -0.77256=f(1.01000)*/
+{ 1, 0,123,__LINE__, 0xbfe872a1, 0x80b50abc, 0x3ff051eb, 0x851eb859}, /* -0.76399=f(1.02000)*/
+{ 1, 0,123,__LINE__, 0xbfe82d1a, 0x2a0769e6, 0x3ff07ae1, 0x47ae1482}, /* -0.75550=f(1.03000)*/
+{ 1, 0,123,__LINE__, 0xbfe7e835, 0xc7e1c475, 0x3ff0a3d7, 0x0a3d70ab}, /* -0.74709=f(1.04000)*/
+{ 1, 0,123,__LINE__, 0xbfe7a3ee, 0x64c46067, 0x3ff0cccc, 0xccccccd4}, /* -0.73876=f(1.05000)*/
+{ 1, 0,123,__LINE__, 0xbfe7603e, 0x5b89fec6, 0x3ff0f5c2, 0x8f5c28fd}, /* -0.73049=f(1.06000)*/
+{ 1, 0,123,__LINE__, 0xbfe71d20, 0x14b064ca, 0x3ff11eb8, 0x51eb8526}, /* -0.72230=f(1.07000)*/
+{ 1, 0,123,__LINE__, 0xbfe6da8e, 0xc246ed18, 0x3ff147ae, 0x147ae14f}, /* -0.71417=f(1.08000)*/
+{ 1, 0,123,__LINE__, 0xbfe69885, 0x40ffdd26, 0x3ff170a3, 0xd70a3d78}, /* -0.70611=f(1.09000)*/
+{ 1, 0,123,__LINE__, 0xbfe656fe, 0xcc5e5f1b, 0x3ff19999, 0x999999a1}, /* -0.69811=f(1.10000)*/
+{ 1, 0,123,__LINE__, 0xbfe615f6, 0xdddba6f2, 0x3ff1c28f, 0x5c28f5ca}, /* -0.69018=f(1.11000)*/
+{ 1, 0,123,__LINE__, 0xbfe5d569, 0x1a0bb056, 0x3ff1eb85, 0x1eb851f3}, /* -0.68230=f(1.12000)*/
+{ 1, 0,123,__LINE__, 0xbfe59551, 0x60024644, 0x3ff2147a, 0xe147ae1c}, /* -0.67447=f(1.13000)*/
+{ 1, 0,123,__LINE__, 0xbfe555ab, 0xa2d085db, 0x3ff23d70, 0xa3d70a45}, /* -0.66670=f(1.14000)*/
+{ 1, 0,123,__LINE__, 0xbfe51674, 0x20b37355, 0x3ff26666, 0x6666666e}, /* -0.65899=f(1.15000)*/
+{ 1, 0,123,__LINE__, 0xbfe4d7a7, 0x333b278a, 0x3ff28f5c, 0x28f5c297}, /* -0.65132=f(1.16000)*/
+{ 1, 0,123,__LINE__, 0xbfe49941, 0x5c040ab4, 0x3ff2b851, 0xeb851ec0}, /* -0.64370=f(1.17000)*/
+{ 1, 0,123,__LINE__, 0xbfe45b3f, 0x3dd3b5ca, 0x3ff2e147, 0xae147ae9}, /* -0.63613=f(1.18000)*/
+{ 1, 0,123,__LINE__, 0xbfe41d9d, 0x71471f82, 0x3ff30a3d, 0x70a3d712}, /* -0.62861=f(1.19000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01921fb, 0x54442d18}, /* 64.0000=f(-6.28318)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc012d97c, 0x7f3321d2}, /* 64.0000=f(-4.71238)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc00921fb, 0x54442d18}, /* 64.0000=f(-3.14159)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff921fb, 0x54442d18}, /* 64.0000=f(-1.57079)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0x00000000, 0x00000000}, /* 64.0000=f(0.00000)*/
+{ 1, 0,123,__LINE__, 0xbfd77123, 0x3c9f8927, 0x3ff921fb, 0x54442d18}, /* -0.36628=f(1.57079)*/
+{ 0, 0,123,__LINE__, 0x3fd6f7c6, 0x3e78d349, 0x400921fb, 0x54442d18}, /* 0.35887=f(3.14159)*/
+{ 0, 0,123,__LINE__, 0x3fced109, 0x2d70aba0, 0x4012d97c, 0x7f3321d2}, /* 0.24075=f(4.71238)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03e0000, 0x00000000}, /* 64.0000=f(-30.0000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03c4ccc, 0xcccccccd}, /* 64.0000=f(-28.3000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc03a9999, 0x9999999a}, /* 64.0000=f(-26.6000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc038e666, 0x66666667}, /* 64.0000=f(-24.9000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0373333, 0x33333334}, /* 64.0000=f(-23.2000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0358000, 0x00000001}, /* 64.0000=f(-21.5000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc033cccc, 0xccccccce}, /* 64.0000=f(-19.8000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0321999, 0x9999999b}, /* 64.0000=f(-18.1000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0306666, 0x66666668}, /* 64.0000=f(-16.4000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02d6666, 0x6666666a}, /* 64.0000=f(-14.7000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc02a0000, 0x00000004}, /* 64.0000=f(-13.0000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0269999, 0x9999999e}, /* 64.0000=f(-11.3000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0233333, 0x33333338}, /* 64.0000=f(-9.60000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc01f9999, 0x999999a3}, /* 64.0000=f(-7.90000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc018cccc, 0xccccccd6}, /* 64.0000=f(-6.20000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0120000, 0x00000009}, /* 64.0000=f(-4.50000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xc0066666, 0x66666678}, /* 64.0000=f(-2.80000)*/
+{ 9,13, 37,__LINE__, 0x40500000, 0x00000000, 0xbff19999, 0x999999bd}, /* 64.0000=f(-1.10000)*/
+{ 1, 0,123,__LINE__, 0xbff42a90, 0x1421761a, 0x3fe33333, 0x333332ec}, /* -1.26039=f(0.60000)*/
+{ 9, 0,123,__LINE__, 0x3faac416, 0xb11a9d9c, 0x40026666, 0x66666654}, /* 0.05227=f(2.30000)*/
+{10, 0,123,__LINE__, 0x3fd9779e, 0x3e516ea4, 0x400fffff, 0xffffffee}, /* 0.39792=f(4.00000)*/
+{ 0, 0,123,__LINE__, 0xbfb6b690, 0x22bce510, 0x4016cccc, 0xccccccc4}, /* -0.08872=f(5.70000)*/
+{10, 0,123,__LINE__, 0xbfd17ab8, 0x4f3ea7b6, 0x401d9999, 0x99999991}, /* -0.27311=f(7.40000)*/
+{10, 0,123,__LINE__, 0x3fc050cd, 0xbb05f210, 0x40223333, 0x3333332f}, /* 0.12746=f(9.10000)*/
+{10, 0,123,__LINE__, 0x3fc940c4, 0xc40306ca, 0x40259999, 0x99999995}, /* 0.19728=f(10.8000)*/
+{10, 0,123,__LINE__, 0xbfc3b0f8, 0xb4d679af, 0x4028ffff, 0xfffffffb}, /* -0.15383=f(12.5000)*/
+{ 0, 0,123,__LINE__, 0xbfc165b1, 0x7aaa9cc0, 0x402c6666, 0x66666661}, /* -0.13591=f(14.2000)*/
+{ 0, 0,123,__LINE__, 0x3fc594e4, 0xa6fcd009, 0x402fcccc, 0xccccccc7}, /* 0.16860=f(15.9000)*/
+{ 0, 0,123,__LINE__, 0x3fb4e0ac, 0x39a1ab2c, 0x40319999, 0x99999997}, /* 0.08155=f(17.6000)*/
+{10, 0,123,__LINE__, 0xbfc61c4c, 0x79f54028, 0x40334ccc, 0xccccccca}, /* -0.17273=f(19.3000)*/
+{ 0, 0,123,__LINE__, 0xbfa0a8f9, 0x04feeeb9, 0x4034ffff, 0xfffffffd}, /* -0.03253=f(21.0000)*/
+{ 0, 0,123,__LINE__, 0x3fc567a2, 0x087fa337, 0x4036b333, 0x33333330}, /* 0.16722=f(22.7000)*/
+{ 0, 0,123,__LINE__, 0xbf867d4c, 0x44499f34, 0x40386666, 0x66666663}, /* -0.01098=f(24.4000)*/
+{ 0, 0,123,__LINE__, 0xbfc39cd0, 0xaae8ac82, 0x403a1999, 0x99999996}, /* -0.15322=f(26.1000)*/
+{ 0, 0,123,__LINE__, 0x3fa8b668, 0xc801a7a1, 0x403bcccc, 0xccccccc9}, /* 0.04826=f(27.8000)*/
+{11, 0,123,__LINE__, 0x3fc0e92a, 0xfe6b2ee0, 0x403d7fff, 0xfffffffc}, /* 0.13211=f(29.5000)*/
+0,};
+test_y1f(m) {run_vector_1(m,y1f_vec,(char *)(y1f),"y1f","ff"); }
diff --git a/newlib/libm/test/yn_vec.c b/newlib/libm/test/yn_vec.c
new file mode 100644
index 00000000000..69028531e22
--- /dev/null
+++ b/newlib/libm/test/yn_vec.c
@@ -0,0 +1,204 @@
+#include "test.h"
+ one_line_type yn_vec[] = {
+{64,0,123,__LINE__, 0x3ff00000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
+{64,0,123,__LINE__, 0x00000000, 0x00000000, 0x3ff00000, 0x00000000, 0x00000000, 0x00000000},
+{64,0,123,__LINE__, 0x00000000, 0x00000000, 0x40000000, 0x00000000, 0x00000000, 0x00000000},
+{64,0,123,__LINE__, 0x00000000, 0x00000000, 0x40080000, 0x00000000, 0x00000000, 0x00000000},
+{64,0,123,__LINE__, 0x00000000, 0x00000000, 0x40100000, 0x00000000, 0x00000000, 0x00000000},
+{64,0,123,__LINE__, 0x3feffae1, 0x7c1aebb8, 0x00000000, 0x00000000, 0x3fa99999, 0x9999999a},
+{64,0,123,__LINE__, 0x3f99978d, 0x5dda2f5d, 0x3ff00000, 0x00000000, 0x3fa99999, 0x9999999a},
+{64,0,123,__LINE__, 0x3f3479c9, 0xae7be13e, 0x40000000, 0x00000000, 0x3fa99999, 0x9999999a},
+{64,0,123,__LINE__, 0x3ec5d788, 0x15461382, 0x40080000, 0x00000000, 0x3fa99999, 0x9999999a},
+{64,0,123,__LINE__, 0x3e51795d, 0x7442f11f, 0x40100000, 0x00000000, 0x3fa99999, 0x9999999a},
+{64,0,123,__LINE__, 0x3fefeb88, 0x65590ab3, 0x00000000, 0x00000000, 0x3fb99999, 0x9999999a},
+{64,0,123,__LINE__, 0x3fa99169, 0x52566dfd, 0x3ff00000, 0x00000000, 0x3fb99999, 0x9999999a},
+{64,0,123,__LINE__, 0x3f547683, 0x25fd91e1, 0x40000000, 0x00000000, 0x3fb99999, 0x9999999a},
+{64,0,123,__LINE__, 0x3ef5d4e9, 0x3442db3c, 0x40080000, 0x00000000, 0x3fb99999, 0x9999999a},
+{64,0,123,__LINE__, 0x3e9177b0, 0x11ba6ea0, 0x40100000, 0x00000000, 0x3fb99999, 0x9999999a},
+{64,0,123,__LINE__, 0x3fefd1fc, 0x19331411, 0x00000000, 0x00000000, 0x3fc33333, 0x33333334},
+{64,0,123,__LINE__, 0x3fb32563, 0x927c0add, 0x3ff00000, 0x00000000, 0x3fc33333, 0x33333334},
+{64,0,123,__LINE__, 0x3f66ff30, 0x46535fa1, 0x40000000, 0x00000000, 0x3fc33333, 0x33333334},
+{64,0,123,__LINE__, 0x3f1267f5, 0xd0689e2d, 0x40080000, 0x00000000, 0x3fc33333, 0x33333334},
+{64,0,123,__LINE__, 0x3eb617f1, 0x7b30b575, 0x40100000, 0x00000000, 0x3fc33333, 0x33333334},
+{64,0,123,__LINE__, 0x3fefae48, 0xd9bfc0d4, 0x00000000, 0x00000000, 0x3fc99999, 0x9999999a},
+{64,0,123,__LINE__, 0x3fb978e2, 0xf61c3bd6, 0x3ff00000, 0x00000000, 0x3fc99999, 0x9999999a},
+{64,0,123,__LINE__, 0x3f74696c, 0xf1c4fb46, 0x40000000, 0x00000000, 0x3fc99999, 0x9999999a},
+{64,0,123,__LINE__, 0x3f25ca70, 0x33fc81fd, 0x40080000, 0x00000000, 0x3fc99999, 0x9999999a},
+{64,0,123,__LINE__, 0x3ed170fb, 0xdefa5db8, 0x40100000, 0x00000000, 0x3fc99999, 0x9999999a},
+{64,0,123,__LINE__, 0x3fef807f, 0xc72aa864, 0x00000000, 0x00000000, 0x3fd00000, 0x00000000},
+{64,0,123,__LINE__, 0x3fbfc02a, 0x9c749ee9, 0x3ff00000, 0x00000000, 0x3fd00000, 0x00000000},
+{64,0,123,__LINE__, 0x3f7fd56a, 0xa4fb4242, 0x40000000, 0x00000000, 0x3fd00000, 0x00000000},
+{64,0,123,__LINE__, 0x3f354008, 0x86a35a2f, 0x40080000, 0x00000000, 0x3fd00000, 0x00000000},
+{64,0,123,__LINE__, 0x3ee54449, 0xf38a05f2, 0x40100000, 0x00000000, 0x3fd00000, 0x00000000},
+{64,0,123,__LINE__, 0x3fef48b6, 0xd692fb9e, 0x00000000, 0x00000000, 0x3fd33333, 0x33333333},
+{64,0,123,__LINE__, 0x3fc2fc1c, 0x68a32001, 0x3ff00000, 0x00000000, 0x3fd33333, 0x33333333},
+{64,0,123,__LINE__, 0x3f86de20, 0x9f39196e, 0x40000000, 0x00000000, 0x3fd33333, 0x33333333},
+{64,0,123,__LINE__, 0x3f42541c, 0x0c752fd9, 0x40080000, 0x00000000, 0x3fd33333, 0x33333333},
+{64,0,123,__LINE__, 0x3ef604e0, 0xb2c4c00a, 0x40100000, 0x00000000, 0x3fd33333, 0x33333333},
+{64,0,123,__LINE__, 0x3fef0708, 0xc6573ae5, 0x00000000, 0x00000000, 0x3fd66666, 0x66666666},
+{64,0,123,__LINE__, 0x3fc60f09, 0xfed3cc81, 0x3ff00000, 0x00000000, 0x3fd66666, 0x66666666},
+{64,0,123,__LINE__, 0x3f8f0a84, 0xda6806f7, 0x40000000, 0x00000000, 0x3fd66666, 0x66666666},
+{64,0,123,__LINE__, 0x3f4d0bc1, 0xbfa630ab, 0x40080000, 0x00000000, 0x3fd66666, 0x66666666},
+{64,0,123,__LINE__, 0x3f045d05, 0x37bf774c, 0x40100000, 0x00000000, 0x3fd66666, 0x66666666},
+{64,0,123,__LINE__, 0x3feebb95, 0x0fd4747f, 0x00000000, 0x00000000, 0x3fd99999, 0x99999999},
+{64,0,123,__LINE__, 0x3fc91766, 0x1ebb8177, 0x3ff00000, 0x00000000, 0x3fd99999, 0x99999999},
+{64,0,123,__LINE__, 0x3f943552, 0xd2bdaaf3, 0x40000000, 0x00000000, 0x3fd99999, 0x99999999},
+{64,0,123,__LINE__, 0x3f55a0b4, 0x58ca1be8, 0x40080000, 0x00000000, 0x3fd99999, 0x99999999},
+{64,0,123,__LINE__, 0x3f115640, 0x7fcf3789, 0x40100000, 0x00000000, 0x3fd99999, 0x99999999},
+{64,0,123,__LINE__, 0x3fee667f, 0xd6a10561, 0x00000000, 0x00000000, 0x3fdccccc, 0xcccccccc},
+{64,0,123,__LINE__, 0x3fcc13be, 0x77afcc52, 0x3ff00000, 0x00000000, 0x3fdccccc, 0xcccccccc},
+{64,0,123,__LINE__, 0x3f997c40, 0x76110a23, 0x40000000, 0x00000000, 0x3fdccccc, 0xcccccccc},
+{64,0,123,__LINE__, 0x3f5eb65b, 0x151f786c, 0x40080000, 0x00000000, 0x3fdccccc, 0xcccccccc},
+{64,0,123,__LINE__, 0x3f1bb61b, 0x892f8cff, 0x40100000, 0x00000000, 0x3fdccccc, 0xcccccccc},
+{64,0,123,__LINE__, 0x3fee07f1, 0xd54c3f35, 0x00000000, 0x00000000, 0x3fdfffff, 0xffffffff},
+{64,0,123,__LINE__, 0x3fcf02a7, 0x1f4870d6, 0x3ff00000, 0x00000000, 0x3fdfffff, 0xffffffff},
+{64,0,123,__LINE__, 0x3f9f56a9, 0x3f863441, 0x40000000, 0x00000000, 0x3fdfffff, 0xffffffff},
+{64,0,123,__LINE__, 0x3f650088, 0x0f70db57, 0x40080000, 0x00000000, 0x3fdfffff, 0xffffffff},
+{64,0,123,__LINE__, 0x3f25116b, 0xd18a61a9, 0x40100000, 0x00000000, 0x3fdfffff, 0xffffffff},
+{64,0,123,__LINE__, 0x3feda018, 0x47adb931, 0x00000000, 0x00000000, 0x3fe19999, 0x99999999},
+{64,0,123,__LINE__, 0x3fd0f15d, 0xa9534f53, 0x3ff00000, 0x00000000, 0x3fe19999, 0x99999999},
+{64,0,123,__LINE__, 0x3fa2e066, 0x08ca87ed, 0x40000000, 0x00000000, 0x3fe19999, 0x99999999},
+{64,0,123,__LINE__, 0x3f6bdca3, 0xb2679435, 0x40080000, 0x00000000, 0x3fe19999, 0x99999999},
+{64,0,123,__LINE__, 0x3f2ec3c2, 0x4d8baa6f, 0x40100000, 0x00000000, 0x3fe19999, 0x99999999},
+{64,0,123,__LINE__, 0x3fed2f24, 0xd2d06e4e, 0x00000000, 0x00000000, 0x3fe33333, 0x33333333},
+{64,0,123,__LINE__, 0x3fd2594f, 0x19ddc92f, 0x3ff00000, 0x00000000, 0x3fe33333, 0x33333333},
+{64,0,123,__LINE__, 0x3fa65b45, 0x84be102a, 0x40000000, 0x00000000, 0x3fe33333, 0x33333333},
+{64,0,123,__LINE__, 0x3f72055f, 0xdad11213, 0x40080000, 0x00000000, 0x3fe33333, 0x33333333},
+{64,0,123,__LINE__, 0x3f35b926, 0x63a336fb, 0x40100000, 0x00000000, 0x3fe33333, 0x33333333},
+{64,0,123,__LINE__, 0x3fecb54d, 0x6a872136, 0x00000000, 0x00000000, 0x3fe4cccc, 0xcccccccd},
+{64,0,123,__LINE__, 0x3fd3b87d, 0xc1127dbb, 0x3ff00000, 0x00000000, 0x3fe4cccc, 0xcccccccd},
+{64,0,123,__LINE__, 0x3faa19b6, 0xfbcb3e9a, 0x40000000, 0x00000000, 0x3fe4cccc, 0xcccccccd},
+{64,0,123,__LINE__, 0x3f76d285, 0x13b1873b, 0x40080000, 0x00000000, 0x3fe4cccc, 0xcccccccd},
+{64,0,123,__LINE__, 0x3f3dd3be, 0xb2075517, 0x40100000, 0x00000000, 0x3fe4cccc, 0xcccccccd},
+{64,0,123,__LINE__, 0x3fec32cc, 0x34b8cc59, 0x00000000, 0x00000000, 0x3fe66666, 0x66666667},
+{64,0,123,__LINE__, 0x3fd50e44, 0x279c0546, 0x3ff00000, 0x00000000, 0x3fe66666, 0x66666667},
+{64,0,123,__LINE__, 0x3fae1952, 0x86f3b2fe, 0x40000000, 0x00000000, 0x3fe66666, 0x66666667},
+{64,0,123,__LINE__, 0x3f7c6245, 0x0da7c943, 0x40080000, 0x00000000, 0x3fe66666, 0x66666667},
+{64,0,123,__LINE__, 0x3f43fddd, 0x592928af, 0x40100000, 0x00000000, 0x3fe66666, 0x66666667},
+{64,0,123,__LINE__, 0x3feba7df, 0x6a752a19, 0x00000000, 0x00000000, 0x3fe80000, 0x00000001},
+{64,0,123,__LINE__, 0x3fd65a01, 0xd66b68bd, 0x3ff00000, 0x00000000, 0x3fe80000, 0x00000001},
+{64,0,123,__LINE__, 0x3fb12bc2, 0xf0d061c1, 0x40000000, 0x00000000, 0x3fe80000, 0x00000001},
+{64,0,123,__LINE__, 0x3f816042, 0xaaa332db, 0x40080000, 0x00000000, 0x3fe80000, 0x00000001},
+{64,0,123,__LINE__, 0x3f4a3fdc, 0xe9688cf6, 0x40100000, 0x00000000, 0x3fe80000, 0x00000001},
+{64,0,123,__LINE__, 0x3feb14c9, 0x36e29d84, 0x00000000, 0x00000000, 0x3fe99999, 0x9999999b},
+{64,0,123,__LINE__, 0x3fd79b1b, 0xab574ece, 0x3ff00000, 0x00000000, 0x3fe99999, 0x9999999b},
+{64,0,123,__LINE__, 0x3fb368ca, 0xfa5427de, 0x40000000, 0x00000000, 0x3fe99999, 0x9999999b},
+{64,0,123,__LINE__, 0x3f84fc41, 0xb23c60e3, 0x40080000, 0x00000000, 0x3fe99999, 0x9999999b},
+{64,0,123,__LINE__, 0x3f50eca7, 0x311cbd4c, 0x40100000, 0x00000000, 0x3fe99999, 0x9999999b},
+{64,0,123,__LINE__, 0x3fea79cf, 0x9417f64a, 0x00000000, 0x00000000, 0x3feb3333, 0x33333335},
+{64,0,123,__LINE__, 0x3fd8d0fc, 0x2ac09609, 0x3ff00000, 0x00000000, 0x3feb3333, 0x33333335},
+{64,0,123,__LINE__, 0x3fb5c250, 0x3ceb775b, 0x40000000, 0x00000000, 0x3feb3333, 0x33333335},
+{64,0,123,__LINE__, 0x3f890a65, 0x7f429003, 0x40080000, 0x00000000, 0x3feb3333, 0x33333335},
+{64,0,123,__LINE__, 0x3f557acc, 0xd794bfe8, 0x40100000, 0x00000000, 0x3feb3333, 0x33333335},
+{64,0,123,__LINE__, 0x3fe9d73c, 0x25f5b277, 0x00000000, 0x00000000, 0x3feccccc, 0xcccccccf},
+{64,0,123,__LINE__, 0x3fd9fb13, 0xce0f024e, 0x3ff00000, 0x00000000, 0x3feccccc, 0xcccccccf},
+{64,0,123,__LINE__, 0x3fb836ce, 0xdb8280b1, 0x40000000, 0x00000000, 0x3feccccc, 0xcccccccf},
+{64,0,123,__LINE__, 0x3f8d8f96, 0x8206eb0e, 0x40080000, 0x00000000, 0x3feccccc, 0xcccccccf},
+{64,0,123,__LINE__, 0x3f5ae0f9, 0x8b7b7574, 0x40100000, 0x00000000, 0x3feccccc, 0xcccccccf},
+{64,0,123,__LINE__, 0x3fe92d5c, 0x13137d0b, 0x00000000, 0x00000000, 0x3fee6666, 0x66666669},
+{64,0,123,__LINE__, 0x3fdb18d9, 0x4eda7476, 0x3ff00000, 0x00000000, 0x3fee6666, 0x66666669},
+{64,0,123,__LINE__, 0x3fbac4b1, 0x27d714b1, 0x40000000, 0x00000000, 0x3fee6666, 0x66666669},
+{64,0,123,__LINE__, 0x3f91482d, 0xb156b6bd, 0x40080000, 0x00000000, 0x3fee6666, 0x66666669},
+{64,0,123,__LINE__, 0x3f609b4b, 0x7ea68879, 0x40100000, 0x00000000, 0x3fee6666, 0x66666669},
+{64,0,123,__LINE__, 0x3fe87c7f, 0xdbd7b8ee, 0x00000000, 0x00000000, 0x3ff00000, 0x00000001},
+{64,0,123,__LINE__, 0x3fdc29c9, 0xee970c6e, 0x3ff00000, 0x00000000, 0x3ff00000, 0x00000001},
+{64,0,123,__LINE__, 0x3fbd6a50, 0x95fa9be9, 0x40000000, 0x00000000, 0x3ff00000, 0x00000001},
+{64,0,123,__LINE__, 0x3f94086a, 0x7638f7a6, 0x40080000, 0x00000000, 0x3ff00000, 0x00000001},
+{64,0,123,__LINE__, 0x3f6449e3, 0x6b5af1b3, 0x40100000, 0x00000000, 0x3ff00000, 0x00000001},
+{64,0,123,__LINE__, 0x3fe7c4fb, 0x2fcfebef, 0x00000000, 0x00000000, 0x3ff0cccc, 0xccccccce},
+{64,0,123,__LINE__, 0x3fdd2d69, 0xba9c976c, 0x3ff00000, 0x00000000, 0x3ff0cccc, 0xccccccce},
+{64,0,123,__LINE__, 0x3fc012fb, 0x5cfc78b3, 0x40000000, 0x00000000, 0x3ff0cccc, 0xccccccce},
+{64,0,123,__LINE__, 0x3f970a5d, 0x1eef9226, 0x40080000, 0x00000000, 0x3ff0cccc, 0xccccccce},
+{64,0,123,__LINE__, 0x3f6888a5, 0x228510b7, 0x40100000, 0x00000000, 0x3ff0cccc, 0xccccccce},
+{64,0,123,__LINE__, 0x3fe70724, 0xc161d44c, 0x00000000, 0x00000000, 0x3ff19999, 0x9999999b},
+{64,0,123,__LINE__, 0x3fde2343, 0xcc63c37e, 0x3ff00000, 0x00000000, 0x3ff19999, 0x9999999b},
+{64,0,123,__LINE__, 0x3fc17aef, 0x27865e62, 0x40000000, 0x00000000, 0x3ff19999, 0x9999999b},
+{64,0,123,__LINE__, 0x3f9a4faa, 0xa04e8191, 0x40080000, 0x00000000, 0x3ff19999, 0x9999999b},
+{64,0,123,__LINE__, 0x3f6d6434, 0x5a55c316, 0x40100000, 0x00000000, 0x3ff19999, 0x9999999b},
+{64,0,123,__LINE__, 0x3fe64356, 0x17eddc81, 0x00000000, 0x00000000, 0x3ff26666, 0x66666668},
+{64,0,123,__LINE__, 0x3fdf0aea, 0x85d5bf18, 0x3ff00000, 0x00000000, 0x3ff26666, 0x66666668},
+{64,0,123,__LINE__, 0x3fc2ec1a, 0x23e21b78, 0x40000000, 0x00000000, 0x3ff26666, 0x66666668},
+{64,0,123,__LINE__, 0x3f9dd9bf, 0xb5a70ade, 0x40080000, 0x00000000, 0x3ff26666, 0x66666668},
+{64,0,123,__LINE__, 0x3f7174b5, 0x74230428, 0x40100000, 0x00000000, 0x3ff26666, 0x66666668},
+{64,0,123,__LINE__, 0x3fe579eb, 0x607c7c41, 0x00000000, 0x00000000, 0x3ff33333, 0x33333335},
+{64,0,123,__LINE__, 0x3fdfe3f7, 0xc98d2caf, 0x3ff00000, 0x00000000, 0x3ff33333, 0x33333335},
+{64,0,123,__LINE__, 0x3fc4658c, 0x7339f932, 0x40000000, 0x00000000, 0x3ff33333, 0x33333335},
+{64,0,123,__LINE__, 0x3fa0d4e7, 0xb3f0ea6f, 0x40080000, 0x00000000, 0x3ff33333, 0x33333335},
+{64,0,123,__LINE__, 0x3f7492a5, 0xb6657ad7, 0x40100000, 0x00000000, 0x3ff33333, 0x33333335},
+{64,0,123,__LINE__, 0x3fe4ab43, 0x3d10e1be, 0x00000000, 0x00000000, 0x3ff40000, 0x00000002},
+{64,0,123,__LINE__, 0x3fe05706, 0x9774d334, 0x3ff00000, 0x00000000, 0x3ff40000, 0x00000002},
+{64,0,123,__LINE__, 0x3fc5e650, 0x6ea82715, 0x40000000, 0x00000000, 0x3ff40000, 0x00000002},
+{64,0,123,__LINE__, 0x3fa2e068, 0xdde7f41d, 0x40080000, 0x00000000, 0x3ff40000, 0x00000002},
+{64,0,123,__LINE__, 0x3f781279, 0xda92ee2f, 0x40100000, 0x00000000, 0x3ff40000, 0x00000002},
+{64,0,123,__LINE__, 0x3fe3d7be, 0x92bbfbb9, 0x00000000, 0x00000000, 0x3ff4cccc, 0xcccccccf},
+{64,0,123,__LINE__, 0x3fe0b46a, 0x18ecb9d4, 0x3ff00000, 0x00000000, 0x3ff4cccc, 0xcccccccf},
+{64,0,123,__LINE__, 0x3fc76d6b, 0x3ac0d75b, 0x40000000, 0x00000000, 0x3ff4cccc, 0xcccccccf},
+{64,0,123,__LINE__, 0x3fa50fc1, 0x44526e78, 0x40080000, 0x00000000, 0x3ff4cccc, 0xcccccccf},
+{64,0,123,__LINE__, 0x3f7bfac7, 0x6edc65a7, 0x40100000, 0x00000000, 0x3ff4cccc, 0xcccccccf},
+{64,0,123,__LINE__, 0x3fe2ffc0, 0x568baaa2, 0x00000000, 0x00000000, 0x3ff59999, 0x9999999c},
+{64,0,123,__LINE__, 0x3fe109ff, 0x2f1fc3ec, 0x3ff00000, 0x00000000, 0x3ff59999, 0x9999999c},
+{64,0,123,__LINE__, 0x3fc8f9dd, 0x5e41b884, 0x40000000, 0x00000000, 0x3ff59999, 0x9999999c},
+{64,0,123,__LINE__, 0x3fa76330, 0x3bb95571, 0x40080000, 0x00000000, 0x3ff59999, 0x9999999c},
+{64,0,123,__LINE__, 0x3f802911, 0xcfdfbbf5, 0x40100000, 0x00000000, 0x3ff59999, 0x9999999c},
+{64,0,123,__LINE__, 0x3fe223ad, 0x59727c9e, 0x00000000, 0x00000000, 0x3ff66666, 0x66666669},
+{64,0,123,__LINE__, 0x3fe157a2, 0xbb6f3312, 0x3ff00000, 0x00000000, 0x3ff66666, 0x66666669},
+{64,0,123,__LINE__, 0x3fca8aa3, 0x5b8ce82e, 0x40000000, 0x00000000, 0x3ff66666, 0x66666669},
+{64,0,123,__LINE__, 0x3fa9dad6, 0x163299ee, 0x40080000, 0x00000000, 0x3ff66666, 0x66666669},
+{64,0,123,__LINE__, 0x3f828f8e, 0x0cde14e4, 0x40100000, 0x00000000, 0x3ff66666, 0x66666669},
+{64,0,123,__LINE__, 0x3fe143ec, 0x1344e613, 0x00000000, 0x00000000, 0x3ff73333, 0x33333336},
+{64,0,123,__LINE__, 0x3fe19d35, 0xcbd98b75, 0x3ff00000, 0x00000000, 0x3ff73333, 0x33333336},
+{64,0,123,__LINE__, 0x3fcc1eb6, 0x4c93d2fc, 0x40000000, 0x00000000, 0x3ff73333, 0x33333336},
+{64,0,123,__LINE__, 0x3fac76b3, 0xcd3060b1, 0x40080000, 0x00000000, 0x3ff73333, 0x33333336},
+{64,0,123,__LINE__, 0x3f853417, 0xedc03cbe, 0x40100000, 0x00000000, 0x3ff73333, 0x33333336},
+{64,0,123,__LINE__, 0x3fe060e4, 0x6ce96517, 0x00000000, 0x00000000, 0x3ff80000, 0x00000003},
+{64,0,123,__LINE__, 0x3fe1da9d, 0xa9d6fc82, 0x3ff00000, 0x00000000, 0x3ff80000, 0x00000003},
+{64,0,123,__LINE__, 0x3fcdb50c, 0x80d5039f, 0x40000000, 0x00000000, 0x3ff80000, 0x00000003},
+{64,0,123,__LINE__, 0x3faf36aa, 0xc0c5b3bb, 0x40080000, 0x00000000, 0x3ff80000, 0x00000003},
+{64,0,123,__LINE__, 0x3f8819e3, 0xff0b0187, 0x40100000, 0x00000000, 0x3ff80000, 0x00000003},
+{64,0,123,__LINE__, 0x3fdef5ff, 0x13b2d492, 0x00000000, 0x00000000, 0x3ff8cccc, 0xccccccd0},
+{64,0,123,__LINE__, 0x3fe20fc3, 0xe6dcf000, 0x3ff00000, 0x00000000, 0x3ff8cccc, 0xccccccd0},
+{64,0,123,__LINE__, 0x3fcf4c9a, 0x1d0ea964, 0x40000000, 0x00000000, 0x3ff8cccc, 0xccccccd0},
+{64,0,123,__LINE__, 0x3fb10d3e, 0x464b660f, 0x40080000, 0x00000000, 0x3ff8cccc, 0xccccccd0},
+{64,0,123,__LINE__, 0x3f8b4418, 0x3c555ec0, 0x40100000, 0x00000000, 0x3ff8cccc, 0xccccccd0},
+{64,0,123,__LINE__, 0x3fdd254f, 0x22227934, 0x00000000, 0x00000000, 0x3ff99999, 0x9999999d},
+{64,0,123,__LINE__, 0x3fe23c96, 0x66824fe1, 0x3ff00000, 0x00000000, 0x3ff99999, 0x9999999d},
+{64,0,123,__LINE__, 0x3fd07228, 0xde234e77, 0x40000000, 0x00000000, 0x3ff99999, 0x9999999d},
+{64,0,123,__LINE__, 0x3fb290e5, 0x794e918a, 0x40080000, 0x00000000, 0x3ff99999, 0x9999999d},
+{64,0,123,__LINE__, 0x3f8eb5c8, 0x72cb3f07, 0x40100000, 0x00000000, 0x3ff99999, 0x9999999d},
+{64,0,123,__LINE__, 0x3fdb508e, 0xeb1aae8c, 0x00000000, 0x00000000, 0x3ffa6666, 0x6666666a},
+{64,0,123,__LINE__, 0x3fe26107, 0x663f6e91, 0x3ff00000, 0x00000000, 0x3ffa6666, 0x6666666a},
+{64,0,123,__LINE__, 0x3fd13d92, 0x88e3f0dd, 0x40000000, 0x00000000, 0x3ffa6666, 0x6666666a},
+{64,0,123,__LINE__, 0x3fb4260b, 0xedecb2c7, 0x40080000, 0x00000000, 0x3ffa6666, 0x6666666a},
+{64,0,123,__LINE__, 0x3f9138f9, 0x5390ebd3, 0x40100000, 0x00000000, 0x3ffa6666, 0x6666666a},
+{64,0,123,__LINE__, 0x3fd97895, 0x7ce7f2cf, 0x00000000, 0x00000000, 0x3ffb3333, 0x33333337},
+{64,0,123,__LINE__, 0x3fe27d0d, 0x82c5db53, 0x3ff00000, 0x00000000, 0x3ffb3333, 0x33333337},
+{64,0,123,__LINE__, 0x3fd20802, 0xc5da89b2, 0x40000000, 0x00000000, 0x3ffb3333, 0x33333337},
+{64,0,123,__LINE__, 0x3fb5cc62, 0xb77f9eb0, 0x40080000, 0x00000000, 0x3ffb3333, 0x33333337},
+{64,0,123,__LINE__, 0x3f933dbd, 0xc0e89d76, 0x40100000, 0x00000000, 0x3ffb3333, 0x33333337},
+{64,0,123,__LINE__, 0x3fd79e3a, 0x9e138ae6, 0x00000000, 0x00000000, 0x3ffc0000, 0x00000004},
+{64,0,123,__LINE__, 0x3fe290a3, 0xbaedcc46, 0x3ff00000, 0x00000000, 0x3ffc0000, 0x00000004},
+{64,0,123,__LINE__, 0x3fd2d0f2, 0x7ae76c8a, 0x40000000, 0x00000000, 0x3ffc0000, 0x00000004},
+{64,0,123,__LINE__, 0x3fb7838b, 0x1e8c5990, 0x40080000, 0x00000000, 0x3ffc0000, 0x00000004},
+{64,0,123,__LINE__, 0x3f956a95, 0x623295f7, 0x40100000, 0x00000000, 0x3ffc0000, 0x00000004},
+{64,0,123,__LINE__, 0x3fd5c256, 0x5d20c7de, 0x00000000, 0x00000000, 0x3ffccccc, 0xccccccd1},
+{64,0,123,__LINE__, 0x3fe29bc9, 0x703828ac, 0x3ff00000, 0x00000000, 0x3ffccccc, 0xccccccd1},
+{64,0,123,__LINE__, 0x3fd397db, 0x0e06aef0, 0x40000000, 0x00000000, 0x3ffccccc, 0xccccccd1},
+{64,0,123,__LINE__, 0x3fb94b16, 0xc2085bbd, 0x40080000, 0x00000000, 0x3ffccccc, 0xccccccd1},
+{64,0,123,__LINE__, 0x3f97c0d3, 0xe559d7ff, 0x40100000, 0x00000000, 0x3ffccccc, 0xccccccd1},
+{64,0,123,__LINE__, 0x3fd3e5c0, 0xa05c4025, 0x00000000, 0x00000000, 0x3ffd9999, 0x9999999e},
+{64,0,123,__LINE__, 0x3fe29e82, 0x64e59f5a, 0x3ff00000, 0x00000000, 0x3ffd9999, 0x9999999e},
+{64,0,123,__LINE__, 0x3fd45c36, 0xb655f5cb, 0x40000000, 0x00000000, 0x3ffd9999, 0x9999999e},
+{64,0,123,__LINE__, 0x3fbb2287, 0xc3831b75, 0x40080000, 0x00000000, 0x3ffd9999, 0x9999999e},
+{64,0,123,__LINE__, 0x3f9a41bb, 0x0d6129f8, 0x40100000, 0x00000000, 0x3ffd9999, 0x9999999e},
+{64,0,123,__LINE__, 0x3fd20950, 0xb5facde5, 0x00000000, 0x00000000, 0x3ffe6666, 0x6666666b},
+{64,0,123,__LINE__, 0x3fe298d6, 0xb7a495db, 0x3ff00000, 0x00000000, 0x3ffe6666, 0x6666666b},
+{64,0,123,__LINE__, 0x3fd51d80, 0xcca30f3c, 0x40000000, 0x00000000, 0x3ffe6666, 0x6666666b},
+{64,0,123,__LINE__, 0x3fbd0950, 0xfe1d8095, 0x40080000, 0x00000000, 0x3ffe6666, 0x6666666b},
+{64,0,123,__LINE__, 0x3f9cee79, 0x030dd010, 0x40100000, 0x00000000, 0x3ffe6666, 0x6666666b},
+{64,0,123,__LINE__, 0x3fd02ddc, 0xe4c5e3e8, 0x00000000, 0x00000000, 0x3fff3333, 0x33333338},
+{64,0,123,__LINE__, 0x3fe28ad2, 0xdcd91caf, 0x3ff00000, 0x00000000, 0x3fff3333, 0x33333338},
+{64,0,123,__LINE__, 0x3fd5db36, 0x1b535d7a, 0x40000000, 0x00000000, 0x3fff3333, 0x33333338},
+{64,0,123,__LINE__, 0x3fbefed6, 0x4831e4df, 0x40080000, 0x00000000, 0x3fff3333, 0x33333338},
+{64,0,123,__LINE__, 0x3f9fc826, 0xafa66438, 0x40100000, 0x00000000, 0x3fff3333, 0x33333338},
+0,};
+test_yn(m) {run_vector_1(m,yn_vec,(char *)(yn),"yn","did"); }
diff --git a/newlib/libm/test/ynf_vec.c b/newlib/libm/test/ynf_vec.c
new file mode 100644
index 00000000000..edd0d171805
--- /dev/null
+++ b/newlib/libm/test/ynf_vec.c
@@ -0,0 +1,199 @@
+#include "test.h"
+ one_line_type ynf_vec[] = {
+
+{32,0,123,__LINE__, 0xbfffab42, 0x0311f796, 0x00000000, 0x00000000, 0x3fa99999, 0x9999999a},
+{32,0,123,__LINE__, 0xc0299467, 0xe5a18bc5, 0x3ff00000, 0x00000000, 0x3fa99999, 0x9999999a},
+{32,0,123,__LINE__, 0xc07fd9d6, 0x9d06dcbe, 0x40000000, 0x00000000, 0x3fa99999, 0x9999999a},
+{32,0,123,__LINE__, 0xc0e3e68c, 0xdba5efde, 0x40080000, 0x00000000, 0x3fa99999, 0x9999999a},
+{32,0,123,__LINE__, 0xc152a7a4, 0xa6911cc5, 0x40100000, 0x00000000, 0x3fa99999, 0x9999999a},
+{32,0,123,__LINE__, 0xbff88c3d, 0xd3fcf18c, 0x00000000, 0x00000000, 0x3fb99999, 0x9999999a},
+{32,0,123,__LINE__, 0xc019d5f7, 0x4698d59d, 0x3ff00000, 0x00000000, 0x3fb99999, 0x9999999a},
+{32,0,123,__LINE__, 0xc05fe944, 0x20ef173e, 0x40000000, 0x00000000, 0x3fb99999, 0x9999999a},
+{32,0,123,__LINE__, 0xc0b3eb55, 0x16c3c852, 0x40080000, 0x00000000, 0x3fb99999, 0x9999999a},
+{32,0,123,__LINE__, 0xc112aaa1, 0x31157cdc, 0x40100000, 0x00000000, 0x3fb99999, 0x9999999a},
+{32,0,123,__LINE__, 0xbff45519, 0x9a9aa247, 0x00000000, 0x00000000, 0x3fc33333, 0x33333334},
+{32,0,123,__LINE__, 0xc0117469, 0x70206678, 0x3ff00000, 0x00000000, 0x3fc33333, 0x33333334},
+{32,0,123,__LINE__, 0xc04c74b1, 0x98b68060, 0x40000000, 0x00000000, 0x3fc33333, 0x33333334},
+{32,0,123,__LINE__, 0xc097a51f, 0x95d29fe9, 0x40080000, 0x00000000, 0x3fc33333, 0x33333334},
+{32,0,123,__LINE__, 0xc0ed874a, 0x4ee11a42, 0x40100000, 0x00000000, 0x3fc33333, 0x33333334},
+{32,0,123,__LINE__, 0xbff14c35, 0x1831ea96, 0x00000000, 0x00000000, 0x3fc99999, 0x9999999a},
+{32,0,123,__LINE__, 0xc00a9731, 0x8e2c8b35, 0x3ff00000, 0x00000000, 0x3fc99999, 0x9999999a},
+{32,0,123,__LINE__, 0xc040141d, 0x501a47ac, 0x40000000, 0x00000000, 0x3fc99999, 0x9999999a},
+{32,0,123,__LINE__, 0xc083fe8d, 0x7292ad0c, 0x40080000, 0x00000000, 0x3fc99999, 0x9999999a},
+{32,0,123,__LINE__, 0xc0d2b69a, 0x8cc17517, 0x40100000, 0x00000000, 0x3fc99999, 0x9999999a},
+{32,0,123,__LINE__, 0xbfedcf72, 0x3b7d21f4, 0x00000000, 0x00000000, 0x3fd00000, 0x00000000},
+{32,0,123,__LINE__, 0xc005a201, 0xec26d052, 0x3ff00000, 0x00000000, 0x3fd00000, 0x00000000},
+{32,0,123,__LINE__, 0xc034b386, 0x5a4ae742, 0x40000000, 0x00000000, 0x3fd00000, 0x00000000},
+{32,0,123,__LINE__, 0xc0748842, 0x567299a1, 0x40080000, 0x00000000, 0x3fd00000, 0x00000000},
+{32,0,123,__LINE__, 0xc0beb7af, 0xfb519b8b, 0x40100000, 0x00000000, 0x3fd00000, 0x00000000},
+{32,0,123,__LINE__, 0xbfe9d52f, 0x65f30ce4, 0x00000000, 0x00000000, 0x3fd33333, 0x33333333},
+{32,0,123,__LINE__, 0xc0025847, 0x81bd58a7, 0x3ff00000, 0x00000000, 0x3fd33333, 0x33333333},
+{32,0,123,__LINE__, 0xc02cf5ce, 0xe1dc62f3, 0x40000000, 0x00000000, 0x3fd33333, 0x33333333},
+{32,0,123,__LINE__, 0xc067d8cb, 0x48db5d12, 0x40080000, 0x00000000, 0x3fd33333, 0x33333333},
+{32,0,123,__LINE__, 0xc0adb208, 0x4c3057f3, 0x40100000, 0x00000000, 0x3fd33333, 0x33333333},
+{32,0,123,__LINE__, 0xbfe668f8, 0x269cb98f, 0x00000000, 0x00000000, 0x3fd66666, 0x66666666},
+{32,0,123,__LINE__, 0xc00000cf, 0xb133ffa1, 0x3ff00000, 0x00000000, 0x3fd66666, 0x66666666},
+{32,0,123,__LINE__, 0xc0257606, 0xe872c629, 0x40000000, 0x00000000, 0x3fd66666, 0x66666666},
+{32,0,123,__LINE__, 0xc05e2895, 0xa9f5c43e, 0x40080000, 0x00000000, 0x3fd66666, 0x66666666},
+{32,0,123,__LINE__, 0xc0a01291, 0x01db365b, 0x40100000, 0x00000000, 0x3fd66666, 0x66666666},
+{32,0,123,__LINE__, 0xbfe3648d, 0xa2beedbd, 0x00000000, 0x00000000, 0x3fd99999, 0x99999999},
+{32,0,123,__LINE__, 0xbffc7e73, 0xaf480232, 0x3ff00000, 0x00000000, 0x3fd99999, 0x99999999},
+{32,0,123,__LINE__, 0xc02098bf, 0x73611283, 0x40000000, 0x00000000, 0x3fd99999, 0x99999999},
+{32,0,123,__LINE__, 0xc0544cf5, 0x817c371b, 0x40080000, 0x00000000, 0x3fd99999, 0x99999999},
+{32,0,123,__LINE__, 0xc092e6f4, 0xaa7db185, 0x40100000, 0x00000000, 0x3fd99999, 0x99999999},
+{32,0,123,__LINE__, 0xbfe0af8a, 0xa64cf8b1, 0x00000000, 0x00000000, 0x3fdccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xbff9c0b2, 0x3c24181f, 0x3ff00000, 0x00000000, 0x3fdccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xc01a8746, 0x7c4209f0, 0x40000000, 0x00000000, 0x3fdccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xc04cabd6, 0xf82f5c11, 0x40080000, 0x00000000, 0x3fdccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xc087af79, 0xec8448a5, 0x40100000, 0x00000000, 0x3fdccccc, 0xcccccccc},
+{32,0,123,__LINE__, 0xbfdc72fe, 0xb3b7b8a4, 0x00000000, 0x00000000, 0x3fdfffff, 0xffffffff},
+{32,0,123,__LINE__, 0xbff78b26, 0xa2b7c4e0, 0x3ff00000, 0x00000000, 0x3fdfffff, 0xffffffff},
+{32,0,123,__LINE__, 0xc015c3f6, 0xb77c4957, 0x40000000, 0x00000000, 0x3fdfffff, 0xffffffff},
+{32,0,123,__LINE__, 0xc045079d, 0x82668b31, 0x40080000, 0x00000000, 0x3fdfffff, 0xffffffff},
+{32,0,123,__LINE__, 0xc07f345c, 0x68bbdfa6, 0x40100000, 0x00000000, 0x3fdfffff, 0xffffffff},
+{32,0,123,__LINE__, 0xbfd7edc1, 0xa5c74a03, 0x00000000, 0x00000000, 0x3fe19999, 0x99999999},
+{32,0,123,__LINE__, 0xbff5b705, 0x5ba816d7, 0x3ff00000, 0x00000000, 0x3fe19999, 0x99999999},
+{32,0,123,__LINE__, 0xc0123ecb, 0xad53a024, 0x40000000, 0x00000000, 0x3fe19999, 0x99999999},
+{32,0,123,__LINE__, 0xc03fd0ea, 0xb6dd8a79, 0x40080000, 0x00000000, 0x3fe19999, 0x99999999},
+{32,0,123,__LINE__, 0xc075685f, 0x08278fe9, 0x40100000, 0x00000000, 0x3fe19999, 0x99999999},
+{32,0,123,__LINE__, 0xbfd3bea0, 0x2ea8f055, 0x00000000, 0x00000000, 0x3fe33333, 0x33333333},
+{32,0,123,__LINE__, 0xbff42a90, 0x1e049cb9, 0x3ff00000, 0x00000000, 0x3fe33333, 0x33333333},
+{32,0,123,__LINE__, 0xc00f2471, 0x8187e729, 0x40000000, 0x00000000, 0x3fe33333, 0x33333333},
+{32,0,123,__LINE__, 0xc038b10a, 0xea10f6d6, 0x40080000, 0x00000000, 0x3fe33333, 0x33333333},
+{32,0,123,__LINE__, 0xc06e60bb, 0xde8f14ef, 0x40100000, 0x00000000, 0x3fe33333, 0x33333333},
+{32,0,123,__LINE__, 0xbfcfb24a, 0xb3c28954, 0x00000000, 0x00000000, 0x3fe4cccc, 0xcccccccd},
+{32,0,123,__LINE__, 0xbff2d40d, 0x6feded13, 0x3ff00000, 0x00000000, 0x3fe4cccc, 0xcccccccd},
+{32,0,123,__LINE__, 0xc00afc52, 0x771e3074, 0x40000000, 0x00000000, 0x3fe4cccc, 0xcccccccd},
+{32,0,123,__LINE__, 0xc03394d7, 0x35dd4674, 0x40080000, 0x00000000, 0x3fe4cccc, 0xcccccccd},
+{32,0,123,__LINE__, 0xc0662c1a, 0xb93689c3, 0x40100000, 0x00000000, 0x3fe4cccc, 0xcccccccd},
+{32,0,123,__LINE__, 0xbfc867b5, 0x59ffc712, 0x00000000, 0x00000000, 0x3fe66666, 0x66666667},
+{32,0,123,__LINE__, 0xbff1a6e9, 0x56728d34, 0x3ff00000, 0x00000000, 0x3fe66666, 0x66666667},
+{32,0,123,__LINE__, 0xc007b11b, 0x25df166b, 0x40000000, 0x00000000, 0x3fe66666, 0x66666667},
+{32,0,123,__LINE__, 0xc02fa392, 0xc2273c16, 0x40080000, 0x00000000, 0x3fe66666, 0x66666667},
+{32,0,123,__LINE__, 0xc060944a, 0x3246acfb, 0x40100000, 0x00000000, 0x3fe66666, 0x66666667},
+{32,0,123,__LINE__, 0xbfc18ee0, 0x9734f23a, 0x00000000, 0x00000000, 0x3fe80000, 0x00000001},
+{32,0,123,__LINE__, 0xbff099fc, 0xbe60fd83, 0x3ff00000, 0x00000000, 0x3fe80000, 0x00000001},
+{32,0,123,__LINE__, 0xc00509b8, 0x49b8ad89, 0x40000000, 0x00000000, 0x3fe80000, 0x00000001},
+{32,0,123,__LINE__, 0xc029f9b6, 0x1fd4c7b0, 0x40080000, 0x00000000, 0x3fe80000, 0x00000001},
+{32,0,123,__LINE__, 0xc0595168, 0x5d870243, 0x40100000, 0x00000000, 0x3fe80000, 0x00000001},
+{32,0,123,__LINE__, 0xbfb638ac, 0x9857e734, 0x00000000, 0x00000000, 0x3fe99999, 0x9999999b},
+{32,0,123,__LINE__, 0xbfef4cf5, 0x04341787, 0x3ff00000, 0x00000000, 0x3fe99999, 0x9999999b},
+{32,0,123,__LINE__, 0xc002de53, 0xbdddcf79, 0x40000000, 0x00000000, 0x3fe99999, 0x9999999b},
+{32,0,123,__LINE__, 0xc025a119, 0x5d1201de, 0x40080000, 0x00000000, 0x3fe99999, 0x9999999b},
+{32,0,123,__LINE__, 0xc053b015, 0x2951f343, 0x40100000, 0x00000000, 0x3fe99999, 0x9999999b},
+{32,0,123,__LINE__, 0xbfa41bfc, 0xc78b842a, 0x00000000, 0x00000000, 0x3feb3333, 0x33333335},
+{32,0,123,__LINE__, 0xbfed8e7b, 0x7f0fdfef, 0x3ff00000, 0x00000000, 0x3feb3333, 0x33333335},
+{32,0,123,__LINE__, 0xc001126f, 0x4890ce20, 0x40000000, 0x00000000, 0x3feb3333, 0x33333335},
+{32,0,123,__LINE__, 0xc0223cc8, 0x6131d662, 0x40080000, 0x00000000, 0x3feb3333, 0x33333335},
+{32,0,123,__LINE__, 0xc04f1de0, 0x4d92a9aa, 0x40100000, 0x00000000, 0x3feb3333, 0x33333335},
+{32,0,123,__LINE__, 0xbfebf0a7, 0x289d61b8, 0x3ff00000, 0x00000000, 0x3feccccc, 0xcccccccf},
+{32,0,123,__LINE__, 0xbfff2272, 0x1b13153c, 0x40000000, 0x00000000, 0x3feccccc, 0xcccccccf},
+{32,0,123,__LINE__, 0xc01f19f8, 0x1c8fc0b3, 0x40080000, 0x00000000, 0x3feccccc, 0xcccccccf},
+{32,0,123,__LINE__, 0xc048f1e5, 0xdc49dd3f, 0x40100000, 0x00000000, 0x3feccccc, 0xcccccccf},
+{32,0,123,__LINE__, 0x3fa89f50, 0x75b2c5e8, 0x00000000, 0x00000000, 0x3fee6666, 0x66666669},
+{32,0,123,__LINE__, 0xbfea6d54, 0xa3bd64cf, 0x3ff00000, 0x00000000, 0x3fee6666, 0x66666669},
+{32,0,123,__LINE__, 0xbffc9661, 0x1516a1f9, 0x40000000, 0x00000000, 0x3fee6666, 0x66666669},
+{32,0,123,__LINE__, 0xc01ac9e4, 0x0877ba85, 0x40080000, 0x00000000, 0x3fee6666, 0x66666669},
+{32,0,123,__LINE__, 0xc044416c, 0xc8219ad1, 0x40100000, 0x00000000, 0x3fee6666, 0x66666669},
+{32,0,123,__LINE__, 0x3fb69802, 0x26f358eb, 0x00000000, 0x00000000, 0x3ff00000, 0x00000001},
+{32,0,123,__LINE__, 0xbfe8ffb2, 0x07d66b92, 0x3ff00000, 0x00000000, 0x3ff00000, 0x00000001},
+{32,0,123,__LINE__, 0xbffa6932, 0x2a45a11f, 0x40000000, 0x00000000, 0x3ff00000, 0x00000001},
+{32,0,123,__LINE__, 0xc017493b, 0xe94ad3ab, 0x40080000, 0x00000000, 0x3ff00000, 0x00000001},
+{32,0,123,__LINE__, 0xc040a3a3, 0x5da5f1b7, 0x40100000, 0x00000000, 0x3ff00000, 0x00000001},
+{32,0,123,__LINE__, 0x3fc028e5, 0x7ba671b1, 0x00000000, 0x00000000, 0x3ff0cccc, 0xccccccce},
+{32,0,123,__LINE__, 0xbfe7a3ee, 0x4fd1a036, 0x3ff00000, 0x00000000, 0x3ff0cccc, 0xccccccce},
+{32,0,123,__LINE__, 0xbff888db, 0x13daece2, 0x40000000, 0x00000000, 0x3ff0cccc, 0xccccccce},
+{32,0,123,__LINE__, 0xc0146946, 0xaa74c5f3, 0x40080000, 0x00000000, 0x3ff0cccc, 0xccccccce},
+{32,0,123,__LINE__, 0xc03ba020, 0x66d6d9af, 0x40100000, 0x00000000, 0x3ff0cccc, 0xccccccce},
+{32,0,123,__LINE__, 0x3fc4c1c3, 0x8a97c170, 0x00000000, 0x00000000, 0x3ff19999, 0x9999999b},
+{32,0,123,__LINE__, 0xbfe656fe, 0xd4e6087e, 0x3ff00000, 0x00000000, 0x3ff19999, 0x9999999b},
+{32,0,123,__LINE__, 0xbff6e74e, 0xa73b5cfc, 0x40000000, 0x00000000, 0x3ff19999, 0x9999999b},
+{32,0,123,__LINE__, 0xc0120767, 0xa624d948, 0x40080000, 0x00000000, 0x3ff19999, 0x9999999b},
+{32,0,123,__LINE__, 0xc0372746, 0xf81ba105, 0x40100000, 0x00000000, 0x3ff19999, 0x9999999b},
+{32,0,123,__LINE__, 0x3fc91951, 0xdc7f9b41, 0x00000000, 0x00000000, 0x3ff26666, 0x66666668},
+{32,0,123,__LINE__, 0xbfe51674, 0x19440e82, 0x3ff00000, 0x00000000, 0x3ff26666, 0x66666668},
+{32,0,123,__LINE__, 0xbff57978, 0xed5bd37f, 0x40000000, 0x00000000, 0x3ff26666, 0x66666668},
+{32,0,123,__LINE__, 0xc010099a, 0xa448bba8, 0x40080000, 0x00000000, 0x3ff26666, 0x66666668},
+{32,0,123,__LINE__, 0xc033938b, 0x31301627, 0x40100000, 0x00000000, 0x3ff26666, 0x66666668},
+{32,0,123,__LINE__, 0x3fcd31d7, 0x198f1810, 0x00000000, 0x00000000, 0x3ff33333, 0x33333335},
+{32,0,123,__LINE__, 0xbfe3e059, 0x66ac1181, 0x3ff00000, 0x00000000, 0x3ff33333, 0x33333335},
+{32,0,123,__LINE__, 0xbff43685, 0x636bf197, 0x40000000, 0x00000000, 0x3ff33333, 0x33333335},
+{32,0,123,__LINE__, 0xc00cb81d, 0x4c08e398, 0x40080000, 0x00000000, 0x3ff33333, 0x33333335},
+{32,0,123,__LINE__, 0xc030afa9, 0xf94ecf24, 0x40100000, 0x00000000, 0x3ff33333, 0x33333335},
+{32,0,123,__LINE__, 0x3fd0869f, 0xf937fa16, 0x00000000, 0x00000000, 0x3ff40000, 0x00000002},
+{32,0,123,__LINE__, 0xbfe2b31c, 0x35470a48, 0x3ff00000, 0x00000000, 0x3ff40000, 0x00000002},
+{32,0,123,__LINE__, 0xbff31758, 0x28ed39f1, 0x40000000, 0x00000000, 0x3ff40000, 0x00000002},
+{32,0,123,__LINE__, 0xc009def9, 0x3429cd53, 0x40080000, 0x00000000, 0x3ff40000, 0x00000002},
+{32,0,123,__LINE__, 0xc02ca8a6, 0x6cae1bef, 0x40100000, 0x00000000, 0x3ff40000, 0x00000002},
+{32,0,123,__LINE__, 0x3fd25698, 0x650b1f9a, 0x00000000, 0x00000000, 0x3ff4cccc, 0xcccccccf},
+{32,0,123,__LINE__, 0xbfe18d79, 0x3faf4d46, 0x3ff00000, 0x00000000, 0x3ff4cccc, 0xcccccccf},
+{32,0,123,__LINE__, 0xbff2162a, 0xc0672ab8, 0x40000000, 0x00000000, 0x3ff4cccc, 0xcccccccf},
+{32,0,123,__LINE__, 0xc0076ff7, 0x26da4702, 0x40080000, 0x00000000, 0x3ff4cccc, 0xcccccccf},
+{32,0,123,__LINE__, 0xc028c844, 0x238c8047, 0x40100000, 0x00000000, 0x3ff4cccc, 0xcccccccf},
+{32,0,123,__LINE__, 0x3fd4098a, 0x03bf8bf4, 0x00000000, 0x00000000, 0x3ff59999, 0x9999999c},
+{32,0,123,__LINE__, 0xbfe06e6d, 0xc954f277, 0x3ff00000, 0x00000000, 0x3ff59999, 0x9999999c},
+{32,0,123,__LINE__, 0xbff12e42, 0x0c971b54, 0x40000000, 0x00000000, 0x3ff59999, 0x9999999c},
+{32,0,123,__LINE__, 0xc0055854, 0xa051bc74, 0x40080000, 0x00000000, 0x3ff59999, 0x9999999c},
+{32,0,123,__LINE__, 0xc02591b2, 0x37ab7c30, 0x40100000, 0x00000000, 0x3ff59999, 0x9999999c},
+{32,0,123,__LINE__, 0x3fd5a012, 0xe4dcec98, 0x00000000, 0x00000000, 0x3ff66666, 0x66666669},
+{32,0,123,__LINE__, 0xbfdeaa58, 0x1213a9a4, 0x3ff00000, 0x00000000, 0x3ff66666, 0x66666669},
+{32,0,123,__LINE__, 0xbff05bb6, 0x76876572, 0x40000000, 0x00000000, 0x3ff66666, 0x66666669},
+{32,0,123,__LINE__, 0xc0038927, 0x5decadfe, 0x40080000, 0x00000000, 0x3ff66666, 0x66666669},
+{32,0,123,__LINE__, 0xc022e2ea, 0x3a638496, 0x40100000, 0x00000000, 0x3ff66666, 0x66666669},
+{32,0,123,__LINE__, 0x3fd71abe, 0xc53f5eb2, 0x00000000, 0x00000000, 0x3ff73333, 0x33333336},
+{32,0,123,__LINE__, 0xbfdc8223, 0xe8af2ee9, 0x3ff00000, 0x00000000, 0x3ff73333, 0x33333336},
+{32,0,123,__LINE__, 0xbfef3692, 0xa1fe04a8, 0x40000000, 0x00000000, 0x3ff73333, 0x33333336},
+{32,0,123,__LINE__, 0xc001f678, 0xe9ce40a6, 0x40080000, 0x00000000, 0x3ff73333, 0x33333336},
+{32,0,123,__LINE__, 0xc020a1a1, 0x28d8cc82, 0x40100000, 0x00000000, 0x3ff73333, 0x33333336},
+{32,0,123,__LINE__, 0x3fd87a0b, 0x0d06836c, 0x00000000, 0x00000000, 0x3ff80000, 0x00000003},
+{32,0,123,__LINE__, 0xbfda6343, 0xb92d8b07, 0x3ff00000, 0x00000000, 0x3ff80000, 0x00000003},
+{32,0,123,__LINE__, 0xbfedd488, 0x01f6f3b9, 0x40000000, 0x00000000, 0x3ff80000, 0x00000003},
+{32,0,123,__LINE__, 0xc000969c, 0xdf7ef118, 0x40080000, 0x00000000, 0x3ff80000, 0x00000003},
+{32,0,123,__LINE__, 0xc01d72a8, 0xbebf03b5, 0x40100000, 0x00000000, 0x3ff80000, 0x00000003},
+{32,0,123,__LINE__, 0x3fd9be6a, 0x232d2a1a, 0x00000000, 0x00000000, 0x3ff8cccc, 0xccccccd0},
+{32,0,123,__LINE__, 0xbfd84cf8, 0xe7ade6ca, 0x3ff00000, 0x00000000, 0x3ff8cccc, 0xccccccd0},
+{32,0,123,__LINE__, 0xbfec8cbc, 0xe0dd7c84, 0x40000000, 0x00000000, 0x3ff8cccc, 0xccccccd0},
+{32,0,123,__LINE__, 0xbffec362, 0xe83a924e, 0x40080000, 0x00000000, 0x3ff8cccc, 0xccccccd0},
+{32,0,123,__LINE__, 0xc01a33bf, 0xd946495c, 0x40100000, 0x00000000, 0x3ff8cccc, 0xccccccd0},
+{32,0,123,__LINE__, 0x3fdae846, 0x369db908, 0x00000000, 0x00000000, 0x3ff99999, 0x9999999d},
+{32,0,123,__LINE__, 0xbfd63eb7, 0xd493af10, 0x3ff00000, 0x00000000, 0x3ff99999, 0x9999999d},
+{32,0,123,__LINE__, 0xbfeb5b56, 0x002b29ec, 0x40000000, 0x00000000, 0x3ff99999, 0x9999999d},
+{32,0,123,__LINE__, 0xbffca27d, 0x8b11089e, 0x40080000, 0x00000000, 0x3ff99999, 0x9999999d},
+{32,0,123,__LINE__, 0xc0176cea, 0xf25a92d4, 0x40100000, 0x00000000, 0x3ff99999, 0x9999999d},
+{32,0,123,__LINE__, 0x3fdbf803, 0x95addba6, 0x00000000, 0x00000000, 0x3ffa6666, 0x6666666a},
+{32,0,123,__LINE__, 0xbfd4381f, 0xd07821fc, 0x3ff00000, 0x00000000, 0x3ffa6666, 0x6666666a},
+{32,0,123,__LINE__, 0xbfea3d0d, 0x50f130f6, 0x40000000, 0x00000000, 0x3ffa6666, 0x6666666a},
+{32,0,123,__LINE__, 0xbffabfd9, 0xa44c2351, 0x40080000, 0x00000000, 0x3ffa6666, 0x6666666a},
+{32,0,123,__LINE__, 0xc01509af, 0xd3f8859b, 0x40100000, 0x00000000, 0x3ffa6666, 0x6666666a},
+{32,0,123,__LINE__, 0x3fdcee02, 0xa7ac1a57, 0x00000000, 0x00000000, 0x3ffb3333, 0x33333337},
+{32,0,123,__LINE__, 0xbfd238f4, 0x6db73c42, 0x3ff00000, 0x00000000, 0x3ffb3333, 0x33333337},
+{32,0,123,__LINE__, 0xbfe92f18, 0xa36f036f, 0x40000000, 0x00000000, 0x3ffb3333, 0x33333337},
+{32,0,123,__LINE__, 0xbff91294, 0x95c98040, 0x40080000, 0x00000000, 0x3ffb3333, 0x33333337},
+{32,0,123,__LINE__, 0xc012f990, 0xf743eb12, 0x40100000, 0x00000000, 0x3ffb3333, 0x33333337},
+{32,0,123,__LINE__, 0x3fddcaa1, 0x9824527c, 0x00000000, 0x00000000, 0x3ffc0000, 0x00000004},
+{32,0,123,__LINE__, 0xbfd04117, 0xe92d38c7, 0x3ff00000, 0x00000000, 0x3ffc0000, 0x00000004},
+{32,0,123,__LINE__, 0xbfe82f15, 0x515092d3, 0x40000000, 0x00000000, 0x3ffc0000, 0x00000004},
+{32,0,123,__LINE__, 0xbff79340, 0x197e7e29, 0x40080000, 0x00000000, 0x3ffc0000, 0x00000004},
+{32,0,123,__LINE__, 0xc0112f2f, 0xb4d4a2eb, 0x40100000, 0x00000000, 0x3ffc0000, 0x00000004},
+{32,0,123,__LINE__, 0x3fde8e3d, 0xc0648706, 0x00000000, 0x00000000, 0x3ffccccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xbfcca10c, 0xe708dff2, 0x3ff00000, 0x00000000, 0x3ffccccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xbfe73af7, 0xcb0a0ff0, 0x40000000, 0x00000000, 0x3ffccccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xbff63b9c, 0x612a1225, 0x40080000, 0x00000000, 0x3ffccccc, 0xccccccd1},
+{32,0,123,__LINE__, 0xc00f3f46, 0xaf2e44e8, 0x40100000, 0x00000000, 0x3ffccccc, 0xccccccd1},
+{32,0,123,__LINE__, 0x3fdf3934, 0xd9602e2a, 0x00000000, 0x00000000, 0x3ffd9999, 0x9999999e},
+{32,0,123,__LINE__, 0xbfc8cea4, 0x60c507ac, 0x3ff00000, 0x00000000, 0x3ffd9999, 0x9999999e},
+{32,0,123,__LINE__, 0xbfe650fe, 0x33d095b1, 0x40000000, 0x00000000, 0x3ffd9999, 0x9999999e},
+{32,0,123,__LINE__, 0xbff50660, 0xdc5a2a5e, 0x40080000, 0x00000000, 0x3ffd9999, 0x9999999e},
+{32,0,123,__LINE__, 0xc00c83ee, 0xd1748df8, 0x40100000, 0x00000000, 0x3ffd9999, 0x9999999e},
+{32,0,123,__LINE__, 0x3fdfcbe5, 0xfe2a7986, 0x00000000, 0x00000000, 0x3ffe6666, 0x6666666b},
+{32,0,123,__LINE__, 0xbfc50b3f, 0x93b80a84, 0x3ff00000, 0x00000000, 0x3ffe6666, 0x6666666b},
+{32,0,123,__LINE__, 0xbfe56fa5, 0x69532494, 0x40000000, 0x00000000, 0x3ffe6666, 0x6666666b},
+{32,0,123,__LINE__, 0xbff3ef10, 0x468232a6, 0x40080000, 0x00000000, 0x3ffe6666, 0x6666666b},
+{32,0,123,__LINE__, 0xc00a1d8e, 0xa9356bdc, 0x40100000, 0x00000000, 0x3ffe6666, 0x6666666b},
+{32,0,123,__LINE__, 0x3fe02359, 0x42e057b3, 0x00000000, 0x00000000, 0x3fff3333, 0x33333338},
+{32,0,123,__LINE__, 0xbfc15746, 0xfb241dc4, 0x3ff00000, 0x00000000, 0x3fff3333, 0x33333338},
+{32,0,123,__LINE__, 0xbfe4959f, 0xf96ce29c, 0x40000000, 0x00000000, 0x3fff3333, 0x33333338},
+{32,0,123,__LINE__, 0xbff2f1d5, 0x75c2f518, 0x40080000, 0x00000000, 0x3fff3333, 0x33333338},
+{32,0,123,__LINE__, 0xc007ffe0, 0x680bca3f, 0x40100000, 0x00000000, 0x3fff3333, 0x33333338},
+0,};
+test_ynf(m) {run_vector_1(m,ynf_vec,(char *)(ynf),"ynf","fif"); }